Yoast SEO - Version 9.6

Version Description

Download this release

Release Info

Developer Yoast
Plugin Icon 128x128 Yoast SEO
Version 9.6
Comparing to
See all releases

Code changes from version 9.5 to 9.6

Files changed (175) hide show
  1. admin/ajax.php +10 -9
  2. admin/capabilities/class-abstract-capability-manager.php +6 -1
  3. admin/capabilities/class-capability-manager-integration.php +5 -1
  4. admin/class-admin-asset-manager.php +53 -12
  5. admin/class-admin.php +8 -1
  6. admin/class-asset.php +36 -2
  7. admin/class-bulk-editor-list-table.php +33 -54
  8. admin/class-collector.php +3 -1
  9. admin/class-database-proxy.php +15 -5
  10. admin/class-export.php +12 -3
  11. admin/class-expose-shortlinks.php +36 -1
  12. admin/class-extension-manager.php +14 -4
  13. admin/class-extensions.php +5 -1
  14. admin/class-gutenberg-compatibility.php +2 -2
  15. admin/class-help-center-item.php +20 -4
  16. admin/class-help-center.php +1 -0
  17. admin/class-meta-storage.php +8 -2
  18. admin/class-option-tab.php +15 -3
  19. admin/class-option-tabs.php +15 -3
  20. admin/class-paper-presenter.php +1 -0
  21. admin/class-premium-popup.php +1 -0
  22. admin/class-premium-upsell-admin-block.php +11 -2
  23. admin/class-product-upsell-notice.php +3 -1
  24. admin/class-recalibration-beta.php +7 -4
  25. admin/class-remote-request.php +12 -4
  26. admin/class-social-admin.php +45 -28
  27. admin/class-yoast-alerts.php +39 -7
  28. admin/class-yoast-network-admin.php +2 -2
  29. admin/class-yoast-network-settings-api.php +9 -3
  30. admin/class-yoast-notification-center.php +33 -7
  31. admin/class-yoast-notification.php +15 -5
  32. admin/config-ui/class-configuration-components.php +10 -2
  33. admin/config-ui/class-configuration-endpoint.php +23 -1
  34. admin/config-ui/class-configuration-options-adapter.php +16 -1
  35. admin/config-ui/class-configuration-service.php +18 -6
  36. admin/config-ui/class-configuration-storage.php +6 -2
  37. admin/config-ui/class-configuration-structure.php +5 -1
  38. admin/config-ui/class-configuration-translations.php +10 -2
  39. admin/config-ui/components/class-component-connect-google-search-console.php +12 -2
  40. admin/config-ui/factories/class-factory-post-type.php +5 -1
  41. admin/config-ui/fields/class-field-choice-post-type.php +5 -1
  42. admin/config-ui/fields/class-field.php +26 -5
  43. admin/endpoints/class-endpoint-file-size.php +13 -1
  44. admin/endpoints/class-endpoint-ryte.php +15 -1
  45. admin/endpoints/class-endpoint-statistics.php +15 -1
  46. admin/google_search_console/class-gsc-modal.php +9 -3
  47. admin/google_search_console/class-gsc-table.php +50 -25
  48. admin/google_search_console/class-gsc.php +86 -42
  49. admin/google_search_console/views/gsc-display.php +6 -2
  50. admin/google_search_console/views/gsc-redirect-nopremium.php +2 -0
  51. admin/import/class-import-detector.php +1 -0
  52. admin/import/class-import-plugin.php +1 -0
  53. admin/import/class-import-status.php +1 -0
  54. admin/import/plugins/class-abstract-plugin-importer.php +1 -0
  55. admin/import/plugins/class-import-aioseo.php +1 -0
  56. admin/import/plugins/class-import-greg-high-performance-seo.php +1 -0
  57. admin/import/plugins/class-import-headspace.php +1 -0
  58. admin/import/plugins/class-import-jetpack.php +1 -0
  59. admin/import/plugins/class-import-platinum-seo-pack.php +1 -0
  60. admin/import/plugins/class-import-premium-seo-pack.php +1 -0
  61. admin/import/plugins/class-import-seo-framework.php +1 -0
  62. admin/import/plugins/class-import-seopressor.php +1 -0
  63. admin/import/plugins/class-import-smartcrawl.php +1 -0
  64. admin/import/plugins/class-import-squirrly.php +1 -0
  65. admin/import/plugins/class-import-ultimate-seo.php +1 -0
  66. admin/import/plugins/class-import-woothemes-seo.php +1 -0
  67. admin/import/plugins/class-import-wp-meta-seo.php +1 -0
  68. admin/import/plugins/class-import-wpseo.php +1 -0
  69. admin/import/plugins/class-importers.php +1 -0
  70. admin/links/class-link-column-count.php +3 -1
  71. admin/links/class-link-content-processor.php +6 -2
  72. admin/links/class-link-extractor.php +3 -1
  73. admin/links/class-link-factory.php +9 -4
  74. admin/links/class-link-filter.php +3 -1
  75. admin/links/class-link-installer.php +3 -1
  76. admin/links/class-link-reindex-dashboard.php +11 -2
  77. admin/links/class-link-reindex-post-endpoint.php +3 -1
  78. admin/links/class-link-storage.php +8 -2
  79. admin/links/class-link-type-classifier.php +6 -2
  80. admin/links/class-link-watcher.php +3 -1
  81. admin/links/class-link.php +9 -3
  82. admin/menu/class-base-menu.php +5 -1
  83. admin/menu/class-menu.php +13 -2
  84. admin/menu/class-replacevar-editor.php +6 -3
  85. admin/menu/class-replacevar-field.php +1 -0
  86. admin/metabox/class-metabox-section-react.php +1 -0
  87. admin/metabox/class-metabox.php +33 -46
  88. admin/my-yoast-proxy.php +1 -1
  89. admin/notifiers/class-configuration-notifier.php +11 -1
  90. admin/notifiers/class-recalibration-beta.php +0 -105
  91. admin/pages/dashboard.php +1 -1
  92. admin/roles/class-abstract-role-manager.php +6 -1
  93. admin/taxonomy/class-taxonomy-metabox.php +4 -79
  94. admin/taxonomy/class-taxonomy-settings-fields.php +1 -0
  95. admin/taxonomy/class-taxonomy-social-fields.php +6 -1
  96. admin/tracking/class-tracking.php +9 -3
  97. admin/views/class-view-utils.php +6 -1
  98. admin/views/class-yoast-feature-toggle.php +35 -7
  99. admin/views/class-yoast-feature-toggles.php +10 -2
  100. admin/views/licenses.php +1 -1
  101. admin/views/paper-collapsible.php +1 -2
  102. admin/views/tabs/metas/archives.php +4 -0
  103. admin/views/tabs/metas/breadcrumbs.php +4 -1
  104. admin/views/tabs/metas/general.php +4 -1
  105. admin/views/tabs/metas/media.php +1 -0
  106. admin/views/tabs/metas/post-types.php +1 -1
  107. admin/views/tabs/metas/rss.php +1 -1
  108. admin/views/tabs/metas/taxonomies.php +1 -1
  109. admin/views/tabs/tool/wpseo-import.php +1 -1
  110. admin/views/tool-bulk-editor.php +52 -6
  111. admin/views/tool-file-editor.php +7 -6
  112. css/dist/{admin-global-950-rtl.min.css → admin-global-960-rtl.min.css} +0 -0
  113. css/dist/{admin-global-950.min.css → admin-global-960.min.css} +0 -0
  114. css/dist/{adminbar-950-rtl.min.css → adminbar-960-rtl.min.css} +0 -0
  115. css/dist/{adminbar-950.min.css → adminbar-960.min.css} +0 -0
  116. css/dist/{alerts-950-rtl.min.css → alerts-960-rtl.min.css} +0 -0
  117. css/dist/{alerts-950.min.css → alerts-960.min.css} +0 -0
  118. css/dist/{dashboard-950-rtl.min.css → dashboard-960-rtl.min.css} +0 -0
  119. css/dist/{dashboard-950.min.css → dashboard-960.min.css} +0 -0
  120. css/dist/{edit-page-950-rtl.min.css → edit-page-960-rtl.min.css} +0 -0
  121. css/dist/{edit-page-950.min.css → edit-page-960.min.css} +0 -0
  122. css/dist/{featured-image-950-rtl.min.css → featured-image-960-rtl.min.css} +0 -0
  123. css/dist/{featured-image-950.min.css → featured-image-960.min.css} +0 -0
  124. css/dist/{filter-explanation-950-rtl.min.css → filter-explanation-960-rtl.min.css} +0 -0
  125. css/dist/{filter-explanation-950.min.css → filter-explanation-960.min.css} +0 -0
  126. css/dist/{inside-editor-950-rtl.min.css → inside-editor-960-rtl.min.css} +0 -0
  127. css/dist/{inside-editor-950.min.css → inside-editor-960.min.css} +0 -0
  128. css/dist/{metabox-950-rtl.min.css → metabox-960-rtl.min.css} +0 -0
  129. css/dist/{metabox-950.min.css → metabox-960.min.css} +0 -0
  130. css/dist/{metabox-primary-category-950-rtl.min.css → metabox-primary-category-960-rtl.min.css} +0 -0
  131. css/dist/{metabox-primary-category-950.min.css → metabox-primary-category-960.min.css} +0 -0
  132. css/dist/{search-appearance-950-rtl.min.css → search-appearance-960-rtl.min.css} +0 -0
  133. css/dist/{search-appearance-950.min.css → search-appearance-960.min.css} +0 -0
  134. css/dist/{structured-data-blocks-950-rtl.min.css → structured-data-blocks-960-rtl.min.css} +0 -0
  135. css/dist/{structured-data-blocks-950.min.css → structured-data-blocks-960.min.css} +0 -0
  136. css/dist/{toggle-switch-950-rtl.min.css → toggle-switch-960-rtl.min.css} +0 -0
  137. css/dist/{toggle-switch-950.min.css → toggle-switch-960.min.css} +0 -0
  138. css/dist/{wpseo-dismissible-950-rtl.min.css → wpseo-dismissible-960-rtl.min.css} +0 -0
  139. css/dist/{wpseo-dismissible-950.min.css → wpseo-dismissible-960.min.css} +0 -0
  140. css/dist/{yoast-components-950-rtl.min.css → yoast-components-960-rtl.min.css} +0 -0
  141. css/dist/{yoast-components-950.min.css → yoast-components-960.min.css} +0 -0
  142. css/dist/{yoast-extensions-950-rtl.min.css → yoast-extensions-960-rtl.min.css} +0 -0
  143. css/dist/{yoast-extensions-950.min.css → yoast-extensions-960.min.css} +0 -0
  144. css/dist/{yst_plugin_tools-950-rtl.min.css → yst_plugin_tools-960-rtl.min.css} +0 -0
  145. css/dist/{yst_plugin_tools-950.min.css → yst_plugin_tools-960.min.css} +0 -0
  146. css/dist/{yst_seo_score-950-rtl.min.css → yst_seo_score-960-rtl.min.css} +0 -0
  147. css/dist/{yst_seo_score-950.min.css → yst_seo_score-960.min.css} +0 -0
  148. deprecated/class-recalibration-beta-notification.php +52 -0
  149. frontend/class-breadcrumbs.php +39 -14
  150. frontend/class-frontend.php +42 -45
  151. frontend/class-handle-404.php +92 -0
  152. frontend/class-json-ld.php +10 -3
  153. frontend/class-opengraph.php +3 -1
  154. frontend/class-remove-reply-to-com.php +5 -2
  155. frontend/class-twitter.php +12 -4
  156. inc/class-rewrite.php +1 -1
  157. inc/class-upgrade.php +13 -0
  158. inc/class-wpseo-admin-bar-menu.php +30 -6
  159. inc/class-wpseo-meta.php +23 -16
  160. inc/class-wpseo-utils.php +10 -6
  161. inc/options/class-wpseo-option-wpseo.php +29 -8
  162. inc/options/class-wpseo-option.php +38 -16
  163. inc/options/class-wpseo-options-backfill.php +6 -1
  164. inc/options/class-wpseo-options.php +17 -5
  165. inc/sitemaps/class-post-type-sitemap-provider.php +25 -5
  166. inc/sitemaps/class-sitemap-cache-data.php +10 -2
  167. inc/sitemaps/class-sitemap-image-parser.php +25 -5
  168. inc/sitemaps/class-sitemaps-admin.php +4 -1
  169. inc/sitemaps/class-sitemaps-cache-validator.php +15 -3
  170. inc/sitemaps/class-sitemaps-cache.php +20 -4
  171. inc/sitemaps/class-sitemaps-renderer.php +25 -5
  172. inc/sitemaps/class-sitemaps-router.php +1 -1
  173. inc/sitemaps/class-sitemaps.php +35 -10
  174. inc/sitemaps/class-taxonomy-sitemap-provider.php +5 -1
  175. js/dist/analysis-950.min.js +0 -21
admin/ajax.php CHANGED
@@ -253,18 +253,19 @@ add_action( 'wp_ajax_wpseo_save_all_descriptions', 'wpseo_save_all_descriptions'
253
  function wpseo_save_all( $what ) {
254
  check_ajax_referer( 'wpseo-bulk-editor' );
255
 
256
- // @todo the WPSEO Utils class can't filter arrays in POST yet.
257
- $new_values = $_POST['items'];
258
- $original_values = $_POST['existing_items'];
259
-
260
  $results = array();
 
 
 
261
 
262
- if ( is_array( $new_values ) && $new_values !== array() ) {
263
- foreach ( $new_values as $post_id => $new_value ) {
264
- $original_value = $original_values[ $post_id ];
265
- $results[] = wpseo_upsert_new( $what, $post_id, $new_value, $original_value );
266
- }
 
267
  }
 
268
  wpseo_ajax_json_echo_die( $results );
269
  }
270
 
253
  function wpseo_save_all( $what ) {
254
  check_ajax_referer( 'wpseo-bulk-editor' );
255
 
 
 
 
 
256
  $results = array();
257
+ if ( ! isset( $_POST['items'], $_POST['existingItems'] ) ) {
258
+ wpseo_ajax_json_echo_die( $results );
259
+ }
260
 
261
+ $new_values = array_map( array( 'WPSEO_Utils', 'sanitize_text_field' ), wp_unslash( (array) $_POST['items'] ) );
262
+ $original_values = array_map( array( 'WPSEO_Utils', 'sanitize_text_field' ), wp_unslash( (array) $_POST['existingItems'] ) );
263
+
264
+ foreach ( $new_values as $post_id => $new_value ) {
265
+ $original_value = $original_values[ $post_id ];
266
+ $results[] = wpseo_upsert_new( $what, $post_id, $new_value, $original_value );
267
  }
268
+
269
  wpseo_ajax_json_echo_die( $results );
270
  }
271
 
admin/capabilities/class-abstract-capability-manager.php CHANGED
@@ -9,7 +9,12 @@
9
  * Abstract Capability Manager shared code.
10
  */
11
  abstract class WPSEO_Abstract_Capability_Manager implements WPSEO_Capability_Manager {
12
- /** @var array Registered capabilities */
 
 
 
 
 
13
  protected $capabilities = array();
14
 
15
  /**
9
  * Abstract Capability Manager shared code.
10
  */
11
  abstract class WPSEO_Abstract_Capability_Manager implements WPSEO_Capability_Manager {
12
+
13
+ /**
14
+ * Registered capabilities.
15
+ *
16
+ * @var array
17
+ */
18
  protected $capabilities = array();
19
 
20
  /**
admin/capabilities/class-capability-manager-integration.php CHANGED
@@ -13,7 +13,11 @@
13
  */
14
  class WPSEO_Capability_Manager_Integration implements WPSEO_WordPress_Integration {
15
 
16
- /** @var WPSEO_Capability_Manager Capability manager to use. */
 
 
 
 
17
  public $manager;
18
 
19
  /**
13
  */
14
  class WPSEO_Capability_Manager_Integration implements WPSEO_WordPress_Integration {
15
 
16
+ /**
17
+ * Capability manager to use.
18
+ *
19
+ * @var WPSEO_Capability_Manager
20
+ */
21
  public $manager;
22
 
23
  /**
admin/class-admin-asset-manager.php CHANGED
@@ -188,17 +188,51 @@ class WPSEO_Admin_Asset_Manager {
188
 
189
  $flat_version = $this->flatten_version( WPSEO_VERSION );
190
 
191
- wp_register_script( 'react', plugins_url( 'js/vendor/react.min.js', WPSEO_FILE ), array(), false, true );
192
- wp_register_script( 'react-dom', plugins_url( 'js/vendor/react-dom.min.js', WPSEO_FILE ), array( 'react' ), false, true );
193
- wp_register_script( 'lodash-base', plugins_url( 'js/vendor/lodash.min.js', WPSEO_FILE ), array(), false, true );
194
- wp_register_script( 'lodash', plugins_url( 'js/vendor/lodash-noconflict.js', WPSEO_FILE ), array( 'lodash-base' ), false, true );
195
- wp_register_script( 'wp-polyfill', plugins_url( 'js/dist/babel-polyfill-' . $flat_version . '.min.js', WPSEO_FILE ), array(), false, true );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
196
 
197
  wp_register_script(
198
  'wp-element',
199
  plugins_url( 'js/dist/wp-element-' . $flat_version . '.min.js', WPSEO_FILE ),
200
  array( 'lodash', 'wp-polyfill', 'react', 'react-dom' ),
201
- false,
202
  true
203
  );
204
 
@@ -206,7 +240,7 @@ class WPSEO_Admin_Asset_Manager {
206
  'wp-api-fetch',
207
  plugins_url( 'js/dist/wp-apiFetch-' . $flat_version . '.min.js', WPSEO_FILE ),
208
  array( 'wp-i18n', 'wp-polyfill' ),
209
- false,
210
  true
211
  );
212
 
@@ -214,7 +248,7 @@ class WPSEO_Admin_Asset_Manager {
214
  'wp-components',
215
  plugins_url( 'js/dist/wp-components-' . $flat_version . '.min.js', WPSEO_FILE ),
216
  array( 'lodash', 'wp-api-fetch', 'wp-i18n', 'wp-polyfill', 'wp-compose' ),
217
- false,
218
  true
219
  );
220
 
@@ -222,7 +256,7 @@ class WPSEO_Admin_Asset_Manager {
222
  'wp-data',
223
  plugins_url( 'js/dist/wp-data-' . $flat_version . '.min.js', WPSEO_FILE ),
224
  array( 'lodash', 'wp-element', 'wp-polyfill', 'wp-compose' ),
225
- false,
226
  true
227
  );
228
 
@@ -230,7 +264,7 @@ class WPSEO_Admin_Asset_Manager {
230
  'wp-i18n',
231
  plugins_url( 'js/dist/wp-i18n-' . $flat_version . '.min.js', WPSEO_FILE ),
232
  array( 'wp-polyfill' ),
233
- false,
234
  true
235
  );
236
 
@@ -238,7 +272,7 @@ class WPSEO_Admin_Asset_Manager {
238
  'wp-rich-text',
239
  plugins_url( 'js/dist/wp-rich-text-' . $flat_version . '.min.js', WPSEO_FILE ),
240
  array( 'lodash', 'wp-polyfill', 'wp-data' ),
241
- false,
242
  true
243
  );
244
 
@@ -246,7 +280,7 @@ class WPSEO_Admin_Asset_Manager {
246
  'wp-compose',
247
  plugins_url( 'js/dist/wp-compose-' . $flat_version . '.min.js', WPSEO_FILE ),
248
  array( 'lodash', 'wp-polyfill' ),
249
- false,
250
  true
251
  );
252
 
@@ -254,11 +288,14 @@ class WPSEO_Admin_Asset_Manager {
254
  * wp-annotations only exists from Gutenberg 4.3 and onwards, so we register a no-op in earlier versions.
255
  * The no-op achieves that our scripts that depend on this are actually loaded. Because WordPress doesn't
256
  * load a script if any of the dependencies are missing.
 
 
257
  */
258
  wp_register_script(
259
  'wp-annotations',
260
  null
261
  );
 
262
  }
263
 
264
  /**
@@ -393,6 +430,10 @@ class WPSEO_Admin_Asset_Manager {
393
  'name' => 'admin-gsc',
394
  'src' => 'wp-seo-admin-gsc-' . $flat_version,
395
  'deps' => array(
 
 
 
 
396
  self::PREFIX . 'commons',
397
  ),
398
  'in_footer' => false,
188
 
189
  $flat_version = $this->flatten_version( WPSEO_VERSION );
190
 
191
+ wp_register_script(
192
+ 'react',
193
+ plugins_url( 'js/vendor/react.min.js', WPSEO_FILE ),
194
+ array(),
195
+ 'v16.6.1',
196
+ true
197
+ );
198
+
199
+ wp_register_script(
200
+ 'react-dom',
201
+ plugins_url( 'js/vendor/react-dom.min.js', WPSEO_FILE ),
202
+ array( 'react' ),
203
+ 'v16.6.1',
204
+ true
205
+ );
206
+
207
+ wp_register_script(
208
+ 'lodash-base',
209
+ plugins_url( 'js/vendor/lodash.min.js', WPSEO_FILE ),
210
+ array(),
211
+ '4.17.5',
212
+ true
213
+ );
214
+
215
+ wp_register_script(
216
+ 'lodash',
217
+ plugins_url( 'js/vendor/lodash-noconflict.js', WPSEO_FILE ),
218
+ array( 'lodash-base' ),
219
+ WPSEO_VERSION,
220
+ true
221
+ );
222
+
223
+ wp_register_script(
224
+ 'wp-polyfill',
225
+ plugins_url( 'js/dist/babel-polyfill-' . $flat_version . '.min.js', WPSEO_FILE ),
226
+ array(),
227
+ WPSEO_VERSION,
228
+ true
229
+ );
230
 
231
  wp_register_script(
232
  'wp-element',
233
  plugins_url( 'js/dist/wp-element-' . $flat_version . '.min.js', WPSEO_FILE ),
234
  array( 'lodash', 'wp-polyfill', 'react', 'react-dom' ),
235
+ WPSEO_VERSION,
236
  true
237
  );
238
 
240
  'wp-api-fetch',
241
  plugins_url( 'js/dist/wp-apiFetch-' . $flat_version . '.min.js', WPSEO_FILE ),
242
  array( 'wp-i18n', 'wp-polyfill' ),
243
+ WPSEO_VERSION,
244
  true
245
  );
246
 
248
  'wp-components',
249
  plugins_url( 'js/dist/wp-components-' . $flat_version . '.min.js', WPSEO_FILE ),
250
  array( 'lodash', 'wp-api-fetch', 'wp-i18n', 'wp-polyfill', 'wp-compose' ),
251
+ WPSEO_VERSION,
252
  true
253
  );
254
 
256
  'wp-data',
257
  plugins_url( 'js/dist/wp-data-' . $flat_version . '.min.js', WPSEO_FILE ),
258
  array( 'lodash', 'wp-element', 'wp-polyfill', 'wp-compose' ),
259
+ WPSEO_VERSION,
260
  true
261
  );
262
 
264
  'wp-i18n',
265
  plugins_url( 'js/dist/wp-i18n-' . $flat_version . '.min.js', WPSEO_FILE ),
266
  array( 'wp-polyfill' ),
267
+ WPSEO_VERSION,
268
  true
269
  );
270
 
272
  'wp-rich-text',
273
  plugins_url( 'js/dist/wp-rich-text-' . $flat_version . '.min.js', WPSEO_FILE ),
274
  array( 'lodash', 'wp-polyfill', 'wp-data' ),
275
+ WPSEO_VERSION,
276
  true
277
  );
278
 
280
  'wp-compose',
281
  plugins_url( 'js/dist/wp-compose-' . $flat_version . '.min.js', WPSEO_FILE ),
282
  array( 'lodash', 'wp-polyfill' ),
283
+ WPSEO_VERSION,
284
  true
285
  );
286
 
288
  * wp-annotations only exists from Gutenberg 4.3 and onwards, so we register a no-op in earlier versions.
289
  * The no-op achieves that our scripts that depend on this are actually loaded. Because WordPress doesn't
290
  * load a script if any of the dependencies are missing.
291
+ *
292
+ * @phpcs:disable WordPress.WP.EnqueuedResourceParameters -- The no-op does not require these settings.
293
  */
294
  wp_register_script(
295
  'wp-annotations',
296
  null
297
  );
298
+ // phpcs:enable -- End of disable.
299
  }
300
 
301
  /**
430
  'name' => 'admin-gsc',
431
  'src' => 'wp-seo-admin-gsc-' . $flat_version,
432
  'deps' => array(
433
+ 'wp-element',
434
+ 'wp-i18n',
435
+ self::PREFIX . 'styled-components',
436
+ self::PREFIX . 'components',
437
  self::PREFIX . 'commons',
438
  ),
439
  'in_footer' => false,
admin/class-admin.php CHANGED
@@ -10,7 +10,13 @@
10
  */
11
  class WPSEO_Admin {
12
 
13
- /** The page identifier used in WordPress to register the admin page !DO NOT CHANGE THIS! */
 
 
 
 
 
 
14
  const PAGE_IDENTIFIER = 'wpseo_dashboard';
15
 
16
  /**
@@ -106,6 +112,7 @@ class WPSEO_Admin {
106
  $integrations[] = new WPSEO_Admin_Gutenberg_Compatibility_Notification();
107
  $integrations[] = new WPSEO_Expose_Shortlinks();
108
  $integrations[] = new WPSEO_Recalibration_Beta();
 
109
  $integrations = array_merge( $integrations, $this->initialize_seo_links(), $this->initialize_cornerstone_content() );
110
 
111
  /** @var WPSEO_WordPress_Integration $integration */
10
  */
11
  class WPSEO_Admin {
12
 
13
+ /**
14
+ * The page identifier used in WordPress to register the admin page.
15
+ *
16
+ * !DO NOT CHANGE THIS!
17
+ *
18
+ * @var string
19
+ */
20
  const PAGE_IDENTIFIER = 'wpseo_dashboard';
21
 
22
  /**
112
  $integrations[] = new WPSEO_Admin_Gutenberg_Compatibility_Notification();
113
  $integrations[] = new WPSEO_Expose_Shortlinks();
114
  $integrations[] = new WPSEO_Recalibration_Beta();
115
+ $integrations[] = $this->admin_features['google_search_console'];
116
  $integrations = array_merge( $integrations, $this->initialize_seo_links(), $this->initialize_cornerstone_content() );
117
 
118
  /** @var WPSEO_WordPress_Integration $integration */
admin/class-asset.php CHANGED
@@ -10,19 +10,53 @@
10
  */
11
  class WPSEO_Admin_Asset {
12
 
 
 
 
13
  const TYPE_JS = 'js';
 
 
 
 
14
  const TYPE_CSS = 'css';
15
 
 
 
 
16
  const NAME = 'name';
 
 
 
 
17
  const SRC = 'src';
 
 
 
 
18
  const DEPS = 'deps';
 
 
 
 
19
  const VERSION = 'version';
20
 
21
- // Style specific.
 
 
 
 
22
  const MEDIA = 'media';
 
 
 
 
23
  const RTL = 'rtl';
24
 
25
- // Script specific.
 
 
 
 
26
  const IN_FOOTER = 'in_footer';
27
 
28
  /**
10
  */
11
  class WPSEO_Admin_Asset {
12
 
13
+ /**
14
+ * @var string
15
+ */
16
  const TYPE_JS = 'js';
17
+
18
+ /**
19
+ * @var string
20
+ */
21
  const TYPE_CSS = 'css';
22
 
23
+ /**
24
+ * @var string
25
+ */
26
  const NAME = 'name';
27
+
28
+ /**
29
+ * @var string
30
+ */
31
  const SRC = 'src';
32
+
33
+ /**
34
+ * @var string
35
+ */
36
  const DEPS = 'deps';
37
+
38
+ /**
39
+ * @var string
40
+ */
41
  const VERSION = 'version';
42
 
43
+ /* Style specific. */
44
+
45
+ /**
46
+ * @var string
47
+ */
48
  const MEDIA = 'media';
49
+
50
+ /**
51
+ * @var string
52
+ */
53
  const RTL = 'rtl';
54
 
55
+ /* Script specific. */
56
+
57
+ /**
58
+ * @var string
59
+ */
60
  const IN_FOOTER = 'in_footer';
61
 
62
  /**
admin/class-bulk-editor-list-table.php CHANGED
@@ -44,7 +44,7 @@ class WPSEO_Bulk_List_Table extends WP_List_Table {
44
  *
45
  * @var string
46
  */
47
- private $request_url;
48
 
49
  /**
50
  * The current page (depending on $_GET['paged']) if current tab is for current page_type, else it will be 1
@@ -101,67 +101,46 @@ class WPSEO_Bulk_List_Table extends WP_List_Table {
101
  */
102
  protected $pagination = array();
103
 
 
 
 
 
 
 
 
104
  /**
105
  * Class constructor
 
 
106
  */
107
- public function __construct() {
108
  parent::__construct( $this->settings );
109
 
110
- $this->request_url = $_SERVER['REQUEST_URI'];
111
- $this->current_page = ( ! empty( $_GET['paged'] ) ) ? $_GET['paged'] : 1;
112
- $this->current_filter = ( ! empty( $_GET['post_type_filter'] ) ) ? $_GET['post_type_filter'] : 1;
113
- $this->current_status = ( ! empty( $_GET['post_status'] ) ) ? $_GET['post_status'] : 1;
114
- $this->current_order = array(
115
- 'order' => ( ! empty( $_GET['order'] ) ) ? $_GET['order'] : 'asc',
116
- 'orderby' => ( ! empty( $_GET['orderby'] ) ) ? $_GET['orderby'] : 'post_title',
117
  );
118
 
119
- $this->verify_nonce();
120
-
121
- $this->nonce = wp_create_nonce( 'bulk-editor-table' );
122
- $this->page_url = "&nonce={$this->nonce}&type={$this->page_type}#top#{$this->page_type}";
123
-
124
- $this->populate_editable_post_types();
125
- }
126
-
127
- /**
128
- * Verifies nonce if additional parameters have been sent.
129
- *
130
- * Shows an error notification if the nonce check fails.
131
- */
132
- private function verify_nonce() {
133
- if ( $this->should_verify_nonce() && ! wp_verify_nonce( filter_input( INPUT_GET, 'nonce' ), 'bulk-editor-table' ) ) {
134
- Yoast_Notification_Center::get()->add_notification(
135
- new Yoast_Notification(
136
- __( 'You are not allowed to access this page.', 'wordpress-seo' ),
137
- array( 'type' => Yoast_Notification::ERROR )
138
- )
139
- );
140
- Yoast_Notification_Center::get()->display_notifications();
141
- die;
142
  }
143
- }
144
 
145
- /**
146
- * Checks if additional parameters have been sent to determine if nonce should be checked or not.
147
- *
148
- * @return bool
149
- */
150
- private function should_verify_nonce() {
151
- $possible_params = array(
152
- 'type',
153
- 'paged',
154
- 'post_type_filter',
155
- 'post_status',
156
- 'order',
157
- 'orderby',
158
  );
159
 
160
- foreach ( $possible_params as $param_name ) {
161
- if ( filter_input( INPUT_GET, $param_name ) ) {
162
- return true;
163
- }
164
- }
165
  }
166
 
167
  /**
@@ -458,7 +437,7 @@ class WPSEO_Bulk_List_Table extends WP_List_Table {
458
  $current_order = $this->current_order;
459
 
460
  // If current type doesn't compare with objects page_type, than we have to unset some vars in the requested url (which will be use for internal table urls).
461
- if ( $_GET['type'] !== $this->page_type ) {
462
  $request_url = remove_query_arg( 'paged', $request_url ); // Page will be set with value 1 below.
463
  $request_url = remove_query_arg( 'post_type_filter', $request_url );
464
  $request_url = remove_query_arg( 'post_status', $request_url );
@@ -699,8 +678,8 @@ class WPSEO_Bulk_List_Table extends WP_List_Table {
699
  $states = get_post_stati( array( 'show_in_admin_all_list' => true ) );
700
  $states['trash'] = 'trash';
701
 
702
- if ( ! empty( $_GET['post_status'] ) ) {
703
- $requested_state = sanitize_text_field( $_GET['post_status'] );
704
  if ( in_array( $requested_state, $states, true ) ) {
705
  $states = array( $requested_state );
706
  }
44
  *
45
  * @var string
46
  */
47
+ private $request_url = '';
48
 
49
  /**
50
  * The current page (depending on $_GET['paged']) if current tab is for current page_type, else it will be 1
101
  */
102
  protected $pagination = array();
103
 
104
+ /**
105
+ * Holds the sanitized data from the user input.
106
+ *
107
+ * @var array
108
+ */
109
+ protected $input_fields = array();
110
+
111
  /**
112
  * Class constructor
113
+ *
114
+ * @param array $args The arguments.
115
  */
116
+ public function __construct( $args = array() ) {
117
  parent::__construct( $this->settings );
118
 
119
+ $args = wp_parse_args(
120
+ $args,
121
+ array(
122
+ 'nonce' => '',
123
+ 'input_fields' => array(),
124
+ )
 
125
  );
126
 
127
+ $this->input_fields = $args['input_fields'];
128
+ if ( isset( $_SERVER['REQUEST_URI'] ) ) {
129
+ $this->request_url = sanitize_text_field( wp_unslash( $_SERVER['REQUEST_URI'] ) );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
130
  }
 
131
 
132
+ $this->current_page = ( ! empty( $this->input_fields['paged'] ) ) ? $this->input_fields['paged'] : 1;
133
+ $this->current_filter = ( ! empty( $this->input_fields['post_type_filter'] ) ) ? $this->input_fields['post_type_filter'] : 1;
134
+ $this->current_status = ( ! empty( $this->input_fields['post_status'] ) ) ? $this->input_fields['post_status'] : 1;
135
+ $this->current_order = array(
136
+ 'order' => ( ! empty( $this->input_fields['order'] ) ) ? $this->input_fields['order'] : 'asc',
137
+ 'orderby' => ( ! empty( $this->input_fields['orderby'] ) ) ? $this->input_fields['orderby'] : 'post_title',
 
 
 
 
 
 
 
138
  );
139
 
140
+ $this->nonce = $args['nonce'];
141
+ $this->page_url = "&nonce={$this->nonce}&type={$this->page_type}#top#{$this->page_type}";
142
+
143
+ $this->populate_editable_post_types();
 
144
  }
145
 
146
  /**
437
  $current_order = $this->current_order;
438
 
439
  // If current type doesn't compare with objects page_type, than we have to unset some vars in the requested url (which will be use for internal table urls).
440
+ if ( isset( $this->input_fields['type'] ) && $this->input_fields['type'] !== $this->page_type ) {
441
  $request_url = remove_query_arg( 'paged', $request_url ); // Page will be set with value 1 below.
442
  $request_url = remove_query_arg( 'post_type_filter', $request_url );
443
  $request_url = remove_query_arg( 'post_status', $request_url );
678
  $states = get_post_stati( array( 'show_in_admin_all_list' => true ) );
679
  $states['trash'] = 'trash';
680
 
681
+ if ( ! empty( $this->input_fields['post_status'] ) ) {
682
+ $requested_state = $this->input_fields['post_status'];
683
  if ( in_array( $requested_state, $states, true ) ) {
684
  $states = array( $requested_state );
685
  }
admin/class-collector.php CHANGED
@@ -10,7 +10,9 @@
10
  */
11
  class WPSEO_Collector {
12
 
13
- /** @var WPSEO_Collection[] */
 
 
14
  protected $collections = array();
15
 
16
  /**
10
  */
11
  class WPSEO_Collector {
12
 
13
+ /**
14
+ * @var WPSEO_Collection[]
15
+ */
16
  protected $collections = array();
17
 
18
  /**
admin/class-database-proxy.php CHANGED
@@ -10,19 +10,29 @@
10
  */
11
  class WPSEO_Database_Proxy {
12
 
13
- /** @var string */
 
 
14
  protected $table_name;
15
 
16
- /** @var bool */
 
 
17
  protected $suppress_errors = true;
18
 
19
- /** @var bool */
 
 
20
  protected $is_multisite_table = false;
21
 
22
- /** @var bool */
 
 
23
  protected $last_suppressed_state;
24
 
25
- /** @var wpdb */
 
 
26
  protected $database;
27
 
28
  /**
10
  */
11
  class WPSEO_Database_Proxy {
12
 
13
+ /**
14
+ * @var string
15
+ */
16
  protected $table_name;
17
 
18
+ /**
19
+ * @var bool
20
+ */
21
  protected $suppress_errors = true;
22
 
23
+ /**
24
+ * @var bool
25
+ */
26
  protected $is_multisite_table = false;
27
 
28
+ /**
29
+ * @var bool
30
+ */
31
  protected $last_suppressed_state;
32
 
33
+ /**
34
+ * @var wpdb
35
+ */
36
  protected $database;
37
 
38
  /**
admin/class-export.php CHANGED
@@ -47,8 +47,17 @@ class WPSEO_Export {
47
  }
48
 
49
  echo '<p>';
50
- /* translators: %1$s expands to Import settings */
51
- printf( esc_html__( 'Copy all these settings to another site\'s %1$s tab and click "%1$s" there.', 'wordpress-seo' ), __( 'Import settings', 'wordpress-seo' ) );
 
 
 
 
 
 
 
 
 
52
  echo '</p>';
53
  echo '<textarea id="wpseo-export" rows="20" cols="100">' . $this->export . '</textarea>';
54
  }
@@ -130,7 +139,7 @@ class WPSEO_Export {
130
  foreach ( $options as $key => $elem ) {
131
  if ( is_array( $elem ) ) {
132
  $count = count( $elem );
133
- for ( $i = 0; $i < $count; $i ++ ) {
134
  $this->write_setting( $key . '[]', $elem[ $i ] );
135
  }
136
  }
47
  }
48
 
49
  echo '<p>';
50
+ printf(
51
+ /* translators: %1$s expands to Import settings */
52
+ esc_html__(
53
+ 'Copy all these settings to another site\'s %1$s tab and click "%1$s" there.',
54
+ 'wordpress-seo'
55
+ ),
56
+ esc_html__(
57
+ 'Import settings',
58
+ 'wordpress-seo'
59
+ )
60
+ );
61
  echo '</p>';
62
  echo '<textarea id="wpseo-export" rows="20" cols="100">' . $this->export . '</textarea>';
63
  }
139
  foreach ( $options as $key => $elem ) {
140
  if ( is_array( $elem ) ) {
141
  $count = count( $elem );
142
+ for ( $i = 0; $i < $count; $i++ ) {
143
  $this->write_setting( $key . '[]', $elem[ $i ] );
144
  }
145
  }
admin/class-expose-shortlinks.php CHANGED
@@ -30,6 +30,7 @@ class WPSEO_Expose_Shortlinks implements WPSEO_WordPress_Integration {
30
  'shortlinks.upsell.metabox.focus_keyword_additional_button' => 'https://yoa.st/add-keywords-popup',
31
  'shortlinks.upsell.metabox.additional_link' => 'https://yoa.st/textlink-keywords-metabox',
32
  'shortlinks.upsell.metabox.additional_button' => 'https://yoa.st/add-keywords-metabox',
 
33
  'shortlinks.readability_analysis_info' => 'https://yoa.st/readability-analysis',
34
  'shortlinks.activate_premium_info' => 'https://yoa.st/activate-subscription',
35
  'shortlinks.recalibration_beta_metabox' => 'https://yoa.st/recalibration-beta-metabox',
@@ -54,7 +55,7 @@ class WPSEO_Expose_Shortlinks implements WPSEO_WordPress_Integration {
54
  * @return array The passed array with the additional shortlinks.
55
  */
56
  public function expose_shortlinks( $input ) {
57
- foreach ( $this->shortlinks as $key => $shortlink ) {
58
  $input[ $key ] = WPSEO_Shortlinker::get( $shortlink );
59
  }
60
 
@@ -62,4 +63,38 @@ class WPSEO_Expose_Shortlinks implements WPSEO_WordPress_Integration {
62
 
63
  return $input;
64
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
65
  }
30
  'shortlinks.upsell.metabox.focus_keyword_additional_button' => 'https://yoa.st/add-keywords-popup',
31
  'shortlinks.upsell.metabox.additional_link' => 'https://yoa.st/textlink-keywords-metabox',
32
  'shortlinks.upsell.metabox.additional_button' => 'https://yoa.st/add-keywords-metabox',
33
+ 'shortlinks.upsell.gsc.create_redirect_button' => 'https://yoa.st/redirects',
34
  'shortlinks.readability_analysis_info' => 'https://yoa.st/readability-analysis',
35
  'shortlinks.activate_premium_info' => 'https://yoa.st/activate-subscription',
36
  'shortlinks.recalibration_beta_metabox' => 'https://yoa.st/recalibration-beta-metabox',
55
  * @return array The passed array with the additional shortlinks.
56
  */
57
  public function expose_shortlinks( $input ) {
58
+ foreach ( $this->get_shortlinks() as $key => $shortlink ) {
59
  $input[ $key ] = WPSEO_Shortlinker::get( $shortlink );
60
  }
61
 
63
 
64
  return $input;
65
  }
66
+
67
+ /**
68
+ * Retrieves the shortlinks.
69
+ *
70
+ * @return array The shortlinks.
71
+ */
72
+ private function get_shortlinks() {
73
+ if ( ! $this->is_term_edit() ) {
74
+ return $this->shortlinks;
75
+ }
76
+
77
+ $shortlinks = $this->shortlinks;
78
+
79
+ $shortlinks['shortlinks.upsell.metabox.focus_keyword_synonyms_link'] = 'https://yoa.st/textlink-synonyms-popup-metabox-term';
80
+ $shortlinks['shortlinks.upsell.metabox.focus_keyword_synonyms_button'] = 'https://yoa.st/keyword-synonyms-popup-term';
81
+ $shortlinks['shortlinks.upsell.metabox.focus_keyword_additional_link'] = 'https://yoa.st/textlink-keywords-popup-metabox-term';
82
+ $shortlinks['shortlinks.upsell.metabox.focus_keyword_additional_button'] = 'https://yoa.st/add-keywords-popup-term';
83
+ $shortlinks['shortlinks.upsell.metabox.additional_link'] = 'https://yoa.st/textlink-keywords-metabox-term';
84
+ $shortlinks['shortlinks.upsell.metabox.additional_button'] = 'https://yoa.st/add-keywords-metabox-term';
85
+ $shortlinks['shortlinks.upsell.sidebar.morphology_upsell_metabox'] = 'https://yoa.st/morphology-upsell-metabox-term';
86
+
87
+ return $shortlinks;
88
+ }
89
+
90
+ /**
91
+ * Checks if the current page is a term edit page.
92
+ *
93
+ * @return bool True when page is term edit.
94
+ */
95
+ private function is_term_edit() {
96
+ global $pagenow;
97
+
98
+ return WPSEO_Taxonomy::is_term_edit( $pagenow );
99
+ }
100
  }
admin/class-extension-manager.php CHANGED
@@ -10,14 +10,24 @@
10
  */
11
  class WPSEO_Extension_Manager {
12
 
13
- /** The transient key to save the cache in */
 
 
 
 
14
  const TRANSIENT_CACHE_KEY = 'wpseo_license_active_extensions';
15
 
16
- /** @var WPSEO_Extension[] */
 
 
17
  protected $extensions = array();
18
 
19
- /** @var array List of active plugins */
20
- static protected $active_extensions;
 
 
 
 
21
 
22
  /**
23
  * Adds an extension to the manager.
10
  */
11
  class WPSEO_Extension_Manager {
12
 
13
+ /**
14
+ * The transient key to save the cache in.
15
+ *
16
+ * @var string
17
+ */
18
  const TRANSIENT_CACHE_KEY = 'wpseo_license_active_extensions';
19
 
20
+ /**
21
+ * @var WPSEO_Extension[]
22
+ */
23
  protected $extensions = array();
24
 
25
+ /**
26
+ * List of active plugins.
27
+ *
28
+ * @var array
29
+ */
30
+ protected static $active_extensions;
31
 
32
  /**
33
  * Adds an extension to the manager.
admin/class-extensions.php CHANGED
@@ -10,7 +10,11 @@
10
  */
11
  class WPSEO_Extensions {
12
 
13
- /** @var array Array with the Yoast extensions */
 
 
 
 
14
  protected $extensions = array(
15
  'Yoast SEO Premium' => array(
16
  'slug' => 'yoast-seo-premium',
10
  */
11
  class WPSEO_Extensions {
12
 
13
+ /**
14
+ * Array with the Yoast extensions.
15
+ *
16
+ * @var array
17
+ */
18
  protected $extensions = array(
19
  'Yoast SEO Premium' => array(
20
  'slug' => 'yoast-seo-premium',
admin/class-gutenberg-compatibility.php CHANGED
@@ -13,12 +13,12 @@ class WPSEO_Gutenberg_Compatibility {
13
  /**
14
  * The currently released version of Gutenberg.
15
  */
16
- const CURRENT_RELEASE = '4.8.0';
17
 
18
  /**
19
  * The minimally supported version of Gutenberg by the plugin.
20
  */
21
- const MINIMUM_SUPPORTED = '4.8.0';
22
 
23
  /**
24
  * @var string
13
  /**
14
  * The currently released version of Gutenberg.
15
  */
16
+ const CURRENT_RELEASE = '5.0.0';
17
 
18
  /**
19
  * The minimally supported version of Gutenberg by the plugin.
20
  */
21
+ const MINIMUM_SUPPORTED = '5.0.0';
22
 
23
  /**
24
  * @var string
admin/class-help-center-item.php CHANGED
@@ -10,16 +10,32 @@
10
  */
11
  class WPSEO_Help_Center_Item {
12
 
13
- /** @var string Identifier for this tab. */
 
 
 
 
14
  private $identifier;
15
 
16
- /** @var string Label to display. */
 
 
 
 
17
  private $label;
18
 
19
- /** @var string The dashicon classname to display in front of the label. */
 
 
 
 
20
  private $dashicon;
21
 
22
- /** @var array Optional arguments. */
 
 
 
 
23
  private $args = array();
24
 
25
  /**
10
  */
11
  class WPSEO_Help_Center_Item {
12
 
13
+ /**
14
+ * Identifier for this tab.
15
+ *
16
+ * @var string
17
+ */
18
  private $identifier;
19
 
20
+ /**
21
+ * Label to display.
22
+ *
23
+ * @var string
24
+ */
25
  private $label;
26
 
27
+ /**
28
+ * The dashicon classname to display in front of the label.
29
+ *
30
+ * @var string
31
+ */
32
  private $dashicon;
33
 
34
+ /**
35
+ * Optional arguments.
36
+ *
37
+ * @var array
38
+ */
39
  private $args = array();
40
 
41
  /**
admin/class-help-center.php CHANGED
@@ -9,6 +9,7 @@
9
  * Class WPSEO_Help_Center
10
  */
11
  class WPSEO_Help_Center {
 
12
  /**
13
  * The tabs in the help center.
14
  *
9
  * Class WPSEO_Help_Center
10
  */
11
  class WPSEO_Help_Center {
12
+
13
  /**
14
  * The tabs in the help center.
15
  *
admin/class-meta-storage.php CHANGED
@@ -12,10 +12,16 @@ class WPSEO_Meta_Storage implements WPSEO_Installable {
12
 
13
  const TABLE_NAME = 'yoast_seo_meta';
14
 
15
- /** @var WPSEO_Database_Proxy */
 
 
16
  protected $database_proxy;
17
 
18
- /** @var null|string Deprecated. */
 
 
 
 
19
  protected $table_prefix;
20
 
21
  /**
12
 
13
  const TABLE_NAME = 'yoast_seo_meta';
14
 
15
+ /**
16
+ * @var WPSEO_Database_Proxy
17
+ */
18
  protected $database_proxy;
19
 
20
+ /**
21
+ * @deprecated
22
+ *
23
+ * @var null|string
24
+ */
25
  protected $table_prefix;
26
 
27
  /**
admin/class-option-tab.php CHANGED
@@ -10,13 +10,25 @@
10
  */
11
  class WPSEO_Option_Tab {
12
 
13
- /** @var string Name of the tab */
 
 
 
 
14
  private $name;
15
 
16
- /** @var string Label of the tab */
 
 
 
 
17
  private $label;
18
 
19
- /** @var array Optional arguments */
 
 
 
 
20
  private $arguments;
21
 
22
  /**
10
  */
11
  class WPSEO_Option_Tab {
12
 
13
+ /**
14
+ * Name of the tab.
15
+ *
16
+ * @var string
17
+ */
18
  private $name;
19
 
20
+ /**
21
+ * Label of the tab.
22
+ *
23
+ * @var string
24
+ */
25
  private $label;
26
 
27
+ /**
28
+ * Optional arguments.
29
+ *
30
+ * @var array
31
+ */
32
  private $arguments;
33
 
34
  /**
admin/class-option-tabs.php CHANGED
@@ -10,13 +10,25 @@
10
  */
11
  class WPSEO_Option_Tabs {
12
 
13
- /** @var string Tabs base */
 
 
 
 
14
  private $base;
15
 
16
- /** @var array The tabs in this group */
 
 
 
 
17
  private $tabs = array();
18
 
19
- /** @var string Name of the active tab */
 
 
 
 
20
  private $active_tab = '';
21
 
22
  /**
10
  */
11
  class WPSEO_Option_Tabs {
12
 
13
+ /**
14
+ * Tabs base.
15
+ *
16
+ * @var string
17
+ */
18
  private $base;
19
 
20
+ /**
21
+ * The tabs in this group.
22
+ *
23
+ * @var array
24
+ */
25
  private $tabs = array();
26
 
27
+ /**
28
+ * Name of the active tab.
29
+ *
30
+ * @var string
31
+ */
32
  private $active_tab = '';
33
 
34
  /**
admin/class-paper-presenter.php CHANGED
@@ -9,6 +9,7 @@
9
  * Class WPSEO_presenter_paper
10
  */
11
  class WPSEO_Paper_Presenter {
 
12
  /**
13
  * @var string Title of the paper
14
  */
9
  * Class WPSEO_presenter_paper
10
  */
11
  class WPSEO_Paper_Presenter {
12
+
13
  /**
14
  * @var string Title of the paper
15
  */
admin/class-premium-popup.php CHANGED
@@ -9,6 +9,7 @@
9
  * Class WPSEO_Premium_popup
10
  */
11
  class WPSEO_Premium_Popup {
 
12
  /**
13
  * An unique identifier for the popup
14
  *
9
  * Class WPSEO_Premium_popup
10
  */
11
  class WPSEO_Premium_Popup {
12
+
13
  /**
14
  * An unique identifier for the popup
15
  *
admin/class-premium-upsell-admin-block.php CHANGED
@@ -9,10 +9,19 @@
9
  * Class WPSEO_Premium_Upsell_Admin_Block
10
  */
11
  class WPSEO_Premium_Upsell_Admin_Block {
12
- /** @var string Hook to display the block on. */
 
 
 
 
 
13
  protected $hook;
14
 
15
- /** @var string Identifier to use in the dismissal functionality. */
 
 
 
 
16
  protected $identifier = 'premium_upsell_admin_block';
17
 
18
  /**
9
  * Class WPSEO_Premium_Upsell_Admin_Block
10
  */
11
  class WPSEO_Premium_Upsell_Admin_Block {
12
+
13
+ /**
14
+ * Hook to display the block on.
15
+ *
16
+ * @var string
17
+ */
18
  protected $hook;
19
 
20
+ /**
21
+ * Identifier to use in the dismissal functionality.
22
+ *
23
+ * @var string
24
+ */
25
  protected $identifier = 'premium_upsell_admin_block';
26
 
27
  /**
admin/class-product-upsell-notice.php CHANGED
@@ -14,7 +14,9 @@ class WPSEO_Product_Upsell_Notice {
14
 
15
  const OPTION_NAME = 'wpseo';
16
 
17
- /** @var array */
 
 
18
  protected $options;
19
 
20
  /**
14
 
15
  const OPTION_NAME = 'wpseo';
16
 
17
+ /**
18
+ * @var array
19
+ */
20
  protected $options;
21
 
22
  /**
admin/class-recalibration-beta.php CHANGED
@@ -29,6 +29,12 @@ class WPSEO_Recalibration_Beta implements WPSEO_WordPress_Integration {
29
  * @return void
30
  */
31
  public function show_feature_toggle() {
 
 
 
 
 
 
32
  $values = array(
33
  'on' => __( 'On', 'wordpress-seo' ),
34
  'off' => __( 'Off', 'wordpress-seo' ),
@@ -36,7 +42,7 @@ class WPSEO_Recalibration_Beta implements WPSEO_WordPress_Integration {
36
 
37
  echo '<div class="switch-container">';
38
  echo '<fieldset id="', esc_attr( $this->option_name ), '" class="fieldset-switch-toggle">';
39
- echo '<legend><strong>', __( 'Get an even better analysis', 'wordpress-seo' ), '</strong></legend>';
40
  echo '<p class="clear">';
41
  printf(
42
  /* translators: 1: link opening tag, 2: link closing tag, 3: strong opening tag, 4: strong closing tag */
@@ -83,9 +89,6 @@ class WPSEO_Recalibration_Beta implements WPSEO_WordPress_Integration {
83
  */
84
  public function register_hooks() {
85
  add_action( 'update_option_wpseo', array( $this, 'update_option' ), 10, 2 );
86
-
87
- $notification = new WPSEO_Recalibration_Beta_Notification();
88
- $notification->register_hooks();
89
  }
90
 
91
  /**
29
  * @return void
30
  */
31
  public function show_feature_toggle() {
32
+ // If the recalibration beta has been disabled you will no longer be able to enable it.
33
+ // See https://github.com/Yoast/wordpress-seo/issues/12183.
34
+ if ( ! self::is_enabled() ) {
35
+ return;
36
+ }
37
+
38
  $values = array(
39
  'on' => __( 'On', 'wordpress-seo' ),
40
  'off' => __( 'Off', 'wordpress-seo' ),
42
 
43
  echo '<div class="switch-container">';
44
  echo '<fieldset id="', esc_attr( $this->option_name ), '" class="fieldset-switch-toggle">';
45
+ echo '<legend><strong>', esc_html__( 'Get an even better analysis', 'wordpress-seo' ), '</strong></legend>';
46
  echo '<p class="clear">';
47
  printf(
48
  /* translators: 1: link opening tag, 2: link closing tag, 3: strong opening tag, 4: strong closing tag */
89
  */
90
  public function register_hooks() {
91
  add_action( 'update_option_wpseo', array( $this, 'update_option' ), 10, 2 );
 
 
 
92
  }
93
 
94
  /**
admin/class-remote-request.php CHANGED
@@ -13,20 +13,28 @@ class WPSEO_Remote_Request {
13
  const METHOD_POST = 'post';
14
  const METHOD_GET = 'get';
15
 
16
- /** @var string */
 
 
17
  protected $endpoint = '';
18
 
19
- /** @var array */
 
 
20
  protected $args = array(
21
  'blocking' => false,
22
  'sslverify' => false,
23
  'timeout' => 2,
24
  );
25
 
26
- /** @var WP_Error|null */
 
 
27
  protected $response_error;
28
 
29
- /** @var mixed */
 
 
30
  protected $response_body;
31
 
32
  /**
13
  const METHOD_POST = 'post';
14
  const METHOD_GET = 'get';
15
 
16
+ /**
17
+ * @var string
18
+ */
19
  protected $endpoint = '';
20
 
21
+ /**
22
+ * @var array
23
+ */
24
  protected $args = array(
25
  'blocking' => false,
26
  'sslverify' => false,
27
  'timeout' => 2,
28
  );
29
 
30
+ /**
31
+ * @var WP_Error|null
32
+ */
33
  protected $response_error;
34
 
35
+ /**
36
+ * @var mixed
37
+ */
38
  protected $response_body;
39
 
40
  /**
admin/class-social-admin.php CHANGED
@@ -86,6 +86,8 @@ class WPSEO_Social_Admin extends WPSEO_Metabox {
86
  $single = null;
87
  }
88
 
 
 
89
  if ( $opengraph === true ) {
90
  $tabs[] = new WPSEO_Metabox_Form_Tab(
91
  'facebook',
@@ -195,50 +197,65 @@ class WPSEO_Social_Admin extends WPSEO_Metabox {
195
  * @return array
196
  */
197
  public function save_meta_boxes( $field_defs ) {
198
- return array_merge( $field_defs, $this->get_meta_field_defs( 'social' ) );
 
 
 
 
199
  }
200
 
201
  /**
202
  * This method will compare opengraph fields with the posted values.
203
  *
204
- * When fields are changed, the facebook cache will be purge.
205
  *
206
  * @param WP_Post $post Post instance.
207
  */
208
  public function og_data_compare( $post ) {
 
 
 
209
 
210
- // Check if post data is available, if post_id is set and if original post_status is publish.
211
- // @codingStandardsIgnoreStart
212
- if (
213
- ! empty( $_POST ) && ! empty( $post->ID ) && $post->post_status === 'publish' &&
214
- isset( $_POST['original_post_status'] ) && $_POST['original_post_status'] === 'publish'
215
- ) {
216
- // @codingStandardsIgnoreEnd
217
-
218
- $fields_to_compare = array(
219
- 'opengraph-title',
220
- 'opengraph-description',
221
- 'opengraph-image',
222
- );
223
 
224
- $reset_facebook_cache = false;
 
 
225
 
226
- foreach ( $fields_to_compare as $field_to_compare ) {
227
- $old_value = self::get_value( $field_to_compare, $post->ID );
228
- $new_value = self::get_post_value( self::$form_prefix . $field_to_compare );
229
 
230
- if ( $old_value !== $new_value ) {
231
- $reset_facebook_cache = true;
232
- break;
233
- }
 
 
 
 
 
 
 
 
 
 
 
234
  }
235
- unset( $field_to_compare, $old_value, $new_value );
236
 
237
- if ( $reset_facebook_cache ) {
238
- wp_remote_get(
239
- 'https://graph.facebook.com/?id=' . get_permalink( $post->ID ) . '&scrape=true&method=post'
240
- );
241
  }
242
  }
 
 
 
 
 
 
 
243
  }
244
  } /* End of class */
86
  $single = null;
87
  }
88
 
89
+ wp_nonce_field( 'yoast_free_metabox_social', 'yoast_free_metabox_social_nonce' );
90
+
91
  if ( $opengraph === true ) {
92
  $tabs[] = new WPSEO_Metabox_Form_Tab(
93
  'facebook',
197
  * @return array
198
  */
199
  public function save_meta_boxes( $field_defs ) {
200
+ if ( ! isset( $_POST['yoast_free_metabox_social_nonce'] ) || ! wp_verify_nonce( $_POST['yoast_free_metabox_social_nonce'], 'yoast_free_metabox_social' ) ) {
201
+ return $field_defs;
202
+ }
203
+
204
+ return array_merge( $field_defs, self::get_meta_field_defs( 'social' ) );
205
  }
206
 
207
  /**
208
  * This method will compare opengraph fields with the posted values.
209
  *
210
+ * When fields are changed, the facebook cache will be purged.
211
  *
212
  * @param WP_Post $post Post instance.
213
  */
214
  public function og_data_compare( $post ) {
215
+ if ( empty( $_POST ) ) {
216
+ return;
217
+ }
218
 
219
+ if ( empty( $post->ID ) || $post->post_status !== 'publish' ) {
220
+ return;
221
+ }
 
 
 
 
 
 
 
 
 
 
222
 
223
+ if ( ! isset( $_POST['yoast_free_metabox_social_nonce'] ) || ! wp_verify_nonce( $_POST['yoast_free_metabox_social_nonce'], 'yoast_free_metabox_social' ) ) {
224
+ return;
225
+ }
226
 
227
+ if ( ! isset( $_POST['original_post_status'] ) || $_POST['original_post_status'] !== 'publish' ) {
228
+ return;
229
+ }
230
 
231
+ $fields_to_compare = array(
232
+ 'opengraph-title',
233
+ 'opengraph-description',
234
+ 'opengraph-image',
235
+ );
236
+
237
+ $reset_facebook_cache = false;
238
+
239
+ foreach ( $fields_to_compare as $field_to_compare ) {
240
+ $old_value = self::get_value( $field_to_compare, $post->ID );
241
+
242
+ $new_value = '';
243
+ $post_key = self::$form_prefix . $field_to_compare;
244
+ if ( isset( $_POST[ $post_key ] ) ) {
245
+ $new_value = sanitize_text_field( wp_unslash( $_POST[ $post_key ] ) );
246
  }
 
247
 
248
+ if ( $old_value !== $new_value ) {
249
+ $reset_facebook_cache = true;
250
+ break;
 
251
  }
252
  }
253
+ unset( $field_to_compare, $old_value, $new_value );
254
+
255
+ if ( $reset_facebook_cache ) {
256
+ wp_remote_get(
257
+ 'https://graph.facebook.com/?id=' . get_permalink( $post->ID ) . '&scrape=true&method=post'
258
+ );
259
+ }
260
  }
261
  } /* End of class */
admin/class-yoast-alerts.php CHANGED
@@ -12,21 +12,53 @@ class Yoast_Alerts {
12
 
13
  const ADMIN_PAGE = 'wpseo_dashboard';
14
 
15
- /** @var int Total notifications count */
 
 
 
 
16
  private static $notification_count = 0;
17
 
18
- /** @var array All error notifications */
 
 
 
 
19
  private static $errors = array();
20
- /** @var array Active errors */
 
 
 
 
 
21
  private static $active_errors = array();
22
- /** @var array Dismissed errors */
 
 
 
 
 
23
  private static $dismissed_errors = array();
24
 
25
- /** @var array All warning notifications */
 
 
 
 
26
  private static $warnings = array();
27
- /** @var array Active warnings */
 
 
 
 
 
28
  private static $active_warnings = array();
29
- /** @var array Dismissed warnings */
 
 
 
 
 
30
  private static $dismissed_warnings = array();
31
 
32
  /**
12
 
13
  const ADMIN_PAGE = 'wpseo_dashboard';
14
 
15
+ /**
16
+ * Total notifications count.
17
+ *
18
+ * @var int
19
+ */
20
  private static $notification_count = 0;
21
 
22
+ /**
23
+ * All error notifications.
24
+ *
25
+ * @var array
26
+ */
27
  private static $errors = array();
28
+
29
+ /**
30
+ * Active errors.
31
+ *
32
+ * @var array
33
+ */
34
  private static $active_errors = array();
35
+
36
+ /**
37
+ * Dismissed errors.
38
+ *
39
+ * @var array
40
+ */
41
  private static $dismissed_errors = array();
42
 
43
+ /**
44
+ * All warning notifications.
45
+ *
46
+ * @var array
47
+ */
48
  private static $warnings = array();
49
+
50
+ /**
51
+ * Active warnings.
52
+ *
53
+ * @var array
54
+ */
55
  private static $active_warnings = array();
56
+
57
+ /**
58
+ * Dismissed warnings.
59
+ *
60
+ * @var array
61
+ */
62
  private static $dismissed_warnings = array();
63
 
64
  /**
admin/class-yoast-network-admin.php CHANGED
@@ -112,7 +112,7 @@ class Yoast_Network_Admin implements WPSEO_WordPress_Integration, WPSEO_WordPres
112
  foreach ( $whitelist_options as $option_name ) {
113
  $value = null;
114
  if ( isset( $_POST[ $option_name ] ) ) { // WPCS: CSRF ok.
115
- $value = wp_unslash( $_POST[ $option_name ] ); // WPCS: CSRF ok.
116
  }
117
 
118
  WPSEO_Options::update_site_option( $option_name, $value );
@@ -255,7 +255,7 @@ class Yoast_Network_Admin implements WPSEO_WordPress_Integration, WPSEO_WordPres
255
  check_admin_referer( $action, $query_arg );
256
 
257
  if ( ! $has_access ) {
258
- wp_die( __( 'You are not allowed to perform this action.', 'wordpress-seo' ) );
259
  }
260
  }
261
 
112
  foreach ( $whitelist_options as $option_name ) {
113
  $value = null;
114
  if ( isset( $_POST[ $option_name ] ) ) { // WPCS: CSRF ok.
115
+ $value = sanitize_text_field( wp_unslash( $_POST[ $option_name ] ) ); // WPCS: CSRF ok.
116
  }
117
 
118
  WPSEO_Options::update_site_option( $option_name, $value );
255
  check_admin_referer( $action, $query_arg );
256
 
257
  if ( ! $has_access ) {
258
+ wp_die( esc_html__( 'You are not allowed to perform this action.', 'wordpress-seo' ) );
259
  }
260
  }
261
 
admin/class-yoast-network-settings-api.php CHANGED
@@ -11,17 +11,23 @@
11
  class Yoast_Network_Settings_API {
12
 
13
  /**
14
- * @var array Registered network settings.
 
 
15
  */
16
  private $registered_settings = array();
17
 
18
  /**
19
- * @var array Options whitelist, keyed by option group.
 
 
20
  */
21
  private $whitelist_options = array();
22
 
23
  /**
24
- * @var Yoast_Network_Settings_API The singleton instance of this class.
 
 
25
  */
26
  private static $instance = null;
27
 
11
  class Yoast_Network_Settings_API {
12
 
13
  /**
14
+ * Registered network settings.
15
+ *
16
+ * @var array
17
  */
18
  private $registered_settings = array();
19
 
20
  /**
21
+ * Options whitelist, keyed by option group.
22
+ *
23
+ * @var array
24
  */
25
  private $whitelist_options = array();
26
 
27
  /**
28
+ * The singleton instance of this class.
29
+ *
30
+ * @var Yoast_Network_Settings_API
31
  */
32
  private static $instance = null;
33
 
admin/class-yoast-notification-center.php CHANGED
@@ -10,25 +10,51 @@
10
  */
11
  class Yoast_Notification_Center {
12
 
13
- /** Option name to store notifications on */
 
 
 
 
14
  const STORAGE_KEY = 'yoast_notifications';
15
 
16
- /** @var \Yoast_Notification_Center The singleton instance of this object */
 
 
 
 
17
  private static $instance = null;
18
 
19
- /** @var $notifications Yoast_Notification[] */
 
 
20
  private $notifications = array();
21
 
22
- /** @var array Notifications there are newly added */
 
 
 
 
23
  private $new = array();
24
 
25
- /** @var array Notifications that were resolved this execution */
 
 
 
 
26
  private $resolved = 0;
27
 
28
- /** @var array Internal storage for transaction before notifications have been retrieved from storage. */
 
 
 
 
29
  private $queued_transactions = array();
30
 
31
- /** @var bool Internal flag for whether notifications have been retrieved from storage. */
 
 
 
 
32
  private $notifications_retrieved = false;
33
 
34
  /**
10
  */
11
  class Yoast_Notification_Center {
12
 
13
+ /**
14
+ * Option name to store notifications on.
15
+ *
16
+ * @var string
17
+ */
18
  const STORAGE_KEY = 'yoast_notifications';
19
 
20
+ /**
21
+ * The singleton instance of this object.
22
+ *
23
+ * @var \Yoast_Notification_Center
24
+ */
25
  private static $instance = null;
26
 
27
+ /**
28
+ * @var \Yoast_Notification[]
29
+ */
30
  private $notifications = array();
31
 
32
+ /**
33
+ * Notifications there are newly added.
34
+ *
35
+ * @var array
36
+ */
37
  private $new = array();
38
 
39
+ /**
40
+ * Notifications that were resolved this execution.
41
+ *
42
+ * @var array
43
+ */
44
  private $resolved = 0;
45
 
46
+ /**
47
+ * Internal storage for transaction before notifications have been retrieved from storage.
48
+ *
49
+ * @var array
50
+ */
51
  private $queued_transactions = array();
52
 
53
+ /**
54
+ * Internal flag for whether notifications have been retrieved from storage.
55
+ *
56
+ * @var bool
57
+ */
58
  private $notifications_retrieved = false;
59
 
60
  /**
admin/class-yoast-notification.php CHANGED
@@ -12,27 +12,37 @@
12
  class Yoast_Notification {
13
 
14
  /**
15
- * @var string Type of capability check.
 
 
16
  */
17
  const MATCH_ALL = 'all';
18
 
19
  /**
20
- * @var string Type of capability check.
 
 
21
  */
22
  const MATCH_ANY = 'any';
23
 
24
  /**
25
- * @var string Notification type.
 
 
26
  */
27
  const ERROR = 'error';
28
 
29
  /**
30
- * @var string Notification type.
 
 
31
  */
32
  const WARNING = 'warning';
33
 
34
  /**
35
- * @var string Notification type.
 
 
36
  */
37
  const UPDATED = 'updated';
38
 
12
  class Yoast_Notification {
13
 
14
  /**
15
+ * Type of capability check.
16
+ *
17
+ * @var string
18
  */
19
  const MATCH_ALL = 'all';
20
 
21
  /**
22
+ * Type of capability check.
23
+ *
24
+ * @var string
25
  */
26
  const MATCH_ANY = 'any';
27
 
28
  /**
29
+ * Notification type.
30
+ *
31
+ * @var string
32
  */
33
  const ERROR = 'error';
34
 
35
  /**
36
+ * Notification type.
37
+ *
38
+ * @var string
39
  */
40
  const WARNING = 'warning';
41
 
42
  /**
43
+ * Notification type.
44
+ *
45
+ * @var string
46
  */
47
  const UPDATED = 'updated';
48
 
admin/config-ui/class-configuration-components.php CHANGED
@@ -10,10 +10,18 @@
10
  */
11
  class WPSEO_Configuration_Components {
12
 
13
- /** @var WPSEO_Config_Component[] List of registered components */
 
 
 
 
14
  protected $components = array();
15
 
16
- /** @var WPSEO_Configuration_Options_Adapter Adapter */
 
 
 
 
17
  protected $adapter;
18
 
19
  /**
10
  */
11
  class WPSEO_Configuration_Components {
12
 
13
+ /**
14
+ * List of registered components.
15
+ *
16
+ * @var WPSEO_Config_Component[]
17
+ */
18
  protected $components = array();
19
 
20
+ /**
21
+ * Adapter.
22
+ *
23
+ * @var WPSEO_Configuration_Options_Adapter
24
+ */
25
  protected $adapter;
26
 
27
  /**
admin/config-ui/class-configuration-endpoint.php CHANGED
@@ -10,14 +10,36 @@
10
  */
11
  class WPSEO_Configuration_Endpoint {
12
 
 
 
 
13
  const REST_NAMESPACE = 'yoast/v1';
 
 
 
 
14
  const ENDPOINT_RETRIEVE = 'configurator';
 
 
 
 
15
  const ENDPOINT_STORE = 'configurator';
16
 
 
 
 
17
  const CAPABILITY_RETRIEVE = 'wpseo_manage_options';
 
 
 
 
18
  const CAPABILITY_STORE = 'wpseo_manage_options';
19
 
20
- /** @var WPSEO_Configuration_Service Service to use */
 
 
 
 
21
  protected $service;
22
 
23
  /**
10
  */
11
  class WPSEO_Configuration_Endpoint {
12
 
13
+ /**
14
+ * @var string
15
+ */
16
  const REST_NAMESPACE = 'yoast/v1';
17
+
18
+ /**
19
+ * @var string
20
+ */
21
  const ENDPOINT_RETRIEVE = 'configurator';
22
+
23
+ /**
24
+ * @var string
25
+ */
26
  const ENDPOINT_STORE = 'configurator';
27
 
28
+ /**
29
+ * @var string
30
+ */
31
  const CAPABILITY_RETRIEVE = 'wpseo_manage_options';
32
+
33
+ /**
34
+ * @var string
35
+ */
36
  const CAPABILITY_STORE = 'wpseo_manage_options';
37
 
38
+ /**
39
+ * Service to use.
40
+ *
41
+ * @var WPSEO_Configuration_Service
42
+ */
43
  protected $service;
44
 
45
  /**
admin/config-ui/class-configuration-options-adapter.php CHANGED
@@ -14,11 +14,26 @@
14
  */
15
  class WPSEO_Configuration_Options_Adapter {
16
 
 
 
 
17
  const OPTION_TYPE_WORDPRESS = 'wordpress';
 
 
 
 
18
  const OPTION_TYPE_YOAST = 'yoast';
 
 
 
 
19
  const OPTION_TYPE_CUSTOM = 'custom';
20
 
21
- /** @var array List of registered lookups */
 
 
 
 
22
  protected $lookup = array();
23
 
24
  /**
14
  */
15
  class WPSEO_Configuration_Options_Adapter {
16
 
17
+ /**
18
+ * @var string
19
+ */
20
  const OPTION_TYPE_WORDPRESS = 'wordpress';
21
+
22
+ /**
23
+ * @var string
24
+ */
25
  const OPTION_TYPE_YOAST = 'yoast';
26
+
27
+ /**
28
+ * @var string
29
+ */
30
  const OPTION_TYPE_CUSTOM = 'custom';
31
 
32
+ /**
33
+ * List of registered lookups.
34
+ *
35
+ * @var array
36
+ */
37
  protected $lookup = array();
38
 
39
  /**
admin/config-ui/class-configuration-service.php CHANGED
@@ -10,22 +10,34 @@
10
  */
11
  class WPSEO_Configuration_Service {
12
 
13
- /** @var WPSEO_Configuration_Structure */
 
 
14
  protected $structure;
15
 
16
- /** @var WPSEO_Configuration_Components */
 
 
17
  protected $components;
18
 
19
- /** @var WPSEO_Configuration_Storage */
 
 
20
  protected $storage;
21
 
22
- /** @var WPSEO_Configuration_Endpoint */
 
 
23
  protected $endpoint;
24
 
25
- /** @var WPSEO_Configuration_Options_Adapter */
 
 
26
  protected $adapter;
27
 
28
- /** @var WPSEO_Configuration_Translations */
 
 
29
  protected $translations;
30
 
31
  /**
10
  */
11
  class WPSEO_Configuration_Service {
12
 
13
+ /**
14
+ * @var WPSEO_Configuration_Structure
15
+ */
16
  protected $structure;
17
 
18
+ /**
19
+ * @var WPSEO_Configuration_Components
20
+ */
21
  protected $components;
22
 
23
+ /**
24
+ * @var WPSEO_Configuration_Storage
25
+ */
26
  protected $storage;
27
 
28
+ /**
29
+ * @var WPSEO_Configuration_Endpoint
30
+ */
31
  protected $endpoint;
32
 
33
+ /**
34
+ * @var WPSEO_Configuration_Options_Adapter
35
+ */
36
  protected $adapter;
37
 
38
+ /**
39
+ * @var WPSEO_Configuration_Translations
40
+ */
41
  protected $translations;
42
 
43
  /**
admin/config-ui/class-configuration-storage.php CHANGED
@@ -10,10 +10,14 @@
10
  */
11
  class WPSEO_Configuration_Storage {
12
 
13
- /** @var WPSEO_Configuration_Options_Adapter */
 
 
14
  protected $adapter;
15
 
16
- /** @var array WPSEO_Config_Field */
 
 
17
  protected $fields = array();
18
 
19
  /**
10
  */
11
  class WPSEO_Configuration_Storage {
12
 
13
+ /**
14
+ * @var \WPSEO_Configuration_Options_Adapter
15
+ */
16
  protected $adapter;
17
 
18
+ /**
19
+ * @var \WPSEO_Config_Field[]
20
+ */
21
  protected $fields = array();
22
 
23
  /**
admin/config-ui/class-configuration-structure.php CHANGED
@@ -10,7 +10,11 @@
10
  */
11
  class WPSEO_Configuration_Structure {
12
 
13
- /** @var array Registered steps */
 
 
 
 
14
  protected $steps = array();
15
 
16
  /**
10
  */
11
  class WPSEO_Configuration_Structure {
12
 
13
+ /**
14
+ * Registered steps.
15
+ *
16
+ * @var array
17
+ */
18
  protected $steps = array();
19
 
20
  /**
admin/config-ui/class-configuration-translations.php CHANGED
@@ -10,10 +10,18 @@
10
  */
11
  class WPSEO_Configuration_Translations {
12
 
13
- /** @var array Registered steps */
 
 
 
 
14
  protected $translations = array();
15
 
16
- /** @var string The locale */
 
 
 
 
17
  protected $locale;
18
 
19
  /**
10
  */
11
  class WPSEO_Configuration_Translations {
12
 
13
+ /**
14
+ * Registered steps.
15
+ *
16
+ * @var array
17
+ */
18
  protected $translations = array();
19
 
20
+ /**
21
+ * The locale.
22
+ *
23
+ * @var string
24
+ */
25
  protected $locale;
26
 
27
  /**
admin/config-ui/components/class-component-connect-google-search-console.php CHANGED
@@ -10,11 +10,21 @@
10
  */
11
  class WPSEO_Config_Component_Connect_Google_Search_Console implements WPSEO_Config_Component {
12
 
 
 
 
13
  const OPTION_ACCESS_TOKEN = 'wpseo-gsc-access_token';
14
- const OPTION_REFRESH_TOKEN = 'wpseo-gsc-refresh_token';
15
 
 
 
 
 
16
 
17
- /** @var WPSEO_GSC_Service Service to use */
 
 
 
 
18
  protected $gsc_service;
19
 
20
  /**
10
  */
11
  class WPSEO_Config_Component_Connect_Google_Search_Console implements WPSEO_Config_Component {
12
 
13
+ /**
14
+ * @var string
15
+ */
16
  const OPTION_ACCESS_TOKEN = 'wpseo-gsc-access_token';
 
17
 
18
+ /**
19
+ * @var string
20
+ */
21
+ const OPTION_REFRESH_TOKEN = 'wpseo-gsc-refresh_token';
22
 
23
+ /**
24
+ * Service to use.
25
+ *
26
+ * @var WPSEO_GSC_Service
27
+ */
28
  protected $gsc_service;
29
 
30
  /**
admin/config-ui/factories/class-factory-post-type.php CHANGED
@@ -10,7 +10,11 @@
10
  */
11
  class WPSEO_Config_Factory_Post_Type {
12
 
13
- /** @var WPSEO_Config_Field_Choice_Post_Type[] List of fields */
 
 
 
 
14
  protected static $fields = array();
15
 
16
  /**
10
  */
11
  class WPSEO_Config_Factory_Post_Type {
12
 
13
+ /**
14
+ * List of fields.
15
+ *
16
+ * @var WPSEO_Config_Field_Choice_Post_Type[]
17
+ */
18
  protected static $fields = array();
19
 
20
  /**
admin/config-ui/fields/class-field-choice-post-type.php CHANGED
@@ -10,7 +10,11 @@
10
  */
11
  class WPSEO_Config_Field_Choice_Post_Type extends WPSEO_Config_Field_Choice {
12
 
13
- /** @var string Post type */
 
 
 
 
14
  protected $post_type;
15
 
16
  /**
10
  */
11
  class WPSEO_Config_Field_Choice_Post_Type extends WPSEO_Config_Field_Choice {
12
 
13
+ /**
14
+ * Post type.
15
+ *
16
+ * @var string
17
+ */
18
  protected $post_type;
19
 
20
  /**
admin/config-ui/fields/class-field.php CHANGED
@@ -9,19 +9,40 @@
9
  * Class WPSEO_Config_Field
10
  */
11
  class WPSEO_Config_Field {
12
- /** @var string Field name */
 
 
 
 
 
13
  protected $field;
14
 
15
- /** @var string Component to use */
 
 
 
 
16
  protected $component;
17
 
18
- /** @var array Properties of this field */
 
 
 
 
19
  protected $properties = array();
20
 
21
- /** @var array Field requirements */
 
 
 
 
22
  protected $requires = array();
23
 
24
- /** @var array|mixed Value of this field */
 
 
 
 
25
  protected $data = array();
26
 
27
  /**
9
  * Class WPSEO_Config_Field
10
  */
11
  class WPSEO_Config_Field {
12
+
13
+ /**
14
+ * Field name.
15
+ *
16
+ * @var string
17
+ */
18
  protected $field;
19
 
20
+ /**
21
+ * Component to use.
22
+ *
23
+ * @var string
24
+ */
25
  protected $component;
26
 
27
+ /**
28
+ * Properties of this field.
29
+ *
30
+ * @var array
31
+ */
32
  protected $properties = array();
33
 
34
+ /**
35
+ * Field requirements.
36
+ *
37
+ * @var array
38
+ */
39
  protected $requires = array();
40
 
41
+ /**
42
+ * Value of this field.
43
+ *
44
+ * @var array|mixed
45
+ */
46
  protected $data = array();
47
 
48
  /**
admin/endpoints/class-endpoint-file-size.php CHANGED
@@ -10,13 +10,25 @@
10
  */
11
  class WPSEO_Endpoint_File_Size implements WPSEO_Endpoint {
12
 
 
 
 
13
  const REST_NAMESPACE = 'yoast/v1';
 
 
 
 
14
  const ENDPOINT_SINGULAR = 'file_size';
15
 
 
 
 
16
  const CAPABILITY_RETRIEVE = 'manage_options';
17
 
18
  /**
19
- * @var WPSEO_File_Size_Service The service provider.
 
 
20
  */
21
  private $service;
22
 
10
  */
11
  class WPSEO_Endpoint_File_Size implements WPSEO_Endpoint {
12
 
13
+ /**
14
+ * @var string
15
+ */
16
  const REST_NAMESPACE = 'yoast/v1';
17
+
18
+ /**
19
+ * @var string
20
+ */
21
  const ENDPOINT_SINGULAR = 'file_size';
22
 
23
+ /**
24
+ * @var string
25
+ */
26
  const CAPABILITY_RETRIEVE = 'manage_options';
27
 
28
  /**
29
+ * The service provider.
30
+ *
31
+ * @var WPSEO_File_Size_Service
32
  */
33
  private $service;
34
 
admin/endpoints/class-endpoint-ryte.php CHANGED
@@ -10,12 +10,26 @@
10
  */
11
  class WPSEO_Endpoint_Ryte implements WPSEO_Endpoint {
12
 
 
 
 
13
  const REST_NAMESPACE = 'yoast/v1';
 
 
 
 
14
  const ENDPOINT_RETRIEVE = 'ryte';
15
 
 
 
 
16
  const CAPABILITY_RETRIEVE = 'manage_options';
17
 
18
- /** @var WPSEO_Ryte_Service Service to use */
 
 
 
 
19
  protected $service;
20
 
21
  /**
10
  */
11
  class WPSEO_Endpoint_Ryte implements WPSEO_Endpoint {
12
 
13
+ /**
14
+ * @var string
15
+ */
16
  const REST_NAMESPACE = 'yoast/v1';
17
+
18
+ /**
19
+ * @var string
20
+ */
21
  const ENDPOINT_RETRIEVE = 'ryte';
22
 
23
+ /**
24
+ * @var string
25
+ */
26
  const CAPABILITY_RETRIEVE = 'manage_options';
27
 
28
+ /**
29
+ * Service to use.
30
+ *
31
+ * @var WPSEO_Ryte_Service
32
+ */
33
  protected $service;
34
 
35
  /**
admin/endpoints/class-endpoint-statistics.php CHANGED
@@ -10,12 +10,26 @@
10
  */
11
  class WPSEO_Endpoint_Statistics implements WPSEO_Endpoint {
12
 
 
 
 
13
  const REST_NAMESPACE = 'yoast/v1';
 
 
 
 
14
  const ENDPOINT_RETRIEVE = 'statistics';
15
 
 
 
 
16
  const CAPABILITY_RETRIEVE = 'read';
17
 
18
- /** @var WPSEO_Statistics_Service Service to use */
 
 
 
 
19
  protected $service;
20
 
21
  /**
10
  */
11
  class WPSEO_Endpoint_Statistics implements WPSEO_Endpoint {
12
 
13
+ /**
14
+ * @var string
15
+ */
16
  const REST_NAMESPACE = 'yoast/v1';
17
+
18
+ /**
19
+ * @var string
20
+ */
21
  const ENDPOINT_RETRIEVE = 'statistics';
22
 
23
+ /**
24
+ * @var string
25
+ */
26
  const CAPABILITY_RETRIEVE = 'read';
27
 
28
+ /**
29
+ * Service to use.
30
+ *
31
+ * @var WPSEO_Statistics_Service
32
+ */
33
  protected $service;
34
 
35
  /**
admin/google_search_console/class-gsc-modal.php CHANGED
@@ -10,13 +10,19 @@
10
  */
11
  class WPSEO_GSC_Modal {
12
 
13
- /** @var string */
 
 
14
  protected $view;
15
 
16
- /** @var int */
 
 
17
  protected $height;
18
 
19
- /** @var array */
 
 
20
  protected $view_vars;
21
 
22
  /**
10
  */
11
  class WPSEO_GSC_Modal {
12
 
13
+ /**
14
+ * @var string
15
+ */
16
  protected $view;
17
 
18
+ /**
19
+ * @var int
20
+ */
21
  protected $height;
22
 
23
+ /**
24
+ * @var array
25
+ */
26
  protected $view_vars;
27
 
28
  /**
admin/google_search_console/class-gsc-table.php CHANGED
@@ -21,11 +21,6 @@ class WPSEO_GSC_Table extends WP_List_Table {
21
  */
22
  private $search_string;
23
 
24
- /**
25
- * @var array
26
- */
27
- protected $_column_headers;
28
-
29
  /**
30
  * The category that is displayed
31
  *
@@ -53,9 +48,6 @@ class WPSEO_GSC_Table extends WP_List_Table {
53
  public function __construct( $platform, $category, array $items ) {
54
  parent::__construct();
55
 
56
- // Adding the thickbox.
57
- add_thickbox();
58
-
59
  // Set search string.
60
  $search_string = filter_input( INPUT_GET, 's' );
61
 
@@ -199,11 +191,7 @@ class WPSEO_GSC_Table extends WP_List_Table {
199
  $actions = array();
200
 
201
  if ( $this->can_create_redirect() ) {
202
- /** Gets the modal box */
203
- $modal = $this->get_modal_box( $item['url'] );
204
- $modal->load_view( md5( $item['url'] ) );
205
-
206
- $actions['create_redirect'] = '<a href="#TB_inline?width=600&height=' . $modal->get_height() . '&inlineId=redirect-' . md5( $item['url'] ) . '" class="thickbox wpseo-open-gsc-redirect-modal aria-button-if-js">' . __( 'Create redirect', 'wordpress-seo' ) . '</a>';
207
  }
208
 
209
  $actions['view'] = '<a href="' . home_url( $item['url'] ) . '" target="_blank">' . __( 'View', 'wordpress-seo' ) . '</a>';
@@ -216,6 +204,20 @@ class WPSEO_GSC_Table extends WP_List_Table {
216
  );
217
  }
218
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
219
  /**
220
  * Running the setup of the columns
221
  */
@@ -334,29 +336,52 @@ class WPSEO_GSC_Table extends WP_List_Table {
334
  return ( $order === 'asc' ) ? $result : ( - $result );
335
  }
336
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
337
  /**
338
  * Checks if premium is loaded, if not the nopremium modal will be shown. Otherwise it will load the premium one.
339
  *
340
  * @param string $url URL string.
341
  *
342
- * @return WPSEO_GSC_Modal Instance of the GSC modal.
343
  */
344
  private function get_modal_box( $url ) {
345
- if ( defined( 'WPSEO_PREMIUM_FILE' ) && class_exists( 'WPSEO_Premium_GSC_Modal' ) ) {
346
- static $premium_modal;
 
347
 
348
- if ( ! $premium_modal ) {
349
- $premium_modal = new WPSEO_Premium_GSC_Modal();
350
- }
351
 
352
- return $premium_modal->show( $url );
 
353
  }
354
 
355
- return new WPSEO_GSC_Modal(
356
- dirname( __FILE__ ) . '/views/gsc-redirect-nopremium.php',
357
- self::FREE_MODAL_HEIGHT,
358
- array( 'url' => $url )
359
- );
360
  }
361
 
362
  /**
21
  */
22
  private $search_string;
23
 
 
 
 
 
 
24
  /**
25
  * The category that is displayed
26
  *
48
  public function __construct( $platform, $category, array $items ) {
49
  parent::__construct();
50
 
 
 
 
51
  // Set search string.
52
  $search_string = filter_input( INPUT_GET, 's' );
53
 
191
  $actions = array();
192
 
193
  if ( $this->can_create_redirect() ) {
194
+ $actions['create_redirect'] = $this->get_create_redirect_link( $item['url'] );
 
 
 
 
195
  }
196
 
197
  $actions['view'] = '<a href="' . home_url( $item['url'] ) . '" target="_blank">' . __( 'View', 'wordpress-seo' ) . '</a>';
204
  );
205
  }
206
 
207
+ /**
208
+ * Generates and display row actions links for the list table.
209
+ *
210
+ * We override the parent class method to avoid doubled buttons to be printed out.
211
+ *
212
+ * @param object $item The item being acted upon.
213
+ * @param string $column_name Current column name.
214
+ * @param string $primary Primary column name.
215
+ * @return string Empty string.
216
+ */
217
+ protected function handle_row_actions( $item, $column_name, $primary ) {
218
+ return '';
219
+ }
220
+
221
  /**
222
  * Running the setup of the columns
223
  */
336
  return ( $order === 'asc' ) ? $result : ( - $result );
337
  }
338
 
339
+ /**
340
+ * Retrieves the create redirect link.
341
+ *
342
+ * @param string $url The url to create the modal for.
343
+ *
344
+ * @return string Link for creating the redirect.
345
+ */
346
+ private function get_create_redirect_link( $url ) {
347
+ /** Gets the modal box */
348
+ $modal = $this->get_modal_box( $url );
349
+
350
+ if ( ! $modal ) {
351
+ return sprintf(
352
+ '<a href="#YoastRedirect" class="wpseo-open-gsc-redirect-modal aria-button-if-js">%s</a>',
353
+ __( 'Create redirect', 'wordpress-seo' )
354
+ );
355
+ }
356
+
357
+ $modal->load_view( md5( $url ) );
358
+
359
+ return sprintf(
360
+ '<a href="%1$s" class="thickbox wpseo-open-gsc-redirect-modal aria-button-if-js">%2$s</a>',
361
+ '#TB_inline?width=600&height=' . $modal->get_height() . '&inlineId=redirect-' . md5( $url ),
362
+ __( 'Create redirect', 'wordpress-seo' )
363
+ );
364
+ }
365
+
366
  /**
367
  * Checks if premium is loaded, if not the nopremium modal will be shown. Otherwise it will load the premium one.
368
  *
369
  * @param string $url URL string.
370
  *
371
+ * @return WPSEO_GSC_Modal|null Instance of the GSC modal.
372
  */
373
  private function get_modal_box( $url ) {
374
+ if ( ! WPSEO_Utils::is_yoast_seo_premium() || ! class_exists( 'WPSEO_Premium_GSC_Modal' ) ) {
375
+ return null;
376
+ }
377
 
378
+ static $premium_modal;
 
 
379
 
380
+ if ( ! $premium_modal ) {
381
+ $premium_modal = new WPSEO_Premium_GSC_Modal();
382
  }
383
 
384
+ return $premium_modal->show( $url );
 
 
 
 
385
  }
386
 
387
  /**
admin/google_search_console/class-gsc.php CHANGED
@@ -8,10 +8,10 @@
8
  /**
9
  * Class WPSEO_GSC
10
  */
11
- class WPSEO_GSC {
12
 
13
  /**
14
- * The option where data will be stored
15
  */
16
  const OPTION_WPSEO_GSC = 'wpseo-gsc';
17
 
@@ -41,26 +41,22 @@ class WPSEO_GSC {
41
  private $category;
42
 
43
  /**
44
- * Constructor for the page class. This will initialize all GSC related stuff
45
- */
46
- public function __construct() {
47
- add_action( 'init', array( $this, 'init' ) );
48
- }
49
-
50
- /**
51
- * Run init logic.
52
  */
53
- public function init() {
54
-
55
  // Setting the screen option.
56
  if ( filter_input( INPUT_GET, 'page' ) === 'wpseo_search_console' ) {
57
 
58
- if ( filter_input( INPUT_GET, 'tab' ) !== 'settings' && WPSEO_GSC_Settings::get_profile() === '' ) {
59
  wp_redirect( add_query_arg( 'tab', 'settings' ) );
60
  exit;
61
  }
62
 
63
- $this->set_hooks();
 
 
64
  $this->set_dependencies();
65
  $this->request_handler();
66
  }
@@ -70,25 +66,27 @@ class WPSEO_GSC {
70
  }
71
 
72
  /**
73
- * If the Google Search Console has no credentials, add a notification for the user to give him a heads up. This message is dismissable.
 
 
 
74
  */
75
  public function register_gsc_notification() {
76
-
77
  $notification = $this->get_profile_notification();
78
  $notification_center = Yoast_Notification_Center::get();
79
 
80
- if ( WPSEO_GSC_Settings::get_profile() === '' ) {
81
- $notification_center->add_notification( $notification );
82
- }
83
- else {
84
  $notification_center->remove_notification( $notification );
 
 
85
  }
 
86
  }
87
 
88
  /**
89
- * Builds the notification used when GSC is not connected to a profile
90
  *
91
- * @return Yoast_Notification
92
  */
93
  private function get_profile_notification() {
94
  return new Yoast_Notification(
@@ -107,21 +105,29 @@ class WPSEO_GSC {
107
  }
108
 
109
  /**
110
- * Be sure the settings will be registered, so data can be stored
 
 
 
 
111
  */
112
  public function register_settings() {
113
  register_setting( 'yoast_wpseo_gsc_options', self::OPTION_WPSEO_GSC );
114
  }
115
 
116
  /**
117
- * Function that outputs the redirect page
 
 
118
  */
119
  public function display() {
120
  require_once WPSEO_PATH . 'admin/google_search_console/views/gsc-display.php';
121
  }
122
 
123
  /**
124
- * Display the table
 
 
125
  */
126
  public function display_table() {
127
  // The list table.
@@ -137,14 +143,17 @@ class WPSEO_GSC {
137
  }
138
 
139
  /**
140
- * Load the admin redirects scripts
 
 
141
  */
142
  public function page_scripts() {
143
-
144
  $asset_manager = new WPSEO_Admin_Asset_Manager();
145
  $asset_manager->enqueue_script( 'admin-gsc' );
146
  $asset_manager->enqueue_style( 'metabox-css' );
147
 
 
 
148
  $screen_options = array(
149
  'label' => __( 'Crawl errors per page', 'wordpress-seo' ),
150
  'default' => 50,
@@ -154,30 +163,26 @@ class WPSEO_GSC {
154
  }
155
 
156
  /**
157
- * Set the screen options
158
  *
159
  * @param string $status Status string.
160
  * @param string $option Option key.
161
  * @param string $value Value to return.
162
  *
163
- * @return mixed
164
  */
165
  public function set_screen_option( $status, $option, $value ) {
166
  if ( 'errors_per_page' === $option ) {
167
  return $value;
168
  }
169
- }
170
 
171
- /**
172
- * Setting the hooks to be load on page request
173
- */
174
- private function set_hooks() {
175
- add_action( 'admin_enqueue_scripts', array( $this, 'page_scripts' ) );
176
- add_filter( 'set-screen-option', array( $this, 'set_screen_option' ), 11, 3 );
177
  }
178
 
179
  /**
180
- * Handles the POST and GET requests
 
 
181
  */
182
  private function request_handler() {
183
 
@@ -218,7 +223,9 @@ class WPSEO_GSC {
218
  }
219
 
220
  /**
221
- * Catch the redirects search post and redirect it to a search get
 
 
222
  */
223
  private function list_table_search_post_to_get() {
224
  $search_string = filter_input( INPUT_POST, 's' );
@@ -240,10 +247,13 @@ class WPSEO_GSC {
240
  }
241
 
242
  /**
243
- * Catch the authentication post
 
 
244
  */
245
  private function catch_authentication_post() {
246
  $gsc_values = filter_input( INPUT_POST, 'gsc', FILTER_DEFAULT, FILTER_REQUIRE_ARRAY );
 
247
  // Catch the authorization code POST.
248
  if ( ! empty( $gsc_values['authorization_code'] ) && wp_verify_nonce( $gsc_values['gsc_nonce'], 'wpseo-gsc_nonce' ) ) {
249
  if ( ! WPSEO_GSC_Settings::validate_authorization( trim( $gsc_values['authorization_code'] ), $this->service->get_client() ) ) {
@@ -257,10 +267,12 @@ class WPSEO_GSC {
257
  }
258
 
259
  /**
260
- * Adding notification to the yoast notification center
261
  *
262
  * @param string $message Message string.
263
  * @param string $type Message type.
 
 
264
  */
265
  private function add_notification( $message, $type ) {
266
  Yoast_Notification_Center::get()->add_notification(
@@ -269,7 +281,9 @@ class WPSEO_GSC {
269
  }
270
 
271
  /**
272
- * Setting dependencies which will be used one this page
 
 
273
  */
274
  private function set_dependencies() {
275
  // Setting the service object.
@@ -296,11 +310,17 @@ class WPSEO_GSC {
296
  }
297
 
298
  /**
299
- * Setting the tab help on top of the screen
 
 
300
  */
301
  public function set_help() {
302
  $screen = get_current_screen();
303
 
 
 
 
 
304
  $screen->add_help_tab(
305
  array(
306
  'id' => 'basic-help',
@@ -311,4 +331,28 @@ class WPSEO_GSC {
311
  )
312
  );
313
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
314
  }
8
  /**
9
  * Class WPSEO_GSC
10
  */
11
+ class WPSEO_GSC implements WPSEO_WordPress_Integration {
12
 
13
  /**
14
+ * The option where data will be stored.
15
  */
16
  const OPTION_WPSEO_GSC = 'wpseo-gsc';
17
 
41
  private $category;
42
 
43
  /**
44
+ * Registers the hooks.
45
+ *
46
+ * @return void
 
 
 
 
 
47
  */
48
+ public function register_hooks() {
 
49
  // Setting the screen option.
50
  if ( filter_input( INPUT_GET, 'page' ) === 'wpseo_search_console' ) {
51
 
52
+ if ( filter_input( INPUT_GET, 'tab' ) !== 'settings' && ! $this->has_profile() ) {
53
  wp_redirect( add_query_arg( 'tab', 'settings' ) );
54
  exit;
55
  }
56
 
57
+ add_action( 'admin_enqueue_scripts', array( $this, 'page_scripts' ) );
58
+ add_filter( 'set-screen-option', array( $this, 'set_screen_option' ), 11, 3 );
59
+
60
  $this->set_dependencies();
61
  $this->request_handler();
62
  }
66
  }
67
 
68
  /**
69
+ * Handles the dashboard notification. If the Google Search Console has no credentials,
70
+ * show a notification for the user to give him a heads up. This message is dismissable.
71
+ *
72
+ * @return void
73
  */
74
  public function register_gsc_notification() {
 
75
  $notification = $this->get_profile_notification();
76
  $notification_center = Yoast_Notification_Center::get();
77
 
78
+ if ( $this->has_profile() ) {
 
 
 
79
  $notification_center->remove_notification( $notification );
80
+
81
+ return;
82
  }
83
+ $notification_center->add_notification( $notification );
84
  }
85
 
86
  /**
87
+ * Builds the notification used when GSC is not connected to a profile.
88
  *
89
+ * @return Yoast_Notification The notification.
90
  */
91
  private function get_profile_notification() {
92
  return new Yoast_Notification(
105
  }
106
 
107
  /**
108
+ * Makes sure the settings will be registered, so data can be stored.
109
+ *
110
+ * @codeCoverageIgnore
111
+ *
112
+ * @return void
113
  */
114
  public function register_settings() {
115
  register_setting( 'yoast_wpseo_gsc_options', self::OPTION_WPSEO_GSC );
116
  }
117
 
118
  /**
119
+ * Outputs the HTML for the redirect page.
120
+ *
121
+ * @return void
122
  */
123
  public function display() {
124
  require_once WPSEO_PATH . 'admin/google_search_console/views/gsc-display.php';
125
  }
126
 
127
  /**
128
+ * Displays the table.
129
+ *
130
+ * @return void
131
  */
132
  public function display_table() {
133
  // The list table.
143
  }
144
 
145
  /**
146
+ * Loads the admin redirects scripts.
147
+ *
148
+ * @return void
149
  */
150
  public function page_scripts() {
 
151
  $asset_manager = new WPSEO_Admin_Asset_Manager();
152
  $asset_manager->enqueue_script( 'admin-gsc' );
153
  $asset_manager->enqueue_style( 'metabox-css' );
154
 
155
+ wp_localize_script( WPSEO_Admin_Asset_Manager::PREFIX . 'admin-gsc', 'wpseoAdminL10n', WPSEO_Utils::get_admin_l10n() );
156
+
157
  $screen_options = array(
158
  'label' => __( 'Crawl errors per page', 'wordpress-seo' ),
159
  'default' => 50,
163
  }
164
 
165
  /**
166
+ * Sets the screen options.
167
  *
168
  * @param string $status Status string.
169
  * @param string $option Option key.
170
  * @param string $value Value to return.
171
  *
172
+ * @return mixed The screen option value. False when not errors_per_page.
173
  */
174
  public function set_screen_option( $status, $option, $value ) {
175
  if ( 'errors_per_page' === $option ) {
176
  return $value;
177
  }
 
178
 
179
+ return false;
 
 
 
 
 
180
  }
181
 
182
  /**
183
+ * Handles the POST and GET requests.
184
+ *
185
+ * @return void
186
  */
187
  private function request_handler() {
188
 
223
  }
224
 
225
  /**
226
+ * Catches the redirects search post and redirect it to a search get.
227
+ *
228
+ * @return void
229
  */
230
  private function list_table_search_post_to_get() {
231
  $search_string = filter_input( INPUT_POST, 's' );
247
  }
248
 
249
  /**
250
+ * Catches the authentication post.
251
+ *
252
+ * @return void
253
  */
254
  private function catch_authentication_post() {
255
  $gsc_values = filter_input( INPUT_POST, 'gsc', FILTER_DEFAULT, FILTER_REQUIRE_ARRAY );
256
+
257
  // Catch the authorization code POST.
258
  if ( ! empty( $gsc_values['authorization_code'] ) && wp_verify_nonce( $gsc_values['gsc_nonce'], 'wpseo-gsc_nonce' ) ) {
259
  if ( ! WPSEO_GSC_Settings::validate_authorization( trim( $gsc_values['authorization_code'] ), $this->service->get_client() ) ) {
267
  }
268
 
269
  /**
270
+ * Adds notification to the yoast notification center.
271
  *
272
  * @param string $message Message string.
273
  * @param string $type Message type.
274
+ *
275
+ * @return void
276
  */
277
  private function add_notification( $message, $type ) {
278
  Yoast_Notification_Center::get()->add_notification(
281
  }
282
 
283
  /**
284
+ * Sets the dependencies which will be used one this page.
285
+ *
286
+ * @return void
287
  */
288
  private function set_dependencies() {
289
  // Setting the service object.
310
  }
311
 
312
  /**
313
+ * Sets the tab help on top of the screen.
314
+ *
315
+ * @return void
316
  */
317
  public function set_help() {
318
  $screen = get_current_screen();
319
 
320
+ if ( $screen === null ) {
321
+ return;
322
+ }
323
+
324
  $screen->add_help_tab(
325
  array(
326
  'id' => 'basic-help',
331
  )
332
  );
333
  }
334
+
335
+ /**
336
+ * Checks if a Google Search Console profile has been set.
337
+ *
338
+ * @codeCoverageIgnore
339
+ *
340
+ * @return bool True when profile has been set.
341
+ */
342
+ protected function has_profile() {
343
+ return ( WPSEO_GSC_Settings::get_profile() !== '' );
344
+ }
345
+
346
+ /**
347
+ * Run init logic.
348
+ *
349
+ * @codeCoverageIgnore
350
+ *
351
+ * @deprecated 9.5
352
+ *
353
+ * @return void
354
+ */
355
+ public function init() {
356
+ _deprecated_function( __METHOD__, 'WPSEO 9.5' );
357
+ }
358
  }
admin/google_search_console/views/gsc-display.php CHANGED
@@ -84,7 +84,7 @@ switch ( $platform_tabs->current_tab() ) {
84
  $profiles = $this->service->get_sites();
85
  if ( ! empty( $profiles ) ) {
86
  $show_save = true;
87
- echo Yoast_Form::get_instance()->select( 'profile', __( 'Profile', 'wordpress-seo' ), $profiles );
88
  }
89
  else {
90
  $show_save = false;
@@ -95,7 +95,7 @@ switch ( $platform_tabs->current_tab() ) {
95
  echo '<p>';
96
 
97
  if ( $show_save ) {
98
- echo '<input type="submit" name="submit" id="submit" class="button button-primary wpseo-gsc-save-profile" value="' . esc_attr__( 'Save Profile', 'wordpress-seo' ) . '" /> ' . __( 'or', 'wordpress-seo' ) , ' ';
99
  }
100
  echo $reset_button;
101
  echo '</p>';
@@ -126,6 +126,10 @@ switch ( $platform_tabs->current_tab() ) {
126
  // Close <form>.
127
  echo "</form>\n";
128
 
 
 
 
 
129
  break;
130
  }
131
  ?>
84
  $profiles = $this->service->get_sites();
85
  if ( ! empty( $profiles ) ) {
86
  $show_save = true;
87
+ Yoast_Form::get_instance()->select( 'profile', esc_html__( 'Profile', 'wordpress-seo' ), $profiles );
88
  }
89
  else {
90
  $show_save = false;
95
  echo '<p>';
96
 
97
  if ( $show_save ) {
98
+ echo '<input type="submit" name="submit" id="submit" class="button button-primary wpseo-gsc-save-profile" value="' . esc_attr__( 'Save Profile', 'wordpress-seo' ) . '" /> ' . esc_html__( 'or', 'wordpress-seo' ) . ' ';
99
  }
100
  echo $reset_button;
101
  echo '</p>';
126
  // Close <form>.
127
  echo "</form>\n";
128
 
129
+ if ( ! WPSEO_Utils::is_yoast_seo_premium() ) {
130
+ echo '<div id="yoast-google-search-console-modal"></div>';
131
+ }
132
+
133
  break;
134
  }
135
  ?>
admin/google_search_console/views/gsc-redirect-nopremium.php CHANGED
@@ -7,6 +7,8 @@
7
  * @package WPSEO\Admin\Google_Search_Console
8
  */
9
 
 
 
10
  echo '<h1 class="wpseo-redirect-url-title">';
11
  printf(
12
  /* Translators: %s: expands to Yoast SEO Premium */
7
  * @package WPSEO\Admin\Google_Search_Console
8
  */
9
 
10
+ _deprecated_file( __FILE__, 'WPSEO 9.5' );
11
+
12
  echo '<h1 class="wpseo-redirect-url-title">';
13
  printf(
14
  /* Translators: %s: expands to Yoast SEO Premium */
admin/import/class-import-detector.php CHANGED
@@ -11,6 +11,7 @@
11
  * Class with functionality to detect whether we should import from another SEO plugin.
12
  */
13
  class WPSEO_Import_Plugins_Detector {
 
14
  /**
15
  * Plugins we need to import from.
16
  *
11
  * Class with functionality to detect whether we should import from another SEO plugin.
12
  */
13
  class WPSEO_Import_Plugins_Detector {
14
+
15
  /**
16
  * Plugins we need to import from.
17
  *
admin/import/class-import-plugin.php CHANGED
@@ -11,6 +11,7 @@
11
  * Class with functionality to import Yoast SEO settings from other plugins.
12
  */
13
  class WPSEO_Import_Plugin {
 
14
  /**
15
  * @var WPSEO_Import_Status
16
  */
11
  * Class with functionality to import Yoast SEO settings from other plugins.
12
  */
13
  class WPSEO_Import_Plugin {
14
+
15
  /**
16
  * @var WPSEO_Import_Status
17
  */
admin/import/class-import-status.php CHANGED
@@ -11,6 +11,7 @@
11
  * Holds the status of and message about imports.
12
  */
13
  class WPSEO_Import_Status {
 
14
  /**
15
  * The import status.
16
  *
11
  * Holds the status of and message about imports.
12
  */
13
  class WPSEO_Import_Status {
14
+
15
  /**
16
  * The import status.
17
  *
admin/import/plugins/class-abstract-plugin-importer.php CHANGED
@@ -11,6 +11,7 @@
11
  * Class with functionality to import meta data from other plugins.
12
  */
13
  abstract class WPSEO_Plugin_Importer {
 
14
  /**
15
  * Holds the import status object.
16
  *
11
  * Class with functionality to import meta data from other plugins.
12
  */
13
  abstract class WPSEO_Plugin_Importer {
14
+
15
  /**
16
  * Holds the import status object.
17
  *
admin/import/plugins/class-import-aioseo.php CHANGED
@@ -9,6 +9,7 @@
9
  * Class with functionality to import & clean All in One SEO Pack post metadata.
10
  */
11
  class WPSEO_Import_AIOSEO extends WPSEO_Plugin_Importer {
 
12
  /**
13
  * The plugin name.
14
  *
9
  * Class with functionality to import & clean All in One SEO Pack post metadata.
10
  */
11
  class WPSEO_Import_AIOSEO extends WPSEO_Plugin_Importer {
12
+
13
  /**
14
  * The plugin name.
15
  *
admin/import/plugins/class-import-greg-high-performance-seo.php CHANGED
@@ -9,6 +9,7 @@
9
  * Class with functionality to import & clean Ultimate SEO post metadata.
10
  */
11
  class WPSEO_Import_Greg_SEO extends WPSEO_Plugin_Importer {
 
12
  /**
13
  * The plugin name.
14
  *
9
  * Class with functionality to import & clean Ultimate SEO post metadata.
10
  */
11
  class WPSEO_Import_Greg_SEO extends WPSEO_Plugin_Importer {
12
+
13
  /**
14
  * The plugin name.
15
  *
admin/import/plugins/class-import-headspace.php CHANGED
@@ -11,6 +11,7 @@
11
  * Class with functionality to import & clean HeadSpace SEO post metadata.
12
  */
13
  class WPSEO_Import_HeadSpace extends WPSEO_Plugin_Importer {
 
14
  /**
15
  * The plugin name.
16
  *
11
  * Class with functionality to import & clean HeadSpace SEO post metadata.
12
  */
13
  class WPSEO_Import_HeadSpace extends WPSEO_Plugin_Importer {
14
+
15
  /**
16
  * The plugin name.
17
  *
admin/import/plugins/class-import-jetpack.php CHANGED
@@ -11,6 +11,7 @@
11
  * Class with functionality to import & clean Jetpack SEO post metadata.
12
  */
13
  class WPSEO_Import_Jetpack_SEO extends WPSEO_Plugin_Importer {
 
14
  /**
15
  * The plugin name.
16
  *
11
  * Class with functionality to import & clean Jetpack SEO post metadata.
12
  */
13
  class WPSEO_Import_Jetpack_SEO extends WPSEO_Plugin_Importer {
14
+
15
  /**
16
  * The plugin name.
17
  *
admin/import/plugins/class-import-platinum-seo-pack.php CHANGED
@@ -9,6 +9,7 @@
9
  * Class with functionality to import & clean Ultimate SEO post metadata.
10
  */
11
  class WPSEO_Import_Platinum_SEO extends WPSEO_Plugin_Importer {
 
12
  /**
13
  * The plugin name.
14
  *
9
  * Class with functionality to import & clean Ultimate SEO post metadata.
10
  */
11
  class WPSEO_Import_Platinum_SEO extends WPSEO_Plugin_Importer {
12
+
13
  /**
14
  * The plugin name.
15
  *
admin/import/plugins/class-import-premium-seo-pack.php CHANGED
@@ -9,6 +9,7 @@
9
  * Class with functionality to import & clean Premium SEO Pack post metadata.
10
  */
11
  class WPSEO_Import_Premium_SEO_Pack extends WPSEO_Import_Squirrly {
 
12
  /**
13
  * The plugin name.
14
  *
9
  * Class with functionality to import & clean Premium SEO Pack post metadata.
10
  */
11
  class WPSEO_Import_Premium_SEO_Pack extends WPSEO_Import_Squirrly {
12
+
13
  /**
14
  * The plugin name.
15
  *
admin/import/plugins/class-import-seo-framework.php CHANGED
@@ -9,6 +9,7 @@
9
  * Class with functionality to import & clean SEO Framework post metadata.
10
  */
11
  class WPSEO_Import_SEO_Framework extends WPSEO_Plugin_Importer {
 
12
  /**
13
  * The plugin name.
14
  *
9
  * Class with functionality to import & clean SEO Framework post metadata.
10
  */
11
  class WPSEO_Import_SEO_Framework extends WPSEO_Plugin_Importer {
12
+
13
  /**
14
  * The plugin name.
15
  *
admin/import/plugins/class-import-seopressor.php CHANGED
@@ -11,6 +11,7 @@
11
  * Class with functionality to import & clean SEOPressor post metadata.
12
  */
13
  class WPSEO_Import_SEOPressor extends WPSEO_Plugin_Importer {
 
14
  /**
15
  * The plugin name.
16
  *
11
  * Class with functionality to import & clean SEOPressor post metadata.
12
  */
13
  class WPSEO_Import_SEOPressor extends WPSEO_Plugin_Importer {
14
+
15
  /**
16
  * The plugin name.
17
  *
admin/import/plugins/class-import-smartcrawl.php CHANGED
@@ -9,6 +9,7 @@
9
  * Class with functionality to import & clean Smartcrawl SEO post metadata.
10
  */
11
  class WPSEO_Import_Smartcrawl_SEO extends WPSEO_Plugin_Importer {
 
12
  /**
13
  * The plugin name.
14
  *
9
  * Class with functionality to import & clean Smartcrawl SEO post metadata.
10
  */
11
  class WPSEO_Import_Smartcrawl_SEO extends WPSEO_Plugin_Importer {
12
+
13
  /**
14
  * The plugin name.
15
  *
admin/import/plugins/class-import-squirrly.php CHANGED
@@ -9,6 +9,7 @@
9
  * Class with functionality to import & clean Squirrly post metadata.
10
  */
11
  class WPSEO_Import_Squirrly extends WPSEO_Plugin_Importer {
 
12
  /**
13
  * The plugin name.
14
  *
9
  * Class with functionality to import & clean Squirrly post metadata.
10
  */
11
  class WPSEO_Import_Squirrly extends WPSEO_Plugin_Importer {
12
+
13
  /**
14
  * The plugin name.
15
  *
admin/import/plugins/class-import-ultimate-seo.php CHANGED
@@ -9,6 +9,7 @@
9
  * Class with functionality to import & clean Ultimate SEO post metadata.
10
  */
11
  class WPSEO_Import_Ultimate_SEO extends WPSEO_Plugin_Importer {
 
12
  /**
13
  * The plugin name.
14
  *
9
  * Class with functionality to import & clean Ultimate SEO post metadata.
10
  */
11
  class WPSEO_Import_Ultimate_SEO extends WPSEO_Plugin_Importer {
12
+
13
  /**
14
  * The plugin name.
15
  *
admin/import/plugins/class-import-woothemes-seo.php CHANGED
@@ -11,6 +11,7 @@
11
  * Class with functionality to import & clean WooThemes SEO post metadata.
12
  */
13
  class WPSEO_Import_WooThemes_SEO extends WPSEO_Plugin_Importer {
 
14
  /**
15
  * The plugin name.
16
  *
11
  * Class with functionality to import & clean WooThemes SEO post metadata.
12
  */
13
  class WPSEO_Import_WooThemes_SEO extends WPSEO_Plugin_Importer {
14
+
15
  /**
16
  * The plugin name.
17
  *
admin/import/plugins/class-import-wp-meta-seo.php CHANGED
@@ -9,6 +9,7 @@
9
  * Class with functionality to import & clean WP Meta SEO post metadata.
10
  */
11
  class WPSEO_Import_WP_Meta_SEO extends WPSEO_Plugin_Importer {
 
12
  /**
13
  * The plugin name.
14
  *
9
  * Class with functionality to import & clean WP Meta SEO post metadata.
10
  */
11
  class WPSEO_Import_WP_Meta_SEO extends WPSEO_Plugin_Importer {
12
+
13
  /**
14
  * The plugin name.
15
  *
admin/import/plugins/class-import-wpseo.php CHANGED
@@ -11,6 +11,7 @@
11
  * Class with functionality to import & clean wpSEO.de post metadata.
12
  */
13
  class WPSEO_Import_WPSEO extends WPSEO_Plugin_Importer {
 
14
  /**
15
  * The plugin name.
16
  *
11
  * Class with functionality to import & clean wpSEO.de post metadata.
12
  */
13
  class WPSEO_Import_WPSEO extends WPSEO_Plugin_Importer {
14
+
15
  /**
16
  * The plugin name.
17
  *
admin/import/plugins/class-importers.php CHANGED
@@ -11,6 +11,7 @@
11
  * Object which contains all importers.
12
  */
13
  class WPSEO_Plugin_Importers {
 
14
  /**
15
  * @var array
16
  */
11
  * Object which contains all importers.
12
  */
13
  class WPSEO_Plugin_Importers {
14
+
15
  /**
16
  * @var array
17
  */
admin/links/class-link-column-count.php CHANGED
@@ -10,7 +10,9 @@
10
  */
11
  class WPSEO_Link_Column_Count {
12
 
13
- /** @var array */
 
 
14
  protected $count = array();
15
 
16
  /**
10
  */
11
  class WPSEO_Link_Column_Count {
12
 
13
+ /**
14
+ * @var array
15
+ */
16
  protected $count = array();
17
 
18
  /**
admin/links/class-link-content-processor.php CHANGED
@@ -11,10 +11,14 @@
11
  */
12
  class WPSEO_Link_Content_Processor {
13
 
14
- /** @var WPSEO_Link_Storage */
 
 
15
  protected $storage;
16
 
17
- /** @var WPSEO_Meta_Storage */
 
 
18
  private $count_storage;
19
 
20
  /**
11
  */
12
  class WPSEO_Link_Content_Processor {
13
 
14
+ /**
15
+ * @var WPSEO_Link_Storage
16
+ */
17
  protected $storage;
18
 
19
+ /**
20
+ * @var WPSEO_Meta_Storage
21
+ */
22
  private $count_storage;
23
 
24
  /**
admin/links/class-link-extractor.php CHANGED
@@ -10,7 +10,9 @@
10
  */
11
  class WPSEO_Link_Extractor {
12
 
13
- /** @var string */
 
 
14
  protected $content;
15
 
16
  /**
10
  */
11
  class WPSEO_Link_Extractor {
12
 
13
+ /**
14
+ * @var string
15
+ */
16
  protected $content;
17
 
18
  /**
admin/links/class-link-factory.php CHANGED
@@ -10,14 +10,19 @@
10
  */
11
  class WPSEO_Link_Factory {
12
 
13
- /** @var WPSEO_Link_Type_Classifier */
 
 
14
  protected $classifier;
15
 
16
- /** @var WPSEO_Link_Internal_Lookup */
17
-
 
18
  protected $internal_lookup;
19
 
20
- /** @var WPSEO_Link_Filter */
 
 
21
  protected $filter;
22
 
23
  /**
10
  */
11
  class WPSEO_Link_Factory {
12
 
13
+ /**
14
+ * @var WPSEO_Link_Type_Classifier
15
+ */
16
  protected $classifier;
17
 
18
+ /**
19
+ * @var WPSEO_Link_Internal_Lookup
20
+ */
21
  protected $internal_lookup;
22
 
23
+ /**
24
+ * @var WPSEO_Link_Filter
25
+ */
26
  protected $filter;
27
 
28
  /**
admin/links/class-link-filter.php CHANGED
@@ -10,7 +10,9 @@
10
  */
11
  class WPSEO_Link_Filter {
12
 
13
- /** @var string|null */
 
 
14
  protected $current_page_path;
15
 
16
  /**
10
  */
11
  class WPSEO_Link_Filter {
12
 
13
+ /**
14
+ * @var string|null
15
+ */
16
  protected $current_page_path;
17
 
18
  /**
admin/links/class-link-installer.php CHANGED
@@ -10,7 +10,9 @@
10
  */
11
  class WPSEO_Link_Installer {
12
 
13
- /** @var WPSEO_Installable[] */
 
 
14
  protected $installables = array();
15
 
16
  /**
10
  */
11
  class WPSEO_Link_Installer {
12
 
13
+ /**
14
+ * @var WPSEO_Installable[]
15
+ */
16
  protected $installables = array();
17
 
18
  /**
admin/links/class-link-reindex-dashboard.php CHANGED
@@ -9,10 +9,19 @@
9
  * Handles the reindexing of links interface in the Dashboard.
10
  */
11
  class WPSEO_Link_Reindex_Dashboard {
12
- /** @var array Public post types to scan for unprocessed items */
 
 
 
 
 
13
  protected $public_post_types = array();
14
 
15
- /** @var int Number of unprocessed items */
 
 
 
 
16
  protected $unprocessed = 0;
17
 
18
  /**
9
  * Handles the reindexing of links interface in the Dashboard.
10
  */
11
  class WPSEO_Link_Reindex_Dashboard {
12
+
13
+ /**
14
+ * Public post types to scan for unprocessed items.
15
+ *
16
+ * @var array
17
+ */
18
  protected $public_post_types = array();
19
 
20
+ /**
21
+ * Number of unprocessed items.
22
+ *
23
+ * @var int
24
+ */
25
  protected $unprocessed = 0;
26
 
27
  /**
admin/links/class-link-reindex-post-endpoint.php CHANGED
@@ -15,7 +15,9 @@ class WPSEO_Link_Reindex_Post_Endpoint {
15
 
16
  const CAPABILITY_RETRIEVE = 'edit_posts';
17
 
18
- /** @var WPSEO_Link_Reindex_Post_Service */
 
 
19
  protected $service;
20
 
21
  /**
15
 
16
  const CAPABILITY_RETRIEVE = 'edit_posts';
17
 
18
+ /**
19
+ * @var WPSEO_Link_Reindex_Post_Service
20
+ */
21
  protected $service;
22
 
23
  /**
admin/links/class-link-storage.php CHANGED
@@ -12,10 +12,16 @@ class WPSEO_Link_Storage implements WPSEO_Installable {
12
 
13
  const TABLE_NAME = 'yoast_seo_links';
14
 
15
- /** @var WPSEO_Database_Proxy */
 
 
16
  protected $database_proxy;
17
 
18
- /** @var null|string Deprecated. */
 
 
 
 
19
  protected $table_prefix;
20
 
21
  /**
12
 
13
  const TABLE_NAME = 'yoast_seo_links';
14
 
15
+ /**
16
+ * @var WPSEO_Database_Proxy
17
+ */
18
  protected $database_proxy;
19
 
20
+ /**
21
+ * @deprecated
22
+ *
23
+ * @var null|string
24
+ */
25
  protected $table_prefix;
26
 
27
  /**
admin/links/class-link-type-classifier.php CHANGED
@@ -10,10 +10,14 @@
10
  */
11
  class WPSEO_Link_Type_Classifier {
12
 
13
- /** @var string */
 
 
14
  protected $base_host = '';
15
 
16
- /** @var string */
 
 
17
  protected $base_path = '';
18
 
19
  /**
10
  */
11
  class WPSEO_Link_Type_Classifier {
12
 
13
+ /**
14
+ * @var string
15
+ */
16
  protected $base_host = '';
17
 
18
+ /**
19
+ * @var string
20
+ */
21
  protected $base_path = '';
22
 
23
  /**
admin/links/class-link-watcher.php CHANGED
@@ -10,7 +10,9 @@
10
  */
11
  class WPSEO_Link_Watcher {
12
 
13
- /** @var WPSEO_Link_Content_Processor */
 
 
14
  protected $content_processor;
15
 
16
  /**
10
  */
11
  class WPSEO_Link_Watcher {
12
 
13
+ /**
14
+ * @var WPSEO_Link_Content_Processor
15
+ */
16
  protected $content_processor;
17
 
18
  /**
admin/links/class-link.php CHANGED
@@ -13,13 +13,19 @@ class WPSEO_Link {
13
  const TYPE_EXTERNAL = 'external';
14
  const TYPE_INTERNAL = 'internal';
15
 
16
- /** @var string */
 
 
17
  protected $url;
18
 
19
- /** @var int */
 
 
20
  protected $target_post_id;
21
 
22
- /** @var string */
 
 
23
  protected $type;
24
 
25
  /**
13
  const TYPE_EXTERNAL = 'external';
14
  const TYPE_INTERNAL = 'internal';
15
 
16
+ /**
17
+ * @var string
18
+ */
19
  protected $url;
20
 
21
+ /**
22
+ * @var int
23
+ */
24
  protected $target_post_id;
25
 
26
+ /**
27
+ * @var string
28
+ */
29
  protected $type;
30
 
31
  /**
admin/menu/class-base-menu.php CHANGED
@@ -10,7 +10,11 @@
10
  */
11
  abstract class WPSEO_Base_Menu implements WPSEO_WordPress_Integration {
12
 
13
- /** @var WPSEO_Menu Menu */
 
 
 
 
14
  protected $menu;
15
 
16
  /**
10
  */
11
  abstract class WPSEO_Base_Menu implements WPSEO_WordPress_Integration {
12
 
13
+ /**
14
+ * A menu.
15
+ *
16
+ * @var WPSEO_Menu
17
+ */
18
  protected $menu;
19
 
20
  /**
admin/menu/class-menu.php CHANGED
@@ -9,10 +9,21 @@
9
  * Registers the regular admin menu and network admin menu implementations.
10
  */
11
  class WPSEO_Menu implements WPSEO_WordPress_Integration {
12
- /** The page identifier used in WordPress to register the admin page !DO NOT CHANGE THIS! */
 
 
 
 
 
 
 
13
  const PAGE_IDENTIFIER = 'wpseo_dashboard';
14
 
15
- /** @var array List of classes that add admin functionality. */
 
 
 
 
16
  protected $admin_features;
17
 
18
  /**
9
  * Registers the regular admin menu and network admin menu implementations.
10
  */
11
  class WPSEO_Menu implements WPSEO_WordPress_Integration {
12
+
13
+ /**
14
+ * The page identifier used in WordPress to register the admin page.
15
+ *
16
+ * !DO NOT CHANGE THIS!
17
+ *
18
+ * @var string
19
+ */
20
  const PAGE_IDENTIFIER = 'wpseo_dashboard';
21
 
22
+ /**
23
+ * List of classes that add admin functionality.
24
+ *
25
+ * @var array
26
+ */
27
  protected $admin_features;
28
 
29
  /**
admin/menu/class-replacevar-editor.php CHANGED
@@ -9,15 +9,18 @@
9
  * Renders a replacement variable editor.
10
  */
11
  class WPSEO_Replacevar_Editor {
 
12
  /**
13
- * @var Yoast_Form Yoast Forms instance.
 
 
14
  */
15
  private $yform;
16
 
17
  /**
18
- * @var array {
19
- * The arguments required for the div to render.
20
  *
 
21
  * @type string $title The title field id.
22
  * @type string $description The description field id.
23
  * @type string $page_type_recommended The page type for the context of the recommended replace vars.
9
  * Renders a replacement variable editor.
10
  */
11
  class WPSEO_Replacevar_Editor {
12
+
13
  /**
14
+ * Yoast Forms instance.
15
+ *
16
+ * @var Yoast_Form
17
  */
18
  private $yform;
19
 
20
  /**
21
+ * The arguments required for the div to render.
 
22
  *
23
+ * @var array {
24
  * @type string $title The title field id.
25
  * @type string $description The description field id.
26
  * @type string $page_type_recommended The page type for the context of the recommended replace vars.
admin/menu/class-replacevar-field.php CHANGED
@@ -9,6 +9,7 @@
9
  * Renders a single replacement variable field.
10
  */
11
  class WPSEO_Replacevar_Field {
 
12
  /**
13
  * @var Yoast_Form Yoast Forms instance.
14
  */
9
  * Renders a single replacement variable field.
10
  */
11
  class WPSEO_Replacevar_Field {
12
+
13
  /**
14
  * @var Yoast_Form Yoast Forms instance.
15
  */
admin/metabox/class-metabox-section-react.php CHANGED
@@ -9,6 +9,7 @@
9
  * Generates and displays the React root element for a metabox section.
10
  */
11
  class WPSEO_Metabox_Section_React implements WPSEO_Metabox_Section {
 
12
  /**
13
  * Name of the section, used as an identifier in the HTML.
14
  *
9
  * Generates and displays the React root element for a metabox section.
10
  */
11
  class WPSEO_Metabox_Section_React implements WPSEO_Metabox_Section {
12
+
13
  /**
14
  * Name of the section, used as an identifier in the HTML.
15
  *
admin/metabox/class-metabox.php CHANGED
@@ -318,7 +318,7 @@ class WPSEO_Metabox extends WPSEO_Meta {
318
  $help_center->localize_data();
319
  $help_center->mount();
320
 
321
- if ( ! defined( 'WPSEO_PREMIUM_FILE' ) ) {
322
  echo $this->get_buy_premium_link();
323
  }
324
 
@@ -342,17 +342,6 @@ class WPSEO_Metabox extends WPSEO_Meta {
342
  echo '</div>';
343
  }
344
 
345
- /**
346
- * Determines whether the React section should be rendered.
347
- *
348
- * @param string $section_name The name of the section.
349
- *
350
- * @return bool Whether the React section should be rendered.
351
- */
352
- private function should_load_react_section( $section_name ) {
353
- return $section_name === 'content';
354
- }
355
-
356
  /**
357
  * Returns the relevant metabox sections for the current view.
358
  *
@@ -385,6 +374,8 @@ class WPSEO_Metabox extends WPSEO_Meta {
385
  * @return WPSEO_Metabox_Section
386
  */
387
  private function get_content_meta_section() {
 
 
388
  $content = $this->get_tab_content( 'general' );
389
 
390
  /**
@@ -438,10 +429,10 @@ class WPSEO_Metabox extends WPSEO_Meta {
438
  */
439
  private function get_buy_premium_link() {
440
  return sprintf(
441
- '<div class="%1$s"><a target="_blank" rel="noopener noreferrer" href="%2$s"><span class="dashicons dashicons-star-filled wpseo-buy-premium"></span>%3$s</a></div>',
442
- 'wpseo-metabox-buy-premium',
443
  esc_url( WPSEO_Shortlinker::get( 'https://yoa.st/3g6' ) ),
444
- __( 'Go Premium', 'wordpress-seo' )
 
445
  );
446
  }
447
 
@@ -479,26 +470,6 @@ class WPSEO_Metabox extends WPSEO_Meta {
479
  return $content;
480
  }
481
 
482
- /**
483
- * Retrieves the hidden fields for the metabox tab.
484
- *
485
- * @param string $tab_name Tab for which to retrieve the field definitions.
486
- *
487
- * @return string
488
- */
489
- private function get_hidden_tab_fields( $tab_name ) {
490
- $hidden_fields = '';
491
- foreach ( $this->get_meta_field_defs( $tab_name ) as $key => $meta_field ) {
492
- if ( $meta_field['type'] !== 'hidden' ) {
493
- continue;
494
- }
495
-
496
- $hidden_fields .= $this->do_meta_box( $meta_field, $key );
497
- }
498
-
499
- return $hidden_fields;
500
- }
501
-
502
  /**
503
  * Adds a line in the meta box.
504
  *
@@ -702,6 +673,10 @@ class WPSEO_Metabox extends WPSEO_Meta {
702
  return false;
703
  }
704
 
 
 
 
 
705
  if ( wp_is_post_revision( $post_id ) ) {
706
  $post_id = wp_is_post_revision( $post_id );
707
  }
@@ -710,11 +685,9 @@ class WPSEO_Metabox extends WPSEO_Meta {
710
  * Determine we're not accidentally updating a different post.
711
  * We can't use filter_input here as the ID isn't available at this point, other than in the $_POST data.
712
  */
713
- // @codingStandardsIgnoreStart
714
  if ( ! isset( $_POST['ID'] ) || $post_id !== (int) $_POST['ID'] ) {
715
  return false;
716
  }
717
- // @codingStandardsIgnoreEnd
718
 
719
  clean_post_cache( $post_id );
720
  $post = get_post( $post_id );
@@ -737,19 +710,33 @@ class WPSEO_Metabox extends WPSEO_Meta {
737
  continue;
738
  }
739
 
740
- $data = null;
 
 
741
  if ( 'checkbox' === $meta_box['type'] ) {
742
- // @codingStandardsIgnoreLine
743
- $data = isset( $_POST[ self::$form_prefix . $key ] ) ? 'on' : 'off';
744
  }
745
  else {
746
- // @codingStandardsIgnoreLine
747
- if ( isset( $_POST[ self::$form_prefix . $key ] ) ) {
748
- // @codingStandardsIgnoreLine
749
- $data = $_POST[ self::$form_prefix . $key ];
 
 
 
 
 
 
 
 
 
 
 
 
750
  }
751
  }
752
- if ( isset( $data ) ) {
 
753
  self::set_value( $key, $data, $post_id );
754
  }
755
  }
@@ -899,7 +886,7 @@ class WPSEO_Metabox extends WPSEO_Meta {
899
  $shortcode_tags = array();
900
 
901
  foreach ( $GLOBALS['shortcode_tags'] as $tag => $description ) {
902
- array_push( $shortcode_tags, $tag );
903
  }
904
 
905
  return $shortcode_tags;
318
  $help_center->localize_data();
319
  $help_center->mount();
320
 
321
+ if ( ! WPSEO_Utils::is_yoast_seo_premium() ) {
322
  echo $this->get_buy_premium_link();
323
  }
324
 
342
  echo '</div>';
343
  }
344
 
 
 
 
 
 
 
 
 
 
 
 
345
  /**
346
  * Returns the relevant metabox sections for the current view.
347
  *
374
  * @return WPSEO_Metabox_Section
375
  */
376
  private function get_content_meta_section() {
377
+ wp_nonce_field( 'yoast_free_metabox', 'yoast_free_metabox_nonce' );
378
+
379
  $content = $this->get_tab_content( 'general' );
380
 
381
  /**
429
  */
430
  private function get_buy_premium_link() {
431
  return sprintf(
432
+ '<div class="wpseo-metabox-buy-premium"><a target="_blank" href="%1$s"><span class="dashicons dashicons-star-filled wpseo-buy-premium"></span>%2$s%3$s</a></div>',
 
433
  esc_url( WPSEO_Shortlinker::get( 'https://yoa.st/3g6' ) ),
434
+ esc_html__( 'Go Premium', 'wordpress-seo' ),
435
+ WPSEO_Admin_Utils::get_new_tab_message()
436
  );
437
  }
438
 
470
  return $content;
471
  }
472
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
473
  /**
474
  * Adds a line in the meta box.
475
  *
673
  return false;
674
  }
675
 
676
+ if ( ! isset( $_POST['yoast_free_metabox_nonce'] ) || ! wp_verify_nonce( $_POST['yoast_free_metabox_nonce'], 'yoast_free_metabox' ) ) {
677
+ return false;
678
+ }
679
+
680
  if ( wp_is_post_revision( $post_id ) ) {
681
  $post_id = wp_is_post_revision( $post_id );
682
  }
685
  * Determine we're not accidentally updating a different post.
686
  * We can't use filter_input here as the ID isn't available at this point, other than in the $_POST data.
687
  */
 
688
  if ( ! isset( $_POST['ID'] ) || $post_id !== (int) $_POST['ID'] ) {
689
  return false;
690
  }
 
691
 
692
  clean_post_cache( $post_id );
693
  $post = get_post( $post_id );
710
  continue;
711
  }
712
 
713
+ $data = null;
714
+ $field_name = self::$form_prefix . $key;
715
+
716
  if ( 'checkbox' === $meta_box['type'] ) {
717
+ $data = isset( $_POST[ $field_name ] ) ? 'on' : 'off';
 
718
  }
719
  else {
720
+ if ( isset( $_POST[ $field_name ] ) ) {
721
+ $data = wp_unslash( $_POST[ $field_name ] );
722
+
723
+ // For multi-select.
724
+ if ( is_array( $data ) ) {
725
+ $data = array_map( array( 'WPSEO_Utils', 'sanitize_text_field' ), $data );
726
+ }
727
+
728
+ if ( is_string( $data ) ) {
729
+ $data = WPSEO_Utils::sanitize_text_field( $data );
730
+ }
731
+ }
732
+
733
+ // Reset options when no entry is present with multiselect - only applies to `meta-robots-adv` currently.
734
+ if ( ! isset( $_POST[ $field_name ] ) && ( $meta_box['type'] === 'multiselect' ) ) {
735
+ $data = array();
736
  }
737
  }
738
+
739
+ if ( $data !== null ) {
740
  self::set_value( $key, $data, $post_id );
741
  }
742
  }
886
  $shortcode_tags = array();
887
 
888
  foreach ( $GLOBALS['shortcode_tags'] as $tag => $description ) {
889
+ $shortcode_tags[] = $tag;
890
  }
891
 
892
  return $shortcode_tags;
admin/my-yoast-proxy.php CHANGED
@@ -9,7 +9,7 @@
9
 
10
  switch ( filter_input( INPUT_GET, 'file', FILTER_SANITIZE_STRING ) ) {
11
  case 'research-webworker':
12
- $my_yoast_url = 'https://my.yoast.com/api/downloads/file/analysis-worker';
13
  $my_yoast_url_content_type = 'text/javascript; charset=UTF-8';
14
  break;
15
  }
9
 
10
  switch ( filter_input( INPUT_GET, 'file', FILTER_SANITIZE_STRING ) ) {
11
  case 'research-webworker':
12
+ $my_yoast_url = 'https://my.yoast.com/api/downloads/file/analysis-worker';
13
  $my_yoast_url_content_type = 'text/javascript; charset=UTF-8';
14
  break;
15
  }
admin/notifiers/class-configuration-notifier.php CHANGED
@@ -9,10 +9,20 @@
9
  * Represents the logic for showing the notification.
10
  */
11
  class WPSEO_Configuration_Notifier implements WPSEO_Listener {
 
 
 
 
12
  const META_NAME = 'wpseo-dismiss-configuration-notice';
 
 
 
 
13
  const META_VALUE = 'yes';
14
 
15
- /** @var bool */
 
 
16
  protected $show_notification;
17
 
18
  /**
9
  * Represents the logic for showing the notification.
10
  */
11
  class WPSEO_Configuration_Notifier implements WPSEO_Listener {
12
+
13
+ /**
14
+ * @var string
15
+ */
16
  const META_NAME = 'wpseo-dismiss-configuration-notice';
17
+
18
+ /**
19
+ * @var string
20
+ */
21
  const META_VALUE = 'yes';
22
 
23
+ /**
24
+ * @var bool
25
+ */
26
  protected $show_notification;
27
 
28
  /**
admin/notifiers/class-recalibration-beta.php DELETED
@@ -1,105 +0,0 @@
1
- <?php
2
- /**
3
- * WPSEO plugin file.
4
- *
5
- * @package WPSEO\Admin\Notifiers
6
- */
7
-
8
- /**
9
- * Represents the logic for showing recalibration beta notice.
10
- */
11
- class WPSEO_Recalibration_Beta_Notification implements WPSEO_WordPress_Integration {
12
-
13
- /**
14
- * The name of the notifier.
15
- *
16
- * @var string
17
- */
18
- protected $notification_identifier = 'recalibration-meta-notification';
19
-
20
- /**
21
- * Registers all hooks to WordPress
22
- *
23
- * @codeCoverageIgnore
24
- *
25
- * @return void
26
- */
27
- public function register_hooks() {
28
- add_action( 'admin_init', array( $this, 'handle_notice' ), 15 );
29
- }
30
-
31
- /**
32
- * Shows the notification when applicable.
33
- *
34
- * @return void.
35
- */
36
- public function handle_notice() {
37
- $recalibration_beta = new WPSEO_Recalibration_Beta();
38
- if ( $this->is_applicable( WPSEO_Recalibration_Beta::is_enabled(), $recalibration_beta->has_mailinglist_subscription() ) ) {
39
- $this->get_notification_center()->add_notification(
40
- $this->get_notification()
41
- );
42
-
43
- return;
44
- }
45
-
46
- $this->get_notification_center()->remove_notification_by_id( 'wpseo-' . $this->notification_identifier );
47
- }
48
-
49
- /**
50
- * Checks if the beta is enabled.
51
- *
52
- * @param bool $is_beta_enabled Checks if the beta has been enabled.
53
- * @param bool $was_ever_enabled Checks if the beta was ever enabled.
54
- *
55
- * @return bool Whether the beta is enabled or not.
56
- */
57
- protected function is_applicable( $is_beta_enabled, $was_ever_enabled ) {
58
- if ( $was_ever_enabled ) {
59
- return false;
60
- }
61
-
62
- return ! $is_beta_enabled;
63
- }
64
-
65
- /**
66
- * Returns the notification.
67
- *
68
- * @return Yoast_Notification The notification for the notification center.
69
- *
70
- * @codeCoverageIgnore
71
- */
72
- protected function get_notification() {
73
- $message = sprintf(
74
- /* translators: 1: link opening tag to the features page, 2: link closing tag, 3: Link to KB article, 4: expands to Yoast SEO */
75
- esc_html__(
76
- 'We\'d love for you to try our new and improved %4$s analysis! Use the toggle on the %1$sFeatures tab%2$s in your %4$s settings. %3$sRead more about the new analysis%2$s.',
77
- 'wordpress-seo'
78
- ),
79
- '<a href="#top#features" onclick="jQuery(\'#features-tab\').click()">',
80
- '</a>',
81
- '<a href="' . WPSEO_Shortlinker::get( 'https://yoa.st/recalibration-beta-notice' ) . '" target="_blank">',
82
- 'Yoast SEO'
83
- );
84
-
85
- $notification_options = array(
86
- 'type' => Yoast_Notification::WARNING,
87
- 'id' => 'wpseo-' . $this->notification_identifier,
88
- 'priority' => 1.0,
89
- 'capabilities' => 'wpseo_manage_options',
90
- );
91
-
92
- return new Yoast_Notification( $message, $notification_options );
93
- }
94
-
95
- /**
96
- * Retrieves an instance of the notification center.
97
- *
98
- * @codeCoverageIgnore
99
- *
100
- * @return Yoast_Notification_Center Instance of the notification center.
101
- */
102
- protected function get_notification_center() {
103
- return Yoast_Notification_Center::get();
104
- }
105
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/pages/dashboard.php CHANGED
@@ -22,7 +22,7 @@ if ( isset( $_GET['allow_tracking'] ) && check_admin_referer( 'wpseo_activate_tr
22
  WPSEO_Options::set( 'yoast_tracking', ( $_GET['allow_tracking'] === 'yes' ) );
23
 
24
  if ( isset( $_SERVER['HTTP_REFERER'] ) ) {
25
- wp_safe_redirect( $_SERVER['HTTP_REFERER'], 307 );
26
  exit;
27
  }
28
  }
22
  WPSEO_Options::set( 'yoast_tracking', ( $_GET['allow_tracking'] === 'yes' ) );
23
 
24
  if ( isset( $_SERVER['HTTP_REFERER'] ) ) {
25
+ wp_safe_redirect( wp_unslash( $_SERVER['HTTP_REFERER'] ), 307 );
26
  exit;
27
  }
28
  }
admin/roles/class-abstract-role-manager.php CHANGED
@@ -9,7 +9,12 @@
9
  * Abstract Role Manager template.
10
  */
11
  abstract class WPSEO_Abstract_Role_Manager implements WPSEO_Role_Manager {
12
- /** @var array Registered roles. */
 
 
 
 
 
13
  protected $roles = array();
14
 
15
  /**
9
  * Abstract Role Manager template.
10
  */
11
  abstract class WPSEO_Abstract_Role_Manager implements WPSEO_Role_Manager {
12
+
13
+ /**
14
+ * Registered roles.
15
+ *
16
+ * @var array
17
+ */
18
  protected $roles = array();
19
 
20
  /**
admin/taxonomy/class-taxonomy-metabox.php CHANGED
@@ -86,10 +86,6 @@ class WPSEO_Taxonomy_Metabox {
86
  echo '<div class="wpseo-metabox-sidebar"><ul>';
87
 
88
  foreach ( $content_sections as $content_section ) {
89
- if ( $content_section->name === 'premium' ) {
90
- continue;
91
- }
92
-
93
  $content_section->display_link();
94
  }
95
 
@@ -112,14 +108,9 @@ class WPSEO_Taxonomy_Metabox {
112
  $content_sections = array();
113
 
114
  $content_sections[] = $this->get_content_meta_section();
115
-
116
  $content_sections[] = $this->get_social_meta_section();
117
  $content_sections[] = $this->get_settings_meta_section();
118
 
119
- if ( ! defined( 'WPSEO_PREMIUM_FILE' ) ) {
120
- $content_sections[] = $this->get_buy_premium_section();
121
- }
122
-
123
  return $content_sections;
124
  }
125
 
@@ -244,76 +235,10 @@ class WPSEO_Taxonomy_Metabox {
244
  */
245
  private function get_buy_premium_link() {
246
  return sprintf(
247
- "<div class='%s'><a href='#wpseo-meta-section-premium' class='wpseo-meta-section-link'><span class='dashicons dashicons-star-filled wpseo-buy-premium'></span>%s</a></div>",
248
- 'wpseo-metabox-buy-premium',
249
- __( 'Go Premium', 'wordpress-seo' )
250
- );
251
- }
252
-
253
- /**
254
- * Returns the metabox section for the Premium section..
255
- *
256
- * @return WPSEO_Metabox_Section
257
- */
258
- private function get_buy_premium_section() {
259
- $content = sprintf(
260
- "<div class='wpseo-premium-description'>
261
- %s
262
- <ul class='wpseo-premium-advantages-list'>
263
- <li>
264
- <strong>%s</strong> - %s
265
- </li>
266
- <li>
267
- <strong>%s</strong> - %s
268
- </li>
269
- <li>
270
- <strong>%s</strong> - %s
271
- </li>
272
- <li>
273
- <strong>%s</strong> - %s
274
- </li>
275
- </ul>
276
-
277
- <a target='_blank' id='wpseo-buy-premium-popup-button' class='button button-buy-premium wpseo-metabox-go-to' href='%s'>
278
- %s
279
- </a>
280
-
281
- <p><a target='_blank' class='wpseo-metabox-go-to' href='%s'>%s</a></p>
282
- </div>",
283
- /* translators: %1$s expands to Yoast SEO Premium. */
284
- sprintf( __( 'You\'re not getting the benefits of %1$s yet. If you had %1$s, you could use its awesome features:', 'wordpress-seo' ), 'Yoast SEO Premium' ),
285
- __( 'Redirect manager', 'wordpress-seo' ),
286
- __( 'Create and manage redirects within your WordPress install.', 'wordpress-seo' ),
287
- __( 'Synonyms & related keyphrases', 'wordpress-seo' ),
288
- __( 'Optimize a single post for synonyms and related keyphrases.', 'wordpress-seo' ),
289
- __( 'Social Previews', 'wordpress-seo' ),
290
- __( 'Check what your Facebook or Twitter post will look like.', 'wordpress-seo' ),
291
- __( 'Premium support', 'wordpress-seo' ),
292
- __( 'Gain access to our 24/7 support team.', 'wordpress-seo' ),
293
- WPSEO_Shortlinker::get( 'https://yoa.st/pe-buy-premium' ),
294
- /* translators: %s expands to Yoast SEO Premium. */
295
- sprintf( __( 'Get %s', 'wordpress-seo' ), 'Yoast SEO Premium' ),
296
- WPSEO_Shortlinker::get( 'https://yoa.st/3g5' ),
297
- __( 'More info', 'wordpress-seo' )
298
- );
299
-
300
- $tab = new WPSEO_Metabox_Form_Tab(
301
- 'premium',
302
- $content,
303
- 'Yoast SEO Premium',
304
- array(
305
- 'single' => true,
306
- )
307
- );
308
-
309
- return new WPSEO_Metabox_Tab_Section(
310
- 'premium',
311
- '<span class="dashicons dashicons-star-filled wpseo-buy-premium"></span>',
312
- array( $tab ),
313
- array(
314
- 'link_aria_label' => 'Yoast SEO Premium',
315
- 'link_class' => 'yoast-tooltip yoast-tooltip-e',
316
- )
317
  );
318
  }
319
  }
86
  echo '<div class="wpseo-metabox-sidebar"><ul>';
87
 
88
  foreach ( $content_sections as $content_section ) {
 
 
 
 
89
  $content_section->display_link();
90
  }
91
 
108
  $content_sections = array();
109
 
110
  $content_sections[] = $this->get_content_meta_section();
 
111
  $content_sections[] = $this->get_social_meta_section();
112
  $content_sections[] = $this->get_settings_meta_section();
113
 
 
 
 
 
114
  return $content_sections;
115
  }
116
 
235
  */
236
  private function get_buy_premium_link() {
237
  return sprintf(
238
+ '<div class="wpseo-metabox-buy-premium"><a target="_blank" href="%1$s"><span class="dashicons dashicons-star-filled wpseo-buy-premium"></span>%2$s%3$s</a></div>',
239
+ esc_url( WPSEO_Shortlinker::get( 'https://yoa.st/3hh' ) ),
240
+ esc_html__( 'Go Premium', 'wordpress-seo' ),
241
+ WPSEO_Admin_Utils::get_new_tab_message()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
242
  );
243
  }
244
  }
admin/taxonomy/class-taxonomy-settings-fields.php CHANGED
@@ -9,6 +9,7 @@
9
  * This class parses all the values for the general tab in the Yoast SEO settings metabox
10
  */
11
  class WPSEO_Taxonomy_Settings_Fields extends WPSEO_Taxonomy_Fields {
 
12
  /**
13
  * @var array Options array for the no-index options, including translated labels
14
  */
9
  * This class parses all the values for the general tab in the Yoast SEO settings metabox
10
  */
11
  class WPSEO_Taxonomy_Settings_Fields extends WPSEO_Taxonomy_Fields {
12
+
13
  /**
14
  * @var array Options array for the no-index options, including translated labels
15
  */
admin/taxonomy/class-taxonomy-social-fields.php CHANGED
@@ -9,7 +9,12 @@
9
  * This class parses all the values for the social tab in the Yoast SEO settings metabox
10
  */
11
  class WPSEO_Taxonomy_Social_Fields extends WPSEO_Taxonomy_Fields {
12
- /** @var array List of social networks */
 
 
 
 
 
13
  protected $networks;
14
 
15
  /**
9
  * This class parses all the values for the social tab in the Yoast SEO settings metabox
10
  */
11
  class WPSEO_Taxonomy_Social_Fields extends WPSEO_Taxonomy_Fields {
12
+
13
+ /**
14
+ * List of social networks.
15
+ *
16
+ * @var array
17
+ */
18
  protected $networks;
19
 
20
  /**
admin/tracking/class-tracking.php CHANGED
@@ -10,13 +10,19 @@
10
  */
11
  class WPSEO_Tracking {
12
 
13
- /** @var string */
 
 
14
  protected $option_name = 'wpseo_tracking_last_request';
15
 
16
- /** @var int */
 
 
17
  protected $threshold = 0;
18
 
19
- /** @var string */
 
 
20
  protected $endpoint = '';
21
 
22
  /**
10
  */
11
  class WPSEO_Tracking {
12
 
13
+ /**
14
+ * @var string
15
+ */
16
  protected $option_name = 'wpseo_tracking_last_request';
17
 
18
+ /**
19
+ * @var int
20
+ */
21
  protected $threshold = 0;
22
 
23
+ /**
24
+ * @var string
25
+ */
26
  protected $endpoint = '';
27
 
28
  /**
admin/views/class-view-utils.php CHANGED
@@ -9,7 +9,12 @@
9
  * Class Yoast_View_Utils
10
  */
11
  class Yoast_View_Utils {
12
- /** @var Yoast_Form Form to use. */
 
 
 
 
 
13
  protected $form;
14
 
15
  /**
9
  * Class Yoast_View_Utils
10
  */
11
  class Yoast_View_Utils {
12
+
13
+ /**
14
+ * Form to use.
15
+ *
16
+ * @var Yoast_Form
17
+ */
18
  protected $form;
19
 
20
  /**
admin/views/class-yoast-feature-toggle.php CHANGED
@@ -10,25 +10,53 @@
10
  */
11
  class Yoast_Feature_Toggle {
12
 
13
- /** @var string Feature toggle identifier. */
 
 
 
 
14
  protected $name = '';
15
 
16
- /** @var string Name of the setting the feature toggle is associated with. */
 
 
 
 
17
  protected $setting = '';
18
 
19
- /** @var string Feature toggle label. */
 
 
 
 
20
  protected $label = '';
21
 
22
- /** @var string URL to learn more about the feature. */
 
 
 
 
23
  protected $read_more_url = '';
24
 
25
- /** @var string Label for the learn more link. */
 
 
 
 
26
  protected $read_more_label = '';
27
 
28
- /** @var string Additional help content for the feature. */
 
 
 
 
29
  protected $extra = '';
30
 
31
- /** @var string Value to specify the feature toggle order. */
 
 
 
 
32
  protected $order = 100;
33
 
34
  /**
10
  */
11
  class Yoast_Feature_Toggle {
12
 
13
+ /**
14
+ * Feature toggle identifier.
15
+ *
16
+ * @var string
17
+ */
18
  protected $name = '';
19
 
20
+ /**
21
+ * Name of the setting the feature toggle is associated with.
22
+ *
23
+ * @var string
24
+ */
25
  protected $setting = '';
26
 
27
+ /**
28
+ * Feature toggle label.
29
+ *
30
+ * @var string
31
+ */
32
  protected $label = '';
33
 
34
+ /**
35
+ * URL to learn more about the feature.
36
+ *
37
+ * @var string
38
+ */
39
  protected $read_more_url = '';
40
 
41
+ /**
42
+ * Label for the learn more link.
43
+ *
44
+ * @var string
45
+ */
46
  protected $read_more_label = '';
47
 
48
+ /**
49
+ * Additional help content for the feature.
50
+ *
51
+ * @var string
52
+ */
53
  protected $extra = '';
54
 
55
+ /**
56
+ * Value to specify the feature toggle order.
57
+ *
58
+ * @var string
59
+ */
60
  protected $order = 100;
61
 
62
  /**
admin/views/class-yoast-feature-toggles.php CHANGED
@@ -10,10 +10,18 @@
10
  */
11
  class Yoast_Feature_Toggles {
12
 
13
- /** @var array Available feature toggles. */
 
 
 
 
14
  protected $toggles;
15
 
16
- /** @var self|null Instance holder. */
 
 
 
 
17
  protected static $instance = null;
18
 
19
  /**
10
  */
11
  class Yoast_Feature_Toggles {
12
 
13
+ /**
14
+ * Available feature toggles.
15
+ *
16
+ * @var array
17
+ */
18
  protected $toggles;
19
 
20
+ /**
21
+ * Instance holder.
22
+ *
23
+ * @var self|null
24
+ */
25
  protected static $instance = null;
26
 
27
  /**
admin/views/licenses.php CHANGED
@@ -223,7 +223,7 @@ $new_tab_message = '<span class="screen-reader-text">' . esc_html__( '(O
223
  $yoast_seo_extensions = '<span class="yoast-heading-highlight">' . $yoast_seo_extensions . '</span>';
224
 
225
  /* translators: %1$s expands to Yoast SEO extensions */
226
- printf( __( '%1$s to optimize your site even further', 'wordpress-seo' ), $yoast_seo_extensions );
227
  ?></h2>
228
 
229
  <?php foreach ( $extensions->get_all() as $id => $extension ) : ?>
223
  $yoast_seo_extensions = '<span class="yoast-heading-highlight">' . $yoast_seo_extensions . '</span>';
224
 
225
  /* translators: %1$s expands to Yoast SEO extensions */
226
+ printf( esc_html__( '%1$s to optimize your site even further', 'wordpress-seo' ), $yoast_seo_extensions );
227
  ?></h2>
228
 
229
  <?php foreach ( $extensions->get_all() as $id => $extension ) : ?>
admin/views/paper-collapsible.php CHANGED
@@ -26,8 +26,7 @@ if ( ! defined( 'WPSEO_VERSION' ) ) {
26
  if ( ! empty( $title ) ) {
27
  if ( ! empty( $collapsible ) ) {
28
  printf(
29
- '<h2 class="help-button-inline" id="%1$s"><button type="button" class="toggleable-container-trigger" aria-expanded="%4$s">%2$s <span class="toggleable-container-icon dashicons %3$s" aria-hidden="true"></span></button></h2>',
30
- esc_attr( $title ),
31
  esc_html( $title ) . $title_after . $help_text->get_button_html(),
32
  $collapsible_config['toggle_icon'],
33
  $collapsible_config['expanded']
26
  if ( ! empty( $title ) ) {
27
  if ( ! empty( $collapsible ) ) {
28
  printf(
29
+ '<h2 class="help-button-inline"><button type="button" class="toggleable-container-trigger" aria-expanded="%3$s">%1$s <span class="toggleable-container-icon dashicons %2$s" aria-hidden="true"></span></button></h2>',
 
30
  esc_html( $title ) . $title_after . $help_text->get_button_html(),
31
  $collapsible_config['toggle_icon'],
32
  $collapsible_config['expanded']
admin/views/tabs/metas/archives.php CHANGED
@@ -18,14 +18,17 @@ $wpseo_archives = array(
18
  array(
19
  'title' => esc_html__( 'Author archives settings', 'wordpress-seo' ),
20
  'view_file' => 'paper-content/author-archive-settings.php',
 
21
  ),
22
  array(
23
  'title' => esc_html__( 'Date archives settings', 'wordpress-seo' ),
24
  'view_file' => 'paper-content/date-archives-settings.php',
 
25
  ),
26
  array(
27
  'title' => esc_html__( 'Special Pages', 'wordpress-seo' ),
28
  'view_file' => 'paper-content/special-pages.php',
 
29
  ),
30
  );
31
 
@@ -39,6 +42,7 @@ foreach ( $wpseo_archives as $wpseo_archive_index => $wpseo_archive ) {
39
  array(
40
  'collapsible' => true,
41
  'expanded' => ( $wpseo_archive_index === 0 ),
 
42
  'recommended_replace_vars' => $recommended_replace_vars,
43
  'editor_specific_replace_vars' => $editor_specific_replace_vars,
44
  )
18
  array(
19
  'title' => esc_html__( 'Author archives settings', 'wordpress-seo' ),
20
  'view_file' => 'paper-content/author-archive-settings.php',
21
+ 'paper_id' => 'settings-author-archives',
22
  ),
23
  array(
24
  'title' => esc_html__( 'Date archives settings', 'wordpress-seo' ),
25
  'view_file' => 'paper-content/date-archives-settings.php',
26
+ 'paper_id' => 'settings-date-archives',
27
  ),
28
  array(
29
  'title' => esc_html__( 'Special Pages', 'wordpress-seo' ),
30
  'view_file' => 'paper-content/special-pages.php',
31
+ 'paper_id' => 'settings-special-pages',
32
  ),
33
  );
34
 
42
  array(
43
  'collapsible' => true,
44
  'expanded' => ( $wpseo_archive_index === 0 ),
45
+ 'paper_id' => $wpseo_archive['paper_id'],
46
  'recommended_replace_vars' => $recommended_replace_vars,
47
  'editor_specific_replace_vars' => $editor_specific_replace_vars,
48
  )
admin/views/tabs/metas/breadcrumbs.php CHANGED
@@ -13,6 +13,9 @@ if ( ! defined( 'WPSEO_VERSION' ) ) {
13
 
14
  $wpseo_breadcrumbs_presenter = new WPSEO_Paper_Presenter(
15
  esc_html__( 'Breadcrumbs settings', 'wordpress-seo' ),
16
- dirname( __FILE__ ) . '/paper-content/breadcrumbs-content.php'
 
 
 
17
  );
18
  echo $wpseo_breadcrumbs_presenter->get_output();
13
 
14
  $wpseo_breadcrumbs_presenter = new WPSEO_Paper_Presenter(
15
  esc_html__( 'Breadcrumbs settings', 'wordpress-seo' ),
16
+ dirname( __FILE__ ) . '/paper-content/breadcrumbs-content.php',
17
+ array(
18
+ 'paper_id' => 'settings-breadcrumbs',
19
+ )
20
  );
21
  echo $wpseo_breadcrumbs_presenter->get_output();
admin/views/tabs/metas/general.php CHANGED
@@ -13,7 +13,10 @@ if ( ! defined( 'WPSEO_VERSION' ) ) {
13
 
14
  $wpseo_general_presenter = new WPSEO_Paper_Presenter(
15
  '',
16
- dirname( __FILE__ ) . '/paper-content/general-content.php'
 
 
 
17
  );
18
 
19
  echo $wpseo_general_presenter->get_output();
13
 
14
  $wpseo_general_presenter = new WPSEO_Paper_Presenter(
15
  '',
16
+ dirname( __FILE__ ) . '/paper-content/general-content.php',
17
+ array(
18
+ 'paper_id' => 'settings-general',
19
+ )
20
  );
21
 
22
  echo $wpseo_general_presenter->get_output();
admin/views/tabs/metas/media.php CHANGED
@@ -21,6 +21,7 @@ $wpseo_media_presenter = new WPSEO_Paper_Presenter(
21
  __( 'When you upload media (an image or video for example) to WordPress, it doesn\'t just save the media, it creates an attachment URL for it. These attachment pages are quite empty: they contain the media item and maybe a title if you entered one. Because of that, if you never use these attachment URLs, it\'s better to disable them, and redirect them to the media item itself.', 'wordpress-seo' ),
22
  'has-wrapper'
23
  ),
 
24
  )
25
  );
26
 
21
  __( 'When you upload media (an image or video for example) to WordPress, it doesn\'t just save the media, it creates an attachment URL for it. These attachment pages are quite empty: they contain the media item and maybe a title if you entered one. Because of that, if you never use these attachment URLs, it\'s better to disable them, and redirect them to the media item itself.', 'wordpress-seo' ),
22
  'has-wrapper'
23
  ),
24
+ 'paper_id' => 'settings-media-attachment-url',
25
  )
26
  );
27
 
admin/views/tabs/metas/post-types.php CHANGED
@@ -43,7 +43,7 @@ if ( is_array( $wpseo_post_types ) && $wpseo_post_types !== array() ) {
43
  array(
44
  'collapsible' => true,
45
  'expanded' => ( $wpseo_post_type_index === 0 ),
46
- 'paper_id' => $post_type->name,
47
  'view_data' => array(
48
  'wpseo_post_type' => $post_type,
49
  'view_utils' => $view_utils,
43
  array(
44
  'collapsible' => true,
45
  'expanded' => ( $wpseo_post_type_index === 0 ),
46
+ 'paper_id' => 'settings-' . $post_type->name,
47
  'view_data' => array(
48
  'wpseo_post_type' => $post_type,
49
  'view_utils' => $view_utils,
admin/views/tabs/metas/rss.php CHANGED
@@ -21,8 +21,8 @@ $wpseo_rss_presenter = new WPSEO_Paper_Presenter(
21
  __( 'This feature is used to automatically add content to your RSS, more specifically, it\'s meant to add links back to your blog and your blog posts, so dumb scrapers will automatically add these links too, helping search engines identify you as the original source of the content.', 'wordpress-seo' ),
22
  'has-wrapper'
23
  ),
 
24
  )
25
  );
26
 
27
  echo $wpseo_rss_presenter->get_output();
28
-
21
  __( 'This feature is used to automatically add content to your RSS, more specifically, it\'s meant to add links back to your blog and your blog posts, so dumb scrapers will automatically add these links too, helping search engines identify you as the original source of the content.', 'wordpress-seo' ),
22
  'has-wrapper'
23
  ),
24
+ 'paper_id' => 'settings-rss-feed',
25
  )
26
  );
27
 
28
  echo $wpseo_rss_presenter->get_output();
 
admin/views/tabs/metas/taxonomies.php CHANGED
@@ -27,7 +27,7 @@ if ( is_array( $wpseo_taxonomies ) && $wpseo_taxonomies !== array() ) {
27
  array(
28
  'collapsible' => true,
29
  'expanded' => ( $wpseo_taxonomy_index === 0 ),
30
- 'paper_id' => $wpseo_taxonomy->name,
31
  'view_data' => array(
32
  'wpseo_taxonomy' => $wpseo_taxonomy,
33
  'view_utils' => $view_utils,
27
  array(
28
  'collapsible' => true,
29
  'expanded' => ( $wpseo_taxonomy_index === 0 ),
30
+ 'paper_id' => 'settings-' . $wpseo_taxonomy->name,
31
  'view_data' => array(
32
  'wpseo_taxonomy' => $wpseo_taxonomy,
33
  'view_utils' => $view_utils,
admin/views/tabs/tool/wpseo-import.php CHANGED
@@ -25,7 +25,7 @@ if ( ! defined( 'WPSEO_NAMESPACES' ) || ! WPSEO_NAMESPACES ) {
25
  printf(
26
  /* translators: 1: Import settings button string from below. */
27
  esc_html__( 'Import settings by pasting the settings you copied from another site here and clicking "%s".', 'wordpress-seo' ),
28
- __( 'Import settings', 'wordpress-seo' )
29
  );
30
  ?>
31
  </p>
25
  printf(
26
  /* translators: 1: Import settings button string from below. */
27
  esc_html__( 'Import settings by pasting the settings you copied from another site here and clicking "%s".', 'wordpress-seo' ),
28
+ esc_html__( 'Import settings', 'wordpress-seo' )
29
  );
30
  ?>
31
  </p>
admin/views/tool-bulk-editor.php CHANGED
@@ -12,8 +12,50 @@ if ( ! defined( 'WPSEO_VERSION' ) ) {
12
  exit();
13
  }
14
 
15
- $wpseo_bulk_titles_table = new WPSEO_Bulk_Title_Editor_List_Table();
16
- $wpseo_bulk_description_table = new WPSEO_Bulk_Description_List_Table();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
17
 
18
  $yoast_free_screen_reader_content = array(
19
  'heading_views' => __( 'Filter posts list', 'wordpress-seo' ),
@@ -22,11 +64,15 @@ $yoast_free_screen_reader_content = array(
22
  );
23
  get_current_screen()->set_screen_reader_content( $yoast_free_screen_reader_content );
24
 
25
- // If type is empty, fill it with value of first tab (title).
26
- $_GET['type'] = ( ! empty( $_GET['type'] ) ) ? $_GET['type'] : 'title';
27
 
28
- if ( ! empty( $_REQUEST['_wp_http_referer'] ) ) {
29
- wp_redirect( remove_query_arg( array( '_wp_http_referer', '_wpnonce' ), stripslashes( $_SERVER['REQUEST_URI'] ) ) );
 
 
 
 
30
  exit;
31
  }
32
 
12
  exit();
13
  }
14
 
15
+ /**
16
+ * Sanitizes the parameters that have been sent.
17
+ *
18
+ * @return array The sanitized fields.
19
+ */
20
+ function yoast_free_bulk_sanitize_input_fields() {
21
+ $possible_params = array(
22
+ 'type',
23
+ 'paged',
24
+ 'post_type_filter',
25
+ 'post_status',
26
+ 'order',
27
+ 'orderby',
28
+ );
29
+
30
+ $input_get = array();
31
+ foreach ( $possible_params as $param_name ) {
32
+ if ( isset( $_GET[ $param_name ] ) ) {
33
+ $input_get[ $param_name ] = sanitize_text_field( wp_unslash( $_GET[ $param_name ] ) );
34
+ }
35
+ }
36
+
37
+ return $input_get;
38
+ }
39
+
40
+ $yoast_free_input_fields = yoast_free_bulk_sanitize_input_fields();
41
+
42
+ // Verifies the nonce.
43
+ if ( ! empty( $yoast_free_input_fields ) ) {
44
+ check_admin_referer( 'bulk-editor-table', 'nonce' );
45
+ }
46
+
47
+ // If type is empty, fill it with value of first tab (title).
48
+ if ( ! isset( $yoast_free_input_fields['type'] ) ) {
49
+ $yoast_free_input_fields['type'] = 'title';
50
+ }
51
+
52
+ $yoast_bulk_editor_arguments = array(
53
+ 'input_fields' => $yoast_free_input_fields,
54
+ 'nonce' => wp_create_nonce( 'bulk-editor-table' ),
55
+ );
56
+
57
+ $wpseo_bulk_titles_table = new WPSEO_Bulk_Title_Editor_List_Table( $yoast_bulk_editor_arguments );
58
+ $wpseo_bulk_description_table = new WPSEO_Bulk_Description_List_Table( $yoast_bulk_editor_arguments );
59
 
60
  $yoast_free_screen_reader_content = array(
61
  'heading_views' => __( 'Filter posts list', 'wordpress-seo' ),
64
  );
65
  get_current_screen()->set_screen_reader_content( $yoast_free_screen_reader_content );
66
 
67
+ if ( ! empty( $_REQUEST['_wp_http_referer'] ) && isset( $_SERVER['REQUEST_URI'] ) ) {
68
+ $request_uri = sanitize_file_name( wp_unslash( $_SERVER['REQUEST_URI'] ) );
69
 
70
+ wp_redirect(
71
+ remove_query_arg(
72
+ array( '_wp_http_referer', '_wpnonce' ),
73
+ $request_uri
74
+ )
75
+ );
76
  exit;
77
  }
78
 
admin/views/tool-file-editor.php CHANGED
@@ -48,8 +48,8 @@ if ( isset( $_POST['submitrobots'] ) ) {
48
 
49
  check_admin_referer( 'wpseo-robotstxt' );
50
 
51
- if ( file_exists( $robots_file ) ) {
52
- $robotsnew = stripslashes( $_POST['robotsnew'] );
53
  if ( is_writable( $robots_file ) ) {
54
  $f = fopen( $robots_file, 'w+' );
55
  fwrite( $f, $robotsnew );
@@ -75,9 +75,10 @@ if ( isset( $_POST['submithtaccess'] ) ) {
75
 
76
  check_admin_referer( 'wpseo-htaccess' );
77
 
78
- if ( file_exists( $ht_access_file ) ) {
79
- $ht_access_new = stripslashes( $_POST['htaccessnew'] );
80
- if ( is_writeable( $ht_access_file ) ) {
 
81
  $f = fopen( $ht_access_file, 'w+' );
82
  fwrite( $f, $ht_access_new );
83
  fclose( $f );
@@ -183,7 +184,7 @@ else {
183
  echo '</form>';
184
  }
185
  }
186
- if ( ( isset( $_SERVER['SERVER_SOFTWARE'] ) && stristr( $_SERVER['SERVER_SOFTWARE'], 'nginx' ) === false ) ) {
187
 
188
  echo '<h2>';
189
  printf(
48
 
49
  check_admin_referer( 'wpseo-robotstxt' );
50
 
51
+ if ( isset( $_POST['robotsnew'] ) && file_exists( $robots_file ) ) {
52
+ $robotsnew = sanitize_textarea_field( wp_unslash( $_POST['robotsnew'] ) );
53
  if ( is_writable( $robots_file ) ) {
54
  $f = fopen( $robots_file, 'w+' );
55
  fwrite( $f, $robotsnew );
75
 
76
  check_admin_referer( 'wpseo-htaccess' );
77
 
78
+ if ( isset( $_POST['htaccessnew'] ) && file_exists( $ht_access_file ) ) {
79
+ // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized -- Writing to .htaccess file and escaping for HTML will break functionality.
80
+ $ht_access_new = wp_unslash( $_POST['htaccessnew'] );
81
+ if ( is_writable( $ht_access_file ) ) {
82
  $f = fopen( $ht_access_file, 'w+' );
83
  fwrite( $f, $ht_access_new );
84
  fclose( $f );
184
  echo '</form>';
185
  }
186
  }
187
+ if ( ! WPSEO_Utils::is_nginx() ) {
188
 
189
  echo '<h2>';
190
  printf(
css/dist/{admin-global-950-rtl.min.css → admin-global-960-rtl.min.css} RENAMED
File without changes
css/dist/{admin-global-950.min.css → admin-global-960.min.css} RENAMED
File without changes
css/dist/{adminbar-950-rtl.min.css → adminbar-960-rtl.min.css} RENAMED
File without changes
css/dist/{adminbar-950.min.css → adminbar-960.min.css} RENAMED
File without changes
css/dist/{alerts-950-rtl.min.css → alerts-960-rtl.min.css} RENAMED
File without changes
css/dist/{alerts-950.min.css → alerts-960.min.css} RENAMED
File without changes
css/dist/{dashboard-950-rtl.min.css → dashboard-960-rtl.min.css} RENAMED
File without changes
css/dist/{dashboard-950.min.css → dashboard-960.min.css} RENAMED
File without changes
css/dist/{edit-page-950-rtl.min.css → edit-page-960-rtl.min.css} RENAMED
File without changes
css/dist/{edit-page-950.min.css → edit-page-960.min.css} RENAMED
File without changes
css/dist/{featured-image-950-rtl.min.css → featured-image-960-rtl.min.css} RENAMED
File without changes
css/dist/{featured-image-950.min.css → featured-image-960.min.css} RENAMED
File without changes
css/dist/{filter-explanation-950-rtl.min.css → filter-explanation-960-rtl.min.css} RENAMED
File without changes
css/dist/{filter-explanation-950.min.css → filter-explanation-960.min.css} RENAMED
File without changes
css/dist/{inside-editor-950-rtl.min.css → inside-editor-960-rtl.min.css} RENAMED
File without changes
css/dist/{inside-editor-950.min.css → inside-editor-960.min.css} RENAMED
File without changes
css/dist/{metabox-950-rtl.min.css → metabox-960-rtl.min.css} RENAMED
File without changes
css/dist/{metabox-950.min.css → metabox-960.min.css} RENAMED
File without changes
css/dist/{metabox-primary-category-950-rtl.min.css → metabox-primary-category-960-rtl.min.css} RENAMED
File without changes
css/dist/{metabox-primary-category-950.min.css → metabox-primary-category-960.min.css} RENAMED
File without changes
css/dist/{search-appearance-950-rtl.min.css → search-appearance-960-rtl.min.css} RENAMED
File without changes
css/dist/{search-appearance-950.min.css → search-appearance-960.min.css} RENAMED
File without changes
css/dist/{structured-data-blocks-950-rtl.min.css → structured-data-blocks-960-rtl.min.css} RENAMED
File without changes
css/dist/{structured-data-blocks-950.min.css → structured-data-blocks-960.min.css} RENAMED
File without changes
css/dist/{toggle-switch-950-rtl.min.css → toggle-switch-960-rtl.min.css} RENAMED
File without changes
css/dist/{toggle-switch-950.min.css → toggle-switch-960.min.css} RENAMED
File without changes
css/dist/{wpseo-dismissible-950-rtl.min.css → wpseo-dismissible-960-rtl.min.css} RENAMED
File without changes
css/dist/{wpseo-dismissible-950.min.css → wpseo-dismissible-960.min.css} RENAMED
File without changes
css/dist/{yoast-components-950-rtl.min.css → yoast-components-960-rtl.min.css} RENAMED
File without changes
css/dist/{yoast-components-950.min.css → yoast-components-960.min.css} RENAMED
File without changes
css/dist/{yoast-extensions-950-rtl.min.css → yoast-extensions-960-rtl.min.css} RENAMED
File without changes
css/dist/{yoast-extensions-950.min.css → yoast-extensions-960.min.css} RENAMED
File without changes
css/dist/{yst_plugin_tools-950-rtl.min.css → yst_plugin_tools-960-rtl.min.css} RENAMED
File without changes
css/dist/{yst_plugin_tools-950.min.css → yst_plugin_tools-960.min.css} RENAMED
File without changes
css/dist/{yst_seo_score-950-rtl.min.css → yst_seo_score-960-rtl.min.css} RENAMED
File without changes
css/dist/{yst_seo_score-950.min.css → yst_seo_score-960.min.css} RENAMED
File without changes
deprecated/class-recalibration-beta-notification.php ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * WPSEO plugin file.
4
+ *
5
+ * @package WPSEO\Admin\Notifiers
6
+ */
7
+
8
+ _deprecated_file( __FILE__, 'WPSEO 9.6' );
9
+
10
+ /**
11
+ * Represents the logic for showing recalibration beta notice.
12
+ *
13
+ * @codeCoverageIgnore Ignore, because this class has been deprecated.
14
+ *
15
+ * @deprecated 9.6
16
+ */
17
+ class WPSEO_Recalibration_Beta_Notification implements WPSEO_WordPress_Integration {
18
+
19
+ /**
20
+ * The name of the notifier.s
21
+ *
22
+ * @var string
23
+ */
24
+ protected $notification_identifier = 'recalibration-meta-notification';
25
+
26
+ /**
27
+ * Class constructor.
28
+ *
29
+ * @deprecated 9.6
30
+ */
31
+ public function __construct() {
32
+ _deprecated_constructor( 'WPSEO_Recalibration_Beta_Notification', 'WPSEO 9.6' );
33
+ }
34
+
35
+ /**
36
+ * Registers all hooks to WordPress.
37
+ *
38
+ * @return void
39
+ */
40
+ public function register_hooks() {
41
+ // Do nothing.
42
+ }
43
+
44
+ /**
45
+ * Shows the notification when applicable.
46
+ *
47
+ * @return void
48
+ */
49
+ public function handle_notice() {
50
+ // Do nothing.
51
+ }
52
+ }
frontend/class-breadcrumbs.php CHANGED
@@ -11,74 +11,99 @@
11
  class WPSEO_Breadcrumbs {
12
 
13
  /**
14
- * @var object Instance of this class
 
 
15
  */
16
  public static $instance;
17
 
18
  /**
19
- * @var string Last used 'before' string
 
 
20
  */
21
  public static $before = '';
22
 
23
  /**
24
- * @var string Last used 'after' string
 
 
25
  */
26
  public static $after = '';
27
 
28
-
29
  /**
30
- * @var string Blog's show on front setting, 'page' or 'posts'
 
 
31
  */
32
  private $show_on_front;
33
 
34
  /**
35
- * @var mixed Blog's page for posts setting, page id or false
 
 
36
  */
37
  private $page_for_posts;
38
 
39
  /**
40
- * @var mixed Current post object
 
 
41
  */
42
  private $post;
43
 
44
  /**
45
- * @var string HTML wrapper element for a single breadcrumb element
 
 
46
  */
47
  private $element = 'span';
48
 
49
  /**
50
- * @var string Yoast SEO breadcrumb separator
 
 
51
  */
52
  private $separator = '';
53
 
54
  /**
55
- * @var string HTML wrapper element for the Yoast SEO breadcrumbs output
 
 
56
  */
57
  private $wrapper = 'span';
58
 
59
  /**
60
- * @var array Array of crumbs
61
  *
62
  * Each element of the crumbs array can either have one of these keys:
63
  * "id" for post types;
64
  * "ptarchive" for a post type archive;
65
  * "term" for a taxonomy term.
66
  * OR it consists of a predefined set of 'text', 'url' and 'allow_html'.
 
 
67
  */
68
  private $crumbs = array();
69
 
70
  /**
71
- * @var array Count of the elements in the $crumbs property
 
 
72
  */
73
  private $crumb_count = 0;
74
 
75
  /**
76
- * @var array Array of individual (linked) html strings created from crumbs
 
 
77
  */
78
  private $links = array();
79
 
80
  /**
81
- * @var string Breadcrumb html string
 
 
82
  */
83
  private $output;
84
 
11
  class WPSEO_Breadcrumbs {
12
 
13
  /**
14
+ * Instance of this class.
15
+ *
16
+ * @var object
17
  */
18
  public static $instance;
19
 
20
  /**
21
+ * Last used 'before' string.
22
+ *
23
+ * @var string
24
  */
25
  public static $before = '';
26
 
27
  /**
28
+ * Last used 'after' string.
29
+ *
30
+ * @var string
31
  */
32
  public static $after = '';
33
 
 
34
  /**
35
+ * Blog's show on front setting, 'page' or 'posts'.
36
+ *
37
+ * @var string
38
  */
39
  private $show_on_front;
40
 
41
  /**
42
+ * Blog's page for posts setting, page id or false.
43
+ *
44
+ * @var mixed
45
  */
46
  private $page_for_posts;
47
 
48
  /**
49
+ * Current post object.
50
+ *
51
+ * @var mixed
52
  */
53
  private $post;
54
 
55
  /**
56
+ * HTML wrapper element for a single breadcrumb element.
57
+ *
58
+ * @var string
59
  */
60
  private $element = 'span';
61
 
62
  /**
63
+ * Yoast SEO breadcrumb separator.
64
+ *
65
+ * @var string
66
  */
67
  private $separator = '';
68
 
69
  /**
70
+ * HTML wrapper element for the Yoast SEO breadcrumbs output.
71
+ *
72
+ * @var string
73
  */
74
  private $wrapper = 'span';
75
 
76
  /**
77
+ * Array of crumbs.
78
  *
79
  * Each element of the crumbs array can either have one of these keys:
80
  * "id" for post types;
81
  * "ptarchive" for a post type archive;
82
  * "term" for a taxonomy term.
83
  * OR it consists of a predefined set of 'text', 'url' and 'allow_html'.
84
+ *
85
+ * @var array
86
  */
87
  private $crumbs = array();
88
 
89
  /**
90
+ * Count of the elements in the $crumbs property.
91
+ *
92
+ * @var array
93
  */
94
  private $crumb_count = 0;
95
 
96
  /**
97
+ * Array of individual (linked) html strings created from crumbs.
98
+ *
99
+ * @var array
100
  */
101
  private $links = array();
102
 
103
  /**
104
+ * Breadcrumb html string.
105
+ *
106
+ * @var string
107
  */
108
  private $output;
109
 
frontend/class-frontend.php CHANGED
@@ -10,48 +10,64 @@
10
  * default WordPress output.
11
  */
12
  class WPSEO_Frontend {
 
13
  /**
14
- * @var object Instance of this class.
 
 
15
  */
16
  public static $instance;
 
17
  /**
18
- * @var boolean Boolean indicating whether output buffering has been started.
 
 
19
  */
20
  private $ob_started = false;
 
21
  /**
22
  * Holds the canonical URL for the current page.
23
  *
24
  * @var string
25
  */
26
  private $canonical = null;
 
27
  /**
28
  * Holds the canonical URL for the current page that cannot be overriden by a manual canonical input.
29
  *
30
  * @var string
31
  */
32
  private $canonical_no_override = null;
 
33
  /**
34
  * Holds the canonical URL for the current page without pagination.
35
  *
36
  * @var string
37
  */
38
  private $canonical_unpaged = null;
 
39
  /**
40
  * Holds the pages meta description.
41
  *
42
  * @var string
43
  */
44
  private $metadesc = null;
 
45
  /**
46
  * Holds the generated title for the page.
47
  *
48
  * @var string
49
  */
50
  private $title = null;
51
- /** @var WPSEO_Frontend_Page_Type */
 
 
 
52
  protected $frontend_page_type;
53
 
54
- /** @var WPSEO_WooCommerce_Shop_Page */
 
 
55
  protected $woocommerce_shop_page;
56
 
57
  /**
@@ -125,6 +141,7 @@ class WPSEO_Frontend {
125
  $integrations = array(
126
  new WPSEO_Frontend_Primary_Category(),
127
  new WPSEO_JSON_LD(),
 
128
  new WPSEO_Remove_Reply_To_Com(),
129
  new WPSEO_OpenGraph_OEmbed(),
130
  $this->woocommerce_shop_page,
@@ -1179,8 +1196,8 @@ class WPSEO_Frontend {
1179
  printf(
1180
  /* Translators: %1$s resolves to the SEO menu item, %2$s resolves to the Search Appearance submenu item. */
1181
  esc_html__( 'Admin only notice: this page does not show a meta description because it does not have one, either write it for this page specifically or go into the [%1$s - %2$s] menu and set up a template.', 'wordpress-seo' ),
1182
- __( 'SEO', 'wordpress-seo' ),
1183
- __( 'Search Appearance', 'wordpress-seo' )
1184
  );
1185
  echo ' -->' . "\n";
1186
  }
@@ -1316,7 +1333,7 @@ class WPSEO_Frontend {
1316
  $redir = $this->get_seo_meta_value( 'redirect', $post->ID );
1317
  if ( $redir !== '' ) {
1318
  header( 'X-Redirect-By: Yoast SEO' );
1319
- wp_redirect( $redir, 301 );
1320
  exit;
1321
  }
1322
  }
@@ -1424,7 +1441,7 @@ class WPSEO_Frontend {
1424
  */
1425
  public function do_attachment_redirect( $attachment_url ) {
1426
  header( 'X-Redirect-By: Yoast SEO' );
1427
- wp_redirect( $attachment_url, 301 );
1428
  exit;
1429
  }
1430
 
@@ -1578,42 +1595,6 @@ class WPSEO_Frontend {
1578
  ob_start();
1579
  }
1580
 
1581
- /**
1582
- * Function used in testing whether the title should be force rewritten or not.
1583
- *
1584
- * @param string $title Title string.
1585
- *
1586
- * @return string
1587
- */
1588
- public function title_test_helper( $title ) {
1589
- WPSEO_Options::set( 'title_test', ( WPSEO_Options::get( 'title_test' ) + 1 ) );
1590
-
1591
- // Prevent this setting from being on forever when something breaks, as it breaks caching.
1592
- if ( WPSEO_Options::get( 'title_test' ) > 5 ) {
1593
- WPSEO_Options::set( 'title_test', 0 );
1594
-
1595
- remove_filter( 'wpseo_title', array( $this, 'title_test_helper' ) );
1596
-
1597
- return $title;
1598
- }
1599
-
1600
- if ( ! defined( 'DONOTCACHEPAGE' ) ) {
1601
- define( 'DONOTCACHEPAGE', true );
1602
- }
1603
- if ( ! defined( 'DONOTCACHCEOBJECT' ) ) {
1604
- define( 'DONOTCACHCEOBJECT', true );
1605
- }
1606
- if ( ! defined( 'DONOTMINIFY' ) ) {
1607
- define( 'DONOTMINIFY', true );
1608
- }
1609
-
1610
- if ( $_SERVER['HTTP_USER_AGENT'] === "WordPress/{$GLOBALS['wp_version']}; " . get_bloginfo( 'url' ) . ' - Yoast' ) {
1611
- return 'This is a Yoast Test Title';
1612
- }
1613
-
1614
- return $title;
1615
- }
1616
-
1617
  /**
1618
  * Get the product name in the head section.
1619
  *
@@ -1667,7 +1648,7 @@ class WPSEO_Frontend {
1667
  */
1668
  public function redirect( $location, $status = 302 ) {
1669
  header( 'X-Redirect-By: Yoast SEO' );
1670
- wp_safe_redirect( $location, $status );
1671
  exit;
1672
  }
1673
 
@@ -1951,4 +1932,20 @@ class WPSEO_Frontend {
1951
 
1952
  return $this->frontend_page_type->is_posts_page();
1953
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1954
  }
10
  * default WordPress output.
11
  */
12
  class WPSEO_Frontend {
13
+
14
  /**
15
+ * Instance of this class.
16
+ *
17
+ * @var object
18
  */
19
  public static $instance;
20
+
21
  /**
22
+ * Toggle indicating whether output buffering has been started.
23
+ *
24
+ * @var boolean
25
  */
26
  private $ob_started = false;
27
+
28
  /**
29
  * Holds the canonical URL for the current page.
30
  *
31
  * @var string
32
  */
33
  private $canonical = null;
34
+
35
  /**
36
  * Holds the canonical URL for the current page that cannot be overriden by a manual canonical input.
37
  *
38
  * @var string
39
  */
40
  private $canonical_no_override = null;
41
+
42
  /**
43
  * Holds the canonical URL for the current page without pagination.
44
  *
45
  * @var string
46
  */
47
  private $canonical_unpaged = null;
48
+
49
  /**
50
  * Holds the pages meta description.
51
  *
52
  * @var string
53
  */
54
  private $metadesc = null;
55
+
56
  /**
57
  * Holds the generated title for the page.
58
  *
59
  * @var string
60
  */
61
  private $title = null;
62
+
63
+ /**
64
+ * @var WPSEO_Frontend_Page_Type
65
+ */
66
  protected $frontend_page_type;
67
 
68
+ /**
69
+ * @var WPSEO_WooCommerce_Shop_Page
70
+ */
71
  protected $woocommerce_shop_page;
72
 
73
  /**
141
  $integrations = array(
142
  new WPSEO_Frontend_Primary_Category(),
143
  new WPSEO_JSON_LD(),
144
+ new WPSEO_Handle_404(),
145
  new WPSEO_Remove_Reply_To_Com(),
146
  new WPSEO_OpenGraph_OEmbed(),
147
  $this->woocommerce_shop_page,
1196
  printf(
1197
  /* Translators: %1$s resolves to the SEO menu item, %2$s resolves to the Search Appearance submenu item. */
1198
  esc_html__( 'Admin only notice: this page does not show a meta description because it does not have one, either write it for this page specifically or go into the [%1$s - %2$s] menu and set up a template.', 'wordpress-seo' ),
1199
+ esc_html__( 'SEO', 'wordpress-seo' ),
1200
+ esc_html__( 'Search Appearance', 'wordpress-seo' )
1201
  );
1202
  echo ' -->' . "\n";
1203
  }
1333
  $redir = $this->get_seo_meta_value( 'redirect', $post->ID );
1334
  if ( $redir !== '' ) {
1335
  header( 'X-Redirect-By: Yoast SEO' );
1336
+ wp_redirect( $redir, 301, 'Yoast SEO' );
1337
  exit;
1338
  }
1339
  }
1441
  */
1442
  public function do_attachment_redirect( $attachment_url ) {
1443
  header( 'X-Redirect-By: Yoast SEO' );
1444
+ wp_redirect( $attachment_url, 301, 'Yoast SEO' );
1445
  exit;
1446
  }
1447
 
1595
  ob_start();
1596
  }
1597
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1598
  /**
1599
  * Get the product name in the head section.
1600
  *
1648
  */
1649
  public function redirect( $location, $status = 302 ) {
1650
  header( 'X-Redirect-By: Yoast SEO' );
1651
+ wp_safe_redirect( $location, $status, 'Yoast SEO' );
1652
  exit;
1653
  }
1654
 
1932
 
1933
  return $this->frontend_page_type->is_posts_page();
1934
  }
1935
+
1936
+ /**
1937
+ * Function used in testing whether the title should be force rewritten or not.
1938
+ *
1939
+ * @deprecated 9.6
1940
+ * @codeCoverageIgnore
1941
+ *
1942
+ * @param string $title Title string.
1943
+ *
1944
+ * @return string
1945
+ */
1946
+ public function title_test_helper( $title ) {
1947
+ _deprecated_function( __METHOD__, 'WPSEO 9.6' );
1948
+
1949
+ return $title;
1950
+ }
1951
  }
frontend/class-handle-404.php ADDED
@@ -0,0 +1,92 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * WPSEO plugin file.
4
+ *
5
+ * @package WPSEO\Frontend
6
+ */
7
+
8
+ /**
9
+ * Class WPSEO_Handle_404
10
+ *
11
+ * Handles intercepting requests.
12
+ *
13
+ * @since 9.4
14
+ */
15
+ class WPSEO_Handle_404 implements WPSEO_WordPress_Integration {
16
+
17
+ /**
18
+ * Registers all hooks to WordPress.
19
+ *
20
+ * @return void
21
+ */
22
+ public function register_hooks() {
23
+ add_filter( 'pre_handle_404', array( $this, 'handle_404' ) );
24
+ }
25
+
26
+ /**
27
+ * Handle the 404 status code.
28
+ *
29
+ * @param bool $handled Whether we've handled the request.
30
+ *
31
+ * @return bool True if it's 404.
32
+ */
33
+ public function handle_404( $handled ) {
34
+
35
+ if ( is_feed() ) {
36
+ return $this->is_feed_404( $handled );
37
+ }
38
+
39
+ return $handled;
40
+ }
41
+
42
+ /**
43
+ * If there are no posts in a feed, make it 404 instead of sending an empty RSS feed.
44
+ *
45
+ * @global WP_Query $wp_query
46
+ *
47
+ * @param bool $handled Whether we've handled the request.
48
+ *
49
+ * @return bool True if it's 404.
50
+ */
51
+ protected function is_feed_404( $handled ) {
52
+ global $wp_query;
53
+
54
+ // Don't 404 if the query contains post(s) or an object.
55
+ if ( $wp_query->posts || $wp_query->get_queried_object() ) {
56
+ return $handled;
57
+ }
58
+
59
+ // Don't 404 if it isn't archive or singular.
60
+ if ( ! $wp_query->is_archive() && ! $wp_query->is_singular() ) {
61
+ return $handled;
62
+ }
63
+
64
+ $wp_query->is_feed = false;
65
+ $this->set_404();
66
+
67
+ add_filter( 'old_slug_redirect_url', '__return_false' );
68
+ add_filter( 'redirect_canonical', '__return_false' );
69
+
70
+ return true;
71
+ }
72
+
73
+ /**
74
+ * Sets the 404 status code.
75
+ *
76
+ * @global WP_Query $wp_query
77
+ *
78
+ * @return void
79
+ */
80
+ private function set_404() {
81
+ global $wp_query;
82
+
83
+ // Overwrite Content-Type header.
84
+ if ( ! headers_sent() ) {
85
+ header( 'Content-Type: ' . get_option( 'html_type' ) . '; charset=' . get_option( 'blog_charset' ) );
86
+ }
87
+
88
+ $wp_query->set_404();
89
+ status_header( 404 );
90
+ nocache_headers();
91
+ }
92
+ }
frontend/class-json-ld.php CHANGED
@@ -14,11 +14,16 @@
14
  */
15
  class WPSEO_JSON_LD implements WPSEO_WordPress_Integration {
16
  /**
17
- * @var array Holds the social profiles for the entity
 
 
18
  */
19
  private $profiles = array();
 
20
  /**
21
- * @var array Holds the data to put out
 
 
22
  */
23
  private $data = array();
24
 
@@ -38,7 +43,9 @@ class WPSEO_JSON_LD implements WPSEO_WordPress_Integration {
38
  * @since 1.8
39
  */
40
  public function json_ld() {
41
- do_action( 'wpseo_json_ld' );
 
 
42
  }
43
 
44
  /**
14
  */
15
  class WPSEO_JSON_LD implements WPSEO_WordPress_Integration {
16
  /**
17
+ * Holds the social profiles for the entity.
18
+ *
19
+ * @var array
20
  */
21
  private $profiles = array();
22
+
23
  /**
24
+ * Holds the data to put out.
25
+ *
26
+ * @var array
27
  */
28
  private $data = array();
29
 
43
  * @since 1.8
44
  */
45
  public function json_ld() {
46
+ if ( ! is_404() ) {
47
+ do_action( 'wpseo_json_ld' );
48
+ }
49
  }
50
 
51
  /**
frontend/class-opengraph.php CHANGED
@@ -10,7 +10,9 @@
10
  */
11
  class WPSEO_OpenGraph {
12
 
13
- /** @var WPSEO_Frontend_Page_Type */
 
 
14
  protected $frontend_page_type;
15
 
16
  /**
10
  */
11
  class WPSEO_OpenGraph {
12
 
13
+ /**
14
+ * @var WPSEO_Frontend_Page_Type
15
+ */
16
  protected $frontend_page_type;
17
 
18
  /**
frontend/class-remove-reply-to-com.php CHANGED
@@ -48,8 +48,11 @@ class WPSEO_Remove_Reply_To_Com implements WPSEO_WordPress_Integration {
48
  public function replytocom_redirect() {
49
  if ( isset( $_GET['replytocom'] ) && is_singular() ) {
50
  $url = get_permalink( $GLOBALS['post']->ID );
51
- $hash = sanitize_text_field( $_GET['replytocom'] );
52
- $query_string = remove_query_arg( 'replytocom', sanitize_text_field( $_SERVER['QUERY_STRING'] ) );
 
 
 
53
  if ( ! empty( $query_string ) ) {
54
  $url .= '?' . $query_string;
55
  }
48
  public function replytocom_redirect() {
49
  if ( isset( $_GET['replytocom'] ) && is_singular() ) {
50
  $url = get_permalink( $GLOBALS['post']->ID );
51
+ $hash = sanitize_text_field( wp_unslash( $_GET['replytocom'] ) );
52
+ $query_string = '';
53
+ if ( isset( $_SERVER['QUERY_STRING'] ) ) {
54
+ $query_string = remove_query_arg( 'replytocom', sanitize_text_field( wp_unslash( $_SERVER['QUERY_STRING'] ) ) );
55
+ }
56
  if ( ! empty( $query_string ) ) {
57
  $url .= '?' . $query_string;
58
  }
frontend/class-twitter.php CHANGED
@@ -13,21 +13,29 @@
13
  class WPSEO_Twitter {
14
 
15
  /**
16
- * @var object Instance of this class
 
 
17
  */
18
  public static $instance;
19
 
20
  /**
21
- * @var array Images
 
 
22
  */
23
  private $images = array();
24
 
25
  /**
26
- * @var array Images
 
 
27
  */
28
  public $shown_images = array();
29
 
30
- /** @var WPSEO_Frontend_Page_Type */
 
 
31
  protected $frontend_page_type;
32
 
33
  /**
13
  class WPSEO_Twitter {
14
 
15
  /**
16
+ * Instance of this class.
17
+ *
18
+ * @var object
19
  */
20
  public static $instance;
21
 
22
  /**
23
+ * Images.
24
+ *
25
+ * @var array
26
  */
27
  private $images = array();
28
 
29
  /**
30
+ * Images.
31
+ *
32
+ * @var array
33
  */
34
  public $shown_images = array();
35
 
36
+ /**
37
+ * @var WPSEO_Frontend_Page_Type
38
+ */
39
  protected $frontend_page_type;
40
 
41
  /**
inc/class-rewrite.php CHANGED
@@ -104,7 +104,7 @@ class WPSEO_Rewrite {
104
  $catlink = trailingslashit( get_option( 'home' ) ) . user_trailingslashit( $query_vars['wpseo_category_redirect'], 'category' );
105
 
106
  header( 'X-Redirect-By: Yoast SEO' );
107
- wp_redirect( $catlink, 301 );
108
  exit;
109
  }
110
 
104
  $catlink = trailingslashit( get_option( 'home' ) ) . user_trailingslashit( $query_vars['wpseo_category_redirect'], 'category' );
105
 
106
  header( 'X-Redirect-By: Yoast SEO' );
107
+ wp_redirect( $catlink, 301, 'Yoast SEO' );
108
  exit;
109
  }
110
 
inc/class-upgrade.php CHANGED
@@ -124,6 +124,10 @@ class WPSEO_Upgrade {
124
  $this->upgrade90();
125
  }
126
 
 
 
 
 
127
  // Since 3.7.
128
  $upsell_notice = new WPSEO_Product_Upsell_Notice();
129
  $upsell_notice->set_upgrade_notice();
@@ -630,6 +634,15 @@ class WPSEO_Upgrade {
630
  $wpdb->query( 'DELETE FROM ' . $wpdb->options . ' WHERE option_name LIKE "wpseo_sitemap_%"' );
631
  }
632
 
 
 
 
 
 
 
 
 
 
633
  /**
634
  * Removes the post meta fields for a given meta key.
635
  *
124
  $this->upgrade90();
125
  }
126
 
127
+ if ( version_compare( $version, '9.6-RC0', '<' ) ) {
128
+ $this->upgrade96();
129
+ }
130
+
131
  // Since 3.7.
132
  $upsell_notice = new WPSEO_Product_Upsell_Notice();
133
  $upsell_notice->set_upgrade_notice();
634
  $wpdb->query( 'DELETE FROM ' . $wpdb->options . ' WHERE option_name LIKE "wpseo_sitemap_%"' );
635
  }
636
 
637
+ /**
638
+ * Performs the 9.6 upgrade.
639
+ *
640
+ * @return void
641
+ */
642
+ private function upgrade96() {
643
+ Yoast_Notification_Center::get()->remove_notification_by_id( 'wpseo-recalibration-meta-notification' );
644
+ }
645
+
646
  /**
647
  * Removes the post meta fields for a given meta key.
648
  *
inc/class-wpseo-admin-bar-menu.php CHANGED
@@ -10,22 +10,46 @@
10
  */
11
  class WPSEO_Admin_Bar_Menu implements WPSEO_WordPress_Integration {
12
 
13
- /** The identifier used for the menu. */
 
 
 
 
14
  const MENU_IDENTIFIER = 'wpseo-menu';
15
 
16
- /** The identifier used for the Keyword Research submenu. */
 
 
 
 
17
  const KEYWORD_RESEARCH_SUBMENU_IDENTIFIER = 'wpseo-kwresearch';
18
 
19
- /** The identifier used for the Analysis submenu. */
 
 
 
 
20
  const ANALYSIS_SUBMENU_IDENTIFIER = 'wpseo-analysis';
21
 
22
- /** The identifier used for the Settings submenu. */
 
 
 
 
23
  const SETTINGS_SUBMENU_IDENTIFIER = 'wpseo-settings';
24
 
25
- /** The identifier used for the Network Settings submenu. */
 
 
 
 
26
  const NETWORK_SETTINGS_SUBMENU_IDENTIFIER = 'wpseo-network-settings';
27
 
28
- /** @var WPSEO_Admin_Asset_Manager Asset manager instance. */
 
 
 
 
29
  protected $asset_manager;
30
 
31
  /**
10
  */
11
  class WPSEO_Admin_Bar_Menu implements WPSEO_WordPress_Integration {
12
 
13
+ /**
14
+ * The identifier used for the menu.
15
+ *
16
+ * @var string
17
+ */
18
  const MENU_IDENTIFIER = 'wpseo-menu';
19
 
20
+ /**
21
+ * The identifier used for the Keyword Research submenu.
22
+ *
23
+ * @var string
24
+ */
25
  const KEYWORD_RESEARCH_SUBMENU_IDENTIFIER = 'wpseo-kwresearch';
26
 
27
+ /**
28
+ * The identifier used for the Analysis submenu.
29
+ *
30
+ * @var string
31
+ */
32
  const ANALYSIS_SUBMENU_IDENTIFIER = 'wpseo-analysis';
33
 
34
+ /**
35
+ * The identifier used for the Settings submenu.
36
+ *
37
+ * @var string
38
+ */
39
  const SETTINGS_SUBMENU_IDENTIFIER = 'wpseo-settings';
40
 
41
+ /**
42
+ * The identifier used for the Network Settings submenu.
43
+ *
44
+ * @var string
45
+ */
46
  const NETWORK_SETTINGS_SUBMENU_IDENTIFIER = 'wpseo-network-settings';
47
 
48
+ /**
49
+ * Asset manager instance.
50
+ *
51
+ * @var WPSEO_Admin_Asset_Manager
52
+ */
53
  protected $asset_manager;
54
 
55
  /**
inc/class-wpseo-meta.php CHANGED
@@ -979,22 +979,6 @@ class WPSEO_Meta {
979
  return $merged;
980
  }
981
 
982
- /**
983
- * Get a value from $_POST for a given key
984
- * Returns the $_POST value if exists, returns an empty string if key does not exist
985
- *
986
- * @static
987
- *
988
- * @param string $key Key of the value to get from $_POST.
989
- *
990
- * @return string Returns $_POST value, which will be a string the majority of the time
991
- * Will return empty string if key does not exists in $_POST
992
- */
993
- public static function get_post_value( $key ) {
994
- // @codingStandardsIgnoreLine
995
- return ( array_key_exists( $key, $_POST ) ) ? $_POST[ $key ] : '';
996
- }
997
-
998
  /**
999
  * Counts the total of all the keywords being used for posts except the given one
1000
  *
@@ -1043,4 +1027,27 @@ class WPSEO_Meta {
1043
 
1044
  return $get_posts->posts;
1045
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1046
  } /* End of class */
979
  return $merged;
980
  }
981
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
982
  /**
983
  * Counts the total of all the keywords being used for posts except the given one
984
  *
1027
 
1028
  return $get_posts->posts;
1029
  }
1030
+
1031
+ /* ********************* DEPRECATED METHODS ********************* */
1032
+
1033
+ /**
1034
+ * Get a value from $_POST for a given key
1035
+ * Returns the $_POST value if exists, returns an empty string if key does not exist
1036
+ *
1037
+ * @static
1038
+ *
1039
+ * @deprecated 9.6
1040
+ * @codeCoverageIgnore
1041
+ *
1042
+ * @param string $key Key of the value to get from $_POST.
1043
+ *
1044
+ * @return string Returns $_POST value, which will be a string the majority of the time
1045
+ * Will return empty string if key does not exists in $_POST
1046
+ */
1047
+ public static function get_post_value( $key ) {
1048
+ _deprecated_function( __METHOD__, 'WPSEO 9.6' );
1049
+
1050
+ // @codingStandardsIgnoreLine
1051
+ return ( array_key_exists( $key, $_POST ) ) ? $_POST[ $key ] : '';
1052
+ }
1053
  } /* End of class */
inc/class-wpseo-utils.php CHANGED
@@ -88,11 +88,13 @@ class WPSEO_Utils {
88
  * @return bool
89
  */
90
  public static function is_apache() {
91
- if ( isset( $_SERVER['SERVER_SOFTWARE'] ) && stristr( $_SERVER['SERVER_SOFTWARE'], 'apache' ) !== false ) {
92
- return true;
93
  }
94
 
95
- return false;
 
 
96
  }
97
 
98
  /**
@@ -105,11 +107,13 @@ class WPSEO_Utils {
105
  * @return bool
106
  */
107
  public static function is_nginx() {
108
- if ( isset( $_SERVER['SERVER_SOFTWARE'] ) && stristr( $_SERVER['SERVER_SOFTWARE'], 'nginx' ) !== false ) {
109
- return true;
110
  }
111
 
112
- return false;
 
 
113
  }
114
 
115
  /**
88
  * @return bool
89
  */
90
  public static function is_apache() {
91
+ if ( ! isset( $_SERVER['SERVER_SOFTWARE'] ) ) {
92
+ return false;
93
  }
94
 
95
+ $software = sanitize_text_field( wp_unslash( $_SERVER['SERVER_SOFTWARE'] ) );
96
+
97
+ return stripos( $software, 'apache' ) !== false;
98
  }
99
 
100
  /**
107
  * @return bool
108
  */
109
  public static function is_nginx() {
110
+ if ( ! isset( $_SERVER['SERVER_SOFTWARE'] ) ) {
111
+ return false;
112
  }
113
 
114
+ $software = sanitize_text_field( wp_unslash( $_SERVER['SERVER_SOFTWARE'] ) );
115
+
116
+ return stripos( $software, 'nginx' ) !== false;
117
  }
118
 
119
  /**
inc/options/class-wpseo-option-wpseo.php CHANGED
@@ -11,13 +11,18 @@
11
  class WPSEO_Option_Wpseo extends WPSEO_Option {
12
 
13
  /**
14
- * @var string Option name.
 
 
15
  */
16
  public $option_name = 'wpseo';
17
 
18
  /**
19
- * @var array Array of defaults for the option.
20
- * Shouldn't be requested directly, use $this->get_defaults();
 
 
 
21
  */
22
  protected $defaults = array(
23
  // Non-form fields, set via (ajax) function.
@@ -47,7 +52,9 @@ class WPSEO_Option_Wpseo extends WPSEO_Option {
47
  );
48
 
49
  /**
50
- * @var array Sub-options which should not be overloaded with multi-site defaults.
 
 
51
  */
52
  public $ms_exclude = array(
53
  /* Privacy. */
@@ -57,7 +64,11 @@ class WPSEO_Option_Wpseo extends WPSEO_Option {
57
  'yandexverify',
58
  );
59
 
60
- /** @var array Possible values for the site_type option. */
 
 
 
 
61
  protected $site_types = array(
62
  '',
63
  'blog',
@@ -68,7 +79,11 @@ class WPSEO_Option_Wpseo extends WPSEO_Option {
68
  'personalOther',
69
  );
70
 
71
- /** @var array Possible environment types. */
 
 
 
 
72
  protected $environment_types = array(
73
  '',
74
  'production',
@@ -76,7 +91,11 @@ class WPSEO_Option_Wpseo extends WPSEO_Option {
76
  'development',
77
  );
78
 
79
- /** @var array Possible has_multiple_authors options. */
 
 
 
 
80
  protected $has_multiple_authors_options = array(
81
  '',
82
  true,
@@ -84,7 +103,9 @@ class WPSEO_Option_Wpseo extends WPSEO_Option {
84
  );
85
 
86
  /**
87
- * @var string Name for an option higher in the hierarchy to override setting access.
 
 
88
  */
89
  protected $override_option_name = 'wpseo_ms';
90
 
11
  class WPSEO_Option_Wpseo extends WPSEO_Option {
12
 
13
  /**
14
+ * Option name.
15
+ *
16
+ * @var string
17
  */
18
  public $option_name = 'wpseo';
19
 
20
  /**
21
+ * Array of defaults for the option.
22
+ *
23
+ * {@internal Shouldn't be requested directly, use $this->get_defaults();}}
24
+ *
25
+ * @var array
26
  */
27
  protected $defaults = array(
28
  // Non-form fields, set via (ajax) function.
52
  );
53
 
54
  /**
55
+ * Sub-options which should not be overloaded with multi-site defaults.
56
+ *
57
+ * @var array
58
  */
59
  public $ms_exclude = array(
60
  /* Privacy. */
64
  'yandexverify',
65
  );
66
 
67
+ /**
68
+ * Possible values for the site_type option.
69
+ *
70
+ * @var array
71
+ */
72
  protected $site_types = array(
73
  '',
74
  'blog',
79
  'personalOther',
80
  );
81
 
82
+ /**
83
+ * Possible environment types.
84
+ *
85
+ * @var array
86
+ */
87
  protected $environment_types = array(
88
  '',
89
  'production',
91
  'development',
92
  );
93
 
94
+ /**
95
+ * Possible has_multiple_authors options.
96
+ *
97
+ * @var array
98
+ */
99
  protected $has_multiple_authors_options = array(
100
  '',
101
  true,
103
  );
104
 
105
  /**
106
+ * Name for an option higher in the hierarchy to override setting access.
107
+ *
108
+ * @var string
109
  */
110
  protected $override_option_name = 'wpseo_ms';
111
 
inc/options/class-wpseo-option.php CHANGED
@@ -63,54 +63,76 @@ abstract class WPSEO_Option {
63
  const ALLOW_KEY_PREFIX = 'allow_';
64
 
65
  /**
66
- * @var string Option name - MUST be set in concrete class and set to public.
 
 
67
  */
68
  protected $option_name;
69
 
70
  /**
71
- * @var string Option group name for use in settings forms
72
- * - will be set automagically if not set in concrete class
73
- * (i.e. if it confirm to the normal pattern 'yoast' . $option_name . 'options',
74
- * only set in conrete class if it doesn't)
 
 
 
75
  */
76
  public $group_name;
77
 
78
  /**
79
- * @var bool Whether to include the option in the return for WPSEO_Options::get_all().
80
- * Also determines which options are copied over for ms_(re)set_blog().
 
 
 
81
  */
82
  public $include_in_all = true;
83
 
84
  /**
85
- * @var bool Whether this option is only for when the install is multisite.
 
 
86
  */
87
  public $multisite_only = false;
88
 
89
  /**
90
- * @var array Array of defaults for the option - MUST be set in concrete class.
91
- * Shouldn't be requested directly, use $this->get_defaults();
 
 
 
92
  */
93
  protected $defaults;
94
 
95
  /**
96
- * @var array Array of variable option name patterns for the option - if any -
97
- * Set this when the option contains array keys which vary based on post_type
98
- * or taxonomy.
 
 
 
99
  */
100
  protected $variable_array_key_patterns;
101
 
102
  /**
103
- * @var array Array of sub-options which should not be overloaded with multi-site defaults.
 
 
104
  */
105
  public $ms_exclude = array();
106
 
107
  /**
108
- * @var string Name for an option higher in the hierarchy to override setting access.
 
 
109
  */
110
  protected $override_option_name;
111
 
112
  /**
113
- * @var object Instance of this class.
 
 
114
  */
115
  protected static $instance;
116
 
63
  const ALLOW_KEY_PREFIX = 'allow_';
64
 
65
  /**
66
+ * Option name - MUST be set in concrete class and set to public.
67
+ *
68
+ * @var string
69
  */
70
  protected $option_name;
71
 
72
  /**
73
+ * Option group name for use in settings forms.
74
+ *
75
+ * Will be set automagically if not set in concrete class (i.e.
76
+ * if it confirm to the normal pattern 'yoast' . $option_name . 'options',
77
+ * only set in conrete class if it doesn't).
78
+ *
79
+ * @var string
80
  */
81
  public $group_name;
82
 
83
  /**
84
+ * Whether to include the option in the return for WPSEO_Options::get_all().
85
+ *
86
+ * Also determines which options are copied over for ms_(re)set_blog().
87
+ *
88
+ * @var bool
89
  */
90
  public $include_in_all = true;
91
 
92
  /**
93
+ * Whether this option is only for when the install is multisite.
94
+ *
95
+ * @var bool
96
  */
97
  public $multisite_only = false;
98
 
99
  /**
100
+ * Array of defaults for the option - MUST be set in concrete class.
101
+ *
102
+ * Shouldn't be requested directly, use $this->get_defaults();
103
+ *
104
+ * @var array
105
  */
106
  protected $defaults;
107
 
108
  /**
109
+ * Array of variable option name patterns for the option - if any -.
110
+ *
111
+ * Set this when the option contains array keys which vary based on post_type
112
+ * or taxonomy.
113
+ *
114
+ * @var array
115
  */
116
  protected $variable_array_key_patterns;
117
 
118
  /**
119
+ * Array of sub-options which should not be overloaded with multi-site defaults.
120
+ *
121
+ * @var array
122
  */
123
  public $ms_exclude = array();
124
 
125
  /**
126
+ * Name for an option higher in the hierarchy to override setting access.
127
+ *
128
+ * @var string
129
  */
130
  protected $override_option_name;
131
 
132
  /**
133
+ * Instance of this class.
134
+ *
135
+ * @var object
136
  */
137
  protected static $instance;
138
 
inc/options/class-wpseo-options-backfill.php CHANGED
@@ -11,7 +11,12 @@
11
  * @since 7.0.2
12
  */
13
  class WPSEO_Options_Backfill implements WPSEO_WordPress_Integration {
14
- /** @var bool Are the filters hooked or not. */
 
 
 
 
 
15
  protected $hooked = false;
16
 
17
  /**
11
  * @since 7.0.2
12
  */
13
  class WPSEO_Options_Backfill implements WPSEO_WordPress_Integration {
14
+
15
+ /**
16
+ * Are the filters hooked or not.
17
+ *
18
+ * @var bool
19
+ */
20
  protected $hooked = false;
21
 
22
  /**
inc/options/class-wpseo-options.php CHANGED
@@ -11,9 +11,11 @@
11
  * Instantiates all the options and offers a number of utility methods to work with the options.
12
  */
13
  class WPSEO_Options {
 
14
  /**
15
- * @var array Options this class uses.
16
- * Array format: (string) option_name => (string) name of concrete class for the option
 
17
  * @static
18
  */
19
  public static $options = array(
@@ -23,16 +25,26 @@ class WPSEO_Options {
23
  'wpseo_ms' => 'WPSEO_Option_MS',
24
  'wpseo_taxonomy_meta' => 'WPSEO_Taxonomy_Meta',
25
  );
 
26
  /**
27
- * @var array Array of instantiated option objects.
 
 
28
  */
29
  protected static $option_instances = array();
 
30
  /**
31
- * @var object Instance of this class.
 
 
32
  */
33
  protected static $instance;
34
 
35
- /** @var WPSEO_Options_Backfill Backfill instance. */
 
 
 
 
36
  protected static $backfill;
37
 
38
  /**
11
  * Instantiates all the options and offers a number of utility methods to work with the options.
12
  */
13
  class WPSEO_Options {
14
+
15
  /**
16
+ * Options this class uses.
17
+ *
18
+ * @var array Array format: (string) option_name => (string) name of concrete class for the option.
19
  * @static
20
  */
21
  public static $options = array(
25
  'wpseo_ms' => 'WPSEO_Option_MS',
26
  'wpseo_taxonomy_meta' => 'WPSEO_Taxonomy_Meta',
27
  );
28
+
29
  /**
30
+ * Array of instantiated option objects.
31
+ *
32
+ * @var array
33
  */
34
  protected static $option_instances = array();
35
+
36
  /**
37
+ * Instance of this class.
38
+ *
39
+ * @var object
40
  */
41
  protected static $instance;
42
 
43
+ /**
44
+ * Backfill instance.
45
+ *
46
+ * @var WPSEO_Options_Backfill
47
+ */
48
  protected static $backfill;
49
 
50
  /**
inc/sitemaps/class-post-type-sitemap-provider.php CHANGED
@@ -10,19 +10,39 @@
10
  */
11
  class WPSEO_Post_Type_Sitemap_Provider implements WPSEO_Sitemap_Provider {
12
 
13
- /** @var string $home_url Holds the home_url() value. */
 
 
 
 
14
  protected static $home_url;
15
 
16
- /** @var WPSEO_Sitemap_Image_Parser $image_parser Holds image parser instance. */
 
 
 
 
17
  protected static $image_parser;
18
 
19
- /** @var object $classifier Holds instance of classifier for a link. */
 
 
 
 
20
  protected static $classifier;
21
 
22
- /** @var int $page_on_front_id Static front page ID. */
 
 
 
 
23
  protected static $page_on_front_id;
24
 
25
- /** @var int $page_for_posts_id Posts page ID. */
 
 
 
 
26
  protected static $page_for_posts_id;
27
 
28
  /**
10
  */
11
  class WPSEO_Post_Type_Sitemap_Provider implements WPSEO_Sitemap_Provider {
12
 
13
+ /**
14
+ * Holds the home_url() value.
15
+ *
16
+ * @var string
17
+ */
18
  protected static $home_url;
19
 
20
+ /**
21
+ * Holds image parser instance.
22
+ *
23
+ * @var WPSEO_Sitemap_Image_Parser
24
+ */
25
  protected static $image_parser;
26
 
27
+ /**
28
+ * Holds instance of classifier for a link.
29
+ *
30
+ * @var object
31
+ */
32
  protected static $classifier;
33
 
34
+ /**
35
+ * Static front page ID.
36
+ *
37
+ * @var int
38
+ */
39
  protected static $page_on_front_id;
40
 
41
+ /**
42
+ * Posts page ID.
43
+ *
44
+ * @var int
45
+ */
46
  protected static $page_for_posts_id;
47
 
48
  /**
inc/sitemaps/class-sitemap-cache-data.php CHANGED
@@ -10,10 +10,18 @@
10
  */
11
  class WPSEO_Sitemap_Cache_Data implements WPSEO_Sitemap_Cache_Data_Interface, Serializable {
12
 
13
- /** @var string Sitemap XML data. */
 
 
 
 
14
  private $sitemap = '';
15
 
16
- /** @var string Status of the sitemap, usable or not. */
 
 
 
 
17
  private $status = self::UNKNOWN;
18
 
19
  /**
10
  */
11
  class WPSEO_Sitemap_Cache_Data implements WPSEO_Sitemap_Cache_Data_Interface, Serializable {
12
 
13
+ /**
14
+ * Sitemap XML data.
15
+ *
16
+ * @var string
17
+ */
18
  private $sitemap = '';
19
 
20
+ /**
21
+ * Status of the sitemap, usable or not.
22
+ *
23
+ * @var string
24
+ */
25
  private $status = self::UNKNOWN;
26
 
27
  /**
inc/sitemaps/class-sitemap-image-parser.php CHANGED
@@ -10,19 +10,39 @@
10
  */
11
  class WPSEO_Sitemap_Image_Parser {
12
 
13
- /** @var string $home_url Holds the home_url() value to speed up loops. */
 
 
 
 
14
  protected $home_url = '';
15
 
16
- /** @var string $host Holds site URL hostname. */
 
 
 
 
17
  protected $host = '';
18
 
19
- /** @var string $scheme Holds site URL protocol. */
 
 
 
 
20
  protected $scheme = 'http';
21
 
22
- /** @var array $attachments Cached set of attachments for multiple posts. */
 
 
 
 
23
  protected $attachments = array();
24
 
25
- /** @var string $charset Holds blog charset value for use in DOM parsing. */
 
 
 
 
26
  protected $charset = 'UTF-8';
27
 
28
  /**
10
  */
11
  class WPSEO_Sitemap_Image_Parser {
12
 
13
+ /**
14
+ * Holds the home_url() value to speed up loops.
15
+ *
16
+ * @var string
17
+ */
18
  protected $home_url = '';
19
 
20
+ /**
21
+ * Holds site URL hostname.
22
+ *
23
+ * @var string
24
+ */
25
  protected $host = '';
26
 
27
+ /**
28
+ * Holds site URL protocol.
29
+ *
30
+ * @var string
31
+ */
32
  protected $scheme = 'http';
33
 
34
+ /**
35
+ * Cached set of attachments for multiple posts.
36
+ *
37
+ * @var array
38
+ */
39
  protected $attachments = array();
40
 
41
+ /**
42
+ * Holds blog charset value for use in DOM parsing.
43
+ *
44
+ * @var string
45
+ */
46
  protected $charset = 'UTF-8';
47
 
48
  /**
inc/sitemaps/class-sitemaps-admin.php CHANGED
@@ -9,8 +9,11 @@
9
  * Class that handles the Admin side of XML sitemaps
10
  */
11
  class WPSEO_Sitemaps_Admin {
 
12
  /**
13
- * @var array Post_types that are being imported.
 
 
14
  */
15
  private $importing_post_types = array();
16
 
9
  * Class that handles the Admin side of XML sitemaps
10
  */
11
  class WPSEO_Sitemaps_Admin {
12
+
13
  /**
14
+ * Post_types that are being imported.
15
+ *
16
+ * @var array
17
  */
18
  private $importing_post_types = array();
19
 
inc/sitemaps/class-sitemaps-cache-validator.php CHANGED
@@ -12,13 +12,25 @@
12
  */
13
  class WPSEO_Sitemaps_Cache_Validator {
14
 
15
- /** @var string Prefix of the transient key for sitemap caches */
 
 
 
 
16
  const STORAGE_KEY_PREFIX = 'yst_sm_';
17
 
18
- /** Name of the option that holds the global validation value */
 
 
 
 
19
  const VALIDATION_GLOBAL_KEY = 'wpseo_sitemap_cache_validator_global';
20
 
21
- /** The format which creates the key of the option that holds the type validation value */
 
 
 
 
22
  const VALIDATION_TYPE_KEY_FORMAT = 'wpseo_sitemap_%s_cache_validator';
23
 
24
  /**
12
  */
13
  class WPSEO_Sitemaps_Cache_Validator {
14
 
15
+ /**
16
+ * Prefix of the transient key for sitemap caches.
17
+ *
18
+ * @var string
19
+ */
20
  const STORAGE_KEY_PREFIX = 'yst_sm_';
21
 
22
+ /**
23
+ * Name of the option that holds the global validation value.
24
+ *
25
+ * @var string
26
+ */
27
  const VALIDATION_GLOBAL_KEY = 'wpseo_sitemap_cache_validator_global';
28
 
29
+ /**
30
+ * The format which creates the key of the option that holds the type validation value.
31
+ *
32
+ * @var string
33
+ */
34
  const VALIDATION_TYPE_KEY_FORMAT = 'wpseo_sitemap_%s_cache_validator';
35
 
36
  /**
inc/sitemaps/class-sitemaps-cache.php CHANGED
@@ -12,16 +12,32 @@
12
  */
13
  class WPSEO_Sitemaps_Cache {
14
 
15
- /** @var array $cache_clear Holds the options that, when updated, should cause the cache to clear. */
 
 
 
 
16
  protected static $cache_clear = array();
17
 
18
- /** @var bool $is_enabled Mirror of enabled status for static calls. */
 
 
 
 
19
  protected static $is_enabled = false;
20
 
21
- /** @var bool $clear_all Holds the flag to clear all cache. */
 
 
 
 
22
  protected static $clear_all = false;
23
 
24
- /** @var array $clear_types Holds the array of types to clear. */
 
 
 
 
25
  protected static $clear_types = array();
26
 
27
  /**
12
  */
13
  class WPSEO_Sitemaps_Cache {
14
 
15
+ /**
16
+ * Holds the options that, when updated, should cause the cache to clear.
17
+ *
18
+ * @var array
19
+ */
20
  protected static $cache_clear = array();
21
 
22
+ /**
23
+ * Mirror of enabled status for static calls.
24
+ *
25
+ * @var bool
26
+ */
27
  protected static $is_enabled = false;
28
 
29
+ /**
30
+ * Holds the flag to clear all cache.
31
+ *
32
+ * @var bool
33
+ */
34
  protected static $clear_all = false;
35
 
36
+ /**
37
+ * Holds the array of types to clear.
38
+ *
39
+ * @var array
40
+ */
41
  protected static $clear_types = array();
42
 
43
  /**
inc/sitemaps/class-sitemaps-renderer.php CHANGED
@@ -10,19 +10,39 @@
10
  */
11
  class WPSEO_Sitemaps_Renderer {
12
 
13
- /** @var string $stylesheet XSL stylesheet for styling a sitemap for web browsers. */
 
 
 
 
14
  protected $stylesheet = '';
15
 
16
- /** @var string $charset Holds the get_bloginfo( 'charset' ) value to reuse for performance. */
 
 
 
 
17
  protected $charset = 'UTF-8';
18
 
19
- /** @var string $output_charset Holds charset of output, might be converted. */
 
 
 
 
20
  protected $output_charset = 'UTF-8';
21
 
22
- /** @var bool $needs_conversion If data encoding needs to be converted for output. */
 
 
 
 
23
  protected $needs_conversion = false;
24
 
25
- /** @var WPSEO_Sitemap_Timezone $timezone */
 
 
 
 
26
  protected $timezone;
27
 
28
  /**
10
  */
11
  class WPSEO_Sitemaps_Renderer {
12
 
13
+ /**
14
+ * XSL stylesheet for styling a sitemap for web browsers.
15
+ *
16
+ * @var string
17
+ */
18
  protected $stylesheet = '';
19
 
20
+ /**
21
+ * Holds the get_bloginfo( 'charset' ) value to reuse for performance.
22
+ *
23
+ * @var string
24
+ */
25
  protected $charset = 'UTF-8';
26
 
27
+ /**
28
+ * Holds charset of output, might be converted.
29
+ *
30
+ * @var string
31
+ */
32
  protected $output_charset = 'UTF-8';
33
 
34
+ /**
35
+ * If data encoding needs to be converted for output.
36
+ *
37
+ * @var bool
38
+ */
39
  protected $needs_conversion = false;
40
 
41
+ /**
42
+ * Timezone.
43
+ *
44
+ * @var WPSEO_Sitemap_Timezone
45
+ */
46
  protected $timezone;
47
 
48
  /**
inc/sitemaps/class-sitemaps-router.php CHANGED
@@ -61,7 +61,7 @@ class WPSEO_Sitemaps_Router {
61
  }
62
 
63
  header( 'X-Redirect-By: Yoast SEO' );
64
- wp_redirect( home_url( '/sitemap_index.xml' ), 301 );
65
  exit;
66
  }
67
 
61
  }
62
 
63
  header( 'X-Redirect-By: Yoast SEO' );
64
+ wp_redirect( home_url( '/sitemap_index.xml' ), 301, 'Yoast SEO' );
65
  exit;
66
  }
67
 
inc/sitemaps/class-sitemaps.php CHANGED
@@ -15,48 +15,73 @@ class WPSEO_Sitemaps {
15
  /** Sitemap index identifier. */
16
  const SITEMAP_INDEX_TYPE = '1';
17
 
18
- /** @var string $sitemap Content of the sitemap to output. */
 
 
 
 
19
  protected $sitemap = '';
20
 
21
- /** @var bool $bad_sitemap Flag to indicate if this is an invalid or empty sitemap. */
 
 
 
 
22
  public $bad_sitemap = false;
23
 
24
- /** @var bool $transient Whether or not the XML sitemap was served from a transient or not. */
 
 
 
 
25
  private $transient = false;
26
 
27
  /**
28
- * @var string $http_protocol HTTP protocol to use in headers.
 
29
  * @since 3.2
 
 
30
  */
31
  protected $http_protocol = 'HTTP/1.1';
32
 
33
- /** @var int $current_page Holds the n variable. */
 
 
 
 
34
  private $current_page = 1;
35
 
36
- /** @var WPSEO_Sitemap_Timezone $timezone */
 
 
37
  private $timezone;
38
 
39
  /**
40
- * @var WPSEO_Sitemaps_Router $router
41
  * @since 3.2
 
 
42
  */
43
  public $router;
44
 
45
  /**
46
- * @var WPSEO_Sitemaps_Renderer $renderer
47
  * @since 3.2
 
 
48
  */
49
  public $renderer;
50
 
51
  /**
52
- * @var WPSEO_Sitemaps_Cache $cache
53
  * @since 3.2
 
 
54
  */
55
  public $cache;
56
 
57
  /**
58
- * @var WPSEO_Sitemap_Provider[] $providers
59
  * @since 3.2
 
 
60
  */
61
  public $providers;
62
 
15
  /** Sitemap index identifier. */
16
  const SITEMAP_INDEX_TYPE = '1';
17
 
18
+ /**
19
+ * Content of the sitemap to output.
20
+ *
21
+ * @var string
22
+ */
23
  protected $sitemap = '';
24
 
25
+ /**
26
+ * Flag to indicate if this is an invalid or empty sitemap.
27
+ *
28
+ * @var bool
29
+ */
30
  public $bad_sitemap = false;
31
 
32
+ /**
33
+ * Whether or not the XML sitemap was served from a transient or not.
34
+ *
35
+ * @var bool
36
+ */
37
  private $transient = false;
38
 
39
  /**
40
+ * HTTP protocol to use in headers.
41
+ *
42
  * @since 3.2
43
+ *
44
+ * @var string
45
  */
46
  protected $http_protocol = 'HTTP/1.1';
47
 
48
+ /**
49
+ * Holds the n variable.
50
+ *
51
+ * @var int
52
+ */
53
  private $current_page = 1;
54
 
55
+ /**
56
+ * @var WPSEO_Sitemap_Timezone
57
+ */
58
  private $timezone;
59
 
60
  /**
 
61
  * @since 3.2
62
+ *
63
+ * @var WPSEO_Sitemaps_Router
64
  */
65
  public $router;
66
 
67
  /**
 
68
  * @since 3.2
69
+ *
70
+ * @var WPSEO_Sitemaps_Renderer
71
  */
72
  public $renderer;
73
 
74
  /**
 
75
  * @since 3.2
76
+ *
77
+ * @var WPSEO_Sitemaps_Cache
78
  */
79
  public $cache;
80
 
81
  /**
 
82
  * @since 3.2
83
+ *
84
+ * @var WPSEO_Sitemap_Provider[]
85
  */
86
  public $providers;
87
 
inc/sitemaps/class-taxonomy-sitemap-provider.php CHANGED
@@ -10,7 +10,11 @@
10
  */
11
  class WPSEO_Taxonomy_Sitemap_Provider implements WPSEO_Sitemap_Provider {
12
 
13
- /** @var WPSEO_Sitemap_Image_Parser $image_parser Holds image parser instance. */
 
 
 
 
14
  protected static $image_parser;
15
 
16
  /**
10
  */
11
  class WPSEO_Taxonomy_Sitemap_Provider implements WPSEO_Sitemap_Provider {
12
 
13
+ /**
14
+ * Holds image parser instance.
15
+ *
16
+ * @var WPSEO_Sitemap_Image_Parser
17
+ */
18
  protected static $image_parser;
19
 
20
  /**
js/dist/analysis-950.min.js DELETED
@@ -1,21 +0,0 @@
1
- (window.yoastWebpackJsonp=window.yoastWebpackJsonp||[]).push([[28],[,,function(a,e,t){"use strict";t.r(e);var i=t(9),n=i.a.Symbol,o=Object.prototype,r=o.hasOwnProperty,s=o.toString,d=n?n.toStringTag:void 0;var l=function(a){var e=r.call(a,d),t=a[d];try{a[d]=void 0;var i=!0}catch(a){}var n=s.call(a);return i&&(e?a[d]=t:delete a[d]),n},c=Object.prototype.toString;var u=function(a){return c.call(a)},p="[object Null]",z="[object Undefined]",g=n?n.toStringTag:void 0;var m=function(a){return null==a?void 0===a?z:p:g&&g in Object(a)?l(a):u(a)};var y=function(a){return null!=a&&"object"==typeof a},w="[object Symbol]";var f=function(a){return"symbol"==typeof a||y(a)&&m(a)==w},b=NaN;var h=function(a){return"number"==typeof a?a:f(a)?b:+a};var v=function(a,e){for(var t=-1,i=null==a?0:a.length,n=Array(i);++t<i;)n[t]=e(a[t],t,a);return n},k=Array.isArray,j=1/0,_=n?n.prototype:void 0,x=_?_.toString:void 0;var q=function a(e){if("string"==typeof e)return e;if(k(e))return v(e,a)+"";if(f(e))return x?x.call(e):"";var t=e+"";return"0"==t&&1/e==-j?"-0":t};var E=function(a,e){return function(t,i){var n;if(void 0===t&&void 0===i)return e;if(void 0!==t&&(n=t),void 0!==i){if(void 0===n)return i;"string"==typeof t||"string"==typeof i?(t=q(t),i=q(i)):(t=h(t),i=h(i)),n=a(t,i)}return n}},A=E(function(a,e){return a+e},0);var T=function(a){var e=typeof a;return null!=a&&("object"==e||"function"==e)},O=NaN,S=/^\s+|\s+$/g,M=/^[-+]0x[0-9a-f]+$/i,P=/^0b[01]+$/i,C=/^0o[0-7]+$/i,R=parseInt;var D=function(a){if("number"==typeof a)return a;if(f(a))return O;if(T(a)){var e="function"==typeof a.valueOf?a.valueOf():a;a=T(e)?e+"":e}if("string"!=typeof a)return 0===a?a:+a;a=a.replace(S,"");var t=P.test(a);return t||C.test(a)?R(a.slice(2),t?2:8):M.test(a)?O:+a},F=1/0,B=1.7976931348623157e308;var $=function(a){return a?(a=D(a))===F||a===-F?(a<0?-1:1)*B:a==a?a:0:0===a?a:0};var I=function(a){var e=$(a),t=e%1;return e==e?t?e-t:e:0},L="Expected a function";var W=function(a,e){if("function"!=typeof e)throw new TypeError(L);return a=I(a),function(){if(--a<1)return e.apply(this,arguments)}};var U=function(a){return a},N="[object AsyncFunction]",K="[object Function]",H="[object GeneratorFunction]",V="[object Proxy]";var G=function(a){if(!T(a))return!1;var e=m(a);return e==K||e==H||e==N||e==V},Y=i.a["__core-js_shared__"],Z=function(){var a=/[^.]+$/.exec(Y&&Y.keys&&Y.keys.IE_PROTO||"");return a?"Symbol(src)_1."+a:""}();var J=function(a){return!!Z&&Z in a},Q=Function.prototype.toString;var X=function(a){if(null!=a){try{return Q.call(a)}catch(a){}try{return a+""}catch(a){}}return""},aa=/^\[object .+?Constructor\]$/,ea=Function.prototype,ta=Object.prototype,ia=ea.toString,na=ta.hasOwnProperty,oa=RegExp("^"+ia.call(na).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");var ra=function(a){return!(!T(a)||J(a))&&(G(a)?oa:aa).test(X(a))};var sa=function(a,e){return null==a?void 0:a[e]};var da=function(a,e){var t=sa(a,e);return ra(t)?t:void 0},la=da(i.a,"WeakMap"),ca=la&&new la,ua=ca?function(a,e){return ca.set(a,e),a}:U,pa=Object.create,za=function(){function a(){}return function(e){if(!T(e))return{};if(pa)return pa(e);a.prototype=e;var t=new a;return a.prototype=void 0,t}}();var ga=function(a){return function(){var e=arguments;switch(e.length){case 0:return new a;case 1:return new a(e[0]);case 2:return new a(e[0],e[1]);case 3:return new a(e[0],e[1],e[2]);case 4:return new a(e[0],e[1],e[2],e[3]);case 5:return new a(e[0],e[1],e[2],e[3],e[4]);case 6:return new a(e[0],e[1],e[2],e[3],e[4],e[5]);case 7:return new a(e[0],e[1],e[2],e[3],e[4],e[5],e[6])}var t=za(a.prototype),i=a.apply(t,e);return T(i)?i:t}},ma=1;var ya=function(a,e,t){var n=e&ma,o=ga(a);return function e(){return(this&&this!==i.a&&this instanceof e?o:a).apply(n?t:this,arguments)}};var wa=function(a,e,t){switch(t.length){case 0:return a.call(e);case 1:return a.call(e,t[0]);case 2:return a.call(e,t[0],t[1]);case 3:return a.call(e,t[0],t[1],t[2])}return a.apply(e,t)},fa=Math.max;var ba=function(a,e,t,i){for(var n=-1,o=a.length,r=t.length,s=-1,d=e.length,l=fa(o-r,0),c=Array(d+l),u=!i;++s<d;)c[s]=e[s];for(;++n<r;)(u||n<o)&&(c[t[n]]=a[n]);for(;l--;)c[s++]=a[n++];return c},ha=Math.max;var va=function(a,e,t,i){for(var n=-1,o=a.length,r=-1,s=t.length,d=-1,l=e.length,c=ha(o-s,0),u=Array(c+l),p=!i;++n<c;)u[n]=a[n];for(var z=n;++d<l;)u[z+d]=e[d];for(;++r<s;)(p||n<o)&&(u[z+t[r]]=a[n++]);return u};var ka=function(a,e){for(var t=a.length,i=0;t--;)a[t]===e&&++i;return i};var ja=function(){},_a=4294967295;function xa(a){this.__wrapped__=a,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=_a,this.__views__=[]}xa.prototype=za(ja.prototype),xa.prototype.constructor=xa;var qa=xa;var Ea=function(){},Aa=ca?function(a){return ca.get(a)}:Ea,Ta={},Oa=Object.prototype.hasOwnProperty;var Sa=function(a){for(var e=a.name+"",t=Ta[e],i=Oa.call(Ta,e)?t.length:0;i--;){var n=t[i],o=n.func;if(null==o||o==a)return n.name}return e};function Ma(a,e){this.__wrapped__=a,this.__actions__=[],this.__chain__=!!e,this.__index__=0,this.__values__=void 0}Ma.prototype=za(ja.prototype),Ma.prototype.constructor=Ma;var Pa=Ma;var Ca=function(a,e){var t=-1,i=a.length;for(e||(e=Array(i));++t<i;)e[t]=a[t];return e};var Ra=function(a){if(a instanceof qa)return a.clone();var e=new Pa(a.__wrapped__,a.__chain__);return e.__actions__=Ca(a.__actions__),e.__index__=a.__index__,e.__values__=a.__values__,e},Da=Object.prototype.hasOwnProperty;function Fa(a){if(y(a)&&!k(a)&&!(a instanceof qa)){if(a instanceof Pa)return a;if(Da.call(a,"__wrapped__"))return Ra(a)}return new Pa(a)}Fa.prototype=ja.prototype,Fa.prototype.constructor=Fa;var Ba=Fa;var $a=function(a){var e=Sa(a),t=Ba[e];if("function"!=typeof t||!(e in qa.prototype))return!1;if(a===t)return!0;var i=Aa(t);return!!i&&a===i[0]},Ia=800,La=16,Wa=Date.now;var Ua=function(a){var e=0,t=0;return function(){var i=Wa(),n=La-(i-t);if(t=i,n>0){if(++e>=Ia)return arguments[0]}else e=0;return a.apply(void 0,arguments)}},Na=Ua(ua),Ka=/\{\n\/\* \[wrapped with (.+)\] \*/,Ha=/,? & /;var Va=function(a){var e=a.match(Ka);return e?e[1].split(Ha):[]},Ga=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/;var Ya=function(a,e){var t=e.length;if(!t)return a;var i=t-1;return e[i]=(t>1?"& ":"")+e[i],e=e.join(t>2?", ":" "),a.replace(Ga,"{\n/* [wrapped with "+e+"] */\n")};var Za=function(a){return function(){return a}},Ja=function(){try{var a=da(Object,"defineProperty");return a({},"",{}),a}catch(a){}}(),Qa=Ua(Ja?function(a,e){return Ja(a,"toString",{configurable:!0,enumerable:!1,value:Za(e),writable:!0})}:U);var Xa=function(a,e){for(var t=-1,i=null==a?0:a.length;++t<i&&!1!==e(a[t],t,a););return a};var ae=function(a,e,t,i){for(var n=a.length,o=t+(i?1:-1);i?o--:++o<n;)if(e(a[o],o,a))return o;return-1};var ee=function(a){return a!=a};var te=function(a,e,t){for(var i=t-1,n=a.length;++i<n;)if(a[i]===e)return i;return-1};var ie=function(a,e,t){return e==e?te(a,e,t):ae(a,ee,t)};var ne=function(a,e){return!(null==a||!a.length)&&ie(a,e,0)>-1},oe=[["ary",128],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",32],["partialRight",64],["rearg",256]];var re=function(a,e){return Xa(oe,function(t){var i="_."+t[0];e&t[1]&&!ne(a,i)&&a.push(i)}),a.sort()};var se=function(a,e,t){var i=e+"";return Qa(a,Ya(i,re(Va(i),t)))},de=1,le=2,ce=4,ue=8,pe=32,ze=64;var ge=function(a,e,t,i,n,o,r,s,d,l){var c=e&ue;e|=c?pe:ze,(e&=~(c?ze:pe))&ce||(e&=~(de|le));var u=[a,e,n,c?o:void 0,c?r:void 0,c?void 0:o,c?void 0:r,s,d,l],p=t.apply(void 0,u);return $a(a)&&Na(p,u),p.placeholder=i,se(p,a,e)};var me=function(a){return a.placeholder},ye=9007199254740991,we=/^(?:0|[1-9]\d*)$/;var fe=function(a,e){var t=typeof a;return!!(e=null==e?ye:e)&&("number"==t||"symbol"!=t&&we.test(a))&&a>-1&&a%1==0&&a<e},be=Math.min;var he=function(a,e){for(var t=a.length,i=be(e.length,t),n=Ca(a);i--;){var o=e[i];a[i]=fe(o,t)?n[o]:void 0}return a},ve="__lodash_placeholder__";var ke=function(a,e){for(var t=-1,i=a.length,n=0,o=[];++t<i;){var r=a[t];r!==e&&r!==ve||(a[t]=ve,o[n++]=t)}return o},je=1,_e=2,xe=8,qe=16,Ee=128,Ae=512;var Te=function a(e,t,n,o,r,s,d,l,c,u){var p=t&Ee,z=t&je,g=t&_e,m=t&(xe|qe),y=t&Ae,w=g?void 0:ga(e);return function f(){for(var b=arguments.length,h=Array(b),v=b;v--;)h[v]=arguments[v];if(m)var k=me(f),j=ka(h,k);if(o&&(h=ba(h,o,r,m)),s&&(h=va(h,s,d,m)),b-=j,m&&b<u){var _=ke(h,k);return ge(e,t,a,f.placeholder,n,h,_,l,c,u-b)}var x=z?n:this,q=g?x[e]:e;return b=h.length,l?h=he(h,l):y&&b>1&&h.reverse(),p&&c<b&&(h.length=c),this&&this!==i.a&&this instanceof f&&(q=w||ga(q)),q.apply(x,h)}};var Oe=function(a,e,t){var n=ga(a);return function o(){for(var r=arguments.length,s=Array(r),d=r,l=me(o);d--;)s[d]=arguments[d];var c=r<3&&s[0]!==l&&s[r-1]!==l?[]:ke(s,l);if((r-=c.length)<t)return ge(a,e,Te,o.placeholder,void 0,s,c,void 0,void 0,t-r);var u=this&&this!==i.a&&this instanceof o?n:a;return wa(u,this,s)}},Se=1;var Me=function(a,e,t,n){var o=e&Se,r=ga(a);return function e(){for(var s=-1,d=arguments.length,l=-1,c=n.length,u=Array(c+d),p=this&&this!==i.a&&this instanceof e?r:a;++l<c;)u[l]=n[l];for(;d--;)u[l++]=arguments[++s];return wa(p,o?t:this,u)}},Pe="__lodash_placeholder__",Ce=1,Re=2,De=4,Fe=8,Be=128,$e=256,Ie=Math.min;var Le=function(a,e){var t=a[1],i=e[1],n=t|i,o=n<(Ce|Re|Be),r=i==Be&&t==Fe||i==Be&&t==$e&&a[7].length<=e[8]||i==(Be|$e)&&e[7].length<=e[8]&&t==Fe;if(!o&&!r)return a;i&Ce&&(a[2]=e[2],n|=t&Ce?0:De);var s=e[3];if(s){var d=a[3];a[3]=d?ba(d,s,e[4]):s,a[4]=d?ke(a[3],Pe):e[4]}return(s=e[5])&&(d=a[5],a[5]=d?va(d,s,e[6]):s,a[6]=d?ke(a[5],Pe):e[6]),(s=e[7])&&(a[7]=s),i&Be&&(a[8]=null==a[8]?e[8]:Ie(a[8],e[8])),null==a[9]&&(a[9]=e[9]),a[0]=e[0],a[1]=n,a},We="Expected a function",Ue=1,Ne=2,Ke=8,He=16,Ve=32,Ge=64,Ye=Math.max;var Ze=function(a,e,t,i,n,o,r,s){var d=e&Ne;if(!d&&"function"!=typeof a)throw new TypeError(We);var l=i?i.length:0;if(l||(e&=~(Ve|Ge),i=n=void 0),r=void 0===r?r:Ye(I(r),0),s=void 0===s?s:I(s),l-=n?n.length:0,e&Ge){var c=i,u=n;i=n=void 0}var p=d?void 0:Aa(a),z=[a,e,t,i,n,c,u,o,r,s];if(p&&Le(z,p),a=z[0],e=z[1],t=z[2],i=z[3],n=z[4],!(s=z[9]=void 0===z[9]?d?0:a.length:Ye(z[9]-l,0))&&e&(Ke|He)&&(e&=~(Ke|He)),e&&e!=Ue)g=e==Ke||e==He?Oe(a,e,s):e!=Ve&&e!=(Ue|Ve)||n.length?Te.apply(void 0,z):Me(a,e,t,i);else var g=ya(a,e,t);return se((p?ua:Na)(g,z),a,e)},Je=128;var Qe=function(a,e,t){return e=t?void 0:e,e=a&&null==e?a.length:e,Ze(a,Je,void 0,void 0,void 0,void 0,e)};var Xe=function(a,e,t){"__proto__"==e&&Ja?Ja(a,e,{configurable:!0,enumerable:!0,value:t,writable:!0}):a[e]=t};var at=function(a,e){return a===e||a!=a&&e!=e},et=Object.prototype.hasOwnProperty;var tt=function(a,e,t){var i=a[e];et.call(a,e)&&at(i,t)&&(void 0!==t||e in a)||Xe(a,e,t)};var it=function(a,e,t,i){var n=!t;t||(t={});for(var o=-1,r=e.length;++o<r;){var s=e[o],d=i?i(t[s],a[s],s,t,a):void 0;void 0===d&&(d=a[s]),n?Xe(t,s,d):tt(t,s,d)}return t},nt=Math.max;var ot=function(a,e,t){return e=nt(void 0===e?a.length-1:e,0),function(){for(var i=arguments,n=-1,o=nt(i.length-e,0),r=Array(o);++n<o;)r[n]=i[e+n];n=-1;for(var s=Array(e+1);++n<e;)s[n]=i[n];return s[e]=t(r),wa(a,this,s)}};var rt=function(a,e){return Qa(ot(a,e,U),a+"")},st=9007199254740991;var dt=function(a){return"number"==typeof a&&a>-1&&a%1==0&&a<=st};var lt=function(a){return null!=a&&dt(a.length)&&!G(a)};var ct=function(a,e,t){if(!T(t))return!1;var i=typeof e;return!!("number"==i?lt(t)&&fe(e,t.length):"string"==i&&e in t)&&at(t[e],a)};var ut=function(a){return rt(function(e,t){var i=-1,n=t.length,o=n>1?t[n-1]:void 0,r=n>2?t[2]:void 0;for(o=a.length>3&&"function"==typeof o?(n--,o):void 0,r&&ct(t[0],t[1],r)&&(o=n<3?void 0:o,n=1),e=Object(e);++i<n;){var s=t[i];s&&a(e,s,i,o)}return e})},pt=Object.prototype;var zt=function(a){var e=a&&a.constructor;return a===("function"==typeof e&&e.prototype||pt)};var gt=function(a,e){for(var t=-1,i=Array(a);++t<a;)i[t]=e(t);return i},mt="[object Arguments]";var yt=function(a){return y(a)&&m(a)==mt},wt=Object.prototype,ft=wt.hasOwnProperty,bt=wt.propertyIsEnumerable,ht=yt(function(){return arguments}())?yt:function(a){return y(a)&&ft.call(a,"callee")&&!bt.call(a,"callee")},vt=t(34),kt={};kt["[object Float32Array]"]=kt["[object Float64Array]"]=kt["[object Int8Array]"]=kt["[object Int16Array]"]=kt["[object Int32Array]"]=kt["[object Uint8Array]"]=kt["[object Uint8ClampedArray]"]=kt["[object Uint16Array]"]=kt["[object Uint32Array]"]=!0,kt["[object Arguments]"]=kt["[object Array]"]=kt["[object ArrayBuffer]"]=kt["[object Boolean]"]=kt["[object DataView]"]=kt["[object Date]"]=kt["[object Error]"]=kt["[object Function]"]=kt["[object Map]"]=kt["[object Number]"]=kt["[object Object]"]=kt["[object RegExp]"]=kt["[object Set]"]=kt["[object String]"]=kt["[object WeakMap]"]=!1;var jt=function(a){return y(a)&&dt(a.length)&&!!kt[m(a)]};var _t=function(a){return function(e){return a(e)}},xt=t(31),qt=xt.a&&xt.a.isTypedArray,Et=qt?_t(qt):jt,At=Object.prototype.hasOwnProperty;var Tt=function(a,e){var t=k(a),i=!t&&ht(a),n=!t&&!i&&Object(vt.a)(a),o=!t&&!i&&!n&&Et(a),r=t||i||n||o,s=r?gt(a.length,String):[],d=s.length;for(var l in a)!e&&!At.call(a,l)||r&&("length"==l||n&&("offset"==l||"parent"==l)||o&&("buffer"==l||"byteLength"==l||"byteOffset"==l)||fe(l,d))||s.push(l);return s};var Ot=function(a,e){return function(t){return a(e(t))}},St=Ot(Object.keys,Object),Mt=Object.prototype.hasOwnProperty;var Pt=function(a){if(!zt(a))return St(a);var e=[];for(var t in Object(a))Mt.call(a,t)&&"constructor"!=t&&e.push(t);return e};var Ct=function(a){return lt(a)?Tt(a):Pt(a)},Rt=Object.prototype.hasOwnProperty,Dt=ut(function(a,e){if(zt(e)||lt(e))it(e,Ct(e),a);else for(var t in e)Rt.call(e,t)&&tt(a,t,e[t])});var Ft=function(a){var e=[];if(null!=a)for(var t in Object(a))e.push(t);return e},Bt=Object.prototype.hasOwnProperty;var $t=function(a){if(!T(a))return Ft(a);var e=zt(a),t=[];for(var i in a)("constructor"!=i||!e&&Bt.call(a,i))&&t.push(i);return t};var It=function(a){return lt(a)?Tt(a,!0):$t(a)},Lt=ut(function(a,e){it(e,It(e),a)}),Wt=ut(function(a,e,t,i){it(e,It(e),a,i)}),Ut=ut(function(a,e,t,i){it(e,Ct(e),a,i)}),Nt=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Kt=/^\w*$/;var Ht=function(a,e){if(k(a))return!1;var t=typeof a;return!("number"!=t&&"symbol"!=t&&"boolean"!=t&&null!=a&&!f(a))||Kt.test(a)||!Nt.test(a)||null!=e&&a in Object(e)},Vt=da(Object,"create");var Gt=function(){this.__data__=Vt?Vt(null):{},this.size=0};var Yt=function(a){var e=this.has(a)&&delete this.__data__[a];return this.size-=e?1:0,e},Zt="__lodash_hash_undefined__",Jt=Object.prototype.hasOwnProperty;var Qt=function(a){var e=this.__data__;if(Vt){var t=e[a];return t===Zt?void 0:t}return Jt.call(e,a)?e[a]:void 0},Xt=Object.prototype.hasOwnProperty;var ai=function(a){var e=this.__data__;return Vt?void 0!==e[a]:Xt.call(e,a)},ei="__lodash_hash_undefined__";var ti=function(a,e){var t=this.__data__;return this.size+=this.has(a)?0:1,t[a]=Vt&&void 0===e?ei:e,this};function ii(a){var e=-1,t=null==a?0:a.length;for(this.clear();++e<t;){var i=a[e];this.set(i[0],i[1])}}ii.prototype.clear=Gt,ii.prototype.delete=Yt,ii.prototype.get=Qt,ii.prototype.has=ai,ii.prototype.set=ti;var ni=ii;var oi=function(){this.__data__=[],this.size=0};var ri=function(a,e){for(var t=a.length;t--;)if(at(a[t][0],e))return t;return-1},si=Array.prototype.splice;var di=function(a){var e=this.__data__,t=ri(e,a);return!(t<0||(t==e.length-1?e.pop():si.call(e,t,1),--this.size,0))};var li=function(a){var e=this.__data__,t=ri(e,a);return t<0?void 0:e[t][1]};var ci=function(a){return ri(this.__data__,a)>-1};var ui=function(a,e){var t=this.__data__,i=ri(t,a);return i<0?(++this.size,t.push([a,e])):t[i][1]=e,this};function pi(a){var e=-1,t=null==a?0:a.length;for(this.clear();++e<t;){var i=a[e];this.set(i[0],i[1])}}pi.prototype.clear=oi,pi.prototype.delete=di,pi.prototype.get=li,pi.prototype.has=ci,pi.prototype.set=ui;var zi=pi,gi=da(i.a,"Map");var mi=function(){this.size=0,this.__data__={hash:new ni,map:new(gi||zi),string:new ni}};var yi=function(a){var e=typeof a;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==a:null===a};var wi=function(a,e){var t=a.__data__;return yi(e)?t["string"==typeof e?"string":"hash"]:t.map};var fi=function(a){var e=wi(this,a).delete(a);return this.size-=e?1:0,e};var bi=function(a){return wi(this,a).get(a)};var hi=function(a){return wi(this,a).has(a)};var vi=function(a,e){var t=wi(this,a),i=t.size;return t.set(a,e),this.size+=t.size==i?0:1,this};function ki(a){var e=-1,t=null==a?0:a.length;for(this.clear();++e<t;){var i=a[e];this.set(i[0],i[1])}}ki.prototype.clear=mi,ki.prototype.delete=fi,ki.prototype.get=bi,ki.prototype.has=hi,ki.prototype.set=vi;var ji=ki,_i="Expected a function";function xi(a,e){if("function"!=typeof a||null!=e&&"function"!=typeof e)throw new TypeError(_i);var t=function(){var i=arguments,n=e?e.apply(this,i):i[0],o=t.cache;if(o.has(n))return o.get(n);var r=a.apply(this,i);return t.cache=o.set(n,r)||o,r};return t.cache=new(xi.Cache||ji),t}xi.Cache=ji;var qi=xi,Ei=500;var Ai=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Ti=/\\(\\)?/g,Oi=function(a){var e=qi(a,function(a){return t.size===Ei&&t.clear(),a}),t=e.cache;return e}(function(a){var e=[];return 46===a.charCodeAt(0)&&e.push(""),a.replace(Ai,function(a,t,i,n){e.push(i?n.replace(Ti,"$1"):t||a)}),e});var Si=function(a){return null==a?"":q(a)};var Mi=function(a,e){return k(a)?a:Ht(a,e)?[a]:Oi(Si(a))},Pi=1/0;var Ci=function(a){if("string"==typeof a||f(a))return a;var e=a+"";return"0"==e&&1/a==-Pi?"-0":e};var Ri=function(a,e){for(var t=0,i=(e=Mi(e,a)).length;null!=a&&t<i;)a=a[Ci(e[t++])];return t&&t==i?a:void 0};var Di=function(a,e,t){var i=null==a?void 0:Ri(a,e);return void 0===i?t:i};var Fi=function(a,e){for(var t=-1,i=e.length,n=Array(i),o=null==a;++t<i;)n[t]=o?void 0:Di(a,e[t]);return n};var Bi=function(a,e){for(var t=-1,i=e.length,n=a.length;++t<i;)a[n+t]=e[t];return a},$i=n?n.isConcatSpreadable:void 0;var Ii=function(a){return k(a)||ht(a)||!!($i&&a&&a[$i])};var Li=function a(e,t,i,n,o){var r=-1,s=e.length;for(i||(i=Ii),o||(o=[]);++r<s;){var d=e[r];t>0&&i(d)?t>1?a(d,t-1,i,n,o):Bi(o,d):n||(o[o.length]=d)}return o};var Wi=function(a){return null!=a&&a.length?Li(a,1):[]};var Ui=function(a){return Qa(ot(a,void 0,Wi),a+"")},Ni=Ui(Fi),Ki=Ot(Object.getPrototypeOf,Object),Hi="[object Object]",Vi=Function.prototype,Gi=Object.prototype,Yi=Vi.toString,Zi=Gi.hasOwnProperty,Ji=Yi.call(Object);var Qi=function(a){if(!y(a)||m(a)!=Hi)return!1;var e=Ki(a);if(null===e)return!0;var t=Zi.call(e,"constructor")&&e.constructor;return"function"==typeof t&&t instanceof t&&Yi.call(t)==Ji},Xi="[object DOMException]",an="[object Error]";var en=function(a){if(!y(a))return!1;var e=m(a);return e==an||e==Xi||"string"==typeof a.message&&"string"==typeof a.name&&!Qi(a)},tn=rt(function(a,e){try{return wa(a,void 0,e)}catch(a){return en(a)?a:new Error(a)}}),nn="Expected a function";var on=function(a,e){var t;if("function"!=typeof e)throw new TypeError(nn);return a=I(a),function(){return--a>0&&(t=e.apply(this,arguments)),a<=1&&(e=void 0),t}},rn=rt(function(a,e,t){var i=1;if(t.length){var n=ke(t,me(rn));i|=32}return Ze(a,i,e,t,n)});rn.placeholder={};var sn=rn,dn=Ui(function(a,e){return Xa(e,function(e){e=Ci(e),Xe(a,e,sn(a[e],a))}),a}),ln=rt(function(a,e,t){var i=3;if(t.length){var n=ke(t,me(ln));i|=32}return Ze(e,i,a,t,n)});ln.placeholder={};var cn=ln;var un=function(a,e,t){var i=-1,n=a.length;e<0&&(e=-e>n?0:n+e),(t=t>n?n:t)<0&&(t+=n),n=e>t?0:t-e>>>0,e>>>=0;for(var o=Array(n);++i<n;)o[i]=a[i+e];return o};var pn=function(a,e,t){var i=a.length;return t=void 0===t?i:t,!e&&t>=i?a:un(a,e,t)},zn=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");var gn=function(a){return zn.test(a)};var mn=function(a){return a.split("")},yn="[\\ud800-\\udfff]",wn="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",fn="\\ud83c[\\udffb-\\udfff]",bn="[^\\ud800-\\udfff]",hn="(?:\\ud83c[\\udde6-\\uddff]){2}",vn="[\\ud800-\\udbff][\\udc00-\\udfff]",kn="(?:"+wn+"|"+fn+")"+"?",jn="[\\ufe0e\\ufe0f]?"+kn+("(?:\\u200d(?:"+[bn,hn,vn].join("|")+")[\\ufe0e\\ufe0f]?"+kn+")*"),_n="(?:"+[bn+wn+"?",wn,hn,vn,yn].join("|")+")",xn=RegExp(fn+"(?="+fn+")|"+_n+jn,"g");var qn=function(a){return a.match(xn)||[]};var En=function(a){return gn(a)?qn(a):mn(a)};var An=function(a){return function(e){e=Si(e);var t=gn(e)?En(e):void 0,i=t?t[0]:e.charAt(0),n=t?pn(t,1).join(""):e.slice(1);return i[a]()+n}},Tn=An("toUpperCase");var On=function(a){return Tn(Si(a).toLowerCase())};var Sn=function(a,e,t,i){var n=-1,o=null==a?0:a.length;for(i&&o&&(t=a[++n]);++n<o;)t=e(t,a[n],n,a);return t};var Mn=function(a){return function(e){return null==a?void 0:a[e]}},Pn=Mn({"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","IJ":"IJ","ij":"ij","Œ":"Oe","œ":"oe","ʼn":"'n","ſ":"s"}),Cn=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Rn=RegExp("[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]","g");var Dn=function(a){return(a=Si(a))&&a.replace(Cn,Pn).replace(Rn,"")},Fn=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;var Bn=function(a){return a.match(Fn)||[]},$n=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;var In=function(a){return $n.test(a)},Ln="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Wn="["+Ln+"]",Un="\\d+",Nn="[\\u2700-\\u27bf]",Kn="[a-z\\xdf-\\xf6\\xf8-\\xff]",Hn="[^\\ud800-\\udfff"+Ln+Un+"\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde]",Vn="(?:\\ud83c[\\udde6-\\uddff]){2}",Gn="[\\ud800-\\udbff][\\udc00-\\udfff]",Yn="[A-Z\\xc0-\\xd6\\xd8-\\xde]",Zn="(?:"+Kn+"|"+Hn+")",Jn="(?:"+Yn+"|"+Hn+")",Qn="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?",Xn="[\\ufe0e\\ufe0f]?"+Qn+("(?:\\u200d(?:"+["[^\\ud800-\\udfff]",Vn,Gn].join("|")+")[\\ufe0e\\ufe0f]?"+Qn+")*"),ao="(?:"+[Nn,Vn,Gn].join("|")+")"+Xn,eo=RegExp([Yn+"?"+Kn+"+(?:['’](?:d|ll|m|re|s|t|ve))?(?="+[Wn,Yn,"$"].join("|")+")",Jn+"+(?:['’](?:D|LL|M|RE|S|T|VE))?(?="+[Wn,Yn+Zn,"$"].join("|")+")",Yn+"?"+Zn+"+(?:['’](?:d|ll|m|re|s|t|ve))?",Yn+"+(?:['’](?:D|LL|M|RE|S|T|VE))?","\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Un,ao].join("|"),"g");var to=function(a){return a.match(eo)||[]};var io=function(a,e,t){return a=Si(a),void 0===(e=t?void 0:e)?In(a)?to(a):Bn(a):a.match(e)||[]},no=RegExp("['’]","g");var oo=function(a){return function(e){return Sn(io(Dn(e).replace(no,"")),a,"")}},ro=oo(function(a,e,t){return e=e.toLowerCase(),a+(t?On(e):e)});var so=function(){if(!arguments.length)return[];var a=arguments[0];return k(a)?a:[a]},lo=Math.min;var co=function(a){var e=Math[a];return function(a,t){if(a=D(a),t=null==t?0:lo(I(t),292)){var i=(Si(a)+"e").split("e"),n=e(i[0]+"e"+(+i[1]+t));return+((i=(Si(n)+"e").split("e"))[0]+"e"+(+i[1]-t))}return e(a)}},uo=co("ceil");var po=function(a){var e=Ba(a);return e.__chain__=!0,e},zo=Math.ceil,go=Math.max;var mo=function(a,e,t){e=(t?ct(a,e,t):void 0===e)?1:go(I(e),0);var i=null==a?0:a.length;if(!i||e<1)return[];for(var n=0,o=0,r=Array(zo(i/e));n<i;)r[o++]=un(a,n,n+=e);return r};var yo=function(a,e,t){return a==a&&(void 0!==t&&(a=a<=t?a:t),void 0!==e&&(a=a>=e?a:e)),a};var wo=function(a,e,t){return void 0===t&&(t=e,e=void 0),void 0!==t&&(t=(t=D(t))==t?t:0),void 0!==e&&(e=(e=D(e))==e?e:0),yo(D(a),e,t)};var fo=function(){this.__data__=new zi,this.size=0};var bo=function(a){var e=this.__data__,t=e.delete(a);return this.size=e.size,t};var ho=function(a){return this.__data__.get(a)};var vo=function(a){return this.__data__.has(a)},ko=200;var jo=function(a,e){var t=this.__data__;if(t instanceof zi){var i=t.__data__;if(!gi||i.length<ko-1)return i.push([a,e]),this.size=++t.size,this;t=this.__data__=new ji(i)}return t.set(a,e),this.size=t.size,this};function _o(a){var e=this.__data__=new zi(a);this.size=e.size}_o.prototype.clear=fo,_o.prototype.delete=bo,_o.prototype.get=ho,_o.prototype.has=vo,_o.prototype.set=jo;var xo=_o;var qo=function(a,e){return a&&it(e,Ct(e),a)};var Eo=function(a,e){return a&&it(e,It(e),a)},Ao=t(272);var To=function(a,e){for(var t=-1,i=null==a?0:a.length,n=0,o=[];++t<i;){var r=a[t];e(r,t,a)&&(o[n++]=r)}return o};var Oo=function(){return[]},So=Object.prototype.propertyIsEnumerable,Mo=Object.getOwnPropertySymbols,Po=Mo?function(a){return null==a?[]:(a=Object(a),To(Mo(a),function(e){return So.call(a,e)}))}:Oo;var Co=function(a,e){return it(a,Po(a),e)},Ro=Object.getOwnPropertySymbols?function(a){for(var e=[];a;)Bi(e,Po(a)),a=Ki(a);return e}:Oo;var Do=function(a,e){return it(a,Ro(a),e)};var Fo=function(a,e,t){var i=e(a);return k(a)?i:Bi(i,t(a))};var Bo=function(a){return Fo(a,Ct,Po)};var $o=function(a){return Fo(a,It,Ro)},Io=da(i.a,"DataView"),Lo=da(i.a,"Promise"),Wo=da(i.a,"Set"),Uo=X(Io),No=X(gi),Ko=X(Lo),Ho=X(Wo),Vo=X(la),Go=m;(Io&&"[object DataView]"!=Go(new Io(new ArrayBuffer(1)))||gi&&"[object Map]"!=Go(new gi)||Lo&&"[object Promise]"!=Go(Lo.resolve())||Wo&&"[object Set]"!=Go(new Wo)||la&&"[object WeakMap]"!=Go(new la))&&(Go=function(a){var e=m(a),t="[object Object]"==e?a.constructor:void 0,i=t?X(t):"";if(i)switch(i){case Uo:return"[object DataView]";case No:return"[object Map]";case Ko:return"[object Promise]";case Ho:return"[object Set]";case Vo:return"[object WeakMap]"}return e});var Yo=Go,Zo=Object.prototype.hasOwnProperty;var Jo=function(a){var e=a.length,t=new a.constructor(e);return e&&"string"==typeof a[0]&&Zo.call(a,"index")&&(t.index=a.index,t.input=a.input),t},Qo=i.a.Uint8Array;var Xo=function(a){var e=new a.constructor(a.byteLength);return new Qo(e).set(new Qo(a)),e};var ar=function(a,e){var t=e?Xo(a.buffer):a.buffer;return new a.constructor(t,a.byteOffset,a.byteLength)},er=/\w*$/;var tr=function(a){var e=new a.constructor(a.source,er.exec(a));return e.lastIndex=a.lastIndex,e},ir=n?n.prototype:void 0,nr=ir?ir.valueOf:void 0;var or=function(a){return nr?Object(nr.call(a)):{}};var rr=function(a,e){var t=e?Xo(a.buffer):a.buffer;return new a.constructor(t,a.byteOffset,a.length)},sr="[object Boolean]",dr="[object Date]",lr="[object Map]",cr="[object Number]",ur="[object RegExp]",pr="[object Set]",zr="[object String]",gr="[object Symbol]",mr="[object ArrayBuffer]",yr="[object DataView]",wr="[object Float32Array]",fr="[object Float64Array]",br="[object Int8Array]",hr="[object Int16Array]",vr="[object Int32Array]",kr="[object Uint8Array]",jr="[object Uint8ClampedArray]",_r="[object Uint16Array]",xr="[object Uint32Array]";var qr=function(a,e,t){var i=a.constructor;switch(e){case mr:return Xo(a);case sr:case dr:return new i(+a);case yr:return ar(a,t);case wr:case fr:case br:case hr:case vr:case kr:case jr:case _r:case xr:return rr(a,t);case lr:return new i;case cr:case zr:return new i(a);case ur:return tr(a);case pr:return new i;case gr:return or(a)}};var Er=function(a){return"function"!=typeof a.constructor||zt(a)?{}:za(Ki(a))},Ar="[object Map]";var Tr=function(a){return y(a)&&Yo(a)==Ar},Or=xt.a&&xt.a.isMap,Sr=Or?_t(Or):Tr,Mr="[object Set]";var Pr=function(a){return y(a)&&Yo(a)==Mr},Cr=xt.a&&xt.a.isSet,Rr=Cr?_t(Cr):Pr,Dr=1,Fr=2,Br=4,$r="[object Arguments]",Ir="[object Function]",Lr="[object GeneratorFunction]",Wr="[object Object]",Ur={};Ur[$r]=Ur["[object Array]"]=Ur["[object ArrayBuffer]"]=Ur["[object DataView]"]=Ur["[object Boolean]"]=Ur["[object Date]"]=Ur["[object Float32Array]"]=Ur["[object Float64Array]"]=Ur["[object Int8Array]"]=Ur["[object Int16Array]"]=Ur["[object Int32Array]"]=Ur["[object Map]"]=Ur["[object Number]"]=Ur[Wr]=Ur["[object RegExp]"]=Ur["[object Set]"]=Ur["[object String]"]=Ur["[object Symbol]"]=Ur["[object Uint8Array]"]=Ur["[object Uint8ClampedArray]"]=Ur["[object Uint16Array]"]=Ur["[object Uint32Array]"]=!0,Ur["[object Error]"]=Ur[Ir]=Ur["[object WeakMap]"]=!1;var Nr=function a(e,t,i,n,o,r){var s,d=t&Dr,l=t&Fr,c=t&Br;if(i&&(s=o?i(e,n,o,r):i(e)),void 0!==s)return s;if(!T(e))return e;var u=k(e);if(u){if(s=Jo(e),!d)return Ca(e,s)}else{var p=Yo(e),z=p==Ir||p==Lr;if(Object(vt.a)(e))return Object(Ao.a)(e,d);if(p==Wr||p==$r||z&&!o){if(s=l||z?{}:Er(e),!d)return l?Do(e,Eo(s,e)):Co(e,qo(s,e))}else{if(!Ur[p])return o?e:{};s=qr(e,p,d)}}r||(r=new xo);var g=r.get(e);if(g)return g;if(r.set(e,s),Rr(e))return e.forEach(function(n){s.add(a(n,t,i,n,e,r))}),s;if(Sr(e))return e.forEach(function(n,o){s.set(o,a(n,t,i,o,e,r))}),s;var m=c?l?$o:Bo:l?keysIn:Ct,y=u?void 0:m(e);return Xa(y||e,function(n,o){y&&(n=e[o=n]),tt(s,o,a(n,t,i,o,e,r))}),s},Kr=4;var Hr=function(a){return Nr(a,Kr)},Vr=1,Gr=4;var Yr=function(a){return Nr(a,Vr|Gr)},Zr=1,Jr=4;var Qr=function(a,e){return Nr(a,Zr|Jr,e="function"==typeof e?e:void 0)},Xr=4;var as=function(a,e){return Nr(a,Xr,e="function"==typeof e?e:void 0)};var es=function(){return new Pa(this.value(),this.__chain__)};var ts=function(a){for(var e=-1,t=null==a?0:a.length,i=0,n=[];++e<t;){var o=a[e];o&&(n[i++]=o)}return n};var is=function(){var a=arguments.length;if(!a)return[];for(var e=Array(a-1),t=arguments[0],i=a;i--;)e[i-1]=arguments[i];return Bi(k(t)?Ca(t):[t],Li(e,1))},ns="__lodash_hash_undefined__";var os=function(a){return this.__data__.set(a,ns),this};var rs=function(a){return this.__data__.has(a)};function ss(a){var e=-1,t=null==a?0:a.length;for(this.__data__=new ji;++e<t;)this.add(a[e])}ss.prototype.add=ss.prototype.push=os,ss.prototype.has=rs;var ds=ss;var ls=function(a,e){for(var t=-1,i=null==a?0:a.length;++t<i;)if(e(a[t],t,a))return!0;return!1};var cs=function(a,e){return a.has(e)},us=1,ps=2;var zs=function(a,e,t,i,n,o){var r=t&us,s=a.length,d=e.length;if(s!=d&&!(r&&d>s))return!1;var l=o.get(a);if(l&&o.get(e))return l==e;var c=-1,u=!0,p=t&ps?new ds:void 0;for(o.set(a,e),o.set(e,a);++c<s;){var z=a[c],g=e[c];if(i)var m=r?i(g,z,c,e,a,o):i(z,g,c,a,e,o);if(void 0!==m){if(m)continue;u=!1;break}if(p){if(!ls(e,function(a,e){if(!cs(p,e)&&(z===a||n(z,a,t,i,o)))return p.push(e)})){u=!1;break}}else if(z!==g&&!n(z,g,t,i,o)){u=!1;break}}return o.delete(a),o.delete(e),u};var gs=function(a){var e=-1,t=Array(a.size);return a.forEach(function(a,i){t[++e]=[i,a]}),t};var ms=function(a){var e=-1,t=Array(a.size);return a.forEach(function(a){t[++e]=a}),t},ys=1,ws=2,fs="[object Boolean]",bs="[object Date]",hs="[object Error]",vs="[object Map]",ks="[object Number]",js="[object RegExp]",_s="[object Set]",xs="[object String]",qs="[object Symbol]",Es="[object ArrayBuffer]",As="[object DataView]",Ts=n?n.prototype:void 0,Os=Ts?Ts.valueOf:void 0;var Ss=function(a,e,t,i,n,o,r){switch(t){case As:if(a.byteLength!=e.byteLength||a.byteOffset!=e.byteOffset)return!1;a=a.buffer,e=e.buffer;case Es:return!(a.byteLength!=e.byteLength||!o(new Qo(a),new Qo(e)));case fs:case bs:case ks:return at(+a,+e);case hs:return a.name==e.name&&a.message==e.message;case js:case xs:return a==e+"";case vs:var s=gs;case _s:var d=i&ys;if(s||(s=ms),a.size!=e.size&&!d)return!1;var l=r.get(a);if(l)return l==e;i|=ws,r.set(a,e);var c=zs(s(a),s(e),i,n,o,r);return r.delete(a),c;case qs:if(Os)return Os.call(a)==Os.call(e)}return!1},Ms=1,Ps=Object.prototype.hasOwnProperty;var Cs=function(a,e,t,i,n,o){var r=t&Ms,s=Bo(a),d=s.length;if(d!=Bo(e).length&&!r)return!1;for(var l=d;l--;){var c=s[l];if(!(r?c in e:Ps.call(e,c)))return!1}var u=o.get(a);if(u&&o.get(e))return u==e;var p=!0;o.set(a,e),o.set(e,a);for(var z=r;++l<d;){var g=a[c=s[l]],m=e[c];if(i)var y=r?i(m,g,c,e,a,o):i(g,m,c,a,e,o);if(!(void 0===y?g===m||n(g,m,t,i,o):y)){p=!1;break}z||(z="constructor"==c)}if(p&&!z){var w=a.constructor,f=e.constructor;w!=f&&"constructor"in a&&"constructor"in e&&!("function"==typeof w&&w instanceof w&&"function"==typeof f&&f instanceof f)&&(p=!1)}return o.delete(a),o.delete(e),p},Rs=1,Ds="[object Arguments]",Fs="[object Array]",Bs="[object Object]",$s=Object.prototype.hasOwnProperty;var Is=function(a,e,t,i,n,o){var r=k(a),s=k(e),d=r?Fs:Yo(a),l=s?Fs:Yo(e),c=(d=d==Ds?Bs:d)==Bs,u=(l=l==Ds?Bs:l)==Bs,p=d==l;if(p&&Object(vt.a)(a)){if(!Object(vt.a)(e))return!1;r=!0,c=!1}if(p&&!c)return o||(o=new xo),r||Et(a)?zs(a,e,t,i,n,o):Ss(a,e,d,t,i,n,o);if(!(t&Rs)){var z=c&&$s.call(a,"__wrapped__"),g=u&&$s.call(e,"__wrapped__");if(z||g){var m=z?a.value():a,y=g?e.value():e;return o||(o=new xo),n(m,y,t,i,o)}}return!!p&&(o||(o=new xo),Cs(a,e,t,i,n,o))};var Ls=function a(e,t,i,n,o){return e===t||(null==e||null==t||!y(e)&&!y(t)?e!=e&&t!=t:Is(e,t,i,n,a,o))},Ws=1,Us=2;var Ns=function(a,e,t,i){var n=t.length,o=n,r=!i;if(null==a)return!o;for(a=Object(a);n--;){var s=t[n];if(r&&s[2]?s[1]!==a[s[0]]:!(s[0]in a))return!1}for(;++n<o;){var d=(s=t[n])[0],l=a[d],c=s[1];if(r&&s[2]){if(void 0===l&&!(d in a))return!1}else{var u=new xo;if(i)var p=i(l,c,d,a,e,u);if(!(void 0===p?Ls(c,l,Ws|Us,i,u):p))return!1}}return!0};var Ks=function(a){return a==a&&!T(a)};var Hs=function(a){for(var e=Ct(a),t=e.length;t--;){var i=e[t],n=a[i];e[t]=[i,n,Ks(n)]}return e};var Vs=function(a,e){return function(t){return null!=t&&t[a]===e&&(void 0!==e||a in Object(t))}};var Gs=function(a){var e=Hs(a);return 1==e.length&&e[0][2]?Vs(e[0][0],e[0][1]):function(t){return t===a||Ns(t,a,e)}};var Ys=function(a,e){return null!=a&&e in Object(a)};var Zs=function(a,e,t){for(var i=-1,n=(e=Mi(e,a)).length,o=!1;++i<n;){var r=Ci(e[i]);if(!(o=null!=a&&t(a,r)))break;a=a[r]}return o||++i!=n?o:!!(n=null==a?0:a.length)&&dt(n)&&fe(r,n)&&(k(a)||ht(a))};var Js=function(a,e){return null!=a&&Zs(a,e,Ys)},Qs=1,Xs=2;var ad=function(a,e){return Ht(a)&&Ks(e)?Vs(Ci(a),e):function(t){var i=Di(t,a);return void 0===i&&i===e?Js(t,a):Ls(e,i,Qs|Xs)}};var ed=function(a){return function(e){return null==e?void 0:e[a]}};var td=function(a){return function(e){return Ri(e,a)}};var id=function(a){return Ht(a)?ed(Ci(a)):td(a)};var nd=function(a){return"function"==typeof a?a:null==a?U:"object"==typeof a?k(a)?ad(a[0],a[1]):Gs(a):id(a)},od="Expected a function";var rd=function(a){var e=null==a?0:a.length,t=nd;return a=e?v(a,function(a){if("function"!=typeof a[1])throw new TypeError(od);return[t(a[0]),a[1]]}):[],rt(function(t){for(var i=-1;++i<e;){var n=a[i];if(wa(n[0],this,t))return wa(n[1],this,t)}})};var sd=function(a,e,t){var i=t.length;if(null==a)return!i;for(a=Object(a);i--;){var n=t[i],o=e[n],r=a[n];if(void 0===r&&!(n in a)||!o(r))return!1}return!0};var dd=function(a){var e=Ct(a);return function(t){return sd(t,a,e)}},ld=1;var cd=function(a){return dd(Nr(a,ld))};var ud=function(a,e){return null==e||sd(a,e,Ct(e))};var pd=function(a,e,t,i){for(var n=-1,o=null==a?0:a.length;++n<o;){var r=a[n];e(i,r,t(r),a)}return i};var zd=function(a){return function(e,t,i){for(var n=-1,o=Object(e),r=i(e),s=r.length;s--;){var d=r[a?s:++n];if(!1===t(o[d],d,o))break}return e}},gd=zd();var md=function(a,e){return a&&gd(a,e,Ct)};var yd=function(a,e){return function(t,i){if(null==t)return t;if(!lt(t))return a(t,i);for(var n=t.length,o=e?n:-1,r=Object(t);(e?o--:++o<n)&&!1!==i(r[o],o,r););return t}},wd=yd(md);var fd=function(a,e,t,i){return wd(a,function(a,n,o){e(i,a,t(a),o)}),i};var bd=function(a,e){return function(t,i){var n=k(t)?pd:fd,o=e?e():{};return n(t,a,nd(i,2),o)}},hd=Object.prototype.hasOwnProperty,vd=bd(function(a,e,t){hd.call(a,t)?++a[t]:Xe(a,t,1)});var kd=function(a,e){var t=za(a);return null==e?t:qo(t,e)},jd=8;function _d(a,e,t){var i=Ze(a,jd,void 0,void 0,void 0,void 0,void 0,e=t?void 0:e);return i.placeholder=_d.placeholder,i}_d.placeholder={};var xd=_d,qd=16;function Ed(a,e,t){var i=Ze(a,qd,void 0,void 0,void 0,void 0,void 0,e=t?void 0:e);return i.placeholder=Ed.placeholder,i}Ed.placeholder={};var Ad=Ed,Td=function(){return i.a.Date.now()},Od="Expected a function",Sd=Math.max,Md=Math.min;var Pd=function(a,e,t){var i,n,o,r,s,d,l=0,c=!1,u=!1,p=!0;if("function"!=typeof a)throw new TypeError(Od);function z(e){var t=i,o=n;return i=n=void 0,l=e,r=a.apply(o,t)}function g(a){var t=a-d;return void 0===d||t>=e||t<0||u&&a-l>=o}function m(){var a=Td();if(g(a))return y(a);s=setTimeout(m,function(a){var t=e-(a-d);return u?Md(t,o-(a-l)):t}(a))}function y(a){return s=void 0,p&&i?z(a):(i=n=void 0,r)}function w(){var a=Td(),t=g(a);if(i=arguments,n=this,d=a,t){if(void 0===s)return function(a){return l=a,s=setTimeout(m,e),c?z(a):r}(d);if(u)return s=setTimeout(m,e),z(d)}return void 0===s&&(s=setTimeout(m,e)),r}return e=D(e)||0,T(t)&&(c=!!t.leading,o=(u="maxWait"in t)?Sd(D(t.maxWait)||0,e):o,p="trailing"in t?!!t.trailing:p),w.cancel=function(){void 0!==s&&clearTimeout(s),l=0,i=d=n=s=void 0},w.flush=function(){return void 0===s?r:y(Td())},w};var Cd=function(a,e){return null==a||a!=a?e:a},Rd=Object.prototype,Dd=Rd.hasOwnProperty,Fd=rt(function(a,e){a=Object(a);var t=-1,i=e.length,n=i>2?e[2]:void 0;for(n&&ct(e[0],e[1],n)&&(i=1);++t<i;)for(var o=e[t],r=It(o),s=-1,d=r.length;++s<d;){var l=r[s],c=a[l];(void 0===c||at(c,Rd[l])&&!Dd.call(a,l))&&(a[l]=o[l])}return a});var Bd=function(a,e,t){(void 0===t||at(a[e],t))&&(void 0!==t||e in a)||Xe(a,e,t)};var $d=function(a){return y(a)&&lt(a)};var Id=function(a,e){if("__proto__"!=e)return a[e]};var Ld=function(a){return it(a,It(a))};var Wd=function(a,e,t,i,n,o,r){var s=Id(a,t),d=Id(e,t),l=r.get(d);if(l)Bd(a,t,l);else{var c=o?o(s,d,t+"",a,e,r):void 0,u=void 0===c;if(u){var p=k(d),z=!p&&Object(vt.a)(d),g=!p&&!z&&Et(d);c=d,p||z||g?k(s)?c=s:$d(s)?c=Ca(s):z?(u=!1,c=Object(Ao.a)(d,!0)):g?(u=!1,c=rr(d,!0)):c=[]:Qi(d)||ht(d)?(c=s,ht(s)?c=Ld(s):T(s)&&!G(s)||(c=Er(d))):u=!1}u&&(r.set(d,c),n(c,d,i,o,r),r.delete(d)),Bd(a,t,c)}};var Ud=function a(e,t,i,n,o){e!==t&&gd(t,function(r,s){if(T(r))o||(o=new xo),Wd(e,t,s,i,a,n,o);else{var d=n?n(Id(e,s),r,s+"",e,t,o):void 0;void 0===d&&(d=r),Bd(e,s,d)}},It)};var Nd=function a(e,t,i,n,o,r){return T(e)&&T(t)&&(r.set(t,e),Ud(e,t,void 0,a,r),r.delete(t)),e},Kd=ut(function(a,e,t,i){Ud(a,e,t,i)}),Hd=rt(function(a){return a.push(void 0,Nd),wa(Kd,void 0,a)}),Vd="Expected a function";var Gd=function(a,e,t){if("function"!=typeof a)throw new TypeError(Vd);return setTimeout(function(){a.apply(void 0,t)},e)},Yd=rt(function(a,e){return Gd(a,1,e)}),Zd=rt(function(a,e,t){return Gd(a,D(e)||0,t)});var Jd=function(a,e,t){for(var i=-1,n=null==a?0:a.length;++i<n;)if(t(e,a[i]))return!0;return!1},Qd=200;var Xd=function(a,e,t,i){var n=-1,o=ne,r=!0,s=a.length,d=[],l=e.length;if(!s)return d;t&&(e=v(e,_t(t))),i?(o=Jd,r=!1):e.length>=Qd&&(o=cs,r=!1,e=new ds(e));a:for(;++n<s;){var c=a[n],u=null==t?c:t(c);if(c=i||0!==c?c:0,r&&u==u){for(var p=l;p--;)if(e[p]===u)continue a;d.push(c)}else o(e,u,i)||d.push(c)}return d},al=rt(function(a,e){return $d(a)?Xd(a,Li(e,1,$d,!0)):[]});var el=function(a){var e=null==a?0:a.length;return e?a[e-1]:void 0},tl=rt(function(a,e){var t=el(e);return $d(t)&&(t=void 0),$d(a)?Xd(a,Li(e,1,$d,!0),nd(t,2)):[]}),il=rt(function(a,e){var t=el(e);return $d(t)&&(t=void 0),$d(a)?Xd(a,Li(e,1,$d,!0),void 0,t):[]}),nl=E(function(a,e){return a/e},1);var ol=function(a,e,t){var i=null==a?0:a.length;return i?(e=t||void 0===e?1:I(e),un(a,e<0?0:e,i)):[]};var rl=function(a,e,t){var i=null==a?0:a.length;return i?(e=t||void 0===e?1:I(e),un(a,0,(e=i-e)<0?0:e)):[]};var sl=function(a,e,t,i){for(var n=a.length,o=i?n:-1;(i?o--:++o<n)&&e(a[o],o,a););return t?un(a,i?0:o,i?o+1:n):un(a,i?o+1:0,i?n:o)};var dl=function(a,e){return a&&a.length?sl(a,nd(e,3),!0,!0):[]};var ll=function(a,e){return a&&a.length?sl(a,nd(e,3),!0):[]};var cl=function(a){return"function"==typeof a?a:U};var ul=function(a,e){return(k(a)?Xa:wd)(a,cl(e))};var pl=function(a,e){for(var t=null==a?0:a.length;t--&&!1!==e(a[t],t,a););return a},zl=zd(!0);var gl=function(a,e){return a&&zl(a,e,Ct)},ml=yd(gl,!0);var yl=function(a,e){return(k(a)?pl:ml)(a,cl(e))};var wl=function(a,e,t){a=Si(a),e=q(e);var i=a.length,n=t=void 0===t?i:yo(I(t),0,i);return(t-=e.length)>=0&&a.slice(t,n)==e};var fl=function(a,e){return v(e,function(e){return[e,a[e]]})};var bl=function(a){var e=-1,t=Array(a.size);return a.forEach(function(a){t[++e]=[a,a]}),t},hl="[object Map]",vl="[object Set]";var kl=function(a){return function(e){var t=Yo(e);return t==hl?gs(e):t==vl?bl(e):fl(e,a(e))}},jl=kl(Ct),_l=kl(It),xl=Mn({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"}),ql=/[&<>"']/g,El=RegExp(ql.source);var Al=function(a){return(a=Si(a))&&El.test(a)?a.replace(ql,xl):a},Tl=/[\\^$.*+?()[\]{}|]/g,Ol=RegExp(Tl.source);var Sl=function(a){return(a=Si(a))&&Ol.test(a)?a.replace(Tl,"\\$&"):a};var Ml=function(a,e){for(var t=-1,i=null==a?0:a.length;++t<i;)if(!e(a[t],t,a))return!1;return!0};var Pl=function(a,e){var t=!0;return wd(a,function(a,i,n){return t=!!e(a,i,n)}),t};var Cl=function(a,e,t){var i=k(a)?Ml:Pl;return t&&ct(a,e,t)&&(e=void 0),i(a,nd(e,3))},Rl=4294967295;var Dl=function(a){return a?yo(I(a),0,Rl):0};var Fl=function(a,e,t,i){var n=a.length;for((t=I(t))<0&&(t=-t>n?0:n+t),(i=void 0===i||i>n?n:I(i))<0&&(i+=n),i=t>i?0:Dl(i);t<i;)a[t++]=e;return a};var Bl=function(a,e,t,i){var n=null==a?0:a.length;return n?(t&&"number"!=typeof t&&ct(a,e,t)&&(t=0,i=n),Fl(a,e,t,i)):[]};var $l=function(a,e){var t=[];return wd(a,function(a,i,n){e(a,i,n)&&t.push(a)}),t};var Il=function(a,e){return(k(a)?To:$l)(a,nd(e,3))};var Ll=function(a){return function(e,t,i){var n=Object(e);if(!lt(e)){var o=nd(t,3);e=Ct(e),t=function(a){return o(n[a],a,n)}}var r=a(e,t,i);return r>-1?n[o?e[r]:r]:void 0}},Wl=Math.max;var Ul=function(a,e,t){var i=null==a?0:a.length;if(!i)return-1;var n=null==t?0:I(t);return n<0&&(n=Wl(i+n,0)),ae(a,nd(e,3),n)},Nl=Ll(Ul);var Kl=function(a,e,t){var i;return t(a,function(a,t,n){if(e(a,t,n))return i=t,!1}),i};var Hl=function(a,e){return Kl(a,nd(e,3),md)},Vl=Math.max,Gl=Math.min;var Yl=function(a,e,t){var i=null==a?0:a.length;if(!i)return-1;var n=i-1;return void 0!==t&&(n=I(t),n=t<0?Vl(i+n,0):Gl(n,i-1)),ae(a,nd(e,3),n,!0)},Zl=Ll(Yl);var Jl=function(a,e){return Kl(a,nd(e,3),gl)};var Ql=function(a){return a&&a.length?a[0]:void 0};var Xl=function(a,e){var t=-1,i=lt(a)?Array(a.length):[];return wd(a,function(a,n,o){i[++t]=e(a,n,o)}),i};var ac=function(a,e){return(k(a)?v:Xl)(a,nd(e,3))};var ec=function(a,e){return Li(ac(a,e),1)},tc=1/0;var ic=function(a,e){return Li(ac(a,e),tc)};var nc=function(a,e,t){return t=void 0===t?1:I(t),Li(ac(a,e),t)},oc=1/0;var rc=function(a){return null!=a&&a.length?Li(a,oc):[]};var sc=function(a,e){return null!=a&&a.length?(e=void 0===e?1:I(e),Li(a,e)):[]},dc=512;var lc=function(a){return Ze(a,dc)},cc=co("floor"),uc="Expected a function",pc=8,zc=32,gc=128,mc=256;var yc=function(a){return Ui(function(e){var t=e.length,i=t,n=Pa.prototype.thru;for(a&&e.reverse();i--;){var o=e[i];if("function"!=typeof o)throw new TypeError(uc);if(n&&!r&&"wrapper"==Sa(o))var r=new Pa([],!0)}for(i=r?i:t;++i<t;){o=e[i];var s=Sa(o),d="wrapper"==s?Aa(o):void 0;r=d&&$a(d[0])&&d[1]==(gc|pc|zc|mc)&&!d[4].length&&1==d[9]?r[Sa(d[0])].apply(r,d[3]):1==o.length&&$a(o)?r[s]():r.thru(o)}return function(){var a=arguments,i=a[0];if(r&&1==a.length&&k(i))return r.plant(i).value();for(var n=0,o=t?e[n].apply(this,a):i;++n<t;)o=e[n].call(this,o);return o}})},wc=yc(),fc=yc(!0);var bc=function(a,e){return null==a?a:gd(a,cl(e),It)};var hc=function(a,e){return null==a?a:zl(a,cl(e),It)};var vc=function(a,e){return a&&md(a,cl(e))};var kc=function(a,e){return a&&gl(a,cl(e))};var jc=function(a){for(var e=-1,t=null==a?0:a.length,i={};++e<t;){var n=a[e];i[n[0]]=n[1]}return i};var _c=function(a,e){return To(e,function(e){return G(a[e])})};var xc=function(a){return null==a?[]:_c(a,Ct(a))};var qc=function(a){return null==a?[]:_c(a,It(a))},Ec=Object.prototype.hasOwnProperty,Ac=bd(function(a,e,t){Ec.call(a,t)?a[t].push(e):Xe(a,t,[e])});var Tc=function(a,e){return a>e};var Oc=function(a){return function(e,t){return"string"==typeof e&&"string"==typeof t||(e=D(e),t=D(t)),a(e,t)}},Sc=Oc(Tc),Mc=Oc(function(a,e){return a>=e}),Pc=Object.prototype.hasOwnProperty;var Cc=function(a,e){return null!=a&&Pc.call(a,e)};var Rc=function(a,e){return null!=a&&Zs(a,e,Cc)},Dc=Math.max,Fc=Math.min;var Bc=function(a,e,t){return a>=Fc(e,t)&&a<Dc(e,t)};var $c=function(a,e,t){return e=$(e),void 0===t?(t=e,e=0):t=$(t),a=D(a),Bc(a,e,t)},Ic="[object String]";var Lc=function(a){return"string"==typeof a||!k(a)&&y(a)&&m(a)==Ic};var Wc=function(a,e){return v(e,function(e){return a[e]})};var Uc=function(a){return null==a?[]:Wc(a,Ct(a))},Nc=Math.max;var Kc=function(a,e,t,i){a=lt(a)?a:Uc(a),t=t&&!i?I(t):0;var n=a.length;return t<0&&(t=Nc(n+t,0)),Lc(a)?t<=n&&a.indexOf(e,t)>-1:!!n&&ie(a,e,t)>-1},Hc=Math.max;var Vc=function(a,e,t){var i=null==a?0:a.length;if(!i)return-1;var n=null==t?0:I(t);return n<0&&(n=Hc(i+n,0)),ie(a,e,n)};var Gc=function(a){return null!=a&&a.length?un(a,0,-1):[]},Yc=Math.min;var Zc=function(a,e,t){for(var i=t?Jd:ne,n=a[0].length,o=a.length,r=o,s=Array(o),d=1/0,l=[];r--;){var c=a[r];r&&e&&(c=v(c,_t(e))),d=Yc(c.length,d),s[r]=!t&&(e||n>=120&&c.length>=120)?new ds(r&&c):void 0}c=a[0];var u=-1,p=s[0];a:for(;++u<n&&l.length<d;){var z=c[u],g=e?e(z):z;if(z=t||0!==z?z:0,!(p?cs(p,g):i(l,g,t))){for(r=o;--r;){var m=s[r];if(!(m?cs(m,g):i(a[r],g,t)))continue a}p&&p.push(g),l.push(z)}}return l};var Jc=function(a){return $d(a)?a:[]},Qc=rt(function(a){var e=v(a,Jc);return e.length&&e[0]===a[0]?Zc(e):[]}),Xc=rt(function(a){var e=el(a),t=v(a,Jc);return e===el(t)?e=void 0:t.pop(),t.length&&t[0]===a[0]?Zc(t,nd(e,2)):[]}),au=rt(function(a){var e=el(a),t=v(a,Jc);return(e="function"==typeof e?e:void 0)&&t.pop(),t.length&&t[0]===a[0]?Zc(t,void 0,e):[]});var eu=function(a,e,t,i){return md(a,function(a,n,o){e(i,t(a),n,o)}),i};var tu=function(a,e){return function(t,i){return eu(t,a,e(i),{})}},iu=Object.prototype.toString,nu=tu(function(a,e,t){null!=e&&"function"!=typeof e.toString&&(e=iu.call(e)),a[e]=t},Za(U)),ou=Object.prototype,ru=ou.hasOwnProperty,su=ou.toString,du=tu(function(a,e,t){null!=e&&"function"!=typeof e.toString&&(e=su.call(e)),ru.call(a,e)?a[e].push(t):a[e]=[t]},nd);var lu=function(a,e){return e.length<2?a:Ri(a,un(e,0,-1))};var cu=function(a,e,t){e=Mi(e,a);var i=null==(a=lu(a,e))?a:a[Ci(el(e))];return null==i?void 0:wa(i,a,t)},uu=rt(cu),pu=rt(function(a,e,t){var i=-1,n="function"==typeof e,o=lt(a)?Array(a.length):[];return wd(a,function(a){o[++i]=n?wa(e,a,t):cu(a,e,t)}),o}),zu="[object ArrayBuffer]";var gu=function(a){return y(a)&&m(a)==zu},mu=xt.a&&xt.a.isArrayBuffer,yu=mu?_t(mu):gu,wu="[object Boolean]";var fu=function(a){return!0===a||!1===a||y(a)&&m(a)==wu},bu="[object Date]";var hu=function(a){return y(a)&&m(a)==bu},vu=xt.a&&xt.a.isDate,ku=vu?_t(vu):hu;var ju=function(a){return y(a)&&1===a.nodeType&&!Qi(a)},_u="[object Map]",xu="[object Set]",qu=Object.prototype.hasOwnProperty;var Eu=function(a){if(null==a)return!0;if(lt(a)&&(k(a)||"string"==typeof a||"function"==typeof a.splice||Object(vt.a)(a)||Et(a)||ht(a)))return!a.length;var e=Yo(a);if(e==_u||e==xu)return!a.size;if(zt(a))return!Pt(a).length;for(var t in a)if(qu.call(a,t))return!1;return!0};var Au=function(a,e){return Ls(a,e)};var Tu=function(a,e,t){var i=(t="function"==typeof t?t:void 0)?t(a,e):void 0;return void 0===i?Ls(a,e,void 0,t):!!i},Ou=i.a.isFinite;var Su=function(a){return"number"==typeof a&&Ou(a)};var Mu=function(a){return"number"==typeof a&&a==I(a)};var Pu=function(a,e){return a===e||Ns(a,e,Hs(e))};var Cu=function(a,e,t){return t="function"==typeof t?t:void 0,Ns(a,e,Hs(e),t)},Ru="[object Number]";var Du=function(a){return"number"==typeof a||y(a)&&m(a)==Ru};var Fu=function(a){return Du(a)&&a!=+a},Bu=t(121),$u=Y?G:Bu.a,Iu="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.";var Lu=function(a){if($u(a))throw new Error(Iu);return ra(a)};var Wu=function(a){return null==a};var Uu=function(a){return null===a},Nu="[object RegExp]";var Ku=function(a){return y(a)&&m(a)==Nu},Hu=xt.a&&xt.a.isRegExp,Vu=Hu?_t(Hu):Ku,Gu=9007199254740991;var Yu=function(a){return Mu(a)&&a>=-Gu&&a<=Gu};var Zu=function(a){return void 0===a},Ju="[object WeakMap]";var Qu=function(a){return y(a)&&Yo(a)==Ju},Xu="[object WeakSet]";var ap=function(a){return y(a)&&m(a)==Xu},ep=1;var tp=function(a){return nd("function"==typeof a?a:Nr(a,ep))},ip=Array.prototype.join;var np=function(a,e){return null==a?"":ip.call(a,e)},op=oo(function(a,e,t){return a+(t?"-":"")+e.toLowerCase()}),rp=bd(function(a,e,t){Xe(a,t,e)});var sp=function(a,e,t){for(var i=t+1;i--;)if(a[i]===e)return i;return i},dp=Math.max,lp=Math.min;var cp=function(a,e,t){var i=null==a?0:a.length;if(!i)return-1;var n=i;return void 0!==t&&(n=(n=I(t))<0?dp(i+n,0):lp(n,i-1)),e==e?sp(a,e,n):ae(a,ee,n,!0)},up=oo(function(a,e,t){return a+(t?" ":"")+e.toLowerCase()}),pp=An("toLowerCase");var zp=function(a,e){return a<e},gp=Oc(zp),mp=Oc(function(a,e){return a<=e});var yp=function(a,e){var t={};return e=nd(e,3),md(a,function(a,i,n){Xe(t,e(a,i,n),a)}),t};var wp=function(a,e){var t={};return e=nd(e,3),md(a,function(a,i,n){Xe(t,i,e(a,i,n))}),t},fp=1;var bp=function(a){return Gs(Nr(a,fp))},hp=1;var vp=function(a,e){return ad(a,Nr(e,hp))};var kp=function(a,e,t){for(var i=-1,n=a.length;++i<n;){var o=a[i],r=e(o);if(null!=r&&(void 0===s?r==r&&!f(r):t(r,s)))var s=r,d=o}return d};var jp=function(a){return a&&a.length?kp(a,U,Tc):void 0};var _p=function(a,e){return a&&a.length?kp(a,nd(e,2),Tc):void 0};var xp=function(a,e){for(var t,i=-1,n=a.length;++i<n;){var o=e(a[i]);void 0!==o&&(t=void 0===t?o:t+o)}return t},qp=NaN;var Ep=function(a,e){var t=null==a?0:a.length;return t?xp(a,e)/t:qp};var Ap=function(a){return Ep(a,U)};var Tp=function(a,e){return Ep(a,nd(e,2))},Op=ut(function(a,e,t){Ud(a,e,t)}),Sp=rt(function(a,e){return function(t){return cu(t,a,e)}}),Mp=rt(function(a,e){return function(t){return cu(a,t,e)}});var Pp=function(a){return a&&a.length?kp(a,U,zp):void 0};var Cp=function(a,e){return a&&a.length?kp(a,nd(e,2),zp):void 0};var Rp=function(a,e,t){var i=Ct(e),n=_c(e,i),o=!(T(t)&&"chain"in t&&!t.chain),r=G(a);return Xa(n,function(t){var i=e[t];a[t]=i,r&&(a.prototype[t]=function(){var e=this.__chain__;if(o||e){var t=a(this.__wrapped__);return(t.__actions__=Ca(this.__actions__)).push({func:i,args:arguments,thisArg:a}),t.__chain__=e,t}return i.apply(a,Bi([this.value()],arguments))})}),a},Dp=E(function(a,e){return a*e},1),Fp="Expected a function";var Bp=function(a){if("function"!=typeof a)throw new TypeError(Fp);return function(){var e=arguments;switch(e.length){case 0:return!a.call(this);case 1:return!a.call(this,e[0]);case 2:return!a.call(this,e[0],e[1]);case 3:return!a.call(this,e[0],e[1],e[2])}return!a.apply(this,e)}};var $p=function(a){for(var e,t=[];!(e=a.next()).done;)t.push(e.value);return t},Ip="[object Map]",Lp="[object Set]",Wp=n?n.iterator:void 0;var Up=function(a){if(!a)return[];if(lt(a))return Lc(a)?En(a):Ca(a);if(Wp&&a[Wp])return $p(a[Wp]());var e=Yo(a);return(e==Ip?gs:e==Lp?ms:Uc)(a)};var Np=function(){void 0===this.__values__&&(this.__values__=Up(this.value()));var a=this.__index__>=this.__values__.length;return{done:a,value:a?void 0:this.__values__[this.__index__++]}};var Kp=function(a,e){var t=a.length;if(t)return fe(e+=e<0?t:0,t)?a[e]:void 0};var Hp=function(a,e){return a&&a.length?Kp(a,I(e)):void 0};var Vp=function(a){return a=I(a),rt(function(e){return Kp(e,a)})};var Gp=function(a,e){return e=Mi(e,a),null==(a=lu(a,e))||delete a[Ci(el(e))]};var Yp=function(a){return Qi(a)?void 0:a},Zp=Ui(function(a,e){var t={};if(null==a)return t;var i=!1;e=v(e,function(e){return e=Mi(e,a),i||(i=e.length>1),e}),it(a,$o(a),t),i&&(t=Nr(t,7,Yp));for(var n=e.length;n--;)Gp(t,e[n]);return t});var Jp=function(a,e,t,i){if(!T(a))return a;for(var n=-1,o=(e=Mi(e,a)).length,r=o-1,s=a;null!=s&&++n<o;){var d=Ci(e[n]),l=t;if(n!=r){var c=s[d];void 0===(l=i?i(c,d,s):void 0)&&(l=T(c)?c:fe(e[n+1])?[]:{})}tt(s,d,l),s=s[d]}return a};var Qp=function(a,e,t){for(var i=-1,n=e.length,o={};++i<n;){var r=e[i],s=Ri(a,r);t(s,r)&&Jp(o,Mi(r,a),s)}return o};var Xp=function(a,e){if(null==a)return{};var t=v($o(a),function(a){return[a]});return e=nd(e),Qp(a,t,function(a,t){return e(a,t[0])})};var az=function(a,e){return Xp(a,Bp(nd(e)))};var ez=function(a){return on(2,a)};var tz=function(a,e){var t=a.length;for(a.sort(e);t--;)a[t]=a[t].value;return a};var iz=function(a,e){if(a!==e){var t=void 0!==a,i=null===a,n=a==a,o=f(a),r=void 0!==e,s=null===e,d=e==e,l=f(e);if(!s&&!l&&!o&&a>e||o&&r&&d&&!s&&!l||i&&r&&d||!t&&d||!n)return 1;if(!i&&!o&&!l&&a<e||l&&t&&n&&!i&&!o||s&&t&&n||!r&&n||!d)return-1}return 0};var nz=function(a,e,t){for(var i=-1,n=a.criteria,o=e.criteria,r=n.length,s=t.length;++i<r;){var d=iz(n[i],o[i]);if(d)return i>=s?d:d*("desc"==t[i]?-1:1)}return a.index-e.index};var oz=function(a,e,t){var i=-1;e=v(e.length?e:[U],_t(nd));var n=Xl(a,function(a,t,n){return{criteria:v(e,function(e){return e(a)}),index:++i,value:a}});return tz(n,function(a,e){return nz(a,e,t)})};var rz=function(a,e,t,i){return null==a?[]:(k(e)||(e=null==e?[]:[e]),k(t=i?void 0:t)||(t=null==t?[]:[t]),oz(a,e,t))};var sz=function(a){return Ui(function(e){return e=v(e,_t(nd)),rt(function(t){var i=this;return a(e,function(a){return wa(a,i,t)})})})},dz=sz(v),lz=rt,cz=Math.min,uz=lz(function(a,e){var t=(e=1==e.length&&k(e[0])?v(e[0],_t(nd)):v(Li(e,1),_t(nd))).length;return rt(function(i){for(var n=-1,o=cz(i.length,t);++n<o;)i[n]=e[n].call(this,i[n]);return wa(a,this,i)})}),pz=sz(Ml),zz=sz(ls),gz=9007199254740991,mz=Math.floor;var yz=function(a,e){var t="";if(!a||e<1||e>gz)return t;do{e%2&&(t+=a),(e=mz(e/2))&&(a+=a)}while(e);return t},wz=ed("length"),fz="[\\ud800-\\udfff]",bz="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",hz="[^\\ud800-\\udfff]",vz="(?:\\ud83c[\\udde6-\\uddff]){2}",kz="[\\ud800-\\udbff][\\udc00-\\udfff]",jz="(?:"+bz+"|\\ud83c[\\udffb-\\udfff])"+"?",_z="[\\ufe0e\\ufe0f]?"+jz+("(?:\\u200d(?:"+[hz,vz,kz].join("|")+")[\\ufe0e\\ufe0f]?"+jz+")*"),xz="(?:"+[hz+bz+"?",bz,vz,kz,fz].join("|")+")",qz=RegExp("\\ud83c[\\udffb-\\udfff](?=\\ud83c[\\udffb-\\udfff])|"+xz+_z,"g");var Ez=function(a){for(var e=qz.lastIndex=0;qz.test(a);)++e;return e};var Az=function(a){return gn(a)?Ez(a):wz(a)},Tz=Math.ceil;var Oz=function(a,e){var t=(e=void 0===e?" ":q(e)).length;if(t<2)return t?yz(e,a):e;var i=yz(e,Tz(a/Az(e)));return gn(e)?pn(En(i),0,a).join(""):i.slice(0,a)},Sz=Math.ceil,Mz=Math.floor;var Pz=function(a,e,t){a=Si(a);var i=(e=I(e))?Az(a):0;if(!e||i>=e)return a;var n=(e-i)/2;return Oz(Mz(n),t)+a+Oz(Sz(n),t)};var Cz=function(a,e,t){a=Si(a);var i=(e=I(e))?Az(a):0;return e&&i<e?a+Oz(e-i,t):a};var Rz=function(a,e,t){a=Si(a);var i=(e=I(e))?Az(a):0;return e&&i<e?Oz(e-i,t)+a:a},Dz=/^\s+/,Fz=i.a.parseInt;var Bz=function(a,e,t){return t||null==e?e=0:e&&(e=+e),Fz(Si(a).replace(Dz,""),e||0)},$z=rt(function(a,e){var t=ke(e,me($z));return Ze(a,32,void 0,e,t)});$z.placeholder={};var Iz=$z,Lz=rt(function(a,e){var t=ke(e,me(Lz));return Ze(a,64,void 0,e,t)});Lz.placeholder={};var Wz=Lz,Uz=bd(function(a,e,t){a[t?0:1].push(e)},function(){return[[],[]]});var Nz=function(a,e){return Qp(a,e,function(e,t){return Js(a,t)})},Kz=Ui(function(a,e){return null==a?{}:Nz(a,e)});var Hz=function(a){for(var e,t=this;t instanceof ja;){var i=Ra(t);i.__index__=0,i.__values__=void 0,e?n.__wrapped__=i:e=i;var n=i;t=t.__wrapped__}return n.__wrapped__=a,e};var Vz=function(a){return function(e){return null==a?void 0:Ri(a,e)}};var Gz=function(a,e,t,i){for(var n=t-1,o=a.length;++n<o;)if(i(a[n],e))return n;return-1},Yz=Array.prototype.splice;var Zz=function(a,e,t,i){var n=i?Gz:ie,o=-1,r=e.length,s=a;for(a===e&&(e=Ca(e)),t&&(s=v(a,_t(t)));++o<r;)for(var d=0,l=e[o],c=t?t(l):l;(d=n(s,c,d,i))>-1;)s!==a&&Yz.call(s,d,1),Yz.call(a,d,1);return a};var Jz=function(a,e){return a&&a.length&&e&&e.length?Zz(a,e):a},Qz=rt(Jz);var Xz=function(a,e,t){return a&&a.length&&e&&e.length?Zz(a,e,nd(t,2)):a};var ag=function(a,e,t){return a&&a.length&&e&&e.length?Zz(a,e,void 0,t):a},eg=Array.prototype.splice;var tg=function(a,e){for(var t=a?e.length:0,i=t-1;t--;){var n=e[t];if(t==i||n!==o){var o=n;fe(n)?eg.call(a,n,1):Gp(a,n)}}return a},ig=Ui(function(a,e){var t=null==a?0:a.length,i=Fi(a,e);return tg(a,v(e,function(a){return fe(a,t)?+a:a}).sort(iz)),i}),ng=Math.floor,og=Math.random;var rg=function(a,e){return a+ng(og()*(e-a+1))},sg=parseFloat,dg=Math.min,lg=Math.random;var cg=function(a,e,t){if(t&&"boolean"!=typeof t&&ct(a,e,t)&&(e=t=void 0),void 0===t&&("boolean"==typeof e?(t=e,e=void 0):"boolean"==typeof a&&(t=a,a=void 0)),void 0===a&&void 0===e?(a=0,e=1):(a=$(a),void 0===e?(e=a,a=0):e=$(e)),a>e){var i=a;a=e,e=i}if(t||a%1||e%1){var n=lg();return dg(a+n*(e-a+sg("1e-"+((n+"").length-1))),e)}return rg(a,e)},ug=Math.ceil,pg=Math.max;var zg=function(a,e,t,i){for(var n=-1,o=pg(ug((e-a)/(t||1)),0),r=Array(o);o--;)r[i?o:++n]=a,a+=t;return r};var gg=function(a){return function(e,t,i){return i&&"number"!=typeof i&&ct(e,t,i)&&(t=i=void 0),e=$(e),void 0===t?(t=e,e=0):t=$(t),i=void 0===i?e<t?1:-1:$(i),zg(e,t,i,a)}},mg=gg(),yg=gg(!0),wg=Ui(function(a,e){return Ze(a,256,void 0,void 0,void 0,e)});var fg=function(a,e,t,i,n){return n(a,function(a,n,o){t=i?(i=!1,a):e(t,a,n,o)}),t};var bg=function(a,e,t){var i=k(a)?Sn:fg,n=arguments.length<3;return i(a,nd(e,4),t,n,wd)};var hg=function(a,e,t,i){var n=null==a?0:a.length;for(i&&n&&(t=a[--n]);n--;)t=e(t,a[n],n,a);return t};var vg=function(a,e,t){var i=k(a)?hg:fg,n=arguments.length<3;return i(a,nd(e,4),t,n,ml)};var kg=function(a,e){return(k(a)?To:$l)(a,Bp(nd(e,3)))};var jg=function(a,e){var t=[];if(!a||!a.length)return t;var i=-1,n=[],o=a.length;for(e=nd(e,3);++i<o;){var r=a[i];e(r,i,a)&&(t.push(r),n.push(i))}return tg(a,n),t};var _g=function(a,e,t){return e=(t?ct(a,e,t):void 0===e)?1:I(e),yz(Si(a),e)};var xg=function(){var a=arguments,e=Si(a[0]);return a.length<3?e:e.replace(a[1],a[2])},qg="Expected a function";var Eg=function(a,e){if("function"!=typeof a)throw new TypeError(qg);return e=void 0===e?e:I(e),rt(a,e)};var Ag=function(a,e,t){var i=-1,n=(e=Mi(e,a)).length;for(n||(n=1,a=void 0);++i<n;){var o=null==a?void 0:a[Ci(e[i])];void 0===o&&(i=n,o=t),a=G(o)?o.call(a):o}return a},Tg=Array.prototype.reverse;var Og=function(a){return null==a?a:Tg.call(a)},Sg=co("round");var Mg=function(a){var e=a.length;return e?a[rg(0,e-1)]:void 0};var Pg=function(a){return Mg(Uc(a))};var Cg=function(a){return(k(a)?Mg:Pg)(a)};var Rg=function(a,e){var t=-1,i=a.length,n=i-1;for(e=void 0===e?i:e;++t<e;){var o=rg(t,n),r=a[o];a[o]=a[t],a[t]=r}return a.length=e,a};var Dg=function(a,e){return Rg(Ca(a),yo(e,0,a.length))};var Fg=function(a,e){var t=Uc(a);return Rg(t,yo(e,0,t.length))};var Bg=function(a,e,t){return e=(t?ct(a,e,t):void 0===e)?1:I(e),(k(a)?Dg:Fg)(a,e)};var $g=function(a,e,t){return null==a?a:Jp(a,e,t)};var Ig=function(a,e,t,i){return i="function"==typeof i?i:void 0,null==a?a:Jp(a,e,t,i)};var Lg=function(a){return Rg(Ca(a))};var Wg=function(a){return Rg(Uc(a))};var Ug=function(a){return(k(a)?Lg:Wg)(a)},Ng="[object Map]",Kg="[object Set]";var Hg=function(a){if(null==a)return 0;if(lt(a))return Lc(a)?Az(a):a.length;var e=Yo(a);return e==Ng||e==Kg?a.size:Pt(a).length};var Vg=function(a,e,t){var i=null==a?0:a.length;return i?(t&&"number"!=typeof t&&ct(a,e,t)?(e=0,t=i):(e=null==e?0:I(e),t=void 0===t?i:I(t)),un(a,e,t)):[]},Gg=oo(function(a,e,t){return a+(t?"_":"")+e.toLowerCase()});var Yg=function(a,e){var t;return wd(a,function(a,i,n){return!(t=e(a,i,n))}),!!t};var Zg=function(a,e,t){var i=k(a)?ls:Yg;return t&&ct(a,e,t)&&(e=void 0),i(a,nd(e,3))},Jg=rt(function(a,e){if(null==a)return[];var t=e.length;return t>1&&ct(a,e[0],e[1])?e=[]:t>2&&ct(e[0],e[1],e[2])&&(e=[e[0]]),oz(a,Li(e,1),[])}),Qg=4294967294,Xg=Math.floor,am=Math.min;var em=function(a,e,t,i){e=t(e);for(var n=0,o=null==a?0:a.length,r=e!=e,s=null===e,d=f(e),l=void 0===e;n<o;){var c=Xg((n+o)/2),u=t(a[c]),p=void 0!==u,z=null===u,g=u==u,m=f(u);if(r)var y=i||g;else y=l?g&&(i||p):s?g&&p&&(i||!z):d?g&&p&&!z&&(i||!m):!z&&!m&&(i?u<=e:u<e);y?n=c+1:o=c}return am(o,Qg)},tm=2147483647;var im=function(a,e,t){var i=0,n=null==a?i:a.length;if("number"==typeof e&&e==e&&n<=tm){for(;i<n;){var o=i+n>>>1,r=a[o];null!==r&&!f(r)&&(t?r<=e:r<e)?i=o+1:n=o}return n}return em(a,e,U,t)};var nm=function(a,e){return im(a,e)};var om=function(a,e,t){return em(a,e,nd(t,2))};var rm=function(a,e){var t=null==a?0:a.length;if(t){var i=im(a,e);if(i<t&&at(a[i],e))return i}return-1};var sm=function(a,e){return im(a,e,!0)};var dm=function(a,e,t){return em(a,e,nd(t,2),!0)};var lm=function(a,e){if(null!=a&&a.length){var t=im(a,e,!0)-1;if(at(a[t],e))return t}return-1};var cm=function(a,e){for(var t=-1,i=a.length,n=0,o=[];++t<i;){var r=a[t],s=e?e(r):r;if(!t||!at(s,d)){var d=s;o[n++]=0===r?0:r}}return o};var um=function(a){return a&&a.length?cm(a):[]};var pm=function(a,e){return a&&a.length?cm(a,nd(e,2)):[]},zm=4294967295;var gm=function(a,e,t){return t&&"number"!=typeof t&&ct(a,e,t)&&(e=t=void 0),(t=void 0===t?zm:t>>>0)?(a=Si(a))&&("string"==typeof e||null!=e&&!Vu(e))&&!(e=q(e))&&gn(a)?pn(En(a),0,t):a.split(e,t):[]},mm="Expected a function",ym=Math.max;var wm=function(a,e){if("function"!=typeof a)throw new TypeError(mm);return e=null==e?0:ym(I(e),0),rt(function(t){var i=t[e],n=pn(t,0,e);return i&&Bi(n,i),wa(a,this,n)})},fm=oo(function(a,e,t){return a+(t?" ":"")+Tn(e)});var bm=function(a,e,t){return a=Si(a),t=null==t?0:yo(I(t),0,a.length),e=q(e),a.slice(t,t+e.length)==e};var hm=function(){return{}};var vm=function(){return""};var km=function(){return!0},jm=E(function(a,e){return a-e},0);var _m=function(a){return a&&a.length?xp(a,U):0};var xm=function(a,e){return a&&a.length?xp(a,nd(e,2)):0};var qm=function(a){var e=null==a?0:a.length;return e?un(a,1,e):[]};var Em=function(a,e,t){return a&&a.length?(e=t||void 0===e?1:I(e),un(a,0,e<0?0:e)):[]};var Am=function(a,e,t){var i=null==a?0:a.length;return i?(e=t||void 0===e?1:I(e),un(a,(e=i-e)<0?0:e,i)):[]};var Tm=function(a,e){return a&&a.length?sl(a,nd(e,3),!1,!0):[]};var Om=function(a,e){return a&&a.length?sl(a,nd(e,3)):[]};var Sm=function(a,e){return e(a),a},Mm=Object.prototype,Pm=Mm.hasOwnProperty;var Cm=function(a,e,t,i){return void 0===a||at(a,Mm[t])&&!Pm.call(i,t)?e:a},Rm={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"};var Dm=function(a){return"\\"+Rm[a]},Fm=/<%=([\s\S]+?)%>/g,Bm={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:Fm,variable:"",imports:{_:{escape:Al}}},$m=/\b__p \+= '';/g,Im=/\b(__p \+=) '' \+/g,Lm=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Wm=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Um=/($^)/,Nm=/['\n\r\u2028\u2029\\]/g;var Km=function(a,e,t){var i=Bm.imports._.templateSettings||Bm;t&&ct(a,e,t)&&(e=void 0),a=Si(a),e=Wt({},e,i,Cm);var n,o,r=Wt({},e.imports,i.imports,Cm),s=Ct(r),d=Wc(r,s),l=0,c=e.interpolate||Um,u="__p += '",p=RegExp((e.escape||Um).source+"|"+c.source+"|"+(c===Fm?Wm:Um).source+"|"+(e.evaluate||Um).source+"|$","g"),z="sourceURL"in e?"//# sourceURL="+e.sourceURL+"\n":"";a.replace(p,function(e,t,i,r,s,d){return i||(i=r),u+=a.slice(l,d).replace(Nm,Dm),t&&(n=!0,u+="' +\n__e("+t+") +\n'"),s&&(o=!0,u+="';\n"+s+";\n__p += '"),i&&(u+="' +\n((__t = ("+i+")) == null ? '' : __t) +\n'"),l=d+e.length,e}),u+="';\n";var g=e.variable;g||(u="with (obj) {\n"+u+"\n}\n"),u=(o?u.replace($m,""):u).replace(Im,"$1").replace(Lm,"$1;"),u="function("+(g||"obj")+") {\n"+(g?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(n?", __e = _.escape":"")+(o?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+u+"return __p\n}";var m=tn(function(){return Function(s,z+"return "+u).apply(void 0,d)});if(m.source=u,en(m))throw m;return m},Hm="Expected a function";var Vm=function(a,e,t){var i=!0,n=!0;if("function"!=typeof a)throw new TypeError(Hm);return T(t)&&(i="leading"in t?!!t.leading:i,n="trailing"in t?!!t.trailing:n),Pd(a,e,{leading:i,maxWait:e,trailing:n})};var Gm=function(a,e){return e(a)},Ym=9007199254740991,Zm=4294967295,Jm=Math.min;var Qm=function(a,e){if((a=I(a))<1||a>Ym)return[];var t=Zm,i=Jm(a,Zm);e=cl(e),a-=Zm;for(var n=gt(i,e);++t<a;)e(t);return n};var Xm=function(){return this};var ay=function(a,e){var t=a;return t instanceof qa&&(t=t.value()),Sn(e,function(a,e){return e.func.apply(e.thisArg,Bi([a],e.args))},t)};var ey=function(){return ay(this.__wrapped__,this.__actions__)};var ty=function(a){return Si(a).toLowerCase()};var iy=function(a){return k(a)?v(a,Ci):f(a)?[a]:Ca(Oi(Si(a)))},ny=9007199254740991;var oy=function(a){return a?yo(I(a),-ny,ny):0===a?a:0};var ry=function(a){return Si(a).toUpperCase()};var sy=function(a,e,t){var i=k(a),n=i||Object(vt.a)(a)||Et(a);if(e=nd(e,4),null==t){var o=a&&a.constructor;t=n?i?new o:[]:T(a)&&G(o)?za(Ki(a)):{}}return(n?Xa:md)(a,function(a,i,n){return e(t,a,i,n)}),t};var dy=function(a,e){for(var t=a.length;t--&&ie(e,a[t],0)>-1;);return t};var ly=function(a,e){for(var t=-1,i=a.length;++t<i&&ie(e,a[t],0)>-1;);return t},cy=/^\s+|\s+$/g;var uy=function(a,e,t){if((a=Si(a))&&(t||void 0===e))return a.replace(cy,"");if(!a||!(e=q(e)))return a;var i=En(a),n=En(e),o=ly(i,n),r=dy(i,n)+1;return pn(i,o,r).join("")},py=/\s+$/;var zy=function(a,e,t){if((a=Si(a))&&(t||void 0===e))return a.replace(py,"");if(!a||!(e=q(e)))return a;var i=En(a),n=dy(i,En(e))+1;return pn(i,0,n).join("")},gy=/^\s+/;var my=function(a,e,t){if((a=Si(a))&&(t||void 0===e))return a.replace(gy,"");if(!a||!(e=q(e)))return a;var i=En(a),n=ly(i,En(e));return pn(i,n).join("")},yy=30,wy="...",fy=/\w*$/;var by=function(a,e){var t=yy,i=wy;if(T(e)){var n="separator"in e?e.separator:n;t="length"in e?I(e.length):t,i="omission"in e?q(e.omission):i}var o=(a=Si(a)).length;if(gn(a)){var r=En(a);o=r.length}if(t>=o)return a;var s=t-Az(i);if(s<1)return i;var d=r?pn(r,0,s).join(""):a.slice(0,s);if(void 0===n)return d+i;if(r&&(s+=d.length-s),Vu(n)){if(a.slice(s).search(n)){var l,c=d;for(n.global||(n=RegExp(n.source,Si(fy.exec(n))+"g")),n.lastIndex=0;l=n.exec(c);)var u=l.index;d=d.slice(0,void 0===u?s:u)}}else if(a.indexOf(q(n),s)!=s){var p=d.lastIndexOf(n);p>-1&&(d=d.slice(0,p))}return d+i};var hy=function(a){return Qe(a,1)},vy=Mn({"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"}),ky=/&(?:amp|lt|gt|quot|#39);/g,jy=RegExp(ky.source);var _y=function(a){return(a=Si(a))&&jy.test(a)?a.replace(ky,vy):a},xy=Wo&&1/ms(new Wo([,-0]))[1]==1/0?function(a){return new Wo(a)}:Ea,qy=200;var Ey=function(a,e,t){var i=-1,n=ne,o=a.length,r=!0,s=[],d=s;if(t)r=!1,n=Jd;else if(o>=qy){var l=e?null:xy(a);if(l)return ms(l);r=!1,n=cs,d=new ds}else d=e?[]:s;a:for(;++i<o;){var c=a[i],u=e?e(c):c;if(c=t||0!==c?c:0,r&&u==u){for(var p=d.length;p--;)if(d[p]===u)continue a;e&&d.push(u),s.push(c)}else n(d,u,t)||(d!==s&&d.push(u),s.push(c))}return s},Ay=rt(function(a){return Ey(Li(a,1,$d,!0))}),Ty=rt(function(a){var e=el(a);return $d(e)&&(e=void 0),Ey(Li(a,1,$d,!0),nd(e,2))}),Oy=rt(function(a){var e=el(a);return e="function"==typeof e?e:void 0,Ey(Li(a,1,$d,!0),void 0,e)});var Sy=function(a){return a&&a.length?Ey(a):[]};var My=function(a,e){return a&&a.length?Ey(a,nd(e,2)):[]};var Py=function(a,e){return e="function"==typeof e?e:void 0,a&&a.length?Ey(a,void 0,e):[]},Cy=0;var Ry=function(a){var e=++Cy;return Si(a)+e};var Dy=function(a,e){return null==a||Gp(a,e)},Fy=Math.max;var By=function(a){if(!a||!a.length)return[];var e=0;return a=To(a,function(a){if($d(a))return e=Fy(a.length,e),!0}),gt(e,function(e){return v(a,ed(e))})};var $y=function(a,e){if(!a||!a.length)return[];var t=By(a);return null==e?t:v(t,function(a){return wa(e,void 0,a)})};var Iy=function(a,e,t,i){return Jp(a,e,t(Ri(a,e)),i)};var Ly=function(a,e,t){return null==a?a:Iy(a,e,cl(t))};var Wy=function(a,e,t,i){return i="function"==typeof i?i:void 0,null==a?a:Iy(a,e,cl(t),i)},Uy=oo(function(a,e,t){return a+(t?" ":"")+e.toUpperCase()});var Ny=function(a){return null==a?[]:Wc(a,It(a))},Ky=rt(function(a,e){return $d(a)?Xd(a,e):[]});var Hy=function(a,e){return Iz(cl(e),a)},Vy=Ui(function(a){var e=a.length,t=e?a[0]:0,i=this.__wrapped__,n=function(e){return Fi(e,a)};return!(e>1||this.__actions__.length)&&i instanceof qa&&fe(t)?((i=i.slice(t,+t+(e?1:0))).__actions__.push({func:Gm,args:[n],thisArg:void 0}),new Pa(i,this.__chain__).thru(function(a){return e&&!a.length&&a.push(void 0),a})):this.thru(n)});var Gy=function(){return po(this)};var Yy=function(){var a=this.__wrapped__;if(a instanceof qa){var e=a;return this.__actions__.length&&(e=new qa(this)),(e=e.reverse()).__actions__.push({func:Gm,args:[Og],thisArg:void 0}),new Pa(e,this.__chain__)}return this.thru(Og)};var Zy=function(a,e,t){var i=a.length;if(i<2)return i?Ey(a[0]):[];for(var n=-1,o=Array(i);++n<i;)for(var r=a[n],s=-1;++s<i;)s!=n&&(o[n]=Xd(o[n]||r,a[s],e,t));return Ey(Li(o,1),e,t)},Jy=rt(function(a){return Zy(To(a,$d))}),Qy=rt(function(a){var e=el(a);return $d(e)&&(e=void 0),Zy(To(a,$d),nd(e,2))}),Xy=rt(function(a){var e=el(a);return e="function"==typeof e?e:void 0,Zy(To(a,$d),void 0,e)}),aw=rt(By);var ew=function(a,e,t){for(var i=-1,n=a.length,o=e.length,r={};++i<n;){var s=i<o?e[i]:void 0;t(r,a[i],s)}return r};var tw=function(a,e){return ew(a||[],e||[],tt)};var iw=function(a,e){return ew(a||[],e||[],Jp)},nw=rt(function(a){var e=a.length,t=e>1?a[e-1]:void 0;return t="function"==typeof t?(a.pop(),t):void 0,$y(a,t)}),ow={chunk:mo,compact:ts,concat:is,difference:al,differenceBy:tl,differenceWith:il,drop:ol,dropRight:rl,dropRightWhile:dl,dropWhile:ll,fill:Bl,findIndex:Ul,findLastIndex:Yl,first:Ql,flatten:Wi,flattenDeep:rc,flattenDepth:sc,fromPairs:jc,head:Ql,indexOf:Vc,initial:Gc,intersection:Qc,intersectionBy:Xc,intersectionWith:au,join:np,last:el,lastIndexOf:cp,nth:Hp,pull:Qz,pullAll:Jz,pullAllBy:Xz,pullAllWith:ag,pullAt:ig,remove:jg,reverse:Og,slice:Vg,sortedIndex:nm,sortedIndexBy:om,sortedIndexOf:rm,sortedLastIndex:sm,sortedLastIndexBy:dm,sortedLastIndexOf:lm,sortedUniq:um,sortedUniqBy:pm,tail:qm,take:Em,takeRight:Am,takeRightWhile:Tm,takeWhile:Om,union:Ay,unionBy:Ty,unionWith:Oy,uniq:Sy,uniqBy:My,uniqWith:Py,unzip:By,unzipWith:$y,without:Ky,xor:Jy,xorBy:Qy,xorWith:Xy,zip:aw,zipObject:tw,zipObjectDeep:iw,zipWith:nw},rw={countBy:vd,each:ul,eachRight:yl,every:Cl,filter:Il,find:Nl,findLast:Zl,flatMap:ec,flatMapDeep:ic,flatMapDepth:nc,forEach:ul,forEachRight:yl,groupBy:Ac,includes:Kc,invokeMap:pu,keyBy:rp,map:ac,orderBy:rz,partition:Uz,reduce:bg,reduceRight:vg,reject:kg,sample:Cg,sampleSize:Bg,shuffle:Ug,size:Hg,some:Zg,sortBy:Jg},sw={now:Td},dw={after:W,ary:Qe,before:on,bind:sn,bindKey:cn,curry:xd,curryRight:Ad,debounce:Pd,defer:Yd,delay:Zd,flip:lc,memoize:qi,negate:Bp,once:ez,overArgs:uz,partial:Iz,partialRight:Wz,rearg:wg,rest:Eg,spread:wm,throttle:Vm,unary:hy,wrap:Hy},lw={castArray:so,clone:Hr,cloneDeep:Yr,cloneDeepWith:Qr,cloneWith:as,conformsTo:ud,eq:at,gt:Sc,gte:Mc,isArguments:ht,isArray:k,isArrayBuffer:yu,isArrayLike:lt,isArrayLikeObject:$d,isBoolean:fu,isBuffer:vt.a,isDate:ku,isElement:ju,isEmpty:Eu,isEqual:Au,isEqualWith:Tu,isError:en,isFinite:Su,isFunction:G,isInteger:Mu,isLength:dt,isMap:Sr,isMatch:Pu,isMatchWith:Cu,isNaN:Fu,isNative:Lu,isNil:Wu,isNull:Uu,isNumber:Du,isObject:T,isObjectLike:y,isPlainObject:Qi,isRegExp:Vu,isSafeInteger:Yu,isSet:Rr,isString:Lc,isSymbol:f,isTypedArray:Et,isUndefined:Zu,isWeakMap:Qu,isWeakSet:ap,lt:gp,lte:mp,toArray:Up,toFinite:$,toInteger:I,toLength:Dl,toNumber:D,toPlainObject:Ld,toSafeInteger:oy,toString:Si},cw={add:A,ceil:uo,divide:nl,floor:cc,max:jp,maxBy:_p,mean:Ap,meanBy:Tp,min:Pp,minBy:Cp,multiply:Dp,round:Sg,subtract:jm,sum:_m,sumBy:xm},uw={clamp:wo,inRange:$c,random:cg},pw={assign:Dt,assignIn:Lt,assignInWith:Wt,assignWith:Ut,at:Ni,create:kd,defaults:Fd,defaultsDeep:Hd,entries:jl,entriesIn:_l,extend:Lt,extendWith:Wt,findKey:Hl,findLastKey:Jl,forIn:bc,forInRight:hc,forOwn:vc,forOwnRight:kc,functions:xc,functionsIn:qc,get:Di,has:Rc,hasIn:Js,invert:nu,invertBy:du,invoke:uu,keys:Ct,keysIn:It,mapKeys:yp,mapValues:wp,merge:Op,mergeWith:Kd,omit:Zp,omitBy:az,pick:Kz,pickBy:Xp,result:Ag,set:$g,setWith:Ig,toPairs:jl,toPairsIn:_l,transform:sy,unset:Dy,update:Ly,updateWith:Wy,values:Uc,valuesIn:Ny},zw={at:Vy,chain:po,commit:es,lodash:Ba,next:Np,plant:Hz,reverse:Yy,tap:Sm,thru:Gm,toIterator:Xm,toJSON:ey,value:ey,valueOf:ey,wrapperChain:Gy},gw={camelCase:ro,capitalize:On,deburr:Dn,endsWith:wl,escape:Al,escapeRegExp:Sl,kebabCase:op,lowerCase:up,lowerFirst:pp,pad:Pz,padEnd:Cz,padStart:Rz,parseInt:Bz,repeat:_g,replace:xg,snakeCase:Gg,split:gm,startCase:fm,startsWith:bm,template:Km,templateSettings:Bm,toLower:ty,toUpper:ry,trim:uy,trimEnd:zy,trimStart:my,truncate:by,unescape:_y,upperCase:Uy,upperFirst:Tn,words:io},mw={attempt:tn,bindAll:dn,cond:rd,conforms:cd,constant:Za,defaultTo:Cd,flow:wc,flowRight:fc,identity:U,iteratee:tp,matches:bp,matchesProperty:vp,method:Sp,methodOf:Mp,mixin:Rp,noop:Ea,nthArg:Vp,over:dz,overEvery:pz,overSome:zz,property:id,propertyOf:Vz,range:mg,rangeRight:yg,stubArray:Oo,stubFalse:Bu.a,stubObject:hm,stubString:vm,stubTrue:km,times:Qm,toPath:iy,uniqueId:Ry};var yw=function(){var a=new qa(this.__wrapped__);return a.__actions__=Ca(this.__actions__),a.__dir__=this.__dir__,a.__filtered__=this.__filtered__,a.__iteratees__=Ca(this.__iteratees__),a.__takeCount__=this.__takeCount__,a.__views__=Ca(this.__views__),a};var ww=function(){if(this.__filtered__){var a=new qa(this);a.__dir__=-1,a.__filtered__=!0}else(a=this.clone()).__dir__*=-1;return a},fw=Math.max,bw=Math.min;var hw=function(a,e,t){for(var i=-1,n=t.length;++i<n;){var o=t[i],r=o.size;switch(o.type){case"drop":a+=r;break;case"dropRight":e-=r;break;case"take":e=bw(e,a+r);break;case"takeRight":a=fw(a,e-r)}}return{start:a,end:e}},vw=1,kw=2,jw=Math.min;var _w=function(){var a=this.__wrapped__.value(),e=this.__dir__,t=k(a),i=e<0,n=t?a.length:0,o=hw(0,n,this.__views__),r=o.start,s=o.end,d=s-r,l=i?s:r-1,c=this.__iteratees__,u=c.length,p=0,z=jw(d,this.__takeCount__);if(!t||!i&&n==d&&z==d)return ay(a,this.__actions__);var g=[];a:for(;d--&&p<z;){for(var m=-1,y=a[l+=e];++m<u;){var w=c[m],f=w.iteratee,b=w.type,h=f(y);if(b==kw)y=h;else if(!h){if(b==vw)continue a;break a}}g[p++]=y}return g},xw=Array.prototype,qw=Object.prototype.hasOwnProperty,Ew=n?n.iterator:void 0,Aw=Math.max,Tw=Math.min,Ow=function(a){return function(e,t,i){if(null==i){var n=T(t),o=n&&Ct(t),r=o&&o.length&&_c(t,o);(r?r.length:n)||(i=t,t=e,e=this)}return a(e,t,i)}}(Rp);
2
- /**
3
- * @license
4
- * Lodash (Custom Build) <https://lodash.com/>
5
- * Build: `lodash modularize exports="es" -o ./`
6
- * Copyright JS Foundation and other contributors <https://js.foundation/>
7
- * Released under MIT license <https://lodash.com/license>
8
- * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
9
- * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
10
- */Ba.after=dw.after,Ba.ary=dw.ary,Ba.assign=pw.assign,Ba.assignIn=pw.assignIn,Ba.assignInWith=pw.assignInWith,Ba.assignWith=pw.assignWith,Ba.at=pw.at,Ba.before=dw.before,Ba.bind=dw.bind,Ba.bindAll=mw.bindAll,Ba.bindKey=dw.bindKey,Ba.castArray=lw.castArray,Ba.chain=zw.chain,Ba.chunk=ow.chunk,Ba.compact=ow.compact,Ba.concat=ow.concat,Ba.cond=mw.cond,Ba.conforms=mw.conforms,Ba.constant=mw.constant,Ba.countBy=rw.countBy,Ba.create=pw.create,Ba.curry=dw.curry,Ba.curryRight=dw.curryRight,Ba.debounce=dw.debounce,Ba.defaults=pw.defaults,Ba.defaultsDeep=pw.defaultsDeep,Ba.defer=dw.defer,Ba.delay=dw.delay,Ba.difference=ow.difference,Ba.differenceBy=ow.differenceBy,Ba.differenceWith=ow.differenceWith,Ba.drop=ow.drop,Ba.dropRight=ow.dropRight,Ba.dropRightWhile=ow.dropRightWhile,Ba.dropWhile=ow.dropWhile,Ba.fill=ow.fill,Ba.filter=rw.filter,Ba.flatMap=rw.flatMap,Ba.flatMapDeep=rw.flatMapDeep,Ba.flatMapDepth=rw.flatMapDepth,Ba.flatten=ow.flatten,Ba.flattenDeep=ow.flattenDeep,Ba.flattenDepth=ow.flattenDepth,Ba.flip=dw.flip,Ba.flow=mw.flow,Ba.flowRight=mw.flowRight,Ba.fromPairs=ow.fromPairs,Ba.functions=pw.functions,Ba.functionsIn=pw.functionsIn,Ba.groupBy=rw.groupBy,Ba.initial=ow.initial,Ba.intersection=ow.intersection,Ba.intersectionBy=ow.intersectionBy,Ba.intersectionWith=ow.intersectionWith,Ba.invert=pw.invert,Ba.invertBy=pw.invertBy,Ba.invokeMap=rw.invokeMap,Ba.iteratee=mw.iteratee,Ba.keyBy=rw.keyBy,Ba.keys=Ct,Ba.keysIn=pw.keysIn,Ba.map=rw.map,Ba.mapKeys=pw.mapKeys,Ba.mapValues=pw.mapValues,Ba.matches=mw.matches,Ba.matchesProperty=mw.matchesProperty,Ba.memoize=dw.memoize,Ba.merge=pw.merge,Ba.mergeWith=pw.mergeWith,Ba.method=mw.method,Ba.methodOf=mw.methodOf,Ba.mixin=Ow,Ba.negate=Bp,Ba.nthArg=mw.nthArg,Ba.omit=pw.omit,Ba.omitBy=pw.omitBy,Ba.once=dw.once,Ba.orderBy=rw.orderBy,Ba.over=mw.over,Ba.overArgs=dw.overArgs,Ba.overEvery=mw.overEvery,Ba.overSome=mw.overSome,Ba.partial=dw.partial,Ba.partialRight=dw.partialRight,Ba.partition=rw.partition,Ba.pick=pw.pick,Ba.pickBy=pw.pickBy,Ba.property=mw.property,Ba.propertyOf=mw.propertyOf,Ba.pull=ow.pull,Ba.pullAll=ow.pullAll,Ba.pullAllBy=ow.pullAllBy,Ba.pullAllWith=ow.pullAllWith,Ba.pullAt=ow.pullAt,Ba.range=mw.range,Ba.rangeRight=mw.rangeRight,Ba.rearg=dw.rearg,Ba.reject=rw.reject,Ba.remove=ow.remove,Ba.rest=dw.rest,Ba.reverse=ow.reverse,Ba.sampleSize=rw.sampleSize,Ba.set=pw.set,Ba.setWith=pw.setWith,Ba.shuffle=rw.shuffle,Ba.slice=ow.slice,Ba.sortBy=rw.sortBy,Ba.sortedUniq=ow.sortedUniq,Ba.sortedUniqBy=ow.sortedUniqBy,Ba.split=gw.split,Ba.spread=dw.spread,Ba.tail=ow.tail,Ba.take=ow.take,Ba.takeRight=ow.takeRight,Ba.takeRightWhile=ow.takeRightWhile,Ba.takeWhile=ow.takeWhile,Ba.tap=zw.tap,Ba.throttle=dw.throttle,Ba.thru=Gm,Ba.toArray=lw.toArray,Ba.toPairs=pw.toPairs,Ba.toPairsIn=pw.toPairsIn,Ba.toPath=mw.toPath,Ba.toPlainObject=lw.toPlainObject,Ba.transform=pw.transform,Ba.unary=dw.unary,Ba.union=ow.union,Ba.unionBy=ow.unionBy,Ba.unionWith=ow.unionWith,Ba.uniq=ow.uniq,Ba.uniqBy=ow.uniqBy,Ba.uniqWith=ow.uniqWith,Ba.unset=pw.unset,Ba.unzip=ow.unzip,Ba.unzipWith=ow.unzipWith,Ba.update=pw.update,Ba.updateWith=pw.updateWith,Ba.values=pw.values,Ba.valuesIn=pw.valuesIn,Ba.without=ow.without,Ba.words=gw.words,Ba.wrap=dw.wrap,Ba.xor=ow.xor,Ba.xorBy=ow.xorBy,Ba.xorWith=ow.xorWith,Ba.zip=ow.zip,Ba.zipObject=ow.zipObject,Ba.zipObjectDeep=ow.zipObjectDeep,Ba.zipWith=ow.zipWith,Ba.entries=pw.toPairs,Ba.entriesIn=pw.toPairsIn,Ba.extend=pw.assignIn,Ba.extendWith=pw.assignInWith,Ow(Ba,Ba),Ba.add=cw.add,Ba.attempt=mw.attempt,Ba.camelCase=gw.camelCase,Ba.capitalize=gw.capitalize,Ba.ceil=cw.ceil,Ba.clamp=uw.clamp,Ba.clone=lw.clone,Ba.cloneDeep=lw.cloneDeep,Ba.cloneDeepWith=lw.cloneDeepWith,Ba.cloneWith=lw.cloneWith,Ba.conformsTo=lw.conformsTo,Ba.deburr=gw.deburr,Ba.defaultTo=mw.defaultTo,Ba.divide=cw.divide,Ba.endsWith=gw.endsWith,Ba.eq=lw.eq,Ba.escape=gw.escape,Ba.escapeRegExp=gw.escapeRegExp,Ba.every=rw.every,Ba.find=rw.find,Ba.findIndex=ow.findIndex,Ba.findKey=pw.findKey,Ba.findLast=rw.findLast,Ba.findLastIndex=ow.findLastIndex,Ba.findLastKey=pw.findLastKey,Ba.floor=cw.floor,Ba.forEach=rw.forEach,Ba.forEachRight=rw.forEachRight,Ba.forIn=pw.forIn,Ba.forInRight=pw.forInRight,Ba.forOwn=pw.forOwn,Ba.forOwnRight=pw.forOwnRight,Ba.get=pw.get,Ba.gt=lw.gt,Ba.gte=lw.gte,Ba.has=pw.has,Ba.hasIn=pw.hasIn,Ba.head=ow.head,Ba.identity=U,Ba.includes=rw.includes,Ba.indexOf=ow.indexOf,Ba.inRange=uw.inRange,Ba.invoke=pw.invoke,Ba.isArguments=lw.isArguments,Ba.isArray=k,Ba.isArrayBuffer=lw.isArrayBuffer,Ba.isArrayLike=lw.isArrayLike,Ba.isArrayLikeObject=lw.isArrayLikeObject,Ba.isBoolean=lw.isBoolean,Ba.isBuffer=lw.isBuffer,Ba.isDate=lw.isDate,Ba.isElement=lw.isElement,Ba.isEmpty=lw.isEmpty,Ba.isEqual=lw.isEqual,Ba.isEqualWith=lw.isEqualWith,Ba.isError=lw.isError,Ba.isFinite=lw.isFinite,Ba.isFunction=lw.isFunction,Ba.isInteger=lw.isInteger,Ba.isLength=lw.isLength,Ba.isMap=lw.isMap,Ba.isMatch=lw.isMatch,Ba.isMatchWith=lw.isMatchWith,Ba.isNaN=lw.isNaN,Ba.isNative=lw.isNative,Ba.isNil=lw.isNil,Ba.isNull=lw.isNull,Ba.isNumber=lw.isNumber,Ba.isObject=T,Ba.isObjectLike=lw.isObjectLike,Ba.isPlainObject=lw.isPlainObject,Ba.isRegExp=lw.isRegExp,Ba.isSafeInteger=lw.isSafeInteger,Ba.isSet=lw.isSet,Ba.isString=lw.isString,Ba.isSymbol=lw.isSymbol,Ba.isTypedArray=lw.isTypedArray,Ba.isUndefined=lw.isUndefined,Ba.isWeakMap=lw.isWeakMap,Ba.isWeakSet=lw.isWeakSet,Ba.join=ow.join,Ba.kebabCase=gw.kebabCase,Ba.last=el,Ba.lastIndexOf=ow.lastIndexOf,Ba.lowerCase=gw.lowerCase,Ba.lowerFirst=gw.lowerFirst,Ba.lt=lw.lt,Ba.lte=lw.lte,Ba.max=cw.max,Ba.maxBy=cw.maxBy,Ba.mean=cw.mean,Ba.meanBy=cw.meanBy,Ba.min=cw.min,Ba.minBy=cw.minBy,Ba.stubArray=mw.stubArray,Ba.stubFalse=mw.stubFalse,Ba.stubObject=mw.stubObject,Ba.stubString=mw.stubString,Ba.stubTrue=mw.stubTrue,Ba.multiply=cw.multiply,Ba.nth=ow.nth,Ba.noop=mw.noop,Ba.now=sw.now,Ba.pad=gw.pad,Ba.padEnd=gw.padEnd,Ba.padStart=gw.padStart,Ba.parseInt=gw.parseInt,Ba.random=uw.random,Ba.reduce=rw.reduce,Ba.reduceRight=rw.reduceRight,Ba.repeat=gw.repeat,Ba.replace=gw.replace,Ba.result=pw.result,Ba.round=cw.round,Ba.sample=rw.sample,Ba.size=rw.size,Ba.snakeCase=gw.snakeCase,Ba.some=rw.some,Ba.sortedIndex=ow.sortedIndex,Ba.sortedIndexBy=ow.sortedIndexBy,Ba.sortedIndexOf=ow.sortedIndexOf,Ba.sortedLastIndex=ow.sortedLastIndex,Ba.sortedLastIndexBy=ow.sortedLastIndexBy,Ba.sortedLastIndexOf=ow.sortedLastIndexOf,Ba.startCase=gw.startCase,Ba.startsWith=gw.startsWith,Ba.subtract=cw.subtract,Ba.sum=cw.sum,Ba.sumBy=cw.sumBy,Ba.template=gw.template,Ba.times=mw.times,Ba.toFinite=lw.toFinite,Ba.toInteger=I,Ba.toLength=lw.toLength,Ba.toLower=gw.toLower,Ba.toNumber=lw.toNumber,Ba.toSafeInteger=lw.toSafeInteger,Ba.toString=lw.toString,Ba.toUpper=gw.toUpper,Ba.trim=gw.trim,Ba.trimEnd=gw.trimEnd,Ba.trimStart=gw.trimStart,Ba.truncate=gw.truncate,Ba.unescape=gw.unescape,Ba.uniqueId=mw.uniqueId,Ba.upperCase=gw.upperCase,Ba.upperFirst=gw.upperFirst,Ba.each=rw.forEach,Ba.eachRight=rw.forEachRight,Ba.first=ow.head,Ow(Ba,function(){var a={};return md(Ba,function(e,t){qw.call(Ba.prototype,t)||(a[t]=e)}),a}(),{chain:!1}),Ba.VERSION="4.17.11",(Ba.templateSettings=gw.templateSettings).imports._=Ba,Xa(["bind","bindKey","curry","curryRight","partial","partialRight"],function(a){Ba[a].placeholder=Ba}),Xa(["drop","take"],function(a,e){qa.prototype[a]=function(t){t=void 0===t?1:Aw(I(t),0);var i=this.__filtered__&&!e?new qa(this):this.clone();return i.__filtered__?i.__takeCount__=Tw(t,i.__takeCount__):i.__views__.push({size:Tw(t,4294967295),type:a+(i.__dir__<0?"Right":"")}),i},qa.prototype[a+"Right"]=function(e){return this.reverse()[a](e).reverse()}}),Xa(["filter","map","takeWhile"],function(a,e){var t=e+1,i=1==t||3==t;qa.prototype[a]=function(a){var e=this.clone();return e.__iteratees__.push({iteratee:nd(a,3),type:t}),e.__filtered__=e.__filtered__||i,e}}),Xa(["head","last"],function(a,e){var t="take"+(e?"Right":"");qa.prototype[a]=function(){return this[t](1).value()[0]}}),Xa(["initial","tail"],function(a,e){var t="drop"+(e?"":"Right");qa.prototype[a]=function(){return this.__filtered__?new qa(this):this[t](1)}}),qa.prototype.compact=function(){return this.filter(U)},qa.prototype.find=function(a){return this.filter(a).head()},qa.prototype.findLast=function(a){return this.reverse().find(a)},qa.prototype.invokeMap=rt(function(a,e){return"function"==typeof a?new qa(this):this.map(function(t){return cu(t,a,e)})}),qa.prototype.reject=function(a){return this.filter(Bp(nd(a)))},qa.prototype.slice=function(a,e){a=I(a);var t=this;return t.__filtered__&&(a>0||e<0)?new qa(t):(a<0?t=t.takeRight(-a):a&&(t=t.drop(a)),void 0!==e&&(t=(e=I(e))<0?t.dropRight(-e):t.take(e-a)),t)},qa.prototype.takeRightWhile=function(a){return this.reverse().takeWhile(a).reverse()},qa.prototype.toArray=function(){return this.take(4294967295)},md(qa.prototype,function(a,e){var t=/^(?:filter|find|map|reject)|While$/.test(e),i=/^(?:head|last)$/.test(e),n=Ba[i?"take"+("last"==e?"Right":""):e],o=i||/^find/.test(e);n&&(Ba.prototype[e]=function(){var e=this.__wrapped__,r=i?[1]:arguments,s=e instanceof qa,d=r[0],l=s||k(e),c=function(a){var e=n.apply(Ba,Bi([a],r));return i&&u?e[0]:e};l&&t&&"function"==typeof d&&1!=d.length&&(s=l=!1);var u=this.__chain__,p=!!this.__actions__.length,z=o&&!u,g=s&&!p;if(!o&&l){e=g?e:new qa(this);var m=a.apply(e,r);return m.__actions__.push({func:Gm,args:[c],thisArg:void 0}),new Pa(m,u)}return z&&g?a.apply(this,r):(m=this.thru(c),z?i?m.value()[0]:m.value():m)})}),Xa(["pop","push","shift","sort","splice","unshift"],function(a){var e=xw[a],t=/^(?:push|sort|unshift)$/.test(a)?"tap":"thru",i=/^(?:pop|shift)$/.test(a);Ba.prototype[a]=function(){var a=arguments;if(i&&!this.__chain__){var n=this.value();return e.apply(k(n)?n:[],a)}return this[t](function(t){return e.apply(k(t)?t:[],a)})}}),md(qa.prototype,function(a,e){var t=Ba[e];if(t){var i=t.name+"";(Ta[i]||(Ta[i]=[])).push({name:e,func:t})}}),Ta[Te(void 0,2).name]=[{name:"wrapper",func:void 0}],qa.prototype.clone=yw,qa.prototype.reverse=ww,qa.prototype.value=_w,Ba.prototype.at=zw.at,Ba.prototype.chain=zw.wrapperChain,Ba.prototype.commit=zw.commit,Ba.prototype.next=zw.next,Ba.prototype.plant=zw.plant,Ba.prototype.reverse=zw.reverse,Ba.prototype.toJSON=Ba.prototype.valueOf=Ba.prototype.value=zw.value,Ba.prototype.first=Ba.prototype.head,Ew&&(Ba.prototype[Ew]=zw.toIterator);var Sw=Ba;t.d(e,"add",function(){return A}),t.d(e,"after",function(){return W}),t.d(e,"ary",function(){return Qe}),t.d(e,"assign",function(){return Dt}),t.d(e,"assignIn",function(){return Lt}),t.d(e,"assignInWith",function(){return Wt}),t.d(e,"assignWith",function(){return Ut}),t.d(e,"at",function(){return Ni}),t.d(e,"attempt",function(){return tn}),t.d(e,"before",function(){return on}),t.d(e,"bind",function(){return sn}),t.d(e,"bindAll",function(){return dn}),t.d(e,"bindKey",function(){return cn}),t.d(e,"camelCase",function(){return ro}),t.d(e,"capitalize",function(){return On}),t.d(e,"castArray",function(){return so}),t.d(e,"ceil",function(){return uo}),t.d(e,"chain",function(){return po}),t.d(e,"chunk",function(){return mo}),t.d(e,"clamp",function(){return wo}),t.d(e,"clone",function(){return Hr}),t.d(e,"cloneDeep",function(){return Yr}),t.d(e,"cloneDeepWith",function(){return Qr}),t.d(e,"cloneWith",function(){return as}),t.d(e,"commit",function(){return es}),t.d(e,"compact",function(){return ts}),t.d(e,"concat",function(){return is}),t.d(e,"cond",function(){return rd}),t.d(e,"conforms",function(){return cd}),t.d(e,"conformsTo",function(){return ud}),t.d(e,"constant",function(){return Za}),t.d(e,"countBy",function(){return vd}),t.d(e,"create",function(){return kd}),t.d(e,"curry",function(){return xd}),t.d(e,"curryRight",function(){return Ad}),t.d(e,"debounce",function(){return Pd}),t.d(e,"deburr",function(){return Dn}),t.d(e,"defaultTo",function(){return Cd}),t.d(e,"defaults",function(){return Fd}),t.d(e,"defaultsDeep",function(){return Hd}),t.d(e,"defer",function(){return Yd}),t.d(e,"delay",function(){return Zd}),t.d(e,"difference",function(){return al}),t.d(e,"differenceBy",function(){return tl}),t.d(e,"differenceWith",function(){return il}),t.d(e,"divide",function(){return nl}),t.d(e,"drop",function(){return ol}),t.d(e,"dropRight",function(){return rl}),t.d(e,"dropRightWhile",function(){return dl}),t.d(e,"dropWhile",function(){return ll}),t.d(e,"each",function(){return ul}),t.d(e,"eachRight",function(){return yl}),t.d(e,"endsWith",function(){return wl}),t.d(e,"entries",function(){return jl}),t.d(e,"entriesIn",function(){return _l}),t.d(e,"eq",function(){return at}),t.d(e,"escape",function(){return Al}),t.d(e,"escapeRegExp",function(){return Sl}),t.d(e,"every",function(){return Cl}),t.d(e,"extend",function(){return Lt}),t.d(e,"extendWith",function(){return Wt}),t.d(e,"fill",function(){return Bl}),t.d(e,"filter",function(){return Il}),t.d(e,"find",function(){return Nl}),t.d(e,"findIndex",function(){return Ul}),t.d(e,"findKey",function(){return Hl}),t.d(e,"findLast",function(){return Zl}),t.d(e,"findLastIndex",function(){return Yl}),t.d(e,"findLastKey",function(){return Jl}),t.d(e,"first",function(){return Ql}),t.d(e,"flatMap",function(){return ec}),t.d(e,"flatMapDeep",function(){return ic}),t.d(e,"flatMapDepth",function(){return nc}),t.d(e,"flatten",function(){return Wi}),t.d(e,"flattenDeep",function(){return rc}),t.d(e,"flattenDepth",function(){return sc}),t.d(e,"flip",function(){return lc}),t.d(e,"floor",function(){return cc}),t.d(e,"flow",function(){return wc}),t.d(e,"flowRight",function(){return fc}),t.d(e,"forEach",function(){return ul}),t.d(e,"forEachRight",function(){return yl}),t.d(e,"forIn",function(){return bc}),t.d(e,"forInRight",function(){return hc}),t.d(e,"forOwn",function(){return vc}),t.d(e,"forOwnRight",function(){return kc}),t.d(e,"fromPairs",function(){return jc}),t.d(e,"functions",function(){return xc}),t.d(e,"functionsIn",function(){return qc}),t.d(e,"get",function(){return Di}),t.d(e,"groupBy",function(){return Ac}),t.d(e,"gt",function(){return Sc}),t.d(e,"gte",function(){return Mc}),t.d(e,"has",function(){return Rc}),t.d(e,"hasIn",function(){return Js}),t.d(e,"head",function(){return Ql}),t.d(e,"identity",function(){return U}),t.d(e,"inRange",function(){return $c}),t.d(e,"includes",function(){return Kc}),t.d(e,"indexOf",function(){return Vc}),t.d(e,"initial",function(){return Gc}),t.d(e,"intersection",function(){return Qc}),t.d(e,"intersectionBy",function(){return Xc}),t.d(e,"intersectionWith",function(){return au}),t.d(e,"invert",function(){return nu}),t.d(e,"invertBy",function(){return du}),t.d(e,"invoke",function(){return uu}),t.d(e,"invokeMap",function(){return pu}),t.d(e,"isArguments",function(){return ht}),t.d(e,"isArray",function(){return k}),t.d(e,"isArrayBuffer",function(){return yu}),t.d(e,"isArrayLike",function(){return lt}),t.d(e,"isArrayLikeObject",function(){return $d}),t.d(e,"isBoolean",function(){return fu}),t.d(e,"isBuffer",function(){return vt.a}),t.d(e,"isDate",function(){return ku}),t.d(e,"isElement",function(){return ju}),t.d(e,"isEmpty",function(){return Eu}),t.d(e,"isEqual",function(){return Au}),t.d(e,"isEqualWith",function(){return Tu}),t.d(e,"isError",function(){return en}),t.d(e,"isFinite",function(){return Su}),t.d(e,"isFunction",function(){return G}),t.d(e,"isInteger",function(){return Mu}),t.d(e,"isLength",function(){return dt}),t.d(e,"isMap",function(){return Sr}),t.d(e,"isMatch",function(){return Pu}),t.d(e,"isMatchWith",function(){return Cu}),t.d(e,"isNaN",function(){return Fu}),t.d(e,"isNative",function(){return Lu}),t.d(e,"isNil",function(){return Wu}),t.d(e,"isNull",function(){return Uu}),t.d(e,"isNumber",function(){return Du}),t.d(e,"isObject",function(){return T}),t.d(e,"isObjectLike",function(){return y}),t.d(e,"isPlainObject",function(){return Qi}),t.d(e,"isRegExp",function(){return Vu}),t.d(e,"isSafeInteger",function(){return Yu}),t.d(e,"isSet",function(){return Rr}),t.d(e,"isString",function(){return Lc}),t.d(e,"isSymbol",function(){return f}),t.d(e,"isTypedArray",function(){return Et}),t.d(e,"isUndefined",function(){return Zu}),t.d(e,"isWeakMap",function(){return Qu}),t.d(e,"isWeakSet",function(){return ap}),t.d(e,"iteratee",function(){return tp}),t.d(e,"join",function(){return np}),t.d(e,"kebabCase",function(){return op}),t.d(e,"keyBy",function(){return rp}),t.d(e,"keys",function(){return Ct}),t.d(e,"keysIn",function(){return It}),t.d(e,"last",function(){return el}),t.d(e,"lastIndexOf",function(){return cp}),t.d(e,"lodash",function(){return Ba}),t.d(e,"lowerCase",function(){return up}),t.d(e,"lowerFirst",function(){return pp}),t.d(e,"lt",function(){return gp}),t.d(e,"lte",function(){return mp}),t.d(e,"map",function(){return ac}),t.d(e,"mapKeys",function(){return yp}),t.d(e,"mapValues",function(){return wp}),t.d(e,"matches",function(){return bp}),t.d(e,"matchesProperty",function(){return vp}),t.d(e,"max",function(){return jp}),t.d(e,"maxBy",function(){return _p}),t.d(e,"mean",function(){return Ap}),t.d(e,"meanBy",function(){return Tp}),t.d(e,"memoize",function(){return qi}),t.d(e,"merge",function(){return Op}),t.d(e,"mergeWith",function(){return Kd}),t.d(e,"method",function(){return Sp}),t.d(e,"methodOf",function(){return Mp}),t.d(e,"min",function(){return Pp}),t.d(e,"minBy",function(){return Cp}),t.d(e,"mixin",function(){return Rp}),t.d(e,"multiply",function(){return Dp}),t.d(e,"negate",function(){return Bp}),t.d(e,"next",function(){return Np}),t.d(e,"noop",function(){return Ea}),t.d(e,"now",function(){return Td}),t.d(e,"nth",function(){return Hp}),t.d(e,"nthArg",function(){return Vp}),t.d(e,"omit",function(){return Zp}),t.d(e,"omitBy",function(){return az}),t.d(e,"once",function(){return ez}),t.d(e,"orderBy",function(){return rz}),t.d(e,"over",function(){return dz}),t.d(e,"overArgs",function(){return uz}),t.d(e,"overEvery",function(){return pz}),t.d(e,"overSome",function(){return zz}),t.d(e,"pad",function(){return Pz}),t.d(e,"padEnd",function(){return Cz}),t.d(e,"padStart",function(){return Rz}),t.d(e,"parseInt",function(){return Bz}),t.d(e,"partial",function(){return Iz}),t.d(e,"partialRight",function(){return Wz}),t.d(e,"partition",function(){return Uz}),t.d(e,"pick",function(){return Kz}),t.d(e,"pickBy",function(){return Xp}),t.d(e,"plant",function(){return Hz}),t.d(e,"property",function(){return id}),t.d(e,"propertyOf",function(){return Vz}),t.d(e,"pull",function(){return Qz}),t.d(e,"pullAll",function(){return Jz}),t.d(e,"pullAllBy",function(){return Xz}),t.d(e,"pullAllWith",function(){return ag}),t.d(e,"pullAt",function(){return ig}),t.d(e,"random",function(){return cg}),t.d(e,"range",function(){return mg}),t.d(e,"rangeRight",function(){return yg}),t.d(e,"rearg",function(){return wg}),t.d(e,"reduce",function(){return bg}),t.d(e,"reduceRight",function(){return vg}),t.d(e,"reject",function(){return kg}),t.d(e,"remove",function(){return jg}),t.d(e,"repeat",function(){return _g}),t.d(e,"replace",function(){return xg}),t.d(e,"rest",function(){return Eg}),t.d(e,"result",function(){return Ag}),t.d(e,"reverse",function(){return Og}),t.d(e,"round",function(){return Sg}),t.d(e,"sample",function(){return Cg}),t.d(e,"sampleSize",function(){return Bg}),t.d(e,"set",function(){return $g}),t.d(e,"setWith",function(){return Ig}),t.d(e,"shuffle",function(){return Ug}),t.d(e,"size",function(){return Hg}),t.d(e,"slice",function(){return Vg}),t.d(e,"snakeCase",function(){return Gg}),t.d(e,"some",function(){return Zg}),t.d(e,"sortBy",function(){return Jg}),t.d(e,"sortedIndex",function(){return nm}),t.d(e,"sortedIndexBy",function(){return om}),t.d(e,"sortedIndexOf",function(){return rm}),t.d(e,"sortedLastIndex",function(){return sm}),t.d(e,"sortedLastIndexBy",function(){return dm}),t.d(e,"sortedLastIndexOf",function(){return lm}),t.d(e,"sortedUniq",function(){return um}),t.d(e,"sortedUniqBy",function(){return pm}),t.d(e,"split",function(){return gm}),t.d(e,"spread",function(){return wm}),t.d(e,"startCase",function(){return fm}),t.d(e,"startsWith",function(){return bm}),t.d(e,"stubArray",function(){return Oo}),t.d(e,"stubFalse",function(){return Bu.a}),t.d(e,"stubObject",function(){return hm}),t.d(e,"stubString",function(){return vm}),t.d(e,"stubTrue",function(){return km}),t.d(e,"subtract",function(){return jm}),t.d(e,"sum",function(){return _m}),t.d(e,"sumBy",function(){return xm}),t.d(e,"tail",function(){return qm}),t.d(e,"take",function(){return Em}),t.d(e,"takeRight",function(){return Am}),t.d(e,"takeRightWhile",function(){return Tm}),t.d(e,"takeWhile",function(){return Om}),t.d(e,"tap",function(){return Sm}),t.d(e,"template",function(){return Km}),t.d(e,"templateSettings",function(){return Bm}),t.d(e,"throttle",function(){return Vm}),t.d(e,"thru",function(){return Gm}),t.d(e,"times",function(){return Qm}),t.d(e,"toArray",function(){return Up}),t.d(e,"toFinite",function(){return $}),t.d(e,"toInteger",function(){return I}),t.d(e,"toIterator",function(){return Xm}),t.d(e,"toJSON",function(){return ey}),t.d(e,"toLength",function(){return Dl}),t.d(e,"toLower",function(){return ty}),t.d(e,"toNumber",function(){return D}),t.d(e,"toPairs",function(){return jl}),t.d(e,"toPairsIn",function(){return _l}),t.d(e,"toPath",function(){return iy}),t.d(e,"toPlainObject",function(){return Ld}),t.d(e,"toSafeInteger",function(){return oy}),t.d(e,"toString",function(){return Si}),t.d(e,"toUpper",function(){return ry}),t.d(e,"transform",function(){return sy}),t.d(e,"trim",function(){return uy}),t.d(e,"trimEnd",function(){return zy}),t.d(e,"trimStart",function(){return my}),t.d(e,"truncate",function(){return by}),t.d(e,"unary",function(){return hy}),t.d(e,"unescape",function(){return _y}),t.d(e,"union",function(){return Ay}),t.d(e,"unionBy",function(){return Ty}),t.d(e,"unionWith",function(){return Oy}),t.d(e,"uniq",function(){return Sy}),t.d(e,"uniqBy",function(){return My}),t.d(e,"uniqWith",function(){return Py}),t.d(e,"uniqueId",function(){return Ry}),t.d(e,"unset",function(){return Dy}),t.d(e,"unzip",function(){return By}),t.d(e,"unzipWith",function(){return $y}),t.d(e,"update",function(){return Ly}),t.d(e,"updateWith",function(){return Wy}),t.d(e,"upperCase",function(){return Uy}),t.d(e,"upperFirst",function(){return Tn}),t.d(e,"value",function(){return ey}),t.d(e,"valueOf",function(){return ey}),t.d(e,"values",function(){return Uc}),t.d(e,"valuesIn",function(){return Ny}),t.d(e,"without",function(){return Ky}),t.d(e,"words",function(){return io}),t.d(e,"wrap",function(){return Hy}),t.d(e,"wrapperAt",function(){return Vy}),t.d(e,"wrapperChain",function(){return Gy}),t.d(e,"wrapperCommit",function(){return es}),t.d(e,"wrapperLodash",function(){return Ba}),t.d(e,"wrapperNext",function(){return Np}),t.d(e,"wrapperPlant",function(){return Hz}),t.d(e,"wrapperReverse",function(){return Yy}),t.d(e,"wrapperToIterator",function(){return Xm}),t.d(e,"wrapperValue",function(){return ey}),t.d(e,"xor",function(){return Jy}),t.d(e,"xorBy",function(){return Qy}),t.d(e,"xorWith",function(){return Xy}),t.d(e,"zip",function(){return aw}),t.d(e,"zipObject",function(){return tw}),t.d(e,"zipObjectDeep",function(){return iw}),t.d(e,"zipWith",function(){return nw}),t.d(e,"default",function(){return Sw})},function(a,e){var t=Array.isArray;a.exports=t},,function(a,e,t){var i=t(51),n="object"==typeof self&&self&&self.Object===Object&&self,o=i||n||Function("return this")();a.exports=o},,,function(a,e){a.exports=function(a){var e=typeof a;return null!=a&&("object"==e||"function"==e)}},function(a,e,t){"use strict";var i=t(271),n="object"==typeof self&&self&&self.Object===Object&&self,o=i.a||n||Function("return this")();e.a=o},,function(a,e,t){var i=t(14),n=t(72),o=t(73),r="[object Null]",s="[object Undefined]",d=i?i.toStringTag:void 0;a.exports=function(a){return null==a?void 0===a?s:r:d&&d in Object(a)?n(a):o(a)}},function(a,e){a.exports=function(a){return null!=a&&"object"==typeof a}},function(a,e,t){var i=t(87),n=t(90);a.exports=function(a,e){var t=n(a,e);return i(t)?t:void 0}},function(a,e,t){var i=t(5).Symbol;a.exports=i},function(a,e){var t;t=function(){return this}();try{t=t||Function("return this")()||(0,eval)("this")}catch(a){"object"==typeof window&&(t=window)}a.exports=t},function(a,e,t){var i=t(13)(Object,"create");a.exports=i},function(a,e,t){var i=t(24);a.exports=function(a,e){for(var t=a.length;t--;)if(i(a[t][0],e))return t;return-1}},function(a,e,t){var i=t(101);a.exports=function(a,e){var t=a.__data__;return i(e)?t["string"==typeof e?"string":"hash"]:t.map}},,function(a,e,t){var i=t(11),n=t(12),o="[object Symbol]";a.exports=function(a){return"symbol"==typeof a||n(a)&&i(a)==o}},function(a,e,t){var i=t(20),n=1/0;a.exports=function(a){if("string"==typeof a||i(a))return a;var e=a+"";return"0"==e&&1/a==-n?"-0":e}},function(a,e,t){var i=t(37);a.exports=function(a,e,t){var n=null==a?void 0:i(a,e);return void 0===n?t:n}},,function(a,e){a.exports=function(a,e){return a===e||a!=a&&e!=e}},function(a,e,t){var i=t(26),n=t(67);a.exports=function(a){return null!=a&&n(a.length)&&!i(a)}},function(a,e,t){var i=t(11),n=t(8),o="[object AsyncFunction]",r="[object Function]",s="[object GeneratorFunction]",d="[object Proxy]";a.exports=function(a){if(!n(a))return!1;var e=i(a);return e==r||e==s||e==o||e==d}},function(a,e,t){var i=t(3),n=t(38),o=t(82),r=t(64);a.exports=function(a,e){return i(a)?a:n(a,e)?[a]:o(r(a))}},function(a,e,t){var i=t(95),n=t(96),o=t(97),r=t(98),s=t(99);function d(a){var e=-1,t=null==a?0:a.length;for(this.clear();++e<t;){var i=a[e];this.set(i[0],i[1])}}d.prototype.clear=i,d.prototype.delete=n,d.prototype.get=o,d.prototype.has=r,d.prototype.set=s,a.exports=d},function(a,e,t){var i=t(123),n=t(134),o=t(25);a.exports=function(a){return o(a)?i(a):n(a)}},,function(a,e,t){"use strict";(function(a){var i=t(271),n="object"==typeof exports&&exports&&!exports.nodeType&&exports,o=n&&"object"==typeof a&&a&&!a.nodeType&&a,r=o&&o.exports===n&&i.a.process,s=function(){try{var a=o&&o.require&&o.require("util").types;return a||r&&r.binding&&r.binding("util")}catch(a){}}();e.a=s}).call(this,t(268)(a))},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=t(2),n=function(a){return a&&a.__esModule?a:{default:a}}(t(227));var o=function(){return[]},r=function(a){this._hasScore=!1,this._identifier="",this._hasMarks=!1,this._marker=o,this.score=0,this.text="",this.marks=[],(0,i.isUndefined)(a)&&(a={}),(0,i.isUndefined)(a.score)||this.setScore(a.score),(0,i.isUndefined)(a.text)||this.setText(a.text),(0,i.isUndefined)(a.marks)||this.setMarks(a.marks)};r.prototype.hasScore=function(){return this._hasScore},r.prototype.getScore=function(){return this.score},r.prototype.setScore=function(a){(0,i.isNumber)(a)&&(this.score=a,this._hasScore=!0)},r.prototype.hasText=function(){return""!==this.text},r.prototype.getText=function(){return this.text},r.prototype.setText=function(a){(0,i.isUndefined)(a)&&(a=""),this.text=a},r.prototype.getMarks=function(){return this.marks},r.prototype.setMarks=function(a){(0,i.isArray)(a)&&(this.marks=a,this._hasMarks=a.length>0)},r.prototype.setIdentifier=function(a){this._identifier=a},r.prototype.getIdentifier=function(){return this._identifier},r.prototype.setMarker=function(a){this._marker=a},r.prototype.hasMarker=function(){return this._hasMarks&&this._marker!==this.emptyMarker},r.prototype.getMarker=function(){return this._marker},r.prototype.setHasMarks=function(a){this._hasMarks=a},r.prototype.hasMarks=function(){return this._hasMarks},r.prototype.serialize=function(){return{_parseClass:"AssessmentResult",identifier:this._identifier,score:this.score,text:this.text,marks:this.marks.map(function(a){return a.serialize()})}},r.parse=function(a){var e=new r({text:a.text,score:a.score,marks:a.marks.map(function(a){return n.default.parse(a)})});return e.setIdentifier(a.identifier),e},e.default=r},function(a,e){a.exports=function(a,e){for(var t=-1,i=null==a?0:a.length,n=Array(i);++t<i;)n[t]=e(a[t],t,a);return n}},function(a,e,t){"use strict";(function(a){var i=t(9),n=t(121),o="object"==typeof exports&&exports&&!exports.nodeType&&exports,r=o&&"object"==typeof a&&a&&!a.nodeType&&a,s=r&&r.exports===o?i.a.Buffer:void 0,d=(s?s.isBuffer:void 0)||n.a;e.a=d}).call(this,t(268)(a))},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=t(952);Object.keys(i).forEach(function(a){"default"!==a&&"__esModule"!==a&&Object.defineProperty(e,a,{enumerable:!0,get:function(){return i[a]}})})},,function(a,e,t){var i=t(27),n=t(21);a.exports=function(a,e){for(var t=0,o=(e=i(e,a)).length;null!=a&&t<o;)a=a[n(e[t++])];return t&&t==o?a:void 0}},function(a,e,t){var i=t(3),n=t(20),o=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,r=/^\w*$/;a.exports=function(a,e){if(i(a))return!1;var t=typeof a;return!("number"!=t&&"symbol"!=t&&"boolean"!=t&&null!=a&&!n(a))||r.test(a)||!o.test(a)||null!=e&&a in Object(e)}},function(a,e,t){var i=t(84),n=t(100),o=t(102),r=t(103),s=t(104);function d(a){var e=-1,t=null==a?0:a.length;for(this.clear();++e<t;){var i=a[e];this.set(i[0],i[1])}}d.prototype.clear=i,d.prototype.delete=n,d.prototype.get=o,d.prototype.has=r,d.prototype.set=s,a.exports=d},function(a,e,t){var i=t(13)(t(5),"Map");a.exports=i},,,,,,,,function(a,e){a.exports=function(a){return a.webpackPolyfill||(a.deprecate=function(){},a.paths=[],a.children||(a.children=[]),Object.defineProperty(a,"loaded",{enumerable:!0,get:function(){return a.l}}),Object.defineProperty(a,"id",{enumerable:!0,get:function(){return a.i}}),a.webpackPolyfill=1),a}},,,function(a,e,t){(function(e){var t="object"==typeof e&&e&&e.Object===Object&&e;a.exports=t}).call(this,t(15))},function(a,e,t){var i=t(194),n=t(12),o=Object.prototype,r=o.hasOwnProperty,s=o.propertyIsEnumerable,d=i(function(){return arguments}())?i:function(a){return n(a)&&r.call(a,"callee")&&!s.call(a,"callee")};a.exports=d},function(a,e,t){(function(a){var i=t(5),n=t(195),o="object"==typeof e&&e&&!e.nodeType&&e,r=o&&"object"==typeof a&&a&&!a.nodeType&&a,s=r&&r.exports===o?i.Buffer:void 0,d=(s?s.isBuffer:void 0)||n;a.exports=d}).call(this,t(48)(a))},,function(a,e){a.exports=function(a){return a}},,,function(a,e){var t=Function.prototype.toString;a.exports=function(a){if(null!=a){try{return t.call(a)}catch(a){}try{return a+""}catch(a){}}return""}},function(a,e){var t=Object.prototype;a.exports=function(a){var e=a&&a.constructor;return a===("function"==typeof e&&e.prototype||t)}},,,,function(a,e,t){(function(a,i){var n=/%[sdj%]/g;e.format=function(a){if(!w(a)){for(var e=[],t=0;t<arguments.length;t++)e.push(s(arguments[t]));return e.join(" ")}t=1;for(var i=arguments,o=i.length,r=String(a).replace(n,function(a){if("%%"===a)return"%";if(t>=o)return a;switch(a){case"%s":return String(i[t++]);case"%d":return Number(i[t++]);case"%j":try{return JSON.stringify(i[t++])}catch(a){return"[Circular]"}default:return a}}),d=i[t];t<o;d=i[++t])m(d)||!h(d)?r+=" "+d:r+=" "+s(d);return r},e.deprecate=function(t,n){if(f(a.process))return function(){return e.deprecate(t,n).apply(this,arguments)};if(!0===i.noDeprecation)return t;var o=!1;return function(){if(!o){if(i.throwDeprecation)throw new Error(n);i.traceDeprecation?console.trace(n):console.error(n),o=!0}return t.apply(this,arguments)}};var o,r={};function s(a,t){var i={seen:[],stylize:l};return arguments.length>=3&&(i.depth=arguments[2]),arguments.length>=4&&(i.colors=arguments[3]),g(t)?i.showHidden=t:t&&e._extend(i,t),f(i.showHidden)&&(i.showHidden=!1),f(i.depth)&&(i.depth=2),f(i.colors)&&(i.colors=!1),f(i.customInspect)&&(i.customInspect=!0),i.colors&&(i.stylize=d),c(i,a,i.depth)}function d(a,e){var t=s.styles[e];return t?"["+s.colors[t][0]+"m"+a+"["+s.colors[t][1]+"m":a}function l(a,e){return a}function c(a,t,i){if(a.customInspect&&t&&j(t.inspect)&&t.inspect!==e.inspect&&(!t.constructor||t.constructor.prototype!==t)){var n=t.inspect(i,a);return w(n)||(n=c(a,n,i)),n}var o=function(a,e){if(f(e))return a.stylize("undefined","undefined");if(w(e)){var t="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return a.stylize(t,"string")}if(y(e))return a.stylize(""+e,"number");if(g(e))return a.stylize(""+e,"boolean");if(m(e))return a.stylize("null","null")}(a,t);if(o)return o;var r=Object.keys(t),s=function(a){var e={};return a.forEach(function(a,t){e[a]=!0}),e}(r);if(a.showHidden&&(r=Object.getOwnPropertyNames(t)),k(t)&&(r.indexOf("message")>=0||r.indexOf("description")>=0))return u(t);if(0===r.length){if(j(t)){var d=t.name?": "+t.name:"";return a.stylize("[Function"+d+"]","special")}if(b(t))return a.stylize(RegExp.prototype.toString.call(t),"regexp");if(v(t))return a.stylize(Date.prototype.toString.call(t),"date");if(k(t))return u(t)}var l,h="",_=!1,x=["{","}"];(z(t)&&(_=!0,x=["[","]"]),j(t))&&(h=" [Function"+(t.name?": "+t.name:"")+"]");return b(t)&&(h=" "+RegExp.prototype.toString.call(t)),v(t)&&(h=" "+Date.prototype.toUTCString.call(t)),k(t)&&(h=" "+u(t)),0!==r.length||_&&0!=t.length?i<0?b(t)?a.stylize(RegExp.prototype.toString.call(t),"regexp"):a.stylize("[Object]","special"):(a.seen.push(t),l=_?function(a,e,t,i,n){for(var o=[],r=0,s=e.length;r<s;++r)E(e,String(r))?o.push(p(a,e,t,i,String(r),!0)):o.push("");return n.forEach(function(n){n.match(/^\d+$/)||o.push(p(a,e,t,i,n,!0))}),o}(a,t,i,s,r):r.map(function(e){return p(a,t,i,s,e,_)}),a.seen.pop(),function(a,e,t){if(a.reduce(function(a,e){return 0,e.indexOf("\n")>=0&&0,a+e.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60)return t[0]+(""===e?"":e+"\n ")+" "+a.join(",\n ")+" "+t[1];return t[0]+e+" "+a.join(", ")+" "+t[1]}(l,h,x)):x[0]+h+x[1]}function u(a){return"["+Error.prototype.toString.call(a)+"]"}function p(a,e,t,i,n,o){var r,s,d;if((d=Object.getOwnPropertyDescriptor(e,n)||{value:e[n]}).get?s=d.set?a.stylize("[Getter/Setter]","special"):a.stylize("[Getter]","special"):d.set&&(s=a.stylize("[Setter]","special")),E(i,n)||(r="["+n+"]"),s||(a.seen.indexOf(d.value)<0?(s=m(t)?c(a,d.value,null):c(a,d.value,t-1)).indexOf("\n")>-1&&(s=o?s.split("\n").map(function(a){return" "+a}).join("\n").substr(2):"\n"+s.split("\n").map(function(a){return" "+a}).join("\n")):s=a.stylize("[Circular]","special")),f(r)){if(o&&n.match(/^\d+$/))return s;(r=JSON.stringify(""+n)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(r=r.substr(1,r.length-2),r=a.stylize(r,"name")):(r=r.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),r=a.stylize(r,"string"))}return r+": "+s}function z(a){return Array.isArray(a)}function g(a){return"boolean"==typeof a}function m(a){return null===a}function y(a){return"number"==typeof a}function w(a){return"string"==typeof a}function f(a){return void 0===a}function b(a){return h(a)&&"[object RegExp]"===_(a)}function h(a){return"object"==typeof a&&null!==a}function v(a){return h(a)&&"[object Date]"===_(a)}function k(a){return h(a)&&("[object Error]"===_(a)||a instanceof Error)}function j(a){return"function"==typeof a}function _(a){return Object.prototype.toString.call(a)}function x(a){return a<10?"0"+a.toString(10):a.toString(10)}e.debuglog=function(a){if(f(o)&&(o=Object({YOAST_RECALIBRATION:"disabled"}).NODE_DEBUG||""),a=a.toUpperCase(),!r[a])if(new RegExp("\\b"+a+"\\b","i").test(o)){var t=i.pid;r[a]=function(){var i=e.format.apply(e,arguments);console.error("%s %d: %s",a,t,i)}}else r[a]=function(){};return r[a]},e.inspect=s,s.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},s.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.isArray=z,e.isBoolean=g,e.isNull=m,e.isNullOrUndefined=function(a){return null==a},e.isNumber=y,e.isString=w,e.isSymbol=function(a){return"symbol"==typeof a},e.isUndefined=f,e.isRegExp=b,e.isObject=h,e.isDate=v,e.isError=k,e.isFunction=j,e.isPrimitive=function(a){return null===a||"boolean"==typeof a||"number"==typeof a||"string"==typeof a||"symbol"==typeof a||void 0===a},e.isBuffer=t(965);var q=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function E(a,e){return Object.prototype.hasOwnProperty.call(a,e)}e.log=function(){console.log("%s - %s",function(){var a=new Date,e=[x(a.getHours()),x(a.getMinutes()),x(a.getSeconds())].join(":");return[a.getDate(),q[a.getMonth()],e].join(" ")}(),e.format.apply(e,arguments))},e.inherits=t(229),e._extend=function(a,e){if(!e||!h(e))return a;for(var t=Object.keys(e),i=t.length;i--;)a[t[i]]=e[t[i]];return a}}).call(this,t(15),t(339))},function(a,e,t){var i=t(74);a.exports=function(a){return null==a?"":i(a)}},function(a,e){var t=9007199254740991,i=/^(?:0|[1-9]\d*)$/;a.exports=function(a,e){return!!(e=null==e?t:e)&&("number"==typeof a||i.test(a))&&a>-1&&a%1==0&&a<e}},function(a,e,t){var i=t(196),n=t(148),o=t(177),r=o&&o.isTypedArray,s=r?n(r):i;a.exports=s},function(a,e){var t=9007199254740991;a.exports=function(a){return"number"==typeof a&&a>-1&&a%1==0&&a<=t}},function(a,e,t){var i=t(28),n=t(203),o=t(204),r=t(205),s=t(206),d=t(207);function l(a){var e=this.__data__=new i(a);this.size=e.size}l.prototype.clear=n,l.prototype.delete=o,l.prototype.get=r,l.prototype.has=s,l.prototype.set=d,a.exports=l},,,function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function a(a,e){for(var t=0;t<e.length;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(a,i.key,i)}}return function(e,t,i){return t&&a(e.prototype,t),i&&a(e,i),e}}();var n=function(){function a(){!function(a,e){if(!(a instanceof e))throw new TypeError("Cannot call a class as a function")}(this,a)}return i(a,[{key:"getResult",value:function(a,e,t){throw"The method getResult is not implemented"}},{key:"isApplicable",value:function(a){return!0}}]),a}();e.default=n},function(a,e,t){var i=t(14),n=Object.prototype,o=n.hasOwnProperty,r=n.toString,s=i?i.toStringTag:void 0;a.exports=function(a){var e=o.call(a,s),t=a[s];try{a[s]=void 0;var i=!0}catch(a){}var n=r.call(a);return i&&(e?a[s]=t:delete a[s]),n}},function(a,e){var t=Object.prototype.toString;a.exports=function(a){return t.call(a)}},function(a,e,t){var i=t(14),n=t(33),o=t(3),r=t(20),s=1/0,d=i?i.prototype:void 0,l=d?d.toString:void 0;a.exports=function a(e){if("string"==typeof e)return e;if(o(e))return n(e,a)+"";if(r(e))return l?l.call(e):"";var t=e+"";return"0"==t&&1/e==-s?"-0":t}},function(a,e,t){var i=t(39),n="Expected a function";function o(a,e){if("function"!=typeof a||null!=e&&"function"!=typeof e)throw new TypeError(n);var t=function(){var i=arguments,n=e?e.apply(this,i):i[0],o=t.cache;if(o.has(n))return o.get(n);var r=a.apply(this,i);return t.cache=o.set(n,r)||o,r};return t.cache=new(o.Cache||i),t}o.Cache=i,a.exports=o},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){return a.split("_")[0]}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){return a=(a=(a=a.replace(/\s{2,}/g," ")).replace(/\s\./g,".")).replace(/^\s+|\s+$/g,"")}},,,,,function(a,e,t){var i=/^\./,n=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,o=/\\(\\)?/g,r=t(83)(function(a){var e=[];return i.test(a)&&e.push(""),a.replace(n,function(a,t,i,n){e.push(i?n.replace(o,"$1"):t||a)}),e});a.exports=r},function(a,e,t){var i=t(75),n=500;a.exports=function(a){var e=i(a,function(a){return t.size===n&&t.clear(),a}),t=e.cache;return e}},function(a,e,t){var i=t(85),n=t(28),o=t(40);a.exports=function(){this.size=0,this.__data__={hash:new i,map:new(o||n),string:new i}}},function(a,e,t){var i=t(86),n=t(91),o=t(92),r=t(93),s=t(94);function d(a){var e=-1,t=null==a?0:a.length;for(this.clear();++e<t;){var i=a[e];this.set(i[0],i[1])}}d.prototype.clear=i,d.prototype.delete=n,d.prototype.get=o,d.prototype.has=r,d.prototype.set=s,a.exports=d},function(a,e,t){var i=t(16);a.exports=function(){this.__data__=i?i(null):{},this.size=0}},function(a,e,t){var i=t(26),n=t(88),o=t(8),r=t(58),s=/^\[object .+?Constructor\]$/,d=Function.prototype,l=Object.prototype,c=d.toString,u=l.hasOwnProperty,p=RegExp("^"+c.call(u).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");a.exports=function(a){return!(!o(a)||n(a))&&(i(a)?p:s).test(r(a))}},function(a,e,t){var i=t(89),n=function(){var a=/[^.]+$/.exec(i&&i.keys&&i.keys.IE_PROTO||"");return a?"Symbol(src)_1."+a:""}();a.exports=function(a){return!!n&&n in a}},function(a,e,t){var i=t(5)["__core-js_shared__"];a.exports=i},function(a,e){a.exports=function(a,e){return null==a?void 0:a[e]}},function(a,e){a.exports=function(a){var e=this.has(a)&&delete this.__data__[a];return this.size-=e?1:0,e}},function(a,e,t){var i=t(16),n="__lodash_hash_undefined__",o=Object.prototype.hasOwnProperty;a.exports=function(a){var e=this.__data__;if(i){var t=e[a];return t===n?void 0:t}return o.call(e,a)?e[a]:void 0}},function(a,e,t){var i=t(16),n=Object.prototype.hasOwnProperty;a.exports=function(a){var e=this.__data__;return i?void 0!==e[a]:n.call(e,a)}},function(a,e,t){var i=t(16),n="__lodash_hash_undefined__";a.exports=function(a,e){var t=this.__data__;return this.size+=this.has(a)?0:1,t[a]=i&&void 0===e?n:e,this}},function(a,e){a.exports=function(){this.__data__=[],this.size=0}},function(a,e,t){var i=t(17),n=Array.prototype.splice;a.exports=function(a){var e=this.__data__,t=i(e,a);return!(t<0||(t==e.length-1?e.pop():n.call(e,t,1),--this.size,0))}},function(a,e,t){var i=t(17);a.exports=function(a){var e=this.__data__,t=i(e,a);return t<0?void 0:e[t][1]}},function(a,e,t){var i=t(17);a.exports=function(a){return i(this.__data__,a)>-1}},function(a,e,t){var i=t(17);a.exports=function(a,e){var t=this.__data__,n=i(t,a);return n<0?(++this.size,t.push([a,e])):t[n][1]=e,this}},function(a,e,t){var i=t(18);a.exports=function(a){var e=i(this,a).delete(a);return this.size-=e?1:0,e}},function(a,e){a.exports=function(a){var e=typeof a;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==a:null===a}},function(a,e,t){var i=t(18);a.exports=function(a){return i(this,a).get(a)}},function(a,e,t){var i=t(18);a.exports=function(a){return i(this,a).has(a)}},function(a,e,t){var i=t(18);a.exports=function(a,e){var t=i(this,a),n=t.size;return t.set(a,e),this.size+=t.size==n?0:1,this}},function(a,e,t){var i=t(208),n=t(12);a.exports=function a(e,t,o,r,s){return e===t||(null==e||null==t||!n(e)&&!n(t)?e!=e&&t!=t:i(e,t,o,r,a,s))}},function(a,e){a.exports=function(a,e){for(var t=-1,i=e.length,n=a.length;++t<i;)a[n+t]=e[t];return a}},function(a,e,t){var i=t(149),n=t(141),o=Object.prototype.propertyIsEnumerable,r=Object.getOwnPropertySymbols,s=r?function(a){return null==a?[]:(a=Object(a),i(r(a),function(e){return o.call(a,e)}))}:n;a.exports=s},function(a,e,t){var i=t(214),n=t(40),o=t(215),r=t(216),s=t(166),d=t(11),l=t(58),c=l(i),u=l(n),p=l(o),z=l(r),g=l(s),m=d;(i&&"[object DataView]"!=m(new i(new ArrayBuffer(1)))||n&&"[object Map]"!=m(new n)||o&&"[object Promise]"!=m(o.resolve())||r&&"[object Set]"!=m(new r)||s&&"[object WeakMap]"!=m(new s))&&(m=function(a){var e=d(a),t="[object Object]"==e?a.constructor:void 0,i=t?l(t):"";if(i)switch(i){case c:return"[object DataView]";case u:return"[object Map]";case p:return"[object Promise]";case z:return"[object Set]";case g:return"[object WeakMap]"}return e}),a.exports=m},,,,,,function(a,e,t){var i=t(191),n=t(198)(i);a.exports=n},function(a,e,t){var i=t(164),n=t(211),o=t(165),r=1,s=2;a.exports=function(a,e,t,d,l,c){var u=t&r,p=a.length,z=e.length;if(p!=z&&!(u&&z>p))return!1;var g=c.get(a);if(g&&c.get(e))return g==e;var m=-1,y=!0,w=t&s?new i:void 0;for(c.set(a,e),c.set(e,a);++m<p;){var f=a[m],b=e[m];if(d)var h=u?d(b,f,m,e,a,c):d(f,b,m,a,e,c);if(void 0!==h){if(h)continue;y=!1;break}if(w){if(!n(e,function(a,e){if(!o(w,e)&&(f===a||l(f,a,t,d,c)))return w.push(e)})){y=!1;break}}else if(f!==b&&!l(f,b,t,d,c)){y=!1;break}}return c.delete(a),c.delete(e),y}},function(a,e,t){var i=t(8);a.exports=function(a){return a==a&&!i(a)}},function(a,e){a.exports=function(a,e){return function(t){return null!=t&&t[a]===e&&(void 0!==e||a in Object(t))}}},,,,function(a,e,t){"use strict";e.a=function(){return!1}},,function(a,e,t){var i=t(193),n=t(52),o=t(3),r=t(53),s=t(65),d=t(66),l=Object.prototype.hasOwnProperty;a.exports=function(a,e){var t=o(a),c=!t&&n(a),u=!t&&!c&&r(a),p=!t&&!c&&!u&&d(a),z=t||c||u||p,g=z?i(a.length,String):[],m=g.length;for(var y in a)!e&&!l.call(a,y)||z&&("length"==y||u&&("offset"==y||"parent"==y)||p&&("buffer"==y||"byteLength"==y||"byteOffset"==y)||s(y,m))||g.push(y);return g}},function(a,e,t){var i=t(201),n=t(218),o=t(55),r=t(3),s=t(221);a.exports=function(a){return"function"==typeof a?a:null==a?o:"object"==typeof a?r(a)?n(a[0],a[1]):i(a):s(a)}},,,,,,,,,,function(a,e,t){var i=t(59),n=t(197),o=Object.prototype.hasOwnProperty;a.exports=function(a){if(!i(a))return n(a);var e=[];for(var t in Object(a))o.call(a,t)&&"constructor"!=t&&e.push(t);return e}},function(a,e){a.exports=function(a,e){return function(t){return a(e(t))}}},function(a,e,t){var i=t(5).Uint8Array;a.exports=i},function(a,e){a.exports=function(a){var e=-1,t=Array(a.size);return a.forEach(function(a,i){t[++e]=[i,a]}),t}},function(a,e){a.exports=function(a){var e=-1,t=Array(a.size);return a.forEach(function(a){t[++e]=a}),t}},function(a,e,t){var i=t(140),n=t(107),o=t(29);a.exports=function(a){return i(a,o,n)}},function(a,e,t){var i=t(106),n=t(3);a.exports=function(a,e,t){var o=e(a);return n(a)?o:i(o,t(a))}},function(a,e){a.exports=function(){return[]}},,,function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.stripBlockTagsAtStartEnd=e.stripIncompleteTags=e.stripFullTags=void 0;var i=function(a){return a&&a.__esModule?a:{default:a}}(t(77)),n=t(359);var o=new RegExp("^<("+n.blockElements.join("|")+")[^>]*?>","i"),r=new RegExp("</("+n.blockElements.join("|")+")[^>]*?>$","i"),s=function(a){return a=(a=a.replace(/^(<\/([^>]+)>)+/i,"")).replace(/(<([^/>]+)>)+$/i,"")},d=function(a){return a=(a=a.replace(o,"")).replace(r,"")},l=function(a){return a=a.replace(/(<([^>]+)>)/gi," "),a=(0,i.default)(a)};e.stripFullTags=l,e.stripIncompleteTags=s,e.stripBlockTagsAtStartEnd=d,e.default={stripFullTags:l,stripIncompleteTags:s,stripBlockTagsAtStartEnd:d}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){if(""===(a=(0,n.default)((0,i.stripFullTags)(a))))return[];var e=a.split(/\s/g);return e=(0,r.map)(e,function(a){return(0,o.default)(a)}),(0,r.filter)(e,function(a){return""!==a.trim()})};var i=t(144),n=s(t(77)),o=s(t(667)),r=t(2);function s(a){return a&&a.__esModule?a:{default:a}}},,,function(a,e){a.exports=function(a){return function(e){return a(e)}}},function(a,e){a.exports=function(a,e){for(var t=-1,i=null==a?0:a.length,n=0,o=[];++t<i;){var r=a[t];e(r,t,a)&&(o[n++]=r)}return o}},,,,function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){a=(0,o.unifyNonBreakingSpace)(a);var e=(0,n.getBlocks)(a);e=(0,i.flatMap)(e,function(a){return a.split(s)});var t=(0,i.flatMap)(e,d);return(0,i.filter)(t,(0,i.negate)(i.isEmpty))};var i=t(2),n=t(359),o=t(749),r=function(a){return a&&a.__esModule?a:{default:a}}(t(963));var s=new RegExp("\n\r|\n|\r");var d=(0,i.memoize)(function(a){var e=new r.default,t=e.createTokenizer(),i=t.tokenizer,n=t.tokens;return e.tokenize(i,a),0===n.length?[]:e.getSentencesFromTokens(n)})},,,,,,,,,function(a,e,t){var i=t(192)();a.exports=i},function(a,e,t){var i=t(178),n=t(199),o=t(200);a.exports=function(a,e,t){return e==e?o(a,e,t):i(a,n,t)}},function(a,e,t){var i=t(39),n=t(209),o=t(210);function r(a){var e=-1,t=null==a?0:a.length;for(this.__data__=new i;++e<t;)this.add(a[e])}r.prototype.add=r.prototype.push=n,r.prototype.has=o,a.exports=r},function(a,e){a.exports=function(a,e){return a.has(e)}},function(a,e,t){var i=t(13)(t(5),"WeakMap");a.exports=i},function(a,e,t){var i=t(27),n=t(52),o=t(3),r=t(65),s=t(67),d=t(21);a.exports=function(a,e,t){for(var l=-1,c=(e=i(e,a)).length,u=!1;++l<c;){var p=d(e[l]);if(!(u=null!=a&&t(a,p)))break;a=a[p]}return u||++l!=c?u:!!(c=null==a?0:a.length)&&s(c)&&r(p,c)&&(o(a)||n(a))}},,,,,,,,,,function(a,e,t){(function(a){var i=t(51),n="object"==typeof e&&e&&!e.nodeType&&e,o=n&&"object"==typeof a&&a&&!a.nodeType&&a,r=o&&o.exports===n&&i.process,s=function(){try{return r&&r.binding&&r.binding("util")}catch(a){}}();a.exports=s}).call(this,t(48)(a))},function(a,e){a.exports=function(a,e,t,i){for(var n=a.length,o=t+(i?1:-1);i?o--:++o<n;)if(e(a[o],o,a))return o;return-1}},function(a,e,t){var i=t(8),n=t(20),o=NaN,r=/^\s+|\s+$/g,s=/^[-+]0x[0-9a-f]+$/i,d=/^0b[01]+$/i,l=/^0o[0-7]+$/i,c=parseInt;a.exports=function(a){if("number"==typeof a)return a;if(n(a))return o;if(i(a)){var e="function"==typeof a.valueOf?a.valueOf():a;a=i(e)?e+"":e}if("string"!=typeof a)return 0===a?a:+a;a=a.replace(r,"");var t=d.test(a);return t||l.test(a)?c(a.slice(2),t?2:8):s.test(a)?o:+a}},function(a,e){a.exports=function(a){return function(e){return null==e?void 0:e[a]}}},,,,,,,,,,,function(a,e,t){var i=t(162),n=t(29);a.exports=function(a,e){return a&&i(a,e,n)}},function(a,e){a.exports=function(a){return function(e,t,i){for(var n=-1,o=Object(e),r=i(e),s=r.length;s--;){var d=r[a?s:++n];if(!1===t(o[d],d,o))break}return e}}},function(a,e){a.exports=function(a,e){for(var t=-1,i=Array(a);++t<a;)i[t]=e(t);return i}},function(a,e,t){var i=t(11),n=t(12),o="[object Arguments]";a.exports=function(a){return n(a)&&i(a)==o}},function(a,e){a.exports=function(){return!1}},function(a,e,t){var i=t(11),n=t(67),o=t(12),r={};r["[object Float32Array]"]=r["[object Float64Array]"]=r["[object Int8Array]"]=r["[object Int16Array]"]=r["[object Int32Array]"]=r["[object Uint8Array]"]=r["[object Uint8ClampedArray]"]=r["[object Uint16Array]"]=r["[object Uint32Array]"]=!0,r["[object Arguments]"]=r["[object Array]"]=r["[object ArrayBuffer]"]=r["[object Boolean]"]=r["[object DataView]"]=r["[object Date]"]=r["[object Error]"]=r["[object Function]"]=r["[object Map]"]=r["[object Number]"]=r["[object Object]"]=r["[object RegExp]"]=r["[object Set]"]=r["[object String]"]=r["[object WeakMap]"]=!1,a.exports=function(a){return o(a)&&n(a.length)&&!!r[i(a)]}},function(a,e,t){var i=t(135)(Object.keys,Object);a.exports=i},function(a,e,t){var i=t(25);a.exports=function(a,e){return function(t,n){if(null==t)return t;if(!i(t))return a(t,n);for(var o=t.length,r=e?o:-1,s=Object(t);(e?r--:++r<o)&&!1!==n(s[r],r,s););return t}}},function(a,e){a.exports=function(a){return a!=a}},function(a,e){a.exports=function(a,e,t){for(var i=t-1,n=a.length;++i<n;)if(a[i]===e)return i;return-1}},function(a,e,t){var i=t(202),n=t(217),o=t(117);a.exports=function(a){var e=n(a);return 1==e.length&&e[0][2]?o(e[0][0],e[0][1]):function(t){return t===a||i(t,a,e)}}},function(a,e,t){var i=t(68),n=t(105),o=1,r=2;a.exports=function(a,e,t,s){var d=t.length,l=d,c=!s;if(null==a)return!l;for(a=Object(a);d--;){var u=t[d];if(c&&u[2]?u[1]!==a[u[0]]:!(u[0]in a))return!1}for(;++d<l;){var p=(u=t[d])[0],z=a[p],g=u[1];if(c&&u[2]){if(void 0===z&&!(p in a))return!1}else{var m=new i;if(s)var y=s(z,g,p,a,e,m);if(!(void 0===y?n(g,z,o|r,s,m):y))return!1}}return!0}},function(a,e,t){var i=t(28);a.exports=function(){this.__data__=new i,this.size=0}},function(a,e){a.exports=function(a){var e=this.__data__,t=e.delete(a);return this.size=e.size,t}},function(a,e){a.exports=function(a){return this.__data__.get(a)}},function(a,e){a.exports=function(a){return this.__data__.has(a)}},function(a,e,t){var i=t(28),n=t(40),o=t(39),r=200;a.exports=function(a,e){var t=this.__data__;if(t instanceof i){var s=t.__data__;if(!n||s.length<r-1)return s.push([a,e]),this.size=++t.size,this;t=this.__data__=new o(s)}return t.set(a,e),this.size=t.size,this}},function(a,e,t){var i=t(68),n=t(115),o=t(212),r=t(213),s=t(108),d=t(3),l=t(53),c=t(66),u=1,p="[object Arguments]",z="[object Array]",g="[object Object]",m=Object.prototype.hasOwnProperty;a.exports=function(a,e,t,y,w,f){var b=d(a),h=d(e),v=b?z:s(a),k=h?z:s(e),j=(v=v==p?g:v)==g,_=(k=k==p?g:k)==g,x=v==k;if(x&&l(a)){if(!l(e))return!1;b=!0,j=!1}if(x&&!j)return f||(f=new i),b||c(a)?n(a,e,t,y,w,f):o(a,e,v,t,y,w,f);if(!(t&u)){var q=j&&m.call(a,"__wrapped__"),E=_&&m.call(e,"__wrapped__");if(q||E){var A=q?a.value():a,T=E?e.value():e;return f||(f=new i),w(A,T,t,y,f)}}return!!x&&(f||(f=new i),r(a,e,t,y,w,f))}},function(a,e){var t="__lodash_hash_undefined__";a.exports=function(a){return this.__data__.set(a,t),this}},function(a,e){a.exports=function(a){return this.__data__.has(a)}},function(a,e){a.exports=function(a,e){for(var t=-1,i=null==a?0:a.length;++t<i;)if(e(a[t],t,a))return!0;return!1}},function(a,e,t){var i=t(14),n=t(136),o=t(24),r=t(115),s=t(137),d=t(138),l=1,c=2,u="[object Boolean]",p="[object Date]",z="[object Error]",g="[object Map]",m="[object Number]",y="[object RegExp]",w="[object Set]",f="[object String]",b="[object Symbol]",h="[object ArrayBuffer]",v="[object DataView]",k=i?i.prototype:void 0,j=k?k.valueOf:void 0;a.exports=function(a,e,t,i,k,_,x){switch(t){case v:if(a.byteLength!=e.byteLength||a.byteOffset!=e.byteOffset)return!1;a=a.buffer,e=e.buffer;case h:return!(a.byteLength!=e.byteLength||!_(new n(a),new n(e)));case u:case p:case m:return o(+a,+e);case z:return a.name==e.name&&a.message==e.message;case y:case f:return a==e+"";case g:var q=s;case w:var E=i&l;if(q||(q=d),a.size!=e.size&&!E)return!1;var A=x.get(a);if(A)return A==e;i|=c,x.set(a,e);var T=r(q(a),q(e),i,k,_,x);return x.delete(a),T;case b:if(j)return j.call(a)==j.call(e)}return!1}},function(a,e,t){var i=t(139),n=1,o=Object.prototype.hasOwnProperty;a.exports=function(a,e,t,r,s,d){var l=t&n,c=i(a),u=c.length;if(u!=i(e).length&&!l)return!1;for(var p=u;p--;){var z=c[p];if(!(l?z in e:o.call(e,z)))return!1}var g=d.get(a);if(g&&d.get(e))return g==e;var m=!0;d.set(a,e),d.set(e,a);for(var y=l;++p<u;){var w=a[z=c[p]],f=e[z];if(r)var b=l?r(f,w,z,e,a,d):r(w,f,z,a,e,d);if(!(void 0===b?w===f||s(w,f,t,r,d):b)){m=!1;break}y||(y="constructor"==z)}if(m&&!y){var h=a.constructor,v=e.constructor;h!=v&&"constructor"in a&&"constructor"in e&&!("function"==typeof h&&h instanceof h&&"function"==typeof v&&v instanceof v)&&(m=!1)}return d.delete(a),d.delete(e),m}},function(a,e,t){var i=t(13)(t(5),"DataView");a.exports=i},function(a,e,t){var i=t(13)(t(5),"Promise");a.exports=i},function(a,e,t){var i=t(13)(t(5),"Set");a.exports=i},function(a,e,t){var i=t(116),n=t(29);a.exports=function(a){for(var e=n(a),t=e.length;t--;){var o=e[t],r=a[o];e[t]=[o,r,i(r)]}return e}},function(a,e,t){var i=t(105),n=t(22),o=t(219),r=t(38),s=t(116),d=t(117),l=t(21),c=1,u=2;a.exports=function(a,e){return r(a)&&s(e)?d(l(a),e):function(t){var r=n(t,a);return void 0===r&&r===e?o(t,a):i(e,r,c|u)}}},function(a,e,t){var i=t(220),n=t(167);a.exports=function(a,e){return null!=a&&n(a,e,i)}},function(a,e){a.exports=function(a,e){return null!=a&&e in Object(a)}},function(a,e,t){var i=t(180),n=t(222),o=t(38),r=t(21);a.exports=function(a){return o(a)?i(r(a)):n(a)}},function(a,e,t){var i=t(37);a.exports=function(a){return function(e){return i(e,a)}}},,,,,function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=Object.assign||function(a){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(a[i]=t[i])}return a},n=t(2);function o(a){(0,n.defaults)(a,{original:"",marked:""}),this._properties=a}o.prototype.getOriginal=function(){return this._properties.original},o.prototype.getMarked=function(){return this._properties.marked},o.prototype.applyWithReplace=function(a){return a.split(this._properties.original).join(this._properties.marked)},o.prototype.serialize=function(){return i({_parseClass:"Mark"},this._properties)},o.parse=function(a){return delete a._parseClass,new o(a)},e.default=o},function(a,e,t){"use strict";function i(a,e,t){return a>e&&a<=t}function n(a,e,t){return a>=e&&a<t}function o(a,e,t){return a>=e&&a<=t}Object.defineProperty(e,"__esModule",{value:!0}),e.inRange=i,e.inRangeStartInclusive=n,e.inRangeEndInclusive=i,e.inRangeStartEndInclusive=o,e.default={inRange:i,inRangeStartInclusive:n,inRangeEndInclusive:i,inRangeStartEndInclusive:o}},function(a,e){"function"==typeof Object.create?a.exports=function(a,e){a.super_=e,a.prototype=Object.create(e.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}})}:a.exports=function(a,e){a.super_=e;var t=function(){};t.prototype=e.prototype,a.prototype=new t,a.prototype.constructor=a}},,,,,,,function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=l(t(500)),n=l(t(497)),o=l(t(1128)),r=l(t(32)),s=t(1129),d=t(2);function l(a){return a&&a.__esModule?a:{default:a}}var c=function(a,e){this.type="Assessor",this.setI18n(a),this._assessments=[],this._options=e||{},(0,d.isUndefined)(this._options.researcher)||(this._researcher=this._options.researcher)};c.prototype.setI18n=function(a){if((0,d.isUndefined)(a))throw new n.default("The assessor requires an i18n object.");this.i18n=a},c.prototype.getAvailableAssessments=function(){return this._assessments},c.prototype.isApplicable=function(a,e,t){return!a.hasOwnProperty("isApplicable")&&"function"!=typeof a.isApplicable||a.isApplicable(e,t)},c.prototype.hasMarker=function(a){return(0,d.isFunction)(this._options.marker)&&(a.hasOwnProperty("getMarks")||"function"==typeof a.getMarks)},c.prototype.getSpecificMarker=function(){return this._options.marker},c.prototype.getPaper=function(){return this._lastPaper},c.prototype.getMarker=function(a,e,t){var i=this._options.marker;return function(){var n=a.getMarks(e,t);n=(0,o.default)(n),i(e,n)}},c.prototype.assess=function(a){(0,d.isUndefined)(this._researcher)?this._researcher=new i.default(a):this._researcher.setPaper(a);var e=this.getAvailableAssessments();this.results=[],e=(0,d.filter)(e,function(e){return this.isApplicable(e,a,this._researcher)}.bind(this)),this.setHasMarkers(!1),this.results=(0,d.map)(e,this.executeAssessment.bind(this,a,this._researcher)),this._lastPaper=a},c.prototype.setHasMarkers=function(a){this._hasMarkers=a},c.prototype.hasMarkers=function(){return this._hasMarkers},c.prototype.executeAssessment=function(a,e,t){var i;try{(i=t.getResult(a,e,this.i18n)).setIdentifier(t.identifier),i.hasMarks()&&(i.marks=t.getMarks(a,e),i.marks=(0,o.default)(i.marks)),i.hasMarks()&&this.hasMarker(t)&&(this.setHasMarkers(!0),i.setMarker(this.getMarker(t,a,e)))}catch(a){(0,s.showTrace)(a),(i=new r.default).setScore(-1),i.setText(this.i18n.sprintf(this.i18n.dgettext("js-text-analysis","An error occurred in the '%1$s' assessment"),t.identifier,a))}return i},c.prototype.getValidResults=function(){return(0,d.filter)(this.results,function(a){return this.isValidResult(a)}.bind(this))},c.prototype.isValidResult=function(a){return a.hasScore()&&a.hasText()},c.prototype.calculateOverallScore=function(){var a=this.getValidResults(),e=0;return(0,d.forEach)(a,function(a){e+=a.getScore()}),Math.round(e/(9*a.length)*100)||0},c.prototype.addAssessment=function(a,e){return e.hasOwnProperty("identifier")||(e.identifier=a),this._assessments.push(e),!0},c.prototype.removeAssessment=function(a){var e=(0,d.findIndex)(this._assessments,function(e){return e.hasOwnProperty("identifier")&&a===e.identifier});-1!==e&&this._assessments.splice(e,1)},c.prototype.getAssessment=function(a){return(0,d.find)(this._assessments,function(e){return e.hasOwnProperty("identifier")&&a===e.identifier})},c.prototype.getApplicableAssessments=function(){var a=this.getAvailableAssessments();return(0,d.filter)(a,function(a){return this.isApplicable(a,this.getPaper())}.bind(this))},e.default=c},,,,,,,function(a,e,t){var i=t(11),n=t(3),o=t(12),r="[object String]";a.exports=function(a){return"string"==typeof a||!n(a)&&o(a)&&i(a)==r}},function(a,e,t){var i=t(307);a.exports=function(a){var e=i(a),t=e%1;return e==e?t?e-t:e:0}},function(a,e,t){var i=t(246),n=t(29);a.exports=function(a){return null==a?[]:i(a,n(a))}},function(a,e,t){var i=t(33);a.exports=function(a,e){return i(e,function(e){return a[e]})}},,,,,,,,,,,,,,,,,,,,,,function(a,e){a.exports=function(a){if(!a.webpackPolyfill){var e=Object.create(a);e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),Object.defineProperty(e,"exports",{enumerable:!0}),e.webpackPolyfill=1}return e}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){return(0,i.default)(a).length};var i=function(a){return a&&a.__esModule?a:{default:a}}(t(145))},,function(a,e,t){"use strict";(function(a){var t="object"==typeof a&&a&&a.Object===Object&&a;e.a=t}).call(this,t(15))},function(a,e,t){"use strict";(function(a){var i=t(9),n="object"==typeof exports&&exports&&!exports.nodeType&&exports,o=n&&"object"==typeof a&&a&&!a.nodeType&&a,r=o&&o.exports===n?i.a.Buffer:void 0,s=r?r.allocUnsafe:void 0;e.a=function(a,e){if(e)return a.slice();var t=a.length,i=s?s(t):new a.constructor(t);return a.copy(i),i}}).call(this,t(268)(a))},,,,,,,function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.findTopicFormsInString=e.findWordFormsInString=void 0;var i=function(a){return a&&a.__esModule?a:{default:a}}(t(467)),n=t(2);var o=function(a,e,t){for(var o=a.length,r=Array(o),s=0;s<o;s++){var d=(0,i.default)(e,a[s],t).count>0;r[s]=d?1:0}var l=(0,n.sum)(r),c={countWordMatches:l,percentWordMatches:0};return o>0&&(c.percentWordMatches=Math.round(l/o*100)),c};e.findWordFormsInString=o,e.findTopicFormsInString=function(a,e,t,i){var r=o(a.keyphraseForms,e,i);if(r.keyphraseOrSynonym="keyphrase",100===r.percentWordMatches||!1===t||(0,n.isEmpty)(a.synonymsForms))return r;for(var s=[],d=0;d<a.synonymsForms.length;d++){var l=a.synonymsForms[d];s[d]=o(l,e,i)}var c=s.map(function(a){return a.percentWordMatches}),u=c.indexOf(Math.max.apply(Math,function(a){if(Array.isArray(a)){for(var e=0,t=Array(a.length);e<a.length;e++)t[e]=a[e];return t}return Array.from(a)}(c)));return r.percentWordMatches>=s[u].percentWordMatches?r:((r=s[u]).keyphraseOrSynonym="synonym",r)}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=t(2),n=t(1073),o={auxiliaries:[],type:"",language:""},r=function(a,e,t){this.setParticiple(a),this.setSentencePart(e),this._determinesSentencePartIsPassive=!1,t=t||{},(0,i.defaults)(t,o),function(a){(0,i.forEach)(a,function(a,e){var t=(0,n.getType)(o[e]);if(!1===(0,n.isSameType)(a,t))throw Error("Attribute "+e+" has invalid type. Expected "+t+", got "+(0,n.getType)(a)+".")})}(t),this._attributes=t};r.prototype.setParticiple=function(a){if(""===a)throw Error("The participle should not be empty.");if(!(0,i.isString)(a))throw Error("The participle should be a string.");this._participle=a},r.prototype.getParticiple=function(){return this._participle},r.prototype.setSentencePart=function(a){if(""===a)throw Error("The sentence part should not be empty.");this._sentencePart=a},r.prototype.getSentencePart=function(){return this._sentencePart},r.prototype.getType=function(){return this._attributes.type},r.prototype.getAuxiliaries=function(){return this._attributes.auxiliaries},r.prototype.getLanguage=function(){return this._attributes.language},r.prototype.determinesSentencePartIsPassive=function(){return this._determinesSentencePartIsPassive},r.prototype.setSentencePartPassiveness=function(a){if(!(0,n.isSameType)(a,"boolean"))throw Error("Passiveness had invalid type. Expected boolean, got "+(0,n.getType)(a)+".");this._determinesSentencePartIsPassive=a},r.prototype.serialize=function(){return{_parseClass:"Participle",attributes:this._attributes,participle:this._participle,sentencePart:this._sentencePart,determinesSentencePartIsPassive:this._determinesSentencePartIsPassive}},r.parse=function(a){var e=new r(a.participle,a.sentencePart,a.attributes);return e.setSentencePartPassiveness(a.determinesSentencePartIsPassive),e},e.default=r},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=function(a,e,t){this._sentencePartText=a,this._auxiliaries=e,this._locale=t,this._isPassive=!1};i.prototype.getSentencePartText=function(){return this._sentencePartText},i.prototype.isPassive=function(){return this._isPassive},i.prototype.getAuxiliaries=function(){return this._auxiliaries},i.prototype.getLocale=function(){return this._locale},i.prototype.setPassive=function(a){this._isPassive=a},i.prototype.serialize=function(){return{_parseClass:"SentencePart",sentencePartText:this._sentencePartText,auxiliaries:this._auxiliaries,locale:this._locale,isPassive:this._isPassive}},i.parse=function(a){var e=new i(a.sentencePartText,a.auxiliaries,a.locale);return e.setPassive(a.isPassive),e},e.default=i},,,,,,,,,,,,,,,,,,,,,,,,,,function(a,e,t){var i=t(179),n=1/0,o=1.7976931348623157e308;a.exports=function(a){return a?(a=i(a))===n||a===-n?(a<0?-1:1)*o:a==a?a:0:0===a?a:0}},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(a,e){var t,i,n=a.exports={};function o(){throw new Error("setTimeout has not been defined")}function r(){throw new Error("clearTimeout has not been defined")}function s(a){if(t===setTimeout)return setTimeout(a,0);if((t===o||!t)&&setTimeout)return t=setTimeout,setTimeout(a,0);try{return t(a,0)}catch(e){try{return t.call(null,a,0)}catch(e){return t.call(this,a,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:o}catch(a){t=o}try{i="function"==typeof clearTimeout?clearTimeout:r}catch(a){i=r}}();var d,l=[],c=!1,u=-1;function p(){c&&d&&(c=!1,d.length?l=d.concat(l):u=-1,l.length&&z())}function z(){if(!c){var a=s(p);c=!0;for(var e=l.length;e;){for(d=l,l=[];++u<e;)d&&d[u].run();u=-1,e=l.length}d=null,c=!1,function(a){if(i===clearTimeout)return clearTimeout(a);if((i===r||!i)&&clearTimeout)return i=clearTimeout,clearTimeout(a);try{i(a)}catch(e){try{return i.call(null,a)}catch(e){return i.call(this,a)}}}(a)}}function g(a,e){this.fun=a,this.array=e}function m(){}n.nextTick=function(a){var e=new Array(arguments.length-1);if(arguments.length>1)for(var t=1;t<arguments.length;t++)e[t-1]=arguments[t];l.push(new g(a,e)),1!==l.length||c||s(z)},g.prototype.run=function(){this.fun.apply(null,this.array)},n.title="browser",n.browser=!0,n.env={},n.argv=[],n.version="",n.versions={},n.on=m,n.addListener=m,n.once=m,n.off=m,n.removeListener=m,n.removeAllListeners=m,n.emit=m,n.prependListener=m,n.prependOnceListener=m,n.listeners=function(a){return[]},n.binding=function(a){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(a){throw new Error("process.chdir is not supported")},n.umask=function(){return 0}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){return"<yoastmark class='yoast-text-mark'>"+a+"</yoastmark>"}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){return Math.round(a)===a?Math.round(a):Math.round(10*a)/10}},function(a,e,t){"use strict";var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a};Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function a(a,e){for(var t=0;t<e.length;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(a,i.key,i)}}return function(e,t,i){return t&&a(e.prototype,t),i&&a(e,i),e}}(),o=t(2),r=l(t(71)),s=t(35),d=l(t(32));function l(a){return a&&a.__esModule?a:{default:a}}var c=function(a){function e(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};!function(a,e){if(!(a instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var t=function(a,e){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==(void 0===e?"undefined":i(e))&&"function"!=typeof e?a:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this)),n={scores:{good:9,okay:6,bad:3},urlTitle:(0,s.createAnchorOpeningTag)("https://yoa.st/33e"),urlCallToAction:(0,s.createAnchorOpeningTag)("https://yoa.st/33f")};return t.identifier="introductionKeyword",t._config=(0,o.merge)(n,a),t}return function(a,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+(void 0===e?"undefined":i(e)));a.prototype=Object.create(e&&e.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(a,e):a.__proto__=e)}(e,r.default),n(e,[{key:"getResult",value:function(a,e,t){var i=new d.default;this._firstParagraphMatches=e.getResearch("firstParagraph");var n=this.calculateResult(t);return i.setScore(n.score),i.setText(n.resultText),i}},{key:"isApplicable",value:function(a){return a.hasKeyword()&&a.hasText()}},{key:"calculateResult",value:function(a){return this._firstParagraphMatches.foundInOneSentence?{score:this._config.scores.good,resultText:a.sprintf(a.dgettext("js-text-analysis","%1$sKeyphrase in introduction%2$s: Well done!"),this._config.urlTitle,"</a>")}:this._firstParagraphMatches.foundInParagraph?{score:this._config.scores.okay,resultText:a.sprintf(a.dgettext("js-text-analysis","%1$sKeyphrase in introduction%3$s:Your keyphrase or its synonyms appear in the first paragraph of the copy, but not within one sentence. %2$sFix that%3$s!"),this._config.urlTitle,this._config.urlCallToAction,"</a>")}:{score:this._config.scores.bad,resultText:a.sprintf(a.dgettext("js-text-analysis","%1$sKeyphrase in introduction%3$s: Your keyphrase or its synonyms do not appear in the first paragraph. %2$sMake sure the topic is clear immediately%3$s."),this._config.urlTitle,this._config.urlCallToAction,"</a>")}}}]),e}();e.default=c},function(a,e,t){"use strict";var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a};Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function a(a,e){for(var t=0;t<e.length;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(a,i.key,i)}}return function(e,t,i){return t&&a(e.prototype,t),i&&a(e,i),e}}(),o=t(2),r=l(t(71)),s=(l(t(734)),l(t(76)),t(35)),d=l(t(32));function l(a){return a&&a.__esModule?a:{default:a}}var c=function(a){function e(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};!function(a,e){if(!(a instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var t=function(a,e){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==(void 0===e?"undefined":i(e))&&"function"!=typeof e?a:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this)),n={parameters:{recommendedMinimum:1,recommendedMaximum:4,acceptableMaximum:8},parametersNoFunctionWordSupport:{recommendedMaximum:6,acceptableMaximum:9},scores:{veryBad:-999,bad:3,okay:6,good:9},urlTitle:(0,s.createAnchorOpeningTag)("https://yoa.st/33i"),urlCallToAction:(0,s.createAnchorOpeningTag)("https://yoa.st/33j"),isRelatedKeyphrase:!1};return t.identifier="keyphraseLength",t._config=(0,o.merge)(n,a),t}return function(a,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+(void 0===e?"undefined":i(e)));a.prototype=Object.create(e&&e.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(a,e):a.__proto__=e)}(e,r.default),n(e,[{key:"getResult",value:function(a,e,t){this._keyphraseLength=e.getResearch("keyphraseLength");var i=new d.default;this._boundaries=this._config.parameters;var n=this.calculateResult(t);return(0,o.isUndefined)(n)||(i.setScore(n.score),i.setText(n.resultText)),i}},{key:"calculateResult",value:function(a){return this._keyphraseLength<this._boundaries.recommendedMinimum?this._config.isRelatedKeyphrase?{score:this._config.scores.veryBad,resultText:a.sprintf(a.dgettext("js-text-analysis","%1$sKeyphrase length%3$s: %2$sSet a keyphrase in order to calculate your SEO score%3$s."),this._config.urlTitle,this._config.urlCallToAction,"</a>")}:{score:this._config.scores.veryBad,resultText:a.sprintf(a.dgettext("js-text-analysis","%1$sKeyphrase length%3$s: No focus keyphrase was set for this page. %2$sSet a keyphrase in order to calculate your SEO score%3$s."),this._config.urlTitle,this._config.urlCallToAction,"</a>")}:(0,o.inRange)(this._keyphraseLength,this._boundaries.recommendedMinimum,this._boundaries.recommendedMaximum+1)?{score:this._config.scores.good,resultText:a.sprintf(a.dgettext("js-text-analysis","%1$sKeyphrase length%2$s: Good job!"),this._config.urlTitle,"</a>")}:(0,o.inRange)(this._keyphraseLength,this._boundaries.recommendedMaximum+1,this._boundaries.acceptableMaximum+1)?{score:this._config.scores.okay,resultText:a.sprintf(a.dgettext("js-text-analysis","%3$sKeyphrase length%5$s: The keyphrase is %1$d words long. That's more than the recommended maximum of %2$d words. %4$sMake it shorter%5$s!"),this._keyphraseLength,this._boundaries.recommendedMaximum,this._config.urlTitle,this._config.urlCallToAction,"</a>")}:{score:this._config.scores.bad,resultText:a.sprintf(a.dgettext("js-text-analysis","%3$sKeyphrase length%5$s: The keyphrase is %1$d words long. That's way more than the recommended maximum of %2$d words. %4$sMake it shorter%5$s!"),this._keyphraseLength,this._boundaries.recommendedMaximum,this._config.urlTitle,this._config.urlCallToAction,"</a>")}}}]),e}();e.default=c},function(a,e,t){"use strict";var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a};Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function a(a,e){for(var t=0;t<e.length;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(a,i.key,i)}}return function(e,t,i){return t&&a(e.prototype,t),i&&a(e,i),e}}(),o=t(2),r=(z(t(961)),z(t(71))),s=z(t(76)),d=z(t(32)),l=t(228),c=t(35),u=z(t(341)),p=(z(t(747)),z(t(269)));function z(a){return a&&a.__esModule?a:{default:a}}var g=function(a){function e(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};!function(a,e){if(!(a instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var t=function(a,e){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==(void 0===e?"undefined":i(e))&&"function"!=typeof e?a:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this)),n={parametersRegular:{noWordForms:{overMaximum:3.5,maximum:2.5,minimum:.5},multipleWordForms:{overMaximum:3.5,maximum:3,minimum:.5}},parametersRecalibration:{noWordForms:{overMaximum:4,maximum:3,minimum:.5},multipleWordForms:{overMaximum:4,maximum:3.5,minimum:.5}},scores:{wayOverMaximum:-50,overMaximum:-10,correctDensity:9,underMinimum:4},urlTitle:(0,c.createAnchorOpeningTag)("https://yoa.st/33v"),urlCallToAction:(0,c.createAnchorOpeningTag)("https://yoa.st/33w")};return t.identifier="keywordDensity",t._config=(0,o.merge)(n,a),t}return function(a,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+(void 0===e?"undefined":i(e)));a.prototype=Object.create(e&&e.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(a,e):a.__proto__=e)}(e,r.default),n(e,[{key:"setBoundaries",value:function(a,e){this._hasMorphologicalForms?this._boundaries=this._config.parametersRegular.multipleWordForms:this._boundaries=this._config.parametersRegular.noWordForms}},{key:"getResult",value:function(a,e,t){this._hasMorphologicalForms=!1!==e.getData("morphology")&&"en"===(0,s.default)(a.getLocale()),this._keywordCount=e.getResearch("keywordCount");var i=this._keywordCount.length;this.setBoundaries(a.getText(),i);var n=new d.default;this._keywordDensity=e.getResearch("getKeywordDensity");var o={};return o=this.calculateResultRegular(t),n.setScore(o.score),n.setText(o.resultText),n.setHasMarks(this._keywordCount.count>0),n}},{key:"hasNoMatches",value:function(){return 0===this._keywordCount.count}},{key:"hasTooFewMatches",value:function(){return(0,l.inRangeStartInclusive)(this._keywordDensity,0,this._boundaries.minimum)||1===this._keywordCount.count}},{key:"hasGoodNumberOfMatches",value:function(){return(0,l.inRangeStartEndInclusive)(this._keywordDensity,this._boundaries.minimum,this._boundaries.maximum)||2===this._keywordCount.count&&this._minRecommendedKeywordCount<=2}},{key:"hasTooManyMatches",value:function(){return(0,l.inRangeEndInclusive)(this._keywordDensity,this._boundaries.maximum,this._boundaries.overMaximum)}},{key:"calculateResultRegular",value:function(a){var e=this._boundaries.maximum+"%",t=(0,u.default)(this._keywordDensity)+"%";return this.hasNoMatches()?{score:this._config.scores.underMinimum,resultText:a.sprintf(a.dgettext("js-text-analysis","%3$sKeyphrase density%5$s: %1$s. This is too low; the keyphrase was found %2$d times. %4$sFocus on your keyphrase%5$s!"),t,this._keywordCount.count,this._config.urlTitle,this._config.urlCallToAction,"</a>")}:this.hasTooFewMatches()?{score:this._config.scores.underMinimum,resultText:a.sprintf(a.dngettext("js-text-analysis","%3$sKeyphrase density%5$s: %1$s. This is too low; the keyphrase was found %2$d time. %4$sFocus on your keyphrase%5$s!","%3$sKeyphrase density%5$s: %1$s. This is too low; the keyphrase was found %2$d times. %4$sFocus on your keyphrase%5$s!",this._keywordCount.count),t,this._keywordCount.count,this._config.urlTitle,this._config.urlCallToAction,"</a>")}:this.hasGoodNumberOfMatches()?{score:this._config.scores.correctDensity,resultText:a.sprintf(a.dngettext("js-text-analysis","%2$sKeyphrase density%3$s: %1$s. This is great!"),t,this._config.urlTitle,"</a>")}:this.hasTooManyMatches()?{score:this._config.scores.overMaximum,resultText:a.sprintf(a.dngettext("js-text-analysis","%4$sKeyphrase density%6$s: %1$s. This is over the advised %3$s maximum; the keyphrase was found %2$d time. %5$sDon't overoptimize%6$s!","%4$sKeyphrase density%6$s: %1$s. This is over the advised %3$s maximum; the keyphrase was found %2$d times. %5$sDon't overoptimize%6$s!",this._keywordCount.count),t,this._keywordCount.count,e,this._config.urlTitle,this._config.urlCallToAction,"</a>")}:{score:this._config.scores.wayOverMaximum,resultText:a.sprintf(a.dngettext("js-text-analysis","%4$sKeyphrase density%6$s: %1$s. This is way over the advised %3$s maximum; the keyphrase was found %2$d time. %5$sDon't overoptimize%6$s!","%4$sKeyphrase density%6$s: %1$s. This is way over the advised %3$s maximum; the keyphrase was found %2$d times. %5$sDon't overoptimize%6$s!",this._keywordCount.count),t,this._keywordCount.count,e,this._config.urlTitle,this._config.urlCallToAction,"</a>")}}},{key:"calculateResultRecalibration",value:function(a){return this.hasNoMatches()?{score:this._config.scores.underMinimum,resultText:a.sprintf(a.dgettext("js-text-analysis","%1$sKeyphrase density%2$s: The focus keyphrase was found 0 times. That's less than the recommended minimum of %3$d times for a text of this length. %4$sFocus on your keyphrase%2$s!"),this._config.urlTitle,"</a>",this._minRecommendedKeywordCount,this._config.urlCallToAction)}:this.hasTooFewMatches()?{score:this._config.scores.underMinimum,resultText:a.sprintf(a.dngettext("js-text-analysis","%1$sKeyphrase density%2$s: The focus keyphrase was found %5$d time. That's less than the recommended minimum of %3$d times for a text of this length. %4$sFocus on your keyphrase%2$s!","%1$sKeyphrase density%2$s: The focus keyphrase was found %5$d times. That's less than the recommended minimum of %3$d times for a text of this length. %4$sFocus on your keyphrase%2$s!",this._keywordCount.count),this._config.urlTitle,"</a>",this._minRecommendedKeywordCount,this._config.urlCallToAction,this._keywordCount.count)}:this.hasGoodNumberOfMatches()?{score:this._config.scores.correctDensity,resultText:a.sprintf(a.dngettext("js-text-analysis","%1$sKeyphrase density%2$s: The focus keyphrase was found %3$d time. This is great!","%1$sKeyphrase density%2$s: The focus keyphrase was found %3$d times. This is great!",this._keywordCount.count),this._config.urlTitle,"</a>",this._keywordCount.count)}:this.hasTooManyMatches()?{score:this._config.scores.overMaximum,resultText:a.sprintf(a.dngettext("js-text-analysis","%1$sKeyphrase density%2$s: The focus keyphrase was found %5$d time. That's more than the recommended maximum of %3$d times for a text of this length. %4$sDon't overoptimize%2$s!","%1$sKeyphrase density%2$s: The focus keyphrase was found %5$d times. That's more than the recommended maximum of %3$d times for a text of this length. %4$sDon't overoptimize%2$s!",this._keywordCount.count),this._config.urlTitle,"</a>",this._maxRecommendedKeywordCount,this._config.urlCallToAction,this._keywordCount.count)}:{score:this._config.scores.wayOverMaximum,resultText:a.sprintf(a.dngettext("js-text-analysis","%1$sKeyphrase density%2$s: The focus keyphrase was found %5$d time. That's way more than the recommended maximum of %3$d times for a text of this length. %4$sDon't overoptimize%2$s!","%1$sKeyphrase density%2$s: The focus keyphrase was found %5$d times. That's way more than the recommended maximum of %3$d times for a text of this length. %4$sDon't overoptimize%2$s!",this._keywordCount.count),this._config.urlTitle,"</a>",this._maxRecommendedKeywordCount,this._config.urlCallToAction,this._keywordCount.count)}}},{key:"getMarks",value:function(){return this._keywordCount.markings}},{key:"isApplicable",value:function(a){return a.hasText()&&a.hasKeyword()&&(0,p.default)(a.getText())>=100}}]),e}();e.default=g},function(a,e,t){"use strict";function i(a){return a.replace(/[‘’‛`]/g,"'")}function n(a){return a.replace(/[“”〝〞〟‟„]/g,'"')}function o(a){return n(i(a))}Object.defineProperty(e,"__esModule",{value:!0}),e.normalizeSingle=i,e.normalizeDouble=n,e.normalize=o,e.default={normalizeSingle:i,normalizeDouble:n,normalize:o}},function(a,e,t){"use strict";var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a};Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function a(a,e){for(var t=0;t<e.length;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(a,i.key,i)}}return function(e,t,i){return t&&a(e.prototype,t),i&&a(e,i),e}}(),o=t(2),r=l(t(71)),s=t(35),d=l(t(32));function l(a){return a&&a.__esModule?a:{default:a}}var c=function(a){function e(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};!function(a,e){if(!(a instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var t=function(a,e){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==(void 0===e?"undefined":i(e))&&"function"!=typeof e?a:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this)),n={parameters:{recommendedMinimum:1},scores:{good:9,ok:6,bad:3},urlTitle:(0,s.createAnchorOpeningTag)("https://yoa.st/33k"),urlCallToAction:(0,s.createAnchorOpeningTag)("https://yoa.st/33l")};return t.identifier="metaDescriptionKeyword",t._config=(0,o.merge)(n,a),t}return function(a,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+(void 0===e?"undefined":i(e)));a.prototype=Object.create(e&&e.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(a,e):a.__proto__=e)}(e,r.default),n(e,[{key:"getResult",value:function(a,e,t){this._keyphraseCounts=e.getResearch("metaDescriptionKeyword");var i=new d.default,n=this.calculateResult(t);return i.setScore(n.score),i.setText(n.resultText),i}},{key:"calculateResult",value:function(a){return 1===this._keyphraseCounts||2===this._keyphraseCounts?{score:this._config.scores.good,resultText:a.sprintf(a.dgettext("js-text-analysis","%1$sKeyphrase in meta description%2$s: Keyphrase or synonym appear in the meta description. Well done!"),this._config.urlTitle,"</a>")}:this._keyphraseCounts>=3?{score:this._config.scores.bad,resultText:a.sprintf(a.dgettext("js-text-analysis","%1$sKeyphrase in meta description%2$s: The meta description contains the keyphrase %3$s times, which is over the advised maximum of 2 times. %4$sLimit that%5$s!"),this._config.urlTitle,"</a>",this._keyphraseCounts,this._config.urlCallToAction,"</a>")}:{score:this._config.scores.bad,resultText:a.sprintf(a.dgettext("js-text-analysis","%1$sKeyphrase in meta description%2$s: The meta description has been specified, but it does not contain the keyphrase. %3$sFix that%4$s!"),this._config.urlTitle,"</a>",this._config.urlCallToAction,"</a>")}}},{key:"isApplicable",value:function(a){return a.hasKeyword()&&a.hasDescription()}}]),e}();e.default=c},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){var e,t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return"(^|"+(e='[ \\u00a0 \\n\\r\\t.,()”“〝〞〟‟„"+\\-;!¡?¿:/»«‹›'+(arguments.length>2&&void 0!==arguments[2]?arguments[2]:"")+"<>")+"'‘’‛`])"+a+(t?"($|((?="+e+"]))|((['‘’‛`])("+e+"])))":"($|("+e+"])|((['‘’‛`])("+e+"])))")}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a,e,t){var o=(0,n.default)(a),p=[];return(0,i.forEach)(o,function(i){var n="";if(0!==g(i,t).length&&(n="regular"),0!==m(i,t).length&&(n="irregular"),""!==n)switch(t){case"fr":p.push(new s.default(i,a,{auxiliaries:e,type:n,language:t}));break;case"es":p.push(new d.default(i,a,{auxiliaries:e,type:n,language:t}));break;case"it":p.push(new l.default(i,a,{auxiliaries:e,type:n,language:t}));break;case"nl":p.push(new c.default(i,a,{auxiliaries:e,type:n,language:t}));break;case"pl":p.push(new u.default(i,a,{auxiliaries:e,type:n,language:t}));break;case"en":default:p.push(new r.default(i,a,{auxiliaries:e,type:n,language:t}))}}),p};var i=t(2),n=p(t(145)),o=p(t(1065)),r=p(t(1072)),s=p(t(1075)),d=p(t(1077)),l=p(t(1078)),c=p(t(1079)),u=p(t(1081));function p(a){return a&&a.__esModule?a:{default:a}}var z=(0,o.default)(),g=z.regularParticiples,m=z.irregularParticiples},,,,,,,,,function(a,e,t){
11
- /**
12
- * @preserve jed.js https://github.com/SlexAxton/Jed
13
- */
14
- !function(t,i){var n=Array.prototype,o=Object.prototype,r=n.slice,s=o.hasOwnProperty,d=n.forEach,l={},c={forEach:function(a,e,t){var i,n,o;if(null!==a)if(d&&a.forEach===d)a.forEach(e,t);else if(a.length===+a.length){for(i=0,n=a.length;i<n;i++)if(i in a&&e.call(t,a[i],i,a)===l)return}else for(o in a)if(s.call(a,o)&&e.call(t,a[o],o,a)===l)return},extend:function(a){return this.forEach(r.call(arguments,1),function(e){for(var t in e)a[t]=e[t]}),a}},u=function(a){if(this.defaults={locale_data:{messages:{"":{domain:"messages",lang:"en",plural_forms:"nplurals=2; plural=(n != 1);"}}},domain:"messages",debug:!1},this.options=c.extend({},this.defaults,a),this.textdomain(this.options.domain),a.domain&&!this.options.locale_data[this.options.domain])throw new Error("Text domain set to non-existent domain: `"+a.domain+"`")};function p(a){return u.PF.compile(a||"nplurals=2; plural=(n != 1);")}function z(a,e){this._key=a,this._i18n=e}u.context_delimiter=String.fromCharCode(4),c.extend(z.prototype,{onDomain:function(a){return this._domain=a,this},withContext:function(a){return this._context=a,this},ifPlural:function(a,e){return this._val=a,this._pkey=e,this},fetch:function(a){return"[object Array]"!={}.toString.call(a)&&(a=[].slice.call(arguments,0)),(a&&a.length?u.sprintf:function(a){return a})(this._i18n.dcnpgettext(this._domain,this._context,this._key,this._pkey,this._val),a)}}),c.extend(u.prototype,{translate:function(a){return new z(a,this)},textdomain:function(a){if(!a)return this._textdomain;this._textdomain=a},gettext:function(a){return this.dcnpgettext.call(this,void 0,void 0,a)},dgettext:function(a,e){return this.dcnpgettext.call(this,a,void 0,e)},dcgettext:function(a,e){return this.dcnpgettext.call(this,a,void 0,e)},ngettext:function(a,e,t){return this.dcnpgettext.call(this,void 0,void 0,a,e,t)},dngettext:function(a,e,t,i){return this.dcnpgettext.call(this,a,void 0,e,t,i)},dcngettext:function(a,e,t,i){return this.dcnpgettext.call(this,a,void 0,e,t,i)},pgettext:function(a,e){return this.dcnpgettext.call(this,void 0,a,e)},dpgettext:function(a,e,t){return this.dcnpgettext.call(this,a,e,t)},dcpgettext:function(a,e,t){return this.dcnpgettext.call(this,a,e,t)},npgettext:function(a,e,t,i){return this.dcnpgettext.call(this,void 0,a,e,t,i)},dnpgettext:function(a,e,t,i,n){return this.dcnpgettext.call(this,a,e,t,i,n)},dcnpgettext:function(a,e,t,i,n){var o;if(i=i||t,a=a||this._textdomain,!this.options)return(o=new u).dcnpgettext.call(o,void 0,void 0,t,i,n);if(!this.options.locale_data)throw new Error("No locale data provided.");if(!this.options.locale_data[a])throw new Error("Domain `"+a+"` was not found.");if(!this.options.locale_data[a][""])throw new Error("No locale meta information provided.");if(!t)throw new Error("No translation key found.");var r,s,d,l=e?e+u.context_delimiter+t:t,c=this.options.locale_data,z=c[a],g=(c.messages||this.defaults.locale_data.messages)[""],m=z[""].plural_forms||z[""]["Plural-Forms"]||z[""]["plural-forms"]||g.plural_forms||g["Plural-Forms"]||g["plural-forms"];if(void 0===n)d=0;else{if("number"!=typeof n&&(n=parseInt(n,10),isNaN(n)))throw new Error("The number that was passed in is not a number.");d=p(m)(n)}if(!z)throw new Error("No domain named `"+a+"` could be found.");return!(r=z[l])||d>r.length?(this.options.missing_key_callback&&this.options.missing_key_callback(l,a),s=[t,i],!0===this.options.debug&&console.log(s[p(m)(n)]),s[p()(n)]):(s=r[d])||(s=[t,i])[p()(n)]}});var g=function(){function a(a){return Object.prototype.toString.call(a).slice(8,-1).toLowerCase()}function e(a,e){for(var t=[];e>0;t[--e]=a);return t.join("")}var t=function(){return t.cache.hasOwnProperty(arguments[0])||(t.cache[arguments[0]]=t.parse(arguments[0])),t.format.call(null,t.cache[arguments[0]],arguments)};return t.format=function(t,i){var n,o,r,s,d,l,c,u=1,p=t.length,z="",m=[];for(o=0;o<p;o++)if("string"===(z=a(t[o])))m.push(t[o]);else if("array"===z){if((s=t[o])[2])for(n=i[u],r=0;r<s[2].length;r++){if(!n.hasOwnProperty(s[2][r]))throw g('[sprintf] property "%s" does not exist',s[2][r]);n=n[s[2][r]]}else n=s[1]?i[s[1]]:i[u++];if(/[^s]/.test(s[8])&&"number"!=a(n))throw g("[sprintf] expecting number but found %s",a(n));switch(void 0!==n&&null!==n||(n=""),s[8]){case"b":n=n.toString(2);break;case"c":n=String.fromCharCode(n);break;case"d":n=parseInt(n,10);break;case"e":n=s[7]?n.toExponential(s[7]):n.toExponential();break;case"f":n=s[7]?parseFloat(n).toFixed(s[7]):parseFloat(n);break;case"o":n=n.toString(8);break;case"s":n=(n=String(n))&&s[7]?n.substring(0,s[7]):n;break;case"u":n=Math.abs(n);break;case"x":n=n.toString(16);break;case"X":n=n.toString(16).toUpperCase()}n=/[def]/.test(s[8])&&s[3]&&n>=0?"+"+n:n,l=s[4]?"0"==s[4]?"0":s[4].charAt(1):" ",c=s[6]-String(n).length,d=s[6]?e(l,c):"",m.push(s[5]?n+d:d+n)}return m.join("")},t.cache={},t.parse=function(a){for(var e=a,t=[],i=[],n=0;e;){if(null!==(t=/^[^\x25]+/.exec(e)))i.push(t[0]);else if(null!==(t=/^\x25{2}/.exec(e)))i.push("%");else{if(null===(t=/^\x25(?:([1-9]\d*)\$|\(([^\)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(e)))throw"[sprintf] huh?";if(t[2]){n|=1;var o=[],r=t[2],s=[];if(null===(s=/^([a-z_][a-z_\d]*)/i.exec(r)))throw"[sprintf] huh?";for(o.push(s[1]);""!==(r=r.substring(s[0].length));)if(null!==(s=/^\.([a-z_][a-z_\d]*)/i.exec(r)))o.push(s[1]);else{if(null===(s=/^\[(\d+)\]/.exec(r)))throw"[sprintf] huh?";o.push(s[1])}t[2]=o}else n|=2;if(3===n)throw"[sprintf] mixing positional and named placeholders is not (yet) supported";i.push(t)}e=e.substring(t[0].length)}return i},t}();u.parse_plural=function(a,e){return a=a.replace(/n/g,e),u.parse_expression(a)},u.sprintf=function(a,e){return"[object Array]"=={}.toString.call(e)?function(a,e){return e.unshift(a),g.apply(null,e)}(a,[].slice.call(e)):g.apply(this,[].slice.call(arguments))},u.prototype.sprintf=function(){return u.sprintf.apply(this,arguments)},u.PF={},u.PF.parse=function(a){var e=u.PF.extractPluralExpr(a);return u.PF.parser.parse.call(u.PF.parser,e)},u.PF.compile=function(a){var e=u.PF.parse(a);return function(a){return function(a){return!0===a?1:a||0}(u.PF.interpreter(e)(a))}},u.PF.interpreter=function(a){return function(e){switch(a.type){case"GROUP":return u.PF.interpreter(a.expr)(e);case"TERNARY":return u.PF.interpreter(a.expr)(e)?u.PF.interpreter(a.truthy)(e):u.PF.interpreter(a.falsey)(e);case"OR":return u.PF.interpreter(a.left)(e)||u.PF.interpreter(a.right)(e);case"AND":return u.PF.interpreter(a.left)(e)&&u.PF.interpreter(a.right)(e);case"LT":return u.PF.interpreter(a.left)(e)<u.PF.interpreter(a.right)(e);case"GT":return u.PF.interpreter(a.left)(e)>u.PF.interpreter(a.right)(e);case"LTE":return u.PF.interpreter(a.left)(e)<=u.PF.interpreter(a.right)(e);case"GTE":return u.PF.interpreter(a.left)(e)>=u.PF.interpreter(a.right)(e);case"EQ":return u.PF.interpreter(a.left)(e)==u.PF.interpreter(a.right)(e);case"NEQ":return u.PF.interpreter(a.left)(e)!=u.PF.interpreter(a.right)(e);case"MOD":return u.PF.interpreter(a.left)(e)%u.PF.interpreter(a.right)(e);case"VAR":return e;case"NUM":return a.val;default:throw new Error("Invalid Token found.")}}},u.PF.extractPluralExpr=function(a){a=a.replace(/^\s\s*/,"").replace(/\s\s*$/,""),/;\s*$/.test(a)||(a=a.concat(";"));var e,t=/nplurals\=(\d+);/,i=a.match(t);if(!(i.length>1))throw new Error("nplurals not found in plural_forms string: "+a);if(i[1],!((e=(a=a.replace(t,"")).match(/plural\=(.*);/))&&e.length>1))throw new Error("`plural` expression not found: "+a);return e[1]},u.PF.parser=function(){var a={trace:function(){},yy:{},symbols_:{error:2,expressions:3,e:4,EOF:5,"?":6,":":7,"||":8,"&&":9,"<":10,"<=":11,">":12,">=":13,"!=":14,"==":15,"%":16,"(":17,")":18,n:19,NUMBER:20,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",6:"?",7:":",8:"||",9:"&&",10:"<",11:"<=",12:">",13:">=",14:"!=",15:"==",16:"%",17:"(",18:")",19:"n",20:"NUMBER"},productions_:[0,[3,2],[4,5],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,1],[4,1]],performAction:function(a,e,t,i,n,o,r){var s=o.length-1;switch(n){case 1:return{type:"GROUP",expr:o[s-1]};case 2:this.$={type:"TERNARY",expr:o[s-4],truthy:o[s-2],falsey:o[s]};break;case 3:this.$={type:"OR",left:o[s-2],right:o[s]};break;case 4:this.$={type:"AND",left:o[s-2],right:o[s]};break;case 5:this.$={type:"LT",left:o[s-2],right:o[s]};break;case 6:this.$={type:"LTE",left:o[s-2],right:o[s]};break;case 7:this.$={type:"GT",left:o[s-2],right:o[s]};break;case 8:this.$={type:"GTE",left:o[s-2],right:o[s]};break;case 9:this.$={type:"NEQ",left:o[s-2],right:o[s]};break;case 10:this.$={type:"EQ",left:o[s-2],right:o[s]};break;case 11:this.$={type:"MOD",left:o[s-2],right:o[s]};break;case 12:this.$={type:"GROUP",expr:o[s-1]};break;case 13:this.$={type:"VAR"};break;case 14:this.$={type:"NUM",val:Number(a)}}},table:[{3:1,4:2,17:[1,3],19:[1,4],20:[1,5]},{1:[3]},{5:[1,6],6:[1,7],8:[1,8],9:[1,9],10:[1,10],11:[1,11],12:[1,12],13:[1,13],14:[1,14],15:[1,15],16:[1,16]},{4:17,17:[1,3],19:[1,4],20:[1,5]},{5:[2,13],6:[2,13],7:[2,13],8:[2,13],9:[2,13],10:[2,13],11:[2,13],12:[2,13],13:[2,13],14:[2,13],15:[2,13],16:[2,13],18:[2,13]},{5:[2,14],6:[2,14],7:[2,14],8:[2,14],9:[2,14],10:[2,14],11:[2,14],12:[2,14],13:[2,14],14:[2,14],15:[2,14],16:[2,14],18:[2,14]},{1:[2,1]},{4:18,17:[1,3],19:[1,4],20:[1,5]},{4:19,17:[1,3],19:[1,4],20:[1,5]},{4:20,17:[1,3],19:[1,4],20:[1,5]},{4:21,17:[1,3],19:[1,4],20:[1,5]},{4:22,17:[1,3],19:[1,4],20:[1,5]},{4:23,17:[1,3],19:[1,4],20:[1,5]},{4:24,17:[1,3],19:[1,4],20:[1,5]},{4:25,17:[1,3],19:[1,4],20:[1,5]},{4:26,17:[1,3],19:[1,4],20:[1,5]},{4:27,17:[1,3],19:[1,4],20:[1,5]},{6:[1,7],8:[1,8],9:[1,9],10:[1,10],11:[1,11],12:[1,12],13:[1,13],14:[1,14],15:[1,15],16:[1,16],18:[1,28]},{6:[1,7],7:[1,29],8:[1,8],9:[1,9],10:[1,10],11:[1,11],12:[1,12],13:[1,13],14:[1,14],15:[1,15],16:[1,16]},{5:[2,3],6:[2,3],7:[2,3],8:[2,3],9:[1,9],10:[1,10],11:[1,11],12:[1,12],13:[1,13],14:[1,14],15:[1,15],16:[1,16],18:[2,3]},{5:[2,4],6:[2,4],7:[2,4],8:[2,4],9:[2,4],10:[1,10],11:[1,11],12:[1,12],13:[1,13],14:[1,14],15:[1,15],16:[1,16],18:[2,4]},{5:[2,5],6:[2,5],7:[2,5],8:[2,5],9:[2,5],10:[2,5],11:[2,5],12:[2,5],13:[2,5],14:[2,5],15:[2,5],16:[1,16],18:[2,5]},{5:[2,6],6:[2,6],7:[2,6],8:[2,6],9:[2,6],10:[2,6],11:[2,6],12:[2,6],13:[2,6],14:[2,6],15:[2,6],16:[1,16],18:[2,6]},{5:[2,7],6:[2,7],7:[2,7],8:[2,7],9:[2,7],10:[2,7],11:[2,7],12:[2,7],13:[2,7],14:[2,7],15:[2,7],16:[1,16],18:[2,7]},{5:[2,8],6:[2,8],7:[2,8],8:[2,8],9:[2,8],10:[2,8],11:[2,8],12:[2,8],13:[2,8],14:[2,8],15:[2,8],16:[1,16],18:[2,8]},{5:[2,9],6:[2,9],7:[2,9],8:[2,9],9:[2,9],10:[2,9],11:[2,9],12:[2,9],13:[2,9],14:[2,9],15:[2,9],16:[1,16],18:[2,9]},{5:[2,10],6:[2,10],7:[2,10],8:[2,10],9:[2,10],10:[2,10],11:[2,10],12:[2,10],13:[2,10],14:[2,10],15:[2,10],16:[1,16],18:[2,10]},{5:[2,11],6:[2,11],7:[2,11],8:[2,11],9:[2,11],10:[2,11],11:[2,11],12:[2,11],13:[2,11],14:[2,11],15:[2,11],16:[2,11],18:[2,11]},{5:[2,12],6:[2,12],7:[2,12],8:[2,12],9:[2,12],10:[2,12],11:[2,12],12:[2,12],13:[2,12],14:[2,12],15:[2,12],16:[2,12],18:[2,12]},{4:30,17:[1,3],19:[1,4],20:[1,5]},{5:[2,2],6:[1,7],7:[2,2],8:[1,8],9:[1,9],10:[1,10],11:[1,11],12:[1,12],13:[1,13],14:[1,14],15:[1,15],16:[1,16],18:[2,2]}],defaultActions:{6:[2,1]},parseError:function(a,e){throw new Error(a)},parse:function(a){var e=this,t=[0],i=[null],n=[],o=this.table,r="",s=0,d=0,l=0;this.lexer.setInput(a),this.lexer.yy=this.yy,this.yy.lexer=this.lexer,void 0===this.lexer.yylloc&&(this.lexer.yylloc={});var c=this.lexer.yylloc;function u(a){t.length=t.length-2*a,i.length=i.length-a,n.length=n.length-a}function p(){var a;return"number"!=typeof(a=e.lexer.lex()||1)&&(a=e.symbols_[a]||a),a}n.push(c),"function"==typeof this.yy.parseError&&(this.parseError=this.yy.parseError);for(var z,g,m,y,w,f,b,h,v,k={};;){if(m=t[t.length-1],this.defaultActions[m]?y=this.defaultActions[m]:(null==z&&(z=p()),y=o[m]&&o[m][z]),void 0===y||!y.length||!y[0]){if(!l){for(f in v=[],o[m])this.terminals_[f]&&f>2&&v.push("'"+this.terminals_[f]+"'");var j="";j=this.lexer.showPosition?"Parse error on line "+(s+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+v.join(", ")+", got '"+this.terminals_[z]+"'":"Parse error on line "+(s+1)+": Unexpected "+(1==z?"end of input":"'"+(this.terminals_[z]||z)+"'"),this.parseError(j,{text:this.lexer.match,token:this.terminals_[z]||z,line:this.lexer.yylineno,loc:c,expected:v})}if(3==l){if(1==z)throw new Error(j||"Parsing halted.");d=this.lexer.yyleng,r=this.lexer.yytext,s=this.lexer.yylineno,c=this.lexer.yylloc,z=p()}for(;!(2..toString()in o[m]);){if(0==m)throw new Error(j||"Parsing halted.");u(1),m=t[t.length-1]}g=z,z=2,y=o[m=t[t.length-1]]&&o[m][2],l=3}if(y[0]instanceof Array&&y.length>1)throw new Error("Parse Error: multiple actions possible at state: "+m+", token: "+z);switch(y[0]){case 1:t.push(z),i.push(this.lexer.yytext),n.push(this.lexer.yylloc),t.push(y[1]),z=null,g?(z=g,g=null):(d=this.lexer.yyleng,r=this.lexer.yytext,s=this.lexer.yylineno,c=this.lexer.yylloc,l>0&&l--);break;case 2:if(b=this.productions_[y[1]][1],k.$=i[i.length-b],k._$={first_line:n[n.length-(b||1)].first_line,last_line:n[n.length-1].last_line,first_column:n[n.length-(b||1)].first_column,last_column:n[n.length-1].last_column},void 0!==(w=this.performAction.call(k,r,d,s,this.yy,y[1],i,n)))return w;b&&(t=t.slice(0,-1*b*2),i=i.slice(0,-1*b),n=n.slice(0,-1*b)),t.push(this.productions_[y[1]][0]),i.push(k.$),n.push(k._$),h=o[t[t.length-2]][t[t.length-1]],t.push(h);break;case 3:return!0}}return!0}},e=function(){var a={EOF:1,parseError:function(a,e){if(!this.yy.parseError)throw new Error(a);this.yy.parseError(a,e)},setInput:function(a){return this._input=a,this._more=this._less=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this},input:function(){var a=this._input[0];return this.yytext+=a,this.yyleng++,this.match+=a,this.matched+=a,a.match(/\n/)&&this.yylineno++,this._input=this._input.slice(1),a},unput:function(a){return this._input=a+this._input,this},more:function(){return this._more=!0,this},pastInput:function(){var a=this.matched.substr(0,this.matched.length-this.match.length);return(a.length>20?"...":"")+a.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var a=this.match;return a.length<20&&(a+=this._input.substr(0,20-a.length)),(a.substr(0,20)+(a.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var a=this.pastInput(),e=new Array(a.length+1).join("-");return a+this.upcomingInput()+"\n"+e+"^"},next:function(){if(this.done)return this.EOF;var a,e;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t=this._currentRules(),i=0;i<t.length;i++)if(a=this._input.match(this.rules[t[i]]))return(e=a[0].match(/\n.*/g))&&(this.yylineno+=e.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:e?e[e.length-1].length-1:this.yylloc.last_column+a[0].length},this.yytext+=a[0],this.match+=a[0],this.matches=a,this.yyleng=this.yytext.length,this._more=!1,this._input=this._input.slice(a[0].length),this.matched+=a[0],this.performAction.call(this,this.yy,this,t[i],this.conditionStack[this.conditionStack.length-1])||void 0;if(""===this._input)return this.EOF;this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var a=this.next();return void 0!==a?a:this.lex()},begin:function(a){this.conditionStack.push(a)},popState:function(){return this.conditionStack.pop()},_currentRules:function(){return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules},topState:function(){return this.conditionStack[this.conditionStack.length-2]},pushState:function(a){this.begin(a)},performAction:function(a,e,t,i){switch(t){case 0:break;case 1:return 20;case 2:return 19;case 3:return 8;case 4:return 9;case 5:return 6;case 6:return 7;case 7:return 11;case 8:return 13;case 9:return 10;case 10:return 12;case 11:return 14;case 12:return 15;case 13:return 16;case 14:return 17;case 15:return 18;case 16:return 5;case 17:return"INVALID"}},rules:[/^\s+/,/^[0-9]+(\.[0-9]+)?\b/,/^n\b/,/^\|\|/,/^&&/,/^\?/,/^:/,/^<=/,/^>=/,/^</,/^>/,/^!=/,/^==/,/^%/,/^\(/,/^\)/,/^$/,/^./],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],inclusive:!0}}};return a}();return a.lexer=e,a}(),void 0!==a&&a.exports&&(e=a.exports=u),e.Jed=u}()},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a,e){var t=(0,n.default)(a);return(0,i.indexOf)(e,t)>-1};var i=t(2),n=function(a){return a&&a.__esModule?a:{default:a}}(t(76))},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getBlocks=e.isInlineElement=e.isBlockElement=e.inlineElements=e.blockElements=void 0;var i=function(a){return a&&a.__esModule?a:{default:a}}(t(488)),n=t(2);var o,r=["address","article","aside","blockquote","canvas","dd","div","dl","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","li","main","nav","noscript","ol","output","p","pre","section","table","tfoot","ul","video"],s=["b","big","i","small","tt","abbr","acronym","cite","code","dfn","em","kbd","strong","samp","time","var","a","bdo","br","img","map","object","q","script","span","sub","sup","button","input","label","select","textarea"],d=new RegExp("^("+r.join("|")+")$","i"),l=new RegExp("^("+s.join("|")+")$","i"),c=new RegExp("^<("+r.join("|")+")[^>]*?>$","i"),u=new RegExp("^</("+r.join("|")+")[^>]*?>$","i"),p=new RegExp("^<("+s.join("|")+")[^>]*>$","i"),z=new RegExp("^</("+s.join("|")+")[^>]*>$","i"),g=/^<([^>\s/]+)[^>]*>$/,m=/^<\/([^>\s]+)[^>]*>$/,y=/^[^<]+$/,w=/^<[^><]*$/,f=/<!--(.|[\r\n])*?-->/g,b=[];function h(a){return d.test(a)}function v(a){return l.test(a)}var k=(0,n.memoize)(function(a){var e=[],t=0,r="",s="",d="";return a=a.replace(f,""),b=[],(o=(0,i.default)(function(a){b.push(a)})).addRule(y,"content"),o.addRule(w,"greater-than-sign-content"),o.addRule(c,"block-start"),o.addRule(u,"block-end"),o.addRule(p,"inline-start"),o.addRule(z,"inline-end"),o.addRule(g,"other-element-start"),o.addRule(m,"other-element-end"),o.onText(a),o.end(),(0,n.forEach)(b,function(a,i){var n=b[i+1];switch(a.type){case"content":case"greater-than-sign-content":case"inline-start":case"inline-end":case"other-tag":case"other-element-start":case"other-element-end":case"greater than sign":n&&(0!==t||"block-start"!==n.type&&"block-end"!==n.type)?s+=a.src:(s+=a.src,e.push(s),r="",s="",d="");break;case"block-start":0!==t&&(""!==s.trim()&&e.push(s),s="",d=""),t++,r=a.src;break;case"block-end":t--,d=a.src,""!==r&&""!==d?e.push(r+s+d):""!==s.trim()&&e.push(s),r="",s="",d=""}t<0&&(t=0)}),e});e.blockElements=r,e.inlineElements=s,e.isBlockElement=h,e.isInlineElement=v,e.getBlocks=k,e.default={blockElements:r,inlineElements:s,isBlockElement:h,isInlineElement:v,getBlocks:k}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){for(var e=(0,i.default)(),t=0;t<e.length;t++)a=a.replace(e[t].letters,e[t].base);return a};var i=function(a){return a&&a.__esModule?a:{default:a}}(t(680))},function(a,e,t){var i=t(759),n=t(968);function o(e,t){return delete a.exports[e],a.exports[e]=t,t}a.exports={Parser:i,Tokenizer:t(760),ElementType:t(465),DomHandler:n,get FeedHandler(){return o("FeedHandler",t(970))},get Stream(){return o("Stream",t(971))},get WritableStream(){return o("WritableStream",t(764))},get ProxyHandler(){return o("ProxyHandler",t(978))},get DomUtils(){return o("DomUtils",t(979))},get CollectingHandler(){return o("CollectingHandler",t(991))},DefaultHandler:n,get RssHandler(){return o("RssHandler",this.FeedHandler)},parseDOM:function(a,e){var t=new n(e);return new i(t,e).end(a),t.dom},parseFeed:function(e,t){var n=new a.exports.FeedHandler(t);return new i(n,t).end(e),n.dom},createDomStream:function(a,e,t){var o=new n(a,e,t);return new i(o,e)},EVENTS:{attribute:2,cdatastart:0,cdataend:0,text:1,processinginstruction:2,comment:1,commentend:0,closetag:1,opentag:2,opentagname:1,error:1,end:0}}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a,e){var t,o=e||!1;return t="("+(0,n.map)(a,function(a){return o?a:(0,i.default)(a,!0)}).join(")|(")+")",new RegExp(t,"ig")};var i=function(a){return a&&a.__esModule?a:{default:a}}(t(347)),n=t(2)},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){(0,i.isEmpty)(this.getParticiple())?this.setSentencePartPassiveness(!1):this.setSentencePartPassiveness(this.isPassive())};var i=t(2)},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a,e,t){var n=(0,c.default)(a).map(function(a){return a.toLowerCase()}),o=n.indexOf(e.toLowerCase());if(o<1)return!1;var r=n[o-1],s=(0,i.get)(p,t,[]);return(0,i.includes)(s,r)};var i=t(2),n=u(t(738)),o=u(t(671)),r=u(t(674)),s=u(t(673)),d=u(t(675)),l=u(t(672)),c=u(t(145));function u(a){return a&&a.__esModule?a:{default:a}}var p={nl:(0,n.default)().cannotDirectlyPrecedePassiveParticiple,en:(0,o.default)().cannotDirectlyPrecedePassiveParticiple,fr:(0,r.default)().cannotDirectlyPrecedePassiveParticiple,it:(0,s.default)().cannotDirectlyPrecedePassiveParticiple,pl:(0,d.default)().cannotDirectlyPrecedePassiveParticiple,es:(0,l.default)().cannotDirectlyPrecedePassiveParticiple}},function(a,e,t){"use strict";var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a};Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function a(a,e){for(var t=0;t<e.length;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(a,i.key,i)}}return function(e,t,i){return t&&a(e.prototype,t),i&&a(e,i),e}}(),o=t(2),r=l(t(71)),s=t(35),d=l(t(32));function l(a){return a&&a.__esModule?a:{default:a}}var c=function(a){function e(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};!function(a,e){if(!(a instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var t=function(a,e){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==(void 0===e?"undefined":i(e))&&"function"!=typeof e?a:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this)),n={scores:{onlyFunctionWords:0},urlTitle:(0,s.createAnchorOpeningTag)("https://yoa.st/functionwordskeyphrase-1"),urlCallToAction:(0,s.createAnchorOpeningTag)("https://yoa.st/functionwordskeyphrase-2")};return t.identifier="functionWordsInKeyphrase",t._config=(0,o.merge)(n,a),t}return function(a,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+(void 0===e?"undefined":i(e)));a.prototype=Object.create(e&&e.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(a,e):a.__proto__=e)}(e,r.default),n(e,[{key:"getResult",value:function(a,e,t){this._functionWordsInKeyphrase=e.getResearch("functionWordsInKeyphrase"),this._keyword=(0,o.escape)(a.getKeyword());var i=new d.default;return this._functionWordsInKeyphrase&&(i.setScore(this._config.scores.onlyFunctionWords),i.setText(t.sprintf(t.dgettext("js-text-analysis",'%1$sFunction words in keyphrase%3$s: Your keyphrase "%4$s" contains function words only. %2$sLearn more about what makes a good keyphrase.%3$s'),this._config.urlTitle,this._config.urlCallToAction,"</a>",this._keyword))),i}},{key:"isApplicable",value:function(a){return a.hasKeyword()}}]),e}();e.default=c},,,,,,,,,,,,,,,,,,,,,,,,,function(a,e,t){var i=t(163),n=t(25),o=t(243),r=t(244),s=t(245),d=Math.max;a.exports=function(a,e,t,l){a=n(a)?a:s(a),t=t&&!l?r(t):0;var c=a.length;return t<0&&(t=d(c+t,0)),o(a)?t<=c&&a.indexOf(e,t)>-1:!!c&&i(a,e,t)>-1}},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(a,e,t){var i=t(149),n=t(459),o=t(124),r=t(3);a.exports=function(a,e){return(r(a)?i:n)(a,o(e,3))}},function(a,e,t){var i=t(114);a.exports=function(a,e){var t=[];return i(a,function(a,i,n){e(a,i,n)&&t.push(a)}),t}},,function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return{en:m,de:g,nl:y,fr:b,es:w,it:f,pt:h,ru:v,pl:k,sv:j}};var i=z(t(957)),n=z(t(671)),o=z(t(738)),r=z(t(672)),s=z(t(673)),d=z(t(674)),l=z(t(958)),c=z(t(959)),u=z(t(675)),p=z(t(960));function z(a){return a&&a.__esModule?a:{default:a}}var g=(0,i.default)(),m=(0,n.default)(),y=(0,o.default)(),w=(0,r.default)(),f=(0,s.default)(),b=(0,d.default)(),h=(0,l.default)(),v=(0,c.default)(),k=(0,u.default)(),j=(0,p.default)()},function(a,e,t){"use strict";var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a};Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function a(a,e){for(var t=0;t<e.length;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(a,i.key,i)}}return function(e,t,i){return t&&a(e.prototype,t),i&&a(e,i),e}}(),o=t(2),r=l(t(71)),s=t(35),d=l(t(32));function l(a){return a&&a.__esModule?a:{default:a}}var c=function(a){function e(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};!function(a,e){if(!(a instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var t=function(a,e){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==(void 0===e?"undefined":i(e))&&"function"!=typeof e?a:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this)),n={parameters:{recommendedMaximum:0},scores:{bad:2},urlTitle:(0,s.createAnchorOpeningTag)("https://yoa.st/34l"),urlCallToAction:(0,s.createAnchorOpeningTag)("https://yoa.st/34m")};return t.identifier="textCompetingLinks",t._config=(0,o.merge)(n,a),t}return function(a,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+(void 0===e?"undefined":i(e)));a.prototype=Object.create(e&&e.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(a,e):a.__proto__=e)}(e,r.default),n(e,[{key:"getResult",value:function(a,e,t){var i=new d.default;this.linkCount=e.getResearch("getLinkStatistics");var n=this.calculateResult(t);return(0,o.isUndefined)(n)?i:(i.setScore(n.score),i.setText(n.resultText),i.setHasMarks(!1),i)}},{key:"isApplicable",value:function(a){return a.hasText()&&a.hasKeyword()}},{key:"calculateResult",value:function(a){if(this.linkCount.keyword.totalKeyword>this._config.parameters.recommendedMaximum)return{score:this._config.scores.bad,resultText:a.sprintf(a.dgettext("js-text-analysis","%1$sLink keyphrase%3$s: You're linking to another page with the words you want this page to rank for. %2$sDon't do that%3$s!"),this._config.urlTitle,this._config.urlCallToAction,"</a>")}}}]),e}();e.default=c},function(a,e,t){"use strict";var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a};Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function a(a,e){for(var t=0;t<e.length;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(a,i.key,i)}}return function(e,t,i){return t&&a(e.prototype,t),i&&a(e,i),e}}(),o=t(2),r=c(t(71)),s=t(228),d=t(35),l=c(t(32));function c(a){return a&&a.__esModule?a:{default:a}}var u=function(a){function e(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};!function(a,e){if(!(a instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var t=function(a,e){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==(void 0===e?"undefined":i(e))&&"function"!=typeof e?a:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this)),n={parametersRecalibration:{lowerBoundary:.3,upperBoundary:.75},scoresRegular:{noImages:3,withAltKeyword:9,withAltNonKeyword:6,withAlt:6,noAlt:6},scoresRecalibration:{noImages:3,withAltGoodNumberOfKeywordMatches:9,withAltTooFewKeywordMatches:6,withAltTooManyKeywordMatches:6,withAltNonKeyword:6,withAlt:6,noAlt:6},urlTitle:(0,d.createAnchorOpeningTag)("https://yoa.st/33c"),urlCallToAction:(0,d.createAnchorOpeningTag)("https://yoa.st/33d")};return t.identifier="textImages",t._config=(0,o.merge)(n,a),t}return function(a,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+(void 0===e?"undefined":i(e)));a.prototype=Object.create(e&&e.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(a,e):a.__proto__=e)}(e,r.default),n(e,[{key:"getResult",value:function(a,e,t){this.imageCount=e.getResearch("imageCount"),this.altProperties=e.getResearch("altTagCount");var i=void 0;i=this.calculateResultRegular(t);var n=new l.default;return n.setScore(i.score),n.setText(i.resultText),n}},{key:"isApplicable",value:function(a){return a.hasText()}},{key:"calculateResultRegular",value:function(a){return 0===this.imageCount?{score:this._config.scoresRegular.noImages,resultText:a.sprintf(a.dgettext("js-text-analysis","%1$sImage alt attributes%3$s: No images appear on this page. %2$sAdd some%3$s!"),this._config.urlTitle,this._config.urlCallToAction,"</a>")}:this.altProperties.withAltKeyword>0?{score:this._config.scoresRegular.withAltKeyword,resultText:a.sprintf(a.dgettext("js-text-analysis","%1$sImage alt attributes%2$s: Some images on this page contain alt attributes with words from your keyphrase! Good job!"),this._config.urlTitle,"</a>")}:this.altProperties.withAltNonKeyword>0?{score:this._config.scoresRegular.withAltNonKeyword,resultText:a.sprintf(a.dgettext("js-text-analysis","%1$sImage alt attributes%3$s: Images on this page do not have alt attributes with words from your keyphrase. %2$sFix that%3$s!"),this._config.urlTitle,this._config.urlCallToAction,"</a>")}:this.altProperties.withAlt>0?{score:this._config.scoresRegular.withAlt,resultText:a.sprintf(a.dgettext("js-text-analysis","%1$sImage alt attributes%3$s: Images on this page do not have alt attributes with words from your keyphrase. %2$sFix that%3$s!"),this._config.urlTitle,this._config.urlCallToAction,"</a>")}:this.altProperties.noAlt>0?{score:this._config.scoresRegular.noAlt,resultText:a.sprintf(a.dgettext("js-text-analysis","%1$sImage alt attributes%3$s: Images on this page do not have alt attributes with words from your keyphrase. %2$sFix that%3$s!"),this._config.urlTitle,this._config.urlCallToAction,"</a>")}:null}},{key:"hasTooFewMatches",value:function(){return this.imageCount>4&&this.altProperties.withAltKeyword>0&&this.altProperties.withAltKeyword<this._minNumberOfKeywordMatches}},{key:"hasGoodNumberOfMatches",value:function(){return this.imageCount<5&&this.altProperties.withAltKeyword>0||5===this.imageCount&&(0,s.inRangeStartEndInclusive)(this.altProperties.withAltKeyword,2,4)||this.imageCount>4&&(0,s.inRangeStartEndInclusive)(this.altProperties.withAltKeyword,this._minNumberOfKeywordMatches,this._maxNumberOfKeywordMatches)}},{key:"hasTooManyMatches",value:function(){return this.imageCount>4&&this.altProperties.withAltKeyword>this._maxNumberOfKeywordMatches}},{key:"calculateResultRecalibration",value:function(a){return 0===this.imageCount?{score:this._config.scoresRecalibration.noImages,resultText:a.sprintf(a.dgettext("js-text-analysis","%1$sImage alt attributes%3$s: No images appear on this page. %2$sAdd some%3$s!"),this._config.urlTitle,this._config.urlCallToAction,"</a>")}:this.altProperties.withAlt>0?{score:this._config.scoresRecalibration.withAlt,resultText:a.sprintf(a.dgettext("js-text-analysis","%1$sImage alt attributes%3$s: Images on this page have alt attributes, but you have not set your keyphrase. %2$sFix that%3$s!"),this._config.urlTitle,this._config.urlCallToAction,"</a>")}:this.altProperties.withAltNonKeyword>0&&0===this.altProperties.withAltKeyword?{score:this._config.scoresRecalibration.withAltNonKeyword,resultText:a.sprintf(a.dgettext("js-text-analysis","%1$sImage alt attributes%3$s: Images on this page do not have alt attributes that reflect the topic of your text. %2$sAdd your keyphrase or synonyms to the alt tags of relevant images%3$s!"),this._config.urlTitle,this._config.urlCallToAction,"</a>")}:this.hasTooFewMatches()?{score:this._config.scoresRecalibration.withAltTooFewKeywordMatches,resultText:a.sprintf(a.dngettext("js-text-analysis","%3$sImage alt attributes%5$s: Out of %2$d images on this page, only %1$d has an alt attribute that reflects the topic of your text. %4$sAdd your keyphrase or synonyms to the alt tags of more relevant images%5$s!","%3$sImage alt attributes%5$s: Out of %2$d images on this page, only %1$d have alt attributes that reflect the topic of your text. %4$sAdd your keyphrase or synonyms to the alt tags of more relevant images%5$s!",this.altProperties.withAltKeyword),this.altProperties.withAltKeyword,this.imageCount,this._config.urlTitle,this._config.urlCallToAction,"</a>")}:this.hasGoodNumberOfMatches()?{score:this._config.scoresRecalibration.withAltGoodNumberOfKeywordMatches,resultText:a.sprintf(a.dgettext("js-text-analysis","%1$sImage alt attributes%2$s: Good job!"),this._config.urlTitle,"</a>")}:this.hasTooManyMatches()?{score:this._config.scoresRecalibration.withAltTooManyKeywordMatches,resultText:a.sprintf(a.dgettext("js-text-analysis","%3$sImage alt attributes%5$s: Out of %2$d images on this page, %1$d have alt attributes with words from your keyphrase or synonyms. That's a bit much. %4$sOnly include the keyphrase or its synonyms when it really fits the image%5$s."),this.altProperties.withAltKeyword,this.imageCount,this._config.urlTitle,this._config.urlCallToAction,"</a>")}:{score:this._config.scoresRecalibration.noAlt,resultText:a.sprintf(a.dgettext("js-text-analysis","%1$sImage alt attributes%3$s: Images on this page do not have alt attributes that reflect the topic of your text. %2$sAdd your keyphrase or synonyms to the alt tags of relevant images%3$s!"),this._config.urlTitle,this._config.urlCallToAction,"</a>")}}}]),e}();e.default=u},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a,e){for(var t=(0,i.default)(e),n=0;n<t.length;n++)a=a.replace(t[n].letter,t[n].alternative);return a};var i=function(a){return a&&a.__esModule?a:{default:a}}(t(679))},function(a,e){a.exports={Text:"text",Directive:"directive",Comment:"comment",Script:"script",Style:"style",Tag:"tag",CDATA:"cdata",Doctype:"doctype",isTag:function(a){return"tag"===a.type||"script"===a.type||"style"===a.type}}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=t(2),n=s(t(360)),o=s(t(347)),r=s(t(685));function s(a){return a&&a.__esModule?a:{default:a}}e.default=(0,i.memoize)(function(a,e,t){return(0,i.isUndefined)(e)&&(e=""),((0,i.isUndefined)(t)||!0===t)&&(a=(0,n.default)(a)),a=(0,r.default)(a),a=(0,i.escapeRegExp)(a),a=(0,o.default)(a,!1,e),new RegExp(a,"ig")})},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"en_EN",d=0,l=[];return e=e.map(r.normalize),(0,s.uniq)(e).forEach(function(e){var i=(0,o.default)(a,e,t);d+=i.count,l=l.concat(i.matches)}),null===l&&(l=[]),l=l.map(function(a){return(0,i.default)((0,n.default)(a))}),{count:d,matches:l}};var i=d(t(77)),n=d(t(667)),o=d(t(771)),r=t(345),s=t(2);function d(a){return a&&a.__esModule?a:{default:a}}},,,,,,,,,,,,,,,,,,,,,function(a,e){var t=function(a,e){var t;for(t=0;t<a.length;t++)if(a[t].regex.test(e))return a[t]},i=function(a,e){var i,n,o;for(i=0;i<e.length;i++)if(n=t(a,e.substring(0,i+1)))o=n;else if(o)return{max_index:i,rule:o};return o?{max_index:e.length,rule:o}:void 0};a.exports=function(a){var e="",n=[],o=1,r=1,s=function(e,t){a({type:t,src:e,line:o,col:r});var i=e.split("\n");o+=i.length-1,r=(i.length>1?1:r)+i[i.length-1].length};return{addRule:function(a,e){n.push({regex:a,type:e})},onText:function(a){for(var t=e+a,o=i(n,t);o&&o.max_index!==t.length;)s(t.substring(0,o.max_index),o.rule.type),t=t.substring(o.max_index),o=i(n,t);e=t},end:function(){if(0!==e.length){var a=t(n,e);if(!a){var i=new Error("unable to tokenize");throw i.tokenizer2={buffer:e,line:o,col:r},i}s(e,a.type)}}}}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return{participleLike:i,otherAuxiliaries:n.concat(o),filteredAuxiliaries:i.concat(n),infinitiveAuxiliaries:o,allAuxiliaries:i.concat(n,o)}};var i=["bekommst","bekommt","bekamst","bekommest","bekommet","bekämest","bekämst","bekämet","bekämt","gekriegt","gehörst","gehört","gehörtest","gehörtet","gehörest","gehöret","erhältst","erhält","erhaltet","erhielt","erhieltest","erhieltst","erhieltet","erhaltest"],n=["werde","wirst","wird","werden","werdet","wurde","ward","wurdest","wardst","wurden","wurdet","worden","werdest","würde","würdest","würden","würdet","bekomme","bekommen","bekam","bekamen","bekäme","bekämen","kriege","kriegst","kriegt","kriegen","kriegte","kriegtest","kriegten","kriegtet","kriegest","krieget","gehöre","gehören","gehörte","gehörten","erhalte","erhalten","erhielten","erhielte"],o=["werden","bekommen","kriegen","gehören","erhalten"]},function(a,e,t){"use strict";var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a};Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function a(a,e){for(var t=0;t<e.length;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(a,i.key,i)}}return function(e,t,i){return t&&a(e.prototype,t),i&&a(e,i),e}}(),o=t(2),r=c(t(71)),s=c(t(676)),d=t(35),l=c(t(32));function c(a){return a&&a.__esModule?a:{default:a}}var u=s.default.maxMeta,p=function(a){function e(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};!function(a,e){if(!(a instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var t=function(a,e){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==(void 0===e?"undefined":i(e))&&"function"!=typeof e?a:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this)),n={recommendedMaximumLength:120,maximumLength:u,scores:{noMetaDescription:1,tooLong:6,tooShort:6,correctLength:9},urlTitle:(0,d.createAnchorOpeningTag)("https://yoa.st/34d"),urlCallToAction:(0,d.createAnchorOpeningTag)("https://yoa.st/34e")};return t.identifier="metaDescriptionLength",t._config=(0,o.merge)(n,a),t}return function(a,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+(void 0===e?"undefined":i(e)));a.prototype=Object.create(e&&e.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(a,e):a.__proto__=e)}(e,r.default),n(e,[{key:"getMaximumLength",value:function(){return this._config.maximumLength}},{key:"getResult",value:function(a,e,t){var i=e.getResearch("metaDescriptionLength"),n=new l.default;return n.setScore(this.calculateScore(i)),n.setText(this.translateScore(i,t)),n.max=this._config.maximumLength,n.actual=i,n}},{key:"calculateScore",value:function(a){return 0===a?this._config.scores.noMetaDescription:a<=this._config.recommendedMaximumLength?this._config.scores.tooShort:a>this._config.maximumLength?this._config.scores.tooLong:a>=this._config.recommendedMaximumLength&&a<=this._config.maximumLength?this._config.scores.correctLength:0}},{key:"translateScore",value:function(a,e){return 0===a?e.sprintf(e.dgettext("js-text-analysis","%1$sMeta description length%3$s: No meta description has been specified. Search engines will display copy from the page instead. %2$sMake sure to write one%3$s!"),this._config.urlTitle,this._config.urlCallToAction,"</a>"):a<=this._config.recommendedMaximumLength?e.sprintf(e.dgettext("js-text-analysis","%1$sMeta description length%3$s: The meta description is too short (under %4$d characters). Up to %5$d characters are available. %2$sUse the space%3$s!"),this._config.urlTitle,this._config.urlCallToAction,"</a>",this._config.recommendedMaximumLength,this._config.maximumLength):a>this._config.maximumLength?e.sprintf(e.dgettext("js-text-analysis","%1$sMeta description length%3$s: The meta description is over %4$d characters. To ensure the entire description will be visible, %2$syou should reduce the length%3$s!"),this._config.urlTitle,this._config.urlCallToAction,"</a>",this._config.maximumLength):a>=this._config.recommendedMaximumLength&&a<=this._config.maximumLength?e.sprintf(e.dgettext("js-text-analysis","%1$sMeta description length%2$s: Well done!"),this._config.urlTitle,"</a>"):void 0}}]),e}();e.default=p},function(a,e,t){"use strict";var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a};Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function a(a,e){for(var t=0;t<e.length;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(a,i.key,i)}}return function(e,t,i){return t&&a(e.prototype,t),i&&a(e,i),e}}(),o=t(2),r=c(t(71)),s=t(228),d=t(35),l=c(t(32));function c(a){return a&&a.__esModule?a:{default:a}}var u=600,p=function(a){function e(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};!function(a,e){if(!(a instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var t=function(a,e){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==(void 0===e?"undefined":i(e))&&"function"!=typeof e?a:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this)),n={minLength:400,maxLength:u,scores:{noTitle:1,widthTooShort:6,widthTooLong:3,widthCorrect:9},urlTitle:(0,d.createAnchorOpeningTag)("https://yoa.st/34h"),urlCallToAction:(0,d.createAnchorOpeningTag)("https://yoa.st/34i")};return t.identifier="titleWidth",t._config=(0,o.merge)(n,a),t}return function(a,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+(void 0===e?"undefined":i(e)));a.prototype=Object.create(e&&e.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(a,e):a.__proto__=e)}(e,r.default),n(e,[{key:"getMaximumLength",value:function(){return u}},{key:"getResult",value:function(a,e,t){var i=e.getResearch("pageTitleWidth"),n=new l.default;return n.setScore(this.calculateScore(i)),n.setText(this.translateScore(i,t)),n.max=this._config.maxLength,n.actual=i,n}},{key:"calculateScore",value:function(a){return(0,s.inRangeEndInclusive)(a,1,400)?this._config.scores.widthTooShort:(0,s.inRangeEndInclusive)(a,this._config.minLength,this._config.maxLength)?this._config.scores.widthCorrect:a>this._config.maxLength?this._config.scores.widthTooLong:this._config.scores.noTitle}},{key:"translateScore",value:function(a,e){return(0,s.inRangeEndInclusive)(a,1,400)?e.sprintf(e.dgettext("js-text-analysis","%1$sSEO title width%3$s: The SEO title is too short. %2$sUse the space to add keyphrase variations or create compelling call-to-action copy%3$s."),this._config.urlTitle,this._config.urlCallToAction,"</a>"):(0,s.inRangeEndInclusive)(a,this._config.minLength,this._config.maxLength)?e.sprintf(e.dgettext("js-text-analysis","%1$sSEO title width%2$s: Good job!"),this._config.urlTitle,"</a>"):a>this._config.maxLength?e.sprintf(e.dgettext("js-text-analysis","%1$sSEO title width%3$s: The SEO title wider than the viewable limit. %2$sTry to make it shorter%3$s."),this._config.urlTitle,this._config.urlCallToAction,"</a>"):e.sprintf(e.dgettext("js-text-analysis","%1$sSEO title width%3$s: %2$sPlease create an SEO title%3$s."),this._config.urlTitle,this._config.urlCallToAction,"</a>")}}]),e}();e.default=p},function(a,e,t){"use strict";var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a};Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function a(a,e){for(var t=0;t<e.length;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(a,i.key,i)}}return function(e,t,i){return t&&a(e.prototype,t),i&&a(e,i),e}}(),o=t(2),r=l(t(71)),s=t(35),d=l(t(32));function l(a){return a&&a.__esModule?a:{default:a}}var c=function(a){function e(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};!function(a,e){if(!(a instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var t=function(a,e){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==(void 0===e?"undefined":i(e))&&"function"!=typeof e?a:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this)),n={recommendedMinimum:300,slightlyBelowMinimum:250,belowMinimum:200,veryFarBelowMinimum:100,scores:{recommendedMinimum:9,slightlyBelowMinimum:6,belowMinimum:3,farBelowMinimum:-10,veryFarBelowMinimum:-20},urlTitle:(0,s.createAnchorOpeningTag)("https://yoa.st/34n"),urlCallToAction:(0,s.createAnchorOpeningTag)("https://yoa.st/34o")};return t.identifier="textLength",t._config=(0,o.merge)(n,a),t}return function(a,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+(void 0===e?"undefined":i(e)));a.prototype=Object.create(e&&e.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(a,e):a.__proto__=e)}(e,r.default),n(e,[{key:"getResult",value:function(a,e,t){var i=e.getResearch("wordCountInText"),n=new d.default;return n.setScore(this.calculateScore(i)),n.setText(t.sprintf(this.translateScore(n.getScore(),i,t),i,this._config.recommendedMinimum)),n}},{key:"calculateScore",value:function(a){return a>=this._config.recommendedMinimum?this._config.scores.recommendedMinimum:(0,o.inRange)(a,this._config.slightlyBelowMinimum,this._config.recommendedMinimum)?this._config.scores.slightlyBelowMinimum:(0,o.inRange)(a,this._config.belowMinimum,this._config.slightlyBelowMinimum)?this._config.scores.belowMinimum:(0,o.inRange)(a,this._config.veryFarBelowMinimum,this._config.belowMinimum)?this._config.scores.farBelowMinimum:(0,o.inRange)(a,0,this._config.veryFarBelowMinimum)?this._config.scores.veryFarBelowMinimum:null}},{key:"translateScore",value:function(a,e,t){return a===this._config.scores.recommendedMinimum?t.sprintf(t.dngettext("js-text-analysis","%2$sText length%3$s: The text contains %1$d word. Good job!","%2$sText length%3$s: The text contains %1$d words. Good job!",e),e,this._config.urlTitle,"</a>"):a===this._config.scores.slightlyBelowMinimum?t.sprintf(t.dngettext("js-text-analysis","%2$sText length%4$s: The text contains %1$d word.","%2$sText length%4$s: The text contains %1$d words.",e)+" "+t.dngettext("js-text-analysis","This is slightly below the recommended minimum of %5$d word. %3$sAdd a bit more copy%4$s.","This is slightly below the recommended minimum of %5$d words. %3$sAdd a bit more copy%4$s.",this._config.recommendedMinimum),e,this._config.urlTitle,this._config.urlCallToAction,"</a>",this._config.recommendedMinimum):a===this._config.scores.belowMinimum?t.sprintf(t.dngettext("js-text-analysis","%2$sText length%4$s: The text contains %1$d word.","%2$sText length%4$s: The text contains %1$d words.",e)+" "+t.dngettext("js-text-analysis","This is below the recommended minimum of %5$d word. %3$sAdd more content%4$s.","This is below the recommended minimum of %5$d words. %3$sAdd more content%4$s.",this._config.recommendedMinimum),e,this._config.urlTitle,this._config.urlCallToAction,"</a>",this._config.recommendedMinimum):a===this._config.scores.farBelowMinimum||a===this._config.scores.veryFarBelowMinimum?t.sprintf(t.dngettext("js-text-analysis","%2$sText length%4$s: The text contains %1$d word.","%2$sText length%4$s: The text contains %1$d words.",e)+" "+t.dngettext("js-text-analysis","This is far below the recommended minimum of %5$d word. %3$sAdd more content%4$s.","This is far below the recommended minimum of %5$d words. %3$sAdd more content%4$s.",this._config.recommendedMinimum),e,this._config.urlTitle,this._config.urlCallToAction,"</a>",this._config.recommendedMinimum):""}}]),e}();e.default=c},function(a,e,t){"use strict";var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a};Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function a(a,e){for(var t=0;t<e.length;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(a,i.key,i)}}return function(e,t,i){return t&&a(e.prototype,t),i&&a(e,i),e}}(),o=t(2),r=l(t(71)),s=t(35),d=l(t(32));function l(a){return a&&a.__esModule?a:{default:a}}var c=function(a){function e(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};!function(a,e){if(!(a instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var t=function(a,e){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==(void 0===e?"undefined":i(e))&&"function"!=typeof e?a:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this)),n={parameters:{recommendedPosition:0},scores:{good:9,okay:6,bad:2},urlTitle:(0,s.createAnchorOpeningTag)("https://yoa.st/33g"),urlCallToAction:(0,s.createAnchorOpeningTag)("https://yoa.st/33h")};return t.identifier="titleKeyword",t._config=(0,o.merge)(n,a),t}return function(a,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+(void 0===e?"undefined":i(e)));a.prototype=Object.create(e&&e.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(a,e):a.__proto__=e)}(e,r.default),n(e,[{key:"getResult",value:function(a,e,t){this._keywordMatches=e.getResearch("findKeywordInPageTitle"),this._keyword=(0,o.escape)(a.getKeyword());var i=new d.default,n=this.calculateResult(t,this._keyword);return i.setScore(n.score),i.setText(n.resultText),i}},{key:"isApplicable",value:function(a){return a.hasKeyword()&&a.hasTitle()}},{key:"calculateResult",value:function(a,e){var t=this._keywordMatches.exactMatchFound,i=this._keywordMatches.position,n=this._keywordMatches.allWordsFound,o=this._keywordMatches.exactMatchKeyphrase;return!0===t?0===i?{score:this._config.scores.good,resultText:a.sprintf(a.dgettext("js-text-analysis","%1$sKeyphrase in title%2$s: The exact match of the keyphrase appears at the beginning of the SEO title. Good job!"),this._config.urlTitle,"</a>")}:{score:this._config.scores.okay,resultText:a.sprintf(a.dgettext("js-text-analysis","%1$sKeyphrase in title%3$s: The exact match of the keyphrase appears in the SEO title, but not at the beginning. %2$sTry to move it to the beginning%3$s."),this._config.urlTitle,this._config.urlCallToAction,"</a>")}:n?{score:this._config.scores.okay,resultText:a.sprintf(a.dgettext("js-text-analysis","%1$sKeyphrase in title%3$s: Does not contain the exact match. %2$sTry to write the exact match of your keyphrase in the SEO title%3$s."),this._config.urlTitle,this._config.urlCallToAction,"</a>")}:o?{score:this._config.scores.bad,resultText:a.sprintf(a.dgettext("js-text-analysis","%1$sKeyphrase in title%3$s: Does not contain the exact match. %2$sTry to write the exact match of your keyphrase in the SEO title%3$s."),this._config.urlTitle,this._config.urlCallToAction,"</a>",e)}:{score:this._config.scores.bad,resultText:a.sprintf(a.dgettext("js-text-analysis",'%1$sKeyphrase in title%3$s: Not all the words from your keyphrase "%4$s" appear in the SEO title. %2$sTry to use the exact match of your keyphrase in the SEO title%3$s.'),this._config.urlTitle,this._config.urlCallToAction,"</a>",e)}}}]),e}();e.default=c},function(a,e,t){"use strict";var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a};Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function a(a,e){for(var t=0;t<e.length;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(a,i.key,i)}}return function(e,t,i){return t&&a(e.prototype,t),i&&a(e,i),e}}(),o=t(2),r=l(t(71)),s=t(35),d=l(t(32));function l(a){return a&&a.__esModule?a:{default:a}}var c=function(a){function e(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};!function(a,e){if(!(a instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var t=function(a,e){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==(void 0===e?"undefined":i(e))&&"function"!=typeof e?a:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this)),n={scores:{okay:6,good:9},urlTitle:(0,s.createAnchorOpeningTag)("https://yoa.st/33o"),urlCallToAction:(0,s.createAnchorOpeningTag)("https://yoa.st/33p")};return t.identifier="urlKeyword",t._config=(0,o.merge)(n,a),t}return function(a,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+(void 0===e?"undefined":i(e)));a.prototype=Object.create(e&&e.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(a,e):a.__proto__=e)}(e,r.default),n(e,[{key:"getResult",value:function(a,e,t){this._keywordInURL=e.getResearch("keywordCountInUrl");var i=new d.default,n=this.calculateResult(t);return i.setScore(n.score),i.setText(n.resultText),i}},{key:"isApplicable",value:function(a){return a.hasKeyword()&&a.hasUrl()}},{key:"calculateResult",value:function(a){return this._keywordInURL.keyphraseLength<3?100===this._keywordInURL.percentWordMatches?{score:this._config.scores.good,resultText:a.sprintf(a.dgettext("js-text-analysis","%1$sKeyphrase in slug%2$s: Great work!"),this._config.urlTitle,"</a>")}:{score:this._config.scores.okay,resultText:a.sprintf(a.dgettext("js-text-analysis","%1$sKeyphrase in slug%3$s: (Part of) your keyphrase does not appear in the slug. %2$sChange that%3$s!"),this._config.urlTitle,this._config.urlCallToAction,"</a>")}:this._keywordInURL.percentWordMatches>50?{score:this._config.scores.good,resultText:a.sprintf(a.dgettext("js-text-analysis","%1$sKeyphrase in slug%2$s: More than half of your keyphrase appears in the slug. That's great!"),this._config.urlTitle,"</a>")}:{score:this._config.scores.okay,resultText:a.sprintf(a.dgettext("js-text-analysis","%1$sKeyphrase in slug%3$s: (Part of) your keyphrase does not appear in the slug. %2$sChange that%3$s!"),this._config.urlTitle,this._config.urlCallToAction,"</a>")}}}]),e}();e.default=c},function(a,e,t){"use strict";var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a};Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function a(a,e){for(var t=0;t<e.length;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(a,i.key,i)}}return function(e,t,i){return t&&a(e.prototype,t),i&&a(e,i),e}}(),o=t(2),r=l(t(71)),s=t(35),d=l(t(32));function l(a){return a&&a.__esModule?a:{default:a}}var c=function(a){function e(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};!function(a,e){if(!(a instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var t=function(a,e){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==(void 0===e?"undefined":i(e))&&"function"!=typeof e?a:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this)),n={scores:{tooLong:6},urlTitle:(0,s.createAnchorOpeningTag)("https://yoa.st/35b"),urlCallToAction:(0,s.createAnchorOpeningTag)("https://yoa.st/35c")};return t.identifier="urlLength",t._config=(0,o.merge)(n,a),t}return function(a,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+(void 0===e?"undefined":i(e)));a.prototype=Object.create(e&&e.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(a,e):a.__proto__=e)}(e,r.default),n(e,[{key:"getResult",value:function(a,e,t){var i=e.getResearch("urlLength"),n=new d.default;return n.setScore(this.calculateScore(i)),n.setText(this.translateScore(i,t)),n}},{key:"isApplicable",value:function(a){return a.hasUrl()}},{key:"calculateScore",value:function(a){return a?this._config.scores.tooLong:null}},{key:"translateScore",value:function(a,e){return a?e.sprintf(e.dgettext("js-text-analysis","%1$sSlug too long%3$s: the slug for this page is a bit long. %2$sShorten it%3$s!"),this._config.urlTitle,this._config.urlCallToAction,"</a>"):""}}]),e}();e.default=c},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=r(t(32)),n=r(t(358)),o=t(35);function r(a){return a&&a.__esModule?a:{default:a}}var s=["en"];e.default={identifier:"urlStopWords",isApplicable:function(a){return(0,n.default)(a.getLocale(),s)},getResult:function(a,e,t){var n=e.getResearch("stopWordsInUrl"),r=new i.default,s=function(a,e){var t=(0,o.createAnchorOpeningTag)("https://yoa.st/34p"),i=(0,o.createAnchorOpeningTag)("https://yoa.st/34q");return a>0?{score:5,text:e.sprintf(e.dngettext("js-text-analysis","%1$sSlug stopwords%3$s: The slug for this page contains a stop word. %2$sRemove it%3$s!","%1$sSlug stopwords%3$s: The slug for this page contains stop words. %2$sRemove them%3$s!",a),t,i,"</a>")}:{}}(n.length,t);return r.setScore(s.score),r.setText(s.text),r}}},function(a,e,t){"use strict";function i(a){Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.message=a}Object.defineProperty(e,"__esModule",{value:!0}),function(a){return a&&a.__esModule?a:{default:a}}(t(63)).default.inherits(i,Error),e.default=i},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.default=function(a){return-1===a?"error":0===a?"feedback":a<=4?"bad":a>4&&a<=7?"ok":a>7?"good":""}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){return(0,i.default)(a,"<img(?:[^>]+)?>")};var i=function(a){return a&&a.__esModule?a:{default:a}}(t(681))},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=U(t(992)),n=t(2),o=U(t(686)),r=U(t(497)),s=U(t(770)),d=U(t(993)),l=U(t(1019)),c=U(t(774)),u=U(t(1020)),p=U(t(1021)),z=U(t(1022)),g=U(t(1023)),m=U(t(1024)),y=U(t(1026)),w=U(t(1028)),f=U(t(1029)),b=U(t(1032)),h=U(t(778)),v=U(t(1033)),k=U(t(1035)),j=U(t(1036)),_=U(t(1037)),x=U(t(1038)),q=U(t(1040)),E=U(t(1041)),A=U(t(1042)),T=U(t(1043)),O=U(t(1044)),S=U(t(1045)),M=U(t(1047)),P=U(t(1062)),C=U(t(1111)),R=U(t(1122)),D=U(t(1123)),F=U(t(1124)),B=U(t(787)),$=t(1125),I=t(773),L=U(t(1126)),W=U(t(1127));function U(a){return a&&a.__esModule?a:{default:a}}var N=$.keyphraseDistributionResearcher,K=I.research,H=function(a){this.setPaper(a),this.defaultResearches={urlLength:u.default,wordCountInText:s.default,findKeywordInPageTitle:p.default,calculateFleschReading:f.default,getLinkStatistics:d.default,getLinks:c.default,linkCount:l.default,imageCount:h.default,altTagCount:v.default,matchKeywordInSubheadings:z.default,keywordCount:m.default,getKeywordDensity:g.default,stopWordsInKeyword:y.default,stopWordsInUrl:w.default,metaDescriptionLength:b.default,keyphraseLength:k.default,keywordCountInUrl:_.default,firstParagraph:x.default,metaDescriptionKeyword:j.default,pageTitleWidth:q.default,wordComplexity:E.default,getParagraphLength:A.default,countSentencesFromText:T.default,countSentencesFromDescription:O.default,getSubheadingTextLengths:S.default,findTransitionWords:M.default,passiveVoice:P.default,getSentenceBeginnings:C.default,relevantWords:R.default,readingTime:D.default,getTopicDensity:F.default,topicCount:B.default,sentences:i.default,keyphraseDistribution:N,morphology:K,functionWordsInKeyphrase:L.default,h1s:W.default},this._data={},this.customResearches={}};H.prototype.setPaper=function(a){this.paper=a},H.prototype.addResearch=function(a,e){if((0,n.isUndefined)(a)||(0,n.isEmpty)(a))throw new r.default("Research name cannot be empty");if(!(e instanceof Function))throw new o.default("The research requires a Function callback.");this.customResearches[a]=e},H.prototype.hasResearch=function(a){return Object.keys(this.getAvailableResearches()).filter(function(e){return e===a}).length>0},H.prototype.getAvailableResearches=function(){return(0,n.merge)(this.defaultResearches,this.customResearches)},H.prototype.getResearch=function(a){if((0,n.isUndefined)(a)||(0,n.isEmpty)(a))throw new r.default("Research name cannot be empty");return!!this.hasResearch(a)&&this.getAvailableResearches()[a](this.paper,this)},H.prototype.addResearchData=function(a,e){this._data[a]=e},H.prototype.getData=function(a){return!!this._data.hasOwnProperty(a)&&this._data[a]},e.default=H},function(a,e,t){"use strict";e.decode=e.parse=t(692),e.encode=e.stringify=t(502)},function(a,e,t){"use strict";var i=function(a){switch(typeof a){case"string":return a;case"boolean":return a?"true":"false";case"number":return isFinite(a)?a:"";default:return""}};a.exports=function(a,e,t,s){return e=e||"&",t=t||"=",null===a&&(a=void 0),"object"==typeof a?o(r(a),function(r){var s=encodeURIComponent(i(r))+t;return n(a[r])?o(a[r],function(a){return s+encodeURIComponent(i(a))}).join(e):s+encodeURIComponent(i(a[r]))}).join(e):s?encodeURIComponent(i(s))+t+encodeURIComponent(i(a)):""};var n=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)};function o(a,e){if(a.map)return a.map(e);for(var t=[],i=0;i<a.length;i++)t.push(e(a[i],i));return t}var r=Object.keys||function(a){var e=[];for(var t in a)Object.prototype.hasOwnProperty.call(a,t)&&e.push(t);return e}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){return a.map(function(a){return 2===a.length?{reg:new RegExp(a[0],"i"),repl:a[1]}:3===a.length?{reg:new RegExp(a[0],"i"),repl1:a[1],repl2:a[2]}:void 0})}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a,e,t){var n=(0,d.default)(a).map(function(a){return a.toLowerCase()}),o=n.indexOf(e.toLowerCase());if(o<1)return!1;for(var r=(0,i.get)(c,t,[]),s=0;s<o;s++)if((0,i.includes)(r,n[s]))return!0;return!1};var i=t(2),n=l(t(671)),o=l(t(674)),r=l(t(673)),s=l(t(672)),d=l(t(145));function l(a){return a&&a.__esModule?a:{default:a}}var c={en:(0,n.default)().cannotBeBetweenPassiveAuxiliaryAndParticiple,fr:(0,o.default)().cannotBeBetweenPassiveAuxiliaryAndParticiple,it:(0,r.default)().cannotBeBetweenPassiveAuxiliaryAndParticiple,es:(0,s.default)().cannotBeBetweenPassiveAuxiliaryAndParticiple}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=m(t(236)),n=m(t(659)),o=m(t(660)),r=m(t(664)),s=m(t(665)),d=m(t(669)),l=m(t(662)),c=m(t(663)),u=m(t(668)),p=m(t(788)),z=m(t(498)),g=t(2);function m(a){return a&&a.__esModule?a:{default:a}}var y=function(a){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};i.default.call(this,a,e),this.type="ContentAssessor";var t=e.hasOwnProperty("locale")?e.locale:"en_US";this._assessments=[new n.default((0,p.default)(t).fleschReading),new s.default,o.default,new r.default((0,p.default)(t).sentenceLength),d.default,l.default,u.default,c.default]};t(63).inherits(y,i.default),y.prototype.calculatePenaltyPointsFullSupport=function(a){switch(a){case"bad":return 3;case"ok":return 2;default:case"good":return 0}},y.prototype.calculatePenaltyPointsPartialSupport=function(a){switch(a){case"bad":return 4;case"ok":return 2;default:case"good":return 0}},y.prototype._allAssessmentsSupported=function(){return 8===this.getApplicableAssessments().length},y.prototype.calculatePenaltyPoints=function(){var a=this.getValidResults(),e=(0,g.map)(a,function(a){var e=(0,z.default)(a.getScore());return this._allAssessmentsSupported()?this.calculatePenaltyPointsFullSupport(e):this.calculatePenaltyPointsPartialSupport(e)}.bind(this));return(0,g.sum)(e)},y.prototype._ratePenaltyPoints=function(a){if(1===this.getValidResults().length)return 30;if(this._allAssessmentsSupported()){if(a>6)return 30;if(a>4)return 60}else{if(a>4)return 30;if(a>2)return 60}return 90},y.prototype.calculateOverallScore=function(){if(0===this.getValidResults().length)return 30;var a=this.calculatePenaltyPoints();return this._ratePenaltyPoints(a)},e.default=y},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=Object.assign||function(a){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(a[i]=t[i])}return a},n=t(2);var o={keyword:"",synonyms:"",description:"",title:"",titleWidth:0,url:"",locale:"en_US",permalink:""},r=function(a,e){this._text=a||"",e=e||{},(0,n.defaults)(e,o),""===e.locale&&(e.locale=o.locale);var t=e.keyword.replace(/[‘’“”"'.?!:;,¿¡«»&*@#±^%|~`[\](){}⟨⟩<>/\\–\-\u2014\u00d7\u002b\u0026\s]/g,"");(0,n.isEmpty)(t)&&(e.keyword=o.keyword),this._attributes=e};r.prototype.hasKeyword=function(){return""!==this._attributes.keyword},r.prototype.getKeyword=function(){return this._attributes.keyword},r.prototype.hasSynonyms=function(){return""!==this._attributes.synonyms},r.prototype.getSynonyms=function(){return this._attributes.synonyms},r.prototype.hasText=function(){return""!==this._text},r.prototype.getText=function(){return this._text},r.prototype.hasDescription=function(){return""!==this._attributes.description},r.prototype.getDescription=function(){return this._attributes.description},r.prototype.hasTitle=function(){return""!==this._attributes.title},r.prototype.getTitle=function(){return this._attributes.title},r.prototype.hasTitleWidth=function(){return 0!==this._attributes.titleWidth},r.prototype.getTitleWidth=function(){return this._attributes.titleWidth},r.prototype.hasUrl=function(){return""!==this._attributes.url},r.prototype.getUrl=function(){return this._attributes.url},r.prototype.hasLocale=function(){return""!==this._attributes.locale},r.prototype.getLocale=function(){return this._attributes.locale},r.prototype.hasPermalink=function(){return""!==this._attributes.permalink},r.prototype.getPermalink=function(){return this._attributes.permalink},r.prototype.serialize=function(){return i({_parseClass:"Paper",text:this._text},this._attributes)},r.prototype.equals=function(a){return this._text===a.getText()&&(0,n.isEqual)(this._attributes,a._attributes)},r.parse=function(a){var e=a.text,t=(a._parseClass,function(a,e){var t={};for(var i in a)e.indexOf(i)>=0||Object.prototype.hasOwnProperty.call(a,i)&&(t[i]=a[i]);return t}(a,["text","_parseClass"]));return new r(e,t)},e.default=r},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(a,e,t){"use strict";var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a};Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function a(a,e){for(var t=0;t<e.length;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(a,i.key,i)}}return function(e,t,i){return t&&a(e.prototype,t),i&&a(e,i),e}}(),o=t(2),r=c(t(71)),s=c(t(358)),d=t(35),l=c(t(32));function c(a){return a&&a.__esModule?a:{default:a}}var u=["en","nl","de","it","ru","fr","es"],p=function(a){function e(a){!function(a,e){if(!(a instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var t=function(a,e){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==(void 0===e?"undefined":i(e))&&"function"!=typeof e?a:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this)),n={urlTitle:(0,d.createAnchorOpeningTag)("https://yoa.st/34r"),urlCallToAction:(0,d.createAnchorOpeningTag)("https://yoa.st/34s")};return t.identifier="fleschReadingEase",t._config=(0,o.merge)(n,a),t}return function(a,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+(void 0===e?"undefined":i(e)));a.prototype=Object.create(e&&e.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(a,e):a.__proto__=e)}(e,r.default),n(e,[{key:"getResult",value:function(a,e,t){if(this.fleschReadingResult=e.getResearch("calculateFleschReading"),this.isApplicable(a)){var i=new l.default(t),n=this.calculateResult(t);return i.setScore(n.score),i.setText(n.resultText),i}return null}},{key:"calculateResult",value:function(a){this.fleschReadingResult<0&&(this.fleschReadingResult=0),this.fleschReadingResult>100&&(this.fleschReadingResult=100);var e=a.dgettext("js-text-analysis","%1$sFlesch Reading Ease%2$s: The copy scores %3$s in the test, which is considered %4$s to read. %5$s%6$s%7$s"),t=a.dgettext("js-text-analysis","Good job!");if(this.fleschReadingResult>this._config.borders.veryEasy){var i=a.dgettext("js-text-analysis","very easy");return{score:this._config.scores.veryEasy,resultText:a.sprintf(e,this._config.urlTitle,"</a>",this.fleschReadingResult,i,"",t,"")}}if((0,o.inRange)(this.fleschReadingResult,this._config.borders.easy,this._config.borders.veryEasy)){var n=a.dgettext("js-text-analysis","easy");return{score:this._config.scores.easy,resultText:a.sprintf(e,this._config.urlTitle,"</a>",this.fleschReadingResult,n,"",t,"")}}if((0,o.inRange)(this.fleschReadingResult,this._config.borders.fairlyEasy,this._config.borders.easy)){var r=a.dgettext("js-text-analysis","fairly easy");return{score:this._config.scores.fairlyEasy,resultText:a.sprintf(e,this._config.urlTitle,"</a>",this.fleschReadingResult,r,"",t,"")}}if((0,o.inRange)(this.fleschReadingResult,this._config.borders.okay,this._config.borders.fairlyEasy)){var s=a.dgettext("js-text-analysis","ok");return{score:this._config.scores.okay,resultText:a.sprintf(e,this._config.urlTitle,"</a>",this.fleschReadingResult,s,"",t,"")}}if((0,o.inRange)(this.fleschReadingResult,this._config.borders.fairlyDifficult,this._config.borders.okay)){var d=a.dgettext("js-text-analysis","fairly difficult"),l=a.dgettext("js-text-analysis","Try to make shorter sentences to improve readability");return{score:this._config.scores.fairlyDifficult,resultText:a.sprintf(e,this._config.urlTitle,"</a>",this.fleschReadingResult,d,this._config.urlCallToAction,l,"</a>.")}}if((0,o.inRange)(this.fleschReadingResult,this._config.borders.difficult,this._config.borders.fairlyDifficult)){var c=a.dgettext("js-text-analysis","difficult"),u=a.dgettext("js-text-analysis","Try to make shorter sentences, using less difficult words to improve readability");return{score:this._config.scores.difficult,resultText:a.sprintf(e,this._config.urlTitle,"</a>",this.fleschReadingResult,c,this._config.urlCallToAction,u,"</a>.")}}var p=a.dgettext("js-text-analysis","very difficult"),z=a.dgettext("js-text-analysis","Try to make shorter sentences, using less difficult words to improve readability");return{score:this._config.scores.veryDifficult,resultText:a.sprintf(e,this._config.urlTitle,"</a>",this.fleschReadingResult,p,this._config.urlCallToAction,z,"</a>.")}}},{key:"isApplicable",value:function(a){return(0,s.default)(a.getLocale(),u)&&a.hasText()}}]),e}();e.default=p},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=t(2),n=t(228),o=u(t(661)),r=u(t(340)),s=t(35),d=t(144),l=u(t(32)),c=u(t(227));function u(a){return a&&a.__esModule?a:{default:a}}var p=function(a){return(0,i.filter)(a,function(a){return(0,o.default)(150,a.wordCount)})};e.default={identifier:"textParagraphTooLong",getResult:function(a,e,t){var i=e.getResearch("getParagraphLength"),o=function(a,e,t){var i=void 0,o=(0,s.createAnchorOpeningTag)("https://yoa.st/35d"),r=(0,s.createAnchorOpeningTag)("https://yoa.st/35e");if(0===a.length)return{};var d=a[0].wordCount;return d<=150&&(i=9),(0,n.inRangeEndInclusive)(d,150,200)&&(i=6),d>200&&(i=3),i>=7?{score:i,hasMarks:!1,text:t.sprintf(t.dgettext("js-text-analysis","%1$sParagraph length%2$s: None of the paragraphs are too long. Great job!"),o,"</a>")}:{score:i,hasMarks:!0,text:t.sprintf(t.dngettext("js-text-analysis","%1$sParagraph length%2$s: %3$d of the paragraphs contains more than the recommended maximum of %4$d words. %5$sShorten your paragraphs%2$s!","%1$sParagraph length%2$s: %3$d of the paragraphs contain more than the recommended maximum of %4$d words. %5$sShorten your paragraphs%2$s!",e.length),o,"</a>",e.length,150,r)}}(i=function(a){return a.sort(function(a,e){return e.wordCount-a.wordCount})}(i),p(i),t),r=new l.default;return r.setScore(o.score),r.setText(o.text),r.setHasMarks(o.hasMarks),r},isApplicable:function(a){return a.hasText()},getMarks:function(a,e){var t=e.getResearch("getParagraphLength"),n=p(t);return(0,i.map)(n,function(a){var e=(0,d.stripBlockTagsAtStartEnd)(a.text),t=(0,r.default)(e);return new c.default({original:e,marked:t})})}}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a,e){return e>a}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=t(2),n=p(t(341)),o=p(t(358)),r=t(228),s=p(t(340)),d=t(35),l=t(144),c=p(t(32)),u=p(t(227));function p(a){return a&&a.__esModule?a:{default:a}}var z=["en","de","fr","es","ru","it","nl","pl","sv"];e.default={identifier:"passiveVoice",getResult:function(a,e,t){var i=function(a,e){var t=void 0,i=0,o=(0,d.createAnchorOpeningTag)("https://yoa.st/34t"),s=(0,d.createAnchorOpeningTag)("https://yoa.st/34u");0!==a.total&&(i=(0,n.default)(a.passives.length/a.total*100));var l=i>0;return i<=10&&(t=9),(0,r.inRangeEndInclusive)(i,10,15)&&(t=6),i>15&&(t=3),t>=7?{score:t,hasMarks:l,text:e.sprintf(e.dgettext("js-text-analysis","%1$sPassive voice%2$s: You're using enough active voice. That's great!"),o,"</a>")}:{score:t,hasMarks:l,text:e.sprintf(e.dgettext("js-text-analysis","%1$sPassive voice%2$s: %3$s of the sentences contain passive voice, which is more than the recommended maximum of %4$s. %5$sTry to use their active counterparts%2$s."),o,"</a>",i+"%","10%",s)}}(e.getResearch("passiveVoice"),t),o=new c.default;return o.setScore(i.score),o.setText(i.text),o.setHasMarks(i.hasMarks),o},isApplicable:function(a){return(0,o.default)(a.getLocale(),z)&&a.hasText()},getMarks:function(a,e){var t=e.getResearch("passiveVoice");return(0,i.map)(t.passives,function(a){a=(0,l.stripIncompleteTags)(a);var e=(0,s.default)(a);return new u.default({original:a,marked:e})})}}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=t(2),n=c(t(340)),o=t(35),r=t(144),s=c(t(32)),d=c(t(227)),l=c(t(358));function c(a){return a&&a.__esModule?a:{default:a}}var u=["en","de","es","fr","nl","it","ru","pl","sv"];e.default={identifier:"sentenceBeginnings",getResult:function(a,e,t){var n=function(a,e){var t=(0,o.createAnchorOpeningTag)("https://yoa.st/35f"),i=(0,o.createAnchorOpeningTag)("https://yoa.st/35g");return a.total>0?{score:3,hasMarks:!0,text:e.sprintf(e.dngettext("js-text-analysis","%1$sConsecutive sentences%2$s: The text contains %3$d consecutive sentences starting with the same word. %5$sTry to mix things up%2$s!","%1$sConsecutive sentences%2$s: The text contains %4$d instances where %3$d or more consecutive sentences start with the same word. %5$sTry to mix things up%2$s!",a.total),t,"</a>",a.lowestCount,a.total,i)}:{score:9,hasMarks:!1,text:e.sprintf(e.dgettext("js-text-analysis","%1$sConsecutive sentences%2$s: There is enough variety in your sentences. That's great!"),t,"</a>")}}(function(a){var e=(0,i.partition)(a,function(a){return a.count>2});if(0===e[0].length)return{total:0};var t=(0,i.sortBy)(e[0],function(a){return a.count});return{total:e[0].length,lowestCount:t[0].count}}(e.getResearch("getSentenceBeginnings")),t),r=new s.default;return r.setScore(n.score),r.setText(n.text),r.setHasMarks(n.hasMarks),r},isApplicable:function(a){return(0,l.default)(a.getLocale(),u)&&a.hasText()},getMarks:function(a,e){var t=e.getResearch("getSentenceBeginnings");t=(0,i.filter)(t,function(a){return a.count>2});var o=(0,i.map)(t,function(a){return a.sentences});return(0,i.map)((0,i.flatten)(o),function(a){a=(0,r.stripIncompleteTags)(a);var e=(0,n.default)(a);return new d.default({original:a,marked:e})})}}},function(a,e,t){"use strict";var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a};Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function a(a,e){for(var t=0;t<e.length;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(a,i.key,i)}}return function(e,t,i){return t&&a(e.prototype,t),i&&a(e,i),e}}(),o=t(2),r=m(t(71)),s=m(t(733)),d=m(t(341)),l=t(228),c=m(t(340)),u=t(35),p=t(144),z=m(t(32)),g=m(t(227));function m(a){return a&&a.__esModule?a:{default:a}}var y=function(a){function e(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};!function(a,e){if(!(a instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var t=function(a,e){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==(void 0===e?"undefined":i(e))&&"function"!=typeof e?a:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return t.identifier="textSentenceLength",t._config=(0,o.merge)({recommendedWordCount:20,slightlyTooMany:25,farTooMany:30},a),t}return function(a,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+(void 0===e?"undefined":i(e)));a.prototype=Object.create(e&&e.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(a,e):a.__proto__=e)}(e,r.default),n(e,[{key:"getResult",value:function(a,e,t){var i=e.getResearch("countSentencesFromText"),n=this.calculatePercentage(i),o=this.calculateScore(n),r=new z.default;return r.setScore(o),r.setText(this.translateScore(o,n,t)),r.setHasMarks(n>0),r}},{key:"isApplicable",value:function(a){return a.hasText()}},{key:"getMarks",value:function(a,e){var t=e.getResearch("countSentencesFromText"),i=this.getTooLongSentences(t);return(0,o.map)(i,function(a){var e=(0,p.stripIncompleteTags)(a.sentence);return new g.default({original:e,marked:(0,c.default)(e)})})}},{key:"translateScore",value:function(a,e,t){var i=(0,u.createAnchorOpeningTag)("https://yoa.st/34v"),n=(0,u.createAnchorOpeningTag)("https://yoa.st/34w");return a>=7?t.sprintf(t.dgettext("js-text-analysis","%1$sSentence length%2$s: Great!"),i,"</a>"):t.sprintf(t.dgettext("js-text-analysis","%1$sSentence length%2$s: %3$s of the sentences contain more than %4$s words, which is more than the recommended maximum of %5$s. %6$sTry to shorten the sentences%2$s."),i,"</a>",e+"%",this._config.recommendedWordCount,this._config.slightlyTooMany+"%",n)}},{key:"calculatePercentage",value:function(a){var e=0;if(0!==a.length){var t=this.countTooLongSentences(a);e=(0,d.default)(t/a.length*100)}return e}},{key:"calculateScore",value:function(a){var e=void 0;return a<=this._config.slightlyTooMany&&(e=9),(0,l.inRangeEndInclusive)(a,this._config.slightlyTooMany,this._config.farTooMany)&&(e=6),a>this._config.farTooMany&&(e=3),e}},{key:"getTooLongSentences",value:function(a){return(0,s.default)(a,this._config.recommendedWordCount)}},{key:"countTooLongSentences",value:function(a){return this.getTooLongSentences(a).length}}]),e}();e.default=y},function(a,e,t){"use strict";var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a};Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function a(a,e){for(var t=0;t<e.length;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(a,i.key,i)}}return function(e,t,i){return t&&a(e.prototype,t),i&&a(e,i),e}}(),o=t(2),r=z(t(71)),s=t(228),d=z(t(661)),l=t(35),c=t(666),u=z(t(145)),p=z(t(32));function z(a){return a&&a.__esModule?a:{default:a}}var g=function(a){function e(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};!function(a,e){if(!(a instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var t=function(a,e){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==(void 0===e?"undefined":i(e))&&"function"!=typeof e?a:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this)),n={parameters:{recommendedMaximumWordCount:300,slightlyTooMany:300,farTooMany:350},urlTitle:(0,l.createAnchorOpeningTag)("https://yoa.st/34x"),urlCallToAction:(0,l.createAnchorOpeningTag)("https://yoa.st/34y"),scores:{goodShortTextNoSubheadings:9,goodSubheadings:9,okSubheadings:6,badSubheadings:3,badLongTextNoSubheadings:2}};return t.identifier="subheadingsTooLong",t._config=(0,o.merge)(n,a),t}return function(a,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+(void 0===e?"undefined":i(e)));a.prototype=Object.create(e&&e.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(a,e):a.__proto__=e)}(e,r.default),n(e,[{key:"getResult",value:function(a,e,t){this._subheadingTextsLength=e.getResearch("getSubheadingTextLengths"),this._subheadingTextsLength=this._subheadingTextsLength.sort(function(a,e){return e.wordCount-a.wordCount}),this._tooLongTextsNumber=this.getTooLongSubheadingTexts().length;var i=new p.default;i.setIdentifier(this.identifier),this._hasSubheadings=this.hasSubheadings(a),this._textLength=(0,u.default)(a.getText()).length;var n=this.calculateResult(t);return n.resultTextPlural=n.resultTextPlural||"",i.setScore(n.score),i.setText(n.resultText),i}},{key:"isApplicable",value:function(a){return a.hasText()}},{key:"hasSubheadings",value:function(a){return(0,c.getSubheadings)(a.getText()).length>0}},{key:"getTooLongSubheadingTexts",value:function(){return(0,o.filter)(this._subheadingTextsLength,function(a){return(0,d.default)(this._config.parameters.recommendedMaximumWordCount,a.wordCount)}.bind(this))}},{key:"calculateResult",value:function(a){if(this._textLength>300){if(this._hasSubheadings){var e=this._subheadingTextsLength[0].wordCount;return e<=this._config.parameters.slightlyTooMany?{score:this._config.scores.goodSubheadings,resultText:a.sprintf(a.dgettext("js-text-analysis","%1$sSubheading distribution%2$s: Great job!"),this._config.urlTitle,"</a>")}:(0,s.inRangeEndInclusive)(e,this._config.parameters.slightlyTooMany,this._config.parameters.farTooMany)?{score:this._config.scores.okSubheadings,resultText:a.sprintf(a.dngettext("js-text-analysis","%1$sSubheading distribution%2$s: %3$d section of your text is longer than %4$d words and is not separated by any subheadings. %5$sAdd subheadings to improve readability%2$s.","%1$sSubheading distribution%2$s: %3$d sections of your text are longer than %4$d words and are not separated by any subheadings. %5$sAdd subheadings to improve readability%2$s.",this._tooLongTextsNumber),this._config.urlTitle,"</a>",this._tooLongTextsNumber,this._config.parameters.recommendedMaximumWordCount,this._config.urlCallToAction)}:{score:this._config.scores.badSubheadings,resultText:a.sprintf(a.dngettext("js-text-analysis","%1$sSubheading distribution%2$s: %3$d section of your text is longer than %4$d words and is not separated by any subheadings. %5$sAdd subheadings to improve readability%2$s.","%1$sSubheading distribution%2$s: %3$d sections of your text are longer than %4$d words and are not separated by any subheadings. %5$sAdd subheadings to improve readability%2$s.",this._tooLongTextsNumber),this._config.urlTitle,"</a>",this._tooLongTextsNumber,this._config.parameters.recommendedMaximumWordCount,this._config.urlCallToAction)}}return{score:this._config.scores.badLongTextNoSubheadings,resultText:a.sprintf(a.dgettext("js-text-analysis","%1$sSubheading distribution%2$s: You are not using any subheadings, although your text is rather long. %3$sTry and add some subheadings%2$s."),this._config.urlTitle,"</a>",this._config.urlCallToAction)}}return this._hasSubheadings?{score:this._config.scores.goodSubheadings,resultText:a.sprintf(a.dgettext("js-text-analysis","%1$sSubheading distribution%2$s: Great job!"),this._config.urlTitle,"</a>")}:{score:this._config.scores.goodShortTextNoSubheadings,resultText:a.sprintf(a.dgettext("js-text-analysis","%1$sSubheading distribution%2$s: You are not using any subheadings, but your text is short enough and probably doesn't need them."),this._config.urlTitle,"</a>")}}}]),e}();e.default=g},function(a,e,t){"use strict";function i(a){for(var e=[],t=/<h([1-6])(?:[^>]+)?>(.*?)<\/h\1>/gi,i=void 0;null!==(i=t.exec(a));)e.push(i);return e}function n(a){for(var e=[],t=/<h([2-3])(?:[^>]+)?>(.*?)<\/h\1>/gi,i=void 0;null!==(i=t.exec(a));)e.push(i);return e}function o(a){return i(a).map(function(a){return a[0]})}function r(a){return n(a).map(function(a){return a[0]})}Object.defineProperty(e,"__esModule",{value:!0}),e.getSubheadings=i,e.getSubheadingsTopLevel=n,e.getSubheadingContents=o,e.getSubheadingContentsTopLevel=r,e.default={getSubheadings:i,getSubheadingsTopLevel:n,getSubheadingContents:o,getSubheadingContentsTopLevel:r}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){return a=(a=a.replace(i,"")).replace(n,"")};var i=new RegExp("^[\\–\\-\\(\\)_\\[\\]’“”\"'.?!:;,¿¡«»‹›—×+&<>]+"),n=new RegExp("[\\–\\-\\(\\)_\\[\\]’“”\"'.?!:;,¿¡«»‹›—×+&<>]+$")},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=t(35),n=t(144),o=function(a){return a&&a.__esModule?a:{default:a}}(t(32));e.default={identifier:"textPresence",getResult:function(a,e,t){var r=(0,n.stripFullTags)(a.getText()),s=(0,i.createAnchorOpeningTag)("https://yoa.st/35h"),d=(0,i.createAnchorOpeningTag)("https://yoa.st/35i");if(r.length<50){var l=new o.default;return l.setText(t.sprintf(t.dgettext("js-text-analysis","%1$sNot enough content%2$s: %3$sPlease add some content to enable a good analysis%2$s."),s,"</a>",d)),l.setScore(3),l}return new o.default}}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=t(2),n=p(t(341)),o=t(228),r=t(35),s=t(144),d=p(t(32)),l=p(t(227)),c=p(t(340)),u=p(t(358));function p(a){return a&&a.__esModule?a:{default:a}}var z=["en","de","es","fr","nl","it","pt","ru","ca","pl","sv"],g=function(a,e){var t=function(a){return 0===a.transitionWordSentences||0===a.totalSentences?0:(0,n.default)(a.transitionWordSentences/a.totalSentences*100)}(a),i=function(a){return a<20?3:(0,o.inRangeStartInclusive)(a,20,30)?6:a>=30?9:void 0}(t),s=t>0,d=(0,r.createAnchorOpeningTag)("https://yoa.st/34z"),l=(0,r.createAnchorOpeningTag)("https://yoa.st/35a");return i<7&&0===t?{score:(0,n.default)(i),hasMarks:s,text:e.sprintf(e.dgettext("js-text-analysis","%1$sTransition words%2$s: None of the sentences contain transition words. %3$sUse some%2$s."),d,"</a>",l)}:i<7?{score:(0,n.default)(i),hasMarks:s,text:e.sprintf(e.dgettext("js-text-analysis","%1$sTransition words%2$s: Only %3$s of the sentences contain transition words, which is not enough. %4$sUse more of them%2$s."),d,"</a>",t+"%",l)}:{score:(0,n.default)(i),hasMarks:s,text:e.sprintf(e.dgettext("js-text-analysis","%1$sTransition words%2$s: Well done!"),d,"</a>")}};e.default={identifier:"textTransitionWords",getResult:function(a,e,t){var i=e.getResearch("findTransitionWords"),n=g(i,t),o=new d.default;return o.setScore(n.score),o.setText(n.text),o.setHasMarks(n.hasMarks),o},isApplicable:function(a){return(0,u.default)(a.getLocale(),z)&&a.hasText()},getMarks:function(a,e){var t=e.getResearch("findTransitionWords");return(0,i.map)(t.sentenceResults,function(a){var e=a.sentence;return e=(0,s.stripIncompleteTags)(e),new l.default({original:e,marked:(0,c.default)(e)})})}}},function(a,e,t){"use strict";var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a};Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function a(a,e){for(var t=0;t<e.length;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(a,i.key,i)}}return function(e,t,i){return t&&a(e.prototype,t),i&&a(e,i),e}}(),o=t(2),r=l(t(71)),s=t(35),d=l(t(32));function l(a){return a&&a.__esModule?a:{default:a}}var c=function(a){function e(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};!function(a,e){if(!(a instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var t=function(a,e){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==(void 0===e?"undefined":i(e))&&"function"!=typeof e?a:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this)),n={parameters:{recommendedMinimum:1},scores:{allInternalFollow:9,someInternalFollow:8,noneInternalFollow:7,noInternal:3},urlTitle:(0,s.createAnchorOpeningTag)("https://yoa.st/33z"),urlCallToAction:(0,s.createAnchorOpeningTag)("https://yoa.st/34a")};return t.identifier="internalLinks",t._config=(0,o.merge)(n,a),t}return function(a,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+(void 0===e?"undefined":i(e)));a.prototype=Object.create(e&&e.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(a,e):a.__proto__=e)}(e,r.default),n(e,[{key:"getResult",value:function(a,e,t){this.linkStatistics=e.getResearch("getLinkStatistics");var i=new d.default,n=this.calculateResult(t);return i.setScore(n.score),i.setText(n.resultText),i}},{key:"isApplicable",value:function(a){return a.hasText()}},{key:"calculateResult",value:function(a){return 0===this.linkStatistics.internalTotal?{score:this._config.scores.noInternal,resultText:a.sprintf(a.dgettext("js-text-analysis","%1$sInternal links%3$s: No internal links appear in this page, %2$smake sure to add some%3$s!"),this._config.urlTitle,this._config.urlCallToAction,"</a>")}:this.linkStatistics.internalNofollow===this.linkStatistics.internalTotal?{score:this._config.scores.noneInternalFollow,resultText:a.sprintf(a.dgettext("js-text-analysis","%1$sInternal links%3$s: The internal links in this page are all nofollowed. %2$sAdd some good internal links%3$s."),this._config.urlTitle,this._config.urlCallToAction,"</a>")}:this.linkStatistics.internalDofollow===this.linkStatistics.internalTotal?{score:this._config.scores.allInternalFollow,resultText:a.sprintf(a.dgettext("js-text-analysis","%1$sInternal links%2$s: You have enough internal links. Good job!"),this._config.urlTitle,"</a>")}:{score:this._config.scores.someInternalFollow,resultText:a.sprintf(a.dgettext("js-text-analysis","%1$sInternal links%2$s: There are both nofollowed and normal internal links on this page. Good job!"),this._config.urlTitle,"</a>")}}}]),e}();e.default=c},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return{filteredAtEnding:[].concat(u,A,B),filteredAtBeginningAndEnding:[].concat(l,T,S,g,D,y,m),filteredAnywhere:[].concat(d,x,p,z,w,$,c,r,q,E,C,F,f,M,P,h,v,k,_,U,O,j,I,L,W),cannotDirectlyPrecedePassiveParticiple:[].concat(l,T,g,m,u,A,y),cannotBeBetweenPassiveAuxiliaryAndParticiple:[].concat(q,E,C,F),all:[].concat(l,c,u,g,m,w,p,z,y,f,A,b,h,v,k,j,_,x,O,r,s,q,E,T,S,M,P,C,d,R,D,F,$,B,I,W,U,N,K)}};var i=o(t(736)),n=o(t(737));function o(a){return a&&a.__esModule?a:{default:a}}var r=(0,i.default)().filteredAuxiliaries,s=(0,i.default)().notFilteredAuxiliaries,d=(0,n.default)().singleWords,l=["the","an","a"],c=["one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen","twenty","hundred","hundreds","thousand","thousands","million","millions","billion","billions"],u=["first","second","third","fourth","fifth","sixth","seventh","eighth","ninth","tenth","eleventh","twelfth","thirteenth","fourteenth","fifteenth","sixteenth","seventeenth","eighteenth","nineteenth","twentieth"],p=["i","you","he","she","it","we","they"],z=["me","him","us","them"],g=["this","that","these","those"],m=["my","your","his","her","its","their","our","mine","yours","hers","theirs","ours"],y=["all","some","many","lot","lots","ton","tons","bit","no","every","enough","little","much","more","most","plenty","several","few","fewer","kind","kinds"],w=["myself","yourself","himself","herself","itself","oneself","ourselves","yourselves","themselves"],f=["none","nobody","everyone","everybody","someone","somebody","anyone","anybody","nothing","everything","something","anything","each","other","whatever","whichever","whoever","whomever","whomsoever","whosoever","others","neither","both","either","any","such"],b=["one's","nobody's","everyone's","everybody's","someone's","somebody's","anyone's","anybody's","nothing's","everything's","something's","anything's","whoever's","others'","other's","another's","neither's","either's"],h=["which","what","whose"],v=["who","whom"],k=["where","how","why","whether","wherever","whyever","wheresoever","whensoever","howsoever","whysoever","whatsoever","whereso","whomso","whenso","howso","whyso","whoso","whatso"],j=["therefor","therein","hereby","hereto","wherein","therewith","herewith","wherewith","thereby"],_=["there","here","whither","thither","hither","whence","thence"],x=["always","once","twice","thrice"],q=["can","cannot","can't","could","couldn't","could've","dare","dares","dared","do","don't","does","doesn't","did","didn't","done","have","haven't","had","hadn't","has","hasn't","i've","you've","we've","they've","i'd","you'd","he'd","she'd","it'd","we'd","they'd","would","wouldn't","would've","may","might","must","need","needn't","needs","ought","shall","shalln't","shan't","should","shouldn't","will","won't","i'll","you'll","he'll","she'll","it'll","we'll","they'll","there's","there're","there'll","here's","here're","there'll"],E=["appear","appears","appeared","become","becomes","became","come","comes","came","keep","keeps","kept","remain","remains","remained","stay","stays","stayed","turn","turns","turned"],A=["doing","daring","having","appearing","becoming","coming","keeping","remaining","staying","saying","asking","stating","seeming","letting","making","setting","showing","putting","adding","going","using","trying","containing"],T=["in","from","with","under","throughout","atop","for","on","of","to","aboard","about","above","abreast","absent","across","adjacent","after","against","along","alongside","amid","mid","among","apropos","apud","around","as","astride","at","ontop","afore","tofore","behind","ahind","below","ablow","beneath","neath","beside","between","atween","beyond","ayond","by","chez","circa","spite","down","except","into","less","like","minus","near","nearer","nearest","anear","notwithstanding","off","onto","opposite","out","outen","over","past","per","pre","qua","sans","sauf","sithence","through","thru","truout","toward","underneath","up","upon","upside","versus","via","vis-à-vis","without","ago","apart","aside","aslant","away","withal","towards","amidst","amongst","midst","whilst"],O=["back","within","forward","backward","ahead"],S=["and","or","and/or","yet"],M=["sooner","just","only"],P=["if","even"],C=["say","says","said","claimed","ask","asks","asked","stated","explain","explains","explained","think","thinks","talks","talked","announces","announced","tells","told","discusses","discussed","suggests","suggested","understands","understood"],R=["again","definitely","eternally","expressively","instead","expressly","immediately","including","instantly","namely","naturally","next","notably","now","nowadays","ordinarily","positively","truly","ultimately","uniquely","usually","almost","maybe","probably","granted","initially","too","actually","already","e.g","i.e","often","regularly","simply","optionally","perhaps","sometimes","likely","never","ever","else","inasmuch","provided","currently","incidentally","elsewhere","particular","recently","relatively","f.i","clearly","apparently"],D=["highly","very","really","extremely","absolutely","completely","totally","utterly","quite","somewhat","seriously","fairly","fully","amazingly"],F=["seem","seems","seemed","let","let's","lets","make","makes","made","want","showed","shown","go","goes","went","gone","take","takes","took","taken","put","puts","use","used","try","tries","tried","mean","means","meant","called","based","add","adds","added","contain","contains","contained","consist","consists","consisted","ensure","ensures","ensured"],B=["new","newer","newest","old","older","oldest","previous","good","well","better","best","big","bigger","biggest","easy","easier","easiest","fast","faster","fastest","far","hard","harder","hardest","least","own","large","larger","largest","long","longer","longest","low","lower","lowest","high","higher","highest","regular","simple","simpler","simplest","small","smaller","smallest","tiny","tinier","tiniest","short","shorter","shortest","main","actual","nice","nicer","nicest","real","same","able","certain","usual","so-called","mainly","mostly","recent","anymore","complete","lately","possible","commonly","constantly","continually","directly","easily","nearly","slightly","somewhere","estimated","latest","different","similar","widely","bad","worse","worst","great","specific","available","average","awful","awesome","basic","beautiful","busy","current","entire","everywhere","important","major","multiple","normal","necessary","obvious","partly","special","last","early","earlier","earliest","young","younger","youngest",""],$=["oh","wow","tut-tut","tsk-tsk","ugh","whew","phew","yeah","yea","shh","oops","ouch","aha","yikes"],I=["tbs","tbsp","spk","lb","qt","pk","bu","oz","pt","mod","doz","hr","f.g","ml","dl","cl","l","mg","g","kg","quart"],L=["seconds","minute","minutes","hour","hours","day","days","week","weeks","month","months","year","years","today","tomorrow","yesterday"],W=["thing","things","way","ways","matter","case","likelihood","ones","piece","pieces","stuff","times","part","parts","percent","instance","instances","aspect","aspects","item","items","idea","theme","person","instance","instances","detail","details","factor","factors","difference","differences"],U=["not","yes","sure","top","bottom","ok","okay","amen","aka","etc","etcetera","sorry","please"],N=["ms","mss","mrs","mr","dr","prof"],K=["jr","sr"]},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return{filteredAtBeginning:R,filteredAtEnding:[].concat(r,h,j,_,C),filteredAtBeginningAndEnding:[].concat(n,x,E,u,M,z,p),filteredAnywhere:[].concat(i,s,d,l,c,D,o,b,v,k,O,P,g,A,T,m,y,w,f,I,q,F,B,$),cannotDirectlyPrecedePassiveParticiple:[].concat(n,x,d,p,g,w,o,r,P,C,O,m,y,c,l,q),cannotBeBetweenPassiveAuxiliaryAndParticiple:[].concat(v,j),all:[].concat(n,o,r,u,p,s,c,l,d,z,g,m,y,w,f,q,b,h,v,k,j,_,x,E,A,T,O,i,S,M,P,C,D,R,F,$,I,L,W)}};var i=(0,function(a){return a&&a.__esModule?a:{default:a}}(t(740)).default)().singleWords,n=["el","la","los","las","un","una","unos","unas"],o=["dos","tres","cuatro","cinco","seis","siete","ocho","nueve","diez","once","doce","trece","catorce","quince","dieciseis","diecisiete","dieciocho","diecinueve","veinte","cien","centena","mil","millon","millones"],r=["primera","segunda","tercera","cuarto","cuarta","quinto","quinta","sexto","sexta","septimo","septima","octavo","octava","noveno","novena","décimo","décima","vigésimo","vigésima","primeros","primeras","segundos","segundas","terceros","terceras","cuartos","cuartas","quintos","quintas","sextos","sextas","septimos","septimas","octavos","octavas","novenos","novenas","décimos","décimas","vigésimos","vigésimas"],s=["yo","tú","él","ella","ello","nosotros","nosotras","vosotros","vosotras","ustedes","ellos","ellas"],d=["me","te","lo","se","nos","os","les"],l=["mí","ti","ud","uds","usted","sí"],c=["conmigo","contigo","consigo"],u=["este","ese","aquel","esta","esa","aquella","estos","esos","aquellos","estas","esas","aquellas","esto","eso","aquello"],p=["mi","mis","mío","míos","mía","mías","nuestro","nuestros","nuestra","nuestras","tuyo","tuyos","tuya","tuyas","tu","tus","vuestro","vuestros","vuestra","vuestras","suyo","suyos","suya","suyas","su","sus"],z=["bastante","bastantes","mucho","muchas","mucha","muchos","demasiado","demasiada","demasiados","demasiadas","poco","poca","pocos","pocas","demás","otros","otras","todo","toda","todos","todas"],g=["alguien","algo","algún","alguno","alguna","algunos","algunas","nadie","nada","ningún","ninguno","ninguna","ningunos","ningunas","tanto","tantos","tanta","tantas"],m=["cuyas","cual"],y=["cuyo"],w=["comoquiera","cualesquiera","cualquier","cuanta","cuantas","cuanto","cuantos","cuál","cuáles","cuánta","cuántas","cuánto","cuántos","cómo","dondequiera","dónde","quien","quienes","quienquiera","quién","quiénes","qué"],f=["allí","ahí","allá","aquí","acá","adónde","delante","detrás","debajo","adelante","atrás","adentro","afuera"],b=["he","has","ha","hay","hemos","habéis","han","hube","hubiste","hubo","hubimos","hubisteis","hubieron","había","habías","habíamos","habíais","habían","habría","habrías","habríais","habrían","habré","habrás","habrá","habremos","habréis","habrán","haya","hayas","hayamos","hayáis","hayan","hubiera","hubieras","hubiéramos","hubierais","hubieran","hubiese","hubieses","hubiésemos","hubieseis","hubiesen","hubiere","hubieres","hubiéremos","hubiereis","hubieren","habed","habido","debo","debes","debe","debemos","debéis","deben","debí","debiste","debió","debimos","debisteis","debieron","debía","debías","debíamos","debíais","debían","debería","deberías","deberíamos","deberíais","deberían","deberé","deberás","deberá","deberemos","deberéis","deberán","deba","debas","debamos","debáis","deban","debiera","debieras","debiéramos","debierais","debieran","debiese","debieses","debiésemos","debieseis","debiesen","debiere","debieres","debiéremos","debiereis","debieren","debed","debido","empiezo","empiezas","empieza","empezáis","empiezan","empecé","empezaste","empezó","empezamos","empezasteis","empezaron","empezaba","empezabas","empezábamos","empezabais","empezaban","empezaría","empezarías","empezaríamos","empezaríais","empezarían","empezaré","empezarás","empezará","empezaremos","empezaréis","empezarán","empiece","empieces","empecemos","empecéis","empiecen","empezara","empezaras","empezáramos","empezarais","empezaran","empezase","empezases","empezásemos","empezaseis","empezasen","empezare","empezares","empezáremos","empezareis","empezaren","empezad","empezado","comienzo","comienzas","comienza","comenzamos","comenzáis","comienzan","comencé","comenzaste","comenzó","comenzasteis","comenzaron","comenzaba","comenzabas","comenzábamos","comenzabais","comenzaban","comenzaría","comenzarías","comenzaríamos","comenzaríais","comenzarían","comenzaré","comenzarás","comenzará","comenzaremos","comenzaréis","comenzarán","comience","comiences","comencemos","comencéis","comiencen","comenzara","comenzaras","comenzáramos","comenzarais","comenzaran","comenzase","comenzases","comenzásemos","comenzaseis","comenzasen","comenzare","comenzares","comenzáremos","comenzareis","comenzaren","comenzad","comenzado","sigo","sigues","sigue","seguimos","seguis","siguen","seguí","seguiste","siguió","seguisteis","siguieron","seguía","seguías","seguíamos","seguíais","seguían","seguiría","seguirías","seguiríamos","seguiríais","seguirían","seguiré","seguirás","seguirá","seguiremos","seguiréis","seguirán","siga","sigas","sigamos","sigáis","sigan","siguiera","siguieras","siguiéramos","siguierais","siguieran","siguiese","siguieses","siguiésemos","siguieseis","siguiesen","siguiere","siguieres","siguiéremos","siguiereis","siguieren","seguid","seguido","tengo","tienes","tiene","tenemos","tenéis","tienen","tuve","tuviste","tuvo","tuvimos","tuvisteis","tuvieron","tenía","tenías","teníamos","teníais","tenían","tendría","tendrías","tendríamos","tendríais","tendrían","tendré","tendrás","tendrá","tendremos","tendréis","tendrán","tenga","tengas","tengamos","tengáis","tengan","tuviera","tuvieras","tuviéramos","tuvierais","tuvieran","tuviese","tuvieses","tuviésemos","tuvieseis","tuviesen","tuviere","tuvieres","tuviéremos","tuviereis","tuvieren","ten","tened","tenido","ando","andas","andamos","andáis","andan","anduve","anduviste","anduvo","anduvimos","anduvisteis","anduvieron","andaba","andabas","andábamos","andabais","andaban","andaría","andarías","andaríamos","andaríais","andarían","andaré","andarás","andará","andaremos","andaréis","andarán","ande","andes","andemos","andéis","anden","anduviera","anduvieras","anduviéramos","anduvierais","anduvieran","anduviese","anduvieses","anduviésemos","anduvieseis","anduviesen","anduviere","anduvieres","anduviéremos","anduviereis","anduvieren","andad","andado","quedo","quedas","queda","quedamos","quedáis","quedan","quedé","quedasteis","quedaron","quedaba","quedabas","quedábamos","quedabais","quedaban","quedaría","quedarías","quedaríamos","quedaríais","quedarían","quedaré","quedarás","quedará","quedaremos","quedaréis","quedarán","quede","quedes","quedemos","quedéis","queden","quedara","quedaras","quedáramos","quedarais","quedaran","quedase","quedases","quedásemos","quedaseis","quedasen","quedare","quedares","quedáremos","quedareis","quedaren","quedad","quedado","hallo","hallas","halla","hallamos","halláis","hallan","hallé","hallaste","halló","hallasteis","hallaron","hallaba","hallabas","hallábamos","hallabais","hallaban","hallaría","hallarías","hallaríamos","hallaríais","hallarían","hallaré","hallarás","hallará","hallaremos","hallaréis","hallarán","halle","halles","hallemos","halléis","hallen","hallara","hallaras","halláramos","hallarais","hallaran","hallase","hallases","hallásemos","hallaseis","hallasen","hallare","hallares","halláremos","hallareis","hallaren","hallad","hallado","vengo","vienes","viene","venimos","venis","vienen","vine","viniste","vino","vinimos","vinisteis","vinieron","venía","vanías","verníamos","veníais","venían","vendría","vendrías","vendríamos","vendíais","vendrían","vendré","vendrás","vendrá","vendremos","vendréis","vendrán","venga","vengas","vengamos","vengáis","vengan","viniera","vinieras","viniéramos","vinierais","vinieran","viniese","vinieses","viniésemos","vinieseis","viniesen","viniere","vinieres","viniéremos","viniereis","vinieren","ven","venid","venido","abro","abres","abre","abrismos","abrís","abren","abrí","abriste","abrió","abristeis","abrieron","abría","abrías","abríais","abrían","abriría","abrirías","abriríamos","abriríais","abrirían","abriré","abrirás","abrirá","abriremos","abriréis","abrirán","abra","abras","abramos","abráis","abran","abriera","abrieras","abriéramos","abrierais","abrieran","abriese","abrieses","abriésemos","abrieseis","abriesen","abriere","abrieres","abriéremos","abriereis","abrieren","abrid","abierto","voy","vas","va","vamos","vais","van","iba","ibas","íbamos","ibais","iban","iría","irías","iríamos","iríais","irían","iré","irás","irá","iremos","iréis","irán","vaya","vayas","vayamos","vayáis","vayan","ve","id","ido","acabo","acabas","acaba","acabamos","acabáis","acaban","acabé","acabaste","acabó","acabasteis","acabaron","acababa","acababas","acabábamos","acababais","acababan","acabaría","acabarías","acabaríamos","acabaríais","acabarían","acabaré","acabarás","acabará","acabaremos","acabaréis","acabarán","acabe","acabes","acabemos","acabéis","acaben","acabara","acabaras","acabáramos","acabarais","acabaran","acabase","acabases","acabásemos","acabaseis","acabasen","acabare","acabares","acabáremos","acabareis","acabaren","acabad","acabado","llevo","llevas","lleva","llevamos","lleváis","llevan","llevé","llevaste","llevó","llevasteis","llevaron","llevaba","llevabas","llevábamos","llevabais","llevaban","llevaría","llevarías","llevaríamos","llevaríais","llevarían","llevaré","llevarás","llevará","llevaremos","llevaréis","llevarán","lleve","lleves","llevemos","llevéis","lleven","llevara","llevaras","lleváramos","llevarais","llevaran","llevase","llevases","llevásemos","llevaseis","llevasen","llevare","llevares","lleváremos","llevareis","llevaren","llevad","llevado","alcanzo","alcanzas","alcanza","alcanzamos","alcanzáis","alcanzan","alcancé","alcanzaste","alcanzó","alcanzasteis","alcanzaron","alcanzaba","alcanzabas","alcanzábamos","alcanzabais","alcanzaban","alcanzaría","alcanzarías","alcanzaríamos","alcanzaríais","alcanzarían","alcanzaré","alcanzarás","alcanzará","alcanzaremos","alcanzaréis","alcanzarán","alcance","alcances","alcancemos","alcancéis","alcancen","alcanzara","alcanzaras","alcanzáramos","alcanzarais","alcanzaran","alcanzase","alcanzases","alcanzásemos","alcanzaseis","alcanzasen","alcanzare","alcanzares","alcanzáremos","alcanzareis","alcanzaren","alcanzad","alcanzado","digo","dices","dice","decimos","decís","dicen","dije","dijiste","dijo","dijimos","dijisteis","dijeron","decía","decías","decíamos","decíais","decían","diría","dirías","diríamos","diríais","dirían","diré","dirás","dirá","diremos","diréis","dirán","diga","digas","digamos","digáis","digan","dijera","dijeras","dijéramos","dijerais","dijeran","dijese","dijeses","dijésemos","dijeseis","dijesen","dijere","dijeres","dijéremos","dijereis","dijeren","di","decid","dicho","continúo","continúas","continúa","continuamos","continuáis","continúan","continué","continuaste","continuó","continuasteis","continuaron","continuaba","continuabas","continuábamos","continuabais","continuaban","continuaría","continuarías","continuaríamos","continuaríais","continuarían","continuaré","continuarás","continuará","continuaremos","continuaréis","continuarán","continúe","continúes","continuemos","continuéis","continúen","continuara","continuaras","continuáramos","continuarais","continuaran","continuase","continuases","continuásemos","continuaseis","continuasen","continuare","continuares","continuáremos","continuareis","continuaren","continuad","continuado","resulto","resultas","resulta","resultamos","resultáis","resultan","resulté","resultaste","resultó","resultasteis","resultaron","resultaba","resultabas","resultábamos","resultabais","resultaban","resultaría","resultarías","resultaríamos","resultaríais","resultarían","resultaré","resultarás","resultará","resultaremos","resultaréis","resultarán","resulte","resultes","resultemos","resultéis","resulten","resultara","resultaras","resultáramos","resultarais","resultaran","resultase","resultases","resultásemos","resultaseis","resultasen","resultare","resultares","resultáremos","resultareis","resultaren","resultad","resultado","puedo","puedes","puede","podemos","podéis","pueden","pude","pudiste","pudo","pudimos","pudisteis","pudieron","podía","podías","podíamos","podíais","podían","podría","podrías","podríamos","podríais","podrían","podré","podrás","podrá","podremos","podréis","podrán","pueda","puedas","podamos","podáis","puedan","pudiera","pudieras","pudiéramos","pudierais","pudieran","pudiese","pudieses","pudiésemos","pudieseis","pudiesen","pudiere","pudieres","pudiéremos","pudiereis","pudieren","poded","podido","quiero","quieres","quiere","queremos","queréis","quieren","quise","quisiste","quiso","quisimos","quisisteis","quisieron","quería","querías","queríamos","queríais","querían","querría","querrías","querríamos","querríais","querrían","querré","querrás","querrá","querremos","querréis","querrán","quiera","quieras","queramos","queráis","quieran","quisiera","quisieras","quisiéramos","quisierais","quisieran","quisiese","quisieses","quisiésemos","quisieseis","quisiesen","quisiere","quisieres","quisiéremos","quisiereis","quisieren","quered","querido","sabes","sabe","sabemos","sabéis","saben","supe","supiste","supo","supimos","supisteis","supieron","sabía","sabías","sabíamos","sabíais","sabían","sabría","sabrías","sabríamos","sabríais","sabrían","sabré","sabrás","sabrá","sabremos","sabréis","sabrán","sepa","sepas","sepamos","sepáis","sepan","supiera","supieras","supiéramos","supierais","supieran","supiese","supieses","supiésemos","supieseis","supiesen","supiere","supieres","supiéremos","supiereis","supieren","sabed","sabido","suelo","sueles","suele","solemos","soléis","suelen","solí","soliste","solió","solimos","solisteis","solieron","solía","solías","solíamos","solíais","solían","solería","solerías","soleríamos","soleríais","solerían","soleré","solerás","solerá","soleremos","soleréis","solerán","suela","suelas","solamos","soláis","suelan","soliera","solieras","soliéramos","solierais","solieran","soliese","solieses","soliésemos","solieseis","soliesen","soliere","solieres","soliéremos","soliereis","solieren","soled","solido","necesito","necesitas","necesitamos","necesitáis","necesitan","necesité","necesitaste","necesitó","necesitasteis","necesitaron","necesitaba","necesitabas","necesitábamos","necesitabais","necesitaban","necesitaría","necesitarías","necesitaríamos","necesitaríais","necesitarían","necesitaré","necesitarás","necesitará","necesitaremos","necesitaréis","necesitarán","necesite","necesites","necesitemos","necesitéis","necesiten","necesitara","necesitaras","necesitáramos","necesitarais","necesitaran","necesitase","necesitases","necesitásemos","necesitaseis","necesitasen","necesitare","necesitares","necesitáremos","necesitareis","necesitaren","necesita","necesitad","necesitado"],h=["haber","deber","empezar","comenzar","seguir","tener","andar","quedar","hallar","venir","abrir","ir","acabar","llevar","alcanzar","decir","continuar","resultar","poder","querer","saber","soler","necesitar"],v=["estoy","estás","está","estamos","estáis","están","estuve","estuviste","estuvo","estuvimos","estuvisteis","estuvieron","estuba","estabas","estábamos","estabais","estaban","estraría","estarías","estaríamos","estaríais","estarían","estaré","estarás","estará","estaremos","estaréis","estarán","esté","estés","estemos","estéis","estén","estuviera","estuviese","estuvieras","estuviéramos","estuvierais","estuvieran","estuvieses","estuviésemos","estuvieseis","estuviesen","estuviere","estuvieres","estuviéremos","estuviereis","estuvieren","estad","estado"],k=["soy","eres","es","somos","sois","son","fui","fuiste","fuimos","fuisteis","fueron","era","eras","éramos","erais","eran","sería","serías","seríamos","seríais","serían","seré","serás","seremos","seréis","serán","sea","seas","seamos","seáis","sean","fueras","fuéramos","fuerais","fueran","fuese","fueses","fuésemos","fueseis","fuesen","fuere","fueres","fuéremos","fuereis","fueren","sé","sed","sido"],j=["estar"],_=["ser"],x=["a","ante","abajo","adonde","al","allende","alrededor","amén","antes","arriba","aun","bajo","cabe","cabo","con","contigo","contra","de","dejante","del","dentro","desde","donde","durante","en","encima","entre","excepto","fuera","hacia","hasta","incluso","mediante","más","opuesto","par","para","próximo","salvo","según","sin","so","sobre","tras","versus","vía"],q=["cerca"],E=["o","y","entonces","e","u","ni","bien","ora"],A=["igual"],T=["apenas","segun","que"],O=["apunto","apunta","confieso","confiesa","confesaba","revelado","revelo","revela","revelaba","declarado","declaro","declara","declaba","señalo","señala","señalaba","declaraba","comento","comenta"],S=["básicamente","esencialmente","primeramente","siempre","nunca","ahora","quizá","acaso","inclusive","probablemente","verdaderamente","seguramente","jamás","obviamente","indiscutiblement","inmediatamente","previamente"],M=["muy","tan","completamente","suficiente","tal","tales"],P=["hago","haces","hace","hacemos","hacéis","hacen","hice","hiciste","hizo","hicimos","hicisteis","hicieron","hacía","hacías","hacíamos","hacíais","hacían","haría,","harías","haríamos","haríais","harían","haré","harás","hará","haremos","haréis","harán","haga","hagas","hagamos","hagáis","hagan","hiciera","hicieras","hiciéramos","hicierais","hicieran","hiciese","hicieses","hiciésemos","hicieseis","hiciesen","hiciere","hicieres","hiciéremos","hiciereis","hicieren","haz","haced","hecho","parezco","pareces","parece","parecemos","parecéis","parecen","parecí","pareciste","pareció","parecimos","parecisteis","parecieron","parecía","parecías","parecíamos","parecíais","parecían","parecería","parecerías","pareceríamos","pareceríais","parecerían","pareceré","parecerás","parecerá","pareceremos","pareceréis","parecerán","parezca","parezcas","parezcamos","parezcáis","parezcan","pareciera","parecieras","pareciéramos","parecierais","parecieran","pareciese","parecieses","pareciésemos","parecieseis","pareciesen","pareciere","parecieres","pareciéremos","pareciereis","parecieren","pareced","parecido"],C=["hacer","parecer"],R=["enfrente","mejor","peor","menos","claro","bueno","nuevo","nueva","nuevos","nuevas","viejo","viejos","vieja","viejas","anterior","grande","gran","grandes","mayores","fácil","fáciles","rápido","rápida","rápidos","rápidas","lejos","lejas","difícil","difíciles","propio","propios","propia","propias","largo","larga","largos","largas","bajos","baja","bajas","alto","alta","altos","altas","regular","regulares","normal","pequeño","pequeña","pequeños","pequeñas","diminuta","diminuto","diminutas","diminutos","chiquitito","chiquititos","chiquitita","chiquititas","corta","corto","cortas","cortos","principal","principales","mismo","mismos","misma","mismas","capaz","capaces","cierta","cierto","ciertas","ciertos","llamado","llamada","llamados","llamadas","mayormente","reciente","recientes","completa","completo","completas","completos","absoluta","absoluto","absolutas","absolutos","últimamente","posible","común","comúnes","comúnmente","constantemente","continuamente","directamente","fácilmente","casi","ligeramente","estima","estimada","estimado","aproximada","aproximadamente","última","últimas","último","últimos","diferente","diferentes","similar","mal","malo","malos","mala","malas","perfectamente","excelente","final","general"],D=["ah","eh","ejem","ele","achís","adiós","agur","ajá","ajajá","ala","alá","albricias","aleluya","alerta","alirón","aló","amalaya","ar","aro","arrarray","arre","arsa","atatay","aúpa","ax","ay","ayayay","bah","banzai","barajo","bla","bravo","buf","bum","ca","caguendiós","canastos","caracho","caracoles","carajo","caramba","carape","caray","cáscaras","cáspita","cataplum","ce","chao","chau","che","chis","chist","chitón","cho","chucho","chus","cielos","clo","coche","cochi","cojones","concho","coño","córcholis","cuchí","cuidado","cuz","demonio","demontre","despacio","diablo","diantre","dios","ea","epa","equilicuá","estúpido","eureka","evohé","exacto","fantástico","firmes","fo","forte","gua","gualá","guarte","guay","hala","hale","he","hi","hin","hola","hopo","huesque","huiche","huichó","huifa","hurra","huy","ja","jajajá","jajay","jaque","jau","jo","jobar","joder","jolín","jopo","leñe","listo","malhayas","mamola","mecachis","miéchica","mondo","moste","mutis","nanay","narices","oh","ojalá","ojo","okay","ole","olé","órdiga","oste","ostras","ox","oxte","paf","pardiez","paso","pucha","puf","puff","pumba","puñeta","quia","quiúbole","recórcholis","rediez","rediós","salve","sanseacabó","sniff","socorro","ta","tararira","tate","tururú","uf","uh","ui","upa","uste","uy","victoria","vítor","viva","za","zambomba","zapateta","zape","zas"],F=["kg","mg","gr","g","km","m","l","ml","cl"],B=["minuto","minutos","hora","horas","día","días","semana","semanas","mes","meses","año","años","hoy","mañana","ayer"],$=["cosa","cosas","manera","maneras","caso","casos","pieza","piezas","vez","veces","parte","partes","porcentaje","instancia","aspecto","aspectos","punto","puntos","objeto","objectos","persona","personas"],I=["no","euros"],L=["sra","sras","srta","sr","sres","dra","dr","profa","prof"],W=["jr","sr"]},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return{filteredAtBeginning:R,filteredAtEnding:[].concat(r,O,h,k,_,C,D),filteredAtBeginningAndEnding:[].concat(n,x,q,c,M,p,u),filteredAnywhere:[].concat(i,s,d,l,F,o,b,v,j,T,P,z,E,A,g,m,y,f,L,w,B,$,I),cannotDirectlyPrecedePassiveParticiple:[].concat(n,x,d,u,z,o,r,P,C,T,g,m,l,y),cannotBeBetweenPassiveAuxiliaryAndParticiple:[].concat(v,k),all:[].concat(n,o,r,c,u,s,d,l,p,z,m,y,g,w,f,b,h,v,k,j,_,x,q,E,A,T,O,i,S,M,P,C,F,R,D,B,I,L,$,W)}};var i=(0,function(a){return a&&a.__esModule?a:{default:a}}(t(741)).default)().singleWords,n=["il","i","la","le","lo","gli","un","uno","una"],o=["due","tre","quattro","cinque","sette","otto","nove","dieci","undici","dodici","tredici","quattordici","quindici","sedici","diciassette","diciotto","diciannove","venti","cento","mille","mila","duemila","tremila","quattromila","cinquemila","seimila","settemila","ottomila","novemila","diecimila","milione","milioni","miliardo","miliardi"],r=["prima","primi","prime","secondo","seconda","secondi","seconde","terzo","terza","terzi","terze","quarto","quarta","quarti","quarte","quinto","quinta","quinti","quinte","sesto","sesta","sesti","seste","settimo","settima","settimi","settime","ottavo","ottava","ottavi","ottave","nono","nona","noni","none","decimo","decima","decimi","decime","undicesimo","undicesima","undicesimi","undicesime","dodicesimo","dodicesima","dodicesimi","dodicesime","tredicesimo","tredicesima","tredicesimi","tredicesime","quattordicesimo","quattordicesima","quattordicesimi","quattordicesime","quindicesimo","quindicesima","quindicesimi","quindicesime","sedicesimo","sedicesima","sedicesimi","sedicesime","diciassettesimo","diciassettesima","diciassettesimi","diciassettesime","diciannovesimo","diciannovesima","diciannovesimi","diciannovesime","ventesimo","ventesima","ventesimi","ventesime"],s=["io","tu","egli","esso","lui","ella","essa","lei","noi","voi","essi","esse","loro"],d=["mi","ti","si","ci","vi","li","me","te","se","glie","glielo","gliela","glieli","gliele","gliene","ce","ve"],l=["sé"],c=["ciò","codesto","codesta","codesti","codeste","colei","colui","coloro","costei","costui","costoro","medesimo","medesima","medesimi","medesime","questo","questa","questi","queste","quello","quella","quelli","quelle","quel","quei","quegli"],u=["mio","mia","miei","mie","tuo","tua","tuoi","tue","suo","sua","suoi","sue","nostro","nostra","nostri","nostre","vostro","vostra","vostri","vostre"],p=["affatto","alcun","alcuna","alcune","alcuni","alcuno","bastantemente","grandemente","massimamente","meno","minimamente","molta","molte","molti","moltissimo","molto","nessun","nessuna","nessuno","niente","nulla","ogni","più","po'","poca","poche","pochi","poco","pochissime","pochissimi","qualche","qualsiasi","qualunque","quintali","rara","rarissima","rarissimo","raro","spesso","spessissimo","sufficientemente","taluno","taluna","taluni","talune","tanta","tante","tanti","tantissime","tantissimi","tanto","tonnellate","troppa","troppe","troppi","troppo","tutta","tutte","tutti","tutto"],z=["alcunché","alcunchè","altro","altra","altri","altre","certa","certi","certe","checché","checchè","chicchessia","chiunque","ciascuno","ciascuna","ciascun","diverso","diversa","diversi","diverse","parecchio","parecchia","parecchi","parecchie","qualcosa","qualcuno","qualcuna","vario","varia","vari","varie"],g=["che","cosa","cui","qual","quale","quali"],m=["chi","quanta","quante","quanti","quanto"],y=["com'è","com'era","com'erano","donde","d'onde","dove","dov'è","dov'era","dov'erano","dovunque"],w=["ne"],f=["accanto","altrove","attorno","dappertutto","giù","là","laggiù","lassù","lì","ovunque","qua","quaggiù","quassù","qui"],b=["vengano","vengo","vengono","veniamo","veniate","venimmo","venisse","venissero","venissi","venissimo","veniste","venisti","venite","veniva","venivamo","venivano","venivate","venivi","venivo","venne","vennero","venni","verrà","verrai","verranno","verrebbe","verrebbero","verrei","verremmo","verremo","verreste","verresti","verrete","verrò","viene","vieni"],h=["venire","venir"],v=["abbi","abbia","abbiamo","abbiano","abbiate","abbiente","avemmo","avendo","avente","avesse","avessero","avessi","avessimo","aveste","avesti","avete","aveva","avevamo","avevano","avevate","avevi","avevo","avrà","avrai","avranno","avrebbe","avrebbero","avrei","avremmo","avremo","avreste","avresti","avrete","avrò","avuto","ebbe","ebbero","ebbi","ha","hai","hanno","ho","l'abbi","l'abbia","l'abbiamo","l'abbiano","l'abbiate","l'abbiente","l'avemmo","l'avendo","l'avente","l'avesse","l'avessero","l'avessi","l'avessimo","l'aveste","l'avesti","l'avete","l'aveva","l'avevamo","l'avevano","l'avevate","l'avevi","l'avevo","l'avrà","l'avrai","l'avranno","l'avrebbe","l'avrebbero","l'avrei","l'avremmo","l'avremo","l'avreste","l'avresti","l'avrete","l'avrò","l'avuto","l'ebbe","l'ebbero","l'ebbi","l'ha","l'hai","l'hanno","l'ho","possa","possano","possiamo","possiate","posso","possono","poté","potei","potemmo","potendo","potente","poterono","potesse","potessero","potessi","potessimo","poteste","potesti","potete","potette","potettero","potetti","poteva","potevamo","potevano","potevate","potevi","potevo","potrà","potrai","potranno","potrebbe","potrebbero","potrei","potremmo","potremo","potreste","potresti","potrete","potrò","potuto","può","puoi","voglia","vogliamo","vogliano","vogliate","voglio","vogliono","volemmo","volendo","volente","volesse","volessero","volessi","volessimo","voleste","volesti","volete","voleva","volevamo","volevano","volevate","volevi","volevo","volle","vollero","volli","voluto","vorrà","vorrai","vorranno","vorrebbe","vorrebbero","vorrei","vorremmo","vorremo","vorreste","vorresti","vorrete","vorrò","vuoi","vuole","debba","debbano","debbono","deva","deve","devi","devo","devono","dobbiamo","dobbiate","dové","dovei","dovemmo","dovendo","doverono","dovesse","dovessero","dovessi","dovessimo","doveste","dovesti","dovete","dovette","dovettero","dovetti","doveva","dovevamo","dovevano","dovevate","dovevi","dovevo","dovrà","dovrai","dovranno","dovrebbe","dovrebbero","dovrei","dovremmo","dovremo","dovreste","dovresti","dovrete","dovrò","dovuto","sa","sai","sanno","sapemmo","sapendo","sapesse","sapessero","sapessi","sapessimo","sapeste","sapesti","sapete","sapeva","sapevamo","sapevano","sapevate","sapevi","sapevo","sappi","sappia","sappiamo","sappiano","sappiate","saprà","saprai","sapranno","saprebbe","saprebbero","saprei","sapremmo","sapremo","sapreste","sapresti","saprete","saprò","saputo","seppe","seppero","seppi","so","soglia","sogliamo","sogliano","sogliate","soglio","sogliono","solesse","solessero","solessi","solessimo","soleste","solete","soleva","solevamo","solevano","solevate","solevi","solevo","suoli","sta","stai","stando","stanno","stante","starà","starai","staranno","staremo","starete","starò","stava","stavamo","stavano","stavate","stavi","stavo","stemmo","stessero","stessimo","steste","stesti","stette","stettero","stetti","stia","stiamo","stiano","stiate","sto"],k=["avere","l'avere","aver","l'aver","potere","poter","volere","voler","dovere","dover","sapere","saper","solere","stare","star"],j=["è","e'","era","erano","eravamo","eravate","eri","ero","essendo","essente","fosse","fossero","fossi","fossimo","foste","fosti","fu","fui","fummo","furono","sarà","sarai","saranno","sarebbe","sarebbero","sarei","saremmo","saremo","sareste","saresti","sarete","sarò","sei","sia","siamo","siano","siate","siete","sii","sono","stata","state","stati","stato"],_=["essere","esser"],x=["di","del","dello","della","dei","degli","delle","a","ad","al","allo","alla","ai","agli","alle","da","dal","dallo","dalla","dai","dagli","dalle","in","nel","nello","nella","nei","negli","nelle","con","col","collo","colla","coi","cogli","colle","su","sul","sullo","sulla","sui","sugli","sulle","per","pel","pello","pella","pei","pegli","tra","fra","attraverso","circa","contro","davanti","dentro","dietro","entro","escluso","fuori","insieme","intorno","lontano","lungo","mediante","oltre","presso","rasente","riguardo","senza","sopra","sotto","tramite","vicino"],q=["e","ed","o","oppure"],E=["tale","l'uno","l'altro","tali","dall'altra"],A=["anziché","anzichè","fuorché","fuorchè","giacché","giacchè","laddove","modo","ove","qualora","quantunque","volta"],T=["dice","dicono","diceva","dicevano","disse","dissero","detto","domanda","domandano","domandava","domandavano","domandò","domandarono","domandato","afferma","affermato","aggiunge","aggiunto","ammette","ammesso","annuncia","annunciato","assicura","assicurato","chiede","chiesto","commentato","conclude","concluso","continua","continuato","denuncia","denunciato","dichiara","dichiarato","esordisce","esordito","inizia","iniziato","precisato","prosegue","proseguito","racconta","raccontato","recita","recitato","replica","replicato","risponde","risposto","rimarca","rimarcato","rivela","rivelato","scandisce","scandito","scrive","scritto","segnala","segnalato","sottolinea","sottolineato","spiega","spiegato"],O=["affermare","aggiungere","ammettere","annunciare","assicurare","chiedere","commentare","concludere","continuare","denunciare","dichiarare","esordire","iniziare","precisare","proseguire","raccontare","recitare","replicare","rispondere","rimarcare","rivelare","scandire","scrivere","segnalare","sottolineare","spiegare"],S=["eventualmente","forse","mai","probabilmente"],M=["addirittura","assolutamente","ben","estremamente","mica","nemmeno","quasi"],P=["fa","fa'","faccia","facciamo","facciano","facciate","faccio","facemmo","facendo","facente","facesse","facessero","facessi","facessimo","faceste","facesti","faceva","facevamo","facevano","facevate","facevi","facevo","fai","fanno","farà","farai","faranno","farebbe","farebbero","farei","faremmo","faremo","fareste","faresti","farete","farò","fate","fatto","fece","fecero","feci","fo"],C=["fare"],R=["anteriore","anteriori","precedente","precedenti","facile","facili","facilissimo","facilissima","facilissimi","facilissime","semplice","semplici","semplicissima","semplicissimo","semplicissimi","semplicissime","semplicemente","rapido","rapida","rapidi","rapide","veloce","veloci","differente","difficile","difficili","difficilissimo","difficilissima","difficilissimi","difficilissime","basso","bassa","bassi","basse","alto","alta","alti","alte","normale","normali","normalmente","corto","corta","corti","corte","breve","brevi","recente","recenti","totale","totali","completo","completa","completi","complete","possibile","possibili","ultimo","ultima","ultimi","ultime","differenti","simile","simili","prossimo","prossima","prossimi","prossime","giusto","giusta","giusti","giuste","giustamente","cosiddetto","bene","meglio","benissimo","male","peggio","malissimo","comunemente","constantemente","direttamente","esattamente","facilmente","generalmente","leggermente","personalmente","recentemente","sinceramente","solamente","avanti","indietro"],D=["nuovo","nuova","nuovi","nuove","vecchio","vecchia","vecchi","vecchie","bello","bella","belli","belle","bellissimo","bellissima","bellissimi","bellissime","buono","buona","buoni","buone","buonissimo","buonissima","buonissimi","buonissime","grande","grandi","grandissimo","grandissima","grandissimi","grandissime","lunga","lunghi","lunghe","piccolo","piccola","piccoli","piccole","piccolissimo","piccolissima","piccolissimi","piccolissime","proprio","propria","propri","proprie","solito","solita","soliti","solite","stesso","stessa","stessi","stesse"],F=["accidenti","acciderba","ah","aah","ahi","ahia","ahimé","bah","beh","boh","ca","caspita","chissà","de'","diamine","ecco","eh","ehi","eeh","ehilà","ehm","gna","ih","magari","macché","macchè","mah","mhm","nca","neh","oibò","oh","ohe","ohé","ohilá","ohibò","ohimé","okay","ok","olà","poh","pota","puah","sorbole","to'","toh","ts","uff","uffa","uh","uhi"],B=["cc","g","hg","hl","kg","l","prs","pz","q.b.","qb","ta","tz"],$=["minuto","minuti","ora","ore","giorno","giorni","giornata","giornate","settimana","settimane","mese","mesi","anno","anni","oggi","domani","ieri","stamattina","stanotte","stasera","tardi"],I=["aspetto","aspetti","caso","casi","cose","idea","idee","istanza","maniera","oggetto","oggetti","parte","parti","persona","persone","pezzo","pezzi","punto","punti","sorta","sorte","tema","temi","volte"],L=["sì","no","non","€","euro","euros","ecc","eccetera"],W=["sig.na","sig.ra","sig","sigg","dr","dr.ssa","dott","dott.ssa","prof","prof.ssa","gent","gent.mo","gent.mi","gent.ma","gent.me","egr","egr.i","egr.ia","egr.ie","preg.mo","preg.mo","preg.ma","preg.me","ill","ill.mo","ill.mi","ill.ma","ill.me","cav","on","spett"]},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return{filteredAtEnding:[].concat(r,v,P,j,T,R),filteredAtBeginning:C,filteredAtBeginningAndEnding:[].concat(n,_,x,c,S,p,u),filteredAnywhere:[].concat(i,s,l,d,z,D,o,k,A,h,M,g,q,E,w,m,b,I,f,F,B,$),cannotDirectlyPrecedePassiveParticiple:[].concat(n,_,d,l,u,z,g,y,w,o,r,M,A,P),cannotBeBetweenPassiveAuxiliaryAndParticiple:[].concat(h,v),all:[].concat(n,o,r,c,u,z,s,l,m,p,g,y,f,b,h,v,w,k,j,_,x,q,E,A,T,i,O,S,M,P,D,C,R,F,$,I,B,L,W,d)}};var i=(0,function(a){return a&&a.__esModule?a:{default:a}}(t(742)).default)().singleWords,n=["le","la","les","un","une","des","aux","du","au","d'un","d'une","l'un","l'une"],o=["deux","trois","quatre","cinq","six","sept","huit","neuf","dix","onze","douze","treize","quatorze","quinze","seize","dix-sept","dix-huit","dix-neuf","vingt","trente","quarante","cinquante","soixante","soixante-dix","quatre-vingt","quatre-vingt-dix","septante","huitante","octante","nonante","cent","mille","million","milliard"],r=["second","secondes","deuxième","deuxièmes","troisième","troisièmes","quatrième","quatrièmes","cinquième","cinquièmes","sixième","sixièmes","septième","septièmes","huitième","huitièmes","neuvième","neuvièmes","dixième","dixièmes","onzième","onzièmes","douzième","douzièmes","treizième","treizièmes","quatorzième","quatorzièmes","quinzième","quinzièmes","seizième","seizièmes","dix-septième","dix-septièmes","dix-huitième","dix-huitièmes","dix-neuvième","dix-neuvièmes","vingtième","vingtièmes"],s=["je","tu","il","elle","on","nous","vous","ils","elles","qu'il","qu'elle","qu'ils","qu'elles","qu'on","d'elle","d'elles"],d=["moi","toi","lui","soi","eux","d'eux","qu'eux"],l=["me","te"],c=["celui","celle","ceux","celles","ce","celui-ci","celui-là","celle-ci","celle-là","ceux-ci","ceux-là","celles-ci","celles-là","ceci","cela","ça","cette","cet","ces"],u=["mon","ton","son","ma","ta","sa","mes","tes","ses","notre","votre","leur","nos","vos","leurs"],p=["beaucoup","peu","quelque","quelques","tous","tout","toute","toutes","plusieurs","plein","chaque","suffisant","suffisante","suffisantes","suffisants","faible","moins","tant","plus","divers","diverse","diverses"],z=["se"],g=["aucun","aucune","autre","autres","d'autres","certain","certaine","certaines","certains","chacun","chacune","même","mêmes","quelqu'un","quelqu'une","quelques'uns","quelques'unes","autrui","nul","personne","quiconque","rien","d'aucunes","d'aucuns","nuls","nules","l'autre","tel","telle","tels","telles"],m=["qui","que","lequel","laquelle","auquel","auxquels","auxquelles","duquel","desquels","desquelles","dont","où","quoi"],y=["combien","comment","pourquoi","d'où"],w=["quel","quels","quelle"],f=["y","n'y"],b=["là","ici","d'ici","voici"],h=["a","a-t-elle","a-t-il","a-t-on","ai","ai-je","aie","as","as-tu","aura","aurai","auraient","aurais","aurait","auras","aurez","auriez","aurons","auront","avaient","avais","avait","avez","avez-vous","aviez","avions","avons","avons-nous","ayez","ayons","eu","eûmes","eurent","eus","eut","eûtes","j'ai","j'aurai","j'avais","j'eus","ont","ont-elles","ont-ils","vais","vas","va","allons","allez","vont","vais-je","vas-tu","va-t-il","va-t-elle","va-t-on","allons-nous","allez-vous","vont-elles","vont-ils","allé","allés","j'allai","allai","allas","alla","allâmes","allâtes","allèrent","j'allais","allais","allait","allions","alliez","allaient","j'irai","iras","ira","irons","irez","iront","j'aille","aille","ailles","aillent","j'allasse","allasse","allasses","allât","allassions","allassiez","allassent","j'irais","irais","irait","irions","iriez","iraient","allant","viens","vient","venons","venez","viennent","viens-je","viens-de","vient-il","vient-elle","vient-on","venons-nous","venez-vous","viennent-elles","viennent-ils","vins","vint","vînmes","vîntes","vinrent","venu","venus","venais","venait","venions","veniez","venaient","viendrai","viendras","viendra","viendrons","viendrez","viendront","vienne","viennes","vinsse","vinsses","vînt","vinssions","vinssiez","vinssent","viendrais","viendrait","viendrions","viendriez","viendraient","venant","dois","doit","devons","devez","doivent","dois-je","dois-tu","doit-il","doit-elle","doit-on","devons-nous","devez-vous","doivent-elles","doivent-ils","dus","dut","dûmes","dûtes","durent","dû","devais","devait","devions","deviez","devaient","devrai","devras","devra","devrons","devrez","devront","doive","doives","dusse","dusses","dût","dussions","dussiez","dussent","devrais","devrait","devrions","devriez","devraient","peux","peut","pouvons","pouvez","peuvent","peux-je","peux-tu","peut-il","peut-elle","peut-on","pouvons-nous","pouvez-vous","peuvent-ils","peuvent-elles","pus","put","pûmes","pûtes","purent","pu","pouvais","pouvait","pouvions","pouviez","pouvaient","pourrai","pourras","pourra","pourrons","pourrez","pourront","puisse","puisses","puissions","puissiez","puissent","pusse","pusses","pût","pussions","pussiez","pussent","pourrais","pourrait","pourrions","pourriez","pourraient","pouvant","semble","sembles","semblons","semblez","semblent","semble-je","sembles-il","sembles-elle","sembles-on","semblons-nous","semblez-vous","semblent-ils","semblent-elles","semblai","semblas","sembla","semblâmes","semblâtes","semblèrent","semblais","semblait","semblions","sembliez","semblaient","semblerai","sembleras","semblera","semblerons","semblerez","sembleront","semblé","semblasse","semblasses","semblât","semblassions","semblassiez","semblassent","semblerais","semblerait","semblerions","sembleriez","sembleraient","parais","paraît","ait","paraissons","paraissez","paraissent","parais-je","parais-tu","paraît-il","paraît-elle","paraît-on","ait-il","ait-elle","ait-on","paraissons-nous","paraissez-vous","paraissent-ils","paraissent-elles","parus","parut","parûmes","parûtes","parurent","paraissais","paraissait","paraissions","paraissiez","paraissaient","paraîtrai","paraîtras","paraîtra","paraîtrons","paraîtrez","paraîtront","paru","paraisse","paraisses","parusse","parusses","parût","parussions","parussiez","parussent","paraîtrais","paraîtrait","paraîtrions","paraîtriez","paraîtraient","paraitrais","paraitrait","paraitrions","paraitriez","paraitraient","paraissant","mets","met","mettons","mettez","mettent","mets-je","mets-tu","met-il","met-elle","met-on","mettons-nous","mettez-vous","mettent-ils","mettent-elles","mis","mit","mîmes","mîtes","mirent","mettais","mettait","mettions","mettiez","mettaient","mettrai","mettras","mettra","mettrons","mettrez","mettront","mette","mettes","misse","misses","mît","missions","missiez","missent","mettrais","mettrait","mettrions","mettriez","mettraient","mettant","finis","finit","finissons","finissez","finissent","finis-je","finis-tu","finit-il","finit-elle","finit-on","finissons-nous","finissez-vous","finissent-ils","finissent-elles","finîmes","finîtes","finirent","finissais","finissait","finissions","finissiez","finissaient","finirai","finiras","finira","finirons","finirez","finiront","fini","finisse","finisses","finît","finirais","finirait","finirions","finiriez","finiraient","finissant","n'a","n'ai","n'aie","n'as","n'aura","n'aurai","n'auraient","n'aurais","n'aurait","n'auras","n'aurez","n'auriez","n'aurons","n'auront","n'avaient","n'avais","n'avait","n'avez","n'avez-vous","n'aviez","n'avions","n'avons","n'avons-nous","n'ayez","n'ayons","n'ont","n'ont-elles","n'ont-ils","n'allons","n'allez","n'allais","n'allait","n'allions","n'alliez","n'allaient","n'iras","n'ira","n'irons","n'irez","n'iront","qu'a"],v=["avoir","aller","venir","devoir","pouvoir","sembler","paraître","paraitre","mettre","finir","d'avoir","d'aller","n'avoir","l'avoir"],k=["suis","es","est","est-ce","n'est","sommes","êtes","sont","suis-je","es-tu","est-il","est-elle","est-on","sommes-nous","êtes-vous","sont-ils","sont-elles","étais","était","étions","étiez","étaient","serai","seras","sera","serons","serez","seront","serais","serait","serions","seriez","seraient","sois","soit","soyons","soyez","soient","été","n'es","n'est-ce","n'êtes","n'était","n'étais","n'étions","n'étiez","n'étaient","qu'est"],j=["être","d'être"],_=["à","après","d'après","au-delà","au-dessous","au-dessus","avant","avec","concernant","chez","contre","dans","de","depuis","derrière","dès","devant","durant","en","entre","envers","environ","hormis","hors","jusque","jusqu'à","jusqu'au","jusqu'aux","loin","moyennant","outre","par","parmi","pendant","pour","près","quant","sans","sous","sur","travers","vers","voilà"],x=["et","ni","or","ou"],q=["non","pas","seulement","sitôt","aussitôt","d'autre"],E=["afin","autant","comme","d'autant","d'ici","quand","lors","parce","si","tandis"],A=["dit","disent","dit-il","dit-elle","disent-ils","disent-elles","disait","disait-il","disait-elle","disaient-ils","disaient-elles","dirent","demande","demandent","demande-t-il","demande-t-elle","demandent-ils","demandent-elles","demandait","demandaient","demandait-il","demandait-elle","demandaient-ils","demandaient-elles","demanda","demanda-t-il","demanda-t-elle","demandé","pense","pensent","pense-t-il","pense-t-elle","pensent-ils","pensent-elles","pensait","pensaient","pensait-il","pensait-elle","pensaient-ils","pensaient-elles","pensa","pensa-t-il","pensa-t-elle","pensé","affirme","affirme-t-il","affirme-t-elle","affirmé","avoue","avoue-t-il","avoue-t-elle","avoué","concède","concède-t-il","concède-t-elle","concédé","confie","confie-t-il","confie-t-elle","confié","continue","continue-t-il","continue-t-elle","continué","déclame","déclame-t-il","déclame-t-elle","déclamé","déclare","déclare-t-il","déclare-t-elle","déclaré","déplore","déplore-t-il","déplore-t-elle","déploré","explique","explique-t-il","explique-t-elle","expliqué","lance","lance-t-il","lance-t-elle","lancé","narre","narre-t-il","narre-t-elle","narré","raconte","raconte-t-il","raconte-t-elle","raconté","rappelle","rappelle-t-il","rappelle-t-elle","rappelé","réagit","réagit-il","réagit-elle","réagi","répond","répond-il","répond-elle","répondu","rétorque","rétorque-t-il","rétorque-t-elle","rétorqué","souligne","souligne-t-il","souligne-t-elle","souligné","affirme-t-il","affirme-t-elle","ajoute-t-il","ajoute-t-elle","analyse-t-il","analyse-t-elle","avance-t-il","avance-t-elle","écrit-il","écrit-elle","indique-t-il","indique-t-elle","poursuit-il","poursuit-elle","précise-t-il","précise-t-elle","résume-t-il","résume-t-elle","souvient-il","souvient-elle","témoigne-t-il","témoigne-t-elle"],T=["dire","penser","demander","concéder","continuer","confier","déclamer","déclarer","déplorer","expliquer","lancer","narrer","raconter","rappeler","réagir","répondre","rétorquer","souligner","affirmer","ajouter","analyser","avancer","écrire","indiquer","poursuivre","préciser","résumer","témoigner"],O=["encore","éternellement","immédiatement","compris","comprenant","inclus","naturellement","particulièrement","notablement","actuellement","maintenant","ordinairement","généralement","habituellement","d'habitude","vraiment","finalement","uniquement","peut-être","initialement","déjà","c.-à-d","souvent","fréquemment","régulièrement","simplement","éventuellement","quelquefois","parfois","probable","plausible","jamais","toujours","incidemment","accidentellement","récemment","dernièrement","relativement","clairement","évidemment","apparemment","pourvu"],S=["assez","trop","tellement","presque","très","absolument","extrêmement","quasi","quasiment","fort"],M=["fais","fait","faisons","faites","font","fais-je","fait-il","fait-elle","fait-on","faisons-nous","faites-vous","font-ils","font-elles","fis","fit","fîmes","fîtes","firent","faisais","faisait","faisions","faisiez","faisaient","ferai","feras","fera","ferons","ferez","feront","veux","veut","voulons","voulez","veulent","voulus","voulut","voulûmes","voulûtes","voulurent","voulais","voulait","voulions","vouliez","voulaient","voudrai","voudras","voudra","voudrons","voudrez","voudront","voulu","veux-je","veux-tu","veut-il","veut-elle","veut-on","voulons-nous","voulez-vous","veulent-ils","veulent-elles","voudrais","voudrait","voudrions","voudriez","voudraient","voulant"],P=["faire","vouloir"],C=["antérieur","antérieures","antérieurs","antérieure","précédent","précédents","précédente","précédentes","facile","faciles","simple","simples","vite","vites","vitesse","vitesses","difficile","difficiles","propre","propres","long","longe","longs","longes","longue","longues","bas","basse","basses","ordinaire","ordinaires","bref","brefs","brève","brèves","sûr","sûrs","sûre","sûres","sure","sures","surs","habituel","habituels","habituelle","habituelles","soi-disant","surtout","récent","récents","récente","récentes","total","totaux","totale","totales","complet","complets","complète","complètes","possible","possibles","communément","constamment","facilement","continuellement","directement","légèrement","dernier","derniers","dernière","dernières","différent","différents","différente","différentes","similaire","similaires","pareil","pareils","pareille","pareilles","largement","mal","super","bien","pire","pires","suivants","suivante","suivantes","prochain","prochaine","prochains","prochaines","proche","proches","fur"],R=["nouveau","nouvel","nouvelle","nouveaux","nouvelles","vieux","vieil","vieille","vieilles","beau","bel","belle","belles","bon","bons","bonne","bonnes","grand","grande","grands","grandes","haut","hauts","haute","hautes","petit","petite","petits","petites","meilleur","meilleurs","meilleure","meilleures","joli","jolis","jolie","jolies","gros","grosse","grosses","mauvais","mauvaise","mauvaises","dernier","derniers","dernière","dernières"],D=["ah","ha","oh","ho","bis","plouf","vlan","ciel","pouf","paf","crac","hurrah","allo","stop","bravo","ô","eh","hé","aïe","oef","ahi","fi","zest","hem","holà","chut"],F=["mg","g","kg","ml","dl","cl","l","grammes","gram","once","onces","oz","lbs","càc","cc","càd","càs","càt","cd","cs","ct"],B=["minute","minutes","heure","heures","journée","journées","semaine","semaines","mois","année","années","aujourd'hui","demain","hier","après-demain","avant-hier"],$=["chose","choses","façon","façons","pièce","pièces","truc","trucs","fois","cas","aspect","aspects","objet","objets","idée","idées","thème","thèmes","sujet","sujets","personnes","manière","manières","sorte","sortes"],I=["ne","oui","d'accord","amen","euro","euros","etc"],L=["mme","mmes","mlle","mlles","mm","dr","pr"],W=["jr","sr"]},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return{filteredAtEnding:[].concat(o,D,F,P,q,x),filteredAtBeginningAndEnding:[].concat(E,T,h,v,R,z,g,m),filteredAnywhere:[].concat(i,S,n,r,s,d,l,c,u,p,y,w,f,b,k,A,O,M,C,B,$,I,L,W,U,j),cannotDirectlyPrecedePassiveParticiple:[].concat(E,u,z,n,o,M,P,C,f,y,w),cannotBeBetweenPassiveAuxiliaryAndParticiple:[].concat(j,q,g),all:[].concat(i,S,n,r,s,d,l,c,u,p,y,w,f,b,k,j,A,O,M,C,B,$,I,L,W,U,_,E,T,h,v,R,z,g,m,o,D,F,P,q,x)}};var i=(0,function(a){return a&&a.__esModule?a:{default:a}}(t(745)).default)().singleWords,n=["czterech","czterem","czterema","czternaście","czternastce","czternastek","czternastka","czternastką","czternastkach","czternastkami","czternastkę","czternastki","czternastko","czternastkom","czternastoma","czternastu","cztery","czwórce","czwórek","czwórka","czwórką","czwórkach","czwórkami","czwórkę","czwórki","czwórko","czwórkom","czworo","dwa","dwadzieścia","dwanaście","dwie","dwiema","dwóch","dwójce","dwoje","dwójek","dwójka","dwójką","dwójkach","dwójkami","dwójki","dwójko","dwójkom","dwóm","dwoma","dwudziestce","dwudziestek","dwudziestka","dwudziestką","dwudziestkach","dwudziestkami","dwudziestkę","dwudziestki","dwudziestkom","dwudziestoma","dwudziestu","dwunastce","dwunastek","dwunastka","dwunastką","dwunastkach","dwunastkami","dwunastkę","dwunastki","dwunastko","dwunastkom","dwunastoma","dwunastu","dziesiątce","dziesiątek","dziesiątka","dziesiątką","dziesiątkach","dziesiątkami","dziesiątkę","dziesiątki","dziesiątko","dziesiątkom","dziesięć","dziesięcioma","dziesięciu","dziewiątce","dziewiątek","dziewiątka","dziewiątką","dziewiątkach","dziewiątkami","dziewiątkę","dziewiątki","dziewiątko","dziewiątkom","dziewięć","dziewięcioma","dziewięciorga","dziewięciorgiem","dziewięciorgu","dziewięcioro","dziewięciu","dziewiętnaście","dziewiętnastce","dziewiętnastek","dziewiętnastka","dziewiętnastką","dziewiętnastkach","dziewiętnastkami","dziewiętnastkę","dziewiętnastki","dziewiętnastkom","dziewiętnastoma","dziewiętnastu","jeden","jedenaście","jedenastce","jedenastek","jedenastka","jedenastką","jedenastkach","jedenastkami","jedenastkę","jedenastki","jedenastko","jedenastkom","jedenastoma","jedenastu","jedna","jedną","jednego","jednej","jednemu","jedno","jednym","jedynce","jedynek","jedynka","jedynką","jedynkach","jedynkami","jedynkę","jedynki","jedynko","jedynkom","miliard","miliarda","miliardach","miliardami","miliardem","miliardom","miliardów","miliardowi","miliardy","miliardzie","milion","miliona","milionach","milionami","milionem","milionie","milionom","milionów","milionowi","miliony","ósemce","ósemek","ósemka","ósemką","ósemkach","ósemkami","ósemkę","ósemki","ósemko","ósemkom","osiem","osiemnaście","osiemnastce","osiemnastek","osiemnastka","osiemnastką","osiemnastkach","osiemnastkam","osiemnastkę","osiemnastki","osiemnastko","osiemnastkom","osiemnastoma","osiemnastu","ośmioma","ośmiorga","ośmiorgiem","ośmiorgu","ośmioro","ośmiu","piątce","piątek","piątka","piątką","piątkach","piątkami","piątkę","piątki","piątko","piątkom","pięć","pięcioma","pięciorga","pięciorgiem","pięciorgu","pięcioro","pięciu","piętnaście","piętnastce","piętnastek","piętnastka","piętnastką","piętnastkach","piętnastkami","piętnastkę","piętnastki","piętnastko","piętnastkom","piętnastoma","piętnastu","raz","setce","setek","setka","setkach","setkami","setkę","setki","setkom","siedem","siedemnaście","siedemnastce","siedemnastek","siedemnastka","siedemnastką","siedemnastkach","siedemnastkami","siedemnastkę","siedemnastki","siedemnastko","siedemnastkom","siedemnastoma","siedemnastu","siedmioma","siedmiorga","siedmiorgiem","siedmiorgu","siedmioro","siedmiu","siódemce","siódemek","siódemka","siódemką","siódemkach","siódemkami","siódemkę","siódemki","siódemko","siódemkom","sto","stoma","stu","sześć","sześcioma","sześciorga","sześciorgiem","sześciorgu","sześcioro","sześciu","szesnaście","szesnastce","szesnastek","szesnastka","szesnastką","szesnastkach","szesnastkami","szesnastkę","szesnastki","szesnastko","szesnastkom","szesnastoma","szesnastu","szóstce","szóstek","szóstka","szóstką","szóstkach","szóstkami","szóstkę","szóstki","szóstko","szóstkom","trójce","troje","trójek","trójka","trójką","trójkach","trójkami","trójki","trójko","trójkom","trzech","trzem","trzema","trzy","trzynaście","trzynastce","trzynastek","trzynastka","trzynastką","trzynastkach","trzynastkami","trzynastkę","trzynastki","trzynastko","trzynastkom","trzynastoma","trzynastu","tysiąc","tysiąca","tysiącach","tysiącami","tysiące","tysiącem","tysiącom","tysiącowi","tysiącu","tysięcy"],o=["czternaści","czternasta","czternastą","czternaste","czternastego","czternastej","czternastemu","czternasty","czternastych","czternastym","czternastymi","czwarci","czwarta","czwartą","czwarte","czwartego","czwartej","czwartemu","czwarty","czwartych","czwartym","czwartymi","drudzy","druga","drugą","drugi","drugich","drugie","drugiego","drugiej","drugiemu","drugim","drugimi","dwudzieści","dwudziesta","dwudziestą","dwudzieste","dwudziestego","dwudziestej","dwudziestemu","dwudziesty","dwudziestych","dwudziestym","dwudziestymi","dwunaści","dwunasta","dwunastą","dwunaste","dwunastego","dwunastej","dwunastemu","dwunasty","dwunastych","dwunastym","dwunastymi","dziesiąci","dziesiąta","dziesiątą","dziesiąte","dziesiątego","dziesiątej","dziesiątemu","dziesiąty","dziesiątych","dziesiątym","dziesiątymi","dziewiąci","dziewiąta","dziewiątą","dziewiąte","dziewiątego","dziewiątej","dziewiątemu","dziewiąty","dziewiątych","dziewiątym","dziewiątymi","dziewiętnaści","dziewiętnasta","dziewiętnastą","dziewiętnaste","dziewiętnastego","dziewiętnastej","dziewiętnastemu","dziewiętnasty","dziewiętnastych","dziewiętnastym","dziewiętnastymi","jedenaści","jedenasta","jedenastą","jedenaste","jedenastego","jedenastej","jedenastemu","jedenasty","jedenastych","jedenastym","jedenastymi","osiemnaści","osiemnasta","osiemnastą","osiemnaste","osiemnastego","osiemnastej","osiemnastemu","osiemnasty","osiemnastych","osiemnastym","osiemnastymi","ósma","ósmą","ósme","ósmego","ósmej","ósmemu","óśmi","ósmy","ósmych","ósmym","ósmymi","piąci","piąta","piątą","piąte","piątego","piątej","piątemu","piąty","piątych","piątym","piątymi","pierwsi","pierwsza","pierwszą","pierwsze","pierwszego","pierwszej","pierwszemu","pierwszy","pierwszych","pierwszym","pierwszymi","piętnaści","piętnasta","piętnastą","piętnaste","piętnastego","piętnastej","piętnastemu","piętnasty","piętnastych","piętnastym","piętnastymi","siedemnaści","siedemnasta","siedemnastą","siedemnaste","siedemnastego","siedemnastej","siedemnastemu","siedemnasty","siedemnastych","siedemnastym","siedemnastymi","siódma","siódmą","siódme","siódmego","siódmej","siódmemu","siódmi","siódmy","siódmych","siódmym","siódmymi","szesnaści","szesnasta","szesnastą","szesnaste","szesnastego","szesnastej","szesnastemu","szesnasty","szesnastych","szesnastymi","szóści","szósta","szóstą","szóste","szóstego","szóstej","szóstemu","szósty","szóstych","szóstym","szóstymi","trzeci","trzecia","trzecią","trzecich","trzecie","trzeciego","trzeciej","trzeciemu","trzecim","trzecimi","trzynaści","trzynasta","trzynastą","trzynaste","trzynastego","trzynastej","trzynastemu","trzynasty","trzynastych","trzynastym","trzynastymi"],r=["ja","my","on","ona","one","oni","ono","ty","wy"],s=["cię","ciebie","go","ich","ją","je","jego","mnie","nas","nią","nich","nie","niego","was"],d=["jej","niej"],l=["mi","ci","im","jemu","mu","nam","niemu","nim","tobie","wam"],c=["mną","nami","nią","nim","nimi","tobą","wami"],u=["myśmy","wyście","żeście","żeśmy"],p=["doń","nań","zeń"],z=["ich","jego","jej","ma","mą","me","mego","mej","memu","moi","moich","moim","moimi","mój","moja","moją","moje","mojego","mojej","mojemu","mych","mym","mymi","nasi","nasz","nasza","naszą","nasze","naszego","naszej","naszemu","naszych","naszym","naszymi","swa","swą","swe","swego","swej","swemu","swoi","swoich","swoim","swoimi","swój","swoja","swoją","swoje","swojego","swojej","swojemu","swych","swym","swymi","twa","twą","twe","twego","twej","twemu","twoi","twoich","twoim","twoimi","twój","twoja","twoją","twoje","twojego","twojej","twojemu","twych","twym","twymi","wasi","wasz","wasza","waszą","wasze","waszego","waszej","waszemu","waszych","waszym","waszymi"],g=["się"],m=["siebie","sobą"],y=["czyi","czyich","czyim","czyimi","czyj","czyja","czyją","czyje","czyjego","czyjej","czyjemu","kim","kogo","komu","kto"],w=["czy","czyś","czyśbyś","dlaczego","dokąd","dokądże","dokądżeś","gdzie","gdzież","gdzieżeś","ile","ileż","jak","jakbyś","jakże","jakżebyś","jakżeś","kiedy","którędy","którędyż","skąd","skądże","skądżeś"],f=["co","czego","czemu","czym","jacy","jaka","jaką","jaki","jakich","jakie","jakiego","jakiej","jakiemu","jakim","jakimi","która","którą","które","którego","której","któremu","który","których","którym","którymi","którzy"],b=["coś","czegoś","czemuś","czyichkolwiek","czyichś","czyikolwiek","czyimikolwiek","czyimiś","czyimkolwiek","czyimkolwiem","czyimś","czyiś","czyjakolwiek","czyjąkolwiek","czyjaś","czyjąś","czyjegokolwiek","czyjegoś","czyjejkolwiek","czyjejś","czyjekolwiek","czyjemukolwiek","czyjemuś","czyjeś","czyjkolwiek","czymś","dlaczegoś","dokądkolwiek","dokądś","gdziekolwiek","gdzieś","ilekolwiek","ileś","jacykolwiek","jacyś","jakakolwiek","jakąkolwiek","jakaś","jakąś","jakichkolwiek","jakichś","jakiegokolwiek","jakiegoś","jakiejkolwiek","jakiejś","jakiekolwiek","jakiemukolwiek","jakiemuś","jakieś","jakikolwiek","jakimikolwiek","jakimkolwiek","jakimś","jakiś","jakkolwiek","jakoś","każda","każdą","każde","każdego","każdej","każdemu","każdy","każdym","kiedykolwiek","kiedyś","kimkolwiek","kimś","kogokolwiek","kogoś","komukolwiek","komuś","ktokolwiek","którakolwiek","którąkolwiek","któraś","którąś","którędykolwiek","którędyś","któregokolwiek","któregoś","którejkolwiek","którejś","którekolwiek","któremukolwiek","któremuś","któreś","którychkolwiek","którychś","którykolwiek","którymikolwiek","którymiś","którymkolwiek","którymś","któryś","którzykolwiek","którzyś","ktoś","nawzajem","nic","niczego","niczemu","niczyi","niczyich","niczyim","niczyimi","niczyj","niczyja","niczyją","niczyjego","niczyjej","niczyjemu","niczym","nikim","nikogo","nikogokolwiek","nikomu","nikt","skądkolwiek","skądś","wszyscy","wszyskiego","wszystkich","wszystkie","wszystkiemu","wszystkim","wszystkimi","wszystko","żaden","żadna","żadną","żadne","żadnego","żadnej","żadnemu","żadni","żadnych","żadnym","żadnymi"],h=["ci","dlatego","ów","owa","ową","owe","owego","owej","owemu","owi","owo","owych","owym","stąd","stamtąd","ta","tacy","tak","taka","taką","taki","takich","takie","takiego","takiej","takiemu","takim","takimi","tam","tamci","tamta","tamtą","tamte","tamtego","tamtej","tamtemu","tamten","tamto","tamtych","tamtym","tamtymi","tą","te","tę","tędy","tego","tegoż","tej","temu","ten","to","tu","tutaj","tych","tyle","tyloma","tylu","tym","tymi","wtedy"],v=["ciut","część","części","częścią","częściach","częściami","częściom","dość","dosyć","dużo","kilka","kilkadziesiąt","kilkanaście","kilkaset","kilknasty","kilkoma","kilku","kilkudziesiąte","kilkudziesiątego","kilkudziesiątej","kilkudziesiąty","kilkudziesiątych","kilkudziesiątym","kilkudziesiątymi","kilkudziesięcioma","kilkudziesięciu","kilkunasta","kilkunastą","kilkunaste","kilkunastego","kilkunastej","kilkunastemu","kilkunastoma","kilkunastu","kilkunastym","kilkuset","kilkustoma","kiludziesiąta","mało","malutko","mniej","mnóstwa","mnóstwem","mnóstwie","mnóstwo","mnóstwu","multum","nadto","najmniej","najwięcej","nieco","niedużo","niejednokroć","niektóre","niektórzy","niektórych","niektórym","niektórymi","niemało","niewiele","niewieloma","niewielu","oba","obaj","obie","oboje","obojga","obojgiem","obojgu","obóm","oboma","obu","obydwa","obydwaj","obydwie","obydwiema","obydwóch","obydwoje","obydwojgiem","obydwojgu","obydwóm","obydwoma","obydwu","odrobiną","odrobince","odrobinę","odrobinie","odrobinką","odrobinkę","odrobinki","odrobiny","parę","parędziesiąt","parędziesięcioma","parędziesięciu","paręnaście","paręnastoma","paręnastu","parokroć","paroma","paru","parze","pełno","pół","półczwarta","połowa","połową","połowie","połowy","półtora","półtorej","sporo","trochę","trochu","troszeczkę","troszkę","wcale","więcej","większość","większości","większością","większościach","większościami","większościom","wiele","wielokrotnie","wieloma","wielu"],k=["czasem","często","nigdy","rzadko","zawsze"],j=["chcą","chcąc","chcąca","chcące","chcący","chce","chcę","chcecie","chcemy","chcesz","chciał","chciała","chciałaby","chciałabym","chciałabyś","chciałam","chciałaś","chciałby","chciałbym","chciałbyś","chciałem","chciałeś","chciały","chciałyby","chciałybyście","chciałybyśmy","chciałyście","chciałyśmy","chcieli","chcieliby","chcielibyście","chcieliście","chcieliśmy","chcono","ma","macie","mają","mając","mam","mamy","masz","miał","miała","miałaby","miałabym","miałabyś","miałam","miałaś","miałby","miałbym","miałbyś","miałem","miałeś","miało","miałoby","miały","miałyby","miałybyście","miałybyśmy","miałyście","miałyśmy","miano","miej","miejąca","miejące","miejący","miejcie","miejmy","mieli","mieliby","mielibyście","mielibyśmy","mieliście","mieliśmy","mogą","mogąc","mogąca","mogące","mogący","mogę","mógł","mogła","mogłaby","mogłabym","mogłabyś","mogłam","mogłaś","mógłby","mógłbym","mógłbyś","mogłem","mogłeś","mogli","mogliby","moglibyście","moglibyśmy","mogliście","mogliśmy","mogły","mogłyby","mogłybyście","mogłybyśmy","mogłyście","mogłyśmy","może","możecie","możemy","możesz","można","możnaby","musi","musiał","musiała","musiałaby","musiałabym","musiałabyś","musiałam","musiałaś","musiałby","musiałbym","musiałbyś","musiałem","musiałeś","musiało","musiałoby","musiały","musiałyby","musiałybyście","musiałybyśmy","musiałyście","musiałyśmy","musiano","musicie","musieli","musieliby","musielibyście","musielibyśmy","musieliście","musieliśmy","musimy","musisz","muszą","musząc","musząca","muszące","muszący","muszę","należy","niech","potrafi","potrafią","potrafiąc","potrafiąca","potrafiące","potrafiący","potraficie","potrafię","potrafiłaby","potrafiłabym","potrafiłabyś","potrafiłam","potrafiłaś","potrafiłbym","potrafiłbyś","potrafiłem","potrafiłeś","potrafili","potrafiliby","potrafilibyście","potrafilibyśmy","potrafiliście","potrafiliśmy","potrafiło","potrafiłoby","potrafiłyby","potrafiłybyście","potrafiłybyśmy","potrafiłyście","potrafiłyśmy","potrafimy","potrafiono","potrafisz","powinien","powinienem","powinieneś","powinna","powinnam","powinnaś","powinne","powinni","powinniście","powinniśmy","powinnyście","powinnyśmy","pozostaje","stają","stając","stająca","stające","stający","staje","staję","stajecie","stajemy","stajesz","stał","stała","stałaby","stałabym","stałabyś","stałam","stałaś","stałby","stałbym","stałbyś","stałem","stałeś","stali","staliby","stalibyście","stalibyśmy","staliście","staliśmy","stało","stały","stałyby","stałybyście","stałybyśmy","stałyście","stałyśmy","stanie","stano","stawać","stawając","stawająca","stawające","stawający","stawał","stawała","stawałaby","stawałabym","stawałabyś","stawałabyście","stawałam","stawałaś","stawałby","stawałbym","stawałbyś","stawałem","stawałeś","stawali","stawaliby","stawalibyście","stawalibyśmy","stawaliście","stawaliśmy","stawały","stawałyby","stawałybyśmy","stawałyście","stawałyśmy","stawano","stawawszy","stawszy","trzeba","warto","wystarczy"],_=["bądź","bądźcie","bądźmy","będą","będąc","będę","będzie","będziecie","będziemy","będziesz","by","był","była","byłaby","byłabym","byłabyś","byłam","byłaś","byłby","byłbym","byłbyś","byłem","byłeś","byli","byliby","bylibyście","bylibyśmy","byliście","byliśmy","było","byłoby","były","byłyby","byłybyście","byłybyśmy","byłyście","byłyśmy","bym","byś","byście","byśmy","byto","bywało","jest","jestem","jesteś","jesteście","jesteśmy","są","zostają","zostając","zostająca","zostające","zostający","zostaje","zostaję","zostajecie","zostajemy","zostajesz","został","została","zostałaby","zostałabym","zostałabyś","zostałam","zostałaś","zostałby","zostałbym","zostałbyś","zostałem","zostałeś","zostali","zostaliby","zostalibyście","zostalibyśmy","zostaliście","zostaliśmy","zostało","zostaloby","zostały","zostałyby","zostałybyście","zostałybyśmy","zostałyście","zostałyśmy","zostań","zostaną","zostańcie","zostanę","zostanie","zostaniecie","zostaniemy","zostaniesz","zostańmy","zostawało","zostawano","zostawszy"],x=["być","zostać"],q=["chcieć","mieć","móc","musieć","potrafić","stać"],E=["bez","beze","blisko","daleko","dla","do","dole","dookoła","górze","jako","koło","ku","między","mimo","na","nad","nade","naokoło","naprzeciwko","niedaleko","nieopodal","niż","o","obok","od","ode","około","oprócz","po","pod","podczas","pode","pomiędzy","ponad","poniżej","poprzek","poprzez","pośród","powyżej","poza","przeciw","przeciwko","przed","przede","przez","przeze","przy","spodem","spośród","spoza","u","w","wbrew","we","wedle","wewnątrz","wpół","wraz","wśród","wzdłuż","z","za","ze","zza"],A=["bliska","daleka","przodu","tyłu"],T=["albo","ani","bądź","i","lub","oraz","tylko"],O=["aż","by","czy","gdyby","jak","jeśli","jeżeli","że"],S=["ano","ciągu","coraz","dzięki","chyba","jakby","jednocześnie","jeszcze","już","nadal","nagle","znowu","prawdopodobnie","niestety","dziś","dzisiaj","oczywiście","względem","m.in.","właśnie","zaraz"],M=["bierz","bierzcie","bierzecie","bierzemy","bierzesz","bierzmy","biorą","biorąc","biorąca","biorące","biorący","biorę","brał","brała","brałaby","brałabym","brałabyś","brałam","brałaś","brałby","brałbym","brałbyś","brałem","brałeś","brali","braliby","bralibyście","bralibyśmy","braliście","braliśmy","brało","brałoby","brały","brałyby","brałybyście","brałybyśmy","brałyście","brałyśmy","brany","da","dacie","dadzą","daj","dają","dając","dająca","dające","dający","dajcie","daje","daję","dajecie","dajemy","dajesz","dajmy","dał","dała","dałaby","dałabym","dałabyś","dałam","dałaś","dałby","dałbym","dałbyś","dałem","dałeś","dali","daliby","dalibyście","dalibyśmy","daliście","daliśmy","dało","dałoby","dały","dałyby","dałybyście","dałybyśmy","dałyście","dałyśmy","dam","damy","dana","dano","dany","dasz","dawaj","dawajcie","dawajmy","dawał","dawała","dawałaby","dawałabym","dawałabyś","dawałam","dawałaś","dawałby","dawałbym","dawałbyś","dawałem","dawałeś","dawali","dawaliby","dawalibyście","dawalibyśmy","dawaliście","dawaliśmy","dawało","dawały","dawałyby","dawałybyście","dawałybyśmy","dawałyście","dawałyśmy","dawana","dawane","dawano","dawany","idą","idąc","idąca","idące","idący","idę","idź","idźcie","idzie","idziecie","idziemy","idziesz","idźmy","rób","róbcie","robi","robią","robiąc","robiąca","robiące","robiący","robicie","robię","robił","robiła","robiłaby","robiłabym","robiłabyś","robiłam","robiłaś","robiłby","robiłbym","robiłbyś","robiłem","robiłeś","robili","robilibiście","robiliby","robilibyśmy","robiliście","robiliśmy","robiło","robiły","robiłyby","robiłybyście","robiłybyśmy","robiłyście","robiłyśmy","robimy","robiono","robiony","robisz","róbmy","stanowi","stanowią","stanowiły","stanowili","stoi","stoicie","stoimy","stoisz","stój","stoją","stojąc","stojąca","stojące","stojący","stójcie","stoję","stójmy","świadczy","szedł","szedłby","szedłbym","szedłbyś","szedłem","szedłeś","szła","szłaby","szłabym","szłabyś","szłam","szłaś","szli","szliby","szlibyście","szlibyśmy","szliście","szliśmy","szło","szłoby","szły","szłyby","szłybyście","szłybyśmy","szłyście","uprawia","uprawiacie","uprawiają","uprawiając","uprawiająca","uprawiające","uprawiający","uprawiał","uprawiała","uprawiałaby","uprawiałabym","uprawiałabyś","uprawiałam","uprawiałaś","uprawiałby","uprawiałbym","uprawiałbyś","uprawiałem","uprawiałeś","uprawiali","uprawialiby","uprawialibyście","uprawialibyśmy","uprawialiście","uprawialiśmy","uprawiało","uprawiałoby","uprawiały","uprawiałyby","uprawiałybyście","uprawiałybyśmy","uprawiałyście","uprawiałyśmy","uprawiam","uprawiamy","uprawiana","uprawiane","uprawiano","uprawiany","uprawiasz","weź","weźcie","wezmą","wezmę","weźmie","weźmiecie","weźmiemy","weźmiesz","weźmy","wykonuj","wykonują","wykonując","wykonująca","wykonujące","wykonujący","wykonujcie","wykonuje","wykonuję","wykonujecie","wykonujemy","wykonujesz","wykonujmy","wykonywał","wykonywała","wykonywałaby","wykonywałabym","wykonywałabyś","wykonywałam","wykonywałaś","wykonywałby","wykonywałbym","wykonywałbyś","wykonywałem","wykonywałeś","wykonywali","wykonywaliby","wykonywalibyście","wykonywalibyśmy","wykonywaliście","wykonywaliśmy","wykonywało","wykonywałoby","wykonywały","wykonywałyby","wykonywałybyście","wykonywałybyśmy","wykonywałyście","wykonywałyśmy","wykonywana","wykonywane","wykonywany","wziął","wziąłby","wziąłbym","wziąłbyś","wziąłem","wziąłeś","wziąwszy","wzięła","wzięłaby","wzięłabym","wzięłabyś","wzięłam","wzięłaś","wzięli","wzięliby","wzięlibyście","wzięlibyśmy","wzięliście","wzięliśmy","wzięło","wzięłoby","wzięły","wzięłyby","wzięłybyście","wzięłybyśmy","wzięłyście","wzięłyśmy","zrób","zróbcie","zrobi","zrobią","zrobiąc","zrobiąca","zrobiące","zrobiący","zrobicie","zrobię","zrobił","zrobiła","zrobiłaby","zrobiłabym","zrobiłabyś","zrobiłam","zrobiłaś","zrobiłby","zrobiłbym","zrobiłbyś","zrobiłem","zrobiłeś","zrobili","zrobilibiście","zrobiliby","zrobilibyśmy","zrobiliście","zrobiliśmy","zrobiło","zrobiły","zrobiłyby","zrobiłybyście","zrobiłybyśmy","zrobiłyście","zrobiłyśmy","zrobimy","zrobiono","zrobiony","zrobisz","zróbmy"],P=["brać","dać","dawać","iść","robić","stanowić","uprawiać","wykonywać","wziąć","zrobić"],C=["informowali","informowały","informują","informuje","informuję","mówi","mówią","mówię","mówił","mówiła","mówili","mówiły","odpowiada","odpowiadają","odpowiadam","odpowiedział","odpowiedziała","odpowiedziałam","odpowiedziały","odpowiedzieli","odwiedziałam","poinformowałam","poinformowali","poinformowały","powiedział","powiedziała","powiedziałam","powiedziały","powiedzieli","pyta","pytać","pytał","pytała","pytałam","pytali","pytały","pytam","sądzą","sądzę","sądzi","sądzić","sądziłam","sądzili","sądziły","spytał","spytała","spytałam","spytali","spytały","stwierdziały","stwierdzieli","stwierdził","stwierdziła","stwierdziłam","twierdzą","twierdzę","twierdzi","twierdziały","twierdzić","twierdzieli","twierdził","twierdziła","twierdziłam","uważa","uważają","uważał","uważała","uważali","uważały","uważam","wyjaśnia","wyjaśniać","wyjaśniają","wyjaśniam","wyjaśnił","wyjaśniła","wyjaśnili","wyjaśniły","zapytał","zapytała","zapytałam","zapytali","zapytały","zaznacza","zaznaczają","zaznaczam","zaznaczył","zaznaczyła","zaznaczyłam","zaznaczyli","zaznaczyły"],R=["bardziej","bardzo","całkiem","całkowicie","doskonale","dość","dosyć","kompletnie","najbardziej","naprawdę","nawet","nieco","niezbyt","niezmiernie","niezwykle","ogromnie","strasznie","świetnie","wielce","wyjątkowo","zbyt","znacznie","zupełnie"],D=["cała","całą","całe","całego","całej","całemu","cali","cały","całych","całym","całymi","ciekawa","ciekawą","ciekawe","ciekawego","ciekawej","ciekawemu","ciekawi","ciekawy","ciekawych","ciekawym","ciekawymi","dłudzy","długa","długą","długi","długich","długie","długiego","długiej","długiemu","długim","długimi","dłużsi","dłuższa","dłuższą","dłuższe","dłuższego","dłuższej","dłuższemu","dłuższy","dłuższych","dłuższym","dłuższymi","dobra","dobrą","dobre","dobrego","dobrej","dobremu","dobry","dobrych","dobrym","dobrymi","dobrzy","fajna","fajną","fajne","fajnego","fajnej","fajnemu","fajni","fajny","fajnych","fajnym","fajnymi","główna","główną","główne","głównego","głównej","głównemu","główni","główny","głównych","głównym","głównymi","inna","inną","inne","innego","innej","innemu","inni","inny","innych","innym","innymi","krótcy","krótka","krótką","krótki","krótkich","krótkie","krótkiego","krótkiej","krótkiemu","krótkim","krótkimi","krótsi","krótsza","krótszą","krótsze","krótszego","krótszej","krótszemu","krótszych","krótszym","krótszymi","łatwe","łatwego","łatwiejsze","łatwym","lepsi","lepsza","lepszą","lepsze","lepszego","lepszej","lepszemu","lepszy","lepszych","lepszym","lepszymi","mała","małą","małe","małego","małej","małemu","mali","mały","małych","małym","małymi","mniejsi","mniejsza","mniejszą","mniejsze","mniejszego","mniejszej","mniejszemu","mniejszy","mniejszych","mniejszym","mniejszymi","najdłużsi","najdłuższa","najdłuższą","najdłuższe","najdłuższego","najdłuższej","najdłuższemu","najdłuższy","najdłuższych","najdłuższym","najdłuższymi","najkrótsi","najkrótsza","najkrótszą","najkrótsze","najkrótszego","najkrótszej","najkrótszemu","najkrótszych","najkrótszym","najkrótszymi","najłatwiejsze","najlepsi","najlepsza","najlepszą","najlepsze","najlepszego","najlepszej","najlepszemu","najlepszych","najlepszym","najlepszymi","najmniejsi","najmniejsza","najmniejszą","najmniejsze","najmniejszego","najmniejszej","najmniejszemu","najmniejszy","najmniejszych","najmniejszym","najmniejszymi","najniżsi","najniższa","najniższą","najniższe","najniższego","najniższej","najniższemu","najniższy","najniższych","najniższym","najniższymi","najtrudniejsze","najwięksi","największa","największą","największe","największego","największej","największemu","największych","największym","największymi","najwyżsi","najwyższa","najwyższą","najwyższe","najwyższego","najwyższej","najwyższemu","najwyższy","najwyższych","najwyższym","najwyższymi","następna","następną","następne","następnego","następnej","następni","następny","następnych","następnym","następnymi","niewłaściwa","niewłaściwą","niewłaściwe","niewłaściwego","niewłaściwej","niewłaściwemu","niewłaściwi","niewłaściwy","niewłaściwych","niewłaściwym","niewłaściwymi","niscy","niska","niską","niski","niskich","niskie","niskiego","niskiej","niskiemu","niskim","niskimi","niżsi","niższa","niższą","niższe","niższego","niższej","niższemu","niższy","niższych","niższym","niższymi","ostatni","ostatnia","ostatnią","ostatnich","ostatnie","ostatniego","ostatniej","ostatniemu","ostatnim","ostatnimi","poprzedni","poprzednia","poprzednią","poprzednich","poprzednie","poprzedniego","poprzedniej","poprzedniemu","poprzednim","poprzednimi","sam","sama","samą","same","samego","samej","samemu","sami","samo","samych","samym","samymi","trudne","trudnego","trudniejsze","trudnym","więksi","większa","większą","większe","większego","większej","większemu","większych","większym","większymi","wielcy","wielka","wielką","wielki","wielkich","wielkie","wielkiego","wielkiej","wielkiemu","wielkim","wielkimi","właściwa","właściwą","właściwe","właściwego","właściwej","właściwemu","właściwi","właściwy","właściwych","właściwym","właściwymi","wysocy","wysoka","wysoką","wysoki","wysokich","wysokie","wysokiego","wysokiej","wysokiemu","wysokim","wysokimi","wyżsi","wyższa","wyższą","wyższe","wyższego","wyższej","wyższemu","wyższy","wyższych","wyższym","wyższymi"],F=["blisko","bliżej","ciągle","ciężko","czasami","czasem","częściej","często","dalej","daleko","dawniej","dawno","dobrze","dopiero","fajnie","fajniej","gorzej","inaczej","ładnie","łatwiej","łatwo","lepiej","najbliżej","najczęściej","najdalej","najdawniej","najfajniej","najgorzej","najłatwiej","najlepiej","najniżej","najpóźniej","najprościej","najszybciej","najtrudniej","najwcześniej","najwyżej","naprawdę","niedaleko","niedawno","nisko","niżej","ostatnio","pewno","póżniej","późno","prawie","prościej","prosto","prostu","szybciej","szybko","trochę","trudniej","trudno","wcześnie","wcześniej","wolno","wszędzie","wysoko","wyżej","zazwyczaj","źle"],B=["dni","dnia","dniach","dniami","dnie","dzień","dzisiaj","godzin","godzina","godzinach","godzinami","godzinę","godziny","jutro","lata","latach","latami","miesiąc","miesiąca","miesiącach","miesiącami","miesiące","miesiącem","miesiącu","miesięcy","minut","minuta","minutach","minutę","minuty","pojutrze","przedwczoraj","rok","rokiem","roku","sekund","sekunda","sekundach","sekundę","sekundy","tydzień","tygodni","tygodnia","tygodniach","tygodniami","tygodnie","tygodniu","wczoraj"],$=["chwila","chwilą","chwilach","chwilami","chwile","chwilę","chwili","chwilom","część","części","częścią","częściach","częściami","częściom","momencie","moment","ogóle","osób","osoba","osobą","osobach","osobami","osobę","osobie","osobom","osoby","powód","powodach","powodami","powodem","powodom","powodów","powodowi","powodu","powody","powodzie","przypadkiem","przypadku","raz","razach","razami","razem","razie","razom","razów","razowi","razu","razy","rodzaj","rodzajach","rodzajami","rodzajem","rodzajom","rodzajów","rodzajowi","rodzaju","rzecz","rzeczą","rzeczach","rzeczami","rzeczom","rzeczy","sposób","sposobem","sprawa","sprawą","sprawach","sprawami","sprawę","sprawie","sprawom","sprawy","temacie","temat","tematach","tematami","tematem","tematom","tematów","tematowi","tematu","tematy"],I=["dr","dyr","mgr","p","pan","pani","panie","panowie","prof"],L=["a","ach","aha","aj","akurat","ał","aua","auć","ba","brawo","e","ech","ehe","ehm","ej","ejże","ekhm","ekstra","jej","jejku","łał","och","oh","oho","oj","ojej","ojejku","phi","precz","super","uwaga","wow"],W=["°C","°F","ar","ary","arów","arach","c","cl","cm","cm²","cm³","dag","deka","dl","f","ft","g","gram","gramów","gramy","ha","hektar","hektary","hektarów","hektarach","in","kg","kilo","km","km²","cm³","l","litr","litrów","litry","łyżeczka","łyżeczkę","łyżeczki","łyżka","łyżkę","łyżki","m","m²","m³","mg","ml","mm","mm²","mm³","szczypta","szczyptę","szczypty","szklanka","szklankę","szklanki","tuzin"],U=["nie","no","oto","tak","sobie","ok","okej"]},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.default={queue:["wordCount","keywordDensity","subHeadings","stopwords","fleschReading","linkCount","imageCount","urlKeyword","urlLength","metaDescriptionLength","metaDescriptionKeyword","pageTitleKeyword","pageTitleLength","firstParagraph","urlStopwords","keywordDoubles","keyphraseSizeCheck"],stopWords:["a","about","above","after","again","against","all","am","an","and","any","are","as","at","be","because","been","before","being","below","between","both","but","by","could","did","do","does","doing","down","during","each","few","for","from","further","had","has","have","having","he","he'd","he'll","he's","her","here","here's","hers","herself","him","himself","his","how","how's","i","i'd","i'll","i'm","i've","if","in","into","is","it","it's","its","itself","let's","me","more","most","my","myself","nor","of","on","once","only","or","other","ought","our","ours","ourselves","out","over","own","same","she","she'd","she'll","she's","should","so","some","such","than","that","that's","the","their","theirs","them","themselves","then","there","there's","these","they","they'd","they'll","they're","they've","this","those","through","to","too","under","until","up","very","was","we","we'd","we'll","we're","we've","were","what","what's","when","when's","where","where's","which","while","who","who's","whom","why","why's","with","would","you","you'd","you'll","you're","you've","your","yours","yourself","yourselves"],wordsToRemove:[" a"," in"," an"," on"," for"," the"," and"],maxSlugLength:20,maxUrlLength:40,maxMeta:156}},function(a,e,t){"use strict";var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a};Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function a(a,e){for(var t=0;t<e.length;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(a,i.key,i)}}return function(e,t,i){return t&&a(e.prototype,t),i&&a(e,i),e}}(),o=t(2),r=l(t(71)),s=t(35),d=l(t(32));function l(a){return a&&a.__esModule?a:{default:a}}var c=function(a){function e(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};!function(a,e){if(!(a instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var t=function(a,e){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==(void 0===e?"undefined":i(e))&&"function"!=typeof e?a:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this)),n={scores:{noLinksRegular:6,noLinksRecalibration:3,allNofollowed:7,someNoFollowed:8,allFollowed:9},urlTitle:(0,s.createAnchorOpeningTag)("https://yoa.st/34f"),urlCallToAction:(0,s.createAnchorOpeningTag)("https://yoa.st/34g")};return t.identifier="externalLinks",t._config=(0,o.merge)(n,a),t}return function(a,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+(void 0===e?"undefined":i(e)));a.prototype=Object.create(e&&e.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(a,e):a.__proto__=e)}(e,r.default),n(e,[{key:"getResult",value:function(a,e,t){var i=e.getResearch("getLinkStatistics"),n=new d.default;return(0,o.isEmpty)(i)||(n.setScore(this.calculateScore(i)),n.setText(this.translateScore(i,t))),n}},{key:"isApplicable",value:function(a){return a.hasText()}},{key:"calculateScore",value:function(a){return 0===a.externalTotal?this._config.scores.noLinksRegular:a.externalNofollow===a.externalTotal?this._config.scores.allNofollowed:a.externalDofollow<a.externalTotal?this._config.scores.someNoFollowed:a.externalDofollow===a.externalTotal?this._config.scores.allFollowed:null}},{key:"translateScore",value:function(a,e){return 0===a.externalTotal?e.sprintf(e.dgettext("js-text-analysis","%1$sOutbound links%3$s: No outbound links appear in this page. %2$sAdd some%3$s!"),this._config.urlTitle,this._config.urlCallToAction,"</a>"):a.externalNofollow===a.externalTotal?e.sprintf(e.dgettext("js-text-analysis","%1$sOutbound links%3$s: All outbound links on this page are nofollowed. %2$sAdd some normal links%3$s."),this._config.urlTitle,this._config.urlCallToAction,"</a>"):a.externalDofollow===a.externalTotal?e.sprintf(e.dgettext("js-text-analysis","%1$sOutbound links%2$s: Good job!"),this._config.urlTitle,"</a>"):a.externalDofollow<a.externalTotal?e.sprintf(e.dgettext("js-text-analysis","%1$sOutbound links%2$s: There are both nofollowed and normal outbound links on this page. Good job!"),this._config.urlTitle,"</a>"):""}}]),e}();e.default=c},function(a,e,t){"use strict";var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a};Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function a(a,e){for(var t=0;t<e.length;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(a,i.key,i)}}return function(e,t,i){return t&&a(e.prototype,t),i&&a(e,i),e}}(),o=t(2),r=u(t(71)),s=t(35),d=t(228),l=t(666),c=u(t(32));function u(a){return a&&a.__esModule?a:{default:a}}var p=function(a){function e(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};!function(a,e){if(!(a instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var t=function(a,e){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==(void 0===e?"undefined":i(e))&&"function"!=typeof e?a:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this)),n={parametersRecalibration:{lowerBoundary:.3,upperBoundary:.75},scoresRegular:{noMatches:6,oneMatch:9,multipleMatches:9},scoresRecalibration:{noMatches:3,tooFewMatches:3,goodNumberOfMatches:9,tooManyMatches:3},urlTitle:(0,s.createAnchorOpeningTag)("https://yoa.st/33m"),urlCallToAction:(0,s.createAnchorOpeningTag)("https://yoa.st/33n")};return t.identifier="subheadingsKeyword",t._config=(0,o.merge)(n,a),t}return function(a,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+(void 0===e?"undefined":i(e)));a.prototype=Object.create(e&&e.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(a,e):a.__proto__=e)}(e,r.default),n(e,[{key:"getResult",value:function(a,e,t){this._subHeadings=e.getResearch("matchKeywordInSubheadings");var i=new c.default,n=void 0;return n=this.calculateResultRegular(t),i.setScore(n.score),i.setText(n.resultText),i}},{key:"hasSubheadings",value:function(a){return(0,l.getSubheadings)(a.getText()).length>0}},{key:"isApplicable",value:function(a){return a.hasText()&&a.hasKeyword()&&this.hasSubheadings(a)}},{key:"calculateResultRegular",value:function(a){return 1===this._subHeadings.matches?{score:this._config.scoresRegular.oneMatch,resultText:a.sprintf(a.dngettext("js-text-analysis","%1$sKeyphrase in subheading%2$s: Your subheading reflects the topic of your copy. Good job!"),this._config.urlTitle,"</a>")}:this._subHeadings.matches>1?{score:this._config.scoresRegular.multipleMatches,resultText:a.sprintf(a.dngettext("js-text-analysis","%1$sKeyphrase in subheading%2$s: %3$s (out of %4$s) subheadings reflect the topic of your copy. Good job!"),this._config.urlTitle,"</a>",this._subHeadings.matches,this._subHeadings.count)}:{score:this._config.scoresRegular.noMatches,resultText:a.sprintf(a.dngettext("js-text-analysis","%1$sKeyphrase in subheading%3$s: %2$sUse more keyphrases or synonyms in your subheadings%3$s!"),this._config.urlTitle,this._config.urlCallToAction,"</a>")}}},{key:"hasTooFewMatches",value:function(){return this._subHeadings.matches>0&&this._subHeadings.matches<this._minNumberOfSubheadings}},{key:"hasTooManyMatches",value:function(){return this._subHeadings.count>1&&this._subHeadings.matches>this._maxNumberOfSubheadings}},{key:"isOneOfOne",value:function(){return 1===this._subHeadings.count&&1===this._subHeadings.matches}},{key:"hasGoodNumberOfMatches",value:function(){return(0,d.inRangeStartEndInclusive)(this._subHeadings.matches,this._minNumberOfSubheadings,this._maxNumberOfSubheadings)}},{key:"calculateResultRecalibration",value:function(a){return this.hasTooFewMatches()?{score:this._config.scoresRecalibration.tooFewMatches,resultText:a.sprintf(a.dgettext("js-text-analysis","%1$sKeyphrase in subheading%3$s: %2$sUse more keyphrases or synonyms in your higher-level subheadings%3$s!"),this._config.urlTitle,this._config.urlCallToAction,"</a>")}:this.hasTooManyMatches()?{score:this._config.scoresRecalibration.tooManyMatches,resultText:a.sprintf(a.dgettext("js-text-analysis","%1$sKeyphrase in subheading%3$s: More than 75%% of your higher-level subheadings reflect the topic of your copy. That's too much. %2$sDon't over-optimize%3$s!"),this._config.urlTitle,this._config.urlCallToAction,"</a>")}:this.isOneOfOne()?{score:this._config.scoresRecalibration.goodNumberOfMatches,resultText:a.sprintf(a.dgettext("js-text-analysis","%1$sKeyphrase in subheading%2$s: Your higher-level subheading reflects the topic of your copy. Good job!",this._subHeadings.matches),this._config.urlTitle,"</a>")}:this.hasGoodNumberOfMatches()?{score:this._config.scoresRecalibration.goodNumberOfMatches,resultText:a.sprintf(a.dngettext("js-text-analysis","%1$sKeyphrase in subheading%2$s: %3$s of your higher-level subheadings reflects the topic of your copy. Good job!","%1$sKeyphrase in subheading%2$s: %3$s of your higher-level subheadings reflect the topic of your copy. Good job!",this._subHeadings.matches),this._config.urlTitle,"</a>",this._subHeadings.matches)}:{score:this._config.scoresRecalibration.noMatches,resultText:a.sprintf(a.dgettext("js-text-analysis","%1$sKeyphrase in subheading%3$s: %2$sUse more keyphrases or synonyms in your higher-level subheadings%3$s!"),this._config.urlTitle,this._config.urlCallToAction,"</a>")}}}]),e}();e.default=p},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){if((0,n.isUndefined)(a))return[];switch((0,i.default)(a)){case"es":return o.es;case"pl":return o.pl;case"de":return o.de;case"nb":case"nn":return o.nbnn;case"sv":return o.sv;case"fi":return o.fi;case"da":return o.da;case"tr":return o.tr;case"lv":return o.lv;case"is":return o.is;case"fa":return o.fa;case"cs":return o.cs;case"ru":return o.ru;case"eo":return o.eo;case"af":return o.af;case"bal":case"ca":return o.ca;case"ast":return o.ast;case"an":return o.an;case"ay":return o.ay;case"en":return o.en;case"fr":return o.fr;case"it":return o.it;case"nl":return o.nl;case"bm":return o.bm;case"uk":return o.uk;case"br":return o.br;case"ch":return o.ch;case"csb":return o.csb;case"cy":return o.cy;case"ee":return o.ee;case"et":return o.et;case"eu":return o.eu;case"fuc":return o.fuc;case"fj":return o.fj;case"frp":return o.frp;case"fur":return o.fur;case"fy":return o.fy;case"ga":return o.ga;case"gd":return o.gd;case"gl":return o.gl;case"gn":return o.gn;case"gsw":return o.gsw;case"hat":return o.hat;case"haw":return o.haw;case"hr":return o.hr;case"ka":return o.ka;case"kal":return o.kal;case"kin":return o.kin;case"lb":return o.lb;case"li":return o.li;case"lin":return o.lin;case"lt":return o.lt;case"mg":return o.mg;case"mk":return o.mk;case"mri":return o.mri;case"mwl":return o.mwl;case"oci":return o.oci;case"orm":return o.orm;case"pt":return o.pt;case"roh":return o.roh;case"rup":return o.rup;case"ro":return o.ro;case"tlh":return o.tlh;case"sk":return o.sk;case"sl":return o.sl;case"sq":return o.sq;case"hu":return o.hu;case"srd":return o.srd;case"szl":return o.szl;case"tah":return o.tah;case"vec":return o.vec;case"wa":return o.wa;case"yor":return o.yor;default:return[]}};var i=function(a){return a&&a.__esModule?a:{default:a}}(t(76)),n=t(2);var o={es:[{letter:/[\u00F1]/g,alternative:"n"},{letter:/[\u00D1]/g,alternative:"N"},{letter:/[\u00E1]/g,alternative:"a"},{letter:/[\u00C1]/g,alternative:"A"},{letter:/[\u00E9]/g,alternative:"e"},{letter:/[\u00C9]/g,alternative:"E"},{letter:/[\u00ED]/g,alternative:"i"},{letter:/[\u00CD]/g,alternative:"I"},{letter:/[\u00F3]/g,alternative:"o"},{letter:/[\u00D3]/g,alternative:"O"},{letter:/[\u00FA\u00FC]/g,alternative:"u"},{letter:/[\u00DA\u00DC]/g,alternative:"U"}],pl:[{letter:/[\u0105]/g,alternative:"a"},{letter:/[\u0104]/g,alternative:"A"},{letter:/[\u0107]/g,alternative:"c"},{letter:/[\u0106]/g,alternative:"C"},{letter:/[\u0119]/g,alternative:"e"},{letter:/[\u0118]/g,alternative:"E"},{letter:/[\u0142]/g,alternative:"l"},{letter:/[\u0141]/g,alternative:"L"},{letter:/[\u0144]/g,alternative:"n"},{letter:/[\u0143]/g,alternative:"N"},{letter:/[\u00F3]/g,alternative:"o"},{letter:/[\u00D3]/g,alternative:"O"},{letter:/[\u015B]/g,alternative:"s"},{letter:/[\u015A]/g,alternative:"S"},{letter:/[\u017A\u017C]/g,alternative:"z"},{letter:/[\u0179\u017B]/g,alternative:"Z"}],de:[{letter:/[\u00E4]/g,alternative:"ae"},{letter:/[\u00C4]/g,alternative:"Ae"},{letter:/[\u00FC]/g,alternative:"ue"},{letter:/[\u00DC]/g,alternative:"Ue"},{letter:/[\u00F6]/g,alternative:"oe"},{letter:/[\u00D6]/g,alternative:"Oe"},{letter:/[\u00DF]/g,alternative:"ss"},{letter:/[\u1E9E]/g,alternative:"SS"}],nbnn:[{letter:/[\u00E6\u04D5]/g,alternative:"ae"},{letter:/[\u00C6\u04D4]/g,alternative:"Ae"},{letter:/[\u00E5]/g,alternative:"aa"},{letter:/[\u00C5]/g,alternative:"Aa"},{letter:/[\u00F8]/g,alternative:"oe"},{letter:/[\u00D8]/g,alternative:"Oe"},{letter:/[\u00E9\u00E8\u00EA]/g,alternative:"e"},{letter:/[\u00C9\u00C8\u00CA]/g,alternative:"E"},{letter:/[\u00F3\u00F2\u00F4]/g,alternative:"o"},{letter:/[\u00D3\u00D2\u00D4]/g,alternative:"O"}],sv:[{letter:/[\u00E5]/g,alternative:"aa"},{letter:/[\u00C5]/g,alternative:"Aa"},{letter:/[\u00E4]/g,alternative:"ae"},{letter:/[\u00C4]/g,alternative:"Ae"},{letter:/[\u00F6]/g,alternative:"oe"},{letter:/[\u00D6]/g,alternative:"Oe"},{letter:/[\u00E9]/g,alternative:"e"},{letter:/[\u00C9]/g,alternative:"E"},{letter:/[\u00E0]/g,alternative:"a"},{letter:/[\u00C0]/g,alternative:"A"}],fi:[{letter:/[\u00E5]/g,alternative:"aa"},{letter:/[\u00C5]/g,alternative:"Aa"},{letter:/[\u00E4]/g,alternative:"a"},{letter:/[\u00C4]/g,alternative:"A"},{letter:/[\u00F6]/g,alternative:"o"},{letter:/[\u00D6]/g,alternative:"O"},{letter:/[\u017E]/g,alternative:"zh"},{letter:/[\u017D]/g,alternative:"Zh"},{letter:/[\u0161]/g,alternative:"sh"},{letter:/[\u0160]/g,alternative:"Sh"}],da:[{letter:/[\u00E5]/g,alternative:"aa"},{letter:/[\u00C5]/g,alternative:"Aa"},{letter:/[\u00E6\u04D5]/g,alternative:"ae"},{letter:/[\u00C6\u04D4]/g,alternative:"Ae"},{letter:/[\u00C4]/g,alternative:"Ae"},{letter:/[\u00F8]/g,alternative:"oe"},{letter:/[\u00D8]/g,alternative:"Oe"},{letter:/[\u00E9]/g,alternative:"e"},{letter:/[\u00C9]/g,alternative:"E"}],tr:[{letter:/[\u00E7]/g,alternative:"c"},{letter:/[\u00C7]/g,alternative:"C"},{letter:/[\u011F]/g,alternative:"g"},{letter:/[\u011E]/g,alternative:"G"},{letter:/[\u00F6]/g,alternative:"o"},{letter:/[\u00D6]/g,alternative:"O"},{letter:/[\u015F]/g,alternative:"s"},{letter:/[\u015E]/g,alternative:"S"},{letter:/[\u00E2]/g,alternative:"a"},{letter:/[\u00C2]/g,alternative:"A"},{letter:/[\u0131\u00EE]/g,alternative:"i"},{letter:/[\u0130\u00CE]/g,alternative:"I"},{letter:/[\u00FC\u00FB]/g,alternative:"u"},{letter:/[\u00DC\u00DB]/g,alternative:"U"}],lv:[{letter:/[\u0101]/g,alternative:"a"},{letter:/[\u0100]/g,alternative:"A"},{letter:/[\u010D]/g,alternative:"c"},{letter:/[\u010C]/g,alternative:"C"},{letter:/[\u0113]/g,alternative:"e"},{letter:/[\u0112]/g,alternative:"E"},{letter:/[\u0123]/g,alternative:"g"},{letter:/[\u0122]/g,alternative:"G"},{letter:/[\u012B]/g,alternative:"i"},{letter:/[\u012A]/g,alternative:"I"},{letter:/[\u0137]/g,alternative:"k"},{letter:/[\u0136]/g,alternative:"K"},{letter:/[\u013C]/g,alternative:"l"},{letter:/[\u013B]/g,alternative:"L"},{letter:/[\u0146]/g,alternative:"n"},{letter:/[\u0145]/g,alternative:"N"},{letter:/[\u0161]/g,alternative:"s"},{letter:/[\u0160]/g,alternative:"S"},{letter:/[\u016B]/g,alternative:"u"},{letter:/[\u016A]/g,alternative:"U"},{letter:/[\u017E]/g,alternative:"z"},{letter:/[\u017D]/g,alternative:"Z"}],is:[{letter:/[\u00E1]/g,alternative:"a"},{letter:/[\u00C1]/g,alternative:"A"},{letter:/[\u00F0]/g,alternative:"d"},{letter:/[\u00D0]/g,alternative:"D"},{letter:/[\u00E9]/g,alternative:"e"},{letter:/[\u00C9]/g,alternative:"E"},{letter:/[\u00ED]/g,alternative:"i"},{letter:/[\u00CD]/g,alternative:"I"},{letter:/[\u00F3\u00F6]/g,alternative:"o"},{letter:/[\u00D3\u00D6]/g,alternative:"O"},{letter:/[\u00FA]/g,alternative:"u"},{letter:/[\u00DA]/g,alternative:"U"},{letter:/[\u00FD]/g,alternative:"y"},{letter:/[\u00DD]/g,alternative:"Y"},{letter:/[\u00FE]/g,alternative:"th"},{letter:/[\u00DE]/g,alternative:"Th"},{letter:/[\u00E6\u04D5]/g,alternative:"ae"},{letter:/[\u00C6\u04D4]/g,alternative:"Ae"}],fa:[{letter:/[\u00E1]/g,alternative:"a"},{letter:/[\u00C1]/g,alternative:"A"},{letter:/[\u00F0]/g,alternative:"d"},{letter:/[\u00D0]/g,alternative:"D"},{letter:/[\u00ED]/g,alternative:"i"},{letter:/[\u00CD]/g,alternative:"I"},{letter:/[\u00FD]/g,alternative:"y"},{letter:/[\u00DD]/g,alternative:"Y"},{letter:/[\u00FA]/g,alternative:"u"},{letter:/[\u00DA]/g,alternative:"U"},{letter:/[\u00F3\u00F8]/g,alternative:"o"},{letter:/[\u00D3\u00D8]/g,alternative:"O"},{letter:/[\u00E6\u04D5]/g,alternative:"ae"},{letter:/[\u00C6\u04D4]/g,alternative:"Ae"}],cs:[{letter:/[\u00E1]/g,alternative:"a"},{letter:/[\u00C1]/g,alternative:"A"},{letter:/[\u010D]/g,alternative:"c"},{letter:/[\u010C]/g,alternative:"C"},{letter:/[\u010F]/g,alternative:"d"},{letter:/[\u010E]/g,alternative:"D"},{letter:/[\u00ED]/g,alternative:"i"},{letter:/[\u00CD]/g,alternative:"I"},{letter:/[\u0148]/g,alternative:"n"},{letter:/[\u0147]/g,alternative:"N"},{letter:/[\u00F3]/g,alternative:"o"},{letter:/[\u00D3]/g,alternative:"O"},{letter:/[\u0159]/g,alternative:"r"},{letter:/[\u0158]/g,alternative:"R"},{letter:/[\u0161]/g,alternative:"s"},{letter:/[\u0160]/g,alternative:"S"},{letter:/[\u0165]/g,alternative:"t"},{letter:/[\u0164]/g,alternative:"T"},{letter:/[\u00FD]/g,alternative:"y"},{letter:/[\u00DD]/g,alternative:"Y"},{letter:/[\u017E]/g,alternative:"z"},{letter:/[\u017D]/g,alternative:"Z"},{letter:/[\u00E9\u011B]/g,alternative:"e"},{letter:/[\u00C9\u011A]/g,alternative:"E"},{letter:/[\u00FA\u016F]/g,alternative:"u"},{letter:/[\u00DA\u016E]/g,alternative:"U"}],ru:[{letter:/[\u0430]/g,alternative:"a"},{letter:/[\u0410]/g,alternative:"A"},{letter:/[\u0431]/g,alternative:"b"},{letter:/[\u0411]/g,alternative:"B"},{letter:/[\u0432]/g,alternative:"v"},{letter:/[\u0412]/g,alternative:"V"},{letter:/[\u0433]/g,alternative:"g"},{letter:/[\u0413]/g,alternative:"G"},{letter:/[\u0434]/g,alternative:"d"},{letter:/[\u0414]/g,alternative:"D"},{letter:/[\u0435]/g,alternative:"e"},{letter:/[\u0415]/g,alternative:"E"},{letter:/[\u0436]/g,alternative:"zh"},{letter:/[\u0416]/g,alternative:"Zh"},{letter:/[\u0437]/g,alternative:"z"},{letter:/[\u0417]/g,alternative:"Z"},{letter:/[\u0456\u0438\u0439]/g,alternative:"i"},{letter:/[\u0406\u0418\u0419]/g,alternative:"I"},{letter:/[\u043A]/g,alternative:"k"},{letter:/[\u041A]/g,alternative:"K"},{letter:/[\u043B]/g,alternative:"l"},{letter:/[\u041B]/g,alternative:"L"},{letter:/[\u043C]/g,alternative:"m"},{letter:/[\u041C]/g,alternative:"M"},{letter:/[\u043D]/g,alternative:"n"},{letter:/[\u041D]/g,alternative:"N"},{letter:/[\u0440]/g,alternative:"r"},{letter:/[\u0420]/g,alternative:"R"},{letter:/[\u043E]/g,alternative:"o"},{letter:/[\u041E]/g,alternative:"O"},{letter:/[\u043F]/g,alternative:"p"},{letter:/[\u041F]/g,alternative:"P"},{letter:/[\u0441]/g,alternative:"s"},{letter:/[\u0421]/g,alternative:"S"},{letter:/[\u0442]/g,alternative:"t"},{letter:/[\u0422]/g,alternative:"T"},{letter:/[\u0443]/g,alternative:"u"},{letter:/[\u0423]/g,alternative:"U"},{letter:/[\u0444]/g,alternative:"f"},{letter:/[\u0424]/g,alternative:"F"},{letter:/[\u0445]/g,alternative:"kh"},{letter:/[\u0425]/g,alternative:"Kh"},{letter:/[\u0446]/g,alternative:"ts"},{letter:/[\u0426]/g,alternative:"Ts"},{letter:/[\u0447]/g,alternative:"ch"},{letter:/[\u0427]/g,alternative:"Ch"},{letter:/[\u0448]/g,alternative:"sh"},{letter:/[\u0428]/g,alternative:"Sh"},{letter:/[\u0449]/g,alternative:"shch"},{letter:/[\u0429]/g,alternative:"Shch"},{letter:/[\u044A]/g,alternative:"ie"},{letter:/[\u042A]/g,alternative:"Ie"},{letter:/[\u044B]/g,alternative:"y"},{letter:/[\u042B]/g,alternative:"Y"},{letter:/[\u044C]/g,alternative:""},{letter:/[\u042C]/g,alternative:""},{letter:/[\u0451\u044D]/g,alternative:"e"},{letter:/[\u0401\u042D]/g,alternative:"E"},{letter:/[\u044E]/g,alternative:"iu"},{letter:/[\u042E]/g,alternative:"Iu"},{letter:/[\u044F]/g,alternative:"ia"},{letter:/[\u042F]/g,alternative:"Ia"}],eo:[{letter:/[\u0109]/g,alternative:"ch"},{letter:/[\u0108]/g,alternative:"Ch"},{letter:/[\u011d]/g,alternative:"gh"},{letter:/[\u011c]/g,alternative:"Gh"},{letter:/[\u0125]/g,alternative:"hx"},{letter:/[\u0124]/g,alternative:"Hx"},{letter:/[\u0135]/g,alternative:"jx"},{letter:/[\u0134]/g,alternative:"Jx"},{letter:/[\u015d]/g,alternative:"sx"},{letter:/[\u015c]/g,alternative:"Sx"},{letter:/[\u016d]/g,alternative:"ux"},{letter:/[\u016c]/g,alternative:"Ux"}],af:[{letter:/[\u00E8\u00EA\u00EB]/g,alternative:"e"},{letter:/[\u00CB\u00C8\u00CA]/g,alternative:"E"},{letter:/[\u00EE\u00EF]/g,alternative:"i"},{letter:/[\u00CE\u00CF]/g,alternative:"I"},{letter:/[\u00F4\u00F6]/g,alternative:"o"},{letter:/[\u00D4\u00D6]/g,alternative:"O"},{letter:/[\u00FB\u00FC]/g,alternative:"u"},{letter:/[\u00DB\u00DC]/g,alternative:"U"}],ca:[{letter:/[\u00E0]/g,alternative:"a"},{letter:/[\u00C0]/g,alternative:"A"},{letter:/[\u00E9|\u00E8]/g,alternative:"e"},{letter:/[\u00C9|\u00C8]/g,alternative:"E"},{letter:/[\u00ED|\u00EF]/g,alternative:"i"},{letter:/[\u00CD|\u00CF]/g,alternative:"I"},{letter:/[\u00F3|\u00F2]/g,alternative:"o"},{letter:/[\u00D3|\u00D2]/g,alternative:"O"},{letter:/[\u00FA|\u00FC]/g,alternative:"u"},{letter:/[\u00DA|\u00DC]/g,alternative:"U"},{letter:/[\u00E7]/g,alternative:"c"},{letter:/[\u00C7]/g,alternative:"C"}],ast:[{letter:/[\u00F1]/g,alternative:"n"},{letter:/[\u00D1]/g,alternative:"N"}],an:[{letter:/[\u00FC]/g,alternative:"u"},{letter:/[\u00F1]/g,alternative:"ny"},{letter:/[\u00E7]/g,alternative:"c"},{letter:/[\u00ED]/g,alternative:"i"},{letter:/[\u00F3]/g,alternative:"o"},{letter:/[\u00E1]/g,alternative:"a"},{letter:/[\u00DC]/g,alternative:"U"},{letter:/[\u00D1]/g,alternative:"Ny"},{letter:/[\u00C7]/g,alternative:"C"},{letter:/[\u00CD]/g,alternative:"I"},{letter:/[\u00D3]/g,alternative:"O"},{letter:/[\u00C1]/g,alternative:"A"}],ay:[{letter:/(([\u00EF])|([\u00ED]))/g,alternative:"i"},{letter:/(([\u00CF])|([\u00CD]))/g,alternative:"I"},{letter:/[\u00E4]/g,alternative:"a"},{letter:/[\u00C4]/g,alternative:"A"},{letter:/[\u00FC]/g,alternative:"u"},{letter:/[\u00DC]/g,alternative:"U"},{letter:/[\u0027]/g,alternative:""},{letter:/[\u00F1]/g,alternative:"n"},{letter:/[\u00D1]/g,alternative:"N"}],en:[{letter:/[\u00E6\u04D5]/g,alternative:"ae"},{letter:/[\u00C6\u04D4]/g,alternative:"Ae"},{letter:/[\u0153]/g,alternative:"oe"},{letter:/[\u0152]/g,alternative:"Oe"},{letter:/[\u00EB\u00E9]/g,alternative:"e"},{letter:/[\u00C9\u00CB]/g,alternative:"E"},{letter:/[\u00F4\u00F6]/g,alternative:"o"},{letter:/[\u00D4\u00D6]/g,alternative:"O"},{letter:/[\u00EF]/g,alternative:"i"},{letter:/[\u00CF]/g,alternative:"I"},{letter:/[\u00E7]/g,alternative:"c"},{letter:/[\u00C7]/g,alternative:"C"},{letter:/[\u00F1]/g,alternative:"n"},{letter:/[\u00D1]/g,alternative:"N"},{letter:/[\u00FC]/g,alternative:"u"},{letter:/[\u00DC]/g,alternative:"U"},{letter:/[\u00E4]/g,alternative:"a"},{letter:/[\u00C4]/g,alternative:"A"}],fr:[{letter:/[\u00E6\u04D5]/g,alternative:"ae"},{letter:/[\u00C6\u04D4]/g,alternative:"Ae"},{letter:/[\u0153]/g,alternative:"oe"},{letter:/[\u0152]/g,alternative:"Oe"},{letter:/[\u00E9\u00E8\u00EB\u00EA]/g,alternative:"e"},{letter:/[\u00C9\u00C8\u00CB\u00CA]/g,alternative:"E"},{letter:/[\u00E0\u00E2]/g,alternative:"a"},{letter:/[\u00C0\u00C2]/g,alternative:"A"},{letter:/[\u00EF\u00EE]/g,alternative:"i"},{letter:/[\u00CF\u00CE]/g,alternative:"I"},{letter:/[\u00F9\u00FB\u00FC]/g,alternative:"u"},{letter:/[\u00D9\u00DB\u00DC]/g,alternative:"U"},{letter:/[\u00F4]/g,alternative:"o"},{letter:/[\u00D4]/g,alternative:"O"},{letter:/[\u00FF]/g,alternative:"y"},{letter:/[\u0178]/g,alternative:"Y"},{letter:/[\u00E7]/g,alternative:"c"},{letter:/[\u00C7]/g,alternative:"C"},{letter:/[\u00F1]/g,alternative:"n"},{letter:/[\u00D1]/g,alternative:"N"}],it:[{letter:/[\u00E0]/g,alternative:"a"},{letter:/[\u00C0]/g,alternative:"A"},{letter:/[\u00E9\u00E8]/g,alternative:"e"},{letter:/[\u00C9\u00C8]/g,alternative:"E"},{letter:/[\u00EC\u00ED\u00EE]/g,alternative:"i"},{letter:/[\u00CC\u00CD\u00CE]/g,alternative:"I"},{letter:/[\u00F3\u00F2]/g,alternative:"o"},{letter:/[\u00D3\u00D2]/g,alternative:"O"},{letter:/[\u00F9\u00FA]/g,alternative:"u"},{letter:/[\u00D9\u00DA]/g,alternative:"U"}],nl:[{letter:/[\u00E7]/g,alternative:"c"},{letter:/[\u00C7]/g,alternative:"C"},{letter:/[\u00F1]/g,alternative:"n"},{letter:/[\u00D1]/g,alternative:"N"},{letter:/[\u00E9\u00E8\u00EA\u00EB]/g,alternative:"e"},{letter:/[\u00C9\u00C8\u00CA\u00CB]/g,alternative:"E"},{letter:/[\u00F4\u00F6]/g,alternative:"o"},{letter:/[\u00D4\u00D6]/g,alternative:"O"},{letter:/[\u00EF]/g,alternative:"i"},{letter:/[\u00CF]/g,alternative:"I"},{letter:/[\u00FC]/g,alternative:"u"},{letter:/[\u00DC]/g,alternative:"U"},{letter:/[\u00E4]/g,alternative:"a"},{letter:/[\u00C4]/g,alternative:"A"}],bm:[{letter:/[\u025B]/g,alternative:"e"},{letter:/[\u0190]/g,alternative:"E"},{letter:/[\u0272]/g,alternative:"ny"},{letter:/[\u019D]/g,alternative:"Ny"},{letter:/[\u014B]/g,alternative:"ng"},{letter:/[\u014A]/g,alternative:"Ng"},{letter:/[\u0254]/g,alternative:"o"},{letter:/[\u0186]/g,alternative:"O"}],uk:[{letter:/[\u0431]/g,alternative:"b"},{letter:/[\u0411]/g,alternative:"B"},{letter:/[\u0432]/g,alternative:"v"},{letter:/[\u0412]/g,alternative:"V"},{letter:/[\u0433]/g,alternative:"h"},{letter:/[\u0413]/g,alternative:"H"},{letter:/[\u0491]/g,alternative:"g"},{letter:/[\u0490]/g,alternative:"G"},{letter:/[\u0434]/g,alternative:"d"},{letter:/[\u0414]/g,alternative:"D"},{letter:/[\u043A]/g,alternative:"k"},{letter:/[\u041A]/g,alternative:"K"},{letter:/[\u043B]/g,alternative:"l"},{letter:/[\u041B]/g,alternative:"L"},{letter:/[\u043C]/g,alternative:"m"},{letter:/[\u041C]/g,alternative:"M"},{letter:/[\u0070]/g,alternative:"r"},{letter:/[\u0050]/g,alternative:"R"},{letter:/[\u043F]/g,alternative:"p"},{letter:/[\u041F]/g,alternative:"P"},{letter:/[\u0441]/g,alternative:"s"},{letter:/[\u0421]/g,alternative:"S"},{letter:/[\u0442]/g,alternative:"t"},{letter:/[\u0422]/g,alternative:"T"},{letter:/[\u0443]/g,alternative:"u"},{letter:/[\u0423]/g,alternative:"U"},{letter:/[\u0444]/g,alternative:"f"},{letter:/[\u0424]/g,alternative:"F"},{letter:/[\u0445]/g,alternative:"kh"},{letter:/[\u0425]/g,alternative:"Kh"},{letter:/[\u0446]/g,alternative:"ts"},{letter:/[\u0426]/g,alternative:"Ts"},{letter:/[\u0447]/g,alternative:"ch"},{letter:/[\u0427]/g,alternative:"Ch"},{letter:/[\u0448]/g,alternative:"sh"},{letter:/[\u0428]/g,alternative:"Sh"},{letter:/[\u0449]/g,alternative:"shch"},{letter:/[\u0429]/g,alternative:"Shch"},{letter:/[\u044C\u042C]/g,alternative:""},{letter:/[\u0436]/g,alternative:"zh"},{letter:/[\u0416]/g,alternative:"Zh"},{letter:/[\u0437]/g,alternative:"z"},{letter:/[\u0417]/g,alternative:"Z"},{letter:/[\u0438]/g,alternative:"y"},{letter:/[\u0418]/g,alternative:"Y"},{letter:/^[\u0454]/g,alternative:"ye"},{letter:/[\s][\u0454]/g,alternative:" ye"},{letter:/[\u0454]/g,alternative:"ie"},{letter:/^[\u0404]/g,alternative:"Ye"},{letter:/[\s][\u0404]/g,alternative:" Ye"},{letter:/[\u0404]/g,alternative:"IE"},{letter:/^[\u0457]/g,alternative:"yi"},{letter:/[\s][\u0457]/g,alternative:" yi"},{letter:/[\u0457]/g,alternative:"i"},{letter:/^[\u0407]/g,alternative:"Yi"},{letter:/[\s][\u0407]/g,alternative:" Yi"},{letter:/[\u0407]/g,alternative:"I"},{letter:/^[\u0439]/g,alternative:"y"},{letter:/[\s][\u0439]/g,alternative:" y"},{letter:/[\u0439]/g,alternative:"i"},{letter:/^[\u0419]/g,alternative:"Y"},{letter:/[\s][\u0419]/g,alternative:" Y"},{letter:/[\u0419]/g,alternative:"I"},{letter:/^[\u044E]/g,alternative:"yu"},{letter:/[\s][\u044E]/g,alternative:" yu"},{letter:/[\u044E]/g,alternative:"iu"},{letter:/^[\u042E]/g,alternative:"Yu"},{letter:/[\s][\u042E]/g,alternative:" Yu"},{letter:/[\u042E]/g,alternative:"IU"},{letter:/^[\u044F]/g,alternative:"ya"},{letter:/[\s][\u044F]/g,alternative:" ya"},{letter:/[\u044F]/g,alternative:"ia"},{letter:/^[\u042F]/g,alternative:"Ya"},{letter:/[\s][\u042F]/g,alternative:" Ya"},{letter:/[\u042F]/g,alternative:"IA"}],br:[{letter:/\u0063\u0027\u0068/g,alternative:"ch"},{letter:/\u0043\u0027\u0048/g,alternative:"CH"},{letter:/[\u00e2]/g,alternative:"a"},{letter:/[\u00c2]/g,alternative:"A"},{letter:/[\u00ea]/g,alternative:"e"},{letter:/[\u00ca]/g,alternative:"E"},{letter:/[\u00ee]/g,alternative:"i"},{letter:/[\u00ce]/g,alternative:"I"},{letter:/[\u00f4]/g,alternative:"o"},{letter:/[\u00d4]/g,alternative:"O"},{letter:/[\u00fb\u00f9\u00fc]/g,alternative:"u"},{letter:/[\u00db\u00d9\u00dc]/g,alternative:"U"},{letter:/[\u00f1]/g,alternative:"n"},{letter:/[\u00d1]/g,alternative:"N"}],ch:[{letter:/[\u0027]/g,alternative:""},{letter:/[\u00e5]/g,alternative:"a"},{letter:/[\u00c5]/g,alternative:"A"},{letter:/[\u00f1]/g,alternative:"n"},{letter:/[\u00d1]/g,alternative:"N"}],co:[{letter:/[\u00e2\u00e0]/g,alternative:"a"},{letter:/[\u00c2\u00c0]/g,alternative:"A"},{letter:/[\u00e6\u04d5]/g,alternative:"ae"},{letter:/[\u00c6\u04d4]/g,alternative:"Ae"},{letter:/[\u00e7]/g,alternative:"c"},{letter:/[\u00c7]/g,alternative:"C"},{letter:/[\u00e9\u00ea\u00e8\u00eb]/g,alternative:"e"},{letter:/[\u00c9\u00ca\u00c8\u00cb]/g,alternative:"E"},{letter:/[\u00ec\u00ee\u00ef]/g,alternative:"i"},{letter:/[\u00cc\u00ce\u00cf]/g,alternative:"I"},{letter:/[\u00f1]/g,alternative:"n"},{letter:/[\u00d1]/g,alternative:"N"},{letter:/[\u00f4\u00f2]/g,alternative:"o"},{letter:/[\u00d4\u00d2]/g,alternative:"O"},{letter:/[\u0153]/g,alternative:"oe"},{letter:/[\u0152]]/g,alternative:"Oe"},{letter:/[\u00f9\u00fc]/g,alternative:"u"},{letter:/[\u00d9\u00dc]/g,alternative:"U"},{letter:/[\u00ff]/g,alternative:"y"},{letter:/[\u0178]/g,alternative:"Y"}],csb:[{letter:/[\u0105\u00e3]/g,alternative:"a"},{letter:/[\u0104\u00c3]/g,alternative:"A"},{letter:/[\u00e9\u00eb]/g,alternative:"e"},{letter:/[\u00c9\u00cb]/g,alternative:"E"},{letter:/[\u0142]/g,alternative:"l"},{letter:/[\u0141]/g,alternative:"L"},{letter:/[\u0144]/g,alternative:"n"},{letter:/[\u0143]/g,alternative:"N"},{letter:/[\u00f2\u00f3\u00f4]/g,alternative:"o"},{letter:/[\u00d2\u00d3\u00d4]/g,alternative:"O"},{letter:/[\u00f9]/g,alternative:"u"},{letter:/[\u00d9]/g,alternative:"U"},{letter:/[\u017c]/g,alternative:"z"},{letter:/[\u017b]/g,alternative:"Z"}],cy:[{letter:/[\u00e2]/g,alternative:"a"},{letter:/[\u00c2]/g,alternative:"A"},{letter:/[\u00ea]/g,alternative:"e"},{letter:/[\u00ca]/g,alternative:"E"},{letter:/[\u00ee]/g,alternative:"i"},{letter:/[\u00ce]/g,alternative:"I"},{letter:/[\u00f4]/g,alternative:"o"},{letter:/[\u00d4]/g,alternative:"O"},{letter:/[\u00fb]/g,alternative:"u"},{letter:/[\u00db]/g,alternative:"U"},{letter:/[\u0175]/g,alternative:"w"},{letter:/[\u0174]/g,alternative:"W"},{letter:/[\u0177]/g,alternative:"y"},{letter:/[\u0176]/g,alternative:"Y"}],ee:[{letter:/[\u0256]/g,alternative:"d"},{letter:/[\u0189]/g,alternative:"D"},{letter:/[\u025b]/g,alternative:"e"},{letter:/[\u0190]/g,alternative:"E"},{letter:/[\u0192]/g,alternative:"f"},{letter:/[\u0191]/g,alternative:"F"},{letter:/[\u0263]/g,alternative:"g"},{letter:/[\u0194]/g,alternative:"G"},{letter:/[\u014b]/g,alternative:"ng"},{letter:/[\u014a]/g,alternative:"Ng"},{letter:/[\u0254]/g,alternative:"o"},{letter:/[\u0186]/g,alternative:"O"},{letter:/[\u028b]/g,alternative:"w"},{letter:/[\u01b2]/g,alternative:"W"},{letter:/\u0061\u0303/g,alternative:"a"},{letter:/[\u00e1\u00e0\u01ce\u00e2\u00e3]/g,alternative:"a"},{letter:/\u0041\u0303/g,alternative:"A"},{letter:/[\u00c1\u00c0\u01cd\u00c2\u00c3]/g,alternative:"A"},{letter:/[\u00e9\u00e8\u011b\u00ea]/g,alternative:"e"},{letter:/[\u00c9\u00c8\u011a\u00ca]/g,alternative:"E"},{letter:/[\u00f3\u00f2\u01d2\u00f4]/g,alternative:"o"},{letter:/[\u00d3\u00d2\u01d1\u00d4]/g,alternative:"O"},{letter:/[\u00fa\u00f9\u01d4\u00fb]/g,alternative:"u"},{letter:/[\u00da\u00d9\u01d3\u00db]/g,alternative:"U"},{letter:/[\u00ed\u00ec\u01d0\u00ee]/g,alternative:"i"},{letter:/[\u00cd\u00cc\u01cf\u00ce]/g,alternative:"I"}],et:[{letter:/[\u0161]/g,alternative:"sh"},{letter:/[\u0160]/g,alternative:"Sh"},{letter:/[\u017e]/g,alternative:"zh"},{letter:/[\u017d]/g,alternative:"Zh"},{letter:/[\u00f5\u00f6]/g,alternative:"o"},{letter:/[\u00d6\u00d5]/g,alternative:"O"},{letter:/[\u00e4]/g,alternative:"a"},{letter:/[\u00c4]/g,alternative:"A"},{letter:/[\u00fc]/g,alternative:"u"},{letter:/[\u00dc]/g,alternative:"U"}],eu:[{letter:/[\u00f1]/g,alternative:"n"},{letter:/[\u00d1]/g,alternative:"N"},{letter:/[\u00e7]/g,alternative:"c"},{letter:/[\u00c7]/g,alternative:"C"},{letter:/[\u00fc]/g,alternative:"u"},{letter:/[\u00dc]/g,alternative:"U"}],fuc:[{letter:/[\u0253]/g,alternative:"b"},{letter:/[\u0181]/g,alternative:"B"},{letter:/[\u0257]/g,alternative:"d"},{letter:/[\u018a]/g,alternative:"D"},{letter:/[\u014b]/g,alternative:"ng"},{letter:/[\u014a]/g,alternative:"Ng"},{letter:/[\u0272\u00f1]/g,alternative:"ny"},{letter:/[\u019d\u00d1]/g,alternative:"Ny"},{letter:/[\u01b4]/g,alternative:"y"},{letter:/[\u01b3]/g,alternative:"Y"},{letter:/[\u0260]/g,alternative:"g"},{letter:/[\u0193]/g,alternative:"G"}],fj:[{letter:/[\u0101]/g,alternative:"a"},{letter:/[\u0100]/g,alternative:"A"},{letter:/[\u0113]/g,alternative:"e"},{letter:/[\u0112]/g,alternative:"E"},{letter:/[\u012b]/g,alternative:"i"},{letter:/[\u012a]/g,alternative:"I"},{letter:/[\u016b]/g,alternative:"u"},{letter:/[\u016a]/g,alternative:"U"},{letter:/[\u014d]/g,alternative:"o"},{letter:/[\u014c]/g,alternative:"O"}],frp:[{letter:/[\u00e2]/g,alternative:"a"},{letter:/[\u00c2]/g,alternative:"A"},{letter:/[\u00ea\u00e8\u00e9]/g,alternative:"e"},{letter:/[\u00ca\u00c8\u00c9]/g,alternative:"E"},{letter:/[\u00ee]/g,alternative:"i"},{letter:/[\u00ce]/g,alternative:"I"},{letter:/[\u00fb\u00fc]/g,alternative:"u"},{letter:/[\u00db\u00dc]/g,alternative:"U"},{letter:/[\u00f4]/g,alternative:"o"},{letter:/[\u00d4]/g,alternative:"O"}],fur:[{letter:/[\u00E7]/g,alternative:"c"},{letter:/[\u00C7]/g,alternative:"C"},{letter:/[\u00e0\u00e2]/g,alternative:"a"},{letter:/[\u00c0\u00c2]/g,alternative:"A"},{letter:/[\u00e8\u00ea]/g,alternative:"e"},{letter:/[\u00c8\u00ca]/g,alternative:"E"},{letter:/[\u00ec\u00ee]/g,alternative:"i"},{letter:/[\u00cc\u00ce]/g,alternative:"I"},{letter:/[\u00f2\u00f4]/g,alternative:"o"},{letter:/[\u00d2\u00d4]/g,alternative:"O"},{letter:/[\u00f9\u00fb]/g,alternative:"u"},{letter:/[\u00d9\u00db]/g,alternative:"U"},{letter:/[\u010d]/g,alternative:"c"},{letter:/[\u010c]/g,alternative:"C"},{letter:/[\u011f]/g,alternative:"g"},{letter:/[\u011e]/g,alternative:"G"},{letter:/[\u0161]/g,alternative:"s"},{letter:/[\u0160]/g,alternative:"S"}],fy:[{letter:/[\u00e2\u0101\u00e4\u00e5]/g,alternative:"a"},{letter:/[\u00c2\u0100\u00c4\u00c5]/g,alternative:"A"},{letter:/[\u00ea\u00e9\u0113]/g,alternative:"e"},{letter:/[\u00ca\u00c9\u0112]/g,alternative:"E"},{letter:/[\u00f4\u00f6]/g,alternative:"o"},{letter:/[\u00d4\u00d6]/g,alternative:"O"},{letter:/[\u00fa\u00fb\u00fc]/g,alternative:"u"},{letter:/[\u00da\u00db\u00dc]/g,alternative:"U"},{letter:/[\u00ed]/g,alternative:"i"},{letter:/[\u00cd]/g,alternative:"I"},{letter:/[\u0111\u00f0]/g,alternative:"d"},{letter:/[\u0110\u00d0]/g,alternative:"D"}],ga:[{letter:/[\u00e1]/g,alternative:"a"},{letter:/[\u00c1]/g,alternative:"A"},{letter:/[\u00e9]/g,alternative:"e"},{letter:/[\u00c9]/g,alternative:"E"},{letter:/[\u00f3]/g,alternative:"o"},{letter:/[\u00d3]/g,alternative:"O"},{letter:/[\u00fa]/g,alternative:"u"},{letter:/[\u00da]/g,alternative:"U"},{letter:/[\u00ed]/g,alternative:"i"},{letter:/[\u00cd]/g,alternative:"I"}],gd:[{letter:/[\u00e0]/g,alternative:"a"},{letter:/[\u00c0]/g,alternative:"A"},{letter:/[\u00e8]/g,alternative:"e"},{letter:/[\u00c8]/g,alternative:"E"},{letter:/[\u00f2]/g,alternative:"o"},{letter:/[\u00d2]/g,alternative:"O"},{letter:/[\u00f9]/g,alternative:"u"},{letter:/[\u00d9]/g,alternative:"U"},{letter:/[\u00ec]/g,alternative:"i"},{letter:/[\u00cc]/g,alternative:"I"}],gl:[{letter:/[\u00e1\u00e0]/g,alternative:"a"},{letter:/[\u00c1\u00c0]/g,alternative:"A"},{letter:/[\u00e9\u00ea]/g,alternative:"e"},{letter:/[\u00c9\u00ca]/g,alternative:"E"},{letter:/[\u00ed\u00ef]/g,alternative:"i"},{letter:/[\u00cd\u00cf]/g,alternative:"I"},{letter:/[\u00f3]/g,alternative:"o"},{letter:/[\u00d3]/g,alternative:"O"},{letter:/[\u00fa\u00fc]/g,alternative:"u"},{letter:/[\u00da\u00dc]/g,alternative:"U"},{letter:/[\u00e7]/g,alternative:"c"},{letter:/[\u00c7]/g,alternative:"C"},{letter:/[\u00f1]/g,alternative:"n"},{letter:/[\u00d1]/g,alternative:"N"}],gn:[{letter:/[\u2019]/g,alternative:""},{letter:/\u0067\u0303/g,alternative:"g"},{letter:/\u0047\u0303/g,alternative:"G"},{letter:/[\u00e3]/g,alternative:"a"},{letter:/[\u00c3]/g,alternative:"A"},{letter:/[\u1ebd]/g,alternative:"e"},{letter:/[\u1ebc]/g,alternative:"E"},{letter:/[\u0129]/g,alternative:"i"},{letter:/[\u0128]/g,alternative:"I"},{letter:/[\u00f5]/g,alternative:"o"},{letter:/[\u00d5]/g,alternative:"O"},{letter:/[\u00f1]/g,alternative:"n"},{letter:/[\u00d1]/g,alternative:"N"},{letter:/[\u0169]/g,alternative:"u"},{letter:/[\u0168]/g,alternative:"U"},{letter:/[\u1ef9]/g,alternative:"y"},{letter:/[\u1ef8]/g,alternative:"Y"}],gsw:[{letter:/[\u00e4]/g,alternative:"a"},{letter:/[\u00c4]/g,alternative:"A"},{letter:/[\u00f6]/g,alternative:"o"},{letter:/[\u00d6]/g,alternative:"O"},{letter:/[\u00fc]/g,alternative:"u"},{letter:/[\u00dc]/g,alternative:"U"}],hat:[{letter:/[\u00e8]/g,alternative:"e"},{letter:/[\u00c8]/g,alternative:"E"},{letter:/[\u00f2]/g,alternative:"o"},{letter:/[\u00d2]/g,alternative:"O"}],haw:[{letter:/[\u02bb\u0027\u2019]/g,alternative:""},{letter:/[\u0101]/g,alternative:"a"},{letter:/[\u0113]/g,alternative:"e"},{letter:/[\u012b]/g,alternative:"i"},{letter:/[\u014d]/g,alternative:"o"},{letter:/[\u016b]/g,alternative:"u"},{letter:/[\u0100]/g,alternative:"A"},{letter:/[\u0112]/g,alternative:"E"},{letter:/[\u012a]/g,alternative:"I"},{letter:/[\u014c]/g,alternative:"O"},{letter:/[\u016a]/g,alternative:"U"}],hr:[{letter:/[\u010d\u0107]/g,alternative:"c"},{letter:/[\u010c\u0106]/g,alternative:"C"},{letter:/[\u0111]/g,alternative:"dj"},{letter:/[\u0110]/g,alternative:"Dj"},{letter:/[\u0161]/g,alternative:"s"},{letter:/[\u0160]/g,alternative:"S"},{letter:/[\u017e]/g,alternative:"z"},{letter:/[\u017d]/g,alternative:"Z"},{letter:/[\u01c4]/g,alternative:"DZ"},{letter:/[\u01c5]/g,alternative:"Dz"},{letter:/[\u01c6]/g,alternative:"dz"}],ka:[{letter:/[\u10d0]/g,alternative:"a"},{letter:/[\u10d1]/g,alternative:"b"},{letter:/[\u10d2]/g,alternative:"g"},{letter:/[\u10d3]/g,alternative:"d"},{letter:/[\u10d4]/g,alternative:"e"},{letter:/[\u10d5]/g,alternative:"v"},{letter:/[\u10d6]/g,alternative:"z"},{letter:/[\u10d7]/g,alternative:"t"},{letter:/[\u10d8]/g,alternative:"i"},{letter:/[\u10d9]/g,alternative:"k"},{letter:/[\u10da]/g,alternative:"l"},{letter:/[\u10db]/g,alternative:"m"},{letter:/[\u10dc]/g,alternative:"n"},{letter:/[\u10dd]/g,alternative:"o"},{letter:/[\u10de]/g,alternative:"p"},{letter:/[\u10df]/g,alternative:"zh"},{letter:/[\u10e0]/g,alternative:"r"},{letter:/[\u10e1]/g,alternative:"s"},{letter:/[\u10e2]/g,alternative:"t"},{letter:/[\u10e3]/g,alternative:"u"},{letter:/[\u10e4]/g,alternative:"p"},{letter:/[\u10e5]/g,alternative:"k"},{letter:/[\u10e6]/g,alternative:"gh"},{letter:/[\u10e7]/g,alternative:"q"},{letter:/[\u10e8]/g,alternative:"sh"},{letter:/[\u10e9]/g,alternative:"ch"},{letter:/[\u10ea]/g,alternative:"ts"},{letter:/[\u10eb]/g,alternative:"dz"},{letter:/[\u10ec]/g,alternative:"ts"},{letter:/[\u10ed]/g,alternative:"ch"},{letter:/[\u10ee]/g,alternative:"kh"},{letter:/[\u10ef]/g,alternative:"j"},{letter:/[\u10f0]/g,alternative:"h"}],kal:[{letter:/[\u00E5]/g,alternative:"aa"},{letter:/[\u00C5]/g,alternative:"Aa"},{letter:/[\u00E6\u04D5]/g,alternative:"ae"},{letter:/[\u00C6\u04D4]/g,alternative:"Ae"},{letter:/[\u00C4]/g,alternative:"Ae"},{letter:/[\u00F8]/g,alternative:"oe"},{letter:/[\u00D8]/g,alternative:"Oe"}],kin:[{letter:/[\u2019\u0027]/g,alternative:""}],lb:[{letter:/[\u00e4]/g,alternative:"a"},{letter:/[\u00c4]/g,alternative:"A"},{letter:/[\u00eb\u00e9]/g,alternative:"e"},{letter:/[\u00cb\u00c9]/g,alternative:"E"}],li:[{letter:/[\u00e1\u00e2\u00e0\u00e4]/g,alternative:"a"},{letter:/[\u00c1\u00c2\u00c0\u00c4]/g,alternative:"A"},{letter:/[\u00eb\u00e8\u00ea]/g,alternative:"e"},{letter:/[\u00cb\u00c8\u00ca]/g,alternative:"E"},{letter:/[\u00f6\u00f3]/g,alternative:"o"},{letter:/[\u00d6\u00d3]/g,alternative:"O"}],lin:[{letter:/[\u00e1\u00e2\u01ce]/g,alternative:"a"},{letter:/[\u00c1\u00c2\u01cd]/g,alternative:"A"},{letter:/\u025b\u0301/g,alternative:"e"},{letter:/\u025b\u0302/g,alternative:"e"},{letter:/\u025b\u030c/g,alternative:"e"},{letter:/[\u00e9\u00ea\u011b\u025b]/g,alternative:"e"},{letter:/\u0190\u0301/g,alternative:"E"},{letter:/\u0190\u0302/g,alternative:"E"},{letter:/\u0190\u030c/g,alternative:"E"},{letter:/[\u00c9\u00ca\u011a\u0190]/g,alternative:"E"},{letter:/[\u00ed\u00ee\u01d0]/g,alternative:"i"},{letter:/[\u00cd\u00ce\u01cf]/g,alternative:"I"},{letter:/\u0254\u0301/g,alternative:"o"},{letter:/\u0254\u0302/g,alternative:"o"},{letter:/\u0254\u030c/g,alternative:"o"},{letter:/[\u00f3\u00f4\u01d2\u0254]/g,alternative:"o"},{letter:/\u0186\u0301/g,alternative:"O"},{letter:/\u0186\u0302/g,alternative:"O"},{letter:/\u0186\u030c/g,alternative:"O"},{letter:/[\u00d3\u00d4\u01d1\u0186]/g,alternative:"O"},{letter:/[\u00fa]/g,alternative:"u"},{letter:/[\u00da]/g,alternative:"U"}],lt:[{letter:/[\u0105]/g,alternative:"a"},{letter:/[\u0104]/g,alternative:"A"},{letter:/[\u010d]/g,alternative:"c"},{letter:/[\u010c]/g,alternative:"C"},{letter:/[\u0119\u0117]/g,alternative:"e"},{letter:/[\u0118\u0116]/g,alternative:"E"},{letter:/[\u012f]/g,alternative:"i"},{letter:/[\u012e]/g,alternative:"I"},{letter:/[\u0161]/g,alternative:"s"},{letter:/[\u0160]/g,alternative:"S"},{letter:/[\u0173\u016b]/g,alternative:"u"},{letter:/[\u0172\u016a]/g,alternative:"U"},{letter:/[\u017e]/g,alternative:"z"},{letter:/[\u017d]/g,alternative:"Z"}],mg:[{letter:/[\u00f4]/g,alternative:"ao"},{letter:/[\u00d4]/g,alternative:"Ao"}],mk:[{letter:/[\u0430]/g,alternative:"a"},{letter:/[\u0410]/g,alternative:"A"},{letter:/[\u0431]/g,alternative:"b"},{letter:/[\u0411]/g,alternative:"B"},{letter:/[\u0432]/g,alternative:"v"},{letter:/[\u0412]/g,alternative:"V"},{letter:/[\u0433]/g,alternative:"g"},{letter:/[\u0413]/g,alternative:"G"},{letter:/[\u0434]/g,alternative:"d"},{letter:/[\u0414]/g,alternative:"D"},{letter:/[\u0453]/g,alternative:"gj"},{letter:/[\u0403]/g,alternative:"Gj"},{letter:/[\u0435]/g,alternative:"e"},{letter:/[\u0415]/g,alternative:"E"},{letter:/[\u0436]/g,alternative:"zh"},{letter:/[\u0416]/g,alternative:"Zh"},{letter:/[\u0437]/g,alternative:"z"},{letter:/[\u0417]/g,alternative:"Z"},{letter:/[\u0455]/g,alternative:"dz"},{letter:/[\u0405]/g,alternative:"Dz"},{letter:/[\u0438]/g,alternative:"i"},{letter:/[\u0418]/g,alternative:"I"},{letter:/[\u0458]/g,alternative:"j"},{letter:/[\u0408]/g,alternative:"J"},{letter:/[\u043A]/g,alternative:"k"},{letter:/[\u041A]/g,alternative:"K"},{letter:/[\u043B]/g,alternative:"l"},{letter:/[\u041B]/g,alternative:"L"},{letter:/[\u0459]/g,alternative:"lj"},{letter:/[\u0409]/g,alternative:"Lj"},{letter:/[\u043C]/g,alternative:"m"},{letter:/[\u041C]/g,alternative:"M"},{letter:/[\u043D]/g,alternative:"n"},{letter:/[\u041D]/g,alternative:"N"},{letter:/[\u045A]/g,alternative:"nj"},{letter:/[\u040A]/g,alternative:"Nj"},{letter:/[\u043E]/g,alternative:"o"},{letter:/[\u041E]/g,alternative:"O"},{letter:/[\u0440]/g,alternative:"r"},{letter:/[\u0420]/g,alternative:"R"},{letter:/[\u043F]/g,alternative:"p"},{letter:/[\u041F]/g,alternative:"P"},{letter:/[\u0441]/g,alternative:"s"},{letter:/[\u0421]/g,alternative:"S"},{letter:/[\u0442]/g,alternative:"t"},{letter:/[\u0422]/g,alternative:"T"},{letter:/[\u045C]/g,alternative:"kj"},{letter:/[\u040C]/g,alternative:"Kj"},{letter:/[\u0443]/g,alternative:"u"},{letter:/[\u0423]/g,alternative:"U"},{letter:/[\u0444]/g,alternative:"f"},{letter:/[\u0424]/g,alternative:"F"},{letter:/[\u0445]/g,alternative:"h"},{letter:/[\u0425]/g,alternative:"H"},{letter:/[\u0446]/g,alternative:"c"},{letter:/[\u0426]/g,alternative:"C"},{letter:/[\u0447]/g,alternative:"ch"},{letter:/[\u0427]/g,alternative:"Ch"},{letter:/[\u045F]/g,alternative:"dj"},{letter:/[\u040F]/g,alternative:"Dj"},{letter:/[\u0448]/g,alternative:"sh"},{letter:/[\u0428]/g,alternative:"Sh"}],mri:[{letter:/[\u0101]/g,alternative:"aa"},{letter:/[\u0100]/g,alternative:"Aa"},{letter:/[\u0113]/g,alternative:"ee"},{letter:/[\u0112]/g,alternative:"Ee"},{letter:/[\u012b]/g,alternative:"ii"},{letter:/[\u012a]/g,alternative:"Ii"},{letter:/[\u014d]/g,alternative:"oo"},{letter:/[\u014c]/g,alternative:"Oo"},{letter:/[\u016b]/g,alternative:"uu"},{letter:/[\u016a]/g,alternative:"Uu"}],mwl:[{letter:/[\u00e7]/g,alternative:"c"},{letter:/[\u00c7]/g,alternative:"C"},{letter:/[\u00e1]/g,alternative:"a"},{letter:/[\u00c1]/g,alternative:"A"},{letter:/[\u00e9\u00ea]/g,alternative:"e"},{letter:/[\u00c9\u00ca]/g,alternative:"E"},{letter:/[\u00ed]/g,alternative:"i"},{letter:/[\u00cd]/g,alternative:"I"},{letter:/[\u00f3\u00f4]/g,alternative:"o"},{letter:/[\u00d3\u00d4]/g,alternative:"O"},{letter:/[\u00fa\u0169]/g,alternative:"u"},{letter:/[\u00da\u0168]/g,alternative:"U"}],oci:[{letter:/[\u00e7]/g,alternative:"c"},{letter:/[\u00c7]/g,alternative:"C"},{letter:/[\u00e0\u00e1]/g,alternative:"a"},{letter:/[\u00c0\u00c1]/g,alternative:"A"},{letter:/[\u00e8\u00e9]/g,alternative:"e"},{letter:/[\u00c8\u00c9]/g,alternative:"E"},{letter:/[\u00ed\u00ef]/g,alternative:"i"},{letter:/[\u00cd\u00cf]/g,alternative:"I"},{letter:/[\u00f2\u00f3]/g,alternative:"o"},{letter:/[\u00d2\u00d3]/g,alternative:"O"},{letter:/[\u00fa\u00fc]/g,alternative:"u"},{letter:/[\u00da\u00dc]/g,alternative:"U"},{letter:/[\u00b7]/g,alternative:""}],orm:[{letter:/[\u0027]/g,alternative:""}],pt:[{letter:/[\u00e7]/g,alternative:"c"},{letter:/[\u00c7]/g,alternative:"C"},{letter:/[\u00e1\u00e2\u00e3\u00e0]/g,alternative:"a"},{letter:/[\u00c1\u00c2\u00c3\u00c0]/g,alternative:"A"},{letter:/[\u00e9\u00ea]/g,alternative:"e"},{letter:/[\u00c9\u00ca]/g,alternative:"E"},{letter:/[\u00ed]/g,alternative:"i"},{letter:/[\u00cd]/g,alternative:"I"},{letter:/[\u00f3\u00f4\u00f5]/g,alternative:"o"},{letter:/[\u00d3\u00d4\u00d5]/g,alternative:"O"},{letter:/[\u00fa]/g,alternative:"u"},{letter:/[\u00da]/g,alternative:"U"}],roh:[{letter:/[\u00e9\u00e8\u00ea]/g,alternative:"e"},{letter:/[\u00c9\u00c8\u00ca]/g,alternative:"E"},{letter:/[\u00ef]/g,alternative:"i"},{letter:/[\u00cf]/g,alternative:"I"},{letter:/[\u00f6]/g,alternative:"oe"},{letter:/[\u00d6]/g,alternative:"Oe"},{letter:/[\u00fc]/g,alternative:"ue"},{letter:/[\u00dc]/g,alternative:"Ue"},{letter:/[\u00e4]/g,alternative:"ae"},{letter:/[\u00c4]/g,alternative:"Ae"}],rup:[{letter:/[\u00e3]/g,alternative:"a"},{letter:/[\u00c3]/g,alternative:"A"}],ro:[{letter:/[\u0103\u00e2]/g,alternative:"a"},{letter:/[\u0102\u00c2]/g,alternative:"A"},{letter:/[\u00ee]/g,alternative:"i"},{letter:/[\u00ce]/g,alternative:"I"},{letter:/[\u0219\u015f]/g,alternative:"s"},{letter:/[\u0218\u015e]/g,alternative:"S"},{letter:/[\u021b\u0163]/g,alternative:"t"},{letter:/[\u021a\u0162]/g,alternative:"T"}],tlh:[{letter:/[\u2019\u0027]/g,alternative:""}],sk:[{letter:/[\u01c4]/g,alternative:"DZ"},{letter:/[\u01c5]/g,alternative:"Dz"},{letter:/[\u01c6]/g,alternative:"dz"},{letter:/[\u00e1\u00e4]/g,alternative:"a"},{letter:/[\u00c1\u00c4]/g,alternative:"A"},{letter:/[\u010d]/g,alternative:"c"},{letter:/[\u010c]/g,alternative:"C"},{letter:/[\u010f]/g,alternative:"d"},{letter:/[\u010e]/g,alternative:"D"},{letter:/[\u00e9]/g,alternative:"e"},{letter:/[\u00c9]/g,alternative:"E"},{letter:/[\u00ed]/g,alternative:"i"},{letter:/[\u00cd]/g,alternative:"I"},{letter:/[\u013e\u013a]/g,alternative:"l"},{letter:/[\u013d\u0139]/g,alternative:"L"},{letter:/[\u0148]/g,alternative:"n"},{letter:/[\u0147]/g,alternative:"N"},{letter:/[\u00f3\u00f4]/g,alternative:"o"},{letter:/[\u00d3\u00d4]/g,alternative:"O"},{letter:/[\u0155]/g,alternative:"r"},{letter:/[\u0154]/g,alternative:"R"},{letter:/[\u0161]/g,alternative:"s"},{letter:/[\u0160]/g,alternative:"S"},{letter:/[\u0165]/g,alternative:"t"},{letter:/[\u0164]/g,alternative:"T"},{letter:/[\u00fa]/g,alternative:"u"},{letter:/[\u00da]/g,alternative:"U"},{letter:/[\u00fd]/g,alternative:"y"},{letter:/[\u00dd]/g,alternative:"Y"},{letter:/[\u017e]/g,alternative:"z"},{letter:/[\u017d]/g,alternative:"Z"}],sl:[{letter:/[\u010d\u0107]/g,alternative:"c"},{letter:/[\u010c\u0106]/g,alternative:"C"},{letter:/[\u0111]/g,alternative:"d"},{letter:/[\u0110]/g,alternative:"D"},{letter:/[\u0161]/g,alternative:"s"},{letter:/[\u0160]/g,alternative:"S"},{letter:/[\u017e]/g,alternative:"z"},{letter:/[\u017d]/g,alternative:"Z"},{letter:/[\u00e0\u00e1\u0203\u0201]/g,alternative:"a"},{letter:/[\u00c0\u00c1\u0202\u0200]/g,alternative:"A"},{letter:/[\u00e8\u00e9\u0207\u0205]/g,alternative:"e"},{letter:/\u01dd\u0300/g,alternative:"e"},{letter:/\u01dd\u030f/g,alternative:"e"},{letter:/\u1eb9\u0301/g,alternative:"e"},{letter:/\u1eb9\u0311/g,alternative:"e"},{letter:/[\u00c8\u00c9\u0206\u0204]/g,alternative:"E"},{letter:/\u018e\u030f/g,alternative:"E"},{letter:/\u018e\u0300/g,alternative:"E"},{letter:/\u1eb8\u0311/g,alternative:"E"},{letter:/\u1eb8\u0301/g,alternative:"E"},{letter:/[\u00ec\u00ed\u020b\u0209]/g,alternative:"i"},{letter:/[\u00cc\u00cd\u020a\u0208]/g,alternative:"I"},{letter:/[\u00f2\u00f3\u020f\u020d]/g,alternative:"o"},{letter:/\u1ecd\u0311/g,alternative:"o"},{letter:/\u1ecd\u0301/g,alternative:"o"},{letter:/\u1ecc\u0311/g,alternative:"O"},{letter:/\u1ecc\u0301/g,alternative:"O"},{letter:/[\u00d2\u00d3\u020e\u020c]/g,alternative:"O"},{letter:/[\u00f9\u00fa\u0217\u0215]/g,alternative:"u"},{letter:/[\u00d9\u00da\u0216\u0214]/g,alternative:"U"},{letter:/[\u0155\u0213]/g,alternative:"r"},{letter:/[\u0154\u0212]/g,alternative:"R"}],sq:[{letter:/[\u00e7]/g,alternative:"c"},{letter:/[\u00c7]/g,alternative:"C"},{letter:/[\u00eb]/g,alternative:"e"},{letter:/[\u00cb]/g,alternative:"E"}],hu:[{letter:/[\u00e1]/g,alternative:"a"},{letter:/[\u00c1]/g,alternative:"A"},{letter:/[\u00e9]/g,alternative:"e"},{letter:/[\u00c9]/g,alternative:"E"},{letter:/[\u00ed]/g,alternative:"i"},{letter:/[\u00cd]/g,alternative:"I"},{letter:/[\u00f3\u00f6\u0151]/g,alternative:"o"},{letter:/[\u00d3\u00d6\u0150]/g,alternative:"O"},{letter:/[\u00fa\u00fc\u0171]/g,alternative:"u"},{letter:/[\u00da\u00dc\u0170]/g,alternative:"U"}],srd:[{letter:/[\u00e7]/g,alternative:"c"},{letter:/[\u00c7]/g,alternative:"C"},{letter:/[\u00e0\u00e1]/g,alternative:"a"},{letter:/[\u00c0\u00c1]/g,alternative:"A"},{letter:/[\u00e8\u00e9]/g,alternative:"e"},{letter:/[\u00c8\u00c9]/g,alternative:"E"},{letter:/[\u00ed\u00ef]/g,alternative:"i"},{letter:/[\u00cd\u00cf]/g,alternative:"I"},{letter:/[\u00f2\u00f3]/g,alternative:"o"},{letter:/[\u00d2\u00d3]/g,alternative:"O"},{letter:/[\u00fa\u00f9]/g,alternative:"u"},{letter:/[\u00da\u00d9]/g,alternative:"U"}],szl:[{letter:/[\u0107]/g,alternative:"c"},{letter:/[\u0106]/g,alternative:"C"},{letter:/[\u00e3]/g,alternative:"a"},{letter:/[\u00c3]/g,alternative:"A"},{letter:/[\u0142]/g,alternative:"u"},{letter:/[\u0141]/g,alternative:"U"},{letter:/[\u006e]/g,alternative:"n"},{letter:/[\u004e]/g,alternative:"N"},{letter:/[\u014f\u014d\u00f4\u00f5]/g,alternative:"o"},{letter:/[\u014e\u014c\u00d4\u00d5]/g,alternative:"O"},{letter:/[\u015b]/g,alternative:"s"},{letter:/[\u015a]/g,alternative:"S"},{letter:/[\u017a\u017c\u017e]/g,alternative:"z"},{letter:/[\u0179\u017b\u017d]/g,alternative:"Z"},{letter:/[\u016f]/g,alternative:"u"},{letter:/[\u016e]/g,alternative:"U"},{letter:/[\u010d]/g,alternative:"cz"},{letter:/[\u010c]/g,alternative:"Cz"},{letter:/[\u0159]/g,alternative:"rz"},{letter:/[\u0158]/g,alternative:"Rz"},{letter:/[\u0161]/g,alternative:"sz"},{letter:/[\u0160]/g,alternative:"Sz"}],tah:[{letter:/[\u0101\u00e2\u00e0]/g,alternative:"a"},{letter:/[\u0100\u00c2\u00c0]/g,alternative:"A"},{letter:/[\u00ef\u00ee\u00ec]/g,alternative:"i"},{letter:/[\u00cf\u00ce\u00cc]/g,alternative:"I"},{letter:/[\u0113\u00ea\u00e9]/g,alternative:"e"},{letter:/[\u0112\u00ca\u00c9]/g,alternative:"E"},{letter:/[\u016b\u00fb\u00fa]/g,alternative:"u"},{letter:/[\u016a\u00db\u00da]/g,alternative:"U"},{letter:/[\u00e7]/g,alternative:"c"},{letter:/[\u00c7]/g,alternative:"C"},{letter:/[\u00f2\u00f4\u014d]/g,alternative:"o"},{letter:/[\u00d2\u00d4\u014c]/g,alternative:"O"},{letter:/[\u2019\u0027\u2018]/g,alternative:""}],vec:[{letter:/\u0073\u002d\u0063/g,alternative:"sc"},{letter:/\u0053\u002d\u0043/g,alternative:"SC"},{letter:/\u0073\u0027\u0063/g,alternative:"sc"},{letter:/\u0053\u0027\u0043/g,alternative:"SC"},{letter:/\u0073\u2019\u0063/g,alternative:"sc"},{letter:/\u0053\u2019\u0043/g,alternative:"SC"},{letter:/\u0073\u2018\u0063/g,alternative:"sc"},{letter:/\u0053\u2018\u0043/g,alternative:"SC"},{letter:/\u0053\u002d\u0063/g,alternative:"Sc"},{letter:/\u0053\u0027\u0063/g,alternative:"Sc"},{letter:/\u0053\u2019\u0063/g,alternative:"Sc"},{letter:/\u0053\u2018\u0063/g,alternative:"Sc"},{letter:/\u0063\u2019/g,alternative:"c"},{letter:/\u0043\u2019/g,alternative:"C"},{letter:/\u0063\u2018/g,alternative:"c"},{letter:/\u0043\u2018/g,alternative:"C"},{letter:/\u0063\u0027/g,alternative:"c"},{letter:/\u0043\u0027/g,alternative:"C"},{letter:/[\u00e0\u00e1\u00e2]/g,alternative:"a"},{letter:/[\u00c0\u00c1\u00c2]/g,alternative:"A"},{letter:/[\u00e8\u00e9]/g,alternative:"e"},{letter:/[\u00c8\u00c9]/g,alternative:"E"},{letter:/[\u00f2\u00f3]/g,alternative:"o"},{letter:/[\u00d2\u00d3]/g,alternative:"O"},{letter:/[\u00f9\u00fa]/g,alternative:"u"},{letter:/[\u00d9\u00da]/g,alternative:"U"},{letter:/[\u00e7\u010d\u010b]/g,alternative:"c"},{letter:/[\u00c7\u010c\u010a]/g,alternative:"C"},{letter:/[\u0142]/g,alternative:"l"},{letter:/[\u00a3\u0141]/g,alternative:"L"},{letter:/\ud835\udeff/g,alternative:"dh"},{letter:/[\u0111\u03b4]/g,alternative:"dh"},{letter:/[\u0110\u0394]/g,alternative:"Dh"}],wa:[{letter:/[\u00e2\u00e5]/g,alternative:"a"},{letter:/[\u00c2\u00c5]/g,alternative:"A"},{letter:/[\u00e7]/g,alternative:"c"},{letter:/[\u00c7]/g,alternative:"C"},{letter:/\u0065\u030a/g,alternative:"e"},{letter:/\u0045\u030a/g,alternative:"E"},{letter:/[\u00eb\u00ea\u00e8\u00e9]/g,alternative:"e"},{letter:/[\u00c9\u00c8\u00ca\u00cb]/g,alternative:"E"},{letter:/[\u00ee]/g,alternative:"i"},{letter:/[\u00ce]/g,alternative:"I"},{letter:/[\u00f4\u00f6]/g,alternative:"o"},{letter:/[\u00d6\u00d4]/g,alternative:"O"},{letter:/[\u00fb]/g,alternative:"u"},{letter:/[\u00db]/g,alternative:"U"}],yor:[{letter:/[\u00e1\u00e0]/g,alternative:"a"},{letter:/[\u00c1\u00c0]/g,alternative:"A"},{letter:/[\u00ec\u00ed]/g,alternative:"i"},{letter:/[\u00cc\u00cd]/g,alternative:"I"},{letter:/\u1ecd\u0301/g,alternative:"o"},{letter:/\u1ecc\u0301/g,alternative:"O"},{letter:/\u1ecd\u0300/g,alternative:"o"},{letter:/\u1ecc\u0300/g,alternative:"O"},{letter:/[\u00f3\u00f2\u1ecd]/g,alternative:"o"},{letter:/[\u00d3\u00d2\u1ecc]/g,alternative:"O"},{letter:/[\u00fa\u00f9]/g,alternative:"u"},{letter:/[\u00da\u00d9]/g,alternative:"U"},{letter:/\u1eb9\u0301/g,alternative:"e"},{letter:/\u1eb8\u0301/g,alternative:"E"},{letter:/\u1eb9\u0300/g,alternative:"e"},{letter:/\u1eb8\u0300/g,alternative:"E"},{letter:/[\u00e9\u00e8\u1eb9]/g,alternative:"e"},{letter:/[\u00c9\u00c8\u1eb8]/g,alternative:"E"},{letter:/[\u1e63]/g,alternative:"s"},{letter:/[\u1e62]/g,alternative:"S"}]}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return[{base:"a",letters:/[\u0061\u24D0\uFF41\u1E9A\u00E0\u00E1\u00E2\u1EA7\u1EA5\u1EAB\u1EA9\u00E3\u0101\u0103\u1EB1\u1EAF\u1EB5\u1EB3\u0227\u01E1\u00E4\u01DF\u1EA3\u00E5\u01FB\u01CE\u0201\u0203\u1EA1\u1EAD\u1EB7\u1E01\u0105\u2C65\u0250]/g},{base:"aa",letters:/[\uA733]/g},{base:"ae",letters:/[\u00E6\u01FD\u01E3]/g},{base:"ao",letters:/[\uA735]/g},{base:"au",letters:/[\uA737]/g},{base:"av",letters:/[\uA739\uA73B]/g},{base:"ay",letters:/[\uA73D]/g},{base:"b",letters:/[\u0062\u24D1\uFF42\u1E03\u1E05\u1E07\u0180\u0183\u0253]/g},{base:"c",letters:/[\u0063\u24D2\uFF43\u0107\u0109\u010B\u010D\u00E7\u1E09\u0188\u023C\uA73F\u2184]/g},{base:"d",letters:/[\u0064\u24D3\uFF44\u1E0B\u010F\u1E0D\u1E11\u1E13\u1E0F\u0111\u018C\u0256\u0257\uA77A]/g},{base:"dz",letters:/[\u01F3\u01C6]/g},{base:"e",letters:/[\u0065\u24D4\uFF45\u00E8\u00E9\u00EA\u1EC1\u1EBF\u1EC5\u1EC3\u1EBD\u0113\u1E15\u1E17\u0115\u0117\u00EB\u1EBB\u011B\u0205\u0207\u1EB9\u1EC7\u0229\u1E1D\u0119\u1E19\u1E1B\u0247\u025B\u01DD]/g},{base:"f",letters:/[\u0066\u24D5\uFF46\u1E1F\u0192\uA77C]/g},{base:"g",letters:/[\u0067\u24D6\uFF47\u01F5\u011D\u1E21\u011F\u0121\u01E7\u0123\u01E5\u0260\uA7A1\u1D79\uA77F]/g},{base:"h",letters:/[\u0068\u24D7\uFF48\u0125\u1E23\u1E27\u021F\u1E25\u1E29\u1E2B\u1E96\u0127\u2C68\u2C76\u0265]/g},{base:"hv",letters:/[\u0195]/g},{base:"i",letters:/[\u0069\u24D8\uFF49\u00EC\u00ED\u00EE\u0129\u012B\u012D\u00EF\u1E2F\u1EC9\u01D0\u0209\u020B\u1ECB\u012F\u1E2D\u0268\u0131]/g},{base:"j",letters:/[\u006A\u24D9\uFF4A\u0135\u01F0\u0249]/g},{base:"k",letters:/[\u006B\u24DA\uFF4B\u1E31\u01E9\u1E33\u0137\u1E35\u0199\u2C6A\uA741\uA743\uA745\uA7A3]/g},{base:"l",letters:/[\u006C\u24DB\uFF4C\u0140\u013A\u013E\u1E37\u1E39\u013C\u1E3D\u1E3B\u017F\u0142\u019A\u026B\u2C61\uA749\uA781\uA747]/g},{base:"lj",letters:/[\u01C9]/g},{base:"m",letters:/[\u006D\u24DC\uFF4D\u1E3F\u1E41\u1E43\u0271\u026F]/g},{base:"n",letters:/[\u006E\u24DD\uFF4E\u01F9\u0144\u00F1\u1E45\u0148\u1E47\u0146\u1E4B\u1E49\u019E\u0272\u0149\uA791\uA7A5]/g},{base:"nj",letters:/[\u01CC]/g},{base:"o",letters:/[\u006F\u24DE\uFF4F\u00F2\u00F3\u00F4\u1ED3\u1ED1\u1ED7\u1ED5\u00F5\u1E4D\u022D\u1E4F\u014D\u1E51\u1E53\u014F\u022F\u0231\u00F6\u022B\u1ECF\u0151\u01D2\u020D\u020F\u01A1\u1EDD\u1EDB\u1EE1\u1EDF\u1EE3\u1ECD\u1ED9\u01EB\u01ED\u00F8\u01FF\u0254\uA74B\uA74D\u0275]/g},{base:"oi",letters:/[\u01A3]/g},{base:"ou",letters:/[\u0223]/g},{base:"oo",letters:/[\uA74F]/g},{base:"p",letters:/[\u0070\u24DF\uFF50\u1E55\u1E57\u01A5\u1D7D\uA751\uA753\uA755]/g},{base:"q",letters:/[\u0071\u24E0\uFF51\u024B\uA757\uA759]/g},{base:"r",letters:/[\u0072\u24E1\uFF52\u0155\u1E59\u0159\u0211\u0213\u1E5B\u1E5D\u0157\u1E5F\u024D\u027D\uA75B\uA7A7\uA783]/g},{base:"s",letters:/[\u0073\u24E2\uFF53\u00DF\u015B\u1E65\u015D\u1E61\u0161\u1E67\u1E63\u1E69\u0219\u015F\u023F\uA7A9\uA785\u1E9B]/g},{base:"t",letters:/[\u0074\u24E3\uFF54\u1E6B\u1E97\u0165\u1E6D\u021B\u0163\u1E71\u1E6F\u0167\u01AD\u0288\u2C66\uA787]/g},{base:"tz",letters:/[\uA729]/g},{base:"u",letters:/[\u0075\u24E4\uFF55\u00F9\u00FA\u00FB\u0169\u1E79\u016B\u1E7B\u016D\u00FC\u01DC\u01D8\u01D6\u01DA\u1EE7\u016F\u0171\u01D4\u0215\u0217\u01B0\u1EEB\u1EE9\u1EEF\u1EED\u1EF1\u1EE5\u1E73\u0173\u1E77\u1E75\u0289]/g},{base:"v",letters:/[\u0076\u24E5\uFF56\u1E7D\u1E7F\u028B\uA75F\u028C]/g},{base:"vy",letters:/[\uA761]/g},{base:"w",letters:/[\u0077\u24E6\uFF57\u1E81\u1E83\u0175\u1E87\u1E85\u1E98\u1E89\u2C73]/g},{base:"x",letters:/[\u0078\u24E7\uFF58\u1E8B\u1E8D]/g},{base:"y",letters:/[\u0079\u24E8\uFF59\u1EF3\u00FD\u0177\u1EF9\u0233\u1E8F\u00FF\u1EF7\u1E99\u1EF5\u01B4\u024F\u1EFF]/g},{base:"z",letters:/[\u007A\u24E9\uFF5A\u017A\u1E91\u017C\u017E\u1E93\u1E95\u01B6\u0225\u0240\u2C6C\uA763]/g}]}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a,e){var t=new RegExp(e,"ig"),i=a.match(t);return null===i&&(i=[]),i}},function(a){a.exports={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",ge:"≥",gE:"≧",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅",in:"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺",int:"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftrightarrow:"⟷",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longmapsto:"⟼",longrightarrow:"⟶",LongRightArrow:"⟶",Longrightarrow:"⟹",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nlE:"≦̸",nle:"≰",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:"\t",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",Vcy:"В",vcy:"в",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xharr:"⟷",xhArr:"⟺",Xi:"Ξ",xi:"ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",yuml:"ÿ",Yuml:"Ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",zfr:"𝔷",Zfr:"ℨ",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"}},function(a){a.exports={amp:"&",apos:"'",gt:">",lt:"<",quot:'"'}},function(a,e){function t(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function i(a){return"function"==typeof a}function n(a){return"object"==typeof a&&null!==a}function o(a){return void 0===a}a.exports=t,t.EventEmitter=t,t.prototype._events=void 0,t.prototype._maxListeners=void 0,t.defaultMaxListeners=10,t.prototype.setMaxListeners=function(a){if(!function(a){return"number"==typeof a}(a)||a<0||isNaN(a))throw TypeError("n must be a positive number");return this._maxListeners=a,this},t.prototype.emit=function(a){var e,t,r,s,d,l;if(this._events||(this._events={}),"error"===a&&(!this._events.error||n(this._events.error)&&!this._events.error.length)){if((e=arguments[1])instanceof Error)throw e;var c=new Error('Uncaught, unspecified "error" event. ('+e+")");throw c.context=e,c}if(o(t=this._events[a]))return!1;if(i(t))switch(arguments.length){case 1:t.call(this);break;case 2:t.call(this,arguments[1]);break;case 3:t.call(this,arguments[1],arguments[2]);break;default:s=Array.prototype.slice.call(arguments,1),t.apply(this,s)}else if(n(t))for(s=Array.prototype.slice.call(arguments,1),r=(l=t.slice()).length,d=0;d<r;d++)l[d].apply(this,s);return!0},t.prototype.addListener=function(a,e){var r;if(!i(e))throw TypeError("listener must be a function");return this._events||(this._events={}),this._events.newListener&&this.emit("newListener",a,i(e.listener)?e.listener:e),this._events[a]?n(this._events[a])?this._events[a].push(e):this._events[a]=[this._events[a],e]:this._events[a]=e,n(this._events[a])&&!this._events[a].warned&&(r=o(this._maxListeners)?t.defaultMaxListeners:this._maxListeners)&&r>0&&this._events[a].length>r&&(this._events[a].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[a].length),"function"==typeof console.trace&&console.trace()),this},t.prototype.on=t.prototype.addListener,t.prototype.once=function(a,e){if(!i(e))throw TypeError("listener must be a function");var t=!1;function n(){this.removeListener(a,n),t||(t=!0,e.apply(this,arguments))}return n.listener=e,this.on(a,n),this},t.prototype.removeListener=function(a,e){var t,o,r,s;if(!i(e))throw TypeError("listener must be a function");if(!this._events||!this._events[a])return this;if(r=(t=this._events[a]).length,o=-1,t===e||i(t.listener)&&t.listener===e)delete this._events[a],this._events.removeListener&&this.emit("removeListener",a,e);else if(n(t)){for(s=r;s-- >0;)if(t[s]===e||t[s].listener&&t[s].listener===e){o=s;break}if(o<0)return this;1===t.length?(t.length=0,delete this._events[a]):t.splice(o,1),this._events.removeListener&&this.emit("removeListener",a,e)}return this},t.prototype.removeAllListeners=function(a){var e,t;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[a]&&delete this._events[a],this;if(0===arguments.length){for(e in this._events)"removeListener"!==e&&this.removeAllListeners(e);return this.removeAllListeners("removeListener"),this._events={},this}if(i(t=this._events[a]))this.removeListener(a,t);else if(t)for(;t.length;)this.removeListener(a,t[t.length-1]);return delete this._events[a],this},t.prototype.listeners=function(a){return this._events&&this._events[a]?i(this._events[a])?[this._events[a]]:this._events[a].slice():[]},t.prototype.listenerCount=function(a){if(this._events){var e=this._events[a];if(i(e))return 1;if(e)return e.length}return 0},t.listenerCount=function(a,e){return a.listenerCount(e)}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){return a=(0,i.stripFullTags)(a),a=(0,n.default)(a)};var i=t(144),n=function(a){return a&&a.__esModule?a:{default:a}}(t(77))},function(a,e,t){"use strict";function i(a){Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.message=a}Object.defineProperty(e,"__esModule",{value:!0}),function(a){return a&&a.__esModule?a:{default:a}}(t(63)).default.inherits(i,Error),e.default=i},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){var e;return null===(e=a.match(/<a(?:[^>]+)?>(.*?)<\/a>/gi))&&(e=[]),e}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=function(a){return a&&a.__esModule?a:{default:a}}(t(689));var n=/href=(["'])([^"']+)\1/i;function o(a){return a.split("#")[0]}function r(a){return a.split("?")[0]}function s(a){return a.replace(/\/$/,"")}function d(a){return s(a)+"/"}e.default={removeHash:o,removeQueryArgs:r,removeTrailingSlash:s,addTrailingSlash:d,getFromAnchorTag:function(a){var e=n.exec(a);return null===e?"":e[2]},areEqual:function(a,e){return a=r(o(a)),e=r(o(e)),d(a)===d(e)},getHostname:function(a){return(a=i.default.parse(a)).hostname},getProtocol:function(a){return i.default.parse(a).protocol},isInternalLink:function(a,e){var t=i.default.parse(a,!1,!0);return-1===a.indexOf("//")&&0===a.indexOf("/")||0!==a.indexOf("#")&&(!t.host||t.host===e)},protocolIsHttpScheme:function(a){return!!a&&("http:"===a||"https:"===a)},isRelativeFragmentURL:function(a){return 0===a.indexOf("#")}}},function(a,e,t){"use strict";var i=t(690),n=t(691);function o(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}e.parse=b,e.resolve=function(a,e){return b(a,!1,!0).resolve(e)},e.resolveObject=function(a,e){return a?b(a,!1,!0).resolveObject(e):e},e.format=function(a){n.isString(a)&&(a=b(a));return a instanceof o?a.format():o.prototype.format.call(a)},e.Url=o;var r=/^([a-z0-9.+-]+:)/i,s=/:[0-9]*$/,d=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,l=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r","\n","\t"]),c=["'"].concat(l),u=["%","/","?",";","#"].concat(c),p=["/","?","#"],z=/^[+a-z0-9A-Z_-]{0,63}$/,g=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,m={javascript:!0,"javascript:":!0},y={javascript:!0,"javascript:":!0},w={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},f=t(501);function b(a,e,t){if(a&&n.isObject(a)&&a instanceof o)return a;var i=new o;return i.parse(a,e,t),i}o.prototype.parse=function(a,e,t){if(!n.isString(a))throw new TypeError("Parameter 'url' must be a string, not "+typeof a);var o=a.indexOf("?"),s=-1!==o&&o<a.indexOf("#")?"?":"#",l=a.split(s);l[0]=l[0].replace(/\\/g,"/");var b=a=l.join(s);if(b=b.trim(),!t&&1===a.split("#").length){var h=d.exec(b);if(h)return this.path=b,this.href=b,this.pathname=h[1],h[2]?(this.search=h[2],this.query=e?f.parse(this.search.substr(1)):this.search.substr(1)):e&&(this.search="",this.query={}),this}var v=r.exec(b);if(v){var k=(v=v[0]).toLowerCase();this.protocol=k,b=b.substr(v.length)}if(t||v||b.match(/^\/\/[^@\/]+@[^@\/]+/)){var j="//"===b.substr(0,2);!j||v&&y[v]||(b=b.substr(2),this.slashes=!0)}if(!y[v]&&(j||v&&!w[v])){for(var _,x,q=-1,E=0;E<p.length;E++){-1!==(A=b.indexOf(p[E]))&&(-1===q||A<q)&&(q=A)}-1!==(x=-1===q?b.lastIndexOf("@"):b.lastIndexOf("@",q))&&(_=b.slice(0,x),b=b.slice(x+1),this.auth=decodeURIComponent(_)),q=-1;for(E=0;E<u.length;E++){var A;-1!==(A=b.indexOf(u[E]))&&(-1===q||A<q)&&(q=A)}-1===q&&(q=b.length),this.host=b.slice(0,q),b=b.slice(q),this.parseHost(),this.hostname=this.hostname||"";var T="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!T)for(var O=this.hostname.split(/\./),S=(E=0,O.length);E<S;E++){var M=O[E];if(M&&!M.match(z)){for(var P="",C=0,R=M.length;C<R;C++)M.charCodeAt(C)>127?P+="x":P+=M[C];if(!P.match(z)){var D=O.slice(0,E),F=O.slice(E+1),B=M.match(g);B&&(D.push(B[1]),F.unshift(B[2])),F.length&&(b="/"+F.join(".")+b),this.hostname=D.join(".");break}}}this.hostname.length>255?this.hostname="":this.hostname=this.hostname.toLowerCase(),T||(this.hostname=i.toASCII(this.hostname));var $=this.port?":"+this.port:"",I=this.hostname||"";this.host=I+$,this.href+=this.host,T&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==b[0]&&(b="/"+b))}if(!m[k])for(E=0,S=c.length;E<S;E++){var L=c[E];if(-1!==b.indexOf(L)){var W=encodeURIComponent(L);W===L&&(W=escape(L)),b=b.split(L).join(W)}}var U=b.indexOf("#");-1!==U&&(this.hash=b.substr(U),b=b.slice(0,U));var N=b.indexOf("?");if(-1!==N?(this.search=b.substr(N),this.query=b.substr(N+1),e&&(this.query=f.parse(this.query)),b=b.slice(0,N)):e&&(this.search="",this.query={}),b&&(this.pathname=b),w[k]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){$=this.pathname||"";var K=this.search||"";this.path=$+K}return this.href=this.format(),this},o.prototype.format=function(){var a=this.auth||"";a&&(a=(a=encodeURIComponent(a)).replace(/%3A/i,":"),a+="@");var e=this.protocol||"",t=this.pathname||"",i=this.hash||"",o=!1,r="";this.host?o=a+this.host:this.hostname&&(o=a+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(o+=":"+this.port)),this.query&&n.isObject(this.query)&&Object.keys(this.query).length&&(r=f.stringify(this.query));var s=this.search||r&&"?"+r||"";return e&&":"!==e.substr(-1)&&(e+=":"),this.slashes||(!e||w[e])&&!1!==o?(o="//"+(o||""),t&&"/"!==t.charAt(0)&&(t="/"+t)):o||(o=""),i&&"#"!==i.charAt(0)&&(i="#"+i),s&&"?"!==s.charAt(0)&&(s="?"+s),e+o+(t=t.replace(/[?#]/g,function(a){return encodeURIComponent(a)}))+(s=s.replace("#","%23"))+i},o.prototype.resolve=function(a){return this.resolveObject(b(a,!1,!0)).format()},o.prototype.resolveObject=function(a){if(n.isString(a)){var e=new o;e.parse(a,!1,!0),a=e}for(var t=new o,i=Object.keys(this),r=0;r<i.length;r++){var s=i[r];t[s]=this[s]}if(t.hash=a.hash,""===a.href)return t.href=t.format(),t;if(a.slashes&&!a.protocol){for(var d=Object.keys(a),l=0;l<d.length;l++){var c=d[l];"protocol"!==c&&(t[c]=a[c])}return w[t.protocol]&&t.hostname&&!t.pathname&&(t.path=t.pathname="/"),t.href=t.format(),t}if(a.protocol&&a.protocol!==t.protocol){if(!w[a.protocol]){for(var u=Object.keys(a),p=0;p<u.length;p++){var z=u[p];t[z]=a[z]}return t.href=t.format(),t}if(t.protocol=a.protocol,a.host||y[a.protocol])t.pathname=a.pathname;else{for(var g=(a.pathname||"").split("/");g.length&&!(a.host=g.shift()););a.host||(a.host=""),a.hostname||(a.hostname=""),""!==g[0]&&g.unshift(""),g.length<2&&g.unshift(""),t.pathname=g.join("/")}if(t.search=a.search,t.query=a.query,t.host=a.host||"",t.auth=a.auth,t.hostname=a.hostname||a.host,t.port=a.port,t.pathname||t.search){var m=t.pathname||"",f=t.search||"";t.path=m+f}return t.slashes=t.slashes||a.slashes,t.href=t.format(),t}var b=t.pathname&&"/"===t.pathname.charAt(0),h=a.host||a.pathname&&"/"===a.pathname.charAt(0),v=h||b||t.host&&a.pathname,k=v,j=t.pathname&&t.pathname.split("/")||[],_=(g=a.pathname&&a.pathname.split("/")||[],t.protocol&&!w[t.protocol]);if(_&&(t.hostname="",t.port=null,t.host&&(""===j[0]?j[0]=t.host:j.unshift(t.host)),t.host="",a.protocol&&(a.hostname=null,a.port=null,a.host&&(""===g[0]?g[0]=a.host:g.unshift(a.host)),a.host=null),v=v&&(""===g[0]||""===j[0])),h)t.host=a.host||""===a.host?a.host:t.host,t.hostname=a.hostname||""===a.hostname?a.hostname:t.hostname,t.search=a.search,t.query=a.query,j=g;else if(g.length)j||(j=[]),j.pop(),j=j.concat(g),t.search=a.search,t.query=a.query;else if(!n.isNullOrUndefined(a.search)){if(_)t.hostname=t.host=j.shift(),(T=!!(t.host&&t.host.indexOf("@")>0)&&t.host.split("@"))&&(t.auth=T.shift(),t.host=t.hostname=T.shift());return t.search=a.search,t.query=a.query,n.isNull(t.pathname)&&n.isNull(t.search)||(t.path=(t.pathname?t.pathname:"")+(t.search?t.search:"")),t.href=t.format(),t}if(!j.length)return t.pathname=null,t.search?t.path="/"+t.search:t.path=null,t.href=t.format(),t;for(var x=j.slice(-1)[0],q=(t.host||a.host||j.length>1)&&("."===x||".."===x)||""===x,E=0,A=j.length;A>=0;A--)"."===(x=j[A])?j.splice(A,1):".."===x?(j.splice(A,1),E++):E&&(j.splice(A,1),E--);if(!v&&!k)for(;E--;E)j.unshift("..");!v||""===j[0]||j[0]&&"/"===j[0].charAt(0)||j.unshift(""),q&&"/"!==j.join("/").substr(-1)&&j.push("");var T,O=""===j[0]||j[0]&&"/"===j[0].charAt(0);_&&(t.hostname=t.host=O?"":j.length?j.shift():"",(T=!!(t.host&&t.host.indexOf("@")>0)&&t.host.split("@"))&&(t.auth=T.shift(),t.host=t.hostname=T.shift()));return(v=v||t.host&&j.length)&&!O&&j.unshift(""),j.length?t.pathname=j.join("/"):(t.pathname=null,t.path=null),n.isNull(t.pathname)&&n.isNull(t.search)||(t.path=(t.pathname?t.pathname:"")+(t.search?t.search:"")),t.auth=a.auth||t.auth,t.slashes=t.slashes||a.slashes,t.href=t.format(),t},o.prototype.parseHost=function(){var a=this.host,e=s.exec(a);e&&(":"!==(e=e[0])&&(this.port=e.substr(1)),a=a.substr(0,a.length-e.length)),a&&(this.hostname=a)}},function(a,e,t){(function(a,i){var n;/*! https://mths.be/punycode v1.4.1 by @mathias */!function(o){"object"==typeof e&&e&&e.nodeType,"object"==typeof a&&a&&a.nodeType;var r="object"==typeof i&&i;r.global!==r&&r.window!==r&&r.self;var s,d=2147483647,l=36,c=1,u=26,p=38,z=700,g=72,m=128,y="-",w=/^xn--/,f=/[^\x20-\x7E]/,b=/[\x2E\u3002\uFF0E\uFF61]/g,h={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},v=l-c,k=Math.floor,j=String.fromCharCode;function _(a){throw new RangeError(h[a])}function x(a,e){for(var t=a.length,i=[];t--;)i[t]=e(a[t]);return i}function q(a,e){var t=a.split("@"),i="";return t.length>1&&(i=t[0]+"@",a=t[1]),i+x((a=a.replace(b,".")).split("."),e).join(".")}function E(a){for(var e,t,i=[],n=0,o=a.length;n<o;)(e=a.charCodeAt(n++))>=55296&&e<=56319&&n<o?56320==(64512&(t=a.charCodeAt(n++)))?i.push(((1023&e)<<10)+(1023&t)+65536):(i.push(e),n--):i.push(e);return i}function A(a){return x(a,function(a){var e="";return a>65535&&(e+=j((a-=65536)>>>10&1023|55296),a=56320|1023&a),e+=j(a)}).join("")}function T(a){return a-48<10?a-22:a-65<26?a-65:a-97<26?a-97:l}function O(a,e){return a+22+75*(a<26)-((0!=e)<<5)}function S(a,e,t){var i=0;for(a=t?k(a/z):a>>1,a+=k(a/e);a>v*u>>1;i+=l)a=k(a/v);return k(i+(v+1)*a/(a+p))}function M(a){var e,t,i,n,o,r,s,p,z,w,f=[],b=a.length,h=0,v=m,j=g;for((t=a.lastIndexOf(y))<0&&(t=0),i=0;i<t;++i)a.charCodeAt(i)>=128&&_("not-basic"),f.push(a.charCodeAt(i));for(n=t>0?t+1:0;n<b;){for(o=h,r=1,s=l;n>=b&&_("invalid-input"),((p=T(a.charCodeAt(n++)))>=l||p>k((d-h)/r))&&_("overflow"),h+=p*r,!(p<(z=s<=j?c:s>=j+u?u:s-j));s+=l)r>k(d/(w=l-z))&&_("overflow"),r*=w;j=S(h-o,e=f.length+1,0==o),k(h/e)>d-v&&_("overflow"),v+=k(h/e),h%=e,f.splice(h++,0,v)}return A(f)}function P(a){var e,t,i,n,o,r,s,p,z,w,f,b,h,v,x,q=[];for(b=(a=E(a)).length,e=m,t=0,o=g,r=0;r<b;++r)(f=a[r])<128&&q.push(j(f));for(i=n=q.length,n&&q.push(y);i<b;){for(s=d,r=0;r<b;++r)(f=a[r])>=e&&f<s&&(s=f);for(s-e>k((d-t)/(h=i+1))&&_("overflow"),t+=(s-e)*h,e=s,r=0;r<b;++r)if((f=a[r])<e&&++t>d&&_("overflow"),f==e){for(p=t,z=l;!(p<(w=z<=o?c:z>=o+u?u:z-o));z+=l)x=p-w,v=l-w,q.push(j(O(w+x%v,0))),p=k(x/v);q.push(j(O(p,0))),o=S(t,h,i==n),t=0,++i}++t,++e}return q.join("")}s={version:"1.4.1",ucs2:{decode:E,encode:A},decode:M,encode:P,toASCII:function(a){return q(a,function(a){return f.test(a)?"xn--"+P(a):a})},toUnicode:function(a){return q(a,function(a){return w.test(a)?M(a.slice(4).toLowerCase()):a})}},void 0===(n=function(){return s}.call(e,t,e,a))||(a.exports=n)}()}).call(this,t(48)(a),t(15))},function(a,e,t){"use strict";a.exports={isString:function(a){return"string"==typeof a},isObject:function(a){return"object"==typeof a&&null!==a},isNull:function(a){return null===a},isNullOrUndefined:function(a){return null==a}}},function(a,e,t){"use strict";function i(a,e){return Object.prototype.hasOwnProperty.call(a,e)}a.exports=function(a,e,t,o){e=e||"&",t=t||"=";var r={};if("string"!=typeof a||0===a.length)return r;var s=/\+/g;a=a.split(e);var d=1e3;o&&"number"==typeof o.maxKeys&&(d=o.maxKeys);var l=a.length;d>0&&l>d&&(l=d);for(var c=0;c<l;++c){var u,p,z,g,m=a[c].replace(s,"%20"),y=m.indexOf(t);y>=0?(u=m.substr(0,y),p=m.substr(y+1)):(u=m,p=""),z=decodeURIComponent(u),g=decodeURIComponent(p),i(r,z)?n(r[z])?r[z].push(g):r[z]=[r[z],g]:r[z]=g}return r};var n=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){var e=a.split(",");return e=e.map(function(a){return(0,n.default)((0,i.default)(a))}).filter(function(a){return a})};var i=o(t(77)),n=o(t(1001));function o(a){return a&&a.__esModule?a:{default:a}}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.buildOneFormFromRegex=function(a,e){for(var t=0;t<e.length;t++)if(!0===e[t].reg.test(a))return a.replace(e[t].reg,e[t].repl)},e.buildTwoFormsFromRegex=function(a,e){for(var t=0;t<e.length;t++)if(!0===e[t].reg.test(a))return[a.replace(e[t].reg,e[t].repl1),a.replace(e[t].reg,e[t].repl2)]}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=d(t(1007)),n=d(t(145)),o=t(2),r=d(t(1015)),s=d(t(1017));function d(a){return a&&a.__esModule?a:{default:a}}var l=(0,o.memoize)(function(a){var e=[],t=a.deviations;return(0,o.isUndefined)(t.words)||(0,o.isUndefined)(t.words.fragments)||(e=(0,o.flatMap)(t.words.fragments,function(a,e){return(0,o.map)(a,function(a){return a.location=e,new s.default(a)})})),e}),c=function(a,e){var t=0;return t+=function(a,e){var t=0,n=new RegExp("[^"+(0,i.default)(e).vowels+"]","ig"),r=a.split(n);return t+=(0,o.filter)(r,function(a){return""!==a}).length}(a,e),t+=function(a,e){return new r.default((0,i.default)(e)).countSyllables(a)}(a,e)},u=function(a,e){var t=0,n=function(a,e){var t=(0,i.default)(e).deviations.words.full,n=(0,o.find)(t,function(e){return e.word===a});return(0,o.isUndefined)(n)?0:n.syllables}(a,e);if(0!==n)return n;var r=function(a,e){var t=l((0,i.default)(e)),n=a,r=0;return(0,o.forEach)(t,function(a){a.occursIn(n)&&(n=a.removeFrom(n),r+=a.getSyllables())}),{word:n,syllableCount:r}}(a,e);return a=r.word,t+=r.syllableCount,t+=c(a,e)};e.default=function(a,e){a=a.toLocaleLowerCase();var t=(0,n.default)(a),i=(0,o.map)(t,function(a){return u(a,e)});return(0,o.sum)(i)}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getIndicesByWordListSorted=e.sortIndices=e.filterIndices=e.getIndicesByWordList=e.getIndicesByWord=void 0;var i=t(2),n=function(a){return a&&a.__esModule?a:{default:a}}(t(77)),o=t(781);function r(a,e){for(var t,i=0,n=a.length,r=[];(t=e.indexOf(a,i))>-1;){var s=(0,o.characterInBoundary)(e[t-1])||0===t,d=(0,o.characterInBoundary)(e[t+n])||e.length===t+n;s&&d&&r.push({index:t,match:a}),i=t+n}return r}var s=function(a,e){var t=[];return(0,i.forEach)(a,function(a){a=(0,n.default)(a),(0,o.isWordInSentence)(a,e)&&(t=t.concat(r(a,e)))}),t},d=function(a){return a.sort(function(a,e){return a.index>e.index})},l=function(a){a=d(a);for(var e=[],t=0;t<a.length;t++)!(0,i.isUndefined)(a[t+1])&&a[t+1].index<a[t].index+a[t].match.length?(e.push(a[t]),t++):e.push(a[t]);return e},c=function(a,e){var t=[];return(0,i.forEach)(a,function(a){if(a=(0,n.default)(a),!(0,o.isWordInSentence)(a,e))return t;t=t.concat(r(a,e))}),t=t.sort(function(a,e){return a.index<e.index?-1:a.index>e.index?1:0})};e.getIndicesByWord=r,e.getIndicesByWordList=s,e.filterIndices=l,e.sortIndices=d,e.getIndicesByWordListSorted=c,e.default={getIndicesByWord:r,getIndicesByWordList:s,filterIndices:l,sortIndices:d,getIndicesByWordListSorted:c}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=t(63),n=k(t(342)),o=k(t(343)),r=k(t(344)),s=k(t(346)),d=k(t(462)),l=k(t(670)),c=k(t(493)),u=k(t(494)),p=k(t(236)),z=k(t(490)),g=k(t(678)),m=k(t(463)),y=k(t(492)),w=k(t(677)),f=k(t(491)),b=k(t(495)),h=k(t(496)),v=k(t(365));k(t(698));function k(a){return a&&a.__esModule?a:{default:a}}var j=function(a,e){p.default.call(this,a,e),this.type="SEOAssessor",this._assessments=[new n.default,new o.default,new r.default,new s.default,new z.default,new g.default,new d.default,new m.default,new y.default,new w.default,new c.default,new l.default,new f.default,new u.default,new b.default,h.default,new v.default]};(0,i.inherits)(j,p.default),e.default=j},function(a,e,t){"use strict";var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a};Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function a(a,e){for(var t=0;t<e.length;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(a,i.key,i)}}return function(e,t,i){return t&&a(e.prototype,t),i&&a(e,i),e}}(),o=t(2),r=u(t(71)),s=t(35),d=u(t(340)),l=u(t(32)),c=u(t(227));function u(a){return a&&a.__esModule?a:{default:a}}var p=function(a){function e(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};!function(a,e){if(!(a instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var t=function(a,e){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==(void 0===e?"undefined":i(e))&&"function"!=typeof e?a:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this)),n={scores:{textContainsSuperfluousH1:1},urlTitle:(0,s.createAnchorOpeningTag)("https://yoa.st/3a6"),urlCallToAction:(0,s.createAnchorOpeningTag)("https://yoa.st/3a7")};return t.identifier="singleH1",t._config=(0,o.merge)(n,a),t}return function(a,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+(void 0===e?"undefined":i(e)));a.prototype=Object.create(e&&e.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(a,e):a.__proto__=e)}(e,r.default),n(e,[{key:"getResult",value:function(a,e,t){this._h1s=e.getResearch("h1s");var i=new l.default,n=this.calculateResult(t);return(0,o.isUndefined)(n)||(i.setScore(n.score),i.setText(n.resultText),i.setHasMarks(!0)),i}},{key:"firstH1AtBeginning",value:function(){return 0===this._h1s[0].position}},{key:"calculateResult",value:function(a){if(0!==this._h1s.length&&(1!==this._h1s.length||!this.firstH1AtBeginning()))return{score:this._config.scores.textContainsSuperfluousH1,resultText:a.sprintf(a.dgettext("js-text-analysis","%1$sSingle title%3$s: H1s should only be used as your main title. Find all H1s in your text that aren't your main title and %2$schange them to a lower heading level%3$s!"),this._config.urlTitle,this._config.urlCallToAction,"</a>")}}},{key:"getMarks",value:function(){var a=this._h1s;return this.firstH1AtBeginning()&&a.shift(),(0,o.map)(a,function(a){return new c.default({original:"<h1>"+a.content+"</h1>",marked:"<h1>"+(0,d.default)(a.content)+"</h1>"})})}},{key:"isApplicable",value:function(a){return a.hasText()}}]),e}();e.default=p},function(a,e,t){"use strict";var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a};Object.defineProperty(e,"__esModule",{value:!0});var n="function"==typeof Symbol&&"symbol"===i(Symbol.iterator)?function(a){return void 0===a?"undefined":i(a)}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":void 0===a?"undefined":i(a)},o=t(2),r=function(a){return a&&a.__esModule?a:{default:a}}(t(686));var s=function(a){this.app=a,this.loaded=!1,this.preloadThreshold=3e3,this.plugins={},this.modifications={},this.customTests=[],setTimeout(this._pollLoadingPlugins.bind(this),1500)};s.prototype._registerPlugin=function(a,e){return"string"!=typeof a?(console.error("Failed to register plugin. Expected parameter `pluginName` to be a string."),!1):(0,o.isUndefined)(e)||"object"===(void 0===e?"undefined":n(e))?!1===this._validateUniqueness(a)?(console.error("Failed to register plugin. Plugin with name "+a+" already exists"),!1):(this.plugins[a]=e,!0):(console.error("Failed to register plugin "+a+". Expected parameters `options` to be a object."),!1)},s.prototype._ready=function(a){return"string"!=typeof a?(console.error("Failed to modify status for plugin "+a+". Expected parameter `pluginName` to be a string."),!1):(0,o.isUndefined)(this.plugins[a])?(console.error("Failed to modify status for plugin "+a+". The plugin was not properly registered."),!1):(this.plugins[a].status="ready",!0)},s.prototype._reloaded=function(a){return"string"!=typeof a?(console.error("Failed to reload Content Analysis for "+a+". Expected parameter `pluginName` to be a string."),!1):(0,o.isUndefined)(this.plugins[a])?(console.error("Failed to reload Content Analysis for plugin "+a+". The plugin was not properly registered."),!1):(this.app.refresh(),!0)},s.prototype._registerModification=function(a,e,t,i){if("string"!=typeof a)return console.error("Failed to register modification for plugin "+t+". Expected parameter `modification` to be a string."),!1;if("function"!=typeof e)return console.error("Failed to register modification for plugin "+t+". Expected parameter `callable` to be a function."),!1;if("string"!=typeof t)return console.error("Failed to register modification for plugin "+t+". Expected parameter `pluginName` to be a string."),!1;if(!1===this._validateOrigin(t))return console.error("Failed to register modification for plugin "+t+". The integration has not finished loading yet."),!1;var n={callable:e,origin:t,priority:"number"==typeof i?i:10};return(0,o.isUndefined)(this.modifications[a])&&(this.modifications[a]=[]),this.modifications[a].push(n),!0},s.prototype._registerTest=function(){console.error("This function is deprecated, please use _registerAssessment")},s.prototype._registerAssessment=function(a,e,t,i){if(!(0,o.isString)(e))throw new r.default("Failed to register test for plugin "+i+". Expected parameter `name` to be a string.");if(!(0,o.isObject)(t))throw new r.default("Failed to register assessment for plugin "+i+". Expected parameter `assessment` to be a function.");if(!(0,o.isString)(i))throw new r.default("Failed to register assessment for plugin "+i+". Expected parameter `pluginName` to be a string.");return e=i+"-"+e,a.addAssessment(e,t),!0},s.prototype._pollLoadingPlugins=function(a){a=(0,o.isUndefined)(a)?0:a,!0===this._allReady()?(this.loaded=!0,this.app.pluginsLoaded()):a>=this.preloadThreshold?this._pollTimeExceeded():(a+=50,setTimeout(this._pollLoadingPlugins.bind(this,a),50))},s.prototype._allReady=function(){return(0,o.reduce)(this.plugins,function(a,e){return a&&"ready"===e.status},!0)},s.prototype._pollTimeExceeded=function(){(0,o.forEach)(this.plugins,function(a,e){(0,o.isUndefined)(a.options)||"ready"===a.options.status||(console.error("Error: Plugin "+e+". did not finish loading in time."),delete this.plugins[e])}),this.loaded=!0,this.app.pluginsLoaded()},s.prototype._applyModifications=function(a,e,t){var i=this.modifications[a];return i instanceof Array&&i.length>0&&((i=this._stripIllegalModifications(i)).sort(function(a,e){return a.priority-e.priority}),(0,o.forEach)(i,function(i){var o=(0,i.callable)(e,t);(void 0===o?"undefined":n(o))===(void 0===e?"undefined":n(e))?e=o:console.error("Modification with name "+a+" performed by plugin with name "+i.origin+" was ignored because the data that was returned by it was of a different type than the data we had passed it.")})),e},s.prototype._addPluginTests=function(a){this.customTests.map(function(e){this._addPluginTest(a,e)},this)},s.prototype._addPluginTest=function(a,e){a.addAnalysis({name:e.name,callable:e.analysis}),a.analyzeScorer.addScoring({name:e.name,scoring:e.scoring})},s.prototype._stripIllegalModifications=function(a){return(0,o.forEach)(a,function(e,t){!1===this._validateOrigin(e.origin)&&delete a[t]}.bind(this)),a},s.prototype._validateOrigin=function(a){return"ready"===this.plugins[a].status},s.prototype._validateUniqueness=function(a){return!!(0,o.isUndefined)(this.plugins[a])},e.default=s},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=t(2),n=z(t(466)),o=t(144),r=z(t(77)),s=z(t(360)),d=z(t(464)),l=z(t(790)),c=z(t(1134)),u=z(t(791)),p=z(t(676));function z(a){return a&&a.__esModule?a:{default:a}}var g=l.default.snippetEditor,m=l.default.hiddenSpan,y={data:{title:"",metaDesc:"",urlPath:"",titleWidth:0,metaHeight:0},placeholder:{title:"This is an example title - edit by clicking here",metaDesc:"Modify your meta description by editing it right here",urlPath:"example-post/"},defaultValue:{title:"",metaDesc:""},baseURL:"http://example.com/",callbacks:{saveSnippetData:function(){}},addTrailingSlash:!0,metaDescriptionDate:"",previewMode:"desktop"},w=p.default.maxMeta,f=[{preview:"title_container",inputField:"title"},{preview:"url_container",inputField:"urlPath"},{preview:"meta_container",inputField:"metaDesc"}];function b(a){return this.data[a]}function h(a,e){this.element.input[a].value=e,this.data[a]=e}function v(a,e,t,i){var n;a.value=e,u.default.removeClasses(a,["snippet-editor__progress--bad","snippet-editor__progress--ok","snippet-editor__progress--good"]),u.default.addClass(a,"snippet-editor__progress--"+i),this.hasProgressSupport||(n=e/t*100,a.getElementsByClassName("snippet-editor__progress-bar")[0].style.width=n+"%")}var k=function(a){if((0,i.defaultsDeep)(a,y),this.data=a.data,(0,i.isUndefined)(a.analyzerApp)||(this.refObj=a.analyzerApp,this.i18n=this.refObj.i18n,this.data={title:this.refObj.rawData.snippetTitle||"",urlPath:this.refObj.rawData.snippetCite||"",metaDesc:this.refObj.rawData.snippetMeta||""},(0,i.isEmpty)(this.refObj.rawData.metaTitle)||(a.placeholder.title=this.refObj.rawData.metaTitle)),(0,i.isUndefined)(a.i18n)||(this.i18n=a.i18n),!(0,i.isElement)(a.targetElement))throw new Error("The snippet preview requires a valid target element");this.opts=a,this._currentFocus=null,this._currentHover=null,this.unformattedText={},Object.defineProperty(this.unformattedText,"snippet_cite",{get:b.bind(this,"urlPath"),set:h.bind(this,"urlPath")}),Object.defineProperty(this.unformattedText,"snippet_meta",{get:b.bind(this,"metaDesc"),set:h.bind(this,"metaDesc")}),Object.defineProperty(this.unformattedText,"snippet_title",{get:b.bind(this,"title"),set:h.bind(this,"title")})};function j(){var a=this.data.title;return(0,i.isEmpty)(a)&&(a=this.opts.defaultValue.title),this.hasPluggable()&&(a=this.refObj.pluggable._applyModifications("data_page_title",a)),(0,r.default)(a)}k.prototype.renderTemplate=function(){var a=this.opts.targetElement;a.innerHTML=g({raw:{title:this.data.title,snippetCite:this.data.urlPath,meta:this.data.metaDesc},rendered:{title:this.formatTitle(),baseUrl:this.formatUrl(),snippetCite:this.formatCite(),meta:this.formatMeta()},metaDescriptionDate:this.opts.metaDescriptionDate,placeholder:this.opts.placeholder,i18n:{edit:this.i18n.dgettext("js-text-analysis","Edit snippet"),title:this.i18n.dgettext("js-text-analysis","SEO title"),slug:this.i18n.dgettext("js-text-analysis","Slug"),metaDescription:this.i18n.dgettext("js-text-analysis","Meta description"),save:this.i18n.dgettext("js-text-analysis","Close snippet editor"),snippetPreview:this.i18n.dgettext("js-text-analysis","Snippet preview"),titleLabel:this.i18n.dgettext("js-text-analysis","SEO title preview:"),slugLabel:this.i18n.dgettext("js-text-analysis","Slug preview:"),metaDescriptionLabel:this.i18n.dgettext("js-text-analysis","Meta description preview:"),snippetPreviewDescription:this.i18n.dgettext("js-text-analysis","You can click on each element in the preview to jump to the Snippet Editor."),desktopPreviewMode:this.i18n.dgettext("js-text-analysis","Desktop preview"),mobilePreviewMode:this.i18n.dgettext("js-text-analysis","Mobile preview"),isScrollableHint:this.i18n.dgettext("js-text-analysis","Scroll to see the preview content.")}}),this.element={measurers:{metaHeight:null},rendered:{title:document.getElementById("snippet_title"),urlBase:document.getElementById("snippet_citeBase"),urlPath:document.getElementById("snippet_cite"),metaDesc:document.getElementById("snippet_meta")},input:{title:a.getElementsByClassName("js-snippet-editor-title")[0],urlPath:a.getElementsByClassName("js-snippet-editor-slug")[0],metaDesc:a.getElementsByClassName("js-snippet-editor-meta-description")[0]},progress:{title:a.getElementsByClassName("snippet-editor__progress-title")[0],metaDesc:a.getElementsByClassName("snippet-editor__progress-meta-description")[0]},container:document.getElementById("snippet_preview"),formContainer:a.getElementsByClassName("snippet-editor__form")[0],editToggle:a.getElementsByClassName("snippet-editor__edit-button")[0],closeEditor:a.getElementsByClassName("snippet-editor__submit")[0],formFields:a.getElementsByClassName("snippet-editor__form-field")},this.element.label={title:this.element.input.title.parentNode,urlPath:this.element.input.urlPath.parentNode,metaDesc:this.element.input.metaDesc.parentNode},this.element.preview={title:this.element.rendered.title.parentNode,urlPath:this.element.rendered.urlPath.parentNode,metaDesc:this.element.rendered.metaDesc.parentNode},this.hasProgressSupport=function(){var a=document.createElement("progress");return!(0,i.isUndefined)(a.max)}(),this.hasProgressSupport?(this.element.progress.title.max=600,this.element.progress.metaDesc.max=w):(0,i.forEach)(this.element.progress,function(a){u.default.addClass(a,"snippet-editor__progress--fallback")}),this.initPreviewToggler(),this.setInitialView(),this.opened=!1,this.createMeasurementElements(),this.updateProgressBars()},k.prototype.initPreviewToggler=function(){this.snippetPreviewToggle=new c.default(this.opts.previewMode,this.opts.targetElement.getElementsByClassName("snippet-editor__view-icon")),this.snippetPreviewToggle.initialize(),this.snippetPreviewToggle.bindEvents()},k.prototype.refresh=function(){this.output=this.htmlOutput(),this.renderOutput(),this.renderSnippetStyle(),this.measureTitle(),this.measureMetaDescription(),this.updateProgressBars()};var _=function(){var a=this.data.metaDesc;return(0,i.isEmpty)(a)&&(a=this.opts.defaultValue.metaDesc),this.hasPluggable()&&(a=this.refObj.pluggable._applyModifications("data_meta_desc",a)),(0,i.isEmpty)(this.opts.metaDescriptionDate)||(0,i.isEmpty)(a)||(a=this.opts.metaDescriptionDate+" - "+this.data.metaDesc),(0,r.default)(a)};k.prototype.getAnalyzerData=function(){return{title:j.call(this),url:this.data.urlPath,metaDesc:_.call(this)}},k.prototype.callRegisteredEventBinder=function(){this.hasApp()&&this.refObj.callbacks.bindElementEvents(this.refObj)},k.prototype.init=function(){this.hasApp()&&null!==this.refObj.rawData.metaTitle&&null!==this.refObj.rawData.cite&&this.refresh()},k.prototype.htmlOutput=function(){var a={};return a.title=this.formatTitle(),a.cite=this.formatCite(),a.meta=this.formatMeta(),a.url=this.formatUrl(),a},k.prototype.formatTitle=function(){var a=this.data.title;return(0,i.isEmpty)(a)&&(a=this.opts.defaultValue.title),(0,i.isEmpty)(a)&&(a=this.opts.placeholder.title),this.hasPluggable()&&this.refObj.pluggable.loaded&&(a=this.refObj.pluggable._applyModifications("data_page_title",a)),a=(0,o.stripFullTags)(a),(0,i.isEmpty)(a)&&(a=this.i18n.dgettext("js-text-analysis","Please provide an SEO title by editing the snippet below.")),a},k.prototype.formatUrl=function(){return function(){var a=this.opts.baseURL;return this.hasApp()&&!(0,i.isEmpty)(this.refObj.rawData.baseUrl)&&this.opts.baseURL===y.baseURL&&(a=this.refObj.rawData.baseUrl),a}.call(this).replace(/http:\/\//gi,"")},k.prototype.formatCite=function(){var a=this.data.urlPath;return a=(0,s.default)((0,o.stripFullTags)(a)),(0,i.isEmpty)(a)&&(a=this.opts.placeholder.urlPath),this.hasApp()&&!(0,i.isEmpty)(this.refObj.rawData.keyword)&&(a=this.formatKeywordUrl(a)),this.opts.addTrailingSlash&&!function(a){return a.indexOf("/")===a.length-1}(a)&&(a+="/"),a=(a=a.replace(/\s/g,"-")).replace(/\?|#/g,"")},k.prototype.formatMeta=function(){var a=this.data.metaDesc;return(0,i.isEmpty)(a)&&(a=this.getMetaText()),this.hasPluggable()&&this.refObj.pluggable.loaded&&(a=this.refObj.pluggable._applyModifications("data_meta_desc",a)),a=(a=(0,o.stripFullTags)(a)).substring(0,w),this.hasApp()&&!(0,i.isEmpty)(this.refObj.rawData.keyword)&&(a=this.formatKeyword(a)),(0,i.isEmpty)(a)&&(a=this.i18n.dgettext("js-text-analysis","Please provide a meta description by editing the snippet below.")),a},k.prototype.getMetaText=function(){var a=this.opts.defaultValue.metaDesc;return this.hasApp()&&!(0,i.isUndefined)(this.refObj.rawData.excerpt)&&(0,i.isEmpty)(a)&&(a=this.refObj.rawData.excerpt),this.hasApp()&&!(0,i.isUndefined)(this.refObj.rawData.text)&&(0,i.isEmpty)(a)&&(a=this.refObj.rawData.text,this.hasPluggable()&&this.refObj.pluggable.loaded&&(a=this.refObj.pluggable._applyModifications("content",a))),(a=(0,o.stripFullTags)(a)).substring(0,w)},k.prototype.getIndexMatches=function(){for(var a=[],e=0,t=this.refObj.rawData.text.indexOf(this.refObj.rawData.keyword,e);t>-1;)a.push(t),e=t+this.refObj.rawData.keyword.length,t=this.refObj.rawData.text.indexOf(this.refObj.rawData.keyword,e);return a},k.prototype.getPeriodMatches=function(){for(var a,e=[0],t=0;(a=this.refObj.rawData.text.indexOf(".",t))>-1;)e.push(a),t=a+1;return e},k.prototype.formatKeyword=function(a){var e=this.refObj.rawData.keyword,t=(0,n.default)(e,"",!1);a=a.replace(t,function(a){return"<strong>"+a+"</strong>"});var i=(0,d.default)(e,this.refObj.rawData.locale);return i!==e&&(t=(0,n.default)(i,"",!1),a=a.replace(t,function(a){return"<strong>"+a+"</strong>"})),a},k.prototype.formatKeywordUrl=function(a){var e=this.refObj.rawData.keyword,t=(e=(e=(0,d.default)(e,this.refObj.rawData.locale)).replace(/'/,"")).replace(/\s/g,"-"),i=(0,n.default)(t,"\\-");return a.replace(i,function(a){return"<strong>"+a+"</strong>"})},k.prototype.renderOutput=function(){this.element.rendered.title.innerHTML=this.output.title,this.element.rendered.urlPath.innerHTML=this.output.cite,this.element.rendered.urlBase.innerHTML=this.output.url,this.element.rendered.metaDesc.innerHTML=this.output.meta},k.prototype.renderSnippetStyle=function(){var a=this.element.rendered.metaDesc,e=_.call(this);(0,i.isEmpty)(e)?(u.default.addClass(a,"desc-render"),u.default.removeClass(a,"desc-default")):(u.default.addClass(a,"desc-default"),u.default.removeClass(a,"desc-render"))},k.prototype.reRender=function(){this.init()},k.prototype.checkTextLength=function(a){var e=a.currentTarget.textContent;switch(a.currentTarget.id){case"snippet_meta":a.currentTarget.className="desc",e.length>w&&(YoastSEO.app.snippetPreview.unformattedText.snippet_meta=a.currentTarget.textContent,a.currentTarget.textContent=e.substring(0,w));break;case"snippet_title":a.currentTarget.className="title",e.length>600&&(YoastSEO.app.snippetPreview.unformattedText.snippet_title=a.currentTarget.textContent,a.currentTarget.textContent=e.substring(0,600))}},k.prototype.getUnformattedText=function(a){var e=a.currentTarget.id;void 0!==this.unformattedText[e]&&(a.currentTarget.textContent=this.unformattedText[e])},k.prototype.setUnformattedText=function(a){var e=a.currentTarget.id;this.unformattedText[e]=document.getElementById(e).textContent},k.prototype.validateFields=function(){var a=_.call(this),e=j.call(this);a.length>w?u.default.addClass(this.element.input.metaDesc,"snippet-editor__field--invalid"):u.default.removeClass(this.element.input.metaDesc,"snippet-editor__field--invalid"),e.length>600?u.default.addClass(this.element.input.title,"snippet-editor__field--invalid"):u.default.removeClass(this.element.input.title,"snippet-editor__field--invalid")},k.prototype.updateProgressBars=function(){var a,e,t;t=_.call(this),e=function(a){var e;switch(!0){case a>0&&a<=399:case a>600:e="ok";break;case a>=400&&a<=600:e="good";break;default:e="bad"}return e}(this.data.titleWidth),a=function(a){var e;switch(!0){case a>0&&a<120:case a>w:e="ok";break;case a>=120&&a<=w:e="good";break;default:e="bad"}return e}(t.length),v.call(this,this.element.progress.title,this.data.titleWidth,600,e),v.call(this,this.element.progress.metaDesc,t.length,w,a)},k.prototype.setInitialView=function(){var a=document.getElementById("snippet_preview").getBoundingClientRect().width;this.snippetPreviewToggle.setVisibility(a)},k.prototype.handleWindowResizing=(0,i.debounce)(function(){var a=document.getElementById("snippet_preview").getBoundingClientRect().width;this.snippetPreviewToggle.setScrollHintVisibility(a)},25),k.prototype.bindEvents=function(){var a;(0,i.forEach)(["title","slug","meta-description"],function(e){(a=document.getElementsByClassName("js-snippet-editor-"+e)[0]).addEventListener("keydown",this.changedInput.bind(this)),a.addEventListener("keyup",this.changedInput.bind(this)),a.addEventListener("input",this.changedInput.bind(this)),a.addEventListener("focus",this.changedInput.bind(this)),a.addEventListener("blur",this.changedInput.bind(this))}.bind(this)),this.element.editToggle.addEventListener("click",this.toggleEditor.bind(this)),this.element.closeEditor.addEventListener("click",this.closeEditor.bind(this)),window.addEventListener("resize",this.handleWindowResizing.bind(this)),(0,i.forEach)(f,function(a){var e=document.getElementById(a.preview),t=this.element.input[a.inputField];e.addEventListener("click",function(){this.openEditor(),t.focus()}.bind(this)),t.addEventListener("focus",function(){this._currentFocus=a.inputField,this._updateFocusCarets()}.bind(this)),t.addEventListener("blur",function(){this._currentFocus=null,this._updateFocusCarets()}.bind(this)),e.addEventListener("mouseover",function(){this._currentHover=a.inputField,this._updateHoverCarets()}.bind(this)),e.addEventListener("mouseout",function(){this._currentHover=null,this._updateHoverCarets()}.bind(this))}.bind(this))},k.prototype.changedInput=(0,i.debounce)(function(){this.updateDataFromDOM(),this.validateFields(),this.updateProgressBars(),this.refresh(),this.hasApp()&&this.refObj.refresh()},25),k.prototype.updateDataFromDOM=function(){this.data.title=this.element.input.title.value,this.data.urlPath=this.element.input.urlPath.value,this.data.metaDesc=this.element.input.metaDesc.value,this.opts.callbacks.saveSnippetData((0,i.clone)(this.data))},k.prototype.openEditor=function(){this.element.editToggle.setAttribute("aria-expanded","true"),u.default.removeClass(this.element.formContainer,"snippet-editor--hidden"),this.opened=!0},k.prototype.closeEditor=function(){u.default.addClass(this.element.formContainer,"snippet-editor--hidden"),this.element.editToggle.setAttribute("aria-expanded","false"),this.element.editToggle.focus(),this.opened=!1},k.prototype.toggleEditor=function(){this.opened?this.closeEditor():this.openEditor()},k.prototype._updateFocusCarets=function(){var a,e;(0,i.forEach)(this.element.label,function(a){u.default.removeClass(a,"snippet-editor__label--focus")}),(0,i.forEach)(this.element.preview,function(a){u.default.removeClass(a,"snippet-editor__container--focus")}),null!==this._currentFocus&&(a=this.element.label[this._currentFocus],e=this.element.preview[this._currentFocus],u.default.addClass(a,"snippet-editor__label--focus"),u.default.addClass(e,"snippet-editor__container--focus"))},k.prototype._updateHoverCarets=function(){var a;(0,i.forEach)(this.element.label,function(a){u.default.removeClass(a,"snippet-editor__label--hover")}),null!==this._currentHover&&(a=this.element.label[this._currentHover],u.default.addClass(a,"snippet-editor__label--hover"))},k.prototype.setTitle=function(a){this.element.input.title.value=a,this.changedInput()},k.prototype.setUrlPath=function(a){this.element.input.urlPath.value=a,this.changedInput()},k.prototype.setMetaDescription=function(a){this.element.input.metaDesc.value=a,this.changedInput()},k.prototype.createMeasurementElements=function(){var a,e;a=m({width:document.getElementById("meta_container").offsetWidth+"px",whiteSpace:""}),(e=document.createElement("div")).className="yoast-measurement-elements-holder",e.innerHTML=a,document.body.appendChild(e),this.element.measurers.metaHeight=e.childNodes[0]},k.prototype.measureTitle=function(){0===this.element.rendered.title.offsetWidth&&""!==this.element.rendered.title.textContent||(this.data.titleWidth=this.element.rendered.title.offsetWidth)},k.prototype.measureMetaDescription=function(){var a=this.element.measurers.metaHeight;a.innerHTML=this.element.rendered.metaDesc.innerHTML,this.data.metaHeight=a.offsetHeight},k.prototype.getTitleWidth=function(){return this.data.titleWidth},k.prototype.setTitleWidth=function(a){this.data.titleWidth=a},k.prototype.hasApp=function(){return!(0,i.isUndefined)(this.refObj)},k.prototype.hasPluggable=function(){return!(0,i.isUndefined)(this.refObj)&&!(0,i.isUndefined)(this.refObj.pluggable)},k.prototype.disableEnter=function(a){},k.prototype.textFeedback=function(a){},k.prototype.showEditIcon=function(a){},k.prototype.hideEditIcon=function(){},k.prototype.setFocus=function(a){},e.default=k},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.seo=e.readability=void 0;var i=M(t(659)),n=M(t(660)),o=M(t(662)),r=M(t(663)),s=M(t(954)),d=M(t(664)),l=M(t(665)),c=M(t(668)),u=M(t(669)),p=M(t(955)),z=M(t(670)),g=M(t(342)),m=M(t(343)),y=M(t(344)),w=M(t(962)),f=M(t(748)),b=M(t(346)),h=M(t(490)),v=M(t(677)),k=M(t(491)),j=M(t(678)),_=M(t(750)),x=M(t(462)),q=M(t(463)),E=M(t(492)),A=M(t(493)),T=M(t(494)),O=M(t(495)),S=M(t(496));function M(a){return a&&a.__esModule?a:{default:a}}var P={FleschReadingEaseAssessment:i.default,ParagraphTooLongAssessment:n.default,PassiveVoiceAssessment:o.default,SentenceBeginningsAssessment:r.default,SentenceLengthInDescriptionAssessment:s.default,SentenceLengthInTextAssessment:d.default,SubheadingDistributionTooLongAssessment:l.default,TextPresenceAssessment:c.default,TransitionWordsAssessment:u.default,WordComplexityAssessment:p.default},C={InternalLinksAssessment:z.default,IntroductionKeywordAssessment:g.default,KeyphraseLengthAssessment:m.default,KeywordDensityAssessment:y.default,KeywordStopWordsAssessment:w.default,KeyphraseDistributionAssessment:f.default,MetaDescriptionKeywordAssessment:b.default,MetaDescriptionLengthAssessment:h.default,OutboundLinksAssessment:v.default,PageTitleWidthAssessment:k.default,SubheadingsKeywordAssessment:j.default,TaxonomyTextLengthAssessment:_.default,TextCompetingLinksAssessment:x.default,TextImagesAssessment:q.default,TextLengthAssessment:E.default,TitleKeywordAssessment:A.default,UrlKeywordAssessment:T.default,UrlLengthAssessment:O.default,UrlStopWordsAssessment:S.default};e.readability=P,e.seo=C},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a,e){return(0,i.filter)(a,function(a){return(0,n.default)(e,a.sentenceLength)})};var i=t(2),n=function(a){return a&&a.__esModule?a:{default:a}}(t(661))},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){var a=(0,i.default)();return Object.keys(a)};var i=function(a){return a&&a.__esModule?a:{default:a}}(t(461))},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return{singleWords:i,multipleWords:n,allWords:i.concat(n)}};var i=["aber","abschließend","abschliessend","alldieweil","allerdings","also","anderenteils","andererseits","andernteils","anfaenglich","anfänglich","anfangs","angenommen","anschliessend","anschließend","aufgrund","ausgenommen","ausserdem","außerdem","beispielsweise","bevor","beziehungsweise","bspw","bzw","d.h","da","dabei","dadurch","dafuer","dafür","dagegen","daher","dahingegen","danach","dann","darauf","darum","dass","davor","dazu","dementgegen","dementsprechend","demgegenüber","demgegenueber","demgemaess","demgemäß","demzufolge","denn","dennoch","dergestalt","desto","deshalb","desungeachtet","deswegen","doch","dort","drittens","ebenfalls","ebenso","endlich","ehe","einerseits","einesteils","entsprechend","entweder","erst","erstens","falls","ferner","folgerichtig","folglich","fürderhin","fuerderhin","genauso","hierdurch","hierzu","hingegen","immerhin","indem","indes","indessen","infolge","infolgedessen","insofern","insoweit","inzwischen","jedenfalls","jedoch","kurzum","m.a.w","mitnichten","mitunter","möglicherweise","moeglicherweise","nachdem","nebenher","nichtsdestotrotz","nichtsdestoweniger","ob","obenrein","obgleich","obschon","obwohl","obzwar","ohnehin","richtigerweise","schliesslich","schließlich","seit","seitdem","sobald","sodass","so dass","sofern","sogar","solang","solange","somit","sondern","sooft","soviel","soweit","sowie","sowohl","statt","stattdessen","trotz","trotzdem","überdies","übrigens","ueberdies","uebrigens","ungeachtet","vielmehr","vorausgesetzt","vorher","waehrend","während","währenddessen","waehrenddessen","weder","wegen","weil","weiter","weiterhin","wenn","wenngleich","wennschon","wennzwar","weshalb","widrigenfalls","wiewohl","wobei","wohingegen","z.b","zudem","zuerst","zufolge","zuletzt","zumal","zuvor","zwar","zweitens"],n=["abgesehen von","abgesehen davon","als dass","als wenn","anders ausgedrückt","anders ausgedrueckt","anders formuliert","anders gefasst","anders gefragt","anders gesagt","anders gesprochen","anstatt dass","auch wenn","auf grund","auf jeden fall","aus diesem grund","ausser dass","außer dass","ausser wenn","außer wenn","besser ausgedrückt","besser ausgedrueckt","besser formuliert","besser gesagt","besser gesprochen","bloss dass","bloß dass","darüber hinaus","das heisst","das heißt","des weiteren","dessen ungeachtet","ebenso wie","genauso wie","geschweige denn","im fall","im falle","im folgenden","im gegensatz dazu","im grunde genommen","in diesem sinne","je nachdem","kurz gesagt","mit anderen worten","ohne dass","so dass","umso mehr als","umso weniger als","umso mehr, als","umso weniger, als","unbeschadet dessen","und zwar","ungeachtet dessen","unter dem strich","zum beispiel"]},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return{filteredAuxiliaries:i,notFilteredAuxiliaries:n,all:i.concat(n)}};var i=["am","is","are","was","were","been","get","gets","got","gotten","be","she's","he's","it's","i'm","we're","they're","you're","isn't","weren't","wasn't","that's","aren't"],n=["being","getting","having","what's"]},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return{singleWords:i,multipleWords:n,allWords:i.concat(n)}};var i=["accordingly","additionally","afterward","afterwards","albeit","also","although","altogether","another","basically","because","before","besides","but","certainly","chiefly","comparatively","concurrently","consequently","contrarily","conversely","correspondingly","despite","doubtedly","during","e.g.","earlier","emphatically","equally","especially","eventually","evidently","explicitly","finally","firstly","following","formerly","forthwith","fourthly","further","furthermore","generally","hence","henceforth","however","i.e.","identically","indeed","instead","last","lastly","later","lest","likewise","markedly","meanwhile","moreover","nevertheless","nonetheless","nor","notwithstanding","obviously","occasionally","otherwise","overall","particularly","presently","previously","rather","regardless","secondly","shortly","significantly","similarly","simultaneously","since","so","soon","specifically","still","straightaway","subsequently","surely","surprisingly","than","then","thereafter","therefore","thereupon","thirdly","though","thus","till","undeniably","undoubtedly","unless","unlike","unquestionably","until","when","whenever","whereas","while"],n=["above all","after all","after that","all in all","all of a sudden","all things considered","analogous to","although this may be true","analogous to","another key point","as a matter of fact","as a result","as an illustration","as can be seen","as has been noted","as I have noted","as I have said","as I have shown","as long as","as much as","as shown above","as soon as","as well as","at any rate","at first","at last","at least","at length","at the present time","at the same time","at this instant","at this point","at this time","balanced against","being that","by all means","by and large","by comparison","by the same token","by the time","compared to","be that as it may","coupled with","different from","due to","equally important","even if","even more","even so","even though","first thing to remember","for example","for fear that","for instance","for one thing","for that reason","for the most part","for the purpose of","for the same reason","for this purpose","for this reason","from time to time","given that","given these points","important to realize","in a word","in addition","in another case","in any case","in any event","in brief","in case","in conclusion","in contrast","in detail","in due time","in effect","in either case","in essence","in fact","in general","in light of","in like fashion","in like manner","in order that","in order to","in other words","in particular","in reality","in short","in similar fashion","in spite of","in sum","in summary","in that case","in the event that","in the final analysis","in the first place","in the fourth place","in the hope that","in the light of","in the long run","in the meantime","in the same fashion","in the same way","in the second place","in the third place","in this case","in this situation","in time","in truth","in view of","inasmuch as","most compelling evidence","most important","must be remembered","not to mention","now that","of course","on account of","on balance","on condition that","on one hand","on the condition that","on the contrary","on the negative side","on the other hand","on the positive side","on the whole","on this occasion","once","once in a while","only if","owing to","point often overlooked","prior to","provided that","seeing that","so as to","so far","so long as","so that","sooner or later","such as","summing up","take the case of","that is","that is to say","then again","this time","to be sure","to begin with","to clarify","to conclude","to demonstrate","to emphasize","to enumerate","to explain","to illustrate","to list","to point out","to put it another way","to put it differently","to repeat","to rephrase it","to say nothing of","to sum up","to summarize","to that end","to the end that","to this end","together with","under those circumstances","until now","up against","up to the present time","vis a vis","what's more","while it may be true","while this may be true","with attention to","with the result that","with this in mind","with this intention","with this purpose in mind","without a doubt","without delay","without doubt","without reservation"]},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return{filteredAtBeginning:[].concat(v,j,x,R),filteredAtEnding:[].concat(r,D),filteredAtBeginningAndEnding:[].concat(n,q,A,l,P,u),filteredAnywhere:[].concat(i,s,d,p,F,o,h,k,_,S,C,g,T,O,w,y,b,L,E,f,B,$,I,z,c),cannotDirectlyPrecedePassiveParticiple:[].concat(n,w,o,c,p,m,_,x,q),all:[].concat(n,o,r,l,c,p,z,s,d,u,g,m,y,w,f,b,E,h,v,k,j,_,x,q,A,T,O,S,i,M,P,C,R,F,D,B,I,L,W,U)}};var i=(0,function(a){return a&&a.__esModule?a:{default:a}}(t(739)).default)().singleWords,n=["de","het","een","der","des","den"],o=["eén","één","twee","drie","vier","vijf","zes","zeven","acht","negen","tien","elf","twaalf","dertien","veertien","vijftien","zestien","zeventien","achttien","negentien","twintig","honderd","honderden","duizend","duizenden","miljoen","miljoenen","biljoen","biljoenen"],r=["eerste","tweede","derde","vierde","vijfde","zesde","zevende","achtste","negende","tiende","elfde","twaalfde","dertiende","veertiende","vijftiende","zestiende","zeventiende","achttiende","negentiende","twinstigste"],s=["ik","je","jij","hij","ze","we","wij","jullie","zij","u","ge","gij","men"],d=["mij","jou","hem","haar","hen","hun","uw"],l=["dit","dat","deze","die","zelf"],c=["mijn","mijne","jouw","jouwe","zijne","hare","ons","onze","hunne","uwe","elkaars","elkanders"],u=["alle","sommige","sommigen","weinig","weinige","weinigen","veel","vele","velen","geen","beetje","elke","elk","genoeg","meer","meest","meeste","meesten","paar","zoveel","enkele","enkelen","zoveelste","hoeveelste","laatste","laatsten","iedere","allemaal","zekere","ander","andere","gene","enig","enige","verscheidene","verschillende","voldoende","allerlei","allerhande","enerlei","enerhande","beiderlei","beiderhande","tweeërlei","tweeërhande","drieërlei","drieërhande","velerlei","velerhande","menigerlei","menigerhande","enigerlei","enigerhande","generlei","generhande"],p=["mezelf","mijzelf","jezelf","jouzelf","zichzelf","haarzelf","hemzelf","onszelf","julliezelf","henzelf","hunzelf","uzelf","zich"],z=["mekaar","elkaar","elkander","mekander"],g=["iedereen","ieder","eenieder","alleman","allen","alles","iemand","niemand","iets","niets","menigeen"],m=["ieders","aller","iedereens","eenieders"],y=["welke","welk","wat","wie","wiens","wier"],w=["hoe","waarom","waar","hoezo","hoeveel"],f=["daaraan","daarachter","daaraf","daarbij","daarbinnen","daarboven","daarbuiten","daardoorheen","daarheen","daarin","daarjegens","daarmede","daarnaar","daarnaartoe","daaromtrent","daaronder","daarop","daarover","daaroverheen","daarrond","daartegen","daartussen","daartussenuit","daaruit","daarvan","daarvandaan","eraan","erachter","erachteraan","eraf","erbij","erbinnen","erboven","erbuiten","erdoor","erdoorheen","erheen","erin","erjegens","ermede","ermee","erna","ernaar","ernaartoe","ernaast","erom","eromtrent","eronder","eronderdoor","erop","eropaf","eropuit","erover","eroverheen","errond","ertegen","ertegenaan","ertoe","ertussen","ertussenuit","eruit","ervan","ervandaan","ervandoor","ervoor","hieraan","hierachter","hieraf","hierbij","hierbinnen","hierboven","hierbuiten","hierdoor","hierdoorheen","hierheen","hierin","hierjegens","hierlangs","hiermede","hiermee","hierna","hiernaar","hiernaartoe","hiernaast","hieromheen","hieromtrent","hieronder","hierop","hierover","hieroverheen","hierrond","hiertegen","hiertoe","hiertussen","hiertussenuit","hieruit","hiervan","hiervandaan","hiervoor","vandaan","waaraan","waarachter","waaraf","waarbij","waarboven","waarbuiten","waardoorheen","waarheen","waarin","waarjegens","waarmede","waarna","waarnaar","waarnaartoe","waarnaast","waarop","waarover","waaroverheen","waarrond","waartegen","waartegenin","waartoe","waartussen","waartussenuit","waaruit","waarvan","waarvandaan","waarvoor"],b=["daar","hier","ginder","daarginds","ginds","ver","veraf","ergens","nergens","overal","dichtbij","kortbij"],h=["word","wordt","werd","werden","ben","bent","is","was","waren"],v=["worden","zijn"],k=["heb","hebt","heeft","hadden","had","kun","kan","kunt","kon","konden","mag","mocht","mochten","dien","dient","diende","dienden","moet","moest","moesten","ga","gaat","ging","gingen"],j=["hebben","kunnen","mogen","dienen","moeten","gaan"],_=["blijkt","blijk","bleek","bleken","gebleken","dunkt","dunk","dunkte","dunkten","gedunkt","heet","heette","heetten","geheten","lijkt","lijk","geleken","leek","leken","schijn","schijnt","scheen","schenen","toescheen","toeschijnt","toeschijn","toeschenen"],x=["blijken","dunken","heten","lijken","schijnen","toeschijnen"],q=["à","aan","aangaande","achter","behalve","behoudens","beneden","benevens","benoorden","benoordoosten","benoordwesten","beoosten","betreffende","bewesten","bezijden","bezuiden","bezuidoosten","bezuidwesten","bij","binnen","blijkens","boven","bovenaan","buiten","circa","conform","contra","cum","dankzij","door","gedurende","gezien","in","ingevolge","inzake","jegens","krachtens","langs","luidens","met","middels","na","naar","naast","nabij","namens","nevens","niettegenstaande","nopens","om","omstreeks","omtrent","onder","onderaan","ongeacht","onverminderd","op","over","overeenkomstig","per","plus","post","richting","rond","rondom","spijts","staande","te","tegen","tegenover","ten","ter","tijdens","tot","tussen","uit","van","vanaf","vanuit","versus","via","vis-à-vis","volgens","voor","voorbij","wegens","zijdens","zonder"],E=["af","heen","mee","toe","achterop","onderin","voorin","bovenop","buitenop","achteraan","onderop","binnenin","tevoren"],A=["en","alsmede","of","ofwel","en/of"],T=["zowel","evenmin","zomin","hetzij"],O=["vermits","dewijl","dorodien","naardien","nademaal","overmits","wijl","eer","eerdat","aleer","vooraleer","alvorens","totdat","zolang","sinds","sedert","ingeval","tenware","alhoewel","hoezeer","uitgezonderd","zoverre","zover","naargelang","naarmate","alsof"],S=["zegt","zei","vraagt","vroeg","denkt","dacht","stelt","pleit","pleitte"],M=["absoluut","zeker","ongetwijfeld","sowieso","onmiddelijk","meteen","inclusief","direct","ogenblikkelijk","terstond","natuurlijk","vanzelfsprekend","gewoonlijk","normaliter","doorgaans","werkelijk","daadwerkelijk","inderdaad","waarachtig","oprecht","bijna","meestal","misschien","waarschijnlijk","wellicht","mogelijk","vermoedelijk","allicht","aannemelijk","oorspronkelijk","aanvankelijk","initieel","eigenlijk","feitelijk","wezenlijk","juist","reeds","alvast","bijv.","vaak","dikwijls","veelal","geregeld","menigmaal","regelmatig","veelvuldig","eenvoudigweg","simpelweg","louter","kortweg","stomweg","domweg","zomaar","eventueel","mogelijkerwijs","eens","weleens","nooit","ooit","anders","momenteel","thans","incidenteel","trouwens","elders","volgend","recent","onlangs","recentelijk","laatst","zojuist","relatief","duidelijk","overduidelijk","klaarblijkelijk","nadrukkelijk","ogenschijnlijk","kennelijk","schijnbaar","alweer","continu","herhaaldelijk","nog","steeds","nu"],P=["zeer","erg","redelijk","flink","tikkeltje","bijzonder","ernstig","enigszins","zo","tamelijk","nogal","behoorlijk","zwaar","heel","hele","reuze","buitengewoon","ontzettend","vreselijk"],C=["laat","liet","lieten","kom","komt","kwam","kwamen","maakt","maak","maakte","maakten","doe","doet","deed","deden","vindt","vind","vond","vonden"],R=["laten","komen","maken","doen","vinden"],D=["nieuw","nieuwe","nieuwer","nieuwere","nieuwst","nieuwste","oud","oude","ouder","oudere","oudst","oudste","vorig","vorige","goed","goede","beter","betere","best","beste","groot","grote","groter","grotere","grootst","grootste","makkelijk","makkelijke","makkelijker","makkelijkere","makkelijkst","makkelijste","gemakkelijk","gemakkelijke","gemakkelijker","gemakkelijkere","gemakkelijkst","gemakkelijste","simpel","simpele","simpeler","simpelere","simpelst","simpelste","snel","snelle","sneller","snellere","snelst","snelste","verre","verder","verdere","verst","verste","lang","lange","langer","langere","langst","langste","hard","harde","harder","hardere","hardst","hardste","minder","mindere","minst","minste","eigen","laag","lage","lager","lagere","laagst","laagste","hoog","hoge","hoger","hogere","hoogst","hoogste","klein","kleine","kleiner","kleinere","kleinst","kleinste","kort","korte","korter","kortere","kortst","kortste","herhaaldelijke","directe","ongeveer","slecht","slechte","slechter","slechtere","slechtst","slechtste","zulke","zulk","zo'n","zulks","er","extreem","extreme","bijbehorende","bijbehorend","niet"],F=["oh","wauw","hèhè","hè","hé","au","ai","jaja","welja","jawel","ssst","heremijntijd","hemeltjelief","aha","foei","hmm","nou","nee","tja","nja","okido","ho","halt","komaan","komop","verrek","nietwaar","brr","oef","ach","och","bah","enfin","afijn","haha","hihi","hatsjie","hatsjoe","hm","tring","vroem","boem","hopla"],B=["ml","cl","dl","l","tl","el","mg","g","gr","kg","ca","theel","min","sec","uur"],$=["seconde","secondes","seconden","minuut","minuten","uur","uren","dag","dagen","week","weken","maand","maanden","jaar","jaren","vandaag","morgen","overmorgen","gisteren","eergisteren","'s","morgens","avonds","middags","nachts"],I=["ding","dingen","manier","manieren","item","items","keer","maal","procent","geval","aspect","persoon","personen","deel"],L=["wel","ja","neen","oké","oke","okee","ok","zoiets","€","euro"],W=["mevr","dhr","mr","dr","prof"],U=["jr","sr"]},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return{singleWords:i,multipleWords:n,allWords:i.concat(n)}};var i=["aangezien","al","aldus","allereerst","als","alsook","anderzijds","bijgevolg","bijvoorbeeld","bovendien","concluderend","daardoor","daarentegen","daarmee","daarna","daarnaast","daarom","daartoe","daarvoor","dadelijk","dan","desondanks","dienovereenkomstig","dientegevolge","doch","doordat","dus","echter","eerst","evenals","eveneens","evenzeer","hierom","hoewel","immers","indien","integendeel","intussen","kortom","later","maar","mits","nadat","namelijk","net als","niettemin","noch","ofschoon","omdat","ondanks","ondertussen","ook","opdat","resumerend","samengevat","samenvattend","tegenwoordig","teneinde","tenzij","terwijl","tevens","toch","toen","uiteindelijk","vanwege","vervolgens","voorafgaand","vooralsnog","voordat","voorts","vroeger","waardoor","waarmee","waaronder","wanneer","want","zoals","zodat","zodoende","zodra"],n=["aan de andere kant","aan de ene kant","aangenomen dat","al met al","alles afwegend","alles bij elkaar","alles in aanmerking nemend","als gevolg van","anders gezegd","daar staat tegenover","daarbij komt","daaruit volgt","dat betekent","dat blijkt uit","de oorzaak daarvan is","de oorzaak hiervan is","door middel van","een voorbeeld hiervan","een voorbeeld van","gesteld dat","hetzelfde als","hieruit kunnen we afleiden","hieruit volgt","hoe het ook zij","in de derde plaats","in de eerste plaats","in de tweede plaats","in één woord","in het bijzonder","in het geval dat","in plaats van","in tegenstelling tot","in vergelijking met","maar ook","met als doel","met andere woorden","met behulp van","met de bedoeling","neem nou","net als","om kort te gaan","onder andere","op dezelfde wijze","stel dat","te danken aan","te wijten aan","ten derde","ten eerste","ten gevolge van","ten slotte","ten tweede","ter conclusie","ter illustratie","ter verduidelijking","tot nog toe","tot slot","vandaar dat","vergeleken met","voor het geval dat"]},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return{singleWords:i,multipleWords:n,allWords:i.concat(n)}};var i=["además","adicional","así","asimismo","aún","aunque","ciertamente","como","concluyendo","conque","contrariamente","cuando","decididamente","decisivamente","después","diferentemente","efectivamente","entonces","especialmente","específicamente","eventualmente","evidentemente","finalmente","frecuentemente","generalmente","igualmente","lógicamente","luego","mas","mientras","pero","por","porque","posteriormente","primero","principalmente","pronto","próximamente","pues","raramente","realmente","seguidamente","segundo","semejantemente","si","siguiente","sino","súbitamente","supongamos","también","tampoco","tercero","verbigracia","vice-versa","ya"],n=["a causa de","a continuación","a diferencia de","a fin de cuentas","a la inversa","a la misma vez","a más de","a más de esto","a menos que","a no ser que","a pesar de","a pesar de eso","a pesar de todo","a peser de","a propósito","a saber","a todo esto","ahora bien","al contrario","al fin y al cabo","al final","al inicio","al mismo tiempo","al principio","ante todo","antes bien","antes de","antes de nada","antes que nada","aparte de","as así como","así como","así mismo","así pues","así que","así y todo","aún así","claro está que","claro que","claro que sí","como caso típico","como decíamos","como era de esperar","como es de esperar","como muestra","como resultado","como se ha notado","como sigue","comparado con","con el objeto de","con el propósito de","con que","con relación a","con tal de que","con todo","dado que","de ahí","de cierta manera","de cualquier manera","de cualquier modo","de ello resulta que","de este modo","de golpe","de hecho","de igual manera","de igual modo","de igualmanera","de la manera siguiente","de la misma forma","de la misma manera","de manera semejante","del mismo modo","de modo que","de nuevo","de otra manera","de otro modo","de pronto","de qualquier manera","de repente","de suerte que","de tal modo","de todas formas","de todas maneras","de todos modos","de veras","debido a","debido a que","del mismo modo","dentro de poco","desde entonces","después de","después de todo","ejemplo de esto","el caso es que","en aquel tiempo","en cambio","en cierto modo","en comparación con","en conclusión","en concreto","en conformidad con","en consecuencia","en consiguiente","en contraste con","en cualquier caso","en cuanto","en cuanto a","en definitiva","en efecto","en el caso de que","en este sentido","en fin","en fin de cuentas","en general","en lugar de","en otras palabras","en otro orden","en otros términos","en particular","en primer lugar","en primer término","en primera instancia","en realidad","en relación a","en relación con","en representación de","en resumen","en resumidas cuentas","en segundo lugar","en seguida","en síntesis","en suma","en todo caso","en último término","en verdad","en vez de","en virtud de","entre ellas figura","entre ellos figura","es cierto que","es decir","es evidente que","es incuestionable","es indudable","es más","está claro que","esto indica","excepto si","generalmente por ejemplo","gracias a","hasta aquí","hasta cierto punto","hasta el momento","hay que añadir","igual que","la mayor parte del tiempo","la mayoría del tiempo","lo que es peor","más tarde","mejor dicho","mientras tanto","mirándolo todo","nadie puede ignorar","no faltaría más","no obstante","o sea","otra vez","otro aspecto","par ilustrar","para concluir","para conclusión","para continuar","para empezar","para finalizar","para mencionar una cosa","para que","para resumir","para terminar","pongamos por caso","por añadidura","por cierto","por consiguiente","por ejemplo","por el consiguiente","por el contrario","por el hecho que","por eso","por esta razón","por esto","por fin","por la mayor parte","por lo general","por lo que","por lo tanto","por otro lado","por otra parte","por otro lado","por supuesto","por tanto","por último","por un lado","por una parte","primero que nada","primero que todo","pues bien","puesto que","rara vez","resulta que","sea como sea","seguidamente entre tanto","si bien","siempre que","siempre y cuando","sigue que","sin duda","sin embargo","sin ir más lejos","sobre todo","supuesto que","tal como","tales como","tan pronto como","tanto como","una vez","ya que"]},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return{singleWords:i,multipleWords:n,allWords:i.concat(n)}};var i=["abbastanza","acciocché","acciocchè","adesso","affinché","affinchè","allora","almeno","alquanto","altrettanto","altrimenti","analogamente","anche","ancora","antecedentemente","anzi","anzitutto","apertamente","appena","assai","attualmente","benché","benchè","beninteso","bensì","brevemente","bruscamente","casomai","celermente","certamente","certo","chiaramente","ciononostante","cioé","cioè","comparabilmente","come","complessivamente","completamente","comunque","concisamente","concludendo","conformemente","congiuntamente","conseguentemente","considerando","considerato","considerevolmente","contemporaneamente","continuamente","contrariamente","controbilanciato","così","cosicché","cosicchè","dapprima","dato","davvero","definitivamente","dettagliatamente","differentemente","diversamente","dopo","dopodiché","dopodichè","durante","dunque","eccetto","eccome","effettivamente","egualmente","elencando","enfaticamente","eppure","esaurientemente","esplicitamente","espressamente","estesamente","evidentemente","finalmente","finché","finchè","fino","finora","fintanto","fintanto che","fintantoché","fintantochè","fondamentalmente","frattanto","frequentemente","generalmente","già","gradualmente","illustrando","immantinente","immediatamente","importantissimo","incontestabilmente","incredibilmente","indipendentemente","indiscutibilmente","indubbiamente","infatti","infine","innanzitutto","innegabilmente","inoltre","insomma","intanto","interamente","istantaneamente","invece","logicamente","lentamente","ma","malgrado","marcatamente","memorabile","mentre","motivatamente","naturalmente","né","nè","neanche","neppure","nonché","nonchè","nondimeno","nonostante","notevolmente","occasionalmente","oltretutto","onde","onestamente","ossia","ostinatamente","ovvero","ovviamente","parimenti","particolarmente","peraltro","perché","perchè","perciò","perlomeno","però","pertanto","pesantemente","piuttosto","poi","poiché","poichè","praticamente","precedentemente","preferibilmente","precisamente","prematuramente","presto","prima","primariamente","primo","principalmente","prontamente","proporzionalmente","pure","purché","purchè","quando","quanto","quantomeno","quindi","raramente","realmente","relativamente","riassumendo","riformulando","ripetutamente","saltuariamente","schiettamente","sebbene","secondariamente","secondo","sempre","sennò","seguente","sensibilmente","seppure","seriamente","siccome","sicuramente","significativamente","similmente","simultaneamente","singolarmente","sinteticamente","solitamente","solo","soltanto","soprattutto","sopravvalutato","sorprendentemente","sostanzialmente","sottolineando","sottovalutato","specialmente","specificamente","specificatamente","subitamente","subito","successivamente","successivo","talmente","terzo","totalmente","tranne","tuttavia","ugualmente","ulteriormente","ultimamente","veramente","verosimilmente","visto"],n=["a breve","a causa","a causa di","a condizione che","a conseguenza","a conti fatti","a differenza di","a differenza del","a differenza della","a differenza dei","a differenza degli","a differenza delle","a dire il vero","a dire la verità","a dirla tutta","a dispetto di","a lungo","a lungo termine","a maggior ragione","a meno che non","a parte","a patto che","a prescindere","a prima vista","a proposito","a qualunque costo","a quanto","a quel proposito","a quel tempo","a quell'epoca","a questo fine","a questo proposito","a questo punto","a questo riguardo","a questo scopo","a riguardo","a seguire","a seguito","a sottolineare","a tal fine","a tal proposito","a tempo debito","a tutti gli effetti","a tutti i costi","a una prima occhiata","ad eccezione di","ad esempio","ad essere maliziosi","ad essere sinceri","ad ogni buon conto","ad ogni costo","ad ogni modo","ad una prima occhiata","adesso che","al che","al contrario","al contrario di","al fine di","al fine di fare","al giorno d'oggi","al momento","al momento giusto","al momento opportuno","al più presto","al posto di","al suo posto","al termine","all'epoca","all'infuori di","all'inizio","all'opposto","all'ultimo","alla fine","alla fine della fiera","alla luce","alla luce di","alla lunga","alla moda","alla stessa maniera","allo scopo di","allo stesso modo","allo stesso tempo","anch'esso","anch'io","anche se","ancora più","ancora di più","assumendo che","bisogna chiarire che","bisogna considerare che","causato da","ciò nondimeno","ciò nonostante","col tempo","con il tempo","come a dire","come abbiamo dimostrato","come è stato notato","come è stato detto","come è stato dimostrato","come hanno detto","come ho detto","come ho dimostrato","come ho notato","come potete notare","come potete vedere","come puoi notare","come puoi vedere","come si è dimostrato","come si può vedere","come si può notare","come sopra indicato","comunque sia","con attenzione","con enfasi","con il risultato che","con l'obiettivo di","con ostinazione","con questa intenzione","con questa idea","con queste idee","con questo in testa","con questo scopo","così che","così da","d'altra parte","d'altro canto","d'altro lato","d'altronde","d'ora in avanti","d'ora in poi","da allora","da quando","da quanto","da quel momento","da quella volta","da questo momento in poi","da questo momento","da qui","da ultimo","da un certo punto di vista","da un lato","da una parte","dall'altro lato","dall'epoca","dal che","dato che","dato per assunto che","davanti a","del tutto","dell'epoca","detto questo","di certo","di colpo","di conseguenza","di fatto","di fronte","di fronte a","di lì a poco","di punto in bianco","di quando in quando","di quanto non sia","di quel tempo","di qui a","di rado","di seguito","di si","di sicuro","di solito","di tanto in tanto","di tutt'altra pasta","di quando in quando","differente da","diversamente da","diverso da","dopotutto","dovuto a","e anche","e inoltre","entro breve","fermo restando che","faccia a faccia","fin da","fin dall'inizio","fin quando","finché non","finchè non","fin dal primo momento","fin dall'inizio","fino a","fino a questo momento","fino ad oggi","fino ai giorni nostri","fino adesso","fino a un certo punto","fino adesso","fra quanto","il prima possibile","in aggiunta","in altre parole","in altri termini","in ambo i casi","in breve","in caso di","in conclusione","in conformità","in confronto","in confronto a","in conseguenza","in considerazione","in considerazione di","in definitiva","in dettaglio","importante rendersi conto","in effetti","in entrambi i casi","in fin dei conti","in generale","in genere","in linea di massima","in poche parole","il più possibile","in maggior parte","in maniera analoga","in maniera convincente","in maniera esauriente","in maniera esaustiva","in maniera esplicita","in maniera evidente","in maniera incontestabile","in maniera indiscutibile","in maniera innegabile","in maniera significativa","in maniera simile","in modo allusivo","in modo analogo","in modo che","in modo convincente","in modo da","in modo identico","in modo notevole","in modo significativo","in modo significativo","in modo simile","in ogni caso","in ogni modo","in ogni momento","in parte considerevole","in parti uguali","in particolare","in particolare per","in particolare","in più","in pratica","in precedenza","in prima battuta","in prima istanza","in primo luogo","in rapporto","in qualche modo","in qualsiasi modo","in qualsiasi momento","in qualunque modo","in qualunque momento","in quarta battuta","in quarta istanza","in quarto luogo","in quel caso","in quelle circostanze","in questa occasione","in questa situazione","in questo caso","in questo caso particolare","in questo istante","in questo momento","in rare occasioni","in realtà","in seconda battuta","in seconda istanza","in secondo luogo","in seguito","in sintesi","in sostanza","in tempo","in terza battuta","in terza istanza","in terzo luogo","in totale","in tutto","in ugual maniera","in ugual misura","in ugual modo","in ultima analisi","in ultima istanza","in un altro caso","in una parola","in verità","insieme a","insieme con","invece che","invece di","la prima cosa da considerare","la prima cosa da tenere a mente","lo stesso","mentre potrebbe essere vero","motivo per cui","motivo per il quale","ne consegue che","ne deriva che","nei dettagli","nel caso","nel caso che","nel caso in cui","nel complesso","nel corso del","nel corso di","nel frattempo","nel lungo periodo","nel mentre","nell'eventualità che","nella misura in cui","nella speranza che","nella stessa maniera","nella stessa misura","nello specifico","nello stesso modo","nello stesso momento","nello stesso stile","non appena","non per essere maliziosi","non più da","nonostante ciò","nonostante tutto","ogni qualvolta","ogni tanto","ogni volta","oltre a","oltre a ciò","ora che","passo dopo passo","per causa di","per certo","per chiarezza","per chiarire","per come","per concludere","per conto di","per contro","per cui","per davvero","per di più","per dirla in altro modo","per dirla meglio","per dirla tutta","per es.","per esempio","per essere sinceri","per far vedere","per farla breve","per finire","per l'avvenire","per l'ultima volta","per la maggior parte","per la stessa ragione","per la verità","per lo più","per mettere in luce","per metterla in altro modo","per non dire di","per non parlare di","per ora","per ovvi motivi","per paura di","per paura dei","per paura delle","per paura degli","per prima cosa","per quanto","per questa ragione","per questo motivo","per riassumere","per sottolineare","per timore","per trarre le conclusioni","per ultima","per ultime","per ultimi","per ultimo","per via di","perché si","perchè si","perfino se","piano piano","più di ogni altra cosa","più di tutto","più facilmente","più importante","più tardi","poco a poco","poco dopo","prendiamo il caso di","presto o tardi","prima che","prima di","prima di ogni cosa","prima di tutto","prima o dopo","prima o poi","questo è probabilmente vero","questo potrebbe essere vero","restando inteso che","riassumendo","quanto prima","questa volta","se confrontato con","se e solo se","se no","seduta stante","sempreché","semprechè","sempre che","senz'altro","senza alcun riguardo","senza dubbio","senz'ombra di dubbio","senza ombra di dubbio","senza riguardo per","senza tregua","senza ulteriore ritardo","sia quel che sia","solo se","sotto questa luce","sperando che","sta volta","su tutto","subito dopo","sul serio","tanto per cominciare","tanto quanto","tra breve","tra l'altro","tra poco","tra quanto","tutte le volte","tutti insieme","tutto a un tratto","tutto ad un tratto","tutto d'un tratto","tutto considerato","tutto sommato","un passo alla volta","un tempo","una volta","una volta ogni tanto","unito a","va chiarito che","va considerato che","vada come vada","vale a dire","visto che"]},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return{singleWords:i,multipleWords:n,allWords:i.concat(n)}};var i=["ainsi","alors","aussi","car","cependant","certainement","certes","conséquemment","d'abord","d'ailleurs","d'après","davantage","désormais","deuxièmement","donc","dorénavant","effectivement","également","enfin","ensuite","entre-temps","essentiellement","excepté","finalement","globalement","jusqu'ici","là-dessus","lorsque","mais","malgré","néanmoins","notamment","partant","plutôt","pourtant","précédemment","premièrement","probablement","puis","puisque","quoique","sauf","selon","semblablement","sinon","suivant","toutefois","troisièmement"],n=["à cause de","à ce jour","à ce propos","à ce sujet","à cet égard","à cette fin","à compter de","à condition que","à défaut de","à force de","à juste titre","à la lumière de","à la suite de","à l'aide de","à l'appui de","à l'encontre de","à l'époque actuelle","à l'exception de","à l'exclusion de","à l'heure actuelle","à l'image de","à l'instar de","à l'inverse","à l'inverse de","à l'opposé","à la condition que","à mesure que","à moins que","à nouveau","à partir de","à première vue","à savoir","à seule fin que","à supposer que","à tel point que","à tout prendre","à vrai dire","afin de","afin d'attirer l'attention sur","afin que","ainsi donc","ainsi que","alors que","antérieurement","après cela","après quoi","après que","après réflexion","après tout","attendu que","au cas où","au contraire","au fond","au fur et à mesure","au lieu de","au même temps","au moment où","au moyen de","au point que","au risque de","au surplus","au total","aussi bien que","aussitôt que","autant que","autrement dit","avant que","avant tout","ayant fini","bien que","c'est à dire que","c'est ainsi que","c'est dans ce but que","c'est dire","c'est le cas de","c'est pour cela que","c'est la raison pour laquelle","c'est pourquoi","c'est qu'en effet","c'est-à-dire","ça confirme que","ça montre que","ça prouve que","cela étant","cela dit","cependant que","compte tenu","comme l'illustre","comme le souligne","comme on pouvait s'y attendre","comme quoi","comme si","commençons par examiner","comparativement à","conformément à","contrairement à","considérons par exemple","d'autant plus","d'autant que","d'autre part","d'ici là","d'où","d'un autre côté","d'un côté","d'une façon générale","dans ce cas","dans ces conditions","dans cet esprit","dans l'ensemble","dans l'état actuel des choses","dans l'éventualité où","dans l'hypothèse où","dans la mesure où","dans le but de","dans le cadre de","dans le cas où","dans les circonstances actuelles","dans les grandes lignes","dans un autre ordre d'idée","dans un délai de","de ce fait","de cette façon","de crainte que","de façon à","de façon à ce que","de façon que","de fait","de l'autre côté","de la même manière","de la même façon que","de manière que","de même","de même qu'à","de même que","de nos jours","de peur que","de prime abord","de sorte que","de surcroît","de telle manière que","de telle sorte que","de toute évidence","de toute façon","de toute manière","depuis que","dès lors que","dès maintenant","dès qua","dès que","du fait que","du moins","du moment que","du point de vue de","du reste","d'ici là","d'ores et déjà","en admettant que","en attendant que","en bref","en cas de","en cas que","en ce cas","en ce domaine","en ce moment","en ce qui a trait à","en ce qui concerne","en ce sens","en cela","en comparaison de","en conclusion","en conformité avec","en conséquence","en d'autres termes","en définitive","en dépit de","en dernier lieu","en deuxième lieu","en effet","en face de","en fait","en fin de compte","en général","en guise de conclusion","en matière de","en même temps que","en outre","en particulier","en plus","en premier lieu","en principe","en raison de","en réalité","en règle générale","en résumé","en revanche","en second lieu","en somme","en sorte que","en supposant que","en tant que","en terminant","en théorie","en tout cas","en tout premier lieu","en troisième lieu","en un mot","en vérité","en vue que","encore que","encore une fois","entre autres","et même","et puis","étant donné qu'à","étant donné que","face à","grâce à","il est à noter que","il est indéniable que","il est question de","il est vrai que","il faut dire aussi que","il faut reconnaître que","il faut souligner que","il ne faut pas oublier que","il s'ensuit que","il suffit de prendre pour exemple","jusqu'ici","il y a aussi","jusqu'à ce que","jusqu'à ce jour","jusqu'à maintenant","jusqu'à présent","jusqu'au moment où","jusqu'ici","l'aspect le plus important de","l'exemple le plus significatif","jusqu'au moment où","la preuve c'est que","loin que","mais en réalité","malgré cela","malgré tout","même si","mentionnons que","mis à part le fait que","notons que","nul doute que","ou bien","outre cela","où que","par ailleurs","par conséquent","par contre","par exception","par exemple","par la suite","par l'entremise de","par l'intermédiaire de","par rapport à","par suite","par suite de","par surcroît","parce que","pareillement","partant de ce fait","pas du tout","pendant que","plus précisément","plus tard","pour ainsi dire","pour autant que","pour ce qui est de","pour ces motifs","pour ces raisons","pour cette raison","pour commencer","pour conclure","pour le moment","pour marquer la causalité","pour l'instant","pour peu que","pour prendre un autre exemple","pour que","pour résumé","pour terminer","pour tout dire","pour toutes ces raisons","pourvu que","prenons le cas de","quand bien même que","quand même","quant à","quel que soit","qui plus est","qui que","quitte à","quoi qu'il en soit","quoi que","quoiqu'il en soit","sans délai","sans doute","sans parler de","sans préjuger","sans tarder","sauf si","selon que","si bien que","si ce n'est que","si l'on songe que","sitôt que","somme toute","sous cette réserve","sous prétexte que","sous réserve de","sous réserve que","suivant que","supposé que","sur le plan de","tandis que","tant et si bien que","tant que","tel que","tellement que","touchant à","tout à fait","tout bien pesé","tout compte fait","tout d'abord","tout d'abord examinons","tout d'abord il faut dire que","tout de même","tout en reconnaissant que","une fois de plus","vu que"]},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return{singleWords:i,multipleWords:n,allWords:i.concat(n)}};var i=["ademais","afinal","aliás","analogamente","anteriormente","assim","certamente","conforme","conquanto","contudo","decerto","embora","enfim","enquanto","então","entretanto","eventualmente","igualmente","inegavelmente","inesperadamente","mas","outrossim","pois","porquanto","porque","portanto","posteriormente","precipuamente","primeiramente","primordialmente","principalmente","salvo","semelhantemente","similarmente","sobretudo","surpreendentemente","todavia"],n=["a fim de","a fim de que","a menos que","a princípio","a saber","acima de tudo","ainda assim","ainda mais","ainda que","além disso","antes de mais nada","antes de tudo","antes que","ao mesmo tempo","ao passo que","ao propósito","apesar de","às vezes","assim como","assim que","assim sendo","assim também","bem como","com a finalidade de","com efeito","com o fim de","com o intuito de","com o propósito de","com toda a certeza","como resultado","como se","da mesma forma","de acordo com","de conformidade com","de fato","de maneira idêntica","de tal forma que","de tal sorte que","depois que","desde que","dessa forma","dessa maneira","desse modo","do mesmo modo","é provável","em conclusão","em contrapartida","em contraste com","em outras palavras","em primeiro lugar","em princípio","em resumo","em seguida","em segundo lugar","em síntese","em suma","em terceiro lugar","em virtude de","finalmente agora atualmente","isto é","já que","logo após","logo depois","logo que","mesmo que","não apenas","nesse hiato","nesse ínterim","nesse meio tempo","nesse sentido","no entanto","no momento em que","ou por outra","ou seja","para que","pelo contrário","por analogia","por causa de","por certo","por conseguinte","por conseqüência","por exemplo","por fim","por isso","por mais que","por menos que","por outro lado","posto que","se acaso","se bem que","seja como for","sem dúvida","só para exemplificar","só para ilustrar","só que","sob o mesmo ponto de vista","talvez provavelmente","tanto quanto","uma vez que","visto que"]},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return{singleWords:i,multipleWords:n,allWords:i.concat(n)}};var i=["безусловно","бесспорно","вероятно","вестимо","вдобавок","видимо","вишь","во-вторых","во-первых","вообще-то","впрочем","дабы","едва","ежели","если","затем ","зачем","ибо","итак","кабы","кажется","кажись","коли","кстати","лишь","лучше","наверно","наверное","например","небось","нежели","несомненно","но","однако","особенно","оттого","отчего","поди","пожалуй","позволь","позвольте","покамест","покуда","поскольку","потому","притом","причем","только","хотя","чтоб","чтобы","чуть","якобы"],n=["а вдобавок","а вот","а именно","а не то","а не","а потом","а также","без всякого сомнения","без того чтобы не","без того, чтобы не","благодаря тому","более того","будто бы","будь то","буквально","в итоге","в конце концов","в общей сложности","в общем-то","в общем","в отношении того что","в отношении того, что","в принципе","в противовес тому что","в противовес тому, что","в противоположность тому","в результате","в самом деле","в свою очередь","в связи с тем что","в связи с тем","в силу того что","в силу того","в силу чего","в случа","в сравнении с тем","в сущности говоря","в сущности","в таком случае","в то время как","в то время, как","в том случае","в частности","в-третьих","ввиду того","вернее говоря","вероятнее всего","видите ли","видишь ли","вместе с тем","вместо того","вне всякого сомнения","вне сомнения","во всяком случае","воля ваша","воля твоя","вообще говоря","вопреки тому","вплоть до того","вроде того как","вроде того что","вроде того","вроде того","вследствие того что","вследствие чего","грубо говоря","да еще","да и то","дай бог память","даром что","для того чтобы","для того, чтобы","до тех пор пока","до тех пор, пока","до того как","до того, как","едва лишь","едва только","ежели бы","если угодно","жалко, что","жаль, что","за счет того что","за счет того, что","знамо дело","и вот еще","из-за того что","из-за того, что","иначе говоря","исходя из того","к вашему сведению","к несчастью","к огорчению","к примеру сказать","к примеру","к прискорбию","к радости","к слову сказать","к сожалению","к стыду своему","к стыду","к счастью","к твоему сведению","к тому же","к удивлению","к ужасу","к чести","как будто","как бы там ни было","как бы то ни было","как бы","как вам известно","как вдруг","как видите","как видишь","как видно","как водится","как выяснилось","как выясняется","как говорилось","как говорится","как если бы","как знать","как известно","как на заказ","как назло","как нарочно","как ни говори","как ни говорите","как ни странно","как оказалось","как оказывается","как полагается","как положено","как правило","как принято говорить","как принято","как сказано","как скоро","как следствие","как словно","как только","как хотите","как это ни странно","ко всему прочему","коль скоро","коль уж","коротко говоря","короче говоря","кроме всего прочего","кстати говоря","кстати сказать","лишь бы","лишь только","мало сказать","мало того","между нами говоря","между прочим","между тем как","может статься","можно подумать","мягко выражаясь","мягко говоря","на беду","на ваш взгляд","на мой взгляд","на несчастье","на основании того что","на основании того, что","на первый взгляд","на самом деле","на случай","на твой взгляд","на худой конец","надо полагать","наряду с тем что","наряду с тем","насчет того что","насчет того, что","не в пример тому как","не в пример тому, как","не то чтобы","невзирая на то","независимо от того","несмотря на то","ничего не скажешь","но вообще-то","но кроме того","однако же","откровенно сказать","относительно того что","относительно того, что","перед тем","по вашему мнению","по видимости","по всей вероятности","по всей видимости","по данным","по замыслу","по идее","по крайней мере","по мере того как","по мере того, как","по мнению","по моему мнению","по обыкновению","по обычаю","по определению","по поводу того","по правде говоря","по правде сказать","по правде","по преданию","по причине того","по прогнозам","по сведениям","по своему обыкновению","по слухам","по совести говоря","по совести сказать","по совести","по сообщению","по сообщениям","по справедливости говоря","по справедливости","по сравнению","по статистике","по сути говоря","по сути дела","по сути","по существу говоря","по существу","по счастью","по твоему мнению","по чести говоря","по чести признаться","по чести сказать","по-вашему","по-видимому","по-ихнему","по-моему","по-нашему","по-твоему","под видом того что","под видом того, что","под предлогом","подобно тому","подумать только","помимо всего прочего","помимо всего","помимо того","помимо того","помимо этого","понятное дело","попросту говоря","попросту сказать","после того","потому как","потому что","правду говоря","правду сказать","правильнее говоря","прежде всего","прежде нежели","прежде чем","при всем том","при условии что","при условии, что","против обыкновения","проще говоря","проще сказать","прямо-таки как","пускай бы","равно как","ради того чтобы","разве что","разумеется","с вашего позволения","с вашего разрешения","с другой стороны","с моей точки зрения","с одной стороны","с позволения сказать","с твоего позволения","с твоего разрешения","с тем чтобы","с тех пор как","с той целью чтобы","с точки зрения","само собой разумеется","сверх того что","сверх того","сказать по правде","сказать по совести","сказать по чести","скорее всего","смотря по тому","со своей стороны","собственно говоря","совсем как","стало быть","стоит отметить","строго говоря","судя по всему","судя по тому","так или иначе","так как","так что","так чтобы","тем более что","тем не менее","тем паче что","то бишь","то есть","тогда как","только бы","только лишь","только чуть","точнее говоря","точнее сказать","точно так же","что и говорить","что ни говори","что ни говорите","чуть лишь","чуть только","шутка ли сказать","шутка ли","шутка сказать","это значит, что"]},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return{singleWords:i,multipleWords:n,allWords:i.concat(n)}};var i=["aby","abym","abyśmy","abyś","abyście","acz","aczkolwiek","albowiem","ale","aliści","bo","bowiem","bynajmniej","choć","chociaż","chociażby","czyli","dlatego","dodatkowo","dopóki","dotychczas","faktycznie","gdy","gdyż","jakkolwiek","iż","jednak","jednakże","jeśli","kiedy","lecz","mianowicie","mimo","np","najpierw","następnie","natomiast","ni","niemniej","niż","notabene","oczywiście","ogółem","ostatecznie","owszem","podobnie","podsumowując","pokrótce","pomimo","ponadto","ponieważ","poprzednio","potem","później","przecież","przeto","przynajmniej","raczej","również","rzeczywiście","skoro","także","też","toteż","tudzież","tymczasem","wedle","według","więc","właściwie","wobec","wpierw","wprawdzie","wreszcie","wskutek","wstępnie","wszakże","wszelako","zamiast","zanim","zarówno","zaś","zatem","zresztą","zwłaszcza","żeby","żebym","żebyś","żebyście","żebyśmy"],n=["a konkretnie","a propos","aby wrocić do rzeczy","analogicznie do","bacząc na to że","bądź co bądź","bez wątpienia","bez względu","biorąc pod uwagę","choćby","chodzi o to","chyba że","co do","co gorsza","co prawda","co się tyczy","co ważniejsze","co więcej","dzięki czemu","dzięki któremu","dzięki której","dzięki którym","dzięki temu","faktem jest że","inaczej mówiąc","innymi słowy","jak dotąd","jak już mówiłam","jak już mówiłem","jak już wspomniano","jak widać","jako przykład","jednym słowem","jeśli chodzi o","jeżeli chodzi o","konkretnie to","krótko mówiąc","łącznie z","mając to na uwadzę","mam na myśli","mamy na myśli","mówiąc w skrócie","na celu","na dłuższą metę","na dodatek","na koniec","na końcu","na przykład","na skutek","na wstęp","na wypadek gdyby","na zakończenie","nade wszystko","należy pamiętać","nawiasem mówiąc","nie mówiąc już","nie mówiąc o tym","nie pomijając","nie schodząc z tematu","nie wspominając już","nie wspominając o","nie wspominając to","nie wspominając że","nie zważając na","o ile","o tyle","od czasu do czasu","od momentu","odnośnie do","ogólnie mówiąc","ogólnie rzecz biorąc","oprócz tego","oznacza to że","po czwarte","po drugie","po piąte","po pierwsze","po to","po trzecie","pod warunkiem","podczas gdy","podczas kiedy","podobnym sposobem","ponad wszystko","poza tym","prawdę mówiąc","prawdę powiedziawszy","prędzej czy później","przechodząc do","przede wszystkim","przez co","przez tą","przez tego","przez to","przy tym","przypuściwszy że","raz na jakiś czas","rzecz jasna","ściśle biorąc","ściśle mówiąc","skutkiem tego","tak czy inaczej","tak czy owak","tak naprawdę","takich jak","takie jak","to znaczy","tym samym","w celu","w ciągu","w dodatku","w efekcie","w innych słowach","w istocie","w każdym razie","w końcu","w konsekwencji","w kwestii","w międzyczasie","w nadziei że","w obawie że","w odróżnieniu","w podobny sposób","w podsumowaniu","w przeciwieństwie do","w przeciwnym razie","w przypadku","w rezultacie","w rozumieniu że","w rzeczy samej","w rzeczywistości","w skrócie","w szczególności","w takim razie","w ten sposób","w tych okolicznościach","w tym przypadku","w wyniku","w wyniku tego","w związku z tym","wbrew pozorom","włącznie z","wracając do rzeczy","wracając do tematu","wręcz przeciwnie","z drugiej strony","z drugiej zaś strony","z jednej strony","z mocy że","z obawy że","z pewnością","z powodu","z przyczyny","z tą intencją","z tego powodu","z uwagi że","zacznijmy od","zakładając że","ze względu na","ze względu że","zważywszy na to","zważywszy że"]},function(a,e,t){"use strict";var i=["alltså","ändå","annars","ännu","även","avslutningsvis","bl.a.","d.v.s.","då","därefter","däremot","därför","därmed","dessutom","dock","efteråt","eftersom","emellertid","exempelvis","följaktligen","förrän","först","huvudsakligen","ifall","inledningsvis","innan","jämförelsevis","likadant","likaså","liksom","medan","men","nämligen","när","oavsett","också","omvänt","således","sålunda","sammanfattningsvis","samt","samtidigt","särskilt","såsom","sist","slutligen","speciellt","t.ex.","tidigare","tillika","tills","trots","tvärtemot","tvärtom","tydligen","vidare","ytterligare"],n=["å andra sidan","å ena sidan","allt som allt","anledningen är","anledningen blir","annorlunda än","av den orsaken","av detta skäl","beroende på","bland annat","därtill kommer","det beror på att","det vill säga","det visar","detta beror på","detta går ut på att","detta innebär att","detta medför att","effekten blir","efter ett tag","ej heller","en effekt av detta","en förklaring till detta","ett exempel på detta","följden blir","för all del","för att klargöra","för att poängtera","för att säga det på ett annat sätt","för att understryka","för det andra","för det första","för det tredje","förr eller senare","framför allt","har att göra med","i båda fallen","i det fallet","i det här fallet","i förhållande till","i fråga om","i jämförelse med","i likhet med","i ljuset av","i relation till","i samband med","i sin tur","i själva verket","i slutändan","i stället för","i syfte att","i synnerhet","i verkligheten","icke desto mindre","ihop med","inte desto mindre","jämfört med","kort sagt","lika viktigt är","målet är att","med andra ord","med anledning av","med det i åtanke","med hänsyn till","med härledning av","mot den bakgrunden","när allt kommer omkring","när det gäller","närmare bestämt","nu när","orsaken är","på grund av","på liknande sätt","på så sätt","på samma sätt","resultatet blir","så länge som","så småningom","så snart som","sist men inte minst","slutsatsen blir","som en följd av","som ett exempel på","som ett resultat","som jag tidigare antytt","som konklusion kan","som man kan se","som nämnt","som tidigare nämnts","summa summarum","tack vare","till dess","till exempel","till en början","till följd av","till sist","tillsammans med","tvärt om","under de omständigheterna","under tiden","vad mera är","viktigt att inse","vilket innebär"];a.exports=function(){return{singleWords:i,multipleWords:n,allWords:i.concat(n)}}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){return.7+a/3}},function(a,e,t){"use strict";var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a};Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function a(a,e){for(var t=0;t<e.length;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(a,i.key,i)}}return function(e,t,i){return t&&a(e.prototype,t),i&&a(e,i),e}}(),o=t(2),r=c(t(71)),s=t(35),d=c(t(153)),l=c(t(32));function c(a){return a&&a.__esModule?a:{default:a}}var u=function(a){function e(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};!function(a,e){if(!(a instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var t=function(a,e){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==(void 0===e?"undefined":i(e))&&"function"!=typeof e?a:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this)),n={parameters:{goodDistributionScore:30,acceptableDistributionScore:50},scores:{good:9,okay:6,bad:1,consideration:0},urlTitle:(0,s.createAnchorOpeningTag)("https://yoa.st/33q"),urlCallToAction:(0,s.createAnchorOpeningTag)("https://yoa.st/33u")};return t.identifier="keyphraseDistribution",t._config=(0,o.merge)(n,a),t}return function(a,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+(void 0===e?"undefined":i(e)));a.prototype=Object.create(e&&e.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(a,e):a.__proto__=e)}(e,r.default),n(e,[{key:"getResult",value:function(a,e,t){this._keyphraseDistribution=e.getResearch("keyphraseDistribution");var i=new l.default,n=this.calculateResult(t);return i.setScore(n.score),i.setText(n.resultText),i.setHasMarks(this._keyphraseDistribution.sentencesToHighlight.length>0),i}},{key:"calculateResult",value:function(a){var e=this._keyphraseDistribution.keyphraseDistributionScore;return 100===e?{score:this._config.scores.consideration,resultText:a.sprintf(a.dgettext("js-text-analysis","%1$sKeyphrase distribution%3$s: %2$sInclude your keyphrase or its synonyms in the text so that we can check keyphrase distribution%3$s."),this._config.urlTitle,this._config.urlCallToAction,"</a>")}:e>this._config.parameters.acceptableDistributionScore?{score:this._config.scores.bad,resultText:a.sprintf(a.dgettext("js-text-analysis","%1$sKeyphrase distribution%3$s: Very uneven. Large parts of your text do not contain the keyphrase or its synonyms. %2$sDistribute them more evenly%3$s."),this._config.urlTitle,this._config.urlCallToAction,"</a>")}:e>this._config.parameters.goodDistributionScore&&e<=this._config.parameters.acceptableDistributionScore?{score:this._config.scores.okay,resultText:a.sprintf(a.dgettext("js-text-analysis","%1$sKeyphrase distribution%3$s: Uneven. Some parts of your text do not contain the keyphrase or its synonyms. %2$sDistribute them more evenly%3$s."),this._config.urlTitle,this._config.urlCallToAction,"</a>")}:{score:this._config.scores.good,resultText:a.sprintf(a.dgettext("js-text-analysis","%1$sKeyphrase distribution%2$s: Good job!"),this._config.urlTitle,"</a>")}}},{key:"getMarks",value:function(){return this._keyphraseDistribution.sentencesToHighlight}},{key:"isApplicable",value:function(a){return a.hasText()&&a.hasKeyword()&&(0,d.default)(a.getText()).length>=15}}]),e}();e.default=u},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=function(a){return a.replace(/&nbsp;/g," ")},n=function(a){return a.replace(/\s/g," ")},o=function(a){return a=i(a),n(a)};e.unifyNonBreakingSpace=i,e.unifyWhiteSpace=n,e.unifyAllSpaces=o,e.default={unifyNonBreakingSpace:i,unifyWhiteSpace:n,unifyAllSpaces:o}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=function(a){return a&&a.__esModule?a:{default:a}}(t(32)),n=t(2),o=t(35);e.default={identifier:"taxonomyTextLength",getResult:function(a,e,t){var r=e.getResearch("wordCountInText"),s=function(a,e){var t=(0,o.createAnchorOpeningTag)("https://yoa.st/34j"),i=(0,o.createAnchorOpeningTag)("https://yoa.st/34k");return a>=150?{score:9,text:e.sprintf(e.dngettext("js-text-analysis","%2$sText length%3$s: The text contains %1$d word. Good job!","%2$sText length%3$s: The text contains %1$d words. Good job!",a),a,t,"</a>")}:(0,n.inRange)(a,125,150)?{score:7,text:e.sprintf(e.dngettext("js-text-analysis","%2$sText length%4$s: The text contains %1$d word.","%2$sText length%4$s: The text contains %1$d words.",a)+" "+e.dngettext("js-text-analysis","This is slightly below the recommended minimum of %5$d word. %3$sAdd a bit more copy%4$s.","This is slightly below the recommended minimum of %5$d words. %3$sAdd a bit more copy%4$s.",150),a,t,i,"</a>",150)}:(0,n.inRange)(a,100,125)?{score:5,text:e.sprintf(e.dngettext("js-text-analysis","%2$sText length%4$s: The text contains %1$d word.","%2$sText length%4$s: The text contains %1$d words.",a)+" "+e.dngettext("js-text-analysis","This is below the recommended minimum of %5$d word. %3$sAdd more content%4$s.","This is below the recommended minimum of %5$d words. %3$sAdd more content%4$s.",150),a,t,i,"</a>",150)}:(0,n.inRange)(a,50,100)?{score:-10,text:e.sprintf(e.dngettext("js-text-analysis","%2$sText length%4$s: The text contains %1$d word.","%2$sText length%4$s: The text contains %1$d words.",a)+" "+e.dngettext("js-text-analysis","This is below the recommended minimum of %5$d word. %3$sAdd more content%4$s.","This is below the recommended minimum of %5$d words. %3$sAdd more content%4$s.",150),a,t,i,"</a>",150)}:(0,n.inRange)(a,0,50)?{score:-20,text:e.sprintf(e.dngettext("js-text-analysis","%2$sText length%4$s: The text contains %1$d word.","%2$sText length%4$s: The text contains %1$d words.",a)+" "+e.dngettext("js-text-analysis","This is far below the recommended minimum of %5$d word. %3$sAdd more content%4$s.","This is far below the recommended minimum of %5$d words. %3$sAdd more content%4$s.",150),a,t,i,"</a>",150)}:void 0}(r,t),d=new i.default;return d.setScore(s.score),d.setText(t.sprintf(s.text,r,150)),d}}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.usedKeywords=void 0;var i=function(a){return a&&a.__esModule?a:{default:a}}(t(964));e.usedKeywords=i.default},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.scoreToRating=e.measureTextWidth=void 0;var i=t(228);Object.keys(i).forEach(function(a){"default"!==a&&"__esModule"!==a&&Object.defineProperty(e,a,{enumerable:!0,get:function(){return i[a]}})});var n=t(753),o=function(a){return a&&a.__esModule?a:{default:a}}(t(498));e.measureTextWidth=n.measureTextWidth,e.scoreToRating=o.default},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.measureTextWidth=function(a){var e=document.getElementById("yoast-measurement-element");return e||(e=function(){var a=document.createElement("div");return a.id="yoast-measurement-element",a.style.position="absolute",a.style.left="-9999em",a.style.top=0,a.style.height=0,a.style.overflow="hidden",a.style.fontFamily="Arial",a.style.fontSize="18px",a.style.fontWeight="400",document.body.appendChild(a),a}()),e.innerHTML=a,e.offsetWidth}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.removeMarks=void 0;var i=function(a){return a&&a.__esModule?a:{default:a}}(t(966));e.removeMarks=i.default},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.__createWordRegex=e.wordBoundaries=e.removeHtmlBlocks=e.relevantWords=e.imageInText=e.replaceDiacritics=e.transliterate=e.stripSpaces=e.stripHTMLTags=void 0;var i=t(144),n=p(t(77)),o=p(t(464)),r=p(t(360)),s=p(t(499)),d=p(t(756)),l=p(t(758)),c=p(t(466)),u=p(t(766));function p(a){return a&&a.__esModule?a:{default:a}}e.stripHTMLTags=i.stripFullTags,e.stripSpaces=n.default,e.transliterate=o.default,e.replaceDiacritics=r.default,e.imageInText=s.default,e.relevantWords=d.default,e.removeHtmlBlocks=l.default,e.wordBoundaries=u.default,e.__createWordRegex=c.default},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.filterEndingWith=e.filterOneCharacterWordCombinations=e.filterOnDensity=e.filterFunctionWordsAnywhere=e.filterFunctionWords=e.filterFunctionWordsAtBeginning=e.filterFunctionWordsAtEnding=e.sortCombinations=e.getRelevantCombinations=e.calculateOccurrences=e.getRelevantWords=e.getWordCombinations=void 0;var i=c(t(145)),n=c(t(153)),o=c(t(757)),r=t(345),s=c(t(461)),d=c(t(76)),l=t(2);function c(a){return a&&a.__esModule?a:{default:a}}var u=(0,s.default)(),p=0,z=.03,g=100,m=200,y=["–","—","-","©","#","%","/","\\","$","€","£","*","•","|","→","←","}","{","//","||","​"];function w(a,e,t){var s=(0,n.default)(a),d=void 0,c=void 0;return(0,l.flatMap)(s,function(a){return a=a.toLocaleLowerCase(),a=(0,r.normalize)(a),d=(0,i.default)(a),(0,l.filter)((0,l.map)(d,function(a,i){return i+e-1<d.length&&(c=d.slice(i,i+e),new o.default(c,0,t))}))})}function f(a){var e={};return(0,l.forEach)(a,function(a){var t=a.getCombination();(0,l.has)(e,t)||(e[t]=a),e[t].incrementOccurrences()}),(0,l.values)(e)}function b(a){return a=a.filter(function(a){return 1!==a.getOccurrences()&&0!==a.getRelevance()})}function h(a){a.sort(function(a,e){var t=e.getRelevance()-a.getRelevance();return 0!==t?t:e.getLength()-a.getLength()})}function v(a){return a.filter(function(a){return!(1===a.getLength()&&a.getWords()[0].length<=1)})}function k(a,e){return a.filter(function(a){return(0,l.isEmpty)((0,l.intersection)(e,a.getWords()))})}function j(a,e){return a.filter(function(a){return!(0,l.includes)(e,a.getWords()[0])})}function _(a,e){return a.filter(function(a){var t=a.getWords(),i=t.length-1;return!(0,l.includes)(e,t[i])})}function x(a,e){return a=_(a=j(a,e),e)}function q(a,e,t,i){return a.filter(function(a){return a.getDensity(e)>=t&&a.getDensity(e)<i})}function E(a,e,t){return a=a.filter(function(a){for(var i=a.getCombination(),n=0;n<t.length;n++)if(i.endsWith(t[n]))return!0;return!i.endsWith(e)})}function A(a,e){return a=j(a=_(a=x(a=k(a,e.filteredAnywhere),e.filteredAtBeginningAndEnding),e.filteredAtEnding),e.filteredAtBeginning)}function T(a,e){var t=(0,d.default)(e);u.hasOwnProperty(t)||(t="en");var i=u[t],n=w(a,1,i.all),o=n.length,r=b(f(n));h(r),r=(0,l.take)(r,100);var s={};(0,l.forEach)(r,function(a){s[a.getCombination()]=a.getRelevance()});var c=f(w(a,2,i.all)),j=f(w(a,3,i.all)),_=f(w(a,4,i.all)),x=f(w(a,5,i.all)),T=r.concat(c,j,_,x);return T=function(a,e,t){return a=A(a=v(a=k(a,y)),e),"en"===t&&(a=E(a,"'s",[])),a}(T,i,t),(0,l.forEach)(T,function(a){a.setRelevantWords(s)}),h(T=b(T)),o>=m&&(T=q(T,o,p,z)),(0,l.take)(T,g)}e.getWordCombinations=w,e.getRelevantWords=T,e.calculateOccurrences=f,e.getRelevantCombinations=b,e.sortCombinations=h,e.filterFunctionWordsAtEnding=_,e.filterFunctionWordsAtBeginning=j,e.filterFunctionWords=A,e.filterFunctionWordsAnywhere=k,e.filterOnDensity=q,e.filterOneCharacterWordCombinations=v,e.filterEndingWith=E,e.default={getWordCombinations:w,getRelevantWords:T,calculateOccurrences:f,getRelevantCombinations:b,sortCombinations:h,filterFunctionWordsAtEnding:_,filterFunctionWordsAtBeginning:j,filterFunctionWords:x,filterFunctionWordsAnywhere:k,filterOnDensity:q,filterOneCharacterWordCombinations:v,filterEndingWith:E}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=t(2);function n(a,e,t){this._words=a,this._length=a.length,this._occurrences=e||0,this._functionWords=t}n.lengthBonus={2:3,3:7,4:12,5:18},n.prototype.getLengthBonus=function(){return(0,i.has)(n.lengthBonus,this._length)?n.lengthBonus[this._length]:0},n.prototype.getWords=function(){return this._words},n.prototype.getLength=function(){return this._length},n.prototype.getCombination=function(){return this._words.join(" ")},n.prototype.getOccurrences=function(){return this._occurrences},n.prototype.incrementOccurrences=function(){this._occurrences+=1},n.prototype.getMultiplier=function(a){return 1+a*this.getLengthBonus()},n.prototype.isRelevantWord=function(a){return(0,i.has)(this._relevantWords,a)},n.prototype.getRelevantWordPercentage=function(){var a=0,e=1;return this._length>1&&((0,i.forEach)(this._words,function(e){this.isRelevantWord(e)&&(a+=1)}.bind(this)),e=a/this._length),e},n.prototype.getRelevance=function(){if(1===this._words.length&&function(a,e){return-1!==e.indexOf(a.toLocaleLowerCase())}(this._words[0],this._functionWords))return 0;var a=this.getRelevantWordPercentage();return 0===a?0:this.getMultiplier(a)*this._occurrences},n.prototype.setRelevantWords=function(a){this._relevantWords=a},n.prototype.getDensity=function(a){return this._occurrences/a},n.prototype.serialize=function(){return{_parseClass:"WordCombination",words:this._words,occurrences:this._occurrences,functionWords:this._functionWords,relevantWords:this._relevantWords}},n.parse=function(a){var e=new n(a.words,a.occurrences,a.functionWords);return e.setRelevantWords(a.relevantWords),e},e.default=n},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){return o=[],d.write(a),o.join("")};var i=function(a){return a&&a.__esModule?a:{default:a}}(t(361)),n=t(2);var o=void 0,r=!1,s=["script","style","code","pre"],d=new i.default.Parser({onopentag:function(a,e){if((0,n.includes)(s,a))r=!0;else{var t="";Object.keys(e).forEach(function(a){t+=" "+a+"='"+e[a]+"'"}),o.push("<"+a+t+">")}},ontext:function(a){r||o.push(a)},onclosetag:function(a){(0,n.includes)(s,a)?r=!1:o.push("</"+a+">")}},{decodeEntities:!0})},function(a,e,t){var i=t(760),n={input:!0,option:!0,optgroup:!0,select:!0,button:!0,datalist:!0,textarea:!0},o={tr:{tr:!0,th:!0,td:!0},th:{th:!0},td:{thead:!0,th:!0,td:!0},body:{head:!0,link:!0,script:!0},li:{li:!0},p:{p:!0},h1:{p:!0},h2:{p:!0},h3:{p:!0},h4:{p:!0},h5:{p:!0},h6:{p:!0},select:n,input:n,output:n,button:n,datalist:n,textarea:n,option:{option:!0},optgroup:{optgroup:!0}},r={__proto__:null,area:!0,base:!0,basefont:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,isindex:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},s={__proto__:null,math:!0,svg:!0},d={__proto__:null,mi:!0,mo:!0,mn:!0,ms:!0,mtext:!0,"annotation-xml":!0,foreignObject:!0,desc:!0,title:!0},l=/\s|\//;function c(a,e){this._options=e||{},this._cbs=a||{},this._tagname="",this._attribname="",this._attribvalue="",this._attribs=null,this._stack=[],this._foreignContext=[],this.startIndex=0,this.endIndex=null,this._lowerCaseTagNames="lowerCaseTags"in this._options?!!this._options.lowerCaseTags:!this._options.xmlMode,this._lowerCaseAttributeNames="lowerCaseAttributeNames"in this._options?!!this._options.lowerCaseAttributeNames:!this._options.xmlMode,this._options.Tokenizer&&(i=this._options.Tokenizer),this._tokenizer=new i(this._options,this),this._cbs.onparserinit&&this._cbs.onparserinit(this)}t(229)(c,t(684).EventEmitter),c.prototype._updatePosition=function(a){null===this.endIndex?this._tokenizer._sectionStart<=a?this.startIndex=0:this.startIndex=this._tokenizer._sectionStart-a:this.startIndex=this.endIndex+1,this.endIndex=this._tokenizer.getAbsoluteIndex()},c.prototype.ontext=function(a){this._updatePosition(1),this.endIndex--,this._cbs.ontext&&this._cbs.ontext(a)},c.prototype.onopentagname=function(a){if(this._lowerCaseTagNames&&(a=a.toLowerCase()),this._tagname=a,!this._options.xmlMode&&a in o)for(var e;(e=this._stack[this._stack.length-1])in o[a];this.onclosetag(e));!this._options.xmlMode&&a in r||(this._stack.push(a),a in s?this._foreignContext.push(!0):a in d&&this._foreignContext.push(!1)),this._cbs.onopentagname&&this._cbs.onopentagname(a),this._cbs.onopentag&&(this._attribs={})},c.prototype.onopentagend=function(){this._updatePosition(1),this._attribs&&(this._cbs.onopentag&&this._cbs.onopentag(this._tagname,this._attribs),this._attribs=null),!this._options.xmlMode&&this._cbs.onclosetag&&this._tagname in r&&this._cbs.onclosetag(this._tagname),this._tagname=""},c.prototype.onclosetag=function(a){if(this._updatePosition(1),this._lowerCaseTagNames&&(a=a.toLowerCase()),!this._stack.length||a in r&&!this._options.xmlMode)this._options.xmlMode||"br"!==a&&"p"!==a||(this.onopentagname(a),this._closeCurrentTag());else{var e=this._stack.lastIndexOf(a);if(-1!==e)if(this._cbs.onclosetag)for(e=this._stack.length-e;e--;)this._cbs.onclosetag(this._stack.pop());else this._stack.length=e;else"p"!==a||this._options.xmlMode||(this.onopentagname(a),this._closeCurrentTag())}},c.prototype.onselfclosingtag=function(){this._options.xmlMode||this._options.recognizeSelfClosing||this._foreignContext[this._foreignContext.length-1]?this._closeCurrentTag():this.onopentagend()},c.prototype._closeCurrentTag=function(){var a=this._tagname;this.onopentagend(),this._stack[this._stack.length-1]===a&&(this._cbs.onclosetag&&this._cbs.onclosetag(a),this._stack.pop(),(a in s||a in d)&&this._foreignContext.pop())},c.prototype.onattribname=function(a){this._lowerCaseAttributeNames&&(a=a.toLowerCase()),this._attribname=a},c.prototype.onattribdata=function(a){this._attribvalue+=a},c.prototype.onattribend=function(){this._cbs.onattribute&&this._cbs.onattribute(this._attribname,this._attribvalue),this._attribs&&!Object.prototype.hasOwnProperty.call(this._attribs,this._attribname)&&(this._attribs[this._attribname]=this._attribvalue),this._attribname="",this._attribvalue=""},c.prototype._getInstructionName=function(a){var e=a.search(l),t=e<0?a:a.substr(0,e);return this._lowerCaseTagNames&&(t=t.toLowerCase()),t},c.prototype.ondeclaration=function(a){if(this._cbs.onprocessinginstruction){var e=this._getInstructionName(a);this._cbs.onprocessinginstruction("!"+e,"!"+a)}},c.prototype.onprocessinginstruction=function(a){if(this._cbs.onprocessinginstruction){var e=this._getInstructionName(a);this._cbs.onprocessinginstruction("?"+e,"?"+a)}},c.prototype.oncomment=function(a){this._updatePosition(4),this._cbs.oncomment&&this._cbs.oncomment(a),this._cbs.oncommentend&&this._cbs.oncommentend()},c.prototype.oncdata=function(a){this._updatePosition(1),this._options.xmlMode||this._options.recognizeCDATA?(this._cbs.oncdatastart&&this._cbs.oncdatastart(),this._cbs.ontext&&this._cbs.ontext(a),this._cbs.oncdataend&&this._cbs.oncdataend()):this.oncomment("[CDATA["+a+"]]")},c.prototype.onerror=function(a){this._cbs.onerror&&this._cbs.onerror(a)},c.prototype.onend=function(){if(this._cbs.onclosetag)for(var a=this._stack.length;a>0;this._cbs.onclosetag(this._stack[--a]));this._cbs.onend&&this._cbs.onend()},c.prototype.reset=function(){this._cbs.onreset&&this._cbs.onreset(),this._tokenizer.reset(),this._tagname="",this._attribname="",this._attribs=null,this._stack=[],this._cbs.onparserinit&&this._cbs.onparserinit(this)},c.prototype.parseComplete=function(a){this.reset(),this.end(a)},c.prototype.write=function(a){this._tokenizer.write(a)},c.prototype.end=function(a){this._tokenizer.end(a)},c.prototype.pause=function(){this._tokenizer.pause()},c.prototype.resume=function(){this._tokenizer.resume()},c.prototype.parseChunk=c.prototype.write,c.prototype.done=c.prototype.end,a.exports=c},function(a,e,t){a.exports=ya;var i=t(761),n=t(682),o=t(762),r=t(683),s=0,d=s++,l=s++,c=s++,u=s++,p=s++,z=s++,g=s++,m=s++,y=s++,w=s++,f=s++,b=s++,h=s++,v=s++,k=s++,j=s++,_=s++,x=s++,q=s++,E=s++,A=s++,T=s++,O=s++,S=s++,M=s++,P=s++,C=s++,R=s++,D=s++,F=s++,B=s++,$=s++,I=s++,L=s++,W=s++,U=s++,N=s++,K=s++,H=s++,V=s++,G=s++,Y=s++,Z=s++,J=s++,Q=s++,X=s++,aa=s++,ea=s++,ta=s++,ia=s++,na=s++,oa=s++,ra=s++,sa=s++,da=s++,la=0,ca=la++,ua=la++,pa=la++;function za(a){return" "===a||"\n"===a||"\t"===a||"\f"===a||"\r"===a}function ga(a,e,t){var i=a.toLowerCase();return a===i?function(a){a===i?this._state=e:(this._state=t,this._index--)}:function(n){n===i||n===a?this._state=e:(this._state=t,this._index--)}}function ma(a,e){var t=a.toLowerCase();return function(i){i===t||i===a?this._state=e:(this._state=c,this._index--)}}function ya(a,e){this._state=d,this._buffer="",this._sectionStart=0,this._index=0,this._bufferOffset=0,this._baseState=d,this._special=ca,this._cbs=e,this._running=!0,this._ended=!1,this._xmlMode=!(!a||!a.xmlMode),this._decodeEntities=!(!a||!a.decodeEntities)}ya.prototype._stateText=function(a){"<"===a?(this._index>this._sectionStart&&this._cbs.ontext(this._getSection()),this._state=l,this._sectionStart=this._index):this._decodeEntities&&this._special===ca&&"&"===a&&(this._index>this._sectionStart&&this._cbs.ontext(this._getSection()),this._baseState=d,this._state=na,this._sectionStart=this._index)},ya.prototype._stateBeforeTagName=function(a){"/"===a?this._state=p:"<"===a?(this._cbs.ontext(this._getSection()),this._sectionStart=this._index):">"===a||this._special!==ca||za(a)?this._state=d:"!"===a?(this._state=k,this._sectionStart=this._index+1):"?"===a?(this._state=_,this._sectionStart=this._index+1):(this._state=this._xmlMode||"s"!==a&&"S"!==a?c:B,this._sectionStart=this._index)},ya.prototype._stateInTagName=function(a){("/"===a||">"===a||za(a))&&(this._emitToken("onopentagname"),this._state=m,this._index--)},ya.prototype._stateBeforeCloseingTagName=function(a){za(a)||(">"===a?this._state=d:this._special!==ca?"s"===a||"S"===a?this._state=$:(this._state=d,this._index--):(this._state=z,this._sectionStart=this._index))},ya.prototype._stateInCloseingTagName=function(a){(">"===a||za(a))&&(this._emitToken("onclosetag"),this._state=g,this._index--)},ya.prototype._stateAfterCloseingTagName=function(a){">"===a&&(this._state=d,this._sectionStart=this._index+1)},ya.prototype._stateBeforeAttributeName=function(a){">"===a?(this._cbs.onopentagend(),this._state=d,this._sectionStart=this._index+1):"/"===a?this._state=u:za(a)||(this._state=y,this._sectionStart=this._index)},ya.prototype._stateInSelfClosingTag=function(a){">"===a?(this._cbs.onselfclosingtag(),this._state=d,this._sectionStart=this._index+1):za(a)||(this._state=m,this._index--)},ya.prototype._stateInAttributeName=function(a){("="===a||"/"===a||">"===a||za(a))&&(this._cbs.onattribname(this._getSection()),this._sectionStart=-1,this._state=w,this._index--)},ya.prototype._stateAfterAttributeName=function(a){"="===a?this._state=f:"/"===a||">"===a?(this._cbs.onattribend(),this._state=m,this._index--):za(a)||(this._cbs.onattribend(),this._state=y,this._sectionStart=this._index)},ya.prototype._stateBeforeAttributeValue=function(a){'"'===a?(this._state=b,this._sectionStart=this._index+1):"'"===a?(this._state=h,this._sectionStart=this._index+1):za(a)||(this._state=v,this._sectionStart=this._index,this._index--)},ya.prototype._stateInAttributeValueDoubleQuotes=function(a){'"'===a?(this._emitToken("onattribdata"),this._cbs.onattribend(),this._state=m):this._decodeEntities&&"&"===a&&(this._emitToken("onattribdata"),this._baseState=this._state,this._state=na,this._sectionStart=this._index)},ya.prototype._stateInAttributeValueSingleQuotes=function(a){"'"===a?(this._emitToken("onattribdata"),this._cbs.onattribend(),this._state=m):this._decodeEntities&&"&"===a&&(this._emitToken("onattribdata"),this._baseState=this._state,this._state=na,this._sectionStart=this._index)},ya.prototype._stateInAttributeValueNoQuotes=function(a){za(a)||">"===a?(this._emitToken("onattribdata"),this._cbs.onattribend(),this._state=m,this._index--):this._decodeEntities&&"&"===a&&(this._emitToken("onattribdata"),this._baseState=this._state,this._state=na,this._sectionStart=this._index)},ya.prototype._stateBeforeDeclaration=function(a){this._state="["===a?T:"-"===a?x:j},ya.prototype._stateInDeclaration=function(a){">"===a&&(this._cbs.ondeclaration(this._getSection()),this._state=d,this._sectionStart=this._index+1)},ya.prototype._stateInProcessingInstruction=function(a){">"===a&&(this._cbs.onprocessinginstruction(this._getSection()),this._state=d,this._sectionStart=this._index+1)},ya.prototype._stateBeforeComment=function(a){"-"===a?(this._state=q,this._sectionStart=this._index+1):this._state=j},ya.prototype._stateInComment=function(a){"-"===a&&(this._state=E)},ya.prototype._stateAfterComment1=function(a){this._state="-"===a?A:q},ya.prototype._stateAfterComment2=function(a){">"===a?(this._cbs.oncomment(this._buffer.substring(this._sectionStart,this._index-2)),this._state=d,this._sectionStart=this._index+1):"-"!==a&&(this._state=q)},ya.prototype._stateBeforeCdata1=ga("C",O,j),ya.prototype._stateBeforeCdata2=ga("D",S,j),ya.prototype._stateBeforeCdata3=ga("A",M,j),ya.prototype._stateBeforeCdata4=ga("T",P,j),ya.prototype._stateBeforeCdata5=ga("A",C,j),ya.prototype._stateBeforeCdata6=function(a){"["===a?(this._state=R,this._sectionStart=this._index+1):(this._state=j,this._index--)},ya.prototype._stateInCdata=function(a){"]"===a&&(this._state=D)},ya.prototype._stateAfterCdata1=function(a){this._state="]"===a?F:R},ya.prototype._stateAfterCdata2=function(a){">"===a?(this._cbs.oncdata(this._buffer.substring(this._sectionStart,this._index-2)),this._state=d,this._sectionStart=this._index+1):"]"!==a&&(this._state=R)},ya.prototype._stateBeforeSpecial=function(a){"c"===a||"C"===a?this._state=I:"t"===a||"T"===a?this._state=Z:(this._state=c,this._index--)},ya.prototype._stateBeforeSpecialEnd=function(a){this._special!==ua||"c"!==a&&"C"!==a?this._special!==pa||"t"!==a&&"T"!==a?this._state=d:this._state=aa:this._state=K},ya.prototype._stateBeforeScript1=ma("R",L),ya.prototype._stateBeforeScript2=ma("I",W),ya.prototype._stateBeforeScript3=ma("P",U),ya.prototype._stateBeforeScript4=ma("T",N),ya.prototype._stateBeforeScript5=function(a){("/"===a||">"===a||za(a))&&(this._special=ua),this._state=c,this._index--},ya.prototype._stateAfterScript1=ga("R",H,d),ya.prototype._stateAfterScript2=ga("I",V,d),ya.prototype._stateAfterScript3=ga("P",G,d),ya.prototype._stateAfterScript4=ga("T",Y,d),ya.prototype._stateAfterScript5=function(a){">"===a||za(a)?(this._special=ca,this._state=z,this._sectionStart=this._index-6,this._index--):this._state=d},ya.prototype._stateBeforeStyle1=ma("Y",J),ya.prototype._stateBeforeStyle2=ma("L",Q),ya.prototype._stateBeforeStyle3=ma("E",X),ya.prototype._stateBeforeStyle4=function(a){("/"===a||">"===a||za(a))&&(this._special=pa),this._state=c,this._index--},ya.prototype._stateAfterStyle1=ga("Y",ea,d),ya.prototype._stateAfterStyle2=ga("L",ta,d),ya.prototype._stateAfterStyle3=ga("E",ia,d),ya.prototype._stateAfterStyle4=function(a){">"===a||za(a)?(this._special=ca,this._state=z,this._sectionStart=this._index-5,this._index--):this._state=d},ya.prototype._stateBeforeEntity=ga("#",oa,ra),ya.prototype._stateBeforeNumericEntity=ga("X",da,sa),ya.prototype._parseNamedEntityStrict=function(){if(this._sectionStart+1<this._index){var a=this._buffer.substring(this._sectionStart+1,this._index),e=this._xmlMode?r:n;e.hasOwnProperty(a)&&(this._emitPartial(e[a]),this._sectionStart=this._index+1)}},ya.prototype._parseLegacyEntity=function(){var a=this._sectionStart+1,e=this._index-a;for(e>6&&(e=6);e>=2;){var t=this._buffer.substr(a,e);if(o.hasOwnProperty(t))return this._emitPartial(o[t]),void(this._sectionStart+=e+1);e--}},ya.prototype._stateInNamedEntity=function(a){";"===a?(this._parseNamedEntityStrict(),this._sectionStart+1<this._index&&!this._xmlMode&&this._parseLegacyEntity(),this._state=this._baseState):(a<"a"||a>"z")&&(a<"A"||a>"Z")&&(a<"0"||a>"9")&&(this._xmlMode||this._sectionStart+1===this._index||(this._baseState!==d?"="!==a&&this._parseNamedEntityStrict():this._parseLegacyEntity()),this._state=this._baseState,this._index--)},ya.prototype._decodeNumericEntity=function(a,e){var t=this._sectionStart+a;if(t!==this._index){var n=this._buffer.substring(t,this._index),o=parseInt(n,e);this._emitPartial(i(o)),this._sectionStart=this._index}else this._sectionStart--;this._state=this._baseState},ya.prototype._stateInNumericEntity=function(a){";"===a?(this._decodeNumericEntity(2,10),this._sectionStart++):(a<"0"||a>"9")&&(this._xmlMode?this._state=this._baseState:this._decodeNumericEntity(2,10),this._index--)},ya.prototype._stateInHexEntity=function(a){";"===a?(this._decodeNumericEntity(3,16),this._sectionStart++):(a<"a"||a>"f")&&(a<"A"||a>"F")&&(a<"0"||a>"9")&&(this._xmlMode?this._state=this._baseState:this._decodeNumericEntity(3,16),this._index--)},ya.prototype._cleanup=function(){this._sectionStart<0?(this._buffer="",this._bufferOffset+=this._index,this._index=0):this._running&&(this._state===d?(this._sectionStart!==this._index&&this._cbs.ontext(this._buffer.substr(this._sectionStart)),this._buffer="",this._bufferOffset+=this._index,this._index=0):this._sectionStart===this._index?(this._buffer="",this._bufferOffset+=this._index,this._index=0):(this._buffer=this._buffer.substr(this._sectionStart),this._index-=this._sectionStart,this._bufferOffset+=this._sectionStart),this._sectionStart=0)},ya.prototype.write=function(a){this._ended&&this._cbs.onerror(Error(".write() after done!")),this._buffer+=a,this._parse()},ya.prototype._parse=function(){for(;this._index<this._buffer.length&&this._running;){var a=this._buffer.charAt(this._index);this._state===d?this._stateText(a):this._state===l?this._stateBeforeTagName(a):this._state===c?this._stateInTagName(a):this._state===p?this._stateBeforeCloseingTagName(a):this._state===z?this._stateInCloseingTagName(a):this._state===g?this._stateAfterCloseingTagName(a):this._state===u?this._stateInSelfClosingTag(a):this._state===m?this._stateBeforeAttributeName(a):this._state===y?this._stateInAttributeName(a):this._state===w?this._stateAfterAttributeName(a):this._state===f?this._stateBeforeAttributeValue(a):this._state===b?this._stateInAttributeValueDoubleQuotes(a):this._state===h?this._stateInAttributeValueSingleQuotes(a):this._state===v?this._stateInAttributeValueNoQuotes(a):this._state===k?this._stateBeforeDeclaration(a):this._state===j?this._stateInDeclaration(a):this._state===_?this._stateInProcessingInstruction(a):this._state===x?this._stateBeforeComment(a):this._state===q?this._stateInComment(a):this._state===E?this._stateAfterComment1(a):this._state===A?this._stateAfterComment2(a):this._state===T?this._stateBeforeCdata1(a):this._state===O?this._stateBeforeCdata2(a):this._state===S?this._stateBeforeCdata3(a):this._state===M?this._stateBeforeCdata4(a):this._state===P?this._stateBeforeCdata5(a):this._state===C?this._stateBeforeCdata6(a):this._state===R?this._stateInCdata(a):this._state===D?this._stateAfterCdata1(a):this._state===F?this._stateAfterCdata2(a):this._state===B?this._stateBeforeSpecial(a):this._state===$?this._stateBeforeSpecialEnd(a):this._state===I?this._stateBeforeScript1(a):this._state===L?this._stateBeforeScript2(a):this._state===W?this._stateBeforeScript3(a):this._state===U?this._stateBeforeScript4(a):this._state===N?this._stateBeforeScript5(a):this._state===K?this._stateAfterScript1(a):this._state===H?this._stateAfterScript2(a):this._state===V?this._stateAfterScript3(a):this._state===G?this._stateAfterScript4(a):this._state===Y?this._stateAfterScript5(a):this._state===Z?this._stateBeforeStyle1(a):this._state===J?this._stateBeforeStyle2(a):this._state===Q?this._stateBeforeStyle3(a):this._state===X?this._stateBeforeStyle4(a):this._state===aa?this._stateAfterStyle1(a):this._state===ea?this._stateAfterStyle2(a):this._state===ta?this._stateAfterStyle3(a):this._state===ia?this._stateAfterStyle4(a):this._state===na?this._stateBeforeEntity(a):this._state===oa?this._stateBeforeNumericEntity(a):this._state===ra?this._stateInNamedEntity(a):this._state===sa?this._stateInNumericEntity(a):this._state===da?this._stateInHexEntity(a):this._cbs.onerror(Error("unknown _state"),this._state),this._index++}this._cleanup()},ya.prototype.pause=function(){this._running=!1},ya.prototype.resume=function(){this._running=!0,this._index<this._buffer.length&&this._parse(),this._ended&&this._finish()},ya.prototype.end=function(a){this._ended&&this._cbs.onerror(Error(".end() after done!")),a&&this.write(a),this._ended=!0,this._running&&this._finish()},ya.prototype._finish=function(){this._sectionStart<this._index&&this._handleTrailingData(),this._cbs.onend()},ya.prototype._handleTrailingData=function(){var a=this._buffer.substr(this._sectionStart);this._state===R||this._state===D||this._state===F?this._cbs.oncdata(a):this._state===q||this._state===E||this._state===A?this._cbs.oncomment(a):this._state!==ra||this._xmlMode?this._state!==sa||this._xmlMode?this._state!==da||this._xmlMode?this._state!==c&&this._state!==m&&this._state!==f&&this._state!==w&&this._state!==y&&this._state!==h&&this._state!==b&&this._state!==v&&this._state!==z&&this._cbs.ontext(a):(this._decodeNumericEntity(3,16),this._sectionStart<this._index&&(this._state=this._baseState,this._handleTrailingData())):(this._decodeNumericEntity(2,10),this._sectionStart<this._index&&(this._state=this._baseState,this._handleTrailingData())):(this._parseLegacyEntity(),this._sectionStart<this._index&&(this._state=this._baseState,this._handleTrailingData()))},ya.prototype.reset=function(){ya.call(this,{xmlMode:this._xmlMode,decodeEntities:this._decodeEntities},this._cbs)},ya.prototype.getAbsoluteIndex=function(){return this._bufferOffset+this._index},ya.prototype._getSection=function(){return this._buffer.substring(this._sectionStart,this._index)},ya.prototype._emitToken=function(a){this._cbs[a](this._getSection()),this._sectionStart=-1},ya.prototype._emitPartial=function(a){this._baseState!==d?this._cbs.onattribdata(a):this._cbs.ontext(a)}},function(a,e,t){var i=t(967);a.exports=function(a){if(a>=55296&&a<=57343||a>1114111)return"�";a in i&&(a=i[a]);var e="";a>65535&&(a-=65536,e+=String.fromCharCode(a>>>10&1023|55296),a=56320|1023&a);return e+=String.fromCharCode(a)}},function(a){a.exports={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",amp:"&",AMP:"&",Aring:"Å",aring:"å",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",brvbar:"¦",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",iquest:"¿",Iuml:"Ï",iuml:"ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",Ntilde:"Ñ",ntilde:"ñ",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",Ograve:"Ò",ograve:"ò",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",Ouml:"Ö",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",THORN:"Þ",thorn:"þ",times:"×",Uacute:"Ú",uacute:"ú",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",Uuml:"Ü",uuml:"ü",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ"}},function(a,e){var t=a.exports={get firstChild(){var a=this.children;return a&&a[0]||null},get lastChild(){var a=this.children;return a&&a[a.length-1]||null},get nodeType(){return n[this.type]||n.element}},i={tagName:"name",childNodes:"children",parentNode:"parent",previousSibling:"prev",nextSibling:"next",nodeValue:"data"},n={element:1,text:3,cdata:4,comment:8};Object.keys(i).forEach(function(a){var e=i[a];Object.defineProperty(t,a,{get:function(){return this[e]||null},set:function(a){return this[e]=a,a}})})},function(a,e,t){a.exports=s;var i=t(759),n=t(972).Writable,o=t(973).StringDecoder,r=t(765).Buffer;function s(a,e){var t=this._parser=new i(a,e),r=this._decoder=new o;n.call(this,{decodeStrings:!1}),this.once("finish",function(){t.end(r.end())})}t(229)(s,n),n.prototype._write=function(a,e,t){a instanceof r&&(a=this._decoder.write(a)),this._parser.write(a),t()}},function(a,e,t){"use strict";(function(a){
15
- /*!
16
- * The buffer module from node.js, for the browser.
17
- *
18
- * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
19
- * @license MIT
20
- */
21
- var i=t(975),n=t(976),o=t(977);function r(){return d.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function s(a,e){if(r()<e)throw new RangeError("Invalid typed array length");return d.TYPED_ARRAY_SUPPORT?(a=new Uint8Array(e)).__proto__=d.prototype:(null===a&&(a=new d(e)),a.length=e),a}function d(a,e,t){if(!(d.TYPED_ARRAY_SUPPORT||this instanceof d))return new d(a,e,t);if("number"==typeof a){if("string"==typeof e)throw new Error("If encoding is specified then the first argument must be a string");return u(this,a)}return l(this,a,e,t)}function l(a,e,t,i){if("number"==typeof e)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer?function(a,e,t,i){if(e.byteLength,t<0||e.byteLength<t)throw new RangeError("'offset' is out of bounds");if(e.byteLength<t+(i||0))throw new RangeError("'length' is out of bounds");e=void 0===t&&void 0===i?new Uint8Array(e):void 0===i?new Uint8Array(e,t):new Uint8Array(e,t,i);d.TYPED_ARRAY_SUPPORT?(a=e).__proto__=d.prototype:a=p(a,e);return a}(a,e,t,i):"string"==typeof e?function(a,e,t){"string"==typeof t&&""!==t||(t="utf8");if(!d.isEncoding(t))throw new TypeError('"encoding" must be a valid string encoding');var i=0|g(e,t),n=(a=s(a,i)).write(e,t);n!==i&&(a=a.slice(0,n));return a}(a,e,t):function(a,e){if(d.isBuffer(e)){var t=0|z(e.length);return 0===(a=s(a,t)).length?a:(e.copy(a,0,0,t),a)}if(e){if("undefined"!=typeof ArrayBuffer&&e.buffer instanceof ArrayBuffer||"length"in e)return"number"!=typeof e.length||function(a){return a!=a}(e.length)?s(a,0):p(a,e);if("Buffer"===e.type&&o(e.data))return p(a,e.data)}throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(a,e)}function c(a){if("number"!=typeof a)throw new TypeError('"size" argument must be a number');if(a<0)throw new RangeError('"size" argument must not be negative')}function u(a,e){if(c(e),a=s(a,e<0?0:0|z(e)),!d.TYPED_ARRAY_SUPPORT)for(var t=0;t<e;++t)a[t]=0;return a}function p(a,e){var t=e.length<0?0:0|z(e.length);a=s(a,t);for(var i=0;i<t;i+=1)a[i]=255&e[i];return a}function z(a){if(a>=r())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+r().toString(16)+" bytes");return 0|a}function g(a,e){if(d.isBuffer(a))return a.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(a)||a instanceof ArrayBuffer))return a.byteLength;"string"!=typeof a&&(a=""+a);var t=a.length;if(0===t)return 0;for(var i=!1;;)switch(e){case"ascii":case"latin1":case"binary":return t;case"utf8":case"utf-8":case void 0:return I(a).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*t;case"hex":return t>>>1;case"base64":return L(a).length;default:if(i)return I(a).length;e=(""+e).toLowerCase(),i=!0}}function m(a,e,t){var i=a[e];a[e]=a[t],a[t]=i}function y(a,e,t,i,n){if(0===a.length)return-1;if("string"==typeof t?(i=t,t=0):t>2147483647?t=2147483647:t<-2147483648&&(t=-2147483648),t=+t,isNaN(t)&&(t=n?0:a.length-1),t<0&&(t=a.length+t),t>=a.length){if(n)return-1;t=a.length-1}else if(t<0){if(!n)return-1;t=0}if("string"==typeof e&&(e=d.from(e,i)),d.isBuffer(e))return 0===e.length?-1:w(a,e,t,i,n);if("number"==typeof e)return e&=255,d.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?n?Uint8Array.prototype.indexOf.call(a,e,t):Uint8Array.prototype.lastIndexOf.call(a,e,t):w(a,[e],t,i,n);throw new TypeError("val must be string, number or Buffer")}function w(a,e,t,i,n){var o,r=1,s=a.length,d=e.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(a.length<2||e.length<2)return-1;r=2,s/=2,d/=2,t/=2}function l(a,e){return 1===r?a[e]:a.readUInt16BE(e*r)}if(n){var c=-1;for(o=t;o<s;o++)if(l(a,o)===l(e,-1===c?0:o-c)){if(-1===c&&(c=o),o-c+1===d)return c*r}else-1!==c&&(o-=o-c),c=-1}else for(t+d>s&&(t=s-d),o=t;o>=0;o--){for(var u=!0,p=0;p<d;p++)if(l(a,o+p)!==l(e,p)){u=!1;break}if(u)return o}return-1}function f(a,e,t,i){t=Number(t)||0;var n=a.length-t;i?(i=Number(i))>n&&(i=n):i=n;var o=e.length;if(o%2!=0)throw new TypeError("Invalid hex string");i>o/2&&(i=o/2);for(var r=0;r<i;++r){var s=parseInt(e.substr(2*r,2),16);if(isNaN(s))return r;a[t+r]=s}return r}function b(a,e,t,i){return W(I(e,a.length-t),a,t,i)}function h(a,e,t,i){return W(function(a){for(var e=[],t=0;t<a.length;++t)e.push(255&a.charCodeAt(t));return e}(e),a,t,i)}function v(a,e,t,i){return h(a,e,t,i)}function k(a,e,t,i){return W(L(e),a,t,i)}function j(a,e,t,i){return W(function(a,e){for(var t,i,n,o=[],r=0;r<a.length&&!((e-=2)<0);++r)t=a.charCodeAt(r),i=t>>8,n=t%256,o.push(n),o.push(i);return o}(e,a.length-t),a,t,i)}function _(a,e,t){return 0===e&&t===a.length?i.fromByteArray(a):i.fromByteArray(a.slice(e,t))}function x(a,e,t){t=Math.min(a.length,t);for(var i=[],n=e;n<t;){var o,r,s,d,l=a[n],c=null,u=l>239?4:l>223?3:l>191?2:1;if(n+u<=t)switch(u){case 1:l<128&&(c=l);break;case 2:128==(192&(o=a[n+1]))&&(d=(31&l)<<6|63&o)>127&&(c=d);break;case 3:o=a[n+1],r=a[n+2],128==(192&o)&&128==(192&r)&&(d=(15&l)<<12|(63&o)<<6|63&r)>2047&&(d<55296||d>57343)&&(c=d);break;case 4:o=a[n+1],r=a[n+2],s=a[n+3],128==(192&o)&&128==(192&r)&&128==(192&s)&&(d=(15&l)<<18|(63&o)<<12|(63&r)<<6|63&s)>65535&&d<1114112&&(c=d)}null===c?(c=65533,u=1):c>65535&&(c-=65536,i.push(c>>>10&1023|55296),c=56320|1023&c),i.push(c),n+=u}return function(a){var e=a.length;if(e<=q)return String.fromCharCode.apply(String,a);var t="",i=0;for(;i<e;)t+=String.fromCharCode.apply(String,a.slice(i,i+=q));return t}(i)}e.Buffer=d,e.SlowBuffer=function(a){+a!=a&&(a=0);return d.alloc(+a)},e.INSPECT_MAX_BYTES=50,d.TYPED_ARRAY_SUPPORT=void 0!==a.TYPED_ARRAY_SUPPORT?a.TYPED_ARRAY_SUPPORT:function(){try{var a=new Uint8Array(1);return a.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===a.foo()&&"function"==typeof a.subarray&&0===a.subarray(1,1).byteLength}catch(a){return!1}}(),e.kMaxLength=r(),d.poolSize=8192,d._augment=function(a){return a.__proto__=d.prototype,a},d.from=function(a,e,t){return l(null,a,e,t)},d.TYPED_ARRAY_SUPPORT&&(d.prototype.__proto__=Uint8Array.prototype,d.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&d[Symbol.species]===d&&Object.defineProperty(d,Symbol.species,{value:null,configurable:!0})),d.alloc=function(a,e,t){return function(a,e,t,i){return c(e),e<=0?s(a,e):void 0!==t?"string"==typeof i?s(a,e).fill(t,i):s(a,e).fill(t):s(a,e)}(null,a,e,t)},d.allocUnsafe=function(a){return u(null,a)},d.allocUnsafeSlow=function(a){return u(null,a)},d.isBuffer=function(a){return!(null==a||!a._isBuffer)},d.compare=function(a,e){if(!d.isBuffer(a)||!d.isBuffer(e))throw new TypeError("Arguments must be Buffers");if(a===e)return 0;for(var t=a.length,i=e.length,n=0,o=Math.min(t,i);n<o;++n)if(a[n]!==e[n]){t=a[n],i=e[n];break}return t<i?-1:i<t?1:0},d.isEncoding=function(a){switch(String(a).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},d.concat=function(a,e){if(!o(a))throw new TypeError('"list" argument must be an Array of Buffers');if(0===a.length)return d.alloc(0);var t;if(void 0===e)for(e=0,t=0;t<a.length;++t)e+=a[t].length;var i=d.allocUnsafe(e),n=0;for(t=0;t<a.length;++t){var r=a[t];if(!d.isBuffer(r))throw new TypeError('"list" argument must be an Array of Buffers');r.copy(i,n),n+=r.length}return i},d.byteLength=g,d.prototype._isBuffer=!0,d.prototype.swap16=function(){var a=this.length;if(a%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;e<a;e+=2)m(this,e,e+1);return this},d.prototype.swap32=function(){var a=this.length;if(a%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var e=0;e<a;e+=4)m(this,e,e+3),m(this,e+1,e+2);return this},d.prototype.swap64=function(){var a=this.length;if(a%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var e=0;e<a;e+=8)m(this,e,e+7),m(this,e+1,e+6),m(this,e+2,e+5),m(this,e+3,e+4);return this},d.prototype.toString=function(){var a=0|this.length;return 0===a?"":0===arguments.length?x(this,0,a):function(a,e,t){var i=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===t||t>this.length)&&(t=this.length),t<=0)return"";if((t>>>=0)<=(e>>>=0))return"";for(a||(a="utf8");;)switch(a){case"hex":return T(this,e,t);case"utf8":case"utf-8":return x(this,e,t);case"ascii":return E(this,e,t);case"latin1":case"binary":return A(this,e,t);case"base64":return _(this,e,t);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return O(this,e,t);default:if(i)throw new TypeError("Unknown encoding: "+a);a=(a+"").toLowerCase(),i=!0}}.apply(this,arguments)},d.prototype.equals=function(a){if(!d.isBuffer(a))throw new TypeError("Argument must be a Buffer");return this===a||0===d.compare(this,a)},d.prototype.inspect=function(){var a="",t=e.INSPECT_MAX_BYTES;return this.length>0&&(a=this.toString("hex",0,t).match(/.{2}/g).join(" "),this.length>t&&(a+=" ... ")),"<Buffer "+a+">"},d.prototype.compare=function(a,e,t,i,n){if(!d.isBuffer(a))throw new TypeError("Argument must be a Buffer");if(void 0===e&&(e=0),void 0===t&&(t=a?a.length:0),void 0===i&&(i=0),void 0===n&&(n=this.length),e<0||t>a.length||i<0||n>this.length)throw new RangeError("out of range index");if(i>=n&&e>=t)return 0;if(i>=n)return-1;if(e>=t)return 1;if(e>>>=0,t>>>=0,i>>>=0,n>>>=0,this===a)return 0;for(var o=n-i,r=t-e,s=Math.min(o,r),l=this.slice(i,n),c=a.slice(e,t),u=0;u<s;++u)if(l[u]!==c[u]){o=l[u],r=c[u];break}return o<r?-1:r<o?1:0},d.prototype.includes=function(a,e,t){return-1!==this.indexOf(a,e,t)},d.prototype.indexOf=function(a,e,t){return y(this,a,e,t,!0)},d.prototype.lastIndexOf=function(a,e,t){return y(this,a,e,t,!1)},d.prototype.write=function(a,e,t,i){if(void 0===e)i="utf8",t=this.length,e=0;else if(void 0===t&&"string"==typeof e)i=e,t=this.length,e=0;else{if(!isFinite(e))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");e|=0,isFinite(t)?(t|=0,void 0===i&&(i="utf8")):(i=t,t=void 0)}var n=this.length-e;if((void 0===t||t>n)&&(t=n),a.length>0&&(t<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");for(var o=!1;;)switch(i){case"hex":return f(this,a,e,t);case"utf8":case"utf-8":return b(this,a,e,t);case"ascii":return h(this,a,e,t);case"latin1":case"binary":return v(this,a,e,t);case"base64":return k(this,a,e,t);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return j(this,a,e,t);default:if(o)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),o=!0}},d.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var q=4096;function E(a,e,t){var i="";t=Math.min(a.length,t);for(var n=e;n<t;++n)i+=String.fromCharCode(127&a[n]);return i}function A(a,e,t){var i="";t=Math.min(a.length,t);for(var n=e;n<t;++n)i+=String.fromCharCode(a[n]);return i}function T(a,e,t){var i=a.length;(!e||e<0)&&(e=0),(!t||t<0||t>i)&&(t=i);for(var n="",o=e;o<t;++o)n+=$(a[o]);return n}function O(a,e,t){for(var i=a.slice(e,t),n="",o=0;o<i.length;o+=2)n+=String.fromCharCode(i[o]+256*i[o+1]);return n}function S(a,e,t){if(a%1!=0||a<0)throw new RangeError("offset is not uint");if(a+e>t)throw new RangeError("Trying to access beyond buffer length")}function M(a,e,t,i,n,o){if(!d.isBuffer(a))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>n||e<o)throw new RangeError('"value" argument is out of bounds');if(t+i>a.length)throw new RangeError("Index out of range")}function P(a,e,t,i){e<0&&(e=65535+e+1);for(var n=0,o=Math.min(a.length-t,2);n<o;++n)a[t+n]=(e&255<<8*(i?n:1-n))>>>8*(i?n:1-n)}function C(a,e,t,i){e<0&&(e=4294967295+e+1);for(var n=0,o=Math.min(a.length-t,4);n<o;++n)a[t+n]=e>>>8*(i?n:3-n)&255}function R(a,e,t,i,n,o){if(t+i>a.length)throw new RangeError("Index out of range");if(t<0)throw new RangeError("Index out of range")}function D(a,e,t,i,o){return o||R(a,0,t,4),n.write(a,e,t,i,23,4),t+4}function F(a,e,t,i,o){return o||R(a,0,t,8),n.write(a,e,t,i,52,8),t+8}d.prototype.slice=function(a,e){var t,i=this.length;if(a=~~a,e=void 0===e?i:~~e,a<0?(a+=i)<0&&(a=0):a>i&&(a=i),e<0?(e+=i)<0&&(e=0):e>i&&(e=i),e<a&&(e=a),d.TYPED_ARRAY_SUPPORT)(t=this.subarray(a,e)).__proto__=d.prototype;else{var n=e-a;t=new d(n,void 0);for(var o=0;o<n;++o)t[o]=this[o+a]}return t},d.prototype.readUIntLE=function(a,e,t){a|=0,e|=0,t||S(a,e,this.length);for(var i=this[a],n=1,o=0;++o<e&&(n*=256);)i+=this[a+o]*n;return i},d.prototype.readUIntBE=function(a,e,t){a|=0,e|=0,t||S(a,e,this.length);for(var i=this[a+--e],n=1;e>0&&(n*=256);)i+=this[a+--e]*n;return i},d.prototype.readUInt8=function(a,e){return e||S(a,1,this.length),this[a]},d.prototype.readUInt16LE=function(a,e){return e||S(a,2,this.length),this[a]|this[a+1]<<8},d.prototype.readUInt16BE=function(a,e){return e||S(a,2,this.length),this[a]<<8|this[a+1]},d.prototype.readUInt32LE=function(a,e){return e||S(a,4,this.length),(this[a]|this[a+1]<<8|this[a+2]<<16)+16777216*this[a+3]},d.prototype.readUInt32BE=function(a,e){return e||S(a,4,this.length),16777216*this[a]+(this[a+1]<<16|this[a+2]<<8|this[a+3])},d.prototype.readIntLE=function(a,e,t){a|=0,e|=0,t||S(a,e,this.length);for(var i=this[a],n=1,o=0;++o<e&&(n*=256);)i+=this[a+o]*n;return i>=(n*=128)&&(i-=Math.pow(2,8*e)),i},d.prototype.readIntBE=function(a,e,t){a|=0,e|=0,t||S(a,e,this.length);for(var i=e,n=1,o=this[a+--i];i>0&&(n*=256);)o+=this[a+--i]*n;return o>=(n*=128)&&(o-=Math.pow(2,8*e)),o},d.prototype.readInt8=function(a,e){return e||S(a,1,this.length),128&this[a]?-1*(255-this[a]+1):this[a]},d.prototype.readInt16LE=function(a,e){e||S(a,2,this.length);var t=this[a]|this[a+1]<<8;return 32768&t?4294901760|t:t},d.prototype.readInt16BE=function(a,e){e||S(a,2,this.length);var t=this[a+1]|this[a]<<8;return 32768&t?4294901760|t:t},d.prototype.readInt32LE=function(a,e){return e||S(a,4,this.length),this[a]|this[a+1]<<8|this[a+2]<<16|this[a+3]<<24},d.prototype.readInt32BE=function(a,e){return e||S(a,4,this.length),this[a]<<24|this[a+1]<<16|this[a+2]<<8|this[a+3]},d.prototype.readFloatLE=function(a,e){return e||S(a,4,this.length),n.read(this,a,!0,23,4)},d.prototype.readFloatBE=function(a,e){return e||S(a,4,this.length),n.read(this,a,!1,23,4)},d.prototype.readDoubleLE=function(a,e){return e||S(a,8,this.length),n.read(this,a,!0,52,8)},d.prototype.readDoubleBE=function(a,e){return e||S(a,8,this.length),n.read(this,a,!1,52,8)},d.prototype.writeUIntLE=function(a,e,t,i){(a=+a,e|=0,t|=0,i)||M(this,a,e,t,Math.pow(2,8*t)-1,0);var n=1,o=0;for(this[e]=255&a;++o<t&&(n*=256);)this[e+o]=a/n&255;return e+t},d.prototype.writeUIntBE=function(a,e,t,i){(a=+a,e|=0,t|=0,i)||M(this,a,e,t,Math.pow(2,8*t)-1,0);var n=t-1,o=1;for(this[e+n]=255&a;--n>=0&&(o*=256);)this[e+n]=a/o&255;return e+t},d.prototype.writeUInt8=function(a,e,t){return a=+a,e|=0,t||M(this,a,e,1,255,0),d.TYPED_ARRAY_SUPPORT||(a=Math.floor(a)),this[e]=255&a,e+1},d.prototype.writeUInt16LE=function(a,e,t){return a=+a,e|=0,t||M(this,a,e,2,65535,0),d.TYPED_ARRAY_SUPPORT?(this[e]=255&a,this[e+1]=a>>>8):P(this,a,e,!0),e+2},d.prototype.writeUInt16BE=function(a,e,t){return a=+a,e|=0,t||M(this,a,e,2,65535,0),d.TYPED_ARRAY_SUPPORT?(this[e]=a>>>8,this[e+1]=255&a):P(this,a,e,!1),e+2},d.prototype.writeUInt32LE=function(a,e,t){return a=+a,e|=0,t||M(this,a,e,4,4294967295,0),d.TYPED_ARRAY_SUPPORT?(this[e+3]=a>>>24,this[e+2]=a>>>16,this[e+1]=a>>>8,this[e]=255&a):C(this,a,e,!0),e+4},d.prototype.writeUInt32BE=function(a,e,t){return a=+a,e|=0,t||M(this,a,e,4,4294967295,0),d.TYPED_ARRAY_SUPPORT?(this[e]=a>>>24,this[e+1]=a>>>16,this[e+2]=a>>>8,this[e+3]=255&a):C(this,a,e,!1),e+4},d.prototype.writeIntLE=function(a,e,t,i){if(a=+a,e|=0,!i){var n=Math.pow(2,8*t-1);M(this,a,e,t,n-1,-n)}var o=0,r=1,s=0;for(this[e]=255&a;++o<t&&(r*=256);)a<0&&0===s&&0!==this[e+o-1]&&(s=1),this[e+o]=(a/r>>0)-s&255;return e+t},d.prototype.writeIntBE=function(a,e,t,i){if(a=+a,e|=0,!i){var n=Math.pow(2,8*t-1);M(this,a,e,t,n-1,-n)}var o=t-1,r=1,s=0;for(this[e+o]=255&a;--o>=0&&(r*=256);)a<0&&0===s&&0!==this[e+o+1]&&(s=1),this[e+o]=(a/r>>0)-s&255;return e+t},d.prototype.writeInt8=function(a,e,t){return a=+a,e|=0,t||M(this,a,e,1,127,-128),d.TYPED_ARRAY_SUPPORT||(a=Math.floor(a)),a<0&&(a=255+a+1),this[e]=255&a,e+1},d.prototype.writeInt16LE=function(a,e,t){return a=+a,e|=0,t||M(this,a,e,2,32767,-32768),d.TYPED_ARRAY_SUPPORT?(this[e]=255&a,this[e+1]=a>>>8):P(this,a,e,!0),e+2},d.prototype.writeInt16BE=function(a,e,t){return a=+a,e|=0,t||M(this,a,e,2,32767,-32768),d.TYPED_ARRAY_SUPPORT?(this[e]=a>>>8,this[e+1]=255&a):P(this,a,e,!1),e+2},d.prototype.writeInt32LE=function(a,e,t){return a=+a,e|=0,t||M(this,a,e,4,2147483647,-2147483648),d.TYPED_ARRAY_SUPPORT?(this[e]=255&a,this[e+1]=a>>>8,this[e+2]=a>>>16,this[e+3]=a>>>24):C(this,a,e,!0),e+4},d.prototype.writeInt32BE=function(a,e,t){return a=+a,e|=0,t||M(this,a,e,4,2147483647,-2147483648),a<0&&(a=4294967295+a+1),d.TYPED_ARRAY_SUPPORT?(this[e]=a>>>24,this[e+1]=a>>>16,this[e+2]=a>>>8,this[e+3]=255&a):C(this,a,e,!1),e+4},d.prototype.writeFloatLE=function(a,e,t){return D(this,a,e,!0,t)},d.prototype.writeFloatBE=function(a,e,t){return D(this,a,e,!1,t)},d.prototype.writeDoubleLE=function(a,e,t){return F(this,a,e,!0,t)},d.prototype.writeDoubleBE=function(a,e,t){return F(this,a,e,!1,t)},d.prototype.copy=function(a,e,t,i){if(t||(t=0),i||0===i||(i=this.length),e>=a.length&&(e=a.length),e||(e=0),i>0&&i<t&&(i=t),i===t)return 0;if(0===a.length||0===this.length)return 0;if(e<0)throw new RangeError("targetStart out of bounds");if(t<0||t>=this.length)throw new RangeError("sourceStart out of bounds");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),a.length-e<i-t&&(i=a.length-e+t);var n,o=i-t;if(this===a&&t<e&&e<i)for(n=o-1;n>=0;--n)a[n+e]=this[n+t];else if(o<1e3||!d.TYPED_ARRAY_SUPPORT)for(n=0;n<o;++n)a[n+e]=this[n+t];else Uint8Array.prototype.set.call(a,this.subarray(t,t+o),e);return o},d.prototype.fill=function(a,e,t,i){if("string"==typeof a){if("string"==typeof e?(i=e,e=0,t=this.length):"string"==typeof t&&(i=t,t=this.length),1===a.length){var n=a.charCodeAt(0);n<256&&(a=n)}if(void 0!==i&&"string"!=typeof i)throw new TypeError("encoding must be a string");if("string"==typeof i&&!d.isEncoding(i))throw new TypeError("Unknown encoding: "+i)}else"number"==typeof a&&(a&=255);if(e<0||this.length<e||this.length<t)throw new RangeError("Out of range index");if(t<=e)return this;var o;if(e>>>=0,t=void 0===t?this.length:t>>>0,a||(a=0),"number"==typeof a)for(o=e;o<t;++o)this[o]=a;else{var r=d.isBuffer(a)?a:I(new d(a,i).toString()),s=r.length;for(o=0;o<t-e;++o)this[o+e]=r[o%s]}return this};var B=/[^+\/0-9A-Za-z-_]/g;function $(a){return a<16?"0"+a.toString(16):a.toString(16)}function I(a,e){var t;e=e||1/0;for(var i=a.length,n=null,o=[],r=0;r<i;++r){if((t=a.charCodeAt(r))>55295&&t<57344){if(!n){if(t>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(r+1===i){(e-=3)>-1&&o.push(239,191,189);continue}n=t;continue}if(t<56320){(e-=3)>-1&&o.push(239,191,189),n=t;continue}t=65536+(n-55296<<10|t-56320)}else n&&(e-=3)>-1&&o.push(239,191,189);if(n=null,t<128){if((e-=1)<0)break;o.push(t)}else if(t<2048){if((e-=2)<0)break;o.push(t>>6|192,63&t|128)}else if(t<65536){if((e-=3)<0)break;o.push(t>>12|224,t>>6&63|128,63&t|128)}else{if(!(t<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(t>>18|240,t>>12&63|128,t>>6&63|128,63&t|128)}}return o}function L(a){return i.toByteArray(function(a){if((a=function(a){return a.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}(a).replace(B,"")).length<2)return"";for(;a.length%4!=0;)a+="=";return a}(a))}function W(a,e,t,i){for(var n=0;n<i&&!(n+t>=e.length||n>=a.length);++n)e[n+t]=a[n];return n}}).call(this,t(15))},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return[" ","\\n","\\r","\\t"," "," ",".",",","'","(",")",'"',"+","-",";","!","?",":","/","»","«","‹","›","<",">"]}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.scoreToRating=void 0;var i=function(a){return a&&a.__esModule?a:{default:a}}(t(498));e.scoreToRating=i.default},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.presenter=void 0;var i=function(a){return a&&a.__esModule?a:{default:a}}(t(769));e.presenter=i.default},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){return{feedback:{className:"na",screenReaderText:a.dgettext("js-text-analysis","Feedback"),fullText:a.dgettext("js-text-analysis","Content optimization: Has feedback"),screenReaderReadabilityText:""},bad:{className:"bad",screenReaderText:a.dgettext("js-text-analysis","Bad SEO score"),fullText:a.dgettext("js-text-analysis","Content optimization: Bad SEO score"),screenReaderReadabilityText:a.dgettext("js-text-analysis","Needs improvement")},ok:{className:"ok",screenReaderText:a.dgettext("js-text-analysis","OK SEO score"),fullText:a.dgettext("js-text-analysis","Content optimization: OK SEO score"),screenReaderReadabilityText:a.dgettext("js-text-analysis","OK")},good:{className:"good",screenReaderText:a.dgettext("js-text-analysis","Good SEO score"),fullText:a.dgettext("js-text-analysis","Content optimization: Good SEO score"),screenReaderReadabilityText:a.dgettext("js-text-analysis","Good")}}}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){return(0,i.default)(a.getText())};var i=function(a){return a&&a.__esModule?a:{default:a}}(t(269))},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a,e,t,c){a=(0,i.default)(a),a=(0,r.unifyAllSpaces)(a),a=(0,d.normalize)(a),e=(0,n.default)((0,d.normalize)(e));var u=(0,s.default)(a,e,t,c);u=(0,l.map)(u,function(a){return(0,n.default)((0,o.default)(a))});var p=(0,l.map)(u,function(e){return a.indexOf(e)});return{count:u.length,matches:u,position:Math.min.apply(Math,function(a){if(Array.isArray(a)){for(var e=0,t=Array(a.length);e<a.length;e++)t[e]=a[e];return t}return Array.from(a)}(p))}};var i=c(t(772)),n=c(t(77)),o=c(t(667)),r=t(749),s=c(t(995)),d=t(345),l=t(2);function c(a){return a&&a.__esModule?a:{default:a}}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){return a=a.replace(/<(?!li|\/li|p|\/p|h1|\/h1|h2|\/h2|h3|\/h3|h4|\/h4|h5|\/h5|h6|\/h6|dd).*?>/g,""),a=(0,i.default)(a)};var i=function(a){return a&&a.__esModule?a:{default:a}}(t(77))},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.research=e.collectForms=e.buildForms=e.filterFunctionWords=void 0;var i=c(t(1002)),n=c(t(145)),o=c(t(76)),r=c(t(461)),s=c(t(693)),d=t(1018),l=t(2);function c(a){return a&&a.__esModule?a:{default:a}}var u=(0,i.default)(),p=(0,r.default)(),z=function(a,e){((0,l.isUndefined)(e)||""===e)&&(e="en");var t=(0,l.get)(p,[e],[]);if(a.length>1){var i=(0,l.filter)(a,function(a){return!(0,l.includes)(t.all,a.trim().toLocaleLowerCase())});if(i.length>0)return i}return a},g=function(a,e,t){if((0,l.isUndefined)(a)||""===a)return[];var i=["“","”","〝","〞","〟","‟","„",'"'];if((0,l.includes)(i,a[0])&&(0,l.includes)(i,a[a.length-1]))return a=a.substring(1,a.length-1),[(0,l.uniq)([].concat((0,l.escapeRegExp)(a),(0,d.getVariationsApostrophe)(a)))];var o=z((0,n.default)(a),e),r=[],s=u[e];return!1===t||(0,l.isUndefined)(s)?o.forEach(function(a){var t=(0,l.escapeRegExp)(a.toLocaleLowerCase(e));r.push((0,l.uniq)([].concat(t,(0,d.getVariationsApostrophe)(t))))}):o.forEach(function(a){var e=(0,l.escapeRegExp)(a.toLocaleLowerCase()),i=s(e,t),n=(0,d.getVariationsApostropheInArray)(i);r.push((0,l.uniq)((0,l.flatten)(i.concat(n))).filter(Boolean))}),r},m=(0,l.memoize)(function(a){return(0,l.memoize)(function(e,t){return function(a,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"en",i=arguments[3],n=(0,s.default)(e);return{keyphraseForms:g(a,t,i),synonymsForms:n.map(function(a){return g(a,t,i)})}}(e,t,arguments.length>2&&void 0!==arguments[2]?arguments[2]:"en",a)},function(a,e,t){return a+","+e+","+t})});function y(a,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"en",i=arguments[3];return m(i)(a,e,t)}e.filterFunctionWords=z,e.buildForms=g,e.collectForms=y,e.research=function(a,e){var t=(0,o.default)(a.getLocale()),i=(0,l.get)(e.getData("morphology"),[t],!1);return y(a.getKeyword(),a.getSynonyms(),t,i)}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){var e=(0,i.default)(a.getText());return(0,n.map)(e,o.default.getFromAnchorTag)};var i=r(t(687)),n=t(2),o=r(t(688));function r(a){return a&&a.__esModule?a:{default:a}}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.markWordsInSentences=function(a,e,t){var n=[],o=[];return e.forEach(function(e){(n=(0,i.default)(e,a,t).matches).length>0&&(o=o.concat(new r.default({original:e,marked:d(e,n)})))}),o};var i=s(t(467)),n=s(t(362)),o=s(t(776)),r=s(t(227));function s(a){return a&&a.__esModule?a:{default:a}}var d=function(a,e){return a.replace((0,n.default)(e),function(a){return(0,o.default)(a)}).replace(new RegExp("</yoastmark> <yoastmark class='yoast-text-mark'>","ig")," ")}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){var e=(0,i.stripWordBoundariesStart)(a),t="",n="";if(e!==a){var o=a.search(e);t=a.substr(0,o)}var r=(0,i.stripWordBoundariesEnd)(e);if(r!==e){var s=e.search(r)+r.length;n=e.substr(s)}return t+"<yoastmark class='yoast-text-mark'>"+r+"</yoastmark>"+n};var i=t(1025)},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){var e,t=[];for(e=0;e<r.length;e++)null!==a.match((0,n.default)(r[e]))&&t.push(r[e]);return t};var i=o(t(1027)),n=o(t(466));function o(a){return a&&a.__esModule?a:{default:a}}var r=(0,i.default)()},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){return(0,i.default)(a.getText()).length};var i=function(a){return a&&a.__esModule?a:{default:a}}(t(499))},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){var e=o(a);if(e.length>0)return e;var t=(0,n.getBlocks)(a);return t=(0,i.filter)(t,function(a){return 0!==a.indexOf("<h")}),(e=(0,i.flatMap)(t,function(a){return a.split("\n\n")})).length>0?e:[a]};var i=t(2),n=t(359),o=function(a){for(var e,t=[],n=/<p(?:[^>]+)?>(.*?)<\/p>/gi;null!==(e=n.exec(a));)t.push(e);return(0,i.map)(t,function(a){return a[1]})}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){var e=[];return(0,n.forEach)(a,function(a){var t=(0,o.stripFullTags)(a);(0,i.default)(t)<=0||e.push({sentence:a,sentenceLength:(0,i.default)(a)})}),e};var i=function(a){return a&&a.__esModule?a:{default:a}}(t(269)),n=t(2),o=t(144)},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.isWordInSentence=e.characterInBoundary=void 0;var i=r(t(766)),n=t(2),o=r(t(347));function r(a){return a&&a.__esModule?a:{default:a}}var s=(0,i.default)(),d=function(a){return(0,n.includes)(s,a)},l=function(a,e){a=a.toLocaleLowerCase(),e=e.toLocaleLowerCase();var t=(0,o.default)((0,n.escapeRegExp)(a)),i=e.search(new RegExp(t,"ig"));if(-1===i)return!1;i>0&&(i+=1);var r=i+a.length,s=d(e[i-1])||0===i,l=d(e[r])||r===e.length;return s&&l};e.characterInBoundary=d,e.isWordInSentence=l,e.default={characterInBoundary:d,isWordInSentence:l}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i="en_US",n=function(a,e){this._sentenceText=a||"",this._locale=e||i,this._isPassive=!1};n.prototype.getSentenceText=function(){return this._sentenceText},n.prototype.getLocale=function(){return this._locale},n.prototype.isPassive=function(){return this._isPassive},n.prototype.setPassive=function(a){this._isPassive=a},n.prototype.serialize=function(){return{_parseClass:"Sentence",sentenceText:this._sentenceText,locale:this._locale,isPassive:this._isPassive}},n.parse=function(a){var e=new n(a.sentenceText,a.locale);return e.setPassive(a.isPassive),e},e.default=n},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a,e){for(var t=[],i=e.exec(a);null!==i;i=e.exec(a))t.push({match:i[0],index:i.index});return t}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a,e,t){var n=(0,i.default)(a),o=[];return(0,s.forEach)(n,function(i){0===u(i).length?0===p(i).length?0===c(i).length?0===z(i).length?(0!==g(i).length&&o.push(new r.default(i,a,{auxiliaries:e,type:"iert at the end",language:t})),(0,s.includes)(m,i)&&o.push(new r.default(i,a,{auxiliaries:e,type:"irregular",language:t}))):o.push(new r.default(i,a,{auxiliaries:e,type:"er/ver/ent/be/zer/her in the middle",language:t})):o.push(new r.default(i,a,{auxiliaries:e,type:"er/ver/ent/be/zer/her at beginning",language:t})):o.push(new r.default(i,a,{auxiliaries:e,type:"ge in the middle",language:t})):o.push(new r.default(i,a,{auxiliaries:e,type:"ge at beginning",language:t}))}),o};var i=d(t(145)),n=d(t(1083)),o=d(t(1084)),r=d(t(1085)),s=t(2);function d(a){return a&&a.__esModule?a:{default:a}}var l=(0,n.default)(),c=l.verbsBeginningWithErVerEntBeZerHerUber,u=l.verbsBeginningWithGe,p=l.verbsWithGeInMiddle,z=l.verbsWithErVerEntBeZerHerUberInMiddle,g=l.verbsEndingWithIert,m=(0,o.default)()},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return["word","wordt","worden","werd","werden","wordend"]}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return["być","jestem","jesteś","jest","jesteśmy","jesteście","są","byłam","byłem","byłeś","byłaś","był","była","było","byłoby","byliśmy","byłyśmy","byliście","byłyście","byli","były","będę","będziesz","będzie","będziemy","będziecie","będą","byłabym","byłbym","byłbyś","byłabyś","byłaby","byłby","bylibyśmy","byłybyśmy","bylibyście","byłybyście","byłby","byłaby","byliby","byłyby","zostać","zostaje","zostajesz","zostaję","zostajecie","zostajemy","zostają","zostanę","zostaniesz","zostanie","zostaniemy","zostaniecie","zostaną","zostałem","zostałam","zostałaś","zostałeś","został","została","zostało","zostaliśmy","zostałyśmy","zostaliście","zostałyście","zostali","zostały","zostałbym","zostałabym","zostałbyś","zostałabyś","zostałby","zostałaby","zostałybyśmy","zostalibyśmy","zostalibyście","zostałybyście","zostaliby","zostałyby"]}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],t=a.getKeyword(),u=(0,o.default)(a.getSynonyms()),p=(0,n.normalize)(a.getText()),z=(0,s.default)(p),g=[];if(!0===e?g=g.concat(t):(g=g.concat(t,u).filter(Boolean)).sort(function(a,e){return e.length-a.length}),(0,r.isEmpty)(g))return{count:0,matches:[],markings:[],matchesIndices:[]};var m=[],y=[],w=[],f=0,b=0,h=[];return z.forEach(function(e){(y=(0,i.default)(e,g,a.getLocale()).matches).length>0&&(y.forEach(function(a){var t=e.indexOf(a,b);h.push({index:t+f,match:a}),b+=t+a.length}),w=w.concat(new c.default({original:e,marked:e.replace((0,d.default)(y),function(a){return(0,l.default)(a)})}))),m=m.concat(y),f+=e.length+1}),{count:m.length,matches:(0,r.uniq)(m).sort(function(a,e){return e.length-a.length}),markings:w,matchesIndices:h}};var i=u(t(467)),n=t(345),o=u(t(693)),r=t(2),s=u(t(153)),d=u(t(362)),l=u(t(776)),c=u(t(227));function u(a){return a&&a.__esModule?a:{default:a}}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){var e=(0,n.default)(a);return c.hasOwnProperty(e)?(0,i.defaultsDeep)(c[e],o.default):o.default};var i=t(2),n=l(t(76)),o=l(t(1130)),r=l(t(1131)),s=l(t(1132)),d=l(t(1133));function l(a){return a&&a.__esModule?a:{default:a}}var c={it:r.default,ru:s.default,pl:d.default}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getTextLengthAssessment=void 0;var i=t(63),n=b(t(342)),o=b(t(343)),r=b(t(344)),s=b(t(346)),d=b(t(493)),l=b(t(750)),c=b(t(494)),u=b(t(236)),p=b(t(490)),z=b(t(492)),g=b(t(491)),m=b(t(495)),y=b(t(496)),w=b(t(365)),f=(b(t(698)),t(35));function b(a){return a&&a.__esModule?a:{default:a}}var h=e.getTextLengthAssessment=function(a){return a?new z.default({recommendedMinimum:250,slightlyBelowMinimum:200,belowMinimum:100,veryFarBelowMinimum:50,urlTitle:(0,f.createAnchorOpeningTag)("https://yoa.st/34j"),urlCallToAction:(0,f.createAnchorOpeningTag)("https://yoa.st/34k")}):l.default},v=function(a){u.default.call(this,a),this.type="TaxonomyAssessor";var e=h(!1);this._assessments=[new n.default,new o.default,new r.default,new s.default,new p.default,e,new d.default,new g.default,new c.default,new m.default,y.default,new w.default]};(0,i.inherits)(v,u.default),e.default=v},function(a,e,t){"use strict";(function(a,t){var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},n="function"==typeof Symbol&&"symbol"===i(Symbol.iterator)?function(a){return void 0===a?"undefined":i(a)}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":void 0===a?"undefined":i(a)};(function(){var i,o="object"==(void 0===a?"undefined":n(a))&&a&&a.Object===Object&&a,r="object"==("undefined"==typeof self?"undefined":n(self))&&self&&self.Object===Object&&self,s=o||r||Function("return this")(),d="object"==n(e)&&e&&!e.nodeType&&e,l=d&&"object"==n(t)&&t&&!t.nodeType&&t,c=1/0,u="[object Null]",p="[object Symbol]",z="[object Undefined]",g=/[&<>"']/g,m=RegExp(g.source);o="object"==(void 0===a?"undefined":n(a))&&a&&a.Object===Object&&a,r="object"==("undefined"==typeof self?"undefined":n(self))&&self&&self.Object===Object&&self,s=o||r||Function("return this")();var y=function(a){return function(e){return null==a?i:a[e]}}({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"}),w=Object.prototype,f=w.hasOwnProperty,b=w.toString,h=s.Symbol,v=h?h.toStringTag:i,k=h?h.prototype:i,j=k?k.toString:i;function _(a){return null==a?a===i?z:u:v&&v in Object(a)?function(a){var e=f.call(a,v),t=a[v];try{a[v]=i;var n=!0}catch(a){}var o=b.call(a);n&&(e?a[v]=t:delete a[v]);return o}(a):function(a){return b.call(a)}(a)}function x(a){if("string"==typeof a)return a;if(q(a))return function(a,e){for(var t=-1,i=null==a?0:a.length,n=Array(i);++t<i;)n[t]=e(a[t],t,a);return n}(a,x)+"";if(function(a){return"symbol"==(void 0===a?"undefined":n(a))||function(a){return null!=a&&"object"==(void 0===a?"undefined":n(a))}(a)&&_(a)==p}(a))return j?j.call(a):"";var e=a+"";return"0"==e&&1/a==-c?"-0":e}var q=Array.isArray;var E=function(a){return(a=function(a){return null==a?"":x(a)}(a))&&m.test(a)?a.replace(g,y):a},A={assessmentPresenterResult:{},hiddenSpan:{},relevantWords:{},snippetEditor:{}};A.assessmentPresenterResult=function(a){a||(a={});var e,t=a,i=t.scores,n=t.markerButtonsDisabled,o=t.i18n,r=t.activeMarker,s="",d=E;Array.prototype.join;for(var l in s+='<ul class="wpseoanalysis assessment-results">\n ',i)s+='\n <li class="score">\n <span class="assessment-results__mark-container">\n ',i[l].marker&&(s+='\n <button type="button" ',n&&(s+=' disabled="disabled" '),s+='\n aria-label="',n?s+=null==(e=o.disabledMarkText)?"":e:i[l].identifier===r?s+=null==(e=o.removeMarksInText)?"":e:s+=null==(e=o.markInText)?"":e,s+='"\n class="assessment-results__mark ',n?s+=" icon-eye-disabled ":i[l].identifier===r?s+="\n icon-eye-active\n ":s+="\n icon-eye-inactive\n ",s+="\n js-assessment-results__mark-"+(null==(e=i[l].identifier)?"":e)+' yoast-tooltip yoast-tooltip-s">\n <span class="screen-reader-text">',n?s+=null==(e=o.disabledMarkText)?"":e:i[l].identifier===r?s+=null==(e=o.removeMarksInText)?"":e:s+=null==(e=o.markInText)?"":e,s+="\n </span></button>\n "),s+='\n </span>\n <span class="wpseo-score-icon '+d(i[l].className)+'"></span>\n <span class="screen-reader-text">'+(null==(e=i[l].screenReaderText)?"":e)+'</span>\n <span class="wpseo-score-text">'+(null==(e=i[l].text)?"":e)+"</span>\n </li>\n ";return s+="\n</ul>\n"},A.hiddenSpan=function(a){a||(a={});var e=a,t=e.whiteSpace,i=e.width,n="",o=E;Array.prototype.join;return n+='<span aria-hidden="true" style="width: '+o(i)+"; height: auto; position: absolute; visibility: hidden; ",""!==t&&(n+="white-space: "+o(t)),n+='">\n\n</span>\n'},A.relevantWords=function(a){a||(a={});var e,t=a.words,i="";Array.prototype.join;for(var n in i+="<table>\n <tr>\n <th>Word</th>\n <th>Density</th>\n <th>Occurrences</th>\n <th>Length</th>\n <th>Relevant word percentage</th>\n <th>Length bonus</th>\n <th>Multiplier</th>\n <th>Relevance</th>\n </tr>\n ",t)i+="\n <tr>\n <td>"+(null==(e=t[n].word)?"":e)+"</td>\n <td>"+(null==(e=t[n].density)?"":e)+"</td>\n <td>"+(null==(e=t[n].occurrences)?"":e)+"</td>\n <td>"+(null==(e=t[n].length)?"":e)+"</td>\n <td>"+(null==(e=t[n].relevantWordPercentage)?"":e)+"</td>\n <td>"+(null==(e=t[n].lengthBonus)?"":e)+"</td>\n <td>"+(null==(e=t[n].multiplier)?"":e)+"</td>\n <td>"+(null==(e=t[n].relevance)?"":e)+"</td>\n </tr>\n ";return i+="\n</table>\n"},A.snippetEditor=function(a){a||(a={});var e=a,t=e.i18n,i=e.rendered,n=e.metaDescriptionDate,o=e.raw,r=e.placeholder,s="",d=E;Array.prototype.join;return s+='<div id="snippet_preview" class="yoast-section">\n\t<section class="snippet-editor__preview">\n\t\t<h3 class="snippet-editor__heading snippet-editor__heading-icon snippet-editor__heading-icon-eye">'+d(t.snippetPreview)+'</h3>\n\t<p class="screen-reader-text">'+d(t.snippetPreviewDescription)+'</p>\n\n\t\t<div id="snippet-preview-view" class="snippet-editor__view">\n\t\t\t<div class="snippet_container snippet_container__title snippet-editor__container" id="title_container">\n\t\t\t\t<span class="screen-reader-text">'+d(t.titleLabel)+'</span>\n\t\t\t\t<span class="title" id="render_title_container">\n\t\t\t\t\t<span id="snippet_title">\n\t\t\t\t\t\t'+d(i.title)+'\n\t\t\t\t\t</span>\n\t\t\t\t</span>\n\t\t\t\t<span class="title" id="snippet_sitename"></span>\n\t\t\t</div>\n\t\t\t<div class="snippet_container snippet_container__url snippet-editor__container" id="url_container">\n\t\t\t\t<span class="screen-reader-text">'+d(t.slugLabel)+'</span>\n\t\t\t\t<span class="urlFull">\n\t\t\t\t\t<cite class="url urlBase" id="snippet_citeBase">\n\t\t\t\t\t\t'+d(i.baseUrl)+'\n\t\t\t\t\t</cite><cite class="url" id="snippet_cite">\n\t\t\t\t\t\t'+d(i.snippetCite)+'\n\t\t\t\t\t</cite>\n\t\t\t\t</span><span class="down_arrow"></span>\n\t\t\t</div>\n\t\t\t<div class="snippet_container snippet_container__meta snippet-editor__container" id="meta_container">\n\t\t\t\t<span class="screen-reader-text">'+d(t.metaDescriptionLabel)+"</span>\n\t\t\t\t",""!==n&&(s+='\n\t\t\t\t\t<span class="snippet-editor__date">\n\t\t\t\t\t\t'+d(n)+" -\n\t\t\t\t\t</span>\n\t\t\t\t"),s+='\n\t\t\t\t<span class="desc" id="snippet_meta">\n\t\t\t\t\t'+d(i.meta)+"\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"snippet-editor__is-scrollable-hintwrapper\">\n\t\t\t<span class='snippet-editor__is-scrollable-hint' aria-hidden='true'>"+d(t.isScrollableHint)+'</span>\n\t\t</div>\n\n\t\t<div class="snippet-editor__view-toggle">\n\t\t\t<button class="snippet-editor__view-icon snippet-editor__view-icon-mobile yoast-tooltip yoast-tooltip-se" type="button" data-type="mobile" aria-label="'+d(t.mobilePreviewMode)+'" />\n\t\t\t<button class="snippet-editor__view-icon snippet-editor__view-icon-desktop yoast-tooltip yoast-tooltip-se" type="button" data-type="desktop" aria-label="'+d(t.desktopPreviewMode)+'" />\n\t\t</div>\n\t\t<button class="snippet-editor__button snippet-editor__edit-button" type="button" aria-expanded="false">\n\t\t\t'+d(t.edit)+'\n\t\t</button>\n\t</section>\n\n\t<div class="snippet-editor__form snippet-editor--hidden">\n\t\t<label for="snippet-editor-title" class="snippet-editor__label">\n\t\t\t'+d(t.title)+'\n\t\t\t<input type="text" class="snippet-editor__input snippet-editor__title js-snippet-editor-title" id="snippet-editor-title" value="'+d(o.title)+'" placeholder="'+d(r.title)+'" />\n\t\t</label>\n\t\t<progress value="0.0" class="snippet-editor__progress snippet-editor__progress-title" aria-hidden="true">\n\t\t\t<div class="snippet-editor__progress-bar"></div>\n\t\t</progress>\n\t\t<label for="snippet-editor-slug" class="snippet-editor__label">\n\t\t\t'+d(t.slug)+'\n\t\t\t<input type="text" class="snippet-editor__input snippet-editor__slug js-snippet-editor-slug" id="snippet-editor-slug" value="'+d(o.snippetCite)+'" placeholder="'+d(r.urlPath)+'" />\n\t\t</label>\n\t\t<label for="snippet-editor-meta-description" class="snippet-editor__label">\n\t\t\t'+d(t.metaDescription)+'\n\t\t\t<textarea class="snippet-editor__input snippet-editor__meta-description js-snippet-editor-meta-description" id="snippet-editor-meta-description" placeholder="'+d(r.metaDesc)+'">'+d(o.meta)+'</textarea>\n\t\t</label>\n\t\t<progress value="0.0" class="snippet-editor__progress snippet-editor__progress-meta-description" aria-hidden="true">\n\t\t\t<div class="snippet-editor__progress-bar"></div>\n\t\t</progress>\n\n\t\t<button class="snippet-editor__submit snippet-editor__button" type="button">'+d(t.save)+"</button>\n\t</div>\n</div>\n"},l?((l.exports=A).templates=A,d.templates=A):s.templates=A}).call(void 0)}).call(this,t(15),t(48)(a))},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=t(2);e.default={hasClass:function(a,e){return a.className.indexOf(e)>-1},addClass:function(a,e){var t=a.className.split(" ");-1===t.indexOf(e)&&t.push(e),a.className=t.join(" ")},removeClass:function(a,e){var t=a.className.split(" "),i=t.indexOf(e);-1!==i&&t.splice(i,1),a.className=t.join(" ")},removeClasses:function(a,e){(0,i.forEach)(e,this.removeClass.bind(null,a))}}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=g(t(236)),n=g(t(505)),o=g(t(659)),r=g(t(660)),s=g(t(664)),d=g(t(665)),l=g(t(669)),c=g(t(662)),u=g(t(663)),p=g(t(668)),z=g(t(788));function g(a){return a&&a.__esModule?a:{default:a}}var m=function(a){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};i.default.call(this,a,e),this.type="CornerstoneContentAssessor";var t=e.hasOwnProperty("locale")?e.locale:"en_US";this._assessments=[new o.default((0,z.default)(t).fleschReading),new d.default({parameters:{slightlyTooMany:250,farTooMany:300,recommendedMaximumWordCount:250}}),r.default,new s.default({recommendedWordCount:(0,z.default)(t).sentenceLength.recommendedWordCount,slightlyTooMany:20,farTooMany:25}),l.default,c.default,p.default,u.default]};t(63).inherits(m,n.default),e.default=m},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=t(63),n=j(t(342)),o=j(t(343)),r=j(t(344)),s=j(t(346)),d=j(t(462)),l=j(t(670)),c=j(t(493)),u=j(t(494)),p=j(t(236)),z=j(t(697)),g=j(t(490)),m=j(t(678)),y=j(t(463)),w=j(t(492)),f=j(t(677)),b=j(t(491)),h=j(t(495)),v=j(t(496)),k=j(t(365));j(t(698));function j(a){return a&&a.__esModule?a:{default:a}}var _=function(a,e){p.default.call(this,a,e),this.type="CornerstoneSEOAssessor",this._assessments=[new n.default,new o.default,new r.default,new s.default,new g.default({scores:{tooLong:3,tooShort:3}}),new m.default({scoresRegular:{noMatches:3,oneMatch:6,multipleMatches:9}}),new d.default,new y.default({scores:{noImages:3,withAltNonKeyword:3,withAlt:3,noAlt:3}}),new w.default({recommendedMinimum:900,slightlyBelowMinimum:400,belowMinimum:300,scores:{belowMinimum:-20,farBelowMinimum:-20}}),new f.default({scores:{noLinks:3}}),new c.default,new l.default,new b.default({scores:{widthTooShort:3,widthTooLong:3}}),new u.default({scores:{okay:3}}),new h.default({scores:{tooLong:3}}),v.default,new k.default]};(0,i.inherits)(_,z.default),e.default=_},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=o(t(1142)),n=o(t(1143));function o(a){return a&&a.__esModule?a:{default:a}}e.default={parse:i.default,serialize:n.default}},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(a,e,t){"use strict";window.yoast=window.yoast||{},window.yoast.analysis=t(947)},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.interpreters=e.string=e.markers=e.helpers=e.config=e.bundledPlugins=e.assessments=e.createWorker=e.AnalysisWorkerWrapper=e.AnalysisWebWorker=e.AssessmentResult=e.Paper=e.SnippetPreview=e.Researcher=e.Pluggable=e.TaxonomyAssessor=e.ContentAssessor=e.Assessor=e.App=void 0;var i=t(948),n=v(t(732)),o=v(t(751)),r=v(t(752)),s=v(t(754)),d=v(t(755)),l=v(t(767)),c=v(t(768)),u=h(t(1151)),p=h(t(236)),z=h(t(505)),g=h(t(789)),m=h(t(699)),y=h(t(500)),w=h(t(700)),f=h(t(506)),b=h(t(32));function h(a){return a&&a.__esModule?a:{default:a}}function v(a){if(a&&a.__esModule)return a;var e={};if(null!=a)for(var t in a)Object.prototype.hasOwnProperty.call(a,t)&&(e[t]=a[t]);return e.default=a,e}e.App=u.default,e.Assessor=p.default,e.ContentAssessor=z.default,e.TaxonomyAssessor=g.default,e.Pluggable=m.default,e.Researcher=y.default,e.SnippetPreview=w.default,e.Paper=f.default,e.AssessmentResult=b.default,e.AnalysisWebWorker=i.AnalysisWebWorker,e.AnalysisWorkerWrapper=i.AnalysisWorkerWrapper,e.createWorker=i.createWorker,e.assessments=n,e.bundledPlugins=o,e.config=c,e.helpers=r,e.markers=s,e.string=d,e.interpreters=l,e.default={App:u.default,Assessor:p.default,ContentAssessor:z.default,TaxonomyAssessor:g.default,Pluggable:m.default,Researcher:y.default,SnippetPreview:w.default,Paper:f.default,AssessmentResult:b.default,AnalysisWebWorker:i.AnalysisWebWorker,AnalysisWorkerWrapper:i.AnalysisWorkerWrapper,createWorker:i.createWorker,assessments:n,bundledPlugins:o,config:c,helpers:r,markers:s,string:d,interpreters:l}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.createWorker=e.AnalysisWorkerWrapper=e.AnalysisWebWorker=void 0;var i=r(t(949)),n=r(t(1146)),o=r(t(1150));function r(a){return a&&a.__esModule?a:{default:a}}e.AnalysisWebWorker=i.default,e.AnalysisWorkerWrapper=n.default,e.createWorker=o.default},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=Object.assign||function(a){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(a[i]=t[i])}return a},n=function(){function a(a,e){for(var t=0;t<e.length;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(a,i.key,i)}}return function(e,t,i){return t&&a(e.prototype,t),i&&a(e,i),e}}(),o=t(950),r=B(t(357)),s=t(2),d=t(951),l=F(t(732)),c=F(t(751)),u=F(t(752)),p=F(t(754)),z=F(t(755)),g=F(t(767)),m=F(t(768)),y=B(t(236)),w=B(t(71)),f=B(t(697)),b=B(t(505)),h=B(t(789)),v=B(t(699)),k=B(t(500)),j=B(t(700)),_=B(t(506)),x=B(t(32)),q=B(t(1135)),E=B(t(792)),A=B(t(1136)),T=B(t(793)),O=B(t(686)),S=B(t(1137)),M=t(35),P=B(t(1138)),C=B(t(1139)),R=B(t(794)),D=B(t(1144));function F(a){if(a&&a.__esModule)return a;var e={};if(null!=a)for(var t in a)Object.prototype.hasOwnProperty.call(a,t)&&(e[t]=a[t]);return e.default=a,e}function B(a){return a&&a.__esModule?a:{default:a}}var $={Assessor:y.default,Assessment:w.default,SEOAssessor:f.default,ContentAssessor:b.default,TaxonomyAssessor:h.default,Pluggable:v.default,Researcher:k.default,SnippetPreview:j.default,RelatedKeywordAssessor:q.default,Paper:_.default,AssessmentResult:x.default,assessments:l,bundledPlugins:c,helpers:u,markers:p,string:z,interpreters:g,config:m},I=new l.seo.KeyphraseDistributionAssessment,L=(0,d.getLogger)("yoast-analysis-worker");L.setDefaultLevel("error");var W=function(){function a(e){!function(a,e){if(!(a instanceof e))throw new TypeError("Cannot call a class as a function")}(this,a),this._scope=e,this._configuration={contentAnalysisActive:!0,keywordAnalysisActive:!0,useCornerstone:!1,useTaxonomy:!1,useKeywordDistribution:!1,locale:"en_US"},this._scheduler=new C.default,this._paper=null,this._relatedKeywords={},this._i18n=a.createI18n(),this._researcher=new k.default(this._paper),this._contentAssessor=null,this._seoAssessor=null,this._relatedKeywordAssessor=null,this._results={readability:{results:[],score:0},seo:{"":{results:[],score:0}}},this._registeredAssessments=[],this._registeredMessageHandlers={},this.analyze=this.analyze.bind(this),this.analyzeDone=this.analyzeDone.bind(this),this.analyzeRelatedKeywordsDone=this.analyzeRelatedKeywordsDone.bind(this),this.loadScript=this.loadScript.bind(this),this.loadScriptDone=this.loadScriptDone.bind(this),this.customMessage=this.customMessage.bind(this),this.customMessageDone=this.customMessageDone.bind(this),this.clearCache=this.clearCache.bind(this),this.runResearch=this.runResearch.bind(this),this.runResearchDone=this.runResearchDone.bind(this),this.registerAssessment=this.registerAssessment.bind(this),this.registerMessageHandler=this.registerMessageHandler.bind(this),this.refreshAssessment=this.refreshAssessment.bind(this),this.handleMessage=this.handleMessage.bind(this),this.analyzeRelatedKeywords=(0,D.default)(L,this.analyze,"An error occurred while running the related keywords analysis."),this.analyze=(0,D.default)(L,this.analyze,"An error occurred while running the analysis."),this.runResearch=(0,D.default)(L,this.runResearch,"An error occurred after running the '%%name%%' research.")}return n(a,[{key:"register",value:function(){this._scope.onmessage=this.handleMessage,this._scope.analysisWorker={registerAssessment:this.registerAssessment,registerMessageHandler:this.registerMessageHandler,refreshAssessment:this.refreshAssessment},this._scope.yoast=this._scope.yoast||{},this._scope.yoast.analysis=$}},{key:"handleMessage",value:function(a){var e=a.data,t=e.type,i=e.id,n=e.payload;switch(n=R.default.parse(n),L.debug("AnalysisWebWorker incoming:",t,i,n),t){case"initialize":this.initialize(i,n),this._scheduler.startPolling();break;case"analyze":this._scheduler.schedule({id:i,execute:this.analyze,done:this.analyzeDone,data:n,type:t});break;case"analyzeRelatedKeywords":this._scheduler.schedule({id:i,execute:this.analyzeRelatedKeywords,done:this.analyzeRelatedKeywordsDone,data:n,type:t});break;case"loadScript":this._scheduler.schedule({id:i,execute:this.loadScript,done:this.loadScriptDone,data:n,type:t});break;case"runResearch":this._scheduler.schedule({id:i,execute:this.runResearch,done:this.runResearchDone,data:n});break;case"customMessage":var o=n.name;if(o&&this._registeredMessageHandlers[o]){this._scheduler.schedule({id:i,execute:this.customMessage,done:this.customMessageDone,data:n,type:t});break}this.customMessageDone(i,{error:new Error("No message handler registered for messages with name: "+o)});break;default:console.warn("AnalysisWebWorker unrecognized action:",t)}}},{key:"createContentAssessor",value:function(){var a=this._configuration,e=a.contentAnalysisActive,t=a.useCornerstone,i=a.locale;return!1===e?null:!0===t?new E.default(this._i18n,{locale:i}):new b.default(this._i18n,{locale:i})}},{key:"createSEOAssessor",value:function(){var a=this._configuration,e=a.keywordAnalysisActive,t=a.useCornerstone,i=a.useKeywordDistribution,n=a.useTaxonomy,o=a.locale;if(!1===e)return null;var r=void 0;return r=!0===n?new h.default(this._i18n):!0===t?new T.default(this._i18n,{locale:o,researcher:this._researcher}):new f.default(this._i18n,{locale:o,researcher:this._researcher}),i&&(0,s.isUndefined)(r.getAssessment("keyphraseDistribution"))&&r.addAssessment("keyphraseDistribution",I),this._registeredAssessments.forEach(function(a){var e=a.name,t=a.assessment;(0,s.isUndefined)(r.getAssessment(e))&&r.addAssessment(e,t)}),r}},{key:"createRelatedKeywordsAssessor",value:function(){var a=this._configuration,e=a.keywordAnalysisActive,t=a.useCornerstone,i=a.useTaxonomy,n=a.locale;if(!1===e)return null;var o=void 0;return o=!0===i?new P.default(this._i18n):!0===t?new A.default(this._i18n,{locale:n,researcher:this._researcher}):new q.default(this._i18n,{locale:n,researcher:this._researcher}),this._registeredAssessments.forEach(function(a){var e=a.name,t=a.assessment;(0,s.isUndefined)(o.getAssessment(e))&&o.addAssessment(e,t)}),o}},{key:"send",value:function(a,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};L.debug("AnalysisWebWorker outgoing:",a,e,t),t=R.default.serialize(t),this._scope.postMessage({type:a,id:e,payload:t})}},{key:"initialize",value:function(e,t){var i=this,n=a.shouldAssessorsUpdate(t,this._contentAssessor,this._seoAssessor);(0,s.has)(t,"translations")&&(this._i18n=a.createI18n(t.translations),delete t.translations),(0,s.has)(t,"researchData")&&((0,s.forEach)(t.researchData,function(a,e){i._researcher.addResearchData(e,a)}),delete t.researchData),(0,s.has)(t,"defaultQueryParams")&&((0,M.configureShortlinker)({params:t.defaultQueryParams}),delete t.defaultQueryParams),(0,s.has)(t,"logLevel")&&(L.setLevel(t.logLevel,!1),delete t.logLevel),this._configuration=(0,s.merge)(this._configuration,t),n.readability&&(this._contentAssessor=this.createContentAssessor()),n.seo&&(this._seoAssessor=this.createSEOAssessor(),this._relatedKeywordAssessor=this.createRelatedKeywordsAssessor()),this.clearCache(),this.send("initialize:done",e)}},{key:"registerAssessment",value:function(a,e,t){if(!(0,s.isString)(a))throw new O.default("Failed to register assessment for plugin "+t+". Expected parameter `name` to be a string.");if(!(0,s.isObject)(e))throw new O.default("Failed to register assessment for plugin "+t+". Expected parameter `assessment` to be a function.");if(!(0,s.isString)(t))throw new O.default("Failed to register assessment for plugin "+t+". Expected parameter `pluginName` to be a string.");var i=t+"-"+a;return null!==this._seoAssessor&&this._seoAssessor.addAssessment(i,e),this._registeredAssessments.push({combinedName:i,assessment:e}),this.refreshAssessment(a,t),!0}},{key:"registerMessageHandler",value:function(a,e,t){if(!(0,s.isString)(a))throw new O.default("Failed to register handler for plugin "+t+". Expected parameter `name` to be a string.");if(!(0,s.isObject)(e))throw new O.default("Failed to register handler for plugin "+t+". Expected parameter `handler` to be a function.");if(!(0,s.isString)(t))throw new O.default("Failed to register handler for plugin "+t+". Expected parameter `pluginName` to be a string.");a=t+"-"+a,this._registeredMessageHandlers[a]=e}},{key:"refreshAssessment",value:function(a,e){if(!(0,s.isString)(a))throw new O.default("Failed to refresh assessment for plugin "+e+". Expected parameter `name` to be a string.");if(!(0,s.isString)(e))throw new O.default("Failed to refresh assessment for plugin "+e+". Expected parameter `pluginName` to be a string.");this.clearCache()}},{key:"clearCache",value:function(){this._paper=null}},{key:"setLocale",value:function(a){this._configuration.locale!==a&&(this._configuration.locale=a,this._contentAssessor=this.createContentAssessor())}},{key:"shouldReadabilityUpdate",value:function(a){return null===this._paper||(this._paper.getText()!==a.getText()||this._paper.getLocale()!==a.getLocale())}},{key:"shouldSeoUpdate",value:function(a,e){var t=e.keyword,i=e.synonyms;return!!(0,s.isUndefined)(this._relatedKeywords[a])||(this._relatedKeywords[a].keyword!==t||this._relatedKeywords[a].synonyms!==i)}},{key:"analyze",value:function(a,e){var t=this,n=e.paper,r=e.relatedKeywords,d=void 0===r?{}:r;n._text=(0,o.autop)(n._text),n._text=z.removeHtmlBlocks(n._text);var l=null===this._paper||!this._paper.equals(n),c=this.shouldReadabilityUpdate(n);if(l&&(this._paper=n,this._researcher.setPaper(this._paper),this.setLocale(this._paper.getLocale())),this._configuration.keywordAnalysisActive&&this._seoAssessor){l&&(this._seoAssessor.assess(this._paper),this._results.seo={},this._results.seo[""]={results:this._seoAssessor.results,score:this._seoAssessor.calculateOverallScore()});var u=[""];(0,s.forEach)(d,function(a,e){u.push(e),t._relatedKeywords[e]=a;var n=_.default.parse(i({},t._paper.serialize(),{keyword:t._relatedKeywords[e].keyword,synonyms:t._relatedKeywords[e].synonyms}));t._relatedKeywordAssessor.assess(n),t._results.seo[e]={results:t._relatedKeywordAssessor.results,score:t._relatedKeywordAssessor.calculateOverallScore()}}),u.length>1&&(this._results.seo=(0,s.pickBy)(this._results.seo,function(a,e){return(0,s.includes)(u,e)}))}return this._configuration.contentAnalysisActive&&this._contentAssessor&&c&&(this._contentAssessor.assess(this._paper),this._results.readability={results:this._contentAssessor.results,score:this._contentAssessor.calculateOverallScore()}),this._results}},{key:"loadScript",value:function(a,e){var t=e.url;if((0,s.isUndefined)(t))return{loaded:!1,url:t,message:"Load Script was called without an URL."};try{this._scope.importScripts(t)}catch(a){return{loaded:!1,url:t,message:a.message}}return{loaded:!0,url:t}}},{key:"loadScriptDone",value:function(a,e){e.loaded?this.send("loadScript:done",a,e):this.send("loadScript:failed",a,e)}},{key:"analyzeDone",value:function(a,e){e.error?this.send("analyze:failed",a,e):this.send("analyze:done",a,e)}},{key:"analyzeRelatedKeywordsDone",value:function(a,e){e.error?this.send("analyzeRelatedKeywords:failed",a,e):this.send("analyzeRelatedKeywords:done",a,e)}},{key:"customMessage",value:function(a,e){var t=e.name,i=e.data;try{return{success:!0,data:this._registeredMessageHandlers[t](i)}}catch(a){return{error:a}}}},{key:"customMessageDone",value:function(a,e){e.success?this.send("customMessage:done",a,e.data):this.send("customMessage:failed",e.error)}},{key:"runResearch",value:function(a,e){var t=e.name,i=e.paper,n=void 0===i?null:i;return(null===n?this._researcher:new k.default(n)).getResearch(t)}},{key:"runResearchDone",value:function(a,e){e.error?this.send("runResearch:failed",a,e):this.send("runResearch:done",a,e)}}],[{key:"createI18n",value:function(a){return a=a||{domain:"js-text-analysis",locale_data:{"js-text-analysis":{"":{}}}},new r.default(a)}},{key:"shouldAssessorsUpdate",value:function(a){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=Object.keys(a);return{readability:(0,s.isNull)(e)||(0,S.default)(i,["contentAnalysisActive","useCornerstone","locale","translations"]),seo:(0,s.isNull)(t)||(0,S.default)(i,["keywordAnalysisActive","useCornerstone","useTaxonomy","useKeywordDistribution","locale","translations","researchData"])}}}]),a}();e.default=W},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.autop=function(a){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],t=[];if(""===a.trim())return"";if(-1!==(a+="\n").indexOf("<pre")){var o=a.split("</pre>"),r=o.pop();a="";for(var s=0;s<o.length;s++){var d=o[s],l=d.indexOf("<pre");if(-1!==l){var c="<pre wp-pre-tag-"+s+"></pre>";t.push([c,d.substr(l)+"</pre>"]),a+=d.substr(0,l)+c}else a+=d}a+=r}var u="(?:table|thead|tfoot|caption|col|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|form|map|area|blockquote|address|math|style|p|h[1-6]|hr|fieldset|legend|section|article|aside|hgroup|header|footer|nav|figure|figcaption|details|menu|summary)";-1!==(a=function(a,e){for(var t=function(a){for(var e,t=[],i=a;e=i.match(n);)t.push(i.slice(0,e.index)),t.push(e[0]),i=i.slice(e.index+e[0].length);return i.length&&t.push(i),t}(a),i=!1,o=Object.keys(e),r=1;r<t.length;r+=2)for(var s=0;s<o.length;s++){var d=o[s];if(-1!==t[r].indexOf(d)){t[r]=t[r].replace(new RegExp(d,"g"),e[d]),i=!0;break}}return i&&(a=t.join("")),a}(a=(a=(a=(a=a.replace(/<br\s*\/?>\s*<br\s*\/?>/g,"\n\n")).replace(new RegExp("(<"+u+"[s/>])","g"),"\n\n$1")).replace(new RegExp("(</"+u+">)","g"),"$1\n\n")).replace(/\r\n|\r/g,"\n"),{"\n":" \x3c!-- wpnl --\x3e "})).indexOf("<option")&&(a=(a=a.replace(/\s*<option/g,"<option")).replace(/<\/option>\s*/g,"</option>"));-1!==a.indexOf("</object>")&&(a=(a=(a=a.replace(/(<object[^>]*>)\s*/g,"$1")).replace(/\s*<\/object>/g,"</object>")).replace(/\s*(<\/?(?:param|embed)[^>]*>)\s*/g,"$1"));-1===a.indexOf("<source")&&-1===a.indexOf("<track")||(a=(a=(a=a.replace(/([<\[](?:audio|video)[^>\]]*[>\]])\s*/g,"$1")).replace(/\s*([<\[]\/(?:audio|video)[>\]])/g,"$1")).replace(/\s*(<(?:source|track)[^>]*>)\s*/g,"$1"));-1!==a.indexOf("<figcaption")&&(a=(a=a.replace(/\s*(<figcaption[^>]*>)/,"$1")).replace(/<\/figcaption>\s*/,"</figcaption>"));var p=(a=a.replace(/\n\n+/g,"\n\n")).split(/\n\s*\n/).filter(Boolean);a="",p.forEach(function(e){a+="<p>"+e.replace(/^\n*|\n*$/g,"")+"</p>\n"}),a=(a=(a=(a=(a=(a=(a=(a=a.replace(/<p>\s*<\/p>/g,"")).replace(/<p>([^<]+)<\/(div|address|form)>/g,"<p>$1</p></$2>")).replace(new RegExp("<p>s*(</?"+u+"[^>]*>)s*</p>","g"),"$1")).replace(/<p>(<li.+?)<\/p>/g,"$1")).replace(/<p><blockquote([^>]*)>/gi,"<blockquote$1><p>")).replace(/<\/blockquote><\/p>/g,"</p></blockquote>")).replace(new RegExp("<p>s*(</?"+u+"[^>]*>)","g"),"$1")).replace(new RegExp("(</?"+u+"[^>]*>)s*</p>","g"),"$1"),e&&(a=(a=(a=(a=a.replace(/<(script|style).*?<\/\\1>/g,function(a){return a[0].replace(/\n/g,"<WPPreserveNewline />")})).replace(/<br>|<br\/>/g,"<br />")).replace(/(<br \/>)?\s*\n/g,function(a,e){return e?a:"<br />\n"})).replace(/<WPPreserveNewline \/>/g,"\n"));a=(a=(a=a.replace(new RegExp("(</?"+u+"[^>]*>)s*<br />","g"),"$1")).replace(/<br \/>(\s*<\/?(?:p|li|div|dl|dd|dt|th|pre|td|ul|ol)[^>]*>)/g,"$1")).replace(/\n<\/p>$/g,"</p>"),t.forEach(function(e){var t=(0,i.default)(e,2),n=t[0],o=t[1];a=a.replace(n,o)}),-1!==a.indexOf("\x3c!-- wpnl --\x3e")&&(a=a.replace(/\s?<!-- wpnl -->\s?/g,"\n"));return a},e.removep=function(a){var e="blockquote|ul|ol|li|dl|dt|dd|table|thead|tbody|tfoot|tr|th|td|h[1-6]|fieldset|figure",t=e+"|div|p",i=e+"|pre",n=[],o=!1,r=!1;if(!a)return"";-1===a.indexOf("<script")&&-1===a.indexOf("<style")||(a=a.replace(/<(script|style)[^>]*>[\s\S]*?<\/\1>/g,function(a){return n.push(a),"<wp-preserve>"}));-1!==a.indexOf("<pre")&&(o=!0,a=a.replace(/<pre[^>]*>[\s\S]+?<\/pre>/g,function(a){return(a=(a=a.replace(/<br ?\/?>(\r\n|\n)?/g,"<wp-line-break>")).replace(/<\/?p( [^>]*)?>(\r\n|\n)?/g,"<wp-line-break>")).replace(/\r?\n/g,"<wp-line-break>")}));-1!==a.indexOf("[caption")&&(r=!0,a=a.replace(/\[caption[\s\S]+?\[\/caption\]/g,function(a){return a.replace(/<br([^>]*)>/g,"<wp-temp-br$1>").replace(/[\r\n\t]+/,"")}));-1!==(a=(a=(a=(a=(a=(a=(a=(a=(a=(a=(a=(a=(a=(a=(a=a.replace(new RegExp("\\s*</("+t+")>\\s*","g"),"</$1>\n")).replace(new RegExp("\\s*<((?:"+t+")(?: [^>]*)?)>","g"),"\n<$1>")).replace(/(<p [^>]+>.*?)<\/p>/g,"$1</p#>")).replace(/<div( [^>]*)?>\s*<p>/gi,"<div$1>\n\n")).replace(/\s*<p>/gi,"")).replace(/\s*<\/p>\s*/gi,"\n\n")).replace(/\n[\s\u00a0]+\n/g,"\n\n")).replace(/(\s*)<br ?\/?>\s*/gi,function(a,e){return e&&-1!==e.indexOf("\n")?"\n\n":"\n"})).replace(/\s*<div/g,"\n<div")).replace(/<\/div>\s*/g,"</div>\n")).replace(/\s*\[caption([^\[]+)\[\/caption\]\s*/gi,"\n\n[caption$1[/caption]\n\n")).replace(/caption\]\n\n+\[caption/g,"caption]\n\n[caption")).replace(new RegExp("\\s*<((?:"+i+")(?: [^>]*)?)\\s*>","g"),"\n<$1>")).replace(new RegExp("\\s*</("+i+")>\\s*","g"),"</$1>\n")).replace(/<((li|dt|dd)[^>]*)>/g," \t<$1>")).indexOf("<option")&&(a=(a=a.replace(/\s*<option/g,"\n<option")).replace(/\s*<\/select>/g,"\n</select>"));-1!==a.indexOf("<hr")&&(a=a.replace(/\s*<hr( [^>]*)?>\s*/g,"\n\n<hr$1>\n\n"));-1!==a.indexOf("<object")&&(a=a.replace(/<object[\s\S]+?<\/object>/g,function(a){return a.replace(/[\r\n]+/g,"")}));a=(a=(a=(a=a.replace(/<\/p#>/g,"</p>\n")).replace(/\s*(<p [^>]+>[\s\S]*?<\/p>)/g,"\n$1")).replace(/^\s+/,"")).replace(/[\s\u00a0]+$/,""),o&&(a=a.replace(/<wp-line-break>/g,"\n"));r&&(a=a.replace(/<wp-temp-br([^>]*)>/g,"<br$1>"));n.length&&(a=a.replace(/<wp-preserve>/g,function(){return n.shift()}));return a};var i=function(a){return a&&a.__esModule?a:{default:a}}(t(1469));var n=new RegExp("(<((?=!--|!\\[CDATA\\[)((?=!-)!(?:-(?!->)[^\\-]*)*(?:--\x3e)?|!\\[CDATA\\[[^\\]]*(?:](?!]>)[^\\]]*)*?(?:]]>)?)|[^>]*>?))")},function(a,e,t){var i,n;!function(o,r){"use strict";void 0===(n="function"==typeof(i=function(){var a=function(){},e="undefined",t=["trace","debug","info","warn","error"];function i(a,e){var t=a[e];if("function"==typeof t.bind)return t.bind(a);try{return Function.prototype.bind.call(t,a)}catch(e){return function(){return Function.prototype.apply.apply(t,[a,arguments])}}}function n(e,i){for(var n=0;n<t.length;n++){var o=t[n];this[o]=n<e?a:this.methodFactory(o,e,i)}this.log=this.debug}function o(t,o,r){return function(t){"debug"===t&&(t="log");return typeof console!==e&&(void 0!==console[t]?i(console,t):void 0!==console.log?i(console,"log"):a)}(t)||function(a,t,i){return function(){typeof console!==e&&(n.call(this,t,i),this[a].apply(this,arguments))}}.apply(this,arguments)}function r(a,i,r){var s,d=this,l="loglevel";function c(){var a;if(typeof window!==e){try{a=window.localStorage[l]}catch(a){}if(typeof a===e)try{var t=window.document.cookie,i=t.indexOf(encodeURIComponent(l)+"=");-1!==i&&(a=/^([^;]+)/.exec(t.slice(i))[1])}catch(a){}return void 0===d.levels[a]&&(a=void 0),a}}a&&(l+=":"+a),d.name=a,d.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},d.methodFactory=r||o,d.getLevel=function(){return s},d.setLevel=function(i,o){if("string"==typeof i&&void 0!==d.levels[i.toUpperCase()]&&(i=d.levels[i.toUpperCase()]),!("number"==typeof i&&i>=0&&i<=d.levels.SILENT))throw"log.setLevel() called with invalid level: "+i;if(s=i,!1!==o&&function(a){var i=(t[a]||"silent").toUpperCase();if(typeof window===e)return;try{return void(window.localStorage[l]=i)}catch(a){}try{window.document.cookie=encodeURIComponent(l)+"="+i+";"}catch(a){}}(i),n.call(d,i,a),typeof console===e&&i<d.levels.SILENT)return"No console available for logging"},d.setDefaultLevel=function(a){c()||d.setLevel(a,!1)},d.enableAll=function(a){d.setLevel(d.levels.TRACE,a)},d.disableAll=function(a){d.setLevel(d.levels.SILENT,a)};var u=c();null==u&&(u=null==i?"WARN":i),d.setLevel(u,!1)}var s=new r,d={};s.getLogger=function(a){if("string"!=typeof a||""===a)throw new TypeError("You must supply a name when creating a logger.");var e=d[a];return e||(e=d[a]=new r(a,s.getLevel(),s.methodFactory)),e};var l=typeof window!==e?window.log:void 0;return s.noConflict=function(){return typeof window!==e&&window.log===s&&(window.log=l),s},s.getLoggers=function(){return d},s})?i.call(e,t,e,a):i)||(a.exports=n)}()},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.configureShortlinker=function(a){o().configure(a)},e.createShortlink=function(a){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return o().append(a,e)},e.createAnchorOpeningTag=function(a){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return o().createAnchorOpeningTag(a,e)};var i=function(a){return a&&a.__esModule?a:{default:a}}(t(953));var n=void 0;function o(){return null===n.yoast.shortlinker&&(n.yoast.shortlinker=new i.default),n.yoast.shortlinker}(n="undefined"==typeof window?self:window).yoast=n.yoast||{},n.yoast.shortlinker=null},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=Object.assign||function(a){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(a[i]=t[i])}return a},n=function(){function a(a,e){for(var t=0;t<e.length;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(a,i.key,i)}}return function(e,t,i){return t&&a(e.prototype,t),i&&a(e,i),e}}();var o=function(){function a(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};!function(a,e){if(!(a instanceof e))throw new TypeError("Cannot call a class as a function")}(this,a),this.configure(e)}return n(a,[{key:"configure",value:function(a){this._config=i({params:{}},a)}},{key:"append",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=encodeURI(e),o=a.createQueryString(i({},this._config.params,t));return""!==o&&(n+="?"+o),n}},{key:"createAnchorOpeningTag",value:function(a){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return"<a href='"+this.append(a,e)+"' target='_blank'>"}}],[{key:"createQueryString",value:function(a){return Object.keys(a).map(function(e){return encodeURIComponent(e)+"="+encodeURIComponent(a[e])}).join("&")}}]),a}();e.default=o},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=d(t(341)),n=t(228),o=t(35),r=d(t(32)),s=d(t(733));function d(a){return a&&a.__esModule?a:{default:a}}e.default={identifier:"metaDescriptionSentenceLength",getResult:function(a,e,t){var d=function(a,e){var t,r=0,d=(0,s.default)(a,20).length,l=(0,o.createAnchorOpeningTag)("https://yoa.st/short-sentences");return 0!==a.length&&(r=(0,i.default)(d/a.length*100)),r<=20&&(t=9),(0,n.inRangeEndInclusive)(r,20,25)&&(t=6),r>25&&(t=3),t>=7?{score:t,text:e.sprintf(e.dgettext("js-text-analysis","The meta description contains no sentences %1$sover %2$s words%3$s."),l,20,"</a>")}:{score:t,text:e.sprintf(e.dngettext("js-text-analysis","The meta description contains %1$d sentence %2$sover %3$s words%4$s. Try to shorten this sentence.","The meta description contains %1$d sentences %2$sover %3$s words%4$s. Try to shorten these sentences.",d),d,l,20,"</a>")}}(e.getResearch("countSentencesFromDescription"),t),l=new r.default;return l.setScore(d.score),l.setText(d.text),l},isApplicable:function(a){return a.hasDescription()}}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=t(2),n=c(t(341)),o=c(t(340)),r=t(35),s=c(t(956)),d=c(t(32)),l=c(t(227));function c(a){return a&&a.__esModule?a:{default:a}}var u=function(a){return(0,i.filter)(a,function(a){return a.complexity>3})};e.default={identifier:"wordComplexity",getResult:function(a,e,t){var o=e.getResearch("wordComplexity"),s=function(a,e,t){var i=0,o=u(e).length;0!==a&&(i=o/a*100);var s=(i=(0,n.default)(i))>0,d=(0,r.createAnchorOpeningTag)("https://yoa.st/difficult-words"),l=9-Math.max(Math.min(.6*(i-1.7),6),0);return(l=(0,n.default)(l))>=7?{score:l,hasMarks:s,text:t.sprintf(t.dgettext("js-text-analysis","%1$s of the words contain %2$sover %3$s syllables%4$s, which is less than or equal to the recommended maximum of %5$s."),i+"%",d,3,"</a>","5%")}:{score:l,hasMarks:s,text:t.sprintf(t.dgettext("js-text-analysis","%1$s of the words contain %2$sover %3$s syllables%4$s, which is more than the recommended maximum of %5$s."),i+"%",d,3,"</a>","5%")}}((o=(0,i.flatMap)(o,function(a){return a.words})).length,o,t),l=new d.default;return l.setScore(s.score),l.setText(s.text),l.setHasMarks(s.hasMarks),l},isApplicable:function(a){return a.hasText()},getMarks:function(a,e){var t=e.getResearch("wordComplexity");return(0,i.flatMap)(t,function(a){var e=a.words,t=a.sentence,n=u(e);if(0===n.length)return[];var r=function(a,e){var t=a.split(/\s+/);return(0,i.forEach)(e,function(a){var e=a.wordIndex;a.word!==t[e]&&a.word!==(0,s.default)(t[e])||(t[e]=t[e].replace(a.word,(0,o.default)(a.word)))}),t}(t,n),d=function(a){var e=a.split(/\S+/);return e.pop(),e.shift(),e}(t),c=(0,i.zip)(r,d);return c=(c=(0,i.flatten)(c)).join(""),new l.default({original:t,marked:c})})}}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){return a.replace(i,"")};var i=/[.?!:;,]/g},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return{filteredAtBeginning:[].concat(q,s,B,A,C),filteredAtEnding:[].concat(u,$),filteredAtBeginningAndEnding:[].concat(l,T,O,m,D,w),filteredAnywhere:[].concat(d,_,p,z,g,f,I,c,E,P,x,r,F,h,S,M,v,j,N,k,L,W,U,b,y),all:[].concat(l,c,u,m,y,f,b,p,z,w,h,v,k,j,_,r,s,x,q,E,A,T,O,S,M,P,C,d,R,D,F,B,I,$,L,U,N,W,K,H)}};var i=o(t(489)),n=o(t(735));function o(a){return a&&a.__esModule?a:{default:a}}var r=(0,i.default)().filteredAuxiliaries,s=(0,i.default)().infinitiveAuxiliaries,d=(0,n.default)().singleWords,l=["das","dem","den","der","des","die","ein","eine","einem","einen","einer","eines"],c=["eins","zwei","drei","vier","fünf","sechs","sieben","acht","neun","zehn","elf","zwölf","zwoelf","dreizehn","vierzehn","fünfzehn","fuenfzehn","sechzehn","siebzehn","achtzehn","neunzehn","zwanzig","hundert","einhundert","zweihundert","dreihundert","vierhundert","fünfhundert","fuenfhundert","sechshundert","siebenhundert","achthundert","neunhundert","tausend","million","milliarde","billion","billiarde"],u=["erste","erster","ersten","erstem","erstes","zweite","zweites","zweiter","zweitem","zweiten","dritte","dritter","drittes","dritten","drittem","vierter","vierten","viertem","viertes","vierte","fünfte","fünfter","fünftes","fünften","fünftem","fuenfte","fuenfter","fuenftem","fuenften","fuenftes","sechste","sechster","sechstes","sechsten","sechstem","siebte","siebter","siebten","siebtem","siebtes","achte","achter","achten","achtem","achtes","neunte","neunter","neuntes","neunten","neuntem","zehnte","zehnter","zehnten","zehntem","zehntes","elfte","elfter","elftes","elften","elftem","zwölfte","zwölfter","zwölften","zwölftem","zwölftes","zwoelfte","zwoelfter","zwoelften","zwoelftem","zwoelftes","dreizehnte","dreizehnter","dreizehntes","dreizehnten","dreizehntem","vierzehnte","vierzehnter","vierzehntes","vierzehnten","vierzehntem","fünfzehnte","fünfzehnten","fünfzehntem","fünfzehnter","fünfzehntes","fuenfzehnte","fuenfzehnten","fuenfzehntem","fuenfzehnter","fuenfzehntes","sechzehnte","sechzehnter","sechzehnten","sechzehntes","sechzehntem","siebzehnte","siebzehnter","siebzehntes","siebzehntem","siebzehnten","achtzehnter","achtzehnten","achtzehntem","achtzehntes","achtzehnte","nehnzehnte","nehnzehnter","nehnzehntem","nehnzehnten","nehnzehntes","zwanzigste","zwanzigster","zwanzigstem","zwanzigsten","zwanzigstes"],p=["ich","du","er","sie","es","wir","ihr"],z=["mich","dich","ihn","uns","euch"],g=["mir","dir","ihm","ihnen"],m=["denen","deren","derer","dessen","diese","diesem","diesen","dieser","dieses","jene","jenem","jenen","jener","jenes","welch","welcher","welches","derjenige","desjenigen","demjenigen","denjenigen","diejenige","derjenigen","dasjenige","diejenigen"],y=["mein","meine","meinem","meiner","meines","meinen","dein","deine","deinem","deiner","deines","deinen","sein","seine","seinem","seiner","seines","ihre","ihrem","ihren","ihrer","ihres","unser","unsere","unserem","unseren","unserer","unseres","euer","eure","eurem","euren","eurer","eures","einanders"],w=["manche","manch","viele","viel","vieler","vielen","vielem","all","alle","aller","alles","allen","allem","allerlei","solcherlei","einige","etliche","wenige","weniger","wenigen","wenigem","weniges","wenig","wenigerer","wenigeren","wenigerem","wenigere","wenigeres","wenig","bisschen","paar","kein","keines","keinem","keinen","keine","mehr","genug","mehrere","mehrerer","mehreren","mehrerem","mehreres","verschiedene","verschiedener","verschiedenen","verschiedenem","verschiedenes","verschiedne","verschiedner","verschiednen","verschiednem","verschiednes","art","arten","sorte","sorten"],f=["sich"],b=["einander"],h=["andere","anderer","anderem","anderen","anderes","andren","andern","andrem","anderm","andre","andrer","andres","beide","beides","beidem","beider","beiden","etwas","irgendetwas","irgendein","irgendeinen","irgendeinem","irgendeines","irgendeine","irgendeiner","irgendwas","irgendwessen","irgendwer","irgendwen","irgendwem","irgendwelche","irgendwelcher","irgendwelchem","irgendwelchen","irgendwelches","irgendjemand","irgendjemanden","irgendjemandem","irgendjemandes","irgendwie","wer","wen","wem","wessen","was","welchen","welchem","welche","jeder","jedes","jedem","jeden","jede","jedweder","jedweden","jedwedem","jedwedes","jedwede","jeglicher","jeglichen","jeglichem","jegliches","jegliche","jedermann","jedermanns","jemand","jemanden","jemandem","jemands","jemandes","man","meinesgleichen","sämtlich","saemtlich","sämtlicher","saemtlicher","sämtlichen","saemtlichen","sämtlichem","saemtlichem","sämtliches","saemtliches","sämtliche","saemtliche","solche","solcher","solchen","solchem","solches","niemand","niemanden","niemandem","niemandes","niemands","nichts","zweiter"],v=["warum","wie","wo","woher","wohin","wann"],k=["dahinter","damit","daneben","daran","daraus","darin","darunter","darüber","darueber","davon","dazwischen","hieran","hierauf","hieraus","hierbei","hierfuer","hierfür","hiergegen","hierhinter","hierin","hiermit","hiernach","hierum","hierunter","hierueber","hierüber","hiervor","hierzwischen","hierneben","hiervon","wodurch","wofür","wofuer","wogegen","wohinter","womit","wonach","woneben","woran","worauf","woraus","worin","worum","worunter","worüber","worueber","wovon","wovor","wozu","wozwischen"],j=["hier","dorthin","hierher","dorther"],_=["allenfalls","keinesfalls","anderenfalls","andernfalls","andrenfalls","äußerstenfalls","bejahendenfalls","bestenfalls","eintretendenfalls","entgegengesetztenfalls","erforderlichenfalls","gegebenenfalls","geringstenfalls","gleichfalls","günstigenfalls","günstigstenfalls","höchstenfalls","möglichenfalls","notfalls","nötigenfalls","notwendigenfalls","schlimmstenfalls","vorkommendenfalls","zutreffendenfalls","keineswegs","durchwegs","geradenwegs","geradeswegs","geradewegs","gradenwegs","halbwegs","mittwegs","unterwegs"],x=["habe","hast","hat","habt","habest","habet","hatte","hattest","hatten","hätte","haette","hättest","haettest","hätten","haetten","haettet","hättet","hab","bin","bist","ist","sind","sei","seiest","seien","seiet","war","warst","waren","wart","wäre","waere","wärest","waerest","wärst","waerst","wären","waeren","wäret","waeret","wärt","waert","seid","darf","darfst","dürft","duerft","dürfe","duerfe","dürfest","duerfest","dürfet","duerfet","durfte","durftest","durften","durftet","dürfte","duerfte","dürftest","duerftest","dürften","duerften","dürftet","duerftet","kann","kannst","könnt","koennt","könne","koenne","könnest","koennest","könnet","koennet","konnte","konntest","konnten","konntet","könnte","koennte","könntest","koenntest","könnten","koennten","könntet","koenntet","mag","magst","mögt","moegt","möge","moege","mögest","moegest","möget","moeget","mochte","mochtest","mochten","mochtet","möchte","moechte","möchtest","moechtest","möchten","moechten","möchtet","moechtet","muss","muß","musst","mußt","müsst","muesst","müßt","mueßt","müsse","muesse","müssest","muessest","müsset","muesset","musste","mußte","musstest","mußtest","mussten","mußten","musstet","mußtet","müsste","muesste","müßte","mueßte","müsstest","muesstest","müßtest","mueßtest","müssten","muessten","müßten","mueßten","müsstet","muesstet","müßtet","mueßtet","soll","sollst","sollt","solle","sollest","sollet","sollte","solltest","sollten","solltet","will","willst","wollt","wolle","wollest","wollet","wollte","wolltest","wollten","wolltet","lasse","lässt","laesst","läßt","laeßt","lasst","laßt","lassest","lasset","ließ","ließest","ließt","ließen","ließe","ließet","liess","liessest","liesst","liessen","liesse","liesset"],q=["haben","dürfen","duerfen","können","koennen","mögen","moegen","müssen","muessen","sollen","wollen","lassen"],E=["bleibe","bleibst","bleibt","bleibest","bleibet","blieb","bliebst","bliebt","blieben","bliebe","bliebest","bliebet","heiße","heißt","heißest","heißet","heisse","heisst","heissest","heisset","hieß","hießest","hießt","hießen","hieße","hießet","hiess","hiessest","hiesst","hiessen","hiesse","hiesset","giltst","gilt","geltet","gelte","geltest","galt","galtest","galtst","galten","galtet","gälte","gaelte","gölte","goelte","gältest","gaeltest","göltest","goeltest","gälten","gaelten","gölten","goelten","gältet","gaeltet","göltet","goeltet","aussehe","aussiehst","aussieht","ausseht","aussehest","aussehet","aussah","aussahst","aussahen","aussaht","aussähe","aussaehe","aussähest","aussaehest","aussähst","aussaehst","aussähet","aussaehet","aussäht","aussaeht","aussähen","aussaehen","scheine","scheinst","scheint","scheinest","scheinet","schien","schienst","schienen","schient","schiene","schienest","schienet","erscheine","erscheinst","erscheint","erscheinest","erscheinet","erschien","erschienst","erschienen","erschient","erschiene","erschienest","erschienet"],A=["bleiben","heißen","heissen","gelten","aussehen","scheinen","erscheinen"],T=["a","à","ab","abseits","abzüglich","abzueglich","als","am","an","angelegentlich","angesichts","anhand","anlässlich","anlaesslich","ans","anstatt","anstelle","auf","aufs","aufseiten","aus","ausgangs","ausschließlich","ausschliesslich","außerhalb","ausserhalb","ausweislich","bar","behufs","bei","beidseits","beiderseits","beim","betreffs","bezüglich","bezueglich","binnen","bis","contra","dank","diesseits","durch","einbezüglich","einbezueglich","eingangs","eingedenk","einschließlich","einschliesslich","entgegen","entlang","exklusive","fern","fernab","fuer","für","fuers","fürs","gegen","gegenüber","gegenueber","gelegentlich","gemäß","gemaeß","gen","getreu","gleich","halber","hinsichtlich","hinter","hinterm","hinters","im","in","inklusive","inmitten","innerhalb","innert","ins","je","jenseits","kontra","kraft","längs","laengs","längsseits","laengsseits","laut","links","mangels","minus","mit","mithilfe","mitsamt","mittels","nach","nächst","naechst","nah","namens","neben","nebst","nördlich","noerdlich","nordöstlich","nordoestlich","nordwestlich","oberhalb","ohne","östlich","oestlich","per","plus","pro","quer","rechts","rücksichtlich","ruecksichtlich","samt","seitens","seitlich","seitwärts","seitwaerts","südlich","suedlich","südöstlich","suedoestlich","südwestlich","suedwestlich","über","ueber","überm","ueberm","übern","uebern","übers","uebers","um","ums","unbeschadet","unerachtet","unfern","unter","unterhalb","unterm","untern","unters","unweit","vermittels","vermittelst","vermöge","vermoege","via","vom","von","vonseiten","vor","vorbehaltlich","wegen","wider","zeit","zu","zugunsten","zulieb","zuliebe","zum","zur","zusätzlich","zusaetzlich","zuungunsten","zuwider","zuzüglich","zuzueglich","zwecks","zwischen"],O=["und","oder","umso"],S=["auch","noch","nur"],M=["nun","so","gleichwohl"],P=["sage","sagst","sagt","sagest","saget","sagte","sagtest","sagten","sagtet","gesagt","fragst","fragt","fragest","fraget","fragte","fragtest","fragten","fragtet","gefragt","erkläre","erklärst","erklärt","erklaere","erklaerst","erklaert","erklärte","erklärtest","erklärtet","erklärten","erklaerte","erklaertest","erklaertet","erklaerten","denke","denkst","denkt","denkest","denket","dachte","dachtest","dachten","dachtet","dächte","dächtest","dächten","dächtet","daechte","daechtest","daechten","daechtet","finde","findest","findet","gefunden"],C=["sagen","erklären","erklaeren","denken","finden"],R=["etwa","absolut","unbedingt","wieder","definitiv","bestimmt","immer","äußerst","aeußerst","höchst","hoechst","sofort","augenblicklich","umgehend","direkt","unmittelbar","nämlich","naemlich","natürlich","natuerlich","besonders","hauptsächlich","hauptsaechlich","jetzt","eben","heutzutage","eindeutig","wirklich","echt","wahrhaft","ehrlich","aufrichtig","wahrheitsgemäß","letztlich","einmalig","unübertrefflich","normalerweise","gewöhnlich","gewoehnlich","üblicherweise","ueblicherweise","sonst","fast","nahezu","beinahe","knapp","annähernd","annaehernd","geradezu","bald","vielleicht","wahrscheinlich","wohl","voraussichtlich","zugegeben","ursprünglich","insgesamt","tatsächlich","eigentlich","wahrhaftig","bereits","schon","oft","häufig","haeufig","regelmäßig","regelmaeßig","gleichmäßig","gleichmaeßig","einfach","lediglich","bloß","bloss","halt","wahlweise","eventuell","manchmal","teilweise","nie","niemals","nimmer","jemals","allzeit","irgendeinmal","anders","momentan","gegenwärtig","gegenwaertig","nebenbei","anderswo","woanders","anderswohin","anderorts","insbesondere","namentlich","sonderlich","ausdrücklich","ausdruecklich","vollends","kürzlich","kuerzlich","jüngst","juengst","unlängst","unlaengst","neuerdings","neulich","letztens","neuerlich","verhältnismäßig","verhaeltnismaessig","deutlich","klar","offenbar","anscheinend","genau","u.a","damals","zumindest"],D=["sehr","recht","überaus","ueberaus","ungemein","weitaus","einigermaßen","einigermassen","ganz","schwer","tierisch","ungleich","ziemlich","übelst","uebelst","stark","volkommen","durchaus","gar"],F=["geschienen","meinst","meint","meinest","meinet","meinte","meintest","meinten","meintet","gemeint","stehe","stehst","steht","gehe","gehst","geht","gegangen","ging","gingst","gingen","gingt"],B=["tun","machen","stehen","wissen","gehen","kommen"],$=["einerlei","egal","neu","neue","neuer","neuen","neues","neuem","neuerer","neueren","neuerem","neueres","neuere","neuester","neuster","neuesten","neusten","neuestem","neustem","neuestes","neustes","neueste","neuste","alt","alter","alten","altem","altes","alte","ältere","älteren","älterer","älteres","ältester","ältesten","ältestem","ältestes","älteste","aeltere","aelteren","aelterer","aelteres","aeltester","aeltesten","aeltestem","aeltestes","aelteste","gut","guter","gutem","guten","gutes","gute","besser","besserer","besseren","besserem","besseres","bester","besten","bestem","bestes","beste","größte","grösste","groß","großer","großen","großem","großes","große","großerer","großerem","großeren","großeres","großere","großter","großten","großtem","großtes","großte","gross","grosser","grossen","grossem","grosses","grosse","grosserer","grosserem","grosseren","grosseres","grossere","grosster","grossten","grosstem","grosstes","grosste","einfacher","einfachen","einfachem","einfaches","einfache","einfacherer","einfacheren","einfacherem","einfacheres","einfachere","einfachste","einfachster","einfachsten","einfachstes","einfachstem","schnell","schneller","schnellen","schnellem","schnelles","schnelle","schnellere","schnellerer","schnelleren","schnelleres","schnellerem","schnellster","schnellste","schnellsten","schnellstem","schnellstes","weit","weiten","weitem","weites","weiterer","weiteren","weiterem","weiteres","weitere","weitester","weitesten","weitestem","weitestes","weiteste","eigen","eigener","eigenen","eigenes","eigenem","eigene","eigenerer","eignerer","eigeneren","eigneren","eigenerem","eignerem","eigeneres","eigneres","eigenere","eignere","eigenster","eigensten","eigenstem","eigenstes","eigenste","wenigster","wenigsten","wenigstem","wenigstes","wenigste","minderer","minderen","minderem","mindere","minderes","mindester","mindesten","mindestes","mindestem","mindeste","lang","langer","langen","langem","langes","längerer","längeren","längerem","längeres","längere","längster","längsten","längstem","längstes","längste","laengerer","laengeren","laengerem","laengeres","laengere","laengster","laengsten","laengstem","laengstes","laengste","tief","tiefer","tiefen","tiefem","tiefes","tiefe","tieferer","tieferen","tieferem","tieferes","tiefere","tiefster","tiefsten","tiefstem","tiefste","tiefstes","hoch","hoher","hohen","hohem","hohes","hohe","höherer","höhere","höheren","höherem","höheres","hoeherer","hoehere","hoeheren","hoeherem","hoeheres","höchster","höchste","höchsten","höchstem","höchstes","hoechster","hoechste","hoechsten","hoechstem","hoechstes","regulär","regulärer","regulären","regulärem","reguläres","reguläre","regulaer","regulaerer","regulaeren","regulaerem","regulaeres","regulaere","regulärerer","reguläreren","regulärerem","reguläreres","regulärere","regulaererer","regulaereren","regulaererem","regulaereres","regulaerere","regulärster","regulärsten","regulärstem","regulärstes","regulärste","regulaerster","regulaersten","regulaerstem","regulaerstes","regulaerste","normal","normaler","normalen","normalem","normales","normale","normalerer","normaleren","normalerem","normaleres","normalere","normalster","normalsten","normalstem","normalstes","normalste","klein","kleiner","kleinen","kleinem","kleines","kleine","kleinerer","kleineres","kleineren","kleinerem","kleinere","kleinster","kleinsten","kleinstem","kleinstes","kleinste","winzig","winziger","winzigen","winzigem","winziges","winzigerer","winzigeren","winzigerem","winzigeres","winzigere","winzigster","winzigsten","winzigstem","winzigste","winzigstes","sogenannt","sogenannter","sogenannten","sogenanntem","sogenanntes","sogenannte","kurz","kurzer","kurzen","kurzem","kurzes","kurze","kürzerer","kürzeres","kürzeren","kürzerem","kürzere","kuerzerer","kuerzeres","kuerzeren","kuerzerem","kuerzere","kürzester","kürzesten","kürzestem","kürzestes","kürzeste","kuerzester","kuerzesten","kuerzestem","kuerzestes","kuerzeste","wirklicher","wirklichen","wirklichem","wirkliches","wirkliche","wirklicherer","wirklicheren","wirklicherem","wirklicheres","wirklichere","wirklichster","wirklichsten","wirklichstes","wirklichstem","wirklichste","eigentlicher","eigentlichen","eigentlichem","eigentliches","eigentliche","schön","schöner","schönen","schönem","schönes","schöne","schönerer","schöneren","schönerem","schöneres","schönere","schönster","schönsten","schönstem","schönstes","schönste","real","realer","realen","realem","reales","realerer","realeren","realerem","realeres","realere","realster","realsten","realstem","realstes","realste","derselbe","denselben","demselben","desselben","dasselbe","dieselbe","derselben","dieselben","gleicher","gleichen","gleichem","gleiches","gleiche","gleicherer","gleicheren","gleicherem","gleicheres","gleichere","gleichster","gleichsten","gleichstem","gleichstes","gleichste","bestimmter","bestimmten","bestimmtem","bestimmtes","bestimmte","bestimmtere","bestimmterer","bestimmterem","bestimmteren","bestimmteres","bestimmtester","bestimmtesten","bestimmtestem","bestimmtestes","bestimmteste","überwiegend","ueberwiegend","zumeist","meistens","meisten","großenteils","grossenteils","meistenteils","weithin","ständig","staendig","laufend","dauernd","andauernd","immerfort","irgendwo","irgendwann","ähnlicher","ähnlichen","ähnlichem","ähnliches","ähnliche","ähnlich","ähnlicherer","ähnlicheren","ähnlicherem","ähnlicheres","ähnlichere","ähnlichster","ähnlichsten","ähnlichstem","ähnlichstes","ähnlichste","schlecht","schlechter","schlechten","schlechtem","schlechtes","schlechte","schlechterer","schlechteren","schlechterem","schlechteres","schlechtere","schlechtester","schlechtesten","schlechtestem","schlechtestes","schlechteste","schlimm","schlimmer","schlimmen","schlimmem","schlimmes","schlimme","schlimmerer","schlimmeren","schlimmerem","schlimmeres","schlimmere","schlimmster","schlimmsten","schlimmstem","schlimmstes","schlimmste","toll","toller","tollen","tollem","tolles","tolle","tollerer","tolleren","tollerem","tollere","tolleres","tollster","tollsten","tollstem","tollstes","tollste","super","mögliche","möglicher","mögliches","möglichen","möglichem","möglich","moegliche","moeglicher","moegliches","moeglichen","moeglichem","moeglich","nächsten","naechsten","voll","voller","vollen","vollem","volle","volles","vollerer","volleren","vollerem","vollere","volleres","vollster","vollsten","vollstem","vollste","vollstes","außen","ganzer","ganzen","ganzem","ganze","ganzes","gerne","oben","unten","zurück","zurueck","nicht"],I=["ach","aha","oh","au","bäh","baeh","igitt","huch","hurra","hoppla","nanu","oha","olala","pfui","tja","uups","wow","grr","äh","aeh","ähm","aehm","öhm","oehm","hm","mei","mhm","okay","richtig","eijeijeijei"],L=["g","el","tl","wg","be","bd","cl","dl","dag","do","gl","gr","kg","kl","cb","ccm","l","ms","mg","ml","mi","pk","pr","pp","sc","sp","st","sk","ta","tr","cm","mass"],W=["sekunde","sekunden","minute","minuten","stunde","stunden","uhr","tag","tages","tags","tage","tagen","woche","wochen","monat","monate","monates","monats","monaten","jahr","jahres","jahrs","jahre","jahren","morgens","mittags","abends","nachts","heute","gestern","morgen","vorgestern","übermorgen","uebermorgen"],U=["ding","dinge","dinges","dinger","dingern","dingen","sache","sachen","weise","weisen","wahrscheinlichkeit","zeug","zeuge","zeuges","zeugen","mal","einmal","teil","teile","teiles","teilen","prozent","prozents","prozentes","prozente","prozenten","beispiel","beispiele","beispieles","beispiels","beispielen","aspekt","aspekte","aspektes","aspekts","aspekten","idee","ideen","ahnung","ahnungen","thema","themas","themata","themen","fall","falle","falles","fälle","fällen","faelle","faellen","mensch","menschen","leute"],N=["nix","nixe","nixes","nixen","usw.","amen","ja","nein","euro"],K=["fr","hr","dr","prof"],H=["jr","jun","sen","sr"]},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return{filteredAtBeginning:S,filteredAtEnding:[].concat(r,h,k,O,M),filteredAtBeginningAndEnding:[].concat(n,j,_,p,A,g,z),filteredAnywhere:[].concat(i,o,s,d,l,c,u,m,y,w,f,b,v,x,q,E,T,P,C,R,D,F,B),all:[].concat(n,o,r,s,d,l,c,u,p,z,g,m,y,w,f,b,h,v,k,j,_,x,q,E,A,T,O,S,M,P,C,R,D,F,B)}};var i=(0,function(a){return a&&a.__esModule?a:{default:a}}(t(743)).default)().singleWords,n=["o","a","os","as","um","uns","uma","umas"],o=["uma","duas","dois","três","cuatro","cinco","seis","sete","oito","nove","dez","onze","doze","treze","quatorze","catorze","quinze","dezesseis","dezessete","dezasseis","dezassete","dezoito","dezenove","dezanove","vinte","cem","cento","mil","milhão","milhões","bilhão","bilhões"],r=["primeiro","primeiros","primeira","primeiras","segundo","segunda","segundos","segundas","terceiro","terceira","terceiros","terceiras","quarto","quartos","quarta","quartas","quinto","quintos","quinta","quintas","sexto","sextos","sexta","sextas","sétimo","sétimos","sétima","sétimas","oitavo","oitavos","oitava","oitavas","nono","nonos","nona","nonas","décimo","décimos","décima","décimas","vigésimo","vigésimos","vigésima","vigésimas"],s=["eu","tu","ele","ela","nós","vós","você","vocês","eles","elas"],d=["me","te","lhe","nos","vos","lhes"],l=["dele","dela","deles","delas","nele","nela","neles","nelas","mim","ti","si"],c=["conmigo","contigo","consigo","convosco","conosco","connosco"],u=["se"],p=["aquilo","àquele","àquela","àqueles","àquelas","àquilo","este","estes","esta","estas","àqueles","aqueles","aquele","aquela","aquelas","aquilo","esse","esses","essa","essas","isto","isso"],z=["minhas","tuas","suas","minha","tua","sua","minhas","tuas","suas","vossa","vossas","meu","meus","teu","teus","seu","seus","nosso","nossos","nossa","nossas"],g=["apenas","vário","vários","vária","várias","mais","muito","muitos","muita","muitas","puoco","puocos","puoca","puocas","bastante","todo","todos","toda","todas"],m=["alguma","algumas","nenhuns","nenhumas","todo","toda","todas","outro","outra","outros","outras","qualquer","quaisquer","outrem","tudo","nada","algo","tanto","tanta","tantos","tantas","quanto","quanta","quantos","quantas","ninguém","cada"],y=["quais","qual","quem","cujo","cuja","cujos","cujas"],w=["como","porque","quanto","quanta","onde","quando","quão","quantos","quantas","donde","aonde","que"],f=["cá","além","aqui","ali","lá","acolá","aí"],b=["tenho","tens","tem","temos","tendes","têm","tive","tiveste","teve","tivemos","tivestes","tiveram","tínhamos","tínheis","tinham","tivera","tiveras","tivéramos","tivéreis","tiveram","terei","terás","terá","teremos","tereis","terão","teria","terias","teríamos","teríeis","teriam","tenha","tenhas","tenhamos","tenhais","tenham","tivesse","tivesses","tivéssemos","tivésseis","tivessem","tiver","tiveres","tivermos","tiverdes","tiverem","tende","teres","termos","terdes","terem","tido","hei","hás","há","havemos","hemos","haveis","heis","hão","houve","houveste","houvemos","houvestes","houveram","havia","havias","havíamos","havíeis","haviam","houvera","houveras","houvéramos","houvéreis","houveram","haverei","haverás","haverá","haveremos","havereis","haverão","haveria","haverias","haveríamos","haveríeis","haveriam","haja","hajas","hajamos","hajais","hajam","houvesse","houvesses","houvéssemos","houvésseis","houvessem","houver","houveres","houvermos","houverdes","houverem","havei","hajais","haveres","havermos","haverdes","haverem","havido","poder","posso","podes","pode","podemos","podeis","podem","pude","pudeste","pôde","pudemos","pudestes","puderam","podia","podias","podia","podíamos","podíeis","podiam","pudera","puderas","pudéramos","pudéreis","puderam","poderei","poderás","poderá","poderemos","podereis","poderão","poderia","poderias","poderíamos","poderíeis","poderiam","possa","possas","possamos","possais","possam","pudesse","pudesses","pudéssemos","pudésseis","pudessem","puder","puderes","pudermos","puderdes","puderem"],h=["ter","haver"],v=["sou","és","é","somos","sois","são","fui","foste","foi","fomos","fostes","foram","era","eras","éramos","éreis","eram","fôramos","fôreis","fora","foras","foram","serei","serás","será","seremos","sereis","serão","seria","serias","seríamos","seríeis","seriam","seja","sejas","seja","sejamos","sejais","sejam","fosse","fosses","fôssemos","fôsseis","fossem","for","fores","formos","fordes","forem","sê","sede","sermos","serdes","serem","seres","sido","estou","está","estamos","estás","estás","estais","estão","estive","estiveste","esteve","estivemos","estivestes","estiveram","estava","estavas","estávamos","estáveis","estavam","estivera","estiveras","estivéramos","estivéreis","estiveram","estarei","estarás","estará","estaremos","estareis","estarão","estaria","estarias","estaríamos","estaríeis","estariam","esteja","estejas","estejamos","estejais","estejam","estivesse","estivesses","estivéssemos","estivésseis","estivessem","estiver","estiveres","estivermos","estiverdes","estiverem","estai","estejas","estejais","estares","estarmos","estardes","estarem","estado"],k=["estar","ser"],j=["a","ante","antes","após","até","através","com","contra","depois","desde","sem","entre","para","pra","perante","sob","sobre","trás","de","por","em","ao","à","aos","às","do","da","dos","das","dum","duma","duns","dumas","no","na","nos","nas","num","numa","nuns","numas","pelo","pela","pelos","pelas","deste","desse","daquele","desta","dessa","daquela","destes","desses","daqueles","destas","dessas","daquelas","neste","nesse","naquele","nesta","nessa","naquela","nestes","nesses","naqueles","nestas","nessas","naquelas","disto","disso","daquilo","nisto","nisso","naquilo","durante"],_=["também","e","ou","nem"],x=["agora","conforme","conquanto","contanto","embora","enquanto","então","entretanto","malgrado","mas","pois","porém","porquanto","porque","senão","contudo"],q=["diz","dizem","disse","disseram","dizia","diziam","reivindica","reivindicam","reivindicou","reivindicaram","reivindicava","reivindicavam","requer","requerem","requereu","requereram","requeria","requeriam","afirma","afirmam","afirmou","afirmaram","afirmava","afirmavam","reivindica","reivindicam","reivindicou","reivindicaram","reivindicava","reivindicavam","perguntam","perguntou","perguntaram","perguntava","perguntavam","explica","explicam","explicou","explicaram","explicava","explicavam","relata","relatam","relatou","relataram"],E=["provavelmente","imediatamente","ocasionalmente","indubitavelmente","para","possivelmente","logo","simultaneamente","exceto","inquestionavelmente"],A=["extremamente","bem","completamente","totalmente","grandemente","seriamente","absolutamente","bastante","sobremodo","sobremaneira","tão"],T=["dou","dás","dá","damos","dais","dão","dei","deu","demos","deram","dava","davas","dávamos","dáveis","davam","dera","deras","déramos","déreis","deram","darei","darás","dará","daremos","dareis","darão","daria","darias","daríamos","daríeis","dariam","dê","dês","dêmos","deis","deem","déssemos","désseis","dessem","der","deres","dermos","derdes","derem","dai","deis","dares","darmos","dardes","darem","fazendo","faço","fazes","faz","fazemos","fazeis","fazem","fiz","fizeste","fez","fizemos","fizestes","fizeram","fazia","fazias","fazíamos","fazíeis","faziam","fizera","fizeras","fizéramos","fizéreis","farei","farás","fará","faremos","fareis","faria","farias","faríamos","faríeis","fariam","faça","faças","façamos","façais","façam","fizesse","fizesses","fizéssemos","fizésseis","fizessem","fizer","fizeres","fizermos","fizerdes","fizerem","fazei","fazeres","fazermos","fazerdes","fazerem"],O=["dar","fazer"],S=["devagar","rapidamente","grande","grandes","depressa","claramente","effectivamente","realmente","exclusivamente","simplesemente","somente","unicamente","lentamente","raramente","certamente","talvez","actualmente","dificilmente","principalmente","gerlamente","enorme","enormes","pequeno","pequena","pequenos","pequenas","minúsculo","minúsculos","minúscula","minúsculas","velho","velhos","velha","velhas","lindo","linda","lindos","lindas","alto","alta","altos","altas","baixo","baixa","baixos","baixas","longo","longa","longos","longas","curto","curta","curtos","curtas","fácil","fáceis","difícil","difíceis","simples","mesmo","mesma","mesmos","mesmas","mêsmo","mêsmos","mêsma","mêsmas","cedo","tarde","importante","importantes","capaz","capazes","certo","certa","certos","certas","usual","usuals","ultimamente","possível","possíveis","comum","comuns","freqüentemente","constantemente","continuamente","diretamente","levemente","algures","semelhante","semelhantes","similar","similares","sempre","ainda","já","atrás","depois"],M=["pior","melhor","melhores","bom","boa","bons","boas","bonito","bonita","bonitos","bonitas","grande","grandes","pequeno","pequena","pequenos","pequenas","velho","velhos","velha","velhas","mau","má","maus","más"],P=["ai","ah","ih","alô","oi","olá","ui","uf","psiu","mau","olha","viva","uau","wow","oh","shi"],C=["kg","mg","gr","g","km","m","l","ml","cl"],R=["segundos","minuto","minutos","hora","horas","dia","dias","semana","semanas","mes","meses","ano","anos","hoje","amanhã","ontem"],D=["caso","casos","coisa","coisas","detalhe","detalhes","forma","formas","jeito","jeitos","maneira","maneiras","modo","modos","suijeto","sujeitos","tópico","tópicos","vez","vezes"],F=["sim","não","ok","amém","etc","euro","euros","adeus","jeitos"],B=["sr","sra","sras","dr","dra","prof"]},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return{filteredAtEnding:[].concat(c,_),filteredAtBeginningAndEnding:[].concat(x,q,p,j,g,z),filteredAnywhere:[].concat(i,k,u,m,A,l,n,o,r,s,d,y,E,f,b,h,v,M,T,O,S),all:[].concat(l,c,p,z,m,u,g,y,w,f,b,h,v,k,n,o,r,x,q,E,s,i,j,d,A,_,T,S,M,P,C)}};var i=(0,function(a){return a&&a.__esModule?a:{default:a}}(t(744)).default)().allWords,n=["быть","был","была","было","были","будет","будут"],o=["мочь","мог","могла","могли","могу","можешь","может","можем","можете","могут","смочь","смогу","сможешь","сможет","сможем","сможете","смогут","решиться","решился","решилась","решились","решусь","решишься","решится","решимся","решитесь","решатся","делать","делал","делала","делало","делали","делали","делаю","делаешь","делает","делаем","делаете","делают","сделать","сделал","сделала","сделало","сделали","сделали","сделаю","сделаешь","сделает","сделаем","сделаете","сделают","иметь","имел","имела","имело","имели","имею","имеешь","имеет","имеем","имеете","имеют","следует","следовало","необходимо","необходим","необходима","необходимы","нужно","нужен","нужна","обязан","обязана","обязано","обязаны","должен","должна","должно","должны","требуется","требуются","имеется","имеются","есть","можно"],r=["появиться","появился","появилась","появилось","появились","появлюсь","появишься","появится","появимся","появитесь","появимся","появляться","появлялся","появлялась","появлялось","появлялись","появляюсь","появляешься","появляется","появляемся","появляются","появляетесь","стал","стала","стало","стану","станешь","станет","станем","станете","станут","становиться","становился","становилось","становилась","становились","становлюсь","становишься","становится","становимся","становитесь","становятся","прийти","пришел","пришёл","пришла","пришло","пришли","приду","придешь","придёшь","придет","придёт","придем","придём","придете","придёте","придут","приходить","приходил","приходила","приходило","приходили","прихожу","приходишь","приходит","приходим","приходите","происходить","происходил","происходила","происходило","происходили","происходит","происходят","держать","держал","держала","держало","держали","держу","держишь","держит","держим","держите","держут","содержать","содержал","содержала","содержало","содержали","содержу","содержишь","содержит","содержим","содержите","содержут","остаться","остался","осталась","осталось","остались","останусь","останешься","останется","останутся","останетесь","останемся","оставаться","оставался","оставалась","оставалось","оставались","остаюсь","остаешься","остаёшься","остается","остаётся","остаемся","остаёмся","остаетесь","остаётесь","остаются","изменяться","изменялся","изменялась","изменялось","изменялись","изменюсь","изменишься","изменится","изменимся","изменитесь","изменятся","успеть","успел","успела","успело","успели","успею","успеешь","успеет","успеем","успеете","успеют","заниматься","занимался","занималась","занимаюсь","занимаешься","занимается","занимаемся","занимаетесь","занимаемся","заняться","занялся","занялась","занялись","займусь","займешься","займется","займемся","займетесь","займутся","займёшься","займётся","займёмся","займётесь"],s=["сказать","сказал","сказала","сказали","говорить","говорил","говорила","говорили","говорит","говорю","говорим","говоришь","говорят","говорите","объявить","объявил","объявила","объявили","заявить","заявил","заявила","заявили","спросить","спросил","спросила","спросили","указать","указал","указала","указали","объяснить","объяснил","объяснила","объяснили","подумать","подумал","подумала","подумали","думать","думал","думала","думали","думаю","думает","думаешь","думаем","думаете","думают","рассказывать","рассказывал","рассказывала","рассказывали","рассказывают","рассказывает","рассказать","рассказал","рассказала","рассказали","обсудить","обсудил","обсудила","обсудили","предложить","предложил","предложила","предложили","понимать","понимал","понимала","понимали","понимаю","понимаешь","понимает","понимаем","понимаете","понимают","добавить","добавил","добавила","добавили","добавлю","добавишь","добавит","добавим","добавите","добавят"],d=["казаться","кажется","казалось","казалась","казался","казались","кажутся","давайте","давай","хотеть","хочу","хочешь","хочет","хотим","хотите","хотят","хотел","хотела","хотело","хотели","показать","показал","показала","показало","показали","покажу","покажешь","покажет","покажем","покажете","покажут","показывать","показывал","показывала","показывало","показывали","показываю","показываешь","показывает","показываем","показываете","показывают","идти","шел","шёл","шла","шло","шли","иду","идешь","идёшь","идет","идёт","идем","идём","идете","идёте","идут","брать","брал","брала","брало","брали","беру","берешь","берёшь","берёт","берем","берём","берёте","берут","взять","взял","взяла","взяло","взяли","возьму","возьмешь","возьмет","возьмем","возьмете","возьмут","класть","кладу","кладешь","кладет","кладёшь","кладёт","кладем","кладете","кладём","кладёте","кладут","положить","положил","положила","положило","положили","положу","положишь","положит","положим","положите","положат","использовать","использовал","использовала","использовало","использовали","использую","используешь","используем","используете","используют","пробовать","пробовал","пробовала","пробовало","пробовали","пробую","пробуешь","пробует","пробуем","пробуете","пробуют","попробовать","попробовал","попробовала","попробовало","попробовали","попробую","попробуешь","попробует","попробуем","попробуете","попробуют","иметь","имел","имела","имело","имели","имею","имеешь","имеет","имеем","имеете","имеют","означать","означал","означала","означало","означали","означает","означают","добавлять","добавлял","добавляла","добавляло","добавляли","добавляю","добавляешь","добавляет","добавляем","добавляете","добавляют","состоять","состоял","состояла","состояло","состояли","состою","состоишь","состоит","состоим","состоите","состоят","убеждаться","убедился","убедилась","убедилось","убедишься","убедится","убедимся","убедитесь","убедятся","убеждать","убедил","убедила","убедили","убедишь","убедит","убедим","убедите","убедят","являться","являлся","являлась","являлось","являлись","являюсь","являешься","является","являемся","являетесь","являются"],l=["один","одна","одно","одни","два","две","двое","двух","двоих","двум","двоим","двумя","двоими","три","трое","трех","трёх","троих","трем","трём","троим","тремя","четыре","пять","шесть","семь","восемь","девять","десять","одиннадцать","двенадцать","тринадцать","четырнадцать","пятнадцать","шестнадцать","семнадцать","восемнадцать","девятнадцать","двадцать","тридцать","сорок","пятьдесят","шестьдесят","семьдесят","восемьдесят","девяносто","сто","сотни","двести","триста","четыреста","пятьсот","шестьсот","семьсот","восемьсот","девятьсот","тысяча","тысячи","тысяче","тысячей","тысячам","тысячами","тысячах","тыс","миллион","миллиона","миллиону","миллионом","миллионе","миллионы","миллионов","миллионам","миллионами","миллионах","миллиард","миллиарда","миллиарду","миллиардом","миллиарде","миллиарды","миллиардов","миллиардам","миллиардами","миллиардах"],c=["первый","первого","первому","первом","первым","первая","первой","первое","первые","первых","первыми","второй","второго","второму","втором","вторым","вторая","второй","второе","вторые","вторых","вторыми","третий","третьего","третьему","третьим","третьем","третья","третьей","третье","третьи","третьих","третьими","четвертый","четвертого","четвертому","четвертым","четвертом","четвертая","четвертой","четвертое","четвертые","четвертых","четвертыми","пятый","пятого","пятому","пятом","пятым","пятая","пятое","пятые","пятых","пятыми","шестой","шестого","шестому","шестым","шестая","шестое","шестые","шестых","шестыми","седьмой","седьмого","седьмому","седьмым","седьмая","седьмое","седьмые","седьмых","седьмыми","восьмой","восьмого","восьмому","восьмым","восьмая","восьмое","восьмые","восьмых","восьмыми","девятый","девятого","девятому","девятым","девятая","девятое","девятые","девятых","девятыми","десятый","десятого","десятому","десятым","десятая","десятое","десятые","десятых","десятыми","одиннадцатый","одиннадцатого","одиннадцатому","одиннадцатым","одиннадцатая","одиннадцатое","одиннадцатые","одиннадцатых","одиннадцатыми","двенадцатый","двенадцатого","двенадцатому","двенадцатым","двенадцатая","двенадцатое","двенадцатые","двенадцатых","двенадцатыми","тринадцатый","тринадцатого","тринадцатому","тринадцатым","тринадцатая","тринадцатое","тринадцатые","тринадцатых","тринадцатыми","четырнадцатый","четырнадцатого","четырнадцатому","четырнадцатым","четырнадцатая","четырнадцатое","четырнадцатые","четырнадцатых","четырнадцатыми","пятнадцатый","пятнадцатого","пятнадцатому","пятнадцатым","пятнадцатая","пятнадцатое","пятнадцатые","пятнадцатых","пятнадцатыми","шестнадцатый","шестнадцатого","шестнадцатому","шестнадцатым","шестнадцатая","шестнадцатое","шестнадцатые","шестнадцатых","шестнадцатыми","семнадцатый","семнадцатого","семнадцатому","семнадцатым","семнадцатая","семнадцатое","семнадцатые","семнадцатых","семнадцатыми","восемнадцатый","восемнадцатого","восемнадцатому","восемнадцатым","восемнадцатая","восемнадцатое","восемнадцатые","восемнадцатых","восемнадцатыми","девятнадцатый","девятнадцатого","девятнадцатому","девятнадцатым","девятнадцатая","девятнадцатое","девятнадцатые","девятнадцатых","девятнадцатыми","двадцатый","двадцатого","двадцатому","двадцатым","двадцатая","двадцатое","двадцатые","двадцатых","двадцатыми","тридцатый","тридцатого","тридцатому","тридцатым","тридцатая","тридцатое","тридцатые","тридцатых","тридцатыми","сороковой","сорокового","сороковому","сороковым","сороковая","сороковое","сороковые","сороковых","сороковыми","пятидесятый","пятидесятого","пятидесятому","пятидесятым","пятидесятая","пятидесятое","пятидесятые","пятидесятых","пятидесятыми","шестидесятый","шестидесятого","шестидесятому","шестидесятым","шестидесятая","шестидесятое","шестидесятые","шестидесятых","шестидесятыми","семидесятый","семидесятого","семидесятому","семидесятым","семидесятая","семидесятое","семидесятые","семидесятых","семидесятыми","восьмидесятый","восьмидесятого","восьмидесятому","восьмидесятым","восьмидесятая","восьмидесятое","восьмидесятые","восьмидесятых","восьмидесятыми","девяностый","девяностого","девяностому","девяностым","девяностая","девяностое","девяностые","девяностых","девяностыми","сотый","сотого","сотому","сотым","сотая","сотое","сотые","сотых","сотыми","двухсотый","двухсотого","двухсотому","двухсотым","двухсотая","двухсотое","двухсотые","двухсотых","двухсотыми","трехсотый","трехсотого","трехсотому","трехсотым","трехсотая","трехсотое","трехсотые","трехсотых","трехсотыми","трёхсотый","трёхсотого","трёхсотому","трёхсотым","трёхсотая","трёхсотое","трёхсотые","трёхсотых","трёхсотыми","четырехсотый","четырехсотого","четырехсотому","четырехсотым","четырехсотая","четырехсотое","четырехсотые","четырехсотых","четырехсотыми","четырёхсотый","четырёхсотого","четырёхсотому","четырёхсотым","четырёхсотая","четырёхсотое","четырёхсотые","четырёхсотых","четырёхсотыми","пятисотый","пятисотого","пятисотому","пятисотым","пятисотая","пятисотое","пятисотые","пятисотых","пятисотыми","шестисотый","шестисотого","шестисотому","шестисотым","шестисотая","шестисотое","шестисотые","шестисотых","шестисотыми","семисотый","семисотого","семисотому","семисотым","семисотая","семисотое","семисотые","семисотых","семисотыми","восьмисотый","восьмисотого","восьмисотому","восьмисотым","восьмисотая","восьмисотое","восьмисотые","восьмисотых","восьмисотыми","девятисотый","девятисотого","девятисотому","девятисотым","девятисотая","девятисотое","девятисотые","девятисотых","девятисотыми","тысячный","тысячного","тысячному","тысячным","тысячная","тысячное","тысячные","тысячных","тысячными","миллионный","миллионного","миллионному","миллионным","миллионная","миллионное","миллионные","миллионных","миллионными","миллиардный","миллиардного","миллиардному","миллиардным","миллиардная","миллиардное","миллиардные","миллиардных","миллиардными"],u=["я","меня","мне","мной","мною","ты","тебя","тебе","тобой","он","его","него","ему","нему","нем","нём","им","ним","она","ее","нее","неё","её","ей","ею","ней","нею","оно","мы","нам","нас","нами","вы","вас","вам","вами","они","них","ими","ними","их"],p=["тот","тому","том","тем","того","та","той","ту","то","те","тех","теми","этот","этому","этом","этим","этого","эта","этой","эту","это","эти","этих","этими","такой","такого","такому","таким","таком","такая","такую","такое","такие","таких","такими","этакий","этакого","этакому","этаким","этаком","этакая","этакую","этакое","этакие","этаких","этакими"],z=["мой","моего","моему","моём","моим","моя","моей","мое","моё","мои","моих","моим","твой","твоего","твоему","твоём","твоем","твоим","твоя","твоей","твою","твое","твоё","твои","твоих","твоим","свой","своего","своему","своём","своем","своим","своя","своей","свою","свое","своё","свои","своих","своим","наш","нашего","нашему","нашем","наша","нашей","наше","наши","нашим","наших","ваш","вашего","вашему","вашем","ваша","вашей","ваше","ваши","вашим","ваших"],g=["некоторый","некоторого","некоторому","некоторым","некотором","некоторая","некоторую","некоторое","некоторые","некоторых","некоторыми","многие","многого","многому","многим","многом","многая","многую","многое","многие","многих","многими","много","множество","каждый","каждого","каждому","каждым","каждом","каждая","каждую","каждое","каждые","каждых","каждыми","достаточно","мало","более","больше","большинство","большинства","большинству","большинстве","несколько","нескольких","менее","меньше","наиболее","наименее","угодно","же"],m=["себя","себе"],y=["ничто","ничего","ничему","ничем","ни о чем","ни о чём","никто","никого","никому","никем","ни о ком","весь","всего","всему","всем","всём","все","всё","всех","всеми","всякий","всякого","всякому","всяким","всяком","всякая","всякой","всякую","всякое","всякие","всяких","всякими","кто-то","кого-то","кому-то","кем-то","ком-то","что-то","чего-то","чему-то","чем-то","чём-то","кто-либо","кого-либо","кому-либо","кем-либо","ком-либо","что-либо","чего-либо","чему-либо","чем-либо","чём-либо","кое-кто","кое-кого","кое-кому","кое-кем","кое-ком","кое-что","кое-чего","кое-чему","кое-чем","кое-чём","любой","любого","любому","любым","любом","любая","любую","любое","любые","любых","любыми","какой","какого","какому","каким","каком","какая","какую","какое","какие","каких","какими","какой-то","какого-то","какому-то","каким-то","каком-то","какая-то","какую-то","какое-то","какие-то","каких-то","какими-то"],w=["чей-то","чьего-то","чьему-то","чьим-то","чьем-то","чьём-то","чья-то","чьей-то","чье-то","чьё-то","чьи-то","чьих-то","чьими-то","ничей","чьего","чьему","чьим","чьем","чьём","чья","чьей","чье","чьё","чьи","чьих","чьими","ничейный","ничейного","ничейному","ничейным","ничейном","ничейная","ничейной","ничейную","ничейное","ничейные","ничейных","ничейными"],f=["который","которого","которому","которым","котором","которая","которую","которое","которые","которых","которыми","чей","чьего","чьему","чьим","чьем","чьём","чья","чьей","чье","чьё","чьи","чьих","чьими"],b=["кто","кого","кому","кем","что","чего","чему","чем","чём"],h=["где","куда","откуда","как","почему","зачем","сколько","ли","когда"],v=["везде","нигде","там","здесь","повсюду"],k=["никогда","всегда","однажды","единожды","дважды","трижды","четырежды","уже"],j=["чрезвычайно","очень","крайне","абсолютно","полностью","совершенно","часто","чаще","довольно","несколько","значительно","немного","немножко","частично","просто"],_=["базовый","базового","базовому","базовым","базовом","базовая","базовой","базовое","базовые","базовых","базовым","базовыми","быстрый","быстрого","быстрому","быстрым","быстром","быстрая","быстрой","быстрое","быстрые","быстрых","быстрым","быстрыми","быстрейший","быстрейшего","быстрейшему","быстрейшим","быстрейшем","быстрейшая","быстрейшей","быстрейшее","быстрейшие","быстрейших","быстрейшим","быстрейшими","большой","большого","большому","большим","большом","большая","большое","большие","больших","большим","большими","быстрее","быстро","важный","важного","важному","важным","важном","важная","важной","важное","важные","важных","важным","важными","важнее","важно","возможный","возможного","возможному","возможным","возможном","возможная","возможной","возможное","возможные","возможных","возможным","возможными","высокий","высокого","высокому","высоким","высоком","высокая","высокой","высокое","высокие","высоких","высоким","высокими","выше","высоко","главный","главного","главному","главным","главном","главная","главной","главное","главные","главных","главным","главными","далекий","далекого","далекому","далеким","далеком","далекая","далекой","далекое","далекие","далеких","далеким","далекими","далёкий","далёкого","далёкому","далёким","далёком","далёкая","далёкой","далёкое","далёкие","далёких","далёким","далёкими","длиннее","длинный","длинного","длинному","длинным","длинном","длинная","длинной","длинное","длинные","длинных","длинным","длинными","доступный","доступного","доступному","доступным","доступном","доступная","доступной","доступное","доступные","доступных","доступным","доступными","жуткий","жуткого","жуткому","жутким","жутком","жуткая","жуткой","жуткое","жуткие","жутких","жутким","жуткими","законченный","законченного","законченному","законченным","законченном","законченная","законченной","законченное","законченные","законченных","законченным","законченными","занят","занята","заняты","занятой","занятого","занятому","занятым","занятом","занятая","занятое","занятые","занятых","занятым","занятыми","короткий","короткого","короткому","коротким","коротком","короткая","короткой","короткое","короткие","коротких","коротким","короткими","короче","кошмарный","кошмарного","кошмарному","кошмарным","кошмарном","кошмарная","кошмарной","кошмарное","кошмарные","кошмарных","кошмарным","кошмарными","красивый","красивого","красивому","красивым","красивом","красивая","красивой","красивое","красивые","красивых","красивым","красивыми","лёгкий","лёгкого","лёгкому","лёгким","лёгком","лёгкая","лёгкой","лёгкое","лёгкие","лёгких","лёгким","лёгкими","легкий","легкого","легкому","легким","легком","легкая","легкой","легкое","легкие","легких","легким","легкими","легко","легче","лучше","лучший","лучшего","лучшему","лучшим","лучшем","лучшая","лучшей","лучшее","лучшие","лучших","лучшим","лучшими","маленький","маленького","маленькому","маленьким","маленьком","маленькая","маленькой","маленькое","маленькие","маленьких","маленьким","маленькими","малюсенький","малюсенького","малюсенькому","малюсеньким","малюсеньком","малюсенькая","малюсенькой","малюсенькое","малюсенькие","малюсеньких","малюсеньким","малюсенькими","меньший","меньшего","меньшему","меньшим","меньшем","меньшая","меньшей","меньшее","меньшие","меньших","меньшим","меньшими","многочисленный","многочисленного","многочисленному","многочисленным","многочисленном","многочисленная","многочисленной","многочисленное","многочисленные","многочисленных","многочисленным","многочисленными","молодой","молодого","молодому","молодым","молодом","молодая","молодое","называемый","называемого","называемому","называемым","называемом","называемая","называемой","называемое","называемые","называемых","называемым","называемыми","больший","большего","большему","большим","большем","большая","большей","большее","большие","больших","большим","большими","наибольший","наибольшего","наибольшему","наибольшим","наибольшем","наибольшая","наибольшей","наибольшее","наибольшие","наибольших","наибольшим","наибольшими","меньший","меньшего","меньшему","меньшим","меньшем","меньшая","меньшей","меньшее","меньшие","меньших","меньшим","меньшими","наименьший","наименьшего","наименьшему","наименьшим","наименьшем","наименьшая","наименьшей","наименьшее","наименьшие","наименьших","наименьшим","наименьшими","наихудший","наихудшего","наихудшему","наихудшим","наихудшем","наихудшая","наихудшей","наихудшее","наихудшие","наихудших","наихудшим","наихудшими","напрямую","настоящий","настоящего","настоящему","настоящим","настоящем","настоящая","настоящей","настоящее","настоящие","настоящих","настоящим","настоящими","недавний","недавнего","недавнему","недавним","недавнем","недавняя","недавней","недавнее","недавние","недавних","недавним","недавними","необходимый","необходимого","необходимому","необходимым","необходимом","необходимая","необходимой","необходимое","необходимые","необходимых","необходимым","необходимыми","ниже","низкий","низкого","низкому","низким","низком","низкая","низкой","низкое","низкие","низких","низким","низкими","новейший","новейшего","новейшему","новейшим","новейшем","новейшая","новейшей","новейшее","новейшие","новейших","новейшим","новейшими","новый","нового","новому","новым","новом","новая","новое","новые","новых","новым","новыми","нормальный","нормального","нормальному","нормальным","нормальном","нормальная","нормальное","нормальные","нормальных","нормальным","нормальными","обыкновенный","обыкновенного","обыкновенному","обыкновенным","обыкновенном","обыкновенная","обыкновенное","обыкновенные","обыкновенных","обыкновенным","обыкновенными","обычный","обычного","обычному","обычным","обычном","обычная","обычное","обычные","обычных","обычным","обычными","основной","основного","основному","основным","основном","основная","основное","основные","основных","основным","основными","особенный","особенного","особенному","особенным","особенном","особенная","особенное","особенные","особенных","особенным","особенными","отличный","отличного","отличному","отличным","отличном","отличная","отличное","отличные","отличных","отличным","отличными","очевидный","очевидного","очевидному","очевидным","очевидном","очевидная","очевидное","очевидные","очевидных","очевидным","очевидными","плохой","плохого","плохому","плохим","плохом","плохая","плохое","плохие","плохих","плохим","плохими","последний","последнего","последнему","последним","последнем","последняя","последней","последнее","последние","последних","последним","последними","постоянно","постоянный","постоянного","постоянному","постоянным","постоянном","постоянная","постоянное","постоянные","постоянных","постоянным","постоянными","похожий","похожего","похожему","похожим","похожем","похожая","похожей","похожее","похожие","похожих","похожим","похожими","почти","предыдущий","предыдущего","предыдущему","предыдущим","предыдущем","предыдущая","предыдущей","предыдущее","предыдущие","предыдущих","предыдущим","предыдущими","простейший","простейшая","простейшей","простой","простого","простому","простым","простом","простая","простое","простые","простых","простым","простыми","проще","ранний","раннего","раннему","ранним","раннем","ранняя","ранней","раннее","ранние","ранних","ранним","ранними","разный","разного","разному","разным","разном","разная","разной","разное","разные","разных","разным","разными","самый","самого","самому","самым","самом","самая","самой","самое","самые","самых","самым","самыми","собственный","собственного","собственному","собственным","собственном","собственная","собственное","собственные","собственных","собственным","собственными","специальный","специального","специальному","специальным","специальном","специальная","специальное","специальные","специальных","специальным","специальными","специфичный","специфичного","специфичному","специфичным","специфичном","специфичная","специфичное","специфичные","специфичных","специфичным","специфичными","средний","среднего","среднему","средним","среднем","средняя","средней","среднее","средние","средних","средним","средними","старейший","старейшего","старейшему","старейшим","старейшем","старейшая","старейшей","старейшее","старейшие","старейших","старейшим","старейшими","старый","старого","старому","старым","старом","старая","старой","старое","старые","старых","старым","старыми","текущий","текущего","текущему","текущим","текущем","текущая","текущей","текущее","текущие","текущих","текущим","текущими","тяжелее","тяжёлый","тяжёлого","тяжёлому","тяжёлым","тяжёлом","тяжёлая","тяжёлое","тяжёлые","тяжёлых","тяжёлым","тяжёлыми","тяжелый","тяжелого","тяжелому","тяжелым","тяжелом","тяжелая","тяжелое","тяжелые","тяжелых","тяжелым","тяжелыми","хороший","хорошего","хорошему","хорошим","хорошем","хорошая","хорошей","хорошее","хорошие","хороших","хорошим","хорошими","хорошо","худший","худшего","худшему","худшим","худшем","худшая","худшей","худшее","худшие","худших","худшим","худшими","хуже","целый","целого","целому","целым","целом","целая","целой","целое","целые","целых","целым","целыми","именно","обязательно","действительно"],x=["а-ля","без","безо","без ведома","благодаря","близ","в","во","в адрес","в аспекте","в виде","в глазах","в глубь","в деле","в дополнение к","в духе","в завершение","в зависимости от","в заключение","в знак","в интересах","в качестве","в лице","в меру","в направлении","в направлении к","в направлении ко","в нарушение","в области","в обмен на","в обстановке","в обход","в ответ на","в отдалении от","в отличие от","в отношении","в память","в плане","в пользу","в порядке","в предвидении","в предвкушении","в преддверии","в присутствии","в продолжение","в противность","в противовес","в противоположность","в процессе","в разрезе","в районе","в рамках","в рассуждении","в расчете на","в результате","в роли","в ряду","в свете","в связи с","в связи со","в силу","в случае","в смысле","в согласии с","в сообществе с","в соответствии с","в соответствии со","в сопоставлении с","в сопровождении","в составе","в сравнении с","в сравнении со","в стороне от","в сторону","в сфере","в счет","в течение","в угоду","в унисон с","в условиях","в ущерб","в форме","в ходе","в целях","в честь","в числе","в число","вблизи","вблизи от","вверху","ввиду","вглубь","вдалеке от","вдали","вдали от","вдобавок к","вдобавок ко","вдогон","вдогонку","вдоль","вдоль по","взамен","включая","вкось","вкруг","вместе с","вместе со","вместо","вне","вне зависимости от","внизу","внутри","внутрь","вовнутрь","во время","во главе","во главе с","во главе со","во избежание","во изменение","во имя","во исполнение","во славу","возле","вокруг","волею","вопреки","вперед","впереди","вплоть до","впредь до","вразрез","времен","вроде","вслед","вослед","вслед за","вследствие","выше","для","до","за","за исключением","за счет","заботами","из","изо","из числа","из-за","из-под","из-подо","изнутри","именем","имени","исключая","исходя из","к","ко","к числу","касаемо","касательно","кончая","кроме","кругом","между","меж","промеж","промежду","на","мимо","минуя","на","на базе","на благо","на глазах у","на грани","на имя","на манер","на основании","на основе","на почве","на правах","на предмет","на протяжении","на пути","на пути к","на пути ко","на путях","на путях к","на путях ко","на радость","на случай","на смену","на стороне","на сторону","на уровне","на фоне","наверху","навстречу","над","надо","назади","накануне","наперекор","наперерез","наперехват","наподобие","напротив","наравне с","наравне со","наряду с","наряду со","насупротив","насчет","начиная","начиная от","начиная с","начиная со","не без","не в пример","не говоря о","не говоря об","не говоря обо","не до","не считая","невдалеке от","невзирая на","недалеко","недалеко от","независимо","независимо от","неподалеку от","несмотря на","ниже","о","об","обо","около","окрест","от","ото","от имени","от лица","относительно","памяти","перед","передо","пред","предо","перед","передо","пред","предо","перед лицом","плюс к","плюс ко","по","по адресу","по аналогии с","по аналогии со","по вине","по истечении","по линии","по мере","по направлению","по направлению к","по направлению ко","по отношению к","по отношению ко","по поводу","по праву","по примеру","по причине","по прошествии","по пути","по случаю","по сравнению с","по сравнению со","по стопам","по части","по-за","по-над","по-под","поблизости","поблизости от","поверх","погодя","под","подо","под видом","под знаком","под предлогом","под председательством","под эгидой","подле","подобно","позади","позднее","поздней","позже","помимо","поодаль от","поперед","поперек","порядка","посереди","посередине","посередке","посередь","после","посреди","посредине","посредством","превыше","прежде","при","при всей","при всем","при всех","при помощи","при посредстве","при условии","применительно к","применительно ко","про","против","противно","путем","ради","раньше","рядом с","рядом со","с","со","с ведома","с помощью","с учетом","с целью","сбоку","сбоку от","сверх","сверху","свыше","сзади","силами","сквозь","следом за","смотря по","снаружи","снизу","со стороны","совместно с","совместно со","совокупно с","согласно","согласно с","согласно со","сообразно","сообразно с","сообразно со","сообща с","сообща со","соответственно","соответственно с","соответственно со","соразмерно","соразмерно с","соразмерно со","спереди","спустя","сравнительно с","сравнительно со","среди","средь","сродни","судя по","супротив","считая","типа","у","ценой","ценою","через","что до"],q=["и","или","и/или","еще","ещё","а"],E=["если","даже"],A=["ох","вау","тю-тю","ох-ох-ох","эх","фуф","ага","угу","упс","ой","бее","ну","вот"],T=["ст","ч","л","кг","полкило","г","гр","мл","дл","пол-литра","мг","см","м","км"],O=["секунд","секунда","минут","минута","час","часа","часов","день","дня","дней","неделя","недели","недель","месяц","месяца","месяцев","год","года","году","годы","лет","гг","сегодня","завтра","послезавтра","вчера","позавчера","тыс до н э","н э","до н э","тыс до н"],S=["вещь","вещи","вещью","вещей","вещам","вещами","вещах","метод","метода","методом","методу","методе","методы","методам","методами","методах","способ","способа","способом","способу","способе","способы","способам","способами","способах","свойство","свойства","свойстве","свойств","свойствам","свойствах","свойствами","случай","случая","случаем","случаю","случае","случаи","случаям","случаями","случаях","дело","дела","делом","делу","деле","делам","делами","делах","сходство","сходства","сходстве","сходств","сходствам","сходствах","сходствами","часть","части","частью","частей","частям","частями","частях","штука","штуки","штуке","штуку","штук","штукам","штуками","штуках","раз","раза","разом","разу","разе","разы","разам","разами","разах","вид","вида","видом","виду","виде","виды","видам","видами","видах","процент","процента","процентом","проценту","проценте","проценты","процентам","процентами","процентах","аспект","аспекта","аспектом","аспекту","аспекте","аспекты","аспектам","аспектами","аспектах","пункт","пункта","пунктом","пункту","пункте","пункты","пунктам","пунктами","пунктах","идея","идеи","идее","идеей","идеям","идеями","идеях","тема","темы","теме","тему","темой","темам","темами","темах","человек","человека","человеком","человеку","человеке","деталь","детали","деталью","деталей","деталям","деталями","деталях","подробность","подробности","подробностью","подробностей","подробностям","подробностями","подробностях","фактор","фактора","фактором","фактору","факторе","факторы","факторам","факторами","факторах","разница","разницы","разнице","разницу","разницей","различие","различия","различию","различий","различиям","различиями","различиях","отличие","отличия","отличию","отличий","отличиям","отличиями","отличиях","ситуация","ситуации","ситуацией","ситуаций","ситуациям","ситуациями","ситуациях","сфера","сферы","сфере","сферу","сферой","сферам","сферами","сферах"],M=["нет","да","конечно","отлично","верх","низ","ок","окей","аминь","и т д","и т. д.","и так далее","и тому подобное","прости","простите","пожалуйста","тут","так","не","вдруг","теперь","точно","бы","сам","сама","само","сами","иногда","сейчас","тоже","также","пока","ведь","потом","поэтому","явно","ни","не","будто","напрочь","причем","причём","зато","вперед","вперёд","назад","сразу","пусть","пускай"],P=["г-н","г-жа","тов","гр-н","гр-а","гр","проф"],C=["мл"]},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return{filteredAtEnding:[].concat(r,E,A,h,_,k,q),filteredAtBeginningAndEnding:[].concat(n,O,M,u,S,w,c),filteredAnywhere:[].concat(i,s,d,l,p,D,o,v,b,x,j,m,y,P,z,g,B,f,F,C,R,T),all:[].concat(n,o,r,s,d,l,c,u,p,z,g,m,y,w,f,b,h,v,k,j,_,x,q,E,A,T,O,S,M,P,C,R,D,F,B)}};var i=(0,function(a){return a&&a.__esModule?a:{default:a}}(t(746)).default)().singleWords,n=["en","ett","det","den","de"],o=["två","tre","fyra","fem","sex","sju","åtta","nio","tio","tiotals","elva","tolv","tretton","fjorton","femton","sexton","sjutton","arton","aderton","nitton","tjugo","hundra","hundratals","tusen","tusentals","miljon","miljoner","miljontals","miljard","miljarder"],r=["första","andra","tredje","fjärde","femte","sjätte","sjunde","åttonde","nionde","tionde","elfte","tolfte","trettonde","fjortonde","femtonde","sextonde","sjuttonde","artonde","nittonde","tjugonde"],s=["jag","du","han","hon","hen","vi","ni"],d=["mig","dig","honom","henne","oss","er","dem","henom","eder"],l=["sig","sin","sitt","sina"],c=["min","mitt","mina","din","ditt","dina","hans","hennes","dess","ens","vår","vårt","våra","er","ert","era","ers","deras","hens"],u=["denne","denna","detta","dessa","här","där","varifrån","därav","hit","dit","vart","hädan","dädan","vadan","hän","sen"],p=["som","vilken","vilket","vilka","vars","då"],z=["vem","vems","vad"],g=["hur","varför"],m=["någon","något","några","nån","nåt","ingen","inget","inga","annan","annat","andra","någonstans","ingenstans","annastans","överallt","någonstädes","ingenstädes","annorstädes","allestädes","någorlunda","ingalunda","annorlunda","någonting","ingenting","allting","all","allt","alla","somlig","somligt","somliga","mången","månget","man","en","ens"],y=["varandra","varsin","varsitt","envar","varannan","vartannat"],w=["andra","åtskilliga","bådadera","både","få","fårre","fåtalig","fåtaliga","flera","flesta","föga","ganska","icke","inte","lite","litet","många","mer","mera","mest","mindre","minst","mycket","nog","ollika","tillräckligt","vardera","varje","viss","visst","vissa","visse"],f=["bakåt","bakifrån","bortifrån","däråt","därav","därhän","däri","därifrån","därom","därpå","därtill","däruti","därvid","ditåt","dithän","dittills","efteråt","förrut","framåt","hädenefter","häråt","härav","härefter","häremot","häri","härifrån","härmed","härom","härpå","härtill","häruti","härvid","hitåt","hittills","ini","inifrån","intill","inuti","nedanför","nedåt","nedför","nedtill","uppåt","uppför","upptill","varav","varefter","varemot","varför","varfrån","vari","varifrån","varmed","varom","varpå","varthän","vartill","varur","varvid"],b=["behövande","behöver","behövt","behövde","bör","börande","borde","bort","brukade","brukande","brukar","brukat","fående","får","fått","fick","hade","haft","har","hava","havande","kan","kunde","kunnande","kunnat","mådde","mående","mår","måste","mått","måtte","skall","skulle","varande","velat","viljande","vill","ville"],h=["behöva","böra","bruka","få","ha","kunna","må","ska","vilja"],v=["är","var","varit","vore","blivit","blivande","blir","bliver","blev","blitt","funnits","finnande","finns","fanns","befunnit","befinnande","befinner","befann","tyckts","tyckande","tycks","tycktes"],k=["vara","bli","finnas","befinna","tyckas"],j=["gående","gällande","gällde","gäller","gällt","går","gått","gav","ger","gett","gick","givande","giver","gjorde","gjort","gör","görande","kom","kommande","kommer","kommit","ligger","ligges","lå","ligget","liggande","ställer","ställde","ställt","ställ","ställande","ställd","ställas","ställs","ställes","ställdes","ställts","tagande","tager","tagit","tar","tog","utgör","utgjorde","utgjort","utgörande","utgjord","utgöras","utgörs","utgöres","utgjordes","utgjorts"],_=["gå","gälla","ge","göra","komma","ligga","ställa","ta","utgöra"],x=["angav","anger","angett","angiver","angivit","berättade","berättar","berättat","föreslagit","föreslår","föreslått","föreslog","förklarade","förklarar","förklarat","förstår","förstått","förstod","frågade","frågar","frågat","påstår","påstått","påstod","sa","sade","säger","sagt","svarade","svarar","svarat","talade","talar","talat","tänker","tänkt","tänkte"],q=["ange","berätta","föreslå","förklara","förstå","fråga","påstå","säga","svara","tala","tänka"],E=["äldre","äldst","äldsta","äldste","bäst","bättre","dålig","dåliga","dålige","dåligt","egen","eget","egna","egne","enkel","enkelt","enkla","enklare","enklast","enklaste","enkle","fel","gamla","gamle","gammal","gammalt","god","goda","godare","godast","godaste","gode","gott","grundläggande","hel","hela","helare","helast","helaste","hele","helt","kort","korta","kortare","kortast","kortaste","korte","lång","långa","långe","längre","långsam","långsamma","långsammare","långsammast","långsammaste","långsamme","långsamt","längst","längsta","längste","långt","liknande","lilla","lille","liten","litet","mindre","minst","minsta","minste","möjlig","möjliga","möjligare","möjligast","möjligaste","möjlige","möjligt","nödvändig","nödvändiga","nödvändigare","nödvändigast","nödvändigaste","nödvändige","nödvändigt","normal","normala","normalare","normalast","normalaste","normale","normalt","ny","nya","nyare","nyast","nyaste","nye","nytt","olikt","olika","olike","samma","sämre","sämst","sämsta","sämste","särskild","särskilda","särskilde","särskilt","sen","sena","senare","senast","senaste","sene","sent","små","snabb","snabba","snabbare","snabbast","snabbaste","snabbe","snabbt","stor","stora","store","större","störst","största","störste","stort","svår","svåra","svårare","svårast","svåraste","svåre","svårt","tidig","tidiga","tidigare","tidigast","tidigaste","tidige","tidigt","trevlig","trevliga","trevligare","trevligast","trevligaste","trevlige","trevligt","ung","unga","unge","ungt","uppenbar","uppenbara","uppenbare","uppenbart","värre","värst","värsta","värste","verklig","viktig","viktiga","viktigare","viktigast","viktigaste","viktige","viktigt","yngre","yngst","yngsta","yngste"],A=["aldrig","allmänt","alltid","delvis","direkt","huvudsakligen","ibland","långsamt","mestadels","nästan","ofta","relativt","riktigt","riktigare","riktigast","sällan","snabbt","ständigt","väl","vanligt"],T=["antal","antalet","antals","antalets","antalen","antalens","bit","bitar","bitarna","bitarnas","bitars","biten","bitens","bits","del","delar","delarna","delarnas","delars","delen","delens","dels","detalj","detaljen","detaljens","detaljer","detaljerna","detaljernas","detaljers","detaljs","exempel","exempels","exemplet","exemplets","exemplen","exemplens","person","personen","personens","personer","personerna","personernas","personers","persons","procent","punkt","punkten","punktens","punkter","punkterna","punkternas","punkters","sak","saken","sakens","saker","sakerna","sakernas","sakers","saks","sätt","sätten","sättens","sättet","sättets","sätts","skillnad","skillnaden","skillnadens","skillnader","skillnaderna","skillnadernas","skillnaders","skillnads","sort","sorten","sortens","sorter","sorterna","sorternas","sorters","sorts","tema","teman","temanas","temans","temas","temat","temats","tid","tiden","tidens","tider","tiderna","tidernas","tiders","tids","ting","tingen","tingens","tinget","tingets","tings"],O=["åt","av","bakom","bland","bortom","bredvid","cirka","efter","emellan","emot","enligt","för","före","förutom","framför","från","genom","hos","i","igenom","inom","inuti","längs","med","mellan","mittemot","mot","nära","nästa","nedan","ner","olik","om","omkring","ovanför","ovanpå","över","på","runt","sedan","som","till","tvärs","tvärsöver","under","upp","ur","ut","utan","utanför","utom","via","vid"],S=["absolut","alldeles","allra","bra","fullständigt","fullt","ganska","helt","illa","jätte","rysligt","så","storligen","totalt","väldigt","ytterst"],M=["eller","och"],P=["att"],C=["år","årens","året","årets","års","årtal","årtalen","årtalens","årtaconst","årtaconsts","årtals","dag","dagar","dagarna","dagarnas","dagars","dagen","dagens","dags","går","idag","månad","månaden","månadens","månader","månaderna","månadernas","månaders","månads","minut","minuten","minutens","minuter","minuterna","minuternas","minuters","minuts","morgon","sekund","sekunden","sekundens","sekunder","sekunderna","sekundernas","sekunders","sekunds","timmar","timmarna","timmarnas","timmars","timme","timmen","timmens","timmes","vecka","veckan","veckans","veckas","veckor","veckorna","veckornas","veckors"],R=["prof","doc","dr"],D=["å","aj","aja","fy","grattis","hej","hu","jaså","javisst","o","oj","ojdå","prosit","puh","skål","usch"],F=["c","cl","cm","dl","g","kg","km","krm","l","m","mg","ml","mm","msk","pkt","st","tsk"],B=["förlåt","ja","jo","ju","m.m","nej","ok","okej","tack"]},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a,e,t,o){var r=(0,i.default)(a);if(0===r)return 0;var s=t*r/(100*(0,n.default)(e));if(s<2)return 2;switch(o){case"min":return Math.ceil(s);default:case"max":return Math.floor(s)}};var i=o(t(269)),n=o(t(747));function o(a){return a&&a.__esModule?a:{default:a}}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=r(t(358)),n=t(35),o=r(t(32));function r(a){return a&&a.__esModule?a:{default:a}}var s=["en"];e.default={identifier:"keywordStopWords",getResult:function(a,e,t){var i=e.getResearch("stopWordsInKeyword"),r=function(a,e){return a>0?{score:0,text:e.dngettext("js-text-analysis","%1$sStopwords%3$s: The keyphrase contains stop words. This may or may not be wise depending on the circumstances. %2$sLearn more about stop words%3$s.")}:{}}(i.length,t),s=new o.default;return s.setScore(r.score),s.setText(t.sprintf(r.text,(0,n.createAnchorOpeningTag)("https://yoa.st/34b"),(0,n.createAnchorOpeningTag)("https://yoa.st/34c"),"</a>",i.length)),s},isApplicable:function(a){var e=(0,i.default)(a.getLocale(),s);return a.hasKeyword()&&e}}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function a(a,e){for(var t=0;t<e.length;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(a,i.key,i)}}return function(e,t,i){return t&&a(e.prototype,t),i&&a(e,i),e}}(),n=t(2),o=function(a){return a&&a.__esModule?a:{default:a}}(t(488)),r=t(345);var s=new RegExp("^[.]$"),d=new RegExp("^[?!;…]$"),l=new RegExp("^[^.?!;…<\\(\\)\\[\\]]+$"),c=/^<[^><]*$/,u=/^<([^>\s/]+)[^>]*>$/im,p=/^<\/([^>\s]+)[^>]*>$/im,z=/^\s*[[({]\s*$/,g=/^\s*[\])}]\s*$/,m=new RegExp("[.?!;…]$"),y=function(){function a(){!function(a,e){if(!(a instanceof e))throw new TypeError("Cannot call a class as a function")}(this,a)}return i(a,[{key:"isNumber",value:function(a){return!(0,n.isNaN)(parseInt(a,10))}},{key:"isBreakTag",value:function(a){return/<br/.test(a)}},{key:"isQuotation",value:function(a){return"'"===(a=(0,r.normalize)(a))||'"'===a}},{key:"isPunctuation",value:function(a){return"¿"===a||"¡"===a}},{key:"removeDuplicateWhitespace",value:function(a){return a.replace(/\s+/," ")}},{key:"isCapitalLetter",value:function(a){return a!==a.toLocaleLowerCase()}},{key:"isSmallerThanSign",value:function(a){return"<"===a}},{key:"getNextTwoCharacters",value:function(a){var e="";return(0,n.isUndefined)(a[0])||(e+=a[0].src),(0,n.isUndefined)(a[1])||(e+=a[1].src),e=this.removeDuplicateWhitespace(e)}},{key:"isValidSentenceBeginning",value:function(a){return this.isCapitalLetter(a)||this.isNumber(a)||this.isQuotation(a)||this.isPunctuation(a)||this.isSmallerThanSign(a)}},{key:"isSentenceStart",value:function(a){return!(0,n.isUndefined)(a)&&("html-start"===a.type||"html-end"===a.type||"block-start"===a.type)}},{key:"tokenizeSmallerThanContent",value:function(a,e,t){var i=a.src.substring(1),o=this.createTokenizer();this.tokenize(o.tokenizer,i);var r=this.getSentencesFromTokens(o.tokens,!1);if(r[0]=(0,n.isUndefined)(r[0])?"<":"<"+r[0],this.isValidSentenceBeginning(r[0])&&(e.push(t),t=""),t+=r[0],r.length>1){e.push(t),t="",r.shift();var s=r.pop();r.forEach(function(a){e.push(a)}),s.match(m)?e.push(s):t=s}return{tokenSentences:e,currentSentence:t}}},{key:"createTokenizer",value:function(){var a=[],e=(0,o.default)(function(e){a.push(e)});return e.addRule(s,"full-stop"),e.addRule(c,"smaller-than-sign-content"),e.addRule(u,"html-start"),e.addRule(p,"html-end"),e.addRule(z,"block-start"),e.addRule(g,"block-end"),e.addRule(d,"sentence-delimiter"),e.addRule(l,"sentence"),{tokenizer:e,tokens:a}}},{key:"tokenize",value:function(a,e){a.onText(e);try{a.end()}catch(a){console.error("Tokenizer end error:",a,a.tokenizer2)}}},{key:"getSentencesFromTokens",value:function(a){var e=this,t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=[],o="",r=void 0,s=void 0;do{s=!1;var d=a[0],l=a[a.length-1];d&&l&&"html-start"===d.type&&"html-end"===l.type&&(a=a.slice(1,a.length-1),s=!0)}while(s&&a.length>1);return a.forEach(function(t,s){var d=void 0,l=void 0,c=void 0,u=a[s+1],p=a[s+2];switch(t.type){case"html-start":case"html-end":e.isBreakTag(t.src)?(i.push(o),o=""):o+=t.src;break;case"smaller-than-sign-content":c=e.tokenizeSmallerThanContent(t,i,o),i=c.tokenSentences,o=c.currentSentence;break;case"sentence":o+=t.src;break;case"sentence-delimiter":o+=t.src,(0,n.isUndefined)(u)||"block-end"===u.type||"sentence-delimiter"===u.type||(i.push(o),o="");break;case"full-stop":if(o+=t.src,d=(l=e.getNextTwoCharacters([u,p])).length>=2,r=d?l[1]:"",d&&e.isNumber(l[0]))break;(d&&e.isValidSentenceBeginning(r)||e.isSentenceStart(u))&&(i.push(o),o="");break;case"block-start":o+=t.src;break;case"block-end":if(o+=t.src,d=(l=e.getNextTwoCharacters([u,p])).length>=2,r=d?l[0]:"",d&&e.isNumber(l[0]))break;(d&&e.isValidSentenceBeginning(r)||e.isSentenceStart(u))&&(i.push(o),o="")}}),""!==o&&i.push(o),t&&(i=(0,n.map)(i,function(a){return a.trim()})),i}}]),a}();e.default=y},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=t(2),n=s(t(497)),o=t(35),r=s(t(32));function s(a){return a&&a.__esModule?a:{default:a}}var d=function(a,e){if((0,i.isUndefined)(a))throw new n.default("The previously keyword plugin requires the YoastSEO app");(0,i.isUndefined)(e)&&(e={usedKeywords:{},searchUrl:"",postUrl:""}),this.app=a,this.usedKeywords=e.usedKeywords,this.searchUrl=e.searchUrl,this.postUrl=e.postUrl,this.urlTitle=(0,o.createAnchorOpeningTag)("https://yoa.st/33x"),this.urlCallToAction=(0,o.createAnchorOpeningTag)("https://yoa.st/33y")};d.prototype.registerPlugin=function(){this.app.registerAssessment("usedKeywords",{getResult:this.assess.bind(this),isApplicable:function(a){return a.hasKeyword()}},"previouslyUsedKeywords")},d.prototype.updateKeywordUsage=function(a){this.usedKeywords=a},d.prototype.scoreAssessment=function(a,e,t){var i=a.count,n=a.id;if(0===i)return{text:t.sprintf(t.dgettext("js-text-analysis","%1$sPreviously used keyphrase%2$s: You've not used this keyphrase before, very good."),this.urlTitle,"</a>"),score:9};if(1===i){var o="<a href='"+this.postUrl.replace("{id}",n)+"' target='_blank'>";return{text:t.sprintf(t.dgettext("js-text-analysis","%3$sPreviously used keyphrase%5$s: You've used this keyphrase %1$sonce before%2$s. %4$sDo not use your keyphrase more than once%5$s."),o,"</a>",this.urlTitle,this.urlCallToAction,"</a>"),score:6}}return i>1?(o="<a href='"+this.searchUrl.replace("{keyword}",encodeURIComponent(e.getKeyword()))+"' target='_blank'>",{text:t.sprintf(t.dgettext("js-text-analysis","%4$sPreviously used keyphrase%6$s: You've used this keyphrase %1$s%2$d times before%3$s. %5$sDo not use your keyphrase more than once%6$s."),o,i,"</a>",this.urlTitle,this.urlCallToAction,"</a>"),score:1}):void 0},d.prototype.researchPreviouslyUsedKeywords=function(a){var e=a.getKeyword(),t=0,n=0;return(0,i.isUndefined)(this.usedKeywords[e])||(t=this.usedKeywords[e].length,n=this.usedKeywords[e][0]),{id:n,count:t}},d.prototype.assess=function(a,e,t){var i=this.researchPreviouslyUsedKeywords(a),n=this.scoreAssessment(i,a,t),o=new r.default;return o.setScore(n.score),o.setText(n.text),o},e.default=d},function(a,e){a.exports=function(a){return a&&"object"==typeof a&&"function"==typeof a.copy&&"function"==typeof a.fill&&"function"==typeof a.readUInt8}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){return a.replace(new RegExp("<yoastmark[^>]*>","g"),"").replace(new RegExp("</yoastmark>","g"),"")}},function(a){a.exports={0:65533,128:8364,130:8218,131:402,132:8222,133:8230,134:8224,135:8225,136:710,137:8240,138:352,139:8249,140:338,142:381,145:8216,146:8217,147:8220,148:8221,149:8226,150:8211,151:8212,152:732,153:8482,154:353,155:8250,156:339,158:382,159:376}},function(a,e,t){var i=t(465),n=/\s+/g,o=t(763),r=t(969);function s(a,e,t){"object"==typeof a?(t=e,e=a,a=null):"function"==typeof e&&(t=e,e=d),this._callback=a,this._options=e||d,this._elementCB=t,this.dom=[],this._done=!1,this._tagStack=[],this._parser=this._parser||null}var d={normalizeWhitespace:!1,withStartIndices:!1,withEndIndices:!1};s.prototype.onparserinit=function(a){this._parser=a},s.prototype.onreset=function(){s.call(this,this._callback,this._options,this._elementCB)},s.prototype.onend=function(){this._done||(this._done=!0,this._parser=null,this._handleCallback(null))},s.prototype._handleCallback=s.prototype.onerror=function(a){if("function"==typeof this._callback)this._callback(a,this.dom);else if(a)throw a},s.prototype.onclosetag=function(){var a=this._tagStack.pop();this._options.withEndIndices&&a&&(a.endIndex=this._parser.endIndex),this._elementCB&&this._elementCB(a)},s.prototype._createDomElement=function(a){if(!this._options.withDomLvl1)return a;var e;for(var t in e="tag"===a.type?Object.create(r):Object.create(o),a)a.hasOwnProperty(t)&&(e[t]=a[t]);return e},s.prototype._addDomElement=function(a){var e=this._tagStack[this._tagStack.length-1],t=e?e.children:this.dom,i=t[t.length-1];a.next=null,this._options.withStartIndices&&(a.startIndex=this._parser.startIndex),this._options.withEndIndices&&(a.endIndex=this._parser.endIndex),i?(a.prev=i,i.next=a):a.prev=null,t.push(a),a.parent=e||null},s.prototype.onopentag=function(a,e){var t={type:"script"===a?i.Script:"style"===a?i.Style:i.Tag,name:a,attribs:e,children:[]},n=this._createDomElement(t);this._addDomElement(n),this._tagStack.push(n)},s.prototype.ontext=function(a){var e,t=this._options.normalizeWhitespace||this._options.ignoreWhitespace;if(!this._tagStack.length&&this.dom.length&&(e=this.dom[this.dom.length-1]).type===i.Text)t?e.data=(e.data+a).replace(n," "):e.data+=a;else if(this._tagStack.length&&(e=this._tagStack[this._tagStack.length-1])&&(e=e.children[e.children.length-1])&&e.type===i.Text)t?e.data=(e.data+a).replace(n," "):e.data+=a;else{t&&(a=a.replace(n," "));var o=this._createDomElement({data:a,type:i.Text});this._addDomElement(o)}},s.prototype.oncomment=function(a){var e=this._tagStack[this._tagStack.length-1];if(e&&e.type===i.Comment)e.data+=a;else{var t={data:a,type:i.Comment},n=this._createDomElement(t);this._addDomElement(n),this._tagStack.push(n)}},s.prototype.oncdatastart=function(){var a={children:[{data:"",type:i.Text}],type:i.CDATA},e=this._createDomElement(a);this._addDomElement(e),this._tagStack.push(e)},s.prototype.oncommentend=s.prototype.oncdataend=function(){this._tagStack.pop()},s.prototype.onprocessinginstruction=function(a,e){var t=this._createDomElement({name:a,data:e,type:i.Directive});this._addDomElement(t)},a.exports=s},function(a,e,t){var i=t(763),n=a.exports=Object.create(i),o={tagName:"name"};Object.keys(o).forEach(function(a){var e=o[a];Object.defineProperty(n,a,{get:function(){return this[e]||null},set:function(a){return this[e]=a,a}})})},function(a,e,t){var i=t(361),n=i.DomHandler,o=i.DomUtils;function r(a,e){this.init(a,e)}function s(a,e){return o.getElementsByTagName(a,e,!0)}function d(a,e){return o.getElementsByTagName(a,e,!0,1)[0]}function l(a,e,t){return o.getText(o.getElementsByTagName(a,e,t,1)).trim()}function c(a,e,t,i,n){var o=l(t,i,n);o&&(a[e]=o)}t(229)(r,n),r.prototype.init=n;var u=function(a){return"rss"===a||"feed"===a||"rdf:RDF"===a};r.prototype.onend=function(){var a,e,t={},i=d(u,this.dom);i&&("feed"===i.name?(e=i.children,t.type="atom",c(t,"id","id",e),c(t,"title","title",e),(a=d("link",e))&&(a=a.attribs)&&(a=a.href)&&(t.link=a),c(t,"description","subtitle",e),(a=l("updated",e))&&(t.updated=new Date(a)),c(t,"author","email",e,!0),t.items=s("entry",e).map(function(a){var e,t={};return c(t,"id","id",a=a.children),c(t,"title","title",a),(e=d("link",a))&&(e=e.attribs)&&(e=e.href)&&(t.link=e),(e=l("summary",a)||l("content",a))&&(t.description=e),(e=l("updated",a))&&(t.pubDate=new Date(e)),t})):(e=d("channel",i.children).children,t.type=i.name.substr(0,3),t.id="",c(t,"title","title",e),c(t,"link","link",e),c(t,"description","description",e),(a=l("lastBuildDate",e))&&(t.updated=new Date(a)),c(t,"author","managingEditor",e,!0),t.items=s("item",i.children).map(function(a){var e,t={};return c(t,"id","guid",a=a.children),c(t,"title","title",a),c(t,"link","link",a),c(t,"description","description",a),(e=l("pubDate",a))&&(t.pubDate=new Date(e)),t}))),this.dom=t,n.prototype._handleCallback.call(this,i?null:Error("couldn't find root of feed"))},a.exports=r},function(a,e,t){a.exports=n;var i=t(764);function n(a){i.call(this,new o(this),a)}function o(a){this.scope=a}t(229)(n,i),n.prototype.readable=!0;var r=t(361).EVENTS;Object.keys(r).forEach(function(a){if(0===r[a])o.prototype["on"+a]=function(){this.scope.emit(a)};else if(1===r[a])o.prototype["on"+a]=function(e){this.scope.emit(a,e)};else{if(2!==r[a])throw Error("wrong number of arguments!");o.prototype["on"+a]=function(e,t){this.scope.emit(a,e,t)}}})},function(a,e){},function(a,e,t){"use strict";var i=t(974).Buffer,n=i.isEncoding||function(a){switch((a=""+a)&&a.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function o(a){var e;switch(this.encoding=function(a){var e=function(a){if(!a)return"utf8";for(var e;;)switch(a){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return a;default:if(e)return;a=(""+a).toLowerCase(),e=!0}}(a);if("string"!=typeof e&&(i.isEncoding===n||!n(a)))throw new Error("Unknown encoding: "+a);return e||a}(a),this.encoding){case"utf16le":this.text=d,this.end=l,e=4;break;case"utf8":this.fillLast=s,e=4;break;case"base64":this.text=c,this.end=u,e=3;break;default:return this.write=p,void(this.end=z)}this.lastNeed=0,this.lastTotal=0,this.lastChar=i.allocUnsafe(e)}function r(a){return a<=127?0:a>>5==6?2:a>>4==14?3:a>>3==30?4:a>>6==2?-1:-2}function s(a){var e=this.lastTotal-this.lastNeed,t=function(a,e,t){if(128!=(192&e[0]))return a.lastNeed=0,"�";if(a.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return a.lastNeed=1,"�";if(a.lastNeed>2&&e.length>2&&128!=(192&e[2]))return a.lastNeed=2,"�"}}(this,a);return void 0!==t?t:this.lastNeed<=a.length?(a.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(a.copy(this.lastChar,e,0,a.length),void(this.lastNeed-=a.length))}function d(a,e){if((a.length-e)%2==0){var t=a.toString("utf16le",e);if(t){var i=t.charCodeAt(t.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=a[a.length-2],this.lastChar[1]=a[a.length-1],t.slice(0,-1)}return t}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=a[a.length-1],a.toString("utf16le",e,a.length-1)}function l(a){var e=a&&a.length?this.write(a):"";if(this.lastNeed){var t=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,t)}return e}function c(a,e){var t=(a.length-e)%3;return 0===t?a.toString("base64",e):(this.lastNeed=3-t,this.lastTotal=3,1===t?this.lastChar[0]=a[a.length-1]:(this.lastChar[0]=a[a.length-2],this.lastChar[1]=a[a.length-1]),a.toString("base64",e,a.length-t))}function u(a){var e=a&&a.length?this.write(a):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function p(a){return a.toString(this.encoding)}function z(a){return a&&a.length?this.write(a):""}e.StringDecoder=o,o.prototype.write=function(a){if(0===a.length)return"";var e,t;if(this.lastNeed){if(void 0===(e=this.fillLast(a)))return"";t=this.lastNeed,this.lastNeed=0}else t=0;return t<a.length?e?e+this.text(a,t):this.text(a,t):e||""},o.prototype.end=function(a){var e=a&&a.length?this.write(a):"";return this.lastNeed?e+"�":e},o.prototype.text=function(a,e){var t=function(a,e,t){var i=e.length-1;if(i<t)return 0;var n=r(e[i]);if(n>=0)return n>0&&(a.lastNeed=n-1),n;if(--i<t||-2===n)return 0;if((n=r(e[i]))>=0)return n>0&&(a.lastNeed=n-2),n;if(--i<t||-2===n)return 0;if((n=r(e[i]))>=0)return n>0&&(2===n?n=0:a.lastNeed=n-3),n;return 0}(this,a,e);if(!this.lastNeed)return a.toString("utf8",e);this.lastTotal=t;var i=a.length-(t-this.lastNeed);return a.copy(this.lastChar,0,i),a.toString("utf8",e,i)},o.prototype.fillLast=function(a){if(this.lastNeed<=a.length)return a.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);a.copy(this.lastChar,this.lastTotal-this.lastNeed,0,a.length),this.lastNeed-=a.length}},function(a,e,t){var i=t(765),n=i.Buffer;function o(a,e){for(var t in a)e[t]=a[t]}function r(a,e,t){return n(a,e,t)}n.from&&n.alloc&&n.allocUnsafe&&n.allocUnsafeSlow?a.exports=i:(o(i,e),e.Buffer=r),o(n,r),r.from=function(a,e,t){if("number"==typeof a)throw new TypeError("Argument must not be a number");return n(a,e,t)},r.alloc=function(a,e,t){if("number"!=typeof a)throw new TypeError("Argument must be a number");var i=n(a);return void 0!==e?"string"==typeof t?i.fill(e,t):i.fill(e):i.fill(0),i},r.allocUnsafe=function(a){if("number"!=typeof a)throw new TypeError("Argument must be a number");return n(a)},r.allocUnsafeSlow=function(a){if("number"!=typeof a)throw new TypeError("Argument must be a number");return i.SlowBuffer(a)}},function(a,e,t){"use strict";e.byteLength=function(a){var e=l(a),t=e[0],i=e[1];return 3*(t+i)/4-i},e.toByteArray=function(a){for(var e,t=l(a),i=t[0],r=t[1],s=new o(function(a,e,t){return 3*(e+t)/4-t}(0,i,r)),d=0,c=r>0?i-4:i,u=0;u<c;u+=4)e=n[a.charCodeAt(u)]<<18|n[a.charCodeAt(u+1)]<<12|n[a.charCodeAt(u+2)]<<6|n[a.charCodeAt(u+3)],s[d++]=e>>16&255,s[d++]=e>>8&255,s[d++]=255&e;2===r&&(e=n[a.charCodeAt(u)]<<2|n[a.charCodeAt(u+1)]>>4,s[d++]=255&e);1===r&&(e=n[a.charCodeAt(u)]<<10|n[a.charCodeAt(u+1)]<<4|n[a.charCodeAt(u+2)]>>2,s[d++]=e>>8&255,s[d++]=255&e);return s},e.fromByteArray=function(a){for(var e,t=a.length,n=t%3,o=[],r=0,s=t-n;r<s;r+=16383)o.push(u(a,r,r+16383>s?s:r+16383));1===n?(e=a[t-1],o.push(i[e>>2]+i[e<<4&63]+"==")):2===n&&(e=(a[t-2]<<8)+a[t-1],o.push(i[e>>10]+i[e>>4&63]+i[e<<2&63]+"="));return o.join("")};for(var i=[],n=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,d=r.length;s<d;++s)i[s]=r[s],n[r.charCodeAt(s)]=s;function l(a){var e=a.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var t=a.indexOf("=");return-1===t&&(t=e),[t,t===e?0:4-t%4]}function c(a){return i[a>>18&63]+i[a>>12&63]+i[a>>6&63]+i[63&a]}function u(a,e,t){for(var i,n=[],o=e;o<t;o+=3)i=(a[o]<<16&16711680)+(a[o+1]<<8&65280)+(255&a[o+2]),n.push(c(i));return n.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},function(a,e){e.read=function(a,e,t,i,n){var o,r,s=8*n-i-1,d=(1<<s)-1,l=d>>1,c=-7,u=t?n-1:0,p=t?-1:1,z=a[e+u];for(u+=p,o=z&(1<<-c)-1,z>>=-c,c+=s;c>0;o=256*o+a[e+u],u+=p,c-=8);for(r=o&(1<<-c)-1,o>>=-c,c+=i;c>0;r=256*r+a[e+u],u+=p,c-=8);if(0===o)o=1-l;else{if(o===d)return r?NaN:1/0*(z?-1:1);r+=Math.pow(2,i),o-=l}return(z?-1:1)*r*Math.pow(2,o-i)},e.write=function(a,e,t,i,n,o){var r,s,d,l=8*o-n-1,c=(1<<l)-1,u=c>>1,p=23===n?Math.pow(2,-24)-Math.pow(2,-77):0,z=i?0:o-1,g=i?1:-1,m=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,r=c):(r=Math.floor(Math.log(e)/Math.LN2),e*(d=Math.pow(2,-r))<1&&(r--,d*=2),(e+=r+u>=1?p/d:p*Math.pow(2,1-u))*d>=2&&(r++,d/=2),r+u>=c?(s=0,r=c):r+u>=1?(s=(e*d-1)*Math.pow(2,n),r+=u):(s=e*Math.pow(2,u-1)*Math.pow(2,n),r=0));n>=8;a[t+z]=255&s,z+=g,s/=256,n-=8);for(r=r<<n|s,l+=n;l>0;a[t+z]=255&r,z+=g,r/=256,l-=8);a[t+z-g]|=128*m}},function(a,e){var t={}.toString;a.exports=Array.isArray||function(a){return"[object Array]"==t.call(a)}},function(a,e,t){function i(a){this._cbs=a||{}}a.exports=i;var n=t(361).EVENTS;Object.keys(n).forEach(function(a){if(0===n[a])a="on"+a,i.prototype[a]=function(){this._cbs[a]&&this._cbs[a]()};else if(1===n[a])a="on"+a,i.prototype[a]=function(e){this._cbs[a]&&this._cbs[a](e)};else{if(2!==n[a])throw Error("wrong number of arguments");a="on"+a,i.prototype[a]=function(e,t){this._cbs[a]&&this._cbs[a](e,t)}}})},function(a,e,t){var i=a.exports;[t(980),t(986),t(987),t(988),t(989),t(990)].forEach(function(a){Object.keys(a).forEach(function(e){i[e]=a[e].bind(i)})})},function(a,e,t){var i=t(465),n=t(981),o=i.isTag;a.exports={getInnerHTML:function(a,e){return a.children?a.children.map(function(a){return n(a,e)}).join(""):""},getOuterHTML:n,getText:function a(e){if(Array.isArray(e))return e.map(a).join("");if(o(e))return"br"===e.name?"\n":a(e.children);if(e.type===i.CDATA)return a(e.children);if(e.type===i.Text)return e.data;return""}}},function(a,e,t){var i=t(982),n=t(983),o={__proto__:null,allowfullscreen:!0,async:!0,autofocus:!0,autoplay:!0,checked:!0,controls:!0,default:!0,defer:!0,disabled:!0,hidden:!0,ismap:!0,loop:!0,multiple:!0,muted:!0,open:!0,readonly:!0,required:!0,reversed:!0,scoped:!0,seamless:!0,selected:!0,typemustmatch:!0},r={__proto__:null,style:!0,script:!0,xmp:!0,iframe:!0,noembed:!0,noframes:!0,plaintext:!0,noscript:!0};var s={__proto__:null,area:!0,base:!0,basefont:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,isindex:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},d=a.exports=function(a,e){Array.isArray(a)||a.cheerio||(a=[a]),e=e||{};for(var t="",n=0;n<a.length;n++){var o=a[n];"root"===o.type?t+=d(o.children,e):i.isTag(o)?t+=l(o,e):o.type===i.Directive?t+=c(o):o.type===i.Comment?t+=z(o):o.type===i.CDATA?t+=p(o):t+=u(o,e)}return t};function l(a,e){"svg"===a.name&&(e={decodeEntities:e.decodeEntities,xmlMode:!0});var t="<"+a.name,i=function(a,e){if(a){var t,i="";for(var r in a)t=a[r],i&&(i+=" "),!t&&o[r]?i+=r:i+=r+'="'+(e.decodeEntities?n.encodeXML(t):t)+'"';return i}}(a.attribs,e);return i&&(t+=" "+i),!e.xmlMode||a.children&&0!==a.children.length?(t+=">",a.children&&(t+=d(a.children,e)),s[a.name]&&!e.xmlMode||(t+="</"+a.name+">")):t+="/>",t}function c(a){return"<"+a.data+">"}function u(a,e){var t=a.data||"";return!e.decodeEntities||a.parent&&a.parent.name in r||(t=n.encodeXML(t)),t}function p(a){return"<![CDATA["+a.children[0].data+"]]>"}function z(a){return"\x3c!--"+a.data+"--\x3e"}},function(a,e){a.exports={Text:"text",Directive:"directive",Comment:"comment",Script:"script",Style:"style",Tag:"tag",CDATA:"cdata",isTag:function(a){return"tag"===a.type||"script"===a.type||"style"===a.type}}},function(a,e,t){var i=t(984),n=t(985);e.decode=function(a,e){return(!e||e<=0?n.XML:n.HTML)(a)},e.decodeStrict=function(a,e){return(!e||e<=0?n.XML:n.HTMLStrict)(a)},e.encode=function(a,e){return(!e||e<=0?i.XML:i.HTML)(a)},e.encodeXML=i.XML,e.encodeHTML4=e.encodeHTML5=e.encodeHTML=i.HTML,e.decodeXML=e.decodeXMLStrict=n.XML,e.decodeHTML4=e.decodeHTML5=e.decodeHTML=n.HTML,e.decodeHTML4Strict=e.decodeHTML5Strict=e.decodeHTMLStrict=n.HTMLStrict,e.escape=i.escape},function(a,e,t){var i=s(t(683)),n=d(i);e.XML=z(i,n);var o=s(t(682)),r=d(o);function s(a){return Object.keys(a).sort().reduce(function(e,t){return e[a[t]]="&"+t+";",e},{})}function d(a){var e=[],t=[];return Object.keys(a).forEach(function(a){1===a.length?e.push("\\"+a):t.push(a)}),t.unshift("["+e.join("")+"]"),new RegExp(t.join("|"),"g")}e.HTML=z(o,r);var l=/[^\0-\x7F]/g,c=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;function u(a){return"&#x"+a.charCodeAt(0).toString(16).toUpperCase()+";"}function p(a){return"&#x"+(1024*(a.charCodeAt(0)-55296)+a.charCodeAt(1)-56320+65536).toString(16).toUpperCase()+";"}function z(a,e){function t(e){return a[e]}return function(a){return a.replace(e,t).replace(c,p).replace(l,u)}}var g=d(i);e.escape=function(a){return a.replace(g,u).replace(c,p).replace(l,u)}},function(a,e,t){var i=t(682),n=t(762),o=t(683),r=t(761),s=l(o),d=l(i);function l(a){var e=Object.keys(a).join("|"),t=p(a),i=new RegExp("&(?:"+(e+="|#[xX][\\da-fA-F]+|#\\d+")+");","g");return function(a){return String(a).replace(i,t)}}var c=function(){for(var a=Object.keys(n).sort(u),e=Object.keys(i).sort(u),t=0,o=0;t<e.length;t++)a[o]===e[t]?(e[t]+=";?",o++):e[t]+=";";var r=new RegExp("&(?:"+e.join("|")+"|#[xX][\\da-fA-F]+;?|#\\d+;?)","g"),s=p(i);function d(a){return";"!==a.substr(-1)&&(a+=";"),s(a)}return function(a){return String(a).replace(r,d)}}();function u(a,e){return a<e?1:-1}function p(a){return function(e){return"#"===e.charAt(1)?"X"===e.charAt(2)||"x"===e.charAt(2)?r(parseInt(e.substr(3),16)):r(parseInt(e.substr(2),10)):a[e.slice(1,-1)]}}a.exports={XML:s,HTML:c,HTMLStrict:d}},function(a,e){var t=e.getChildren=function(a){return a.children},i=e.getParent=function(a){return a.parent};e.getSiblings=function(a){var e=i(a);return e?t(e):[a]},e.getAttributeValue=function(a,e){return a.attribs&&a.attribs[e]},e.hasAttrib=function(a,e){return!!a.attribs&&hasOwnProperty.call(a.attribs,e)},e.getName=function(a){return a.name}},function(a,e){e.removeElement=function(a){if(a.prev&&(a.prev.next=a.next),a.next&&(a.next.prev=a.prev),a.parent){var e=a.parent.children;e.splice(e.lastIndexOf(a),1)}},e.replaceElement=function(a,e){var t=e.prev=a.prev;t&&(t.next=e);var i=e.next=a.next;i&&(i.prev=e);var n=e.parent=a.parent;if(n){var o=n.children;o[o.lastIndexOf(a)]=e}},e.appendChild=function(a,e){if(e.parent=a,1!==a.children.push(e)){var t=a.children[a.children.length-2];t.next=e,e.prev=t,e.next=null}},e.append=function(a,e){var t=a.parent,i=a.next;if(e.next=i,e.prev=a,a.next=e,e.parent=t,i){if(i.prev=e,t){var n=t.children;n.splice(n.lastIndexOf(i),0,e)}}else t&&t.children.push(e)},e.prepend=function(a,e){var t=a.parent;if(t){var i=t.children;i.splice(i.lastIndexOf(a),0,e)}a.prev&&(a.prev.next=e),e.parent=t,e.prev=a.prev,e.next=a,a.prev=e}},function(a,e,t){var i=t(465).isTag;function n(a,e,t,i){for(var o,r=[],s=0,d=e.length;s<d&&!(a(e[s])&&(r.push(e[s]),--i<=0))&&(o=e[s].children,!(t&&o&&o.length>0&&(o=n(a,o,t,i),r=r.concat(o),(i-=o.length)<=0)));s++);return r}a.exports={filter:function(a,e,t,i){Array.isArray(e)||(e=[e]);"number"==typeof i&&isFinite(i)||(i=1/0);return n(a,e,!1!==t,i)},find:n,findOneChild:function(a,e){for(var t=0,i=e.length;t<i;t++)if(a(e[t]))return e[t];return null},findOne:function a(e,t){var n=null;for(var o=0,r=t.length;o<r&&!n;o++)i(t[o])&&(e(t[o])?n=t[o]:t[o].children.length>0&&(n=a(e,t[o].children)));return n},existsOne:function a(e,t){for(var n=0,o=t.length;n<o;n++)if(i(t[n])&&(e(t[n])||t[n].children.length>0&&a(e,t[n].children)))return!0;return!1},findAll:function(a,e){var t=[],n=e.slice();for(;n.length;){var o=n.shift();i(o)&&(o.children&&o.children.length>0&&n.unshift.apply(n,o.children),a(o)&&t.push(o))}return t}}},function(a,e,t){var i=t(465),n=e.isTag=i.isTag;e.testElement=function(a,e){for(var t in a)if(a.hasOwnProperty(t)){if("tag_name"===t){if(!n(e)||!a.tag_name(e.name))return!1}else if("tag_type"===t){if(!a.tag_type(e.type))return!1}else if("tag_contains"===t){if(n(e)||!a.tag_contains(e.data))return!1}else if(!e.attribs||!a[t](e.attribs[t]))return!1}else;return!0};var o={tag_name:function(a){return"function"==typeof a?function(e){return n(e)&&a(e.name)}:"*"===a?n:function(e){return n(e)&&e.name===a}},tag_type:function(a){return"function"==typeof a?function(e){return a(e.type)}:function(e){return e.type===a}},tag_contains:function(a){return"function"==typeof a?function(e){return!n(e)&&a(e.data)}:function(e){return!n(e)&&e.data===a}}};function r(a,e){return"function"==typeof e?function(t){return t.attribs&&e(t.attribs[a])}:function(t){return t.attribs&&t.attribs[a]===e}}function s(a,e){return function(t){return a(t)||e(t)}}e.getElements=function(a,e,t,i){var n=Object.keys(a).map(function(e){var t=a[e];return e in o?o[e](t):r(e,t)});return 0===n.length?[]:this.filter(n.reduce(s),e,t,i)},e.getElementById=function(a,e,t){return Array.isArray(e)||(e=[e]),this.findOne(r("id",a),e,!1!==t)},e.getElementsByTagName=function(a,e,t,i){return this.filter(o.tag_name(a),e,t,i)},e.getElementsByTagType=function(a,e,t,i){return this.filter(o.tag_type(a),e,t,i)}},function(a,e){e.removeSubsets=function(a){for(var e,t,i,n=a.length;--n>-1;){for(e=t=a[n],a[n]=null,i=!0;t;){if(a.indexOf(t)>-1){i=!1,a.splice(n,1);break}t=t.parent}i&&(a[n]=e)}return a};var t=1,i=2,n=4,o=8,r=16,s=e.compareDocumentPosition=function(a,e){var s,d,l,c,u,p,z=[],g=[];if(a===e)return 0;for(s=a;s;)z.unshift(s),s=s.parent;for(s=e;s;)g.unshift(s),s=s.parent;for(p=0;z[p]===g[p];)p++;return 0===p?t:(l=(d=z[p-1]).children,c=z[p],u=g[p],l.indexOf(c)>l.indexOf(u)?d===e?n|r:n:d===a?i|o:i)};e.uniqueSort=function(a){var e,t,o=a.length;for(a=a.slice();--o>-1;)e=a[o],(t=a.indexOf(e))>-1&&t<o&&a.splice(o,1);return a.sort(function(a,e){var t=s(a,e);return t&i?-1:t&n?1:0}),a}},function(a,e,t){function i(a){this._cbs=a||{},this.events=[]}a.exports=i;var n=t(361).EVENTS;Object.keys(n).forEach(function(a){if(0===n[a])a="on"+a,i.prototype[a]=function(){this.events.push([a]),this._cbs[a]&&this._cbs[a]()};else if(1===n[a])a="on"+a,i.prototype[a]=function(e){this.events.push([a,e]),this._cbs[a]&&this._cbs[a](e)};else{if(2!==n[a])throw Error("wrong number of arguments");a="on"+a,i.prototype[a]=function(e,t){this.events.push([a,e,t]),this._cbs[a]&&this._cbs[a](e,t)}}}),i.prototype.onreset=function(){this.events=[],this._cbs.onreset&&this._cbs.onreset()},i.prototype.restart=function(){this._cbs.onreset&&this._cbs.onreset();for(var a=0,e=this.events.length;a<e;a++)if(this._cbs[this.events[a][0]]){var t=this.events[a].length;1===t?this._cbs[this.events[a][0]]():2===t?this._cbs[this.events[a][0]](this.events[a][1]):this._cbs[this.events[a][0]](this.events[a][1],this.events[a][2])}}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){return(0,i.default)(a.getText())};var i=function(a){return a&&a.__esModule?a:{default:a}}(t(153))},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=z(t(687)),n=z(t(994)),o=z(t(999)),r=z(t(1e3)),s=z(t(688)),d=z(t(693)),l=t(773),c=z(t(76)),u=t(2),p=t(279);function z(a){return a&&a.__esModule?a:{default:a}}var g=function(a,e){var t=a.map(function(a){return function(a,e){var t=s.default.getFromAnchorTag(a);return s.default.areEqual(t,e)}(a,e)});return a=a.filter(function(a,e){return!1===t[e]})},m=function(a,e,t,i){var o={totalKeyword:0,matchedAnchors:[]},r=a.getKeyword();if(""===r)return o;if(0===(t=g(t,i)).length)return o;var s=a.getLocale();if(0===(t=function(a,e,t){var i=a.map(function(a){return(0,n.default)(a,e,t)});return a=a.filter(function(a,e){return!0===i[e]})}(t,e.getResearch("morphology"),s)).length)return o;var z=a.getSynonyms();return t=function(a,e,t,i){var n=[];return a.forEach(function(a){for(var o=(0,l.buildForms)(a,(0,c.default)(t),i),r=0;r<e.length;r++){var s=e[r];if(100===(0,p.findWordFormsInString)(o,s,t).percentWordMatches){n.push(!0);break}}}),a=a.filter(function(a,e){return!0===n[e]})}(t,(0,u.flatten)([].concat(r,(0,d.default)(z))),s,e.getData("morphology")[(0,c.default)(s)]||!1),o.totalKeyword=t.length,o.matchedAnchors=t,o};e.default=function(a,e){for(var t=(0,i.default)(a.getText()),n=a.getPermalink(),s={total:t.length,totalNaKeyword:0,keyword:{totalKeyword:0,matchedAnchors:[]},internalTotal:0,internalDofollow:0,internalNofollow:0,externalTotal:0,externalDofollow:0,externalNofollow:0,otherTotal:0,otherDofollow:0,otherNofollow:0},d=0;d<t.length;d++){var l=t[d],c=(0,o.default)(l,n),u=(0,r.default)(l);s[c+"Total"]++,s[c+u]++}var p=m(a,e,t,n);return s.keyword.totalKeyword=p.totalKeyword,s.keyword.matchedAnchors=p.matchedAnchors,s}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"en_EN",n=a.match(/>(.*)/gi);return null!==n&&(n=(n=n[0].replace(/<.*?>\s?/gi,"")).slice(1).toString(),100===(0,i.findTopicFormsInString)(e,n,!0,t).percentWordMatches)};var i=t(279)},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a,e,t){var l=c(e);if("tr_TR"===t){var u=(0,d.replaceTurkishIsMemoized)(e);l=new RegExp(u.map(function(a){return(0,n.default)(a)}).join("|"),"ig")}var p=a.match(l)||[];a=a.replace(l,"");var z=(0,r.default)(e,t),g=c(z),m=a.match(g)||[],y=p.concat(m),w=(0,s.default)(e,t);if(w!==z){var f=c(w),b=a.match(f)||[];y=y.concat(b)}return(0,i.map)(y,function(a){return(0,o.default)(a)})};var i=t(2),n=l(t(347)),o=l(t(77)),r=l(t(464)),s=l(t(996)),d=t(998);function l(a){return a&&a.__esModule?a:{default:a}}var c=function(a){return a=(0,n.default)(a),new RegExp(a,"ig")}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a,e){for(var t=(0,i.default)(e),n=t.length-1;n>=0;n--)a=a.replace(t[n].letter,t[n].alternative);return a};var i=function(a){return a&&a.__esModule?a:{default:a}}(t(997))},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){if((0,n.isUndefined)(a))return[];var e=o;return e=e.concat(c((0,i.default)(a)))};var i=function(a){return a&&a.__esModule?a:{default:a}}(t(76)),n=t(2);var o=[{letter:/[\u00A3]/g,alternative:""},{letter:/[\u20AC]/g,alternative:"E"},{letter:/[\u00AA]/g,alternative:"a"},{letter:/[\u00BA]/g,alternative:"o"},{letter:/[\u00C0]/g,alternative:"A"},{letter:/[\u00C1]/g,alternative:"A"},{letter:/[\u00C2]/g,alternative:"A"},{letter:/[\u00C3]/g,alternative:"A"},{letter:/[\u00C4]/g,alternative:"A"},{letter:/[\u00C5]/g,alternative:"A"},{letter:/[\u00C6]/g,alternative:"AE"},{letter:/[\u00C7]/g,alternative:"C"},{letter:/[\u00C8]/g,alternative:"E"},{letter:/[\u00C9]/g,alternative:"E"},{letter:/[\u00CA]/g,alternative:"E"},{letter:/[\u00CB]/g,alternative:"E"},{letter:/[\u00CC]/g,alternative:"I"},{letter:/[\u00CD]/g,alternative:"I"},{letter:/[\u00CE]/g,alternative:"I"},{letter:/[\u00CF]/g,alternative:"I"},{letter:/[\u00D0]/g,alternative:"D"},{letter:/[\u00D1]/g,alternative:"N"},{letter:/[\u00D2]/g,alternative:"O"},{letter:/[\u00D3]/g,alternative:"O"},{letter:/[\u00D4]/g,alternative:"O"},{letter:/[\u00D5]/g,alternative:"O"},{letter:/[\u00D6]/g,alternative:"O"},{letter:/[\u00D8]/g,alternative:"O"},{letter:/[\u00D9]/g,alternative:"U"},{letter:/[\u00DA]/g,alternative:"U"},{letter:/[\u00DB]/g,alternative:"U"},{letter:/[\u00DC]/g,alternative:"U"},{letter:/[\u00DD]/g,alternative:"Y"},{letter:/[\u00DE]/g,alternative:"TH"},{letter:/[\u00DF]/g,alternative:"s"},{letter:/[\u00E0]/g,alternative:"a"},{letter:/[\u00E1]/g,alternative:"a"},{letter:/[\u00E2]/g,alternative:"a"},{letter:/[\u00E3]/g,alternative:"a"},{letter:/[\u00E4]/g,alternative:"a"},{letter:/[\u00E5]/g,alternative:"a"},{letter:/[\u00E6]/g,alternative:"ae"},{letter:/[\u00E7]/g,alternative:"c"},{letter:/[\u00E8]/g,alternative:"e"},{letter:/[\u00E9]/g,alternative:"e"},{letter:/[\u00EA]/g,alternative:"e"},{letter:/[\u00EB]/g,alternative:"e"},{letter:/[\u00EC]/g,alternative:"i"},{letter:/[\u00ED]/g,alternative:"i"},{letter:/[\u00EE]/g,alternative:"i"},{letter:/[\u00EF]/g,alternative:"i"},{letter:/[\u00F0]/g,alternative:"d"},{letter:/[\u00F1]/g,alternative:"n"},{letter:/[\u00F2]/g,alternative:"o"},{letter:/[\u00F3]/g,alternative:"o"},{letter:/[\u00F4]/g,alternative:"o"},{letter:/[\u00F5]/g,alternative:"o"},{letter:/[\u00F6]/g,alternative:"o"},{letter:/[\u00F8]/g,alternative:"o"},{letter:/[\u00F9]/g,alternative:"u"},{letter:/[\u00FA]/g,alternative:"u"},{letter:/[\u00FB]/g,alternative:"u"},{letter:/[\u00FC]/g,alternative:"u"},{letter:/[\u00FD]/g,alternative:"y"},{letter:/[\u00FE]/g,alternative:"th"},{letter:/[\u00FF]/g,alternative:"y"},{letter:/[\u0100]/g,alternative:"A"},{letter:/[\u0101]/g,alternative:"a"},{letter:/[\u0102]/g,alternative:"A"},{letter:/[\u0103]/g,alternative:"a"},{letter:/[\u0104]/g,alternative:"A"},{letter:/[\u0105]/g,alternative:"a"},{letter:/[\u0106]/g,alternative:"C"},{letter:/[\u0107]/g,alternative:"c"},{letter:/[\u0108]/g,alternative:"C"},{letter:/[\u0109]/g,alternative:"c"},{letter:/[\u010A]/g,alternative:"C"},{letter:/[\u010B]/g,alternative:"c"},{letter:/[\u010C]/g,alternative:"C"},{letter:/[\u010D]/g,alternative:"c"},{letter:/[\u010E]/g,alternative:"D"},{letter:/[\u010F]/g,alternative:"d"},{letter:/[\u0110]/g,alternative:"D"},{letter:/[\u0111]/g,alternative:"d"},{letter:/[\u0112]/g,alternative:"E"},{letter:/[\u0113]/g,alternative:"e"},{letter:/[\u0114]/g,alternative:"E"},{letter:/[\u0115]/g,alternative:"e"},{letter:/[\u0116]/g,alternative:"E"},{letter:/[\u0117]/g,alternative:"e"},{letter:/[\u0118]/g,alternative:"E"},{letter:/[\u0119]/g,alternative:"e"},{letter:/[\u011A]/g,alternative:"E"},{letter:/[\u011B]/g,alternative:"e"},{letter:/[\u011C]/g,alternative:"G"},{letter:/[\u011D]/g,alternative:"g"},{letter:/[\u011E]/g,alternative:"G"},{letter:/[\u011F]/g,alternative:"g"},{letter:/[\u0120]/g,alternative:"G"},{letter:/[\u0121]/g,alternative:"g"},{letter:/[\u0122]/g,alternative:"G"},{letter:/[\u0123]/g,alternative:"g"},{letter:/[\u0124]/g,alternative:"H"},{letter:/[\u0125]/g,alternative:"h"},{letter:/[\u0126]/g,alternative:"H"},{letter:/[\u0127]/g,alternative:"h"},{letter:/[\u0128]/g,alternative:"I"},{letter:/[\u0129]/g,alternative:"i"},{letter:/[\u012A]/g,alternative:"I"},{letter:/[\u012B]/g,alternative:"i"},{letter:/[\u012C]/g,alternative:"I"},{letter:/[\u012D]/g,alternative:"i"},{letter:/[\u012E]/g,alternative:"I"},{letter:/[\u012F]/g,alternative:"i"},{letter:/[\u0130]/g,alternative:"I"},{letter:/[\u0131]/g,alternative:"i"},{letter:/[\u0132]/g,alternative:"IJ"},{letter:/[\u0133]/g,alternative:"ij"},{letter:/[\u0134]/g,alternative:"J"},{letter:/[\u0135]/g,alternative:"j"},{letter:/[\u0136]/g,alternative:"K"},{letter:/[\u0137]/g,alternative:"k"},{letter:/[\u0138]/g,alternative:"k"},{letter:/[\u0139]/g,alternative:"L"},{letter:/[\u013A]/g,alternative:"l"},{letter:/[\u013B]/g,alternative:"L"},{letter:/[\u013C]/g,alternative:"l"},{letter:/[\u013D]/g,alternative:"L"},{letter:/[\u013E]/g,alternative:"l"},{letter:/[\u013F]/g,alternative:"L"},{letter:/[\u0140]/g,alternative:"l"},{letter:/[\u0141]/g,alternative:"L"},{letter:/[\u0142]/g,alternative:"l"},{letter:/[\u0143]/g,alternative:"N"},{letter:/[\u0144]/g,alternative:"n"},{letter:/[\u0145]/g,alternative:"N"},{letter:/[\u0146]/g,alternative:"n"},{letter:/[\u0147]/g,alternative:"N"},{letter:/[\u0148]/g,alternative:"n"},{letter:/[\u0149]/g,alternative:"n"},{letter:/[\u014A]/g,alternative:"N"},{letter:/[\u014B]/g,alternative:"n"},{letter:/[\u014C]/g,alternative:"O"},{letter:/[\u014D]/g,alternative:"o"},{letter:/[\u014E]/g,alternative:"O"},{letter:/[\u014F]/g,alternative:"o"},{letter:/[\u0150]/g,alternative:"O"},{letter:/[\u0151]/g,alternative:"o"},{letter:/[\u0152]/g,alternative:"OE"},{letter:/[\u0153]/g,alternative:"oe"},{letter:/[\u0154]/g,alternative:"R"},{letter:/[\u0155]/g,alternative:"r"},{letter:/[\u0156]/g,alternative:"R"},{letter:/[\u0157]/g,alternative:"r"},{letter:/[\u0158]/g,alternative:"R"},{letter:/[\u0159]/g,alternative:"r"},{letter:/[\u015A]/g,alternative:"S"},{letter:/[\u015B]/g,alternative:"s"},{letter:/[\u015C]/g,alternative:"S"},{letter:/[\u015D]/g,alternative:"s"},{letter:/[\u015E]/g,alternative:"S"},{letter:/[\u015F]/g,alternative:"s"},{letter:/[\u0160]/g,alternative:"S"},{letter:/[\u0161]/g,alternative:"s"},{letter:/[\u0162]/g,alternative:"T"},{letter:/[\u0163]/g,alternative:"t"},{letter:/[\u0164]/g,alternative:"T"},{letter:/[\u0165]/g,alternative:"t"},{letter:/[\u0166]/g,alternative:"T"},{letter:/[\u0167]/g,alternative:"t"},{letter:/[\u0168]/g,alternative:"U"},{letter:/[\u0169]/g,alternative:"u"},{letter:/[\u016A]/g,alternative:"U"},{letter:/[\u016B]/g,alternative:"u"},{letter:/[\u016C]/g,alternative:"U"},{letter:/[\u016D]/g,alternative:"u"},{letter:/[\u016E]/g,alternative:"U"},{letter:/[\u016F]/g,alternative:"u"},{letter:/[\u0170]/g,alternative:"U"},{letter:/[\u0171]/g,alternative:"u"},{letter:/[\u0172]/g,alternative:"U"},{letter:/[\u0173]/g,alternative:"u"},{letter:/[\u0174]/g,alternative:"W"},{letter:/[\u0175]/g,alternative:"w"},{letter:/[\u0176]/g,alternative:"Y"},{letter:/[\u0177]/g,alternative:"y"},{letter:/[\u0178]/g,alternative:"Y"},{letter:/[\u0179]/g,alternative:"Z"},{letter:/[\u017A]/g,alternative:"z"},{letter:/[\u017B]/g,alternative:"Z"},{letter:/[\u017C]/g,alternative:"z"},{letter:/[\u017D]/g,alternative:"Z"},{letter:/[\u017E]/g,alternative:"z"},{letter:/[\u017F]/g,alternative:"s"},{letter:/[\u01A0]/g,alternative:"O"},{letter:/[\u01A1]/g,alternative:"o"},{letter:/[\u01AF]/g,alternative:"U"},{letter:/[\u01B0]/g,alternative:"u"},{letter:/[\u01CD]/g,alternative:"A"},{letter:/[\u01CE]/g,alternative:"a"},{letter:/[\u01CF]/g,alternative:"I"},{letter:/[\u01D0]/g,alternative:"i"},{letter:/[\u01D1]/g,alternative:"O"},{letter:/[\u01D2]/g,alternative:"o"},{letter:/[\u01D3]/g,alternative:"U"},{letter:/[\u01D4]/g,alternative:"u"},{letter:/[\u01D5]/g,alternative:"U"},{letter:/[\u01D6]/g,alternative:"u"},{letter:/[\u01D7]/g,alternative:"U"},{letter:/[\u01D8]/g,alternative:"u"},{letter:/[\u01D9]/g,alternative:"U"},{letter:/[\u01DA]/g,alternative:"u"},{letter:/[\u01DB]/g,alternative:"U"},{letter:/[\u01DC]/g,alternative:"u"},{letter:/[\u0218]/g,alternative:"S"},{letter:/[\u0219]/g,alternative:"s"},{letter:/[\u021A]/g,alternative:"T"},{letter:/[\u021B]/g,alternative:"t"},{letter:/[\u0251]/g,alternative:"a"},{letter:/[\u1EA0]/g,alternative:"A"},{letter:/[\u1EA1]/g,alternative:"a"},{letter:/[\u1EA2]/g,alternative:"A"},{letter:/[\u1EA3]/g,alternative:"a"},{letter:/[\u1EA4]/g,alternative:"A"},{letter:/[\u1EA5]/g,alternative:"a"},{letter:/[\u1EA6]/g,alternative:"A"},{letter:/[\u1EA7]/g,alternative:"a"},{letter:/[\u1EA8]/g,alternative:"A"},{letter:/[\u1EA9]/g,alternative:"a"},{letter:/[\u1EAA]/g,alternative:"A"},{letter:/[\u1EAB]/g,alternative:"a"},{letter:/[\u1EA6]/g,alternative:"A"},{letter:/[\u1EAD]/g,alternative:"a"},{letter:/[\u1EAE]/g,alternative:"A"},{letter:/[\u1EAF]/g,alternative:"a"},{letter:/[\u1EB0]/g,alternative:"A"},{letter:/[\u1EB1]/g,alternative:"a"},{letter:/[\u1EB2]/g,alternative:"A"},{letter:/[\u1EB3]/g,alternative:"a"},{letter:/[\u1EB4]/g,alternative:"A"},{letter:/[\u1EB5]/g,alternative:"a"},{letter:/[\u1EB6]/g,alternative:"A"},{letter:/[\u1EB7]/g,alternative:"a"},{letter:/[\u1EB8]/g,alternative:"E"},{letter:/[\u1EB9]/g,alternative:"e"},{letter:/[\u1EBA]/g,alternative:"E"},{letter:/[\u1EBB]/g,alternative:"e"},{letter:/[\u1EBC]/g,alternative:"E"},{letter:/[\u1EBD]/g,alternative:"e"},{letter:/[\u1EBE]/g,alternative:"E"},{letter:/[\u1EBF]/g,alternative:"e"},{letter:/[\u1EC0]/g,alternative:"E"},{letter:/[\u1EC1]/g,alternative:"e"},{letter:/[\u1EC2]/g,alternative:"E"},{letter:/[\u1EC3]/g,alternative:"e"},{letter:/[\u1EC4]/g,alternative:"E"},{letter:/[\u1EC5]/g,alternative:"e"},{letter:/[\u1EC6]/g,alternative:"E"},{letter:/[\u1EC7]/g,alternative:"e"},{letter:/[\u1EC8]/g,alternative:"I"},{letter:/[\u1EC9]/g,alternative:"i"},{letter:/[\u1ECA]/g,alternative:"I"},{letter:/[\u1ECB]/g,alternative:"i"},{letter:/[\u1ECC]/g,alternative:"O"},{letter:/[\u1ECD]/g,alternative:"o"},{letter:/[\u1ECE]/g,alternative:"O"},{letter:/[\u1ECF]/g,alternative:"o"},{letter:/[\u1ED0]/g,alternative:"O"},{letter:/[\u1ED1]/g,alternative:"o"},{letter:/[\u1ED2]/g,alternative:"O"},{letter:/[\u1ED3]/g,alternative:"o"},{letter:/[\u1ED4]/g,alternative:"O"},{letter:/[\u1ED5]/g,alternative:"o"},{letter:/[\u1ED6]/g,alternative:"O"},{letter:/[\u1ED7]/g,alternative:"o"},{letter:/[\u1ED8]/g,alternative:"O"},{letter:/[\u1ED9]/g,alternative:"o"},{letter:/[\u1EDA]/g,alternative:"O"},{letter:/[\u1EDB]/g,alternative:"o"},{letter:/[\u1EDC]/g,alternative:"O"},{letter:/[\u1EDD]/g,alternative:"o"},{letter:/[\u1EDE]/g,alternative:"O"},{letter:/[\u1EDF]/g,alternative:"o"},{letter:/[\u1EE0]/g,alternative:"O"},{letter:/[\u1EE1]/g,alternative:"o"},{letter:/[\u1EE2]/g,alternative:"O"},{letter:/[\u1EE3]/g,alternative:"o"},{letter:/[\u1EE4]/g,alternative:"U"},{letter:/[\u1EE5]/g,alternative:"u"},{letter:/[\u1EE6]/g,alternative:"U"},{letter:/[\u1EE7]/g,alternative:"u"},{letter:/[\u1EE8]/g,alternative:"U"},{letter:/[\u1EE9]/g,alternative:"u"},{letter:/[\u1EEA]/g,alternative:"U"},{letter:/[\u1EEB]/g,alternative:"u"},{letter:/[\u1EEC]/g,alternative:"U"},{letter:/[\u1EED]/g,alternative:"u"},{letter:/[\u1EEE]/g,alternative:"U"},{letter:/[\u1EEF]/g,alternative:"u"},{letter:/[\u1EF0]/g,alternative:"U"},{letter:/[\u1EF1]/g,alternative:"u"},{letter:/[\u1EF2]/g,alternative:"Y"},{letter:/[\u1EF3]/g,alternative:"y"},{letter:/[\u1EF4]/g,alternative:"Y"},{letter:/[\u1EF5]/g,alternative:"y"},{letter:/[\u1EF6]/g,alternative:"Y"},{letter:/[\u1EF7]/g,alternative:"y"},{letter:/[\u1EF8]/g,alternative:"Y"},{letter:/[\u1EF9]/g,alternative:"y"}],r=[{letter:/[\u00C4]/g,alternative:"Ae"},{letter:/[\u00E4]/g,alternative:"ae"},{letter:/[\u00D6]/g,alternative:"Oe"},{letter:/[\u00F6]/g,alternative:"oe"},{letter:/[\u00DC]/g,alternative:"Ue"},{letter:/[\u00FC]/g,alternative:"ue"},{letter:/[\u1E9E]/g,alternative:"SS"},{letter:/[\u00DF]/g,alternative:"ss"}],s=[{letter:/[\u00C6]/g,alternative:"Ae"},{letter:/[\u00E6]/g,alternative:"ae"},{letter:/[\u00D8]/g,alternative:"Oe"},{letter:/[\u00F8]/g,alternative:"oe"},{letter:/[\u00C5]/g,alternative:"Aa"},{letter:/[\u00E5]/g,alternative:"aa"}],d=[{letter:/[\u00B7]/g,alternative:"ll"}],l=[{letter:/[\u0110]/g,alternative:"DJ"},{letter:/[\u0111]/g,alternative:"dj"}],c=function(a){switch(a){case"de":return r;case"da":return s;case"ca":return d;case"sr":case"bs":return l;default:return[]}}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.replaceTurkishIsMemoized=e.replaceTurkishIs=e.combinations=e.arraysOverlap=e.arraysDifference=e.getIndicesOfCharacter=e.getIndicesOfWords=void 0;var i=s(t(458)),n=s(t(390)),o=s(t(75)),r=s(t(145));function s(a){return a&&a.__esModule?a:{default:a}}function d(a){var e=[],t=0;return(0,r.default)(a).forEach(function(i){var n=a.indexOf(i,t);e.push(n),t=n+i.length}),e}function l(a,e){var t=[];if(a.indexOf(e)>-1)for(var i=0;i<a.length;i++)a[i]===e&&t.push(i);return t}function c(a,e){return(0,i.default)(a,function(a){return!(0,n.default)(e,a)})}function u(a,e){return(0,i.default)(a,function(a){return(0,n.default)(e,a)})}function p(a){return function a(e,t){var i=e[0];if(void 0===i)return t;for(var n=0,o=t.length;n<o;++n)t.push(t[n].concat(i));return a(e.slice(1),t)}(a,[[]]).slice(1).concat([[]])}function z(a,e,t){var i=a.split("");return e.forEach(function(a){i.splice(a,1,t)}),i.join("")}function g(a){var e=l(a,"İ").concat(l(a,"I"),l(a,"i"),l(a,"ı"));if(e.sort(),0===e.length)return[a];var t=u(d(a),e),i=[];p(t).forEach(function(a){if(a===t)i.push([a,[],[],[]]);else{var e=c(t,a);p(e).forEach(function(t){if(t===e)i.push([a,t,[],[]]);else{var n=c(e,t);p(n).forEach(function(e){if(e===n)i.push([a,t,e,[]]);else{var o=c(n,e);i.push([a,t,e,o])}})}})}});var n=[];return i.forEach(function(e){var t=z(z(z(z(a,e[0],"İ"),e[1],"I"),e[2],"i"),e[3],"ı");n.push(t)}),n}var m=(0,o.default)(g);e.getIndicesOfWords=d,e.getIndicesOfCharacter=l,e.arraysDifference=c,e.arraysOverlap=u,e.combinations=p,e.replaceTurkishIs=g,e.replaceTurkishIsMemoized=m},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a,e){var t=i.default.getFromAnchorTag(a),n=i.default.getProtocol(t);return n&&!i.default.protocolIsHttpScheme(n)||i.default.isRelativeFragmentURL(t)?"other":i.default.isInternalLink(t,i.default.getHostname(e))?"internal":"external"};var i=function(a){return a&&a.__esModule?a:{default:a}}(t(688))},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){var e="Dofollow",t=new i.default.Parser({onopentag:function(a,t){"a"===a&&t.rel&&t.rel.toLowerCase().split(/\s/).includes("nofollow")&&(e="Nofollow")}});return t.write(a),t.end(),e};var i=function(a){return a&&a.__esModule?a:{default:a}}(t(361))},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){return a=(a=a.replace(i,"")).replace(n,"")};var i=new RegExp("^[\\–\\-\\(\\)_\\[\\]’'.?!:;,¿¡«»‹›—×+&<>]+"),n=new RegExp("[\\–\\-\\(\\)_\\[\\]’'.?!:;,¿¡«»‹›—×+&<>]+$")},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return{en:i.getForms}};var i=t(1003)},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getForms=function(a,e){if((0,n.checkPossessive)(a,(0,i.default)(e.nouns.regexNoun.possessiveToBase)))return(0,s.uniq)((0,n.getNounFormsWithPossessives)(a,e.nouns));return(0,s.uniq)((0,s.flatten)([(0,n.getNounFormsWithPossessives)(a,e.nouns),(0,o.getVerbForms)(a,e.verbs),(0,r.getAdjectiveForms)(a,e.adjectives)]))};var i=function(a){return a&&a.__esModule?a:{default:a}}(t(503)),n=t(1004),o=t(1005),r=t(1006),s=t(2)},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.checkPossessive=e.getNounForms=e.getNounFormsWithPossessives=void 0;var i=function(a){return a&&a.__esModule?a:{default:a}}(t(503)),n=t(694),o=t(2);var r=function(a,e){for(var t=0;t<e.length;t++)if(e[t].reg.test(a))return!0},s=function(a,e){var t=[].concat(a),r=a,s=e.regexNoun,d=(0,n.buildOneFormFromRegex)(a,(0,i.default)(s.possessiveToBase));(0,o.isUndefined)(d)||(r=d,t=t.concat(r));var l=function(a,e){var t=void 0;return e.forEach(function(e){e.forEach(function(i){i===a&&(t=e)})}),t}(r,e.irregularNouns);if(!(0,o.isUndefined)(l))return l;var c=(0,n.buildTwoFormsFromRegex)(r,(0,i.default)(s.hispanic));if(!(0,o.isUndefined)(c))return t.push(c[0],c[1]),t;var u=(0,n.buildOneFormFromRegex)(r,(0,i.default)(s.singularize));(0,o.isUndefined)(u)||t.push(u);var p=(0,n.buildOneFormFromRegex)(r,(0,i.default)(s.pluralize));return(0,o.isUndefined)(p)||t.push(p),(0,o.uniq)(t)};e.getNounFormsWithPossessives=function(a,e){var t=s(a,e);return t=t.concat(t.map(function(a){if(!r(a,(0,i.default)(e.regexNoun.possessiveToBase)))return(0,n.buildTwoFormsFromRegex)(a,(0,i.default)(e.regexNoun.baseToPossessive))})).filter(Boolean),(0,o.uniq)((0,o.flatten)(t))},e.getNounForms=s,e.checkPossessive=r},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.normalizePrefixed=e.getVerbForms=void 0;var i=function(a){return a&&a.__esModule?a:{default:a}}(t(503)),n=t(694),o=t(2);var r=function(a,e){for(var t in e)e.hasOwnProperty(t)&&(e[t]=new RegExp(e[t],"i"));return!0===e.sevenLetterHyphenPrefixes.test(a)?{normalizedWord:a.replace(e.sevenLetterHyphenPrefixes,""),prefix:a.substring(0,8)}:!0===e.sevenLetterPrefixes.test(a)?{normalizedWord:a.replace(e.sevenLetterPrefixes,""),prefix:a.substring(0,7)}:!0===e.fiveLetterHyphenPrefixes.test(a)?{normalizedWord:a.replace(e.fiveLetterHyphenPrefixes,""),prefix:a.substring(0,6)}:!0===e.fiveLetterPrefixes.test(a)?{normalizedWord:a.replace(e.fiveLetterPrefixes,""),prefix:a.substring(0,5)}:!0===e.fourLetterHyphenPrefixes.test(a)?{normalizedWord:a.replace(e.fourLetterHyphenPrefixes,""),prefix:a.substring(0,5)}:!0===e.fourLetterPrefixes.test(a)?{normalizedWord:a.replace(e.fourLetterPrefixes,""),prefix:a.substring(0,4)}:!0===e.threeLetterHyphenPrefixes.test(a)?{normalizedWord:a.replace(e.threeLetterHyphenPrefixes,""),prefix:a.substring(0,4)}:!0===e.threeLetterPrefixes.test(a)?{normalizedWord:a.replace(e.threeLetterPrefixes,""),prefix:a.substring(0,3)}:!0===e.twoLetterHyphenPrefixes.test(a)?{normalizedWord:a.replace(e.twoLetterHyphenPrefixes,""),prefix:a.substring(0,3)}:!0===e.twoLetterPrefixes.test(a)?{normalizedWord:a.replace(e.twoLetterPrefixes,""),prefix:a.substring(0,2)}:!0===e.oneLetterPrefixes.test(a)?{normalizedWord:a.replace(e.oneLetterPrefixes,""),prefix:a.substring(0,1)}:void 0};e.getVerbForms=function(a,e){var t=e.regexVerb,s=function(a,e,t){var i=void 0;if(e.forEach(function(e){e.forEach(function(t){t===a&&(i=e)})}),(0,o.isUndefined)(i)){var n=r(a,t);(0,o.isUndefined)(n)||e.forEach(function(a){a.forEach(function(e){e===n.normalizedWord&&(i=a.map(function(a){return n.prefix.concat(a)}))})})}return i}(a,e.irregularVerbs,t.verbPrefixes);if(!(0,o.isUndefined)(s))return s;var d=[],l=function(a,e,t,i){return function(a){return a.length>3&&"s"===a[a.length-1]}(a)?{infinitive:(0,n.buildOneFormFromRegex)(a,e),guessedForm:"s"}:function(a){return a.length>4&&"ing"===a.substring(a.length-3,a.length)}(a)?{infinitive:(0,n.buildOneFormFromRegex)(a,t),guessedForm:"ing"}:function(a){return a.length>3&&"ed"===a.substring(a.length-2,a.length)}(a)?{infinitive:(0,n.buildOneFormFromRegex)(a,i),guessedForm:"ed"}:{infinitive:a,guessedForm:"inf"}}(a,(0,i.default)(t.sFormToInfinitive),(0,i.default)(t.ingFormToInfinitive),(0,i.default)(t.edFormToInfinitive)).infinitive;return(0,o.isUndefined)(l)&&(l=a),(d=d.concat(a)).push(l),d.push((0,n.buildOneFormFromRegex)(l,(0,i.default)(t.infinitiveToSForm))),d.push((0,n.buildOneFormFromRegex)(l,(0,i.default)(t.infinitiveToIngForm))),d.push((0,n.buildOneFormFromRegex)(l,(0,i.default)(t.infinitiveToEdForm))),d=d.filter(Boolean),(0,o.uniq)((0,o.flatten)(d))},e.normalizePrefixed=r},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getBase=e.getAdjectiveForms=void 0;var i=s(t(695)),n=s(t(503)),o=t(694),r=t(2);function s(a){return a&&a.__esModule?a:{default:a}}var d=function(a,e,t,i){return function(a){return a.length>3&&"er"===a.substring(a.length-2,a.length)}(a)?{base:(0,o.buildOneFormFromRegex)(a,e),guessedForm:"er"}:function(a){return a.length>4&&"est"===a.substring(a.length-3,a.length)}(a)?{base:(0,o.buildOneFormFromRegex)(a,t),guessedForm:"est"}:function(a){return a.length>3&&"ly"===a.substring(a.length-2,a.length)}(a)?{base:(0,o.buildOneFormFromRegex)(a,i),guessedForm:"ly"}:{base:a,guessedForm:"base"}};e.getAdjectiveForms=function(a,e){var t=function(a,e){var t=void 0;return e.forEach(function(e){e.forEach(function(i){i===a&&(t=e)})}),t}(a,e.irregularAdjectives);if(!(0,r.isUndefined)(t))return t;var s=[],l=e.regexAdjective,c=(0,o.buildTwoFormsFromRegex)(a,(0,n.default)(l.icallyAdverbs));if(!(0,r.isUndefined)(c))return c.concat(a);var u=(0,n.default)(l.comparativeToBase),p=(0,n.default)(l.superlativeToBase),z=(0,n.default)(l.adverbToBase),g=d(a,u,p,z).base;(0,r.isUndefined)(g)&&(g=a),(s=s.concat(a)).push(g),s.push((0,o.buildOneFormFromRegex)(g,(0,n.default)(l.adverb)));var m=new RegExp(l.noComparativeOrSuperlative,"i");return!0===function(a){return(0,i.default)(a,"en_EN")>2}(g)||!0===m.test(g)?(0,r.uniq)(s.filter(Boolean)):(s.push((0,o.buildOneFormFromRegex)(g,(0,n.default)(l.comparative))),s.push((0,o.buildOneFormFromRegex)(g,(0,n.default)(l.superlative))),(0,r.uniq)((0,r.flatten)(s.filter(Boolean))))},e.getBase=d},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"en_US",e=(0,i.default)(a);return p.hasOwnProperty(e)?p[e]:p.en};var i=u(t(76)),n=(t(2),u(t(1008))),o=u(t(1009)),r=u(t(1010)),s=u(t(1011)),d=u(t(1012)),l=u(t(1013)),c=u(t(1014));function u(a){return a&&a.__esModule?a:{default:a}}var p={de:n.default,nl:r.default,en:o.default,it:s.default,ru:d.default,fr:l.default,es:c.default}},function(a){a.exports={vowels:"aeiouyäöüáéâàèîêâûôœ",deviations:{vowels:[{fragments:["ouil","deaux","deau$","oard","äthiop","euil","veau","eau$","ueue","lienisch","ance$","ence$","time$","once$","ziat","guette","ête","ôte$","[hp]omme$","[qdscn]ue$","aire$","ture$","êpe$","[^q]ui$","tiche$","vice$","oile$","zial","cruis","leas","coa[ct]","[^i]deal","[fw]eat","[lsx]ed$"],countModifier:-1},{fragments:["aau","a[äöüo]","äue","äeu","aei","aue","aeu","ael","ai[aeo]","saik","aismus","ä[aeoi]","auä","éa","e[äaoö]","ei[eo]","ee[aeiou]","eu[aäe]","eum$","eü","o[aäöü]","poet","oo[eo]","oie","oei[^l]","oeu[^f]","öa","[fgrz]ieu","mieun","tieur","ieum","i[aiuü]","[^l]iä","[^s]chien","io[bcdfhjkmpqtuvwx]","[bdhmprv]ion","[lr]ior","[^g]io[gs]","[dr]ioz","elioz","zioni","bio[lnorz]","iö[^s]","ie[ei]","rier$","öi[eg]","[^r]öisch","[^gqv]u[aeéioöuü]","quie$","quie[^s]","uäu","^us-","^it-","üe","naiv","aisch$","aische$","aische[nrs]$","[lst]ien","dien$","gois","[^g]rient","[aeiou]y[aeiou]","byi","yä","[a-z]y[ao]","yau","koor","scient","eriel","[dg]oing"],countModifier:1},{fragments:["eauü","ioi","ioo","ioa","iii","oai","eueu"],countModifier:1}],words:{full:[{word:"beach",syllables:1},{word:"beat",syllables:1},{word:"beau",syllables:1},{word:"beaune",syllables:1},{word:"belle",syllables:1},{word:"bouche",syllables:1},{word:"brake",syllables:1},{word:"cache",syllables:1},{word:"chaiselongue",syllables:2},{word:"choke",syllables:1},{word:"cordiale",syllables:3},{word:"core",syllables:1},{word:"dope",syllables:1},{word:"eat",syllables:1},{word:"eye",syllables:1},{word:"fake",syllables:1},{word:"fame",syllables:1},{word:"fatigue",syllables:2},{word:"femme",syllables:1},{word:"force",syllables:1},{word:"game",syllables:1},{word:"games",syllables:1},{word:"gate",syllables:1},{word:"grande",syllables:1},{word:"ice",syllables:1},{word:"ion",syllables:2},{word:"joke",syllables:1},{word:"jupe",syllables:1},{word:"maisch",syllables:1},{word:"maische",syllables:2},{word:"move",syllables:1},{word:"native",syllables:2},{word:"nice",syllables:1},{word:"one",syllables:1},{word:"pipe",syllables:1},{word:"prime",syllables:1},{word:"rate",syllables:1},{word:"rhythm",syllables:2},{word:"ride",syllables:1},{word:"rides",syllables:1},{word:"rien",syllables:2},{word:"save",syllables:1},{word:"science",syllables:2},{word:"siècle",syllables:1},{word:"site",syllables:1},{word:"suite",syllables:1},{word:"take",syllables:1},{word:"taupe",syllables:1},{word:"universe",syllables:3},{word:"vogue",syllables:1},{word:"wave",syllables:1},{word:"zion",syllables:2}],fragments:{global:[{word:"abreaktion",syllables:4},{word:"adware",syllables:2},{word:"affaire",syllables:3},{word:"aiguière",syllables:2},{word:"anisette",syllables:3},{word:"appeal",syllables:2},{word:"backstage",syllables:2},{word:"bankrate",syllables:2},{word:"baseball",syllables:2},{word:"basejump",syllables:2},{word:"beachcomber",syllables:3},{word:"beachvolleyball",syllables:4},{word:"beagle",syllables:2},{word:"beamer",syllables:2},{word:"beamer",syllables:2},{word:"béarnaise",syllables:3},{word:"beaufort",syllables:2},{word:"beaujolais",syllables:3},{word:"beauté",syllables:2},{word:"beauty",syllables:2},{word:"belgier",syllables:3},{word:"bestien",syllables:2},{word:"biskuit",syllables:2},{word:"bleach",syllables:1},{word:"blue",syllables:1},{word:"board",syllables:1},{word:"boat",syllables:1},{word:"bodysuit",syllables:3},{word:"bordelaise",syllables:3},{word:"break",syllables:1},{word:"build",syllables:1},{word:"bureau",syllables:2},{word:"business",syllables:2},{word:"cabrio",syllables:3},{word:"cabriolet",syllables:4},{word:"cachesexe",syllables:2},{word:"camaieu",syllables:3},{word:"canyon",syllables:2},{word:"case",syllables:1},{word:"catsuit",syllables:2},{word:"centime",syllables:3},{word:"chaise",syllables:2},{word:"champion",syllables:2},{word:"championat",syllables:3},{word:"chapiteau",syllables:3},{word:"chateau",syllables:2},{word:"château",syllables:2},{word:"cheat",syllables:1},{word:"cheese",syllables:1},{word:"chihuahua",syllables:3},{word:"choice",syllables:1},{word:"circonflexe",syllables:3},{word:"clean",syllables:1},{word:"cloche",syllables:1},{word:"close",syllables:1},{word:"clothes",syllables:1},{word:"commerce",syllables:2},{word:"crime",syllables:1},{word:"crossrate",syllables:2},{word:"cuisine",syllables:2},{word:"culotte",syllables:2},{word:"death",syllables:1},{word:"defense",syllables:2},{word:"détente",syllables:2},{word:"dread",syllables:1},{word:"dream",syllables:1},{word:"dresscode",syllables:2},{word:"dungeon",syllables:2},{word:"easy",syllables:2},{word:"engagement",syllables:3},{word:"entente",syllables:2},{word:"eye-catcher",syllables:3},{word:"eyecatcher",syllables:3},{word:"eyeliner",syllables:3},{word:"eyeword",syllables:2},{word:"fashion",syllables:2},{word:"feature",syllables:2},{word:"ferien",syllables:3},{word:"fineliner",syllables:3},{word:"fisheye",syllables:2},{word:"flake",syllables:1},{word:"flambeau",syllables:2},{word:"flatrate",syllables:2},{word:"fleece",syllables:1},{word:"fraîche",syllables:1},{word:"freak",syllables:1},{word:"frites",syllables:1},{word:"future",syllables:2},{word:"gaelic",syllables:2},{word:"game-show",syllables:2},{word:"gameboy",syllables:2},{word:"gamepad",syllables:2},{word:"gameplay",syllables:2},{word:"gameport",syllables:2},{word:"gameshow",syllables:2},{word:"garigue",syllables:2},{word:"garrigue",syllables:2},{word:"gatefold",syllables:2},{word:"gateway",syllables:2},{word:"geflashed",syllables:2},{word:"georgier",syllables:4},{word:"goal",syllables:1},{word:"grapefruit",syllables:2},{word:"great",syllables:1},{word:"groupware",syllables:2},{word:"gueule",syllables:1},{word:"guide",syllables:1},{word:"guilloche",syllables:2},{word:"gynäzeen",syllables:4},{word:"gynözeen",syllables:4},{word:"haircare",syllables:2},{word:"hardcore",syllables:2},{word:"hardware",syllables:2},{word:"head",syllables:1},{word:"hearing",syllables:2},{word:"heart",syllables:1},{word:"heavy",syllables:2},{word:"hedge",syllables:1},{word:"heroin",syllables:3},{word:"inclusive",syllables:3},{word:"initiative",syllables:4},{word:"inside",syllables:2},{word:"jaguar",syllables:3},{word:"jalousette",syllables:3},{word:"jeans",syllables:1},{word:"jeunesse",syllables:2},{word:"juice",syllables:1},{word:"jukebox",syllables:2},{word:"jumpsuit",syllables:2},{word:"kanarien",syllables:4},{word:"kapriole",syllables:4},{word:"karosserielinie",syllables:6},{word:"konopeen",syllables:4},{word:"lacrosse",syllables:2},{word:"laplace",syllables:2},{word:"late-",syllables:1},{word:"lead",syllables:1},{word:"league",syllables:1},{word:"learn",syllables:1},{word:"légière",syllables:2},{word:"lizenziat",syllables:4},{word:"load",syllables:1},{word:"lotterielos",syllables:4},{word:"lounge",syllables:1},{word:"lyzeen",syllables:3},{word:"madame",syllables:2},{word:"mademoiselle",syllables:3},{word:"magier",syllables:3},{word:"make-up",syllables:2},{word:"malware",syllables:2},{word:"management",syllables:3},{word:"manteau",syllables:2},{word:"mausoleen",syllables:4},{word:"mauve",syllables:1},{word:"medien",syllables:3},{word:"mesdames",syllables:2},{word:"mesopotamien",syllables:6},{word:"milliarde",syllables:3},{word:"missile",syllables:2},{word:"miszellaneen",syllables:5},{word:"mousse",syllables:1},{word:"mousseline",syllables:3},{word:"museen",syllables:3},{word:"musette",syllables:2},{word:"nahuatl",syllables:2},{word:"noisette",syllables:2},{word:"notebook",syllables:2},{word:"nuance",syllables:3},{word:"nuklease",syllables:4},{word:"odeen",syllables:3},{word:"offline",syllables:2},{word:"offside",syllables:2},{word:"oleaster",syllables:4},{word:"on-stage",syllables:2},{word:"online",syllables:2},{word:"orpheen",syllables:3},{word:"parforceritt",syllables:3},{word:"patiens",syllables:2},{word:"patient",syllables:2},{word:"peace",syllables:1},{word:"peace",syllables:1},{word:"peanuts",syllables:2},{word:"people",syllables:2},{word:"perineen",syllables:4},{word:"peritoneen",syllables:5},{word:"picture",syllables:2},{word:"piece",syllables:1},{word:"pipeline",syllables:2},{word:"plateau",syllables:2},{word:"poesie",syllables:3},{word:"poleposition",syllables:4},{word:"portemanteau",syllables:3},{word:"portemonnaie",syllables:3},{word:"primerate",syllables:2},{word:"primerate",syllables:2},{word:"primetime",syllables:2},{word:"protease",syllables:4},{word:"protein",syllables:3},{word:"prytaneen",syllables:4},{word:"quotient",syllables:2},{word:"radio",syllables:3},{word:"reader",syllables:2},{word:"ready",syllables:2},{word:"reallife",syllables:2},{word:"repeat",syllables:2},{word:"retake",syllables:2},{word:"rigole",syllables:2},{word:"risolle",syllables:2},{word:"road",syllables:1},{word:"roaming",syllables:2},{word:"roquefort",syllables:2},{word:"safe",syllables:1},{word:"savonette",syllables:3},{word:"sciencefiction",syllables:3},{word:"search",syllables:1},{word:"selfmade",syllables:2},{word:"septime",syllables:3},{word:"serapeen",syllables:4},{word:"service",syllables:2},{word:"serviette",syllables:2},{word:"share",syllables:1},{word:"shave",syllables:1},{word:"shore",syllables:1},{word:"sidebar",syllables:2},{word:"sideboard",syllables:2},{word:"sidekick",syllables:2},{word:"silhouette",syllables:3},{word:"sitemap",syllables:2},{word:"slide",syllables:1},{word:"sneak",syllables:1},{word:"soap",syllables:1},{word:"softcore",syllables:2},{word:"software",syllables:2},{word:"soutanelle",syllables:3},{word:"speak",syllables:1},{word:"special",syllables:2},{word:"spracheinstellung",syllables:5},{word:"spyware",syllables:2},{word:"square",syllables:1},{word:"stagediving",syllables:3},{word:"stakeholder",syllables:3},{word:"statement",syllables:2},{word:"steady",syllables:2},{word:"steak",syllables:1},{word:"stealth",syllables:1},{word:"steam",syllables:1},{word:"stoned",syllables:1},{word:"stracciatella",syllables:4},{word:"stream",syllables:1},{word:"stride",syllables:1},{word:"strike",syllables:1},{word:"suitcase",syllables:2},{word:"sweepstake",syllables:2},{word:"t-bone",syllables:2},{word:"t-shirt",syllables:1},{word:"tailgate",syllables:2},{word:"take-off",syllables:2},{word:"take-over",syllables:3},{word:"takeaway",syllables:3},{word:"takeoff",syllables:2},{word:"takeover",syllables:3},{word:"throat",syllables:1},{word:"time-out",syllables:2},{word:"timelag",syllables:2},{word:"timeline",syllables:2},{word:"timesharing",syllables:3},{word:"toast",syllables:1},{word:"traubenmaische",syllables:4},{word:"tristesse",syllables:2},{word:"usenet",syllables:2},{word:"varietät",syllables:4},{word:"varieté",syllables:4},{word:"vinaigrette",syllables:3},{word:"vintage",syllables:2},{word:"violett",syllables:3},{word:"voice",syllables:1},{word:"wakeboard",syllables:2},{word:"washed",syllables:1},{word:"waveboard",syllables:2},{word:"wear",syllables:1},{word:"wear",syllables:1},{word:"website",syllables:2},{word:"white",syllables:1},{word:"widescreen",syllables:2},{word:"wire",syllables:1},{word:"yacht",syllables:1},{word:"yorkshire",syllables:2},{word:"éprouvette",syllables:3,notFollowedBy:["n"]},{word:"galette",syllables:2,notFollowedBy:["n"]},{word:"gigue",syllables:1,notFollowedBy:["n"]},{word:"groove",syllables:1,notFollowedBy:["n"]},{word:"morgue",syllables:1,notFollowedBy:["n"]},{word:"paillette",syllables:2,notFollowedBy:["n"]},{word:"raclette",syllables:2,notFollowedBy:["n"]},{word:"roulette",syllables:2,notFollowedBy:["n"]},{word:"spike",syllables:1,notFollowedBy:["n"]},{word:"style",syllables:1,notFollowedBy:["n"]},{word:"tablette",syllables:2,notFollowedBy:["n"]},{word:"grunge",syllables:1,notFollowedBy:["r"]},{word:"size",syllables:1,notFollowedBy:["r"]},{word:"value",syllables:1,notFollowedBy:["r"]},{word:"quiche",syllables:1,notFollowedBy:["s"]},{word:"house",syllables:1,notFollowedBy:["n","s"]},{word:"sauce",syllables:1,notFollowedBy:["n","s"]},{word:"space",syllables:1,notFollowedBy:["n","s"]},{word:"airline",syllables:2,notFollowedBy:["n","r"]},{word:"autosave",syllables:3,notFollowedBy:["n","r"]},{word:"bagpipe",syllables:2,notFollowedBy:["n","r"]},{word:"bike",syllables:1,notFollowedBy:["n","r"]},{word:"dance",syllables:1,notFollowedBy:["n","r"]},{word:"deadline",syllables:2,notFollowedBy:["n","r"]},{word:"halfpipe",syllables:2,notFollowedBy:["n","r"]},{word:"headline",syllables:2,notFollowedBy:["n","r"]},{word:"home",syllables:1,notFollowedBy:["n","r"]},{word:"hornpipe",syllables:2,notFollowedBy:["n","r"]},{word:"hotline",syllables:2,notFollowedBy:["n","r"]},{word:"infoline",syllables:3,notFollowedBy:["n","r"]},{word:"inline",syllables:2,notFollowedBy:["n","r"]},{word:"kite",syllables:1,notFollowedBy:["n","r"]},{word:"rollerblade",syllables:1,notFollowedBy:["n","r"]},{word:"score",syllables:1,notFollowedBy:["n","r"]},{word:"skyline",syllables:2,notFollowedBy:["n","r"]},{word:"slackline",syllables:2,notFollowedBy:["n","r"]},{word:"slice",syllables:1,notFollowedBy:["n","r","s"]},{word:"snooze",syllables:1,notFollowedBy:["n","r"]},{word:"storyline",syllables:3,notFollowedBy:["n","r"]},{word:"office",syllables:2,notFollowedBy:["s","r"]},{word:"space",syllables:1,notFollowedBy:["n","s","r"]},{word:"tease",syllables:1,notFollowedBy:["n","s","r"]},{word:"cache",syllables:1,notFollowedBy:["t"]}],atBeginningOrEnd:[{word:"case",syllables:1},{word:"life",syllables:1},{word:"teak",syllables:1},{word:"team",syllables:1},{word:"creme",syllables:1,notFollowedBy:["n","r"]},{word:"crème",syllables:1,notFollowedBy:["n","r"]},{word:"drive",syllables:1,notFollowedBy:["n","r"]},{word:"skate",syllables:1,notFollowedBy:["n","r"]},{word:"update",syllables:2,notFollowedBy:["n","r"]},{word:"upgrade",syllables:2,notFollowedBy:["n","r"]}],atBeginning:[{word:"anion",syllables:3},{word:"facelift",syllables:2},{word:"jiu",syllables:1},{word:"pace",syllables:1},{word:"shake",syllables:1},{word:"tea",syllables:1},{word:"trade",syllables:1},{word:"deal",syllables:1}],atEnd:[{word:"face",syllables:1},{word:"file",syllables:1},{word:"mousse",syllables:1},{word:"plate",syllables:1},{word:"tape",syllables:1},{word:"byte",syllables:1,alsoFollowedBy:["s"]},{word:"cape",syllables:1,alsoFollowedBy:["s"]},{word:"five",syllables:1,alsoFollowedBy:["s"]},{word:"hype",syllables:1,alsoFollowedBy:["s"]},{word:"leak",syllables:1,alsoFollowedBy:["s"]},{word:"like",syllables:1,alsoFollowedBy:["s"]},{word:"make",syllables:1,alsoFollowedBy:["s"]},{word:"phone",syllables:1,alsoFollowedBy:["s"]},{word:"rave",syllables:1,alsoFollowedBy:["s"]},{word:"regime",syllables:2,alsoFollowedBy:["s"]},{word:"statue",syllables:2,alsoFollowedBy:["s"]},{word:"store",syllables:1,alsoFollowedBy:["s"]},{word:"wave",syllables:1,alsoFollowedBy:["s"]},{word:"date",syllables:1,notFollowedBy:["n"]},{word:"image",syllables:2,notFollowedBy:["s"]}]}}}}},function(a){a.exports={vowels:"aeiouy",deviations:{vowels:[{fragments:["cial","tia","cius","giu","ion","[^bdnprv]iou","sia$","[^aeiuot]{2,}ed$","[aeiouy][^aeiuoyts]{1,}e$","[a-z]ely$","[cgy]ed$","rved$","[aeiouy][dt]es?$","eau","ieu","oeu","[aeiouy][^aeiouydt]e[sd]?$","[aeouy]rse$","^eye"],countModifier:-1},{fragments:["ia","iu","ii","io","[aeio][aeiou]{2}","[aeiou]ing","[^aeiou]ying","ui[aeou]"],countModifier:1},{fragments:["^ree[jmnpqrsx]","^reele","^reeva","riet","dien","[aeiouym][bdp]le$","uei","uou","^mc","ism$","[^l]lien","^coa[dglx].","[^gqauieo]ua[^auieo]","dn't$","uity$","ie(r|st)","[aeiouw]y[aeiou]","[^ao]ire[ds]","[^ao]ire$"],countModifier:1},{fragments:["eoa","eoo","ioa","ioe","ioo"],countModifier:1}],words:{full:[{word:"business",syllables:2},{word:"coheiress",syllables:3},{word:"colonel",syllables:2},{word:"heiress",syllables:2},{word:"i.e",syllables:2},{word:"shoreline",syllables:2},{word:"simile",syllables:3},{word:"unheired",syllables:2},{word:"wednesday",syllables:2}],fragments:{global:[{word:"coyote",syllables:3},{word:"graveyard",syllables:2},{word:"lawyer",syllables:2}]}}}}},function(a){a.exports={vowels:"aáäâeéëêiíïîoóöôuúüûy",deviations:{vowels:[{fragments:["ue$","dge$","[tcp]iënt","ace$","[br]each","[ainpr]tiaal","[io]tiaan","gua[yc]","[^i]deal","tive$","load","[^e]coke","[^s]core$"],countModifier:-1},{fragments:["aä","aeu","aie","ao","ë","eo","eú","ieau","ea$","ea[^u]","ei[ej]","eu[iu]","ï","iei","ienne","[^l]ieu[^w]","[^l]ieu$","i[auiy]","stion","[^cstx]io","^sion","riè","oö","oa","oeing","oie","[eu]ü","[^q]u[aeèo]","uie","[bhnpr]ieel","[bhnpr]iël"],countModifier:1},{fragments:["[aeolu]y[aeéèoóu]"],countModifier:1}],words:{full:[{word:"bye",syllables:1},{word:"core",syllables:1},{word:"cure",syllables:1},{word:"dei",syllables:2},{word:"dope",syllables:1},{word:"dude",syllables:1},{word:"fake",syllables:1},{word:"fame",syllables:1},{word:"five",syllables:1},{word:"hole",syllables:1},{word:"least",syllables:1},{word:"lone",syllables:1},{word:"minute",syllables:2},{word:"move",syllables:1},{word:"nice",syllables:1},{word:"one",syllables:1},{word:"state",syllables:1},{word:"surplace",syllables:2},{word:"take",syllables:1},{word:"trade",syllables:1},{word:"wide",syllables:1}],fragments:{global:[{word:"adieu",syllables:2},{word:"airline",syllables:2},{word:"airmiles",syllables:2},{word:"alien",syllables:3},{word:"ambient",syllables:3},{word:"announcement",syllables:3},{word:"appearance",syllables:3},{word:"appeasement",syllables:3},{word:"atheneum",syllables:4},{word:"awesome",syllables:2},{word:"baccalaurei",syllables:5},{word:"baccalaureus",syllables:5},{word:"baseball",syllables:3},{word:"basejump",syllables:2},{word:"banlieue",syllables:3},{word:"bapao",syllables:2},{word:"barbecue",syllables:3},{word:"beamer",syllables:2},{word:"beanie",syllables:2},{word:"beat",syllables:1},{word:"belle",syllables:2},{word:"bête",syllables:1},{word:"bingewatch",syllables:2},{word:"blocnote",syllables:2},{word:"blue",syllables:1},{word:"board",syllables:1},{word:"break",syllables:1},{word:"broad",syllables:1},{word:"bulls-eye",syllables:2},{word:"business",syllables:2},{word:"byebye",syllables:2},{word:"cacao",syllables:2},{word:"caesar",syllables:2},{word:"camaieu",syllables:3},{word:"caoutchouc",syllables:2},{word:"carbolineum",syllables:5},{word:"catchphrase",syllables:1},{word:"carrier",syllables:3},{word:"cheat",syllables:1},{word:"cheese",syllables:1},{word:"circonflexe",syllables:3},{word:"clean",syllables:1},{word:"cloak",syllables:1},{word:"cobuying",syllables:3},{word:"comeback",syllables:2},{word:"comfortzone",syllables:3},{word:"communiqué",syllables:4},{word:"conopeum",syllables:4},{word:"console",syllables:2},{word:"corporate",syllables:3},{word:"coûte",syllables:1},{word:"creamer",syllables:2},{word:"crime",syllables:1},{word:"cruesli",syllables:2},{word:"deadline",syllables:2},{word:"deautoriseren",syllables:6},{word:"deuce",syllables:1},{word:"deum",syllables:2},{word:"dirndl",syllables:2},{word:"dread",syllables:2},{word:"dreamteam",syllables:2},{word:"drone",syllables:1},{word:"enquête",syllables:3},{word:"escape",syllables:2},{word:"exposure",syllables:3},{word:"extranei",syllables:4},{word:"extraneus",syllables:4},{word:"eyecatcher",syllables:3},{word:"eyeliner",syllables:3},{word:"eyeopener",syllables:4},{word:"eyetracker",syllables:3},{word:"eyetracking",syllables:3},{word:"fairtrade",syllables:2},{word:"fauteuil",syllables:2},{word:"feature",syllables:2},{word:"feuilletee",syllables:3},{word:"feuilleton",syllables:3},{word:"fisheye",syllables:2},{word:"fineliner",syllables:3},{word:"finetunen",syllables:3},{word:"forehand",syllables:2},{word:"freak",syllables:1},{word:"fusioneren",syllables:4},{word:"gayparade",syllables:3},{word:"gaypride",syllables:2},{word:"goal",syllables:1},{word:"grapefruit",syllables:2},{word:"gruyère",syllables:3},{word:"guele",syllables:1},{word:"guerrilla",syllables:3},{word:"guest",syllables:1},{word:"hardware",syllables:2},{word:"haute",syllables:1},{word:"healing",syllables:2},{word:"heater",syllables:2},{word:"heavy",syllables:2},{word:"hoax",syllables:1},{word:"hotline",syllables:2},{word:"idee-fixe",syllables:3},{word:"inclusive",syllables:3},{word:"inline",syllables:2},{word:"intake",syllables:2},{word:"intensive",syllables:3},{word:"jeans",syllables:1},{word:"Jones",syllables:1},{word:"jubileum",syllables:4},{word:"kalfsribeye",syllables:3},{word:"kraaiennest",syllables:3},{word:"lastminute",syllables:3},{word:"learning",syllables:2},{word:"league",syllables:1},{word:"line-up",syllables:2},{word:"linoleum",syllables:4},{word:"load",syllables:1},{word:"loafer",syllables:2},{word:"longread",syllables:2},{word:"lookalike",syllables:3},{word:"louis",syllables:3},{word:"lyceum",syllables:3},{word:"magazine",syllables:3},{word:"mainstream",syllables:2},{word:"make-over",syllables:3},{word:"make-up",syllables:2},{word:"malware",syllables:2},{word:"marmoleum",syllables:4},{word:"mausoleum",syllables:4},{word:"medeauteur",syllables:4},{word:"midlifecrisis",syllables:4},{word:"migraineaura",syllables:5},{word:"milkshake",syllables:2},{word:"millefeuille",syllables:4},{word:"mixed",syllables:1},{word:"muesli",syllables:2},{word:"museum",syllables:3},{word:"must-have",syllables:2},{word:"must-read",syllables:2},{word:"notebook",syllables:2},{word:"nonsense",syllables:2},{word:"nowhere",syllables:2},{word:"nurture",syllables:2},{word:"offline",syllables:2},{word:"oneliner",syllables:3},{word:"onesie",syllables:2},{word:"online",syllables:2},{word:"opinion",syllables:3},{word:"paella",syllables:3},{word:"pacemaker",syllables:3},{word:"panache",syllables:2},{word:"papegaaienneus",syllables:5},{word:"passe-partout",syllables:3},{word:"peanuts",syllables:2},{word:"perigeum",syllables:4},{word:"perineum",syllables:4},{word:"perpetuum",syllables:4},{word:"petroleum",syllables:4},{word:"phone",syllables:3},{word:"picture",syllables:2},{word:"placemat",syllables:2},{word:"porte-manteau",syllables:3},{word:"portefeuille",syllables:4},{word:"presse-papier",syllables:3},{word:"primetime",syllables:2},{word:"queen",syllables:1},{word:"questionnaire",syllables:3},{word:"queue",syllables:1},{word:"reader",syllables:2},{word:"reality",syllables:3},{word:"reallife",syllables:2},{word:"remake",syllables:2},{word:"repeat",syllables:2},{word:"repertoire",syllables:3},{word:"research",syllables:2},{word:"reverence",syllables:3},{word:"ribeye",syllables:2},{word:"ringtone",syllables:3},{word:"road",syllables:1},{word:"roaming",syllables:2},{word:"sciencefiction",syllables:4},{word:"selfmade",syllables:2},{word:"sidekick",syllables:2},{word:"sightseeing",syllables:3},{word:"skyline",syllables:2},{word:"smile",syllables:1},{word:"sneaky",syllables:2},{word:"software",syllables:2},{word:"sparerib",syllables:2},{word:"speaker",syllables:2},{word:"spread",syllables:1},{word:"statement",syllables:2},{word:"steak",syllables:1},{word:"steeplechase",syllables:3},{word:"stonewash",syllables:2},{word:"store",syllables:1},{word:"streaken",syllables:2},{word:"stream",syllables:1},{word:"streetware",syllables:1},{word:"supersoaker",syllables:4},{word:"surprise-party",syllables:4},{word:"sweater",syllables:2},{word:"teaser",syllables:2},{word:"tenue",syllables:2},{word:"template",syllables:2},{word:"timeline",syllables:2},{word:"tissue",syllables:2},{word:"toast",syllables:1},{word:"tête-à-tête",syllables:3},{word:"typecast",syllables:2},{word:"unique",syllables:2},{word:"ureum",syllables:3},{word:"vibe",syllables:1},{word:"vieux",syllables:1},{word:"ville",syllables:1},{word:"vintage",syllables:2},{word:"wandelyup",syllables:3},{word:"wiseguy",syllables:2},{word:"wake-up-call",syllables:3},{word:"webcare",syllables:2},{word:"winegum",syllables:2},{word:"base",syllables:1,notFollowedBy:["e","n","r"]},{word:"game",syllables:1,notFollowedBy:["n","l","r"]},{word:"style",syllables:1,notFollowedBy:["n","s"]},{word:"douche",syllables:1,notFollowedBy:["n","s"]},{word:"space",syllables:1,notFollowedBy:["n","s"]},{word:"striptease",syllables:2,notFollowedBy:["n","s"]},{word:"jive",syllables:1,notFollowedBy:["n","r"]},{word:"keynote",syllables:2,notFollowedBy:["n","r"]},{word:"mountainbike",syllables:3,notFollowedBy:["n","r"]},{word:"face",syllables:1,notFollowedBy:["n","t"]},{word:"challenge",syllables:2,notFollowedBy:["n","r","s"]},{word:"cruise",syllables:1,notFollowedBy:["n","r","s"]},{word:"house",syllables:1,notFollowedBy:["n","r","s"]},{word:"dance",syllables:1,notFollowedBy:["n","r","s"]},{word:"franchise",syllables:2,notFollowedBy:["n","r","s"]},{word:"freelance",syllables:2,notFollowedBy:["n","r","s"]},{word:"lease",syllables:1,notFollowedBy:["n","r","s"]},{word:"linedance",syllables:2,notFollowedBy:["n","r","s"]},{word:"lounge",syllables:1,notFollowedBy:["n","r","s"]},{word:"merchandise",syllables:3,notFollowedBy:["n","r","s"]},{word:"performance",syllables:3,notFollowedBy:["n","r","s"]},{word:"release",syllables:2,notFollowedBy:["n","r","s"]},{word:"resource",syllables:2,notFollowedBy:["n","r","s"]},{word:"cache",syllables:1,notFollowedBy:["c","l","n","t","x"]},{word:"office",syllables:2,notFollowedBy:["r","s"]},{word:"close",syllables:1,notFollowedBy:["r","t"]}],atBeginningOrEnd:[{word:"byte",syllables:1},{word:"cake",syllables:1},{word:"care",syllables:1},{word:"coach",syllables:1},{word:"coat",syllables:1},{word:"earl",syllables:1},{word:"foam",syllables:1},{word:"gate",syllables:1},{word:"head",syllables:1},{word:"home",syllables:1},{word:"live",syllables:1},{word:"safe",syllables:1},{word:"site",syllables:1},{word:"soap",syllables:1},{word:"teak",syllables:1},{word:"team",syllables:1},{word:"wave",syllables:1},{word:"brace",syllables:1,notFollowedBy:["s"]},{word:"case",syllables:1,notFollowedBy:["s"]},{word:"fleece",syllables:1,notFollowedBy:["s"]},{word:"service",syllables:2,notFollowedBy:["s"]},{word:"voice",syllables:1,notFollowedBy:["s"]},{word:"kite",syllables:1,notFollowedBy:["n","r"]},{word:"skate",syllables:1,notFollowedBy:["n","r"]},{word:"race",syllables:1,notFollowedBy:["n","r","s"]}],atBeginning:[{word:"coke",syllables:1},{word:"deal",syllables:1},{word:"image",syllables:2,notFollowedBy:["s"]}],atEnd:[{word:"force",syllables:1},{word:"tea",syllables:1},{word:"time",syllables:1},{word:"date",syllables:1,alsoFollowedBy:["s"]},{word:"hype",syllables:1,alsoFollowedBy:["s"]},{word:"quote",syllables:1,alsoFollowedBy:["s"]},{word:"tape",syllables:1,alsoFollowedBy:["s"]},{word:"upgrade",syllables:2,alsoFollowedBy:["s"]}]}}}}},function(a){a.exports={vowels:"aeiouyàèéìîïòù",deviations:{vowels:[{fragments:["a[íúeo]","e[íúao]","o[íúaeè]","í[aeo]","ú[aeo]","ai[aeou]","àii","aiì","au[eé]","ei[aàeèé]","èia","ia[èiì]","iài","oi[aàeèo]","òia","óio","uí","ui[aàó]","ùio","ouï","coo[cmnpr]","lcool","coòf","[aeuioìùèéàò]y[aeuioíìùèàó]","ìa$","èa$"],countModifier:1},{fragments:["aoi","aoì","ioe","riae","ïa$"],countModifier:1}],words:{full:[{word:"via",syllables:2},{word:"guaime",syllables:3},{word:"guaina",syllables:3},{word:"coke",syllables:1},{word:"frame",syllables:1},{word:"goal",syllables:1},{word:"live",syllables:1},{word:"mouse",syllables:1},{word:"coon",syllables:1}],fragments:{global:[{word:"mayoyào",syllables:4},{word:"eye-liner",syllables:3},{word:"scooner",syllables:2},{word:"cocoon",syllables:2},{word:"silhouette",syllables:4},{word:"circuíto",syllables:4},{word:"cruento",syllables:3},{word:"cruènto",syllables:3},{word:"rituale",syllables:4},{word:"duello",syllables:3},{word:"fuorviante",syllables:4},{word:"league",syllables:1},{word:"leader",syllables:2},{word:"appeal",syllables:2},{word:"backstage",syllables:2},{word:"badge",syllables:1},{word:"baseball",syllables:2},{word:"beauty",syllables:2},{word:"bondage",syllables:2,notFollowedBy:["s"]},{word:"break",syllables:1},{word:"brokerage",syllables:3},{word:"business",syllables:2},{word:"cache",syllables:2,notFollowedBy:["s","r"]},{word:"cashmere",syllables:2},{word:"challenge",syllables:2,notFollowedBy:["s","r"]},{word:"charleston",syllables:2},{word:"cheap",syllables:1},{word:"cottage",syllables:2,notFollowedBy:["s"]},{word:"cruise",syllables:1,notFollowedBy:["s","r"]},{word:"device",syllables:2,notFollowedBy:["s"]},{word:"downgrade",syllables:2,notFollowedBy:["d"]},{word:"download",syllables:2},{word:"drive",syllables:1,notFollowedBy:["r"]},{word:"endorsement",syllables:3},{word:"drive",syllables:1,notFollowedBy:["r"]},{word:"executive",syllables:4},{word:"firmware",syllables:2},{word:"fobia",syllables:3},{word:"float",syllables:1},{word:"freak",syllables:1},{word:"game",syllables:1,notFollowedBy:["r"]},{word:"guideline",syllables:2},{word:"hardware",syllables:2},{word:"homeless",syllables:2},{word:"hardware",syllables:1,notFollowedBy:["r"]},{word:"hardware",syllables:1,notFollowedBy:["r"]},{word:"hardware",syllables:1,notFollowedBy:["r"]},{word:"hospice",syllables:2,notFollowedBy:["s"]},{word:"impeachment",syllables:3},{word:"jeans",syllables:1},{word:"jukebox",syllables:2},{word:"leasing",syllables:2},{word:"lease",syllables:1,notFollowedBy:["s"]},{word:"lounge",syllables:1,notFollowedBy:["r","s"]},{word:"magazine",syllables:3},{word:"notebook",syllables:2},{word:"office",syllables:2,notFollowedBy:["r","s"]},{word:"online",syllables:2},{word:"offline",syllables:2},{word:"overcoat",syllables:3},{word:"offside",syllables:2,notFollowedBy:["r"]},{word:"overdrive",syllables:3},{word:"oversize",syllables:3},{word:"pacemaker",syllables:3},{word:"package",syllables:2,notFollowedBy:["r","s"]},{word:"pancake",syllables:2},{word:"performance",syllables:3},{word:"premium",syllables:3},{word:"ragtime",syllables:2},{word:"reading",syllables:2},{word:"residence",syllables:3,notFollowedBy:["s"]},{word:"roaming",syllables:2},{word:"rollerblade",syllables:3,notFollowedBy:["r"]},{word:"royalty",syllables:3},{word:"shake",syllables:1,notFollowedBy:["r"]},{word:"shale",syllables:1},{word:"shampooing",syllables:3},{word:"shareware",syllables:2},{word:"shearling",syllables:2},{word:"sidecar",syllables:2},{word:"hardware",syllables:1,notFollowedBy:["r"]},{word:"skate",syllables:1,notFollowedBy:["n","r"]},{word:"trial",syllables:2},{word:"toast",syllables:1},{word:"texture",syllables:2},{word:"testimonial",syllables:5},{word:"teaser",syllables:2},{word:"sweater",syllables:2},{word:"suspense",syllables:2,notFollowedBy:["r"]},{word:"subroutine",syllables:3},{word:"steadicam",syllables:3},{word:"spread",syllables:1},{word:"speaker",syllables:2},{word:"board",syllables:1},{word:"sneaker",syllables:2},{word:"smartphone",syllables:2},{word:"slide",syllables:1,notFollowedBy:["r"]},{word:"skyline",syllables:2},{word:"skinhead",syllables:2},{word:"update",syllables:2,notFollowedBy:["r"]},{word:"upgrade",syllables:2,notFollowedBy:["r"]},{word:"upload",syllables:2},{word:"vintage",syllables:2},{word:"wakeboard",syllables:2},{word:"website",syllables:2},{word:"welfare",syllables:2},{word:"yeah",syllables:1},{word:"yearling",syllables:2}],atEnd:[{word:"byte",syllables:1,alsoFollowedBy:["s"]},{word:"bite",syllables:1,alsoFollowedBy:["s"]},{word:"beat",syllables:1,alsoFollowedBy:["s"]},{word:"coach",syllables:1},{word:"line",syllables:1,alsoFollowedBy:["s"]}],atBeginning:[{word:"cheese",syllables:1},{word:"head",syllables:1},{word:"streak",syllables:1}],atBeginningOrEnd:[{word:"team",syllables:1},{word:"stream",syllables:1}]}}}}},function(a){a.exports={vowels:"аоиеёэыуюя",deviations:{vowels:[{fragments:["[аоиеёэыуюя][аоиеёэыуюя]"],countModifier:1},{fragments:["[аоиеёэыуюя][аоиеёэыуюя][аоиеёэыуюя]"],countModifier:1}],words:{full:[],fragments:[]}}}},function(a){a.exports={vowels:"aeiouyàâéèêëîïûüùôæœ",deviations:{vowels:[{fragments:["[ptf]aon(ne)?[s]?$"],countModifier:-1},{fragments:["aoul","[^eéiïou]e(s|nt)?$","[qg]ue(s|nt)?$"],countModifier:-1},{fragments:["o[ëaéèï]"],countModifier:1},{fragments:["a[eéèïüo]","é[aâèéiîuo]","ii[oe]","[aeéuo]y[aâeéèoui]","coe[^u]","zoo","coop","coord","poly[ae]","[bcd]ry[oa]","[bcdfgptv][rl](ou|u|i)[aéèouâ]","ouez","[blmnt]uio","uoia","ment$","yua","[bcdfgptv][rl](i|u|eu)e([ltz]|r[s]?$|n[^t])","[^aeiuyàâéèêëîïûüùôæœqg]uie[rz]$"],countModifier:1}],words:{full:[{word:"ok",syllables:2},{word:"eyeliner",syllables:3},{word:"coati",syllables:3},{word:"que",syllables:1},{word:"flouer",syllables:2},{word:"relouer",syllables:3},{word:"évaluons",syllables:4},{word:"instituons",syllables:4},{word:"atténuons",syllables:4},{word:"remuons",syllables:3},{word:"redestribuons",syllables:5},{word:"suons",syllables:2},{word:"reconstituons",syllables:5},{word:"dent",syllables:1},{word:"fréquent",syllables:2},{word:"permanent",syllables:3},{word:"mécontent",syllables:3},{word:"grandiloquent",syllables:4},{word:"continent",syllables:3},{word:"occident",syllables:3},{word:"référent",syllables:3},{word:"indigent",syllables:3},{word:"concurrent",syllables:3},{word:"gent",syllables:1},{word:"différent",syllables:3},{word:"strident",syllables:2},{word:"équivalent",syllables:4},{word:"ardent",syllables:2},{word:"impotent",syllables:3},{word:"argent",syllables:2},{word:"immanent",syllables:3},{word:"indécent",syllables:3},{word:"effluent",syllables:3},{word:"agent",syllables:2},{word:"dolent",syllables:2},{word:"contingent",syllables:3},{word:"impénitent",syllables:4},{word:"adjacent",syllables:3},{word:"incident",syllables:3},{word:"content",syllables:2},{word:"incontinent",syllables:4},{word:"éloquent",syllables:3},{word:"convent",syllables:2},{word:"dissident",syllables:3},{word:"innocent",syllables:3},{word:"ventripotent",syllables:4},{word:"convalescent",syllables:4},{word:"accident",syllables:3},{word:"récent",syllables:2},{word:"absent",syllables:2},{word:"décadent",syllables:3},{word:"réticent",syllables:3},{word:"évent",syllables:2},{word:"souvent",syllables:2},{word:"intelligent",syllables:3},{word:"inhérent",syllables:3},{word:"adolescent",syllables:4},{word:"couvent",syllables:2},{word:"cent",syllables:1},{word:"urgent",syllables:2},{word:"précédent",syllables:3},{word:"imprudent",syllables:3},{word:"torrent",syllables:2},{word:"abstinent",syllables:3},{word:"indifférent",syllables:4},{word:"excédent",syllables:3},{word:"déférent",syllables:3},{word:"incandescent",syllables:4},{word:"intermittent",syllables:4},{word:"présent",syllables:3},{word:"astringent",syllables:3},{word:"trident",syllables:2},{word:"impertinent",syllables:4},{word:"détergent",syllables:3},{word:"évident",syllables:3},{word:"influent",syllables:3},{word:"pertinent",syllables:3},{word:"subséquent",syllables:3},{word:"féculent",syllables:3},{word:"déférent",syllables:3},{word:"ambivalent",syllables:4},{word:"omnipotent",syllables:4},{word:"décent",syllables:2},{word:"compétent",syllables:3},{word:"adhérent",syllables:3},{word:"afférent",syllables:3},{word:"luminescent",syllables:4},{word:"lent",syllables:1},{word:"apparent",syllables:3},{word:"effervescent",syllables:4},{word:"parent",syllables:2},{word:"pénitent",syllables:3},{word:"fluorescent",syllables:3},{word:"impudent",syllables:3},{word:"diligent",syllables:3},{word:"entregent",syllables:3},{word:"flatulent",syllables:3},{word:"serpent",syllables:2},{word:"violent",syllables:2},{word:"somnolent",syllables:3},{word:"déliquescent",syllables:4},{word:"proéminent",syllables:4},{word:"résident",syllables:3},{word:"putrescent",syllables:3},{word:"talent",syllables:2},{word:"spumescent",syllables:3},{word:"tangent",syllables:2},{word:"chiendent",syllables:2},{word:"négligent",syllables:3},{word:"antécédent",syllables:4},{word:"régent",syllables:2},{word:"polyvalent",syllables:4},{word:"latent",syllables:2},{word:"opulent",syllables:3},{word:"arpent",syllables:2},{word:"adent",syllables:2},{word:"concupiscent",syllables:4},{word:"sanguinolent",syllables:4},{word:"opalescent",syllables:4},{word:"prudent",syllables:2},{word:"conséquent",syllables:3},{word:"pourcent",syllables:2},{word:"transparent",syllables:3},{word:"sergent",syllables:2},{word:"diligent",syllables:3},{word:"inconséquent",syllables:4},{word:"turbulent",syllables:3},{word:"fervent",syllables:2},{word:"truculent",syllables:3},{word:"interférent",syllables:4},{word:"confluent",syllables:3},{word:"succulent",syllables:3},{word:"purulent",syllables:3},{word:"patent",syllables:2},{word:"indulgent",syllables:3},{word:"engoulevent",syllables:4},{word:"auvent",syllables:2},{word:"président",syllables:3},{word:"confident",syllables:3},{word:"incompétent",syllables:4},{word:"accent",syllables:2},{word:"arborescent",syllables:4},{word:"contrevent",syllables:3},{word:"cohérent",syllables:3},{word:"relent",syllables:2},{word:"insolent",syllables:3},{word:"virulent",syllables:3},{word:"rémanent",syllables:3},{word:"vent",syllables:1},{word:"turgescent",syllables:3},{word:"incohérent",syllables:4},{word:"malcontent",syllables:3},{word:"lactescent",syllables:3},{word:"inintelligent",syllables:5},{word:"omniprésent",syllables:4},{word:"récurrent",syllables:3},{word:"covalent",syllables:3},{word:"éminent",syllables:3},{word:"onguent",syllables:2},{word:"indolent",syllables:3},{word:"event",syllables:2},{word:"corpulent",syllables:3},{word:"divergent",syllables:3},{word:"excellent",syllables:3},{word:"phosphorescent",syllables:4},{word:"évanescent",syllables:4},{word:"paravent",syllables:3},{word:"avent",syllables:2},{word:"iridescent",syllables:4},{word:"prénomment",syllables:2},{word:"consument",syllables:2},{word:"dégomment",syllables:2},{word:"enveniment",syllables:3},{word:"proclament",syllables:2},{word:"chôment",syllables:1},{word:"infirment",syllables:2},{word:"briment",syllables:1},{word:"fument",syllables:1},{word:"acclament",syllables:2},{word:"referment",syllables:2},{word:"impriment",syllables:2},{word:"paument",syllables:1},{word:"déciment",syllables:2},{word:"accoutument",syllables:3},{word:"essaiment",syllables:2},{word:"ferment",syllables:1},{word:"dépriment",syllables:2},{word:"raniment",syllables:2},{word:"programment",syllables:2},{word:"fantasment",syllables:2},{word:"animent",syllables:2},{word:"affirment",syllables:2},{word:"filment",syllables:1},{word:"dament",syllables:1},{word:"parsèment",syllables:3},{word:"priment",syllables:1},{word:"assomment",syllables:2},{word:"rament",syllables:1},{word:"pâment",syllables:1},{word:"conforment",syllables:2},{word:"embaument",syllables:2},{word:"calment",syllables:1},{word:"blasphèment",syllables:2},{word:"désarment",syllables:2},{word:"consomment",syllables:2},{word:"griment",syllables:1},{word:"abîment",syllables:2},{word:"blâment",syllables:1},{word:"endorment",syllables:2},{word:"allument",syllables:2},{word:"blâment",syllables:1},{word:"confirment",syllables:2},{word:"escriment",syllables:2},{word:"trament",syllables:1},{word:"hument",syllables:1},{word:"surnomment",syllables:2},{word:"écument",syllables:2},{word:"triment",syllables:1},{word:"estiment",syllables:2},{word:"rallument",syllables:2},{word:"enflamment",syllables:2},{word:"riment",syllables:1},{word:"plument",syllables:1},{word:"suppriment",syllables:2},{word:"gomment",syllables:1},{word:"affament",syllables:2},{word:"friment",syllables:1},{word:"clament",syllables:1},{word:"dorment",syllables:1},{word:"dénomment",syllables:2},{word:"entament",syllables:2},{word:"arriment",syllables:2},{word:"résument",syllables:2},{word:"enrhument",syllables:2},{word:"rendorment",syllables:2},{word:"compriment",syllables:2},{word:"aiment",syllables:1},{word:"rythment",syllables:1},{word:"périment",syllables:2},{word:"réclament",syllables:2},{word:"subliment",syllables:2},{word:"brument",syllables:1},{word:"embrument",syllables:2},{word:"germent",syllables:1},{word:"renferment",syllables:2},{word:"sèment",syllables:1},{word:"reforment",syllables:2},{word:"liment",syllables:1},{word:"cament",syllables:1},{word:"parfument",syllables:2},{word:"arment",syllables:1},{word:"brament",syllables:1},{word:"déforment",syllables:2},{word:"assument",syllables:2},{word:"crament",syllables:1},{word:"exclament",syllables:2},{word:"forment",syllables:1},{word:"diffament",syllables:2},{word:"somment",syllables:1},{word:"oppriment",syllables:2},{word:"miment",syllables:1},{word:"enferment",syllables:2},{word:"nomment",syllables:1},{word:"reprogramment",syllables:3},{word:"transforment",syllables:2},{word:"expriment",syllables:2},{word:"informent",syllables:2},{word:"légitiment",syllables:3},{word:"de",syllables:1},{word:"le",syllables:1},{word:"je",syllables:1},{word:"te",syllables:1},{word:"ce",syllables:1},{word:"ne",syllables:1},{word:"re",syllables:1},{word:"me",syllables:1},{word:"se",syllables:1},{word:"ses",syllables:1},{word:"mes",syllables:1},{word:"mes",syllables:1},{word:"ces",syllables:1},{word:"des",syllables:1},{word:"tes",syllables:1},{word:"les",syllables:1},{word:"oye",syllables:1},{word:"es",syllables:1},{word:"remerciâmes",syllables:4},{word:"herniaires",syllables:3},{word:"autopsiais",syllables:4},{word:"août",syllables:1}],fragments:{global:[{word:"business",syllables:2},{word:"skate",syllables:1},{word:"board",syllables:1},{word:"coach",syllables:1},{word:"roadster",syllables:2},{word:"soap",syllables:1},{word:"goal",syllables:1},{word:"coaltar",syllables:2},{word:"loader",syllables:2},{word:"coat",syllables:1},{word:"baseball",syllables:2},{word:"foëne",syllables:1},{word:"cacaoyer",syllables:4},{word:"scoop",syllables:1},{word:"zoom",syllables:1},{word:"bazooka",syllables:3},{word:"tatoueu",syllables:3},{word:"cloueu",syllables:2},{word:"déchouer",syllables:2},{word:"écrouelles",syllables:3},{word:"maestria",syllables:3},{word:"maestro",syllables:3},{word:"vitae",syllables:3},{word:"paella",syllables:3},{word:"vae",syllables:2},{word:"thaï",syllables:1},{word:"skaï",syllables:1},{word:"masaï",syllables:2},{word:"samouraï",syllables:3},{word:"bonsaï",syllables:2},{word:"bonzaï",syllables:2},{word:"aïkido",syllables:3},{word:"daïquiri",syllables:3},{word:"pagaïe",syllables:2},{word:"chiite",syllables:2},{word:"pays",syllables:2},{word:"antiaérien",syllables:5},{word:"bleui",syllables:2},{word:"remerciai",syllables:4},{word:"monstrueu",syllables:3},{word:"niakoué",syllables:3},{word:"minoen",syllables:3},{word:"groenlandais",syllables:4},{word:"remerciant",syllables:4},{word:"skiant",syllables:2},{word:"ruade",syllables:2},{word:"weltanschauung",syllables:4}],atBeginning:[{word:"roast",syllables:1},{word:"taï",syllables:1}],atEnd:[{word:"écrouer",syllables:3},{word:"clouer",syllables:2}]}}}}},function(a){a.exports={vowels:"aeiouáéíóúü",deviations:{vowels:[{fragments:["i[ií]","[íú][aeo]","o[aáeéíóú]","uu","flu[iea]","ru[ie]","eio","eu[aá]","oi[aó]","[iu]ei","ui[éu]","^anti[aeoá]","^zoo","coo","microo"],countModifier:1},{fragments:["[eéó][aáeéíoóú]"],countModifier:1},{fragments:["[aáü][aáeéiíoóú]","eoi","oeu","[eu]au"],countModifier:1}],words:{full:[{word:"scooter",syllables:2},{word:"y",syllables:1},{word:"beat",syllables:1},{word:"via",syllables:2},{word:"ok",syllables:2}],fragments:{global:[{word:"business",syllables:2},{word:"coach",syllables:1},{word:"reggae",syllables:2},{word:"mail",syllables:1},{word:"airbag",syllables:2},{word:"affaire",syllables:2},{word:"training",syllables:2},{word:"hawaian",syllables:3},{word:"saharaui",syllables:3},{word:"nouveau",syllables:2},{word:"chapeau",syllables:2},{word:"free",syllables:1},{word:"green",syllables:1},{word:"jeep",syllables:1},{word:"toffee",syllables:2},{word:"tweet",syllables:1},{word:"tweed",syllables:1},{word:"semiautomátic",syllables:6},{word:"estadou",syllables:4},{word:"broadway",syllables:2},{word:"board",syllables:1},{word:"load",syllables:1},{word:"roaming",syllables:2},{word:"heavy",syllables:2},{word:"break",syllables:1}]}}}}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=function(a){return a&&a.__esModule?a:{default:a}}(t(1016)),n=t(2);var o=function(a){this.countSteps=[],(0,n.isUndefined)(a)||this.createSyllableCountSteps(a.deviations.vowels)};o.prototype.createSyllableCountSteps=function(a){(0,n.forEach)(a,function(a){this.countSteps.push(new i.default(a))}.bind(this))},o.prototype.getAvailableSyllableCountSteps=function(){return this.countSteps},o.prototype.countSyllables=function(a){var e=0;return(0,n.forEach)(this.countSteps,function(t){e+=t.countSyllables(a)}),e},e.default=o},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=t(2),n=function(a){return a&&a.__esModule?a:{default:a}}(t(362));var o=function(a){this._hasRegex=!1,this._regex="",this._multiplier="",this.createRegex(a)};o.prototype.hasRegex=function(){return this._hasRegex},o.prototype.createRegex=function(a){(0,i.isUndefined)(a)||(0,i.isUndefined)(a.fragments)||(this._hasRegex=!0,this._regex=(0,n.default)(a.fragments,!0),this._multiplier=a.countModifier)},o.prototype.getRegex=function(){return this._regex},o.prototype.countSyllables=function(a){return this._hasRegex?(a.match(this._regex)||[]).length*this._multiplier:0},e.default=o},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=t(2);function n(a){this._location=a.location,this._fragment=a.word,this._syllables=a.syllables,this._regex=null,this._options=(0,i.pick)(a,["notFollowedBy","alsoFollowedBy"])}n.prototype.createRegex=function(){var a="",e=this._options,t=this._fragment;switch((0,i.isUndefined)(e.notFollowedBy)||(t+="(?!["+e.notFollowedBy.join("")+"])"),(0,i.isUndefined)(e.alsoFollowedBy)||(t+="["+e.alsoFollowedBy.join("")+"]?"),this._location){case"atBeginning":a="^"+t;break;case"atEnd":a=t+"$";break;case"atBeginningOrEnd":a="(^"+t+")|("+t+"$)";break;default:a=t}this._regex=new RegExp(a)},n.prototype.getRegex=function(){return null===this._regex&&this.createRegex(),this._regex},n.prototype.occursIn=function(a){return this.getRegex().test(a)},n.prototype.removeFrom=function(a){return a.replace(this._fragment," ")},n.prototype.getSyllables=function(){return this._syllables},e.default=n},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getVariationsApostropheInArray=e.getVariationsApostrophe=void 0;var i=t(2),n=function(a){var e=["'","‘","’","‛","`"];return(0,i.uniq)((0,i.flatten)([].concat(e.map(function(t){return[].concat(e.map(function(e){return a.replace(t,e)}))}))))};e.getVariationsApostrophe=n,e.getVariationsApostropheInArray=function(a){return[].concat(a.map(function(a){return n(a)})).filter(Boolean)}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){return(0,i.default)(a).length};var i=function(a){return a&&a.__esModule?a:{default:a}}(t(774))},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){var e=a.getUrl().length,t=a.getKeyword().length;return e>40&&e>t+20}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a,e){var t=(0,r.escapeRegExp)(a.getKeyword()),o=a.getTitle(),s=a.getLocale(),c={exactMatchFound:!1,allWordsFound:!1,position:-1,exactMatchKeyphrase:!1},u=d(t);u.exactMatchRequested&&(t=u.keyword,c.exactMatchKeyphrase=!0);var p=(0,i.default)(o,t,s);if(p.count>0)return c.exactMatchFound=!0,c.allWordsFound=!0,c.position=l(o,p.position,s),c;var z=e.getResearch("morphology");return 100===(0,n.findTopicFormsInString)(z,o,!1,s).percentWordMatches&&(c.allWordsFound=!0),c};var i=s(t(771)),n=t(279),o=s(t(461)),r=t(2);s(t(76)),s(t(145));function s(a){return a&&a.__esModule?a:{default:a}}(0,o.default)();var d=function(a){var e={exactMatchRequested:!1,keyword:a},t=["“","”","〝","〞","〟","‟","„",'"'];return(0,r.includes)(t,a[0])&&(0,r.includes)(t,a[a.length-1])&&(e.keyword=a.substring(1,a.length-1),e.exactMatchRequested=!0),e},l=function(a,e,t){return e}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a,e){var t=(0,s.default)(a.getText()),i=e.getResearch("morphology"),n=a.getLocale(),o={count:0,matches:0,percentReflectingTopic:0},d=(0,r.getSubheadingContents)(t);return 0!==d.length&&(o.count=d.length,o.matches=u(i,d,!0,n),o.percentReflectingTopic=o.matches/o.count*100),o};var i=t(2),n=l(t(734)),o=l(t(76)),r=t(666),s=l(t(772)),d=t(279);function l(a){return a&&a.__esModule?a:{default:a}}var c=(0,n.default)(),u=function(a,e,t,n){(0,i.includes)(c,(0,o.default)(n));return e.filter(function(e){return(0,d.findTopicFormsInString)(a,e,t,n).percentWordMatches>50}).length}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a,e){var t=(0,i.default)(a.getText());return 0===t?0:e.getResearch("keywordCount").count/t*100};var i=function(a){return a&&a.__esModule?a:{default:a}}(t(269))},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a,e){var t=e.getResearch("morphology"),s=a.getText(),d=a.getLocale(),l={count:0,matches:[],sentencesWithKeywords:[]};(0,o.default)(s).forEach(function(a){var e=t.keyphraseForms.map(function(e){return(0,i.default)(a,e,d)});if(e.every(function(a){return a.count>0})){var o=e.map(function(a){return a.count}),r=(0,n.flattenDeep)(e.map(function(a){return a.matches}));l.count+=Math.min.apply(Math,function(a){if(Array.isArray(a)){for(var e=0,t=Array(a.length);e<a.length;e++)t[e]=a[e];return t}return Array.from(a)}(o)),l.matches.push(r),l.sentencesWithKeywords.push(a)}});var c=(0,n.uniq)((0,n.flattenDeep)(l.matches)).sort(function(a,e){return e.length-a.length});return{count:l.count,matches:c,markings:(0,r.markWordsInSentences)(c,l.sentencesWithKeywords,d),length:t.keyphraseForms.length}};var i=s(t(467)),n=t(2),o=s(t(153)),r=t(775);function s(a){return a&&a.__esModule?a:{default:a}}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i="[ \\u00a0 \\n\\r\\t.,'()\"+\\-;!?:/»«‹›<>]",n=new RegExp("^("+i+"+)","ig"),o=new RegExp("("+i+"+$)","ig"),r=function(a){return a=a.replace(n,"")},s=function(a){return a=a.replace(o,"")},d=function(a){return a=(a=a.replace(n,"")).replace(o,"")};e.stripWordBoundariesStart=r,e.stripWordBoundariesEnd=s,e.stripWordBoundariesEverywhere=d,e.default={stripWordBoundariesStart:r,stripWordBoundariesEnd:s,stripWordBoundariesEverywhere:d}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){var e=(0,n.escapeRegExp)(a.getKeyword());return(0,i.default)(e)};var i=function(a){return a&&a.__esModule?a:{default:a}}(t(777)),n=t(2)},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return["a","about","above","after","again","against","all","am","an","and","any","are","as","at","be","because","been","before","being","below","between","both","but","by","could","did","do","does","doing","down","during","each","few","for","from","further","had","has","have","having","he","he'd","he'll","he's","her","here","here's","hers","herself","him","himself","his","how","how's","i","i'd","i'll","i'm","i've","if","in","into","is","it","it's","its","itself","let's","me","more","most","my","myself","nor","of","on","once","only","or","other","ought","our","ours","ourselves","out","over","own","same","she","she'd","she'll","she's","should","so","some","such","than","that","that's","the","their","theirs","them","themselves","then","there","there's","these","they","they'd","they'll","they're","they've","this","those","through","to","too","under","until","up","very","was","we","we'd","we'll","we're","we've","were","what","what's","when","when's","where","where's","which","while","who","who's","whom","why","why's","with","would","you","you'd","you'll","you're","you've","your","yours","yourself","yourselves"]}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){return(0,i.default)(a.getUrl().replace(/[-_]/g," "))};var i=function(a){return a&&a.__esModule?a:{default:a}}(t(777))},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){var e=void 0,t=a.getText(),l=a.getLocale(),u=(0,d.default)(l);if(""===t)return 0;t=(0,i.default)(t);var p=(0,n.default)(t),z=(0,o.default)(t);if(0===p||0===z)return 0;var g=(0,r.default)(t,l),m=c(z,p),y=g*(100/z);switch(u){case"nl":e=206.84-.77*y-.93*m;break;case"de":e=180-m-58.5*g/z;break;case"it":e=217-1.3*m-.6*y;break;case"ru":e=206.835-1.3*z/p-60.1*g/z;break;case"es":e=206.84-1.02*z/p-.6*y;break;case"fr":e=207-1.015*z/p-73.6*g/z;break;case"en":default:e=206.835-1.015*m-g/z*84.6}return(0,s.default)(e)};var i=l(t(1030)),n=l(t(1031)),o=l(t(269)),r=l(t(695)),s=l(t(341)),d=l(t(76));function l(a){return a&&a.__esModule?a:{default:a}}var c=function(a,e){return a/e}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){return a=a.replace(/\b[0-9]+\b/g,""),"."===(a=(0,i.default)(a))&&(a=""),a};var i=function(a){return a&&a.__esModule?a:{default:a}}(t(77))},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){for(var e=(0,i.default)(a),t=0,n=0;n<e.length;n++)t++;return t};var i=function(a){return a&&a.__esModule?a:{default:a}}(t(153))},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){return a.getDescription().length}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a,e){var t=e.getResearch("morphology");return l((0,i.default)(a.getText()),t,a.getLocale())};var i=s(t(499)),n=s(t(1034)),o=t(279),r=t(2);function s(a){return a&&a.__esModule?a:{default:a}}var d=function(a){return a.countWordMatches>0},l=function(a,e,t){for(var i={noAlt:0,withAlt:0,withAltKeyword:0,withAltNonKeyword:0},s=0;s<a.length;s++){var l=(0,n.default)(a[s]);if(""!==l)if((0,r.isEmpty)(e.keyphraseForms))i.withAlt++;else{var c=(0,o.findTopicFormsInString)(e,l,!0,t);d(c)?i.withAltKeyword++:i.withAltNonKeyword++}else i.noAlt++}return i}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){var e="",t=a.match(n);return null!==t&&(e=(e=(e=(0,i.default)(t[2])).replace(/&quot;/g,'"')).replace(/&#039;/g,"'")),e};var i=function(a){return a&&a.__esModule?a:{default:a}}(t(77));var n=/alt=(['"])(.*?)\1/i},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a,e){return e.getResearch("morphology").keyphraseForms.length}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a,e){var t=a.getDescription(),i=a.getLocale(),o=e.getResearch("morphology");return(0,n.default)(t).map(function(a){return d(a,o,i)}).reduce(function(a,e){return a+e},0)};var i=o(t(467)),n=o(t(153));function o(a){return a&&a.__esModule?a:{default:a}}function r(a){if(Array.isArray(a)){for(var e=0,t=Array(a.length);e<a.length;e++)t[e]=a[e];return t}return Array.from(a)}var s=function(a,e,t){return e.forEach(function(e){return e.matches.slice(0,t).forEach(function(e){a=a.replace(e,"")})}),a},d=function(a,e,t){var n=e.keyphraseForms.map(function(e){return(0,i.default)(a,e,t)}),o=Math.min.apply(Math,r(n.map(function(a){return a.count})));a=s(a,n,o);var d=e.synonymsForms.map(function(e){var o=e.map(function(e){return(0,i.default)(a,e,t)}),d=Math.min.apply(Math,r(o.map(function(a){return a.count})));return a=s(a,n,d),d});return[o].concat(r(d)).reduce(function(a,e){return a+e},0)}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a,e){var t=e.getResearch("morphology"),n=a.getUrl().replace(/[-_]/gi," "),o=(0,i.findTopicFormsInString)(t,n,!1,a.getLocale());return{keyphraseLength:t.keyphraseForms.length,percentWordMatches:o.percentWordMatches}};var i=t(279)},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a,e){var t=e.getResearch("morphology"),r=a.getLocale(),s=(0,i.default)(a.getText());s=(0,c.reject)(s,c.isEmpty),s=(0,c.reject)(s,p)[0]||"";var d={foundInOneSentence:!1,foundInParagraph:!1,keyphraseOrSynonym:""},l=(0,n.default)(s);if(!(0,c.isEmpty)(l)){l.forEach(function(a){var e=(0,o.findTopicFormsInString)(t,a,!0,r);if(100===e.percentWordMatches)return d.foundInOneSentence=!0,d.foundInParagraph=!0,d.keyphraseOrSynonym=e.keyphraseOrSynonym,d});var u=(0,o.findTopicFormsInString)(t,s,!0,r);if(100===u.percentWordMatches)return d.foundInParagraph=!0,d.keyphraseOrSynonym=u.keyphraseOrSynonym,d}return d};var i=u(t(779)),n=u(t(153)),o=t(279),r=u(t(499)),s=u(t(1039)),d=u(t(687)),l=u(t(681)),c=t(2);function u(a){return a&&a.__esModule?a:{default:a}}function p(a){if(""===(a=function(a){var e=(0,d.default)(a);return e.length>0&&e.forEach(function(e){a=a.replace(e,"")}),a}(a)))return!0;if(""===(a=function(a){var e=(0,r.default)(a),t=(0,l.default)(a,"</img>");return e.length>0&&(e.forEach(function(e){a=a.replace(e,"")}),t.forEach(function(e){a=a.replace(e,"")})),a}(a)))return!0;var e=(0,s.default)(a);return!(e.length<1)&&(e.forEach(function(e){a=a.replace(e,"")}),""===a)}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){return(0,i.default)(a,"<div(?:[^>]+)?> *</div>")};var i=function(a){return a&&a.__esModule?a:{default:a}}(t(681))},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){return a.hasTitle()?a.getTitleWidth():0}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){var e=(0,o.default)(a.getText());return(0,r.map)(e,function(a){return{sentence:a,words:d(a)}})};var i=s(t(145)),n=s(t(695)),o=s(t(153)),r=t(2);function s(a){return a&&a.__esModule?a:{default:a}}var d=function(a){var e=(0,i.default)(a),t=[];return(0,r.forEach)(e,function(a,e){t.push({word:a,wordIndex:e,complexity:(0,n.default)(a)})}),t}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){var e=a.getText(),t=[];return(0,n.default)(e).map(function(a){t.push({wordCount:(0,i.default)(a),text:a})}),(0,o.filter)(t,function(a){return a.wordCount>0})};var i=r(t(269)),n=r(t(779)),o=t(2);function r(a){return a&&a.__esModule?a:{default:a}}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){var e=(0,i.default)(a.getText());return(0,n.default)(e)};var i=o(t(153)),n=o(t(780));function o(a){return a&&a.__esModule?a:{default:a}}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){var e=(0,i.default)(a.getDescription());return(0,n.default)(e)};var i=o(t(153)),n=o(t(780));function o(a){return a&&a.__esModule?a:{default:a}}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){var e=a.getText(),t=(0,i.default)(e),r=[];return(0,o.forEach)(t,function(a){r.push({text:a,wordCount:(0,n.default)(a)})}),r};var i=r(t(1046)),n=r(t(269)),o=t(2);function r(a){return a&&a.__esModule?a:{default:a}}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){var e=(a=(a=a.replace(/\|/gi,"")).replace(/<h([1-6])(?:[^>]+)?>(.*?)<\/h\1>/gi,"|")).split("|");return(0,i.isEmpty)(e[0])&&e.shift(),e};var i=t(2)},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){var e=a.getLocale(),t=(0,r.default)(e),i=(0,n.default)(a.getText()),o=z(i,t);return{totalSentences:i.length,sentenceResults:o,transitionWordSentences:o.length}};var i=l(t(1048)),n=l(t(153)),o=t(345),r=l(t(1049)),s=t(781),d=t(2);function l(a){return a&&a.__esModule?a:{default:a}}var c=null,u="";var p=function(a,e){a=(0,o.normalizeSingle)(a);var t=function(a){var e=(0,d.flattenDeep)(a).join("");return u===e&&null!==c||(u=e,c=(0,i.default)(a)),c}(e);return a.match(t)},z=function(a,e){var t=[];return a.forEach(function(a){var i=p(a,e.twoPartTransitionWords());if(null===i){var n=function(a,e){return a=(0,o.normalizeSingle)(a),e.filter(function(e){return(0,s.isWordInSentence)(e,a)})}(a,e.transitionWords);0===n.length||t.push({sentence:a,transitionWords:n})}else t.push({sentence:a,transitionWords:i})}),t}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){var e="("+(a=a.map(function(a){return n(a)})).join(")|(")+")";return new RegExp(e,"ig")};var i=function(a){return a&&a.__esModule?a:{default:a}}(t(347));var n=function(a){return(a=a.map(function(a){return(0,i.default)(a)})).join("(.*?)")}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){switch((0,x.default)(a)){case"de":return{transitionWords:A,twoPartTransitionWords:r.default};case"es":return{transitionWords:O,twoPartTransitionWords:c.default};case"fr":return{transitionWords:T,twoPartTransitionWords:d.default};case"nl":return{transitionWords:S,twoPartTransitionWords:p.default};case"it":return{transitionWords:M,twoPartTransitionWords:g.default};case"pt":return{transitionWords:P,twoPartTransitionWords:y.default};case"ru":return{transitionWords:C,twoPartTransitionWords:f.default};case"ca":return{transitionWords:R,twoPartTransitionWords:h.default};case"pl":return{transitionWords:D,twoPartTransitionWords:k.default};case"sv":return{transitionWords:F,twoPartTransitionWords:_.default};default:case"en":return{transitionWords:E,twoPartTransitionWords:n.default}}};var i=q(t(737)),n=q(t(1050)),o=q(t(735)),r=q(t(1051)),s=q(t(742)),d=q(t(1052)),l=q(t(740)),c=q(t(1053)),u=q(t(739)),p=q(t(1054)),z=q(t(741)),g=q(t(1055)),m=q(t(743)),y=q(t(1056)),w=q(t(744)),f=q(t(1057)),b=q(t(1058)),h=q(t(1059)),v=q(t(745)),k=q(t(1060)),j=q(t(746)),_=q(t(1061)),x=q(t(76));function q(a){return a&&a.__esModule?a:{default:a}}var E=(0,i.default)().allWords,A=(0,o.default)().allWords,T=(0,s.default)().allWords,O=(0,l.default)().allWords,S=(0,u.default)().allWords,M=(0,z.default)().allWords,P=(0,m.default)().allWords,C=(0,w.default)().allWords,R=(0,b.default)().allWords,D=(0,v.default)().allWords,F=(0,j.default)().allWords},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return[["both","and"],["if","then"],["not only","but also"],["neither","nor"],["either","or"],["not","but"],["whether","or"],["no sooner","than"]]}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return[["anstatt","dass"],["bald","bald"],["dadurch","dass"],["dessen ungeachtet","dass"],["entweder","oder"],["einerseits","andererseits"],["erst","wenn"],["je","desto"],["je","umso"],["umso","umso"],["nicht nur","sondern auch"],["ob","oder"],["ohne","dass"],["so","dass"],["sowohl","als auch"],["sowohl","wie auch"],["unbeschadet dessen","dass"],["weder","noch"],["wenn","auch"],["wenn","schon"],["nicht weil","sondern"]]}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return[["à première vue","mais à bien considérer les choses"],["à première vue","mais toute réflexion faite"],["aussi","que"],["autant de","que"],["certes","mais"],["d'un côté","de l'autre côté"],["d'un côté","de l'autre"],["d'un côté","d'un autre côté"],["d'une part","d'autre part"],["d'une parte","de l'autre parte"],["moins de","que"],["non seulement","mais aussi"],["non seulement","mais en outre"],["non seulement","mais encore"],["plus de","que"],["quelque","que"],["si","que"],["soit","soit"],["tantôt","tantôt"],["tout d'abord","ensuite"],["tout","que"]]}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return[["de un lado","de otra parte"],["de un lado","de otro"],["no","sino que"],["no","sino"],["por un lado","por otro lado"],["por una parte","por otra parte"],["por una parte","por otra"],["tanto","como"],["bien","bien"]]}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return[["aan de ene kant","aan de andere kant"],["enerzijds","anderzijds"],["natuurlijk","maar"],["niet alleen","maar ook"],["noch","noch"],["zowel","als"]]}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return[["né","né"],["non","ma"],["non prima","che"],["non prima","di"],["non solo","ma anche"],["o","o"],["se","allora"],["se","o"],["sia","che"]]}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return[["não apenas","como também"],["não só","bem como"],["não só","como também"],["não só","mas também"],["ora","ora"],["ou","ou"],["quer","quer"]]}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return[["будь то","или"],["возможно","а может быть"],["возможно","возможно"],["достаточно","чтобы"],["едва","как"],["ежели","то"],["если говорить о","то"],["если и не","то"],["если не","то"],["если","то"],["мало того что","еще и"],["мало того, что","еще и"],["не сказать чтобы","но"],["не сказать, чтобы","но"],["не столько","сколько"],["не то чтобы","но"],["не только не","но и"],["стоило","как"],["так как","то"],["только","как"],["хоть бы","а то"],["хоть","хоть"],["хотя","но"],["чем","лучше бы"],["чем","тем"],["что касается","то"]]}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return{singleWords:i,multipleWords:n,allWords:i.concat(n)}};var i=["abans","així","altrament","anteriorment","breument","contràriament","després","doncs","efectivament","endemés","finalment","generalment","igualment","malgrat","mentre","parallelament","però","perquè","primerament","resumidament","resumint","sinó","sobretot","també","tanmateix"],n=["a banda d'això","a continuació","a fi de","a fi que","a força de","a manera de resum","a més","a tall d'exemple","a tall de recapitulació","a tall de resum","al capdavall","al contrari","al mateix temps","amb relació a","amb tot plegat","ara bé","atès que","com a conseqüència","com a exemple","com a resultat","com a resum","com que","comptat i debatut","considerant que","convé destacar","convé recalcar","convé ressaltar que","d'altra banda","d’una banda","d’una forma breu","de la mateixa manera","de manera parallela","de manera que","degut a","deixant de banda","dit d'una altra manera","donat que","en a resum","en altres paraules","en canvi","en conclusió","en conjunt","en conseqüència","encara que","en darrer lloc","en darrer terme","en definitiva","en efect","en general","en particular","en pocs mots","en poques paraules","en primer lloc","en relació amb","en resum","en segon lloc","en síntesi","en suma","en tercer lloc","en últim terme","és a dir","és més","és per això que","fins i tot","gràcies a","gràcies de","igual com","igual que","ja que","llevat que","més aviat","més tard","no obstant","o sia","o sigui","pel fet que","pel general","pel que","per acabar","per això","per altra banda","per aquest motiu","per causa de","per causa que","per cert","per començar","per concloure","per concretar","per contra","per exemple","per illustrar","per l'altra part","per l'altre cantó","per la qual cosa","per posar un exemple","per raó de","per raó que","per tal de","per tal que","per tant","per últim","per un cantó","per un costat","per una altra banda","per una part","quant a","recapitulant","respecte de","s'ha de tenir en compte que","sempre que","tal com s’ha dit","tan bon punt","tenint en compte que","tot i","tot seguit","val la pena dir que","vist que"]},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return[["ara","ara"],["ni","ni"]]}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return[["albo","albo"],["ani","ani"],["czy","czy"],["im","tym"],["tak","jak"]]}},function(a,e,t){"use strict";a.exports=function(){return[["antingen","eller"],["icke blott","utan afven"],["ju","desto"]]}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){var e=a.getText(),t=a.getLocale(),n=(0,o.default)(t),s=(0,i.default)(e).map(function(a){return new r.default(a)}),d=s.length;return z.includes(n)?{total:d,passives:m(s,n).passiveSentences}:g.includes(n)?{total:d,passives:y(s,n).passiveSentences}:void 0};var i=p(t(153)),n=t(144),o=p(t(76)),r=p(t(782)),s=t(2),d=p(t(1063)),l=p(t(1087)),c=p(t(1090)),u=p(t(1104));function p(a){return a&&a.__esModule?a:{default:a}}var z=["ru","tr","sv"],g=["en","de","nl","fr","es","it","pt","cn","pl"],m=function(a,e){var t=[];return(0,s.forEach)(a,function(a){var i=(0,n.stripFullTags)(a.getSentenceText()).toLocaleLowerCase();a.setPassive((0,l.default)(i,e)),!0===a.isPassive()&&t.push(a.getSentenceText())}),{passiveSentences:t}},y=function(a,e){var t=[];return(0,s.forEach)(a,function(a){var i=(0,n.stripFullTags)(a.getSentenceText()).toLocaleLowerCase(),o=[];o="de"===e||"nl"===e||"pl"===e?(0,u.default)(i,e):(0,c.default)(i,e);var r=!1;(0,s.forEach)(o,function(a){a.setPassive((0,d.default)(a.getSentencePartText(),a.getAuxiliaries(),e)),r=r||a.isPassive()}),r&&t.push(a.getSentenceText())}),{passiveSentences:t}}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a,e,t){var o=[];if("de"===t||"nl"===t||"pl"===t){if(!e.some(function(a){return c[t].auxiliaries.includes(a)}))return!1;"de"===t&&(o=(0,r.default)(a,e,t)),"nl"!==t&&"pl"!==t||(o=(0,n.default)(a,e,t))}else o=(0,n.default)(a,e,t);return(0,i.default)(o)};var i=l(t(1064)),n=l(t(348)),o=l(t(489)),r=l(t(784)),s=l(t(785)),d=l(t(786));function l(a){return a&&a.__esModule?a:{default:a}}var c={de:{auxiliaries:(0,o.default)().allAuxiliaries},nl:{auxiliaries:(0,s.default)()},pl:{auxiliaries:(0,d.default)()}}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){var e=!1;return(0,i.forEach)(a,function(a){a.determinesSentencePartIsPassive()&&(e=!0)}),e};var i=t(2)},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return{regularParticiples:(0,i.memoize)(v),irregularParticiples:(0,i.memoize)(j)}};var i=t(2),n=c(t(1066)),o=c(t(1067)),r=c(t(1068)),s=c(t(1069)),d=c(t(1070)),l=c(t(1071));function c(a){return a&&a.__esModule?a:{default:a}}var u=(0,n.default)(),p=(0,o.default)(),z=p.irregularsRegular,g=p.irregularsIrregular,m=p.irregularsEndingInS,y=(0,r.default)(),w=(0,s.default)(),f=(0,d.default)(),b=(0,l.default)(),h={en:{regularParticiplesRegex:/\w+ed($|[ \n\r\t.,'()"+\-;!?:/»«‹›<>])/gi},fr:{regularParticiplesRegex:/\S+(é|ée|és|ées)($|[ \n\r\t.,'()"+\-;!?:/»«‹›<>])/gi},nl:{regularParticipleRegexPattern1:/^(ge|be|ont|ver|her|er)\S+(d|t)$/gi,regularParticipleRegexPattern2:/^(aan|af|bij|binnen|los|mee|na|neer|om|onder|samen|terug|tegen|toe|uit|vast)(ge)\S+(d|t|n)$/gi}},v=function(a,e){if("es"===e||"it"===e||"pl"===e)return[];var t=[];return Object.keys(h[e]).forEach(function(i){var n=a.match(h[e][i]);null!==n&&t.push(n)}),t=(0,i.flattenDeep)(t)},k=function(a,e,t){var n=[];return(0,i.forEach)(e,function(e){var i=new RegExp("^"+e+t+"?$","ig"),o=a.match(i);o&&n.push(o[0])}),n},j=function(a,e){var t=[];switch(e){case"fr":t=(t=t.concat(k(a,z,"(e|s|es)"))).concat(k(a,m,"(e|es)")),(0,i.find)(g,function(e){e===a&&t.push(e)});break;case"es":(0,i.includes)(y,a)&&t.push(a);break;case"it":(0,i.includes)(w,a)&&t.push(a);break;case"nl":(0,i.includes)(f,a)&&t.push(a);break;case"pl":(0,i.includes)(b,a)&&t.push(a);break;case"en":default:(0,i.find)(u,function(e){e===a&&t.push(e)})}return t}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return["arisen","awoken","reawoken","babysat","backslid","backslidden","beat","beaten","become","begun","bent","unbent","bet","bid","outbid","rebid","underbid","overbid","bidden","bitten","blown","bought","overbought","bound","unbound","rebound","broadcast","rebroadcast","broken","brought","browbeat","browbeaten","built","prebuilt","rebuilt","overbuilt","burnt","burst","bust","cast","miscast","recast","caught","chosen","clung","come","overcome","cost","crept","cut","undercut","recut","daydreamt","dealt","misdealt","redealt","disproven","done","predone","outdone","misdone","redone","overdone","undone","drawn","outdrawn","redrawn","overdrawn","dreamt","driven","outdriven","drunk","outdrunk","overdrunk","dug","dwelt","eaten","overeaten","fallen","felt","fit","refit","retrofit","flown","outflown","flung","forbidden","forecast","foregone","foreseen","foretold","forgiven","forgotten","forsaken","fought","outfought","found","frostbitten","frozen","unfrozen","given","gone","undergone","gotten","ground","reground","grown","outgrown","regrown","had","handwritten","heard","reheard","misheard","overheard","held","hewn","hidden","unhidden","hit","hung","rehung","overhung","unhung","hurt","inlaid","input","interwound","interwoven","jerry-built","kept","knelt","knit","reknit","unknit","known","laid","mislaid","relaid","overlaid","lain","underlain","leant","leapt","outleapt","learnt","unlearnt","relearnt","mislearnt","left","lent","let","lip-read","lit","relit","lost","made","premade","remade","meant","met","mown","offset","paid","prepaid","repaid","overpaid","partaken","proofread","proven","put","quick-frozen","quit","read","misread","reread","retread","rewaken","rid","ridden","outridden","overridden","risen","roughcast","run","outrun","rerun","overrun","rung","said","sand-cast","sat","outsat","sawn","seen","overseen","sent","resent","set","preset","reset","misset","sewn","resewn","oversewn","unsewn","shaken","shat","shaven","shit","shone","outshone","shorn","shot","outshot","overshot","shown","shrunk","preshrunk","shut","sight-read","slain","slept","outslept","overslept","slid","slit","slung","unslung","slunk","smelt","outsmelt","snuck","sold","undersold","presold","outsold","resold","oversold","sought","sown","spat","spelt","misspelt","spent","underspent","outspent","misspent","overspent","spilt","overspilt","spit","split","spoilt","spoken","outspoken","misspoken","overspoken","spread","sprung","spun","unspun","stolen","stood","understood","misunderstood","strewn","stricken","stridden","striven","struck","strung","unstrung","stuck","unstuck","stung","stunk","sublet","sunburnt","sung","outsung","sunk","sweat","swept","swollen","sworn","outsworn","swum","outswum","swung","taken","undertaken","mistaken","retaken","overtaken","taught","mistaught","retaught","telecast","test-driven","test-flown","thought","outthought","rethought","overthought","thrown","outthrown","overthrown","thrust","told","retold","torn","retorn","trod","trodden","typecast","typeset","upheld","upset","waylaid","wept","wet","rewet","withdrawn","withheld","withstood","woken","won","rewon","worn","reworn","wound","rewound","overwound","unwound","woven","rewoven","unwoven","written","typewritten","underwritten","outwritten","miswritten","rewritten","overwritten","wrung"]}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return{irregularsRegular:i,irregularsIrregular:n,irregularsEndingInS:o}};var i=["abâtardi","abattu","abêti","aboli","abouti","abruti","abstenu","abstrait","accompli","accouru","accroupi","accru","accueilli","adjoint","adouci","advenu","affadi","affaibli","affermi","agi","agrandi","aguerri","ahuri","aigri","alangui","alenti","alourdi","aluni","amaigri","amati","amerri","aminci","amoindri","amolli","amorti","anéanti","apâli","aperçu","aplani","appartenu","appauvri","appendu","appesanti","applaudi","approfondi","arrondi","assagi","assailli","assaini","asservi","assombri","assorti","assoupi","assoupli","assourdi","assouvi","assujetti","astreint","attendri","attendu","atterri","attiédi","attrait","autodétruit","avachi","aveuli","avili","banni","barri","bâti","battu","béni","blanchi","blêmi","bleui","blondi","blotti","bonni","bouffi","bouilli","bruni","bu","calmi","candi","ceint","chéri","choisi","circonscrit","circonvenu","combattu","comparu","compati","conclu","concouru","condescendu","conduit","confit","confondu","conjoint","connu","consenti","construit","contenu","contraint","contredit","contrefait","contrevenu","convaincu","convenu","converti","coproduit","correspondu","couru","cousu","craint","cramoisi","crépi","croupi","cru","cueilli","cuit","débattu","décati","déchu","déconfit","déconstruit","décousu","découvert","décrépi","décrit","décru","déçu","dédit","déduit","défailli","défendu","défini","défleuri","défraîchi","dégarni","dégluti","dégourdi","démenti","démoli","démordu","démuni","départi","dépeint","dépendu","dépéri","déplu","dépoli","dépourvu","désobéi","desservi","déteint","détendu","détenu","détruit","dévêtu","discouru","disjoint","disparu","distendu","distrait","dit","diverti","dormi","durci","ébahi","ébaubi","ébaudi","éclairci","éconduit","écrit","élargi","élu","embelli","embouti","émoulu","empli","empreint","empuanti","ému","enchéri","encouru","endolori","endormi","enduit","endurci","enfoui","enfreint","enfui","englouti","engourdi","enhardi","enjoint","enlaidi","ennobli","enorgueilli","enrichi","enseveli","entendu","entr'aperçu","entraperçu","entreclos","entremis","entretenu","entrevu","entrouvert","envahi","épanoui","éperdu","équarri","équivalu","estourbi","établi","éteint","étendu","étourdi","étréci","étreint","eu","évanoui","exclu","extrait","faibli","fait","fallu","farci","feint","fendu","fini","fléchi","fleuri","fondu","forci","foui","fourbi","fourni","foutu","fraîchi","franchi","frémi","frit","fui","garanti","garni","gauchi","gémi","glapi","grandi","grossi","guéri","haï","imparti","induit","infléchi","inscrit","instruit","interdit","interrompu","interverti","introduit","inverti","investi","jailli","jauni","joint","joui","langui","loti","lu","maintenu","méconnu","mécru","médit","menti","minci","moisi","moiti","molli","mordu","morfondu","moulu","mugi","muni","nanti","noirci","nourri","nui","obéi","obscurci","obtenu","offert","oint","ouï","ourdi","ouvert","pâli","parcouru","paru","pâti","peint","pendu","perçu","péri","perverti","pétri","plaint","portrait","pourfendu","pourri","poursuivi","pourvu","prédéfini","prédit","préétabli","prémuni","prescrit","prétendu","prévalu","prévenu","prévu","produit","promu","proscrit","pu","puni","rabattu","rabougri","radouci","raffermi","ragaillardi","raidi","rajeuni","ralenti","ramolli","ranci","ravi","réadmis","réagi","réappris","rebâti","rebattu","rebondi","rebu","reconnu","reconstruit","reconverti","recouru","recouvert","recrépi","récrit","recru","reçu","recueilli","recuit","redécouvert","redéfini","redit","réduit","réécrit","réélu","réentendu","refendu","réfléchi","refondu","refoutu","refroidi","regarni","régi","réinscrit","réintroduit","réinvesti","rejoint","réjoui","relu","relui","rembruni","remordu","rempli","renchéri","rendormi","rendu","rentrait","répandu","reparcouru","réparti","reparu","repeint","rependu","repenti","reperdu","répondu","reproduit","résolu","resplendi","ressaisi","resservi","restreint","resurgi","rétabli","retendu","retenu","retraduit","retrait","retranscrit","rétréci","réuni","réussi","revécu","revendu","reverdi","reverni","revêtu","revu","ri","roidi","rosi","rôti","rougi","roussi","rousti","rouvert","rugi","saisi","sali","satisfait","sauri","secouru","séduit","senti","serti","servi","sévi","souffert","souri","sous-entendu","sous-tendu","souscrit","soustrait","soutenu","souvenu","su","subi","subvenu","suffi","suivi","surenchéri","surgi","suri","survécu","suspendu","tapi","tari","teint","tendu","tenu","terni","terri","tiédi","tondu","tordu","traduit","trahi","trait","transcrit","transi","travesti","tressailli","uni","vagi","vaincu","valu","vécu","vendu","verdi","verni","vêtu","vieilli","vomi","voulu","vu"],n=["absous","absoute","absoutes","dissous","dissoute","dissoutes","crû","crus","crue","crues","dû","dus","dues","mû","mus","mue","mues"],o=["repris","démis","omis","dépris","retransmis","assis","promis","circoncis","permis","compris","mépris","inclus","soumis","rassis","sursis","enclos","acquis","compromis","commis","désappris","appris","conquis","transmis","remis","surpris","reconquis","mis","enquis","pris","admis","clos","émis","entrepris","épris","requis"]},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return["abajado","abalanzado","abaleado","abandonado","abaratado","abarcado","abarrotado","abastecido","abatido","abdicado","abierto","abismado","abjurado","ablandado","abocado","abochornado","abofeteado","abolido","abollado","abombado","abominado","abonado","abordado","aborrecido","aborregado","abortado","abotonado","abrasado","abrazado","abrevado","abreviado","abrigado","abrochado","abrogado","abroquelado","abrumado","absorbido","abstenido","abstraído","absuelto","abucheado","abultado","abundado","aburguesado","aburrido","abusado","acabado","acallado","acalorado","acaparado","acariciado","acarreado","acatado","acaudillado","accedido","accionado","acechado","aceitado","acelerado","acentuado","aceptado","acerado","acercado","acertado","achacado","achantado","achatado","achicado","acicalado","acidificado","aclarado","aclimatado","acobardado","acodado","acogido","acojonado","acometido","acomodado","acompañado","acompasado","acongojado","aconsejado","acontecido","acopiado","acoplado","acordado","acordonado","acorralado","acortado","acosado","acostado","acostumbrado","acotado","acrecentado","acreditado","acrisolado","activado","actuado","acuchillado","acuciado","acudido","acuerpado","acumulado","acunado","acuñado","acurrucado","acusado","adaptado","adecentado","adelantado","adelgazado","adentrado","adeudado","adherido","adicionado","adiestrado","adivinado","adjetivado","adjudicado","adjuntado","administrado","admirado","admitido","adoctrinado","adolecido","adoptado","adorado","adormecido","adornado","adquirido","aducido","adueñado","adulado","adulterado","advertido","afanado","afeado","afectado","afeitado","aferrado","afianzado","afinado","afirmado","afligido","aflorado","afrentado","afrontado","agachado","agarrado","agarrotado","agasajado","agenciado","agigantado","agilizado","agitado","aglutinado","agobiado","agolpado","agonizado","agostado","agotado","agradado","agradecido","agrandado","agravado","agraviado","agredido","agregado","agriado","agrietado","agrupado","aguado","aguantado","aguardado","agudizado","aguijoneado","agujereado","aguzado","ahogado","ahondado","ahorcado","ahorrado","ahuecado","ahuyentado","aireado","aislado","ajustado","ajusticiado","alabado","alagado","alambrado","alardeado","alargado","alarmado","albergado","alborotado","alcanzado","aleccionado","alegado","alegrado","alejado","alentado","alertado","alfabetizado","alfombrado","aliado","alienado","aligerado","alimentado","aliñado","alineado","alisado","alistado","aliviado","alivianado","allanado","almacenado","almorzado","alojado","alquilado","alterado","alternado","alucinado","aludido","alumbrado","alzado","amado","amaestrado","amagado","amainado","amalgamado","amamantado","amansado","amargado","amarrado","amasado","ambicionado","amedrentado","amenazado","amenizado","ameritado","ametrallado","amilanado","aminorado","amnistiado","amoldado","amonestado","amontonado","amordazado","amortajado","amortiguado","amortizado","amotinado","amparado","ampayado","ampliado","amplificado","amputado","amueblado","añadido","analizado","anatematizado","andado","anegado","anestesiado","anexado","anexionado","anhelado","anidado","anillado","animado","aniquilado","anisado","añorado","anotado","anoticiado","ansiado","antecedido","antepuesto","anticipado","antojado","anudado","anulado","anunciado","apabullado","apachurrado","apaciguado","apadrinado","apagado","apalancado","apaleado","apañado","apantallado","aparcado","apareado","aparecido","aparentado","apartado","apeado","apedreado","apelado","apellidado","apelmazado","apercibido","apersonado","apestado","apetecido","apiadado","apilado","apiñado","apisonado","aplacado","aplanado","aplastado","aplaudido","aplazado","aplicado","apoderado","apoltronado","aporreado","aportado","aposentado","apostado","apostatado","apostillado","apoyado","apreciado","aprehendido","apremiado","aprendido","apresado","apresurado","apretado","apretujado","aprisionado","aprobado","aprovechado","aprovisionado","aproximado","apuñalado","apuñaleado","apuntado","apuntalado","apuntillado","apurado","aquejado","aquietado","aquilatado","arañado","arbitrado","archivado","arengado","argüido","argumentado","armado","armonizado","aromatizado","arqueado","arrancado","arrasado","arrastrado","arreado","arrebatado","arreciado","arreglado","arrellanado","arremangado","arremetido","arrendado","arrepentido","arrestado","arriado","arribado","arriesgado","arrimado","arrinconado","arrodillado","arrogado","arrojado","arrollado","arropado","arruinado","arrullado","articulado","asado","asaltado","ascendido","aseado","asechado","asediado","asegurado","asemejado","asentado","asentido","aserrado","asesinado","asesorado","asestado","aseverado","asfixiado","asido","asignado","asilado","asimilado","asistido","asolado","asoleado","asomado","asombrado","aspirado","astillado","asumido","asustado","atacado","atado","atajado","atarantado","atascado","atemorizado","atemperado","atenazado","atendido","atenido","atentado","atenuado","aterrado","aterrorizado","atesorado","atestiguado","atiborrado","atisbado","atizado","atomizado","atontado","atorado","atormentado","atornillado","atosigado","atracado","atragantado","atraído","atrancado","atrapado","atrasado","atravesado","atrevido","atribuido","atrincherado","atrofiado","atropellado","aturdido","auditado","augurado","aumentado","aunado","aupado","auscultado","ausentado","autenticado","autentificado","autodefinido","autoeditado","automatizado","autorizado","autorregulado","auxiliado","avalado","avanzado","avasallado","avenido","aventado","aventajado","aventurado","averiado","averiguado","avezado","avisado","avispado","avistado","avivado","avizorado","avocado","ayudado","azotado","azuzado","babeado","bailado","bajado","balaceado","balanceado","bañado","banalizado","bancado","bandeado","barajado","barrido","basado","bastardeado","basureado","batallado","bateado","batido","bautizado","beatificado","bebido","beneficiado","besado","bifurcado","birlado","blandido","blanqueado","blasfemado","blindado","bloqueado","boicoteado","bombardeado","bombeado","bonificado","bordeado","borrado","borroneado","bosquejado","bostezado","botado","boxeado","bregado","brillado","brincado","brindado","bromeado","brotado","bruñido","buceado","burlado","buscado","cabeceado","cabido","cabildeado","cabreado","cacareado","cachado","cacheado","cacheteado","caducado","cagado","calado","calculado","caldeado","calefaccionado","calendarizado","calentado","calibrado","calificado","caligrafiado","callado","calmado","calumniado","calzado","cambiado","caminado","camuflado","canalizado","cancelado","canjeado","cansado","cantado","capado","capeado","capitalizado","capitulado","captado","capturado","caracterizado","carburado","carcomido","cardado","careado","carecido","cargado","caricaturizado","cartografiado","cascado","castigado","castrado","catado","catalizado","catalogado","catapultado","cateado","categorizado","causado","cauterizado","cautivado","cavado","cavilado","cazado","cebado","cedido","cegado","cejado","celebrado","cenado","ceñido","censurado","centrifugado","centuplicado","cepillado","cercado","cercenado","cerciorado","cernido","cerrado","cesado","chafado","chamuscado","chantajeado","chapado","charlado","chateado","chequeado","chiflado","chillado","chingado","chirriado","chivado","chocado","chorreado","choteado","chupado","chutado","cicatrizado","cifrado","cimentado","cincelado","circulado","circuncidado","circundado","citado","clamado","clarificado","clasificado","claudicado","clausurado","clavado","clicado","clonado","coaccionado","coadyuvado","coagulado","coaligado","coartado","cobijado","cobrado","cocido","cocinado","codeado","codiciado","codificado","codirigido","coexistido","cofinanciado","cogido","cohabitado","cohibido","coincidido","colaborado","colacionado","colado","colapsado","coleccionado","colectado","colectivizado","colgado","colisionado","colmado","colocado","colonizado","coloreado","columpiado","combatido","combinado","comentado","comenzado","comerciado","comercializado","cometido","comido","comisionado","compactado","compadecido","compaginado","comparado","comparecido","compartido","compatibilizado","compelido","compendiado","compenetrado","compensado","compilado","complacido","complementado","completado","complotado","comportado","comprado","comprendido","comprimido","comprobado","comprometido","compuesto","compulsado","computado","comulgado","comunicado","concatenado","concebido","concedido","concelebrado","concentrado","conceptuado","conceptualizado","concertado","concienciado","concientizado","conciliado","concitado","concluido","concordado","concretado","concretizado","conculcado","concursado","condenado","condensado","condicionado","condimentado","condolido","condonado","conducido","conectado","conexionado","confabulado","confeccionado","conferido","confesado","confiado","configurado","confirmado","confiscado","confluido","conformado","confortado","confrontado","confundido","congeniado","congestionado","congratulado","congregado","conjeturado","conjugado","conjuntado","conjurado","conllevado","conmemorado","conminado","conmocionado","conmovido","conmutado","connotado","conquistado","consagrado","conseguido","consensuado","consentido","conservado","considerado","consignado","consistido","consolado","consolidado","conspirado","constado","constatado","constelado","constitucionalizado","constituido","constreñido","construido","consultado","consumado","consumido","contabilizado","contactado","contado","contagiado","contemplado","contendido","contenido","contentado","contestado","contextualizado","continuado","contorneado","contraatacado","contrabandeado","contradicho","contrahecho","contraído","contrapesado","contrapuesto","contrariado","contrarrestado","contrastado","contratado","contravenido","contribuido","contristado","controlado","convalidado","convencido","convenido","convergido","conversado","convertido","convidado","convivido","convocado","convulsionado","cooperado","cooptado","coordinado","copado","copiado","coproducido","copulado","coqueteado","corchado","coreado","coreografiado","corneado","coronado","corporizado","corregido","correlacionado","correspondido","correteado","corrido","corroborado","corroído","corrompido","cortado","cortejado","cosechado","cosido","cosificado","costado","costeado","cotejado","cotizado","creado","creído","criado","cribado","criminalizado","crispado","cristalizado","cristianizado","criticado","cronometrado","crucificado","crujido","cruzado","cuadriplicado","cuadruplicado","cuajado","cuantificado","cuarteado","cubierto","cuestionado","cuidado","culeado","culminado","culpabilizado","culpado","cultivado","culturizado","cumplido","cumplimentado","cundido","curado","curioseado","currado","cursado","curvado","custodiado","dado","dañado","danzado","datado","dateado","debatido","debido","debilitado","debitado","debutado","decaído","decantado","decapitado","decepcionado","decidido","declamado","declarado","declinado","decodificado","decolorado","decomisado","decrecido","decretado","dedicado","deducido","defecado","defendido","defenestrado","deferido","definido","deformado","defraudado","degenerado","deglutido","degollado","degradado","degustado","deificado","dejado","delatado","delegado","deleitado","deletreado","deliberado","delimitado","delineado","delinquido","demandado","demarcado","demediado","demeritado","democratizado","demolido","demonizado","demorado","demostrado","demudado","denegado","denigrado","denominado","denostado","denotado","denunciado","deparado","departido","dependido","depilado","deplorado","deportado","depositado","depreciado","depredado","deprimido","depuesto","depurado","derechizado","derivado","derogado","derramado","derretido","derribado","derrocado","derrochado","derrotado","derruido","derrumbado","desabrochado","desacatado","desacelerado","desacomodado","desaconsejado","desacoplado","desacralizado","desacreditado","desactivado","desafiado","desafinado","desaguado","desahogado","desairado","desajustado","desalentado","desalineado","desalojado","desandado","desangrado","desanimado","desaparecido","desapegado","desaprendido","desaprobado","desaprovechado","desarmado","desarraigado","desarreglado","desarrollado","desarticulado","desaseado","desasido","desasosegado","desatado","desatendido","desautorizado","desayunado","desbancado","desbandado","desbaratado","desbarrancado","desbastado","desbloqueado","desbocado","desbordado","desbrozado","descabalgado","descabezado","descaderado","descalabrado","descalificado","descansado","descargado","descarriado","descarrilado","descartado","descascarado","descascarillado","descendido","descentrado","descifrado","descocido","descodificado","descojonado","descolgado","descolocado","descolonizado","descompensado","descomprimido","descompuesto","desconectado","desconfiado","descongelado","desconocido","descontado","descontaminado","descontextualizado","descontinuado","desconvocado","descorazonado","descorchado","descorrido","descosido","descoyuntado","descreído","descristianizado","descuadrado","descuartizado","descubierto","descuidado","desdeñado","desdibujado","desdicho","desdoblado","deseado","desecado","desechado","desembarazado","desembarcado","desembocado","desembolsado","desempacado","desempañado","desempaquetado","desempeñado","desempolvado","desenamorado","desencadenado","desencajado","desencarnado","desenchufado","desenfocado","desenfundado","desenganchado","desengrasado","desenmascarado","desenredado","desenrollado","desentendido","desenterrado","desentonado","desentrañado","desenvainado","desenvuelto","desequilibrado","desertado","desestabilizado","desestimado","desfalcado","desfallecido","desfigurado","desfondado","desgajado","desgañitado","desgarrado","desgastado","desglosado","desgobernado","desgranado","desguazado","deshecho","desheredado","deshidratado","deshilachado","deshojado","deshonrado","deshuesado","deshumanizado","designado","desilusionado","desincentivado","desinfectado","desinflado","desinflamado","desinformado","desinhibido","desinstalado","desintegrado","desintoxicado","desistido","desjarretado","deslegitimado","desleído","desligado","deslindado","deslizado","deslucido","deslumbrado","desmadrado","desmalezado","desmantelado","desmaquillado","desmarcado","desmayado","desmejorado","desmembrado","desmentido","desmenuzado","desmerecido","desmigado","desmitificado","desmoldado","desmontado","desmoralizado","desmoronado","desmotivado","desmovilizado","desnaturalizado","desnivelado","desnucado","desnudado","desobedecido","desobligado","desoído","desollado","desorganizado","desorientado","despachado","desparasitado","desparecido","desparramado","despedazado","despedido","despegado","despeinado","despejado","despellejado","despeñado","despenalizado","desperdiciado","despersonalizado","despertado","despilfarrado","despintado","despiojado","despistado","desplazado","desplegado","desplomado","desplumado","despojado","despolitizado","desposado","desposeído","despotricado","despreciado","desprendido","despreocupado","desprestigiado","desprogramado","despulpado","despuntado","desquiciado","desquitado","destacado","destapado","desteñido","desterrado","destetado","destilado","destituido","destrabado","destripado","destronado","destrozado","destruido","desunido","desvalijado","desvalorizado","desvanecido","desvelado","desvestido","desviado","desvinculado","desvirtuado","desvivido","detectado","detenido","detentado","deteriorado","determinado","detestado","detonado","devaluado","devanado","devastado","develado","devengado","devenido","devorado","devuelto","diagnosticado","diagramado","dializado","dialogado","dibujado","dicho","dictado","dictaminado","diezmado","difamado","diferenciado","diferido","dificultado","difuminado","difundido","digerido","digitado","dignado","dignificado","dilapidado","dilatado","diligenciado","dilucidado","diluido","dimensionado","dimitido","dinamitado","dinamizado","dirimido","discernido","disciplinado","discontinuado","discrepado","discriminado","disculpado","discurrido","discutido","diseccionado","diseminado","diseñado","disentido","disertado","disfrazado","disfrutado","disgregado","disgustado","disimulado","disipado","dislocado","disminuido","disociado","dispensado","dispersado","dispuesto","disputado","distado","distanciado","distendido","distinguido","distorsionado","distraído","distribuido","disuadido","disuelto","divagado","diversificado","divertido","dividido","divinizado","divisado","divorciado","divulgado","doblado","doblegado","doctorado","documentado","dogmatizado","dolido","domado","domesticado","dominado","donado","dopado","dormido","dosificado","dotado","dragado","dramatizado","drenado","drogado","duchado","dudado","dulcificado","duplicado","durado","echado","eclipsado","eclosionado","economizado","ecualizado","edificado","editado","educado","efectuado","ejecutado","ejemplificado","ejercido","ejercitado","elaborado","electrizado","electrocutado","elevado","elidido","eliminado","elogiado","elucubrado","eludido","emanado","emancipado","embadurnado","embalado","embalsamado","embanderado","embarcado","embargado","embarrado","embarrancado","embaucado","embebido","embelesado","embellecido","embestido","embolado","embolsado","emborrachado","emborronado","emboscado","embotado","embriagado","embrollado","embrutecido","embuchado","emergido","emigrado","emitido","emocionado","empacado","empachado","empadronado","empalado","empalmado","empanado","empañado","empantanado","empapelado","empaquetado","emparejado","empastado","empatado","empecinado","empeñado","empeorado","empequeñecido","emperrado","empezado","empinado","emplazado","empleado","empobrecido","empoderado","empollado","empolvado","emponzoñado","emprendido","empujado","empuñado","emputado","emulado","emulsionado","enajenado","enaltecido","enamorado","enarbolado","enardecido","encabezado","encabritado","encabronado","encadenado","encajado","encajonado","encallado","encamado","encaminado","encandilado","encanecido","encañonado","encantado","encaprichado","encapsulado","encarado","encaramado","encarecido","encargado","encariñado","encarnado","encarrilado","encartado","encasillado","encasquetado","encasquillado","encastrado","encausado","encauzado","enceguecido","encendido","encerado","encerrado","encharcado","enchufado","encimado","encogido","encolado","encolerizado","encolumnado","encomendado","enconado","encontrado","encordado","encrespado","encuadrado","encubierto","encuerado","encumbrado","enderezado","endeudado","endilgado","endiosado","endosado","endulzado","endurecido","enemistado","energizado","enervado","enfadado","enfangado","enfatizado","enfermado","enfiestado","enfilado","enflaquecido","enfocado","enfrascado","enfrentado","enfriado","enfurecido","engalanado","engañado","enganchado","engarzado","engatusado","engendrado","englobado","engolosinado","engordado","engranado","engrandecido","engrasado","engreído","engrosado","engullido","enharinado","enhebrado","enjuagado","enjugado","enjuiciado","enlazado","enlistado","enlodado","enloquecido","enlozado","enlutado","enmarañado","enmascarado","enmendado","enmohecido","enmudecido","ennegrecido","ennoblecido","enorgullecido","enrarecido","enredado","enripiado","enriquecido","enrocado","enrojecido","enrolado","enrollado","enroscado","enrumbado","ensalzado","ensamblado","ensañado","ensanchado","ensartado","ensayado","ensebado","enseñado","enseñoreado","ensillado","ensoberbecido","ensogado","ensombrecido","ensoñado","ensordecido","ensuciado","entablado","entallado","entendido","enterado","enternecido","enterrado","entibiado","entintado","entonado","entorpecido","entrado","entrampado","entrañado","entreabierto","entrecomillado","entrecruzado","entregado","entrelazado","entremetido","entremezclado","entrenado","entresacado","entretejido","entretenido","entreverado","entrevistado","entristecido","entrometido","entronado","entroncado","entronizado","entumecido","enturbiado","entusiasmado","enumerado","enunciado","envainado","envalentonado","envanecido","envasado","envejecido","envenenado","envestido","enviado","enviciado","envidiado","envilecido","enviudado","envuelto","enzarzado","equilibrado","equiparado","equivocado","erigido","erizado","erogado","erosionado","erotizado","erradicado","errado","esbozado","escabullido","escalado","escaldado","escalfado","escamado","escamoteado","escampado","escandalizado","escaneado","escapado","escaqueado","escarbado","escarchado","escarmentado","escarnecido","escaseado","escatimado","escenificado","escindido","esclarecido","esclavizado","escocido","escogido","escolarizado","escoltado","escondido","escorado","escrachado","escrito","escrutado","escuchado","escudado","escudriñado","esculpido","escupido","escurrido","esforzado","esfumado","esgrimido","esmerado","esmerilado","espabilado","espaciado","españolizado","espantado","esparcido","especificado","especulado","esperado","espesado","espetado","espiado","espigado","espinado","espirado","espiritualizado","espoleado","espolvoreado","esponjado","esponsorizado","esposado","esquematizado","esquiado","esquilado","esquilmado","esquivado","estabilizado","establecido","estacionado","estafado","estallado","estampado","estancado","estaqueado","estatizado","estatuido","esterificado","esterilizado","estigmatizado","estilizado","estimado","estimulado","estipulado","estirado","estorbado","estornudado","estragado","estrangulado","estrechado","estrellado","estremecido","estrenado","estresado","estriado","estropeado","estructurado","estrujado","estudiado","eternizado","etiquetado","evacuado","evadido","evaluado","evangelizado","evaporado","evidenciado","eviscerado","evitado","evocado","evolucionado","exacerbado","exagerado","exaltado","examinado","exasperado","excarcelado","excavado","excedido","exceptuado","excitado","exclamado","excluido","excretado","exculpado","excusado","execrado","exhalado","exhibido","exhortado","exhumado","exigido","exilado","eximido","existido","exonerado","exorcizado","expandido","expedido","expedientado","expelido","expendido","experimentado","expiado","expirado","explayado","explicado","explicitado","explorado","explosionado","explotado","expoliado","exportado","expresado","exprimido","expropiado","expuesto","expulsado","expurgado","extendido","exteriorizado","exterminado","externado","externalizado","extinguido","extirpado","extorsionado","extractado","extraditado","extraído","extralimitado","extrañado","extrapolado","extraviado","extremado","extruido","exudado","eyaculado","eyectado","fabricado","fabulado","facilitado","facturado","facultado","fagocitado","fajado","fallado","fallecido","falsado","falseado","falsificado","familiarizado","fantaseado","fascinado","fastidiado","fatigado","favorecido","fecundado","felicitado","feminizado","fenecido","fermentado","fertilizado","festejado","fiado","fichado","fidelizado","figurado","fijado","filmado","filosofado","filtrado","finalizado","financiado","fincado","fingido","finiquitado","firmado","fiscalizado","fisurado","flagelado","flameado","flanqueado","flaqueado","fletado","flexibilizado","flexionado","flipado","floreado","florecido","flotado","fluctuado","focalizado","fogueado","foliado","follado","fomentado","fondeado","forcejeado","forestado","forjado","formado","formalizado","formateado","formulado","fornicado","forrado","fortalecido","forzado","fotocopiado","fotografiado","fracasado","fraccionado","fracturado","fragmentado","fraguado","franqueado","frecuentado","fregado","frenado","fresado","friccionado","frotado","fructificado","fruncido","fugado","fulminado","fumado","fumigado","funcionado","fundado","fundamentado","fundido","fungido","fusilado","fusionado","fustigado","gafado","ganado","gangrenado","garabateado","garantido","garantizado","garrido","gaseado","gastado","gemido","generado","generalizado","gerenciado","germinado","gestado","gestionado","girado","glorificado","glosado","gobernado","goleado","golpeado","gozado","grabado","graduado","graficado","granjeado","grapado","gratificado","gravado","gravitado","gritado","gruñido","guardado","guarecido","guarnecido","guerreado","guiado","guillotinado","guiñado","guindado","guisado","gustado","habilitado","habitado","habituado","hablado","halado","halagado","hallado","hartado","hechizado","hecho","helenizado","henchido","hendido","heredado","herido","hermanado","herrado","hervido","hibernado","hibridado","hidratado","higienizado","hilado","hilvanado","hincado","hinchado","hipnotizado","hipotecado","historiado","hojeado","holgado","hollado","homenajeado","homogeneizado","homologado","honrado","horadado","horneado","horrorizado","hospedado","hostigado","hostilizado","huido","humanado","humanizado","humectado","humedecido","humillado","hundido","hurgado","hurtado","ideado","idealizado","identificado","ideologizado","idiotizado","idolatrado","ignorado","igualado","ilegalizado","iluminado","ilusionado","ilustrado","imaginado","imbricado","imitado","impactado","impartido","impedido","impelido","imperado","impermeabilizado","implantado","implementado","implicado","implorado","importado","importunado","imposibilitado","impresionado","improvisado","impuesto","impugnado","impulsado","imputado","inaugurado","incautado","incendiado","incentivado","incinerado","incitado","inclinado","incluido","incoado","incomodado","incorporado","incrementado","increpado","incriminado","incubado","inculcado","inculpado","incumplido","incurrido","incursionado","indagado","indemnizado","independizado","indexado","indicado","indigestado","indignado","indispuesto","individuado","inducido","indultado","inervado","infamado","infartado","infectado","inferido","inficionado","infiltrado","inflado","inflamado","infligido","influenciado","influido","informado","infravalorado","infringido","infundido","ingeniado","ingerido","ingresado","inhabilitado","inhalado","inhibido","inhumado","iniciado","inicializado","injertado","injuriado","inmigrado","inmiscuido","inmolado","inmortalizado","inmovilizado","inmunizado","innovado","inoculado","inquietado","inquirido","insensibilizado","insertado","insinuado","insistido","inspeccionado","inspirado","instado","instalado","instaurado","instigado","instituido","instruido","instrumentado","instrumentalizado","insuflado","insultado","insumido","integrado","intelectualizado","intensificado","intentado","interactuado","intercalado","intercambiado","intercedido","interceptado","interesado","interferido","interiorizado","intermediado","internacionalizado","internalizado","interpelado","interpolado","interpretado","interpuesto","interrogado","interrumpido","intervenido","intimado","intimidado","intitulado","intoxicado","intrigado","introducido","intuido","inundado","inutilizado","invadido","invalidado","inventado","inventariado","invertido","investido","investigado","invitado","invocado","involucionado","inyectado","ionizado","ironizado","irradiado","irrespetado","irrigado","irritado","irrogado","irrumpido","jactado","jalado","jaleado","jalonado","jaqueado","jerarquizado","jodido","jorobado","jubilado","jugado","juntado","jurado","juramentado","justificado","juzgado","laborado","labrado","laburado","lacado","lacerado","lactado","ladeado","ladrado","lamentado","lamido","laminado","languidecido","lanzado","lapidado","laqueado","largado","lastimado","lastrado","latido","laudado","lavado","legalizado","legislado","legitimado","leído","lesionado","leudado","levantado","liado","liberado","liberalizado","libertado","librado","licitado","licuado","liderizado","lidiado","ligado","lijado","limado","limitado","limpiado","linchado","liquidado","litigado","llagado","llamado","llegado","llenado","llevado","llorado","localizado","logrado","lubricado","luchado","lucido","lucrado","lustrado","macerado","machacado","macheteado","machucado","madreado","madrugado","madurado","magnetizado","magnificado","malacostumbrado","malbaratado","malcriado","maleado","malentendido","malgastado","malinterpretado","malogrado","maltratado","malversado","mamado","manchado","mancillado","mandado","manejado","mangado","mangoneado","manifestado","maniobrado","manipulado","manoseado","manteado","mantenido","manufacturado","maquillado","maquinado","maravillado","marcado","marchitado","mareado","marginado","maridado","martillado","martirizado","masacrado","masajeado","mascado","masificado","masticado","masturbado","matado","materializado","matizado","matriculado","maximizado","meado","mecanografiado","mechado","mecido","mediado","mediatizado","medicado","medido","meditado","medrado","mejorado","mellado","memorizado","mencionado","meneado","menguado","menoscabado","menospreciado","menstruado","mensualizado","mensurado","mentado","mentalizado","mentido","mercadeado","mercantilizado","merecido","merendado","mermado","merodeado","mesurado","metamorfoseado","metido","mezclado","migrado","militado","militarizado","mimado","mimetizado","minado","minimizado","ministrado","minusvalorado","mirado","mistificado","mitificado","mitigado","modelado","modernizado","modificado","modulado","mofado","mojado","moldeado","molestado","molido","monetizado","monitorizado","monopolizado","montado","morado","moralizado","mordido","mordisqueado","mortificado","mosqueado","mostrado","motejado","motivado","movido","movilizado","mudado","muestreado","multado","multiplicado","munido","murmurado","mutado","mutilado","nacionalizado","narcotizado","narrado","naufragado","navegado","necesitado","negado","negociado","neutralizado","ninguneado","nivelado","nombrado","nominado","noqueado","normado","normalizado","notado","notificado","nutrido","obcecado","obedecido","objetado","objetivado","obligado","obliterado","obnubilado","obrado","obsequiado","observado","obsesionado","obstaculizado","obstruido","obtenido","obturado","obviado","ocasionado","ocluido","ocultado","ocupado","odiado","ofendido","ofertado","oficiado","oficializado","ofrecido","ofrendado","ofuscado","oído","ojeado","olfateado","olido","olvidado","omitido","ondeado","ondulado","opacado","operado","opinado","oprimido","optado","optimizado","opuesto","orado","orbitado","ordenado","ordeñado","organizado","orientado","originado","orillado","orinado","ornado","ornamentado","orquestado","osado","oscilado","oscurecido","osificado","ostentado","otorgado","ovacionado","ovulado","oxidado","oxigenado","pacificado","pactado","padecido","paganizado","paginado","paladeado","paliado","palpado","parado","parafraseado","paralizado","parapetado","parasitado","parcelado","parchado","parcheado","pareado","parido","parodiado","parqueado","participado","particularizado","partido","pasado","paseado","pastoreado","pataleado","pateado","patentado","patentizado","patinado","patrullado","pecado","pedaleado","pedido","pegado","peinado","pellizcado","penalizado","penetrado","pensado","percatado","percibido","percutido","perdido","perdonado","perdurado","perecido","peregrinado","perfeccionado","perfilado","perforado","perfumado","pergeñado","peritado","perjudicado","perjurado","permeado","permitido","permutado","pernoctado","perpetrado","perpetuado","perseguido","perseverado","persistido","personado","personalizado","personificado","persuadido","pertenecido","pertrechado","perturbado","pervertido","pervivido","pescado","petado","peticionado","picado","picaneado","picoteado","pifiado","pignorado","pillado","pilotado","piloteado","pincelado","pinchado","pintado","pintarrajeado","pinzado","pirado","pirateado","pisado","pisoteado","pitado","placido","plagiado","planchado","planeado","plantado","planteado","plasmado","platicado","plegado","pluralizado","podado","poetizado","polemizado","politizado","pololeado","ponderado","pontificado","popularizado","porfiado","portado","porteado","posado","posesionado","posibilitado","posicionado","pospuesto","posteado","postergado","postrado","postulado","potenciado","practicado","precarizado","precedido","preceptuado","precintado","precipitado","precisado","preconizado","predicado","predicho","predispuesto","predominado","preferido","prefigurado","pregonado","preguntado","prejuzgado","premiado","prendado","prendido","preocupado","preparado","presagiado","prescindido","presenciado","presentado","presentido","preservado","presidido","presionado","prestado","prestigiado","presumido","presurizado","pretendido","preterido","prevalecido","prevalido","prevaricado","prevenido","previsto","primado","principiado","pringado","priorizado","privatizado","probado","problematizado","procedido","procesado","proclamado","procreado","procurado","prodigado","producido","profanado","proferido","profesado","profesionalizado","profetizado","profundizado","programado","progresado","prohibido","prohijado","proletarizado","proliferado","prologado","prolongado","promediado","prometido","promocionado","promovido","promulgado","pronosticado","pronunciado","propagado","propalado","propendido","propiciado","propinado","proporcionado","propuesto","propugnado","propulsado","prorrateado","prorrogado","proseguido","prosperado","prostituido","protegido","protestado","protocolizado","provenido","provocado","proyectado","psicoanalizado","publicado","publicitado","puesto","pugnado","pujado","pulido","pulsado","pululado","pulverizado","punado","punteado","puntuado","puntualizado","punzado","purgado","purificado","puteado","quebrado","quebrantado","quejado","quemado","querellado","querido","quintuplicado","quitado","racionado","racionalizado","radiado","radicado","radicalizado","raído","rajado","ralentizado","rapado","rapeado","raptado","rascado","rasgado","rasguñado","raspado","rastreado","rasurado","ratificado","rayado","razonado","reabierto","reabsorbido","reaccionado","reactivado","readaptado","readmitido","reafirmado","reagrupado","reajustado","realimentado","realizado","realzado","reanimado","reanudado","reaparecido","rearmado","reasumido","reavivado","rebajado","rebalsado","rebanado","rebasado","rebatido","rebautizado","rebelado","reblandecido","rebobinado","rebosado","rebotado","rebozado","rebuscado","recabado","recaído","recalado","recalcado","recalentado","recalificado","recapacitado","recapitulado","recargado","recatado","recaudado","receptado","recetado","rechazado","recibido","reciclado","recitado","reclamado","reclinado","reclutado","recobrado","recocido","recogido","recolectado","recomendado","recomenzado","recompensado","recompuesto","reconcentrado","reconciliado","reconducido","reconfortado","reconocido","reconquistado","reconsiderado","reconstituido","reconstruido","reconvenido","reconvertido","recopilado","recordado","recorrido","recortado","recreado","recriminado","recrudecido","rectificado","recubierto","reculado","recuperado","recurrido","recusado","redactado","redefinido","redescubierto","redimensionado","redimido","rediseñado","redistribuido","redituado","redoblado","redondeado","reducido","redundado","reedificado","reeditado","reeducado","reelaborado","reembolsado","reemplazado","reencarnado","reencauchado","reencontrado","reenganchado","reenviado","reescrito","reestructurado","reexaminado","refaccionado","referido","refinado","refinanciado","reflejado","reflexionado","reflotado","reforestado","reformado","reforzado","refractado","refrenado","refrendado","refrescado","refrigerado","refundido","refutado","regado","regalado","regañado","regateado","regenerado","regentado","regenteado","regido","regionalizado","registrado","reglado","reglamentado","regocijado","regodeado","regresado","regulado","regularizado","regurgitado","rehabilitado","rehecho","rehogado","rehuido","rehusado","reído","reinado","reincidido","reincorporado","reingresado","reiniciado","reinsertado","reinstalado","reinstaurado","reintegrado","reinventado","reinvertido","reiterado","reivindicado","rejuvenecido","relajado","relamido","relanzado","relatado","relativizado","relegado","releído","relevado","religado","rellenado","remachado","remado","remangado","remarcado","rematado","remecido","remediado","rememorado","remendado","remitido","remodelado","remojado","remolcado","remontado","removido","remplazado","renacido","rendido","renegado","renegociado","reñido","renombrado","renovado","rentabilizado","rentado","renunciado","reordenado","reorganizado","reorientado","reparado","repartido","repasado","repatriado","repelido","repensado","repercutido","repescado","repetido","repicado","repintado","replanteado","replegado","replicado","repoblado","reportado","reporteado","reposado","repreguntado","reprendido","represado","representado","reprimido","reprobado","reprochado","reproducido","repudiado","repuesto","repugnado","repuntado","reputado","requerido","requisado","resaltado","resarcido","resbalado","rescatado","rescindido","resecado","reseñado","reservado","reseteado","resguardado","residido","resignado","resistido","resonado","respaldado","respetado","respirado","resplandecido","respondido","responsabilizado","resquebrajado","restablecido","restado","restaurado","restituido","restregado","resucitado","resuelto","resumido","resurgido","retado","retardado","retenido","retirado","retocado","retomado","retorcido","retornado","retractado","retraído","retransmitido","retrasado","retratado","retribuido","retrotraído","retumbado","reunido","reunificado","reutilizado","revalidado","revalorizado","revaluado","revelado","revendido","reventado","reverdecido","reverenciado","revertido","revestido","revirado","revisado","revitalizado","revivido","revocado","revolcado","revoloteado","revolucionado","revuelto","ridiculizado","rifado","rimado","rivalizado","rizado","robado","robustecido","rociado","rodado","rodeado","rogado","roído","rondado","rotado","roto","rotulado","roturado","rozado","ruborizado","rubricado","rugido","rumiado","rumorado","sabido","saboreado","saboteado","sacado","saciado","sacralizado","sacrificado","sacudido","saldado","salpimentado","salpullido","saltado","salteado","saludado","salvado","salvaguardado","sanado","saneado","sangrado","santificado","saqueado","satanizado","satirizado","satisfecho","sazonado","secado","seccionado","secretado","secuenciado","secuestrado","secundado","sedimentado","seducido","segado","segmentado","segregado","seguido","seleccionado","sembrado","señalado","sensibilizado","sentado","sentenciado","sentido","separado","serenado","serrado","servido","significado","silenciado","simbolizado","simpatizado","simplificado","simulado","sincerado","sincronizado","sindicado","sindicalizado","singularizado","sintetizado","sintonizado","sistematizado","situado","sobado","sobornado","sobrado","sobrecargado","sobrecogido","sobreentendido","sobreestimado","sobrellevado","sobrentendido","sobrepasado","sobrepuesto","sobresalido","sobresaltado","sobrestimado","sobrevenido","sobrevivido","sobrevolado","socavado","socializado","socorrido","sodomizado","sofocado","sojuzgado","solapado","solicitado","solidarizado","solidificado","soliviantado","soltado","solucionado","solventado","sombreado","sometido","sonado","soñado","sondeado","sonreído","sonrojado","sopesado","soplado","soportado","sorbido","sorprendido","sorteado","sosegado","soslayado","sospechado","sostenido","suavizado","subastado","subcontratado","subdividido","subestimado","subido","sublevado","sublimado","subrayado","subrogado","subsanado","subsidiado","subsistido","substraído","subsumido","subvertido","subyugado","succionado","sucedido","sucumbido","sudado","sufragado","sufrido","sugerido","sugestionado","suicidado","sujetado","sumado","sumergido","suministrado","supeditado","superado","superpuesto","supervisado","suplantado","suplicado","suplido","suprimido","supuesto","surcado","surtido","suscitado","suspendido","suspirado","sustanciado","sustantivado","sustentado","sustituido","sustraído","susurrado","suturado","tabulado","tachado","talado","taladrado","tallado","tambaleado","tamizado","tañido","tanteado","tapado","tapizado","taponado","tarareado","tardado","tasado","tatuado","tecleado","tejido","telefoneado","televisado","temido","templado","tendido","tenido","tensado","tentado","teorizado","terciado","tergiversado","terminado","territorializado","testado","testeado","testificado","testimoniado","tildado","timado","timbrado","tinturado","tipeado","tipificado","tirado","tiranizado","tironeado","tiroteado","titubeado","tiznado","tocado","tolerado","tomado","tonificado","topado","toqueteado","torcido","toreado","tornado","tornasolado","torneado","torpedeado","torturado","tosido","tostado","totalizado","trabado","trabajado","traducido","traficado","tragado","traicionado","traído","trajinado","tramado","tramitado","trancado","tranquilizado","transcendido","transcurrido","transferido","transfigurado","transformado","transfundido","transgredido","transigido","transitado","transliterado","translucido","transmitido","transmutado","transparentado","transpirado","transportado","transpuesto","trasegado","trasgredido","trasladado","traslapado","traslucido","trasnochado","traspapelado","traspasado","trasplantado","traspuesto","trasquilado","trasteado","trastocado","trastornado","trasvasado","tratado","trazado","trenzado","trepado","tributado","trincado","triplicado","triturado","triunfado","trivializado","trocado","troceado","tronado","tronchado","truncado","tumbado","tuneado","turbado","turnado","tutelado","ufanado","ultimado","uncido","ungido","unido","universalizado","untado","urbanizado","urdido","usado","usufructuado","usurpado","utilizado","vacado","vaciado","vacilado","vacunado","vagado","validado","valido","valorado","valorizado","valuado","vanagloriado","vandalizado","vaporizado","variado","vaticinado","vedado","vehiculado","vejado","velado","vencido","vendado","vendido","venerado","vengado","ventilado","veraneado","verbalizado","verificado","versado","versionado","vertebrado","vertido","vestido","vetado","viabilizado","viajado","vibrado","victimado","victimizado","vigilado","vigorizado","vilipendiado","vindicado","violado","violentado","virado","visado","visibilizado","visitado","vislumbrado","visto","visualizado","vitoreado","vitrificado","vituperado","vivido","vivificado","vocalizado","voceado","vociferado","volado","volatilizado","volcado","volteado","vomitado","votado","vuelto","vulcanizado","vulgarizado","vulnerado","yuxtapuesto","zafado","zambullido","zampado","zanjado","zarandeado","zarpado","zozobrado","zumbado","zurcido","zurrado","abajada","abalanzada","abaleada","abandonada","abaratada","abarcada","abarrotada","abastecida","abatida","abdicada","abierta","abismada","abjurada","ablandada","abocada","abochornada","abofeteada","abolida","abollada","abombada","abominada","abonada","abordada","aborrecida","aborregada","abortada","abotonada","abrasada","abrazada","abrevada","abreviada","abrigada","abrochada","abrogada","abroquelada","abrumada","absorbida","abstenida","abstraída","absuelta","abucheada","abultada","abundada","aburguesada","aburrida","abusada","acabada","acallada","acalorada","acaparada","acariciada","acarreada","acatada","acaudillada","accedida","accionada","acechada","aceitada","acelerada","acentuada","aceptada","acerada","acercada","acertada","achacada","achantada","achatada","achicada","acicalada","acidificada","aclarada","aclimatada","acobardada","acodada","acogida","acojonada","acometida","acomodada","acompañada","acompasada","acongojada","aconsejada","acontecida","acopiada","acoplada","acordada","acordonada","acorralada","acortada","acosada","acostada","acostumbrada","acotada","acrecentada","acreditada","acrisolada","activada","actuada","acuchillada","acuciada","acudida","acuerpada","acumulada","acunada","acuñada","acurrucada","acusada","adaptada","adecentada","adelantada","adelgazada","adentrada","adeudada","adherida","adicionada","adiestrada","adivinada","adjetivada","adjudicada","adjuntada","administrada","admirada","admitida","adoctrinada","adolecida","adoptada","adorada","adormecida","adornada","adquirida","aducida","adueñada","adulada","adulterada","advertida","afanada","afeada","afectada","afeitada","aferrada","afianzada","afinada","afirmada","afligida","aflorada","afrentada","afrontada","agachada","agarrada","agarrotada","agasajada","agenciada","agigantada","agilizada","agitada","aglutinada","agobiada","agolpada","agonizada","agostada","agotada","agradada","agradecida","agrandada","agravada","agraviada","agredida","agregada","agriada","agrietada","agrupada","aguada","aguantada","aguardada","agudizada","aguijoneada","agujereada","aguzada","ahogada","ahondada","ahorcada","ahorrada","ahuecada","ahuyentada","aireada","aislada","ajustada","ajusticiada","alabada","alagada","alambrada","alardeada","alargada","alarmada","albergada","alborotada","alcanzada","aleccionada","alegada","alegrada","alejada","alentada","alertada","alfabetizada","alfombrada","aliada","alienada","aligerada","alimentada","aliñada","alineada","alisada","alistada","aliviada","alivianada","allanada","almacenada","almorzada","alojada","alquilada","alterada","alternada","alucinada","aludida","alumbrada","alzada","amada","amaestrada","amagada","amainada","amalgamada","amamantada","amansada","amargada","amarrada","amasada","ambicionada","amedrentada","amenazada","amenizada","ameritada","ametrallada","amilanada","aminorada","amnistiada","amoldada","amonestada","amontonada","amordazada","amortajada","amortiguada","amortizada","amotinada","amparada","ampayada","ampliada","amplificada","amputada","amueblada","añadida","analizada","anatematizada","andada","anegada","anestesiada","anexada","anexionada","anhelada","anidada","anillada","animada","aniquilada","anisada","añorada","anotada","anoticiada","ansiada","antecedida","antepuesta","anticipada","antojada","anudada","anulada","anunciada","apabullada","apachurrada","apaciguada","apadrinada","apagada","apalancada","apaleada","apañada","apantallada","aparcada","apareada","aparecida","aparentada","apartada","apeada","apedreada","apelada","apellidada","apelmazada","apercibida","apersonada","apestada","apetecida","apiadada","apilada","apiñada","apisonada","aplacada","aplanada","aplastada","aplaudida","aplazada","aplicada","apoderada","apoltronada","aporreada","aportada","aposentada","apostada","apostatada","apostillada","apoyada","apreciada","aprehendida","apremiada","aprendida","apresada","apresurada","apretada","apretujada","aprisionada","aprobada","aprovechada","aprovisionada","aproximada","apuñalada","apuñaleada","apuntada","apuntalada","apuntillada","apurada","aquejada","aquietada","aquilatada","arañada","arbitrada","archivada","arengada","argüida","argumentada","armada","armonizada","aromatizada","arqueada","arrancada","arrasada","arrastrada","arreada","arrebatada","arreciada","arreglada","arrellanada","arremangada","arremetida","arrendada","arrepentida","arrestada","arriada","arribada","arriesgada","arrimada","arrinconada","arrodillada","arrogada","arrojada","arrollada","arropada","arruinada","arrullada","articulada","asada","asaltada","ascendida","aseada","asechada","asediada","asegurada","asemejada","asentada","asentida","aserrada","asesinada","asesorada","asestada","aseverada","asfixiada","asida","asignada","asilada","asimilada","asistida","asolada","asoleada","asomada","asombrada","aspirada","astillada","asumida","asustada","atacada","atada","atajada","atarantada","atascada","atemorizada","atemperada","atenazada","atendida","atenida","atentada","atenuada","aterrada","aterrorizada","atesorada","atestiguada","atiborrada","atisbada","atizada","atomizada","atontada","atorada","atormentada","atornillada","atosigada","atracada","atragantada","atraída","atrancada","atrapada","atrasada","atravesada","atrevida","atribuida","atrincherada","atrofiada","atropellada","aturdida","auditada","augurada","aumentada","aunada","aupada","auscultada","ausentada","autenticada","autentificada","autodefinida","autoeditada","automatizada","autorizada","autorregulada","auxiliada","avalada","avanzada","avasallada","avenida","aventada","aventajada","aventurada","averiada","averiguada","avezada","avisada","avispada","avistada","avivada","avizorada","avocada","ayudada","azotada","azuzada","babeada","bailada","bajada","balaceada","balanceada","bañada","banalizada","bancada","bandeada","barajada","barrida","basada","bastardeada","basureada","batallada","bateada","batida","bautizada","beatificada","bebida","beneficiada","besada","bifurcada","birlada","blandida","blanqueada","blasfemada","blindada","bloqueada","boicoteada","bombardeada","bombeada","bonificada","bordeada","borrada","borroneada","bosquejada","bostezada","botada","boxeada","bregada","brillada","brincada","brindada","bromeada","brotada","bruñida","buceada","burlada","buscada","cabeceada","cabida","cabildeada","cabreada","cacareada","cachada","cacheada","cacheteada","caducada","cagada","calada","calculada","caldeada","calefaccionada","calendarizada","calentada","calibrada","calificada","caligrafiada","callada","calmada","calumniada","calzada","cambiada","caminada","camuflada","canalizada","cancelada","canjeada","cansada","cantada","capada","capeada","capitalizada","capitulada","captada","capturada","caracterizada","carburada","carcomida","cardada","careada","carecida","cargada","caricaturizada","cartografiada","cascada","castigada","castrada","catada","catalizada","catalogada","catapultada","cateada","categorizada","causada","cauterizada","cautivada","cavada","cavilada","cazada","cebada","cedida","cegada","cejada","celebrada","cenada","ceñida","censurada","centrifugada","centuplicada","cepillada","cercada","cercenada","cerciorada","cernida","cerrada","cesada","chafada","chamuscada","chantajeada","chapada","charlada","chateada","chequeada","chiflada","chillada","chingada","chirriada","chivada","chocada","chorreada","choteada","chupada","chutada","cicatrizada","cifrada","cimentada","cincelada","circulada","circuncidada","circundada","citada","clamada","clarificada","clasificada","claudicada","clausurada","clavada","clicada","clonada","coaccionada","coadyuvada","coagulada","coaligada","coartada","cobijada","cobrada","cocida","cocinada","codeada","codiciada","codificada","codirigida","coexistida","cofinanciada","cogida","cohabitada","cohibida","coincidida","colaborada","colacionada","colada","colapsada","coleccionada","colectada","colectivizada","colgada","colisionada","colmada","colocada","colonizada","coloreada","columpiada","combatida","combinada","comentada","comenzada","comerciada","comercializada","cometida","comida","comisionada","compactada","compadecida","compaginada","comparada","comparecida","compartida","compatibilizada","compelida","compendiada","compenetrada","compensada","compilada","complacida","complementada","completada","complotada","comportada","comprada","comprendida","comprimida","comprobada","comprometida","compuesta","compulsada","computada","comulgada","comunicada","concatenada","concebida","concedida","concelebrada","concentrada","conceptuada","conceptualizada","concertada","concienciada","concientizada","conciliada","concitada","concluida","concordada","concretada","concretizada","conculcada","concursada","condenada","condensada","condicionada","condimentada","condolida","condonada","conducida","conectada","conexionada","confabulada","confeccionada","conferida","confesada","confiada","configurada","confirmada","confiscada","confluida","conformada","confortada","confrontada","confundida","congeniada","congestionada","congratulada","congregada","conjeturada","conjugada","conjuntada","conjurada","conllevada","conmemorada","conminada","conmocionada","conmovida","conmutada","connotada","conquistada","consagrada","conseguida","consensuada","consentida","conservada","considerada","consignada","consistida","consolada","consolidada","conspirada","constada","constatada","constelada","constitucionalizada","constituida","constreñida","construida","consultada","consumada","consumida","contabilizada","contactada","contada","contagiada","contemplada","contendida","contenida","contentada","contestada","contextualizada","continuada","contorneada","contraatacada","contrabandeada","contradicha","contrahecha","contraída","contrapesada","contrapuesta","contrariada","contrarrestada","contrastada","contratada","contravenida","contribuida","contristada","controlada","convalidada","convencida","convenida","convergida","conversada","convertida","convidada","convivida","convocada","convulsionada","cooperada","cooptada","coordinada","copada","copiada","coproducida","copulada","coqueteada","corchada","coreada","coreografiada","corneada","coronada","corporizada","corregida","correlacionada","correspondida","correteada","corrida","corroborada","corroída","corrompida","cortada","cortejada","cosechada","cosida","cosificada","costada","costeada","cotejada","cotizada","creada","creída","criada","cribada","criminalizada","crispada","cristalizada","cristianizada","criticada","cronometrada","crucificada","crujida","cruzada","cuadriplicada","cuadruplicada","cuajada","cuantificada","cuarteada","cubierta","cuestionada","cuidada","culeada","culminada","culpabilizada","culpada","cultivada","culturizada","cumplida","cumplimentada","cundida","curada","curioseada","currada","cursada","curvada","custodiada","dada","dañada","danzada","datada","dateada","debatida","debida","debilitada","debitada","debutada","decaída","decantada","decapitada","decepcionada","decidida","declamada","declarada","declinada","decodificada","decolorada","decomisada","decrecida","decretada","dedicada","deducida","defecada","defendida","defenestrada","deferida","definida","deformada","defraudada","degenerada","deglutida","degollada","degradada","degustada","deificada","dejada","delatada","delegada","deleitada","deletreada","deliberada","delimitada","delineada","delinquida","demandada","demarcada","demediada","demeritada","democratizada","demolida","demonizada","demorada","demostrada","demudada","denegada","denigrada","denominada","denostada","denotada","denunciada","deparada","departida","dependida","depilada","deplorada","deportada","depositada","depreciada","depredada","deprimida","depuesta","depurada","derechizada","derivada","derogada","derramada","derretida","derribada","derrocada","derrochada","derrotada","derruida","derrumbada","desabrochada","desacatada","desacelerada","desacomodada","desaconsejada","desacoplada","desacralizada","desacreditada","desactivada","desafiada","desafinada","desaguada","desahogada","desairada","desajustada","desalentada","desalineada","desalojada","desandada","desangrada","desanimada","desaparecida","desapegada","desaprendida","desaprobada","desaprovechada","desarmada","desarraigada","desarreglada","desarrollada","desarticulada","desaseada","desasida","desasosegada","desatada","desatendida","desautorizada","desayunada","desbancada","desbandada","desbaratada","desbarrancada","desbastada","desbloqueada","desbocada","desbordada","desbrozada","descabalgada","descabezada","descaderada","descalabrada","descalificada","descansada","descargada","descarriada","descarrilada","descartada","descascarada","descascarillada","descendida","descentrada","descifrada","descocida","descodificada","descojonada","descolgada","descolocada","descolonizada","descompensada","descomprimida","descompuesta","desconectada","desconfiada","descongelada","desconocida","descontada","descontaminada","descontextualizada","descontinuada","desconvocada","descorazonada","descorchada","descorrida","descosida","descoyuntada","descreída","descristianizada","descuadrada","descuartizada","descubierta","descuidada","desdeñada","desdibujada","desdicha","desdoblada","deseada","desecada","desechada","desembarazada","desembarcada","desembocada","desembolsada","desempacada","desempañada","desempaquetada","desempeñada","desempolvada","desenamorada","desencadenada","desencajada","desencarnada","desenchufada","desenfocada","desenfundada","desenganchada","desengrasada","desenmascarada","desenredada","desenrollada","desentendida","desenterrada","desentonada","desentrañada","desenvainada","desenvuelta","desequilibrada","desertada","desestabilizada","desestimada","desfalcada","desfallecida","desfigurada","desfondada","desgajada","desgañitada","desgarrada","desgastada","desglosada","desgobernada","desgranada","desguazada","deshecha","desheredada","deshidratada","deshilachada","deshojada","deshonrada","deshuesada","deshumanizada","designada","desilusionada","desincentivada","desinfectada","desinflada","desinflamada","desinformada","desinhibida","desinstalada","desintegrada","desintoxicada","desistida","desjarretada","deslegitimada","desleída","desligada","deslindada","deslizada","deslucida","deslumbrada","desmadrada","desmalezada","desmantelada","desmaquillada","desmarcada","desmayada","desmejorada","desmembrada","desmentida","desmenuzada","desmerecida","desmigada","desmitificada","desmoldada","desmontada","desmoralizada","desmoronada","desmotivada","desmovilizada","desnaturalizada","desnivelada","desnucada","desnudada","desobedecida","desobligada","desoída","desollada","desorganizada","desorientada","despachada","desparasitada","desparecida","desparramada","despedazada","despedida","despegada","despeinada","despejada","despellejada","despeñada","despenalizada","desperdiciada","despersonalizada","despertada","despilfarrada","despintada","despiojada","despistada","desplazada","desplegada","desplomada","desplumada","despojada","despolitizada","desposada","desposeída","despotricada","despreciada","desprendida","despreocupada","desprestigiada","desprogramada","despulpada","despuntada","desquiciada","desquitada","destacada","destapada","desteñida","desterrada","destetada","destilada","destituida","destrabada","destripada","destronada","destrozada","destruida","desunida","desvalijada","desvalorizada","desvanecida","desvelada","desvestida","desviada","desvinculada","desvirtuada","desvivida","detectada","detenida","detentada","deteriorada","determinada","detestada","detonada","devaluada","devanada","devastada","develada","devengada","devenida","devorada","devuelta","diagnosticada","diagramada","dializada","dialogada","dibujada","dicha","dictada","dictaminada","diezmada","difamada","diferenciada","diferida","dificultada","difuminada","difundida","digerida","digitada","dignada","dignificada","dilapidada","dilatada","diligenciada","dilucidada","diluida","dimensionada","dimitida","dinamitada","dinamizada","dirimida","discernida","disciplinada","discontinuada","discrepada","discriminada","disculpada","discurrida","discutida","diseccionada","diseminada","diseñada","disentida","disertada","disfrazada","disfrutada","disgregada","disgustada","disimulada","disipada","dislocada","disminuida","disociada","dispensada","dispersada","dispuesta","disputada","distada","distanciada","distendida","distinguida","distorsionada","distraída","distribuida","disuadida","disuelta","divagada","diversificada","divertida","dividida","divinizada","divisada","divorciada","divulgada","doblada","doblegada","doctorada","documentada","dogmatizada","dolida","domada","domesticada","dominada","donada","dopada","dormida","dosificada","dotada","dragada","dramatizada","drenada","drogada","duchada","dudada","dulcificada","duplicada","durada","echada","eclipsada","eclosionada","economizada","ecualizada","edificada","editada","educada","efectuada","ejecutada","ejemplificada","ejercida","ejercitada","elaborada","electrizada","electrocutada","elevada","elidida","eliminada","elogiada","elucubrada","eludida","emanada","emancipada","embadurnada","embalada","embalsamada","embanderada","embarcada","embargada","embarrada","embarrancada","embaucada","embebida","embelesada","embellecida","embestida","embolada","embolsada","emborrachada","emborronada","emboscada","embotada","embriagada","embrollada","embrutecida","embuchada","emergida","emigrada","emitida","emocionada","empacada","empachada","empadronada","empalada","empalmada","empanada","empañada","empantanada","empapelada","empaquetada","emparejada","empastada","empatada","empecinada","empeñada","empeorada","empequeñecida","emperrada","empezada","empinada","emplazada","empleada","empobrecida","empoderada","empollada","empolvada","emponzoñada","emprendida","empujada","empuñada","emputada","emulada","emulsionada","enajenada","enaltecida","enamorada","enarbolada","enardecida","encabezada","encabritada","encabronada","encadenada","encajada","encajonada","encallada","encamada","encaminada","encandilada","encanecida","encañonada","encantada","encaprichada","encapsulada","encarada","encaramada","encarecida","encargada","encariñada","encarnada","encarrilada","encartada","encasillada","encasquetada","encasquillada","encastrada","encausada","encauzada","enceguecida","encendida","encerada","encerrada","encharcada","enchufada","encimada","encogida","encolada","encolerizada","encolumnada","encomendada","enconada","encontrada","encordada","encrespada","encuadrada","encubierta","encuerada","encumbrada","enderezada","endeudada","endilgada","endiosada","endosada","endulzada","endurecida","enemistada","energizada","enervada","enfadada","enfangada","enfatizada","enfermada","enfiestada","enfilada","enflaquecida","enfocada","enfrascada","enfrentada","enfriada","enfurecida","engalanada","engañada","enganchada","engarzada","engatusada","engendrada","englobada","engolosinada","engordada","engranada","engrandecida","engrasada","engreída","engrosada","engullida","enharinada","enhebrada","enjuagada","enjugada","enjuiciada","enlazada","enlistada","enlodada","enloquecida","enlozada","enlutada","enmarañada","enmascarada","enmendada","enmohecida","enmudecida","ennegrecida","ennoblecida","enorgullecida","enrarecida","enredada","enripiada","enriquecida","enrocada","enrojecida","enrolada","enrollada","enroscada","enrumbada","ensalzada","ensamblada","ensañada","ensanchada","ensartada","ensayada","ensebada","enseñada","enseñoreada","ensillada","ensoberbecida","ensogada","ensombrecida","ensoñada","ensordecida","ensuciada","entablada","entallada","entendida","enterada","enternecida","enterrada","entibiada","entintada","entonada","entorpecida","entrada","entrampada","entrañada","entreabierta","entrecomillada","entrecruzada","entregada","entrelazada","entremetida","entremezclada","entrenada","entresacada","entretejida","entretenida","entreverada","entrevistada","entristecida","entrometida","entronada","entroncada","entronizada","entumecida","enturbiada","entusiasmada","enumerada","enunciada","envainada","envalentonada","envanecida","envasada","envejecida","envenenada","envestida","enviada","enviciada","envidiada","envilecida","enviudada","envuelta","enzarzada","equilibrada","equiparada","equivocada","erigida","erizada","erogada","erosionada","erotizada","erradicada","errada","esbozada","escabullida","escalada","escaldada","escalfada","escamada","escamoteada","escampada","escandalizada","escaneada","escapada","escaqueada","escarbada","escarchada","escarmentada","escarnecida","escaseada","escatimada","escenificada","escindida","esclarecida","esclavizada","escocida","escogida","escolarizada","escoltada","escondida","escorada","escrachada","escrita","escrutada","escuchada","escudada","escudriñada","esculpida","escupida","escurrida","esforzada","esfumada","esgrimida","esmerada","esmerilada","espabilada","espaciada","españolizada","espantada","esparcida","especificada","especulada","esperada","espesada","espetada","espiada","espigada","espinada","espirada","espiritualizada","espoleada","espolvoreada","esponjada","esponsorizada","esposada","esquematizada","esquiada","esquilada","esquilmada","esquivada","estabilizada","establecida","estacionada","estafada","estallada","estampada","estancada","estaqueada","estatizada","estatuida","esterificada","esterilizada","estigmatizada","estilizada","estimada","estimulada","estipulada","estirada","estorbada","estornudada","estragada","estrangulada","estrechada","estrellada","estremecida","estrenada","estresada","estriada","estropeada","estructurada","estrujada","estudiada","eternizada","etiquetada","evacuada","evadida","evaluada","evangelizada","evaporada","evidenciada","eviscerada","evitada","evocada","evolucionada","exacerbada","exagerada","exaltada","examinada","exasperada","excarcelada","excavada","excedida","exceptuada","excitada","exclamada","excluida","excretada","exculpada","excusada","execrada","exhalada","exhibida","exhortada","exhumada","exigida","exilada","eximida","existida","exonerada","exorcizada","expandida","expedida","expedientada","expelida","expendida","experimentada","expiada","expirada","explayada","explicada","explicitada","explorada","explosionada","explotada","expoliada","exportada","expresada","exprimida","expropiada","expuesta","expulsada","expurgada","extendida","exteriorizada","exterminada","externada","externalizada","extinguida","extirpada","extorsionada","extractada","extraditada","extraída","extralimitada","extrañada","extrapolada","extraviada","extremada","extruida","exudada","eyaculada","eyectada","fabricada","fabulada","facilitada","facturada","facultada","fagocitada","fajada","fallada","fallecida","falsada","falseada","falsificada","familiarizada","fantaseada","fascinada","fastidiada","fatigada","favorecida","fecundada","felicitada","feminizada","fenecida","fermentada","fertilizada","festejada","fiada","fichada","fidelizada","figurada","fijada","filmada","filosofada","filtrada","finalizada","financiada","fincada","fingida","finiquitada","firmada","fiscalizada","fisurada","flagelada","flameada","flanqueada","flaqueada","fletada","flexibilizada","flexionada","flipada","floreada","florecida","flotada","fluctuada","focalizada","fogueada","foliada","follada","fomentada","fondeada","forcejeada","forestada","forjada","formada","formalizada","formateada","formulada","fornicada","forrada","fortalecida","forzada","fotocopiada","fotografiada","fracasada","fraccionada","fracturada","fragmentada","fraguada","franqueada","frecuentada","fregada","frenada","fresada","friccionada","frotada","fructificada","fruncida","fugada","fulminada","fumada","fumigada","funcionada","fundada","fundamentada","fundida","fungida","fusilada","fusionada","fustigada","gafada","ganada","gangrenada","garabateada","garantida","garantizada","garrida","gaseada","gastada","gemida","generada","generalizada","gerenciada","germinada","gestada","gestionada","girada","glorificada","glosada","gobernada","goleada","golpeada","gozada","grabada","graduada","graficada","granjeada","grapada","gratificada","gravada","gravitada","gritada","gruñida","guardada","guarecida","guarnecida","guerreada","guiada","guillotinada","guiñada","guindada","guisada","gustada","habilitada","habitada","habituada","hablada","halada","halagada","hallada","hartada","hechizada","hecha","helenizada","henchida","hendida","heredada","herida","hermanada","herrada","hervida","hibernada","hibridada","hidratada","higienizada","hilada","hilvanada","hincada","hinchada","hipnotizada","hipotecada","historiada","hojeada","holgada","hollada","homenajeada","homogeneizada","homologada","honrada","horadada","horneada","horrorizada","hospedada","hostigada","hostilizada","huida","humanada","humanizada","humectada","humedecida","humillada","hundida","hurgada","hurtada","ideada","idealizada","identificada","ideologizada","idiotizada","idolatrada","ignorada","igualada","ilegalizada","iluminada","ilusionada","ilustrada","imaginada","imbricada","imitada","impactada","impartida","impedida","impelida","imperada","impermeabilizada","implantada","implementada","implicada","implorada","importada","importunada","imposibilitada","impresionada","improvisada","impuesta","impugnada","impulsada","imputada","inaugurada","incautada","incendiada","incentivada","incinerada","incitada","inclinada","incluida","incoada","incomodada","incorporada","incrementada","increpada","incriminada","incubada","inculcada","inculpada","incumplida","incurrida","incursionada","indagada","indemnizada","independizada","indexada","indicada","indigestada","indignada","indispuesta","individuada","inducida","indultada","inervada","infamada","infartada","infectada","inferida","inficionada","infiltrada","inflada","inflamada","infligida","influenciada","influida","informada","infravalorada","infringida","infundida","ingeniada","ingerida","ingresada","inhabilitada","inhalada","inhibida","inhumada","iniciada","inicializada","injertada","injuriada","inmigrada","inmiscuida","inmolada","inmortalizada","inmovilizada","inmunizada","innovada","inoculada","inquietada","inquirida","insensibilizada","insertada","insinuada","insistida","inspeccionada","inspirada","instada","instalada","instaurada","instigada","instituida","instruida","instrumentada","instrumentalizada","insuflada","insultada","insumida","integrada","intelectualizada","intensificada","intentada","interactuada","intercalada","intercambiada","intercedida","interceptada","interesada","interferida","interiorizada","intermediada","internacionalizada","internalizada","interpelada","interpolada","interpretada","interpuesta","interrogada","interrumpida","intervenida","intimada","intimidada","intitulada","intoxicada","intrigada","introducida","intuida","inundada","inutilizada","invadida","invalidada","inventada","inventariada","invertida","investida","investigada","invitada","invocada","involucionada","inyectada","ionizada","ironizada","irradiada","irrespetada","irrigada","irritada","irrogada","irrumpida","jactada","jalada","jaleada","jalonada","jaqueada","jerarquizada","jodida","jorobada","jubilada","jugada","juntada","jurada","juramentada","justificada","juzgada","laborada","labrada","laburada","lacada","lacerada","lactada","ladeada","ladrada","lamentada","lamida","laminada","languidecida","lanzada","lapidada","laqueada","largada","lastimada","lastrada","latida","laudada","lavada","legalizada","legislada","legitimada","leída","lesionada","leudada","levantada","liada","liberada","liberalizada","libertada","librada","licitada","licuada","liderizada","lidiada","ligada","lijada","limada","limitada","limpiada","linchada","liquidada","litigada","llagada","llamada","llegada","llenada","llevada","llorada","localizada","lograda","lubricada","luchada","lucida","lucrada","lustrada","macerada","machacada","macheteada","machucada","madreada","madrugada","madurada","magnetizada","magnificada","malacostumbrada","malbaratada","malcriada","maleada","malentendida","malgastada","malinterpretada","malograda","maltratada","malversada","mamada","manchada","mancillada","mandada","manejada","mangada","mangoneada","manifestada","maniobrada","manipulada","manoseada","manteada","mantenida","manufacturada","maquillada","maquinada","maravillada","marcada","marchitada","mareada","marginada","maridada","martillada","martirizada","masacrada","masajeada","mascada","masificada","masticada","masturbada","matada","materializada","matizada","matriculada","maximizada","meada","mecanografiada","mechada","mecida","mediada","mediatizada","medicada","medida","meditada","medrada","mejorada","mellada","memorizada","mencionada","meneada","menguada","menoscabada","menospreciada","menstruada","mensualizada","mensurada","mentada","mentalizada","mentida","mercadeada","mercantilizada","merecida","merendada","mermada","merodeada","mesurada","metamorfoseada","metida","mezclada","migrada","militada","militarizada","mimada","mimetizada","minada","minimizada","ministrada","minusvalorada","mirada","mistificada","mitificada","mitigada","modelada","modernizada","modificada","modulada","mofada","mojada","moldeada","molestada","molida","monetizada","monitorizada","monopolizada","montada","morada","moralizada","mordida","mordisqueada","mortificada","mosqueada","mostrada","motejada","motivada","movida","movilizada","mudada","muestreada","multada","multiplicada","munida","murmurada","mutada","mutilada","nacionalizada","narcotizada","narrada","naufragada","navegada","necesitada","negada","negociada","neutralizada","ninguneada","nivelada","nombrada","nominada","noqueada","normada","normalizada","notada","notificada","nutrida","obcecada","obedecida","objetada","objetivada","obligada","obliterada","obnubilada","obrada","obsequiada","observada","obsesionada","obstaculizada","obstruida","obtenida","obturada","obviada","ocasionada","ocluida","ocultada","ocupada","odiada","ofendida","ofertada","oficiada","oficializada","ofrecida","ofrendada","ofuscada","oída","ojeada","olfateada","olida","olvidada","omitida","ondeada","ondulada","opacada","operada","opinada","oprimida","optada","optimizada","opuesta","orada","orbitada","ordenada","ordeñada","organizada","orientada","originada","orillada","orinada","ornada","ornamentada","orquestada","osada","oscilada","oscurecida","osificada","ostentada","otorgada","ovacionada","ovulada","oxidada","oxigenada","pacificada","pactada","padecida","paganizada","paginada","paladeada","paliada","palpada","parada","parafraseada","paralizada","parapetada","parasitada","parcelada","parchada","parcheada","pareada","parida","parodiada","parqueada","participada","particularizada","partida","pasada","paseada","pastoreada","pataleada","pateada","patentada","patentizada","patinada","patrullada","pecada","pedaleada","pedida","pegada","peinada","pellizcada","penalizada","penetrada","pensada","percatada","percibida","percutida","perdida","perdonada","perdurada","perecida","peregrinada","perfeccionada","perfilada","perforada","perfumada","pergeñada","peritada","perjudicada","perjurada","permeada","permitida","permutada","pernoctada","perpetrada","perpetuada","perseguida","perseverada","persistida","personada","personalizada","personificada","persuadida","pertenecida","pertrechada","perturbada","pervertida","pervivida","pescada","petada","peticionada","picada","picaneada","picoteada","pifiada","pignorada","pillada","pilotada","piloteada","pincelada","pinchada","pintada","pintarrajeada","pinzada","pirada","pirateada","pisada","pisoteada","pitada","placida","plagiada","planchada","planeada","plantada","planteada","plasmada","platicada","plegada","pluralizada","podada","poetizada","polemizada","politizada","pololeada","ponderada","pontificada","popularizada","porfiada","portada","porteada","posada","posesionada","posibilitada","posicionada","pospuesta","posteada","postergada","postrada","postulada","potenciada","practicada","precarizada","precedida","preceptuada","precintada","precipitada","precisada","preconizada","predicada","predicha","predispuesta","predominada","preferida","prefigurada","pregonada","preguntada","prejuzgada","premiada","prendada","prendida","preocupada","preparada","presagiada","prescindida","presenciada","presentada","presentida","preservada","presidida","presionada","prestada","prestigiada","presumida","presurizada","pretendida","preterida","prevalecida","prevalida","prevaricada","prevenida","prevista","primada","principiada","pringada","priorizada","privatizada","probada","problematizada","procedida","procesada","proclamada","procreada","procurada","prodigada","producida","profanada","proferida","profesada","profesionalizada","profetizada","profundizada","programada","progresada","prohibida","prohijada","proletarizada","proliferada","prologada","prolongada","promediada","prometida","promocionada","promovida","promulgada","pronosticada","pronunciada","propagada","propalada","propendida","propiciada","propinada","proporcionada","propuesta","propugnada","propulsada","prorrateada","prorrogada","proseguida","prosperada","prostituida","protegida","protestada","protocolizada","provenida","provocada","proyectada","psicoanalizada","publicada","publicitada","puesta","pugnada","pujada","pulida","pulsada","pululada","pulverizada","punada","punteada","puntuada","puntualizada","punzada","purgada","purificada","puteada","quebrada","quebrantada","quejada","quemada","querellada","querida","quintuplicada","quitada","racionada","racionalizada","radiada","radicada","radicalizada","raída","rajada","ralentizada","rapada","rapeada","raptada","rascada","rasgada","rasguñada","raspada","rastreada","rasurada","ratificada","rayada","razonada","reabierta","reabsorbida","reaccionada","reactivada","readaptada","readmitida","reafirmada","reagrupada","reajustada","realimentada","realizada","realzada","reanimada","reanudada","reaparecida","rearmada","reasumida","reavivada","rebajada","rebalsada","rebanada","rebasada","rebatida","rebautizada","rebelada","reblandecida","rebobinada","rebosada","rebotada","rebozada","rebuscada","recabada","recaída","recalada","recalcada","recalentada","recalificada","recapacitada","recapitulada","recargada","recatada","recaudada","receptada","recetada","rechazada","recibida","reciclada","recitada","reclamada","reclinada","reclutada","recobrada","recocida","recogida","recolectada","recomendada","recomenzada","recompensada","recompuesta","reconcentrada","reconciliada","reconducida","reconfortada","reconocida","reconquistada","reconsiderada","reconstituida","reconstruida","reconvenida","reconvertida","recopilada","recordada","recorrida","recortada","recreada","recriminada","recrudecida","rectificada","recubierta","reculada","recuperada","recurrida","recusada","redactada","redefinida","redescubierta","redimensionada","redimida","rediseñada","redistribuida","redituada","redoblada","redondeada","reducida","redundada","reedificada","reeditada","reeducada","reelaborada","reembolsada","reemplazada","reencarnada","reencauchada","reencontrada","reenganchada","reenviada","reescrita","reestructurada","reexaminada","refaccionada","referida","refinada","refinanciada","reflejada","reflexionada","reflotada","reforestada","reformada","reforzada","refractada","refrenada","refrendada","refrescada","refrigerada","refundida","refutada","regada","regalada","regañada","regateada","regenerada","regentada","regenteada","regida","regionalizada","registrada","reglada","reglamentada","regocijada","regodeada","regresada","regulada","regularizada","regurgitada","rehabilitada","rehecha","rehogada","rehuida","rehusada","reída","reinada","reincidida","reincorporada","reingresada","reiniciada","reinsertada","reinstalada","reinstaurada","reintegrada","reinventada","reinvertida","reiterada","reivindicada","rejuvenecida","relajada","relamida","relanzada","relatada","relativizada","relegada","releída","relevada","religada","rellenada","remachada","remada","remangada","remarcada","rematada","remecida","remediada","rememorada","remendada","remitida","remodelada","remojada","remolcada","remontada","removida","remplazada","renacida","rendida","renegada","renegociada","reñida","renombrada","renovada","rentabilizada","rentada","renunciada","reordenada","reorganizada","reorientada","reparada","repartida","repasada","repatriada","repelida","repensada","repercutida","repescada","repetida","repicada","repintada","replanteada","replegada","replicada","repoblada","reportada","reporteada","reposada","repreguntada","reprendida","represada","representada","reprimida","reprobada","reprochada","reproducida","repudiada","repuesta","repugnada","repuntada","reputada","requerida","requisada","resaltada","resarcida","resbalada","rescatada","rescindida","resecada","reseñada","reservada","reseteada","resguardada","residida","resignada","resistida","resonada","respaldada","respetada","respirada","resplandecida","respondida","responsabilizada","resquebrajada","restablecida","restada","restaurada","restituida","restregada","resucitada","resuelta","resumida","resurgida","retada","retardada","retenida","retirada","retocada","retomada","retorcida","retornada","retractada","retraída","retransmitida","retrasada","retratada","retribuida","retrotraída","retumbada","reunida","reunificada","reutilizada","revalidada","revalorizada","revaluada","revelada","revendida","reventada","reverdecida","reverenciada","revertida","revestida","revirada","revisada","revitalizada","revivida","revocada","revolcada","revoloteada","revolucionada","revuelta","ridiculizada","rifada","rimada","rivalizada","rizada","robada","robustecida","rociada","rodada","rodeada","rogada","roída","rondada","rotada","rota","rotulada","roturada","rozada","ruborizada","rubricada","rugida","rumiada","rumorada","sabida","saboreada","saboteada","sacada","saciada","sacralizada","sacrificada","sacudida","saldada","salpimentada","salpullida","saltada","salteada","saludada","salvada","salvaguardada","sanada","saneada","sangrada","santificada","saqueada","satanizada","satirizada","satisfecha","sazonada","secada","seccionada","secretada","secuenciada","secuestrada","secundada","sedimentada","seducida","segada","segmentada","segregada","seguida","seleccionada","sembrada","señalada","sensibilizada","sentada","sentenciada","sentida","separada","serenada","serrada","servida","significada","silenciada","simbolizada","simpatizada","simplificada","simulada","sincerada","sincronizada","sindicada","sindicalizada","singularizada","sintetizada","sintonizada","sistematizada","situada","sobada","sobornada","sobrada","sobrecargada","sobrecogida","sobreentendida","sobreestimada","sobrellevada","sobrentendida","sobrepasada","sobrepuesta","sobresalida","sobresaltada","sobrestimada","sobrevenida","sobrevivida","sobrevolada","socavada","socializada","socorrida","sodomizada","sofocada","sojuzgada","solapada","solicitada","solidarizada","solidificada","soliviantada","soltada","solucionada","solventada","sombreada","sometida","sonada","soñada","sondeada","sonreída","sonrojada","sopesada","soplada","soportada","sorbida","sorprendida","sorteada","sosegada","soslayada","sospechada","sostenida","suavizada","subastada","subcontratada","subdividida","subestimada","subida","sublevada","sublimada","subrayada","subrogada","subsanada","subsidiada","subsistida","substraída","subsumida","subvertida","subyugada","succionada","sucedida","sucumbida","sudada","sufragada","sufrida","sugerida","sugestionada","suicidada","sujetada","sumada","sumergida","suministrada","supeditada","superada","superpuesta","supervisada","suplantada","suplicada","suplida","suprimida","supuesta","surcada","surtida","suscitada","suspendida","suspirada","sustanciada","sustantivada","sustentada","sustituida","sustraída","susurrada","suturada","tabulada","tachada","talada","taladrada","tallada","tambaleada","tamizada","tañida","tanteada","tapada","tapizada","taponada","tarareada","tardada","tasada","tatuada","tecleada","tejida","telefoneada","televisada","temida","templada","tendida","tenida","tensada","tentada","teorizada","terciada","tergiversada","terminada","territorializada","testada","testeada","testificada","testimoniada","tildada","timada","timbrada","tinturada","tipeada","tipificada","tirada","tiranizada","tironeada","tiroteada","titubeada","tiznada","tocada","tolerada","tomada","tonificada","topada","toqueteada","torcida","toreada","tornada","tornasolada","torneada","torpedeada","torturada","tosida","tostada","totalizada","trabada","trabajada","traducida","traficada","tragada","traicionada","traída","trajinada","tramada","tramitada","trancada","tranquilizada","transcendida","transcurrida","transferida","transfigurada","transformada","transfundida","transgredida","transigida","transitada","transliterada","translucida","transmitida","transmutada","transparentada","transpirada","transportada","transpuesta","trasegada","trasgredida","trasladada","traslapada","traslucida","trasnochada","traspapelada","traspasada","trasplantada","traspuesta","trasquilada","trasteada","trastocada","trastornada","trasvasada","tratada","trazada","trenzada","trepada","tributada","trincada","triplicada","triturada","triunfada","trivializada","trocada","troceada","tronada","tronchada","truncada","tumbada","tuneada","turbada","turnada","tutelada","ufanada","ultimada","uncida","ungida","unida","universalizada","untada","urbanizada","urdida","usada","usufructuada","usurpada","utilizada","vacada","vaciada","vacilada","vacunada","vagada","validada","valida","valorada","valorizada","valuada","vanagloriada","vandalizada","vaporizada","variada","vaticinada","vedada","vehiculada","vejada","velada","vencida","vendada","vendida","venerada","vengada","ventilada","veraneada","verbalizada","verificada","versada","versionada","vertebrada","vertida","vestida","vetada","viabilizada","viajada","vibrada","victimada","victimizada","vigilada","vigorizada","vilipendiada","vindicada","violada","violentada","virada","visada","visibilizada","visitada","vislumbrada","vista","visualizada","vitoreada","vitrificada","vituperada","vivida","vivificada","vocalizada","voceada","vociferada","volada","volatilizada","volcada","volteada","vomitada","votada","vuelta","vulcanizada","vulgarizada","vulnerada","yuxtapuesta","zafada","zambullida","zampada","zanjada","zarandeada","zarpada","zozobrada","zumbada","zurcida","zurrada","abajados","abalanzados","abaleados","abandonados","abaratados","abarcados","abarrotados","abastecidos","abatidos","abdicados","abiertos","abismados","abjurados","ablandados","abocados","abochornados","abofeteados","abolidos","abollados","abombados","abominados","abonados","abordados","aborrecidos","aborregados","abortados","abotonados","abrasados","abrazados","abrevados","abreviados","abrigados","abrochados","abrogados","abroquelados","abrumados","absorbidos","abstenidos","abstraídos","absueltos","abucheados","abultados","abundados","aburguesados","aburridos","abusados","acabados","acallados","acalorados","acaparados","acariciados","acarreados","acatados","acaudillados","accedidos","accionados","acechados","aceitados","acelerados","acentuados","aceptados","acerados","acercados","acertados","achacados","achantados","achatados","achicados","acicalados","acidificados","aclarados","aclimatados","acobardados","acodados","acogidos","acojonados","acometidos","acomodados","acompañados","acompasados","acongojados","aconsejados","acontecidos","acopiados","acoplados","acordados","acordonados","acorralados","acortados","acosados","acostados","acostumbrados","acotados","acrecentados","acreditados","acrisolados","activados","actuados","acuchillados","acuciados","acudidos","acuerpados","acumulados","acunados","acuñados","acurrucados","acusados","adaptados","adecentados","adelantados","adelgazados","adentrados","adeudados","adheridos","adicionados","adiestrados","adivinados","adjetivados","adjudicados","adjuntados","administrados","admirados","admitidos","adoctrinados","adolecidos","adoptados","adorados","adormecidos","adornados","adquiridos","aducidos","adueñados","adulados","adulterados","advertidos","afanados","afeados","afectados","afeitados","aferrados","afianzados","afinados","afirmados","afligidos","aflorados","afrentados","afrontados","agachados","agarrados","agarrotados","agasajados","agenciados","agigantados","agilizados","agitados","aglutinados","agobiados","agolpados","agonizados","agostados","agotados","agradados","agradecidos","agrandados","agravados","agraviados","agredidos","agregados","agriados","agrietados","agrupados","aguados","aguantados","aguardados","agudizados","aguijoneados","agujereados","aguzados","ahogados","ahondados","ahorcados","ahorrados","ahuecados","ahuyentados","aireados","aislados","ajustados","ajusticiados","alabados","alagados","alambrados","alardeados","alargados","alarmados","albergados","alborotados","alcanzados","aleccionados","alegados","alegrados","alejados","alentados","alertados","alfabetizados","alfombrados","aliados","alienados","aligerados","alimentados","aliñados","alineados","alisados","alistados","aliviados","alivianados","allanados","almacenados","almorzados","alojados","alquilados","alterados","alternados","alucinados","aludidos","alumbrados","alzados","amados","amaestrados","amagados","amainados","amalgamados","amamantados","amansados","amargados","amarrados","amasados","ambicionados","amedrentados","amenazados","amenizados","ameritados","ametrallados","amilanados","aminorados","amnistiados","amoldados","amonestados","amontonados","amordazados","amortajados","amortiguados","amortizados","amotinados","amparados","ampayados","ampliados","amplificados","amputados","amueblados","añadidos","analizados","anatematizados","andados","anegados","anestesiados","anexados","anexionados","anhelados","anidados","anillados","animados","aniquilados","anisados","añorados","anotados","anoticiados","ansiados","antecedidos","antepuestos","anticipados","antojados","anudados","anulados","anunciados","apabullados","apachurrados","apaciguados","apadrinados","apagados","apalancados","apaleados","apañados","apantallados","aparcados","apareados","aparecidos","aparentados","apartados","apeados","apedreados","apelados","apellidados","apelmazados","apercibidos","apersonados","apestados","apetecidos","apiadados","apilados","apiñados","apisonados","aplacados","aplanados","aplastados","aplaudidos","aplazados","aplicados","apoderados","apoltronados","aporreados","aportados","aposentados","apostados","apostatados","apostillados","apoyados","apreciados","aprehendidos","apremiados","aprendidos","apresados","apresurados","apretados","apretujados","aprisionados","aprobados","aprovechados","aprovisionados","aproximados","apuñalados","apuñaleados","apuntados","apuntalados","apuntillados","apurados","aquejados","aquietados","aquilatados","arañados","arbitrados","archivados","arengados","argüidos","argumentados","armados","armonizados","aromatizados","arqueados","arrancados","arrasados","arrastrados","arreados","arrebatados","arreciados","arreglados","arrellanados","arremangados","arremetidos","arrendados","arrepentidos","arrestados","arriados","arribados","arriesgados","arrimados","arrinconados","arrodillados","arrogados","arrojados","arrollados","arropados","arruinados","arrullados","articulados","asados","asaltados","ascendidos","aseados","asechados","asediados","asegurados","asemejados","asentados","asentidos","aserrados","asesinados","asesorados","asestados","aseverados","asfixiados","asidos","asignados","asilados","asimilados","asistidos","asolados","asoleados","asomados","asombrados","aspirados","astillados"