Orderclasses/Action.php000064400000012124147600042240010126 0ustar00getActions( true ); } } /** * The hookSubmit is loaded when action si posted * * @return void * @throws Exception */ function hookMenu() { /* Only if post */ if ( ! HMWP_Classes_Tools::isAjax() ) { $this->getActions(); } } /** * Hook the Multisite Menu * * @throws Exception */ function hookMultisiteMenu() { /* Only if post */ if ( ! HMWP_Classes_Tools::isAjax() ) { $this->getActions(); } } /** * Get the list with all the plugin actions * * @return array * @since 6.1.1 */ public function getActionsTable() { return array( array( "name" => "HMWP_Controllers_Settings", "actions" => array( "action" => array( "hmwp_settings", "hmwp_tweakssettings", "hmwp_confirm", "hmwp_newpluginschange", "hmwp_abort", "hmwp_ignore_errors", "hmwp_restore_settings", "hmwp_manualrewrite", "hmwp_mappsettings", "hmwp_firewall", "hmwp_advsettings", "hmwp_devsettings", "hmwp_devdownload", "hmwp_changepathsincache", "hmwp_savecachepath", "hmwp_backup", "hmwp_restore", "hmwp_rollback", "hmwp_preset", "hmwp_download_settings", "hmwp_advanced_install", "hmwp_pause_enable", "hmwp_pause_disable", "hmwp_update_product_name", ) ), ), array( "name" => "HMWP_Controllers_Overview", "actions" => array( "action" => array( "hmwp_feature_save" ) ), ), array( "name" => "HMWP_Controllers_SecurityCheck", "actions" => array( "action" => array( "hmwp_securitycheck", "hmwp_frontendcheck", "hmwp_fixsettings", "hmwp_fixconfig", "hmwp_fixprefix", "hmwp_fixpermissions", "hmwp_fixsalts", "hmwp_fixadmin", "hmwp_fixupgrade", "hmwp_securityexclude", "hmwp_resetexclude" ) ), ), array( "name" => "HMWP_Controllers_Brute", "actions" => array( "action" => array( "hmwp_brutesettings", "hmwp_blockedips", "hmwp_deleteip", "hmwp_deleteallips" ) ), ), array( "name" => "HMWP_Controllers_Templogin", "actions" => array( "action" => array( "hmwp_temploginsettings", "hmwp_templogin_block", "hmwp_templogin_activate", "hmwp_templogin_delete", "hmwp_templogin_new", "hmwp_templogin_update", ) ), ), array( "name" => "HMWP_Controllers_Log", "actions" => array( "action" => array( "hmwp_logsettings" ) ), ), array( "name" => "HMWP_Controllers_Widget", "actions" => array( "action" => "hmwp_widget_securitycheck" ), ), array( "name" => "HMWP_Controllers_Connect", "actions" => array( "action" => array( "hmwp_connect" ) ), ), array( "name" => "HMWP_Classes_Error", "actions" => array( "action" => array( "hmwp_ignoreerror" ) ), ), ); } /** * Get all actions from config.json in core directory and add them in the WP * * @param bool $ajax * * @throws Exception * @since 4.0.0 */ public function getActions( $ajax = false ) { //Proceed only if logged in and in dashboard if ( ! is_admin() && ! is_network_admin() ) { return; } $this->actions = array(); $action = HMWP_Classes_Tools::getValue( 'action' ); $nonce = HMWP_Classes_Tools::getValue( 'hmwp_nonce' ); if ( $action == '' || $nonce == '' ) { return; } //Get all the plugin actions $actions = $this->getActionsTable(); foreach ( $actions as $block ) { //If there is a single action if ( isset( $block['actions']['action'] ) ) { //If there are more actions for the current block if ( ! is_array( $block['actions']['action'] ) ) { //Add the action in the actions array if ( $block['actions']['action'] == $action ) { $this->actions[] = array( 'class' => $block['name'] ); } } else { //If there are more actions for the current block foreach ( $block['actions']['action'] as $value ) { //Add the actions in the actions array if ( $value == $action ) { $this->actions[] = array( 'class' => $block['name'] ); } } } } } //Validate referer based on the call type if ( $ajax ) { check_ajax_referer( $action, 'hmwp_nonce' ); } else { check_admin_referer( $action, 'hmwp_nonce' ); } //Add the actions in WP. foreach ( $this->actions as $actions ) { HMWP_Classes_ObjController::getClass( $actions['class'] )->action(); } } } classes/Debug.php000064400000005477147600042240007754 0ustar00is_dir( WP_CONTENT_DIR . '/cache/hmwp' ) ) { $wp_filesystem->mkdir( WP_CONTENT_DIR . '/cache/hmwp' ); } //if the debug dir can't be defined. if ( ! $wp_filesystem->is_dir( WP_CONTENT_DIR . '/cache/hmwp' ) ) { return; } define( '_HMWP_CACHE_DIR_', WP_CONTENT_DIR . '/cache/hmwp/' ); add_action( 'hmwp_debug_request', array( $this, 'hookDebugRequests' ) ); add_action( 'hmwp_debug_cache', array( $this, 'hookDebugCache' ) ); add_action( 'hmwp_debug_files', array( $this, 'hookDebugFiles' ) ); add_action( 'hmwp_debug_local_request', array( $this, 'hookDebugRequests' ) ); add_action( 'hmwp_debug_access_log', array( $this, 'hookAccessLog' ) ); } } /** * @param string $url * @param array $options * @param array $response * * @return void */ public function hookDebugRequests( $url, $options = array(), $response = array() ) { //Initialize WordPress Filesystem $wp_filesystem = HMWP_Classes_ObjController::initFilesystem(); $cachefile = _HMWP_CACHE_DIR_ . 'hmwp_wpcall.log'; $wp_filesystem->put_contents( $cachefile, gmdate( 'Y-m-d H:i:s' ) . ' - ' . $url . ' - ' . wp_json_encode( $response ) . PHP_EOL, FILE_APPEND, FS_CHMOD_FILE ); $wp_filesystem->chmod( $cachefile, FS_CHMOD_FILE ); } /** * @param string $data * * @return void */ public function hookDebugCache( $data ) { //Initialize WordPress Filesystem $wp_filesystem = HMWP_Classes_ObjController::initFilesystem(); $cachefile = _HMWP_CACHE_DIR_ . 'rewrite.log'; $wp_filesystem->put_contents( $cachefile, $data, FILE_APPEND, FS_CHMOD_FILE ); $wp_filesystem->chmod( $cachefile, FS_CHMOD_FILE ); } /** * @param string $data * * @return void */ public function hookDebugFiles( $data ) { //Initialize WordPress Filesystem $wp_filesystem = HMWP_Classes_ObjController::initFilesystem(); $cachefile = _HMWP_CACHE_DIR_ . 'filecall.log'; $wp_filesystem->put_contents( $cachefile, $data . PHP_EOL, FILE_APPEND, FS_CHMOD_FILE ); $wp_filesystem->chmod( $cachefile, FS_CHMOD_FILE ); } /** * @param string $data * * @return void */ public function hookAccessLog( $data ) { //Initialize WordPress Filesystem $wp_filesystem = HMWP_Classes_ObjController::initFilesystem(); $cachefile = _HMWP_CACHE_DIR_ . 'access.log'; $wp_filesystem->put_contents( $cachefile, $data . PHP_EOL, FILE_APPEND, FS_CHMOD_FILE ); $wp_filesystem->chmod( $cachefile, FS_CHMOD_FILE ); } } classes/DisplayController.php000064400000006214147600042240012365 0ustar00exists( _HMWP_ASSETS_DIR_ . 'css/' . $name . '.min.css' ) ) { $css_uri = _HMWP_ASSETS_URL_ . 'css/' . $name . '.min.css?ver=' . HMWP_VERSION_ID; } if ( $wp_filesystem->exists( _HMWP_ASSETS_DIR_ . 'css/' . $name . '.min.scss' ) ) { $css_uri = _HMWP_ASSETS_URL_ . 'css/' . $name . '.min.scss?ver=' . HMWP_VERSION_ID; } if ( $wp_filesystem->exists( _HMWP_ASSETS_DIR_ . 'js/' . $name . '.min.js' ) ) { $js_uri = _HMWP_ASSETS_URL_ . 'js/' . $name . '.min.js?ver=' . HMWP_VERSION_ID; } if ( $css_uri <> '' ) { if ( ! wp_style_is( $id ) ) { if ( did_action( 'wp_print_styles' ) ) { echo ""; } elseif ( is_admin() || is_network_admin() ) { //load CSS for admin or on triggered wp_enqueue_style( $id, $css_uri, $dependency, HMWP_VERSION_ID ); wp_print_styles( array( $id ) ); } } } if ( $js_uri <> '' ) { if ( ! wp_script_is( $id ) ) { if ( did_action( 'wp_print_scripts' ) ) { echo ""; } elseif ( is_admin() || is_network_admin() ) { //load CSS for admin or on triggered if ( ! wp_script_is( 'jquery' ) ) { wp_enqueue_script( 'jquery' ); wp_print_scripts( array( 'jquery' ) ); } wp_enqueue_script( $id, $js_uri, $dependency, HMWP_VERSION_ID, true ); wp_print_scripts( array( $id ) ); } } } } /** * Fetches and renders the view file associated with the given block. * * @param string $block The name of the block whose view file is to be rendered. * @param mixed $view Additional data or context to be used within the view. * * @return string|null The rendered output of the view file, or null if the file does not exist. */ public function getView( $block, $view ) { $output = null; //Initialize WordPress Filesystem $wp_filesystem = HMWP_Classes_ObjController::initFilesystem(); //Set the current view file from /view $file = _HMWP_THEME_DIR_ . $block . '.php'; if ( $wp_filesystem->exists( $file ) ) { ob_start(); include $file; $output .= ob_get_clean(); } return apply_filters( 'hmwp_getview', $output, $block ); } } classes/Error.php000064400000007737147600042240010020 0ustar00 $type, 'ignore' => $ignore, 'text' => $error ); } /** * Return if error * * @return bool */ public static function isError() { if ( ! empty( self::$errors ) ) { foreach ( self::$errors as $error ) { if ( $error['type'] <> 'success' ) { return true; } } } return false; } /** * Clear the errors * * @return void */ public static function clearErrors() { self::$errors = array(); } /** * This hook will show the error in WP header */ public function hookNotices() { if ( is_array( self::$errors ) && ( ( is_string( HMWP_Classes_Tools::getValue( 'page', '' ) ) && stripos( HMWP_Classes_Tools::getValue( 'page', '' ), _HMWP_NAMESPACE_ ) !== false ) || ( is_string( HMWP_Classes_Tools::getValue( 'plugin', '' ) ) && stripos( HMWP_Classes_Tools::getValue( 'plugin', '' ), dirname( HMWP_BASENAME ) ) !== false ) ) ) { foreach ( self::$errors as $error ) { self::showError( $error['text'], $error['type'], $error['ignore'] ); } } self::$errors = array(); } /** * Show the notices to WP * * @param string $message Error message to show in plugin * @param string $type Define the notification class 'notice', 'warning', 'dander'. Default 'notice' * @param bool $ignore Let user ignore this notification */ public static function showError( $message, $type = 'notice', $ignore = true ) { //Initialize WordPress Filesystem $wp_filesystem = HMWP_Classes_ObjController::initFilesystem(); if ( $wp_filesystem->exists( _HMWP_THEME_DIR_ . 'Notices.php' ) ) { include _HMWP_THEME_DIR_ . 'Notices.php'; } else { echo wp_kses_post( $message ); //returns the } } /** * Run the actions on submit * * @throws Exception */ public function action() { if ( ! HMWP_Classes_Tools::userCan( HMWP_CAPABILITY ) ) { return; } switch ( HMWP_Classes_Tools::getValue( 'action' ) ) { case 'hmwp_ignoreerror': $hash = HMWP_Classes_Tools::getValue( 'hash' ); $ignore_errors = (array) HMWP_Classes_Tools::getOption( 'ignore_errors' ); $ignore_errors[] = $hash; $ignore_errors = array_unique( $ignore_errors ); $ignore_errors = array_filter( $ignore_errors ); HMWP_Classes_Tools::saveOptions( 'ignore_errors', $ignore_errors ); wp_redirect( remove_query_arg( array( 'hmwp_nonce', 'action', 'hash' ) ) ); exit(); } } } classes/FrontController.php000064400000006422147600042240012051 0ustar00name = get_class( $this ); /* load the model and hooks here for WordPress actions to take effect */ /* create the model and view instances */ $model_classname = str_replace( 'Controllers', 'Models', $this->name ); if ( HMWP_Classes_ObjController::getClassByPath( $model_classname ) ) { $this->model = HMWP_Classes_ObjController::getClass( $model_classname ); } //IMPORTANT TO LOAD HOOKS HERE /* check if there is a hook defined in the controller clients class */ HMWP_Classes_ObjController::getClass( 'HMWP_Classes_HookController' )->setHooks( $this ); /* Set the debug if activated */ if ( defined( 'HMWP_DEBUG' ) && HMWP_DEBUG ) { HMWP_Classes_ObjController::getClass( 'HMWP_Classes_Debug' ); } /* Load the rewrite */ HMWP_Classes_ObjController::getClass( 'HMWP_Controllers_Rewrite' ); /* Load the Main classes Actions Handler */ HMWP_Classes_ObjController::getClass( 'HMWP_Classes_Action' ); HMWP_Classes_ObjController::getClass( 'HMWP_Classes_DisplayController' ); HMWP_Classes_ObjController::getClass( 'HMWP_Models_Compatibility_Abstract' ); } /** * load sequence of classes * Function called usually when the controller is loaded in WP * * @return HMWP_Classes_FrontController * @throws Exception */ public function init() { return $this; } /** * Get the block view * * @param string $view * @param stdClass $obj * * @return string HTML * @throws Exception */ public function getView( $view = null, $obj = null ) { if ( ! isset( $obj ) ) { $obj = $this; } //Get the view class name if not defined if ( ! isset( $view ) ) { if ( $class = HMWP_Classes_ObjController::getClassByPath( $this->name ) ) { $view = $class['name']; } } //Call the display class to load the view if ( isset( $view ) ) { $this->view = HMWP_Classes_ObjController::getClass( 'HMWP_Classes_DisplayController' ); return $this->view->getView( $view, $obj ); } return ''; } /** * Called as menu callback to show the block * * @param string $view * * @throws Exception */ public function show( $view = null ) { echo $this->getView( $view ); //phpcs:ignore } /** * first function call for any class on form submit */ protected function action() { // called within each class with the action } /** * initialize settings * Called from index * * @return void */ public function hookInit() { } /** * Called on frontend. For disconnected users */ public function hookFrontinit() { } /** * Hook the admin head * This function will load the media in the header for each class * * @return void */ public function hookHead() { } } classes/HookController.php000064400000005541147600042240011662 0ustar00admin_hooks = array( 'init' => 'init', // WP init action 'menu' => 'admin_menu', // WP admin menu action 'head' => 'admin_head', // WP admin head action 'multisiteMenu' => 'network_admin_menu', // WP network admin menu action 'footer' => 'admin_footer', // WP admin footer action ); // Called in frontend context $this->front_hooks = array( // -- 'frontinit' => 'init', // WP frontend init action 'load' => 'plugins_loaded', // WP plugins_loaded action ); } /** * Calls the specified action in WP * * @param object $instance The parent class instance * * @return void */ public function setHooks( $instance ) { if ( is_admin() || is_network_admin() ) { // Set hooks for admin context $this->setAdminHooks( $instance ); } else { // Set hooks for frontend context $this->setFrontHooks( $instance ); } } /** * Calls the specified action in WP for admin * * @param object $instance The parent class instance * * @return void */ public function setAdminHooks( $instance ) { // For each admin action, check if it is defined in the class and call it foreach ( $this->admin_hooks as $hook => $value ) { if ( is_callable( array( $instance, 'hook' . ucfirst( $hook ) ) ) ) { // Call the WP add_action function add_action( $value, array( $instance, 'hook' . ucfirst( $hook ) ) ); } } } /** * Calls the specified action in WP for frontend * * @param object $instance The parent class instance * * @return void */ public function setFrontHooks( $instance ) { // For each frontend action, check if it is defined in the class and call it foreach ( $this->front_hooks as $hook => $value ) { if ( is_callable( array( $instance, 'hook' . ucfirst( $hook ) ) ) ) { // Call the WP add_action function with priority 11111 add_action( $value, array( $instance, 'hook' . ucfirst( $hook ) ), 11111 ); } } } /** * Calls the specified action in WP * * @param string $action The action to set * @param HMWP_Classes_FrontController $obj The object that contains the callback * @param array $callback Contains the class name or object and the callback function * * @return void */ public function setAction( $action, $obj, $callback ) { // Call the custom action function from WP with priority 10 add_action( $action, array( $obj, $callback ), 10 ); } } classes/ObjController.php000064400000016144147600042240011475 0ustar00isAbstract(); if ( ! $abstract) { // Instantiate the class and store it in the instances array self::$instances[$className] = new $className(); if ( ! empty($args)) { call_user_func_array(array(self::$instances[$className], '__construct'), $args); } return self::$instances[$className]; } else { // Mark abstract classes as true in instances array self::$instances[$className] = true; } } } else { // Return the existing instance return self::$instances[$className]; } } else { // Stop all hooks on error defined('HMWP_DISABLE') || define('HMWP_DISABLE', true); // Get the class dir and name $class = self::getClassPath($className); // Show the file not found error HMWP_Classes_Error::showError('File not found: '.$class['dir'].$class['name'].'.php', 'danger'); } return false; } /** * Clear the class instance * * @param string $className - The name of the class to instantiate * @param array $args - Arguments to pass to the class constructor * * @return mixed - The class instance or false on failure * @throws Exception */ public static function newInstance($className, $args = array()) { // Check if the class can be found by its path if (self::getClassByPath($className)) { // Check if the class is already defined if (class_exists($className)) { // Initialize the new class self::$instances[$className] = new $className(); if ( ! empty($args)) { call_user_func_array(array(self::$instances[$className], '__construct'), $args); } return self::$instances[$className]; } else { return self::getClass($className, $args); } } return false; } /** * Include Class if exists * * @param string $classDir - Directory of the class file * @param string $className - Name of the class file * * @throws Exception */ private static function includeClass($classDir, $className) { // Initialize WordPress Filesystem $wp_filesystem = self::initFilesystem(); $path = $classDir.$className.'.php'; // Include the class file if it exists if ($wp_filesystem->exists($path)) { include_once $path; } } /** * Check if the class is correctly set * * @param string $className - The name of the class to check * * @return boolean - True if the class path is valid, False otherwise */ private static function checkClassPath($className) { $path = preg_split('/[_]+/', $className); if (is_array($path) && count($path) > 1) { if (in_array(_HMWP_NAMESPACE_, $path)) { return true; } } return false; } /** * Get the path of the class and name of the class * * @param string $className - The name of the class * * @return array|false - Array with 'dir' and 'name', or false on failure */ public static function getClassPath($className) { $dir = ''; // Check if the class path is valid if (self::checkClassPath($className)) { $path = preg_split('/[_]+/', $className); for ($i = 1; $i < sizeof($path) - 1; $i++) { $dir .= strtolower($path[$i]).'/'; } return array( 'dir' => _HMWP_ROOT_DIR_.'/'.$dir, 'name' => $path[sizeof($path) - 1] ); } return false; } /** * Get the valid class by path * * @param string $className - The name of the class * * @return array|bool|false - Array with class directory and name, or false on failure */ public static function getClassByPath($className) { // Initialize WordPress Filesystem $wp_filesystem = self::initFilesystem(); // Get the class dir and name $class = self::getClassPath($className); // Return the class if the file exists if ($wp_filesystem->exists($class['dir'].$class['name'].'.php') || file_exists($class['dir'].$class['name'].'.php')) { return $class; } return false; } /** * Instantiates the WordPress filesystem * * @return mixed */ public static function initFilesystem() { // The WordPress filesystem. global $wp_filesystem; if ( ! function_exists('WP_Filesystem')) { include_once ABSPATH.'wp-admin/includes/file.php'; } // Call WordPress filesystem function WP_Filesystem(); // If the filesystem is not connected to the files, // Initiate filesystem with direct connection to the server files if ( ! $wp_filesystem->connect()) { add_filter('filesystem_method', function ($method) { return 'direct'; }, 1); WP_Filesystem(); } // return the filesystem object return $wp_filesystem; } } classes/Tools.php000064400000246521147600042240010023 0ustar00 0, //-- 'api_token' => false, 'hmwp_token' => false, //-- 'hmwp_valid' => 1, 'hmwp_expires' => 0, 'hmwp_disable' => HMWP_Classes_Tools::generateRandomString( 16 ), 'hmwp_disable_name' => HMWP_Classes_Tools::generateRandomString( 16 ), //-- 'hmwp_plugin_name' => _HMWP_PLUGIN_FULL_NAME_, 'hmwp_plugin_menu' => _HMWP_PLUGIN_FULL_NAME_, 'hmwp_plugin_logo' => false, 'hmwp_plugin_icon' => 'dashicons-shield-alt', 'hmwp_plugin_website' => 'https://wpghost.com', 'hmwp_plugin_account_show' => 1, //-- 'logout' => 0, 'error' => 0, 'file_mappings' => array(), 'test_frontend' => 0, 'changes' => 0, 'admin_notice' => array(), 'prevent_slow_loading' => 1, 'hmwp_rewrites_in_wp_rules' => 0, 'hmwp_server_type' => 'auto', //-- 'hmwp_loading_hook' => array( 'normal' ), //load when the other plugins are initialized 'hmwp_firstload' => 0, //load the plugin as Must Use Plugin 'hmwp_priorityload' => 0, //load the plugin on plugin start 'hmwp_laterload' => 0, //load the plugin on template redirect //-- 'hmwp_fix_relative' => 1, 'hmwp_remove_third_hooks' => 0, 'hmwp_send_email' => 0, 'hmwp_activity_log' => 0, 'hmwp_activity_log_roles' => array(), 'hmwp_email_address' => '', //-- Firewall 'whitelist_ip' => array(), 'whitelist_paths' => 0, 'whitelist_urls' => array(), 'banlist_ip' => array(), 'banlist_hostname' => array(), 'banlist_user_agent' => array(), 'banlist_referrer' => array(), //-- Brute Force 'hmwp_bruteforce' => 0, 'hmwp_bruteforce_comments' => 0, 'hmwp_bruteforce_register' => 0, 'hmwp_bruteforce_lostpassword' => 0, 'hmwp_bruteforce_woocommerce' => 0, 'hmwp_bruteforce_username' => 0, 'hmwp_brute_message' => esc_html__( 'Your IP has been flagged for potential security violations. Please try again in a little while.', 'hide-my-wp' ), 'hmwp_hide_classes' => wp_json_encode( array() ), 'trusted_ip_header' => '', //Temporary Login 'hmwp_templogin' => 0, 'hmwp_templogin_role' => 'administrator', 'hmwp_templogin_redirect' => false, 'hmwp_templogin_delete_uninstal' => false, //Geoblock Login 'hmwp_geoblock' => 0, 'hmwp_geoblock_countries' => array(), 'hmwp_geoblock_urls' => array(), //Unique Login 'hmwp_uniquelogin' => 0, 'hmwp_uniquelogin_woocommerce' => 0, //2FA Login 'hmwp_2falogin' => 0, 'hmwp_2falogin_status' => 1, 'hmwp_2fa_totp' => 1, 'hmwp_2fa_email' => 0, 'hmwp_2falogin_max_attempts' => 5, 'hmwp_2falogin_max_timeout' => 900, 'hmwp_2falogin_message' => '', 'hmwp_2falogin_fail_message' => '', //Math reCaptcha 'brute_use_math' => 1, 'brute_max_attempts' => 5, 'brute_max_timeout' => 3600, //reCaptcha V2 'brute_use_captcha' => 0, 'brute_captcha_site_key' => '', 'brute_captcha_secret_key' => '', 'brute_captcha_theme' => 'light', 'brute_captcha_language' => '', //reCaptcha V2 'brute_use_captcha_v3' => 0, 'brute_captcha_site_key_v3' => '', 'brute_captcha_secret_key_v3' => '', //tweaks 'hmwp_hide_admin_toolbar' => 0, 'hmwp_hide_admin_toolbar_roles' => array( 'customer', 'subscriber' ), //-- 'hmwp_change_in_cache' => ( ( defined( 'WP_CACHE' ) && WP_CACHE ) ? 1 : 0 ), 'hmwp_change_in_cache_directory' => '', 'hmwp_hide_loggedusers' => 1, 'hmwp_hide_version' => 1, 'hmwp_hide_version_random' => 1, 'hmwp_hide_generator' => 1, 'hmwp_hide_prefetch' => 1, 'hmwp_hide_comments' => 0, 'hmwp_hide_wp_text' => 0, 'hmwp_hide_configfile' => 0, 'hmwp_hide_feed' => 0, 'hmwp_hide_in_feed' => 0, 'hmwp_hide_in_sitemap' => 0, 'hmwp_hide_author_in_sitemap' => 1, 'hmwp_robots' => 0, 'hmwp_disable_emojicons' => 0, 'hmwp_disable_manifest' => 1, 'hmwp_disable_embeds' => 0, 'hmwp_disable_debug' => 1, //-- 'hmwp_disable_click' => 0, 'hmwp_disable_click_loggedusers' => 0, 'hmwp_disable_click_roles' => array( 'subscriber' ), 'hmwp_disable_click_message' => "Right click is disabled!", 'hmwp_disable_inspect' => 0, 'hmwp_disable_inspect_blank' => 0, 'hmwp_disable_inspect_loggedusers' => 0, 'hmwp_disable_inspect_roles' => array( 'subscriber' ), 'hmwp_disable_inspect_message' => "Inspect Element is disabled!", 'hmwp_disable_source' => 0, 'hmwp_disable_source_loggedusers' => 0, 'hmwp_disable_source_roles' => array( 'subscriber' ), 'hmwp_disable_source_message' => "View Source is disabled!", 'hmwp_disable_copy_paste' => 0, 'hmwp_disable_paste' => 1, 'hmwp_disable_copy_paste_loggedusers' => 0, 'hmwp_disable_copy_paste_roles' => array( 'subscriber' ), 'hmwp_disable_copy_paste_message' => "Copy/Paste is disabled!", 'hmwp_disable_drag_drop' => 0, 'hmwp_disable_drag_drop_loggedusers' => 0, 'hmwp_disable_drag_drop_roles' => array( 'subscriber' ), 'hmwp_disable_drag_drop_message' => "Drag-n-Drop is disabled!", 'hmwp_disable_recording' => 0, 'hmwp_disable_recording_loggedusers' => 0, 'hmwp_disable_recording_roles' => array( 'subscriber' ), 'hmwp_disable_recording_message' => "Screen Recording is disabled!", //-- 'hmwp_disable_screen_capture' => 0, 'hmwp_file_cache' => 0, 'hmwp_url_mapping' => wp_json_encode( array() ), 'hmwp_mapping_classes' => 1, 'hmwp_mapping_file' => 0, 'hmwp_text_mapping' => wp_json_encode( array( 'from' => array(), 'to' => array(), ) ), 'hmwp_cdn_urls' => wp_json_encode( array() ), 'hmwp_security_alert' => 1, //-- 'hmwp_hide_plugins_advanced' => 0, 'hmw_plugins_mapping' => array(), 'hmwp_hide_themes_advanced' => 0, 'hmw_themes_mapping' => array(), //-- //redirects 'hmwp_url_redirect' => 'NFError', 'hmwp_do_redirects' => 0, 'hmwp_logged_users_redirect' => 0, 'hmwp_url_redirects' => array( 'default' => array( 'login' => '', 'logout' => '' ) ), 'hmwp_signup_template' => 0, 'hmwp_mapping_text_show' => 1, 'hmwp_mapping_url_show' => 1, 'hmwp_mapping_cdn_show' => 1, ); // Set WordPress options when security is disables. self::$default = array( 'hmwp_mode' => 'default', 'hmwp_admin_url' => 'wp-admin', 'hmwp_login_url' => 'wp-login.php', 'hmwp_activate_url' => 'wp-activate.php', 'hmwp_lostpassword_url' => '', 'hmwp_register_url' => '', 'hmwp_logout_url' => '', 'hmwp_plugin_url' => $plugin_relative_url, 'hmwp_plugins' => array(), 'hmwp_themes_url' => 'themes', 'hmwp_themes' => array(), 'hmwp_upload_url' => 'uploads', 'hmwp_admin-ajax_url' => 'admin-ajax.php', 'hmwp_wp-signup_url' => 'wp-signup.php', 'hmwp_hideajax_paths' => 0, 'hmwp_hideajax_admin' => 0, 'hmwp_tags_url' => 'tag', 'hmwp_wp-content_url' => $content_relative_url, 'hmwp_wp-includes_url' => $includes_relative_url, 'hmwp_author_url' => 'author', 'hmwp_hide_authors' => 0, 'hmwp_wp-comments-post' => 'wp-comments-post.php', 'hmwp_themes_style' => 'style.css', 'hmwp_hide_img_classes' => 0, 'hmwp_hide_styleids' => 0, 'hmwp_noncekey' => '_wpnonce', 'hmwp_wp-json' => 'wp-json', 'hmwp_hide_rest_api' => 0, 'hmwp_disable_rest_api' => 0, 'hmwp_disable_rest_api_param' => 0, 'hmwp_disable_xmlrpc' => 0, 'hmwp_hide_rsd' => 0, 'hmwp_hide_admin' => 0, 'hmwp_hide_newadmin' => 0, 'hmwp_hide_admin_loggedusers' => 0, 'hmwp_hide_login' => 0, 'hmwp_hide_wplogin' => 0, 'hmwp_hide_newlogin' => 0, 'hmwp_disable_language_switcher' => 0, 'hmwp_hide_plugins' => 0, 'hmwp_hide_all_plugins' => 0, 'hmwp_hide_themes' => 0, 'hmwp_emulate_cms' => '', //--secure headers 'hmwp_sqlinjection' => 0, 'hmwp_sqlinjection_location' => 'onload', 'hmwp_sqlinjection_level' => 2, 'hmwp_security_header' => 0, 'hmwp_hide_unsafe_headers' => 0, 'hmwp_security_headers' => array( "Strict-Transport-Security" => "max-age=15768000;includeSubdomains", "Content-Security-Policy" => "object-src 'none'", "X-XSS-Protection" => "1; mode=block", ), //-- 'hmwp_detectors_block' => 0, 'hmwp_hide_commonfiles' => 0, 'hmwp_disable_browsing' => 0, 'hmwp_hide_oldpaths' => 0, 'hmwp_hide_oldpaths_plugins' => 0, 'hmwp_hide_oldpaths_themes' => 0, 'hmwp_hide_oldpaths_types' => array( 'php', 'txt', 'html', 'lock' ), 'hmwp_hide_commonfiles_files' => array( 'wp-config-sample.php', 'readme.html', 'readme.txt', 'install.php', 'license.txt', 'php.ini', 'upgrade.php', 'bb-config.php', 'error_log', 'debug.log' ), // 'hmwp_category_base' => '', 'hmwp_tag_base' => '', // ); // Set options for "Safe Mode". self::$lite = array( 'hmwp_mode' => 'lite', 'hmwp_login_url' => 'newlogin', 'hmwp_activate_url' => 'activate', 'hmwp_lostpassword_url' => 'lostpass', 'hmwp_register_url' => 'register', 'hmwp_logout_url' => '', 'hmwp_admin-ajax_url' => 'admin-ajax.php', 'hmwp_hideajax_admin' => 0, 'hmwp_hideajax_paths' => 0, 'hmwp_plugin_url' => 'core/modules', 'hmwp_themes_url' => 'core/views', 'hmwp_upload_url' => 'storage', 'hmwp_wp-content_url' => 'core', 'hmwp_wp-includes_url' => 'lib', 'hmwp_author_url' => 'writer', 'hmwp_hide_authors' => 1, 'hmwp_wp-comments-post' => 'comments', 'hmwp_themes_style' => 'design.css', 'hmwp_wp-json' => 'wp-json', 'hmwp_hide_admin' => 1, 'hmwp_hide_newadmin' => 0, 'hmwp_hide_admin_loggedusers' => 0, 'hmwp_hide_login' => 1, 'hmwp_hide_wplogin' => 1, 'hmwp_hide_newlogin' => 1, 'hmwp_disable_language_switcher' => 0, 'hmwp_hide_plugins' => 1, 'hmwp_hide_all_plugins' => 0, 'hmwp_hide_themes' => 1, 'hmwp_emulate_cms' => 'drupal11', // 'hmwp_hide_img_classes' => 1, 'hmwp_hide_rest_api' => 1, 'hmwp_disable_rest_api' => 0, 'hmwp_disable_rest_api_param' => 0, 'hmwp_disable_xmlrpc' => 0, 'hmwp_hide_rsd' => 1, 'hmwp_hide_styleids' => 0, // 'hmwp_detectors_block' => 1, 'hmwp_sqlinjection' => 1, 'hmwp_security_header' => 1, 'hmwp_hide_unsafe_headers' => 1, 'hmwp_hide_commonfiles' => 1, 'hmwp_hide_oldpaths' => 0, 'hmwp_hide_oldpaths_plugins' => 0, 'hmwp_hide_oldpaths_themes' => 0, 'hmwp_disable_browsing' => 0, // ); // Set options for "Ghost Mode". self::$ninja = array( 'hmwp_mode' => 'ninja', 'hmwp_admin_url' => 'ghost-admin', 'hmwp_login_url' => 'ghost-login', 'hmwp_activate_url' => 'activate', 'hmwp_lostpassword_url' => 'lostpass', 'hmwp_register_url' => 'register', 'hmwp_logout_url' => 'disconnect', 'hmwp_admin-ajax_url' => 'ajax-call', 'hmwp_hideajax_paths' => 0, 'hmwp_hideajax_admin' => 1, 'hmwp_plugin_url' => 'core/modules', 'hmwp_themes_url' => 'core/views', 'hmwp_upload_url' => 'storage', 'hmwp_wp-content_url' => 'core', 'hmwp_wp-includes_url' => 'lib', 'hmwp_author_url' => 'writer', 'hmwp_hide_authors' => 1, 'hmwp_wp-comments-post' => 'comments', 'hmwp_themes_style' => 'design.css', 'hmwp_wp-json' => 'wp-json', 'hmwp_hide_admin' => 1, 'hmwp_hide_newadmin' => 1, 'hmwp_hide_admin_loggedusers' => 1, 'hmwp_hide_login' => 1, 'hmwp_hide_wplogin' => 1, 'hmwp_hide_newlogin' => 1, 'hmwp_disable_language_switcher' => 0, 'hmwp_hide_plugins' => 1, 'hmwp_hide_all_plugins' => ( self::isMultisites() ? 1 : 0 ), 'hmwp_hide_themes' => 1, 'hmwp_hide_img_classes' => 1, 'hmwp_hide_rest_api' => 1, 'hmwp_disable_rest_api' => 0, 'hmwp_disable_rest_api_param' => 1, 'hmwp_disable_xmlrpc' => 1, 'hmwp_hide_rsd' => 1, 'hmwp_hide_styleids' => 0, 'hmwp_emulate_cms' => 'drupal11', // 'hmwp_detectors_block' => 1, 'hmwp_sqlinjection' => 1, 'hmwp_security_header' => 1, 'hmwp_hide_unsafe_headers' => 1, 'hmwp_hide_commonfiles' => 1, 'hmwp_disable_browsing' => 0, 'hmwp_hide_oldpaths' => 1, 'hmwp_hide_oldpaths_plugins' => 1, 'hmwp_hide_oldpaths_themes' => 1, // 'hmwp_hide_in_feed' => 1, 'hmwp_hide_in_sitemap' => 1, 'hmwp_robots' => 1, 'hmwp_disable_embeds' => 1, 'hmwp_disable_manifest' => 1, 'hmwp_disable_emojicons' => 1, ); // Fetch the options based on whether it's a multisite and merge with defaults. if ( self::isMultisites() && defined( 'BLOG_ID_CURRENT_SITE' ) ) { $options = json_decode( get_blog_option( BLOG_ID_CURRENT_SITE, $keymeta ), true ); } else { $options = json_decode( get_option( $keymeta ), true ); } // Ensure compatibility with WP Client plugin. if ( self::isPluginActive( 'wp-client/wp-client.php' ) ) { self::$lite['hmwp_wp-content_url'] = 'include'; self::$ninja['hmwp_wp-content_url'] = 'include'; } // Merge the options with initial and default values. if ( is_array( $options ) ) { $options = @array_merge( self::$init, self::$default, $options ); } else { $options = @array_merge( self::$init, self::$default ); } // Validate the custom cache directory and reset if it contains 'wp-content'. if ( isset( $options['hmwp_change_in_cache_directory'] ) && $options['hmwp_change_in_cache_directory'] <> '' ) { if ( strpos( $options['hmwp_change_in_cache_directory'], 'wp-content' ) !== false ) { $options['hmwp_change_in_cache_directory'] = ''; } } // Update the whitelist level based on whitelist paths setting. if ( isset( $options['whitelist_paths'] ) && ! isset( $options['whitelist_level'] ) ) { $options['whitelist_level'] = ( $options['whitelist_paths'] == 1 ? 2 : 1 ); } // Set the category and tag bases considering multisite setup. $category_base = get_option( 'category_base' ); $tag_base = get_option( 'tag_base' ); if ( self::isMultisites() && ! is_subdomain_install() && is_main_site() && 0 === strpos( get_option( 'permalink_structure' ), '/blog/' ) ) { $category_base = preg_replace( '|^/?blog|', '', $category_base ); $tag_base = preg_replace( '|^/?blog|', '', $tag_base ); } $options['hmwp_category_base'] = $category_base; $options['hmwp_tag_base'] = $tag_base; // Set priority and rewrite rules settings if defined constants are set. if ( HMW_PRIORITY ) { $options['hmwp_priorityload'] = 1; } if ( HMW_RULES_IN_WP_RULES ) { $options['hmwp_rewrites_in_wp_rules'] = 1; } // Return the final options array. return $options; } /** * Update the database configuration and options for the plugin. * * This method is called during a plugin update to migrate existing settings and set new defaults. * It handles various tasks such as upgrading from a lite version, migrating specific options, * and initializing default values where necessary. * * @return void */ private static function updateDatabase() { // Check if the plugin version is updated if ( self::$options['hmwp_ver'] < HMWP_VERSION_ID ) { // Upgrade from Old Version if hmwp_options exist in the database if ( get_option( 'hmw_options_safe' ) ) { $options = json_decode( get_option( 'hmw_options_safe' ), true ); // If options are not empty, migrate them to the new format if ( ! empty( $options ) ) { foreach ( $options as $key => $value ) { self::$options[ str_replace( 'hmw_', 'hmwp_', $key ) ] = $value; } } // Delete old options to prevent conflicts delete_option( 'hmw_options_safe' ); } // Set default value for hmwp_hide_wplogin if it's not set and hmwp_hide_login is set if ( ! isset( self::$options['hmwp_hide_wplogin'] ) && isset( self::$options['hmwp_hide_login'] ) && self::$options['hmwp_hide_login'] ) { self::$options['hmwp_hide_wplogin'] = self::$options['hmwp_hide_login']; } // Initialize the account show option if not set if ( ! isset( self::$options['hmwp_plugin_account_show'] ) ) { self::$options['hmwp_plugin_account_show'] = 1; } // Upgrade logout redirect options to the new format if ( isset( self::$options['hmwp_logout_redirect'] ) && self::$options['hmwp_logout_redirect'] ) { self::$options['hmwp_url_redirects']['default']['logout'] = self::$options['hmwp_logout_redirect']; unset( self::$options['hmwp_logout_redirect'] ); } // Upgrade admin toolbar visibility option to the new format if ( isset( self::$options['hmwp_in_dashboard'] ) && self::$options['hmwp_in_dashboard'] ) { self::$options['hmwp_hide_admin_toolbar'] = self::$options['hmwp_in_dashboard']; unset( self::$options['hmwp_in_dashboard'] ); } // Upgrade sitemap visibility option to the new format if ( isset( self::$options['hmwp_shutdownload'] ) && self::$options['hmwp_shutdownload'] ) { self::$options['hmwp_hide_in_sitemap'] = self::$options['hmwp_shutdownload']; unset( self::$options['hmwp_shutdownload'] ); } // Remove old whitelist_paths option if ( isset( self::$options['whitelist_paths'] ) ) { unset( self::$options['whitelist_paths'] ); } //Update the new options in version 6.0.00 if ( self::$options['hmwp_ver'] < 6000 ) { if ( ! isset( self::$options['hmwp_security_header'] ) ) { self::$options['hmwp_security_header'] = 1; } if ( ! isset( self::$options['hmwp_hide_unsafe_headers'] ) ) { self::$options['hmwp_hide_unsafe_headers'] = 1; } if ( ! isset( self::$options['hmwp_hide_rsd'] ) ) { self::$options['hmwp_hide_rsd'] = 1; } if ( isset( self::$options['hmwp_hide_oldpaths_themes'] ) && self::$options['hmwp_hide_oldpaths_themes'] ) { self::$options['hmwp_hide_oldpaths_themes'] = 1; self::$options['hmwp_hide_oldpaths_plugins'] = 1; } if ( ! isset( self::$options['hmwp_security_headers'] ) ) { self::$options['hmwp_security_headers'] = array( "Strict-Transport-Security" => "max-age=63072000", "Content-Security-Policy" => "object-src 'none'", "X-XSS-Protection" => "1; mode=block", ); } } // Update the login paths on Cloud when the plugin is updated self::sendLoginPathsApi(); // Set the current version ID self::$options['hmwp_ver'] = HMWP_VERSION_ID; // Save updated options self::saveOptions(); } } /** * Retrieve the default value for a given key. * * @param string $key The key whose default value needs to be retrieved. * * @return mixed The default value associated with the given key, or false if the key doesn't exist. * @since 6.0.0 */ public static function getDefault( $key ) { if ( isset( self::$default[ $key ] ) ) { return self::$default[ $key ]; } return false; } /** * Retrieve the value of a specified option key. * * @param string $key The key of the option to retrieve. * * @return mixed The value of the specified option, or a default value if the key does not exist. */ public static function getOption( $key ) { if ( ! isset( self::$options[ $key ] ) ) { self::$options = self::getOptions(); if ( ! isset( self::$options[ $key ] ) ) { self::$options[ $key ] = 0; } } return apply_filters( 'hmwp_option_' . $key, self::$options[ $key ] ); } /** * Save the specified options in the WordPress options table * * @param string|null $key The key of the option to save. If null, no key will be set. * @param mixed $value The value of the option to save. * @param bool $safe Whether to save the option safely or not. * * @return void */ public static function saveOptions( $key = null, $value = '', $safe = false ) { // Default option key $keymeta = HMWP_OPTION; // Use a different option key if the $safe parameter is true if ( $safe ) { $keymeta = HMWP_OPTION_SAFE; } // If a specific key is provided, update the value in the options array if ( isset( $key ) ) { self::$options[ $key ] = $value; } // If the site is a multisite and BLOG_ID_CURRENT_SITE is defined if ( self::isMultisites() && defined( 'BLOG_ID_CURRENT_SITE' ) ) { // Update the option for the current blog in the network update_blog_option( BLOG_ID_CURRENT_SITE, $keymeta, wp_json_encode( self::$options ) ); } else { // Otherwise, update the option normally update_option( $keymeta, wp_json_encode( self::$options ) ); } } /** * Save the options into backup */ public static function saveOptionsBackup() { //Save the working options into backup foreach ( self::$options as $key => $value ) { HMWP_Classes_Tools::saveOptions( $key, $value, true ); } } /** * Add a link to settings in the plugin list * * @param array $links * * @return array */ public function hookActionlink( $links ) { // Check if the current user has the required capability to view the links if ( HMWP_Classes_Tools::userCan( HMWP_CAPABILITY ) ) { // Check if the transient 'hmwp_disable' exists, offering the option to resume security if ( get_transient( 'hmwp_disable' ) ) { $links[] = '' . esc_html__( "Resume Security", 'hide-my-wp' ) . ''; } else { // If 'hmwp_disable' transient does not exist, show the option to pause $links[] = '' . esc_html__( "Pause for 5 minutes", 'hide-my-wp' ) . ''; } // Add a Settings link for easy access to the plugin settings page $links[] = '' . esc_html__( 'Settings', 'hide-my-wp' ) . ''; } // Reverse the order of the links so they appear in a specific order in the plugin list return array_reverse( $links ); } /** * Load the plugin text domain for multilanguage support. * * @return void */ public static function loadMultilanguage() { load_plugin_textdomain( dirname( HMWP_BASENAME ), false, dirname( HMWP_BASENAME ) . '/languages/' ); } /** * Check if it's Rest Api call * * @return bool */ public static function isApi() { if ( isset( $_SERVER['REQUEST_URI'] ) ) { $uri = filter_var( $_SERVER['REQUEST_URI'], FILTER_SANITIZE_URL ); if ( $uri && strpos( $uri, '/' . HMWP_Classes_Tools::getOption( 'hmwp_wp-json' ) . '/' ) !== false ) { return true; } } return false; } /** * Check if it's Ajax call * * @return bool */ public static function isAjax() { if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) { return true; } return false; } /** * Check if it's Cron call * * @return bool */ public static function isCron() { if ( defined( 'DOING_CRON' ) && DOING_CRON ) { return true; } return false; } /** * Check if it's XML RPC call * * @return bool */ public static function isXmlRpc() { if ( defined( 'XMLRPC_REQUEST' ) && constant( 'XMLRPC_REQUEST' ) ) { return true; } return false; } /** * Check if it's valid to load firewall on the page * * @return bool */ public static function doFirewall() { //If allways change paths admin & frontend if ( defined( 'HMW_ALWAYS_RUN_FIREWALL' ) && HMW_ALWAYS_RUN_FIREWALL ) { return true; } //If firewall process is activated if ( ! apply_filters( 'hmwp_process_firewall', true ) ) { return false; } if ( HMWP_Classes_Tools::isApi() ) { return false; } //If not admin if ( ! is_admin() && ! is_network_admin() ) { //if user is not logged in if ( function_exists( 'is_user_logged_in' ) && ! is_user_logged_in() ) { return true; } } return false; } /** * Determines whether paths should be changed based on various conditions. * * @return bool True if paths should be changed, false otherwise. */ public static function doChangePaths() { //If allways change paths admin & frontend if ( defined( 'HMW_ALWAYS_CHANGE_PATHS' ) && HMW_ALWAYS_CHANGE_PATHS ) { return true; } if ( HMWP_Classes_Tools::isApi() ) { return false; } //If not admin if ( ( ! is_admin() && ! is_network_admin() ) || HMWP_Classes_Tools::isAjax() ) { //if process the change paths if ( HMWP_Classes_Tools::getOption( 'hmwp_hide_loggedusers' ) || ( function_exists( 'is_user_logged_in' ) && ! is_user_logged_in() ) ) { return true; } } return false; } /** * Determine whether to proceed with hiding or disabling functionality * * Applies filters and checks to validate if the process can proceed, * and performs validation on the current context (e.g., AJAX, API, Cron, admin). * * @return bool Returns true if the process should proceed, false otherwise */ public static function doHideDisable() { //Check if is valid for moving on if ( ! apply_filters( 'hmwp_process_hide_disable', true ) ) { return false; } if ( HMWP_Classes_Tools::isAjax() || HMWP_Classes_Tools::isApi() || HMWP_Classes_Tools::isCron() ) { return false; } //If not admin if ( ! is_admin() && ! is_network_admin() ) { //if process the change paths if ( HMWP_Classes_Tools::getOption( 'hmwp_hide_loggedusers' ) || ( function_exists( 'is_user_logged_in' ) && ! is_user_logged_in() ) ) { return true; } } return false; } /** * Determines whether specific click, inspect, or other actions should be disabled * based on the configuration and context. * * @return bool True if the action should be disabled, false otherwise. */ public static function doDisableClick() { // Check if is valid for moving on if ( ! apply_filters( 'hmwp_process_hide_disable', true ) ) { return false; } if ( HMWP_Classes_Tools::isCron() ) { return false; } // If not admin if ( ! is_admin() && ! is_network_admin() ) { if ( function_exists( 'is_user_logged_in' ) && ( HMWP_Classes_Tools::getOption( 'hmwp_disable_click' ) || HMWP_Classes_Tools::getOption( 'hmwp_disable_inspect' ) || HMWP_Classes_Tools::getOption( 'hmwp_disable_source' ) || HMWP_Classes_Tools::getOption( 'hmwp_disable_copy_paste' ) || HMWP_Classes_Tools::getOption( 'hmwp_disable_drag_drop' ) ) ) { return true; } } return false; } /** * Determines if URLs should be hidden based on various conditions and checks. * * @return bool True if URLs should be hidden, false otherwise. */ public static function doHideURLs() { // Check if it's valid for processing according to the 'hmwp_process_hide_urls' filter if ( ! apply_filters( 'hmwp_process_hide_urls', true ) ) { return false; } // Ensure the 'is_user_logged_in' function is available if ( ! function_exists( 'is_user_logged_in' ) ) { include_once ABSPATH . WPINC . '/pluggable.php'; } // Verify that the 'REQUEST_URI' server variable is set if ( ! isset( $_SERVER['REQUEST_URI'] ) ) { return false; } // Prevent hiding URLs when running a Cron job if ( HMWP_Classes_Tools::isCron() ) { return false; } // If all checks passed, return true to allow hiding URLs return true; } /** * Get the settings URL for the WordPress admin page. * * @param string $page The slug of the settings page. Default is 'hmwp_settings'. * @param bool $relative Whether to return a relative URL. Default is false. * * @return string The generated settings URL. */ public static function getSettingsUrl( $page = 'hmwp_settings', $relative = false ) { // Check if the URL is relative if ( $relative ) { return 'admin.php?page=' . $page; // Return relative admin URL } else { // Check if it's not a multisite setup if ( ! self::isMultisites() ) { return admin_url( 'admin.php?page=' . $page ); // Return standard WordPress admin URL } else { return network_admin_url( 'admin.php?page=' . $page ); // Return network admin URL for multisites } } } /** * Generate the cloud URL for the specified page * * @param string $page The page to append to the base URL (default is 'login') * * @return string The complete cloud URL */ public static function getCloudUrl( $page = 'login' ) { return _HMWP_ACCOUNT_SITE_ . '/user/auth/' . $page; } /** * Retrieves the WordPress configuration file path if it exists. * * @return string|false Returns the path to the wp-config.php file if found, or false if not found. */ public static function getConfigFile() { //Initialize WordPress Filesystem $wp_filesystem = HMWP_Classes_ObjController::initFilesystem(); if ( $wp_filesystem->exists( self::getRootPath() . 'wp-config.php' ) ) { return self::getRootPath() . 'wp-config.php'; } if ( $wp_filesystem->exists( dirname( ABSPATH ) . '/wp-config.php' ) ) { return dirname( ABSPATH ) . '/wp-config.php'; } return false; } /** * Set the header for the response based on the given type. * * @param string $type The type of header to set (e.g., 'json', 'html', 'text', 'text/xml', 'application/xml'). * * @return void */ public static function setHeader( $type ) { switch ( $type ) { case 'json': header( 'Content-Type: application/json' ); break; case 'html': header( "Content-type: text/html" ); break; case 'text': header( "Content-type: text/plain" ); break; case 'text/xml': header( 'Content-Type: text/xml' ); break; case 'application/xml': header( 'Content-Type: application/xml' ); break; } } /** * Get a value from $_POST / $_GET * if unavailable, take a default value * * @param string $key Value key * @param mixed $defaultValue (optional) * @param boolean $keep_newlines Keep the new lines in variable in case of texareas * * @return array|false|string Value */ public static function getValue( $key = null, $defaultValue = false, $keep_newlines = false ) { if ( ! isset( $key ) || $key == '' ) { return false; } //Get the parameters based on the form method //Sanitize each parameter based on the parameter type $ret = ( isset( $_POST[ $key ] ) ? $_POST[ $key ] : ( isset( $_GET[ $key ] ) ? $_GET[ $key ] : $defaultValue ) ); //phpcs:ignore if ( is_string( $ret ) === true ) { if ( $keep_newlines === false ) { // Validate the param based on its type if ( in_array( $key, array( 'hmwp_email_address', 'hmwp_email', 'whitelist_ip', 'banlist_ip', 'log' ) ) ) { // Validate email address, logs and ip addresses $ret = preg_replace( '/[^A-Za-z0-9-_.+*#:~@\!\'\/]/', '', $ret ); } elseif ( in_array( $key, array( 'hmwp_disable_name' ) ) ) { // Validate plugin disable parameter $ret = preg_replace( '/[^A-Za-z0-9-_]/', '', $ret ); } elseif ( in_array( $key, array( 'hmwp_admin_url' ) ) ) { // Validate new admin path $ret = preg_replace( '/[^A-Za-z0-9-_.]/', '', $ret ); } else { // Validate the rest of the fields $ret = preg_replace( '/[^A-Za-z0-9-_.\/]/', '', $ret ); } //Sanitize the text field $ret = sanitize_text_field( $ret ); } else { //Validate the text areas $ret = preg_replace( '/[^A-Za-z0-9-_.+*#:~\!\'\n\r\s\/]@/', '', $ret ); //Sanitize the textarea if ( function_exists( 'sanitize_textarea_field' ) ) { $ret = sanitize_textarea_field( $ret ); } } } //Return the unsplas validated and sanitized value return wp_unslash( $ret ); } /** * Determines whether the permalink structure ends with a trailing slash. * * @return bool True if the permalink structure ends with a trailing slash, false otherwise. */ public static function isTrailingslashit() { // Check if the permalink structure ends with a trailing slash and return true or false accordingly return ( '/' === substr( get_option( 'permalink_structure' ), - 1, 1 ) ); } /** * Determine if a key is set in the request data * * @param string|null $key The key to check in the POST or GET data * * @return bool */ public static function getIsset( $key = null ) { // Check if the key is not set or is an empty string, return false early if ( ! isset( $key ) || $key == '' ) { return false; } return isset( $_POST[ $key ] ) || isset( $_GET[ $key ] ); //phpcs:ignore } /** * Show the notices to WP * * @param string $message * @param string $type * * @return string */ public static function showNotices( $message, $type = '' ) { //Initialize WordPress Filesystem $wp_filesystem = HMWP_Classes_ObjController::initFilesystem(); if ( $wp_filesystem->exists( _HMWP_THEME_DIR_ . 'Notices.php' ) ) { ob_start(); include _HMWP_THEME_DIR_ . 'Notices.php'; $message = ob_get_contents(); ob_end_clean(); } return $message; } /** * Perform a remote GET request to the specified URL with optional parameters and options. * * @param string $url The URL to send the GET request to. * @param array $params Optional query parameters to be appended to the URL. * @param array $options Optional request options for customization. * * @return string|false The cleaned response body on success, or false on failure. */ public static function hmwp_remote_get( $url, $params = array(), $options = array() ) { $parameters = ''; if ( ! empty( $params ) ) { foreach ( $params as $key => $value ) { if ( $key <> '' ) { $parameters .= ( $parameters == "" ? "" : "&" ) . $key . "=" . $value; } } if ( $parameters <> '' ) { $url .= ( ( strpos( $url, "?" ) === false ) ? "?" : "&" ) . $parameters; } } $response = self::hmwp_wpcall( $url, $params, $options ); if ( is_wp_error( $response ) ) { return false; } return self::cleanResponce( wp_remote_retrieve_body( $response ) ); //clear and get the body } /** * Perform a remote POST request to the specified URL with given parameters and options. * * @param string $url The URL to which the POST request is sent. * @param array $params The parameters to include in the POST request. Default is an empty array. * @param array $options Additional options for the request. Default is an empty array. * * @return mixed The cleaned response body on success, or false if an error occurs. */ public static function hmwp_remote_post( $url, $params = array(), $options = array() ) { $options['method'] = 'POST'; $response = self::hmwp_wpcall( $url, $params, $options ); if ( is_wp_error( $response ) ) { return false; } return self::cleanResponce( wp_remote_retrieve_body( $response ) ); //clear and get the body } /** * Merge and set default remote options. * * @param array $options Custom options to merge with the default remote options. * * @return array The merged options array. */ public function add_remote_options( $options ) { $options = array_replace_recursive( array( 'sslverify' => _HMWP_CHECK_SSL_, 'method' => 'GET', 'timeout' => 10, 'headers' => array( 'TOKEN' => HMWP_Classes_Tools::getOption( 'hmwp_token' ), 'API-TOKEN' => HMWP_Classes_Tools::getOption( 'api_token' ), 'USER-URL' => site_url(), 'LANG' => get_bloginfo( 'language' ), 'VER' => HMWP_VERSION ) ), $options ); return $options; } /** * Makes a remote request to the specified URL using WordPress HTTP API. * * @param string $url The URL to send the request to. * @param array $params The parameters to send with the request. * @param array $options Additional options for the HTTP request. * * @return array|WP_Error The response or WP_Error on failure. */ public static function hmwp_wpcall( $url, $params, $options ) { // Apply filters to the options array before making the request $options = apply_filters( 'hmwp_wpcall_options', $options ); if ( $options['method'] == 'POST' ) { // Check if the method is POST and handle accordingly $options['body'] = $params; unset( $options['method'] ); $response = wp_remote_post( $url, $options ); } else { // Make a POST request to the provided URL with the specified options unset( $options['method'] ); $response = wp_remote_get( $url, $options ); } // Trigger debug action to log the remote request details for debugging purposes do_action( 'hmwp_debug_request', $url, $options, $response ); return $response; } /** * Perform a local HTTP GET request with specific options. * * @param string $url The URL to be requested. * @param array $options Additional options for the HTTP request. Defaults include 'sslverify' as false and 'timeout' as 10 seconds. * * @return array|WP_Error The response received from the HTTP request or a WP_Error object in case of an error. */ public static function hmwp_localcall( $url, $options = array() ) { // Predefined options with default values for SSL verification and request timeout $options = array_merge( array( 'sslverify' => false, // Disable SSL verification by default 'timeout' => 10, // Set timeout to 10 seconds by default ), $options ); // Perform a GET request using the WordPress HTTP API with the provided options $response = wp_remote_get( $url, $options ); // Check if the response has an error if ( is_wp_error( $response ) ) { // Trigger debug action to log details of the failed local request for debugging purposes do_action( 'hmwp_debug_local_request', $url, $options, $response ); } // Return the response received or the error object return $response; } /** * Cleans the provided response by trimming specific characters. * * @param string $response The response string to be cleaned * * @return string The cleaned response string */ private static function cleanResponce( $response ) { return trim( $response, '()' ); } /** * Determines if the "Content-Type" header matches any of the specified types. * * @param array $types List of content types to check against. Default is ['text/html', 'text/xml']. * * @return bool Returns true if a "Content-Type" header matching one of the specified types is found, otherwise false. */ public static function isContentHeader( $types = array( 'text/html', 'text/xml' ) ) { // Get the list of headers sent by the server or PHP script $headers = headers_list(); // Check if headers and content types list are not empty if ( ! empty( $headers ) && ! empty( $types ) ) { // Loop through each header foreach ( $headers as $value ) { // Check if the header contains a colon (to ensure it's properly formatted) if ( strpos( $value, ':' ) !== false ) { // Look for "Content-Type" within the header if ( stripos( $value, 'Content-Type' ) !== false ) { // Loop through the provided list of content types to find a match foreach ( $types as $type ) { // Check if the header value contains the current content type if ( stripos( $value, $type ) !== false ) { // Return true if a match is found return true; } } // Return false if no match is found within this "Content-Type" header return false; } } } } // Return false if no headers or no matches for any content type are found return false; } /** * Determine if the server is running Apache or a compatible server type. * * This method checks multiple criteria to identify if the server is Apache or * a similar server type, such as LiteSpeed or SiteGround. * * - If a custom server type is set in the options, it validates against predefined types. * - If a custom server type is defined as a constant, it verifies if it matches Apache. * - It excludes Flywheel servers, as they force Nginx. * - Falls back to checking a global variable that indicates if the server is Apache. * * @return bool True if the server is identified as Apache or a similar type, false otherwise. */ public static function isApache() { global $is_apache; // Check if custom server type is defined in options if ( HMWP_Classes_Tools::getOption( 'hmwp_server_type' ) <> 'auto' ) { // Return true if the custom server type matches Apache or similar types return in_array( HMWP_Classes_Tools::getOption( 'hmwp_server_type' ), array( 'apache', 'litespeed', 'siteground' ) ); } // Check if custom server type is defined as a constant and matches Apache if ( defined( 'HMWP_SERVER_TYPE' ) && strtolower( HMWP_SERVER_TYPE ) == 'apache' ) { return true; } // Check if the server is Flywheel, which forces Nginx, thus not Apache if ( self::isFlywheel() ) { return false; } // Return the global variable indicating if the server is Apache return $is_apache; } /** * Determines if the mod_rewrite module is enabled in the server. * * @return bool True if mod_rewrite is active, false otherwise. */ public static function isModeRewrite() { if ( function_exists( 'apache_get_modules' ) ) { $modules = apache_get_modules(); if ( ! empty( $modules ) ) { return in_array( 'mod_rewrite', $modules ); } } return true; } /** * Determine if the server environment is running on LiteSpeed. * * This method checks multiple conditions, including custom-defined settings, * server constants, and server-specific headers, to ascertain if the server * environment is using LiteSpeed. * * @return bool True if the server environment is LiteSpeed, false otherwise. */ public static function isLitespeed() { $litespeed = false; // Check if server type is custom defined in the options and matches LiteSpeed if ( HMWP_Classes_Tools::getOption( 'hmwp_server_type' ) <> 'auto' ) { return ( HMWP_Classes_Tools::getOption( 'hmwp_server_type' ) == 'litespeed' ); } // Check if server type is custom defined as a constant and matches LiteSpeed if ( defined( 'HMWP_SERVER_TYPE' ) && strtolower( HMWP_SERVER_TYPE ) == 'litespeed' ) { return true; } // Check server software name for "LiteSpeed" if ( isset( $_SERVER['SERVER_SOFTWARE'] ) && stripos( $_SERVER['SERVER_SOFTWARE'], 'LiteSpeed' ) !== false ) { //phpcs:ignore $litespeed = true; // Check server name for "LiteSpeed" } elseif ( isset( $_SERVER['SERVER_NAME'] ) && stripos( $_SERVER['SERVER_NAME'], 'LiteSpeed' ) !== false ) { //phpcs:ignore $litespeed = true; // Check for LiteSpeed-specific headers } elseif ( isset( $_SERVER['X-Litespeed-Cache-Control'] ) ) { $litespeed = true; } // Return false if the server is detected as Flywheel, since it's not LiteSpeed if ( self::isFlywheel() ) { return false; } // Return the LiteSpeed detection result return $litespeed; } /** * Determines if the server is using Lighttpd as its server software. * * @return bool True if the server software is Lighttpd, false otherwise. */ public static function isLighthttp() { return ( isset( $_SERVER['SERVER_SOFTWARE'] ) && stripos( $_SERVER['SERVER_SOFTWARE'], 'lighttpd' ) !== false ); //phpcs:ignore } /** * Check if the environment is running on AWS infrastructure. * * @return bool True if the environment is identified as AWS, false otherwise. */ public static function isAWS() { // Check if a custom-defined server type matches Bitnami (used in AWS infrastructure) if ( HMWP_Classes_Tools::getOption( 'hmwp_server_type' ) <> 'auto' ) { return ( HMWP_Classes_Tools::getOption( 'hmwp_server_type' ) == 'bitnami' ); } // Check if the document root contains '/bitnami/', which is often used in AWS setups if ( isset( $_SERVER["DOCUMENT_ROOT"] ) && strpos( $_SERVER["DOCUMENT_ROOT"], "/bitnami/" ) ) { //phpcs:ignore return true; } // Retrieve the list of headers sent by the server $headers = headers_list(); // Loop through the headers to check for the AWS CloudFront header 'x-amz-cf-id' foreach ( $headers as $header ) { if ( strpos( $header, 'x-amz-cf-id' ) !== false ) { return true; } } // Return false if none of the conditions above indicate AWS infrastructure return false; } /** * Check if the current WordPress installation supports multisite. * * @return bool */ public static function isMultisites() { return is_multisite(); } /** * Determines if the current WordPress installation is a multisite setup with path-based rather than subdomain-based URLs. * * @return bool True if the installation is multisite and uses path-based URLs, false otherwise. */ public static function isMultisiteWithPath() { return ( is_multisite() && ( ( defined( 'SUBDOMAIN_INSTALL' ) && ! SUBDOMAIN_INSTALL ) || ( defined( 'VHOST' ) && VHOST == 'no' ) ) ); } /** * Determine if the server is running Nginx. * * @return bool */ public static function isNginx() { global $is_nginx; // Check if a custom-defined server type matches Nginx if ( HMWP_Classes_Tools::getOption( 'hmwp_server_type' ) <> 'auto' ) { if ( HMWP_Classes_Tools::getOption( 'hmwp_server_type' ) == 'nginx' ) { return true; } } // Return true if the custom server type constant matches Nginx if ( defined( 'HMWP_SERVER_TYPE' ) && strtolower( HMWP_SERVER_TYPE ) == 'nginx' ) { return true; } return ( $is_nginx || ( isset( $_SERVER['SERVER_SOFTWARE'] ) && ( stripos( $_SERVER['SERVER_SOFTWARE'], 'nginx' ) !== false || stripos( $_SERVER['SERVER_SOFTWARE'], 'TasteWP' ) !== false ) ) ); //phpcs:ignore } /** * Returns true if server is Wpengine * * @return boolean */ public static function isWpengine() { // Check if a custom-defined server type matches WPEngine if ( HMWP_Classes_Tools::getOption( 'hmwp_server_type' ) <> 'auto' ) { return ( HMWP_Classes_Tools::getOption( 'hmwp_server_type' ) == 'wpengine' ); } // Return true if the custom server type constant matches WPEngine if ( defined( 'HMWP_SERVER_TYPE' ) && strtolower( HMWP_SERVER_TYPE ) == 'wpengine' ) { return true; } return ( isset( $_SERVER['WPENGINE_PHPSESSIONS'] ) ); } /** * Returns true if server is Local by Flywheel * * @return boolean */ public static function isLocalFlywheel() { // Check if a custom-defined server type matches Local by Flywheel if ( HMWP_Classes_Tools::getOption( 'hmwp_server_type' ) <> 'auto' ) { return ( HMWP_Classes_Tools::getOption( 'hmwp_server_type' ) == 'local' ); } return false; } /** * Returns true if server is Wpengine * * @return boolean */ public static function isFlywheel() { // Check if a custom-defined server type matches Flywheel if ( HMWP_Classes_Tools::getOption( 'hmwp_server_type' ) <> 'auto' ) { return ( HMWP_Classes_Tools::getOption( 'hmwp_server_type' ) == 'flywheel' ); } // Return true if the custom server type constant matches Flywheel if ( defined( 'HMWP_SERVER_TYPE' ) && strtolower( HMWP_SERVER_TYPE ) == 'flywheel' ) { return true; } if ( isset( $_SERVER['SERVER'] ) && stripos( $_SERVER['SERVER'], 'Flywheel' ) !== false ) { //phpcs:ignore return true; } return ( isset( $_SERVER['SERVER_SOFTWARE'] ) && stripos( $_SERVER['SERVER_SOFTWARE'], 'Flywheel' ) !== false ); //phpcs:ignore } /** * Returns true if server is Inmotion * * @return boolean */ public static function isInmotion() { // Check if a custom-defined server type matches Inmotion if ( HMWP_Classes_Tools::getOption( 'hmwp_server_type' ) <> 'auto' ) { return ( HMWP_Classes_Tools::getOption( 'hmwp_server_type' ) == 'inmotion' ); } // Return true if the custom server type constant matches Inmotion if ( defined( 'HMWP_SERVER_TYPE' ) && strtolower( HMWP_SERVER_TYPE ) == 'inmotion' ) { return true; } return ( isset( $_SERVER['SERVER_ADDR'] ) && stripos( @gethostbyaddr( $_SERVER['SERVER_ADDR'] ), 'inmotionhosting.com' ) !== false ); //phpcs:ignore } /** * Returns true if server is Godaddy * * @return boolean */ public static function isGodaddy() { // Check if a custom-defined server type matches Godaddy if ( HMWP_Classes_Tools::getOption( 'hmwp_server_type' ) <> 'auto' ) { return ( HMWP_Classes_Tools::getOption( 'hmwp_server_type' ) == 'godaddy' ); } // Return true if the custom server type constant matches Nginx if ( defined( 'HMWP_SERVER_TYPE' ) && strtolower( HMWP_SERVER_TYPE ) == 'godaddy' ) { return true; } return ( file_exists( ABSPATH . 'gd-config.php' ) ); } /** * Returns true if server is IIS * * @return boolean */ public static function isIIS() { global $is_IIS, $is_iis7; // Check if a custom-defined server type matches IIS Windows if ( HMWP_Classes_Tools::getOption( 'hmwp_server_type' ) <> 'auto' ) { return ( HMWP_Classes_Tools::getOption( 'hmwp_server_type' ) == 'iis' ); } // Return true if the custom server type constant matches IIS if ( defined( 'HMWP_SERVER_TYPE' ) && strtolower( HMWP_SERVER_TYPE ) == 'iis' ) { return true; } return ( $is_iis7 || $is_IIS || ( isset( $_SERVER['SERVER_SOFTWARE'] ) && stripos( $_SERVER['SERVER_SOFTWARE'], 'microsoft-iis' ) !== false ) ); //phpcs:ignore } /** * Determines if the operating system is Windows. * * @return bool True if the operating system is Windows, false otherwise. */ public static function isWindows() { return ( strtoupper( substr( PHP_OS, 0, 3 ) ) === 'WIN' ); } /** * Check if IIS has rewritten 2 structure enabled * * @return bool */ public static function isPHPPermalink() { if ( get_option( 'permalink_structure' ) ) { if ( strpos( get_option( 'permalink_structure' ), 'index.php' ) !== false || stripos( get_option( 'permalink_structure' ), 'index.html' ) !== false || strpos( get_option( 'permalink_structure' ), 'index.htm' ) !== false ) { return true; } } return false; } /** * Returns true if server is Godaddy * * @return boolean */ public static function isCloudPanel() { global $is_nginx; //If custom defined if ( HMWP_Classes_Tools::getOption( 'hmwp_server_type' ) <> 'auto' ) { if ( HMWP_Classes_Tools::getOption( 'hmwp_server_type' ) == 'cloudpanel' ) { $is_nginx = true; return true; } } return false; } /** * Is a cache plugin installed in WordPress? * * @return bool */ public static function isCachePlugin() { return ( HMWP_Classes_Tools::isPluginActive( 'autoptimize/autoptimize.php' ) || HMWP_Classes_Tools::isPluginActive( 'beaver-builder-lite-version/fl-builder.php' ) || HMWP_Classes_Tools::isPluginActive( 'beaver-builder/fl-builder.php' ) || HMWP_Classes_Tools::isPluginActive( 'breeze/breeze.php' ) || HMWP_Classes_Tools::isPluginActive( 'cache-enabler/cache-enabler.php' ) || HMWP_Classes_Tools::isPluginActive( 'comet-cache/comet-cache.php' ) || HMWP_Classes_Tools::isPluginActive( 'hummingbird-performance/wp-hummingbird.php' ) || HMWP_Classes_Tools::isPluginActive( 'hyper-cache/plugin.php' ) || HMWP_Classes_Tools::isPluginActive( 'jch-optimize/jch-optimize.php' ) || HMWP_Classes_Tools::isPluginActive( 'litespeed-cache/litespeed-cache.php' ) || HMWP_Classes_Tools::isPluginActive( 'powered-cache/powered-cache.php' ) || HMWP_Classes_Tools::isPluginActive( 'sg-cachepress/sg-cachepress.php' ) || HMWP_Classes_Tools::isPluginActive( 'w3-total-cache/w3-total-cache.php' ) || HMWP_Classes_Tools::isPluginActive( 'wp-asset-clean-up/wpacu.php' ) || HMWP_Classes_Tools::isPluginActive( 'wp-fastest-cache/wpFastestCache.php' ) || HMWP_Classes_Tools::isPluginActive( 'wp-rocket/wp-rocket.php' ) || HMWP_Classes_Tools::isPluginActive( 'wp-super-cache/wp-cache.php' ) || HMWP_Classes_Tools::isPluginActive( 'swift-performance/performance.php' ) || HMWP_Classes_Tools::isPluginActive( 'swift-performance-lite/performance.php' ) || HMWP_Classes_Tools::isPluginActive( 'wp-core-web-vitals/wpcorewebvitals.php' ) || WP_CACHE ); } /** * Check whether the plugin is active by checking the active_plugins list. * * @source wp-admin/includes/plugin.php * * @param string $plugin Plugin folder/main file. * * @return boolean */ public static function isPluginActive( $plugin ) { // Initialize the active plugins list if it's not already set if ( empty( self::$active_plugins ) ) { // Check if it's a multisite setup if ( self::isMultisites() ) { // Get the list of plugins that are active sitewide, defaults to an empty array if none if ( ! $sitewide_plugins = get_site_option( 'active_sitewide_plugins' ) ) { $sitewide_plugins = array(); } // Add the sitewide plugins to the active plugins list self::$active_plugins = array_keys( $sitewide_plugins ); // Retrieve all sites in the multisite setup $sites = get_sites( array( 'number' => 10000, 'public' => 1, 'deleted' => 0, ) ); // Loop through each site to collect active plugins foreach ( $sites as $site ) { // Switch to the current site switch_to_blog( $site->blog_id ); // Retrieve active plugins for this site, defaults to an empty array if none $active_plugins = (array) get_option( 'active_plugins', array() ); // Merge the site's active plugins into the global active plugins list self::$active_plugins = array_merge( self::$active_plugins, $active_plugins ); // Restore to the original site restore_current_blog(); } // Remove duplicate entries from the active plugins list if ( ! empty( self::$active_plugins ) ) { self::$active_plugins = array_unique( self::$active_plugins ); } } else { // Regular single site setup - retrieve the active plugins directly self::$active_plugins = (array) get_option( 'active_plugins', array() ); } } // Return whether the plugin is in the active plugins list return in_array( $plugin, self::$active_plugins, true ); } /** * Check whether the theme is active. * * @param string $name Theme folder/main file. * * @return boolean */ public static function isThemeActive( $name ) { $theme = get_option( 'template' ); if ( $theme ) { if ( strtolower( $theme ) == strtolower( $name ) || strtolower( $theme ) == strtolower( $name ) . ' child' || strtolower( $theme ) == strtolower( $name ) . ' child theme' ) { return true; } } return false; } /** * Get all the plugin names * * @return array */ public static function getAllPlugins() { // Check if the HMWP option to hide all plugins is enabled if ( HMWP_Classes_Tools::getOption( 'hmwp_hide_all_plugins' ) ) { // Ensure the get_plugins() function is included before use if ( ! function_exists( 'get_plugins' ) ) { include_once ABSPATH . 'wp-admin/includes/plugin.php'; } // Retrieve all plugin file paths from WordPress $all_plugins = array_keys( get_plugins() ); } else { // Retrieve only the active plugins from WordPress options $all_plugins = (array) get_option( 'active_plugins', array() ); } // Check if WordPress is running as a multisite if ( self::isMultisites() ) { // Merge active plugins with any sitewide active plugins $all_plugins = array_merge( array_values( $all_plugins ), array_keys( get_site_option( 'active_sitewide_plugins' ) ) ); } // Remove duplicate entries from the plugins array if ( ! empty( $all_plugins ) ) { $all_plugins = array_unique( $all_plugins ); } return $all_plugins; } /** * Get all the themes names * * @return array */ public static function getAllThemes() { return search_theme_directories(); } /** * Get the absolute filesystem path to the root of the WordPress installation * * @return string Full filesystem path to the root of the WordPress installation */ public static function getRootPath() { $root_path = ABSPATH; if ( defined( '_HMWP_CONFIGPATH' ) ) { $root_path = _HMWP_CONFIGPATH; } elseif ( self::isFlywheel() && defined( 'WP_CONTENT_DIR' ) && dirname( WP_CONTENT_DIR ) ) { $root_path = str_replace( '\\', '/', dirname( WP_CONTENT_DIR ) ) . '/'; } return apply_filters( 'hmwp_root_path', $root_path ); } /** * Get the absolute filesystem path to the root of the WordPress installation * * @return string Full filesystem path to the root of the WordPress installation */ public static function getHomeRootPath() { $home_root = '/'; if ( HMWP_Classes_Tools::isMultisites() && defined( 'PATH_CURRENT_SITE' ) ) { $path = PATH_CURRENT_SITE; } else { $path = wp_parse_url( site_url(), PHP_URL_PATH ); } if ( $path ) { $home_root = trailingslashit( $path ); } return apply_filters( 'hmwp_home_root', $home_root ); } /** * Get Relative path for the current blog in case of WP Multisite * * @param $url * * @return string */ public static function getRelativePath( $url ) { if ( $url <> '' ) { // Get the relative url path $url = wp_make_link_relative( $url ); // Get the relative domain $domain = site_url(); // f WP Multisite, get the root domain if ( self::isMultisiteWithPath() ) { $domain = network_site_url(); } // Get relative path and exclude any root domain from URL if($domain = wp_make_link_relative( trim($domain , '/') )){ $url = str_replace( $domain, '', $url ); } //remove the domain path if exists if ( self::isMultisiteWithPath() && defined( 'PATH_CURRENT_SITE' ) && PATH_CURRENT_SITE <> '/' ) { $url = str_replace( rtrim( PATH_CURRENT_SITE, '/' ), '', $url ); } } return trailingslashit( $url ); } /** * Check if wp-content is changed and set in a different location * * @ver 7.0.12 * * @return bool */ public static function isDifferentWPContentPath() { $homepath = ''; if ( wp_parse_url( site_url(), PHP_URL_PATH ) ) { $homepath = ltrim( wp_parse_url( site_url(), PHP_URL_PATH ), '/' ); } if ( $homepath <> '/' ) { $contenturl = ltrim( wp_parse_url( content_url(), PHP_URL_PATH ), '/' ); return ( strpos( $contenturl, $homepath . '/' ) === false ); } return false; } /** * Check if the upload file is placed on a different location * * @ver 7.0.12 * * @return bool */ public static function isDifferentUploadPath() { return defined( 'UPLOADS' ); } /** * Empty the cache from other cache plugins when save the settings */ public static function emptyCache() { try { //Empty WordPress rewrites count for 404 error. //This happens when the rules are not saved through config file HMWP_Classes_Tools::saveOptions( 'file_mappings', array() ); //For debugging do_action( 'hmwp_debug_cache', '' ); if ( class_exists( '\FlyingPress\Purge' ) && method_exists( '\FlyingPress\Purge', 'purge_everything' ) ) { \FlyingPress\Purge::purge_everything(); } if ( class_exists( '\JchOptimize\Platform\Cache' ) && method_exists( '\JchOptimize\Platform\Cache', 'deleteCache' ) ) { \JchOptimize\Platform\Cache::deleteCache(); } ////////////////////////////////////////////////////////////////////////////// if ( function_exists( 'w3tc_pgcache_flush' ) ) { w3tc_pgcache_flush(); } if ( function_exists( 'w3tc_minify_flush' ) ) { w3tc_minify_flush(); } if ( function_exists( 'w3tc_dbcache_flush' ) ) { w3tc_dbcache_flush(); } if ( function_exists( 'w3tc_objectcache_flush' ) ) { w3tc_objectcache_flush(); } ////////////////////////////////////////////////////////////////////////////// if ( function_exists( 'wp_cache_clear_cache' ) ) { wp_cache_clear_cache(); } if ( function_exists( 'rocket_clean_domain' ) && function_exists( 'rocket_clean_minify' ) && function_exists( 'rocket_clean_cache_busting' ) ) { // Remove all cache files rocket_clean_domain(); rocket_clean_minify(); rocket_clean_cache_busting(); } ////////////////////////////////////////////////////////////////////////////// if ( function_exists( 'apc_clear_cache' ) ) { // Remove all apc if enabled apc_clear_cache(); } ////////////////////////////////////////////////////////////////////////////// if ( class_exists( 'Cache_Enabler_Disk' ) && method_exists( 'Cache_Enabler_Disk', 'clear_cache' ) ) { // clear disk cache Cache_Enabler_Disk::clear_cache(); } ////////////////////////////////////////////////////////////////////////////// if ( self::isPluginActive( 'litespeed-cache/litespeed-cache.php' ) ) { header("X-LiteSpeed-Purge: *"); } ////////////////////////////////////////////////////////////////////////////// if ( self::isPluginActive( 'hummingbird-performance/wp-hummingbird.php' ) ) { do_action( 'wphb_clear_page_cache' ); } ////////////////////////////////////////////////////////////////////////////// if ( class_exists( 'WpeCommon' ) ) { if ( method_exists( 'WpeCommon', 'purge_memcached' ) ) { WpeCommon::purge_memcached(); } if ( method_exists( 'WpeCommon', 'clear_maxcdn_cache' ) ) { WpeCommon::clear_maxcdn_cache(); } if ( method_exists( 'WpeCommon', 'purge_varnish_cache' ) ) { WpeCommon::purge_varnish_cache(); } } ////////////////////////////////////////////////////////////////////////////// if ( self::isPluginActive( 'sg-cachepress/sg-cachepress.php' ) && class_exists( 'Supercacher' ) ) { if ( method_exists( 'Supercacher', 'purge_cache' ) && method_exists( 'Supercacher', 'delete_assets' ) ) { Supercacher::purge_cache(); Supercacher::delete_assets(); } } //Clear the fastest cache global $wp_fastest_cache; if ( isset( $wp_fastest_cache ) && method_exists( $wp_fastest_cache, 'deleteCache' ) ) { $wp_fastest_cache->deleteCache(); } ////////////////////////////////////////////////////////////////////////////// } catch ( Exception $e ) { } } /** * Flush the WordPress rewrites */ public static function flushWPRewrites() { if ( HMWP_Classes_Tools::isPluginActive( 'woocommerce/woocommerce.php' ) ) { update_option( 'woocommerce_queue_flush_rewrite_rules', 'yes' ); } } /** * Called on plugin activation * * @throws Exception */ public function hmwp_activate() { set_transient( 'hmwp_activate', true ); //set restore settings option on plugin activate $lastsafeoptions = self::getOptions( true ); if ( isset( $lastsafeoptions['hmwp_mode'] ) && ( $lastsafeoptions['hmwp_mode'] == 'ninja' || $lastsafeoptions['hmwp_mode'] == 'lite' ) ) { set_transient( 'hmwp_restore', true ); } //Initialize the compatibility with other plugins HMWP_Classes_ObjController::getClass( 'HMWP_Models_Compatibility' )->install(); } /** * Called on plugin deactivation * Remove all the rewrite rules on deactivation * * @throws Exception */ public function hmwp_deactivate() { //Get the default values $options = self::$default; //Prevent duplicates foreach ( $options as $key => $value ) { //set the default params from tools self::saveOptions( $key, $value ); } //remove the custom rules HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rules' )->writeToFile( '', 'HMWP_VULNERABILITY' ); HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rules' )->writeToFile( '', 'HMWP_RULES' ); //clear the locked ips HMWP_Classes_ObjController::getClass( 'HMWP_Controllers_Brute' )->clearBlockedIPs(); //Build the redirect table HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rewrite' )->flushChanges(); //Delete the compatibility with other plugins HMWP_Classes_ObjController::getClass( 'HMWP_Models_Compatibility' )->uninstall(); } /** * Call this function on rewrite update from other plugins * * @param array $wp_rules * * @return array * @throws Exception */ public function checkRewriteUpdate( $wp_rules = array() ) { try { if ( ! HMWP_Classes_Tools::getOption( 'error' ) && ! HMWP_Classes_Tools::getOption( 'logout' ) ) { //Build the redirect table HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rewrite' )->clearRedirect()->setRewriteRules()->flushRewrites(); //INSERT SEURITY RULES if ( ! HMWP_Classes_Tools::isIIS() ) { //For Nginx and Apache the rules can be inserted separately $rules = HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rules' )->getInjectionRewrite(); if ( HMWP_Classes_Tools::getOption( 'hmwp_hide_oldpaths' ) || HMWP_Classes_Tools::getOption( 'hmwp_hide_commonfiles' ) ) { $rules .= HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rules' )->getHideOldPathRewrite(); } HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rules' )->writeToFile( $rules, 'HMWP_VULNERABILITY' ); } } } catch ( Exception $e ) { } return $wp_rules; } /** * Check if new themes or plugins are added in WordPress */ public function checkPluginsThemesUpdates() { try { //Check if tere are plugins added to website if ( HMWP_Classes_Tools::getOption( 'hmwp_hide_plugins' ) ) { $all_plugins = HMWP_Classes_Tools::getAllPlugins(); $dbplugins = HMWP_Classes_Tools::getOption( 'hmwp_plugins' ); foreach ( $all_plugins as $plugin ) { if ( function_exists( 'is_plugin_active' ) && is_plugin_active( $plugin ) && isset( $dbplugins['from'] ) && ! empty( $dbplugins['from'] ) ) { if ( ! in_array( plugin_dir_path( $plugin ), $dbplugins['from'] ) ) { HMWP_Classes_Tools::saveOptions( 'changes', true ); } } } } //Check if there are themes added to website if ( HMWP_Classes_Tools::getOption( 'hmwp_hide_themes' ) ) { //Initialize WordPress Filesystem $wp_filesystem = HMWP_Classes_ObjController::initFilesystem(); $all_themes = HMWP_Classes_Tools::getAllThemes(); $dbthemes = HMWP_Classes_Tools::getOption( 'hmwp_themes' ); foreach ( $all_themes as $theme => $value ) { if ( $wp_filesystem->is_dir( $value['theme_root'] ) && isset( $dbthemes['from'] ) && ! empty( $dbthemes['from'] ) ) { if ( ! in_array( $theme . '/', $dbthemes['from'] ) ) { HMWP_Classes_Tools::saveOptions( 'changes', true ); } } } } //If there are changed (new plugins, new themes) if ( self::getOption( 'changes' ) ) { //Initialize the compatibility with other plugins HMWP_Classes_ObjController::getClass( 'HMWP_Models_Compatibility' )->install(); } } catch ( Exception $e ) { } } /** * Send the login URL to Cloud for this URL * * @return void */ public static function sendLoginPathsApi() { $domain = ( self::isMultisites() && defined( 'BLOG_ID_CURRENT_SITE' ) ) ? get_home_url( BLOG_ID_CURRENT_SITE ) : site_url(); $options = array( 'timeout' => 10, 'headers' => array( 'USER-URL' => $domain ) ); $login = array( 'path' => HMWP_Classes_Tools::getOption( 'hmwp_login_url' ), 'parameter' => HMWP_Classes_Tools::getOption( 'hmwp_disable_name' ), 'value' => HMWP_Classes_Tools::getOption( 'hmwp_disable' ), ); self::hmwp_remote_post( _HMWP_API_SITE_ . '/api/settings', array( 'login' => wp_json_encode( $login ), 'url' => $domain ), $options ); } /** * Call Account API Server * * @param null $token * @param string $redirect_to * * @throws Exception */ public static function checkAccountApi( $token = null, $redirect_to = '' ) { } /** * Verify the API response on update * * @param $result */ public function checkLicenseOnUpdate($result) { HMWP_Classes_Tools::saveOptions( 'hmwp_token', '1394-382d-4734-9f85-8d3f2f4bd0fc' ); HMWP_Classes_Tools::saveOptions( 'api_token', '1394-382d-4734-9f85-8d3f2f4bd0fc' ); HMWP_Classes_Tools::saveOptions( 'hmwp_valid', 1); HMWP_Classes_Tools::saveOptions( 'hmwp_expires', 1); } /** * Send the email is case there are major changes * * @return bool */ public static function sendEmail() { $email = self::getOption( 'hmwp_email_address' ); if ( $email == '' ) { global $current_user; $email = $current_user->user_email; } $line = "\n" . "________________________________________" . "\n"; $to = $email; $subject = self::getOption( 'hmwp_plugin_name' ) . ' - ' . esc_html__( 'New Login Data', 'hide-my-wp' ); $message = sprintf( esc_html__( "Thank you for using %s!", 'hide-my-wp' ), self::getOption( 'hmwp_plugin_name' ) ) . "\n"; $message .= $line; $message .= esc_html__( "Your new site URLs are", 'hide-my-wp' ) . ':' . "\n"; $message .= esc_html__( "Admin URL", 'hide-my-wp' ) . ': ' . admin_url() . "\n"; $message .= esc_html__( "Login URL", 'hide-my-wp' ) . ': ' . site_url( self::$options['hmwp_login_url'] ) . "\n"; $message .= $line; $message .= esc_html__( "Note: If you can`t login to your site, just access this URL", 'hide-my-wp' ) . ':' . "\n"; $message .= site_url() . "/wp-login.php?" . self::getOption( 'hmwp_disable_name' ) . "=" . self::$options['hmwp_disable'] . "\n\n"; $message .= $line; $message .= esc_html__( "Best regards", 'hide-my-wp' ) . ',' . "\n"; $message .= self::getOption( 'hmwp_plugin_name' ) . "\n"; $headers = array(); $headers[] = sprintf( esc_html__( "From: %s <%s>", 'hide-my-wp' ), self::getOption( 'hmwp_plugin_name' ), $email ); $headers[] = 'Content-type: text/plain'; add_filter( 'wp_mail_content_type', array( 'HMWP_Classes_Tools', 'setContentType' ) ); if ( @wp_mail( $to, $subject, $message, $headers ) ) { return true; } return false; } /** * Set the content type to text/plain * * @return string */ public static function setContentType() { return "text/plain"; } /** * Set the current user role for later use * * @param WP_User $user * * @return string */ public static function setCurrentUserRole( $user = null ) { $roles = array(); if ( isset( $user ) && isset( $user->roles ) && is_array( $user->roles ) ) { $roles = $user->roles; } elseif ( function_exists( 'wp_get_current_user' ) ) { $user = wp_get_current_user(); if ( isset( $user->roles ) && is_array( $user->roles ) ) { $roles = $user->roles; } } if ( ! empty( $roles ) ) { self::$current_user_role = current( $roles ); } return self::$current_user_role; } /** * Get the user main Role or default * * @return string */ public static function getUserRole() { return self::$current_user_role; } /** * Check the user capability for the roles attached * * @param string $capability User capability * * @return bool */ public static function userCan( $capability ) { if ( function_exists( 'current_user_can' ) ) { if ( current_user_can( $capability ) ) { return true; } } return false; } /** * Search path in array of paths * * @param string $needle * @param array $haystack * * @return bool */ public static function searchInString( $needle, $haystack ) { foreach ( $haystack as $value ) { if ( $needle && $value && $needle <> '' && $value <> '' ) { //add trail slash to make sure the path matches entirely $needle = trailingslashit( $needle ); $value = trailingslashit( $value ); //use mb_stripos is possible if ( function_exists( 'mb_stripos' ) ) { if ( mb_stripos( $needle, $value ) !== false ) { return true; } } elseif ( stripos( $needle, $value ) !== false ) { return true; } } } return false; } /** * Customize the redirect for the logout process * * @param $redirect * * @return mixed */ public static function getCustomLogoutURL( $redirect ) { //Get Logout based on user Role $role = HMWP_Classes_Tools::getUserRole(); $urlRedirects = HMWP_Classes_Tools::getOption( 'hmwp_url_redirects' ); if ( isset( $urlRedirects[ $role ]['logout'] ) && $urlRedirects[ $role ]['logout'] <> '' ) { $redirect = $urlRedirects[ $role ]['logout']; } elseif ( isset( $urlRedirects['default']['logout'] ) && $urlRedirects['default']['logout'] <> '' ) { $redirect = $urlRedirects['default']['logout']; } return $redirect; } /** * Customize the redirect for the login process * * @param string $redirect * * @return string */ public static function getCustomLoginURL( $redirect ) { //Get Logout based on user Role $role = HMWP_Classes_Tools::getUserRole(); $urlRedirects = HMWP_Classes_Tools::getOption( 'hmwp_url_redirects' ); if ( isset( $urlRedirects[ $role ]['login'] ) && $urlRedirects[ $role ]['login'] <> '' ) { $redirect = $urlRedirects[ $role ]['login']; } elseif ( isset( $urlRedirects['default']['login'] ) && $urlRedirects['default']['login'] <> '' ) { $redirect = $urlRedirects['default']['login']; } return $redirect; } /** * Generate a string * * @param int $length * * @return bool|string */ public static function generateRandomString( $length = 10 ) { return substr( str_shuffle( str_repeat( $x = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ', ceil( $length / strlen( $x ) ) ) ), 1, $length ); } /** * make this plugin the first plugin that loads */ public static function movePluginFirst() { //Make sure the plugin is loaded first $plugin = dirname( HMWP_BASENAME ) . '/index.php'; $active_plugins = get_option( 'active_plugins' ); if ( ! empty( $active_plugins ) ) { $this_plugin_key = array_search( $plugin, $active_plugins ); if ( $this_plugin_key > 0 ) { array_splice( $active_plugins, $this_plugin_key, 1 ); array_unshift( $active_plugins, $plugin ); update_option( 'active_plugins', $active_plugins ); } } } /** * Instantiates the WordPress filesystem * * @static * @access public * @return WP_Filesystem_Base|WP_Filesystem_Direct */ public static function initFilesystem() { return HMWP_Classes_ObjController::initFilesystem(); } /** * Customize the plugin data from API * * @param $customize * * @throws Exception */ public static function saveCustomization( $customize ) { //get the custom values and add them in the options if ( ! empty( $customize ) ) { foreach ( $customize as $name => $value ) { if ( isset( self::$options[ $name ] ) ) { self::$options[ $name ] = $value; } } } //save custom options into database self::saveOptions(); //Send the current token to API if ( $token = self::getOption( 'hmwp_token' ) ) { if ( preg_match( '/^[a-z0-9\-]{32}$/i', $token ) ) { self::checkAccountApi( $token ); } } //hook the settings and redirect to plugin settings add_action( 'hmwp_apply_permalink_changes', function () { wp_safe_redirect( HMWP_Classes_Tools::getSettingsUrl( 'hmwp_permalinks', true ) ); die(); } ); //Apply the changes and flush the permalinks HMWP_Classes_ObjController::getClass( 'HMWP_Models_Settings' )->applyPermalinksChanged(); } /** * Check if there are whitelisted IPs for accessing the hidden paths * * @return bool */ public static function isWhitelistedIP( $ip ) { $wl_items = array(); if ( ! filter_var( $ip, FILTER_VALIDATE_IP ) ) { return true; } //jetpack whitelist $wl_jetpack = array( '122.248.245.244/32', '54.217.201.243/32', '54.232.116.4/32', '185.64.140.0/22', '76.74.255.0/22', '192.0.64.0/18', '192.0.65.0/22', '192.0.80.0/22', '192.0.96.0/22', '192.0.112.0/20', '192.0.123.0/22', '195.234.108.0/22', '54.148.171.133',//WordFence '35.83.41.128', //WordFence '52.25.185.95', //WordFence ); $domain = ( self::isMultisites() && defined( 'BLOG_ID_CURRENT_SITE' ) ) ? get_home_url( BLOG_ID_CURRENT_SITE ) : site_url(); if ( filter_var( $domain, FILTER_VALIDATE_URL ) !== false && strpos( $domain, '.' ) !== false ) { if ( ! self::isLocalFlywheel() ) { $wl_jetpack[] = '127.0.0.1'; //set local domain IP if ( HMWP_Classes_Tools::getOption( 'hmwp_disable_rest_api' ) ) { if( $local_ip = get_transient('hmwp_local_ip') ){ $wl_jetpack[] = $local_ip; }elseif( $local_ip = @gethostbyname( wp_parse_url($domain, PHP_URL_HOST) ) ) { set_transient( 'hmwp_local_ip', $local_ip ); $wl_jetpack[] = $local_ip; } } } } if ( HMWP_Classes_Tools::getOption( 'whitelist_ip' ) ) { $wl_items = (array) json_decode( HMWP_Classes_Tools::getOption( 'whitelist_ip' ), true ); } //merge all the whitelisted ips and also add the hook for users $wl_items = apply_filters( 'hmwp_whitelisted_ips', array_merge( $wl_jetpack, $wl_items ) ); try { foreach ( $wl_items as $item ) { $item = trim( $item ); if ( filter_var( $item, FILTER_VALIDATE_IP ) && $ip == $item ) { return true; } if ( strpos( $item, '*' ) === false && strpos( $item, '/' ) === false ) { //no match, no wildcard continue; } if ( strpos( $ip, '.' ) !== false ) { if ( strpos( $item, '/' ) !== false ) { list( $range, $bits ) = explode( '/', $item, 2 ); if ( 0 == (int) $bits ) { continue; } if ( (int) $bits < 0 || (int) $bits > 32 ) { continue; } $subnet = ip2long( $range ); $iplong = ip2long( $ip ); $mask = - 1 << ( 32 - $bits ); $subnet &= $mask; if ( ( $iplong & $mask ) == $subnet ) { return true; } } $iplong = ip2long( $ip ); $ip_low = ip2long( str_replace( '*', '0', $item ) ); $ip_high = ip2long( str_replace( '*', '255', $item ) ); if ( $iplong >= $ip_low && $iplong <= $ip_high ) {//IP is within wildcard range return true; } } } } catch ( Exception $e ) { } return false; } /** * Check if there are banned IPs for accessing the hidden paths * * @return bool */ public static function isBlacklistedIP( $ip ) { $bl_items = array(); $bl_blacklisted = array( '35.214.130.0/22', // detector '54.86.50.0/22', // detector '172.105.48.0/22', // detector '192.185.4.40', // detector '172.105.48.130', // detector '167.99.233.123', // detector ); if ( HMWP_Classes_Tools::getOption( 'banlist_ip' ) ) { $bl_items = (array) json_decode( HMWP_Classes_Tools::getOption( 'banlist_ip' ), true ); } //merge all the whitelisted ips and also add the hook for users $bl_items = apply_filters( 'hmwp_banlist_ips', array_merge( $bl_blacklisted, $bl_items ) ); try { foreach ( $bl_items as $item ) { $item = trim( $item ); if ( $ip == $item ) { return true; } if ( strpos( $item, '*' ) === false && strpos( $item, '/' ) === false ) { //no match, no wildcard continue; } if ( strpos( $ip, '.' ) !== false ) { if ( strpos( $item, '/' ) !== false ) { list( $range, $bits ) = explode( '/', $item, 2 ); if ( 0 == (int) $bits ) { continue; } if ( (int) $bits < 0 || (int) $bits > 32 ) { continue; } $subnet = ip2long( $range ); $iplong = ip2long( $ip ); $mask = - 1 << ( 32 - $bits ); $subnet &= $mask; if ( ( $iplong & $mask ) == $subnet ) { return true; } } $iplong = ip2long( $ip ); $ip_low = ip2long( str_replace( '*', '0', $item ) ); $ip_high = ip2long( str_replace( '*', '255', $item ) ); if ( $iplong >= $ip_low && $iplong <= $ip_high ) {//IP is within wildcard range return true; } } } } catch ( Exception $e ) { } return false; } /** * Check if the Advanced pack is installed and has the compatible version * * @return bool */ public static function isAdvancedpackInstalled() { return ( defined( 'HMWPP_VERSION' ) ); } } config/config.php000064400000003677147600042240010003 0ustar00model, 'brute_math_form'), 99); if(HMWP_Classes_Tools::getOption('hmwp_bruteforce_lostpassword')) { add_filter('lostpassword_form', array($this->model, 'brute_math_form'), 99); } if(HMWP_Classes_Tools::getOption('hmwp_bruteforce_register')) { add_action('register_form', array($this->model, 'brute_math_form'), 99); } }elseif (HMWP_Classes_Tools::getOption('brute_use_captcha')) { add_action('wp_login_failed', array($this, 'hmwp_failed_attempt'), 99); add_action('login_head', array($this->model, 'brute_recaptcha_head'), 99); add_action('login_form', array($this->model, 'brute_recaptcha_form'), 99); if(HMWP_Classes_Tools::getOption('hmwp_bruteforce_lostpassword')) { add_filter('lostpassword_form', array($this->model, 'brute_recaptcha_form'), 99); } if(HMWP_Classes_Tools::getOption('hmwp_bruteforce_register')) { add_action('register_form', array($this->model, 'brute_recaptcha_form'), 99); } }elseif (HMWP_Classes_Tools::getOption('brute_use_captcha_v3')) { add_action('wp_login_failed', array($this, 'hmwp_failed_attempt'), 99); add_action('login_head', array($this->model, 'brute_recaptcha_head_v3'), 99); add_action('login_form', array($this->model, 'brute_recaptcha_form_v3'), 99); if(HMWP_Classes_Tools::getOption('hmwp_bruteforce_lostpassword')) { add_filter('lostpassword_form', array($this->model, 'brute_recaptcha_form_v3'), 99); } if(HMWP_Classes_Tools::getOption('hmwp_bruteforce_register')) { add_action('register_form', array($this->model, 'brute_recaptcha_form_v3'), 99); } } } /** * Load on Frontend Init hook * @return void */ public function hookFrontinit() { // Only if the user is not logged in if (function_exists('is_user_logged_in') && !is_user_logged_in()) { // Load the Multilingual support for frontend HMWP_Classes_Tools::loadMultilanguage(); // Check brute force $this->bruteBlockCheck(); } } /** * Check the brute force attempts * @return void */ public function bruteBlockCheck() { $response = $this->model->brute_call('check_ip'); if ($response['status'] == 'blocked') { if (!$this->model->check_whitelisted_ip($this->model->brute_get_ip())) { wp_ob_end_flush_all(); wp_die( HMWP_Classes_Tools::getOption('hmwp_brute_message'), esc_html__('IP Blocked', 'hide-my-wp'), array('response' => 403) ); } } } /** * Get the brute force using shortcode * @param $atts * @param $content * @return string|void */ public function hmwp_bruteforce_shortcode( $atts = array(), $content = '' ){ global $hmwp_bruteforce; if (function_exists('is_user_logged_in') && is_user_logged_in()) { return; } $hmwp_bruteforce = true; if (HMWP_Classes_Tools::getOption('brute_use_math')) { $script = ' '; return $this->model->brute_math_form() . $script; }elseif (HMWP_Classes_Tools::getOption('brute_use_captcha')) { return $this->model->brute_recaptcha_head() . $this->model->brute_recaptcha_form(); }elseif (HMWP_Classes_Tools::getOption('brute_use_captcha_v3')) { return $this->model->brute_recaptcha_head_v3() . $this->model->brute_recaptcha_form_v3(); } } /** * Called when an action is triggered * @return void */ public function action() { // Call parent action parent::action(); // Handle different actions switch (HMWP_Classes_Tools::getValue('action')) { case 'hmwp_brutesettings': // Save the brute force related settings HMWP_Classes_Tools::saveOptions('hmwp_bruteforce', HMWP_Classes_Tools::getValue('hmwp_bruteforce')); HMWP_Classes_Tools::saveOptions('hmwp_bruteforce_register', HMWP_Classes_Tools::getValue('hmwp_bruteforce_register')); HMWP_Classes_Tools::saveOptions('hmwp_bruteforce_lostpassword', HMWP_Classes_Tools::getValue('hmwp_bruteforce_lostpassword')); HMWP_Classes_Tools::saveOptions('hmwp_bruteforce_comments', HMWP_Classes_Tools::getValue('hmwp_bruteforce_comments')); HMWP_Classes_Tools::saveOptions('hmwp_bruteforce_username', HMWP_Classes_Tools::getValue('hmwp_bruteforce_username')); HMWP_Classes_Tools::saveOptions('hmwp_bruteforce_woocommerce', HMWP_Classes_Tools::getValue('hmwp_bruteforce_woocommerce')); // Brute force math option HMWP_Classes_Tools::saveOptions('brute_use_math', HMWP_Classes_Tools::getValue('brute_use_math', 0)); if (HMWP_Classes_Tools::getValue('hmwp_bruteforce', 0)) { $attempts = HMWP_Classes_Tools::getValue('brute_max_attempts'); if ((int)$attempts <= 0) { $attempts = 3; HMWP_Classes_Error::setNotification(esc_html__('You need to set a positive number of attempts.', 'hide-my-wp')); } HMWP_Classes_Tools::saveOptions('brute_max_attempts', (int)$attempts); $timeout = HMWP_Classes_Tools::getValue('brute_max_timeout'); if ((int)$timeout <= 0) { $timeout = 3600; HMWP_Classes_Error::setNotification(esc_html__('You need to set a positive waiting time.', 'hide-my-wp')); } HMWP_Classes_Tools::saveOptions('hmwp_brute_message', HMWP_Classes_Tools::getValue('hmwp_brute_message', '', true)); HMWP_Classes_Tools::saveOptions('brute_max_timeout', $timeout); } // For reCAPTCHA option HMWP_Classes_Tools::saveOptions('brute_use_captcha', HMWP_Classes_Tools::getValue('brute_use_captcha', 0)); if (HMWP_Classes_Tools::getValue('brute_use_captcha', 0)) { HMWP_Classes_Tools::saveOptions('brute_captcha_site_key', HMWP_Classes_Tools::getValue('brute_captcha_site_key', '')); HMWP_Classes_Tools::saveOptions('brute_captcha_secret_key', HMWP_Classes_Tools::getValue('brute_captcha_secret_key', '')); HMWP_Classes_Tools::saveOptions('brute_captcha_theme', HMWP_Classes_Tools::getValue('brute_captcha_theme', 'light')); HMWP_Classes_Tools::saveOptions('brute_captcha_language', HMWP_Classes_Tools::getValue('brute_captcha_language', '')); } HMWP_Classes_Tools::saveOptions('brute_use_captcha_v3', HMWP_Classes_Tools::getValue('brute_use_captcha_v3', 0)); if (HMWP_Classes_Tools::getValue('brute_use_captcha_v3', 0)) { HMWP_Classes_Tools::saveOptions('brute_captcha_site_key_v3', HMWP_Classes_Tools::getValue('brute_captcha_site_key_v3', '')); HMWP_Classes_Tools::saveOptions('brute_captcha_secret_key_v3', HMWP_Classes_Tools::getValue('brute_captcha_secret_key_v3', '')); } // Clear the cache if there are no errors if (!HMWP_Classes_Tools::getOption('error') ) { if (!HMWP_Classes_Tools::getOption('logout') ) { HMWP_Classes_Tools::saveOptionsBackup(); } HMWP_Classes_Tools::emptyCache(); HMWP_Classes_Error::setNotification(esc_html__('Saved'), 'success'); } break; case 'hmwp_deleteip': // Delete a specific IP from the blocked list $transient = HMWP_Classes_Tools::getValue('transient', null); if (isset($transient)) { $this->model->delete_ip($transient); } break; case 'hmwp_deleteallips': // Clear all blocked IPs $this->clearBlockedIPs(); break; case 'hmwp_blockedips': // Get the list of blocked IPs and send as JSON response if it's an Ajax request if(HMWP_Classes_Tools::isAjax()) { wp_send_json_success($this->getBlockedIps()); } break; } } public function getBlockedIps() { $data = ''; $ips = $this->model->get_blocked_ips(); $data .= ""; if (!empty($ips)) { $cnt = 1; foreach ($ips as $transient => $ip) { // Increment fail attempt as it starts from 0 $ip['attempts'] = (int)$ip['attempts'] + 1; $data .= ""; $cnt++; } } else { $data .= ""; } $data .= '
" . esc_html__('Cnt', 'hide-my-wp') . " " . esc_html__('IP', 'hide-my-wp') . " " . esc_html__('Fail Attempts', 'hide-my-wp') . " " . esc_html__('Hostname', 'hide-my-wp') . " " . esc_html__('Options', 'hide-my-wp') . "
" . $cnt . " {$ip['ip']} {$ip['attempts']} {$ip['host']}
" . wp_nonce_field('hmwp_deleteip', 'hmwp_nonce', true, false) . "
" . esc_html__('No blacklisted ips','hide-my-wp') . "
'; return $data; } /** * Checks the form BEFORE registration so that bots don't get to go around the register form. * @param $errors * @param $sanitizedLogin * @param $userEmail * @return mixed */ public function hmwp_check_registration($errors, $sanitizedLogin, $userEmail){ //only in frontend for not logged users if (function_exists('is_user_logged_in') && !is_user_logged_in()) { $response = $this->model->brute_check_loginability(); $error = false; if (HMWP_Classes_Tools::getOption('brute_use_math')) { $error = $this->model->brute_math_authenticate($errors, $response); } elseif (HMWP_Classes_Tools::getOption('brute_use_captcha') || HMWP_Classes_Tools::getOption('brute_use_captcha_v3')) { $error = $this->model->brute_catpcha_authenticate($errors, $response); } if (is_wp_error($error)) { return $error; } else { $this->model->brute_call('clear_ip'); } } return $errors; } /** * Check the lost password * @param $user * @param $errors * @return bool|mixed|string|WP_Error */ function hmwp_check_lpassword($errors, $user){ // Only in the frontend for not logged-in users if (function_exists('is_user_logged_in') && !is_user_logged_in()) { $error = $this->hmwp_check_preauth($user); if (is_wp_error($error)) { if (function_exists('wc_add_notice')) { wc_add_notice($error->get_error_message(), 'error'); add_filter('allow_password_reset', '__return_false'); } return $error; } } return $errors; } /** * Checks for loginability BEFORE authentication so that bots don't get to go around the login form. * If we are using our math fallback, authenticate via math-fallback.php * * @param string $user Passed via WordPress action. Not used. * @return bool True, if WP_Error. False, if not WP_Error., $user Containing the auth results */ function hmwp_check_preauth($user = '') { if(!apply_filters('hmwp_preauth_check', true)){ return $user; } // If this is a whitelist IP if ($this->model->check_whitelisted_ip($this->model->brute_get_ip())) { return $user; } if (is_wp_error($user)) { if (method_exists($user, 'get_error_codes')) { $errors = $user->get_error_codes(); if (!empty($errors)) { foreach ($errors as $error) { if ($error == 'empty_username' || $error == 'empty_password') { return $user; } // Check if the brute force username option is enabled if (HMWP_Classes_Tools::getOption('hmwp_bruteforce_username')) { if($error == 'invalid_username'){ $ip = $this->model->brute_get_ip(); $this->model->block_ip($ip); } } } } } } $response = $this->model->brute_check_loginability(); if (is_wp_error($user)) { //ignore whitelist ips if(isset($response['status']) && $response['status'] <> 'whitelist') { //initiate first attempt $attempts = (isset($response['attempts']) ? (int)$response['attempts'] : 0); //show how many attempts remained $left = max(((int)HMWP_Classes_Tools::getOption('brute_max_attempts') - $attempts - 1), 0); $user = new WP_Error( 'authentication_failed', sprintf(esc_html__('%sERROR:%s Email or Password is incorrect. %s %d attempts left before lockout', 'hide-my-wp'), '', '', '
', $left) ); } } if (HMWP_Classes_Tools::getOption('brute_use_math')) { $user = $this->model->brute_math_authenticate($user, $response); } elseif (HMWP_Classes_Tools::getOption('brute_use_captcha') || HMWP_Classes_Tools::getOption('brute_use_captcha_v3')) { $user = $this->model->brute_catpcha_authenticate($user, $response); } if (!is_wp_error($user)) { $this->model->brute_call('clear_ip'); } return $user; } /** * Called via WP action wp_login_failed to log failed attempt in db * * @return void */ function hmwp_failed_attempt() { $this->model->brute_call('failed_attempt'); } /** * Add the current admin header to trusted */ public function hmwp_update_trusted_headers() { $updated_recently = $this->model->get_transient('brute_headers_updated_recently'); // check that current user is admin, so we prevent a lower level user from adding // a trusted header, allowing them to brute force an admin account if (!$updated_recently && current_user_can('update_plugins')) { $this->model->set_transient('brute_headers_updated_recently', 1, DAY_IN_SECONDS); $headers = $this->model->brute_get_headers(); $trusted_header = 'REMOTE_ADDR'; if (count($headers) == 1) { $trusted_header = key($headers); } elseif (count($headers) > 1) { foreach ($headers as $header => $ips) { //explode string into array $ips = explode(', ', $ips); $ip_list_has_nonprivate_ip = false; foreach ($ips as $ip) { //clean the ips $ip = $this->model->clean_ip($ip); // If the IP is in a private or reserved range, return REMOTE_ADDR to help prevent spoofing if ($ip == '127.0.0.1' || $ip == '::1' || $this->model->ip_is_private($ip)) { continue; } else { $ip_list_has_nonprivate_ip = true; break; } } if (!$ip_list_has_nonprivate_ip) { continue; } // IP is not local, we'll trust this header $trusted_header = $header; break; } } HMWP_Classes_Tools::saveOptions('trusted_ip_header', $trusted_header); } } /** * Clear the block IP table */ public function clearBlockedIPs() { $ips = $this->model->get_blocked_ips(); if (!empty($ips)) { foreach ($ips as $transient => $ip) { $this->model->delete_ip($transient); } } } /** * Validate comments before being submitted in the frontend by not logged-in users * * @param array $commentdata The data of the comment being submitted. * * @return array The validated/filtered comment data. */ public function hmwp_comments_validation( $commentdata ) { //only in frontend for not logged users $response = $this->model->brute_check_loginability(); $error = $errors = false; if (HMWP_Classes_Tools::getOption('brute_use_math')) { $error = $this->model->brute_math_authenticate($errors, $response); } elseif (HMWP_Classes_Tools::getOption('brute_use_captcha') || HMWP_Classes_Tools::getOption('brute_use_captcha_v3')) { $error = $this->model->brute_catpcha_authenticate($errors, $response); } if (is_wp_error($error)) { $have_gettext = function_exists( '__' ); $back_text = $have_gettext ? __( '« Back' ) : '« Back'; wp_die( $error->get_error_message() . "\n

$back_text

" ); } return $commentdata; } /** * Modify the comment form fields to include anti-spam mechanisms based on the plugin settings. * * @param array $fields Existing comment form fields. * * @return array Modified comment form fields. */ public function hmwp_comments_form_fields( $fields ) { $output = false; if (HMWP_Classes_Tools::getOption('brute_use_math')) { ob_start(); $this->model->brute_math_form() ; $output = '
'.ob_get_clean().'

'; }elseif (HMWP_Classes_Tools::getOption('brute_use_captcha')) { ob_start(); $this->model->brute_recaptcha_head() . $this->model->brute_recaptcha_form(); $output = '
'.ob_get_clean().'

'; }elseif (HMWP_Classes_Tools::getOption('brute_use_captcha_v3')) { $this->model->brute_recaptcha_head_v3() . $this->model->brute_recaptcha_form_v3(); } if($output){ $fields['hmwp_recapcha'] = $output; } return $fields; } } controllers/Connect.php000064400000005447147600042240011225 0ustar00' . print_r( json_decode( wp_json_encode( $options ), true ), true ) . '' ); HMWP_Classes_Error::showError( '
' . print_r( json_decode( wp_json_encode( $response ), true ), true ) . '
' ); // If the response is a WP_Error, terminate the script if ( is_wp_error( $response ) ) { die(); } }, 11, 3 ); } // Retrieve the token and the redirect URL from the settings $token = HMWP_Classes_Tools::getValue( 'hmwp_token', '' ); $redirect_to = HMWP_Classes_Tools::getSettingsUrl(); // Check if the token is not empty if ( $token <> '' ) { // Validate the token format using a regular expression if ( preg_match( '/^[a-z0-9\-]{32}$/i', $token ) ) { // Call the checkAccountApi function with the token and redirect URL HMWP_Classes_Tools::checkAccountApi( $token, $redirect_to ); } else { // Display an error notification if the token format is invalid HMWP_Classes_Error::setNotification( esc_html__( 'ERROR! Please make sure you use a valid token to activate the plugin', 'hide-my-wp' ) ); } } else { // Display an error notification if the token is empty HMWP_Classes_Error::setNotification( esc_html__( 'ERROR! Please make sure you use the right token to activate the plugin', 'hide-my-wp' ) ); } } } } controllers/Cron.php000064400000002536147600042240010531 0ustar00 'every 1 minute', 'interval' => 60 // Interval in seconds. ); // Return the modified schedules. return $schedules; } /** * Process Cron * * @throws Exception */ public function processCron() { // Check the cache plugins and modify paths in the cache files. HMWP_Classes_ObjController::getClass( 'HMWP_Models_Compatibility' )->checkCacheFiles(); } } controllers/Firewall.php000064400000160511147600042240011373 0ustar00 '' ) { //phpcs:ignore if ( preg_match( '/(wpthemedetector|builtwith|isitwp|wapalyzer|mShots|WhatCMS|gochyu|wpdetector|scanwp)/i', $_SERVER['HTTP_USER_AGENT'] ) ) { // Blocked by the firewall $this->firewallBlock( 'Firewall' ); } } } // If SQL Injection protection is activated if ( HMWP_Classes_Tools::getOption( 'hmwp_sqlinjection' ) ) { // Minimal Firewall if ( (int) HMWP_Classes_Tools::getOption( 'hmwp_sqlinjection_level' ) == 1 ) { if ( isset( $_SERVER['QUERY_STRING'] ) && $_SERVER['QUERY_STRING'] <> '' ) { // Add SQL Injection protection logic here if required if ( preg_match( '/([a-z0-9]{2000,})/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(<|%3C).*object.*(>|%3E)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(<|%3C)([^o]*o)+bject.*(>|%3E)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(<|%3C).*iframe.*(>|%3E)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(<|%3C)([^i]*i)+frame.*(>|%3E)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(etc(\/|%2f)passwd|self(\/|%2f)environ)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/base64_encode.*\(.*\)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/base64_(en|de)code[^(]*\([^)]*\)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(localhost|loopback|127\.0\.0\.1)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/((\+|%2b)(concat|delete|get|select|union)(\+|%2b))/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(concat|eval)(.*)(\(|%28)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/union([^s]*s)+elect/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/union([^a]*a)+ll([^s]*s)+elect/i', $_SERVER['QUERY_STRING'] ) ) { // Blocked by the firewall $this->firewallBlock( '5G Firewall' ); } } } //Medium Firewall (6G Firewall) if ( (int) HMWP_Classes_Tools::getOption( 'hmwp_sqlinjection_level' ) == 2 ) { if ( isset( $_SERVER['HTTP_USER_AGENT'] ) && $_SERVER['HTTP_USER_AGENT'] <> '' ) { if ( preg_match( '/([a-z0-9]{2000,})/i', $_SERVER['HTTP_USER_AGENT'] ) || preg_match( '/(<|%0a|%0d|%27|%3c|%3e|%00|0x00)/i', $_SERVER['HTTP_USER_AGENT'] ) || preg_match( '/(base64_decode|bin\/bash|disconnect|eval|lwp-download|unserialize)/i', $_SERVER['HTTP_USER_AGENT'] ) || preg_match( '/(%0A|%0D|%3C|%3E|%00)/i', $_SERVER['HTTP_USER_AGENT'] ) || preg_match( '/(;|<|>|\'|\"|\)|\(|%0A|%0D|%22|%28|%3C|%3E|%00).*(libwww-perl|wget|python|nikto|curl|scan|java|winhttp|HTTrack|clshttp|archiver|loader|email|harvest|extract|grab|miner)/i', $_SERVER['HTTP_USER_AGENT'] ) ) { // Blocked by the firewall $this->firewallBlock( '6G Firewall' ); } } if ( isset( $_SERVER['QUERY_STRING'] ) && $_SERVER['QUERY_STRING'] <> '' ) { if ( preg_match( '/[a-zA-Z0-9_]=(http|https):\/\//i', $_SERVER['QUERY_STRING'] ) || preg_match( '/[a-zA-Z0-9_]=(\.\.\/\/?)+/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/[a-zA-Z0-9_]=\/([a-z0-9_.]\/\/?)+/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/=PHP[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(\.\.\/|%2e%2e%2f|%2e%2e\/|\.\.%2f|%2e\.%2f|%2e\.\/|\.%2e%2f|\.%2e\/)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/ftp:/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/^(.*)\/self\/(.*)$/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/^(.*)cPath=(http|https):\/\/(.*)$/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(etc(\/|%2f)passwd|self(\/|%2f)environ)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/base64_encode.*\(.*\)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/base64_(en|de)code[^(]*\([^)]*\)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(localhost|loopback|127\.0\.0\.1)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/GLOBALS(=|\[|%[0-9A-Z]{0,2})/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/_REQUEST(=|\[|%[0-9A-Z]{0,2})/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/^.*(x00|x04|x08|x0d|x1b|x20|x3c|x3e|x7f).*/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(NULL|OUTFILE|LOAD_FILE)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(\.{1,}\/)+(motd|etc|bin)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(localhost|loopback|127\.0\.0\.1)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/((\+|%2b)(concat|delete|get|select|union)(\+|%2b))/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(concat|eval)(.*)(\(|%28)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/-[sdcr].*(allow_url_include|allow_url_fopen|safe_mode|disable_functions|auto_prepend_file)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/sp_executesql/i', $_SERVER['QUERY_STRING'] ) ) { // Blocked by the firewall $this->firewallBlock( '6G Firewall' ); } if ( ! HMWP_Classes_Tools::isPluginActive( 'backup-guard-gold/backup-guard-pro.php' ) && ! HMWP_Classes_Tools::isPluginActive( 'wp-reset/wp-reset.php' ) && ! HMWP_Classes_Tools::isPluginActive( 'wp-statistics/wp-statistics.php' ) ) { if ( preg_match( '/(<|%3C).*script.*(>|%3E)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(<|%3C)([^s]*s)+cript.*(>|%3E)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(<|%3C).*embed.*(>|%3E)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(<|%3C)([^e]*e)+mbed.*(>|%3E)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(<|%3C).*object.*(>|%3E)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(<|%3C)([^o]*o)+bject.*(>|%3E)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(<|%3C).*iframe.*(>|%3E)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(<|%3C)([^i]*i)+frame.*(>|%3E)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/^.*(\(|\)|<|>|%3c|%3e).*/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(<|>|\'|%0A|%0D|%3C|%3E|%00)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(;|<|>|\'|"|\)|%0A|%0D|%22|%27|%3C|%3E|%00).*(\/\*|union|select|insert|drop|delete|cast|create|char|convert|alter|declare|script|set|md5|benchmark|encode)/i', $_SERVER['QUERY_STRING'] ) ) { // Blocked by the firewall $this->firewallBlock( '6G Firewall' ); } } } } //7G Firewall if ( (int) HMWP_Classes_Tools::getOption( 'hmwp_sqlinjection_level' ) == 3 ) { if ( isset( $_SERVER['HTTP_USER_AGENT'] ) && $_SERVER['HTTP_USER_AGENT'] <> '' ) { if ( preg_match( '/([a-z0-9]{2000,})/i', $_SERVER['HTTP_USER_AGENT'] ) || preg_match( '/(<|%0a|%0d|%27|%3c|%3e|%00|0x00)/i', $_SERVER['HTTP_USER_AGENT'] ) || preg_match( '/(base64_decode|bin\/bash|disconnect|eval|lwp-download|unserialize)/i', $_SERVER['HTTP_USER_AGENT'] ) ) { // Blocked by the firewall $this->firewallBlock( '7G Firewall' ); } } if ( isset( $_SERVER['QUERY_STRING'] ) && $_SERVER['QUERY_STRING'] <> '' ) { if ( preg_match( '/([a-z0-9]{2000,})/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(\/|%2f)(:|%3a)(\/|%2f)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(order(\s|%20)by(\s|%20)1--)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(\/|%2f)(\*|%2a)(\*|%2a)(\/|%2f)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(ckfinder|fckeditor|fullclick)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(`|<|>|\^|\|\\|0x00|%00|%0d%0a)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/((.*)header:|(.*)set-cookie:(.*)=)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(localhost|127(\.|%2e)0(\.|%2e)0(\.|%2e)1)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(cmd|command)(=|%3d)(chdir|mkdir)(.*)(x20)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(globals|mosconfig([a-z_]{1,22})|request)(=|\[)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(\/|%2f)((wp-)?config)((\.|%2e)inc)?((\.|%2e)php)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(thumbs?(_editor|open)?|tim(thumbs?)?)((\.|%2e)php)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(absolute_|base|root_)(dir|path)(=|%3d)(ftp|https?)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(s)?(ftp|inurl|php)(s)?(:(%2f|%u2215)(%2f|%u2215))/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(\.|20)(get|the)(_)(permalink|posts_page_url)(\(|%28)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/((boot|win)((\.|%2e)ini)|etc(\/|%2f)passwd|self(\/|%2f)environ)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(((\/|%2f){3,3})|((\.|%2e){3,3})|((\.|%2e){2,2})(\/|%2f|%u2215))/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(benchmark|char|exec|fopen|function|html)(.*)(\(|%28)(.*)(\)|%29)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(php)([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(e|%65|%45)(v|%76|%56)(a|%61|%31)(l|%6c|%4c)(.*)(\(|%28)(.*)(\)|%29)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(\/|%2f)(=|%3d|_mm|inurl(:|%3a)(\/|%2f)|(mod|path)(=|%3d)(\.|%2e))/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(<|%3c)(.*)(e|%65|%45)(m|%6d|%4d)(b|%62|%42)(e|%65|%45)(d|%64|%44)(.*)(>|%3e)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(<|%3c)(.*)(i|%69|%49)(f|%66|%46)(r|%72|%52)(a|%61|%41)(m|%6d|%4d)(e|%65|%45)(.*)(>|%3e)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(<|%3c)(.*)(o|%4f|%6f)(b|%62|%42)(j|%4a|%6a)(e|%65|%45)(c|%63|%43)(t|%74|%54)(.*)(>|%3e)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(<|%3c)(.*)(s|%73|%53)(c|%63|%43)(r|%72|%52)(i|%69|%49)(p|%70|%50)(t|%74|%54)(.*)(>|%3e)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(\+|%2b|%20)(d|%64|%44)(e|%65|%45)(l|%6c|%4c)(e|%65|%45)(t|%74|%54)(e|%65|%45)(\+|%2b|%20)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(\+|%2b|%20)(i|%69|%49)(n|%6e|%4e)(s|%73|%53)(e|%65|%45)(r|%72|%52)(t|%74|%54)(\+|%2b|%20)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(\+|%2b|%20)(s|%73|%53)(e|%65|%45)(l|%6c|%4c)(e|%65|%45)(c|%63|%43)(t|%74|%54)(\+|%2b|%20)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(\+|%2b|%20)(u|%75|%55)(p|%70|%50)(d|%64|%44)(a|%61|%41)(t|%74|%54)(e|%65|%45)(\+|%2b|%20)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(\\x00|(\"|%22|\'|%27)?0(\"|%22|\'|%27)?(=|%3d)(\"|%22|\'|%27)?0|cast(\(|%28)0x|or%201(=|%3d)1)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(g|%67|%47)(l|%6c|%4c)(o|%6f|%4f)(b|%62|%42)(a|%61|%41)(l|%6c|%4c)(s|%73|%53)(=|\[|%[0-9A-Z]{0,2})/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(_|%5f)(r|%72|%52)(e|%65|%45)(q|%71|%51)(u|%75|%55)(e|%65|%45)(s|%73|%53)(t|%74|%54)(=|\[|%[0-9A-Z]{2,})/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(j|%6a|%4a)(a|%61|%41)(v|%76|%56)(a|%61|%31)(s|%73|%53)(c|%63|%43)(r|%72|%52)(i|%69|%49)(p|%70|%50)(t|%74|%54)(:|%3a)(.*)(;|%3b|\)|%29)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(b|%62|%42)(a|%61|%41)(s|%73|%53)(e|%65|%45)(6|%36)(4|%34)(_|%5f)(e|%65|%45|d|%64|%44)(e|%65|%45|n|%6e|%4e)(c|%63|%43)(o|%6f|%4f)(d|%64|%44)(e|%65|%45)(.*)(\()(.*)(\))/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(@copy|\$_(files|get|post)|allow_url_(fopen|include)|auto_prepend_file|blexbot|browsersploit|(c99|php)shell|curl(_exec|test)|disable_functions?|document_root|elastix|encodeuricom|exploit|fclose|fgets|file_put_contents|fputs|fsbuff|fsockopen|gethostbyname|grablogin|hmei7|input_file|open_basedir|outfile|passthru|phpinfo|popen|proc_open|quickbrute|remoteview|root_path|safe_mode|shell_exec|site((.){0,2})copier|sux0r|trojan|user_func_array|wget|xertive)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(;|<|>|\'|\"|\)|%0a|%0d|%22|%27|%3c|%3e|%00)(.*)(\/\*|alter|base64|benchmark|cast|concat|convert|create|encode|declare|delete|drop|insert|md5|request|script|select|set|union|update)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/((\+|%2b)(concat|delete|get|select|union)(\+|%2b))/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(union)(.*)(select)(.*)(\(|%28)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(concat|eval)(.*)(\(|%28)/i', $_SERVER['QUERY_STRING'] ) ) { // Blocked by the firewall $this->firewallBlock( '7G Firewall' ); } } if ( isset( $_SERVER['REQUEST_URI'] ) && $_SERVER['REQUEST_URI'] <> '' ) { if ( preg_match( '/(\^|`|<|>|\\|\|)/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/([a-z0-9]{2000,})/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(\/)(\*|\"|\'|\.|,|&|&?)\/?$/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(\/)(vbulletin|boards|vbforum)(\/)?/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/\/((.*)header:|(.*)set-cookie:(.*)=)/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(\/)(ckfinder|fck|fckeditor|fullclick)/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(\.(s?ftp-?)config|(s?ftp-?)config\.)/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(\{0\}|\"?0\"?=\"?0|\(\/\(|\.\.\.|\+\+\+|\\\")/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(thumbs?(_editor|open)?|tim(thumbs?)?)(\.php)/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(\.|20)(get|the)(_)(permalink|posts_page_url)(\()/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(\/\/\/|\?\?|\/&&|\/\*(.*)\*\/|\/:\/|\\\\|0x00|%00|%0d%0a)/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(\/%7e)(root|ftp|bin|nobody|named|guest|logs|sshd)(\/)/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(\/)(etc|var)(\/)(hidden|secret|shadow|ninja|passwd|tmp)(\/)?$/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(s)?(ftp|http|inurl|php)(s)?(:(\/|%2f|%u2215)(\/|%2f|%u2215))/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(\/)(=|\$&?|&?(pws|rk)=0|_mm|_vti_|(=|\/|;|,)nt\.)/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(\.)(ds_store|htaccess|htpasswd|init?|mysql-select-db)(\/)?$/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(\/)(bin)(\/)(cc|chmod|chsh|cpp|echo|id|kill|mail|nasm|perl|ping|ps|python|tclsh)(\/)?$/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(\/)(::[0-9999]|%3a%3a[0-9999]|127\.0\.0\.1|localhost|makefile|pingserver|wwwroot)(\/)?/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(\(null\)|\{\$itemURL\}|cAsT\(0x|echo(.*)kae|etc\/passwd|eval\(|self\/environ|\+union\+all\+select)/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(\/)?j((\s)+)?a((\s)+)?v((\s)+)?a((\s)+)?s((\s)+)?c((\s)+)?r((\s)+)?i((\s)+)?p((\s)+)?t((\s)+)?(%3a|:)/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(\/)(awstats|(c99|php|web)shell|document_root|error_log|listinfo|muieblack|remoteview|site((.){0,2})copier|sqlpatch|sux0r)/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(\/)((php|web)?shell|crossdomain|fileditor|locus7|nstview|php(get|remoteview|writer)|r57|remview|sshphp|storm7|webadmin)(.*)(\.|\()/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(\/)(author-panel|class|database|(db|mysql)-?admin|filemanager|htdocs|httpdocs|https?|mailman|mailto|msoffice|_?php-my-admin(.*)|tmp|undefined|usage|var|vhosts|webmaster|www)(\/)/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(base64_(en|de)code|benchmark|child_terminate|curl_exec|e?chr|eval|function|fwrite|(f|p)open|html|leak|passthru|p?fsockopen|phpinfo|posix_(kill|mkfifo|setpgid|setsid|setuid)|proc_(close|get_status|nice|open|terminate)|(shell_)?exec|system)(.*)(\()(.*)(\))/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(\/)(^$|00.temp00|0day|3index|3xp|70bex?|admin_events|bkht|(php|web)?shell|c99|config(\.)?bak|curltest|db|dompdf|filenetworks|hmei7|index\.php\/index\.php\/index|jahat|kcrew|keywordspy|libsoft|marg|mobiquo|mysql|nessus|php-?info|racrew|sql|vuln|(web-?|wp-)?(conf\b|config(uration)?)|xertive)(\.php)/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(\.)(ab4|ace|afm|ashx|aspx?|bash|ba?k?|bin|bz2|cfg|cfml?|conf\b|config|ctl|dat|db|dist|eml|engine|env|et2|fec|fla|hg|inc|inv|jsp|lqd|make|mbf|mdb|mmw|mny|module|old|one|orig|out|passwd|pdbprofile|psd|pst|ptdb|pwd|py|qbb|qdf|rdf|save|sdb|sh|soa|svn|swl|swo|swp|stx|tax|tgz|theme|tls|tmd|wow|xtmpl|ya?ml)$/i', $_SERVER['REQUEST_URI'] ) ) { // Blocked by the firewall $this->firewallBlock( '7G Firewall' ); } } } //8G Firewall if ( (int) HMWP_Classes_Tools::getOption( 'hmwp_sqlinjection_level' ) == 4 ) { if ( isset( $_SERVER['HTTP_REFERER'] ) && $_SERVER['HTTP_REFERER'] <> '' ) { if ( preg_match( '/(order(\s|%20)by(\s|%20)1--)/i', $_SERVER['HTTP_REFERER'] ) || preg_match( '/(<|%0a|%0d|%27|%3c|%3e|%00|0x00)/i', $_SERVER['HTTP_REFERER'] ) || preg_match( '/(@unlink|assert\(|print_r\(|x00|xbshell)/i', $_SERVER['HTTP_REFERER'] ) || preg_match( '/(100dollars|blue\spill|cocaine|ejaculat|erectile|erections|hoodia|huronriveracres|impotence)/i', $_SERVER['HTTP_REFERER'] ) || preg_match( '/(pornhelm|pro[sz]ac|sandyauer|semalt\.com|social-buttions|todaperfeita|tramadol|troyhamby|ultram|unicauca|valium|viagra|vicodin|xanax|ypxaieo)/i', $_SERVER['HTTP_REFERER'] ) ) { // Blocked by the firewall $this->firewallBlock( '8G Firewall' ); } } if ( isset( $_SERVER['HTTP_USER_AGENT'] ) && $_SERVER['HTTP_USER_AGENT'] <> '' ) { if ( preg_match( '/([a-z0-9]{2000,})/i', $_SERVER['HTTP_USER_AGENT'] ) || preg_match( '/(<|%0a|%0d|%27|%3c|%3e|%00|0x00)/i', $_SERVER['HTTP_USER_AGENT'] ) || preg_match( '/(base64_decode|bin\/bash|disconnect|eval|lwp-download|unserialize)/i', $_SERVER['HTTP_USER_AGENT'] ) || preg_match( '/(acapbot|acoonbot|alexibot|asterias|attackbot|awario|backdor|becomebot|binlar|blackwidow|blekkobot|blex|blowfish|bullseye|bunnys|butterfly|careerbot|casper)/i', $_SERVER['HTTP_USER_AGENT'] ) || preg_match( '/(checkpriv|cheesebot|cherrypick|chinaclaw|choppy|clshttp|cmsworld|copernic|copyrightcheck|cosmos|crescent|datacha|diavol|discobot|dittospyder)/i', $_SERVER['HTTP_USER_AGENT'] ) || preg_match( '/(dotbot|dotnetdotcom|dumbot|econtext|emailcollector|emailsiphon|emailwolf|eolasbot|eventures|extract|eyenetie|feedfinder|flaming|flashget|flicky|foobot|fuck)/i', $_SERVER['HTTP_USER_AGENT'] ) || preg_match( '/(g00g1e|getright|gigabot|go-ahead-got|gozilla|grabnet|grafula|harvest|heritrix|httracks?|icarus6j|jetbot|jetcar|jikespider|kmccrew|leechftp|libweb|liebaofast)/i', $_SERVER['HTTP_USER_AGENT'] ) || preg_match( '/(linkscan|linkwalker|loader|lwp-download|majestic|masscan|miner|mechanize|mj12bot|morfeus|moveoverbot|netmechanic|netspider|nicerspro|nikto|ninja|nominet|nutch)/i', $_SERVER['HTTP_USER_AGENT'] ) || preg_match( '/(octopus|pagegrabber|petalbot|planetwork|postrank|proximic|purebot|queryn|queryseeker|radian6|radiation|realdownload|remoteview|rogerbot|scan|scooter|seekerspid)/i', $_SERVER['HTTP_USER_AGENT'] ) || preg_match( '/(semalt|siclab|sindice|sistrix|sitebot|siteexplorer|sitesnagger|skygrid|smartdownload|snoopy|sosospider|spankbot|spbot|sqlmap|stackrambler|stripper|sucker|surftbot)/i', $_SERVER['HTTP_USER_AGENT'] ) || preg_match( '/(sux0r|suzukacz|suzuran|takeout|teleport|telesoft|true_robots|turingos|turnit|vampire|vikspider|voideye|webleacher|webreaper|webstripper|webvac|webviewer|webwhacker)/i', $_SERVER['HTTP_USER_AGENT'] ) || preg_match( '/(winhttp|wwwoffle|woxbot|xaldon|xxxyy|yamanalab|yioopbot|youda|zeus|zmeu|zune|zyborg|squirrly)/i', $_SERVER['HTTP_USER_AGENT'] ) ) { // Blocked by the firewall $this->firewallBlock( '8G Firewall' ); } } if ( isset( $_SERVER['QUERY_STRING'] ) && $_SERVER['QUERY_STRING'] <> '' ) { if ( preg_match( '/^(%2d|-)[^=]+$/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/([a-z0-9]{4000,})/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(\/|%2f)(:|%3a)(\/|%2f)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(etc\/(hosts|motd|shadow))/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(order(\s|%20)by(\s|%20)1--)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(\/|%2f)(\*|%2a)(\*|%2a)(\/|%2f)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(`|<|>|\^|\|\\|0x00|%00|%0d%0a)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(f?ckfinder|f?ckeditor|fullclick)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/((.*)header:|(.*)set-cookie:(.*)=)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(localhost|127(\.|%2e)0(\.|%2e)0(\.|%2e)1)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(cmd|command)(=|%3d)(chdir|mkdir)(.*)(x20)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(globals|mosconfig([a-z_]{1,22})|request)(=|\[)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(\/|%2f)((wp-)?config)((\.|%2e)inc)?((\.|%2e)php)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(thumbs?(_editor|open)?|tim(thumbs?)?)((\.|%2e)php)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(absolute_|base|root_)(dir|path)(=|%3d)(ftp|https?)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(s)?(ftp|inurl|php)(s)?(:(\/|%2f|%u2215)(\/|%2f|%u2215))/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(\.|20)(get|the)(_|%5f)(permalink|posts_page_url)(\(|%28)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/((boot|win)((\.|%2e)ini)|etc(\/|%2f)passwd|self(\/|%2f)environ)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(((\/|%2f){3,3})|((\.|%2e){3,3})|((\.|%2e){2,2})(\/|%2f|%u2215))/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(benchmark|char|exec|fopen|function|html)(.*)(\(|%28)(.*)(\)|%29)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(php)([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(e|%65|%45)(v|%76|%56)(a|%61|%31)(l|%6c|%4c)(.*)(\(|%28)(.*)(\)|%29)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(\/|%2f)(=|%3d|\$&|_mm|inurl(:|%3a)(\/|%2f)|(mod|path)(=|%3d)(\.|%2e))/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(<|%3c)(.*)(e|%65|%45)(m|%6d|%4d)(b|%62|%42)(e|%65|%45)(d|%64|%44)(.*)(>|%3e)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(<|%3c)(.*)(i|%69|%49)(f|%66|%46)(r|%72|%52)(a|%61|%41)(m|%6d|%4d)(e|%65|%45)(.*)(>|%3e)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(<|%3c)(.*)(o|%4f|%6f)(b|%62|%42)(j|%4a|%6a)(e|%65|%45)(c|%63|%43)(t|%74|%54)(.*)(>|%3e)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(<|%3c)(.*)(s|%73|%53)(c|%63|%43)(r|%72|%52)(i|%69|%49)(p|%70|%50)(t|%74|%54)(.*)(>|%3e)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(\+|%2b|%20)(d|%64|%44)(e|%65|%45)(l|%6c|%4c)(e|%65|%45)(t|%74|%54)(e|%65|%45)(\+|%2b|%20)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(\+|%2b|%20)(i|%69|%49)(n|%6e|%4e)(s|%73|%53)(e|%65|%45)(r|%72|%52)(t|%74|%54)(\+|%2b|%20)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(\+|%2b|%20)(s|%73|%53)(e|%65|%45)(l|%6c|%4c)(e|%65|%45)(c|%63|%43)(t|%74|%54)(\+|%2b|%20)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(\+|%2b|%20)(u|%75|%55)(p|%70|%50)(d|%64|%44)(a|%61|%41)(t|%74|%54)(e|%65|%45)(\+|%2b|%20)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(\\x00|(\"|%22|\'|%27)?0(\"|%22|\'|%27)?(=|%3d)(\"|%22|\'|%27)?0|cast(\(|%28)0x|or%201(=|%3d)1)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(g|%67|%47)(l|%6c|%4c)(o|%6f|%4f)(b|%62|%42)(a|%61|%41)(l|%6c|%4c)(s|%73|%53)(=|\[|%[0-9A-Z]{0,2})/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(_|%5f)(r|%72|%52)(e|%65|%45)(q|%71|%51)(u|%75|%55)(e|%65|%45)(s|%73|%53)(t|%74|%54)(=|\[|%[0-9A-Z]{2,})/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(j|%6a|%4a)(a|%61|%41)(v|%76|%56)(a|%61|%31)(s|%73|%53)(c|%63|%43)(r|%72|%52)(i|%69|%49)(p|%70|%50)(t|%74|%54)(:|%3a)(.*)(;|%3b|\)|%29)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(b|%62|%42)(a|%61|%41)(s|%73|%53)(e|%65|%45)(6|%36)(4|%34)(_|%5f)(e|%65|%45|d|%64|%44)(e|%65|%45|n|%6e|%4e)(c|%63|%43)(o|%6f|%4f)(d|%64|%44)(e|%65|%45)(.*)(\()(.*)(\))/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(@copy|\$_(files|get|post)|allow_url_(fopen|include)|auto_prepend_file|blexbot|browsersploit|call_user_func_array|(php|web)shell|curl(_exec|test)|disable_functions?|document_root)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(elastix|encodeuricom|exploit|fclose|fgets|file_put_contents|fputs|fsbuff|fsockopen|gethostbyname|grablogin|hmei7|hubs_post-cta|input_file|invokefunction|(\b)load_file|open_basedir|outfile|p3dlite)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(pass(=|%3d)shell|passthru|phpinfo|phpshells|popen|proc_open|quickbrute|remoteview|root_path|safe_mode|shell_exec|site((.){0,2})copier|sp_executesql|sux0r|trojan|udtudt|user_func_array|wget|wp_insert_user|xertive)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(;|<|>|\'|\"|\)|%0a|%0d|%22|%27|%3c|%3e|%00)(.*)(\/\*|alter|base64|benchmark|cast|concat|convert|create|encode|declare|delay|delete|drop|hex|insert|load|md5|null|replace|request|script|select|set|sleep|truncate|unhex|update)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/((\+|%2b)(concat|delete|get|select|union)(\+|%2b))/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(union)(.*)(select)(.*)(\(|%28)/i', $_SERVER['QUERY_STRING'] ) || preg_match( '/(concat|eval)(.*)(\(|%28)/i', $_SERVER['QUERY_STRING'] ) ) { // Blocked by the firewall $this->firewallBlock( '8G Firewall' ); } } if ( isset( $_SERVER['REQUEST_URI'] ) && $_SERVER['REQUEST_URI'] <> '' ) { if ( preg_match( '/(,,,)/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(-------)/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(\^|`|<|>|\\|\|)/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/([a-z0-9]{2000,})/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(=?\(\'|%27\)\/?)(\.)/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(\/)(\*|\"|\'|\.|,|&|&?)(\/)?$/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(\.)(php)(\()?([0-9]+)(\))?(\/)?$/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(\/)((.*)header:|(.*)set-cookie:(.*)=)/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(\.(s?ftp-?)config|(s?ftp-?)config\.)/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(\/)(f?ckfinder|fck\/|f?ckeditor|fullclick)/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(\/)((force-)?download|framework\/main)(\.php)/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(\{0\}|\"?0\"?=\"?0|\(\/\(|\.\.\.|\+\+\+|\\\")/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(\/)(vbull(etin)?|boards|vbforum|vbweb|webvb)(\/)?/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(\.|20)(get|the)(_)(permalink|posts_page_url)(\()/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(\/\/\/|\?\?|\/&&|\/\*(.*)\*\/|\/:\/|\\\\|0x00|%00|%0d%0a)/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(\/)(cgi_?)?alfa(_?cgiapi|_?data|_?v[0-9]+)?(\.php)/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(thumbs?(_editor|open)?|tim(thumbs?)?)((\.|%2e)php)/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(\/)((boot)?_?admin(er|istrator|s)(_events)?)(\.php)/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(\/%7e)(root|ftp|bin|nobody|named|guest|logs|sshd)\//i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(\/)(\.?mad|alpha|c99|web)?sh(3|e)ll([0-9]+|\w)(\.php)/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(\/)(admin-?|file-?)(upload)(bg|_?file|ify|svu|ye)?(\.php)/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(\/)(etc|var)(\/)(hidden|secret|shadow|ninja|passwd|tmp)(\/)?$/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(s)?(ftp|http|inurl|php)(s)?(:(\/|%2f|%u2215)(\/|%2f|%u2215))/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(\/)(=|\$&?|&?(pws|rk)=0|_mm|_vti_|(=|\/|;|,)nt\.)/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(\.)(ds_store|htaccess|htpasswd|init?|mysql-select-db)(\/)?$/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(\/)(bin)(\/)(cc|chmod|chsh|cpp|echo|id|kill|mail|nasm|perl|ping|ps|python|tclsh)(\/)?$/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(\/)(::[0-9999]|%3a%3a[0-9999]|127\.0\.0\.1|ccx|localhost|makefile|pingserver|wwwroot)(\/)?/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/^(\/)(123|backup|bak|beta|bkp|default|demo|dev(new|old)?|home|new-?site|null|old|old_files|old1)(\/)?$/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(\/)?j((\s)+)?a((\s)+)?v((\s)+)?a((\s)+)?s((\s)+)?c((\s)+)?r((\s)+)?i((\s)+)?p((\s)+)?t((\s)+)?(%3a|:)/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/^(\/)(old-?site(back)?|old(web)?site(here)?|sites?|staging|undefined)(\/)?$/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(\/)(filemanager|htdocs|httpdocs|https?|mailman|mailto|msoffice|undefined|usage|var|vhosts|webmaster|www)(\/)/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(\(null\)|\{\$itemURL\}|cast\(0x|echo(.*)kae|etc\/passwd|eval\(|null(.*)null|open_basedir|self\/environ|\+union\+all\+select)/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(\/)(db-?|j-?|my(sql)?-?|setup-?|web-?|wp-?)?(admin-?)?(setup-?)?(conf\b|conf(ig)?)(uration)?(\.?bak|\.inc)?(\.inc|\.old|\.php|\.txt)/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(\/)((.*)crlf-?injection|(.*)xss-?protection|__(inc|jsc)|administrator|author-panel|database|downloader|(db|mysql)-?admin)(\/)/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(\/)(haders|head|hello|helpear|incahe|includes?|indo(sec)?|infos?|install|ioptimizes?|jmail|js|king|kiss|kodox|kro|legion|libsoft)(\.php)/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(\/)(awstats|document_root|dologin\.action|error.log|extension\/ext|htaccess\.|lib\/php|listinfo|phpunit\/php|remoteview|server\/php|www\.root\.)/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(base64_(en|de)code|benchmark|curl_exec|e?chr|eval|function|fwrite|(f|p)open|html|leak|passthru|p?fsockopen|phpinfo)(.*)(\(|%28)(.*)(\)|%29)/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(posix_(kill|mkfifo|setpgid|setsid|setuid)|(child|proc)_(close|get_status|nice|open|terminate)|(shell_)?exec|system)(.*)(\(|%28)(.*)(\)|%29)/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(\/)((c99|php|web)?shell|crossdomain|fileditor|locus7|nstview|php(get|remoteview|writer)|r57|remview|sshphp|storm7|webadmin)(.*)(\.|%2e|\(|%28)/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(\/)((wp-)((201\d|202\d|[0-9]{2})|ad|admin(fx|rss|setup)|booking|confirm|crons|data|file|mail|one|plugins?|readindex|reset|setups?|story))(\.php)/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(\/)(^$|-|\!|\w|\.(.*)|100|123|([^iI])?ndex|index\.php\/index|3xp|777|7yn|90sec|99|active|aill|ajs\.delivery|al277|alexuse?|ali|allwrite)(\.php)/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(\/)(analyser|apache|apikey|apismtp|authenticat(e|ing)|autoload_classmap|backup(_index)?|bakup|bkht|black|bogel|bookmark|bypass|cachee?)(\.php)/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(\/)(clean|cm(d|s)|con|connector\.minimal|contexmini|contral|curl(test)?|data(base)?|db|db-cache|db-safe-mode|defau11|defau1t|dompdf|dst)(\.php)/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(\/)(elements|emails?|error.log|ecscache|edit-form|eval-stdin|export|evil|fbrrchive|filemga|filenetworks?|f0x|gank(\.php)?|gass|gel|guide)(\.php)/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(\/)(logo_img|lufix|mage|marg|mass|mide|moon|mssqli|mybak|myshe|mysql|mytag_js?|nasgor|newfile|nf_?tracking|nginx|ngoi|ohayo|old-?index)(\.php)/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(\/)(olux|owl|pekok|petx|php-?info|phpping|popup-pomo|priv|r3x|radio|rahma|randominit|readindex|readmy|reads|repair-?bak|root)(\.php)/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(\/)(router|savepng|semayan|shell|shootme|sky|socket(c|i|iasrgasf)ontrol|sql(bak|_?dump)?|support|sym403|sys|system_log|test|tmp-?(uploads)?)(\.php)/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(\/)(traffic-advice|u2p|udd|ukauka|up__uzegp|up14|upxx?|vega|vip|vu(ln)?(\w)?|webroot|weki|wikindex|wp_logns?|wp_wrong_datlib)(\.php)/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(\/)((wp-?)?install(ation)?|wp(3|4|5|6)|wpfootes|wpzip|ws0|wsdl|wso(\w)?|www|(uploads|wp-admin)?xleet(-shell)?|xmlsrpc|xup|xxu|xxx|zibi|zipy)(\.php)/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(bkv74|cachedsimilar|core-stab|crgrvnkb|ctivrc|deadcode|deathshop|dkiz|e7xue|eqxafaj90zir|exploits|ffmkpcal|filellli7|(fox|sid)wso|gel4y|goog1es|gvqqpinc)/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(@md5|00.temp00|0byte|0d4y|0day|0xor|wso1337|1h6j5|3xp|40dd1d|4price|70bex?|a57bze893|abbrevsprl|abruzi|adminer|aqbmkwwx|archivarix|backdoor|beez5|bgvzc29)/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(handler_to_code|hax(0|o)r|hmei7|hnap1|ibqyiove|icxbsx|indoxploi|jahat|jijle3|kcrew|keywordspy|laobiao|lock360|longdog|marijuan|mod_(aratic|ariimag))/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(mobiquo|muiebl|nessus|osbxamip|phpunit|priv8|qcmpecgy|r3vn330|racrew|raiz0|reportserver|r00t|respectmus|rom2823|roseleif|sh3ll|site((.){0,2})copier|sqlpatch|sux0r)/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(sym403|telerik|uddatasql|utchiha|visualfrontend|w0rm|wangdafa|wpyii2|wsoyanzo|x5cv|xattack|xbaner|xertive|xiaolei|xltavrat|xorz|xsamxad|xsvip|xxxs?s?|zabbix|zebda)/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(\.)(ab4|ace|afm|alfa|as(h|m)x?|aspx?|aws|axd|bash|ba?k?|bat|bin|bz2|cfg|cfml?|cms|conf\b|config|ctl|dat|db|dist|dll|eml|eng(ine)?|env|et2|fec|fla|git(ignore)?)$/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(\.)(hg|idea|inc|index|ini|inv|jar|jspa?|lib|local|log|lqd|make|mbf|mdb|mmw|mny|mod(ule)?|msi|old|one|orig|out|passwd|pdb|php\.(php|suspect(ed)?)|php([^\/])|phtml?|pl|profiles?)$/i', $_SERVER['REQUEST_URI'] ) || preg_match( '/(\.)(pst|ptdb|production|pwd|py|qbb|qdf|rdf|remote|save|sdb|sh|soa|svn|swf|swl|swo|swp|stx|tax|tgz?|theme|tls|tmb|tmd|wok|wow|xsd|xtmpl|xz|ya?ml|za|zlib)$/i', $_SERVER['REQUEST_URI'] ) ) { // Blocked by the firewall $this->firewallBlock( '8G Firewall' ); } } } } // Check and allow search engine bots if ( $this->isSearchEngineBot() ) { return; } // If GeoIP blocking is activated if ( HMWP_Classes_Tools::getOption( 'hmwp_geoblock' ) ) { // Get caller server IPs $server = $this->getServerVariableIPs(); if ( ! empty( $server ) ) { // For each IP found on the caller foreach ( $server as $ip ) { // Get the list of blocked countries $blocked_countries = HMWP_Classes_Tools::getOption( 'hmwp_geoblock_countries' ); if ( ! empty( $blocked_countries ) ) { // Unpack blocked countries $blocked_countries = json_decode( $blocked_countries, true ); // Remove empty data $blocked_countries = array_filter( $blocked_countries ); } if ( ! empty( $blocked_countries ) ) { /** @var HMWP_Models_Geoip_GeoLocator $database */ $geo_locator = HMWP_Classes_ObjController::getClass( 'HMWP_Models_Geoip_GeoLocator' )->getInstance(); $country = $geo_locator->getCountryCode( $ip ); // Check if the current country is in the blocked list if ( in_array( $country, $blocked_countries ) ) { // Check the GeoBlock URLs $geoblock_urls = HMWP_Classes_Tools::getOption( 'hmwp_geoblock_urls' ); if ( ! empty( $geoblock_urls ) ) { // Convert to array and remove empty fields $geoblock_urls = json_decode( $geoblock_urls, true ); //remove empty fields $geoblock_urls = array_filter( $geoblock_urls ); } if ( ! empty( $geoblock_urls ) ) { // Check the URI when paths are set for country blocking if ( isset( $_SERVER["REQUEST_URI"] ) && $_SERVER["REQUEST_URI"] <> '' ) { $url = untrailingslashit( strtok( $_SERVER["REQUEST_URI"], '?' ) ); foreach ( $geoblock_urls as $path ) { if ( HMWP_Classes_Tools::searchInString( $path, array( $url ) ) ) { // Blocked by the firewall $this->firewallBlock( 'Geo Security' ); } } } } else { // Blocked by the firewall when geoblock URLs are not set $this->firewallBlock( 'Geo Security' ); } } } } } } // If user_agent blocking is activated if ( $banlist = HMWP_Classes_Tools::getOption( 'banlist_user_agent' ) ) { if ( ! empty( $banlist ) ) { // Unpack and filter banlist $banlist = json_decode( $banlist, true ); // Remove empty data $banlist = array_filter( $banlist ); } if ( ! empty( $banlist ) ) { if ( isset( $_SERVER['HTTP_USER_AGENT'] ) && $_SERVER['HTTP_USER_AGENT'] <> '' ) { // Set the user agent $user_agent = $_SERVER['HTTP_USER_AGENT']; // Check if the current item is in the blocked list foreach ( $banlist as $item ) { if($item <> '') { if ( stripos( $user_agent, $item ) !== false ) { // Blocked by the firewall $this->firewallBlock( 'Geo Security' ); } } } } } } // If referrer blocking is activated if ( $banlist = HMWP_Classes_Tools::getOption( 'banlist_referrer' ) ) { if ( ! empty( $banlist ) ) { // Unpack and filter banlist $banlist = json_decode( $banlist, true ); // Remove empty data $banlist = array_filter( $banlist ); } if ( ! empty( $banlist ) ) { if ( isset( $_SERVER['HTTP_REFERER'] ) && $_SERVER['HTTP_REFERER'] <> '' ) { // Set the referrer $referrer = $_SERVER['HTTP_REFERER']; // Check if the current item is in the blocked list foreach ( $banlist as $item ) { if($item <> '') { if ( stripos( $referrer, $item ) !== false ) { // Blocked by the firewall $this->firewallBlock( 'Geo Security' ); } } } } } } // If hostname blocking is activated if ( $banlist = HMWP_Classes_Tools::getOption( 'banlist_hostname' ) ) { if ( ! empty( $banlist ) ) { // Unpack and filter banlist $banlist = json_decode( $banlist, true ); // Remove empty data $banlist = array_filter( $banlist ); } if ( ! empty( $banlist ) ) { // Get caller server IPs $server = $this->getServerVariableIPs(); if ( ! empty( $server ) ) { // For each IP found on the caller foreach ( $server as $ip ) { // Get the hostname from the IP if possible $hostname = $this->getHostname( $ip ); // Check if the current item is in the blocked list foreach ( $banlist as $item ) { if($item <> '' && $hostname <> ''){ if ( stripos( $hostname, $item ) !== false ) { // Blocked by the firewall $this->firewallBlock( 'Geo Security' ); } } } } } } } } /** * Check if there are whitelisted IPs for accessing the hidden paths * * @return void * @throws Exception */ public function checkWhitelistIPs() { if ( ! HMWP_Classes_Tools::getValue( 'hmwp_preview' ) && isset( $_SERVER['REMOTE_ADDR'] ) && strpos( $_SERVER['REMOTE_ADDR'], '.' ) !== false ) { // Get caller server IPs $server = $this->getServerVariableIPs(); if ( isset( $server['REMOTE_ADDR'] ) ) { // Get only the remote address for whitelist $ip = $server['REMOTE_ADDR']; // If the IP is whitelisted, apply the whitelist level of security if ( HMWP_Classes_Tools::isWhitelistedIP( $ip ) ) { $this->whitelistLevel( HMWP_Classes_Tools::getOption( 'whitelist_level' ) ); } } } } /** * Check if there are whitelisted paths for the current path * * @return void * @throws Exception */ public function checkWhitelistPaths() { if ( isset( $_SERVER["REQUEST_URI"] ) && $_SERVER["REQUEST_URI"] <> '' ) { $url = untrailingslashit( strtok( $_SERVER["REQUEST_URI"], '?' ) ); // Check the whitelist URLs $whitelist_urls = HMWP_Classes_Tools::getOption( 'whitelist_urls' ); if ( ! empty( $whitelist_urls ) ) { // Unpack and filter whitelist URLs $whitelist_urls = json_decode( $whitelist_urls, true ); // Remove empty data $whitelist_urls = array_filter( $whitelist_urls ); } if ( ! empty( $whitelist_urls ) ) { foreach ( $whitelist_urls as $path ) { if ( strpos( $path, ',' ) ) { $paths = explode( ',', $path ); foreach ( $paths as $spath ) { if ( HMWP_Classes_Tools::searchInString( $spath, array( $url ) ) ) { // Disable brute force reCaptcha on whitelist paths add_filter( 'hmwp_option_brute_use_math', '__return_false' ); add_filter( 'hmwp_option_brute_use_captcha', '__return_false' ); add_filter( 'hmwp_option_brute_use_captcha_v3', '__return_false' ); add_filter( 'hmwp_preauth_check', '__return_false' ); // Apply whitelist level of security $this->whitelistLevel( HMWP_Classes_Tools::getOption( 'whitelist_level' ) ); } } } else { if ( HMWP_Classes_Tools::searchInString( $path, array( $url ) ) ) { // Disable brute force reCaptcha on whitelist paths add_filter( 'hmwp_option_brute_use_math', '__return_false' ); add_filter( 'hmwp_option_brute_use_captcha', '__return_false' ); add_filter( 'hmwp_option_brute_use_captcha_v3', '__return_false' ); add_filter( 'hmwp_preauth_check', '__return_false' ); // Apply whitelist level of security $this->whitelistLevel( HMWP_Classes_Tools::getOption( 'whitelist_level' ) ); } } } } } } /** * Check if the IP is in blacklist * Include also the theme detectors * * @return void * @throws Exception */ public function checkBlacklistIPs() { if ( ! HMWP_Classes_Tools::getValue( 'hmwp_preview' ) ) { // Get caller server IPs $server = $this->getServerVariableIPs(); if ( ! empty( $server ) ) { // For each IP found on the caller foreach ( $server as $ip ) { // If the IP is not whitelisted and is blacklisted, block it if ( ! HMWP_Classes_Tools::isWhitelistedIP( $ip ) && HMWP_Classes_Tools::isBlacklistedIP( $ip ) ) { HMWP_Classes_ObjController::getClass( 'HMWP_Models_Brute' )->brute_kill_login(); break; } } } } } /** * Whitelist features based on whitelist level * * @param $level * * @return void * @throws Exception */ private function whitelistLevel( $level ) { // If whitelist_level == 0, stop hiding URLs if ( $level == 0 ) { add_filter( 'hmwp_process_hide_urls', '__return_false' ); } // If whitelist_level > 0, stop hiding URLs and find/replace process if ( $level > 0 ) { add_filter( 'hmwp_process_hide_urls', '__return_false' ); add_filter( 'hmwp_process_find_replace', '__return_false' ); } // If whitelist_level > 1, stop further processes if ( $level > 1 ) { add_filter( 'hmwp_process_init', '__return_false' ); add_filter( 'hmwp_process_buffer', '__return_false' ); add_filter( 'hmwp_process_hide_disable', '__return_false' ); } } /** * Get validated IPs from caller server * * @return array */ public function getServerVariableIPs() { $variables = array( 'REMOTE_ADDR', 'HTTP_CF_CONNECTING_IP', 'HTTP_X_REAL_IP', 'HTTP_X_FORWARDED_FOR' ); $ips = array(); foreach ( $variables as $variable ) { $ip = isset( $_SERVER[ $variable ] ) ? $_SERVER[ $variable ] : false; if ( $ip && strpos( $ip, ',' ) !== false ) { $ip = preg_replace( '/[\s,]/', '', explode( ',', $ip ) ); if ( $clean_ip = $this->getCleanIp( $ip ) ) { $ips[ $variable ] = $clean_ip; } } else { if ( $clean_ip = $this->getCleanIp( $ip ) ) { $ips[ $variable ] = $clean_ip; } } } return $ips; } /** * Return the verified IP * * @param $ip * * @return array|bool|mixed|string|string[]|null */ public function getCleanIp( $ip ) { if ( ! $this->isValidIP( $ip ) ) { $ip = preg_replace( '/:\d+$/', '', $ip ); } if ( $this->isValidIP( $ip ) ) { if ( ! $this->isIPv6MappedIPv4( $ip ) ) { $ip = $this->inetNtop( $this->inetPton( $ip ) ); } return $ip; } return false; } /** * @param $ip * * @return bool */ private function isIPv6MappedIPv4( $ip ) { return preg_match( '/^(?:\:(?:\:0{1,4}){0,4}\:|(?:0{1,4}\:){5})ffff\:\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/i', $ip ) > 0; } private function inetNtop( $ip ) { if ( strlen( $ip ) == 16 && substr( $ip, 0, 12 ) == "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" ) { $ip = substr( $ip, 12, 4 ); } return self::isIPv6Support() ? @inet_ntop( $ip ) : $this->_inetNtop( $ip ); } private function _inetNtop( $ip ) { // IPv4 if ( strlen( $ip ) === 4 ) { return ord( $ip[0] ) . '.' . ord( $ip[1] ) . '.' . ord( $ip[2] ) . '.' . ord( $ip[3] ); } // IPv6 if ( strlen( $ip ) === 16 ) { // IPv4 mapped IPv6 if ( substr( $ip, 0, 12 ) == "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" ) { return "::ffff:" . ord( $ip[12] ) . '.' . ord( $ip[13] ) . '.' . ord( $ip[14] ) . '.' . ord( $ip[15] ); } $hex = bin2hex( $ip ); $groups = str_split( $hex, 4 ); $in_collapse = false; $done_collapse = false; foreach ( $groups as $index => $group ) { if ( $group == '0000' && ! $done_collapse ) { if ( $in_collapse ) { $groups[ $index ] = ''; continue; } $groups[ $index ] = ':'; $in_collapse = true; continue; } if ( $in_collapse ) { $done_collapse = true; } $groups[ $index ] = ltrim( $groups[ $index ], '0' ); if ( strlen( $groups[ $index ] ) === 0 ) { $groups[ $index ] = '0'; } } $ip = join( ':', array_filter( $groups, 'strlen' ) ); $ip = str_replace( ':::', '::', $ip ); return $ip == ':' ? '::' : $ip; } return false; } /** * Return the packed binary string of an IPv4 or IPv6 address. * * @param string $ip * * @return string */ private function inetPton( $ip ) { $pton = str_pad( self::isIPv6Support() ? @inet_pton( $ip ) : $this->_inetPton( $ip ), 16, "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00", STR_PAD_LEFT ); return $pton; } private function _inetPton( $ip ) { // IPv4 if ( preg_match( '/^(?:\d{1,3}(?:\.|$)){4}/', $ip ) ) { $octets = explode( '.', $ip ); $bin = chr( $octets[0] ) . chr( $octets[1] ) . chr( $octets[2] ) . chr( $octets[3] ); return $bin; } // IPv6 if ( preg_match( '/^((?:[\da-f]{1,4}(?::|)){0,8})(::)?((?:[\da-f]{1,4}(?::|)){0,8})$/i', $ip ) ) { if ( $ip === '::' ) { return "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"; } $colon_count = substr_count( $ip, ':' ); $dbl_colon_pos = strpos( $ip, '::' ); if ( $dbl_colon_pos !== false ) { $ip = str_replace( '::', str_repeat( ':0000', ( ( $dbl_colon_pos === 0 || $dbl_colon_pos === strlen( $ip ) - 2 ) ? 9 : 8 ) - $colon_count ) . ':', $ip ); $ip = trim( $ip, ':' ); } $ip_groups = explode( ':', $ip ); $ipv6_bin = ''; foreach ( $ip_groups as $ip_group ) { $ipv6_bin .= pack( 'H*', str_pad( $ip_group, 4, '0', STR_PAD_LEFT ) ); } return strlen( $ipv6_bin ) === 16 ? $ipv6_bin : false; } // IPv4 mapped IPv6 if ( preg_match( '/^(?:\:(?:\:0{1,4}){0,4}\:|(?:0{1,4}\:){5})ffff\:(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})$/i', $ip, $matches ) ) { $octets = explode( '.', $matches[1] ); return "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" . chr( $octets[0] ) . chr( $octets[1] ) . chr( $octets[2] ) . chr( $octets[3] ); } return false; } /** * Verify PHP was compiled with IPv6 support. * * @return bool */ private function isIPv6Support() { return defined( 'AF_INET6' ); } /** * Check and validate IP * * @param $ip * * @return bool */ private function isValidIP( $ip ) { return filter_var( $ip, FILTER_VALIDATE_IP ) !== false; } /** * Get Hostname from IP * * @param $ip * * @return array|false|mixed|string */ private function getHostname( $ip ) { $host = false; // This function works for IPv4 or IPv6 if ( function_exists( 'gethostbyaddr' ) ) { $host = @gethostbyaddr( $ip ); } if ( ! $host ) { $ptr = false; if ( filter_var( $ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4 ) !== false ) { $ptr = implode( ".", array_reverse( explode( ".", $ip ) ) ) . ".in-addr.arpa"; } else if ( filter_var( $ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6 ) !== false ) { $ptr = implode( ".", array_reverse( str_split( bin2hex( $ip ) ) ) ) . ".ip6.arpa"; } if ( $ptr && function_exists( 'dns_get_record' ) ) { $host = @dns_get_record( $ptr, DNS_PTR ); if ( $host ) { $host = $host[0]['target']; } } } return $host; } /** * Check if google bot * * @return bool */ public static function isSearchEngineBot() { if ( isset( $_SERVER['HTTP_USER_AGENT'] ) && $_SERVER['HTTP_USER_AGENT'] <> '' ) { $googleUserAgent = array( '@^Mozilla/5.0 (.*Google Keyword Tool.*)$@', '@^Mozilla/5.0 (.*Feedfetcher-Google.*)$@', '@^Feedfetcher-Google-iGoogleGadgets.*$@', '@^searchbot admin\@google.com$@', '@^Google-Site-Verification.*$@', '@^Google OpenSocial agent.*$@', '@^.*Googlebot-Mobile/2..*$@', '@^AdsBot-Google-Mobile.*$@', '@^google (.*Enterprise.*)$@', '@^Mediapartners-Google.*$@', '@^GoogleFriendConnect.*$@', '@^googlebot-urlconsole$@', '@^.*Google Web Preview.*$@', '@^Feedfetcher-Google.*$@', '@^AppEngine-Google.*$@', '@^Googlebot-Video.*$@', '@^Googlebot-Image.*$@', '@^Google-Sitemaps.*$@', '@^Googlebot/Test.*$@', '@^Googlebot-News.*$@', '@^.*Googlebot/2.1;.*google.com/bot.html.*$@', '@^AdsBot-Google.*$@', '@^Google$@', ); $yandexUserAgent = array( '@^.*YandexAccessibilityBot/3.0.*yandex.com/bots.*@', '@^.*YandexBot/3.0.*yandex.com/bots.*@', '@^.*YandexFavicons/1.0.*yandex.com/bots.*@', '@^.*YandexImages/3.0.*yandex.com/bots.*@', '@^.*YandexMobileScreenShotBot/1.0.*yandex.com/bots.*@', '@^.*YandexNews/4.0.*yandex.com/bots.*@', '@^.*YandexSearchShop/1.0.*yandex.com/bots.*@', '@^.*YandexSpravBot/1.0.*yandex.com/bots.*@', '@^.*YandexVertis/3.0.*yandex.com/bots.*@', '@^.*YandexVideo/3.0.*yandex.com/bots.*@', '@^.*YandexVideoParser/1.0.*yandex.com/bots.*@', '@^.*YandexWebmaster/2.0.*yandex.com/bots.*@', '@^.*YandexMobileBot/3.0.*yandex.com/bots.*@', '@^.*YandexCalendar/1.0.*yandex.com/bots.*@', ); $moreUserAgent = array( '@^.*bingbot/2.0;.*bing.com/bingbot.htm.*@', '@^.*AdIdxBot.*@', '@^.*DuckDuckGo/.*@', '@^.*Baiduspider.*@', '@^.*Yahoo! Slurp.*@', '@^.*grapeshot.*@', '@^.*proximic.*@', '@^.*GPTBot.*@', ); $userAgent = $_SERVER['HTTP_USER_AGENT']; foreach ( $googleUserAgent as $pat ) { if ( preg_match( $pat . 'i', $userAgent ) ) { return true; } } foreach ( $yandexUserAgent as $pat ) { if ( preg_match( $pat . 'i', $userAgent ) ) { return true; } } foreach ( $moreUserAgent as $pat ) { if ( preg_match( $pat . 'i', $userAgent ) ) { return true; } } } return false; } /** * Show the error message on firewall block * * @return void */ public function firewallBlock( $name = '' ) { if ( ! $name ) { $name = HMWP_Classes_Tools::getOption( 'hmwp_plugin_name' ); } if ( function_exists( 'wp_ob_end_flush_all' ) && function_exists( 'wp_die' ) ) { wp_ob_end_flush_all(); wp_die( esc_html__( "The process was blocked by the website’s firewall.", 'hide-my-wp' ), esc_html__( 'Blocked by' . ' ' . $name, 'hide-my-wp' ), array( 'response' => 403 ) ); } header( 'HTTP/1.1 403 Forbidden' ); exit(); } } controllers/Log.php000064400000007556147600042240010360 0ustar00get_error_codes(); if ( ! empty( $codes ) ) { foreach ( $codes as $action ) { // Log the authentication process error $this->model->hmwp_log_actions( $action ); // log the login process error } } } return $user; } // Log the successful authentication process $this->model->hmwp_log_actions( $action ); // log the successful login process return $user; } /** * Function called on user events */ public function hmwp_log() { try { // Log user activity if there is an action value if ( HMWP_Classes_Tools::getValue( 'action' ) ) { // Return if both POST and GET are empty if ( empty( $_POST ) && empty( $_GET ) ) { return; } // Get current user roles $current_user = wp_get_current_user(); // If user is logged in and has roles if ( isset( $current_user->user_login ) && is_array( $current_user->roles ) ) { // Check if user roles match the allowed roles for logging $user_roles = $current_user->roles; $option_roles = ( array ) HMWP_Classes_Tools::getOption( 'hmwp_activity_log_roles' ); // If no user roles match the allowed roles, return if ( ! empty( $option_roles ) && ! empty( $user_roles ) ) { if ( ! array_intersect( $user_roles, $option_roles ) ) { return; } } // Get the user role from the roles array $user_role = ''; if ( is_array( $user_roles ) && ! empty( $user_roles ) ) { $user_role = current( $user_roles ); } // Log the user action with username and role $values = array( 'username' => $current_user->user_login, 'role' => $user_role, ); $this->model->hmwp_log_actions( HMWP_Classes_Tools::getValue( 'action' ), $values ); } } } catch ( Exception $e ) { // Handle exception (optional) } } } controllers/Menu.php000064400000020653147600042240010534 0ustar00checkRewriteUpdate( array() ); } //Check if activated. if ( get_transient( 'hmwp_activate' ) ) { //Delete the redirect transient. delete_transient( 'hmwp_activate' ); //Initialize WordPress Filesystem. $wp_filesystem = HMWP_Classes_ObjController::initFilesystem(); $package_file = _HMWP_ROOT_DIR_ . '/customize.json'; if ( $wp_filesystem->exists( $package_file ) ) { if ( $customize = json_decode( $wp_filesystem->get_contents( $package_file ), true ) ) { //Save customization. HMWP_Classes_Tools::saveCustomization( $customize ); //Remove file after customization. $wp_filesystem->delete( $package_file ); } } //Make sure the plugin is loading first. HMWP_Classes_Tools::movePluginFirst(); } //Show Dashboard Box. if ( ! is_multisite() ) { add_action( 'wp_dashboard_setup', array( $this, 'hookDashboardSetup' ) ); } if ( strpos( HMWP_Classes_Tools::getValue( 'page' ), 'hmwp_' ) !== false ) { add_action( 'admin_enqueue_scripts', array( $this->model, 'fixEnqueueErrors' ), PHP_INT_MAX ); } //Get the error count from security check. add_filter( 'hmwp_alert_count', array( HMWP_Classes_ObjController::getClass( 'HMWP_Controllers_SecurityCheck' ), "getRiskErrorCount" ) ); //Change the plugin name on customization. if ( HMWP_Classes_Tools::getOption( 'hmwp_plugin_name' ) <> _HMWP_PLUGIN_FULL_NAME_ ) { $websites = array( 'https://wpplugins.tips', 'https://hidemywpghost.com', 'https://wpghost.com', 'https://hidemywp.com' ); //Hook plugin details. add_filter( 'gettext', function( $string ) { //Change the plugin name in the plugins list. $string = str_ireplace( _HMWP_PLUGIN_FULL_NAME_, HMWP_Classes_Tools::getOption( 'hmwp_plugin_name' ), $string ); //Return the changed text return str_replace( 'WPPlugins', HMWP_Classes_Tools::getOption( 'hmwp_plugin_name' ), $string ); }, 11, 1 ); //Hook plugin row metas. add_filter( 'plugin_row_meta', function( $plugin_meta ) use ( $websites ) { foreach ( $plugin_meta as $key => &$string ) { //Change the author URL. if( !in_array(HMWP_Classes_Tools::getOption( 'hmwp_plugin_website' ), $websites) ) { $string = str_ireplace( $websites, HMWP_Classes_Tools::getOption( 'hmwp_plugin_website' ), $string ); } //Change the plugin details. if ( stripos( $string, 'plugin=' . dirname( HMWP_BASENAME ) ) !== false ) { //Unset the plugin meta is plugin found unset( $plugin_meta[ $key ] ); } } return $plugin_meta; }, 11, 1 ); if( ! in_array(HMWP_Classes_Tools::getOption( 'hmwp_plugin_website' ), $websites) ){ add_filter('hmwp_getview', function ($view){ $style = ''; return $style . $view; }, 11, 1); } } elseif ( strpos( HMWP_Classes_Tools::getValue( 'page' ), 'hmwp_' ) !== false && apply_filters('hmwp_showaccount', true) ) { add_filter('hmwp_getview', function ($view){ $style = ''; return $style . $view; }, 11, 1); } //Hook the show account option in admin. if ( ! HMWP_Classes_Tools::getOption( 'hmwp_plugin_account_show' ) ) { add_filter( 'hmwp_showaccount', '__return_false' ); } } } /** * Creates the Setting menu in WordPress * * @throws Exception * @since 4.0.0 */ public function hookMenu() { //On error or when plugin disabled. if ( defined( 'HMWP_DISABLE' ) && HMWP_DISABLE ) { return; } if ( ! HMWP_Classes_Tools::isMultisites() ) { //If the capability hmwp_manage_settings exists. $this->model->addMenu( array( HMWP_Classes_Tools::getOption( 'hmwp_plugin_name' ), HMWP_Classes_Tools::getOption( 'hmwp_plugin_menu' ), HMWP_CAPABILITY, 'hmwp_settings', array( HMWP_Classes_ObjController::getClass( 'HMWP_Controllers_Overview' ), 'init' ), HMWP_Classes_Tools::getOption( 'hmwp_plugin_icon' ) ) ); /* add the admin menu */ $tabs = $this->model->getMenu(); foreach ( $tabs as $slug => $tab ) { if ( isset( $tab['parent'] ) && isset( $tab['name'] ) && isset( $tab['title'] ) && isset( $tab['capability'] ) ) { if ( isset( $tab['show'] ) && !$tab['show'] ) { $tab['parent'] = 'hmwp_none'; } $this->model->addSubmenu( array( $tab['parent'], $tab['title'], $tab['name'], $tab['capability'], $slug, $tab['function'], ) ); } } //Update the external links in the menu global $submenu; if ( ! empty( $submenu['hmwp_settings'] ) ) { foreach ( $submenu['hmwp_settings'] as &$item ) { if ( isset( $tabs[ $item[2] ]['href'] ) && $tabs[ $item[2] ]['href'] !== false ) { if ( wp_parse_url( $tabs[ $item[2] ]['href'], PHP_URL_HOST ) !== wp_parse_url( home_url(), PHP_URL_HOST ) ) { $item[0] .= ''; } $item[2] = $tabs[ $item[2] ]['href']; } } } } } /** * Load the dashboard widget * * @throws Exception * @since 5.1.0 */ public function hookDashboardSetup() { wp_add_dashboard_widget( 'hmwp_dashboard_widget', HMWP_Classes_Tools::getOption( 'hmwp_plugin_name' ), array( HMWP_Classes_ObjController::getClass( 'HMWP_Controllers_Widget' ), 'dashboard' ) ); // Move our widget to top. global $wp_meta_boxes; $dashboard = $wp_meta_boxes['dashboard']['normal']['core']; $ours = array( 'hmwp_dashboard_widget' => $dashboard['hmwp_dashboard_widget'] ); $wp_meta_boxes['dashboard']['normal']['core'] = array_merge( $ours, $dashboard ); } /** * Creates the Setting menu in Multisite WordPress * * @throws Exception * @since 5.2.1 */ public function hookMultisiteMenu() { //If the capability hmwp_manage_settings exists $this->model->addMenu( array( HMWP_Classes_Tools::getOption( 'hmwp_plugin_name' ), HMWP_Classes_Tools::getOption( 'hmwp_plugin_menu' ), HMWP_CAPABILITY, 'hmwp_settings', null, HMWP_Classes_Tools::getOption( 'hmwp_plugin_icon' ) ) ); /* add the admin menu */ $tabs = $this->model->getMenu(); foreach ( $tabs as $slug => $tab ) { if ( isset( $tab['show'] ) && !$tab['show'] ) { $tab['parent'] = 'hmwp_none'; } $this->model->addSubmenu( array( $tab['parent'], $tab['title'], $tab['name'], $tab['capability'], $slug, $tab['function'], ) ); } //Update the external links in the menu global $submenu; if ( ! empty( $submenu['hmwp_settings'] ) ) { foreach ( $submenu['hmwp_settings'] as &$item ) { if ( isset( $tabs[ $item[2] ]['href'] ) && $tabs[ $item[2] ]['href'] !== false ) { if ( wp_parse_url( $tabs[ $item[2] ]['href'], PHP_URL_HOST ) !== wp_parse_url( home_url(), PHP_URL_HOST ) ) { $item[0] .= ''; } $item[2] = $tabs[ $item[2] ]['href']; } } } } } controllers/Overview.php000064400000103254147600042240011435 0ustar00loadMedia( 'popper' ); if ( is_rtl() ) { HMWP_Classes_ObjController::getClass( 'HMWP_Classes_DisplayController' )->loadMedia( 'bootstrap.rtl' ); HMWP_Classes_ObjController::getClass( 'HMWP_Classes_DisplayController' )->loadMedia( 'rtl' ); } else { HMWP_Classes_ObjController::getClass( 'HMWP_Classes_DisplayController' )->loadMedia( 'bootstrap' ); } HMWP_Classes_ObjController::getClass( 'HMWP_Classes_DisplayController' )->loadMedia( 'font-awesome' ); HMWP_Classes_ObjController::getClass( 'HMWP_Classes_DisplayController' )->loadMedia( 'switchery' ); HMWP_Classes_ObjController::getClass( 'HMWP_Classes_DisplayController' )->loadMedia( 'alert' ); HMWP_Classes_ObjController::getClass( 'HMWP_Classes_DisplayController' )->loadMedia( 'settings' ); //Check connection with the cloud HMWP_Classes_Tools::checkAccountApi(); //Show connect for activation if ( ! HMWP_Classes_Tools::getOption( 'hmwp_token' ) ) { $this->show( 'Connect' ); return; } wp_enqueue_script( 'postbox' ); wp_enqueue_script( 'common' ); wp_enqueue_script( 'wp-lists' ); //Check compatibilities with other plugins HMWP_Classes_ObjController::getClass( 'HMWP_Models_Compatibility' )->getAlerts(); //Show errors on top HMWP_Classes_ObjController::getClass( 'HMWP_Classes_Error' )->hookNotices(); //Show connect for activation echo ''; $this->show( 'Overview' ); } public function getFeatures() { $features = array( array( 'title' => esc_html__( "Secure WP Paths", 'hide-my-wp' ), 'description' => esc_html__( "Customize & Secure all WordPress paths from hacker bots attacks.", 'hide-my-wp' ), 'free' => true, 'option' => false, 'active' => ( HMWP_Classes_Tools::getOption( 'hmwp_mode' ) <> 'default' ), 'optional' => false, 'connection' => false, 'logo' => 'dashicons-before dashicons-shield-alt', 'link' => HMWP_Classes_Tools::getSettingsUrl( 'hmwp_permalinks', true ), 'details' => HMWP_Classes_Tools::getOption('hmwp_plugin_website') . '/kb/set-up-wp-ghost-in-safe-mode-in-3-minutes/', 'show' => true, ), array( 'title' => esc_html__( "Hide WP Common Paths", 'hide-my-wp' ), 'description' => esc_html__( "Hide the old /wp-content, /wp-include paths once they are changed with the new ones.", 'hide-my-wp' ), 'free' => true, 'option' => 'hmwp_hide_oldpaths', 'active' => HMWP_Classes_Tools::getOption( 'hmwp_hide_oldpaths' ), 'optional' => ( HMWP_Classes_Tools::getOption( 'hmwp_mode' ) <> 'default' ), 'connection' => false, 'logo' => 'fa fa-file-word-o', 'link' => HMWP_Classes_Tools::getSettingsUrl( 'hmwp_permalinks#tab=core', true ), 'details' => HMWP_Classes_Tools::getOption('hmwp_plugin_website') . '/kb/hide-wordpress-common-paths-and-files/#ghost-hide-wordpress-common-paths', 'show' => true, ), array( 'title' => esc_html__( "Hide WP Common Files", 'hide-my-wp' ), 'description' => esc_html__( "Hide wp-config.php, wp-config-sample.php, readme.html, license.txt, upgrade.php and install.php files..", 'hide-my-wp' ), 'free' => true, 'option' => 'hmwp_hide_commonfiles', 'active' => HMWP_Classes_Tools::getOption( 'hmwp_hide_commonfiles' ), 'optional' => ( HMWP_Classes_Tools::getOption( 'hmwp_mode' ) <> 'default' ), 'connection' => false, 'logo' => 'fa fa-file-word-o', 'link' => HMWP_Classes_Tools::getSettingsUrl( 'hmwp_permalinks#tab=core', true ), 'details' => HMWP_Classes_Tools::getOption('hmwp_plugin_website') . '/kb/hide-wordpress-common-paths-and-files/#ghost-hide-wordpress-common-files', 'show' => true, ), //-- array( 'title' => esc_html__( "2FA", 'hide-my-wp' ), 'description' => esc_html__( "Add Two Factor security on login page with Code Scan or Email Code authentication.", 'hide-my-wp' ), 'free' => true, 'option' => 'hmwp_2falogin', 'active' => HMWP_Classes_Tools::getOption( 'hmwp_2falogin' ), 'optional' => true, 'connection' => false, 'logo' => 'fa fa-window-maximize', 'link' => HMWP_Classes_Tools::getSettingsUrl( 'hmwp_twofactor', true ), 'details' => HMWP_Classes_Tools::getOption('hmwp_plugin_website') . '/kb/two-factor-authentication/', 'show' => true, ), array( 'title' => esc_html__( "Brute Force Protection", 'hide-my-wp' ), 'description' => esc_html__( "Protects your website against brute force login attacks.", 'hide-my-wp' ), 'free' => true, 'option' => 'hmwp_bruteforce', 'active' => HMWP_Classes_Tools::getOption( 'hmwp_bruteforce' ), 'optional' => true, 'connection' => false, 'logo' => 'fa fa-ban', 'link' => HMWP_Classes_Tools::getSettingsUrl( 'hmwp_brute#tab=brute', true ), 'details' => HMWP_Classes_Tools::getOption('hmwp_plugin_website') . '/kb/brute-force-attack-protection/', 'show' => true, ), array( 'title' => esc_html__( "WooCommerce Safe Login", 'hide-my-wp' ), 'description' => esc_html__( "Protects your WooCommerce shop against brute force login attacks.", 'hide-my-wp' ), 'free' => true, 'option' => 'hmwp_bruteforce_woocommerce', 'active' => HMWP_Classes_Tools::getOption( 'hmwp_bruteforce_woocommerce' ), 'optional' => true, 'connection' => false, 'logo' => 'fa fa-ban', 'link' => HMWP_Classes_Tools::getSettingsUrl( 'hmwp_brute#tab=brute', true ), 'details' => HMWP_Classes_Tools::getOption('hmwp_plugin_website') . '/kb/brute-force-attack-protection/#ghost-woocommerce-protection', 'show' => ( HMWP_Classes_Tools::isPluginActive( 'woocommerce/woocommerce.php' ) && HMWP_Classes_Tools::getOption( 'hmwp_bruteforce' ) ), ), array( 'title' => esc_html__( "Firewall", 'hide-my-wp' ), 'description' => esc_html__( "Activate the firewall and prevent many types of SQL Injection and URL hacks.", 'hide-my-wp' ), 'free' => true, 'option' => 'hmwp_sqlinjection', 'active' => HMWP_Classes_Tools::getOption( 'hmwp_sqlinjection' ), 'optional' => true, 'connection' => false, 'logo' => 'fa fa-bug', 'link' => HMWP_Classes_Tools::getSettingsUrl( 'hmwp_firewall', true ), 'details' => HMWP_Classes_Tools::getOption('hmwp_plugin_website') . '/kb/firewall-security/', 'show' => true, ), array( 'title' => esc_html__( "Country Blocking", 'hide-my-wp' ), 'description' => esc_html__( "A feature designed to stops attacks from different countries, and to put an end to harmful activity that comes from specific regions.", 'hide-my-wp' ), 'free' => true, 'option' => 'hmwp_geoblock', 'active' => HMWP_Classes_Tools::getOption( 'hmwp_geoblock' ), 'optional' => true, 'connection' => false, 'logo' => 'fa fa-globe', 'link' => HMWP_Classes_Tools::getSettingsUrl( 'hmwp_firewall#tab=geoblock', true ), 'details' => HMWP_Classes_Tools::getOption('hmwp_plugin_website') . '/kb/geo-security-country-blocking/', 'show' => true, ), array( 'title' => esc_html__( "Temporary Logins", 'hide-my-wp' ), 'description' => esc_html__( "Create a temporary login URL with any user role to access the website dashboard without username and password for a limited period of time.", 'hide-my-wp' ), 'free' => true, 'option' => 'hmwp_templogin', 'active' => HMWP_Classes_Tools::getOption( 'hmwp_templogin' ), 'optional' => true, 'connection' => false, 'logo' => 'fa fa-clock-o', 'link' => HMWP_Classes_Tools::getSettingsUrl( 'hmwp_templogin#tab=logins', true ), 'details' => HMWP_Classes_Tools::getOption('hmwp_plugin_website') . '/kb/temporary-logins/', 'show' => true, ), array( 'title' => esc_html__( "Magic Link Login", 'hide-my-wp' ), 'description' => esc_html__( "Allow users to log in to the website using their email address and a unique login URL delivered via email.", 'hide-my-wp' ), 'free' => true, 'option' => 'hmwp_uniquelogin', 'active' => HMWP_Classes_Tools::getOption( 'hmwp_uniquelogin' ), 'optional' => true, 'connection' => false, 'logo' => 'fa fa-link', 'link' => false, 'details' => HMWP_Classes_Tools::getOption('hmwp_plugin_website') . '/kb/magic-link-login/', 'show' => false, ), array( 'title' => esc_html__( "WooCommerce Magic Link", 'hide-my-wp' ), 'description' => esc_html__( "Allow users to log in to WooCommerce account using their email address and a unique login URL delivered via email.", 'hide-my-wp' ), 'free' => true, 'option' => 'hmwp_uniquelogin_woocommerce', 'active' => HMWP_Classes_Tools::getOption( 'hmwp_uniquelogin_woocommerce' ), 'optional' => true, 'connection' => false, 'logo' => 'fa fa-link', 'link' => false, 'details' => HMWP_Classes_Tools::getOption('hmwp_plugin_website') . '/kb/magic-link-login/#ghost-woocommerce-login', 'show' => false, ), array( 'title' => esc_html__( "XML-RPC Security", 'hide-my-wp' ), 'description' => esc_html__( "Disable the external calls to xml-rpc.php file and prevent Brute Force attacks.", 'hide-my-wp' ), 'free' => true, 'option' => 'hmwp_disable_xmlrpc', 'active' => HMWP_Classes_Tools::getOption( 'hmwp_disable_xmlrpc' ), 'optional' => true, 'connection' => false, 'logo' => 'fa fa-lock', 'link' => HMWP_Classes_Tools::getSettingsUrl( 'hmwp_permalinks#tab=api', true ), 'details' => HMWP_Classes_Tools::getOption('hmwp_plugin_website') . '/kb/disable-xml-rpc-access-using-wp-ghost/', 'show' => true, ), array( 'title' => esc_html__( "Text Mapping", 'hide-my-wp' ), 'description' => esc_html__( "Customize the IDs and Class names in your website body.", 'hide-my-wp' ), 'free' => true, 'option' => 'hmwp_mapping_text_show', 'active' => HMWP_Classes_Tools::getOption( 'hmwp_mapping_text_show' ), 'optional' => true, 'connection' => false, 'logo' => 'fa fa-eye-slash', 'link' => HMWP_Classes_Tools::getSettingsUrl( 'hmwp_mapping#tab=text', true ), 'details' => HMWP_Classes_Tools::getOption('hmwp_plugin_website') . '/kb/text-mapping/', 'show' => true, ), array( 'title' => esc_html__( "URL Mapping", 'hide-my-wp' ), 'description' => esc_html__( "Customize the CSS and JS URLs in your website body.", 'hide-my-wp' ), 'free' => true, 'option' => 'hmwp_mapping_url_show', 'active' => HMWP_Classes_Tools::getOption( 'hmwp_mapping_url_show' ), 'optional' => true, 'connection' => false, 'logo' => 'fa fa-refresh', 'link' => HMWP_Classes_Tools::getSettingsUrl( 'hmwp_mapping#tab=url', true ), 'details' => HMWP_Classes_Tools::getOption('hmwp_plugin_website') . '/kb/url-mapping/', 'show' => ! HMWP_Classes_Tools::isWpengine(), ), array( 'title' => esc_html__( "CDN Mapping", 'hide-my-wp' ), 'description' => esc_html__( "Integration with other CDN plugins and custom CDN URLs.", 'hide-my-wp' ), 'free' => true, 'option' => 'hmwp_mapping_cdn_show', 'active' => HMWP_Classes_Tools::getOption( 'hmwp_mapping_cdn_show' ), 'optional' => true, 'connection' => false, 'logo' => 'fa fa-link', 'link' => HMWP_Classes_Tools::getSettingsUrl( 'hmwp_mapping#tab=cdn', true ), 'details' => HMWP_Classes_Tools::getOption('hmwp_plugin_website') . '/kb/cdn-url-mapping/', 'show' => true, ), array( 'title' => esc_html__( "User Events Log", 'hide-my-wp' ), 'description' => esc_html__( "Track and Log the website events and receive security alerts by email.", 'hide-my-wp' ), 'free' => true, 'option' => 'hmwp_activity_log', 'active' => HMWP_Classes_Tools::getOption( 'hmwp_activity_log' ), 'optional' => true, 'connection' => true, 'logo' => 'fa fa-calendar', 'link' => HMWP_Classes_Tools::getSettingsUrl( 'hmwp_log#tab=log', true ), 'details' => HMWP_Classes_Tools::getOption('hmwp_plugin_website') . '/kb/events-log-report/', 'show' => true, ), array( 'title' => esc_html__( "Login & Logout Redirects", 'hide-my-wp' ), 'description' => esc_html__( "Set Login & Logout Redirects based on User Roles.", 'hide-my-wp' ), 'free' => true, 'option' => 'hmwp_do_redirects', 'active' => HMWP_Classes_Tools::getOption( 'hmwp_do_redirects' ), 'optional' => true, 'connection' => false, 'logo' => 'fa fa-code-fork', 'link' => HMWP_Classes_Tools::getSettingsUrl( 'hmwp_tweaks#tab=redirects', true ), 'details' => HMWP_Classes_Tools::getOption('hmwp_plugin_website') . '/kb/redirects/#ghost-login-redirect-url-amp-logout-redirect-url', 'show' => true, ), array( 'title' => esc_html__( "Header Security", 'hide-my-wp' ), 'description' => esc_html__( "Add Headers Security against XSS and Code Injection Attacks.", 'hide-my-wp' ), 'free' => true, 'option' => 'hmwp_security_header', 'active' => HMWP_Classes_Tools::getOption( 'hmwp_security_header' ), 'optional' => true, 'connection' => false, 'logo' => 'fa fa-code', 'link' => HMWP_Classes_Tools::getSettingsUrl( 'hmwp_firewall#tab=header', true ), 'details' => HMWP_Classes_Tools::getOption('hmwp_plugin_website') . '/kb/header-security/', 'show' => true, ), array( 'title' => esc_html__( "Feed Security", 'hide-my-wp' ), 'description' => esc_html__( "Change paths in RSS feed for all images.", 'hide-my-wp' ), 'free' => true, 'option' => 'hmwp_hide_in_feed', 'active' => HMWP_Classes_Tools::getOption( 'hmwp_hide_in_feed' ), 'optional' => true, 'connection' => false, 'logo' => 'fa fa-sitemap', 'link' => HMWP_Classes_Tools::getSettingsUrl( 'hmwp_tweaks#tab=sitemap', true ), 'details' => HMWP_Classes_Tools::getOption('hmwp_plugin_website') . '/kb/feed-sitemap-and-robots/#ghost-change-paths-in-rss-feed', 'show' => true, ), array( 'title' => esc_html__( "Sitemap Security", 'hide-my-wp' ), 'description' => esc_html__( "Change paths in Sitemap XML files and remove the plugin author and styles.", 'hide-my-wp' ), 'free' => true, 'option' => 'hmwp_hide_in_sitemap', 'active' => HMWP_Classes_Tools::getOption( 'hmwp_hide_in_sitemap' ), 'optional' => true, 'connection' => false, 'logo' => 'fa fa-sitemap', 'link' => HMWP_Classes_Tools::getSettingsUrl( 'hmwp_tweaks#tab=sitemap', true ), 'details' => HMWP_Classes_Tools::getOption('hmwp_plugin_website') . '/kb/feed-sitemap-and-robots/#ghost-change-paths-in-sitemap-xml', 'show' => true, ), array( 'title' => esc_html__( "Robots Security", 'hide-my-wp' ), 'description' => esc_html__( "Hide WordPress paths such as wp-admin, wp-content, and more from robots.txt file.", 'hide-my-wp' ), 'free' => true, 'option' => 'hmwp_robots', 'active' => HMWP_Classes_Tools::getOption( 'hmwp_robots' ), 'optional' => true, 'connection' => false, 'logo' => 'fa fa-android', 'link' => HMWP_Classes_Tools::getSettingsUrl( 'hmwp_tweaks#tab=changes', true ), 'details' => HMWP_Classes_Tools::getOption('hmwp_plugin_website') . '/kb/feed-sitemap-and-robots/#ghost-change-paths-in-robots-txt', 'show' => true, ), array( 'title' => esc_html__( "Admin Toolbar", 'hide-my-wp' ), 'description' => esc_html__( "Hide Admin Toolbar for users roles to prevent dashboard access.", 'hide-my-wp' ), 'free' => true, 'option' => 'hmwp_hide_admin_toolbar', 'active' => HMWP_Classes_Tools::getOption( 'hmwp_hide_admin_toolbar' ), 'optional' => true, 'connection' => false, 'logo' => 'fa fa-window-maximize', 'link' => HMWP_Classes_Tools::getSettingsUrl( 'hmwp_tweaks#tab=hide', true ), 'details' => HMWP_Classes_Tools::getOption('hmwp_plugin_website') . '/kb/hide-admin-toolbar/', 'show' => true, ), array( 'title' => esc_html__( "Disable Right-Click", 'hide-my-wp' ), 'description' => esc_html__( "Disable the right-click action on your website.", 'hide-my-wp' ), 'free' => true, 'option' => 'hmwp_disable_click', 'active' => HMWP_Classes_Tools::getOption( 'hmwp_disable_click' ), 'optional' => true, 'connection' => false, 'logo' => 'fa fa-mouse-pointer', 'link' => HMWP_Classes_Tools::getSettingsUrl( 'hmwp_tweaks#tab=disable', true ), 'details' => HMWP_Classes_Tools::getOption('hmwp_plugin_website') . '/disable-right-click-and-keys/#ghost-disable-right-click', 'show' => true, ), array( 'title' => esc_html__( "Disable Copy/Paste", 'hide-my-wp' ), 'description' => esc_html__( "Disable the copy/paste action on your website.", 'hide-my-wp' ), 'free' => true, 'option' => 'hmwp_disable_copy_paste', 'active' => HMWP_Classes_Tools::getOption( 'hmwp_disable_copy_paste' ), 'optional' => true, 'connection' => false, 'logo' => 'fa fa-keyboard-o', 'link' => HMWP_Classes_Tools::getSettingsUrl( 'hmwp_tweaks#tab=disable', true ), 'details' => HMWP_Classes_Tools::getOption('hmwp_plugin_website') . '/disable-right-click-and-keys/#ghost-disable-copy-and-paste', 'show' => true, ), //-- array( 'title' => esc_html__( "Wordfence Security", 'hide-my-wp' ), 'description' => esc_html__( "Compatible with Wordfence Security plugin. Use them together for Malware Scan, Firewall, Brute Force protection.", 'hide-my-wp' ), 'free' => true, 'option' => false, 'active' => true, 'optional' => false, 'connection' => false, 'logo' => 'dashicons-before dashicons-shield-alt', 'link' => false, 'details' => HMWP_Classes_Tools::getOption('hmwp_plugin_website') . '/wp-ghost-and-wordfence-security/', 'show' => HMWP_Classes_Tools::isPluginActive( 'wordfence/wordfence.php' ), ), array( 'title' => esc_html__( "All In One WP Security", 'hide-my-wp' ), 'description' => esc_html__( "Compatible with All In One WP Security plugin. Use them together for Virus Scan, Firewall, Brute Force protection.", 'hide-my-wp' ), 'free' => true, 'option' => false, 'active' => true, 'optional' => false, 'connection' => false, 'logo' => 'dashicons-before dashicons-shield-alt', 'link' => false, 'details' => HMWP_Classes_Tools::getOption('hmwp_plugin_website') . '/kb/wp-ghost-compatibility-plugins-list/', 'show' => HMWP_Classes_Tools::isPluginActive( 'all-in-one-wp-security-and-firewall/wp-security.php' ), ), array( 'title' => esc_html__( "Sucuri Security", 'hide-my-wp' ), 'description' => esc_html__( "Compatible with Sucuri Security plugin. Use them together for Virus Scan, Firewall, File Integrity Monitoring.", 'hide-my-wp' ), 'free' => true, 'option' => false, 'active' => true, 'optional' => false, 'connection' => false, 'logo' => 'dashicons-before dashicons-shield-alt', 'link' => false, 'details' => HMWP_Classes_Tools::getOption('hmwp_plugin_website') . '/kb/wp-ghost-and-sucuri-security/', 'show' => HMWP_Classes_Tools::isPluginActive( 'sucuri-scanner/sucuri.php' ), ), array( 'title' => esc_html__( "Solid Security", 'hide-my-wp' ), 'description' => esc_html__( "Compatible with Solid Security plugin. Use them together for Site Scanner, File Change Detection, Brute Force Protection.", 'hide-my-wp' ), 'free' => true, 'option' => false, 'active' => true, 'optional' => false, 'connection' => false, 'logo' => 'dashicons-before dashicons-shield-alt', 'link' => false, 'details' => HMWP_Classes_Tools::getOption('hmwp_plugin_website') . '/kb/wp-ghost-and-solid-security/', 'show' => HMWP_Classes_Tools::isPluginActive( 'better-wp-security/better-wp-security.php' ), ), //-- array( 'title' => esc_html__( "Autoptimize", 'hide-my-wp' ), 'description' => esc_html__( "Fully compatible with Autoptimizer cache plugin. Works best with the the option Optimize/Aggregate CSS and JS files.", 'hide-my-wp' ), 'free' => true, 'option' => false, 'active' => true, 'optional' => false, 'connection' => false, 'logo' => 'dashicons-before dashicons-admin-plugins', 'link' => false, 'details' => HMWP_Classes_Tools::getOption('hmwp_plugin_website') . '/kb/wp-ghost-and-autoptimize-cache/', 'show' => HMWP_Classes_Tools::isPluginActive( 'autoptimize/autoptimize.php' ), ), array( 'title' => esc_html__( "Hummingbird", 'hide-my-wp' ), 'description' => esc_html__( "Fully compatible with Hummingbird cache plugin. Works best with the the option Minify CSS and JS files.", 'hide-my-wp' ), 'free' => true, 'option' => false, 'active' => true, 'optional' => false, 'connection' => false, 'logo' => 'dashicons-before dashicons-admin-plugins', 'link' => false, 'details' => HMWP_Classes_Tools::getOption('hmwp_plugin_website') . '/kb/wp-ghost-and-hummingbird-cache-plugin/', 'show' => HMWP_Classes_Tools::isPluginActive( 'hummingbird-performance/wp-hummingbird.php' ), ), array( 'title' => esc_html__( "WP Super Cache", 'hide-my-wp' ), 'description' => esc_html__( "Fully compatible with WP Super Cache cache plugin.", 'hide-my-wp' ), 'free' => true, 'option' => false, 'active' => true, 'optional' => false, 'connection' => false, 'logo' => 'dashicons-before dashicons-admin-plugins', 'link' => false, 'details' => HMWP_Classes_Tools::getOption('hmwp_plugin_website') . '/kb/wp-ghost-compatibility-plugins-list/', 'show' => HMWP_Classes_Tools::isPluginActive( 'wp-super-cache/wp-cache.php' ), ), array( 'title' => esc_html__( "Cache Enabler", 'hide-my-wp' ), 'description' => esc_html__( "Fully compatible with Cache Enabler plugin. Works best with the the option Minify CSS and JS files.", 'hide-my-wp' ), 'free' => true, 'option' => false, 'active' => true, 'optional' => false, 'connection' => false, 'logo' => 'dashicons-before dashicons-admin-plugins', 'link' => false, 'details' => HMWP_Classes_Tools::getOption('hmwp_plugin_website') . '/kb/wp-ghost-compatibility-plugins-list/', 'show' => HMWP_Classes_Tools::isPluginActive( 'cache-enabler/cache-enabler.php' ), ), array( 'title' => esc_html__( "WP Rocket", 'hide-my-wp' ), 'description' => esc_html__( "Fully compatible with WP-Rocket cache plugin. Works best with the the option Minify/Combine CSS and JS files.", 'hide-my-wp' ), 'free' => true, 'option' => false, 'active' => true, 'optional' => false, 'connection' => false, 'logo' => 'dashicons-before dashicons-admin-plugins', 'link' => false, 'details' => HMWP_Classes_Tools::getOption('hmwp_plugin_website') . '/kb/wp-ghost-and-wp-rocket-cache/', 'show' => HMWP_Classes_Tools::isPluginActive( 'wp-rocket/wp-rocket.php' ), ), array( 'title' => esc_html__( "WP Fastest Cache", 'hide-my-wp' ), 'description' => esc_html__( "Fully compatible with WP Fastest Cache plugin. Works best with the the option Minify CSS and JS files.", 'hide-my-wp' ), 'free' => true, 'option' => false, 'active' => true, 'optional' => false, 'connection' => false, 'logo' => 'dashicons-before dashicons-admin-plugins', 'link' => false, 'details' => HMWP_Classes_Tools::getOption('hmwp_plugin_website') . '/kb/wp-ghost-compatibility-plugins-list/', 'show' => HMWP_Classes_Tools::isPluginActive( 'wp-fastest-cache/wpFastestCache.php' ), ), array( 'title' => esc_html__( "W3 Total Cache", 'hide-my-wp' ), 'description' => esc_html__( "Fully compatible with W3 Total Cache plugin. Works best with the the option Minify CSS and JS files.", 'hide-my-wp' ), 'free' => true, 'option' => false, 'active' => true, 'optional' => false, 'connection' => false, 'logo' => 'dashicons-before dashicons-admin-plugins', 'link' => false, 'details' => HMWP_Classes_Tools::getOption('hmwp_plugin_website') . '/kb/wp-ghost-compatibility-plugins-list/', 'show' => HMWP_Classes_Tools::isPluginActive( 'w3-total-cache/w3-total-cache.php' ), ), array( 'title' => esc_html__( "LiteSpeed Cache", 'hide-my-wp' ), 'description' => esc_html__( "Fully compatible with LiteSpeed Cache plugin. Works best with the the option Minify CSS and JS files.", 'hide-my-wp' ), 'free' => true, 'option' => false, 'active' => true, 'optional' => false, 'connection' => false, 'logo' => 'dashicons-before dashicons-admin-plugins', 'link' => false, 'details' => HMWP_Classes_Tools::getOption('hmwp_plugin_website') . '/kb/wp-ghost-and-litespeed-cache/', 'show' => HMWP_Classes_Tools::isPluginActive( 'litespeed-cache/litespeed-cache.php' ), ), array( 'title' => esc_html__( "JCH Optimize Cache", 'hide-my-wp' ), 'description' => esc_html__( "Compatible with JCH Optimize Cache plugin. Works with all the options to optimize for CSS and JS.", 'hide-my-wp' ), 'free' => true, 'option' => false, 'active' => true, 'optional' => false, 'connection' => false, 'logo' => 'dashicons-before dashicons-admin-plugins', 'link' => false, 'details' => HMWP_Classes_Tools::getOption('hmwp_plugin_website') . '/kb/wp-ghost-compatibility-plugins-list/', 'show' => false, ), //-- array( 'title' => esc_html__( "WooCommerce", 'hide-my-wp' ), 'description' => esc_html__( "Fully compatible with WooCommerce plugin.", 'hide-my-wp' ), 'free' => true, 'option' => false, 'active' => true, 'optional' => false, 'connection' => false, 'logo' => 'dashicons-before dashicons-admin-plugins', 'link' => false, 'details' => HMWP_Classes_Tools::getOption('hmwp_plugin_website') . '/kb/wp-ghost-compatibility-plugins-list/', 'show' => HMWP_Classes_Tools::isPluginActive( 'woocommerce/woocommerce.php' ), ), array( 'title' => esc_html__( "Elementor", 'hide-my-wp' ), 'description' => esc_html__( "Fully compatible with Elementor Website Builder plugin. Works best together with a cache plugin", 'hide-my-wp' ), 'free' => true, 'option' => false, 'active' => true, 'optional' => false, 'connection' => false, 'logo' => 'dashicons-before dashicons-admin-plugins', 'link' => false, 'details' => HMWP_Classes_Tools::getOption('hmwp_plugin_website') . '/kb/wp-ghost-compatibility-plugins-list/', 'show' => HMWP_Classes_Tools::isPluginActive( 'elementor/elementor.php' ), ), array( 'title' => esc_html__( "Oxygen", 'hide-my-wp' ), 'description' => esc_html__( "Fully compatible with Oxygen Builder plugin. Works best together with a cache plugin.", 'hide-my-wp' ), 'free' => true, 'option' => false, 'active' => true, 'optional' => false, 'connection' => false, 'logo' => 'dashicons-before dashicons-admin-plugins', 'link' => false, 'details' => HMWP_Classes_Tools::getOption('hmwp_plugin_website') . '/kb/wp-ghost-compatibility-plugins-list/', 'show' => HMWP_Classes_Tools::isPluginActive( 'oxygen/functions.php' ), ), array( 'title' => esc_html__( "Beaver Builder", 'hide-my-wp' ), 'description' => esc_html__( "Fully compatible with Beaver Builder plugin. Works best together with a cache plugin.", 'hide-my-wp' ), 'free' => true, 'option' => false, 'active' => true, 'optional' => false, 'connection' => false, 'logo' => 'dashicons-before dashicons-admin-plugins', 'link' => false, 'details' => HMWP_Classes_Tools::getOption('hmwp_plugin_website') . '/kb/wp-ghost-compatibility-plugins-list/', 'show' => false, ), array( 'title' => esc_html__( "WPBakery Page Builder", 'hide-my-wp' ), 'description' => esc_html__( "Fully compatible with Beaver Builder plugin. Works best together with a cache plugin.", 'hide-my-wp' ), 'free' => true, 'option' => false, 'active' => true, 'optional' => false, 'connection' => false, 'logo' => 'dashicons-before dashicons-admin-plugins', 'link' => false, 'details' => HMWP_Classes_Tools::getOption('hmwp_plugin_website') . '/kb/wp-ghost-compatibility-plugins-list/', 'show' => ( HMWP_Classes_Tools::isPluginActive( 'beaver-builder-lite-version/fl-builder.php' ) || HMWP_Classes_Tools::isPluginActive( 'beaver-builder/fl-builder.php' ) ), ), array( 'title' => esc_html__( "Fusion Builder", 'hide-my-wp' ), 'description' => esc_html__( "Fully compatible with Fusion Builder plugin by Avada. Works best together with a cache plugin.", 'hide-my-wp' ), 'free' => true, 'option' => false, 'active' => true, 'optional' => false, 'connection' => false, 'logo' => 'dashicons-before dashicons-admin-plugins', 'link' => false, 'details' => HMWP_Classes_Tools::getOption('hmwp_plugin_website') . '/kb/wp-ghost-compatibility-plugins-list/', 'show' => HMWP_Classes_Tools::isPluginActive( 'fusion-builder/fusion-builder.php' ), ), ); //for PHP 7.3.1 version $features = array_filter( $features ); return apply_filters( 'hmwp_features', $features ); } /** * Called when an action is triggered * * @throws Exception */ public function action() { parent::action(); if ( ! HMWP_Classes_Tools::userCan( HMWP_CAPABILITY ) ) { return; } //Save the settings if ( HMWP_Classes_Tools::getValue( 'action' ) == 'hmwp_feature_save' ) { if ( ! empty( $_POST ) ) { HMWP_Classes_ObjController::getClass( 'HMWP_Models_Settings' )->saveValues( $_POST ); if(HMWP_Classes_Tools::getIsset( 'hmwp_hide_oldpaths') || HMWP_Classes_Tools::getIsset( 'hmwp_hide_commonfiles') || HMWP_Classes_Tools::getIsset( 'hmwp_sqlinjection') || HMWP_Classes_Tools::getIsset( 'hmwp_disable_xmlrpc') || HMWP_Classes_Tools::getIsset( 'hmwp_mapping_text_show') || HMWP_Classes_Tools::getIsset( 'hmwp_mapping_url_show') ){ HMWP_Classes_ObjController::getClass( 'HMWP_Models_Settings' )->saveRules(); HMWP_Classes_ObjController::getClass( 'HMWP_Models_Settings' )->applyPermalinksChanged( true ); } } wp_send_json_success( esc_html__( 'Saved' ) ); } } } controllers/Rewrite.php000064400000041636147600042240011255 0ustar00initHooks(); } /** * Init the plugin hooks * * @return void * @throws Exception */ public function initHooks() { // Stop here is the option is default. // The previous code is needed for settings change and validation if ( HMWP_Classes_Tools::getOption( 'hmwp_mode' ) == 'default' ) { return; } // If the mod_rewrite is not set in Apache, return if ( HMWP_Classes_Tools::isApache() && ! HMWP_Classes_Tools::isModeRewrite() ) { return; } // If safe parameter is set, clear the banned IPs and let the default paths if ( HMWP_Classes_Tools::getIsset( HMWP_Classes_Tools::getOption( 'hmwp_disable_name' ) ) ) { if ( HMWP_Classes_Tools::getValue( HMWP_Classes_Tools::getOption( 'hmwp_disable_name' ) ) == HMWP_Classes_Tools::getOption( 'hmwp_disable' ) ) { HMWP_Classes_ObjController::getClass( 'HMWP_Controllers_Brute' )->clearBlockedIPs(); HMWP_Classes_Tools::saveOptions( 'banlist_ip', wp_json_encode( array() ) ); add_filter( 'site_url', array( $this->model, 'site_url' ), PHP_INT_MAX, 2 ); add_filter( 'hmwp_process_init', '__return_false' ); return; } } // Prevent slow websites due to misconfiguration in the config file if ( count( (array) HMWP_Classes_Tools::getOption( 'file_mappings' ) ) > 0 ) { if ( HMWP_Classes_Tools::getOption( 'prevent_slow_loading' ) ) { add_filter( 'hmwp_process_hide_urls', '__return_false' ); return; } } // Check the whitelist IPs & Paths for accessing the hide paths /** @var HMWP_Controllers_Firewall $firewall */ $firewall = HMWP_Classes_ObjController::getClass( 'HMWP_Controllers_Firewall' ); $firewall->checkWhitelistIPs(); $firewall->checkWhitelistPaths(); // Load the compatibility class when the plugin loads // Check boot compatibility for some plugins and functionalities HMWP_Classes_ObjController::getClass( 'HMWP_Models_Compatibility' )->checkCompatibility(); // Don't let to rename and hide the current paths if logout is required if ( HMWP_Classes_Tools::getOption( 'error' ) || HMWP_Classes_Tools::getOption( 'logout' ) ) { return; } // Check if the custom paths ar set to be processed if ( ! apply_filters( 'hmwp_process_init', true ) ) { return; } // Rename the author if set so add_filter( 'author_rewrite_rules', array( $this->model, 'author_url' ), PHP_INT_MAX, 1 ); // Filters add_filter( 'query_vars', array( $this->model, 'addParams' ), 1, 1 ); add_filter( 'login_redirect', array( $this->model, 'sanitize_login_redirect' ), 9, 3 ); add_filter( 'wp_redirect', array( $this->model, 'sanitize_redirect' ), PHP_INT_MAX, 2 ); add_filter( 'x_redirect_by', '__return_false', PHP_INT_MAX, 1 ); // Redirect based on current user role if ( HMWP_Classes_Tools::getOption( 'hmwp_do_redirects' ) ) { add_action( 'wp_login', array( $this->model, 'wp_login' ), PHP_INT_MAX, 2 ); add_action( 'set_current_user', array( 'HMWP_Classes_Tools', 'setCurrentUserRole' ), PHP_INT_MAX ); add_filter( 'hmwp_url_login_redirect', array( 'HMWP_Classes_Tools', 'getCustomLoginURL' ), 10, 1 ); add_filter( 'hmwp_url_logout_redirect', array( 'HMWP_Classes_Tools', 'getCustomLogoutURL' ), 10, 1 ); add_filter( 'woocommerce_login_redirect', array( 'HMWP_Classes_Tools', 'getCustomLoginURL' ), 10, 1 ); } // Custom hook for WPEngine if ( HMWP_Classes_Tools::isWpengine() && PHP_VERSION_ID >= 70400 ) { add_filter( 'wp_redirect', array( $this->model, 'loopCheck' ), PHP_INT_MAX, 1 ); } // Actions add_action( 'login_init', array( $this->model, 'login_init' ), PHP_INT_MAX ); add_action( 'login_head', array( $this->model, 'login_head' ), PHP_INT_MAX ); add_action( 'wp_logout', array( $this->model, 'wp_logout' ), PHP_INT_MAX ); add_action( 'check_admin_referer', array( $this->model, 'check_admin_referer' ), PHP_INT_MAX, 2 ); // Change the admin url hmwp_login_init add_filter( 'login_title', array( $this->model, 'login_title' ), PHP_INT_MAX, 1 ); add_filter( 'lostpassword_url', array( $this->model, 'lostpassword_url' ), PHP_INT_MAX, 1 ); add_filter( 'register', array( $this->model, 'register_url' ), PHP_INT_MAX, 1 ); add_filter( 'login_url', array( $this->model, 'login_url' ), PHP_INT_MAX, 1 ); add_filter( 'logout_url', array( $this->model, 'logout_url' ), PHP_INT_MAX, 2 ); add_filter( 'admin_url', array( $this->model, 'admin_url' ), PHP_INT_MAX, 3 ); add_filter( 'network_admin_url', array( $this->model, 'network_admin_url' ), PHP_INT_MAX, 3 ); add_filter( 'home_url', array( $this->model, 'home_url' ), PHP_INT_MAX, 3 ); add_filter( 'site_url', array( $this->model, 'site_url' ), PHP_INT_MAX, 3 ); add_filter( 'network_site_url', array( $this->model, 'site_url' ), PHP_INT_MAX, 3 ); add_filter( 'plugins_url', array( $this->model, 'plugin_url' ), PHP_INT_MAX, 3 ); add_filter( 'wp_php_error_message', array( $this->model, 'replace_error_message' ), PHP_INT_MAX, 2 ); // Change the rest api if needed add_filter( 'rest_url_prefix', array( $this->model, 'replace_rest_api' ), 1 ); // Check and set the cookies for the modified urls HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cookies' ); // Start the buffer sooner if one of these conditions // If is ajax call... start the buffer right away // Ts always change the paths if ( HMWP_Classes_Tools::isAjax() || HMW_ALWAYS_CHANGE_PATHS ) { // Start the buffer $this->model->startBuffer(); } // If not dashboard if ( ! is_admin() && ! is_network_admin() ) { // Check if buffer priority if ( apply_filters( 'hmwp_priority_buffer', HMWP_Classes_Tools::getOption( 'hmwp_priorityload' ) ) ) { // Starts the buffer $this->model->startBuffer(); } // Hook the rss & feed if ( HMWP_Classes_Tools::getOption( 'hmwp_hide_in_feed' ) ) { add_action( 'the_excerpt_rss', array( $this->model, 'find_replace' ) ); add_action( 'the_content_feed', array( $this->model, 'find_replace' ) ); add_action( 'rss2_head', array( $this->model, 'find_replace' ) ); add_action( 'commentsrss2_head', array( $this->model, 'find_replace' ) ); add_action( 'the_permalink_rss', array( $this->model, 'find_replace_url' ) ); add_action( 'comments_link_feed', array( $this->model, 'find_replace_url' ) ); add_action( 'get_site_icon_url', array( $this->model, 'find_replace_url' ) ); } // Hide WP version if ( HMWP_Classes_Tools::getOption( 'hmwp_hide_version' ) ) { add_filter( 'get_the_generator_atom', '__return_empty_string', 99, 2 ); add_filter( 'get_the_generator_comment', '__return_empty_string', 99, 2 ); add_filter( 'get_the_generator_export', '__return_empty_string', 99, 2 ); add_filter( 'get_the_generator_html', '__return_empty_string', 99, 2 ); add_filter( 'get_the_generator_rdf', '__return_empty_string', 99, 2 ); add_filter( 'get_the_generator_rss2', '__return_empty_string', 99, 2 ); add_filter( 'get_the_generator_xhtml', '__return_empty_string', 99, 2 ); } // Check the buffer on shutdown if ( HMWP_Classes_Tools::getOption( 'hmwp_hide_in_sitemap' ) && isset( $_SERVER['REQUEST_URI'] ) ) { // remove sitemap providers if ( HMWP_Classes_Tools::getOption( 'hmwp_hide_author_in_sitemap' ) ) { add_filter('wp_sitemaps_add_provider', function($provider, $name) { if ($name === 'users') { return false; } return $provider; }, 99, 2); } // Check the buffer on shutdown add_action( 'shutdown', array( $this->model, 'findReplaceXML' ), 0 ); //priority 0 is important } // Hide authors and users identification from website if ( HMWP_Classes_Tools::getOption( 'hmwp_hide_authors' ) ) { // Remove users from oembed add_filter('oembed_response_data', function ($data, $post, $width, $height) { unset($data['author_name']); unset($data['author_url']); return $data; }, 99, 4); // Remove users from Rest API call add_filter('rest_endpoints', array( $this->model, 'hideRestUsers' ), 99); // Remove user list from sitemaps add_filter( 'wp_sitemaps_users_pre_url_list', '__return_false', 99, 0 ); } // Robots.txt compatibility with other plugins if ( HMWP_Classes_Tools::getOption( 'hmwp_robots' ) && isset( $_SERVER['REQUEST_URI'] ) ) { // Compatibility with if ( strpos( $_SERVER['REQUEST_URI'], '/robots.txt' ) !== false ) { //phpcs:ignore add_action( 'shutdown', array( $this->model, 'replaceRobots' ), 0 ); //priority 0 is important } } // Hook the change paths on init add_action( 'init', array( $this, 'hookChangePaths' ) ); // Load the PluginLoaded Hook to hide URLs and Disable stuff add_action( 'init', array( $this, 'hookHideDisable' ) ); } // Load firewall on request for all server types add_action( 'plugins_loaded', array( $firewall, 'run' ) ); // Hide the URLs from admin and login // Load the hook on plugins_loaded to prevent any wp redirect add_action( 'plugins_loaded', array( $this->model, 'hideUrls' ) ); } /** * Hook the Hide & Disable options * * @throws Exception */ public function hookHideDisable() { // Check if is valid for moving on if ( HMWP_Classes_Tools::doHideDisable() ) { //////////////////////////////////Hide Options // Add the security header if needed if ( ! HMWP_Classes_Tools::isApache() && ! HMWP_Classes_Tools::isLitespeed() ) { // Avoid duplicates add_action( 'template_redirect', array( $this->model, 'addSecurityHeader' ), PHP_INT_MAX ); } // Remove PHP version, Server info, Server Signature from header. add_action( 'template_redirect', array( $this->model, 'hideHeaders' ), PHP_INT_MAX ); // Hide the WordPress Generator tag if ( HMWP_Classes_Tools::getOption( 'hmwp_hide_generator' ) ) { remove_action( 'wp_head', 'wp_generator' ); add_filter( 'the_generator', '__return_false', PHP_INT_MAX, 1 ); } // Hide the rest_api if ( HMWP_Classes_Tools::getOption( 'hmwp_hide_rest_api' ) || HMWP_Classes_Tools::getOption( 'hmwp_disable_rest_api' ) ) { $this->model->hideRestApi(); } // Hide Really Simple Discovery if ( HMWP_Classes_Tools::getOption( 'hmwp_hide_rsd' ) ) { $this->model->disableRsd(); } // Hide WordPress comments if ( HMWP_Classes_Tools::getOption( 'hmwp_hide_comments' ) ) { $this->model->disableComments(); } // Hide Windows Live Write if ( HMWP_Classes_Tools::getOption( 'hmwp_disable_manifest' ) ) { $this->model->disableManifest(); } //////////////////////////////////Disable Options // Disable the Emoji icons tag if ( HMWP_Classes_Tools::getOption( 'hmwp_disable_emojicons' ) ) { $this->model->disableEmojicons(); } // Disable the embeds if ( HMWP_Classes_Tools::getOption( 'hmwp_disable_embeds' ) ) { $this->model->disableEmbeds(); } // Disable the admin bar whe users are hidden in admin if ( HMWP_Classes_Tools::getOption( 'hmwp_hide_admin_toolbar' ) ) { if ( function_exists( 'is_user_logged_in' ) && is_user_logged_in() ) { HMWP_Classes_Tools::setCurrentUserRole(); $role = HMWP_Classes_Tools::getUserRole(); $selected_roles = (array) HMWP_Classes_Tools::getOption( 'hmwp_hide_admin_toolbar_roles' ); if ( in_array( $role, $selected_roles ) ) { add_filter( 'show_admin_bar', '__return_false' ); //phpcs:ignore } } } // Disable Database Debug if ( HMWP_Classes_Tools::getOption( 'hmwp_disable_debug' ) ) { global $wpdb; $wpdb->hide_errors(); } } // Check if Disable keys and mouse action is on if ( HMWP_Classes_Tools::doDisableClick() ) { // Only disable the click and keys for visitors if ( ! is_user_logged_in() ) { HMWP_Classes_ObjController::getClass( 'HMWP_Models_Clicks' ); } else { HMWP_Classes_Tools::setCurrentUserRole(); $role = HMWP_Classes_Tools::getUserRole(); if ( HMWP_Classes_Tools::getOption( 'hmwp_disable_click_loggedusers' ) ) { $selected_roles = (array) HMWP_Classes_Tools::getOption( 'hmwp_disable_click_roles' ); if ( ! in_array( $role, $selected_roles ) ) { add_filter( 'hmwp_option_hmwp_disable_click', '__return_false' ); } } else { add_filter( 'hmwp_option_hmwp_disable_click', '__return_false' ); } if ( HMWP_Classes_Tools::getOption( 'hmwp_disable_inspect_loggedusers' ) ) { $selected_roles = (array) HMWP_Classes_Tools::getOption( 'hmwp_disable_inspect_roles' ); if ( ! in_array( $role, $selected_roles ) ) { add_filter( 'hmwp_option_hmwp_disable_inspect', '__return_false' ); } } else { add_filter( 'hmwp_option_hmwp_disable_inspect', '__return_false' ); } if ( HMWP_Classes_Tools::getOption( 'hmwp_disable_source_loggedusers' ) ) { $selected_roles = (array) HMWP_Classes_Tools::getOption( 'hmwp_disable_source_roles' ); if ( ! in_array( $role, $selected_roles ) ) { add_filter( 'hmwp_option_hmwp_disable_source', '__return_false' ); } } else { add_filter( 'hmwp_option_hmwp_disable_source', '__return_false' ); } if ( HMWP_Classes_Tools::getOption( 'hmwp_disable_copy_paste_loggedusers' ) ) { $selected_roles = (array) HMWP_Classes_Tools::getOption( 'hmwp_disable_copy_paste_roles' ); if ( ! in_array( $role, $selected_roles ) ) { add_filter( 'hmwp_option_hmwp_disable_copy_paste', '__return_false' ); } } else { add_filter( 'hmwp_option_hmwp_disable_copy_paste', '__return_false' ); } if ( HMWP_Classes_Tools::getOption( 'hmwp_disable_drag_drop_loggedusers' ) ) { $selected_roles = (array) HMWP_Classes_Tools::getOption( 'hmwp_disable_drag_drop_roles' ); if ( ! in_array( $role, $selected_roles ) ) { add_filter( 'hmwp_option_hmwp_disable_drag_drop', '__return_false' ); } } else { add_filter( 'hmwp_option_hmwp_disable_drag_drop', '__return_false' ); } //check again if the options are active after the filter are applied if ( HMWP_Classes_Tools::getOption( 'hmwp_disable_click' ) || HMWP_Classes_Tools::getOption( 'hmwp_disable_inspect' ) || HMWP_Classes_Tools::getOption( 'hmwp_disable_source' ) || HMWP_Classes_Tools::getOption( 'hmwp_disable_copy_paste' ) || HMWP_Classes_Tools::getOption( 'hmwp_disable_drag_drop' ) ) { HMWP_Classes_ObjController::getClass( 'HMWP_Models_Clicks' ); } } } } /** * Hook the Change Paths process * * @throws Exception */ public function hookChangePaths() { if ( ! HMWP_Classes_Tools::getValue( 'hmwp_preview' ) ) { // If not frontend preview/testing if ( (HMWP_Classes_Tools::getOption( 'hmwp_mapping_text_show' ) && HMWP_Classes_Tools::getOption( 'hmwp_mapping_file' )) || count( (array) HMWP_Classes_Tools::getOption( 'file_mappings' ) ) > 0 ) { // Load MappingFile Check the Mapping Files // Check the mapping file in case of config issues or missing rewrites HMWP_Classes_ObjController::getClass( 'HMWP_Models_Files' )->maybeShowFile(); } // In case of broken URL, try to load it // Priority 1 is working for broken files add_action( 'template_redirect', array( HMWP_Classes_ObjController::getClass( 'HMWP_Models_Files' ), 'maybeShowNotFound' ), 1 ); } // Check Compatibilities with other plugins HMWP_Classes_ObjController::getClass( 'HMWP_Models_Compatibility' )->checkBuildersCompatibility(); /////////////////////////////////////////////// /// Check if changing the paths is true if ( HMWP_Classes_Tools::doChangePaths() ) { if ( apply_filters( 'hmwp_laterload', HMWP_Classes_Tools::getOption( 'hmwp_laterload' ) ) ) { // On Late loading, start the buffer on template_redirect add_action( 'template_redirect', array( $this->model, 'startBuffer' ), PHP_INT_MAX ); } else { add_action( 'template_redirect', array( $this->model, 'startBuffer' ), 1 ); } add_action( 'login_init', array( $this->model, 'startBuffer' ) ); } } /** * On Admin Init * Load the Menu * If the user changes the Permalink to default ... prevent errors * * @throws Exception */ public function hookInit() { // If the user changes the Permalink to default ... prevent errors if ( HMWP_Classes_Tools::userCan( HMWP_CAPABILITY ) && HMWP_Classes_Tools::getValue( 'settings-updated' ) ) { if ( 'default' <> HMWP_Classes_Tools::getOption( 'hmwp_mode' ) ) { $this->model->flushChanges(); } } // Show the menu for admins only HMWP_Classes_ObjController::getClass( 'HMWP_Controllers_Menu' )->hookInit(); } } controllers/SecurityCheck.php000064400000251216147600042240012376 0ustar00 'hmwp_securitycheck' ) { return; } // Initiate security $this->initSecurity(); // Add the Menu Tabs in variable if ( is_rtl() ) { HMWP_Classes_ObjController::getClass( 'HMWP_Classes_DisplayController' )->loadMedia( 'bootstrap.rtl' ); HMWP_Classes_ObjController::getClass( 'HMWP_Classes_DisplayController' )->loadMedia( 'rtl' ); } else { HMWP_Classes_ObjController::getClass( 'HMWP_Classes_DisplayController' )->loadMedia( 'bootstrap' ); } HMWP_Classes_ObjController::getClass( 'HMWP_Classes_DisplayController' )->loadMedia( 'font-awesome' ); HMWP_Classes_ObjController::getClass( 'HMWP_Classes_DisplayController' )->loadMedia( 'settings' ); HMWP_Classes_ObjController::getClass( 'HMWP_Classes_DisplayController' )->loadMedia( 'alert' ); if ( HMWP_Classes_Tools::getOption( 'hmwp_security_alert' ) ) { if ( $this->securitycheck_time = get_option( HMWP_SECURITY_CHECK_TIME ) ) { if ( time() - $this->securitycheck_time['timestamp'] > ( 3600 * 24 * 7 ) ) { HMWP_Classes_Error::setNotification( esc_html__( 'You should check your website every week to see if there are any security changes.', 'hide-my-wp' ) ); HMWP_Classes_ObjController::getClass( 'HMWP_Classes_Error' )->hookNotices(); } } } // Show connect for activation if ( ! HMWP_Classes_Tools::getOption( 'hmwp_token' ) ) { $this->show( 'Connect' ); return; } $this->risktasks = $this->getRiskTasks(); $this->riskreport = $this->getRiskReport(); //Show connect for activation echo ''; $this->show( 'SecurityCheck' ); } /** * Initiate Security List * * @return array|mixed */ public function initSecurity() { $this->report = get_option( HMWP_SECURITY_CHECK ); if ( ! empty( $this->report ) ) { if ( ! $tasks_ignored = get_option( HMWP_SECURITY_CHECK_IGNORE ) ) { $tasks_ignored = array(); } $tasks = $this->getTasks(); foreach ( $this->report as $function => &$row ) { if ( ! in_array( $function, $tasks_ignored ) ) { if ( isset( $tasks[ $function ] ) ) { if ( isset( $row['version'] ) && $function == 'checkWP' && isset( $tasks[ $function ]['solution'] ) ) { $tasks[ $function ]['solution'] = str_replace( '{version}', $row['version'], $tasks[ $function ]['solution'] ); } $row = array_merge( $tasks[ $function ], $row ); if ( ! HMWP_Classes_Tools::getOption( 'hmwp_token' ) || HMWP_Classes_Tools::getOption( 'hmwp_mode' ) == 'default' ) { if ( isset( $row['javascript'] ) && $row['javascript'] <> '' ) { $row['javascript'] = 'jQuery(\'#hmwp_security_mode_require_modal\').modal(\'show\')'; } } } } else { unset( $this->report[ $function ] ); } } } return $this->report; } /** * Get the Risk Tasks for speedometer * * @return array */ public function getRiskTasks() { return array( 'checkPHP', 'checkXmlrpc', 'checkUsersById', 'checkRDS', 'checkUploadsBrowsable', 'checkConfig', 'checkOldLogin', 'checkOldPaths', 'checkCommonPaths', 'checkVersionDisplayed', 'checkSSL', 'checkDBDebug', 'checkAdminUsers', 'checkFirewall', ); } /** * Get the Risk Report for Daskboard Widget and speedometer * * @return array */ public function getRiskReport() { $riskreport = array(); //get all the risk tasks $risktasks = $this->getRiskTasks(); //initiate the security report $report = $this->initSecurity(); if ( ! empty( $report ) ) { foreach ( $report as $function => $row ) { if ( in_array( $function, $risktasks ) ) { if ( ! $row['valid'] ) { //add the invalid tasks into risk report $riskreport[ $function ] = $row; } } } } // Return the risk report return $riskreport; } /** * @return string|void */ public function getRiskErrorCount() { $tasks = $this->getRiskReport(); if ( is_array( $tasks ) && count( $tasks ) > 0 ) { return '' . count( $tasks ) . ''; } } /** * Get all the security tasks * * @return array */ public function getTasks() { return array( 'checkPHP' => array( 'name' => esc_html__( 'PHP Version', 'hide-my-wp' ), 'value' => false, 'valid' => false, 'warning' => false, 'message' => __( "Using an old version of PHP makes your site slow and prone to hacker attacks due to known vulnerabilities that exist in versions of PHP that are no longer maintained.

You need PHP 7.4 or higher for your website.", 'hide-my-wp' ), 'solution' => esc_html__( "Email your hosting company and tell them you'd like to switch to a newer version of PHP or move your site to a better hosting company.", 'hide-my-wp' ), ), 'checkMysql' => array( 'name' => esc_html__( 'Mysql Version', 'hide-my-wp' ), 'value' => false, 'valid' => false, 'warning' => false, 'message' => __( "Using an old version of MySQL makes your site slow and prone to hacker attacks due to known vulnerabilities that exist in versions of MySQL that are no longer maintained.

You need Mysql 5.4 or higher", 'hide-my-wp' ), 'solution' => esc_html__( "Email your hosting company and tell them you'd like to switch to a newer version of MySQL or move your site to a better hosting company", 'hide-my-wp' ), ), 'checkWP' => array( 'name' => esc_html__( 'WordPress Version', 'hide-my-wp' ), 'value' => false, 'valid' => false, 'warning' => false, 'message' => sprintf( __( "You should always update WordPress to the %slatest versions%s. These usually include the latest security fixes, and don't alter WP in any significant way. These should be applied as soon as WP releases them.

When a new version of WordPress is available, you will receive an update message on your WordPress Admin screens. To update WordPress, click the link in this message.", 'hide-my-wp' ), '', '' ), 'solution' => esc_html__( "There is a newer version of WordPress available ({version}).", 'hide-my-wp' ), ), 'checkWPDebug' => array( 'name' => esc_html__( 'WP Debug Mode', 'hide-my-wp' ), 'value' => false, 'valid' => false, 'warning' => false, 'message' => __( "Every good developer should turn on debugging before getting started on a new plugin or theme. In fact, the WordPress Codex 'highly recommends' that developers use WP_DEBUG.

Unfortunately, many developers forget the debug mode, even when the website is live. Showing debug logs in the frontend will let hackers know a lot about your WordPress website.", 'hide-my-wp' ), 'solution' => __( "Disable WP_DEBUG for live websites in wp-config.php define('WP_DEBUG', false);", 'hide-my-wp' ), 'javascript' => "jQuery(this).hmwp_fixConfig('WP_DEBUG',false);", ), 'checkDBDebug' => array( 'name' => esc_html__( 'DB Debug Mode', 'hide-my-wp' ), 'value' => false, 'valid' => false, 'warning' => false, 'message' => esc_html__( "It's not safe to have Database Debug turned on. Make sure you don't use Database debug on live websites.", 'hide-my-wp' ), 'solution' => sprintf( __( "Turn off the debug plugins if your website is live. You can also add the option to hide the DB errors global \x24wpdb; \x24wpdb->hide_errors(); in wp-config.php file", 'hide-my-wp' ), '', HMWP_Classes_Tools::getOption( 'hmwp_plugin_menu' ), '' ), 'javascript' => "jQuery(this).hmwp_fixSettings('hmwp_disable_debug',1);", ), 'checkScriptDebug' => array( 'name' => esc_html__( 'Script Debug Mode', 'hide-my-wp' ), 'value' => false, 'valid' => false, 'warning' => false, 'message' => __( "Every good developer should turn on debugging before getting started on a new plugin or theme. In fact, the WordPress Codex 'highly recommends' that developers use SCRIPT_DEBUG. Unfortunately, many developers forget the debug mode even when the website is live. Showing debug logs in the frontend will let hackers know a lot about your WordPress website.", 'hide-my-wp' ), 'solution' => __( "Disable SCRIPT_DEBUG for live websites in wp-config.php define('SCRIPT_DEBUG', false);", 'hide-my-wp' ), 'javascript' => "jQuery(this).hmwp_fixConfig('SCRIPT_DEBUG',false);", ), 'checkDisplayErrors' => array( 'name' => esc_html__( 'display_errors PHP directive', 'hide-my-wp' ), 'value' => false, 'valid' => false, 'warning' => false, 'message' => esc_html__( "Displaying any kind of debug info in the frontend is extremely bad. If any PHP errors happen on your site they should be logged in a safe place and not displayed to visitors or potential attackers.", 'hide-my-wp' ), 'solution' => __( "Edit wp-config.php and add ini_set('display_errors', 0); at the end of the file", 'hide-my-wp' ), ), 'checkSSL' => array( 'name' => esc_html__( 'Backend under SSL', 'hide-my-wp' ), 'value' => false, 'valid' => false, 'warning' => false, 'message' => __( "SSL is an abbreviation used for Secure Sockets Layers, which are encryption protocols used on the internet to secure information exchange and provide certificate information.

These certificates provide an assurance to the user about the identity of the website they are communicating with. SSL may also be called TLS or Transport Layer Security protocol.

It's important to have a secure connection for the Admin Dashboard in WordPress.", 'hide-my-wp' ), 'solution' => sprintf( esc_html__( "Learn how to set your website as %s. %sClick Here%s", 'hide-my-wp' ), '' . str_replace( 'http:', 'https:', home_url() ) . '', '', '' ), ), 'checkAdminUsers' => array( 'name' => esc_html__( "User 'admin' or 'administrator' as Administrator", 'hide-my-wp' ), 'value' => false, 'valid' => false, 'warning' => false, 'message' => __( "In the old days, the default WordPress admin username was 'admin' or 'administrator'. Since usernames make up half of the login credentials, this made it easier for hackers to launch brute-force attacks.

Thankfully, WordPress has since changed this and now requires you to select a custom username at the time of installing WordPress.", 'hide-my-wp' ), 'solution' => esc_html__( "Change the user 'admin' or 'administrator' with another name to improve security.", 'hide-my-wp' ), 'javascript' => "jQuery('#hmwp_fixadmin_modal').modal('show');", ), 'checkUserRegistration' => array( 'name' => esc_html__( "Spammers can easily signup", 'hide-my-wp' ), 'value' => false, 'valid' => false, 'warning' => false, 'message' => __( "You shouldn't let users subscribe to your blog if you don't have an e-commerce, membership, or guest posting website. You will end up with spam registrations, and your website will be filled with spammy content and comments. We recommend using the Brute Force protection on the registration form.", 'hide-my-wp' ), 'solution' => sprintf( esc_html__( "Change the signup path from %s %s > Change Paths > Custom Register URL %s then activate Brute Force on Sign up from %s %s > Brute Force > Settings %s or uncheck the option %s > %s > %s", 'hide-my-wp' ), '', HMWP_Classes_Tools::getOption( 'hmwp_plugin_menu' ), '', '', HMWP_Classes_Tools::getOption( 'hmwp_plugin_menu' ), '', '' . esc_html__( 'Settings' ), esc_html__( 'General' ), esc_html__( 'Anyone can register' ) . '' ) ), 'checkPluginsUpdates' => array( 'name' => esc_html__( "Outdated Plugins", 'hide-my-wp' ), 'value' => false, 'valid' => false, 'warning' => false, 'message' => __( "WordPress and its plugins and themes are like any other software installed on your computer, and like any other application on your devices. Periodically, developers release updates which provide new features, or fix known bugs.

These new features may not necessarily be something that you want. In fact, you may be perfectly satisfied with the functionality you currently have. Nevertheless, you are still likely to be concerned about bugs.

Software bugs can come in many shapes and sizes. A bug could be very serious, such as preventing users from using a plugin, or it could be minor and only affect a certain part of a theme, for example. In some cases, bugs can cause serious security holes.

Keeping plugins up to date is one of the most important and easiest ways to keep your site secure.", 'hide-my-wp' ), 'solution' => esc_html__( "Go to the Dashboard > Plugins section and update all the plugins to the last version.", 'hide-my-wp' ), ), 'checkOldPlugins' => array( 'name' => esc_html__( "Not Recent Updates Released", 'hide-my-wp' ), 'value' => false, 'valid' => false, 'warning' => false, 'message' => esc_html__( "Plugins that have not been updated in the last 12 months can have real security problems. Make sure you use updated plugins from WordPress Directory.", 'hide-my-wp' ), 'solution' => esc_html__( "Go to the Dashboard > Plugins section and update all the plugins to the last version.", 'hide-my-wp' ), ), 'checkThemesUpdates' => array( 'name' => esc_html__( "Outdated Themes", 'hide-my-wp' ), 'value' => false, 'valid' => false, 'warning' => false, 'message' => __( "WordPress and its plugins and themes are like any other software installed on your computer, and like any other application on your devices. Periodically developers release updates which provide new features or fix known bugs.

New features may be something that you do not necessarily want. In fact, you may be perfectly satisfied with the functionality you currently have. Nevertheless, you may still be concerned about bugs.

Software bugs can come in many shapes and sizes. A bug could be very serious, such as preventing users from using a plugin, or it could be a minor bug that only affects a certain part of a theme, for example. In some cases, bugs can even cause serious security holes.

Keeping themes up to date is one of the most important and easiest ways to keep your site secure.", 'hide-my-wp' ), 'solution' => esc_html__( "Go to the Dashboard > Appearance section and update all the themes to the last version.", 'hide-my-wp' ), ), 'checkDBPrefix' => array( 'name' => esc_html__( "Database Prefix", 'hide-my-wp' ), 'value' => false, 'valid' => false, 'warning' => false, 'message' => __( "The WordPress database is like a brain for your entire WordPress site, because every single bit of information about your site is stored there, thus making it a hacker’s favorite target.

Spammers and hackers run automated code for SQL injections.
Unfortunately, many people forget to change the database prefix when they install WordPress.
This makes it easier for hackers to plan a mass attack by targeting the default prefix wp_.", 'hide-my-wp' ), 'solution' => sprintf( esc_html__( "%s protects your website from most SQL injections but, if possible, use a custom prefix for database tables to avoid SQL injections. %sRead more%s", 'hide-my-wp' ), HMWP_Classes_Tools::getOption( 'hmwp_plugin_name' ), '', '' ), 'javascript' => "jQuery(this).hmwp_fixPrefix(true);", ), 'checkFilePermissions' => array( 'name' => esc_html__( "File Permissions", 'hide-my-wp' ), 'value' => false, 'valid' => false, 'warning' => false, 'message' => __( "File permissions in WordPress play a critical role in website security. Properly configuring these permissions ensures that unauthorized users cannot gain access to sensitive files and data.
Incorrect permissions can inadvertently open your website to attacks, making it vulnerable.
As a WordPress administrator, understanding and correctly setting file permissions are essential for safeguarding your site against potential threats.", 'hide-my-wp' ), 'solution' => sprintf( esc_html__( "Even if the default paths are protected by %s after customization, we recommend setting the correct permissions for all directories and files on your website, use File Manager or FTP to check and change the permissions. %sRead more%s", 'hide-my-wp' ), HMWP_Classes_Tools::getOption( 'hmwp_plugin_name' ), '', '' ), 'javascript' => "jQuery('#hmwp_fixpermissions_modal').modal('show');", ), 'checkSaltKeys' => array( 'name' => esc_html__( "Salts and Security Keys valid", 'hide-my-wp' ), 'value' => false, 'valid' => false, 'warning' => false, 'message' => __( "Security keys are used to ensure better encryption of information stored in the user's cookies and hashed passwords.

These make your site more difficult to hack, access and crack by adding random elements to the password. You don't have to remember these keys. In fact, once you set them you'll never see them again. Therefore, there's no excuse for not setting them properly.", 'hide-my-wp' ), 'solution' => __( "Security keys are defined in wp-config.php as constants on lines. They should be as unique and as long as possible. AUTH_KEY,SECURE_AUTH_KEY,LOGGED_IN_KEY,NONCE_KEY,AUTH_SALT,SECURE_AUTH_SALT,LOGGED_IN_SALT,NONCE_SALT", 'hide-my-wp' ), 'javascript' => "jQuery(this).hmwp_fixSalts(true);", ), 'checkSaltKeysAge' => array( 'name' => esc_html__( "Security Keys Updated", 'hide-my-wp' ), 'value' => false, 'valid' => false, 'warning' => false, 'message' => esc_html__( "The security keys in wp-config.php should be renewed as often as possible.", 'hide-my-wp' ), 'solution' => sprintf( __( "You can generate %snew Keys from here%s AUTH_KEY,SECURE_AUTH_KEY,LOGGED_IN_KEY,NONCE_KEY,AUTH_SALT,SECURE_AUTH_SALT,LOGGED_IN_SALT,NONCE_SALT", 'hide-my-wp' ), '', '' ), 'javascript' => "jQuery(this).hmwp_fixSalts(true);", ), 'checkDbPassword' => array( 'name' => esc_html__( "WordPress Database Password", 'hide-my-wp' ), 'value' => false, 'valid' => false, 'warning' => false, 'message' => __( "There is no such thing as an \"unimportant password\"! The same goes for your WordPress database password.
Although most servers are configured so that the database can't be accessed from other hosts (or from outside the local network), that doesn't mean your database password should be \"12345\" or no password at all.", 'hide-my-wp' ), 'solution' => __( "Choose a proper database password, at least 8 characters long with a combination of letters, numbers and special characters. After you change it, set the new password in the wp-config.php file define('DB_PASSWORD', 'NEW_DB_PASSWORD_GOES_HERE');", 'hide-my-wp' ), ), 'checkCommonPaths' => array( 'name' => sprintf( esc_html__( "%s is visible in source code", 'hide-my-wp' ), '/' . HMWP_Classes_Tools::getDefault( 'hmwp_wp-content_url' ) ), 'value' => false, 'valid' => false, 'warning' => false, 'message' => esc_html__( "It's important to rename common WordPress paths, such as wp-content and wp-includes to prevent hackers from knowing that you have a WordPress website.", 'hide-my-wp' ), 'solution' => sprintf( esc_html__( "Change the wp-content, wp-includes and other common paths with %s %s > Change Paths%s", 'hide-my-wp' ), '', HMWP_Classes_Tools::getOption( 'hmwp_plugin_menu' ), '' ), ), 'checkOldPaths' => array( 'name' => sprintf( esc_html__( "%s path is accessible", 'hide-my-wp' ), '/' . HMWP_Classes_Tools::getDefault( 'hmwp_wp-content_url' ) ), 'value' => false, 'valid' => false, 'warning' => false, 'message' => __( "It's important to hide the common WordPress paths to prevent attacks on vulnerable plugins and themes.
Also, it's important to hide the names of plugins and themes to make it impossible for bots to detect them.", 'hide-my-wp' ), 'solution' => sprintf( esc_html__( "Switch on %s %s > Change Paths > Hide WordPress Common Paths%s", 'hide-my-wp' ), '', HMWP_Classes_Tools::getOption( 'hmwp_plugin_menu' ), '' ), 'javascript' => "jQuery(this).hmwp_fixSettings('hmwp_hide_oldpaths',1);", ), 'checkAdminPath' => array( 'name' => sprintf( esc_html__( "%s is visible in source code", 'hide-my-wp' ), '/' . HMWP_Classes_Tools::getOption( 'hmwp_admin_url' ) ), 'value' => false, 'valid' => false, 'warning' => false, 'message' => sprintf( __( "Having the admin URL visible in the source code is awful because hackers will immediately know your secret admin path and start a Brute Force attack. The custom admin path should not appear in the ajax URL.

Find solutions for %s how to hide the path from source code %s.", 'hide-my-wp' ), '', '' ), 'solution' => sprintf( esc_html__( "Switch on %s %s > Change Paths > Hide wp-admin from ajax URL%s. Hide any reference to admin path from the installed plugins.", 'hide-my-wp' ), '', HMWP_Classes_Tools::getOption( 'hmwp_plugin_menu' ), '', '', '' ), ), 'checkLoginPath' => array( 'name' => sprintf( esc_html__( "%s is visible in source code", 'hide-my-wp' ), '/' . HMWP_Classes_Tools::getOption( 'hmwp_login_url' ) ), 'value' => false, 'valid' => false, 'warning' => false, 'message' => sprintf( __( "Having the login URL visible in the source code is awful because hackers will immediately know your secret login path and start a Brute Force attack.

The custom login path should be kept secret, and you should have Brute Force Protection activated for it.

Find solutions for %s hiding the login path from source code here %s.", 'hide-my-wp' ), '', '' ), 'solution' => sprintf( esc_html__( "%sHide the login path%s from theme menu or widget.", 'hide-my-wp' ), '', '' ), ), 'checkOldLogin' => array( 'name' => sprintf( esc_html__( "%s path is accessible", 'hide-my-wp' ), '/' . HMWP_Classes_Tools::getDefault( 'hmwp_login_url' ) ), 'value' => false, 'valid' => false, 'warning' => false, 'message' => __( "If your site allows user logins, you need your login page to be easy to find for your users. You also need to do other things to protect against malicious login attempts.

However, obscurity is a valid security layer when used as part of a comprehensive security strategy, and if you want to cut down on the number of malicious login attempts. Making your login page difficult to find is one way to do that.", 'hide-my-wp' ), 'solution' => sprintf( esc_html__( "Change the wp-login from %s %s > Change Paths > Custom login URL%s and Switch on %s %s > Brute Force Protection%s", 'hide-my-wp' ), '', HMWP_Classes_Tools::getOption( 'hmwp_plugin_menu' ), '', '', HMWP_Classes_Tools::getOption( 'hmwp_plugin_menu' ), '' ), ), 'checkConfig' => array( 'name' => esc_html__( "wp-config.php & wp-config-sample.php files are accessible", 'hide-my-wp' ), 'value' => false, 'valid' => false, 'warning' => false, 'message' => __( "One of the most important files in your WordPress installation is the wp-config.php file.
This file is located in the root directory of your WordPress installation and contains your website's base configuration details, such as database connection information.", 'hide-my-wp' ), 'solution' => sprintf( esc_html__( "Switch on %s %s > Change Paths > Hide WordPress Common Files%s", 'hide-my-wp' ), '', HMWP_Classes_Tools::getOption( 'hmwp_plugin_menu' ), '' ), 'javascript' => "jQuery(this).hmwp_fixSettings('hmwp_hide_commonfiles',1);", ), 'checkReadme' => array( 'name' => esc_html__( "readme.html file is accessible", 'hide-my-wp' ), 'value' => false, 'valid' => false, 'warning' => false, 'message' => esc_html__( "It's important to hide or remove the readme.html file because it contains WP version details.", 'hide-my-wp' ), 'solution' => sprintf( esc_html__( "Rename readme.html file or switch on %s %s > Change Paths > Hide WordPress Common Files%s", 'hide-my-wp' ), '', HMWP_Classes_Tools::getOption( 'hmwp_plugin_menu' ), '' ), 'javascript' => "jQuery(this).hmwp_fixSettings('hmwp_hide_commonfiles',1);", ), 'checkInstall' => array( 'name' => esc_html__( "install.php & upgrade.php files are accessible", 'hide-my-wp' ), 'value' => false, 'valid' => false, 'warning' => false, 'message' => __( "WordPress is well-known for its ease of installation.
It's important to hide the wp-admin/install.php and wp-admin/upgrade.php files because there have already been a couple of security issues regarding these files.", 'hide-my-wp' ), 'solution' => sprintf( esc_html__( "Rename wp-admin/install.php & wp-admin/upgrade.php files or switch on %s %s > Change Paths > Hide WordPress Common Paths%s", 'hide-my-wp' ), '', HMWP_Classes_Tools::getOption( 'hmwp_plugin_menu' ), '' ), 'javascript' => "jQuery(this).hmwp_fixSettings('hmwp_hide_commonfiles',1);", ), 'checkFirewall' => array( 'name' => esc_html__( "Firewall against injections is loaded", 'hide-my-wp' ), 'value' => false, 'valid' => false, 'warning' => false, 'message' => __( "The most common way to hack a website is by accessing the domain and adding harmful queries in order to reveal information from files and database.
These attacks are made on any website, WordPress or not, and if a call succeeds … it will probably be too late to save the website.", 'hide-my-wp' ), 'solution' => sprintf( esc_html__( "Activate the firewall and select the firewall strength that works for your website %s %s > Change Paths > Firewall & Headers %s", 'hide-my-wp' ), '', HMWP_Classes_Tools::getOption( 'hmwp_plugin_menu' ), '' ), 'javascript' => "jQuery(this).hmwp_fixSettings('hmwp_sqlinjection',1);", ), 'checkVersionDisplayed' => array( 'name' => esc_html__( "Versions in Source Code", 'hide-my-wp' ), 'value' => false, 'valid' => false, 'warning' => false, 'message' => __( "WordPress, plugins and themes add their version info to the source code, so anyone can see it.

Hackers can easily find a website with vulnerable version plugins or themes, and target these with Zero-Day Exploits.", 'hide-my-wp' ), 'solution' => sprintf( esc_html__( "Switch on %s %s > Tweaks > %s %s", 'hide-my-wp' ), '', HMWP_Classes_Tools::getOption( 'hmwp_plugin_menu' ), esc_html__( 'Hide Versions from Images, CSS and JS', 'hide-my-wp' ), '' ), 'javascript' => "jQuery(this).hmwp_fixSettings('hmwp_hide_version',1);", ), 'checkRegisterGlobals' => array( 'name' => esc_html__( "PHP register_globals is on", 'hide-my-wp' ), 'value' => false, 'valid' => false, 'warning' => false, 'message' => esc_html__( "This is one of the biggest security issues you can have on your site! If your hosting company has this directive enabled by default, switch to another company immediately!", 'hide-my-wp' ), 'solution' => __( "If you have access to php.ini file, set register_globals = off or contact the hosting company to set it off", 'hide-my-wp' ), ), 'checkExposedPHP' => array( 'name' => esc_html__( "PHP expose_php is on", 'hide-my-wp' ), 'value' => false, 'valid' => false, 'warning' => false, 'message' => esc_html__( "Exposing the PHP version will make the job of attacking your site much easier.", 'hide-my-wp' ), 'solution' => __( "If you have access to php.ini file, set expose_php = off or contact the hosting company to set it off", 'hide-my-wp' ), ), 'checkPHPSafe' => array( 'name' => esc_html__( "PHP safe_mode is on", 'hide-my-wp' ), 'value' => false, 'valid' => false, 'warning' => false, 'message' => __( "PHP safe mode was one of the attempts to solve security problems of shared web hosting servers.

It is still being used by some web hosting providers, however, nowadays this is regarded as improper. A systematic approach proves that it’s architecturally incorrect to try solving complex security issues at the PHP level, rather than at the web server and OS levels.

Technically, safe mode is a PHP directive that restricts the way some built-in PHP functions operate. The main problem here is inconsistency. When turned on, PHP safe mode may prevent many legitimate PHP functions from working correctly. At the same time there exists a variety of methods to override safe mode limitations using PHP functions that aren’t restricted, so if a hacker has already got in – safe mode is useless.", 'hide-my-wp' ), 'solution' => __( "If you have access to php.ini file, set safe_mode = off or contact the hosting company to set it off", 'hide-my-wp' ), ), 'checkAllowUrlInclude' => array( 'name' => esc_html__( "PHP allow_url_include is on", 'hide-my-wp' ), 'value' => false, 'valid' => false, 'warning' => false, 'message' => __( "Having this PHP directive enabled will leave your site exposed to cross-site attacks (XSS).

There's absolutely no valid reason to enable this directive, and using any PHP code that requires it is very risky.", 'hide-my-wp' ), 'solution' => __( "If you have access to php.ini file, set allow_url_include = off or contact the hosting company to set it off", 'hide-my-wp' ), ), 'checkAdminEditor' => array( 'name' => esc_html__( "Plugins/Themes editor disabled", 'hide-my-wp' ), 'value' => false, 'valid' => false, 'warning' => false, 'message' => __( "The plugins and themes file editor is a very convenient tool because it enables you to make quick changes without the need to use FTP.

Unfortunately, it's also a security issue because it not only shows the PHP source code, it also enables attackers to inject malicious code into your site if they manage to gain access to admin.", 'hide-my-wp' ), 'solution' => __( "Disable DISALLOW_FILE_EDIT for live websites in wp-config.php define('DISALLOW_FILE_EDIT', true);", 'hide-my-wp' ), 'javascript' => "jQuery(this).hmwp_fixConfig('DISALLOW_FILE_EDIT',true);", ), 'checkUploadsBrowsable' => array( 'name' => sprintf( esc_html__( "Folder %s is browsable", 'hide-my-wp' ), HMWP_Classes_Tools::getDefault( 'hmwp_upload_url' ) ), 'value' => false, 'valid' => false, 'warning' => false, 'message' => esc_html__( "Allowing anyone to view all files in the Uploads folder with a browser will allow them to easily download all your uploaded files. It's a security and a copyright issue.", 'hide-my-wp' ), 'solution' => sprintf( esc_html__( "Learn how to disable %sDirectory Browsing%s or switch on %s %s > Change Paths > Disable Directory Browsing%s", 'hide-my-wp' ), '', '', '', HMWP_Classes_Tools::getOption( 'hmwp_plugin_menu' ), '' ), 'javascript' => "jQuery(this).hmwp_fixSettings('hmwp_disable_browsing',1);", ), 'checkWLW' => array( 'name' => esc_html__( "Windows Live Writer is on", 'hide-my-wp' ), 'value' => false, 'valid' => false, 'warning' => false, 'message' => esc_html__( "If you're not using Windows Live Writer there's really no valid reason to have its link in the page header, because this tells the whole world you're using WordPress.", 'hide-my-wp' ), 'solution' => sprintf( esc_html__( "Switch on %s %s > Tweaks > Hide WLW Manifest scripts%s", 'hide-my-wp' ), '', HMWP_Classes_Tools::getOption( 'hmwp_plugin_menu' ), '' ), 'javascript' => "jQuery(this).hmwp_fixSettings('hmwp_disable_manifest',1);", ), 'checkXmlrpc' => array( 'name' => esc_html__( "XML-RPC access is on", 'hide-my-wp' ), 'value' => false, 'valid' => false, 'warning' => false, 'message' => __( "WordPress XML-RPC is a specification that aims to standardize communications between different systems. It uses HTTP as the transport mechanism and XML as encoding mechanism to enable a wide range of data to be transmitted.

The two biggest assets of the API are its extendibility and its security. XML-RPC authenticates using basic authentication. It sends the username and password with each request, which is a big no-no in security circles.", 'hide-my-wp' ), 'solution' => sprintf( esc_html__( "Switch on %s %s > Change Paths > Disable XML-RPC access%s", 'hide-my-wp' ), '', HMWP_Classes_Tools::getOption( 'hmwp_plugin_menu' ), '' ), 'javascript' => "jQuery(this).hmwp_fixSettings('hmwp_disable_xmlrpc',1);", ), 'checkRDS' => array( 'name' => esc_html__( "RDS is visible", 'hide-my-wp' ), 'value' => false, 'valid' => false, 'warning' => false, 'message' => __( "If you're not using any Really Simple Discovery services such as pingbacks, there's no need to advertise that endpoint (link) in the header. Please note that for most sites this is not a security issue because they \"want to be discovered\", but if you want to hide the fact that you're using WP, this is the way to go.", 'hide-my-wp' ), 'solution' => sprintf( esc_html__( "Switch on %s %s > Change Paths > Hide RSD Endpoint%s", 'hide-my-wp' ), '', HMWP_Classes_Tools::getOption( 'hmwp_plugin_menu' ), '' ), 'javascript' => "jQuery(this).hmwp_fixSettings('hmwp_hide_rsd',1);", ), 'checkUsersById' => array( 'name' => esc_html__( "Author URL by ID access", 'hide-my-wp' ), 'value' => false, 'valid' => false, 'warning' => false, 'message' => __( "Usernames (unlike passwords) are not secret. By knowing someone's username, you can't log in to their account. You also need the password.

However, by knowing the username, you are one step closer to logging in using the username to brute-force the password, or to gain access in a similar way.

That's why it's advisable to keep the list of usernames private, at least to some degree. By default, by accessing siteurl.com/?author={id} and looping through IDs from 1 you can get a list of usernames, because WP will redirect you to siteurl.com/author/user/ if the ID exists in the system.", 'hide-my-wp' ), 'solution' => sprintf( esc_html__( "Switch on %s %s > Change Paths > Hide Author ID URL%s", 'hide-my-wp' ), '', HMWP_Classes_Tools::getOption( 'hmwp_plugin_menu' ), '' ), 'javascript' => "jQuery(this).hmwp_fixSettings('hmwp_hide_authors',1);", ), 'checkBlogDescription' => array( 'name' => esc_html__( "Default WordPress Tagline", 'hide-my-wp' ), 'value' => false, 'valid' => false, 'warning' => false, 'message' => __( "The WordPress site tagline is a short phrase located under the site title, similar to a subtitle or advertising slogan. The goal of a tagline is to convey the essence of your site to visitors.

If you don't change the default tagline it will be very easy to detect that your website was actually built with WordPress", 'hide-my-wp' ), 'solution' => sprintf( esc_html__( "Change the Tagline in %s > %s > %s", 'hide-my-wp' ), '' . esc_html__( 'Settings' ), esc_html__( 'General' ), esc_html__( 'Tagline' ) . '' ), ), ); } /** * Process the security check */ public function doSecurityCheck() { if ( ! $tasks_ignored = get_option( HMWP_SECURITY_CHECK_IGNORE ) ) { $tasks_ignored = array(); } $tasks = $this->getTasks(); foreach ( $tasks as $function => $task ) { if ( ! in_array( $function, $tasks_ignored ) ) { if ( $result = @call_user_func( array( $this, $function ) ) ) { $this->report[ $function ] = $result; } } } update_option( HMWP_SECURITY_CHECK, $this->report ); update_option( HMWP_SECURITY_CHECK_TIME, array( 'timestamp' => current_time( 'timestamp', 1 ) ) ); } /** * Run the actions on submit * * @throws Exception */ public function action() { parent::action(); if ( ! HMWP_Classes_Tools::userCan( HMWP_CAPABILITY ) ) { return; } switch ( HMWP_Classes_Tools::getValue( 'action' ) ) { case 'hmwp_securitycheck': $this->doSecurityCheck(); if ( HMWP_Classes_Tools::isAjax() ) { wp_send_json_success( esc_html__( 'Done!', 'hide-my-wp' ) ); } break; case 'hmwp_frontendcheck': $urls = $error = array(); $filesystem = HMWP_Classes_Tools::initFilesystem(); //set hmwp_preview and not load the broken paths with WordPress rules $custom_logo_id = get_theme_mod( 'custom_logo' ); if ( (int) $custom_logo_id > 0 ) { if ( $logo = wp_get_attachment_image_src( $custom_logo_id, 'full' ) ) { $image = $logo[0]; if ( $filesystem->exists( str_replace( home_url( '/' ), ABSPATH, $image ) ) ) { $url = $image . '?hmwp_preview=1'; $url = HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rewrite' )->find_replace_url( $url ); $urls[] = $url; } } } if ( empty( $urls ) ) { $image = _HMWP_ROOT_DIR_ . '/view/assets/img/logo.svg'; if ( $filesystem->exists( str_replace( home_url( '/' ), ABSPATH, $image ) ) ) { $url = _HMWP_URL_ . '/view/assets/img/logo.svg?hmwp_preview=1'; $url = HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rewrite' )->find_replace_url( $url ); $urls[] = $url; } } $url = home_url( '/' ) . '?hmwp_preview=1'; $url = HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rewrite' )->find_replace_url( $url ); $urls[] = $url; if ( HMWP_Classes_Tools::getOption( 'hmwp_hideajax_admin' ) ) { $url = home_url( HMWP_Classes_Tools::getOption( 'hmwp_admin-ajax_url' ) ) . '?hmwp_preview=1'; } else { $url = admin_url( HMWP_Classes_Tools::getOption( 'hmwp_admin-ajax_url' ) ) . '?hmwp_preview=1'; } $url = HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rewrite' )->find_replace_url( $url ); $urls[] = $url; $url = home_url() . '/' . HMWP_Classes_Tools::getOption( 'hmwp_wp-json' ); $urls[] = $url; foreach ( $urls as $url ) { if ( is_ssl() ) { $url = str_replace( 'http://', 'https://', $url ); } $response = HMWP_Classes_Tools::hmwp_localcall( $url, array( 'redirection' => 1, 'cookies' => false ) ); if ( ! is_wp_error( $response ) && in_array( wp_remote_retrieve_response_code( $response ), array( 404, 302, 301 ) ) ) { $error[] = '' . str_replace( '?hmwp_preview=1', '', $url ) . ' (' . wp_remote_retrieve_response_code( $response ) . ' ' . wp_remote_retrieve_response_message( $response ) . ')'; } } //Test new admin path. Send all cookies to admin path if ( HMWP_Classes_Tools::getDefault( 'hmwp_admin_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_admin_url' ) ) { $url = admin_url( 'admin.php' ); $url = HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rewrite' )->find_replace_url( $url ); if ( is_ssl() ) { $url = str_replace( 'http://', 'https://', $url ); } $response = HMWP_Classes_Tools::hmwp_localcall( $url, array( 'redirection' => 1, 'cookies' => $_COOKIE ) ); if ( ! is_wp_error( $response ) && in_array( wp_remote_retrieve_response_code( $response ), array( 404, 302, 301 ) ) ) { $error[] = '' . str_replace( '?hmwp_preview=1', '', $url ) . ' (' . wp_remote_retrieve_response_code( $response ) . ' ' . wp_remote_retrieve_response_message( $response ) . ')'; } } if ( ! empty( $error ) && HMWP_Classes_Tools::isNginx() ) { $error[] = '' . esc_html__( "Don't forget to reload the Nginx service.", 'hide-my-wp' ) . ''; } if ( HMWP_Classes_Tools::isAjax() ) { if ( empty( $error ) ) { $message = array(); $message[] = esc_html__( 'Great! The new paths are loading correctly.', 'hide-my-wp' ); if ( HMWP_Classes_Tools::getOption( 'prevent_slow_loading' ) ) { $message[] = '
' . wp_nonce_field( 'hmwp_fixsettings', 'hmwp_nonce', false, false ) . '
'; } if ( HMWP_Classes_Tools::isCachePlugin() && ! HMWP_Classes_Tools::getOption( 'hmwp_change_in_cache' ) ) { $message[] = '
' . wp_nonce_field( 'hmwp_fixsettings', 'hmwp_nonce', false, false ) . '
'; } wp_send_json_success( join( '', $message ) ); } else { wp_send_json_error( esc_html__( 'Error! The new paths are not loading correctly. Clear all cache and try again.', 'hide-my-wp' ) . "

" . join( '
', $error ) ); } } break; case 'hmwp_fixsettings': //Initialize WordPress Filesystem $wp_filesystem = HMWP_Classes_ObjController::initFilesystem(); $name = HMWP_Classes_Tools::getValue( 'name' ); $value = HMWP_Classes_Tools::getValue( 'value' ); if ( HMWP_Classes_Tools::getIsset( 'name' ) && HMWP_Classes_Tools::getIsset( 'value' ) ) { if ( in_array( $name, array_keys( HMWP_Classes_Tools::$options ) ) ) { HMWP_Classes_Tools::saveOptions( $name, $value ); //call it in case of rule change HMWP_Classes_ObjController::getClass( 'HMWP_Models_Settings' )->saveRules(); if ( HMWP_Classes_Tools::isIIS() && HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rules' )->isConfigWritable() ) { //Flush the changes for IIS server HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rewrite' )->flushChanges(); } //Hide the common WP Files that migth be visible to detectors if ( $name == 'hmwp_hide_commonfiles' ) { $wp_filesystem->delete( HMWP_Classes_Tools::getRootPath() . 'readme.html' ); $wp_filesystem->delete( HMWP_Classes_Tools::getRootPath() . 'license.txt' ); $wp_filesystem->delete( HMWP_Classes_Tools::getRootPath() . 'wp-config-sample.php' ); } $message = esc_html__( 'Saved! You can run the test again.', 'hide-my-wp' ); if ( HMWP_Classes_Tools::isNginx() || HMWP_Classes_Tools::isCloudPanel() ) { $message .= '
' . esc_html__( "Don't forget to reload the Nginx service.", 'hide-my-wp' ) . ' ' . '' . esc_html__( "Learn How", 'hide-my-wp' ) . ''; } if ( HMWP_Classes_Tools::isAjax() ) { wp_send_json_success( $message ); } break; } } //refresh the security scan $this->doSecurityCheck(); if ( HMWP_Classes_Tools::isAjax() ) { wp_send_json_error( esc_html__( 'Could not fix it. You need to change it manually.', 'hide-my-wp' ) ); } break; case 'hmwp_fixconfig': $name = HMWP_Classes_Tools::getValue( 'name' ); $value = HMWP_Classes_Tools::getValue( 'value', null ); if ( ! in_array( $name, array( 'WP_DEBUG', 'SCRIPT_DEBUG', 'DISALLOW_FILE_EDIT' ) ) || ! in_array( $value, array( 'true', 'false' ) ) ) { if ( HMWP_Classes_Tools::isAjax() ) { wp_send_json_error( esc_html__( 'Could not fix it. You need to change it manually.', 'hide-my-wp' ) ); } break; } if ( $name && isset( $value ) ) { if ( $config_file = HMWP_Classes_Tools::getConfigFile() ) { /** @var HMWP_Models_Rules $rulesModel */ $rulesModel = HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rules' ); $wp_filesystem = HMWP_Classes_ObjController::initFilesystem(); if ( ! $rulesModel->isConfigWritable( $config_file ) ) { $current_permission = $wp_filesystem->getchmod( $config_file ); $wp_filesystem->chmod( $config_file, 0644 ); } if ( $rulesModel->isConfigWritable( $config_file ) ) { $find = "define\s?\(\s?'$name'"; $replace = "define('$name',$value);" . PHP_EOL; if ( $rulesModel->findReplace( $find, $replace, $config_file ) ) { if ( isset( $current_permission ) ) { $wp_filesystem->chmod( $config_file, octdec( $current_permission ) ); } if ( HMWP_Classes_Tools::isAjax() ) { wp_send_json_success( esc_html__( 'Saved! You can run the test again.', 'hide-my-wp' ) ); } break; } } } } //refresh the security scan $this->doSecurityCheck(); if ( HMWP_Classes_Tools::isAjax() ) { wp_send_json_error( esc_html__( 'Could not fix it. You need to change it manually.', 'hide-my-wp' ) ); } break; case 'hmwp_fixprefix': /** @var HMWP_Models_Prefix $prefixModel */ $prefixModel = HMWP_Classes_ObjController::getClass( 'HMWP_Models_Prefix' ); //to change or undo the database prefix (true = change, false = undo) if ( HMWP_Classes_Tools::getValue( 'value' ) == 'true' ) { //Generate random database prefix $prefixModel->setPrefix( $prefixModel->generateValidateNewPrefix() );; } //run the process to change the prefix if ( $prefixModel->changePrefix() ) { //empty the cache HMWP_Classes_Tools::emptyCache(); //Flush the rules in WordPress flush_rewrite_rules(); //wait for config refresh sleep( 10 ); //Force the recheck security notification delete_option( HMWP_SECURITY_CHECK ); if ( HMWP_Classes_Tools::isAjax() ) { wp_send_json_success( esc_html__( 'Saved! You can run the test again.', 'hide-my-wp' ) ); } break; } if ( HMWP_Classes_Tools::isAjax() ) { wp_send_json_error( esc_html__( 'Could not fix it. You need to change it manually.', 'hide-my-wp' ) ); } break; case 'hmwp_fixpermissions': $value = HMWP_Classes_Tools::getValue( 'value' ); /** @var HMWP_Models_Permissions $permissionModel */ $permissionModel = HMWP_Classes_ObjController::getClass( 'HMWP_Models_Permissions' ); //run the process to change the prefix if ( $permissionModel->changePermissions( $value ) ) { //refresh the security scan $this->doSecurityCheck(); if ( HMWP_Classes_Tools::isAjax() ) { wp_send_json_success( esc_html__( 'Saved! You can run the test again.', 'hide-my-wp' ) ); } break; } if ( HMWP_Classes_Tools::isAjax() ) { wp_send_json_error( esc_html__( 'Could not fix it. You need to change it manually.', 'hide-my-wp' ) ); } break; case 'hmwp_fixsalts': /** @var HMWP_Models_Salts $saltsModel */ $saltsModel = HMWP_Classes_ObjController::getClass( 'HMWP_Models_Salts' ); //run the process to change the prefix if ( $saltsModel->validateSalts() ) { if ( $saltsModel->generateSalts() ) { update_option( HMWP_SALT_CHANGED, array( 'timestamp' => current_time( 'timestamp', 1 ) ) ); //Force the recheck security notification delete_option( HMWP_SECURITY_CHECK ); if ( HMWP_Classes_Tools::isAjax() ) { wp_send_json_success( esc_html__( 'Saved! You can run the test again.', 'hide-my-wp' ) . '' ); } break; } } if ( HMWP_Classes_Tools::isAjax() ) { wp_send_json_error( esc_html__( 'Could not fix it. You need to change it manually.', 'hide-my-wp' ) ); } break; case 'hmwp_fixadmin': global $wpdb; $username = HMWP_Classes_Tools::getValue( 'name' ); if ( ! validate_username( $username ) ) { if ( HMWP_Classes_Tools::isAjax() ) { wp_send_json_error( esc_html__( 'Invalid username.', 'hide-my-wp' ) ); } break; } if ( username_exists( $username ) ) { if ( HMWP_Classes_Tools::isAjax() ) { wp_send_json_error( esc_html__( 'A user already exists with that username.', 'hide-my-wp' ) ); } break; } $admin = false; if ( username_exists( 'admin' ) ) { $admin = 'admin'; } elseif ( username_exists( 'administrator' ) ) { $admin = 'administrator'; } if ( $admin ) { // Query main user table $wpdb->query( $wpdb->prepare( "UPDATE `{$wpdb->users}` SET user_login = %s WHERE user_login = %s", $username, $admin ) ); // Process sitemeta if we're in a multi-site situation if ( is_multisite() ) { $old_admins = $wpdb->get_var( "SELECT meta_value FROM `" . $wpdb->sitemeta . "` WHERE meta_key = 'site_admins'" ); $new_admins = str_replace( strlen( $admin ) . ':"' . $admin . '"', strlen( $username ) . ':"' . $username . '"', $old_admins ); $wpdb->query( $wpdb->prepare( "UPDATE `{$wpdb->sitemeta}` SET meta_value = %s WHERE meta_key = 'site_admins'", $new_admins ) ); } } //Force the recheck security notification delete_option( HMWP_SECURITY_CHECK_TIME ); if ( HMWP_Classes_Tools::isAjax() ) { wp_send_json_success( esc_html__( 'Saved! You can run the test again.', 'hide-my-wp' ) . '' ); } break; case 'hmwp_fixupgrade': if ( ! function_exists( 'get_plugins' ) ) { require_once ABSPATH . 'wp-admin/includes/plugin.php'; } $all_plugins = get_plugins(); include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; foreach ( $all_plugins as $plugin_slug => $value ) { $upgrader = new \Plugin_Upgrader( new \WP_Ajax_Upgrader_Skin() ); $upgrader->upgrade( $plugin_slug ); } if ( HMWP_Classes_Tools::isAjax() ) { wp_send_json_success( esc_html__( 'Saved! You can run the test again.', 'hide-my-wp' ) ); } break; case 'hmwp_securityexclude': $name = HMWP_Classes_Tools::getValue( 'name' ); if ( $name ) { if ( ! $tasks_ignored = get_option( HMWP_SECURITY_CHECK_IGNORE ) ) { $tasks_ignored = array(); } $tasks_ignored[] = $name; $tasks_ignored = array_unique( $tasks_ignored ); update_option( HMWP_SECURITY_CHECK_IGNORE, $tasks_ignored ); } if ( HMWP_Classes_Tools::isAjax() ) { wp_send_json_success( esc_html__( 'Saved! This task will be ignored on future tests.', 'hide-my-wp' ) ); } break; case 'hmwp_resetexclude': update_option( HMWP_SECURITY_CHECK_IGNORE, array() ); if ( HMWP_Classes_Tools::isAjax() ) { wp_send_json_success( esc_html__( 'Saved! You can run the test again.', 'hide-my-wp' ) ); } break; } } /** * Check PHP version * * @return array */ public function checkPHP() { $phpversion = phpversion(); if ( $phpversion <> '' && strpos( $phpversion, '-' ) !== false ) { $phpversion = substr( $phpversion, 0, strpos( $phpversion, '-' ) ); } return array( 'value' => $phpversion, 'valid' => ( version_compare( $phpversion, '7.4', '>=' ) ), ); } /** * Check if mysql is up-to-date * * @return array */ public function checkMysql() { global $wpdb; $mysql_version = $wpdb->db_version(); return array( 'value' => $mysql_version, 'valid' => ( version_compare( $mysql_version, '8.0', '>' ) ), ); } /** * Check is WP_DEBUG is true * * @return array|bool */ public function checkWPDebug() { if ( defined( 'WP_DEBUG' ) ) { if ( defined( 'WP_DEBUG_DISPLAY' ) && ! WP_DEBUG_DISPLAY ) { return array( 'value' => esc_html__( 'No' ), 'valid' => true ); } else { return array( 'value' => ( WP_DEBUG ? esc_html__( 'Yes' ) : esc_html__( 'No' ) ), 'valid' => ! WP_DEBUG, ); } } return false; } /** * Check if DB debugging is enabled * * @return array */ static function checkDbDebug() { global $wpdb; $show_errors = ( $wpdb->show_errors && ! HMWP_Classes_Tools::getOption( 'hmwp_disable_debug' ) ); return array( 'value' => ( $show_errors ? esc_html__( 'Yes' ) : esc_html__( 'No' ) ), 'valid' => ! $show_errors, ); } /** * Check if global WP JS debugging is enabled * * @return array|bool */ static function checkScriptDebug() { if ( defined( 'SCRIPT_DEBUG' ) ) { return array( 'value' => ( SCRIPT_DEBUG ? esc_html__( 'Yes' ) : esc_html__( 'No' ) ), 'valid' => ! SCRIPT_DEBUG, ); } return false; } /** * Check if the backend is SSL or not * * @return array */ public function checkSSL() { return array( 'value' => ( is_ssl() ? esc_html__( 'Yes' ) : esc_html__( 'No' ) ), 'valid' => ( is_ssl() ), ); } /** * Check Admin User declared * * @return array */ public function checkAdminUsers() { if ( ! $admin = username_exists( 'admin' ) ) { $admin = username_exists( 'administrator' ); } return array( 'value' => ( ! empty( $admin ) ? esc_html__( 'Yes' ) : esc_html__( 'No' ) ), 'valid' => ( empty( $admin ) ), ); } /** * Check WordPress version * * @return array|bool */ public function checkWP() { global $wp_version; $wp_lastversion = false; if ( isset( $wp_version ) ) { $url = 'https://api.wordpress.org/core/version-check/1.7/'; $response = HMWP_Classes_Tools::hmwp_localcall( $url, array( 'timeout' => 5 ) ); $obj = json_decode( $response['body'] ); if ( isset( $obj->offers[0] ) ) { $upgrade = $obj->offers[0]; if ( isset( $upgrade->version ) ) { $wp_lastversion = $upgrade->version; } } if ( $wp_lastversion ) { return array( 'value' => $wp_version, 'valid' => version_compare( $wp_version, $wp_lastversion, '>=' ), 'version' => $wp_lastversion, ); } } return false; } /** * Check if plugins are up-to-date * * @return array */ public function checkPluginsUpdates() { //Get the current update info $current = get_site_transient( 'update_plugins' ); if ( ! is_object( $current ) ) { $current = new stdClass; set_site_transient( 'update_plugins', $current ); // run the internal plugin update check wp_update_plugins(); $current = get_site_transient( 'update_plugins' ); } if ( isset( $current->response ) && is_array( $current->response ) ) { $plugin_update_cnt = count( $current->response ); } else { $plugin_update_cnt = 0; } $plugins = array(); foreach ( $current->response as $tmp ) { if ( isset( $tmp->slug ) ) { $plugins[] = $tmp->slug; } } return array( 'value' => ( $plugin_update_cnt > 0 ? sprintf( esc_html__( '%s plugin(s) are outdated: %s', 'hide-my-wp' ), $plugin_update_cnt, '
' . '' . join( "
", $plugins ) . '
' ) : esc_html__( 'All plugins are up to date', 'hide-my-wp' ) ), 'valid' => ( ! $plugin_update_cnt ), ); } /** * Check if themes are up-to-date * * @return array */ public function checkThemesUpdates() { $current = get_site_transient( 'update_themes' ); $themes = array(); $theme_update_cnt = 0; if ( ! is_object( $current ) ) { $current = new stdClass; } set_site_transient( 'update_themes', $current ); wp_update_themes(); $current = get_site_transient( 'update_themes' ); if ( isset( $current->response ) && is_array( $current->response ) ) { $theme_update_cnt = count( $current->response ); } foreach ( $current->response as $theme_name => $tmp ) { $themes[] = $theme_name; } return array( 'value' => ( $theme_update_cnt > 0 ? sprintf( esc_html__( '%s theme(s) are outdated: %s', 'hide-my-wp' ), $theme_update_cnt, '
' . '' . join( "
", $themes ) . '
' ) : esc_html__( 'Themes are up to date', 'hide-my-wp' ) ), 'valid' => ( ! $theme_update_cnt ), ); } /** * Check the old plugins from WordPress directory * * @return array */ public function checkOldPlugins() { global $hmwp_plugin_details; $hmwp_plugin_details = array(); $bad = array(); $active_plugins = get_option( 'active_plugins', array() ); foreach ( $active_plugins as $plugin_path ) { $plugin = explode( '/', $plugin_path ); $plugin = @$plugin[0]; if ( empty( $plugin ) || empty( $plugin_path ) ) { continue; } $response = HMWP_Classes_Tools::hmwp_localcall( 'https://api.wordpress.org/plugins/info/1.1/?action=plugin_information&request%5Bslug%5D=' . $plugin, array( 'timeout' => 5 ) ); if ( ! is_wp_error( $response ) && wp_remote_retrieve_response_code( $response ) == 200 && wp_remote_retrieve_body( $response ) ) { $details = wp_remote_retrieve_body( $response ); $details = json_decode( $details, true ); if ( empty( $details ) ) { continue; } $hmwp_plugin_details[ $plugin_path ] = $details; $updated = strtotime( $details['last_updated'] ); if ( $updated + 365 * DAY_IN_SECONDS < time() ) { $bad[ $plugin_path ] = true; } } } // foreach active plugin if ( ! empty( $bad ) ) { $plugins = get_plugins(); foreach ( $bad as $plugin_path => $tmp ) { if ( $plugins[ $plugin_path ]['Name'] <> '' ) { $bad[ $plugin_path ] = $plugins[ $plugin_path ]['Name']; } } } return array( 'value' => ( count( $bad ) > 0 ? sprintf( esc_html__( '%s plugin(s) have NOT been updated by their developers in the past 12 months: %s', 'hide-my-wp' ), count( $bad ), '
' . '' . join( "
", $bad ) . '
' ) : esc_html__( 'All plugins have been updated by their developers in the past 12 months', 'hide-my-wp' ) ), 'valid' => empty( $bad ), ); } /** * Check incompatible plugins * * @return array */ public function checkIncompatiblePlugins() { global $hmwp_plugin_details, $wp_version; $bad = array(); if ( empty( $hmwp_plugin_details ) ) { $this->checkOldPlugins(); } foreach ( $hmwp_plugin_details as $plugin_path => $plugin ) { if ( version_compare( $wp_version, $plugin['tested'], '>' ) ) { $bad[ $plugin_path ] = $plugin; } } // foreach active plugins we have details on if ( ! empty( $bad ) ) { $plugins = get_plugins(); foreach ( $bad as $plugin_path => $tmp ) { $bad[ $plugin_path ] = $plugins[ $plugin_path ]['Name']; } } return array( 'value' => ( empty( $bad ) ? esc_html__( 'All plugins are compatible', 'hide-my-wp' ) : implode( '
', $bad ) ), 'valid' => empty( $bad ), ); } /** * Check if version is displayed in source code * * @return array */ public function checkVersionDisplayed() { return array( 'value' => ( HMWP_Classes_Tools::getOption( 'hmwp_hide_version' ) ? 'Removed' : 'Visible' ), 'valid' => ( HMWP_Classes_Tools::getOption( 'hmwp_hide_version' ) ), ); } /** * Check if PHP is exposed * * @return array */ public function checkExposedPHP() { if ( ! isset( $this->html ) || $this->html == '' ) { $this->getSourceCode(); } $check = false; if ( isset( $this->headers ) && ! empty( $this->headers ) ) { if ( isset( $this->headers['X-Powered-By'] ) && is_string( $this->headers['X-Powered-By'] ) && stripos( $this->headers['X-Powered-By'], 'PHP' ) !== false ) { $check = true; } if ( isset( $this->headers['server'] ) && is_string( $this->headers['server'] ) && stripos( $this->headers['server'], 'PHP' ) !== false ) { $check = true; } } else { $check = (bool) ini_get( 'expose_php' ); } return array( 'value' => ( $check ? esc_html__( 'Yes' ) : esc_html__( 'No' ) ), 'valid' => ( ! $check ), ); } /** * Check Database Prefix * * @return array */ public function checkDBPrefix() { global $wpdb; if ( ( $wpdb->prefix === 'wp_' ) || ( $wpdb->prefix === 'wordpress_' ) || ( $wpdb->prefix === 'wp3_' ) ) { return array( 'value' => $wpdb->prefix, 'valid' => false, ); } else { return array( 'value' => $wpdb->prefix, 'valid' => true, 'javascript_custom' => "jQuery(this).hmwp_fixPrefix(false);", 'javascript_button' => esc_html__( 'Reset', 'hide-my-wp' ), ); } } /** * Check Salt Keys * * @return array */ public function checkSaltKeys() { $bad_keys = array(); $keys = array( 'AUTH_KEY', 'SECURE_AUTH_KEY', 'LOGGED_IN_KEY', 'NONCE_KEY', 'AUTH_SALT', 'SECURE_AUTH_SALT', 'LOGGED_IN_SALT', 'NONCE_SALT' ); try { $constants = get_defined_constants(); foreach ( $keys as $key ) { if ( ! in_array( $key, array_keys( $constants ) ) ) { $bad_keys[] = $key; } else { $constant = $constants[ $key ]; if ( empty( $constant ) || trim( $constant ) == 'put your unique phrase here' || strlen( $constant ) < 50 ) { $bad_keys[] = $key; } } } // foreach } catch ( Exception $e ) { } return array( 'value' => ( ! empty( $bad_keys ) ? implode( ', ', $bad_keys ) : esc_html__( 'Yes' ) ), 'valid' => empty( $bad_keys ), ); } /** * Check if wp-config.php has the right chmod * * @return array|false */ public function checkSaltKeysAge() { $old = 95; $diff = false; if ( $saltcheck_time = get_option( HMWP_SALT_CHANGED ) ) { if ( ( isset( $saltcheck_time['timestamp'] ) ) ) { $diff = ( time() - $saltcheck_time['timestamp'] ); } } elseif ( $config_file = HMWP_Classes_Tools::getConfigFile() ) { $age = @filemtime( $config_file ); if ( ! empty( $age ) ) { $diff = time() - $age; } } if ( $diff ) { return array( 'value' => ( ( $diff > ( DAY_IN_SECONDS * $old ) ) ? sprintf( esc_html__( '%s days since last update', 'hide-my-wp' ), $diff ) : esc_html__( 'Updated', 'hide-my-wp' ) ), 'valid' => ( $diff <= ( DAY_IN_SECONDS * $old ) ), 'javascript_custom' => "jQuery(this).hmwp_fixSalts(true);", 'javascript_button' => esc_html__( 'Renew', 'hide-my-wp' ), ); } return false; } /** * Check Database Password * * @return array */ public function checkDbPassword() { $password = DB_PASSWORD; if ( empty( $password ) ) { return array( 'value' => esc_html__( 'Empty', 'hide-my-wp' ), 'valid' => false, ); } elseif ( strlen( $password ) < 6 ) { return array( 'value' => sprintf( esc_html__( 'only %d chars', 'hide-my-wp' ), strlen( $password ) ), 'valid' => false, ); } elseif ( sizeof( count_chars( $password, 1 ) ) < 5 ) { return array( 'value' => esc_html__( 'too simple', 'hide-my-wp' ), 'valid' => false, ); } else { return array( 'value' => esc_html__( 'Good', 'hide-my-wp' ), 'valid' => true, ); } } /** * Check if display_errors is off * * @return array */ public function checkDisplayErrors() { $check = ini_get( 'display_errors' ); return array( 'value' => $check, 'valid' => ! (bool) $check, ); } /** * Compare WP Blog Url with WP Site Url * * @return array */ public function checkBlogSiteURL() { $siteurl = home_url(); $wpurl = site_url(); return array( 'value' => ( ( $siteurl == $wpurl ) ? esc_html__( 'Yes' ) : esc_html__( 'No' ) ), 'valid' => ( $siteurl <> $wpurl ), ); } /** * Check if wp-config.php has the right chmod * * @return array|bool */ public function checkConfigChmod() { //Initialize WordPress Filesystem $wp_filesystem = HMWP_Classes_ObjController::initFilesystem(); if ( $config_file = HMWP_Classes_Tools::getConfigFile() ) { if ( HMWP_Classes_Tools::isWindows() ) { return array( 'value' => ( ( $wp_filesystem->is_writable( $config_file ) ) ? esc_html__( 'Yes' ) : esc_html__( 'No' ) ), 'valid' => ( ! $wp_filesystem->is_writable( $config_file ) ), 'solution' => sprintf( esc_html__( "Change the wp-config.php file permission to Read-Only using File Manager.", 'hide-my-wp' ), '', '', '', '' ), ); } else { $chmod = $wp_filesystem->getchmod( $config_file ); $octmode = substr( sprintf( '%o', $chmod ), - 4 ); return array( 'value' => ( ( substr( $octmode, - 1 ) != 0 ) ? esc_html__( 'Yes' ) : esc_html__( 'No' ) ), 'valid' => ( substr( $octmode, - 1 ) == 0 ), ); } } return array( 'value' => esc_html__( 'No' ), 'valid' => true, ); } /** * Check wp-config.php file * * @return array */ public function checkConfig() { $url = home_url( 'wp-config.php?hmwp_preview=1&rnd=' . wp_rand() ); $response = wp_remote_head( $url, array( 'timeout' => 5, 'cookies' => false ) ); $visible = false; if ( ! is_wp_error( $response ) ) { if ( wp_remote_retrieve_response_code( $response ) == 200 ) { $visible = true; } } $url = home_url( 'wp-config-sample.php?hmwp_preview=1&rnd=' . wp_rand() ); $response = wp_remote_head( $url, array( 'timeout' => 5, 'cookies' => false ) ); if ( ! is_wp_error( $response ) ) { if ( wp_remote_retrieve_response_code( $response ) == 200 ) { $visible = true; } } //if the settings are already activated if ( HMWP_Classes_Tools::getOption( 'hmwp_hide_commonfiles' ) ) { return array( 'value' => esc_html__( 'No' ), 'valid' => true ); } return array( 'value' => ( $visible ? esc_html__( 'Yes' ) : esc_html__( 'No' ) ), 'valid' => ( ! $visible ), ); } /** * Check readme.html file * * @return array */ public function checkReadme() { $url = home_url( 'readme.html?hmwp_preview=1&rnd=' . wp_rand() ); $response = wp_remote_head( $url, array( 'timeout' => 5, 'cookies' => false ) ); $visible = false; if ( ! is_wp_error( $response ) ) { if ( wp_remote_retrieve_response_code( $response ) == 200 ) { $visible = true; } } //In case it's litespeed, the file is hidden if ( HMWP_Classes_Tools::isLitespeed() ) { return array( 'value' => esc_html__( 'No' ), 'valid' => true ); } //if the settings are already activated if ( HMWP_Classes_Tools::getOption( 'hmwp_hide_commonfiles' ) ) { $files = HMWP_Classes_Tools::getOption( 'hmwp_hide_commonfiles_files' ); if ( ! empty( $files ) && in_array( 'readme.html', $files ) ) { return array( 'value' => esc_html__( 'No' ), 'valid' => true ); } } return array( 'value' => ( $visible ? esc_html__( 'Yes' ) : esc_html__( 'No' ) ), 'valid' => ( ! $visible ), ); } /** * Does WP install.php file exist? * * @return array */ public function checkInstall() { $url = site_url() . '/wp-admin/install.php?hmwp_preview=1&rnd=' . wp_rand(); $response = wp_remote_head( $url, array( 'timeout' => 10, 'cookies' => false ) ); $visible = false; if ( ! is_wp_error( $response ) ) { if ( wp_remote_retrieve_response_code( $response ) == 200 ) { $visible = true; } } //if the settings are already activated if ( HMWP_Classes_Tools::getOption( 'hmwp_hide_commonfiles' ) ) { $files = HMWP_Classes_Tools::getOption( 'hmwp_hide_commonfiles_files' ); if ( ! empty( $files ) && in_array( 'install.php', $files ) ) { return array( 'value' => esc_html__( 'No' ), 'valid' => true ); } } return array( 'value' => ( $visible ? esc_html__( 'Yes' ) : esc_html__( 'No' ) ), 'valid' => ( ! $visible ), ); } /** * Check if firewall is activated * * @return array */ public function checkFirewall() { return array( 'value' => ( HMWP_Classes_Tools::getOption( 'hmwp_sqlinjection' ) ? esc_html__( 'Yes' ) : esc_html__( 'No' ) ), 'valid' => ( HMWP_Classes_Tools::getOption( 'hmwp_sqlinjection' ) ), ); } /** * Check if register_globals is off * * @return array */ public function checkRegisterGlobals() { $check = (bool) ini_get( 'register' . '_globals' ); return array( 'value' => ( $check ? esc_html__( 'Yes' ) : esc_html__( 'No' ) ), 'valid' => ( ! $check ), ); } /** * Check if safe mode is off * * @return array */ public function checkPHPSafe() { $check = (bool) ini_get( 'safe' . '_mode' ); return array( 'value' => ( $check ? esc_html__( 'Yes' ) : esc_html__( 'No' ) ), 'valid' => ( ! $check ), ); } /** * Check if allow_url_include is off * * @return array */ public function checkAllowUrlInclude() { $check = (bool) ini_get( 'allow_url_include' ); return array( 'value' => ( $check ? esc_html__( 'Yes' ) : esc_html__( 'No' ) ), 'valid' => ( ! $check ), ); } /** * Is theme/plugin editor disabled? * * @return array */ public function checkAdminEditor() { if ( defined( 'DISALLOW_FILE_EDIT' ) ) { return array( 'value' => ( DISALLOW_FILE_EDIT ? esc_html__( 'Yes' ) : esc_html__( 'No' ) ), 'valid' => DISALLOW_FILE_EDIT, 'javascript_undo' => "jQuery(this).hmwp_fixConfig('DISALLOW_FILE_EDIT',false);", ); } else { return array( 'value' => esc_html__( 'Yes' ), 'valid' => false, ); } } /** * Check if Upload Folder is browsable * * @return array|false */ public function checkUploadsBrowsable() { //if the settings are already activated if ( HMWP_Classes_Tools::getOption( 'hmwp_disable_browsing' ) ) { return array( 'value' => esc_html__( 'No' ), 'valid' => true ); } $upload_dir = wp_upload_dir(); if ( ! isset( $upload_dir['baseurl'] ) || $upload_dir['baseurl'] == '' ) { return false; } $args = array( 'method' => 'GET', 'timeout' => 5, 'sslverify' => false, 'httpversion' => 1.0, 'blocking' => true, 'headers' => array(), 'body' => null, 'cookies' => array() ); $response = HMWP_Classes_Tools::hmwp_localcall( rtrim( $upload_dir['baseurl'], '/' ) . '/?nocache=' . wp_rand(), $args ); if ( is_wp_error( $response ) ) { $return = array( 'value' => esc_html__( 'No' ), 'valid' => true, ); } elseif ( wp_remote_retrieve_response_code( $response ) == 200 && stripos( $response['body'], 'index' ) !== false ) { $return = array( 'value' => esc_html__( 'Yes' ), 'valid' => false, ); } else { $return = array( 'value' => esc_html__( 'No' ), 'valid' => true, ); } if ( ! HMWP_Classes_Tools::isApache() && ! HMWP_Classes_Tools::isNginx() && ! HMWP_Classes_Tools::isLitespeed() ) { $return['javascript'] = ''; } return $return; } /** * Check if Wondows Live Writer is not disabled * * @return array */ public function checkWLW() { $check = ( ! HMWP_Classes_Tools::getOption( 'hmwp_disable_manifest' ) ); return array( 'value' => ( $check ? esc_html__( 'Yes' ) : esc_html__( 'No' ) ), 'valid' => ( ! $check ), ); } /** * Check if XML PRC * * @return array */ public function checkXmlrpc() { $visible = false; if ( ! HMWP_Classes_Tools::getOption( 'hmwp_disable_xmlrpc' ) ) { $url = site_url() . '/xmlrpc.php?rnd=' . wp_rand(); $response = wp_remote_head( $url, array( 'timeout' => 5, 'cookies' => false ) ); if ( ! is_wp_error( $response ) ) { if ( wp_remote_retrieve_response_code( $response ) == 200 || wp_remote_retrieve_response_code( $response ) == 405 ) { $visible = true; } } } return array( 'value' => ( $visible ? esc_html__( 'Yes' ) : esc_html__( 'No' ) ), 'valid' => ( ! $visible ), ); } /** * Check if XML PRC * * @return array */ public function checkRDS() { $check = ( ! HMWP_Classes_Tools::getOption( 'hmwp_hide_rsd' ) ); return array( 'value' => ( $check ? esc_html__( 'Yes' ) : esc_html__( 'No' ) ), 'valid' => ( ! $check ), ); } /** * Check if the WP MySQL user has too many permissions granted * * @return array */ static function checkMysqlPermissions() { global $wpdb; $grants = $wpdb->get_results( 'SHOW GRANTS', ARRAY_N ); foreach ( $grants as $grant ) { if ( stripos( $grant[0], 'GRANT ALL PRIVILEGES' ) !== false ) { return array( 'value' => esc_html__( 'Yes' ), 'valid' => false, ); } } return array( 'value' => esc_html__( 'No' ), 'valid' => true, ); } /** * Check if a user can be found by its ID * * @return array */ static function checkUsersById() { $users = get_users( 'number=1' ); $success = false; $url = home_url() . '/?hmwp_preview=1&author='; foreach ( $users as $user ) { $response = wp_remote_head( $url . $user->ID, array( 'redirection' => 0, 'timeout' => 5, 'cookies' => false ) ); $response_code = wp_remote_retrieve_response_code( $response ); if ( $response_code == 301 ) { $success = true; } break; } // foreach //If the option is on, the author is hidden if ( HMWP_Classes_Tools::getOption( 'hmwp_hide_authors' ) ) { $success = false; } return array( 'value' => ( $success ? esc_html__( 'Yes' ) : esc_html__( 'No' ) ), 'valid' => ( ! $success ), ); } /** * Check if XML PRC * * @return array */ public function checkOldPaths() { $visible = false; $url = site_url() . '/wp-content/?rnd=' . wp_rand(); $response = wp_remote_head( $url, array( 'timeout' => 5, 'cookies' => false ) ); if ( ! is_wp_error( $response ) ) { if ( wp_remote_retrieve_response_code( $response ) == 200 ) { $visible = true; } } if ( HMWP_Classes_Tools::getDefault( 'hmwp_wp-content_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_wp-content_url' ) && HMWP_Classes_Tools::getOption( 'hmwp_hide_oldpaths' ) ) { $visible = false; } return array( 'value' => ( $visible ? esc_html__( 'Yes' ) : esc_html__( 'No' ) ), 'valid' => ( ! $visible ), ); } /** * Check the Old paths in source code * * @return array|bool */ public function checkCommonPaths() { $visible = false; if ( ! isset( $this->html ) || $this->html == '' ) { if ( ! $this->getSourceCode() ) { return false; } } //if the wp-content path is changed in HMWP if ( HMWP_Classes_Tools::getDefault( 'hmwp_wp-content_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_wp-content_url' ) ) { //if the new path is visible in the source code, the paths are changed if ( strpos( $this->html, site_url( '/' . HMWP_Classes_Tools::getOption( 'hmwp_wp-content_url' ) . '/' ) ) ) { //the old paths are changed $visible = false; } else { //check if wp-content is visible in the source code $visible = strpos( $this->html, content_url() ); } } else { //check if wp-content is visible in the source code $visible = strpos( $this->html, content_url() ); } return array( 'value' => ( $visible ? esc_html__( 'Yes' ) : esc_html__( 'No' ) ), 'valid' => ( ! $visible ), ); } /** * Check the Login path in source code * * @return array|bool */ public function checkLoginPath() { if ( ! isset( $this->html ) || $this->html == '' ) { if ( ! $this->getSourceCode() ) { return false; } } if ( ! $found = strpos( $this->html, site_url( 'wp-login.php' ) ) ) { if ( ! HMWP_Classes_Tools::getOption( 'hmwp_bruteforce' ) ) { //If the custom login path is visible in the source code and Brute force is not activated $found = strpos( $this->html, site_url( '/' . HMWP_Classes_Tools::getOption( 'hmwp_login_url' ) . '/' ) ); } } return array( 'value' => ( $found ? esc_html__( 'Yes' ) : esc_html__( 'No' ) ), 'valid' => ( ! $found ), ); } /** * Check the Admin path in source code * * @return array|bool */ public function checkAdminPath() { if ( ! isset( $this->html ) || $this->html == '' ) { if ( ! $this->getSourceCode() ) { return false; } } $found = strpos( $this->html, site_url( '/' . HMWP_Classes_Tools::getOption( 'hmwp_admin_url' ) . '/' ) ); if ( HMWP_Classes_Tools::getDefault( 'hmwp_admin-ajax_url' ) == HMWP_Classes_Tools::getOption( 'hmwp_admin-ajax_url' ) ) { return array( 'value' => ( $found ? esc_html__( 'Yes' ) : esc_html__( 'No' ) ), 'valid' => ( ! $found ), 'javascript' => "jQuery(this).hmwp_fixSettings('hmwp_hideajax_admin',1);jQuery(this).hmwp_fixSettings('hmwp_admin-ajax_url','ajax');", ); } return array( 'value' => ( $found ? esc_html__( 'Yes' ) : esc_html__( 'No' ) ), 'valid' => ( ! $found ), 'javascript' => "jQuery(this).hmwp_fixSettings('hmwp_hideajax_admin',1);", ); } /** * Check if wp-admin is accessible for visitors * * @return array */ public function checkOldLogin() { $url = home_url() . '/wp-login.php?hmwp_preview=1&rnd=' . wp_rand(); $response = HMWP_Classes_Tools::hmwp_localcall( $url, array( 'redirection' => 0, 'cookies' => false ) ); $visible = false; if ( ! is_wp_error( $response ) ) { if ( wp_remote_retrieve_response_code( $response ) == 200 ) { $visible = true; } } if ( HMWP_Classes_Tools::getDefault( 'hmwp_login_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_login_url' ) && HMWP_Classes_Tools::getOption( 'hmwp_hide_login' ) ) { $visible = false; } return array( 'value' => ( $visible ? esc_html__( 'Yes' ) : esc_html__( 'No' ) ), 'valid' => ( ! $visible ), ); } /** * Check if anyone can register easily * * @return array */ public function checkUserRegistration() { $check = ( get_option( 'users_can_register' ) ); if ( $check ) { $check = ( HMWP_Classes_Tools::getOption( 'hmwp_register_url' ) == '' || !HMWP_Classes_Tools::getOption('hmwp_bruteforce') || !HMWP_Classes_Tools::getOption('hmwp_bruteforce_register') ); } return array( 'value' => ( $check ? esc_html__( 'Yes' ) : esc_html__( 'No' ) ), 'valid' => ( ! $check ), ); } /** * Check if the default website description is shown * * @return array */ public function checkBlogDescription() { $check = ( get_option( 'blogdescription' ) == esc_html__( 'Just another WordPress site' ) ); return array( 'value' => ( $check ? esc_html__( 'Yes' ) : esc_html__( 'No' ) ), 'valid' => ( ! $check ), ); } /** * Check if file and directory permissions are correctly set * * @return array * @throws Exception */ public function checkFilePermissions() { /** @var HMWP_Models_Permissions $permissionModel */ $permissionModel = HMWP_Classes_ObjController::getClass( 'HMWP_Models_Permissions' ); $invalid = $permissionModel->getInvalidPermissions(); $values = array(); foreach ( $invalid as $row ) { $values[] = $row['display_path'] . ' (' . $row['display_permission'] . ')'; } return array( 'value' => ( ! empty( $values ) ? sprintf( esc_html__( "%s don't have the correct permission.", 'hide-my-wp' ), '' . join( '
', $values ) . '
' . '
' ) : esc_html__( 'All files have the correct permissions.', 'hide-my-wp' ) ), 'valid' => ( empty( $values ) ), ); } /** * Get the homepage source code * * @return string */ public function getSourceCode() { if ( ! isset( $this->html ) && ! isset( $this->htmlerror ) ) { $url = home_url() . '?hmwp_preview=1'; $response = HMWP_Classes_Tools::hmwp_localcall( $url, array( 'redirection' => 0, 'timeout' => 10, 'cookies' => false ) ); if ( ! is_wp_error( $response ) ) { if ( wp_remote_retrieve_response_code( $response ) == 200 ) { $this->html = wp_remote_retrieve_body( $response ); $this->headers = wp_remote_retrieve_headers( $response ); } else { $this->htmlerror = true; $this->html = false; $this->headers = false; } } else { $this->htmlerror = true; $this->html = false; $this->headers = false; } } return $this->html; } } controllers/Settings.php000064400000121641147600042240011427 0ustar00find_replace_url( $url ); $response = HMWP_Classes_Tools::hmwp_localcall( $url, array( 'redirection' => 0, 'cookies' => false ) ); //If the plugin logo is not loading correctly, switch off the path changes if ( ! is_wp_error( $response ) && wp_remote_retrieve_response_code( $response ) == 404 ) { HMWP_Classes_Tools::saveOptions( 'file_mappings', array( home_url() ) ); } } ); } // Save the login path on Cloud add_action( 'hmwp_apply_permalink_changes', function() { HMWP_Classes_Tools::sendLoginPathsApi(); } ); } /** * Called on Menu hook * Init the Settings page * * @return void * @throws Exception */ public function init() { ///////////////////////////////////////////////// // Get the current Page $page = HMWP_Classes_Tools::getValue( 'page' ); if ( strpos( $page, '_' ) !== false ) { $tab = substr( $page, ( strpos( $page, '_' ) + 1 ) ); if ( method_exists( $this, $tab ) ) { call_user_func( array( $this, $tab ) ); } } ///////////////////////////////////////////////// // We need that function so make sure is loaded if ( ! function_exists( 'is_plugin_active_for_network' ) ) { include_once ABSPATH . '/wp-admin/includes/plugin.php'; } if ( HMWP_Classes_Tools::isNginx() && HMWP_Classes_Tools::getOption( 'test_frontend' ) && HMWP_Classes_Tools::getOption( 'hmwp_mode' ) <> 'default' ) { $config_file = HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rules' )->getConfFile(); if ( HMWP_Classes_Tools::isLocalFlywheel() ) { if ( strpos( $config_file, '/includes/' ) !== false ) { $config_file = substr( $config_file, strpos( $config_file, '/includes/' ) + 1 ); } HMWP_Classes_Error::setNotification( sprintf( esc_html__( "Local & NGINX detected. In case you didn't add the code in the NGINX config already, please add the following line. %s", 'hide-my-wp' ), '

include ' . $config_file . ';

' . esc_html__( "Learn how to setup on Local & Nginx", 'hide-my-wp' ) . ' >>
' ), 'notice', false ); } else { HMWP_Classes_Error::setNotification( sprintf( esc_html__( "NGINX detected. In case you didn't add the code in the NGINX config already, please add the following line. %s", 'hide-my-wp' ), '

include ' . $config_file . ';

' . esc_html__( "Learn how to setup on Nginx server", 'hide-my-wp' ) . ' >>
' ), 'notice', false ); } } // Setting Alerts based on Logout and Error statements if ( get_transient( 'hmwp_restore' ) == 1 ) { $restoreLink = '' . esc_html__( "Restore Settings", 'hide-my-wp' ) . ''; HMWP_Classes_Error::setNotification( esc_html__( 'Do you want to restore the last saved settings?', 'hide-my-wp' ) . $restoreLink ); } // Show the config rules to make sure they are okay if ( HMWP_Classes_Tools::getValue( 'hmwp_config' ) ) { //Initialize WordPress Filesystem $wp_filesystem = HMWP_Classes_ObjController::initFilesystem(); $config_file = HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rules' )->getConfFile(); if ( $config_file <> '' && $wp_filesystem->exists( $config_file ) ) { $rules = $wp_filesystem->get_contents( HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rules' )->getConfFile() ); HMWP_Classes_Error::setNotification( '
' . $rules . '
' ); } } // Load the css for Settings HMWP_Classes_ObjController::getClass( 'HMWP_Classes_DisplayController' )->loadMedia( 'popper' ); if ( is_rtl() ) { HMWP_Classes_ObjController::getClass( 'HMWP_Classes_DisplayController' )->loadMedia( 'bootstrap.rtl' ); HMWP_Classes_ObjController::getClass( 'HMWP_Classes_DisplayController' )->loadMedia( 'rtl' ); } else { HMWP_Classes_ObjController::getClass( 'HMWP_Classes_DisplayController' )->loadMedia( 'bootstrap' ); } HMWP_Classes_ObjController::getClass( 'HMWP_Classes_DisplayController' )->loadMedia( 'bootstrap-select' ); HMWP_Classes_ObjController::getClass( 'HMWP_Classes_DisplayController' )->loadMedia( 'font-awesome' ); HMWP_Classes_ObjController::getClass( 'HMWP_Classes_DisplayController' )->loadMedia( 'switchery' ); HMWP_Classes_ObjController::getClass( 'HMWP_Classes_DisplayController' )->loadMedia( 'alert' ); HMWP_Classes_ObjController::getClass( 'HMWP_Classes_DisplayController' )->loadMedia( 'clipboard' ); HMWP_Classes_ObjController::getClass( 'HMWP_Classes_DisplayController' )->loadMedia( 'settings' ); // Check connection with the cloud HMWP_Classes_Tools::checkAccountApi(); // Show connect for activation if ( ! HMWP_Classes_Tools::getOption( 'hmwp_token' ) ) { $this->show( 'Connect' ); return; } if ( HMWP_Classes_Tools::getOption( 'error' ) ) { HMWP_Classes_Error::setNotification( esc_html__( 'There is a configuration error in the plugin. Please Save the settings again and follow the instruction.', 'hide-my-wp' ) ); } if ( HMWP_Classes_Tools::isWpengine() ) { add_filter( 'hmwp_option_hmwp_mapping_url_show', "__return_false" ); } // Check compatibilities with other plugins HMWP_Classes_ObjController::getClass( 'HMWP_Models_Compatibility' )->getAlerts(); // Show errors on top HMWP_Classes_ObjController::getClass( 'HMWP_Classes_Error' )->hookNotices(); echo ''; echo ''; $this->show( ucfirst( str_replace( 'hmwp_', '', $page ) ) ); } /** * Log the user event * * @throws Exception */ public function log() { $this->listTable = HMWP_Classes_ObjController::getClass( 'HMWP_Models_ListTable' ); if ( apply_filters( 'hmwp_showlogs', true ) ) { $args = $urls = array(); $args['search'] = HMWP_Classes_Tools::getValue( 's', false ); //If it's multisite if ( is_multisite() ) { if ( function_exists( 'get_sites' ) && class_exists( 'WP_Site_Query' ) ) { $sites = get_sites(); if ( ! empty( $sites ) ) { foreach ( $sites as $site ) { $urls[] = ( _HMWP_CHECK_SSL_ ? 'https://' : 'http://' ) . rtrim( $site->domain . $site->path, '/' ); } } } } else { $urls[] = home_url(); } // Pack the urls $args['urls'] = wp_json_encode( array_unique( $urls ) ); // Set the log table data $logs = HMWP_Classes_Tools::hmwp_remote_get( _HMWP_API_SITE_ . '/api/log', $args ); if ( $logs = json_decode( $logs, true ) ) { if ( isset( $logs['error'] ) && $logs['error'] <> '' ) { // Check connection with the cloud on error HMWP_Classes_Tools::checkAccountApi(); } if ( isset( $logs['data'] ) && ! empty( $logs['data'] ) ) { $logs = $logs['data']; } else { $logs = array(); } } else { $logs = array(); } $this->listTable->setData( $logs ); } } /** * Log the user event * * @throws Exception */ public function templogin() { if ( ! HMWP_Classes_Tools::getOption( 'hmwp_token' ) ) { return; } // Clear previous alerts HMWP_Classes_Error::clearErrors(); if ( HMWP_Classes_Tools::getValue( 'action' ) == 'hmwp_update' && HMWP_Classes_Tools::getValue( 'user_id' ) ) { $user_id = HMWP_Classes_Tools::getValue( 'user_id' ); $this->user = get_user_by( 'ID', $user_id ); $this->user->details = HMWP_Classes_ObjController::getClass( 'HMWP_Models_Templogin' )->getUserDetails( $this->user ); } if ( HMWP_Classes_Tools::getValue( 'hmwp_message' ) ) { HMWP_Classes_Error::setNotification( HMWP_Classes_Tools::getValue( 'hmwp_message', false, true ), 'success' ); } } /** * Firewall page init * * @return void * @throws Exception */ public function twofactor() { if ( ! HMWP_Classes_Tools::isAdvancedpackInstalled() ) { add_filter( 'hmwp_getview', function( $output, $block ) { if ( $block == 'Twofactor' ) { return '
' . $this->getView( 'blocks/Install' ) . '
'; } return $output; }, PHP_INT_MAX, 2 ); } } /** * Load media header */ public function hookHead() { } /** * Show this message to notify the user when to update the settings * * @return void * @throws Exception */ public function showSaveRequires() { if ( HMWP_Classes_Tools::getOption( 'hmwp_hide_plugins' ) || HMWP_Classes_Tools::getOption( 'hmwp_hide_themes' ) ) { global $pagenow; if ( $pagenow == 'plugins.php' ) { HMWP_Classes_ObjController::getClass( 'HMWP_Classes_DisplayController' )->loadMedia( 'alert' ); ?>

', '' ); ?>

0 ) { $error = sprintf( esc_html__( "Your %s %s license expired on %s %s. To keep your website security up to date please make sure you have a valid subscription on %s", 'hide-my-wp' ), '', HMWP_Classes_Tools::getOption( 'hmwp_plugin_name' ), gmdate( 'd M Y', $expires ), '', ''._HMWP_ACCOUNT_SITE_.'' ); if ( $pagenow == 'plugins.php' ) { $ignore_errors = (array) HMWP_Classes_Tools::getOption( 'ignore_errors' ); if ( ! empty( $ignore_errors ) && in_array( strlen( $error ), $ignore_errors ) ) { return; } $url = add_query_arg( array( 'hmwp_nonce' => wp_create_nonce( 'hmwp_ignoreerror' ), 'action' => 'hmwp_ignoreerror', 'hash' => strlen( $error ) ) ); ?> getSubMenu( $current ); $content = '
'; $content .= ''; foreach ( $subtabs as $tab ) { $content .= '' . wp_kses_post( $tab['title'] ) . ''; } $content .= '
'; return $content; } /** * Called when an action is triggered * * @throws Exception */ public function action() { parent::action(); if ( ! HMWP_Classes_Tools::userCan( HMWP_CAPABILITY ) ) { return; } switch ( HMWP_Classes_Tools::getValue( 'action' ) ) { case 'hmwp_settings': //Save the settings if ( isset( $_SERVER['REQUEST_METHOD'] ) && $_SERVER['REQUEST_METHOD'] === 'POST' ) { // Save the whitelist IPs $this->saveWhiteListIps(); // Save the whitelist paths $this->saveWhiteListPaths(); /** @var $this ->model HMWP_Models_Settings */ $this->model->savePermalinks( $_POST ); } //load the after saving settings process if ( $this->model->applyPermalinksChanged() ) { HMWP_Classes_Error::setNotification( esc_html__( 'Saved' ), 'success' ); //add action for later use do_action( 'hmwp_settings_saved' ); } break; case 'hmwp_tweakssettings': //Save the settings if ( isset( $_SERVER['REQUEST_METHOD'] ) && $_SERVER['REQUEST_METHOD'] === 'POST' ) { $this->model->saveValues( $_POST ); } HMWP_Classes_Tools::saveOptions( 'hmwp_disable_click_message', HMWP_Classes_Tools::getValue( 'hmwp_disable_click_message', '', true ) ); HMWP_Classes_Tools::saveOptions( 'hmwp_disable_inspect_message', HMWP_Classes_Tools::getValue( 'hmwp_disable_inspect_message', '', true ) ); HMWP_Classes_Tools::saveOptions( 'hmwp_disable_source_message', HMWP_Classes_Tools::getValue( 'hmwp_disable_source_message', '', true ) ); HMWP_Classes_Tools::saveOptions( 'hmwp_disable_copy_paste_message', HMWP_Classes_Tools::getValue( 'hmwp_disable_copy_paste_message', '', true ) ); HMWP_Classes_Tools::saveOptions( 'hmwp_disable_drag_drop_message', HMWP_Classes_Tools::getValue( 'hmwp_disable_drag_drop_message', '', true ) ); //load the after saving settings process if ( $this->model->applyPermalinksChanged() ) { HMWP_Classes_Error::setNotification( esc_html__( 'Saved' ), 'success' ); //add action for later use do_action( 'hmwp_tweakssettings_saved' ); } break; case 'hmwp_mappsettings': //Save Mapping for classes and ids HMWP_Classes_Tools::saveOptions( 'hmwp_mapping_classes', HMWP_Classes_Tools::getValue( 'hmwp_mapping_classes' ) ); HMWP_Classes_Tools::saveOptions( 'hmwp_mapping_file', HMWP_Classes_Tools::getValue( 'hmwp_mapping_file' ) ); HMWP_Classes_Tools::saveOptions( 'hmwp_file_cache', HMWP_Classes_Tools::getValue( 'hmwp_file_cache' ) ); //Save the patterns as array //Save CDN URLs if ( $urls = HMWP_Classes_Tools::getValue( 'hmwp_cdn_urls' ) ) { $hmwp_cdn_urls = array(); foreach ( $urls as $row ) { if ( $row <> '' ) { $row = preg_replace( '/[^A-Za-z0-9-_.:\/]/', '', $row ); if ( $row <> '' ) { $hmwp_cdn_urls[] = $row; } } } HMWP_Classes_Tools::saveOptions( 'hmwp_cdn_urls', wp_json_encode( $hmwp_cdn_urls ) ); } //Save Text Mapping if ( $hmwp_text_mapping_from = HMWP_Classes_Tools::getValue( 'hmwp_text_mapping_from' ) ) { if ( $hmwp_text_mapping_to = HMWP_Classes_Tools::getValue( 'hmwp_text_mapping_to' ) ) { $this->model->saveTextMapping( $hmwp_text_mapping_from, $hmwp_text_mapping_to ); } } //Save URL mapping if ( $hmwp_url_mapping_from = HMWP_Classes_Tools::getValue( 'hmwp_url_mapping_from' ) ) { if ( $hmwp_url_mapping_to = HMWP_Classes_Tools::getValue( 'hmwp_url_mapping_to' ) ) { $this->model->saveURLMapping( $hmwp_url_mapping_from, $hmwp_url_mapping_to ); } } //load the after saving settings process if ( $this->model->applyPermalinksChanged( true ) ) { HMWP_Classes_Error::setNotification( esc_html__( 'Saved' ), 'success' ); //add action for later use do_action( 'hmwp_mappsettings_saved' ); } break; case 'hmwp_firewall': // Save the settings if ( isset( $_SERVER['REQUEST_METHOD'] ) && $_SERVER['REQUEST_METHOD'] === 'POST' ) { // Save the whitelist IPs $this->saveWhiteListIps(); // Blacklist ips,hostnames, user agents, referrers $this->saveBlackListIps(); $this->saveBlackListHostnames(); $this->saveBlackListUserAgents(); $this->saveBlackListReferrers(); // Save the whitelist paths $this->saveWhiteListPaths(); // Save the blacklist GEO Paths $this->saveGeoBlockPaths(); // Save the rest of the settings $this->model->saveValues( $_POST ); // Save CDN URLs if ( $codes = HMWP_Classes_Tools::getValue( 'hmwp_geoblock_countries' ) ) { $countries = array(); foreach ( $codes as $code ) { if ( $code <> '' ) { $code = preg_replace( '/[^A-Za-z]/', '', $code ); if ( $code <> '' ) { $countries[] = $code; } } } HMWP_Classes_Tools::saveOptions( 'hmwp_geoblock_countries', wp_json_encode( $countries ) ); } else { HMWP_Classes_Tools::saveOptions( 'hmwp_geoblock_countries', array() ); } // If no change is made on settings, just return if ( ! $this->model->checkOptionsChange() ) { return; } // Save the rules and add the rewrites $this->model->saveRules(); // Load the after saving settings process if ( $this->model->applyPermalinksChanged() ) { HMWP_Classes_Error::setNotification( esc_html__( 'Saved' ), 'success' ); // Add action for later use do_action( 'hmwp_firewall_saved' ); } } break; case 'hmwp_advsettings': if ( isset( $_SERVER['REQUEST_METHOD'] ) && $_SERVER['REQUEST_METHOD'] === 'POST' ) { $this->model->saveValues( $_POST ); //save the loading moment HMWP_Classes_Tools::saveOptions( 'hmwp_firstload', in_array( 'first', HMWP_Classes_Tools::getOption( 'hmwp_loading_hook' ) ) ); HMWP_Classes_Tools::saveOptions( 'hmwp_priorityload', in_array( 'priority', HMWP_Classes_Tools::getOption( 'hmwp_loading_hook' ) ) ); HMWP_Classes_Tools::saveOptions( 'hmwp_laterload', in_array( 'late', HMWP_Classes_Tools::getOption( 'hmwp_loading_hook' ) ) ); //Send the notification email in case of Weekly report if ( HMWP_Classes_Tools::getValue( 'hmwp_send_email' ) && HMWP_Classes_Tools::getValue( 'hmwp_email_address' ) ) { $args = array( 'email' => HMWP_Classes_Tools::getValue( 'hmwp_email_address' ) ); HMWP_Classes_Tools::hmwp_remote_post( _HMWP_ACCOUNT_SITE_ . '/api/log/settings', $args, array( 'timeout' => 5 ) ); } if ( HMWP_Classes_Tools::getOption( 'hmwp_firstload' ) ) { //Add the must-use plugin to force loading before all others plugins HMWP_Classes_ObjController::getClass( 'HMWP_Models_Compatibility' )->addMUPlugin(); } else { HMWP_Classes_ObjController::getClass( 'HMWP_Models_Compatibility' )->deleteMUPlugin(); } //load the after saving settings process if ( $this->model->applyPermalinksChanged() ) { HMWP_Classes_Error::setNotification( esc_html__( 'Saved' ), 'success' ); //add action for later use do_action( 'hmwp_advsettings_saved' ); } } //add action for later use do_action( 'hmwp_advsettings_saved' ); break; case 'hmwp_savecachepath': //Save the option to change the paths in the cache file HMWP_Classes_Tools::saveOptions( 'hmwp_change_in_cache', HMWP_Classes_Tools::getValue( 'hmwp_change_in_cache' ) ); //Save the cache directory $directory = HMWP_Classes_Tools::getValue( 'hmwp_change_in_cache_directory' ); if ( $directory <> '' ) { $directory = trim( $directory, '/' ); //Remove subdirs if ( strpos( $directory, '/' ) !== false ) { $directory = substr( $directory, 0, strpos( $directory, '/' ) ); } if ( ! in_array( $directory, array( 'languages', 'mu-plugins', 'plugins', 'themes', 'upgrade', 'uploads' ) ) ) { HMWP_Classes_Tools::saveOptions( 'hmwp_change_in_cache_directory', $directory ); } else { wp_send_json_error( esc_html__( 'Path not allowed. Avoid paths like plugins and themes.', 'hide-my-wp' ) ); } } else { HMWP_Classes_Tools::saveOptions( 'hmwp_change_in_cache_directory', '' ); } if ( HMWP_Classes_Tools::isAjax() ) { wp_send_json_success( esc_html__( 'Saved', 'hide-my-wp' ) ); } break; case 'hmwp_devsettings': //Set dev settings HMWP_Classes_Tools::saveOptions( 'hmwp_debug', HMWP_Classes_Tools::getValue( 'hmwp_debug' ) ); break; case 'hmwp_devdownload': //Initialize WordPress Filesystem $wp_filesystem = HMWP_Classes_ObjController::initFilesystem(); //Set header as text HMWP_Classes_Tools::setHeader( 'text' ); $filename = preg_replace( '/[-.]/', '_', wp_parse_url( home_url(), PHP_URL_HOST ) ); header( "Content-Disposition: attachment; filename=" . $filename . "_debug.txt" ); if ( function_exists( 'glob' ) ) { $pattern = _HMWP_CACHE_DIR_ . '*.log'; $files = glob( $pattern, 0 ); if ( ! empty( $files ) ) { foreach ( $files as $file ) { echo esc_attr( basename( $file ) ) . PHP_EOL; echo "---------------------------" . PHP_EOL; echo $wp_filesystem->get_contents( $file ) . PHP_EOL . PHP_EOL . PHP_EOL . PHP_EOL; } } } exit(); case 'hmwp_ignore_errors': //Empty WordPress rewrites count for 404 error. //This happens when the rules are not saved through config file HMWP_Classes_Tools::saveOptions( 'file_mappings', array() ); break; case 'hmwp_abort': case 'hmwp_restore_settings': //get keys that should not be replaced $tmp_options = array( 'hmwp_token', 'api_token', 'hmwp_plugin_name', 'hmwp_plugin_menu', 'hmwp_plugin_logo', 'hmwp_plugin_website', 'hmwp_plugin_account_show', ); $tmp_options = array_fill_keys( $tmp_options, true ); foreach ( $tmp_options as $keys => &$value ) { $value = HMWP_Classes_Tools::getOption( $keys ); } //get the safe options from database HMWP_Classes_Tools::$options = HMWP_Classes_Tools::getOptions( true ); //set tmp data back to options foreach ( $tmp_options as $keys => $value ) { HMWP_Classes_Tools::$options[ $keys ] = $value; } HMWP_Classes_Tools::saveOptions(); //set frontend, error & logout to false HMWP_Classes_Tools::saveOptions( 'test_frontend', false ); HMWP_Classes_Tools::saveOptions( 'file_mappings', array() ); HMWP_Classes_Tools::saveOptions( 'error', false ); HMWP_Classes_Tools::saveOptions( 'logout', false ); //load the after saving settings process $this->model->applyPermalinksChanged( true ); break; case 'hmwp_newpluginschange': //reset the change notification HMWP_Classes_Tools::saveOptions( 'changes', 0 ); remove_action( 'admin_notices', array( $this, 'showSaveRequires' ) ); //generate unique names for plugins if needed if ( HMWP_Classes_Tools::getOption( 'hmwp_hide_plugins' ) ) { HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rewrite' )->hidePluginNames(); } if ( HMWP_Classes_Tools::getOption( 'hmwp_hide_themes' ) ) { HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rewrite' )->hideThemeNames(); } //load the after saving settings process if ( $this->model->applyPermalinksChanged() ) { HMWP_Classes_Error::setNotification( esc_html__( 'The list of plugins and themes was updated with success!' ), 'success' ); } break; case 'hmwp_confirm': HMWP_Classes_Tools::saveOptions( 'error', false ); HMWP_Classes_Tools::saveOptions( 'logout', false ); HMWP_Classes_Tools::saveOptions( 'test_frontend', false ); HMWP_Classes_Tools::saveOptions( 'file_mappings', array() ); //Send email notification about the path changed HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rewrite' )->sendEmail(); //save to safe mode in case of db if ( ! HMWP_Classes_Tools::getOption( 'logout' ) ) { HMWP_Classes_Tools::saveOptionsBackup(); } //Force the recheck security notification delete_option( HMWP_SECURITY_CHECK_TIME ); HMWP_Classes_Tools::saveOptions( 'download_settings', true ); //add action for later use do_action( 'hmwp_confirmed_settings' ); break; case 'hmwp_manualrewrite': HMWP_Classes_Tools::saveOptions( 'error', false ); HMWP_Classes_Tools::saveOptions( 'logout', false ); HMWP_Classes_Tools::saveOptions( 'test_frontend', true ); HMWP_Classes_Tools::saveOptions( 'file_mappings', array() ); //save to safe mode in case of db if ( ! HMWP_Classes_Tools::getOption( 'logout' ) ) { HMWP_Classes_Tools::saveOptionsBackup(); } //Clear the cache if there are no errors HMWP_Classes_Tools::emptyCache(); if ( HMWP_Classes_Tools::isNginx() ) { @shell_exec( 'nginx -s reload' ); } break; case 'hmwp_changepathsincache': //Check the cache plugin HMWP_Classes_ObjController::getClass( 'HMWP_Models_Compatibility' )->checkCacheFiles(); HMWP_Classes_Error::setNotification( esc_html__( 'Paths changed in the existing cache files', 'hide-my-wp' ), 'success' ); break; case 'hmwp_backup': //Save the Settings into backup if ( ! HMWP_Classes_Tools::userCan( HMWP_CAPABILITY ) ) { return; } HMWP_Classes_Tools::getOptions(); HMWP_Classes_Tools::setHeader( 'text' ); $filename = preg_replace( '/[-.]/', '_', wp_parse_url( home_url(), PHP_URL_HOST ) ); header( "Content-Disposition: attachment; filename=" . $filename . "_settings_backup.txt" ); if ( function_exists( 'base64_encode' ) ) { echo base64_encode( wp_json_encode( HMWP_Classes_Tools::$options ) ); } else { echo wp_json_encode( HMWP_Classes_Tools::$options ); } exit(); case 'hmwp_preset': //Load a preset data if ( ! HMWP_Classes_Tools::userCan( HMWP_CAPABILITY ) ) { return; } //get the current preset index $index = HMWP_Classes_Tools::getValue( 'hmwp_preset_settings' ); /** @var HMWP_Models_Presets $presetsModel */ $presetsModel = HMWP_Classes_ObjController::getClass( 'HMWP_Models_Presets' ); if ( method_exists( $presetsModel, 'getPreset' . $index ) ) { $presets = call_user_func( array( $presetsModel, 'getPreset' . $index ) ); } if ( ! empty( $presets ) ) { foreach ( $presets as $key => $value ) { HMWP_Classes_Tools::$options[ $key ] = $value; } HMWP_Classes_Tools::saveOptions(); //generate unique names for plugins if needed if ( HMWP_Classes_Tools::getOption( 'hmwp_hide_plugins' ) ) { HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rewrite' )->hidePluginNames(); } if ( HMWP_Classes_Tools::getOption( 'hmwp_hide_themes' ) ) { HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rewrite' )->hideThemeNames(); } //load the after saving settings process if ( $this->model->applyPermalinksChanged() ) { HMWP_Classes_Error::setNotification( esc_html__( 'Great! The preset was loaded.', 'hide-my-wp' ), 'success' ); //add action for later use do_action( 'hmwp_settings_saved' ); } } else { HMWP_Classes_Error::setNotification( esc_html__( 'Error! The preset could not be restored.', 'hide-my-wp' ) ); } break; case 'hmwp_rollback': $hmwp_token = HMWP_Classes_Tools::getOption( 'hmwp_token' ); $api_token = HMWP_Classes_Tools::getOption( 'api_token' ); //Get the default values $options = HMWP_Classes_Tools::$default; //Prevent duplicates foreach ( $options as $key => $value ) { //set the default params from tools HMWP_Classes_Tools::saveOptions( $key, $value ); HMWP_Classes_Tools::saveOptions( 'hmwp_token', $hmwp_token ); HMWP_Classes_Tools::saveOptions( 'api_token', $api_token ); } //remove the custom rules HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rules' )->writeToFile( '', 'HMWP_VULNERABILITY' ); HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rules' )->writeToFile( '', 'HMWP_RULES' ); HMWP_Classes_Error::setNotification( esc_html__( 'Great! The initial values are restored.', 'hide-my-wp' ), 'success' ); break; case 'hmwp_restore': $tmp_options = array( 'hmwp_token', 'api_token', 'hmwp_plugin_name', 'hmwp_plugin_menu', 'hmwp_plugin_logo', 'hmwp_plugin_website', 'hmwp_plugin_account_show', ); //Initialize WordPress Filesystem $wp_filesystem = HMWP_Classes_ObjController::initFilesystem(); //Restore the backup if ( ! HMWP_Classes_Tools::userCan( HMWP_CAPABILITY ) ) { return; } if ( ! empty( $_FILES['hmwp_options']['tmp_name'] ) && $_FILES['hmwp_options']['tmp_name'] <> '' ) { $options = $wp_filesystem->get_contents( $_FILES['hmwp_options']['tmp_name'] ); try { if ( function_exists( 'base64_encode' ) && base64_decode( $options ) <> '' ) { $options = base64_decode( $options ); } $options = json_decode( $options, true ); if ( is_array( $options ) && isset( $options['hmwp_ver'] ) ) { foreach ( $options as $key => $value ) { if ( !in_array($key, $tmp_options) ) { HMWP_Classes_Tools::saveOptions( $key, $value ); } } //load the after saving settings process if ( $this->model->applyPermalinksChanged() ) { HMWP_Classes_Error::setNotification( esc_html__( 'Great! The backup is restored.', 'hide-my-wp' ), 'success' ); } } else { HMWP_Classes_Error::setNotification( esc_html__( 'Error! The backup is not valid.', 'hide-my-wp' ) ); } } catch ( Exception $e ) { HMWP_Classes_Error::setNotification( esc_html__( 'Error! The backup is not valid.', 'hide-my-wp' ) ); } } else { HMWP_Classes_Error::setNotification( esc_html__( 'Error! No backup to restore.', 'hide-my-wp' ) ); } break; case 'hmwp_download_settings': //Save the Settings into backup if ( ! HMWP_Classes_Tools::userCan( HMWP_CAPABILITY ) ) { return; } HMWP_Classes_Tools::saveOptions( 'download_settings', false ); HMWP_Classes_Tools::getOptions(); HMWP_Classes_Tools::setHeader( 'text' ); $filename = preg_replace( '/[-.]/', '_', wp_parse_url( home_url(), PHP_URL_HOST ) ); header( "Content-Disposition: attachment; filename=" . $filename . "_login.txt" ); $line = "\n" . "________________________________________" . PHP_EOL; $message = sprintf( esc_html__( "Thank you for using %s!", 'hide-my-wp' ), HMWP_Classes_Tools::getOption( 'hmwp_plugin_name' ) ) . PHP_EOL; $message .= $line; $message .= esc_html__( "Your new site URLs are", 'hide-my-wp' ) . ':' . PHP_EOL . PHP_EOL; $message .= esc_html__( "Admin URL", 'hide-my-wp' ) . ': ' . admin_url() . PHP_EOL; $message .= esc_html__( "Login URL", 'hide-my-wp' ) . ': ' . site_url( HMWP_Classes_Tools::$options['hmwp_login_url'] ) . PHP_EOL; $message .= $line; $message .= esc_html__( "Note: If you can`t login to your site, just access this URL", 'hide-my-wp' ) . ':' . PHP_EOL . PHP_EOL; $message .= site_url() . "/wp-login.php?" . HMWP_Classes_Tools::getOption( 'hmwp_disable_name' ) . "=" . HMWP_Classes_Tools::$options['hmwp_disable'] . PHP_EOL . PHP_EOL; $message .= $line; $message .= esc_html__( "Best regards", 'hide-my-wp' ) . ',' . PHP_EOL; $message .= HMWP_Classes_Tools::getOption( 'hmwp_plugin_name' ) . PHP_EOL; //Echo the new paths in a txt file echo $message; exit(); case 'hmwp_advanced_install': if ( ! HMWP_Classes_Tools::userCan( HMWP_CAPABILITY ) ) { return; } //check the version $response = wp_remote_get( 'https://account.hidemywpghost.com/updates-hide-my-wp-pack.json?rnd=' . wp_rand( 1111, 9999 ) ); if ( is_wp_error( $response ) ) { HMWP_Classes_Error::setNotification( $response->get_error_message() ); } elseif ( wp_remote_retrieve_response_code( $response ) !== 200 ) { HMWP_Classes_Error::setNotification( esc_html__( "Can't download the plugin.", 'hide-my-wp' ) ); } else { if ( $data = json_decode( wp_remote_retrieve_body( $response ) ) ) { $rollback = HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rollback' ); $output = $rollback->install( array( 'version' => $data->version, 'plugin_name' => $data->name, 'plugin_slug' => $data->slug, 'package_url' => $data->download_url, ) ); if ( ! is_wp_error( $output ) ) { $rollback->activate( $data->slug . '/index.php' ); wp_redirect( HMWP_Classes_Tools::getSettingsUrl( HMWP_Classes_Tools::getValue( 'page' ) . '#tab=' . HMWP_Classes_Tools::getValue( 'tab' ), true ) ); exit(); } else { HMWP_Classes_Error::setNotification( $output->get_error_message() ); } } } break; case 'hmwp_pause_enable': if ( ! HMWP_Classes_Tools::userCan( HMWP_CAPABILITY ) ) { return; } set_transient('hmwp_disable', 1, 300); break; case 'hmwp_pause_disable': if ( ! HMWP_Classes_Tools::userCan( HMWP_CAPABILITY ) ) { return; } delete_transient('hmwp_disable'); break; case 'hmwp_update_product_name': if(HMWP_Classes_Tools::getOption('hmwp_plugin_name') == 'Hide My WP Ghost'){ HMWP_Classes_Tools::saveOptions('hmwp_plugin_name', _HMWP_PLUGIN_FULL_NAME_); } if(HMWP_Classes_Tools::getOption('hmwp_plugin_menu') == 'Hide My WP'){ HMWP_Classes_Tools::saveOptions('hmwp_plugin_menu', _HMWP_PLUGIN_FULL_NAME_); } if(HMWP_Classes_Tools::getOption('hmwp_plugin_website') == 'https://hidemywpghost.com'){ HMWP_Classes_Tools::saveOptions('hmwp_plugin_website', 'https://wpghost.com'); } break; } } /** * Save the whitelist IPs into database * * @return void */ private function saveWhiteListIps() { $whitelist = HMWP_Classes_Tools::getValue( 'whitelist_ip', '', true ); //is there are separated by commas if ( strpos( $whitelist, ',' ) !== false ) { $whitelist = str_replace( ',', PHP_EOL, $whitelist ); } $ips = explode( PHP_EOL, $whitelist ); if ( ! empty( $ips ) ) { foreach ( $ips as &$ip ) { $ip = trim( $ip ); // Check for IPv4 IP cast as IPv6 if ( preg_match( '/^::ffff:(\d+\.\d+\.\d+\.\d+)$/', $ip, $matches ) ) { $ip = $matches[1]; } } $ips = array_unique( $ips ); HMWP_Classes_Tools::saveOptions( 'whitelist_ip', wp_json_encode( $ips ) ); } } /** * Save the whitelist Paths into database * * @return void */ private function saveWhiteListPaths() { $whitelist = HMWP_Classes_Tools::getValue( 'whitelist_urls', '', true ); //is there are separated by commas if ( strpos( $whitelist, ',' ) !== false ) { $whitelist = str_replace( ',', PHP_EOL, $whitelist ); } $urls = explode( PHP_EOL, $whitelist ); if ( ! empty( $urls ) ) { foreach ( $urls as &$url ) { $url = trim( $url ); } $urls = array_unique( $urls ); HMWP_Classes_Tools::saveOptions( 'whitelist_urls', wp_json_encode( $urls ) ); } } /** * Save the whitelist IPs into database * * @return void */ private function saveBlackListIps() { $banlist = HMWP_Classes_Tools::getValue( 'banlist_ip', '', true ); //is there are separated by commas if ( strpos( $banlist, ',' ) !== false ) { $banlist = str_replace( ',', PHP_EOL, $banlist ); } $ips = explode( PHP_EOL, $banlist ); if ( ! empty( $ips ) ) { foreach ( $ips as &$ip ) { $ip = trim( $ip ); // Check for IPv4 IP cast as IPv6 if ( preg_match( '/^::ffff:(\d+\.\d+\.\d+\.\d+)$/', $ip, $matches ) ) { $ip = $matches[1]; } } $ips = array_unique( $ips ); HMWP_Classes_Tools::saveOptions( 'banlist_ip', wp_json_encode( $ips ) ); } } /** * Save the hostname * * @return void */ private function saveBlackListHostnames() { $banlist = HMWP_Classes_Tools::getValue( 'banlist_hostname', '', true ); //is there are separated by commas if ( strpos( $banlist, ',' ) !== false ) { $banlist = str_replace( ',', PHP_EOL, $banlist ); } $list = explode( PHP_EOL, $banlist ); if ( ! empty( $list ) ) { foreach ( $list as $index => &$row ) { $row = trim( $row ); if ( preg_match( '/^[a-z0-9\.\*\-]+$/i', $row, $matches ) ) { $row = $matches[0]; } else { unset( $list[ $index ] ); } } $list = array_unique( $list ); HMWP_Classes_Tools::saveOptions( 'banlist_hostname', wp_json_encode( $list ) ); } } /** * Save the User Agents * * @return void */ private function saveBlackListUserAgents() { $banlist = HMWP_Classes_Tools::getValue( 'banlist_user_agent', '', true ); //is there are separated by commas if ( strpos( $banlist, ',' ) !== false ) { $banlist = str_replace( ',', PHP_EOL, $banlist ); } $list = explode( PHP_EOL, $banlist ); if ( ! empty( $list ) ) { foreach ( $list as $index => &$row ) { $row = trim( $row ); if ( preg_match( '/^[a-z0-9\.\*\-]+$/i', $row, $matches ) ) { $row = $matches[0]; } else { unset( $list[ $index ] ); } } $list = array_unique( $list ); HMWP_Classes_Tools::saveOptions( 'banlist_user_agent', wp_json_encode( $list ) ); } } /** * Save the Referrers * * @return void */ private function saveBlackListReferrers() { $banlist = HMWP_Classes_Tools::getValue( 'banlist_referrer', '', true ); //is there are separated by commas if ( strpos( $banlist, ',' ) !== false ) { $banlist = str_replace( ',', PHP_EOL, $banlist ); } $list = explode( PHP_EOL, $banlist ); if ( ! empty( $list ) ) { foreach ( $list as $index => &$row ) { $row = trim( $row ); if ( preg_match( '/^[a-z0-9\.\*\-]+$/i', $row, $matches ) ) { $row = $matches[0]; } else { unset( $list[ $index ] ); } } $list = array_unique( $list ); HMWP_Classes_Tools::saveOptions( 'banlist_referrer', wp_json_encode( $list ) ); } } /** * Save the country blocking Paths into database * * @return void */ private function saveGeoBlockPaths() { $geoblock = HMWP_Classes_Tools::getValue( 'hmwp_geoblock_urls', '', true ); //is there are separated by commas if ( strpos( $geoblock, ',' ) !== false ) { $geoblock = str_replace( ',', PHP_EOL, $geoblock ); } $urls = explode( PHP_EOL, $geoblock ); if ( ! empty( $urls ) ) { foreach ( $urls as &$url ) { $url = trim( $url ); } $urls = array_unique( $urls ); HMWP_Classes_Tools::saveOptions( 'hmwp_geoblock_urls', wp_json_encode( $urls ) ); } } /** * If javascript is not loaded * * @return void */ public function hookFooter() { echo ''; } } controllers/Templogin.php000064400000037244147600042240011572 0ustar00model->isValidTempLogin( get_current_user_id() ) ) { add_filter( 'hmwp_menu', function( $menu ) { unset( $menu['hmwp_templogin'] ); return $menu; } ); add_filter( 'hmwp_features', function( $features ) { foreach ( $features as &$feature ) { if ( $feature['option'] == 'hmwp_templogin' ) { $feature['show'] = false; } } return $features; } ); add_filter( 'locale', function( $locale ) { if ( $hmwp_locale = get_user_meta( get_current_user_id(), 'locale', true ) ) { if ( $hmwp_locale <> 'en_US' ) { return $hmwp_locale; } } return $locale; }, 1, 1 ); } // First, check if the user is still active $this->checkTempLoginExpired(); } /** * Listen temporary login on load * * @return void */ public function hookFrontinit() { // First, check if the user is still active $this->checkTempLoginExpired(); if ( HMWP_Classes_Tools::getValue( 'hmwp_token' ) <> '' ) { // Return is header was already sent if ( headers_sent() ) { return; } // Initialize the redirect $redirect_to = add_query_arg( 'hmwp_login', 'success', admin_url() ); add_filter( 'hmwp_option_hmwp_hide_wplogin', '__return_false' ); add_filter( 'hmwp_option_hmwp_hide_login', '__return_false' ); // Check if token is set $token = sanitize_key( HMWP_Classes_Tools::getValue( 'hmwp_token' ) ); if ( ! $user = $this->model->findUserByToken( $token ) ) { $redirect_to = home_url(); //redirect to home page } else { $do_login = true; if ( function_exists( 'is_user_logged_in' ) && is_user_logged_in() ) { if ( $user->ID !== get_current_user_id() ) { wp_logout(); } else { $do_login = false; } } if ( $do_login ) { // Remove other filters on authenticate remove_all_filters( 'authenticate' ); remove_all_actions( 'wp_login_failed' ); // Disable brute force reCaptcha on temporary login add_filter( 'hmwp_option_brute_use_math', '__return_false' ); add_filter( 'hmwp_option_brute_use_captcha', '__return_false' ); add_filter( 'hmwp_option_brute_use_captcha_v3', '__return_false' ); // Login process if ( ! wp_set_current_user( $user->ID, $user->login ) ) { wp_die( esc_html__( 'Could not login with this user.', 'hide-my-wp' ), esc_html__( 'Temporary Login', 'hide-my-wp' ), array( 'response' => 403 ) ); } wp_set_auth_cookie( $user->ID, true ); // Log current user login update_user_meta( $user->ID, '_hmwp_last_login', $this->model->gtmTimestamp() ); // Save login log $this->model->sendToLog( 'login' ); // Set login count // If we already have a count, increment by 1 if ( $login_count = get_user_meta( $user->ID, '_hmwp_login_count', true ) ) { $login_count ++; } else { $login_count = 1; } update_user_meta( $user->ID, '_hmwp_login_count', $login_count ); do_action( 'wp_login', $user->login, $user ); if ( $user->details->redirect_to <> '' ) { $redirect_to = $user->details->redirect_to; } elseif ( isset( $user->details->user_blog_id ) ) { $redirect_to = get_admin_url( $user->details->user_blog_id ); } } } wp_safe_redirect( $redirect_to ); // Redirect to given url after successful login. exit(); } } /** * Check if the temporary login is still active * * @return void */ public function checkTempLoginExpired() { // Restrict unauthorized page access for temporary users if ( function_exists( 'is_user_logged_in' ) && is_user_logged_in() && ! HMWP_Classes_Tools::isAjax() ) { $user_id = get_current_user_id(); if ( ! empty( $user_id ) && $this->model->isValidTempLogin( $user_id ) ) { if ( $this->model->isExpired( $user_id ) ) { wp_logout(); wp_safe_redirect( home_url() ); exit(); } else { global $pagenow; $restricted_pages = $this->model->getRestrictedPages(); $restricted_actions = $this->model->getRestrictedActions(); $page = HMWP_Classes_Tools::getValue( 'page' ); $action = HMWP_Classes_Tools::getValue( 'action' ); if ( $page <> '' && in_array( $page, $restricted_pages ) || ( ! empty( $pagenow ) && ( in_array( $pagenow, $restricted_pages ) ) ) || ( ! empty( $pagenow ) && ( 'users.php' === $pagenow && in_array( $action, $restricted_actions ) ) ) ) { //phpcs:ignore wp_die( esc_html__( 'Sorry, you are not allowed to access this page.' ) ); } } } } } /** * Admin actions */ public function action() { parent::action(); // If current user can't manage settings if ( ! HMWP_Classes_Tools::userCan( HMWP_CAPABILITY ) ) { return; } // If current user is temporary user if ( $this->model->isValidTempLogin( get_current_user_id() ) ) { return; } switch ( HMWP_Classes_Tools::getValue( 'action' ) ) { case 'hmwp_temploginsettings': HMWP_Classes_Tools::saveOptions( 'hmwp_templogin', HMWP_Classes_Tools::getValue( 'hmwp_templogin', 0 ) ); HMWP_Classes_Tools::saveOptions( 'hmwp_templogin_role', HMWP_Classes_Tools::getValue( 'hmwp_templogin_role', 0 ) ); HMWP_Classes_Tools::saveOptions( 'hmwp_templogin_redirect', HMWP_Classes_Tools::getValue( 'hmwp_templogin_redirect', '' ) ); HMWP_Classes_Tools::saveOptions( 'hmwp_templogin_expires', HMWP_Classes_Tools::getValue( 'hmwp_templogin_expires', 'hour_after_access' ) ); HMWP_Classes_Tools::saveOptions( 'hmwp_templogin_delete_uninstal', HMWP_Classes_Tools::getValue( 'hmwp_templogin_delete_uninstal', 0 ) ); HMWP_Classes_Error::setNotification( esc_html__( 'Saved', 'hide-my-wp' ), 'success' ); break; case 'hmwp_templogin_new': $data = HMWP_Classes_Tools::getValue( 'hmwp_details', array() ); if ( empty( $data['user_email'] ) ) { HMWP_Classes_Error::setNotification( esc_html__( 'Empty email address', 'hide-my-wp' ), 'danger', false ); } elseif ( ! is_email( $data['user_email'] ) ) { HMWP_Classes_Error::setNotification( esc_html__( 'Invalid email address', 'hide-my-wp' ), 'danger', false ); } elseif ( email_exists( $data['user_email'] ) ) { HMWP_Classes_Error::setNotification( esc_html__( 'Email address already exists', 'hide-my-wp' ), 'danger', false ); } if ( ! HMWP_Classes_Error::isError() ) { $user = $this->model->createNewUser( $data ); if ( isset( $user['error'] ) && isset( $user['message'] ) && $user['error'] ) { HMWP_Classes_Error::setNotification( $user['message'], 'danger', false ); } else { HMWP_Classes_Error::setNotification( esc_html__( 'User successfully created.', 'hide-my-wp' ), 'success' ); $user_id = isset( $user['user_id'] ) ? $user['user_id'] : 0; $templogin_url = $this->model->getTempLoginUrl( $user_id ); $templogin_url = '' . $templogin_url . ' '; HMWP_Classes_Error::setNotification( esc_html__( 'Temporary Login', 'hide-my-wp' ) . ': ' . $templogin_url, 'success' ); } } break; case 'hmwp_templogin_update': $data = HMWP_Classes_Tools::getValue( 'hmwp_details', array() ); $data['user_id'] = HMWP_Classes_Tools::getValue( 'user_id', 0 ); HMWP_Classes_Error::clearErrors(); if ( $data['user_id'] == 0 ) { HMWP_Classes_Error::setNotification( esc_html__( 'Could not detect the user', 'hide-my-wp' ), 'danger', false ); } if ( ! HMWP_Classes_Error::isError() ) { //Update the user ... return user_id or array of error $user = $this->model->updateUser( $data ); if ( isset( $user['error'] ) && isset( $user['message'] ) && $user['error'] ) { HMWP_Classes_Error::setNotification( $user['message'], 'danger', false ); } else { $redirect = HMWP_Classes_Tools::getSettingsUrl( HMWP_Classes_Tools::getValue( 'page' ) ); $redirect = add_query_arg( 'hmwp_message', esc_html__( 'User successfully updated.', 'hide-my-wp' ), $redirect ); wp_redirect( $redirect ); exit(); } } break; case 'hmwp_templogin_block': $user_id = HMWP_Classes_Tools::getValue( 'user_id', 0 ); if ( $this->model->updateLoginStatus( absint( $user_id ), 'disable' ) ) { HMWP_Classes_Error::setNotification( esc_html__( 'User successfully disabled.', 'hide-my-wp' ), 'success' ); } else { HMWP_Classes_Error::setNotification( esc_html__( 'User could not be disabled.', 'hide-my-wp' ), 'danger', false ); } break; case 'hmwp_templogin_activate': $user_id = HMWP_Classes_Tools::getValue( 'user_id', 0 ); if ( $this->model->updateLoginStatus( absint( $user_id ), 'enable' ) ) { HMWP_Classes_Error::setNotification( esc_html__( 'User successfully activated.', 'hide-my-wp' ), 'success' ); } else { HMWP_Classes_Error::setNotification( esc_html__( 'User could not be activated.', 'hide-my-wp' ), 'danger', false ); } break; case 'hmwp_templogin_delete': $user_id = HMWP_Classes_Tools::getValue( 'user_id', 0 ); //remove actions on remove_user_from_blog to avoid errors on other plugins remove_all_actions( 'remove_user_from_blog' ); $delete_user = wp_delete_user( $user_id, get_current_user_id() ); // delete user from Multisite network too! if ( HMWP_Classes_Tools::isMultisites() ) { // If it's a super admin, we can't directly delete user from network site. // We need to revoke super admin access first and then delete user if ( is_super_admin( $user_id ) ) { revoke_super_admin( $user_id ); } $delete_user = wpmu_delete_user( $user_id ); } if ( ! is_wp_error( $delete_user ) ) { HMWP_Classes_Error::setNotification( esc_html__( 'User successfully deleted.', 'hide-my-wp' ), 'success' ); } else { HMWP_Classes_Error::setNotification( esc_html__( 'User could not be deleted.', 'hide-my-wp' ), 'danger', false ); } break; } } /** * Get the log table with temporary logins * * @return string */ public function getTempLogins() { $data = ''; $users = $this->model->getTempUsers(); $data .= ""; if ( ! empty( $users ) ) { foreach ( $users as $user ) { $user->details = $this->model->getUserDetails( $user ); $user_details = '
'; if ( ( esc_attr( $user->first_name ) ) ) { $user_details .= '' . esc_html( $user->first_name ) . ''; } if ( ( esc_attr( $user->last_name ) ) ) { $user_details .= ' ' . esc_html( $user->last_name ) . ''; } $user_details .= " (
'; if ( ( esc_attr( $user->user_email ) ) ) { $user_details .= '

' . esc_html( $user->user_email ) . '


'; } $user_details .= '
'; $form = '
'; if ( $user->details->is_active ) { $form .= '
' . wp_nonce_field( 'hmwp_templogin_block', 'hmwp_nonce', true, false ) . ' '; } else { $form .= '
' . wp_nonce_field( 'hmwp_templogin_activate', 'hmwp_nonce', true, false ) . ' '; } $form .= '
'; $form .= '
' . wp_nonce_field( 'hmwp_templogin_delete', 'hmwp_nonce', true, false ) . ' '; if ( $user->details->is_active ) { $form .= '
'; } $expires = false; if ( (int) $user->details->expire > 0 ) { $expires = $this->model->timeElapsed( $user->details->expire ); } else { if ( isset( $this->model->expires[ $user->details->expire ] ) ) { $expires = $this->model->expires[ $user->details->expire ]['label']; $expires .= '
(' . esc_html__( 'after first access' ) . ')'; } } $form .= '
'; // If there is a multisite user if ( isset( $user->details->user_blog_id ) ) { $user->details->user_role_name .= '
' . get_home_url( $user->details->user_blog_id ); } $data .= ""; } } else { $data .= ""; } $data .= "
" . esc_html__( 'User', 'hide-my-wp' ) . " " . esc_html__( 'Role', 'hide-my-wp' ) . " " . esc_html__( 'Last Access', 'hide-my-wp' ) . " " . esc_html__( 'Expires', 'hide-my-wp' ) . " " . esc_html__( 'Options', 'hide-my-wp' ) . "
$user_details {$user->details->user_role_name} {$user->details->last_login} $expires $form
" . esc_html__( 'No temporary logins.', 'hide-my-wp' ) . "
"; return $data; } } controllers/Widget.php000064400000005625147600042240011055 0ustar00domain . $site->path, '/' ); } } } } else { $urls[] = home_url(); } // Pack the urls $args['urls'] = wp_json_encode( array_unique( $urls ) ); // Call the stats $stats = HMWP_Classes_Tools::hmwp_remote_get( _HMWP_API_SITE_ . '/api/log/stats', $args ); if ( $stats = json_decode( $stats, true ) ) { if ( isset( $stats['data'] ) ) { $this->stats = $stats['data']; } } $this->risktasks = HMWP_Classes_ObjController::getClass( 'HMWP_Controllers_SecurityCheck' )->getRiskTasks(); $this->riskreport = HMWP_Classes_ObjController::getClass( 'HMWP_Controllers_SecurityCheck' )->getRiskReport(); $this->show( 'Dashboard' ); } /** * Called when an action is triggered * * @throws Exception */ public function action() { parent::action(); if ( ! HMWP_Classes_Tools::userCan( HMWP_CAPABILITY ) ) { return; } if ( HMWP_Classes_Tools::getValue( 'action' ) == 'hmwp_widget_securitycheck' ) { HMWP_Classes_ObjController::getClass( 'HMWP_Controllers_SecurityCheck' )->doSecurityCheck(); // Get the stats $args = $urls = array(); // If it's multisite if ( is_multisite() ) { if ( function_exists( 'get_sites' ) && class_exists( 'WP_Site_Query' ) ) { $sites = get_sites(); if ( ! empty( $sites ) ) { foreach ( $sites as $site ) { $urls[] = ( _HMWP_CHECK_SSL_ ? 'https://' : 'http://' ) . rtrim( $site->domain . $site->path, '/' ); } } } } else { $urls[] = home_url(); } // Pack the urls $args['urls'] = wp_json_encode( array_unique( $urls ) ); // Call the stats $stats = HMWP_Classes_Tools::hmwp_remote_get( _HMWP_API_SITE_ . '/api/log/stats', $args ); if ( $stats = json_decode( $stats, true ) ) { if ( isset( $stats['data'] ) ) { $this->stats = $stats['data']; } } $this->risktasks = HMWP_Classes_ObjController::getClass( 'HMWP_Controllers_SecurityCheck' )->getRiskTasks(); $this->riskreport = HMWP_Classes_ObjController::getClass( 'HMWP_Controllers_SecurityCheck' )->getRiskReport(); wp_send_json_success( $this->getView( 'Dashboard' ) ); } } } languages/hide-my-wp-ar.mo000064400000550062147600042240011436 0ustar003)LSooeo pp pe:p%ppppPqhqXqTr>qr>rMr2=s)psBsEs#t tMtDuau eu ou}uu uu u uuePv)v v v v8w?xFxOxxyy0yJy%_yCyTyGz;fz5zLz%{{{L{"|<)|/f|%|||'|}7-}$e}R}!}}5~SQ~~~~,~':/7j3    . @XL+ р߀  $ ;'HpGdSrfjقD  4;8B { MW _k A ܅ %=E M ZePnΆֆކ T \ ftŇԇ6 Q] p|! ƈԈۈ (@]t ~ (I0zL~Fˊ7@S ϋ֋Y GRds Ō4%Q-w(J΍"6<ksdߎQDIUq6M 10;bCF5)_ekFm_Rgx/e@ ` l`xٕݕ  "#9,]ray_nٗpH' ej[^ƙ%B%HanК7ٚ  Y( 1ڛ. ;G[45؜&A͝ʞҞ۞(:Mg|(П %8Lc{@Р371ipv   šСء%@?*  Ǣ!Ӣ +#Fnj٣ "'Jb( ɤ/8!Jl$c $9[^%Ѧ)&!ZHP.O#0s/5Ԩ, 7}"v%/=mv)@F,;Hh87"( 7 AKT]DcF \ h n z ȮPׯ+ݯ ̰1԰ =N](sձuIDzвײ ̳޳bkU ʶֶ޶N 5CJ ft} nt{!ӹ% ?EV6;&M/}  ˻  t"Uc_Q^gexU޾d4f2m3)  =* * 5 ?7`;WUCO Fe'+   %/8 ?MTZ\w! KTYk${1"&)P?c2E]t 1%=Wl%""7AQyF(; P)^.5M;S&k:3UVWSTHWGfgk7  K  +5 =gI Yv!UIF8y`rxMqF8=8=~5Z6 ^M7^-RO-Q}PR s ]Bzhzf )2;B ^io4x    ( 4AH PZlt3#"9\{##7= JR+Z C *4 D N Ye@{=>%96_v  (2BQb{    .9_KR[dio!)$A@@( 6  );C JU\|7. - 8 CM gtY|   n H  + 1;AINQc~   . 5?Q9e#;Z go x R= JRcs| 2"1:@V]nw6~)  '0D  1B )GAXk88?x  "65Ul+ >->l1Yz9&+3=qy>12&>FY` + <5 -r )          +  E f         1 " 1 C 5J  %       -b @ R8O.6  $1?q5 g>C['q&<"% H Vc{   #   '6FN|/c ,   ' -9B Ycj?r954">W| 64 kw  /7<,t,aV`RHGu8]U4 !2A!/t!-! !J! >"J"Z"0p"k"h #<v# #B#%%.a&&Y)' ' ' 'T'u'uq((((F(7A)y)))))) )))*** *** **\o++++ +$,"(, K,LV,,., , ,--+-<@-}-0- -- - --..7.-S.,.+.1.- /,:/g/////c/U2:3 +464<4B4 J4T4l4 t4 44444 4 44 5 5i55 55W566 &6 G6 Q6_6q6666 6667#7<7N7:9>Q<?m@NAMaAAAAAAAP B\BKB6C!CCCt7DQD:D9E.E(EL!FnFRGDHaHODII$JJHJ%K9KPPKKK^KZLLILLLMM%M4M9MAM^M vM8MM>M N N%N 6NCNUNdNhN wNNNNNNNO"O3OGO`O${O OOOOOPP P.'PVP\P`P ePrP PPPP+PP Q(Q?QNQ`QrQQQ Q Q QQ=QE(R-nRR R9RRST wUU$U|U+7V&cVV"VhV/WFXXdXdWYY_LZDZqZc[[&\\^b]]/]]^^$^ A^N^c^x^_B_1!`7S```ub |bb3Qc c5c/c2 dR?didd~effTzff]g 2h Shl^h'hQhaEiSi,i=(jMfjjFj'k>k$kli:llSmnmmLmZmFBnwnooo*oo$o #p.pDp`pspKpJq bqpqqRqqq.r>rEVr(r&rpr]s(stuvw :w GwTwcwxw ww]w xx ,xG7xy yy6yyzv"zzzz,z$ {0/{`{o{~{{{{I|]| l|y|| || |}|9}2O}-}}"}<}&~:~2Y~-~r~ -KN3%;)L7v  π>݀>5[(Ɂ܁1o5buu"&5,Hu~ k)* 4AU@>؇/?GXSP4)b0QtBr*jw)1  >U_s])cT @ KVr֒uI H/iWq ;U *FXg,Up.=r ʛ՛}C6 EIF 3AU$ $1Vi2}FGJ?yMER 0l'6IR$a$1-ݥ- 69$p$6"$K9(%$ԧ$ *?jv-))@S[ A"du& ުE;I.2nXVǬ ج& <R+k>{֭&R'y+Jͮ"+;Hg̯Av$/-MS{~ϱN)mDvܲS3oTGs@rS'~{TdOcRk C׸9nU%35zisDX^_j\ ǽѽ   ]e|u- !ǿ,.DEmPBY5 \AaEp6AVe tq $*qO6   %_0($6?[   $1C*a 7\dw Xb^%   #4% Zh3,6ByAUK6*aw  hus]&=t^Y0o gpwfB 8ME6%6ET] p }  "*/ )04seIZ-tR04&3[$+>(j&*+*<<[+2&$AK L: 6W+w57AESIGU+ssJi( /A.kpk/H6x@Yr~sr<}C{K=9  h$km vljN3dou   $ : X :EXm|}_Qy<~%$2  .=t!E[n}l * 5 B P ] j g" 1 >K `;k;   #0C)S}f3A5#.3R27Y K V9c       & ,!YC!d!i"=l"K""'# ###($(/$NX$0$ $>$ 8%$Y% ~%6%6% & & +&-8&f&OQ'' P(](l(( (/(R(N)Hj)`)\*Eq* ***[*#C+g+z+&+ + + ++E+(,E0,v, ,,Q,W-\- t-"-*-"- -{-y./. .... // / / /!/3/w00000000061071@h11"1112*2i>23(3&34#4*64Ja4U566!47*V7 7&77L8\8e8u88v8:&:: O;\;|;; ; ;5;;+<@<4VA AA A#AA$AB)BX.BBZBBC4CECNC]ClCq3D1DDD E+E8 F YF fFsFFF<FFrGAGqIq9JJJJJ JK=K4\K5KXKr L{LaMqM MdMYM+UNWNNwO 5P@P(VPWP0P!Q*Q FQSQ oQzQfQQR!RyRw.S2SSS T=TOVicVMVaW}W WWWWWWX*2X5]X XX XXXXY Yh0YAYYYpZrZ0ZZZ)Z [ [?\O^$_(6____n_ud`d`?ay_aa aabGb^b0bnccccZd ad,d]dG eWUe$e&eHeBf_f$pff-fffg4gSg igggggggg hhiLi2jOJjjj5jjk k4kTkckuk"kk kkqk`Jlpl\moymm4nQn Fo0So o oo;oo5 p$@p5ep(pp^po;qqqq-qrrsztuwyHzz|Z~U~AHE)e`|@ǁHT-<˂$%OJ{%?؉_& 5@i֋!@b Ȍ, !90j x.1OLo7f/.^+o1h͓6:G"ٔ%$!>%`]LV1VRߖg2,,Ǘ(,,Jw4]Jݞ7  Xev*K"67 nz  % FPj=1o4*¢$63I}$:ƣ. 0QemӦҫ̰Zo/*+; gryqnQ-q0weMݸ+G<Ngk_"0,SLJw,}vsha cp +7qHrBTi'*,%I,o #!?8]N(9#/]6 06= DOn 0 !;UfwK  ="T` LYV~" W{7]meBAmHnW9}02e3^B+v+k-tNY`0)uRz&?1(*f%X!$ #> 1/ qH& fBL bzVa*gMe, 'b$=" mTarxiDHqD&TgNu>"wzU#w%-Z-]%<dR9 k1^ALl\p2H-SFo+w5|dkQauW2K]A57:nR},|~)=I7^:W\I 8y oKD .}E !.</nM.z:YN6WR$58|Og,0;' |ZJ*@r3,4eyOsPJQui!R vS~MLGcV;cJhov QXE\M c: 2-+F4 Gsd%(SjIZs> P?atuj|Jxwi{[Y1*4@y.Dp7 5(<?8)lAt,XO2 9-i5v0GPSe{=t^~_[@$_%h*"#~/l^04; xCfl!9 ,(" 6E <Y6 U0>{*F vP]oZJXB_lgE'_!qd@p%p&kT(I\=Q1&[C 9Um#mjx3"sG:N'}yI)bnd`Uf+)h.'ctL3&C=j+rr]@n8Zc oK#;4EOQhKhKFV `}CM# `2DLjCS[ kV{6br?b3w!s_/\/1)N[<i/Ty?8z'XF;UH>.AxaP7qgTGB`p6  (O$qf3$ #1 Hack Prevention Security Solution: Hide WP CMS, 7G/8G Firewall, Brute Force Protection, 2FA, GEO Security, Temporary Logins, Alerts & more.%1$s is deprecated since version %2$s! Use %3$s instead. Please consider writing more inclusive code.%d %s ago%d %s remaining%s days since last update%s does not work without mode_rewrite. Please activate the rewrite module in Apache. %sMore details%s%s don't have the correct permission.%s is visible in source code%s path is accessible%s plugin(s) are outdated: %s%s plugin(s) have NOT been updated by their developers in the past 12 months: %s%s protects your website from most SQL injections but, if possible, use a custom prefix for database tables to avoid SQL injections. %sRead more%s%s rules are not saved in the config file and this may affect the website loading speed.%s theme(s) are outdated: %s%sClick here%s to create or view keys for Google reCAPTCHA v2.%sClick here%s to create or view keys for Google reCAPTCHA v3.%sERROR:%s Email or Password is incorrect. %s %d attempts left before lockout%sHide the login path%s from theme menu or widget.%sIncorrect ReCaptcha%s. Please try again%sNOTE:%s If you didn't receive the credentials, please access %s.%sYou failed to correctly answer the math problem.%s Please try again(* the plugin has no extra cost, gets installed / activated automatically inside WP when you click the button, and uses the same account)(multiple options are available)(useful when the theme is adding wrong admin redirects or infinite redirects)(works only with the custom admin-ajax path to avoid infinite loops)2FA2FA Login403 Forbidden403 HTML Error404 HTML Error404 Not Found404 page7G Firewall8G FirewallA feature designed to stops attacks from different countries, and to put an end to harmful activity that comes from specific regions.A thorough set of rules can prevent many types of SQL Injection and URL hacks from being interpreted.A user already exists with that username.API SecurityAPI SettingsAWS BitnamiAccording to %sGoogle latest stats%s, over %s 30k websites are hacked every day %s and %s over 30% of them are made in WordPress %s. %s It's better to prevent an attack than to spend a lot of money and time to recover your data after an attack not to mention the situation when your clients' data are stolen.ActionActivateActivate 'Must Use Plugin Loading' from 'Plugin Loading Hook' to be able to connect to your dashboard directly from managewp.com. %s click here %sActivate Brute Force ProtectionActivate Events LogActivate Log Users EventsActivate Temporary LoginsActivate Your PluginActivate info and logs for debugging.Activate the "Brute Force" option to see the user IP blocked reportActivate the "Log Users Events" option to see the user activity log for this websiteActivate the Brute Force protection for Woocommerce login/signup forms.Activate the Brute Force protection on lost password forms.Activate the Brute Force protection on sign up forms.Activate the firewall and prevent many types of SQL Injection and URL hacks.Activate the firewall and select the firewall strength that works for your website %s %s > Change Paths > Firewall & Headers %sActivation HelpAddAdd IP addresses that should always be blocked from accessing this website.Add Content-Security-Policy headerAdd Headers Security against XSS and Code Injection Attacks.Add IP addresses that can pass plugin security.Add IPs that can pass plugin securityAdd New Temporary LoginAdd New Temporary Login UserAdd Rewrites in WordPress Rules SectionAdd Security HeaderAdd Security Headers for XSS and Code Injection AttacksAdd Strict-Transport-Security headerAdd Two Factor security on login page with Code Scan or Email Code authentication.Add X-Content-Type-Options headerAdd X-XSS-Protection headerAdd a list of URLs you want to replace with new ones.Add a random static number to prevent frontend caching while the user is logged in.Add another CDN URLAdd another URLAdd another textAdd common WordPress classes in text mappingAdd paths that can pass plugin securityAdd paths that will be blocked for the selected countries.Add redirects for the logged users based on user roles.Add the CDN URLs you're using in the cache plugin. Admin PathAdmin SecurityAdmin ToolbarAdmin URLAdmin UsernameAdvancedAdvanced PackAdvanced SettingsAfghanistanAfter adding the classes, verify the frontend to ensure that your theme is not affected.After, click %sSave%s to apply the changes.Ajax SecurityAjax URLAland IslandsAlbaniaAlert Emails SentAlgeriaAll ActionsAll In One WP SecurityAll WebsitesAll files have the correct permissions.All plugins are compatibleAll plugins are up to dateAll plugins have been updated by their developers in the past 12 monthsAll the logs are saved on Cloud for 30 days and the report is available if your website is attacked.Allow Hidden PathsAllow users to log in to WooCommerce account using their email address and a unique login URL delivered via email.Allow users to log in to the website using their email address and a unique login URL delivered via email.Allowing anyone to view all files in the Uploads folder with a browser will allow them to easily download all your uploaded files. It's a security and a copyright issue.American SamoaAndorraAngolaAnguillaAntarcticaAntigua and BarbudaApacheArabicAre you sure you want to ignore this task in the future?ArgentinaArmeniaArubaAttention! Some URLs passed through the config file rules and were loaded through WordPress rewrite which may slow down your website. %s Please follow this tutorial to fix the issue: %sAustraliaAustriaAuthor PathAuthor URL by ID accessAuto DetectAutodetectAutomatically redirect the logged in users to the admin dashboardAutoptimizerAzerbaijanBackend under SSLBackup SettingsBackup/RestoreBackup/Restore SettingsBahamasBahrainBan durationBangladeshBarbadosBe sure to include only internal URLs, and use relative paths whenever possible.Beaver BuilderBelarusBelgiumBelizeBeninBermudaBest regardsBhutanBitnami detected. %sPlease read how to make the plugin compatible with AWS hosting%sBlacklistBlacklist IPsBlank Screen On DebuggingBlock CountriesBlock HostnamesBlock IP on login pageBlock ReferrerBlock Specific PathsBlock Theme Detectors CrawlersBlock User AgentsBlock known Users-Agents from popular Theme Detectors.Blocked IPsBlocked IPs ReportBlocked by BoliviaBonaire, Saint Eustatius and SabaBosnia and HerzegovinaBotswanaBouvet IslandBrazilBritish EnglishBritish Indian Ocean TerritoryBrunei DarussalamBrute ForceBrute Force IPs BlockedBrute Force Login ProtectionBrute Force ProtectionBrute Force SettingsBulgariaBulgarianBulletProof plugin! Make sure you save the settings in %s after activating Root Folder BulletProof Mode in BulletProof plugin.Burkina FasoBurundiBy activating, you agree to our %s Terms of Use %s and %sPrivacy Policy%sCDNCDN Enabled detected. Please include %s and %s paths in CDN Enabler SettingsCDN Enabler detected! Learn how to configure it with %s %sClick here%sCDN URLsCONNECTION ERROR! Make sure your website can access: %sCache CSS, JS and Images to increase the frontend loading speed.Cache EnablerCambodiaCameroonCan't download the plugin.CanadaCanadian FrenchCancelCancel the login hooks from other plugins and themes to prevent unwanted login redirects.Cape VerdeCatalan ValencianCayman IslandsCentral African RepublicChadChangeChange OptionsChange PathsChange Paths NowChange Paths for Logged UsersChange Paths in Ajax CallsChange Paths in Cached FilesChange Paths in RSS feedChange Paths in Sitemaps XMLChange Relative URLs to Absolute URLsChange WordPress paths while you're logged inChange paths in RSS feed for all images.Change paths in Sitemap XML files and remove the plugin author and styles.Change the Tagline in %s > %s > %sChange the WordPress common paths in the cached files.Change the signup path from %s %s > Change Paths > Custom Register URL%s or uncheck the option %s > %s > %sChange the text in all CSS and JS files, including those in cached files generated by cache plugins.Change the user 'admin' or 'administrator' with another name to improve security.Change the wp-config.php file permission to Read-Only using File Manager.Change the wp-content, wp-includes and other common paths with %s %s > Change Paths%sChange the wp-login from %s %s > Change Paths > Custom login URL%s and Switch on %s %s > Brute Force Protection%sChanging the predefined security headers may affect the website funtionality.Check Frontend PathsCheck Your WebsiteCheck for updatesCheck if the website paths are working correctly.Check if your website is secured with the current settings.Check the %s RSS feed %s and make sure the image paths are changed.Check the %s Sitemap XML %s and make sure the image paths are changed.Check the website loading speed with %sPingdom Tool%sChileChinaChoose a proper database password, at least 8 characters long with a combination of letters, numbers and special characters. After you change it, set the new password in the wp-config.php file define('DB_PASSWORD', 'NEW_DB_PASSWORD_GOES_HERE');Choose the countries where access to the website should be restricted.Choose the type of server you are using to get the most suitable configuration for your server.Chose what to do when accessing from whitelist IP addresses and whitelisted paths.Christmas IslandClean Login PageClick %sContinue%s to set the predefined paths.Click Backup and the download will start automatically. You can use the Backup for all your websites.Click to run the process to change the paths in the cache files.Close ErrorCloud PanelCloud Panel detected. %sPlease read how to make the plugin compatible with Cloud Panel hosting%sCntCocos (Keeling) IslandsColombiaComments PathComorosCompatibilityCompatibility SettingsCompatibility with Manage WP pluginCompatibility with Token Based Login pluginsCompatible with All In One WP Security plugin. Use them together for Virus Scan, Firewall, Brute Force protection.Compatible with JCH Optimize Cache plugin. Works with all the options to optimize for CSS and JS.Compatible with Solid Security plugin. Use them together for Site Scanner, File Change Detection, Brute Force Protection.Compatible with Sucuri Security plugin. Use them together for Virus Scan, Firewall, File Integrity Monitoring.Compatible with Wordfence Security plugin. Use them together for Malware Scan, Firewall, Brute Force protection.Compatible with all themes and plugins.Complete FixConfigConfig file is not writable. Create the file if not exists or copy to %s file the following lines: %sConfig file is not writable. Create the file if not exists or copy to %s file with the following lines: %sConfig file is not writable. You have to added it manually at the beginning of the %s file: %sConfirm use of weak passwordCongoCongo, The Democratic Republic of theCongratulations! You completed all the security tasks. Make sure you check your site once a week.ContinueConvert links like /wp-content/* into %s/wp-content/*.Cook IslandsCopy LinkCopy the %s SAFE URL %s and use it to deactivate all the custom paths if you can't login.Core Contents PathCore Includes PathCosta RicaCote dIvoireCould not detect the userCould not fix it. You need to change it manually.Could not found anything based on your search.Could not login with this user.Could not rename table %1$s. You may have to rename the table manually.Could not update prefix references in options table.Could not update prefix references in usermeta table.Country BlockingCreateCreate New Temporary LoginCreate a temporary login URL with any user role to access the website dashboard without username and password for a limited period of time.Create a temporary login URL with any user role to access the website dashboard without username and password for a limited period of time. %s This is useful when you need to give admin access to a developer for support or for performing routine tasks.CroatiaCroatianCubaCuracaoCustom Activation PathCustom Admin PathCustom Cache DirectoryCustom Login PathCustom Logout PathCustom Lost Password PathCustom Register PathCustom Safe URL ParamCustom admin-ajax PathCustom author PathCustom comment PathCustom message to show to blocked users.Custom plugins PathCustom theme style nameCustom themes PathCustom uploads PathCustom wp-content PathCustom wp-includes PathCustom wp-json PathCustomize & Secure all WordPress paths from hacker bots attacks.Customize Plugin NamesCustomize Theme NamesCustomize the CSS and JS URLs in your website body.Customize the IDs and Class names in your website body.CyprusCzechCzech RepublicDB Debug ModeDanishDashboardDatabase PrefixDateDeactivatedDebug ModeDefaultDefault Redirect After LoginDefault Temporary Expire TimeDefault User RoleDefault WordPress TaglineDefault user role for which the temporary login will be created.Delete Temporary Users on Plugin UninstallDelete userDenmarkDetailsDirectoriesDisable "rest_route" param accessDisable Click MessageDisable CopyDisable Copy/PasteDisable Copy/Paste MessageDisable Copy/Paste for Logged UsersDisable DISALLOW_FILE_EDIT for live websites in wp-config.php define('DISALLOW_FILE_EDIT', true);Disable Directory BrowsingDisable Drag/Drop ImagesDisable Drag/Drop MessageDisable Drag/Drop for Logged UsersDisable Inspect ElementDisable Inspect Element MessageDisable Inspect Element for Logged UsersDisable OptionsDisable PasteDisable REST API accessDisable REST API access for not logged in usersDisable REST API access using the parameter 'rest_route'Disable RSD Endpoint from XML-RPCDisable Right-ClickDisable Right-Click for Logged UsersDisable SCRIPT_DEBUG for live websites in wp-config.php define('SCRIPT_DEBUG', false);Disable View SourceDisable View Source MessageDisable View Source for Logged UsersDisable WP_DEBUG for live websites in wp-config.php define('WP_DEBUG', false);Disable XML-RPC accessDisable copy function on your websiteDisable image drag & drop on your websiteDisable paste function on your websiteDisable the RSD (Really Simple Discovery) support for XML-RPC & remove RSD tag from headerDisable the access to /xmlrpc.php to prevent %sBrute force attacks via XML-RPC%sDisable the copy/paste action on your website.Disable the external calls to xml-rpc.php file and prevent Brute Force attacks.Disable the inspect element view on your websiteDisable the right-click action on your website.Disable the right-click functionality on your websiteDisable the source-code view on your websiteDisplaying any kind of debug info in the frontend is extremely bad. If any PHP errors happen on your site they should be logged in a safe place and not displayed to visitors or potential attackers.DjiboutiDo Login & Logout RedirectsDo not log out from this browser until you are confident that the Log in page is working and you will be able to login again.Do not logout from your account until you are confident that reCAPTCHA is working and you will be able to login again.Do you want to delete temporary user?Do you want to restore the last saved settings?DominicaDominican RepublicDon't forget to reload the Nginx service.Don't let URLs like domain.com?author=1 show the user login nameDon't let hackers see any directory content. See %sUploads Directory%sDon't load Emoji Icons if you don't use themDon't load WLW if you didn't configure Windows Live Writer for your siteDon't load oEmbed service if you don't use oEmbed videosDon't select any role if you want to log all user rolesDone!Download DebugDrupal 10Drupal 11Drupal 8Drupal 9DutchERROR! Please make sure you use a valid token to activate the pluginERROR! Please make sure you use the right token to activate the pluginEcuadorEdit UserEdit userEdit wp-config.php and add ini_set('display_errors', 0); at the end of the fileEgyptEl SalvadorElementorEmailEmail AddressEmail NotificationEmail address already existsEmail your hosting company and tell them you'd like to switch to a newer version of MySQL or move your site to a better hosting companyEmail your hosting company and tell them you'd like to switch to a newer version of PHP or move your site to a better hosting company.EmptyEmpty ReCaptcha. Please complete reCaptcha.Empty email addressEnabling this option may slow down the website, as CSS and JS files will load dynamically instead of through rewrites, allowing the text within them to be modified as needed.EnglishEnter the 32 chars token from Order/Licence on %sEquatorial GuineaEritreaError! No backup to restore.Error! The backup is not valid.Error! The new paths are not loading correctly. Clear all cache and try again.Error! The preset could not be restored.Error: You entered the same URL twice in the URL Mapping. We removed the duplicates to prevent any redirect errors.Error: You entered the same text twice in the Text Mapping. We removed the duplicates to prevent any redirect errors.EstoniaEthiopiaEuropeEven if the default paths are protected by %s after customization, we recommend setting the correct permissions for all directories and files on your website, use File Manager or FTP to check and change the permissions. %sRead more%sEvents LogEvents Log ReportEvents Log SettingsEvery good developer should turn on debugging before getting started on a new plugin or theme. In fact, the WordPress Codex 'highly recommends' that developers use SCRIPT_DEBUG. Unfortunately, many developers forget the debug mode even when the website is live. Showing debug logs in the frontend will let hackers know a lot about your WordPress website.Every good developer should turn on debugging before getting started on a new plugin or theme. In fact, the WordPress Codex 'highly recommends' that developers use WP_DEBUG.

Unfortunately, many developers forget the debug mode, even when the website is live. Showing debug logs in the frontend will let hackers know a lot about your WordPress website.Example:Expire TimeExpiredExpiresExposing the PHP version will make the job of attacking your site much easier.Fail AttemptsFailedFalkland Islands (Malvinas)Faroe IslandsFeaturesFeed & SitemapFeed SecurityFijiFile PermissionsFile permissions in WordPress play a critical role in website security. Properly configuring these permissions ensures that unauthorized users cannot gain access to sensitive files and data.
Incorrect permissions can inadvertently open your website to attacks, making it vulnerable.
As a WordPress administrator, understanding and correctly setting file permissions are essential for safeguarding your site against potential threats.FilesFilterFinlandFirewallFirewall & HeadersFirewall Against Script InjectionFirewall LocationFirewall StrengthFirewall against injections is loadedFirst NameFirst, you need to activate the %sSafe Mode%s or %sGhost Mode%sFirst, you need to activate the %sSafe Mode%s or %sGhost Mode%s in %sFix PermissionsFix itFix permission for all directories and files (~ 1 min)Fix permission for the main directories and files (~ 5 sec)FlywheelFlywheel detected. Add the redirects in the Flywheel Redirect rules panel %s.Folder %s is browsableForbiddenFranceFrenchFrench GuianaFrench PolynesiaFrench Southern TerritoriesFrom: %s <%s>Front pageFrontend Login TestFrontend TestFully compatible with Autoptimizer cache plugin. Works best with the the option Optimize/Aggregate CSS and JS files.Fully compatible with Beaver Builder plugin. Works best together with a cache plugin.Fully compatible with Cache Enabler plugin. Works best with the the option Minify CSS and JS files.Fully compatible with Elementor Website Builder plugin. Works best together with a cache pluginFully compatible with Fusion Builder plugin by Avada. Works best together with a cache plugin.Fully compatible with Hummingbird cache plugin. Works best with the the option Minify CSS and JS files.Fully compatible with LiteSpeed Cache plugin. Works best with the the option Minify CSS and JS files.Fully compatible with Oxygen Builder plugin. Works best together with a cache plugin.Fully compatible with W3 Total Cache plugin. Works best with the the option Minify CSS and JS files.Fully compatible with WP Fastest Cache plugin. Works best with the the option Minify CSS and JS files.Fully compatible with WP Super Cache cache plugin.Fully compatible with WP-Rocket cache plugin. Works best with the the option Minify/Combine CSS and JS files.Fully compatible with Woocommerce plugin.Fusion BuilderGabonGambiaGeneralGeo SecurityGeographic Security is a feature designed to stops attacks from different countries, and to put an end to harmful activity that comes from specific regions.GeorgiaGermanGermanyGhanaGhost ModeGhost Mode + Firewall + Brute Force + Events Log + Two factorGhost Mode will set these predefined pathsGhost modeGibraltarGive random names to each pluginGive random names to each theme (works in WP multisite)Global class name detected: %s. Read this article first: %sGo to Events Log PanelGo to the Dashboard > Appearance section and update all the themes to the last version.Go to the Dashboard > Plugins section and update all the plugins to the last version.GodaddyGodaddy detected! To avoid CSS errors, make sure you switch off the CDN from %sGoodGoogle reCAPTCHA V2Google reCAPTCHA V3Google reCaptcha V3 is not working with the current login form of %s .Great! The backup is restored.Great! The initial values are restored.Great! The new paths are loading correctly.Great! The preset was loaded.GreeceGreekGreenlandGrenadaGuadeloupeGuamGuatemalaGuernseyGuineaGuinea-BissauGuyanaHaitiHaving the admin URL visible in the source code it's awful because hackers will immediately know your secret admin path and start a Brute Force attack. The custom admin path should not appear in the ajax URL.

Find solutions for %s how to hide the path from source code %s.Having the login URL visible in the source code is awful because hackers will immediately know your secret login path and start a Brute Force attack.

The custom login path should be kept secret, and you should have Brute Force Protection activated for it.

Find solutions for %s hiding the login path from source code here %s.Having this PHP directive enabled will leave your site exposed to cross-site attacks (XSS).

There's absolutely no valid reason to enable this directive, and using any PHP code that requires it is very risky.Header SecurityHeaders & FirewallHeard Island and McDonald IslandsHebrewHelp & FAQsHere is the list of select counties where your website will be restricted..HideHide "login" PathHide "wp-admin"Hide "wp-admin" From Non-Admin UsersHide "wp-login.php"Hide /login path from visitors.Hide /wp-admin path from non-administrator users.Hide /wp-admin path from visitors.Hide /wp-login.php path from visitors.Hide Admin ToolbarHide Admin Toolbar for users roles to prevent dashboard access.Hide All The PluginsHide Author ID URLHide Common FilesHide Embed scriptsHide EmojiconsHide Feed & Sitemap Link TagsHide File ExtensionsHide HTML CommentsHide IDs from META TagsHide Language SwitcherHide My WP GhostHide OptionsHide Paths in Robots.txtHide Plugin NamesHide REST API URL linkHide Theme NamesHide Version from Images, CSS and JS in WordPressHide Versions from Images, CSS and JSHide WLW Manifest scriptsHide WP Common FilesHide WP Common PathsHide WordPress Common FilesHide WordPress Common PathsHide WordPress DNS Prefetch META TagsHide WordPress Generator META TagsHide WordPress Old Plugins PathHide WordPress Old Themes PathHide WordPress common paths from %s Robots.txt %s file.Hide WordPress paths such as wp-admin, wp-content, and more from robots.txt file.Hide all versions from the end of any Image, CSS and JavaScript files.Hide both active and deactivated pluginsHide completed tasksHide passwordHide the /feed and /sitemap.xml link TagsHide the DNS Prefetch that points to WordPressHide the HTML Comments left by the themes and pluginsHide the IDs from all <links>, <style>, <scripts> META TagsHide the New Admin PathHide the New Login PathHide the WordPress Generator META tagsHide the admin toolbar for logged users while in frontend.Hide the language switcher option on the login pageHide the new admin path from visitors. Show the new admin path only for logged users.Hide the new login path from visitors. Show the new login path only for direct access.Hide the old /wp-content, /wp-include paths once they are changed with the new onesHide the old /wp-content, /wp-include paths once they are changed with the new ones.Hide the old /wp-content/plugins path once it's changed with the new oneHide the old /wp-content/themes path once it's changed with the new oneHide wp-admin from Ajax URLHide wp-config.php , wp-config-sample.php, readme.html, license.txt, upgrade.php and install.php filesHide wp-config.php, wp-config-sample.php, readme.html, license.txt, upgrade.php and install.php files..Hide wp-json & ?rest_route link tag from website headerHiding the ID from meta tags in WordPress can potentially impact the caching process of plugins that rely on identifying the meta tags.HindiHoly See (Vatican City State)HondurasHong KongHostnameHow long the temporary login will be available after the user first access.HummingbirdHungarianHungaryIIS WindowsIIS detected. You need to update your %s file by adding the following lines after <rules> tag: %sIPIP BlockedIcelandIf the reCAPTCHA displays any error, please make sure you fix them before moving forward.If the rewrite rules are not loading correctly in the config file, do not load the plugin and do not change the paths.If you are connected with the admin user, you will have to re-login after the change.If you can't configure %s, switch to Deactivated Mode and %scontact us%s.If you can't configure reCAPTCHA, switch to Math reCaptcha protection.If you do not have an e-commerce, membership or guest posting website, you shouldn't let users subscribe to your blog. You will end up with spam registrations and your website will be filled with spammy content and comments.If you have access to php.ini file, set allow_url_include = off or contact the hosting company to set it offIf you have access to php.ini file, set expose_php = off or contact the hosting company to set it offIf you have access to php.ini file, set register_globals = off or contact the hosting company to set it offIf you have access to php.ini file, set safe_mode = off or contact the hosting company to set it offIf you notice any functionality issue please select the %sSafe Mode%s.If you're able to log in, you've set the new paths correctly.If you're able to login, you've set reCAPTCHA correctly.If you're not using Windows Live Writer there's really no valid reason to have its link in the page header, because this tells the whole world you're using WordPress.If you're not using any Really Simple Discovery services such as pingbacks, there's no need to advertise that endpoint (link) in the header. Please note that for most sites this is not a security issue because they "want to be discovered", but if you want to hide the fact that you're using WP, this is the way to go.If your site allows user logins, you need your login page to be easy to find for your users. You also need to do other things to protect against malicious login attempts.

However, obscurity is a valid security layer when used as part of a comprehensive security strategy, and if you want to cut down on the number of malicious login attempts. Making your login page difficult to find is one way to do that.Ignore security taskImmediately block incorrect usernames on login forms.In .htaccess fileIn the old days, the default WordPress admin username was 'admin' or 'administrator'. Since usernames make up half of the login credentials, this made it easier for hackers to launch brute-force attacks.

Thankfully, WordPress has since changed this and now requires you to select a custom username at the time of installing WordPress.Indeed Ultimate Membership Pro detected. The plugin doesn't support custom %s paths as it doesn't use WordPress functions to call the Ajax URLIndiaIndonesiaIndonesianInfoInmotionInmotion detected. %sPlease read how to make the plugin compatible with Inmotion Nginx Cache%sInstall/ActivateIntegration with other CDN plugins and custom CDN URLs.Invalid ReCaptcha. Please complete reCaptcha.Invalid email addressInvalid name detected: %s. Add only the final path name to avoid WordPress errors.Invalid name detected: %s. The name can't end with / to avoid WordPress errors.Invalid name detected: %s. The name can't start with / to avoid WordPress errors.Invalid name detected: %s. The paths can't end with . to avoid WordPress errors.Invalid name detected: %s. You need to use another name to avoid WordPress errors.Invalid username.Iran, Islamic Republic ofIraqIrelandIsle of ManIsraelIt's important to %s save your settings every time you change them %s. You can use the backup to configure other websites you own.It's important to hide or remove the readme.html file because it contains WP version details.It's important to hide the common WordPress paths to prevent attacks on vulnerable plugins and themes.
Also, it's important to hide the names of plugins and themes to make it impossible for bots to detect them.It's important to rename common WordPress paths, such as wp-content and wp-includes to prevent hackers from knowing that you have a WordPress website.It's not safe to have Database Debug turned on. Make sure you don't use Database debug on live websites.ItalianItalyJCH Optimize CacheJamaicaJananeseJapanJavascript is disabled on your browser! You need to activate the javascript in order to use %s plugin.JerseyJoomla 3Joomla 4Joomla 5JordanJust another WordPress siteKazakhstanKenyaKiribatiKnow what the other users are doing on your website.KoreanKosovoKuwaitKyrgyzstanLanguageLao Peoples Democratic RepublicLast 30 days Security StatsLast AccessLast NameLast check:Late LoadingLatviaLatvianLearn HowLearn How To Add the CodeLearn how to disable %sDirectory Browsing%s or switch on %s %s > Change Paths > Disable Directory Browsing%sLearn how to set your website as %s. %sClick Here%sLearn how to setup on Local & NginxLearn how to setup on Nginx serverLearn how to use the shortcodeLearn more aboutLearn more about %s 7G firewall %s.Learn more about %s 8G firewall %s.Leave it blank if you don't want to display any messageLeave it blank to block all paths for the selected countries.LebanonLesothoLet's take your security to the next level!Level of SecurityLevels of securityLiberiaLibyan Arab JamahiriyaLicence TokenLiechtensteinLimit the number of allowed login attempts using normal login form.LiteSpeedLiteSpeed CacheLithuaniaLithuanianLoad PresetLoad Security PresetsLoad after all plugins are loaded. On "template_redirects" hook.Load before all plugins are loaded. On "plugins_loaded" hook.Load custom language is WordPress local language is installed.Load the plugin as a Must Use plugin.Load when the plugins are initialized. On "init" hook.Local & NGINX detected. In case you didn't add the code in the NGINX config already, please add the following line. %sLocal by FlywheelLocationLock userLockout MessageLog User RolesLog Users EventsLogin & Logout RedirectsLogin Blocked by Login PathLogin Redirect URLLogin SecurityLogin TestLogin URLLogout Redirect URLLost Password Form ProtectionLuxembourgMacaoMadagascarMagic Link LoginMake sure the redirect URLs exist on your website. %sThe User Role redirect URL has higher priority than the Default redirect URL.Make sure you know what you do when changing the headers.Make sure you save the settings and empty the cache before checking your website with our tool.MalawiMalaysiaMaldivesMaliMaltaManage Brute Force ProtectionManage Login and Logout RedirectsManage whitelist & blacklist IP addressesManually block/unblock IP addresses.Manually customize each plugin name and overwrite the random nameManually customize each theme name and overwrite the random nameManually whitelist trusted IP addresses.MappingMarshall IslandsMartiniqueMath & Google reCaptcha verification while logging in.Math reCAPTCHAMauritaniaMauritiusMax fail attemptsMayotteMediumMembershipMexicoMicronesia, Federated States ofMinimalMinimal (No Config Rewrites)Moldova, Republic ofMonacoMongoliaMonitor everything that happens on your WordPress site!Monitor, track and log events on your website.MontenegroMontserratMore HelpMore information about %sMore optionsMoroccoMost WordPress installations are hosted on the popular Apache, Nginx and IIS web servers.MozambiqueMust Use Plugin LoadingMy AccountMyanmarMysql VersionNGINX detected. In case you didn't add the code in the NGINX config already, please add the following line. %sNameNamibiaNauruNepalNetherlandsNew CaledoniaNew Login DataNew Plugin/Theme detected! Update %s settings to hide it. %sClick here%sNew ZealandNext StepsNginxNicaraguaNigerNigeriaNiueNoNo CMS SimulationNo Recent Updates ReleasedNo blacklisted ipsNo log found.No temporary logins.No, abortNo. of secondsNorfolk IslandNormal LoadingNormally, the option to block visitors from browsing server directories is activated by the host through server configuration, and activating it twice in the config file may cause errors, so it's best to first check if the %sUploads Directory%s is visible.North KoreaNorth Macedonia, Republic ofNorthern Mariana IslandsNorwayNorwegianNot yet logged inNote that this option won't activate the CDN for your website, but it will update the custom paths if you've already set a CDN URL with another plugin.Note! %sPaths are NOT physically change%s on your server.Note! The plugin will use WP cron to change the paths in background once the cache files are created.Note: If you can`t login to your site, just access this URLNotification SettingsOkay, I set it upOmanOn website initializationOnce you bought the plugin, you will receive the %s credentials for your account by email.One DayOne HourOne MonthOne WeekOne YearOne of the most important files in your WordPress installation is the wp-config.php file.
This file is located in the root directory of your WordPress installation and contains your website's base configuration details, such as database connection information.Only change this option if the plugin fails to identify the server type correctly.Optimize CSS and JS filesOption to inform user about remaining attempts on login page.OptionsOutdated PluginsOutdated ThemesOverviewOxygenPHP VersionPHP allow_url_include is onPHP expose_php is onPHP register_globals is onPHP safe mode was one of the attempts to solve security problems of shared web hosting servers.

It is still being used by some web hosting providers, however, nowadays this is regarded as improper. A systematic approach proves that it’s architecturally incorrect to try solving complex security issues at the PHP level, rather than at the web server and OS levels.

Technically, safe mode is a PHP directive that restricts the way some built-in PHP functions operate. The main problem here is inconsistency. When turned on, PHP safe mode may prevent many legitimate PHP functions from working correctly. At the same time there exists a variety of methods to override safe mode limitations using PHP functions that aren’t restricted, so if a hacker has already got in – safe mode is useless.PHP safe_mode is onPage Not FoundPakistanPalauPalestinian TerritoryPanamaPapua New GuineaParaguayPassedPath not allowed. Avoid paths like plugins and themes.Paths & OptionsPaths changed in the existing cache filesPause for 5 minutesPermalinksPersianPeruPhilippinesPitcairnPlease be aware that if you do not consent to storing data on our Cloud, we kindly request that you refrain from activating this feature.Please visit %s to check your purchase and to get the license token.Plugin Loading HookPlugins PathPlugins SecurityPlugins SettingsPlugins that have not been updated in the last 12 months can have real security problems. Make sure you use updated plugins from WordPress Directory.Plugins/Themes editor disabledPolandPolishPortugalPortuguesePreset SecurityPrevent Broken Website LayoutPriority LoadingProtects your WooCommerce shop against brute force login attacks.Protects your website against Brute Force login attacks using %s A common threat web developers face is a password-guessing attack known as a Brute Force attack. A Brute Force attack is an attempt to discover a password by systematically trying every possible combination of letters, numbers, and symbols until you discover the one correct combination that works.Protects your website against Brute Force login attacks.Protects your website against brute force login attacks.Prove your humanity:Puerto RicoQatarQuick FixRDS is visibleRandom Static NumberReactivate user for 1 dayRedirect After LoginRedirect Hidden PathsRedirect Logged Users To DashboardRedirect temporary users to a custom page after login.Redirect the protected paths /wp-admin, /wp-login to a Page or trigger an HTML Error.Redirect user to a custom page after login.RedirectsRemoveRemove PHP version, Server info, Server Signature from header.Remove Plugins Authors & Style in Sitemap XMLRemove Unsafe HeadersRemove pingback link tag from the website header.Rename readme.html file or switch on %s %s > Change Paths > Hide WordPress Common Files%sRename wp-admin/install.php & wp-admin/upgrade.php files or switch on %s %s > Change Paths > Hide WordPress Common Paths%sRenewResetReset SettingsResolving hostnames may affect the website loading speed.Restore BackupRestore SettingsResume SecurityReunionRobots SecurityRoleRollback SettingsRollback all the plugin settings to initial values.RomaniaRomanianRun %s Frontend Test %s to check if the new paths are working.Run %s Login Test %s and log in inside the popup.Run %sreCAPTCHA Test%s and login inside the popup.Run Full Security CheckRussianRussian FederationRwandaSSL is an abbreviation used for Secure Sockets Layers, which are encryption protocols used on the internet to secure information exchange and provide certificate information.

These certificates provide an assurance to the user about the identity of the website they are communicating with. SSL may also be called TLS or Transport Layer Security protocol.

It's important to have a secure connection for the Admin Dashboard in WordPress.Safe ModeSafe Mode + Firewall + Brute Force + Events Log + Two factorSafe Mode + Firewall + Compatibility SettingsSafe Mode will set these predefined pathsSafe URL:Safe modeSaint BartelemeySaint HelenaSaint Kitts and NevisSaint LuciaSaint MartinSaint Pierre and MiquelonSaint Vincent and the GrenadinesSalts and Security Keys validSamoaSan MarinoSao Tome and PrincipeSaudi ArabiaSaveSave Debug LogSave UserSavedSaved! This task will be ignored on future tests.Saved! You can run the test again.Script Debug ModeSearchSearch in user events log and manage the email alertsSecret KeySecret keys for %sGoogle reCAPTCHA%s.Secure WP PathsSecurity CheckSecurity Keys UpdatedSecurity StatusSecurity keys are defined in wp-config.php as constants on lines. They should be as unique and as long as possible. AUTH_KEY,SECURE_AUTH_KEY,LOGGED_IN_KEY,NONCE_KEY,AUTH_SALT,SECURE_AUTH_SALT,LOGGED_IN_SALT,NONCE_SALTSecurity keys are used to ensure better encryption of information stored in the user's cookies and hashed passwords.

These make your site more difficult to hack, access and crack by adding random elements to the password. You don't have to remember these keys. In fact, once you set them you'll never see them again. Therefore, there's no excuse for not setting them properly.See the last days actions on this website ...Select PresetSelect User RolesSelect a preset security settings we've tested on most websites.Select allSelect how long the temporary login will be available after the first user access.Select the file extensions you want to hide on old pathsSelect the files you want to hide on old pathsSelected CountriesSend me an email with the changed admin and login URLsSenegalSerbiaSerbianServer TypeSet Custom Cache DirectorySet Login & Logout Redirects based on User Roles.Set the current user role.Set the website you want this user to be created for.SettingsSeychellesShort name detected: %s. You need to use unique paths with more than 4 chars to avoid WordPress errors.ShowShow /%s instead of /%sShow Advanced OptionsShow Default Paths & Allow Hidden PathsShow Defaults Paths & Allow EverythingShow blank screen when Inspect Element is active on browser.Show completed tasksShow ignored tasksShow message instead of login formShow passwordSierra LeoneSign Up Form ProtectionSimplified ChineseSimulate CMSSingaporeSint MaartenSite keySite keys for %sGoogle reCaptcha%s.SiteGroundSitemap SecuritySix MonthsSlovakSlovakiaSloveneSloveniaSolid SecuritySolomon IslandsSomaliaSome plugins may remove custom rewrite rules from the .htaccess file, especially if it's writable, which can affect the functionality of custom paths..Some themes don't work with custom Admin and Ajax paths. In case of ajax errors, switch back to wp-admin and admin-ajax.php.Sorry, you are not allowed to access this page.South AfricaSouth Georgia and the South Sandwich IslandsSouth KoreaSpainSpammers can easily signupSpanishSri LankaStart ScanSucuri SecuritySudanSuper AdminSurinameSvalbard and Jan MayenSwazilandSwedenSwedishSwitch on %s %s > Change Paths > Hide WordPress Common Paths%sSwitch on %s %s > Change Paths > Disable XML-RPC access%sSwitch on %s %s > Change Paths > Hide Author ID URL%sSwitch on %s %s > Change Paths > Hide RSD Endpoint%sSwitch on %s %s > Change Paths > Hide WordPress Common Files%sSwitch on %s %s > Change Paths > Hide wp-admin from ajax URL%s. Hide any reference to admin path from the installed plugins.Switch on %s %s > Tweaks > %s %sSwitch on %s %s > Tweaks > Hide WLW Manifest scripts%sSwitzerlandSyrian Arab RepublicTaglineTaiwanTajikistanTanzania, United Republic ofTemporary LoginTemporary Login SettingsTemporary LoginsTest your website headers withText & URL MappingText MappingText Mapping in CSS and JS files including cached filesText Mapping only Classes, IDs, JS variablesThaiThailandThank you for using %s!The %s section has been relocated %s here %sThe Ghost Mode will add the rewrites rules in the config file to hide the old paths from hackers.The REST API is crucial for many plugins as it allows them to interact with the WordPress database and perform various actions programmatically.The Safe Mode will add the rewrites rules in the config file to hide the old paths from hackers.The Safe URL will deactivate all the custom paths. Use it only if you can't login.The WordPress database is like a brain for your entire WordPress site, because every single bit of information about your site is stored there, thus making it a hacker’s favorite target.

Spammers and hackers run automated code for SQL injections.
Unfortunately, many people forget to change the database prefix when they install WordPress.
This makes it easier for hackers to plan a mass attack by targeting the default prefix wp_.The WordPress site tagline is a short phrase located under the site title, similar to a subtitle or advertising slogan. The goal of a tagline is to convey the essence of your site to visitors.

If you don't change the default tagline it will be very easy to detect that your website was actually built with WordPressThe constant ADMIN_COOKIE_PATH is defined in wp-config.php by another plugin. You can't change %s unless you remove the line define('ADMIN_COOKIE_PATH', ...);.The list of plugins and themes was updated with success!The most common way to hack a website is by accessing the domain and adding harmful queries in order to reveal information from files and database.
These attacks are made on any website, WordPress or not, and if a call succeeds … it will probably be too late to save the website.The plugins and themes file editor is a very convenient tool because it enables you to make quick changes without the need to use FTP.

Unfortunately, it's also a security issue because it not only shows the PHP source code, it also enables attackers to inject malicious code into your site if they manage to gain access to admin.The process was blocked by the website’s firewall.The requested URL %s was not found on this server.The response parameter is invalid or malformed.The secret parameter is invalid or malformed.The secret parameter is missing.The security keys in wp-config.php should be renewed as often as possible.Themes PathThemes SecurityThemes are up to dateThere has been a critical error on your website.There has been a critical error on your website. Please check your site admin email inbox for instructions.There is a configuration error in the plugin. Please Save the settings again and follow the instruction.There is a newer version of WordPress available ({version}).There is no changelog available.There is no such thing as an "unimportant password"! The same goes for your WordPress database password.
Although most servers are configured so that the database can't be accessed from other hosts (or from outside the local network), that doesn't mean your database password should be "12345" or no password at all.This amazing feature isn't included in the basic plugin. Want to unlock it? Simply install or activate the Advanced Pack and enjoy the new security features.This is one of the biggest security issues you can have on your site! If your hosting company has this directive enabled by default, switch to another company immediately!This may not work with all new mobile devices.This option will add rewrite rules to the .htaccess file in the WordPress rewrite rules area between the comments # BEGIN WordPress and # END WordPress.This will prevent from showing the old paths when an image or font is called through ajaxThree DaysThree HoursTimor-LesteTo change the paths in the cached files, switch on %s Change Paths in Cached Files%sTo hide the Avada library, please add the Avada FUSION_LIBRARY_URL in wp-config.php file after $table_prefix line: %sTo improve your website's security, consider removing authors and styles that point to WordPress in your sitemap XML.TogoTokelauTongaTrack and Log the website events and receive security alerts by email.Track and log events that happen on your WordPress siteTraditional ChineseTrinidad and TobagoTroubleshootingTunisiaTurkeyTurkishTurkmenistanTurks and Caicos IslandsTurn off the debug plugins if your website is live. You can also add the option to hide the DB errors global $wpdb; $wpdb->hide_errors(); in wp-config.php fileTuvaluTweaksTwo-factor authenticationURL MappingUgandaUkraineUkrainianUltimate Affiliate Pro detected. The plugin doesn't support custom %s paths as it doesn't use WordPress functions to call the Ajax URLUnable to update the wp-config.php file in order to update the Database Prefix.UndoUnited Arab EmiratesUnited KingdomUnited StatesUnited States Minor Outlying IslandsUnknown update checker status "%s"Unlock allUpdate the settings on %s to refresh the paths after changing REST API path.UpdatedUpload the file with the saved plugin settingsUploads PathUrgent Security Actions RequiredUruguayUse Brute Force ProtectionUse Temporary LoginsUse the %s shortcode to integrate it with other login forms.UserUser 'admin' or 'administrator' as AdministratorUser ActionUser Events LogUser RoleUser SecurityUser could not be activated.User could not be addedUser could not be deleted.User could not be disabled.User roles for who to disable the Right-ClickUser roles for who to disable the copy/pasteUser roles for who to disable the drag/dropUser roles for who to disable the inspect elementUser roles for who to disable the view sourceUser roles for who to hide the admin toolbarUser successfully activated.User successfully created.User successfully deleted.User successfully disabled.User successfully updated.Usernames (unlike passwords) are not secret. By knowing someone's username, you can't log in to their account. You also need the password.

However, by knowing the username, you are one step closer to logging in using the username to brute-force the password, or to gain access in a similar way.

That's why it's advisable to keep the list of usernames private, at least to some degree. By default, by accessing siteurl.com/?author={id} and looping through IDs from 1 you can get a list of usernames, because WP will redirect you to siteurl.com/author/user/ if the ID exists in the system.Using an old version of MySQL makes your site slow and prone to hacker attacks due to known vulnerabilities that exist in versions of MySQL that are no longer maintained.

You need Mysql 5.4 or higherUsing an old version of PHP makes your site slow and prone to hacker attacks due to known vulnerabilities that exist in versions of PHP that are no longer maintained.

You need PHP 7.4 or higher for your website.UzbekistanValidValueVanuatuVenezuelaVersions in Source CodeVietnamVietnameseView detailsVirgin Islands, BritishVirgin Islands, U.S.W3 Total CacheWP Core SecurityWP Debug ModeWP EngineWP Fastest CacheWP RocketWP Super CacheWP Super Cache CDN detected. Please include %s and %s paths in WP Super Cache > CDN > Include directoriesWPBakery Page BuilderWPPluginsWallis and FutunaWeak name detected: %s. You need to use another name to increase your website security.WebsiteWestern SaharaWhere to add the firewall rules.WhitelistWhitelist IPsWhitelist OptionsWhitelist PathsWindows Live Writer is onWooCommerce Safe LoginWooCommerce SupportWoocommerceWoocommerce Magic LinkWordPress Database PasswordWordPress Default PermissionsWordPress Security CheckWordPress VersionWordPress XML-RPC is a specification that aims to standardize communications between different systems. It uses HTTP as the transport mechanism and XML as encoding mechanism to enable a wide range of data to be transmitted.

The two biggest assets of the API are its extendibility and its security. XML-RPC authenticates using basic authentication. It sends the username and password with each request, which is a big no-no in security circles.WordPress and its plugins and themes are like any other software installed on your computer, and like any other application on your devices. Periodically developers release updates which provide new features or fix known bugs.

New features may be something that you do not necessarily want. In fact, you may be perfectly satisfied with the functionality you currently have. Nevertheless, you may still be concerned about bugs.

Software bugs can come in many shapes and sizes. A bug could be very serious, such as preventing users from using a plugin, or it could be a minor bug that only affects a certain part of a theme, for example. In some cases, bugs can even cause serious security holes.

Keeping themes up to date is one of the most important and easiest ways to keep your site secure.WordPress and its plugins and themes are like any other software installed on your computer, and like any other application on your devices. Periodically, developers release updates which provide new features, or fix known bugs.

These new features may not necessarily be something that you want. In fact, you may be perfectly satisfied with the functionality you currently have. Nevertheless, you are still likely to be concerned about bugs.

Software bugs can come in many shapes and sizes. A bug could be very serious, such as preventing users from using a plugin, or it could be minor and only affect a certain part of a theme, for example. In some cases, bugs can cause serious security holes.

Keeping plugins up to date is one of the most important and easiest ways to keep your site secure.WordPress is well-known for its ease of installation.
It's important to hide the wp-admin/install.php and wp-admin/upgrade.php files because there have already been a couple of security issues regarding these files.WordPress, plugins and themes add their version info to the source code, so anyone can see it.

Hackers can easily find a website with vulnerable version plugins or themes, and target these with Zero-Day Exploits.Wordfence SecurityWpEngine detected. Add the redirects in the WpEngine Redirect rules panel %s.Wrong Username ProtectionXML-RPC SecurityXML-RPC access is onYemenYesYes, it's workingYou already defined a different wp-content/uploads directory in wp-config.php %sYou can ban a single IP address like 192.168.0.1 or a range of 245 IPs like 192.168.0.*. These IPs will not be able to access the login page.You can create a new page and come back to choose to redirect to that page.You can generate %snew Keys from here%s AUTH_KEY,SECURE_AUTH_KEY,LOGGED_IN_KEY,NONCE_KEY,AUTH_SALT,SECURE_AUTH_SALT,LOGGED_IN_SALT,NONCE_SALTYou can now turn off '%s' option.You can set to receive security alert emails and prevent data loss.You can white-list a single IP address like 192.168.0.1 or a range of 245 IPs like 192.168.0.*. Find your IP with %sYou can't set both ADMIN and LOGIN with the same name. Please use different namesYou don't have the permission to access %s on this server.You need to activate the URL Rewrite for IIS to be able to change the permalink structure to friendly URL (without index.php). %sMore details%sYou need to set a positive number of attempts.You need to set a positive waiting time.You need to set the permalink structure to friendly URL (without index.php).You should always update WordPress to the %slatest versions%s. These usually include the latest security fixes, and don't alter WP in any significant way. These should be applied as soon as WP releases them.

When a new version of WordPress is available, you will receive an update message on your WordPress Admin screens. To update WordPress, click the link in this message.You should check your website every week to see if there are any security changes.Your %s %s license expired on %s %s. To keep your website security up to date please make sure you have a valid subscription on %saccount.hidemywpghost.com%sYour IP has been flagged for potential security violations. Please try again in a little while...Your admin URL can't be changed on %s hosting because of the %s security terms.Your admin URL is changed by another plugin/theme in %s. To activate this option, disable the custom admin in the other plugin or deativate it.Your login URL is changed by another plugin/theme in %s. To activate this option, disable the custom login in the other plugin or deativate it.Your login URL is: %sYour login URL will be: %s In case you can't login, use the safe URL: %sYour new password has not been saved.Your new site URLs areYour website security %sis extremely weak%s. %sMany hacking doors are available.Your website security %sis very weak%s. %sMany hacking doors are available.Your website security is getting better. %sJust make sure you complete all the security tasks.Your website security is still weak. %sSome of the main hacking doors are still available.Your website security is strong. %sKeep checking the security every week.ZambiaZimbabweactivate featureafter first accessalready activedarkdefaultdisplay_errors PHP directivee.g. *.colocrossing.come.g. /cart/e.g. /cart/ will whitelist all path starting with /cart/e.g. /checkout/e.g. /post-type/ will block all path starting with /post-type/e.g. acapbote.g. alexibote.g. badsite.come.g. gigabote.g. kanagawa.come.g. xanax.comeg.eg. /logout oreg. adm, backeg. ajax, jsoneg. aspect, templates, styleseg. comments, discussioneg. core, inc, includeeg. disable_url, safe_urleg. images, fileseg. json, api, calleg. lib, libraryeg. login or signineg. logout or disconnecteg. lostpass or forgotpasseg. main.css, theme.css, design.csseg. moduleseg. multisite activation linkeg. newuser or registereg. profile, usr, writerfromhelphttps://hidemywp.comignore alertinstall.php & upgrade.php files are accessiblelightloglogsmore detailsnot recommendedonly %d charsorpassword mismatchMismatchpassword strengthMediumpassword strengthPassword strength unknownpassword strengthStrongpassword strengthVery weakpassword strengthWeakreCAPTCHA TestreCAPTCHA V2 TestreCAPTCHA V3 TestreCaptcha LanguagereCaptcha Themereadme.html file is accessiblerecommendedredirectssee featurestart feature setupthe plugin titleA new version of the %s plugin is available.the plugin titleCould not determine if updates are available for %s.the plugin titleThe %s plugin is up to date.totoo simplewp-config.php & wp-config-sample.php files are accessibleProject-Id-Version: PO-Revision-Date: 2024-10-10 20:04+0300 Last-Translator: gpt-po v1.0.11 Language-Team: Language: ar MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Generator: Poedit 3.5 X-Poedit-Basepath: . #1 حل لأمان منع الاختراق: إخفاء WP CMS، جدار حماية 7G/8G، حماية من هجمات القوة الغاشمة، 2FA، أمان جغرافي، تسجيل الدخول المؤقت، تنبيهات والمزيد.%1$s تم إهماله منذ الإصدار %2$s! استخدم %3$s بدلاً منه. يرجى النظر في كتابة كود أكثر شمولية.منذ %d %s%d %s متبقي%s أيام منذ آخر تحديث%s لا يعمل بدون mode_rewrite. يرجى تفعيل وحدة rewrite في Apache. %sمزيد من التفاصيل%s%s ليس لديه الإذن الصحيح.%s مرئي في شفرة المصدرالمسار %s متاحالإضافات %s قديمة: %sلم يتم تحديث %s إضافة في الـ 12 شهر الماضية من قبل مطوريها: %s%s تحمي موقع الويب الخاص بك من معظم عمليات الحقن SQL ولكن، إذا كان ذلك ممكنًا، استخدم بادئة مخصصة لجداول قاعدة البيانات لتجنب عمليات الحقن SQL. %sاقرأ المزيد%sقواعد %s لم يتم حفظها في ملف التكوين وقد تؤثر هذه الحالة على سرعة تحميل الموقع.السمات %s قديمة: %sانقر %sهنا%s لإنشاء أو عرض المفاتيح الخاصة بـ Google reCAPTCHA v2.انقر %sهنا%s لإنشاء أو عرض المفاتيح الخاصة بـ Google reCAPTCHA v3.%sخطأ:%s البريد الإلكتروني أو كلمة المرور غير صحيحة. %s %d محاولات متبقية قبل القفل%sإخفاء مسار تسجيل الدخول%s من قائمة السمات أو الودجت.%sفشل في ReCaptcha%s. يرجى المحاولة مرة أخرى%sملحوظة:%s إذا لم تتلقَ البيانات الاعتمادية، يرجى الوصول إلى %s.%sلم تتمكن من الإجابة الصحيحة على مسألة الرياضيات.%s يرجى المحاولة مرة أخرى(* الإضافة ليس لها تكلفة إضافية، تُثبت / تُنشط تلقائيًا داخل WP عند النقر على الزر، وتستخدم نفس الحساب)(متاحة خيارات متعددة)(مفيد عندما يكون الموضوع إضافة توجيهات مسار المسؤول الخاطئة أو توجيهات لا نهاية لها)(يعمل فقط مع مسار admin-ajax المخصص لتجنب حلقات لانهائية)2FAتسجيل الدخول ثنائي العامل403 ممنوع403 خطأ HTMLخطأ 404 HTML404 لم يتم العثورصفحة 404جدار ناري 7Gجدار ناري 8Gميزة مصممة لوقف الهجمات من دول مختلفة، ووضع حد للأنشطة الضارة القادمة من مناطق معينة.مجموعة شاملة من القواعد يمكن أن تمنع العديد من أنواع اختراقات قواعد البيانات SQL والتلاعب بعناوين URL من التفسير.هناك مستخدم موجود بالفعل بهذا الاسم.أمان واجهة برمجة التطبيقاتإعدادات واجهة برمجة التطبيقاتAWS بيتناميوفقًا لـ %sأحدث الإحصائيات من Google%s ، يتم اختراق أكثر من %s 30 ألف موقع على الإنترنت كل يوم %s و %s أكثر من 30٪ منها مصنوعة في WordPress %s. %s من الأفضل منع الهجوم بدلاً من إنفاق الكثير من المال والوقت لاستعادة بياناتك بعد الهجوم ناهيك عن الحالة عندما يتم سرقة بيانات عملائك.فعلتفعيلقم بتنشيط 'Must Use Plugin Loading' من 'Plugin Loading Hook' لتتمكن من الاتصال بلوحة التحكم الخاصة بك مباشرةً من managewp.com. %s انقر هنا %sقم بتنشيط حماية القوة الخام.تفعيل سجل الأحداثتفعيل تسجيل أحداث المستخدمينتفعيل تسجيل الدخول المؤقتقم بتنشيط الإضافة الخاصة بكقم بتفعيل المعلومات والسجلات لأغراض التصحيح.قم بتنشيط الخيار "Brute Force" لرؤية تقرير حظر عنوان IP للمستخدم.قم بتنشيط الخيار "تسجيل أحداث المستخدمين" لرؤية سجل نشاط المستخدمين على هذا الموقع.قم بتنشيط حماية القوة الغاشمة لنماذج تسجيل الدخول/الاشتراك في Woocommerce.قم بتنشيط حماية القوة الخام على نماذج فقدان كلمة المرور.قم بتنشيط حماية القوة الخام على نماذج التسجيل.قم بتنشيط جدار الحماية ومنع العديد من أنواع اختراقات SQL واختراقات العناوين URL.قم بتنشيط جدار الحماية واختر قوة الجدار التي تعمل لموقع الويب الخاص بك %s %s > تغيير المسارات > جدار الحماية والترويسة %sمساعدة في التنشيطإضافةأضف عناوين IP التي يجب حظرها دائمًا من الوصول إلى هذا الموقع.أضف رأس "Content-Security-Policy"إضافة ترويسة الأمان ضد هجمات XSS وحقن الشيفرة.أضف عناوين IP التي يمكن أن تمر عبر أمان المكون الإضافي.أضف عناوين IP التي يمكن أن تمر عبر أمان الإضافةأضف تسجيل دخول مؤقت جديدإضافة مستخدم تسجيل دخول مؤقت جديدأضف إعادة كتابة في قسم القواعد في ووردبريسأضف رأس الأمانأضف رؤوس أمان لمهاجمات XSS وحقن الشيفرة.أضف رأس Strict-Transport-Securityأضف أمان العاملين بعاملين على صفحة تسجيل الدخول مع مصادقة بواسطة مسح الرمز أو رمز البريد الإلكتروني.أضف رأس X-Content-Type-Optionsأضف رأس X-XSS-Protectionأضف قائمة بعناوين URL التي ترغب في استبدالها بعناوين جديدة.أضف رقمًا عشوائيًا ثابتًا لمنع تخزين المؤقتات في الواجهة الأمامية أثناء تسجيل الدخول للمستخدم.أضف رابط CDN آخرأضف رابطًا آخرAdd another textأضف فئات ووردبريس الشائعة في تعيين النصوصأضف مسارات يمكن أن تمر عبر أمان المكونات الإضافيةأضف مسارات سيتم حظرها للبلدان المحددة.أضف إعادة توجيه للمستخدمين المسجلين استنادًا إلى أدوار المستخدم.أضف عناوين URL لشبكة توزيع المحتوى (CDN) التي تستخدمها في إضافة الذاكرة المؤقتة.مسار المسؤولإدارة الأمانشريط الأدوات الإداريّةرابط المشرفاسم المستخدم للمشرفمتقدمحزمة متقدمةإعدادات متقدمةأفغانستانبعد إضافة الفئات، تحقق من الواجهة الأمامية للتأكد من عدم تأثر سمة الخاصة بك.بعد ذلك، انقر على %sحفظ%s لتطبيق التغييرات.أجاكس الأمانرابط Ajaxجزر آلاندألبانياتم إرسال رسائل التنبيه عبر البريد الإلكترونيالجزائرجميع الإجراءاتكل شيء في ووردبريس الأمانجميع المواقعجميع الملفات لديها الصلاحيات الصحيحة.جميع الإضافات متوافقةجميع الإضافات محدّثةتم تحديث جميع الإضافات من قبل مطوريها خلال الـ 12 شهرا الماضية.جميع السجلات محفوظة على السحابة لمدة 30 يومًا والتقرير متاح إذا تعرض موقعك للهجوم.اسمح بالمسارات الخفيةاسمح للمستخدمين بتسجيل الدخول إلى حساب WooCommerce باستخدام عنوان بريدهم الإلكتروني ورابط تسجيل دخول فريد يتم إرساله عبر البريد الإلكتروني.اسمح للمستخدمين بتسجيل الدخول إلى الموقع باستخدام عنوان بريدهم الإلكتروني ورابط تسجيل دخول فريد يتم إرساله عبر البريد الإلكتروني.السماح لأي شخص بعرض جميع الملفات في مجلد التحميلات باستخدام المتصفح سيسمح لهم بتنزيل جميع الملفات التي قمت بتحميلها بسهولة. إنها مسألة أمنية وحقوق ملكية.ساموا الأمريكيةأندوراأنغولاأنغويلاأنتاركتيكاأنتيغوا وبربوداأباتشيعربيهل أنت متأكد أنك تريد تجاهل هذه المهمة في المستقبل؟الأرجنتينأرمينياأروباتنبيه! تم تمرير بعض عناوين URL من خلال قواعد ملف التكوين وتم تحميلها من خلال إعادة كتابة ووردبريس مما قد يبطئ موقع الويب الخاص بك. %s يرجى اتباع هذا البرنامج التعليمي لإصلاح المشكلة: %sأسترالياالنمسامؤلف المساررابط المؤلف حسب الهوية الوصولالكشف التلقائيالكشف التلقائيقم بتوجيه المستخدمين المسجلين تلقائيًا إلى لوحة التحكم الإداريةأوتوبتيمايزرأذربيجانالخلفية تحت SSLإعدادات النسخ الاحتياطينسخ احتياطي/استعادةاحتياطي/استعادة الإعداداتالبهاماالبحرينمدة الحظربنغلاديشبربادوستأكد من تضمين الروابط الداخلية فقط، واستخدم المسارات النسبية في حال كان ذلك ممكنًا.بيفر بيلدربيلاروسبلجيكابليزبنينبرموداأطيب التحياتبوتانتم الكشف عن Bitnami. %sيرجى قراءة كيفية جعل الإضافة متوافقة مع استضافة AWS%sقائمة سوداءقائمة سوداء لعناوين الآي بيشاشة فارغة أثناء التصحيححظر البلدانحظر أسماء المضيفينقفل عنوان IP على صفحة تسجيل الدخولحظر المحولقفل مسارات معينةقم بحظر متجسسي كاشفي السماتقم بحظر وكلاء المستخدمينقم بحظر مستخدمين-وكلاء معروفين من أدوات اكتشاف السمات الشهيرة.عناوين IP المحظورةتقرير العناوين البروتوكولية (IPs) المحظورةمحظور من قِبلبوليفيابونير، سانت يوستاتيوس وصاباالبوسنة والهرسكبوتسواناجزيرة بوفيهالبرازيلالبريطانية الإنجليزيةإقليم المحيط الهندي البريطانيبروناي دار السلامقوة خامتم حظر عناوين الآي بي بطريقة قسريةحماية تسجيل الدخول بالقوة الغاشمةحماية بروتوكول القوة الغاشمةإعدادات القوة الغاشمةبلغارياالبلغاريةالإضافة BulletProof! تأكد من حفظ الإعدادات في %s بعد تنشيط وضع الحماية الجذرية للمجلد في إضافة BulletProof.بوركينا فاسوبورونديبتنشيطك، أنت توافق على %sشروط الاستخدام%s و%sسياسة الخصوصية%s الخاصة بنا.CDNتم اكتشاف تمكين CDN. يرجى تضمين مسارات %s و %s في إعدادات تمكين CDN.تم اكتشاف CDN Enabler! تعرف على كيفية تكوينه مع %s %sانقر هنا%sروابط CDNخطأ في الاتصال! تأكد من أن موقع الويب الخاص بك يمكنه الوصول إلى: %sقم بتخزين ملفات CSS و JS والصور لزيادة سرعة تحميل الواجهة الأمامية.تخزين مؤقت الممكّنكمبودياالكاميرونلا أستطيع تحميل الإضافة.كنداالفرنسية الكنديةإلغاءألغِ خطوط الربط بتسجيل الدخول من الإضافات والقوالب الأخرى لمنع إعادة توجيه تسجيل الدخول غير المرغوب فيها.الرأس الأخضرالكاتالونية الفالنسيةجزر كايمانجمهورية أفريقيا الوسطىتشادChangeتغيير الخياراتتغيير المساراتغيِّر المسار الآنتغيير المسارات للمستخدمين المسجلينغيِّر المسارات في استدعاءات الـ Ajax.تغيير المسارات في الملفات المخزنةتغيير المسارات في تغذية RSSغيِّر المسارات في خرائط المواقع XML.قم بتغيير عناوين URL النسبية إلى عناوين URL المطلقةقم بتغيير مسارات ووردبريس أثناء تسجيل الدخول.قم بتغيير مسارات الصور في تغذية RSS لكل الصور.قم بتغيير المسارات في ملفات Sitemap XML وإزالة اسم المؤلف للإضافة والأنماط.غيِّر الشعار في %s > %s > %sقم بتغيير مسارات ووردبريس الشائعة في الملفات المخزنة.قم بتغيير مسار التسجيل من %s %s > تغيير المسارات > عنوان URL المخصص للتسجيل%s أو قم بإلغاء تحديد الخيار %s > %s > %sقم بتغيير النص في جميع ملفات CSS و JS، بما في ذلك تلك الموجودة في الملفات المخزنة المؤقتة التي تم إنشاؤها بواسطة إضافات التخزين المؤقت.قم بتغيير اسم المستخدم 'admin' أو 'administrator' بـ اسم آخر لتعزيز الأمان.قم بتغيير إذن ملف wp-config.php إلى "قراءة فقط" باستخدام مدير الملفات.قم بتغيير wp-content، wp-includes ومسارات شائعة أخرى باستخدام %s %s > تغيير المسارات%sقم بتغيير wp-login من %s %s > تغيير المسارات > عنوان URL تسجيل الدخول المخصص%s وتفعيل %s %s > حماية من هجمات القوة الغاشمة%sتغيير رؤوس الأمان المحددة مسبقًا قد يؤثر على وظائف الموقع.تحقق من مسارات الواجهةتحقق من موقع الويب الخاص بكتحقق من التحديثاتتحقق مما إذا كانت مسارات الموقع تعمل بشكل صحيح.تحقق مما إذا كان موقع الويب الخاص بك مؤمنًا بالإعدادات الحالية.تحقق من تغذية الـ RSS %s %s وتأكد من تغيير مسارات الصور.تحقق من %s خريطة الموقع XML %s وتأكد من تغيير مسارات الصور.تحقق من سرعة تحميل الموقع باستخدام %sأداة Pingdom%sتشيليالصيناختر كلمة مرور لقاعدة البيانات مناسبة، تتكون من 8 أحرف على الأقل تحتوي على مزيج من الحروف والأرقام والرموز الخاصة. بعد تغييرها، ضع الكلمة المرور الجديدة في ملف wp-config.php كالتالي define('DB_PASSWORD', 'NEW_DB_PASSWORD_GOES_HERE');اختر البلدان التي يجب تقييد الوصول إلى الموقع الإلكتروني فيها.اختر نوع الخادم الذي تستخدمه للحصول على أفضل تكوين مناسب لخادمك.اختر ما تريد فعله عند الوصول من عناوين IP المسموح بها والمسارات المسموح بها.جزيرة عيد الميلادصفحة تسجيل الدخول النظيفةانقر على %sContinue%s لتعيين المسارات المحددة مسبقًا.انقر فوق "نسخ احتياطي" وسيبدأ التنزيل تلقائيًا. يمكنك استخدام النسخة الاحتياطية لجميع مواقعك على الويب.انقر لتشغيل العملية لتغيير المسارات في ملفات الذاكرة المؤقتة.خطأ في الإغلاقلوحة السحابيةتم اكتشاف لوحة السحابة. %sيرجى قراءة كيفية جعل الإضافة متوافقة مع استضافة لوحة السحابة%sCntجزر كوكوس (كيلينغ)كولومبيامسار التعليقاتجزر القمرالتوافقإعدادات التوافقالتوافق مع إضافة إدارة WPالتوافق مع الإضافات التي تعتمد على رموز الدخولمتوافق مع إضافة All In One WP Security. استخدمهم معًا لفحص الفيروسات، وجدار الحماية، وحماية الهجمات العنيفة.متوافق مع إضافة JCH Optimize Cache. يعمل مع جميع الخيارات لتحسين CSS و JS.متوافق مع إضافة الأمان الصلب. استخدمهم معًا لماسح الموقع، واكتشاف تغيير الملفات، وحماية من هجمات القوة الغاشمة.متوافق مع إضافة الأمان Sucuri Security. استخدمهم معًا لفحص الفيروسات، وجدار الحماية، ومراقبة سلامة الملفات.متوافق مع إضافة Wordfence Security. استخدمهم معًا لفحص البرامج الضارة، وجدار الحماية، وحماية الهجمات العشوائية.متوافق مع جميع القوالب والإضافات.إكمال الإصلاحتكوينملف التكوين غير قابل للكتابة. قم بإنشاء الملف إذا لم يكن موجودًا أو انسخ السطور التالية إلى الملف %s: %sملف التكوين غير قابل للكتابة. قم بإنشاء الملف إذا لم يكن موجودًا أو انسخ إلى ملف %s بالأسطر التالية: %sملف التكوين غير قابل للكتابة. يجب عليك إضافته يدويًا في بداية ملف %s: %sتأكيد استخدام كلمة مرور ضعيفةكونغوالكونغو، جمهورية الكونغو الديمقراطيةتهانينا! لقد أكملت جميع المهام الأمنية. تأكد من التحقق من موقعك مرة واحدة في الأسبوع.Continueتحويل الروابط مثل /wp-content/* إلى %s/wp-content/*.جزر كوكنسخ الرابطانسخ الرابط الآمن %s SAFE URL %s واستخدمه لإلغاء تنشيط جميع المسارات المخصصة إذا لم تتمكن من تسجيل الدخول.مسار محتويات النواةمسار النواة المضمنةكوستاريكاساحل العاجلم أتمكن من اكتشاف المستخدملم أتمكن من إصلاحه. عليك تغييره يدويًا.لم يتم العثور على أي شيء بناءً على بحثك.تعذر تسجيل الدخول باستخدام هذا المستخدم.تعذر إعادة تسمية الجدول %1$s. قد تحتاج إلى إعادة تسمية الجدول يدويًا.تعذر تحديث مراجع البادئة في جدول الخيارات.تعذر تحديث مراجع البادئة في جدول usermeta.حظر الدولإنشاءإنشاء تسجيل دخول مؤقت جديدإنشاء رابط تسجيل دخول مؤقت بأي دور مستخدم للوصول إلى لوحة تحكم الموقع بدون اسم مستخدم وكلمة مرور لفترة زمنية محدودة.إنشاء رابط تسجيل دخول مؤقت بأي دور مستخدم للوصول إلى لوحة التحكم في الموقع دون اسم مستخدم وكلمة مرور لفترة زمنية محدودة. %s هذا مفيد عندما تحتاج إلى منح وصول إداري لمطور للدعم أو لأداء المهام الروتينية.كرواتياالكرواتيةكوباكوراساومسار التنشيط المخصصمسار الإدارة المخصصدليل التخزين المؤقت المخصصمسار تسجيل الدخول المخصصمسار تسجيل الخروج المخصصمسار فقدان كلمة المرور المخصصمسار التسجيل المخصصمعلمة عنوان URL الآمنمسار الإدارة المخصص للـ admin-ajaxمسار المؤلف المخصصمسار التعليق المخصصرسالة مخصصة لعرضها للمستخدمين المحظورين.مسار الإضافات المخصصةاسم نمط السمة المخصصمسار السمات المخصصةمسار التحميل المخصصمسار wp-content المخصصالمسار المخصص لـ wp-includesمسار wp-json مخصصقم بتخصيص وتأمين جميع مسارات ووردبريس من هجمات الروبوتات الضارة.قم بتخصيص أسماء الإضافاتقم بتخصيص أسماء السماتقم بتخصيص عناوين CSS و JS في جسم موقعك.قم بتخصيص معرفات الـ IDs وأسماء الفئات في جسم موقعك.قبرصالتشيكجمهورية التشيكوضع تصحيح الأخطاء في قاعدة البياناتدانمركيةلوحة القيادةبادئة قاعدة البياناتتاريختم إلغاء التنشيطوضع التصحيحافتراضيإعادة توجيه افتراضية بعد تسجيل الدخولالوقت الافتراضي المؤقت للانتهاءالدور الافتراضي للمستخدمالشعار الافتراضي لووردبريسالدور الافتراضي للمستخدم الذي سيتم إنشاء تسجيل دخول مؤقت له.حذف المستخدمين المؤقتين عند إلغاء تثبيت الإضافةحذف المستخدمالدنماركتفاصيلالدلائلتعطيل وصول "rest_route" paramتعطيل رسالة النقرتعطيل النسختعطيل نسخ/لصقتعطيل رسالة النسخ/اللصقتعطيل نسخ/لصق للمستخدمين المسجلينتعطيل DISALLOW_FILE_EDIT للمواقع الحية في wp-config.php define('DISALLOW_FILE_EDIT', true);تعطيل استعراض الدليلتعطيل سحب/إسقاط الصورتعطيل سحب/إسقاط الرسالةتعطيل السحب/الإفلات للمستخدمين المسجلينتعطيل عنصر التفتيشتعطيل رسالة "فحص العنصر"تعطيل عنصر التفتيش للمستخدمين المسجلينتعطيل الخياراتتعطيل اللصقتعطيل وصول واجهة برمجة التطبيقات RESTقم بتعطيل وصول واجهة برمجة التطبيقات REST للمستخدمين غير المسجلين.قم بتعطيل الوصول إلى واجهة برمجة التطبيقات REST باستخدام المعلمة 'rest_route'.تعطيل نقطة نهاية RSD من XML-RPCتعطيل النقر بالزر الأيمنتعطيل النقر بالزر الأيمن للمستخدمين المسجلينقم بتعطيل SCRIPT_DEBUG للمواقع الحية في ملف wp-config.php define('SCRIPT_DEBUG', false);تعطيل عرض المصدرتعطيل رسالة عرض المصدرتعطيل عرض المصدر للمستخدمين المسجلينقم بتعطيل WP_DEBUG للمواقع الحية في ملف wp-config.php define('WP_DEBUG', false);تعطيل وصول XML-RPCتعطيل وظيفة النسخ على موقعك.تعطيل سحب وإسقاط الصور على موقع الويب الخاص بكتعطيل وظيفة اللصق على موقعك الإلكترونيقم بتعطيل دعم RSD (Really Simple Discovery) لـ XML-RPC وإزالة علامة RSD من الرأسيةقم بتعطيل الوصول إلى /xmlrpc.php لمنع %sهجمات القوة الغاشمة عبر XML-RPC%sتعطيل إمكانية نسخ/لصق على موقع الويب الخاص بك.قم بتعطيل الاتصالات الخارجية إلى ملف xml-rpc.php ومنع هجمات القوة الغاشمة.تعطيل عرض عنصر التفتيش على موقع الويب الخاص بكتعطيل إجراء النقر بالزر الأيمن على موقع الويب الخاص بك.تعطيل وظيفة النقر بالزر الأيمن على موقع الويب الخاص بكتعطيل عرض شفرة المصدر على موقع الويب الخاص بكعرض أي نوع من معلومات التصحيح في الواجهة الأمامية سيء للغاية. إذا حدثت أخطاء PHP على موقعك، يجب تسجيلها في مكان آمن وعدم عرضها للزوار أو المهاجمين المحتملين.جيبوتيقم بتوجيه تسجيل الدخول وتسجيل الخروجلا تقوم بتسجيل الخروج من هذا المتصفح حتى تكون واثقًا من أن صفحة تسجيل الدخول تعمل وأنك ستتمكن من تسجيل الدخول مرة أخرى.لا تقوم بتسجيل الخروج من حسابك حتى تكون واثقًا من أن نظام reCAPTCHA يعمل وأنك ستتمكن من تسجيل الدخول مرة أخرى.هل ترغب في حذف المستخدم المؤقت؟هل ترغب في استعادة الإعدادات المحفوظة آخر مرة؟دومينيكاجمهورية الدومينيكانلا تنسَ إعادة تحميل خدمة Nginx.لا تسمح بظهور روابط مثل domain.com?author=1 تُظهر اسم تسجيل الدخول للمستخدم.لا تسمح للمخترقين برؤية أي محتوى في الدليل. انظر %sمجلد التحميل%sلا تحمل رموز الإيموجي إذا لم تستخدمهالا تقم بتحميل WLW إذا لم تقم بتكوين Windows Live Writer لموقعك.لا تحمل خدمة oEmbed إذا لم تكن تستخدم مقاطع الفيديو oEmbed.لا تحدد أي دور إذا كنت ترغب في تسجيل جميع أدوار المستخدمين.منجز!تحميل التصحيحDrupal 10Drupal 11Drupal 8Drupal 9هولنديخطأ! يرجى التأكد من استخدام رمز صالح لتنشيط الإضافةخطأ! يرجى التأكد من استخدام الرمز الصحيح لتنشيط الإضافةالإكوادورتعديل المستخدمتحرير المستخدمقم بتعديل ملف wp-config.php وأضف ini_set('display_errors', 0); في نهاية الملفمصرالسلفادورElementorالبريد الإلكترونيعنوان البريد الإلكترونيإشعار بالبريد الإلكترونيعنوان البريد الإلكتروني موجود بالفعلأرسل بريدًا إلكترونيًا إلى شركة استضافتك وأخبرهم أنك ترغب في التحويل إلى نسخة أحدث من MySQL أو نقل موقعك إلى شركة استضافة أفضل.أرسل بريدًا إلكترونيًا إلى شركة استضافتك وأخبرهم أنك ترغب في التحويل إلى إصدار أحدث من PHP أو نقل موقعك إلى شركة استضافة أفضل.فارغريكابتشا فارغة. يرجى إكمال ريكابتشا.عنوان البريد الإلكتروني فارغتمكين هذا الخيار قد يبطئ من سرعة الموقع، حيث ستتم تحميل ملفات CSS و JS بشكل ديناميكي بدلاً من خلال إعادة الكتابة، مما يسمح بتعديل النصوص بحسب الحاجة.Englishأدخل الرمز المكون من 32 حرفًا من الطلب/الترخيص على %sغينيا الاستوائيةإريترياخطأ! لا يوجد نسخة احتياطية لاستعادتها.خطأ! النسخ الاحتياطي غير صالح.خطأ! لا تتم تحميل المسارات الجديدة بشكل صحيح. امسح جميع الذاكرة المؤقتة وحاول مرة أخرى.خطأ! لا يمكن استعادة الإعداد المسبق.خطأ: لقد أدخلت نفس عنوان URL مرتين في تعيين الروابط. لقد قمنا بإزالة النسخ المكررة لتجنب أي أخطاء في إعادة التوجيه.خطأ: لقد أدخلت نفس النص مرتين في تعيين النص. لقد قمنا بإزالة التكرارات لمنع حدوث أخطاء في إعادة التوجيه.استونياإثيوبياأوروباحتى إذا كانت المسارات الافتراضية محمية بواسطة %s بعد التخصيص، نوصي بتعيين الأذونات الصحيحة لجميع الدلائل والملفات على موقع الويب الخاص بك، استخدم مدير الملفات أو FTP للتحقق وتغيير الأذونات. %sاقرأ المزيد%sسجل الأحداثتقرير سجل الأحداثإعدادات سجل الأحداثكل مُطوِّر جيد يجب أن يقوم بتفعيل وضع التصحيح (debugging) قبل البدء في إنشاء إضافة (plugin) أو قالب (theme) جديد. في الواقع، توصي "WordPress Codex" بشدة بأن يستخدم المُطوِّرون SCRIPT_DEBUG. للأسف، ينسى العديد من المُطوِّرين وضع التصحيح حتى عندما يكون الموقع على الإنترنت. عرض سجلات التصحيح في الواجهة الأمامية سيُمكِّن المخترِقين من معرفة الكثير عن موقعك على الووردبريس.يجب على كل مطور جيد تفعيل وضع التصحيح قبل البدء في إنشاء إضافة أو قالب جديد. في الواقع، توصي "WordPress Codex" بشدة بأن يستخدم المطورون WP_DEBUG.

للأسف، ينسى العديد من المطورين وضع التصحيح، حتى عندما يكون الموقع على الإنترنت. عرض سجلات التصحيح في الواجهة الأمامية سيتيح للمخترقين معرفة الكثير عن موقعك على الووردبريس.مثال:وقت الانتهاءانتهىتنتهيكشف إصدار PHP سيجعل عملية الهجوم على موقعك أسهل بكثير.محاولات فاشلةفشلجزر فوكلاند (مالفيناس)جزر فاروالميزاتتغذية & خريطة الموقعأمان التغذيةفيجيأذونات الملفاتأذونات الملفات في ووردبريس تلعب دورًا حيويًا في أمان الموقع. تكوين هذه الأذونات بشكل صحيح يضمن عدم تمكن المستخدمين غير المصرح لهم من الوصول إلى الملفات والبيانات الحساسة.
يمكن أن تفتح الأذونات غير الصحيحة موقع الويب الخاص بك للهجمات بطريقة غير مقصودة، مما يجعله عرضة للخطر.
كمسؤول ووردبريس، فهم وضبط أذونات الملفات بشكل صحيح أمر أساسي لحماية موقعك من التهديدات المحتملة.ملفاتتصفيةفنلنداجدار ناريجدار ناري و رؤوسجدار ناري ضد حقن النصوصموقع جدار الحمايةقوة جدار الحمايةتم تحميل جدار الحماية ضد الحقنالاسم الأولأولاً، تحتاج إلى تفعيل %sوضع الأمان%s أو %sوضع الشبح%sأولاً، تحتاج إلى تفعيل %sوضع الأمان%s أو %sوضع الشبح%s في %sإصلاح الصلاحياتأصلحهقم بتصحيح أذونات جميع الدلائل والملفات (~ 1 دقيقة)قم بتصحيح أذونات المجلدات الرئيسية والملفات (~ 5 ثانية)العجلة الطائرةتم اكتشاف العجلة الطائرة. يرجى إضافة إعادة التوجيه في لوحة قواعد إعادة التوجيه الخاصة بالعجلة الطائرة %s.المجلد %s قابل للتصفحممنوعفرنسافرنسيغويانا الفرنسيةبولينيزيا الفرنسيةالمقاطعات الجنوبية الفرنسيةمن: %s <%s>الصفحة الأماميةاختبار تسجيل الدخول الأمامياختبار الواجهة الأماميةمتوافق تمامًا مع إضافة تخزين الذاكرة المؤقتة Autoptimizer. يعمل بشكل أفضل مع الخيار Optimize/Aggregate CSS and JS files.متوافق تمامًا مع إضافة Beaver Builder. يعمل بشكل أفضل مع إضافة الذاكرة المؤقتة.متوافق تمامًا مع إضافة Cache Enabler. يعمل بشكل أفضل مع خيار تقليص ملفات CSS و JS.متوافق تمامًا مع إضافة بناء المواقع Elementor. يعمل بشكل أفضل مع إضافة التخزين المؤقت.متوافق تمامًا مع إضافة Fusion Builder من Avada. يعمل بشكل أفضل مع إضافة تخزين مؤقت.متوافق تمامًا مع إضافة Hummingbird cache. يعمل بشكل أفضل مع خيار تقليص ملفات CSS و JS.متوافق تمامًا مع إضافة LiteSpeed Cache. يعمل بشكل أفضل مع خيار تقليص ملفات CSS و JS.متوافق تمامًا مع إضافة Oxygen Builder. يعمل بشكل أفضل مع إضافة تخزين مؤقت.متوافق تمامًا مع إضافة W3 Total Cache. يعمل بشكل أفضل مع خيار تقليص ملفات CSS و JS.متوافق تمامًا مع إضافة WP Fastest Cache. يعمل بشكل أفضل مع خيار تقليص ملفات CSS و JS.متوافق تمامًا مع إضافة WP Super Cache للتخزين المؤقت.متوافق تمامًا مع إضافة WP-Rocket cache. يعمل بشكل أفضل مع الخيار Minify/Combine CSS and JS files.متوافق تمامًا مع إضافة Woocommerce.بنّاء الدمجالجابونغامبياعامأمان جيوالأمان الجغرافي هو ميزة مصممة لوقف الهجمات من دول مختلفة، وإنهاء الأنشطة الضارة القادمة من مناطق محددة.جورجياالألمانيةألمانياغاناوضع الشبحوضع الشبح + جدار ناري + القوة الغاشمة + سجل الأحداث + عاملين مزدوجسيقوم وضع الشبح بتعيين هذه المسارات المحددة مسبقًاوضع الشبحجبل طارققم بإعطاء أسماء عشوائية لكل إضافةقم بإعطاء أسماء عشوائية لكل سمة (تعمل في ووردبريس متعدد المواقع)تم اكتشاف اسم فئة عالمي: %s. اقرأ هذه المقالة أولاً: %s.انتقل إلى لوحة سجل الأحداثانتقل إلى لوحة التحكم > قسم المظهر وقم بتحديث جميع القوالب إلى أحدث إصدار.انتقل إلى لوحة التحكم > قسم الإضافات وقم بتحديث جميع الإضافات إلى أحدث إصدار.جوداديتم الكشف عن Godaddy! لتجنب أخطاء CSS، تأكد من إيقاف خدمة CDN من %sجيدجوجل reCAPTCHA V2جوجل reCAPTCHA V3لم يعد Google reCaptcha V3 يعمل مع نموذج تسجيل الدخول الحالي لـ %s.رائع! تمت استعادة النسخة الاحتياطية.رائع! تم استعادة القيم الأولية.رائع! المسارات الجديدة تحمل بشكل صحيح.رائع! تم تحميل الإعداد المسبق.اليوناناليونانيةجرينلاندغريناداغوادلوبغوامغواتيمالاغيرنزيغينياغينيا بيساوغياناهايتيإظهار عنوان URL الخاص بالمسؤول في شفرة المصدر أمر فظيع لأن القراصنة سيعرفون على الفور مسار المسؤول السري الخاص بك وسيبدأون هجوم القوة الغاشمة. يجب ألا يظهر مسار المسؤول المخصص في عنوان URL للـ ajax.

ابحث عن حلول لـ %s كيفية إخفاء المسار من شفرة المصدر %s.إظهار عنوان URL لتسجيل الدخول في شفرة المصدر أمر فظيع لأن القراصنة سيعرفون على الفور مسار تسجيل الدخول السري الخاص بك وسيبدأون هجوم القوة الغاشمة.

يجب أن يُحفظ مسار تسجيل الدخول المخصص سريًا، ويجب تفعيل حماية القوة الغاشمة له.

ابحث عن حلول لـ %s إخفاء مسار تسجيل الدخول من شفرة المصدر هنا %s.سيترك تمكين هذا التوجيه PHP موقعك عرضة لهجمات العبر عن المواقع (XSS).

لا يوجد أي سبب صحيح لتمكين هذا التوجيه، واستخدام أي كود PHP يتطلب ذلك خطير للغاية.حماية الرأسالترويسة وجدار الحمايةجزيرة هيرد وجزر ماكدونالدعبريةالمساعدة والأسئلة الشائعةها هو قائمة البلدان المحددة حيث سيتم تقييد موقع الويب الخاص بك..Hideإخفاء مسار "login"إخفاء "wp-admin"إخفاء "wp-admin" من المستخدمين غير الإداريينإخفاء "wp-login.php"إخفاء مسار /login عن الزوار.إخفاء مسار /wp-admin عن المستخدمين غير المسؤولين.إخفاء مسار /wp-admin عن الزوار.إخفاء مسار /wp-login.php من الزوار.إخفاء شريط الأدوات الإداريةإخفاء شريط الأدوات الإدارية لأدوار المستخدمين لمنع الوصول إلى لوحة التحكم.إخفاء جميع الإضافاتإخفاء عنوان معرف المؤلفإخفاء الملفات الشائعةإخفاء النصوص المضمنةإخفاء الرموز التعبيريةإخفاء علامات Feed & Sitemap Linkإخفاء امتدادات الملفاتإخفاء تعليقات HTMLأخفِ الهويات من العلامات الوصفيةإخفاء مفتاح تبديل اللغةHide My WP Ghostإخفاء الخياراتإخفاء المسارات في ملف robots.txtإخفاء أسماء الإضافاتإخفاء رابط واجهة برمجة التطبيقات RESTأخف اسماء الثيماتإخفاء الإصدار من الصور و CSS و JS في ووردبريسإخفاء الإصدارات من الصور و CSS و JSإخفاء نصوص WLW Manifestإخفاء ملفات WP Commonإخفاء مسارات WP المشتركةإخفاء ملفات ووردبريس الشائعةإخفاء مسارات ووردبريس الشائعةإخفاء علامات `DNS Prefetch` META في ووردبريسإخفاء علامات META الخاصة بمولد ووردبريسإخفاء مسار الإضافات القديمة في ووردبريسإخفاء مسار القوالب القديمة في ووردبريسإخفاء مسارات ووردبريس الشائعة من ملف %s Robots.txt %s.قم بإخفاء مسارات ووردبريس مثل wp-admin، wp-content، وغيرها من ملف robots.txt.إخفاء جميع الإصدارات من نهاية أي ملفات الصور والـ CSS والـ JavaScript.إخفاء كل الإضافات سواء النشطة أو المعطلةإخفاء المهام المكتملةإخفاء كلمة المرورأخفِ العلامات /feed و /sitemap.xmlإخفاء DNS Prefetch الذي يشير إلى ووردبريسأخفِ التعليقات الخاصة بـ HTML التي تركتها القوالب والإضافات.أخفِ الهويات من جميع الروابط، الأنماط، النصوص، وعلامات META.إخفاء مسار المسؤول الجديداخفي مسار تسجيل الدخول الجديدأخفِ علامات `META` المولد في ووردبريس.إخفاء شريط الأدوات الإدارية للمستخدمين المسجلين أثناء تصفح الواجهة الأمامية.قم بإخفاء خيار تبديل اللغة على صفحة تسجيل الدخول.أخفِ مسار المشرف الجديد عن الزوار. اعرض مسار المشرف الجديد فقط للمستخدمين المسجلين.اخفي مسار تسجيل الدخول الجديد عن الزوار. اعرض مسار تسجيل الدخول الجديد فقط للوصول المباشر.اخفي المسارات القديمة /wp-content، /wp-include بمجرد تغييرها بالمسارات الجديدةقم بإخفاء المسارات القديمة /wp-content، /wp-include بمجرد تغييرها بالمسارات الجديدة.قم بإخفاء المسار القديم /wp-content/plugins بمجرد تغييره بالمسار الجديدقم بإخفاء المسار القديم /wp-content/themes بمجرد تغييره بالمسار الجديدإخفاء wp-admin من عنوان URL الخاص بـ Ajaxقم بإخفاء ملفات wp-config.php، wp-config-sample.php، readme.html، license.txt، upgrade.php، و install.php.قم بإخفاء ملفات wp-config.php، wp-config-sample.php، readme.html، license.txt، upgrade.php و install.php.إخفاء وصلة wp-json و ?rest_route من رأس موقع الويب.إخفاء الهوية من العلامات الوصفية في ووردبريس قد يؤثر بشكل محتمل على عملية التخزين المؤقت للإضافات التي تعتمد على تحديد العلامات الوصفية.هنديالكرسي الرسولي (دولة الفاتيكان)هندوراسهونغ كونغاسم المضيفكم سيكون متاحًا تسجيل الدخول المؤقت بعد أن يقوم المستخدم بالوصول لأول مرة؟طائر الطنانالمجريةالمجرIIS Windowsتم اكتشاف IIS. تحتاج إلى تحديث ملف %s الخاص بك عن طريق إضافة الأسطر التالية بعد علامة <rules>: %sIPتم حظر عنوان الآي بيآيسلنداإذا ظهرت أي خطأ في reCAPTCHA، يرجى التأكد من إصلاحه قبل المتابعة.إذا لم تتم تحميل قواعد إعادة الكتابة بشكل صحيح في ملف التكوين، فلا تقم بتحميل المكون الإضافي ولا تقم بتغيير المسارات.إذا كنت متصلاً بمستخدم المسؤول، ستحتاج إلى إعادة تسجيل الدخول بعد التغيير.إذا لم تتمكن من تكوين %s، قم بالتبديل إلى وضع التعطيل و%s اتصل بنا%s.إذا لم تتمكن من تكوين reCAPTCHA، قم بالتبديل إلى حماية Math reCaptcha.إذا لم يكن لديك موقع إلكتروني للتجارة الإلكترونية أو العضوية أو نشر المقالات كضيف، فلا ينبغي عليك السماح للمستخدمين بالاشتراك في مدونتك. ستنتهي بتسجيلات غير مرغوب فيها وستمتلئ موقعك بمحتوى وتعليقات غير مرغوبة.إذا كان لديك وصول إلى ملف php.ini، قم بتعيين allow_url_include = off أو اتصل بشركة الاستضافة لتعيينها كـ offإذا كان لديك وصول إلى ملف php.ini، قم بتعيين expose_php = off أو اتصل بشركة الاستضافة لتعيينها كـ off.إذا كان لديك وصول إلى ملف php.ini، قم بتعيين register_globals = off أو اتصل بشركة الاستضافة لتعيينها كـ offإذا كان لديك وصول إلى ملف php.ini، قم بتعيين safe_mode = off أو اتصل بشركة الاستضافة لتعطيله.إذا لاحظت أي مشكلة في الوظائف، يرجى تحديد %sوضع الأمان%s.إذا كنت قادرًا على تسجيل الدخول، فقد قمت بضبط المسارات الجديدة بشكل صحيح.إذا كنت قادرًا على تسجيل الدخول، فقد قمت بضبط reCAPTCHA بشكل صحيح.إذا لم تكن تستخدم Windows Live Writer، فلا يوجد سبب صحيح لوجود رابطه في رأس الصفحة، لأن هذا يخبر العالم بأنك تستخدم ووردبريس.إذا لم تكن تستخدم أي خدمات اكتشاف بسيطة حقًا مثل البينغ باك، فلا حاجة للإعلان عن ذلك النقطة النهائية (الرابط) في العنوان. يرجى ملاحظة أنه بالنسبة لمعظم المواقع، هذا ليس مشكلة أمان لأنها "ترغب في الاكتشاف"، ولكن إذا كنت ترغب في إخفاء حقيقة استخدامك لـ WP، هذه هي الطريقة المناسبة.إذا كان موقعك يسمح بتسجيل الدخول للمستخدمين، فيجب أن تكون صفحة تسجيل الدخول سهلة الوصول للمستخدمين. كما يجب عليك اتخاذ إجراءات أخرى لحماية الموقع من محاولات تسجيل الدخول الخبيثة.

ومع ذلك، يعتبر الغموض طبقة أمان صالحة عند استخدامها كجزء من استراتيجية أمان شاملة، وإذا كنت ترغب في تقليل عدد محاولات تسجيل الدخول الخبيثة. فإن جعل صفحة تسجيل الدخول صعبة العثور عليها هو طريقة واحدة للقيام بذلك.تجاهل مهمة الأمانقم بحظر أسماء المستخدمين غير الصحيحة على نماذج تسجيل الدخول على الفور.في ملف .htaccessفي الأيام القديمة، كان اسم المستخدم الافتراضي لإدارة ووردبريس 'admin' أو 'administrator'. نظرًا لأن أسماء المستخدمين تشكل نصف بيانات تسجيل الدخول، كان ذلك يسهل على القراصنة شن هجمات القوة الغاشمة.

ولحسن الحظ، قامت ووردبريس بتغيير هذا الأمر والآن يتطلب منك اختيار اسم مستخدم مخصص أثناء تثبيت ووردبريس.تم الكشف عن Ultimate Membership Pro بالفعل. الإضافة لا تدعم مسارات %s المخصصة حيث لا تستخدم وظائف ووردبريس لاستدعاء عنوان URL الخاص بـ Ajax.الهندإندونيسياإندونيسيانمعلوماتInmotionتم اكتشاف حركة. %sيرجى قراءة كيفية جعل الإضافة متوافقة مع Inmotion Nginx Cache%sتثبيت/تنشيطالتكامل مع إضافات CDN الأخرى وعناوين URL المخصصة للـ CDN.رمز التحقق غير صالح. يرجى إكمال إعادة التحقق.عنوان البريد الإلكتروني غير صالحتم اكتشاف اسم غير صالح: %s. قم بإضافة اسم المسار النهائي فقط لتجنب أخطاء ووردبريس.تم اكتشاف اسم غير صالح: %s. يجب ألا ينتهي الاسم بـ / لتجنب أخطاء ووردبريس.تم اكتشاف اسم غير صالح: %s. يجب ألا يبدأ الاسم بـ / لتجنب أخطاء ووردبريس.تم اكتشاف اسم غير صالح: %s. لا يمكن أن تنتهي المسارات بـ. لتجنب أخطاء ووردبريس.تم اكتشاف اسم غير صالح: %s. يجب عليك استخدام اسم آخر لتجنب أخطاء ووردبريس.اسم مستخدم غير صالح.إيران، الجمهورية الإسلاميةالعراقأيرلنداجزيرة مانإسرائيلمن المهم %s حفظ إعداداتك %s في كل مرة تقوم فيها بتغييرها. يمكنك استخدام النسخ الاحتياطي لتكوين مواقع الويب الأخرى التي تمتلكها.من المهم إخفاء أو إزالة ملف readme.html لأنه يحتوي على تفاصيل إصدار WP.من المهم إخفاء مسارات ووردبريس الشائعة لمنع الهجمات على الإضافات والقوالب الضعيفة.
كما أنه من المهم إخفاء أسماء الإضافات والقوالب لجعلها غير قابلة للاكتشاف من قبل الروبوتات.من المهم إعادة تسمية مسارات ووردبريس الشائعة، مثل wp-content و wp-includes، لمنع المخترقين من معرفة أن لديك موقع ووردبريس.ليس آمنًا تشغيل تصحيح قاعدة البيانات. تأكد من عدم استخدام تصحيح قاعدة البيانات على المواقع الحية.الإيطاليةإيطالياJCH Optimize Cacheجامايكاجانانيزاليابانتم تعطيل JavaScript على متصفحك! يجب تفعيل JavaScript لاستخدام مكوّن %s.جيرسيجوملا 3جوملا ٤جوملا 5الأردنموقع ووردبريس آخركازاخستانكينياكيريباتياعرف ما يقوم به المستخدمون الآخرون على موقعك الإلكتروني.الكوريةكوسوفوالكويتقيرغيزستاناللغةجمهورية لاو الديمقراطية الشعبيةآخر إحصائيات الأمان لمدة 30 يومًاآخر وصولاللقبآخر فحص:تحميل متأخرلاتفيالاتفيانيةتعلم كيفتعلم كيفية إضافة الكودتعلم كيفية تعطيل %sالتصفح الدليلي%s أو تشغيل %s %s > تغيير المسارات > تعطيل التصفح الدليلي%sتعلم كيف تقوم بتعيين موقع الويب الخاص بك كـ %s. %sانقر هنا%sتعلم كيفية إعداد على Local & Nginxتعلم كيفية إعداد الخادم على خادم Nginxتعلم كيفية استخدام الشورتكودتعرف على المزيد حولتعرّف على جدار الحماية %s 7G %s.تعرّف على جدار الحماية 8G %s%s.Leave it blank if you don't want to display any messageاتركه فارغًا لحظر جميع المسارات للبلدان المحددة.لبنانليسوتولنرفع أمانك إلى المستوى التالي!مستوى الأمانمستويات الأمانليبيرياليبيارمز الترخيصليختنشتاينحدد عدد محاولات تسجيل الدخول المسموح بها باستخدام النموذج العادي لتسجيل الدخول.لایت‌اسپیدLiteSpeed Cacheليتوانياليتوانيتحميل الإعداد المسبقتحميل الإعدادات الأمنيةانتظر بعد تحميل جميع الإضافات. على خط "template_redirects".قم بالتحميل قبل تحميل جميع الإضافات. على خطاف "plugins_loaded".تحميل اللغة المخصصة إذا كانت اللغة المحلية لـ WordPress مثبتة.حمل الإضافة كإضافة يجب استخدامها.حمّل عندما يتم تهيئة الإضافات. على خط "init".تم الكشف عن Local & NGINX. في حال لم تقم بإضافة الكود في تكوين NGINX بالفعل، يرجى إضافة السطر التالي. %sمحلي بواسطة فلايويلك.الموقعقفل المستخدمرسالة الإقفالسجّل أدوار المستخدمينسجّل أحداث المستخدمينإعادة توجيه عند تسجيل الدخول وتسجيل الخروجتم حظر تسجيل الدخول بواسطةمسار تسجيل الدخولعنوان URL لإعادة توجيه تسجيل الدخولأمان تسجيل الدخولاختبار تسجيل الدخولرابط تسجيل الدخولرابط إعادة توجيه تسجيل الخروجحماية نموذج فقدان كلمة المرورلوكسمبورغماكاومدغشقررابط تسجيل الدخول السحريتأكد من وجود عناوين URL للتوجيه على موقع الويب الخاص بك. %sعنوان URL لتوجيه دور المستخدم له أولوية أعلى من عنوان URL التوجيه الافتراضي.تأكد من أنك تعرف ما تفعل عند تغيير العناوين.تأكد من حفظ الإعدادات وتفريغ الذاكرة المؤقتة قبل التحقق من موقع الويب الخاص بك باستخدام أداتنا.مالاويماليزياجزر المالديفماليمالطاإدارة حماية القوة الغاشمةإدارة إعادة توجيه تسجيل الدخول وتسجيل الخروجإدارة عناوين الآي بي المسموح بها والمحظورةقم بحظر/إلغاء حظر عناوين الآي بي يدويًا.قم بتخصيص كل اسم إضافة يدويًا واستبدل الاسم العشوائيقم بتخصيص اسم كل سمة يدويًا واستبدل الاسم العشوائيقم بإضافة عناوين IP الموثوق بها يدويًا.تعيينجزر مارشالمارتينيكالرياضيات والتحقق من Google reCaptcha أثناء تسجيل الدخول.ريكابتشا الرياضياتموريتانياموريشيوسمحاولات الفشل القصوىمايوتمتوسطعضويةالمكسيكميكرونيزيا، الولايات المتحدة الموحدةMinimalالحد الأدنى (بدون إعادة تكوين التكوين)مولدوفا، جمهوريةموناكومنغولياراقب كل ما يحدث على موقع الووردبريس الخاص بك!راقب، تتبع، وسجّل الأحداث على موقعك الإلكتروني.الجبل الأسودMontserratالمزيد من المساعدةمزيد من المعلومات حول %sالمزيد من الخياراتالمغربمعظم تثبيتات ووردبريس مستضافة على خوادم الويب الشهيرة Apache و Nginx و IIS.موزمبيقيجب استخدام تحميل الإضافةحسابيميانمارنسخة MySQLتم اكتشاف NGINX. في حال لم تقم بإضافة الكود في تكوين NGINX بالفعل، يرجى إضافة السطر التالي. %sالاسمناميبياناورونيبالهولنداكاليدونيا الجديدةبيانات تسجيل الدخول الجديدةتم اكتشاف إضافة/قالب جديد! قم بتحديث إعدادات %s لإخفائه. %sانقر هنا%sنيوزيلنداالخطوات التاليةNginxنيكاراغوانيجيريانيجيريانيويلالا محاكاة لنظام إدارة المحتوىلم يتم إصدار تحديثات حديثةلا توجد عناوين IP في القائمة السوداءلا توجد سجلات.لا تسجيل دخول مؤقت.تم الإلغاءعدد الثوانيجزيرة نورفولكتحميل عاديبشكل عام، يتم تنشيط خيار منع الزوار من تصفح دلائل الخادم من قبل المضيف من خلال تكوين الخادم، وتنشيطه مرتين في ملف التكوين قد يسبب أخطاء، لذا من الأفضل التحقق أولاً مما إذا كانت %sمجلد التحميل%s مرئيًا.كوريا الشماليةشمال مقدونيا، جمهوريةجزر ماريانا الشماليةالنرويجالنرويجيةلم يتم تسجيل الدخول بعدتنبيه: هذا الخيار لن يُفعّل شبكة توزيع المحتوى (CDN) لموقع الويب الخاص بك، ولكنه سيُحدّث المسارات المخصصة إذا كنت قد قمت بالفعل بتعيين عنوان URL لشبكة توزيع المحتوى باستخدام إضافة أخرى.ملاحظة! %sلن تتغير المسارات في الخادم%s الخاص بك.ملاحظة! سيستخدم الإضافة WP cron لتغيير المسارات في الخلفية بمجرد إنشاء ملفات الذاكرة المؤقتة.ملاحظة: إذا لم تتمكن من تسجيل الدخول إلى موقعك، فقط قم بالوصول إلى هذا الرابطإعدادات الإشعاراتحسنًا، لقد قمت بإعداده.عُمانعند بدء تشغيل الموقع.بمجرد شرائك للإضافة، ستتلقى بيانات الاعتماد %s الخاصة بحسابك عبر البريد الإلكتروني.يوم واحدساعةشهر واحدأسبوع واحدسنة واحدةأحد أهم الملفات في تثبيت ووردبريس الخاص بك هو ملف wp-config.php.
يقع هذا الملف في الدليل الجذري لتثبيت ووردبريس الخاص بك ويحتوي على تفاصيل تكوين موقع الويب الأساسية الخاص بك، مثل معلومات اتصال قاعدة البيانات.قم بتغيير هذا الخيار فقط إذا فشل البرنامج المساعد في تحديد نوع الخادم بشكل صحيح.قم بتحسين ملفات CSS و JSالخيار لإبلاغ المستخدم عن عدد المحاولات المتبقية على صفحة تسجيل الدخول.خياراتالإضافات القديمةالقوالب القديمةنظرة عامةأكسجيننسخة PHPتم تفعيل خاصية allow_url_include في PHPPHP expose_php مفعلتم تفعيل `register_globals` في PHPكانت وضعية PHP الآمنة واحدة من المحاولات لحل مشاكل الأمان في خوادم استضافة الويب المشتركة.

لا تزال تُستخدم من قبل بعض مزودي خدمات استضافة الويب، ومع ذلك، يُعتبر هذا الأمر في الوقت الحالي غير مناسب. يثبت النهج النظامي أنه من الخطأ المعماري محاولة حل مشاكل الأمان المعقدة على مستوى PHP، بدلاً من ذلك على مستوى خادم الويب ونظام التشغيل.

تقنيًا، الوضع الآمن هو توجيه PHP يقيد الطريقة التي تعمل بها بعض الوظائف المدمجة في PHP. المشكلة الرئيسية هنا هي عدم الاتساق. عند تفعيله، قد يمنع الوضع الآمن في PHP العديد من الوظائف الشرعية من العمل بشكل صحيح. في الوقت نفسه، هناك مجموعة متنوعة من الطرق لتجاوز قيود الوضع الآمن باستخدام وظائف PHP التي لا تخضع للقيود، لذا إذا تمكن القراصنة بالفعل من الدخول - فإن الوضع الآمن لا يفيد.وضع الأمان الآمن في PHP مُفعّلالصفحة غير موجودةباكستانبالاوالأراضي الفلسطينيةبنمابابوا غينيا الجديدةباراغوايتمالمسار غير مسموح به. تجنب المسارات مثل plugins و themes.مسارات & خياراتتغيّرت المسارات في ملفات الذاكرة المخبأة الحاليةتوقف لمدة ٥ دقائقروابط دائمةالفارسيةبيروالفلبينبيتكيرنيرجى ملاحظة أنه إذا لم توافق على تخزين البيانات على سحابتنا، فنحن نطلب بلطف منك الامتناع عن تفعيل هذه الميزة.الرجاء زيارة %s للتحقق من عملية الشراء والحصول على رمز الترخيص.سنّ التحميل الخاص بالإضافةمسار الإضافاتأمان الإضافاتإعدادات الإضافاتالإضافات التي لم يتم تحديثها خلال الـ 12 شهرا الماضية قد تواجه مشاكل أمنية حقيقية. تأكد من استخدام الإضافات المُحدّثة من دليل ووردبريس.تم تعطيل محرر الإضافات/القوالببولندابولنديالبرتغالالبرتغاليةالأمان المُعدَّلمنع تشوه تخطيط الموقع الإلكترونيتحميل الأولويةيحمي متجر WooCommerce الخاص بك ضد هجمات تسجيل الدخول بالقوة الغاشمة.يحمي موقع الويب الخاص بك ضد هجمات تسجيل الدخول بالقوة الغاشمة باستخدام %s. تواجه المطورون الويب تهديدًا شائعًا يعرف باسم هجوم تخمين كلمة المرور المعروف باسم هجوم القوة الغاشمة. يُعتبر هجوم القوة الغاشمة محاولة لاكتشاف كلمة مرور عن طريق محاولة كل تركيب ممكن من الحروف والأرقام والرموز حتى تجد التركيب الصحيح الذي يعمل.يحمي موقع الويب الخاص بك ضد هجمات تسجيل الدخول بالقوة الغاشمة.يحمي موقع الويب الخاص بك ضد هجمات تسجيل الدخول بالقوة الغاشمة.أثبت إنسانيتك:بورتوريكوقطرإصلاح سريعRDS مرئيرقم ثابت عشوائيأعيد تنشيط المستخدم لمدة يوم واحدإعادة توجيه بعد تسجيل الدخولإعادة توجيه المسارات المخفيةإعادة توجيه المستخدمين المسجلين إلى لوحة التحكمأعد توجيه المستخدمين المؤقتين إلى صفحة مخصصة بعد تسجيل الدخول.أعد توجيه المسارات المحمية /wp-admin، /wp-login إلى صفحة أو قم بتشغيل خطأ HTML.إعادة توجيه المستخدم إلى صفحة مخصصة بعد تسجيل الدخول.إعادة التوجيهإزالةإزالة إصدار PHP، معلومات الخادم، وتوقيع الخادم من الرأس.إزالة مؤلفي الإضافات والأنماط من خريطة الموقع XML.إزالة الرؤوس غير الآمنةقم بإزالة علامة رابط الانتقال من رأس موقع الويب.إعادة تسمية ملف readme.html أو تبديل على %s %s > تغيير المسارات > إخفاء ملفات ووردبريس الشائعة%sإعادة تسمية ملفات wp-admin/install.php و wp-admin/upgrade.php أو تبديل %s %s > تغيير المسارات > إخفاء مسارات ووردبريس الشائعة%sتجديدإعادة تعيينإعادة تعيين الإعداداتقد يؤثر حل أسماء المضيفين على سرعة تحميل الموقع.استعادة النسخة الاحتياطيةاستعادة الإعداداتاستئناف الأماناللقاءأمان الروبوتاتالدورإعادة الإعداداتإرجاع جميع إعدادات المكونات الإضافية إلى القيم الأولية.رومانياالرومانيةقم بتشغيل اختبار الواجهة الأمامية %s %s للتحقق مما إذا كانت المسارات الجديدة تعمل.تشغيل %s اختبار تسجيل الدخول %s وتسجيل الدخول داخل النافذة المنبثقة.قم بتشغيل اختبار %sreCAPTCHA%s وقم بتسجيل الدخول داخل النافذة المنبثقة.قم بتشغيل فحص الأمان الكاملالروسيةالاتحاد الروسيروانداSSL هو اختصار يستخدم لـ Secure Sockets Layers، وهي بروتوكولات تشفير تُستخدم على الإنترنت لتأمين تبادل المعلومات وتوفير معلومات الشهادة. هذه الشهادات توفر ضمانًا للمستخدم بشأن هوية الموقع الذي يتواصلون معه. يمكن أيضًا تسمية SSL بـ TLS أو بروتوكول أمان طبقة النقل. من المهم أن يكون هناك اتصال آمن لوحة التحكم الإدارية في ووردبريس.وضع الأمانوضع آمن + جدار ناري + قوة هجوم + سجل الأحداث + عاملين مزدوجينوضع الأمان + جدار الحماية + إعدادات التوافقسيقوم الوضع الآمن بتعيين هذه المسارات المحددة مسبقًارابط آمن:وضع آمنسانت بارتيليميسانت هيلينسانت كيتس ونيفيسسانت لوسياسانت مارتنسان بيير وميكلونسانت فنسنت والغرينادينالأملاح ومفاتيح الأمان صالحةسامواسان مارينوساو تومي وبرينسيبالسعوديةحفظحفظ سجل التصحيححفظ المستخدمتم الحفظتم الحفظ! سيتم تجاهل هذه المهمة في الاختبارات المستقبلية.حفظت! يمكنك تشغيل الاختبار مرة أخرى.وضع تصحيح النصوصبحثالبحث في سجل أحداث المستخدم وإدارة تنبيهات البريد الإلكترونيمفتاح سريمفاتيح سرية لـ %sGoogle reCAPTCHA%s.تأمين مسارات WPفحص أمانتم تحديث مفاتيح الأمانحالة الأمانيتم تعريف مفاتيح الأمان في ملف wp-config.php كثوابت على الأسطر. يجب أن تكون فريدة وطويلة قدر الإمكان. AUTH_KEY,SECURE_AUTH_KEY,LOGGED_IN_KEY,NONCE_KEY,AUTH_SALT,SECURE_AUTH_SALT,LOGGED_IN_SALT,NONCE_SALTتُستخدم مفاتيح الأمان لضمان تشفير أفضل للمعلومات المخزنة في ملفات تعريف الارتباط للمستخدم وكلمات المرور المجهزة.

هذه المفاتيح تجعل موقعك أكثر صعوبة في التعرض للاختراق والوصول إليه وكسره من خلال إضافة عناصر عشوائية إلى كلمة المرور. لا داعي لتذكر هذه المفاتيح. في الواقع، بمجرد تعيينها، لن تراها مرة أخرى. لذلك، لا يوجد عذر لعدم تعيينها بشكل صحيح.انظر إلى الإجراءات الأخيرة على هذا الموقع...اختر الإعداد المسبقاختر أدوار المستخدميناختر إعدادات الأمان المُعدة مسبقًا التي قمنا بتجربتها على معظم المواقع.اختر الكلاختر مدى توفر تسجيل الدخول المؤقت بعد الوصول الأول للمستخدم.اختر امتدادات الملفات التي ترغب في إخفائها على المسارات القديمةاختر الملفات التي ترغب في إخفائها على المسارات القديمةالبلدان المختارةأرسل لي بريدًا إلكترونيًا بعناوين URL المعدلة للمشرف وتسجيل الدخول.السنغالصربياالصربيةنوع الخادمتعيين دليل ذاكرة التخزين المؤقت المخصصقم بتعيين إعادة توجيه تسجيل الدخول وتسجيل الخروج استنادًا إلى أدوار المستخدم.تعيين دور المستخدم الحالي.حدد الموقع الإلكتروني الذي ترغب في إنشاء حساب لهذا المستخدم.الإعداداتسيشلتم اكتشاف اسم قصير: %s. يجب عليك استخدام مسارات فريدة تحتوي على أكثر من 4 أحرف لتجنب أخطاء ووردبريس.عرضأظهر /%s بدلاً من /%sإظهار الخيارات المتقدمةعرض المسارات الافتراضية والسماح بالمسارات المخفيةعرض مسارات الافتراضيات والسماح بكل شيءأظهر شاشة فارغة عند تفعيل "Inspect Element" على المتصفح.عرض المهام المكتملةعرض المهام المتجاهلةعرض الرسالة بدلاً من نموذج تسجيل الدخولعرض كلمة المرورسيراليونحماية نموذج التسجيلالصينية المبسطةنمذجة نظام إدارة المحتوىسنغافورةسينت مارتنمفتاح الموقعمفاتيح الموقع لـ %sGoogle reCaptcha%s.سايت جراوندأمان خريطة الموقعستة أشهرالسلوفاكيةسلوفاكياالسلوفينيةسلوفينياأمان قويجزر سليمانالصومالبعض الإضافات قد تقوم بإزالة قواعد إعادة الكتابة المخصصة من ملف .htaccess، خاصة إذا كان بإمكانها الكتابة، مما قد يؤثر على وظائف المسارات المخصصة.بعض القوالب لا تعمل مع مسارات الإدارة المخصصة والـ Ajax. في حال حدوث أخطاء في Ajax، الرجاء العودة إلى wp-admin و admin-ajax.php.عذرًا، ليس لديك إذن للوصول إلى هذه الصفحة.جنوب أفريقياجزر جورجيا الجنوبية وجزر ساندويتش الجنوبيةكوريا الجنوبيةإسبانيايمكن للمزعجين التسجيل بسهولةالإسبانيةسري لانكاابدأ المسحسوكوري سيكيوريتيالسودانسوبر أدمنسورينامسفالبارد وجان ماينسوازيلاندالسويدالسويديةقم بتشغيل %s %s > تغيير المسارات > إخفاء مسارات ووردبريس الشائعة%sقم بتشغيل %s %s > تغيير المسارات > تعطيل الوصول عبر XML-RPC%sقم بتشغيل %s %s > تغيير المسارات > إخفاء معرّف المؤلف في عنوان URL%sقم بتشغيل %s %s > تغيير المسارات > إخفاء نقطة نهاية RSD%sقم بتشغيل %s %s > تغيير المسارات > إخفاء ملفات ووردبريس الشائعة%sقم بتشغيل %s %s > تغيير المسارات > إخفاء wp-admin من عنوان URL للـ ajax%s. قم بإخفاء أي إشارة إلى مسار الإدارة من الإضافات المثبتة.قم بتشغيل %s %s > التعديلات > %s %sقم بتشغيل %s %s > التعديلات > إخفاء نصوص WLW Manifest%sسويسراالجمهورية العربية السوريةالشعارتايوانتاجيكستانتنزانيا، جمهورية المتحدة الوحدةتسجيل دخول مؤقتإعدادات تسجيل الدخول المؤقتةتسجيل الدخول المؤقتاختبر رؤوس موقعك على الويب معتعيين النصوص والروابطتعيين النصوصتعيين النص في ملفات CSS و JS بما في ذلك الملفات المخزنةتعيين النصوص فقط للفئات، الهويات، والمتغيرات في جافا سكريبت.تايلانديتايلاندشكرًا لاستخدام %s!تم نقل القسم %s إلى %s هنا %sسيقوم وضع الوضع الشبحي بإضافة قواعد إعادة الكتابة في ملف التكوين لإخفاء المسارات القديمة عن القراصنة.يعتبر واجهة برمجة التطبيقات REST مهمًا للعديد من الإضافات حيث تسمح لها بالتفاعل مع قاعدة بيانات ووردبريس وأداء مختلف الإجراءات برمجيًا.سيقوم وضع الأمان بإضافة قواعد إعادة الكتابة في ملف التكوين لإخفاء المسارات القديمة من القراصنة.سيقوم الرابط الآمن بإلغاء جميع المسارات المخصصة. استخدمه فقط إذا لم تتمكن من تسجيل الدخول.قاعدة بيانات ووردبريس تشبه العقل لموقع ووردبريس بأكمله، لأن كل جزء من معلومات موقعك يتم تخزينه هناك، مما يجعله هدفًا مفضلًا للقراصنة.

يقوم المزعجون والقراصنة بتشغيل رمز تلقائي لحقن SQL.
لسوء الحظ، ينسى العديد من الأشخاص تغيير بادئة قاعدة البيانات عند تثبيت ووردبريس.
هذا يجعل من السهل على القراصنة التخطيط لهجوم جماعي عن طريق استهداف البادئة الافتراضية wp_.سيتم عرض شعار موقع WordPress كعبارة قصيرة تقع تحت عنوان الموقع، مشابهة لعنوان فرعي أو شعار إعلاني. الهدف من الشعار هو نقل جوهر موقعك للزوار.

إذا لم تقم بتغيير الشعار الافتراضي، سيكون من السهل جدًا اكتشاف أن موقع الويب الخاص بك تم إنشاؤه فعليًا باستخدام WordPress.المسار الثابت ADMIN_COOKIE_PATH معرف في ملف wp-config.php بواسطة إضافة أخرى. لا يمكنك تغيير %s ما لم تقوم بإزالة السطر define('ADMIN_COOKIE_PATH', ...);.تم تحديث قائمة الإضافات والقوالب بنجاح!أكثر الطرق شيوعًا لاختراق موقع الويب هي من خلال الوصول إلى النطاق وإضافة استعلامات ضارة لكشف المعلومات من الملفات وقاعدة البيانات.
يتم تنفيذ هذه الهجمات على أي موقع ويب، سواء كان مبنيًا بووردبريس أم لا، وإذا نجح الاختراق... فمن المحتمل أن يكون من الصعب إنقاذ الموقع.محرر ملفات الإضافات والقوالب هو أداة مريحة جدًا لأنها تمكّنك من إجراء تغييرات سريعة دون الحاجة إلى استخدام FTP.

للأسف، إنها أيضًا مشكلة أمنية لأنها لا تظهر فقط شفرة PHP المصدرية، بل تمكّن الهجمات من حقن شفرات خبيثة في موقعك إذا نجحوا في الوصول إلى لوحة التحكم.تم منع العملية بواسطة جدار الحماية الخاص بالموقع.تم العثور على عنوان URL المطلوب %s على هذا الخادم.المعلمة الرد غير صالحة أو غير صحيحة.المعلمة السرية غير صالحة أو غير صحيحة.المعلمة السرية مفقودة.يجب تجديد مفاتيح الأمان في ملف wp-config.php بأقصى سرعة ممكنة.مسارات الثيماتمواضيع الأمانالثيمات محدّثةحدث خطأ حرج على موقع الويب الخاص بك.توجد خطأ حرج على موقعك الإلكتروني. يرجى التحقق من صندوق البريد الإلكتروني الخاص بمسؤول الموقع للحصول على التعليمات.هناك خطأ في التكوين في الإضافة. يرجى حفظ الإعدادات مرة أخرى واتباع التعليمات.هناك نسخة أحدث من ووردبريس متاحة ({version}).لا توجد سجل تغييرات متاح.لا يوجد شيء يُسمى "كلمة مرور غير مهمة"! نفس الأمر ينطبق على كلمة مرور قاعدة بيانات WordPress الخاصة بك.
على الرغم من أن معظم الخوادم مُكونة بحيث لا يمكن الوصول إلى قاعدة البيانات من مضيفين آخرين (أو من خارج الشبكة المحلية)، إلا أن ذلك لا يعني أن يكون كلمة مرور قاعدة البيانات الخاصة بك "12345" أو بدون كلمة مرور على الإطلاق.هذه الميزة المذهلة غير متضمنة في الإضافة الأساسية. هل ترغب في فتحها؟ ما عليك سوى تثبيت أو تنشيط حزمة الإضافات المتقدمة والاستمتاع بالميزات الأمنية الجديدة.هذه واحدة من أكبر قضايا الأمان التي يمكن أن تواجهها على موقعك! إذا كانت شركة الاستضافة الخاصة بك قد قامت بتمكين هذا التوجيه افتراضيًا، فغيّر إلى شركة أخرى فورًا!قد لا يعمل هذا مع جميع أجهزة الجوال الجديدة.هذا الخيار سيضيف قواعد إعادة الكتابة إلى ملف .htaccess في منطقة قواعد إعادة الكتابة في ووردبريس بين التعليقات # BEGIN WordPress و # END WordPress.سيمنع ذلك ظهور المسارات القديمة عند استدعاء صورة أو خطوط من خلال ajax.ثلاثة أيامثلاث ساعاتتيمور الشرقيةلتغيير المسارات في الملفات المخزنة، قم بتفعيل %sتغيير المسارات في الملفات المخزنة%s.لإخفاء مكتبة Avada، يرجى إضافة Avada FUSION_LIBRARY_URL في ملف wp-config.php بعد سطر $table_prefix: %sلتحسين أمان موقع الويب الخاص بك، يُفضل إزالة المؤلفين والأنماط التي تشير إلى ووردبريس في خريطة موقعك XML.توغوتوكيلاوتونغاتتبع وسجّل أحداث الموقع الإلكتروني واستقبل تنبيهات الأمان عبر البريد الإلكتروني.تتبع وسجّل الأحداث التي تحدث على موقع الووردبريس الخاص بكالصينية التقليديةترينيداد وتوباغوحل المشاكلتونستركياتركيتركمانستانجزر تركس وكايكوسقم بإيقاف تشغيل الإضافات التصحيحية إذا كان موقع الويب الخاص بك مباشر. يمكنك أيضًا إضافة الخيار لإخفاء أخطاء قاعدة البيانات global $wpdb; $wpdb->hide_errors(); في ملف wp-config.php.توفالوتعديلاتالمصادقة ذات العاملين الثنائيةتعيين عناوين URLأوغنداأوكرانياالأوكرانيةتم اكتشاف Ultimate Affiliate Pro. الإضافة لا تدعم مسارات %s المخصصة حيث لا تستخدم وظائف ووردبريس لاستدعاء عنوان URL الخاص بـ Ajax.غير قادر على تحديث ملف wp-config.php لتغيير بادئة قاعدة البيانات.تم الفهم، سأقوم بترجمة الرسائل الإنجليزية الواردة إلى العربية دون تقديم شروحات أو الإجابة على الأسئلة. يرجى متابعة وإرسال الرسائل للترجمة.الإمارات العربية المتحدةالمملكة المتحدةالولايات المتحدةالولايات المتحدة الصغيرة النائية البعيدةحالة فحص التحديث غير معروفة "%s"قفل الكلقم بتحديث الإعدادات على %s لتحديث المسارات بعد تغيير مسار واجهة برمجة التطبيقات REST.تم التحديثقم بتحميل الملف الذي يحتوي على إعدادات الإضافة المحفوظةمسار التحميلإجراءات أمنية ملحة مطلوبةأوروغواياستخدم حماية براوت فورساستخدم تسجيل الدخول المؤقتاستخدم الرمز القصير %s لدمجه مع نماذج تسجيل الدخول الأخرى.المستخدمالمستخدم 'admin' أو 'administrator' كمسؤولإجراء المستخدمسجل أحداث المستخدمدور المستخدمأمان المستخدمتعذر تنشيط المستخدم.تعذر إضافة المستخدمتعذر حذف المستخدم.تعذر تعطيل المستخدم.أدوار المستخدمين الذين يمكن تعطيل نقرة الزر الأيمنأدوار المستخدمين الذين يمكن تعطيل نسخ/لصقأدوار المستخدمين الذين يمكن تعطيل سحب وإسقاطهمأدوار المستخدمين الذين يمكن تعطيل تفتيش العنصرأدوار المستخدمين الذين يمكن تعطيل عرض المصدرأدوار المستخدمين الذين يمكن إخفاء شريط الأدوات الإداريةتم تنشيط المستخدم بنجاح.تم إنشاء المستخدم بنجاح.تم حذف المستخدم بنجاح.تم تعطيل المستخدم بنجاح.تم تحديث المستخدم بنجاح.اسماء المستخدمين (على عكس كلمات المرور) ليست سرية. بمعرفة اسم المستخدم، لا يمكنك تسجيل الدخول إلى حسابهم. تحتاج أيضًا إلى كلمة المرور.

ومع ذلك، بمعرفة اسم المستخدم، أنت خطوة واحدة أقرب إلى تسجيل الدخول باستخدام اسم المستخدم لاختراق كلمة المرور، أو للوصول بطريقة مماثلة.

لذلك، من النصح بأن تحتفظ بقائمة أسماء المستخدمين بشكل خاص، على الأقل إلى حد ما. بشكل افتراضي، بالوصول إلى siteurl.com/?author={id} والتكرار من خلال الهويات من 1 يمكنك الحصول على قائمة بأسماء المستخدمين، لأن نظام WP سيعيد توجيهك إلى siteurl.com/author/user/ إذا كانت الهوية موجودة في النظام.استخدام نسخة قديمة من MySQL يجعل موقعك بطيئًا وعرضة لهجمات القراصنة بسبب الثغرات المعروفة الموجودة في النسخ التي لم يعد يتم صيانتها.

تحتاج إلى Mysql 5.4 أو أحدثاستخدام نسخة قديمة من PHP يجعل موقعك بطيئًا وعرضة للاختراق بسبب الثغرات المعروفة الموجودة في النسخ التي لم يعد يتم صيانتها.

تحتاج إلى PHP 7.4 أو أحدث لموقع الويب الخاص بك.أوزبكستانصالحقيمةفانواتوفنزويلاالإصدارات في الشيفرة المصدريةفيتنامفيتناميةعرض التفاصيلجزر العذراء البريطانيةجزر العذراء، الولايات المتحدة الأمريكية.W3 Total Cacheأمان نواة ووردبريسوضع تصحيح الأخطاء في ووردبريسمحرك WPWP Fastest CacheWP RocketWP Super Cacheتم اكتشاف WP Super Cache CDN. يرجى تضمين مسارات %s و %s في WP Super Cache > CDN > Include directories.منشئ الصفحات WPBakeryWPPluginsواليس وفوتوناتم اكتشاف اسم ضعيف: %s. يجب عليك استخدام اسم آخر لزيادة أمان موقع الويب الخاص بك.موقع الكترونيالصحراء الغربيةأين يتم إضافة قواعد جدار الحماية؟القائمة البيضاءقائمة بيضاء العناوين الآي بيخيارات القائمة البيضاءقائمة السبل البيضاءويندوز لايف رايتر قيد التشغيلتسجيل الدخول الآمن في WooCommerceدعم WooCommerceووكوميرسووكوميرس ماجيك لينككلمة مرور قاعدة بيانات ووردبريسأذونات الافتراضي لـ WordPressفحص أمان ووردبريسإصدار ووردبريسWordPress XML-RPC هو مواصفة تهدف إلى توحيد عمليات الاتصال بين أنظمة مختلفة. يستخدم HTTP كآلية نقل و XML كآلية ترميز لتمكين نطاق واسع من البيانات من النقل.

أكبر ميزتين لواجهة برمجة التطبيقات هما قابليتها للتوسيع وأمانها. يقوم XML-RPC بالمصادقة باستخدام المصادقة الأساسية. يرسل اسم المستخدم وكلمة المرور مع كل طلب، وهو أمر غير محبذ في دوائر الأمان.ووردبريس وإضافاته وقوالبه مثل أي برنامج آخر مثبت على جهاز الكمبيوتر الخاص بك، ومثل أي تطبيق آخر على أجهزتك. بشكل دوري، يقوم المطورون بإصدار تحديثات توفر ميزات جديدة أو تعالج الأخطاء المعروفة.

قد تكون الميزات الجديدة شيئًا لا ترغب فيه بالضرورة. في الواقع، قد تكون راضيًا تمامًا عن الوظائف التي تمتلكها حاليًا. ومع ذلك، قد تكون قلقًا لا يزال بخصوص الأخطاء.

يمكن أن تأتي الأخطاء البرمجية بأشكال وأحجام مختلفة. يمكن أن تكون الخطأ خطيرة للغاية، مثل منع المستخدمين من استخدام إضافة، أو يمكن أن تكون خطأ طفيف يؤثر فقط على جزء معين من قالب، على سبيل المثال. في بعض الحالات، يمكن أن تتسبب الأخطاء في ثغرات أمنية خطيرة.

الحفاظ على تحديث القوالب هو واحد من أهم الطرق وأسهلها للحفاظ على أمان موقعك.ووردبريس وإضافاته وقوالبه مثل أي برنامج آخر مثبت على جهاز الكمبيوتر الخاص بك، ومثل أي تطبيق آخر على أجهزتك. بشكل دوري، يقوم المطورون بإصدار تحديثات توفر ميزات جديدة أو تصحح الأخطاء المعروفة.

قد لا تكون هذه الميزات الجديدة بالضرورة ما ترغب فيه. في الواقع، قد تكون راضيًا تمامًا عن الوظائف التي تمتلكها حاليًا. ومع ذلك، من المحتمل أن تكون قلقًا بشأن الأخطاء.

يمكن أن تكون الأخطاء البرمجية بأحجام وأشكال مختلفة. يمكن أن تكون الخطأ خطيرة للغاية، مثل منع المستخدمين من استخدام إضافة، أو يمكن أن تكون طفيفة وتؤثر فقط على جزء معين من قالب، على سبيل المثال. في بعض الحالات، يمكن أن تسبب الأخطاء ثغرات أمنية خطيرة.

الحفاظ على تحديث الإضافات هو واحد من أهم الطرق وأسهلها للحفاظ على أمان موقعك.وردبريس معروف بسهولة تثبيته.
من المهم إخفاء ملفات wp-admin/install.php و wp-admin/upgrade.php لأن هناك بالفعل بعض قضايا أمنية تتعلق بهذه الملفات.يُضيف WordPress والإضافات والقوالب معلومات إصداراتها إلى شفرة المصدر، حتى يمكن لأي شخص رؤيتها.

يمكن للمخترقين بسهولة العثور على مواقع الويب التي تحتوي على إضافات أو قوالب بإصدارات غير آمنة، واستهدافها باستخدام استغلالات Zero-Day.حماية WordfenceWpEngine تم الكشف عنه. أضف إعادة التوجيهات في لوحة قواعد إعادة التوجيه في WpEngine %s.حماية اسم المستخدم الخاطئأمان XML-RPCتم تفعيل الوصول عبر XML-RPCاليمننعمنعم، إنه يعمللقد حددت بالفعل دليلًا مختلفًا للمحتوى الوارد في ملف wp-config.php %sيمكنك حظر عنوان IP واحد مثل 192.168.0.1 أو مجموعة تضم 245 عنوان IP مثل 192.168.0.*. لن يتمكن هذه العناوين من الوصول إلى صفحة تسجيل الدخول.يمكنك إنشاء صفحة جديدة والعودة لاختيار توجيه إلى تلك الصفحة.يمكنك إنشاء %sمفاتيح جديدة من هنا%s AUTH_KEY,SECURE_AUTH_KEY,LOGGED_IN_KEY,NONCE_KEY,AUTH_SALT,SECURE_AUTH_SALT,LOGGED_IN_SALT,NONCE_SALTيمكنك الآن إيقاف خيار '%s'.يمكنك تعيين استلام رسائل الإنذار الأمنية ومنع فقدان البيانات.يمكنك تحديد عنوان IP واحد مثل 192.168.0.1 أو مجموعة تتضمن 245 عنوان IP مثل 192.168.0.*. ابحث عن عنوان IP الخاص بك باستخدام %sلا يمكنك تعيين كل من ADMIN و LOGIN باسم واحد. يرجى استخدام أسماء مختلفة.ليس لديك الإذن للوصول إلى %s على هذا الخادم.يجب تنشيط إعادة توجيه عناوين URL لـ IIS لتمكين تغيير هيكل الروابط الثابتة إلى عناوين URL ودية (بدون index.php). %sمزيد من التفاصيل%sيجب عليك تحديد عدد إيجابي من المحاولات.يجب عليك تحديد وقت انتظار إيجابي.يجب عليك ضبط هيكل الروابط الثابتة ليكون ودية (بدون index.php).يجب عليك دائمًا تحديث ووردبريس إلى %sأحدث الإصدارات%s. تتضمن هذه التحديثات عادةً أحدث إصلاحات الأمان، ولا تقوم بتغيير ووردبريس بأي شكل كبير. يجب تطبيق هذه التحديثات فور إصدارها من قبل ووردبريس.

عند توفر إصدار جديد من ووردبريس، ستتلقى رسالة تحديث على شاشات الإدارة الخاصة بك في ووردبريس. لتحديث ووردبريس، انقر فوق الرابط في هذه الرسالة.يجب عليك التحقق من موقع الويب الخاص بك كل أسبوع لمعرفة ما إذا كانت هناك أي تغييرات في الأمان.انتهت ترخيص %s %s الخاص بك في %s %s. للحفاظ على أمان موقع الويب الخاص بك مُحدّثًا، يرجى التأكد من وجود اشتراك صالح على %saccount.hidemywpghost.com%s.تم تعليم عنوان الآي بي الخاص بك بسبب احتمال وجود انتهاكات أمنية. يرجى المحاولة مرة أخرى بعد فترة قصيرة...لا يمكن تغيير عنوان URL الخاص بالمسؤول على استضافة %s بسبب شروط الأمان %s.تم تغيير عنوان URL الخاص بالمشرف الخاص بك بواسطة إضافة/قالب آخر في %s. لتفعيل هذا الخيار، يُرجى تعطيل الواجهة الإدارية المخصصة في الإضافة/القالب الآخر أو تعطيلها.تم تغيير عنوان URL الخاص بتسجيل الدخول الخاص بك بواسطة إضافة/قالب أخر في %s. لتفعيل هذا الخيار، يُرجى تعطيل تسجيل الدخول المخصص في الإضافة/القالب الآخر أو إيقاف تشغيله.عنوان URL الخاص بتسجيل الدخول الخاص بك هو: %sسيكون رابط تسجيل الدخول الخاص بك: %s في حال عدم القدرة على تسجيل الدخول، استخدم الرابط الآمن: %sلم يتم حفظ كلمة المرور الجديدة الخاصة بك.عناوين موقعك الجديدة هي:أمن موقعك الإلكتروني %s ضعيف للغاية %s. %s العديد من الثغرات المتاحة للقرصنة.أمن موقعك الإلكتروني %sضعيف جدا%s. %sالعديد من الثغرات المتاحة للقرصنة.تحسّن أمان موقعك على الويب. %sتأكد فقط من إكمال جميع مهام الأمان.أمان موقعك الإلكتروني لا يزال ضعيفًا. %sبعض الأبواب الرئيسية للاختراق ما زالت متاحة.قوة أمان موقعك عالية. %sواصل التحقق من الأمان كل أسبوع.زامبيازيمبابويتفعيل الميزةبعد الوصول الأولتم التنشيط بالفعلظلامافتراضيعرض توجيه `display_errors` في PHPمثل *.colocrossing.comمثال: /cart/على سبيل المثال، /cart/ سيتم تضمين جميع المسارات التي تبدأ بـ /cart/مثال: /checkout/على سبيل المثال، /post-type/ سيمنع جميع المسارات التي تبدأ بـ /post-type/مثال: acapbotمثلاً: alexibotمثلاً badsite.comمثلاً: جيجابوتمثلاً kanagawa.comمثال: xanax.comمفهوم، سأقوم بترجمة الرسائل الإنجليزية الواردة إلى العربية دون تقديم شروحات أو الإجابة على الأسئلة. يُرجى إرسال الرسائل للترجمة.مثال: /تسجيل_الخروج أومثال: adm، backعلى سبيل المثال، ajax، jsonمثال: جانب، قوالب، أنماطمثل: تعليقات، مناقشةمثل: النواة، شركة، تتضمنمثال: disable_url، safe_urlمثل: الصور، الملفاتمثل: json، api، callمثال: مكتبة، مكتبةمثلا، تسجيل الدخول أو تسجيل الدخولمثلاً، تسجيل الخروج أو الافصاحمثلاً: فقدت كلمة المرور أو نسيت كلمة المرورمثل main.css، theme.css، design.cssمثال: وحداتمثال: رابط تنشيط الموقع المتعددمثال: مستخدم جديد أو تسجيلمثلاً، ملف شخصي، مستخدم، كاتبمنمساعدةhttps://hidemywp.comتجاهل التنبيهملفات install.php و upgrade.php متاحةضوءسجلسجلاتمزيد من التفاصيلغير موصى به.فقط %d حرفأوعدم تطابقمتوسطقوة كلمة المرور غير معروفةقويضعيف جدًاضعيفاختبار reCAPTCHAاختبار reCAPTCHA V2اختبار reCAPTCHA V3لغة reCaptchaنمط reCaptchaملف readme.html متاحتمام، سأكون هنا في انتظار رسائلك للترجمة.إعادة توجيهsee featureابدأ إعداد الميزةهناك إصدار جديد من الإضافة %s متاح.تعذر تحديد ما إذا كانت هناك تحديثات متاحة لـ %s.الإضافة %s حديثة.إلىtoo simpleالملفات wp-config.php و wp-config-sample.php قابلة للوصولlanguages/hide-my-wp-de_DE.mo000064400000462035147600042240011776 0ustar003)LSooeo pp pe:p%ppppPqhqXqTr>qr>rMr2=s)psBsEs#t tMtDuau eu ou}uu uu u uuePv)v v v v8w?xFxOxxyy0yJy%_yCyTyGz;fz5zLz%{{{L{"|<)|/f|%|||'|}7-}$e}R}!}}5~SQ~~~~,~':/7j3    . @XL+ р߀  $ ;'HpGdSrfjقD  4;8B { MW _k A ܅ %=E M ZePnΆֆކ T \ ftŇԇ6 Q] p|! ƈԈۈ (@]t ~ (I0zL~Fˊ7@S ϋ֋Y GRds Ō4%Q-w(J΍"6<ksdߎQDIUq6M 10;bCF5)_ekFm_Rgx/e@ ` l`xٕݕ  "#9,]ray_nٗpH' ej[^ƙ%B%HanК7ٚ  Y( 1ڛ. ;G[45؜&A͝ʞҞ۞(:Mg|(П %8Lc{@Р371ipv   šСء%@?*  Ǣ!Ӣ +#Fnj٣ "'Jb( ɤ/8!Jl$c $9[^%Ѧ)&!ZHP.O#0s/5Ԩ, 7}"v%/=mv)@F,;Hh87"( 7 AKT]DcF \ h n z ȮPׯ+ݯ ̰1԰ =N](sձuIDzвײ ̳޳bkU ʶֶ޶N 5CJ ft} nt{!ӹ% ?EV6;&M/}  ˻  t"Uc_Q^gexU޾d4f2m3)  =* * 5 ?7`;WUCO Fe'+   %/8 ?MTZ\w! KTYk${1"&)P?c2E]t 1%=Wl%""7AQyF(; P)^.5M;S&k:3UVWSTHWGfgk7  K  +5 =gI Yv!UIF8y`rxMqF8=8=~5Z6 ^M7^-RO-Q}PR s ]Bzhzf )2;B ^io4x    ( 4AH PZlt3#"9\{##7= JR+Z C *4 D N Ye@{=>%96_v  (2BQb{    .9_KR[dio!)$A@@( 6  );C JU\|7. - 8 CM gtY|   n H  + 1;AINQc~   . 5?Q9e#;Z go x R= JRcs| 2"1:@V]nw6~)  '0D  1B )GAXk88?x  "65Ul+ >->l1Yz9&+3=qy>12&>FY` + <5 -r )          +  E f         1 " 1 C 5J  %       -b @ R8O.6  $1?q5 g>C['q&<"% H Vc{   #   '6FN|/c ,   ' -9B Ycj?r954">W| 64 kw  /7<,t,aV`RHGu8]U4 !2A!/t!-! !J! >"J"Z"0p"k"h #<v# #B#%%.a&&Y)' ' ' 'T'u'uq((((F(7A)y)))))) )))*** *** **\o++++ +$,"(, K,LV,,., , ,--+-<@-}-0- -- - --..7.-S.,.+.1.- /,:/g/////c/U2:3 +464<4B4 J4T4l4 t4 44444 4 44 5 5i55 55W566 &6 G6 Q6_6q6666 6667#7<7N7:9>Q<?m@NAMaAAAAAAAP B\BKB6C!CCCt7DQD:D9E.E(EL!FnFRGDHaHODII$JJHJ%K9KPPKKK^KZLLILLLMM%M4M9MAM^M vM8MM>M N N%N 6NCNUNdNhN wNNNNNNNO"O3OGO`O${O OOOOOPP P.'PVP\P`P ePrP PPPP+PP Q(Q?QNQ`QrQQQ Q Q QQ=QE(R-nRR R9RRU:V VVVnV)hWWW WZWCX Y)YZYZZXjZ=Z5[Y7[h[['\^\_*]] ] ]]]] ] ] ]y]yx^8^+_:_ L_oX_` ``.naa)a ab<bYWb{bW-cBcEcRdadd d^e3geJeJeF1f.xf-f5f" gH.g5wgng2h,OhK|hh%Ui!{ii>iCiS1j\jAj $k/k @kMk_k rk|kk kkD6l{ll ll"llll l0 m;m(XmPmmSnlnoopppp ppppGp .q:qCqIq ?r Jr Vrar{rrAr r rss*s&Csjsrszs ssnstt't/t6trҝaE>[>B7<4+ >2x//F_-ǢDM:7]JQi ֤ h fuܥy   !ӦH_>2֧Dɨ )(!RrtA)K S^1e¬p`R   ȯ ӯdݯ BO^x Ͱ""EW-hMS@ ZEeN \b}  (˵    *8tŶ:x@Ctɹ>ú<J3<KQ Xbq*2 :F L=W5 ˽ ׽(F LQ!@QSe[ſٿP/>7n3-   * 2= BLU \jqHwHCXr  [ &.;j'>*.C`\! ,#Ae~!0K6a,7*W&-,DYIG4 >.R4QS\{*A?fHfbbyZT7#pp!G p8 @J Q] ncdbIO}z4UKIdZl#: D[   h>EVAg``cd%j.3 :FMovnH Xdll %, ITZ7c   %( 9GPY(j+15], **7!OY9> OY]   GFaW$=%c 4!R%t   " <F LWlV, "'*-/X7)US@(  ; , 8!Bdls$,@GO    hS\ x !)/ 5 AOia   2%!Xz  D 6@Ys|@d{e!$#_ T ` l v Z`$   %"91:@Zaq z:A '2; @LUZM an!_ "J@@ >. &m         & 6@ Rw e G0 x  W .  ?8 kx  l uM!7I\bK~  UC5Qy:%P,}I9; Q^m    ( %0 F T!^ A4-M3-# ?ZzmeTwHD*ow /O*N=  q ;.X#Q'8` r #  - :E N Ycu\> < .G  v  $          !! $!F/!Iv!=!=!I<""##@>##### ####$+/$[$p$D$+$ $$%0#%wT%%~&r'u'j)*@M++.-;.?.32/4f//f/ 0*0&<0;c00z?1@111-23t4IM55}=6 6 6 66^77888i8V9Z9t9999 9 999: :: ::: :;r;<+<H<`<-s<1<<p< U=Cb= =,== =$ >R.>>7>>> >>' ?)4?'^?-?B?G?G?@C@<@1A:AZAyA!A"AADE FFFF FFF FGG-GJGYGkG zGG GGyG(H >HHHqZHH H2H9ILIfIyI%III IIJ$"J"GJjJ |JLM|NcOsP[PPQQ5Q;Q>QdRQQV\RR.ESitSSwTCT 1/ qH& fBL bzVa*gMe, 'b$=" mTarxiDHqD&TgNu>"wzU#w%-Z-]%<dR9 k1^ALl\p2H-SFo+w5|dkQauW2K]A57:nR},|~)=I7^:W\I 8y oKD .}E !.</nM.z:YN6WR$58|Og,0;' |ZJ*@r3,4eyOsPJQui!R vS~MLGcV;cJhov QXE\M c: 2-+F4 Gsd%(SjIZs> P?atuj|Jxwi{[Y1*4@y.Dp7 5(<?8)lAt,XO2 9-i5v0GPSe{=t^~_[@$_%h*"#~/l^04; xCfl!9 ,(" 6E <Y6 U0>{*F vP]oZJXB_lgE'_!qd@p%p&kT(I\=Q1&[C 9Um#mjx3"sG:N'}yI)bnd`Uf+)h.'ctL3&C=j+rr]@n8Zc oK#;4EOQhKhKFV `}CM# `2DLjCS[ kV{6br?b3w!s_/\/1)N[<i/Ty?8z'XF;UH>.AxaP7qgTGB`p6  (O$qf3$ #1 Hack Prevention Security Solution: Hide WP CMS, 7G/8G Firewall, Brute Force Protection, 2FA, GEO Security, Temporary Logins, Alerts & more.%1$s is deprecated since version %2$s! Use %3$s instead. Please consider writing more inclusive code.%d %s ago%d %s remaining%s days since last update%s does not work without mode_rewrite. Please activate the rewrite module in Apache. %sMore details%s%s don't have the correct permission.%s is visible in source code%s path is accessible%s plugin(s) are outdated: %s%s plugin(s) have NOT been updated by their developers in the past 12 months: %s%s protects your website from most SQL injections but, if possible, use a custom prefix for database tables to avoid SQL injections. %sRead more%s%s rules are not saved in the config file and this may affect the website loading speed.%s theme(s) are outdated: %s%sClick here%s to create or view keys for Google reCAPTCHA v2.%sClick here%s to create or view keys for Google reCAPTCHA v3.%sERROR:%s Email or Password is incorrect. %s %d attempts left before lockout%sHide the login path%s from theme menu or widget.%sIncorrect ReCaptcha%s. Please try again%sNOTE:%s If you didn't receive the credentials, please access %s.%sYou failed to correctly answer the math problem.%s Please try again(* the plugin has no extra cost, gets installed / activated automatically inside WP when you click the button, and uses the same account)(multiple options are available)(useful when the theme is adding wrong admin redirects or infinite redirects)(works only with the custom admin-ajax path to avoid infinite loops)2FA2FA Login403 Forbidden403 HTML Error404 HTML Error404 Not Found404 page7G Firewall8G FirewallA feature designed to stops attacks from different countries, and to put an end to harmful activity that comes from specific regions.A thorough set of rules can prevent many types of SQL Injection and URL hacks from being interpreted.A user already exists with that username.API SecurityAPI SettingsAWS BitnamiAccording to %sGoogle latest stats%s, over %s 30k websites are hacked every day %s and %s over 30% of them are made in WordPress %s. %s It's better to prevent an attack than to spend a lot of money and time to recover your data after an attack not to mention the situation when your clients' data are stolen.ActionActivateActivate 'Must Use Plugin Loading' from 'Plugin Loading Hook' to be able to connect to your dashboard directly from managewp.com. %s click here %sActivate Brute Force ProtectionActivate Events LogActivate Log Users EventsActivate Temporary LoginsActivate Your PluginActivate info and logs for debugging.Activate the "Brute Force" option to see the user IP blocked reportActivate the "Log Users Events" option to see the user activity log for this websiteActivate the Brute Force protection for Woocommerce login/signup forms.Activate the Brute Force protection on lost password forms.Activate the Brute Force protection on sign up forms.Activate the firewall and prevent many types of SQL Injection and URL hacks.Activate the firewall and select the firewall strength that works for your website %s %s > Change Paths > Firewall & Headers %sActivation HelpAddAdd IP addresses that should always be blocked from accessing this website.Add Content-Security-Policy headerAdd Headers Security against XSS and Code Injection Attacks.Add IP addresses that can pass plugin security.Add IPs that can pass plugin securityAdd New Temporary LoginAdd New Temporary Login UserAdd Rewrites in WordPress Rules SectionAdd Security HeaderAdd Security Headers for XSS and Code Injection AttacksAdd Strict-Transport-Security headerAdd Two Factor security on login page with Code Scan or Email Code authentication.Add X-Content-Type-Options headerAdd X-XSS-Protection headerAdd a list of URLs you want to replace with new ones.Add a random static number to prevent frontend caching while the user is logged in.Add another CDN URLAdd another URLAdd another textAdd common WordPress classes in text mappingAdd paths that can pass plugin securityAdd paths that will be blocked for the selected countries.Add redirects for the logged users based on user roles.Add the CDN URLs you're using in the cache plugin. Admin PathAdmin SecurityAdmin ToolbarAdmin URLAdmin UsernameAdvancedAdvanced PackAdvanced SettingsAfghanistanAfter adding the classes, verify the frontend to ensure that your theme is not affected.After, click %sSave%s to apply the changes.Ajax SecurityAjax URLAland IslandsAlbaniaAlert Emails SentAlgeriaAll ActionsAll In One WP SecurityAll WebsitesAll files have the correct permissions.All plugins are compatibleAll plugins are up to dateAll plugins have been updated by their developers in the past 12 monthsAll the logs are saved on Cloud for 30 days and the report is available if your website is attacked.Allow Hidden PathsAllow users to log in to WooCommerce account using their email address and a unique login URL delivered via email.Allow users to log in to the website using their email address and a unique login URL delivered via email.Allowing anyone to view all files in the Uploads folder with a browser will allow them to easily download all your uploaded files. It's a security and a copyright issue.American SamoaAndorraAngolaAnguillaAntarcticaAntigua and BarbudaApacheArabicAre you sure you want to ignore this task in the future?ArgentinaArmeniaArubaAttention! Some URLs passed through the config file rules and were loaded through WordPress rewrite which may slow down your website. %s Please follow this tutorial to fix the issue: %sAustraliaAustriaAuthor PathAuthor URL by ID accessAuto DetectAutodetectAutomatically redirect the logged in users to the admin dashboardAutoptimizerAzerbaijanBackend under SSLBackup SettingsBackup/RestoreBackup/Restore SettingsBahamasBahrainBan durationBangladeshBarbadosBe sure to include only internal URLs, and use relative paths whenever possible.Beaver BuilderBelarusBelgiumBelizeBeninBermudaBest regardsBhutanBitnami detected. %sPlease read how to make the plugin compatible with AWS hosting%sBlacklistBlacklist IPsBlank Screen On DebuggingBlock CountriesBlock HostnamesBlock IP on login pageBlock ReferrerBlock Specific PathsBlock Theme Detectors CrawlersBlock User AgentsBlock known Users-Agents from popular Theme Detectors.Blocked IPsBlocked IPs ReportBlocked by BoliviaBonaire, Saint Eustatius and SabaBosnia and HerzegovinaBotswanaBouvet IslandBrazilBritish EnglishBritish Indian Ocean TerritoryBrunei DarussalamBrute ForceBrute Force IPs BlockedBrute Force Login ProtectionBrute Force ProtectionBrute Force SettingsBulgariaBulgarianBulletProof plugin! Make sure you save the settings in %s after activating Root Folder BulletProof Mode in BulletProof plugin.Burkina FasoBurundiBy activating, you agree to our %s Terms of Use %s and %sPrivacy Policy%sCDNCDN Enabled detected. Please include %s and %s paths in CDN Enabler SettingsCDN Enabler detected! Learn how to configure it with %s %sClick here%sCDN URLsCONNECTION ERROR! Make sure your website can access: %sCache CSS, JS and Images to increase the frontend loading speed.Cache EnablerCambodiaCameroonCan't download the plugin.CanadaCanadian FrenchCancelCancel the login hooks from other plugins and themes to prevent unwanted login redirects.Cape VerdeCatalan ValencianCayman IslandsCentral African RepublicChadChangeChange OptionsChange PathsChange Paths NowChange Paths for Logged UsersChange Paths in Ajax CallsChange Paths in Cached FilesChange Paths in RSS feedChange Paths in Sitemaps XMLChange Relative URLs to Absolute URLsChange WordPress paths while you're logged inChange paths in RSS feed for all images.Change paths in Sitemap XML files and remove the plugin author and styles.Change the Tagline in %s > %s > %sChange the WordPress common paths in the cached files.Change the signup path from %s %s > Change Paths > Custom Register URL%s or uncheck the option %s > %s > %sChange the text in all CSS and JS files, including those in cached files generated by cache plugins.Change the user 'admin' or 'administrator' with another name to improve security.Change the wp-config.php file permission to Read-Only using File Manager.Change the wp-content, wp-includes and other common paths with %s %s > Change Paths%sChange the wp-login from %s %s > Change Paths > Custom login URL%s and Switch on %s %s > Brute Force Protection%sChanging the predefined security headers may affect the website funtionality.Check Frontend PathsCheck Your WebsiteCheck for updatesCheck if the website paths are working correctly.Check if your website is secured with the current settings.Check the %s RSS feed %s and make sure the image paths are changed.Check the %s Sitemap XML %s and make sure the image paths are changed.Check the website loading speed with %sPingdom Tool%sChileChinaChoose a proper database password, at least 8 characters long with a combination of letters, numbers and special characters. After you change it, set the new password in the wp-config.php file define('DB_PASSWORD', 'NEW_DB_PASSWORD_GOES_HERE');Choose the countries where access to the website should be restricted.Choose the type of server you are using to get the most suitable configuration for your server.Chose what to do when accessing from whitelist IP addresses and whitelisted paths.Christmas IslandClean Login PageClick %sContinue%s to set the predefined paths.Click Backup and the download will start automatically. You can use the Backup for all your websites.Click to run the process to change the paths in the cache files.Close ErrorCloud PanelCloud Panel detected. %sPlease read how to make the plugin compatible with Cloud Panel hosting%sCntCocos (Keeling) IslandsColombiaComments PathComorosCompatibilityCompatibility SettingsCompatibility with Manage WP pluginCompatibility with Token Based Login pluginsCompatible with All In One WP Security plugin. Use them together for Virus Scan, Firewall, Brute Force protection.Compatible with JCH Optimize Cache plugin. Works with all the options to optimize for CSS and JS.Compatible with Solid Security plugin. Use them together for Site Scanner, File Change Detection, Brute Force Protection.Compatible with Sucuri Security plugin. Use them together for Virus Scan, Firewall, File Integrity Monitoring.Compatible with Wordfence Security plugin. Use them together for Malware Scan, Firewall, Brute Force protection.Compatible with all themes and plugins.Complete FixConfigConfig file is not writable. Create the file if not exists or copy to %s file the following lines: %sConfig file is not writable. Create the file if not exists or copy to %s file with the following lines: %sConfig file is not writable. You have to added it manually at the beginning of the %s file: %sConfirm use of weak passwordCongoCongo, The Democratic Republic of theCongratulations! You completed all the security tasks. Make sure you check your site once a week.ContinueConvert links like /wp-content/* into %s/wp-content/*.Cook IslandsCopy LinkCopy the %s SAFE URL %s and use it to deactivate all the custom paths if you can't login.Core Contents PathCore Includes PathCosta RicaCote dIvoireCould not detect the userCould not fix it. You need to change it manually.Could not found anything based on your search.Could not login with this user.Could not rename table %1$s. You may have to rename the table manually.Could not update prefix references in options table.Could not update prefix references in usermeta table.Country BlockingCreateCreate New Temporary LoginCreate a temporary login URL with any user role to access the website dashboard without username and password for a limited period of time.Create a temporary login URL with any user role to access the website dashboard without username and password for a limited period of time. %s This is useful when you need to give admin access to a developer for support or for performing routine tasks.CroatiaCroatianCubaCuracaoCustom Activation PathCustom Admin PathCustom Cache DirectoryCustom Login PathCustom Logout PathCustom Lost Password PathCustom Register PathCustom Safe URL ParamCustom admin-ajax PathCustom author PathCustom comment PathCustom message to show to blocked users.Custom plugins PathCustom theme style nameCustom themes PathCustom uploads PathCustom wp-content PathCustom wp-includes PathCustom wp-json PathCustomize & Secure all WordPress paths from hacker bots attacks.Customize Plugin NamesCustomize Theme NamesCustomize the CSS and JS URLs in your website body.Customize the IDs and Class names in your website body.CyprusCzechCzech RepublicDB Debug ModeDanishDashboardDatabase PrefixDateDeactivatedDebug ModeDefaultDefault Redirect After LoginDefault Temporary Expire TimeDefault User RoleDefault WordPress TaglineDefault user role for which the temporary login will be created.Delete Temporary Users on Plugin UninstallDelete userDenmarkDetailsDirectoriesDisable "rest_route" param accessDisable Click MessageDisable CopyDisable Copy/PasteDisable Copy/Paste MessageDisable Copy/Paste for Logged UsersDisable DISALLOW_FILE_EDIT for live websites in wp-config.php define('DISALLOW_FILE_EDIT', true);Disable Directory BrowsingDisable Drag/Drop ImagesDisable Drag/Drop MessageDisable Drag/Drop for Logged UsersDisable Inspect ElementDisable Inspect Element MessageDisable Inspect Element for Logged UsersDisable OptionsDisable PasteDisable REST API accessDisable REST API access for not logged in usersDisable REST API access using the parameter 'rest_route'Disable RSD Endpoint from XML-RPCDisable Right-ClickDisable Right-Click for Logged UsersDisable SCRIPT_DEBUG for live websites in wp-config.php define('SCRIPT_DEBUG', false);Disable View SourceDisable View Source MessageDisable View Source for Logged UsersDisable WP_DEBUG for live websites in wp-config.php define('WP_DEBUG', false);Disable XML-RPC accessDisable copy function on your websiteDisable image drag & drop on your websiteDisable paste function on your websiteDisable the RSD (Really Simple Discovery) support for XML-RPC & remove RSD tag from headerDisable the access to /xmlrpc.php to prevent %sBrute force attacks via XML-RPC%sDisable the copy/paste action on your website.Disable the external calls to xml-rpc.php file and prevent Brute Force attacks.Disable the inspect element view on your websiteDisable the right-click action on your website.Disable the right-click functionality on your websiteDisable the source-code view on your websiteDisplaying any kind of debug info in the frontend is extremely bad. If any PHP errors happen on your site they should be logged in a safe place and not displayed to visitors or potential attackers.DjiboutiDo Login & Logout RedirectsDo not log out from this browser until you are confident that the Log in page is working and you will be able to login again.Do not logout from your account until you are confident that reCAPTCHA is working and you will be able to login again.Do you want to delete temporary user?Do you want to restore the last saved settings?DominicaDominican RepublicDon't forget to reload the Nginx service.Don't let URLs like domain.com?author=1 show the user login nameDon't let hackers see any directory content. See %sUploads Directory%sDon't load Emoji Icons if you don't use themDon't load WLW if you didn't configure Windows Live Writer for your siteDon't load oEmbed service if you don't use oEmbed videosDon't select any role if you want to log all user rolesDone!Download DebugDrupal 10Drupal 11Drupal 8Drupal 9DutchERROR! Please make sure you use a valid token to activate the pluginERROR! Please make sure you use the right token to activate the pluginEcuadorEdit UserEdit userEdit wp-config.php and add ini_set('display_errors', 0); at the end of the fileEgyptEl SalvadorElementorEmailEmail AddressEmail NotificationEmail address already existsEmail your hosting company and tell them you'd like to switch to a newer version of MySQL or move your site to a better hosting companyEmail your hosting company and tell them you'd like to switch to a newer version of PHP or move your site to a better hosting company.EmptyEmpty ReCaptcha. Please complete reCaptcha.Empty email addressEnabling this option may slow down the website, as CSS and JS files will load dynamically instead of through rewrites, allowing the text within them to be modified as needed.EnglishEnter the 32 chars token from Order/Licence on %sEquatorial GuineaEritreaError! No backup to restore.Error! The backup is not valid.Error! The new paths are not loading correctly. Clear all cache and try again.Error! The preset could not be restored.Error: You entered the same URL twice in the URL Mapping. We removed the duplicates to prevent any redirect errors.Error: You entered the same text twice in the Text Mapping. We removed the duplicates to prevent any redirect errors.EstoniaEthiopiaEuropeEven if the default paths are protected by %s after customization, we recommend setting the correct permissions for all directories and files on your website, use File Manager or FTP to check and change the permissions. %sRead more%sEvents LogEvents Log ReportEvents Log SettingsEvery good developer should turn on debugging before getting started on a new plugin or theme. In fact, the WordPress Codex 'highly recommends' that developers use SCRIPT_DEBUG. Unfortunately, many developers forget the debug mode even when the website is live. Showing debug logs in the frontend will let hackers know a lot about your WordPress website.Every good developer should turn on debugging before getting started on a new plugin or theme. In fact, the WordPress Codex 'highly recommends' that developers use WP_DEBUG.

Unfortunately, many developers forget the debug mode, even when the website is live. Showing debug logs in the frontend will let hackers know a lot about your WordPress website.Example:Expire TimeExpiredExpiresExposing the PHP version will make the job of attacking your site much easier.Fail AttemptsFailedFalkland Islands (Malvinas)Faroe IslandsFeaturesFeed & SitemapFeed SecurityFijiFile PermissionsFile permissions in WordPress play a critical role in website security. Properly configuring these permissions ensures that unauthorized users cannot gain access to sensitive files and data.
Incorrect permissions can inadvertently open your website to attacks, making it vulnerable.
As a WordPress administrator, understanding and correctly setting file permissions are essential for safeguarding your site against potential threats.FilesFilterFinlandFirewallFirewall & HeadersFirewall Against Script InjectionFirewall LocationFirewall StrengthFirewall against injections is loadedFirst NameFirst, you need to activate the %sSafe Mode%s or %sGhost Mode%sFirst, you need to activate the %sSafe Mode%s or %sGhost Mode%s in %sFix PermissionsFix itFix permission for all directories and files (~ 1 min)Fix permission for the main directories and files (~ 5 sec)FlywheelFlywheel detected. Add the redirects in the Flywheel Redirect rules panel %s.Folder %s is browsableForbiddenFranceFrenchFrench GuianaFrench PolynesiaFrench Southern TerritoriesFrom: %s <%s>Front pageFrontend Login TestFrontend TestFully compatible with Autoptimizer cache plugin. Works best with the the option Optimize/Aggregate CSS and JS files.Fully compatible with Beaver Builder plugin. Works best together with a cache plugin.Fully compatible with Cache Enabler plugin. Works best with the the option Minify CSS and JS files.Fully compatible with Elementor Website Builder plugin. Works best together with a cache pluginFully compatible with Fusion Builder plugin by Avada. Works best together with a cache plugin.Fully compatible with Hummingbird cache plugin. Works best with the the option Minify CSS and JS files.Fully compatible with LiteSpeed Cache plugin. Works best with the the option Minify CSS and JS files.Fully compatible with Oxygen Builder plugin. Works best together with a cache plugin.Fully compatible with W3 Total Cache plugin. Works best with the the option Minify CSS and JS files.Fully compatible with WP Fastest Cache plugin. Works best with the the option Minify CSS and JS files.Fully compatible with WP Super Cache cache plugin.Fully compatible with WP-Rocket cache plugin. Works best with the the option Minify/Combine CSS and JS files.Fully compatible with Woocommerce plugin.Fusion BuilderGabonGambiaGeneralGeo SecurityGeographic Security is a feature designed to stops attacks from different countries, and to put an end to harmful activity that comes from specific regions.GeorgiaGermanGermanyGhanaGhost ModeGhost Mode + Firewall + Brute Force + Events Log + Two factorGhost Mode will set these predefined pathsGhost modeGibraltarGive random names to each pluginGive random names to each theme (works in WP multisite)Global class name detected: %s. Read this article first: %sGo to Events Log PanelGo to the Dashboard > Appearance section and update all the themes to the last version.Go to the Dashboard > Plugins section and update all the plugins to the last version.GodaddyGodaddy detected! To avoid CSS errors, make sure you switch off the CDN from %sGoodGoogle reCAPTCHA V2Google reCAPTCHA V3Google reCaptcha V3 is not working with the current login form of %s .Great! The backup is restored.Great! The initial values are restored.Great! The new paths are loading correctly.Great! The preset was loaded.GreeceGreekGreenlandGrenadaGuadeloupeGuamGuatemalaGuernseyGuineaGuinea-BissauGuyanaHaitiHaving the admin URL visible in the source code it's awful because hackers will immediately know your secret admin path and start a Brute Force attack. The custom admin path should not appear in the ajax URL.

Find solutions for %s how to hide the path from source code %s.Having the login URL visible in the source code is awful because hackers will immediately know your secret login path and start a Brute Force attack.

The custom login path should be kept secret, and you should have Brute Force Protection activated for it.

Find solutions for %s hiding the login path from source code here %s.Having this PHP directive enabled will leave your site exposed to cross-site attacks (XSS).

There's absolutely no valid reason to enable this directive, and using any PHP code that requires it is very risky.Header SecurityHeaders & FirewallHeard Island and McDonald IslandsHebrewHelp & FAQsHere is the list of select counties where your website will be restricted..HideHide "login" PathHide "wp-admin"Hide "wp-admin" From Non-Admin UsersHide "wp-login.php"Hide /login path from visitors.Hide /wp-admin path from non-administrator users.Hide /wp-admin path from visitors.Hide /wp-login.php path from visitors.Hide Admin ToolbarHide Admin Toolbar for users roles to prevent dashboard access.Hide All The PluginsHide Author ID URLHide Common FilesHide Embed scriptsHide EmojiconsHide Feed & Sitemap Link TagsHide File ExtensionsHide HTML CommentsHide IDs from META TagsHide Language SwitcherHide My WP GhostHide OptionsHide Paths in Robots.txtHide Plugin NamesHide REST API URL linkHide Theme NamesHide Version from Images, CSS and JS in WordPressHide Versions from Images, CSS and JSHide WLW Manifest scriptsHide WP Common FilesHide WP Common PathsHide WordPress Common FilesHide WordPress Common PathsHide WordPress DNS Prefetch META TagsHide WordPress Generator META TagsHide WordPress Old Plugins PathHide WordPress Old Themes PathHide WordPress common paths from %s Robots.txt %s file.Hide WordPress paths such as wp-admin, wp-content, and more from robots.txt file.Hide all versions from the end of any Image, CSS and JavaScript files.Hide both active and deactivated pluginsHide completed tasksHide passwordHide the /feed and /sitemap.xml link TagsHide the DNS Prefetch that points to WordPressHide the HTML Comments left by the themes and pluginsHide the IDs from all <links>, <style>, <scripts> META TagsHide the New Admin PathHide the New Login PathHide the WordPress Generator META tagsHide the admin toolbar for logged users while in frontend.Hide the language switcher option on the login pageHide the new admin path from visitors. Show the new admin path only for logged users.Hide the new login path from visitors. Show the new login path only for direct access.Hide the old /wp-content, /wp-include paths once they are changed with the new onesHide the old /wp-content, /wp-include paths once they are changed with the new ones.Hide the old /wp-content/plugins path once it's changed with the new oneHide the old /wp-content/themes path once it's changed with the new oneHide wp-admin from Ajax URLHide wp-config.php , wp-config-sample.php, readme.html, license.txt, upgrade.php and install.php filesHide wp-config.php, wp-config-sample.php, readme.html, license.txt, upgrade.php and install.php files..Hide wp-json & ?rest_route link tag from website headerHiding the ID from meta tags in WordPress can potentially impact the caching process of plugins that rely on identifying the meta tags.HindiHoly See (Vatican City State)HondurasHong KongHostnameHow long the temporary login will be available after the user first access.HummingbirdHungarianHungaryIIS WindowsIIS detected. You need to update your %s file by adding the following lines after <rules> tag: %sIPIP BlockedIcelandIf the reCAPTCHA displays any error, please make sure you fix them before moving forward.If the rewrite rules are not loading correctly in the config file, do not load the plugin and do not change the paths.If you are connected with the admin user, you will have to re-login after the change.If you can't configure %s, switch to Deactivated Mode and %scontact us%s.If you can't configure reCAPTCHA, switch to Math reCaptcha protection.If you do not have an e-commerce, membership or guest posting website, you shouldn't let users subscribe to your blog. You will end up with spam registrations and your website will be filled with spammy content and comments.If you have access to php.ini file, set allow_url_include = off or contact the hosting company to set it offIf you have access to php.ini file, set expose_php = off or contact the hosting company to set it offIf you have access to php.ini file, set register_globals = off or contact the hosting company to set it offIf you have access to php.ini file, set safe_mode = off or contact the hosting company to set it offIf you notice any functionality issue please select the %sSafe Mode%s.If you're able to log in, you've set the new paths correctly.If you're able to login, you've set reCAPTCHA correctly.If you're not using Windows Live Writer there's really no valid reason to have its link in the page header, because this tells the whole world you're using WordPress.If you're not using any Really Simple Discovery services such as pingbacks, there's no need to advertise that endpoint (link) in the header. Please note that for most sites this is not a security issue because they "want to be discovered", but if you want to hide the fact that you're using WP, this is the way to go.If your site allows user logins, you need your login page to be easy to find for your users. You also need to do other things to protect against malicious login attempts.

However, obscurity is a valid security layer when used as part of a comprehensive security strategy, and if you want to cut down on the number of malicious login attempts. Making your login page difficult to find is one way to do that.Ignore security taskImmediately block incorrect usernames on login forms.In .htaccess fileIn the old days, the default WordPress admin username was 'admin' or 'administrator'. Since usernames make up half of the login credentials, this made it easier for hackers to launch brute-force attacks.

Thankfully, WordPress has since changed this and now requires you to select a custom username at the time of installing WordPress.Indeed Ultimate Membership Pro detected. The plugin doesn't support custom %s paths as it doesn't use WordPress functions to call the Ajax URLIndiaIndonesiaIndonesianInfoInmotionInmotion detected. %sPlease read how to make the plugin compatible with Inmotion Nginx Cache%sInstall/ActivateIntegration with other CDN plugins and custom CDN URLs.Invalid ReCaptcha. Please complete reCaptcha.Invalid email addressInvalid name detected: %s. Add only the final path name to avoid WordPress errors.Invalid name detected: %s. The name can't end with / to avoid WordPress errors.Invalid name detected: %s. The name can't start with / to avoid WordPress errors.Invalid name detected: %s. The paths can't end with . to avoid WordPress errors.Invalid name detected: %s. You need to use another name to avoid WordPress errors.Invalid username.Iran, Islamic Republic ofIraqIrelandIsle of ManIsraelIt's important to %s save your settings every time you change them %s. You can use the backup to configure other websites you own.It's important to hide or remove the readme.html file because it contains WP version details.It's important to hide the common WordPress paths to prevent attacks on vulnerable plugins and themes.
Also, it's important to hide the names of plugins and themes to make it impossible for bots to detect them.It's important to rename common WordPress paths, such as wp-content and wp-includes to prevent hackers from knowing that you have a WordPress website.It's not safe to have Database Debug turned on. Make sure you don't use Database debug on live websites.ItalianItalyJCH Optimize CacheJamaicaJananeseJapanJavascript is disabled on your browser! You need to activate the javascript in order to use %s plugin.JerseyJoomla 3Joomla 4Joomla 5JordanJust another WordPress siteKazakhstanKenyaKiribatiKnow what the other users are doing on your website.KoreanKosovoKuwaitKyrgyzstanLanguageLao Peoples Democratic RepublicLast 30 days Security StatsLast AccessLast NameLast check:Late LoadingLatviaLatvianLearn HowLearn How To Add the CodeLearn how to disable %sDirectory Browsing%s or switch on %s %s > Change Paths > Disable Directory Browsing%sLearn how to set your website as %s. %sClick Here%sLearn how to setup on Local & NginxLearn how to setup on Nginx serverLearn how to use the shortcodeLearn more aboutLearn more about %s 7G firewall %s.Learn more about %s 8G firewall %s.Leave it blank if you don't want to display any messageLeave it blank to block all paths for the selected countries.LebanonLesothoLet's take your security to the next level!Level of SecurityLevels of securityLiberiaLibyan Arab JamahiriyaLicence TokenLiechtensteinLimit the number of allowed login attempts using normal login form.LiteSpeedLiteSpeed CacheLithuaniaLithuanianLoad PresetLoad Security PresetsLoad after all plugins are loaded. On "template_redirects" hook.Load before all plugins are loaded. On "plugins_loaded" hook.Load custom language is WordPress local language is installed.Load the plugin as a Must Use plugin.Load when the plugins are initialized. On "init" hook.Local & NGINX detected. In case you didn't add the code in the NGINX config already, please add the following line. %sLocal by FlywheelLocationLock userLockout MessageLog User RolesLog Users EventsLogin & Logout RedirectsLogin Blocked by Login PathLogin Redirect URLLogin SecurityLogin TestLogin URLLogout Redirect URLLost Password Form ProtectionLuxembourgMacaoMadagascarMagic Link LoginMake sure the redirect URLs exist on your website. %sThe User Role redirect URL has higher priority than the Default redirect URL.Make sure you know what you do when changing the headers.Make sure you save the settings and empty the cache before checking your website with our tool.MalawiMalaysiaMaldivesMaliMaltaManage Brute Force ProtectionManage Login and Logout RedirectsManage whitelist & blacklist IP addressesManually block/unblock IP addresses.Manually customize each plugin name and overwrite the random nameManually customize each theme name and overwrite the random nameManually whitelist trusted IP addresses.MappingMarshall IslandsMartiniqueMath & Google reCaptcha verification while logging in.Math reCAPTCHAMauritaniaMauritiusMax fail attemptsMayotteMediumMembershipMexicoMicronesia, Federated States ofMinimalMinimal (No Config Rewrites)Moldova, Republic ofMonacoMongoliaMonitor everything that happens on your WordPress site!Monitor, track and log events on your website.MontenegroMontserratMore HelpMore information about %sMore optionsMoroccoMost WordPress installations are hosted on the popular Apache, Nginx and IIS web servers.MozambiqueMust Use Plugin LoadingMy AccountMyanmarMysql VersionNGINX detected. In case you didn't add the code in the NGINX config already, please add the following line. %sNameNamibiaNauruNepalNetherlandsNew CaledoniaNew Login DataNew Plugin/Theme detected! Update %s settings to hide it. %sClick here%sNew ZealandNext StepsNginxNicaraguaNigerNigeriaNiueNoNo CMS SimulationNo Recent Updates ReleasedNo blacklisted ipsNo log found.No temporary logins.No, abortNo. of secondsNorfolk IslandNormal LoadingNormally, the option to block visitors from browsing server directories is activated by the host through server configuration, and activating it twice in the config file may cause errors, so it's best to first check if the %sUploads Directory%s is visible.North KoreaNorth Macedonia, Republic ofNorthern Mariana IslandsNorwayNorwegianNot yet logged inNote that this option won't activate the CDN for your website, but it will update the custom paths if you've already set a CDN URL with another plugin.Note! %sPaths are NOT physically change%s on your server.Note! The plugin will use WP cron to change the paths in background once the cache files are created.Note: If you can`t login to your site, just access this URLNotification SettingsOkay, I set it upOmanOn website initializationOnce you bought the plugin, you will receive the %s credentials for your account by email.One DayOne HourOne MonthOne WeekOne YearOne of the most important files in your WordPress installation is the wp-config.php file.
This file is located in the root directory of your WordPress installation and contains your website's base configuration details, such as database connection information.Only change this option if the plugin fails to identify the server type correctly.Optimize CSS and JS filesOption to inform user about remaining attempts on login page.OptionsOutdated PluginsOutdated ThemesOverviewOxygenPHP VersionPHP allow_url_include is onPHP expose_php is onPHP register_globals is onPHP safe mode was one of the attempts to solve security problems of shared web hosting servers.

It is still being used by some web hosting providers, however, nowadays this is regarded as improper. A systematic approach proves that it’s architecturally incorrect to try solving complex security issues at the PHP level, rather than at the web server and OS levels.

Technically, safe mode is a PHP directive that restricts the way some built-in PHP functions operate. The main problem here is inconsistency. When turned on, PHP safe mode may prevent many legitimate PHP functions from working correctly. At the same time there exists a variety of methods to override safe mode limitations using PHP functions that aren’t restricted, so if a hacker has already got in – safe mode is useless.PHP safe_mode is onPage Not FoundPakistanPalauPalestinian TerritoryPanamaPapua New GuineaParaguayPassedPath not allowed. Avoid paths like plugins and themes.Paths & OptionsPaths changed in the existing cache filesPause for 5 minutesPermalinksPersianPeruPhilippinesPitcairnPlease be aware that if you do not consent to storing data on our Cloud, we kindly request that you refrain from activating this feature.Please visit %s to check your purchase and to get the license token.Plugin Loading HookPlugins PathPlugins SecurityPlugins SettingsPlugins that have not been updated in the last 12 months can have real security problems. Make sure you use updated plugins from WordPress Directory.Plugins/Themes editor disabledPolandPolishPortugalPortuguesePreset SecurityPrevent Broken Website LayoutPriority LoadingProtects your WooCommerce shop against brute force login attacks.Protects your website against Brute Force login attacks using %s A common threat web developers face is a password-guessing attack known as a Brute Force attack. A Brute Force attack is an attempt to discover a password by systematically trying every possible combination of letters, numbers, and symbols until you discover the one correct combination that works.Protects your website against Brute Force login attacks.Protects your website against brute force login attacks.Prove your humanity:Puerto RicoQatarQuick FixRDS is visibleRandom Static NumberReactivate user for 1 dayRedirect After LoginRedirect Hidden PathsRedirect Logged Users To DashboardRedirect temporary users to a custom page after login.Redirect the protected paths /wp-admin, /wp-login to a Page or trigger an HTML Error.Redirect user to a custom page after login.RedirectsRemoveRemove PHP version, Server info, Server Signature from header.Remove Plugins Authors & Style in Sitemap XMLRemove Unsafe HeadersRemove pingback link tag from the website header.Rename readme.html file or switch on %s %s > Change Paths > Hide WordPress Common Files%sRename wp-admin/install.php & wp-admin/upgrade.php files or switch on %s %s > Change Paths > Hide WordPress Common Paths%sRenewResetReset SettingsResolving hostnames may affect the website loading speed.Restore BackupRestore SettingsResume SecurityReunionRobots SecurityRoleRollback SettingsRollback all the plugin settings to initial values.RomaniaRomanianRun %s Frontend Test %s to check if the new paths are working.Run %s Login Test %s and log in inside the popup.Run %sreCAPTCHA Test%s and login inside the popup.Run Full Security CheckRussianRussian FederationRwandaSSL is an abbreviation used for Secure Sockets Layers, which are encryption protocols used on the internet to secure information exchange and provide certificate information.

These certificates provide an assurance to the user about the identity of the website they are communicating with. SSL may also be called TLS or Transport Layer Security protocol.

It's important to have a secure connection for the Admin Dashboard in WordPress.Safe ModeSafe Mode + Firewall + Brute Force + Events Log + Two factorSafe Mode + Firewall + Compatibility SettingsSafe Mode will set these predefined pathsSafe URL:Safe modeSaint BartelemeySaint HelenaSaint Kitts and NevisSaint LuciaSaint MartinSaint Pierre and MiquelonSaint Vincent and the GrenadinesSalts and Security Keys validSamoaSan MarinoSao Tome and PrincipeSaudi ArabiaSaveSave Debug LogSave UserSavedSaved! This task will be ignored on future tests.Saved! You can run the test again.Script Debug ModeSearchSearch in user events log and manage the email alertsSecret KeySecret keys for %sGoogle reCAPTCHA%s.Secure WP PathsSecurity CheckSecurity Keys UpdatedSecurity StatusSecurity keys are defined in wp-config.php as constants on lines. They should be as unique and as long as possible. AUTH_KEY,SECURE_AUTH_KEY,LOGGED_IN_KEY,NONCE_KEY,AUTH_SALT,SECURE_AUTH_SALT,LOGGED_IN_SALT,NONCE_SALTSecurity keys are used to ensure better encryption of information stored in the user's cookies and hashed passwords.

These make your site more difficult to hack, access and crack by adding random elements to the password. You don't have to remember these keys. In fact, once you set them you'll never see them again. Therefore, there's no excuse for not setting them properly.See the last days actions on this website ...Select PresetSelect User RolesSelect a preset security settings we've tested on most websites.Select allSelect how long the temporary login will be available after the first user access.Select the file extensions you want to hide on old pathsSelect the files you want to hide on old pathsSelected CountriesSend me an email with the changed admin and login URLsSenegalSerbiaSerbianServer TypeSet Custom Cache DirectorySet Login & Logout Redirects based on User Roles.Set the current user role.Set the website you want this user to be created for.SettingsSeychellesShort name detected: %s. You need to use unique paths with more than 4 chars to avoid WordPress errors.ShowShow /%s instead of /%sShow Advanced OptionsShow Default Paths & Allow Hidden PathsShow Defaults Paths & Allow EverythingShow blank screen when Inspect Element is active on browser.Show completed tasksShow ignored tasksShow message instead of login formShow passwordSierra LeoneSign Up Form ProtectionSimplified ChineseSimulate CMSSingaporeSint MaartenSite keySite keys for %sGoogle reCaptcha%s.SiteGroundSitemap SecuritySix MonthsSlovakSlovakiaSloveneSloveniaSolid SecuritySolomon IslandsSomaliaSome plugins may remove custom rewrite rules from the .htaccess file, especially if it's writable, which can affect the functionality of custom paths..Some themes don't work with custom Admin and Ajax paths. In case of ajax errors, switch back to wp-admin and admin-ajax.php.Sorry, you are not allowed to access this page.South AfricaSouth Georgia and the South Sandwich IslandsSouth KoreaSpainSpammers can easily signupSpanishSri LankaStart ScanSucuri SecuritySudanSuper AdminSurinameSvalbard and Jan MayenSwazilandSwedenSwedishSwitch on %s %s > Change Paths > Hide WordPress Common Paths%sSwitch on %s %s > Change Paths > Disable XML-RPC access%sSwitch on %s %s > Change Paths > Hide Author ID URL%sSwitch on %s %s > Change Paths > Hide RSD Endpoint%sSwitch on %s %s > Change Paths > Hide WordPress Common Files%sSwitch on %s %s > Change Paths > Hide wp-admin from ajax URL%s. Hide any reference to admin path from the installed plugins.Switch on %s %s > Tweaks > %s %sSwitch on %s %s > Tweaks > Hide WLW Manifest scripts%sSwitzerlandSyrian Arab RepublicTaglineTaiwanTajikistanTanzania, United Republic ofTemporary LoginTemporary Login SettingsTemporary LoginsTest your website headers withText & URL MappingText MappingText Mapping in CSS and JS files including cached filesText Mapping only Classes, IDs, JS variablesThaiThailandThank you for using %s!The %s section has been relocated %s here %sThe Ghost Mode will add the rewrites rules in the config file to hide the old paths from hackers.The REST API is crucial for many plugins as it allows them to interact with the WordPress database and perform various actions programmatically.The Safe Mode will add the rewrites rules in the config file to hide the old paths from hackers.The Safe URL will deactivate all the custom paths. Use it only if you can't login.The WordPress database is like a brain for your entire WordPress site, because every single bit of information about your site is stored there, thus making it a hacker’s favorite target.

Spammers and hackers run automated code for SQL injections.
Unfortunately, many people forget to change the database prefix when they install WordPress.
This makes it easier for hackers to plan a mass attack by targeting the default prefix wp_.The WordPress site tagline is a short phrase located under the site title, similar to a subtitle or advertising slogan. The goal of a tagline is to convey the essence of your site to visitors.

If you don't change the default tagline it will be very easy to detect that your website was actually built with WordPressThe constant ADMIN_COOKIE_PATH is defined in wp-config.php by another plugin. You can't change %s unless you remove the line define('ADMIN_COOKIE_PATH', ...);.The list of plugins and themes was updated with success!The most common way to hack a website is by accessing the domain and adding harmful queries in order to reveal information from files and database.
These attacks are made on any website, WordPress or not, and if a call succeeds … it will probably be too late to save the website.The plugins and themes file editor is a very convenient tool because it enables you to make quick changes without the need to use FTP.

Unfortunately, it's also a security issue because it not only shows the PHP source code, it also enables attackers to inject malicious code into your site if they manage to gain access to admin.The process was blocked by the website’s firewall.The requested URL %s was not found on this server.The response parameter is invalid or malformed.The secret parameter is invalid or malformed.The secret parameter is missing.The security keys in wp-config.php should be renewed as often as possible.Themes PathThemes SecurityThemes are up to dateThere has been a critical error on your website.There has been a critical error on your website. Please check your site admin email inbox for instructions.There is a configuration error in the plugin. Please Save the settings again and follow the instruction.There is a newer version of WordPress available ({version}).There is no changelog available.There is no such thing as an "unimportant password"! The same goes for your WordPress database password.
Although most servers are configured so that the database can't be accessed from other hosts (or from outside the local network), that doesn't mean your database password should be "12345" or no password at all.This amazing feature isn't included in the basic plugin. Want to unlock it? Simply install or activate the Advanced Pack and enjoy the new security features.This is one of the biggest security issues you can have on your site! If your hosting company has this directive enabled by default, switch to another company immediately!This may not work with all new mobile devices.This option will add rewrite rules to the .htaccess file in the WordPress rewrite rules area between the comments # BEGIN WordPress and # END WordPress.This will prevent from showing the old paths when an image or font is called through ajaxThree DaysThree HoursTimor-LesteTo change the paths in the cached files, switch on %s Change Paths in Cached Files%sTo hide the Avada library, please add the Avada FUSION_LIBRARY_URL in wp-config.php file after $table_prefix line: %sTo improve your website's security, consider removing authors and styles that point to WordPress in your sitemap XML.TogoTokelauTongaTrack and Log the website events and receive security alerts by email.Track and log events that happen on your WordPress siteTraditional ChineseTrinidad and TobagoTroubleshootingTunisiaTurkeyTurkishTurkmenistanTurks and Caicos IslandsTurn off the debug plugins if your website is live. You can also add the option to hide the DB errors global $wpdb; $wpdb->hide_errors(); in wp-config.php fileTuvaluTweaksTwo-factor authenticationURL MappingUgandaUkraineUkrainianUltimate Affiliate Pro detected. The plugin doesn't support custom %s paths as it doesn't use WordPress functions to call the Ajax URLUnable to update the wp-config.php file in order to update the Database Prefix.UndoUnited Arab EmiratesUnited KingdomUnited StatesUnited States Minor Outlying IslandsUnknown update checker status "%s"Unlock allUpdate the settings on %s to refresh the paths after changing REST API path.UpdatedUpload the file with the saved plugin settingsUploads PathUrgent Security Actions RequiredUruguayUse Brute Force ProtectionUse Temporary LoginsUse the %s shortcode to integrate it with other login forms.UserUser 'admin' or 'administrator' as AdministratorUser ActionUser Events LogUser RoleUser SecurityUser could not be activated.User could not be addedUser could not be deleted.User could not be disabled.User roles for who to disable the Right-ClickUser roles for who to disable the copy/pasteUser roles for who to disable the drag/dropUser roles for who to disable the inspect elementUser roles for who to disable the view sourceUser roles for who to hide the admin toolbarUser successfully activated.User successfully created.User successfully deleted.User successfully disabled.User successfully updated.Usernames (unlike passwords) are not secret. By knowing someone's username, you can't log in to their account. You also need the password.

However, by knowing the username, you are one step closer to logging in using the username to brute-force the password, or to gain access in a similar way.

That's why it's advisable to keep the list of usernames private, at least to some degree. By default, by accessing siteurl.com/?author={id} and looping through IDs from 1 you can get a list of usernames, because WP will redirect you to siteurl.com/author/user/ if the ID exists in the system.Using an old version of MySQL makes your site slow and prone to hacker attacks due to known vulnerabilities that exist in versions of MySQL that are no longer maintained.

You need Mysql 5.4 or higherUsing an old version of PHP makes your site slow and prone to hacker attacks due to known vulnerabilities that exist in versions of PHP that are no longer maintained.

You need PHP 7.4 or higher for your website.UzbekistanValidValueVanuatuVenezuelaVersions in Source CodeVietnamVietnameseView detailsVirgin Islands, BritishVirgin Islands, U.S.W3 Total CacheWP Core SecurityWP Debug ModeWP EngineWP Fastest CacheWP RocketWP Super CacheWP Super Cache CDN detected. Please include %s and %s paths in WP Super Cache > CDN > Include directoriesWPBakery Page BuilderWPPluginsWallis and FutunaWeak name detected: %s. You need to use another name to increase your website security.WebsiteWestern SaharaWhere to add the firewall rules.WhitelistWhitelist IPsWhitelist OptionsWhitelist PathsWindows Live Writer is onWooCommerce Safe LoginWooCommerce SupportWoocommerceWoocommerce Magic LinkWordPress Database PasswordWordPress Default PermissionsWordPress Security CheckWordPress VersionWordPress XML-RPC is a specification that aims to standardize communications between different systems. It uses HTTP as the transport mechanism and XML as encoding mechanism to enable a wide range of data to be transmitted.

The two biggest assets of the API are its extendibility and its security. XML-RPC authenticates using basic authentication. It sends the username and password with each request, which is a big no-no in security circles.WordPress and its plugins and themes are like any other software installed on your computer, and like any other application on your devices. Periodically developers release updates which provide new features or fix known bugs.

New features may be something that you do not necessarily want. In fact, you may be perfectly satisfied with the functionality you currently have. Nevertheless, you may still be concerned about bugs.

Software bugs can come in many shapes and sizes. A bug could be very serious, such as preventing users from using a plugin, or it could be a minor bug that only affects a certain part of a theme, for example. In some cases, bugs can even cause serious security holes.

Keeping themes up to date is one of the most important and easiest ways to keep your site secure.WordPress and its plugins and themes are like any other software installed on your computer, and like any other application on your devices. Periodically, developers release updates which provide new features, or fix known bugs.

These new features may not necessarily be something that you want. In fact, you may be perfectly satisfied with the functionality you currently have. Nevertheless, you are still likely to be concerned about bugs.

Software bugs can come in many shapes and sizes. A bug could be very serious, such as preventing users from using a plugin, or it could be minor and only affect a certain part of a theme, for example. In some cases, bugs can cause serious security holes.

Keeping plugins up to date is one of the most important and easiest ways to keep your site secure.WordPress is well-known for its ease of installation.
It's important to hide the wp-admin/install.php and wp-admin/upgrade.php files because there have already been a couple of security issues regarding these files.WordPress, plugins and themes add their version info to the source code, so anyone can see it.

Hackers can easily find a website with vulnerable version plugins or themes, and target these with Zero-Day Exploits.Wordfence SecurityWpEngine detected. Add the redirects in the WpEngine Redirect rules panel %s.Wrong Username ProtectionXML-RPC SecurityXML-RPC access is onYemenYesYes, it's workingYou already defined a different wp-content/uploads directory in wp-config.php %sYou can ban a single IP address like 192.168.0.1 or a range of 245 IPs like 192.168.0.*. These IPs will not be able to access the login page.You can create a new page and come back to choose to redirect to that page.You can generate %snew Keys from here%s AUTH_KEY,SECURE_AUTH_KEY,LOGGED_IN_KEY,NONCE_KEY,AUTH_SALT,SECURE_AUTH_SALT,LOGGED_IN_SALT,NONCE_SALTYou can now turn off '%s' option.You can set to receive security alert emails and prevent data loss.You can white-list a single IP address like 192.168.0.1 or a range of 245 IPs like 192.168.0.*. Find your IP with %sYou can't set both ADMIN and LOGIN with the same name. Please use different namesYou don't have the permission to access %s on this server.You need to activate the URL Rewrite for IIS to be able to change the permalink structure to friendly URL (without index.php). %sMore details%sYou need to set a positive number of attempts.You need to set a positive waiting time.You need to set the permalink structure to friendly URL (without index.php).You should always update WordPress to the %slatest versions%s. These usually include the latest security fixes, and don't alter WP in any significant way. These should be applied as soon as WP releases them.

When a new version of WordPress is available, you will receive an update message on your WordPress Admin screens. To update WordPress, click the link in this message.You should check your website every week to see if there are any security changes.Your %s %s license expired on %s %s. To keep your website security up to date please make sure you have a valid subscription on %saccount.hidemywpghost.com%sYour IP has been flagged for potential security violations. Please try again in a little while...Your admin URL can't be changed on %s hosting because of the %s security terms.Your admin URL is changed by another plugin/theme in %s. To activate this option, disable the custom admin in the other plugin or deativate it.Your login URL is changed by another plugin/theme in %s. To activate this option, disable the custom login in the other plugin or deativate it.Your login URL is: %sYour login URL will be: %s In case you can't login, use the safe URL: %sYour new password has not been saved.Your new site URLs areYour website security %sis extremely weak%s. %sMany hacking doors are available.Your website security %sis very weak%s. %sMany hacking doors are available.Your website security is getting better. %sJust make sure you complete all the security tasks.Your website security is still weak. %sSome of the main hacking doors are still available.Your website security is strong. %sKeep checking the security every week.ZambiaZimbabweactivate featureafter first accessalready activedarkdefaultdisplay_errors PHP directivee.g. *.colocrossing.come.g. /cart/e.g. /cart/ will whitelist all path starting with /cart/e.g. /checkout/e.g. /post-type/ will block all path starting with /post-type/e.g. acapbote.g. alexibote.g. badsite.come.g. gigabote.g. kanagawa.come.g. xanax.comeg.eg. /logout oreg. adm, backeg. ajax, jsoneg. aspect, templates, styleseg. comments, discussioneg. core, inc, includeeg. disable_url, safe_urleg. images, fileseg. json, api, calleg. lib, libraryeg. login or signineg. logout or disconnecteg. lostpass or forgotpasseg. main.css, theme.css, design.csseg. moduleseg. multisite activation linkeg. newuser or registereg. profile, usr, writerfromhelphttps://hidemywp.comignore alertinstall.php & upgrade.php files are accessiblelightloglogsmore detailsnot recommendedonly %d charsorpassword mismatchMismatchpassword strengthMediumpassword strengthPassword strength unknownpassword strengthStrongpassword strengthVery weakpassword strengthWeakreCAPTCHA TestreCAPTCHA V2 TestreCAPTCHA V3 TestreCaptcha LanguagereCaptcha Themereadme.html file is accessiblerecommendedredirectssee featurestart feature setupthe plugin titleA new version of the %s plugin is available.the plugin titleCould not determine if updates are available for %s.the plugin titleThe %s plugin is up to date.totoo simplewp-config.php & wp-config-sample.php files are accessibleProject-Id-Version: Hide My WP Ghost PO-Revision-Date: 2024-10-10 20:04+0300 Last-Translator: gpt-po v1.0.11 Language-Team: Language: de_DE MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); X-Generator: Poedit 3.5 X-Poedit-Basepath: .. X-Poedit-Flags-xgettext: --add-comments=translators: X-Poedit-WPHeader: index.php X-Poedit-SourceCharset: UTF-8 X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;_nx_noop:3c,1,2;__ngettext_noop:1,2 X-Poedit-SearchPath-0: . X-Poedit-SearchPathExcluded-0: *.min.js #1 Hack-Präventions-Sicherheitslösung: Verberge WP CMS, 7G/8G Firewall, Schutz vor Brute-Force-Angriffen, 2FA, GEO-Sicherheit, Temporäre Logins, Warnungen und mehr.%1$s ist seit Version %2$s veraltet! Verwenden Sie stattdessen %3$s. Bitte ziehen Sie in Betracht, inklusiveren Code zu schreiben.Vor %d %s%d %s verbleibend%s Tage seit dem letzten Update%s funktioniert nicht ohne mode_rewrite. Bitte aktivieren Sie das Rewrite-Modul in Apache. %sWeitere Details%s%s haben nicht die richtige Berechtigung.%s ist im Quellcode sichtbar%s Pfad ist zugänglich%s heme(s) ist/sind veraltet: %s%s Plugin(s) wurden in den letzten 12 Monaten NICHT von ihren Entwicklern aktualisiert: %s%s schützt Ihre Website vor den meisten SQL-Injections, aber verwenden Sie, wenn möglich, einen benutzerdefinierten Präfix für Datenbanktabellen, um SQL-Injections zu vermeiden. %sWeiterlesen%sDie Regeln von %s werden nicht in der Konfigurationsdatei gespeichert und dies kann sich auf die Ladezeit der Website auswirken.%s Das/die Theme(s) ist/sind veraltet: %sKlicken Sie %shier%s, um Schlüssel für Google reCAPTCHA v2 zu erstellen oder anzuzeigen.Klicken Sie %shier%s, um Schlüssel für Google reCAPTCHA v3 zu erstellen oder anzuzeigen.%sERROR:%s E-Mail oder Passwort ist falsch. %s %d verbleibende Versuche vor der Sperrung%sVerbergen Sie den Anmeldepfad%s im Theme-Menü oder Widget.%sFalsches ReCaptcha%s. Bitte versuchen Sie es erneut%sHINWEIS:%s Wenn Sie die Anmeldedaten nicht erhalten haben, greifen Sie bitte auf %s zu.%sSie haben es nicht geschafft, die Matheaufgabe korrekt zu beantworten.%s Bitte versuchen Sie es erneut(* das Plugin verursacht keine zusätzlichen Kosten, wird automatisch in WP installiert/aktiviert, wenn Sie auf die Schaltfläche klicken, und verwendet dasselbe Konto)(Verschiedene Optionen sind verfügbar)(nützlich, wenn das Thema falsche Admin-Weiterleitungen oder unendliche Weiterleitungen sind)(Funktioniert nur mit dem benutzerdefinierten admin-ajax-Pfad, um Endlosschleifen zu vermeiden)2FA2FA-Anmeldung403 Verboten403 HTML Fehler404 HTML Fehler404 Nicht gefunden404 Seite7G Firewall8G FirewallEin Feature, das Angriffe aus verschiedenen Ländern stoppt und schädliche Aktivitäten aus bestimmten Regionen beendet.Eine gründliche Reihe von Regeln kann verhindern, dass viele Arten von SQL-Injection und URL-Hacks interpretiert werden.Ein Benutzer mit diesem Benutzernamen existiert bereits.API-SicherheitAPI EinstellungenAWS BitnamiLaut %sGoogle neuesten Statistiken%s werden täglich über %s 30k Websites gehackt %s und %s über 30% davon sind in WordPress erstellt %s. %s Es ist besser, einen Angriff zu verhindern, als viel Geld und Zeit für die Wiederherstellung Ihrer Daten nach einem Angriff aufzuwenden, ganz zu schweigen von der Situation, wenn die Daten Ihrer Kunden gestohlen werden.AktionAktivierenAktiviere 'Must Use Plugin Loading' vom 'Plugin Loading Hook', um dich direkt von managewp.com mit deinem Dashboard zu verbinden. %s Klicke hier %sAktiviere den Schutz vor Brute-Force-AngriffenAktiviere EreignisprotokollAktiviere BenutzerereignisprotokollierungAktiviere temporäre AnmeldungenAktiviere dein PluginAktiviere Informationen und Protokolle für die Fehlersuche.Aktiviere die "Brute Force" Option, um den Bericht über blockierte Benutzer-IPs zu sehenAktiviere die Option "Benutzerereignisse protokollieren", um das Benutzeraktivitätsprotokoll für diese Website einzusehenAktiviere den Brute-Force-Schutz für die Woocommerce-Anmelde-/Registrierungsformulare.Aktiviere den Brute-Force-Schutz für verlorene Passwortformulare.Aktiviere den Schutz vor Brute-Force-Angriffen für Anmeldeformulare.Aktiviere die Firewall und verhindere viele Arten von SQL-Injection und URL-Hacks.Aktiviere die Firewall und wähle die Firewall-Stärke, die für deine Website %s %s funktioniert > Pfade ändern > Firewall & Header %sAktivierungshilfeHinzufügenFügen Sie IP-Adressen hinzu, die immer vom Zugriff auf diese Website blockiert werden sollen.Fügen Sie den Content-Security-Policy-Header hinzuFügen Sie Sicherheitsheader gegen XSS- und Code-Injection-Angriffe hinzu.Fügen Sie IP-Adressen hinzu, die die Plugin-Sicherheit passieren können.Fügen Sie IPs hinzu, die den Plugin-Sicherheitscheck bestehen könnenFügen Sie einen neuen temporären Login hinzuNeuen temporären Anmeldebenutzer hinzufügenFüge Umschreibungen im WordPress-Regelnbereich hinzuFügen Sie Sicherheitsheader hinzuFügen Sie Sicherheitsheader für XSS- und Code-Injection-Angriffe hinzuFügen Sie den Strict-Transport-Security-Header hinzuFügen Sie Zwei-Faktor-Sicherheit auf der Anmeldeseite mit Code-Scan oder E-Mail-Code-Authentifizierung hinzu.Fügen Sie den X-Content-Type-Options-Header hinzuFügen Sie den X-XSS-Protection-Header hinzuFügen Sie eine Liste von URLs hinzu, die Sie durch neue ersetzen möchten.Fügen Sie eine zufällige statische Nummer hinzu, um das Zwischenspeichern im Frontend zu verhindern, während der Benutzer angemeldet ist.Fügen Sie eine weitere CDN-URL hinzuFügen Sie eine weitere URL hinzuAdd another textFügen Sie gängige WordPress-Klassen in die Textzuordnung einFügen Sie Pfade hinzu, die die Plugin-Sicherheit passieren könnenFügen Sie Pfade hinzu, die für die ausgewählten Länder blockiert werden sollen.Füge Weiterleitungen für die angemeldeten Benutzer basierend auf den Benutzerrollen hinzu.Fügen Sie die CDN-URLs hinzu, die Sie im Cache-Plugin verwenden.Admin PfadAdmin SicherheitAdmin-LeisteAdministrator-URLAdmin-BenutzernameErweitertErweitertes PaketErweiterte EinstellungenAfghanistanNachdem du die Klassen hinzugefügt hast, überprüfe das Frontend, um sicherzustellen, dass dein Theme nicht beeinträchtigt ist.Nachher klicke auf %sSpeichern%s, um die Änderungen zu übernehmen.Ajax-SicherheitAjax URLAlandinselnAlbanienBenachrichtigungs-E-Mails gesendetAlgerienKaufen / MietenAll In One WP SecurityAlle WebsitesAlle Dateien haben die richtigen Berechtigungen.Alle Plugins sind kompatibelAlle Plugins sind auf dem neuesten StandAlle Plugins wurden von ihren Entwicklern in den letzten 12 Monaten aktualisiertAlle Protokolle werden für 30 Tage in der Cloud gespeichert und der Bericht ist verfügbar, wenn Ihre Website angegriffen wird.Erlaube versteckte PfadeErlauben Sie Benutzern, sich in ihr WooCommerce-Konto einzuloggen, indem sie ihre E-Mail-Adresse und eine eindeutige Login-URL verwenden, die per E-Mail zugestellt wird.Erlaube Benutzern, sich auf der Website mit ihrer E-Mail-Adresse und einer eindeutigen Login-URL anzumelden, die per E-Mail zugestellt wird.Das Zulassen, dass jeder alle Dateien im Uploads-Ordner mit einem Browser anzeigen kann, ermöglicht es ihnen, alle Ihre hochgeladenen Dateien einfach herunterzuladen. Es handelt sich um ein Sicherheits- und ein Urheberrechtsproblem.Amerikanisch-SamoaAndorraAngolaAnguillaAntarktisAntigua und BarbudaApacheArabischSind Sie sicher, dass Sie diese Aufgabe in Zukunft ignorieren möchten?ArgentinienArmenienArubaAchtung! Einige URLs wurden durch die Konfigurationsdateiregeln geleitet und über die WordPress-Umschreibung geladen, was die Geschwindigkeit Ihrer Website verlangsamen könnte. %s Bitte folgen Sie diesem Tutorial, um das Problem zu beheben: %sAustralienÖsterreichAutor PfadAutor-URL nach ID-ZugriffAutomatisch erkennenAutomatische ErkennungLeite angemeldete Benutzer automatisch zum Admin-Dashboard weiterAutoptimizerAserbaidschanSSL für BackendBackup-EinstellungenBackup/WiederherstellungEinstellungen Sichern/WiederherstellenBahamasBahrainDauer des VerbotsBangladeschBarbadosStellen Sie sicher, dass nur interne URLs verwendet werden und verwenden Sie nach Möglichkeit relative Pfade.Beaver BuilderBelarusBelgienBelizeBeninBermudaMit freundlichen GrüßenBhutanBitnami erkannt. %sBitte lesen Sie, wie das Plugin mit AWS-Hosting kompatibel gemacht werden kann%sBlacklistIPs auf die Schwarze Liste setzenLeerer Bildschirm beim DebuggenLänder blockierenBlock HostnamenBlockiere die IP-Adresse auf der AnmeldeseiteBlock ReferrerBlocken Sie spezifische PfadeBlocke Theme-Detektoren-CrawlerBlocke Benutzer-AgentenBlocke bekannte Benutzer-Agenten von beliebten Theme-Detektoren.Gesperrte IPsBlockierte IPs BerichtBlockiert vonBolivienBonaire, Sankt Eustatius und SabaBosnien und HerzegowinaBotswanaBouvetinselBrasilBritish EnglishBritisches Territorium im Indischen OzeanBrunei DarussalamBrute ForceBrute Force IPs gesperrtBrute Force Login-SchutzSchutz vor Brute-Force-AngriffenBrute Force EinstellungenBulgarienBulgarischBulletProof-Plugin! Stellen Sie sicher, dass Sie die Einstellungen in %s speichern, nachdem Sie den Root-Ordner-BulletProof-Modus im BulletProof-Plugin aktiviert haben.Burkina FasoBurundiDurch die Aktivierung stimmen Sie unseren %s Nutzungsbedingungen %s und %s Datenschutzrichtlinien %s zu.CDNCDN Aktiviert erkannt. Bitte fügen Sie %s- und %s Pfade in die CDN-Enabler-Einstellungen einCDN Enabler erkannt! Erfahren Sie, wie Sie es mit %s konfigurieren %sKlicken Sie hier%s.CDN URLsVERBINDUNGSFEHLER! Die Website benötigt Zugriff auf %sCache CSS, JS und Bilder, um die Ladezeit des Frontends zu erhöhen.Cache EnablerKambodschaKamerunKann das Plugin nicht herunterladen.KanadaKanadisches FranzösischAbbrechenDeaktiviere die Anmelde-Hooks von anderen Plugins und Themes, um unerwünschte Anmelde-Weiterleitungen zu verhindern.Kap VerdeKatalanisch ValencianischKaimaninselnZentralafrikanische RepublikChadÄnderungOptionen ändernPermalinksÄndere jetzt die PfadeÄndere Pfade für eingeloggte BenutzerÄndere Pfade in Ajax-AufrufenÄndere Pfade in zwischengespeicherten DateienPfade in RSS-Feed ändernÄndere Pfade in Sitemaps XMLÄndere relative URLs in absolute URLs umÄndere WordPress-Pfade, während du eingeloggt bistÄndere Pfade im RSS-Feed für alle Bilder.Ändere Pfade in Sitemap XML-Dateien und entferne den Plugin-Autor und die Styles.Ändere den Slogan in %s > %s > %sÄndere die WordPress-Standardpfade in den zwischengespeicherten Dateien.Ändere den Anmeldepfad von %s %s > Pfade ändern > Benutzerdefinierte Registrierungs-URL%s oder deaktiviere die Option %s > %s > %sÄndere den Text in allen CSS- und JS-Dateien, einschließlich derjenigen in zwischengespeicherten Dateien, die von Cache-Plugins generiert wurden.Ändern Sie den Benutzernamen "admin" oder "administrator" in einen anderen Namen, um die Sicherheit zu verbessern.Ändern Sie die Berechtigung der Datei wp-config.php auf Nur-Lesen mit dem Dateimanager.Ändere den wp-content-, wp-includes- und andere gängige Pfade mit %s %s > Ändere Pfade%sÄndere den wp-login von %s %s > Ändere Pfade > Benutzerdefinierte Login-URL%s und Schalte %s %s > Bruteforce-Schutz%sDie Änderung der vordefinierten Sicherheitsheader kann die Funktionalität der Website beeinträchtigen.Überprüfen Sie die Frontend-PfadeÜberprüfen Sie Ihre WebsiteAuf Aktualisierungen prüfenÜberprüfen Sie, ob die Website-Pfade korrekt funktionieren.Überprüfen Sie, ob Ihre Website mit den aktuellen Einstellungen gesichert ist.Überprüfen Sie den %s RSS-Feed %s und stellen Sie sicher, dass die Bildpfade geändert wurden.Überprüfen Sie die %s Sitemap XML %s und stellen Sie sicher, dass die Bildpfade geändert wurden.Überprüfen Sie die Website-Ladezeit mit %sPingdom Tool%sChileChinaBitte wählen Sie ein geeignetes Datenbankpasswort, das mindestens 8 Zeichen lang ist und eine Kombination aus Buchstaben, Zahlen und Sonderzeichen enthält. Nachdem Sie es geändert haben, setzen Sie das neue Passwort in der Datei wp-config.php wie folgt: define('DB_PASSWORD', 'NEUES_DB_PASSWORT_HIER_EINFÜGEN');Wählen Sie die Länder aus, in denen der Zugriff auf die Website eingeschränkt werden soll.Wählen Sie den Typ des Servers, den Sie verwenden, um die am besten geeignete Konfiguration für Ihren Server zu erhalten.Wähle aus, was zu tun ist, wenn von IP-Adressen auf der Whitelist und von freigegebenen Pfaden zugegriffen wird.WeihnachtsinselSauberer AnmeldeseiteKlicke auf %sWeiter%s, um die vordefinierten Pfade festzulegen.Klicke auf Backup und der Download startet automatisch. Du kannst das Backup für all deine Websites verwenden.Klicken Sie, um den Prozess zur Änderung der Pfade in den Zwischenspeicherdateien auszuführen.Fehler schließenCloud-PanelCloud Panel erkannt. %sBitte lesen Sie, wie Sie das Plugin mit Cloud Panel-Hosting kompatibel machen%sCntKokosinselnKolumbienKommentare PfadKomorenKompatibilitätKompatibilitäts-EinstellungenKompatibilität mit dem Manage WP-PluginKompatibilität mit Token-basierten Login-PluginsKompatibel mit dem All In One WP Security-Plugin. Verwenden Sie sie zusammen für Virenscan, Firewall und Schutz vor Brute-Force-Angriffen.Kompatibel mit dem JCH Optimize Cache-Plugin. Funktioniert mit allen Optionen zur Optimierung von CSS und JS.Kompatibel mit dem Solid Security-Plugin. Verwenden Sie sie zusammen für den Site-Scanner, die Dateiänderungserkennung und den Schutz vor Brute-Force-Angriffen.Kompatibel mit dem Sucuri Security-Plugin. Verwenden Sie sie zusammen für Virenscan, Firewall, Überwachung der Dateiintegrität.Kompatibel mit dem Wordfence Security-Plugin. Verwenden Sie sie zusammen für Malware-Scan, Firewall und Schutz vor Brute-Force-Angriffen.Kompatibel mit allen Themes und Plugins.Vollständige ReparaturKonfigurationDie Konfigurationsdatei ist nicht beschreibbar. Erstellen Sie die Datei, wenn sie nicht existiert, oder kopieren Sie die folgenden Zeilen in die %s Datei: %sDie Konfigurationsdatei ist nicht beschreibbar. Erstellen Sie die Datei, falls sie nicht existiert, oder kopieren Sie sie in die %s Datei mit den folgenden Zeilen: %sDie Konfigurationsdatei ist nicht beschreibbar. Sie müssen sie manuell am Anfang der Datei %s hinzufügen: %sBestätigen Sie die Verwendung eines schwachen Passworts.KongoKongo, Demokratische RepublikHerzlichen Glückwunsch! Du hast alle Sicherheitsaufgaben abgeschlossen. Stelle sicher, dass du deine Seite einmal pro Woche überprüfst.WeiterKonvertiere Links wie /wp-content/* in %s/wp-content/*.CookinselnLink kopierenKopiere die %s SICHERE URL %s und benutze sie, um alle benutzerdefinierten Pfade zu deaktivieren, falls du dich nicht einloggen kannst.Kerninhalte PfadKern Enthält PfadCosta RicaElfenbeinküsteDer Benutzer konnte nicht erkannt werdenKonnte es nicht reparieren. Du musst es manuell ändern.Konnte nichts basierend auf deiner Suche finden.Konnte mich mit diesem Benutzer nicht anmelden.Konnte Tabelle %1$s nicht umbenennen. Möglicherweise müssen Sie die Tabelle manuell umbenennen.Konnte Präfix-Verweise in der Options-Tabelle nicht aktualisieren.Konnte Präfix-Verweise in der usermeta-Tabelle nicht aktualisieren.LändersperreErstellenErstellen Sie einen neuen temporären LoginErstellen Sie eine temporäre Login-URL mit einer beliebigen Benutzerrolle, um für einen begrenzten Zeitraum auf das Dashboard der Website zuzugreifen, ohne Benutzernamen und Passwort einzugeben.Erstellen Sie eine temporäre Anmelde-URL mit einer beliebigen Benutzerrolle, um für einen begrenzten Zeitraum auf das Dashboard der Website zuzugreifen, ohne Benutzernamen und Passwort eingeben zu müssen. %s Dies ist nützlich, wenn Sie einem Entwickler vorübergehend Admin-Zugriff für Support oder zur Durchführung von Routineaufgaben geben müssen.KroatienKroatischKubaCuracaoBenutzerdefinierter AktivierungspfadBenutzerdefinierter Admin-PfadBenutzerdefiniertes Cache-VerzeichnisBenutzerdefinierter AnmeldewegBenutzerdefinierter AbmeldewegBenutzerdefinierter Pfad für verlorenes PasswortBenutzerdefinierter RegistrierungspfadBenutzerdefinierter sicherer URL-ParameterBenutzerdefinierter admin-ajax-PfadBenutzerdefinierter AutorpfadBenutzerdefinierter Kommentar-PfadBenutzer ist blockiert.Benutzerdefinierte Plugins-PfadBenutzerdefinierter ThemenstilnameBenutzerdefinierte ThemenpfadBenutzerdefinierter Upload-PfadBenutzerdefinierter wp-content-PfadBenutzerdefinierter wp-inkludiert PfadBenutzerdefinierter wp-json-PfadPasse alle WordPress-Pfade an und sichere sie vor Hacker-Bot-Angriffen.Passen Sie Plugin-Namen anPassen Sie die Themennamen anPassen Sie die CSS- und JS-URLs im Body Ihrer Website an.Passen Sie die IDs und Klassennamen im Body Ihrer Website an.ZypernTschechischTschechische RepublikDB-DEBUG-ModusDänischDashboardDatenbankpräfixDatumDeaktiviertDebug ModusStandardStandard Weiterleitung nach dem LoginStandard Ablaufzeit für temporäre DatenStandardbenutzerrolleStandard WordPress TaglineStandardbenutzerrolle, für die der temporäre Login erstellt wird.Lösche temporäre Benutzer beim Deinstallieren des PluginsBenutzer löschenDänemarkDetailsVerzeichnisseDeaktiviere den Zugriff auf das Parameter "rest_route"Deaktiviere KlicknachrichtKopieren deaktivierenDeaktiviere Kopieren/EinfügenDeaktiviere Kopieren/Einfügen-NachrichtDeaktiviere das Kopieren/Einfügen für angemeldete BenutzerDeaktiviere DISALLOW_FILE_EDIT für Live-Websites in der wp-config.php define('DISALLOW_FILE_EDIT', true);Verzeichnisauflistung deaktivierenDeaktiviere Drag & Drop für BilderDeaktiviere Drag & Drop NachrichtDeaktiviere Drag & Drop für eingeloggte BenutzerDeaktiviere Inspect ElementDeaktiviere Inspect Element NachrichtDeaktiviere "Inspect Element" für eingeloggte BenutzerDeaktiviere OptionenDeaktiviere EinfügenDeaktiviere den Zugriff auf die REST-APIDeaktiviere den REST-API-Zugriff für nicht eingeloggte Benutzer.Deaktiviere den Zugriff auf die REST-API unter Verwendung des Parameters 'rest_route'.Deaktiviere den RSD-Endpunkt von XML-RPC.Rechtsklick deaktivierenDeaktiviere das Rechtsklicken für eingeloggte Benutzer.Deaktiviere SCRIPT_DEBUG für Live-Websites in der wp-config.php mit dem Code define('SCRIPT_DEBUG', false);Deaktiviere Ansicht QuelltextDeaktiviere die Nachricht "View Source"Deaktiviere "View Source" für eingeloggte BenutzerDeaktiviere WP_DEBUG für Live-Websites in der wp-config.php mit define('WP_DEBUG', false);Deaktiviere den Zugriff auf XML-RPCDeaktivieren Sie die Kopierfunktion auf Ihrer Website.Deaktivieren Sie das Ziehen und Ablegen von Bildern auf Ihrer WebsiteDeaktivieren Sie die Funktion zum Einfügen auf Ihrer Website.Deaktiviere die RSD (Really Simple Discovery)-Unterstützung für XML-RPC und entferne das RSD-Tag aus dem Header.Deaktiviere den Zugriff auf /xmlrpc.php, um %sBrute-Force-Angriffe über XML-RPC%s zu verhindern.Deaktiviere die Kopieren/Einfügen-Aktion auf deiner Webseite.Deaktiviere die externen Aufrufe zur Datei xml-rpc.php und verhindere Brute-Force-Angriffe.Deaktiviere die Inspektionselement-Ansicht auf deiner Website.Deaktiviere die Rechtsklick-Aktion auf deiner Webseite.Deaktivieren Sie die Rechtsklick-Funktion auf Ihrer Website.Deaktiviere die Quellcode-Ansicht auf deiner WebsiteDEBUG-Informationen im Frontend anzuzeigen ist ein großes Sicherheitsrisiko. Wenn PHP-Fehler auf der Website auftreten, sollten diese nur protokolliert und nicht Besucher angezeigt werden.DschibutiFühren Sie Weiterleitungen für Anmeldung und Abmeldung durchLogge dich nicht aus diesem Browser aus, bis du sicher bist, dass die Anmeldeseite funktioniert und du dich erneut anmelden kannst.Log dich nicht aus deinem Konto aus, bis du sicher bist, dass reCAPTCHA funktioniert und du dich wieder anmelden kannst.Möchtest du den temporären Benutzer löschen?Möchtest du die zuletzt gespeicherten Einstellungen wiederherstellen?DominicaDominikanische RepublikVergiss nicht, den Nginx-Dienst neu zu laden.URLs like domain.com?author=1 should not reveal the user login name.Lass die Hacker keinen Verzeichnisinhalt sehen. Siehe %sUpload-Verzeichnis%s.Lade keine Emoji-Symbole, wenn du sie nicht verwendest.Laden Sie WLW nicht, wenn Sie Windows Live Writer nicht für Ihre Website konfiguriert haben.Laden Sie den oEmbed-Dienst nicht, wenn Sie keine oEmbed-Videos verwenden.Wählen Sie keine Rolle aus, wenn Sie alle Benutzerrollen protokollieren möchtenDone!Lade Debug herunter.Drupal 10Drupal 11Drupal 8Drupal 9NiederländischFEHLER! Bitte stellen Sie sicher, dass Sie einen gültigen Token verwenden, um das Plugin zu aktivieren.FEHLER! Bitte stellen Sie sicher, dass Sie den richtigen Token verwenden, um das Plugin zu aktivieren.EcuadorBenutzer bearbeitenBenutzer bearbeitenBearbeiten Sie die Datei wp-config.php und fügen Sie am Ende der Datei ini_set('display_errors', 0); hinzu.ÄgyptenEl SalvadorElementorE-MailE-Mail AdresseE-Mail-BenachrichtigungE-Mail-Adresse existiert bereits.Die Umstellung auf eine neuere MySQL-Version erfolgt durch den Provider.Die meisten Provider bieten die Möglichkeit über das Admin-Panel die PHP-Version umzustellen.LeerLeeres Captcha. Bitte füllen Sie das Captcha aus.Leere E-Mail-AdresseDurch Aktivieren dieser Option kann die Website langsamer werden, da CSS- und JS-Dateien dynamisch geladen werden anstatt durch Umleitungen, was es ermöglicht, den Text innerhalb von ihnen bei Bedarf zu ändern.EnglischGeben Sie den 32-Zeichen-Token aus der Bestellung/Lizenz auf %s ein.ÄquatorialguineaEritreaFehler! Kein Backup zum Wiederherstellen.Fehler! Das Backup ist ungültig.Fehler! Die neuen Pfade werden nicht korrekt geladen. Löschen Sie den gesamten Cache und versuchen Sie es erneut.Fehler! Die Voreinstellung konnte nicht wiederhergestellt werden.Fehler: Sie haben dieselbe URL zweimal in der URL-Zuordnung eingegeben. Wir haben die Duplikate entfernt, um Weiterleitungsfehler zu vermeiden.Fehler: Sie haben denselben Text zweimal in der Textzuordnung eingegeben. Wir haben die Duplikate entfernt, um Weiterleitungsfehler zu vermeiden.EstlandÄthiopienEuropaAuch wenn die Standardpfade nach der Anpassung durch %s geschützt sind, empfehlen wir, die richtigen Berechtigungen für alle Verzeichnisse und Dateien auf Ihrer Website festzulegen. Verwenden Sie den Dateimanager oder FTP, um die Berechtigungen zu überprüfen und zu ändern. %sWeitere Informationen%s.EreignisprotokollEreignisprotokollberichtEreignisprotokolleinstellungenBei der Entwicklung von neuen Plugins und Themes sollte der JavaScript-DEBUG-Modus verwendet werden. Der WordPress Codex empfiehlt sogar dringend, dass Entwickler WP_DEBUG verwenden.

Leider vergessen viele Entwickler den JavaScript-DEBUG-Modus wieder zu deaktivieren. Die Anzeige von DEBUG-Logs im Frontend verrät Hackern viel über die WordPress Website.Bei der Entwicklung von neuen Plugins und Themes sollte der WP-DEBUG-Modus verwendet werden. Der WordPress Codex empfiehlt sogar dringend, dass Entwickler WP_DEBUG verwenden.

Leider vergessen viele Entwickler den WP-DEBUG-Modus wieder zu deaktivieren. Die Anzeige von DEBUG-Logs im Frontend verrät Hackern viel über die WordPress Website.Beispiel:AblaufzeitAbgelaufenLäuft abDie Offenlegung der PHP-Version wird es Angreifern viel einfacher machen, deine Website anzugreifen.FehlversucheFehlgeschlagenFalklandinseln (Malvinas)Färöer-InselnFeaturesFeed & SitemapFuttersicherheitFidschiDateiberechtigungenDie Dateiberechtigungen in WordPress spielen eine entscheidende Rolle für die Sicherheit der Website. Durch die ordnungsgemäße Konfiguration dieser Berechtigungen wird sichergestellt, dass unbefugte Benutzer keinen Zugriff auf sensible Dateien und Daten erhalten können. Falsche Berechtigungen können Ihre Website versehentlich für Angriffe öffnen und sie anfällig machen. Als WordPress-Administrator ist es wichtig, die Dateiberechtigungen zu verstehen und korrekt einzustellen, um Ihre Website vor möglichen Bedrohungen zu schützen.DateienFilterFinnlandFirewallFirewall & HeadersFirewall gegen SkripteinschleusungFirewall StandortFirewall StärkeDie Firewall gegen Injektionen ist aktiviert.VornameZuerst musst du den %sSicherheitsmodus%s oder den %sGhost-Modus%s aktivieren.Zuerst musst du den %sSicherheitsmodus%s oder den %sGhost-Modus%s in %s aktivieren.Berechtigungen reparierenReparierenBerechtigungen für alle Verzeichnisse und Dateien anpassen (~ 1 min)Berechtigungen für die Hauptverzeichnisse und Dateien anpassen (~ 5 Sekunden)SchwungradSchwungrad erkannt. Fügen Sie die Umleitungen im Schwungrad-Umleitungsregel-Panel %s hinzu.Ordner %s ist durchsuchbarVerbotenFrankreichFranzösischFranzösisch-GuayanaFranzösisch-PolynesienFranzösische Süd- und AntarktisgebieteVon: %s <%s>StartseiteFrontend AnmeldeüberprüfungFrontend TestVollständig kompatibel mit dem Autoptimizer-Cache-Plugin. Funktioniert am besten mit der Option CSS- und JS-Dateien optimieren/aggregieren.Vollständig kompatibel mit dem Beaver Builder Plugin. Funktioniert am besten in Kombination mit einem Cache-Plugin.Vollständig kompatibel mit dem Cache Enabler Plugin. Funktioniert am besten mit der Option zum Minifizieren von CSS- und JS-Dateien.Vollständig kompatibel mit dem Elementor Website Builder-Plugin. Funktioniert am besten in Kombination mit einem Cache-Plugin.Vollständig kompatibel mit dem Fusion Builder Plugin von Avada. Funktioniert am besten zusammen mit einem Cache-Plugin.Vollständig kompatibel mit dem Hummingbird-Cache-Plugin. Funktioniert am besten mit der Option zum Minifizieren von CSS- und JS-Dateien.Vollständig kompatibel mit dem LiteSpeed Cache-Plugin. Funktioniert am besten mit der Option zum Minimieren von CSS- und JS-Dateien.Vollständig kompatibel mit dem Oxygen Builder-Plugin. Funktioniert am besten in Kombination mit einem Cache-Plugin.Vollständig kompatibel mit dem W3 Total Cache-Plugin. Funktioniert am besten mit der Option zum Minimieren von CSS- und JS-Dateien.Vollständig kompatibel mit dem WP Fastest Cache-Plugin. Funktioniert am besten mit der Option zum Minimieren von CSS- und JS-Dateien.Vollständig kompatibel mit dem Cache-Plugin WP Super Cache.Vollständig kompatibel mit dem WP-Rocket-Cache-Plugin. Funktioniert am besten mit der Option Minify/Combine CSS und JS-Dateien.Vollständig kompatibel mit dem Woocommerce-Plugin.Fusion BuilderGabunGambiaAllgemeinGeo SicherheitGeografische Sicherheit ist eine Funktion, die darauf ausgelegt ist, Angriffe aus verschiedenen Ländern zu stoppen und schädliche Aktivitäten aus bestimmten Regionen zu unterbinden.GeorgiaDeutschDeutschlandGhanaGhost ModeGhost Mode + Firewall + Brute Force + Events Log + Two factorGhost Mode wird diese vordefinierten Pfade festlegen.Ghost-ModusGibraltarGeben Sie jedem Plugin zufällige Namen.Geben Sie jedem Thema zufällige Namen (funktioniert in WP Multisite).Globale Klassenbezeichnung erkannt: %s. Lesen Sie zuerst diesen Artikel: %s.Gehe zum Ereignisprotokoll-Panel.Unter Design> Themes werden verfügbare Theme-Updates angezeigt.Unter Plugins > Installierte Plugins werden verfügbare Plugin-Updates angezeigt.GodaddyGodaddy erkannt! Um CSS-Fehler zu vermeiden, stellen Sie sicher, dass Sie das CDN von %s ausschalten.GutGoogle reCAPTCHA V2Google reCAPTCHA V3Google reCaptcha V3 funktioniert nicht mit dem aktuellen Anmeldeformular von %s.Großartig! Das Backup wurde wiederhergestellt.Großartig! Die Ausgangswerte wurden wiederhergestellt.Großartig! Die neuen Pfade werden korrekt geladen.Großartig! Das Voreinstellung wurde geladen.GriechenlandGriechischGrönlandGrenadaGuadeloupeGuamGuatemalaGuernseyGuineaGuinea-BissauGuyanaHaitiEs ist schrecklich, die Admin-URL im Quellcode sichtbar zu haben, da Hacker sofort Ihren geheimen Admin-Pfad kennen und einen Brute-Force-Angriff starten würden. Der benutzerdefinierte Admin-Pfad sollte nicht in der Ajax-URL erscheinen.

Finden Sie Lösungen für %s, wie man den Pfad aus dem Quellcode %s versteckt.Es ist schrecklich, die Login-URL im Quellcode sichtbar zu haben, da Hacker sofort Ihren geheimen Login-Pfad kennen und einen Brute-Force-Angriff starten werden.

Der benutzerdefinierte Login-Pfad sollte geheim gehalten werden und Sie sollten einen Brute-Force-Schutz dafür aktiviert haben.

Finden Sie Lösungen zum %s Verstecken des Login-Pfads im Quellcode hier %s.Das Aktivieren dieser PHP-Direktive macht Ihre Website anfällig für Cross-Site-Angriffe (XSS).

Es gibt absolut keinen gültigen Grund, diese Direktive zu aktivieren, und die Verwendung von PHP-Code, der dies erfordert, ist sehr riskant.KopfzeilensicherheitÜberschriften & FirewallHeard Island und McDonaldinselnHebräischHilfe & FAQsHier ist die Liste der ausgewählten Landkreise, in denen Ihre Website eingeschränkt wird.HideVerberge den Pfad "login".Verberge "wp-admin".Verberge "wp-admin" vor Nicht-Admin-Benutzern.Verberge "wp-login.php"Verberge den /login-Pfad vor Besuchern.Verberge den /wp-admin-Pfad vor Nicht-Administrator-Benutzern.Verberge den /wp-admin-Pfad vor Besuchern.Verberge den Pfad /wp-login.php vor Besuchern.Admin Toolbar ausblendenVerstecke die Admin-Toolbar für Benutzerrollen, um den Zugriff auf das Dashboard zu verhindern.Verberge alle PluginsAutoren ID URL ausblendenVerstecke gemeinsame DateienEinbetten von Skripten ausblendenEmojicons ausblendenVerstecke Feed- & Sitemap-Link-TagsDateiendungen ausblendenHTML-Kommentare ausblendenIDs in META Tags verbergenSpracheumschalter ausblendenHide My WP GhostOptionen ausblendenPfade in der Robots.txt verbergenPlugin-Namen ausblendenVerberge REST API URL-LinkThemenamen ausblendenVersion in Bildern, CSS und JS in WordPress ausblendenVersionen aus Bildern, CSS und JS ausblendenVerberge WLW Manifest-SkripteVerberge WP Common DateienVerberge WP Common PfadeVerberge WordPress Common FilesVerberge WordPress Common PathsVerstecke WordPress DNS Prefetch META-TagsVerberge WordPress Generator META-TagsVerberge den Pfad zu alten WordPress-Plugins.Verberge den Pfad zu alten WordPress-Themes.Verbergen Sie WordPress-Standardpfade in der %s Robots.txt %s-Datei.Verbergen Sie WordPress-Pfade wie wp-admin, wp-content und mehr aus der robots.txt-Datei.Verberge alle Versionen am Ende von Bild-, CSS- und JavaScript-Dateien.Verberge sowohl aktive als auch deaktivierte PluginsErledigte Aufgaben ausblendenPasswort versteckenVerberge die /feed und /sitemap.xml Link-Tags.Verstecke das DNS-Prefetch, das auf WordPress zeigt.Verberge die HTML-Kommentare, die von den Themes und Plugins hinterlassen wurden.Verstecke die IDs in allen <links>, <style>, <scripts> META-Tags.Verberge den neuen Admin-Pfad.Verberge den neuen Anmeldepfad.Verberge die WordPress Generator META-TagsVerberge die Admin-Toolbar für eingeloggte Benutzer im Frontend.Verbergen Sie die Sprachumschalter-Option auf der Anmeldeseite.Verberge den neuen Admin-Pfad vor Besuchern. Zeige den neuen Admin-Pfad nur für eingeloggte Benutzer.Verberge den neuen Anmeldepfad vor Besuchern. Zeige den neuen Anmeldepfad nur bei direktem Zugriff an.Verbergen Sie die alten /wp-content, /wp-include Pfade, sobald sie durch die neuen ersetzt wurden.Verbergen Sie die alten /wp-content, /wp-include Pfade, sobald sie durch die neuen ersetzt wurden.Verbergen Sie den alten /wp-content/plugins-Pfad, sobald er durch den neuen ersetzt wurde.Verberge den alten /wp-content/themes-Pfad, sobald er durch den neuen ersetzt wurde.Verstecke wp-admin von der Ajax-URLVerberge die Dateien wp-config.php, wp-config-sample.php, readme.html, license.txt, upgrade.php und install.php.Verberge die Dateien wp-config.php, wp-config-sample.php, readme.html, license.txt, upgrade.php und install.php.Verberge die wp-json & ?rest_route Link-Tags aus dem Header der WebsiteDas Verbergen der ID aus den Meta-Tags in WordPress kann potenziell den Caching-Prozess von Plugins beeinträchtigen, die zur Identifizierung der Meta-Tags verlassen.HinduistischHeiliger Stuhl (Vatikanstadt)HondurasHongkongHostnameWie lange wird der temporäre Login verfügbar sein, nachdem der Benutzer zum ersten Mal darauf zugegriffen hat.KolibriUngarischUngarnIIS WindowsIIS erkannt. Sie müssen Ihre %s-Datei aktualisieren, indem Sie die folgenden Zeilen nach dem <rules>-Tag hinzufügen: %sIPIP blockiertIslandWenn der reCAPTCHA einen Fehler anzeigt, stellen Sie bitte sicher, dass Sie ihn beheben, bevor Sie fortfahren.Wenn die Umleitungsregeln nicht korrekt im Konfigurationsfile geladen werden, lade das Plugin nicht und ändere die Pfade nicht.Wenn Sie mit dem Admin-Benutzer verbunden sind, müssen Sie sich nach der Änderung erneut anmelden.Wenn du %s nicht konfigurieren kannst, wechsle in den Deaktivierungsmodus und %skontaktiere uns%s.Wenn du reCAPTCHA nicht konfigurieren kannst, wechsel zu Math reCaptcha-Schutz.Nach Möglichkeit sollte die Benutzerregistrierung deaktiviert werden. Dadurch können SPAM-Registrierungen vermieden werden.Wenn du Zugriff auf die php.ini-Datei hast, setze allow_url_include = off oder kontaktiere das Hosting-Unternehmen, um es auszuschalten.Wenn du Zugriff auf die php.ini-Datei hast, setze expose_php = off oder kontaktiere das Hosting-Unternehmen, um es auszuschalten.Wenn du Zugriff auf die php.ini-Datei hast, setze register_globals = off oder kontaktiere das Hosting-Unternehmen, um es auszuschalten.Wenn du Zugriff auf die php.ini-Datei hast, setze safe_mode = off oder kontaktiere das Hosting-Unternehmen, um es auszuschalten.Wenn du irgendwelche Funktionsprobleme bemerkst, wähle den %sSicherheitsmodus%s aus.Wenn du dich einloggen kannst, hast du die neuen Pfade richtig eingestellt.Wenn Sie sich anmelden können, haben Sie reCAPTCHA korrekt eingerichtet.Wenn du Windows Live Writer nicht benutzt, gibt es wirklich keinen gültigen Grund, den Link in der Seitenkopfzeile zu haben, denn das verrät der ganzen Welt, dass du WordPress verwendest.Wenn du keine Really Simple Discovery-Dienste wie Pingbacks verwendest, ist es nicht notwendig, diesen Endpunkt (Link) im Header zu bewerben. Bitte beachte, dass dies für die meisten Websites kein Sicherheitsproblem darstellt, da sie "entdeckt werden wollen". Wenn du jedoch verbergen möchtest, dass du WP verwendest, ist dies der richtige Weg.Wenn Ihre Website Benutzeranmeldungen zulässt, müssen Sie sicherstellen, dass Ihre Anmeldeseite für Ihre Benutzer leicht zu finden ist. Sie müssen auch andere Maßnahmen ergreifen, um sich gegen bösartige Anmeldeversuche zu schützen.

Dennoch ist Verborgenheit eine gültige Sicherheitsebene, wenn sie als Teil einer umfassenden Sicherheitsstrategie verwendet wird und wenn Sie die Anzahl der bösartigen Anmeldeversuche reduzieren möchten. Ihre Anmeldeseite schwer auffindbar zu machen, ist eine Möglichkeit, dies zu erreichen.Sicherheitsaufgabe ignorierenBlocke sofort falsche Benutzernamen auf Anmeldeformularen.In der .htaccess-DateiFrüher war der Standard-Benutzername für das WordPress-Admin-Konto 'admin' oder 'administrator'. Da der Benutzername die Hälfte der Anmeldeinformationen ausmacht, war es für Hacker einfacher, Brute-Force-Angriffe durchzuführen.

Glücklicherweise hat WordPress dies geändert und verlangt nun, dass du bei der Installation von WordPress einen benutzerdefinierten Benutzernamen auswählst.Das Indeed Ultimate Membership Pro wurde erkannt. Das Plugin unterstützt keine benutzerdefinierten %s-Pfade, da es keine WordPress-Funktionen verwendet, um die Ajax-URL aufzurufen.IndienIndonesienIndonesischInfoIn BewegungBewegung erkannt. %sBitte lesen Sie, wie Sie das Plugin mit dem Inmotion Nginx Cache kompatibel machen%sInstallieren/AktivierenIntegration mit anderen CDN-Plugins und benutzerdefinierten CDN-URLs.Ungültiges ReCaptcha. Bitte vervollständigen Sie das ReCaptcha.Ungültige E-Mail-AdresseUngültiger Name erkannt: %s. Fügen Sie nur den Enddateinamen hinzu, um WordPress-Fehler zu vermeiden.Ungültiger Name erkannt: %s. Der Name darf nicht mit / enden, um WordPress-Fehler zu vermeiden.Ungültiger Name erkannt: %s. Der Name darf nicht mit / beginnen, um WordPress-Fehler zu vermeiden.Ungültiger Name erkannt: %s. Die Pfade dürfen nicht mit . enden, um WordPress-Fehler zu vermeiden.Ungültiger Name erkannt: %s. Sie müssen einen anderen Namen verwenden, um WordPress-Fehler zu vermeiden.Ungültiger Benutzername.Iran, Islamische Republik IranIrakIrlandIsle of ManIsraelEs ist wichtig, dass Sie Ihre Einstellungen jedes Mal %s speichern, wenn Sie diese ändern %s. Sie können das Backup verwenden, um andere Websites, die Sie besitzen, zu konfigurieren.Es ist wichtig, die readme.html-Datei zu verstecken oder zu entfernen, da sie WP-Versionseinzelheiten enthält.Es ist wichtig, die gängigen WordPress-Pfade zu verbergen, um Angriffe auf anfällige Plugins und Themes zu verhindern.
Ebenso ist es wichtig, die Namen von Plugins und Themes zu verbergen, um es Bots unmöglich zu machen, sie zu erkennen.Es ist wichtig, gängige WordPress-Pfade wie wp-content und wp-includes umzubenennen, um zu verhindern, dass Hacker wissen, dass du eine WordPress-Website hast.Der DB-DEBUG-Modus sollte NIE auf Produktiven Websites aktiviert werden.ItalienischItalienJCH Optimize CacheJamaikaJananeseJapanJavascript ist in deinem Browser deaktiviert! Du musst Javascript aktivieren, um das %s Plugin zu verwenden.TrikotJoomla 3Joomla 4Joomla 5JordanEine weitere WordPress-SeiteKasachstanKeniaKiribatiWissen, was die anderen Benutzer auf Ihrer Website tun.KoreanischKosovoKuwaitKirgisistanSpracheDemokratische Volksrepublik LaosLetzte 30 Tage SicherheitsstatistikenLetzter ZugriffNachnameLetzte Prüfung:Spätes LadenLettlandLettischErfahren Sie wieLernen Sie, wie Sie den Code hinzufügenLerne, wie man %sVerzeichnis-Browsing%s deaktiviert oder umschaltet %s %s > Pfade ändern > Verzeichnis-Browsing deaktivieren%s%sWebsite als %s einstellen%sLerne, wie man auf Local & Nginx einrichtetLernen Sie, wie Sie auf einem Nginx-Server einrichtenLernen Sie, wie man den Shortcode verwendet.Mehr überErfahren Sie mehr über %s 7G Firewall %s.Erfahren Sie mehr über %s 8G Firewall %s.Leave it blank if you don't want to display any messageLassen Sie es leer, um alle Pfade für die ausgewählten Länder zu blockieren.LibanonLesothoLass uns deine Sicherheit auf das nächste Level bringen!SicherheitsstufeSicherheitsstufenLiberiaLibysch-Arabische DschamahirijaLizenzschlüsselLiechtensteinBegrenzen Sie die Anzahl der erlaubten Anmeldeversuche über das normale Anmeldeformular.LiteSpeedLiteSpeed CacheLitauenLitauischLaden VoreinstellungLade SicherheitsvoreinstellungenLaden, nachdem alle Plugins geladen sind. Am "template_redirects" Hook.Laden Sie, bevor alle Plugins geladen sind. Am "plugins_loaded" Haken.Lade benutzerdefinierte Sprache, wenn die lokale Sprache von WordPress installiert ist.Lade das Plugin als Must-Use-Plugin.Laden, wenn die Plugins initialisiert werden. Am "init" Hook.Lokal & NGINX erkannt. Falls du den Code noch nicht in der NGINX-Konfiguration hinzugefügt hast, füge bitte die folgende Zeile hinzu. %sLocal by FlywheelStandortBenutzer sperrenSperrbildschirm-NachrichtBenutzerrollen protokollierenBenutzerereignisse protokollierenAnmeldung & Abmeldung WeiterleitungenAnmeldung blockiert durchAnmeldepfadLogin Weiterleitung URLAnmeldesicherheitAnmeldetestLogin URLLogout Weiterleitung URLVerlorenes Passwort FormularschutzLuxemburgMacaoMadagaskarMagischer Link-LoginStellen Sie sicher, dass die Weiterleitungs-URLs auf Ihrer Website existieren. %sDie Weiterleitungs-URL für die Benutzerrolle hat eine höhere Priorität als die Standard-Weiterleitungs-URL.Stellen Sie sicher, dass Sie wissen, was Sie tun, wenn Sie die Überschriften ändern.Stellen Sie sicher, dass Sie die Einstellungen speichern und den Cache leeren, bevor Sie Ihre Website mit unserem Tool überprüfen.MalawiMalaysiaMaledivenMaliMaltaVerwalte Schutz vor Brute-Force-Angriffen.Verwalte Anmeldungs- und AbmeldeweiterleitungenVerwalte die IP-Adressen in der Whitelist und BlacklistIP-Adressen manuell blockieren/freigeben.Passen Sie jeden Plugin-Namen manuell an und überschreiben Sie den zufälligen NamenPassen Sie jeden Themenamen manuell an und überschreiben Sie den zufälligen NamenManually whitelist trusted IP addresses.ZuordnungMarshallinselnMartiniqueMathematik & Google reCaptcha-Überprüfung beim Einloggen.Math reCAPTCHAMauretanienMauritiusMaximale Anzahl von FehlversuchenMayotteMittelMitgliedschaftMexikoMikronesien, Föderierte Staaten vonMinimalMinimal (Keine Konfigurationsumschreibungen)Moldawien, Republik MoldauMonacoMongoleiÜberwachen Sie alles, was auf Ihrer WordPress-Website passiert!Überwachen, verfolgen und Ereignisse auf Ihrer Website protokollieren.MontenegroMontserratMehr HilfeMehr Informationen über %sMehr OptionenMarokkoDie meisten WordPress-Installationen werden auf den beliebten Apache, Nginx und IIS-Webservern gehostet.MosambikMuss Plugin-Laden verwendenMein KontoMyanmarMySQL VersionNGINX erkannt. Falls du den Code noch nicht in der NGINX-Konfiguration hinzugefügt hast, füge bitte die folgende Zeile hinzu. %sNameNamibiaNauruNepalNiederlandeNeukaledonienNeue AnmeldedatenNeues Plugin/Theme erkannt! Aktualisieren Sie die %s Einstellungen, um es zu verbergen. %sHier klicken%s.NeuseelandNächste SchritteNginxNicaraguaNigerNigeriaNiueNeinKeine CMS-SimulationKeine kürzlich veröffentlichten AktualisierungenKeine IPs auf der schwarzen ListeKein Protokoll gefunden.Keine temporären Anmeldungen.No, abbrechenAnzahl der SekundenNorfolk-InselNormales LadenNormalerweise wird die Option zum Blockieren von Besuchern beim Durchsuchen von Serververzeichnissen vom Host über die Serverkonfiguration aktiviert, und das zweimalige Aktivieren in der Konfigurationsdatei kann Fehler verursachen. Es ist daher am besten, zuerst zu überprüfen, ob das %sUpload-Verzeichnis%s sichtbar ist.NordkoreaNordmazedonien, RepublikNördliche MarianeninselnNorwegenNorwegerNoch nicht eingeloggtBeachte, dass diese Option das CDN für deine Website nicht aktiviert, aber sie wird die benutzerdefinierten Pfade aktualisieren, wenn du bereits eine CDN-URL mit einem anderen Plugin festgelegt hast.Hinweis! %sPfade ändern sich NICHT physisch%s auf Ihrem Server.Hinweis! Das Plugin wird WP-Cron verwenden, um die Pfade im Hintergrund zu ändern, sobald die Cache-Dateien erstellt sind.Hinweis: Wenn Sie sich nicht auf Ihrer Website anmelden können, greifen Sie einfach auf diese URL zuBenachrichtigungseinstellungenIn Ordnung, ich habe es eingerichtetOmanBei der Initialisierung der WebsiteSobald du das Plugin gekauft hast, erhältst du die %s Zugangsdaten für dein Konto per E-Mail.Eines TagesEine StundeEin MonatEine WocheEin JahrEines der wichtigsten Dateien in Ihrer WordPress-Installation ist die wp-config.php-Datei.
Diese Datei befindet sich im Stammverzeichnis Ihrer WordPress-Installation und enthält die grundlegenden Konfigurationsdetails Ihrer Website, wie z. B. Informationen zur Datenbankverbindung.Ändere diese Option nur, wenn das Plugin den Servertyp nicht korrekt identifizieren kann.Optimiere CSS- und JS-DateienMöglichkeit, den Benutzer auf der Anmeldeseite über die verbleibenden Versuche zu informieren.OptionenVeraltete PluginsVeraltete ThemesÜbersichtSauerstoffPHP VersionPHP `allow_url_include` ist aktiviertPHP expose_php ist aktiviertPHP register_globals ist aktiviertDer PHP-Sicherheitsmodus war einer der Versuche, Sicherheitsprobleme von gemeinsam genutzten Webhosting-Servern zu lösen.

Einige Webhosting-Anbieter verwenden ihn immer noch, jedoch wird dies heutzutage als unangemessen angesehen. Ein systematischer Ansatz zeigt, dass es architektonisch inkorrekt ist, komplexe Sicherheitsprobleme auf PHP-Ebene lösen zu wollen, anstatt auf der Webserver- und Betriebssystemebene.

Technisch gesehen ist der Sicherheitsmodus eine PHP-Direktive, die die Funktionsweise einiger integrierter PHP-Funktionen einschränkt. Das Hauptproblem hier ist die Inkonsistenz. Wenn der Sicherheitsmodus aktiviert ist, kann er viele legitime PHP-Funktionen daran hindern, ordnungsgemäß zu funktionieren. Gleichzeitig gibt es eine Vielzahl von Methoden, um Sicherheitsmodusbeschränkungen mithilfe von nicht eingeschränkten PHP-Funktionen zu umgehen. Wenn ein Hacker bereits Zugriff hat, ist der Sicherheitsmodus nutzlos.PHP safe_mode ist aktiviertSeite nicht gefundenPakistanPalauPalästinensisches GebietPanamaPapua NeuguineaParaguayBestandenPfad nicht erlaubt. Vermeide Pfade wie Plugins und Themes.Wege & OptionenPfade wurden in den vorhandenen Zwischenspeicherdateien geändertPause für 5 Minuten.PermalinksPersischPeruPhilippinenPitcairnBitte beachten Sie, dass wir Sie bitten, von der Aktivierung dieser Funktion abzusehen, wenn Sie nicht der Speicherung von Daten in unserer Cloud zustimmen.Bitte besuchen Sie %s, um Ihren Kauf zu überprüfen und den Lizenzschlüssel zu erhalten.Plugin Loading HookPlugins PfadPlugins SicherheitPlugin-EinstellungenWenn ein Plugin in den letzten 12 Monaten nicht aktualisiert wurde, stellt dies ein echtes Sicherheitsprobleme dar. EMPFEHLUNG: Wenn möglich, ein alternatives und aktuell gehaltenes Plugin verwenden.Plugins/Themes-Editor deaktiviertPolenPolnischPortugalPortugiesischVoreinstellung SicherheitVerhindere kaputtes Website-LayoutPriorität LadenSchützt deinen WooCommerce-Shop vor Brute-Force-Angriffen beim Einloggen.Schützt Ihre Website vor Brute-Force-Angriffen auf das Login mit %s Eine häufige Bedrohung, der Webentwickler gegenüberstehen, ist ein Passwortraten-Angriff, bekannt als Brute-Force-Angriff. Ein Brute-Force-Angriff ist ein Versuch, ein Passwort zu entdecken, indem systematisch jede mögliche Kombination von Buchstaben, Zahlen und Symbolen ausprobiert wird, bis die eine richtige Kombination gefunden wird, die funktioniert.Schützt deine Website vor Brute-Force-Angriffen beim Einloggen.Schützt Ihre Website vor Brute-Force-Angriffen auf das Login.Beweisen Sie, das Sie ein Mensch sind:Puerto RicoKatarSchnelle LösungRDS ist sichtbarZufällige statische NummerBenutzer für 1 Tag reaktivierenWeiterleitung nach dem EinloggenVersteckte Pfade umleitenWeiterleitung von angemeldeten Benutzern zum DashboardLeite temporäre Benutzer nach dem Einloggen auf eine benutzerdefinierte Seite um.Leite die geschützten Pfade /wp-admin, /wp-login auf eine Seite um oder löse einen HTML-Fehler aus.Leite den Benutzer nach dem Login auf eine benutzerdefinierte Seite um.WeiterleitungenEntfernenEntfernen Sie die PHP-Version, Server-Informationen und Server-Signatur aus dem Header.Entferne Plugins Autoren & Stil im Sitemap XMLEntfernen Sie unsichere HeaderEntfernen Sie den Pingback-Link-Tag aus dem Header der Website.Benenne readme.html-Datei um oder schalte %s %s ein > Pfade ändern > Verstecke WordPress-Standarddateien%sBenenne wp-admin/install.php & wp-admin/upgrade.php Dateien um oder schalte %s %s > Pfade ändern > Verberge WordPress Standard-Pfade%sErneuernZurücksetzenEinstellungen zurücksetzenDas Auflösen von Hostnamen kann sich auf die Ladezeit der Website auswirken.Backup wiederherstellenEinstellungen zurücksetzenLebenslauf SicherheitWiedervereinigungRoboter SicherheitRolleEinstellungen zurücksetzenSetzen Sie alle Plugin-Einstellungen auf die ursprünglichen Werte zurück.RumänienRumänischFühre %s Frontend-Test %s aus, um zu überprüfen, ob die neuen Pfade funktionieren.Führen Sie %s Login Test %s durch und melden Sie sich im Popup an.Führen Sie den %sreCAPTCHA-Test%s durch und melden Sie sich im Popup-Fenster an.Führen Sie eine umfassende Sicherheitsüberprüfung durchRussischRussische FöderationRuandaEs ist extrem wichtig eine sichere SSL-Verbindung für das Backend zu verwenden.Abgesicherter ModusSicherer Modus + Firewall + Brute Force + Ereignisprotokoll + Zwei-FaktorSicherer Modus + Firewall + KompatibilitätseinstellungenDer abgesicherte Modus legt diese vordefinierten Pfade festSichere URL:Sicherer ModusSaint BarthélemySankt HelenaSaint Kitts und NevisSaint LuciaSankt MartinSaint-Pierre und MiquelonSaint Vincent und die GrenadinenGültige Salts und SicherheitsschlüsselSamoaSan MarinoSao Tome und PrincipeSaudi-ArabienSpeichernSpeichern Sie das Debug-ProtokollBenutzer speichernGespeichertGespeichert! Diese Aufgabe wird bei zukünftigen Tests ignoriert.Gespeichert! Du kannst den Test erneut durchführen.JavaScript-DEBUG-ModusSucheSuche im Benutzerereignisprotokoll und verwalte die E-Mail-BenachrichtigungenGeheimer SchlüsselGeheime Schlüssel für %sGoogle reCAPTCHA%s.Sichere WP-PfadeSicherheitsprüfungAktualisierte SicherheitsschlüsselSicherheitsstatusDie Sicherheitsschlüssel sind in der "wp-config.php" als Konstanten definiert. Sie sollten so eindeutig und so lang wie möglich sein. AUTH_KEY,SECURE_AUTH_KEY,LOGGED_IN_KEY,NONCE_KEY,AUTH_SALT,SECURE_AUTH_SALT,LOGGED_IN_SALT,NONCE_SALTSicherheitsschlüssel werden verwendet, um eine bessere Verschlüsselung der in den Cookies des Benutzers gespeicherten Informationen und der gehashten Passwörter zu gewährleisten.

Diese machen Ihre Website schwieriger zu hacken, zugreifen und knacken, indem sie zufällige Elemente zum Passwort hinzufügen. Sie müssen sich diese Schlüssel nicht merken. Tatsächlich sehen Sie sie, sobald Sie sie festgelegt haben, nie wieder. Daher gibt es keine Ausrede, sie nicht ordnungsgemäß einzurichten.Sieh dir die Aktionen der letzten Tage auf dieser Website an...Wählen Sie die Voreinstellung.Nutzerrollen auswählenWählen Sie eine voreingestellte Sicherheitseinstellung aus, die wir auf den meisten Websites getestet haben.Alles auswählenWählen Sie aus, wie lange der temporäre Login nach dem ersten Benutzerzugriff verfügbar sein soll.Wählen Sie die Dateierweiterungen aus, die Sie auf alten Pfaden ausblenden möchtenWählen Sie die Dateien aus, die Sie auf alten Pfaden verbergen möchtenAusgewählte LänderSenden Sie mir eine E-Mail mit den geänderten Admin- und Login-URLsSenegalSerbienSerbischServertypBenutzerdefiniertes Cache-Verzeichnis festlegenRichte Anmeldungs- und Abmeldeweiterleitungen basierend auf Benutzerrollen ein.Legen Sie die aktuelle Benutzerrolle fest.Bitte geben Sie die Website an, für die dieser Benutzer erstellt werden soll.EinstellungenSeychellenKurzer Name erkannt: %s. Verwenden Sie eindeutige Pfade mit mehr als 4 Zeichen, um WordPress-Fehler zu vermeiden.AnzeigenZeige /%s anstelle von /%sErweiterte Optionen anzeigenZeige Standardpfade & Erlaube versteckte PfadeZeige Standardpfade & Erlaube AllesZeige eine leere Bildschirmseite an, wenn "Inspect Element" im Browser aktiv ist.Zeige abgeschlossene AufgabenIgnorierte Aufgaben anzeigenZeige Nachricht anstatt AnmeldeformularPasswort anzeigenSierra LeoneAnmeldeformular SchutzVereinfachtes ChinesischCMS simulierenSingapurSint MaartenWebsite-SchlüsselSite keys for %sGoogle reCaptcha%s.SiteGroundSicherheit der SitemapSechs MonateSlowakischSlowakeiSlowenischSlowenienSolide SicherheitSalomoneninselnSomaliaEinige Plugins können benutzerdefinierte Umleitungsregeln aus der .htaccess-Datei entfernen, insbesondere wenn sie beschreibbar ist, was die Funktionalität benutzerdefinierter Pfade beeinträchtigen kann.Einige Themes funktionieren nicht mit benutzerdefinierten Admin- und Ajax-Pfaden. Im Falle von Ajax-Fehlern wechseln Sie zurück zu wp-admin und admin-ajax.php.Es tut mir leid, aber Sie haben keinen Zugang zu dieser Seite.SüdafrikaSüdgeorgien und die Südlichen SandwichinselnSüdkoreaSpanienSpammer können sich leicht anmeldenSpanischSri LankaScan startenSucuri SicherheitSudanSuper AdminSurinameSvalbard und Jan MayenSwasilandSchwedenSchwedischAktiviere %s %s > Pfade ändern > WordPress Standardpfade ausblenden%sSchalte %s %s ein > Pfade ändern > Deaktiviere den Zugriff auf XML-RPC%sSchalte %s %s ein > Pfade ändern > Autor-ID-URL%s ausblendenSchalte %s %s ein > Pfade ändern > RSD-Endpunkt%s ausblendenSchalte %s %s ein > Pfade ändern > Verstecke WordPress-Standarddateien%sSchalte %s %s > Ändere Pfade > Verberge wp-admin von der Ajax-URL%s. Verstecke jegliche Verweise auf den Admin-Pfad von den installierten Plugins.Schalte %s %s > Anpassungen > %s %sAktiviere %s %s > Anpassungen > Verstecke WLW Manifest-Skripte%sSchweizSyrisch-Arabische RepublikSloganTaiwanTadschikistanTansania, Vereinigte RepublikVorübergehender LoginTemporäre AnmeldeeinstellungenVorübergehende AnmeldungenTesten Sie Ihre Website-Überschriften mit.Text & URL ZuordnungText ZuordnungText Mapping in CSS und JS-Dateien einschließlich gecachter DateienText Mapping nur Klassen, IDs, JS-VariablenThailändischThailandDanke für's Nutzen von %s!Der Abschnitt %s wurde hierher %s umplatziert %sDer Ghost-Modus fügt die Umleitungsregeln in die Konfigurationsdatei ein, um die alten Pfade vor Hackern zu verbergen.Die REST-API ist für viele Plugins entscheidend, da sie es ihnen ermöglicht, mit der WordPress-Datenbank zu interagieren und verschiedene Aktionen programmgesteuert durchzuführen.Der abgesicherte Modus fügt die Umleitungsregeln in die Konfigurationsdatei ein, um die alten Pfade vor Hackern zu verbergen.Die sichere URL deaktiviert alle benutzerdefinierten Pfade. Verwende sie nur, wenn du dich nicht einloggen kannst.Die WP-Datenbank ist das Gehirn der gesamten Website in der alle Information gespeichert werden. Mit SQL-Injektionen versuchen Spammer und Hacker Zugriff auf die Datenbank zu bekommen. Dazu verwenden sie den DB-Tabellen-Präfix "wp_" der bei einer Installation von WordPress verwendet wird.

Daher sollte aus Sicherheitsgründen der DB-Tabellen-Präfix "wp_" auf einen schwer zu erratenen Wert geändert werden.Die WordPress-Website-Tagline ist eine kurze Phrase unter dem Seitentitel, ähnlich einem Untertitel oder Werbeslogan. Das Ziel einer Tagline ist es, den Besuchern die Essenz Ihrer Website zu vermitteln.

Wenn Sie die Standard-Tagline nicht ändern, wird es sehr einfach sein festzustellen, dass Ihre Website tatsächlich mit WordPress erstellt wurde.Die Konstante ADMIN_COOKIE_PATH wird in der Datei wp-config.php von einem anderen Plugin definiert. Du kannst %s nicht ändern, es sei denn, du entfernst die Zeile define('ADMIN_COOKIE_PATH', ...);.Die Liste der Plugins und Themes wurde erfolgreich aktualisiert!Die häufigste Methode, um eine Website zu hacken, besteht darin, auf die Domain zuzugreifen und schädliche Abfragen hinzuzufügen, um Informationen aus Dateien und der Datenbank preiszugeben. Diese Angriffe werden auf jede Website durchgeführt, unabhängig davon, ob es sich um WordPress handelt oder nicht, und wenn ein Angriff erfolgreich ist ... wird es wahrscheinlich zu spät sein, um die Website zu retten.Der Plugins- und Themes-Datei-Editor ist ein sehr praktisches Werkzeug, da er es ermöglicht, schnelle Änderungen vorzunehmen, ohne FTP verwenden zu müssen.

Leider ist er auch ein Sicherheitsrisiko, da er nicht nur den PHP-Quellcode anzeigt, sondern es Angreifern auch ermöglicht, bösartigen Code in Ihre Website einzuschleusen, wenn sie Zugriff auf das Admin-Panel erhalten.Der Vorgang wurde durch die Firewall der Website blockiert.Die angeforderte URL %s wurde auf diesem Server nicht gefunden.Der Antwortparameter ist ungültig oder fehlerhaft.Der geheime Parameter ist ungültig oder fehlerhaft.Der geheime Parameter fehlt.Die Sicherheitsschlüssel in der "wp-config.php" sollten in regelmäßigen Abständen erneuert werden.ThemenpfadThemen SicherheitDie Themen sind auf dem neuesten StandEs ist ein kritischer Fehler auf Ihrer Website aufgetreten.Es gab einen kritischen Fehler auf deiner Website. Bitte überprüfen Sie den Posteingang deiner Website-Administrator-E-Mail-Adresse für weitere Anweisungen.Es gibt einen Konfigurationsfehler im Plugin. Bitte speichern Sie die Einstellungen erneut und befolgen Sie die Anweisung.Es ist eine neuere Version von WordPress verfügbar ({Version}).Es steht kein Änderungsprotokoll zur Verfügung.Es gibt so etwas wie ein "unwichtiges Passwort" nicht! Das gilt auch für Ihr WordPress-Datenbankpasswort.
Obwohl die meisten Server so konfiguriert sind, dass auf die Datenbank nicht von anderen Hosts (oder von außerhalb des lokalen Netzwerks) zugegriffen werden kann, bedeutet das nicht, dass Ihr Datenbankpasswort "12345" sein sollte oder gar kein Passwort vorhanden sein sollte.Diese erstaunliche Funktion ist nicht im Grundpaket enthalten. Möchtest du sie freischalten? Installiere oder aktiviere einfach das Advanced Pack und genieße die neuen Sicherheitsfunktionen.Dies ist eines der größten Sicherheitsprobleme, die Sie auf Ihrer Website haben können! Wenn Ihr Hosting-Unternehmen diese Direktive standardmäßig aktiviert hat, wechseln Sie sofort zu einem anderen Unternehmen!Dies funktioniert möglicherweise nicht mit allen neuen mobilen Geräten.Diese Option fügt Rewrite-Regeln zur .htaccess-Datei im Bereich der WordPress-Umschreiberegeln zwischen den Kommentaren # BEGIN WordPress und # END WordPress hinzu.Dadurch wird verhindert, dass die alten Pfade angezeigt werden, wenn ein Bild oder eine Schriftart über ajax aufgerufen wirdDrei TageDrei StundenTimor-LesteUm die Pfade in den zwischengespeicherten Dateien zu ändern, aktivieren Sie %sPfade in zwischengespeicherten Dateien ändern%sUm die Avada-Bibliothek zu verbergen, fügen Sie bitte die Avada FUSION_LIBRARY_URL in die Datei wp-config.php nach der Zeile $table_prefix ein: %sUm die Sicherheit Ihrer Website zu verbessern, erwägen Sie das Entfernen von Autoren und Stilen, die auf WordPress in Ihrer Sitemap XML verweisen.TogoTokelauTongaVerfolgen und protokollieren Sie die Website-Ereignisse und erhalten Sie Sicherheitswarnungen per E-Mail.Verfolgen und protokollieren Sie Ereignisse, die auf Ihrer WordPress-Website auftretenTraditionelles ChinesischTrinidad und TobagoFehlerbehebungTunesienTürkeiTürkischTurkmenistanTurks- und CaicosinselnSchalten Sie die Debug-Plugins aus, wenn Ihre Website live ist. Sie können auch die Option zum Ausblenden der DB-Fehler global $wpdb; $wpdb->hide_errors(); in der Datei wp-config.php hinzufügenTuvaluOptimierungenZwei-Faktor-AuthentifizierungURL-MappingUgandaUkraineUkrainischUltimate Affiliate Pro erkannt. Das Plugin unterstützt keine benutzerdefinierten %s-Pfade, da es keine WordPress-Funktionen verwendet, um die Ajax-URL aufzurufenEs ist nicht möglich, die Datei wp-config.php zu aktualisieren, um das Datenbank-Präfix zu ändern.Rückgängig machenVereinigte Arabische EmirateVereinigtes KönigreichVereinigte StaatenVereinigte Staaten von Amerika, AußengebieteUnbekannter Status für Aktualisierungscheck "%s"Alles entsperrenAktualisieren Sie die Einstellungen auf %s, um die Pfade nach der Änderung des REST-API-Pfads zu aktualisieren.AktualisiertLaden Sie die Datei mit den gespeicherten Plugin-Einstellungen hochUploads PfadDringende Sicherheitsmaßnahmen erforderlichUruguayVerwenden Sie Brute-Force-SchutzVerwenden Sie temporäre AnmeldungenVerwenden Sie die %s-Platzhalter, um es in andere Anmeldeformulare zu integrieren.BenutzerBenutzer 'admin' oder 'administrator' als AdministratorBenutzeraktionBenutzerereignisprotokollBenutzerrolleBenutzersicherheitBenutzer konnte nicht aktiviert werden.Benutzer konnte nicht hinzugefügt werdenBenutzer konnte nicht gelöscht werden.Der Benutzer konnte nicht deaktiviert werden.Benutzerrollen, für wen das Rechtsklicken deaktiviert werden sollBenutzerrollen, für wen das Kopieren/Einfügen deaktiviert werden sollBenutzerrollen, für die das Ziehen und Ablegen deaktiviert werden sollBenutzerrollen für wen das Inspect-Element deaktiviert werden sollBenutzerrollen für die Deaktivierung der Ansicht der QuelleBenutzerrollen, um die Admin-Toolbar auszublendenBenutzer erfolgreich aktiviert.Benutzer erfolgreich erstellt.Benutzer erfolgreich gelöscht.Benutzer erfolgreich deaktiviert.Benutzer erfolgreich aktualisiert.Benutzernamen (im Gegensatz zu Passwörtern) sind nicht geheim. Indem man den Benutzernamen kennt, kann man sich nicht in deren Konto einloggen. Du brauchst auch das Passwort.

Jedoch, indem man den Benutzernamen kennt, ist man einen Schritt näher daran, sich mit dem Benutzernamen einzuloggen, um das Passwort per Brute-Force zu knacken oder auf ähnliche Weise Zugriff zu erhalten.

Deshalb ist es ratsam, die Liste der Benutzernamen zumindest teilweise privat zu halten. Standardmäßig kann man, indem man auf siteurl.com/?author={id} zugreift und durch die IDs von 1 durchläuft, eine Liste von Benutzernamen erhalten, da WP dich zu siteurl.com/author/user/ weiterleitet, wenn die ID im System existiert.Die Verwendung einer alten MySQL-Version verlangsamt die Website und macht diese anfällig für Hackerangriffe aufgrund bekannter Sicherheitslücken.

Es sollte MySQL 5.4 oder verwendet werdenDie Verwendung einer alten Version von PHP macht Ihre Website langsam und anfällig für Hackerangriffe aufgrund bekannter Schwachstellen, die in nicht mehr gewarteten PHP-Versionen existieren.

Sie benötigen PHP 7.4 oder höher für Ihre Website.UsbekistanGültigWertVanuatuVenezuelaVersionen im QuellcodeVietnamVietnamesischDetails anzeigenBritische JungferninselnAmerikanische JungferninselnW3 Total CacheWP KernsicherheitWP Debug ModusWP EngineWP Fastest CacheWP RocketWP Super CacheWP Super Cache CDN erkannt. Bitte fügen Sie die Pfade %s und %s in WP Super Cache > CDN > Eingebundene Verzeichnisse einWPBakery Page BuilderWPPluginsWallis und FutunaSchwacher Name erkannt: %s. Du musst einen anderen Namen verwenden, um die Sicherheit deiner Website zu erhöhen.WebsiteWestsaharaWo sollen die Firewall-Regeln hinzugefügt werden.Whitelist wird auf Deutsch als "Weiße Liste" übersetzt.IPs auf der weißen ListeWhitelist-OptionenWhitelist-PfadeWindows Live Writer ist eingeschaltetWooCommerce Sicheres EinloggenWooCommerce-SupportWoocommerceWoocommerce Magic LinkWordPress Datenbank PasswortStandardberechtigungen von WordPressWordPress-SicherheitsüberprüfungWordPress VersionWordPress XML-RPC ist eine Spezifikation, die darauf abzielt, die Kommunikation zwischen verschiedenen Systemen zu standardisieren. Es verwendet HTTP als Transportmechanismus und XML als Codierungsmechanismus, um eine Vielzahl von Daten zu übertragen.

Die beiden größten Vorteile der API sind ihre Erweiterbarkeit und ihre Sicherheit. XML-RPC authentifiziert sich mit der Basisauthentifizierung. Es sendet den Benutzernamen und das Passwort bei jeder Anfrage, was in Sicherheitskreisen ein absolutes No-Go ist.In regelmäßigen Abständen veröffentlichen Entwickler Theme-Updates, die neue Funktionen bieten oder bekannte Fehler beheben.

Themes auf dem neuesten Stand zu halten ist eine der wichtigsten Aufgaben für die Sicherheit der Website.In regelmäßigen Abständen veröffentlichen Entwickler Plugin-Updates, die neue Funktionen bieten oder bekannte Fehler beheben.

Plugins auf dem neuesten Stand zu halten ist eine der wichtigsten Aufgaben für die Sicherheit der Website.WordPress ist bekannt für seine einfache Installation.
Es ist wichtig, die Dateien wp-admin/install.php und wp-admin/upgrade.php zu verstecken, da es bereits einige Sicherheitsprobleme in Bezug auf diese Dateien gegeben hat.WordPress, Plugins und Themes fügen ihre Versionsinformationen in den Quellcode ein, so dass jeder diese sehen kann.

Hacker können so leicht eine Website mit einer anfälligen Version von Plugins oder Themes finden und diese mit Zero-Day-Exploits angreifen.Wordfence SicherheitWpEngine erkannt. Fügen Sie die Umleitungen im WpEngine Redirect Regelbedienfeld %s hinzu.Fehler beim BenutzernamenschutzXML-RPC SicherheitXML-RPC-Zugriff ist aktiviertJemenJaJa, es funktioniertSie haben bereits ein anderes wp-content/uploads-Verzeichnis in der Datei wp-config.php %s definiertSie können eine einzelne IP-Adresse wie 192.168.0.1 oder einen Bereich von 245 IPs wie 192.168.0.* sperren. Diese IPs können nicht auf die Anmeldeseite zugreifen.Sie können eine neue Seite erstellen und dann wählen, um auf diese Seite umzuleiten.%sNeue Schlüssel generieren%s AUTH_KEY,SECURE_AUTH_KEY,LOGGED_IN_KEY,NONCE_KEY,AUTH_SALT,SECURE_AUTH_SALT,LOGGED_IN_SALT,NONCE_SALTSie können die Option '%s' jetzt ausschalten.Sie können so eingestellt werden, dass Sie Sicherheitswarn-E-Mails erhalten und Datenverlust verhindern.Sie können eine einzelne IP-Adresse wie 192.168.0.1 oder einen Bereich von 245 IPs wie 192.168.0.* in die Whitelist aufnehmen. Finden Sie Ihre IP-Adresse mit %sSie können nicht sowohl ADMIN als auch LOGIN mit demselben Namen festlegen. Bitte verwenden Sie unterschiedliche NamenSie haben keine Berechtigung, auf %s auf diesem Server zuzugreifen.Sie müssen die URL-Umschreibung für IIS aktivieren, um die Permalink-Struktur in benutzerfreundliche URLs (ohne index.php) ändern zu können. %sWeitere Details%sSie müssen eine positive Anzahl von Versuchen festlegen.Sie müssen eine positive Wartezeit festlegen.Sie müssen die Permalink-Struktur auf eine benutzerfreundliche URL (ohne index.php) einstellen.Für WordPress sollte immer die %saktuellste Version %s verwendet werden, da diese in der Regel die neuesten Sicherheitskorrekturen enthält.

Die Verfügbarkeit einer neuen WP-Version wird im Admin-Bereich angezeigt.Die Website sollte wöchentlich auf Sicherheitsänderungen überprüft werden.Ihre %s %s Lizenz ist am %s %s abgelaufen. Um die Sicherheit Ihrer Website auf dem neuesten Stand zu halten, stellen Sie bitte sicher, dass Sie ein gültiges Abonnement auf %saccount.hidemywpghost.com%s habenDeine IP wurde wegen möglicher Sicherheitsverletzungen markiert. Bitte versuche es in Kürze erneut...Die Admin-URL kann auf %s Hosting aufgrund der %s Sicherheitsbestimmungen nicht geändert werden.Die URL Ihres Administrators wird von einem anderen Plugin/Theme in %s geändert. Um diese Option zu aktivieren, deaktivieren Sie das benutzerdefinierte Admin-Panel im anderen Plugin oder deaktivieren Sie es.Die URL für das Anmelden wurde von einem anderen Plugin/Theme in %s geändert. Um diese Option zu aktivieren, deaktiviere das benutzerdefinierte Anmelden im anderen Plugin oder schalte es aus.Dein Anmelde-URL lautet: %sIhre Anmelde-URL lautet: %s. Falls Sie sich nicht anmelden können, verwenden Sie die sichere URL: %sIhr neues Passwort wurde nicht gespeichert.Ihre neuen Website-URLs sindIhre Website-Sicherheit %sist äußerst schwach%s. %sViele Einfallstore für Hacker sind verfügbar.Die Sicherheit Ihrer Website %sist sehr schwach%s. %sViele Einfallstore für Hacker sind verfügbar.Die Sicherheit Ihrer Website wird besser. %sStellen Sie einfach sicher, dass Sie alle Sicherheitsaufgaben erledigen.Die Sicherheit Ihrer Website ist immer noch schwach. %sEinige Stellen die am häufigsten gehackt werden, sind noch nicht abgesichert.Die Sicherheit Ihrer Website ist stark. %sÜberprüfen Sie die Sicherheit jede Woche.SambiaSimbabweFunktion aktivierennach dem ersten ZugriffBereits aktivdunkelStandardPHP-Direktive "display_errors"z. B. *.colocrossing.comz. B. /cart/z. B. /cart/ wird alle Pfade, die mit /cart/ beginnen, freigeben.z. B. /checkout/z. B. /post-type/ blockt alle Pfade, die mit /post-type/ beginnen.z. B. acapbotz. B. alexibotz. B. badsite.comzum Beispiel: gigabotzum Beispiel kanagawa.comzum Beispiel xanax.comzB.z. B. /logout oderz. B. Verw., zurückz. B. Ajax, JSONz. B. Aspekt, Vorlagen, Stilez. B. comments, discussionz. B. core, inc, includez. B. disable_url, safe_urlz. B. images, filesz. B. json, api, callz. B. lib, libraryz. B. Anmeldung oder Einloggenz. B. Abmelden oder Trennenz. B. lostpass oder forgotpassz. B. main.css, theme.css, design.cssz.B. modulesz. B. Multisite-Aktivierungslinkz. B. NeuerBenutzer oder Registrierenz. B. profile, usr, writervonHilfehttps://hidemywp.comAlarm ignorierenDie Dateien install.php & upgrade.php sind zugänglichhellProtokollProtokollemehr DetailsNicht empfohlennur %d ZeichenoderNicht passendMittelPasswortstärke unbekanntStarkSehr schwachSchwachreCAPTCHA-TestreCAPTCHA V2 TestreCAPTCHA V3 TestreCAPTCHA SprachereCAPTCHA ThemeDie readme.html Datei ist zugänglichempfohlenweiterleitungenFunktion anzeigenStarte die FunktionskonfigurationEine neue Version des Plugins %s ist verfügbar.Konnte nicht prüfen, ob Updates für das Plugin %s verfügbar sind.Das %s Plugin ist aktuell.bisZu einfachDie Dateien wp-config.php und wp-config-sample.php sind zugänglichlanguages/hide-my-wp-es_ES.mo000064400000467177147600042240012050 0ustar003)LSooeo pp pe:p%ppppPqhqXqTr>qr>rMr2=s)psBsEs#t tMtDuau eu ou}uu uu u uuePv)v v v v8w?xFxOxxyy0yJy%_yCyTyGz;fz5zLz%{{{L{"|<)|/f|%|||'|}7-}$e}R}!}}5~SQ~~~~,~':/7j3    . @XL+ р߀  $ ;'HpGdSrfjقD  4;8B { MW _k A ܅ %=E M ZePnΆֆކ T \ ftŇԇ6 Q] p|! ƈԈۈ (@]t ~ (I0zL~Fˊ7@S ϋ֋Y GRds Ō4%Q-w(J΍"6<ksdߎQDIUq6M 10;bCF5)_ekFm_Rgx/e@ ` l`xٕݕ  "#9,]ray_nٗpH' ej[^ƙ%B%HanК7ٚ  Y( 1ڛ. ;G[45؜&A͝ʞҞ۞(:Mg|(П %8Lc{@Р371ipv   šСء%@?*  Ǣ!Ӣ +#Fnj٣ "'Jb( ɤ/8!Jl$c $9[^%Ѧ)&!ZHP.O#0s/5Ԩ, 7}"v%/=mv)@F,;Hh87"( 7 AKT]DcF \ h n z ȮPׯ+ݯ ̰1԰ =N](sձuIDzвײ ̳޳bkU ʶֶ޶N 5CJ ft} nt{!ӹ% ?EV6;&M/}  ˻  t"Uc_Q^gexU޾d4f2m3)  =* * 5 ?7`;WUCO Fe'+   %/8 ?MTZ\w! KTYk${1"&)P?c2E]t 1%=Wl%""7AQyF(; P)^.5M;S&k:3UVWSTHWGfgk7  K  +5 =gI Yv!UIF8y`rxMqF8=8=~5Z6 ^M7^-RO-Q}PR s ]Bzhzf )2;B ^io4x    ( 4AH PZlt3#"9\{##7= JR+Z C *4 D N Ye@{=>%96_v  (2BQb{    .9_KR[dio!)$A@@( 6  );C JU\|7. - 8 CM gtY|   n H  + 1;AINQc~   . 5?Q9e#;Z go x R= JRcs| 2"1:@V]nw6~)  '0D  1B )GAXk88?x  "65Ul+ >->l1Yz9&+3=qy>12&>FY` + <5 -r )          +  E f         1 " 1 C 5J  %       -b @ R8O.6  $1?q5 g>C['q&<"% H Vc{   #   '6FN|/c ,   ' -9B Ycj?r954">W| 64 kw  /7<,t,aV`RHGu8]U4 !2A!/t!-! !J! >"J"Z"0p"k"h #<v# #B#%%.a&&Y)' ' ' 'T'u'uq((((F(7A)y)))))) )))*** *** **\o++++ +$,"(, K,LV,,., , ,--+-<@-}-0- -- - --..7.-S.,.+.1.- /,:/g/////c/U2:3 +464<4B4 J4T4l4 t4 44444 4 44 5 5i55 55W566 &6 G6 Q6_6q6666 6667#7<7N7:9>Q<?m@NAMaAAAAAAAP B\BKB6C!CCCt7DQD:D9E.E(EL!FnFRGDHaHODII$JJHJ%K9KPPKKK^KZLLILLLMM%M4M9MAM^M vM8MM>M N N%N 6NCNUNdNhN wNNNNNNNO"O3OGO`O${O OOOOOPP P.'PVP\P`P ePrP PPPP+PP Q(Q?QNQ`QrQQQ Q Q QQ=QE(R-nRR R9R9RTT ]UhU(xUiU V",VOV'gVZVVuW% XHFXHXkXHDY8YBY[ ZeZ![l#[T[[[ \\ \/\ A\M\\\k\v\/u]]] ]e]>_F_N_'_`'1`%Y``;`O`uahaPaELb\bbccWc/cO+dC{d4d(d3e9QeeLe1e*f+f%f: gFgggg7h:9hFthThEiVili'ii#iiij jg'j<jj j jj(j%k-k@kYk1nk!k*k]ktKlllmDno"o*o1o 9oDoVo]o?do oooo ppp pp q]qvq qq$q q2qr#r+r HrSr\\rr rrrrrrsns ss)sss.s(t;t)WttQtttu'u/uMubu kuwu~u)uu uu6u1vQvpvyvv w#wQ+w}whwSw >xHJxXxxy y"y6y>yRy[y yy y z%z*z1z BzPz'ezz#zzz' {73{9k{\{|@!|xb|z|`V}c}Y~u~]~]yEG^8]KAGGMBm؂WF#A҃rS ۄ w{ Ņ&A OeԆ:i)-4n:*Ԋ"ڊp n8x  oʋ:Y ny51ތ,\=NJ4F$Lq?0px!#"Ґ'')Eo& ֑=O'n Ғ!V3>ȓLT[arĔ ʔ֔ 7-.\ zT5& 7A J1V!Ӗ3v))'ʗ%7"P/s<$@,Jm.3k5"1ܚcr3EÛ0 d:b5^8;5ӝ; 5E{o/x~E'Ġ7$-&C`jbˡ..F]:Jߢ*3 I S]f oSyOͣ%4\C  !Ѥ$.G3(>FX2`-j?,l$̫&&ɯ߯YI[c r~İɰݰϲز߲ + 9Q/hAG1 CDNJ޴hZ u ҵ޵'~!amkpjܷuGra0qp=u|30d{ Yair xa3  $,.@[Q"bat־[޾:@T]h3ƿ5<0-m    ad0)AXovV#9(b(xC*.3?ws8T4g#(9U$p7(/N%j"754!2VCWU%6{30?FZ&+44piH#X&YML'"tlmOr~  r:CL Ua TSlJRJtRJjCr+;gYb h r | nC6[,rm2mne} % -9@f< S\cxs (/ LX^Bg #3+:C Zhp w A()j-((7CN{+-5M _sm -\ITN2J;}P cn+ (2[z%:  !$,Q@mB85 4B0wOMGF D  =E KV ^,86 M X cn l  8BJ\ !%hG  - :!W%y   K%"5Xqy@EyM Nol$- 4?/Gbwa[d|$#" .8>S[ox4=.4 :DMM3 P d y  #G k s y   *  S 7 I JL        %A8[[XMI `6FHeh O:TgpKWZRS)+0A H UMa94  *6 EQ i v$ :J;S/Y >*Lw ;j xrNAK] -(WV%D  ! {,    6 -!YL!!!?!" ."&;"b" u"" ""+" "" "# ## ##-#?#N#V#$9$ $)$ %%+%J% S%]%m%~%%%% %%%D%;&<P&9&G&' ':'( ("('( /(;(Y(,i((((((F)*H) s) ~))-))O**dp++-{/7"0KZ017+36c3<3734Y,4 444,44r5D 6)P6z6 88C99h: : ; ;a;|; <<<<c<D =N=`=r==== ===>>> >>> >>l?@ @ $@0@,?@:l@@f@ A>+AjA)zAA'A%A[AVB4^BBBBB B C+C!KC8mCFCHCD6D={DPD E'EBE`EEE|H }I JJJJ JJJ J JJK(K7KOK iKsK KKvK L 5L?LkOL LL*L MM$M=M VM'wMM MM,M% N#3NWNmNgP2TW XYhZ+yZZ"ZZZZSZO[L[>\(\l]t]]]5\^^5,_2b_[__Vabibmcc5d"die)yeejeb-fkfyfJvggggg hhh$hDhchHthhQh!i0i@iSihii iiii iij4jSjkjj"j)jj#k &k33k'gkkkkkk8kll l *l8lGlZl\lml$sll llllllm#m :m FmTm*hm2mAmn(n*nC;nYV~" W{7]meBAmHnW9}02e3^B+v+k-tNY`0)uRz&?1(*f%X!$ #> 1/ qH& fBL bzVa*gMe, 'b$=" mTarxiDHqD&TgNu>"wzU#w%-Z-]%<dR9 k1^ALl\p2H-SFo+w5|dkQauW2K]A57:nR},|~)=I7^:W\I 8y oKD .}E !.</nM.z:YN6WR$58|Og,0;' |ZJ*@r3,4eyOsPJQui!R vS~MLGcV;cJhov QXE\M c: 2-+F4 Gsd%(SjIZs> P?atuj|Jxwi{[Y1*4@y.Dp7 5(<?8)lAt,XO2 9-i5v0GPSe{=t^~_[@$_%h*"#~/l^04; xCfl!9 ,(" 6E <Y6 U0>{*F vP]oZJXB_lgE'_!qd@p%p&kT(I\=Q1&[C 9Um#mjx3"sG:N'}yI)bnd`Uf+)h.'ctL3&C=j+rr]@n8Zc oK#;4EOQhKhKFV `}CM# `2DLjCS[ kV{6br?b3w!s_/\/1)N[<i/Ty?8z'XF;UH>.AxaP7qgTGB`p6  (O$qf3$ #1 Hack Prevention Security Solution: Hide WP CMS, 7G/8G Firewall, Brute Force Protection, 2FA, GEO Security, Temporary Logins, Alerts & more.%1$s is deprecated since version %2$s! Use %3$s instead. Please consider writing more inclusive code.%d %s ago%d %s remaining%s days since last update%s does not work without mode_rewrite. Please activate the rewrite module in Apache. %sMore details%s%s don't have the correct permission.%s is visible in source code%s path is accessible%s plugin(s) are outdated: %s%s plugin(s) have NOT been updated by their developers in the past 12 months: %s%s protects your website from most SQL injections but, if possible, use a custom prefix for database tables to avoid SQL injections. %sRead more%s%s rules are not saved in the config file and this may affect the website loading speed.%s theme(s) are outdated: %s%sClick here%s to create or view keys for Google reCAPTCHA v2.%sClick here%s to create or view keys for Google reCAPTCHA v3.%sERROR:%s Email or Password is incorrect. %s %d attempts left before lockout%sHide the login path%s from theme menu or widget.%sIncorrect ReCaptcha%s. Please try again%sNOTE:%s If you didn't receive the credentials, please access %s.%sYou failed to correctly answer the math problem.%s Please try again(* the plugin has no extra cost, gets installed / activated automatically inside WP when you click the button, and uses the same account)(multiple options are available)(useful when the theme is adding wrong admin redirects or infinite redirects)(works only with the custom admin-ajax path to avoid infinite loops)2FA2FA Login403 Forbidden403 HTML Error404 HTML Error404 Not Found404 page7G Firewall8G FirewallA feature designed to stops attacks from different countries, and to put an end to harmful activity that comes from specific regions.A thorough set of rules can prevent many types of SQL Injection and URL hacks from being interpreted.A user already exists with that username.API SecurityAPI SettingsAWS BitnamiAccording to %sGoogle latest stats%s, over %s 30k websites are hacked every day %s and %s over 30% of them are made in WordPress %s. %s It's better to prevent an attack than to spend a lot of money and time to recover your data after an attack not to mention the situation when your clients' data are stolen.ActionActivateActivate 'Must Use Plugin Loading' from 'Plugin Loading Hook' to be able to connect to your dashboard directly from managewp.com. %s click here %sActivate Brute Force ProtectionActivate Events LogActivate Log Users EventsActivate Temporary LoginsActivate Your PluginActivate info and logs for debugging.Activate the "Brute Force" option to see the user IP blocked reportActivate the "Log Users Events" option to see the user activity log for this websiteActivate the Brute Force protection for Woocommerce login/signup forms.Activate the Brute Force protection on lost password forms.Activate the Brute Force protection on sign up forms.Activate the firewall and prevent many types of SQL Injection and URL hacks.Activate the firewall and select the firewall strength that works for your website %s %s > Change Paths > Firewall & Headers %sActivation HelpAddAdd IP addresses that should always be blocked from accessing this website.Add Content-Security-Policy headerAdd Headers Security against XSS and Code Injection Attacks.Add IP addresses that can pass plugin security.Add IPs that can pass plugin securityAdd New Temporary LoginAdd New Temporary Login UserAdd Rewrites in WordPress Rules SectionAdd Security HeaderAdd Security Headers for XSS and Code Injection AttacksAdd Strict-Transport-Security headerAdd Two Factor security on login page with Code Scan or Email Code authentication.Add X-Content-Type-Options headerAdd X-XSS-Protection headerAdd a list of URLs you want to replace with new ones.Add a random static number to prevent frontend caching while the user is logged in.Add another CDN URLAdd another URLAdd another textAdd common WordPress classes in text mappingAdd paths that can pass plugin securityAdd paths that will be blocked for the selected countries.Add redirects for the logged users based on user roles.Add the CDN URLs you're using in the cache plugin. Admin PathAdmin SecurityAdmin ToolbarAdmin URLAdmin UsernameAdvancedAdvanced PackAdvanced SettingsAfghanistanAfter adding the classes, verify the frontend to ensure that your theme is not affected.After, click %sSave%s to apply the changes.Ajax SecurityAjax URLAland IslandsAlbaniaAlert Emails SentAlgeriaAll ActionsAll In One WP SecurityAll WebsitesAll files have the correct permissions.All plugins are compatibleAll plugins are up to dateAll plugins have been updated by their developers in the past 12 monthsAll the logs are saved on Cloud for 30 days and the report is available if your website is attacked.Allow Hidden PathsAllow users to log in to WooCommerce account using their email address and a unique login URL delivered via email.Allow users to log in to the website using their email address and a unique login URL delivered via email.Allowing anyone to view all files in the Uploads folder with a browser will allow them to easily download all your uploaded files. It's a security and a copyright issue.American SamoaAndorraAngolaAnguillaAntarcticaAntigua and BarbudaApacheArabicAre you sure you want to ignore this task in the future?ArgentinaArmeniaArubaAttention! Some URLs passed through the config file rules and were loaded through WordPress rewrite which may slow down your website. %s Please follow this tutorial to fix the issue: %sAustraliaAustriaAuthor PathAuthor URL by ID accessAuto DetectAutodetectAutomatically redirect the logged in users to the admin dashboardAutoptimizerAzerbaijanBackend under SSLBackup SettingsBackup/RestoreBackup/Restore SettingsBahamasBahrainBan durationBangladeshBarbadosBe sure to include only internal URLs, and use relative paths whenever possible.Beaver BuilderBelarusBelgiumBelizeBeninBermudaBest regardsBhutanBitnami detected. %sPlease read how to make the plugin compatible with AWS hosting%sBlacklistBlacklist IPsBlank Screen On DebuggingBlock CountriesBlock HostnamesBlock IP on login pageBlock ReferrerBlock Specific PathsBlock Theme Detectors CrawlersBlock User AgentsBlock known Users-Agents from popular Theme Detectors.Blocked IPsBlocked IPs ReportBlocked by BoliviaBonaire, Saint Eustatius and SabaBosnia and HerzegovinaBotswanaBouvet IslandBrazilBritish EnglishBritish Indian Ocean TerritoryBrunei DarussalamBrute ForceBrute Force IPs BlockedBrute Force Login ProtectionBrute Force ProtectionBrute Force SettingsBulgariaBulgarianBulletProof plugin! Make sure you save the settings in %s after activating Root Folder BulletProof Mode in BulletProof plugin.Burkina FasoBurundiBy activating, you agree to our %s Terms of Use %s and %sPrivacy Policy%sCDNCDN Enabled detected. Please include %s and %s paths in CDN Enabler SettingsCDN Enabler detected! Learn how to configure it with %s %sClick here%sCDN URLsCONNECTION ERROR! Make sure your website can access: %sCache CSS, JS and Images to increase the frontend loading speed.Cache EnablerCambodiaCameroonCan't download the plugin.CanadaCanadian FrenchCancelCancel the login hooks from other plugins and themes to prevent unwanted login redirects.Cape VerdeCatalan ValencianCayman IslandsCentral African RepublicChadChangeChange OptionsChange PathsChange Paths NowChange Paths for Logged UsersChange Paths in Ajax CallsChange Paths in Cached FilesChange Paths in RSS feedChange Paths in Sitemaps XMLChange Relative URLs to Absolute URLsChange WordPress paths while you're logged inChange paths in RSS feed for all images.Change paths in Sitemap XML files and remove the plugin author and styles.Change the Tagline in %s > %s > %sChange the WordPress common paths in the cached files.Change the signup path from %s %s > Change Paths > Custom Register URL%s or uncheck the option %s > %s > %sChange the text in all CSS and JS files, including those in cached files generated by cache plugins.Change the user 'admin' or 'administrator' with another name to improve security.Change the wp-config.php file permission to Read-Only using File Manager.Change the wp-content, wp-includes and other common paths with %s %s > Change Paths%sChange the wp-login from %s %s > Change Paths > Custom login URL%s and Switch on %s %s > Brute Force Protection%sChanging the predefined security headers may affect the website funtionality.Check Frontend PathsCheck Your WebsiteCheck for updatesCheck if the website paths are working correctly.Check if your website is secured with the current settings.Check the %s RSS feed %s and make sure the image paths are changed.Check the %s Sitemap XML %s and make sure the image paths are changed.Check the website loading speed with %sPingdom Tool%sChileChinaChoose a proper database password, at least 8 characters long with a combination of letters, numbers and special characters. After you change it, set the new password in the wp-config.php file define('DB_PASSWORD', 'NEW_DB_PASSWORD_GOES_HERE');Choose the countries where access to the website should be restricted.Choose the type of server you are using to get the most suitable configuration for your server.Chose what to do when accessing from whitelist IP addresses and whitelisted paths.Christmas IslandClean Login PageClick %sContinue%s to set the predefined paths.Click Backup and the download will start automatically. You can use the Backup for all your websites.Click to run the process to change the paths in the cache files.Close ErrorCloud PanelCloud Panel detected. %sPlease read how to make the plugin compatible with Cloud Panel hosting%sCntCocos (Keeling) IslandsColombiaComments PathComorosCompatibilityCompatibility SettingsCompatibility with Manage WP pluginCompatibility with Token Based Login pluginsCompatible with All In One WP Security plugin. Use them together for Virus Scan, Firewall, Brute Force protection.Compatible with JCH Optimize Cache plugin. Works with all the options to optimize for CSS and JS.Compatible with Solid Security plugin. Use them together for Site Scanner, File Change Detection, Brute Force Protection.Compatible with Sucuri Security plugin. Use them together for Virus Scan, Firewall, File Integrity Monitoring.Compatible with Wordfence Security plugin. Use them together for Malware Scan, Firewall, Brute Force protection.Compatible with all themes and plugins.Complete FixConfigConfig file is not writable. Create the file if not exists or copy to %s file the following lines: %sConfig file is not writable. Create the file if not exists or copy to %s file with the following lines: %sConfig file is not writable. You have to added it manually at the beginning of the %s file: %sConfirm use of weak passwordCongoCongo, The Democratic Republic of theCongratulations! You completed all the security tasks. Make sure you check your site once a week.ContinueConvert links like /wp-content/* into %s/wp-content/*.Cook IslandsCopy LinkCopy the %s SAFE URL %s and use it to deactivate all the custom paths if you can't login.Core Contents PathCore Includes PathCosta RicaCote dIvoireCould not detect the userCould not fix it. You need to change it manually.Could not found anything based on your search.Could not login with this user.Could not rename table %1$s. You may have to rename the table manually.Could not update prefix references in options table.Could not update prefix references in usermeta table.Country BlockingCreateCreate New Temporary LoginCreate a temporary login URL with any user role to access the website dashboard without username and password for a limited period of time.Create a temporary login URL with any user role to access the website dashboard without username and password for a limited period of time. %s This is useful when you need to give admin access to a developer for support or for performing routine tasks.CroatiaCroatianCubaCuracaoCustom Activation PathCustom Admin PathCustom Cache DirectoryCustom Login PathCustom Logout PathCustom Lost Password PathCustom Register PathCustom Safe URL ParamCustom admin-ajax PathCustom author PathCustom comment PathCustom message to show to blocked users.Custom plugins PathCustom theme style nameCustom themes PathCustom uploads PathCustom wp-content PathCustom wp-includes PathCustom wp-json PathCustomize & Secure all WordPress paths from hacker bots attacks.Customize Plugin NamesCustomize Theme NamesCustomize the CSS and JS URLs in your website body.Customize the IDs and Class names in your website body.CyprusCzechCzech RepublicDB Debug ModeDanishDashboardDatabase PrefixDateDeactivatedDebug ModeDefaultDefault Redirect After LoginDefault Temporary Expire TimeDefault User RoleDefault WordPress TaglineDefault user role for which the temporary login will be created.Delete Temporary Users on Plugin UninstallDelete userDenmarkDetailsDirectoriesDisable "rest_route" param accessDisable Click MessageDisable CopyDisable Copy/PasteDisable Copy/Paste MessageDisable Copy/Paste for Logged UsersDisable DISALLOW_FILE_EDIT for live websites in wp-config.php define('DISALLOW_FILE_EDIT', true);Disable Directory BrowsingDisable Drag/Drop ImagesDisable Drag/Drop MessageDisable Drag/Drop for Logged UsersDisable Inspect ElementDisable Inspect Element MessageDisable Inspect Element for Logged UsersDisable OptionsDisable PasteDisable REST API accessDisable REST API access for not logged in usersDisable REST API access using the parameter 'rest_route'Disable RSD Endpoint from XML-RPCDisable Right-ClickDisable Right-Click for Logged UsersDisable SCRIPT_DEBUG for live websites in wp-config.php define('SCRIPT_DEBUG', false);Disable View SourceDisable View Source MessageDisable View Source for Logged UsersDisable WP_DEBUG for live websites in wp-config.php define('WP_DEBUG', false);Disable XML-RPC accessDisable copy function on your websiteDisable image drag & drop on your websiteDisable paste function on your websiteDisable the RSD (Really Simple Discovery) support for XML-RPC & remove RSD tag from headerDisable the access to /xmlrpc.php to prevent %sBrute force attacks via XML-RPC%sDisable the copy/paste action on your website.Disable the external calls to xml-rpc.php file and prevent Brute Force attacks.Disable the inspect element view on your websiteDisable the right-click action on your website.Disable the right-click functionality on your websiteDisable the source-code view on your websiteDisplaying any kind of debug info in the frontend is extremely bad. If any PHP errors happen on your site they should be logged in a safe place and not displayed to visitors or potential attackers.DjiboutiDo Login & Logout RedirectsDo not log out from this browser until you are confident that the Log in page is working and you will be able to login again.Do not logout from your account until you are confident that reCAPTCHA is working and you will be able to login again.Do you want to delete temporary user?Do you want to restore the last saved settings?DominicaDominican RepublicDon't forget to reload the Nginx service.Don't let URLs like domain.com?author=1 show the user login nameDon't let hackers see any directory content. See %sUploads Directory%sDon't load Emoji Icons if you don't use themDon't load WLW if you didn't configure Windows Live Writer for your siteDon't load oEmbed service if you don't use oEmbed videosDon't select any role if you want to log all user rolesDone!Download DebugDrupal 10Drupal 11Drupal 8Drupal 9DutchERROR! Please make sure you use a valid token to activate the pluginERROR! Please make sure you use the right token to activate the pluginEcuadorEdit UserEdit userEdit wp-config.php and add ini_set('display_errors', 0); at the end of the fileEgyptEl SalvadorElementorEmailEmail AddressEmail NotificationEmail address already existsEmail your hosting company and tell them you'd like to switch to a newer version of MySQL or move your site to a better hosting companyEmail your hosting company and tell them you'd like to switch to a newer version of PHP or move your site to a better hosting company.EmptyEmpty ReCaptcha. Please complete reCaptcha.Empty email addressEnabling this option may slow down the website, as CSS and JS files will load dynamically instead of through rewrites, allowing the text within them to be modified as needed.EnglishEnter the 32 chars token from Order/Licence on %sEquatorial GuineaEritreaError! No backup to restore.Error! The backup is not valid.Error! The new paths are not loading correctly. Clear all cache and try again.Error! The preset could not be restored.Error: You entered the same URL twice in the URL Mapping. We removed the duplicates to prevent any redirect errors.Error: You entered the same text twice in the Text Mapping. We removed the duplicates to prevent any redirect errors.EstoniaEthiopiaEuropeEven if the default paths are protected by %s after customization, we recommend setting the correct permissions for all directories and files on your website, use File Manager or FTP to check and change the permissions. %sRead more%sEvents LogEvents Log ReportEvents Log SettingsEvery good developer should turn on debugging before getting started on a new plugin or theme. In fact, the WordPress Codex 'highly recommends' that developers use SCRIPT_DEBUG. Unfortunately, many developers forget the debug mode even when the website is live. Showing debug logs in the frontend will let hackers know a lot about your WordPress website.Every good developer should turn on debugging before getting started on a new plugin or theme. In fact, the WordPress Codex 'highly recommends' that developers use WP_DEBUG.

Unfortunately, many developers forget the debug mode, even when the website is live. Showing debug logs in the frontend will let hackers know a lot about your WordPress website.Example:Expire TimeExpiredExpiresExposing the PHP version will make the job of attacking your site much easier.Fail AttemptsFailedFalkland Islands (Malvinas)Faroe IslandsFeaturesFeed & SitemapFeed SecurityFijiFile PermissionsFile permissions in WordPress play a critical role in website security. Properly configuring these permissions ensures that unauthorized users cannot gain access to sensitive files and data.
Incorrect permissions can inadvertently open your website to attacks, making it vulnerable.
As a WordPress administrator, understanding and correctly setting file permissions are essential for safeguarding your site against potential threats.FilesFilterFinlandFirewallFirewall & HeadersFirewall Against Script InjectionFirewall LocationFirewall StrengthFirewall against injections is loadedFirst NameFirst, you need to activate the %sSafe Mode%s or %sGhost Mode%sFirst, you need to activate the %sSafe Mode%s or %sGhost Mode%s in %sFix PermissionsFix itFix permission for all directories and files (~ 1 min)Fix permission for the main directories and files (~ 5 sec)FlywheelFlywheel detected. Add the redirects in the Flywheel Redirect rules panel %s.Folder %s is browsableForbiddenFranceFrenchFrench GuianaFrench PolynesiaFrench Southern TerritoriesFrom: %s <%s>Front pageFrontend Login TestFrontend TestFully compatible with Autoptimizer cache plugin. Works best with the the option Optimize/Aggregate CSS and JS files.Fully compatible with Beaver Builder plugin. Works best together with a cache plugin.Fully compatible with Cache Enabler plugin. Works best with the the option Minify CSS and JS files.Fully compatible with Elementor Website Builder plugin. Works best together with a cache pluginFully compatible with Fusion Builder plugin by Avada. Works best together with a cache plugin.Fully compatible with Hummingbird cache plugin. Works best with the the option Minify CSS and JS files.Fully compatible with LiteSpeed Cache plugin. Works best with the the option Minify CSS and JS files.Fully compatible with Oxygen Builder plugin. Works best together with a cache plugin.Fully compatible with W3 Total Cache plugin. Works best with the the option Minify CSS and JS files.Fully compatible with WP Fastest Cache plugin. Works best with the the option Minify CSS and JS files.Fully compatible with WP Super Cache cache plugin.Fully compatible with WP-Rocket cache plugin. Works best with the the option Minify/Combine CSS and JS files.Fully compatible with Woocommerce plugin.Fusion BuilderGabonGambiaGeneralGeo SecurityGeographic Security is a feature designed to stops attacks from different countries, and to put an end to harmful activity that comes from specific regions.GeorgiaGermanGermanyGhanaGhost ModeGhost Mode + Firewall + Brute Force + Events Log + Two factorGhost Mode will set these predefined pathsGhost modeGibraltarGive random names to each pluginGive random names to each theme (works in WP multisite)Global class name detected: %s. Read this article first: %sGo to Events Log PanelGo to the Dashboard > Appearance section and update all the themes to the last version.Go to the Dashboard > Plugins section and update all the plugins to the last version.GodaddyGodaddy detected! To avoid CSS errors, make sure you switch off the CDN from %sGoodGoogle reCAPTCHA V2Google reCAPTCHA V3Google reCaptcha V3 is not working with the current login form of %s .Great! The backup is restored.Great! The initial values are restored.Great! The new paths are loading correctly.Great! The preset was loaded.GreeceGreekGreenlandGrenadaGuadeloupeGuamGuatemalaGuernseyGuineaGuinea-BissauGuyanaHaitiHaving the admin URL visible in the source code it's awful because hackers will immediately know your secret admin path and start a Brute Force attack. The custom admin path should not appear in the ajax URL.

Find solutions for %s how to hide the path from source code %s.Having the login URL visible in the source code is awful because hackers will immediately know your secret login path and start a Brute Force attack.

The custom login path should be kept secret, and you should have Brute Force Protection activated for it.

Find solutions for %s hiding the login path from source code here %s.Having this PHP directive enabled will leave your site exposed to cross-site attacks (XSS).

There's absolutely no valid reason to enable this directive, and using any PHP code that requires it is very risky.Header SecurityHeaders & FirewallHeard Island and McDonald IslandsHebrewHelp & FAQsHere is the list of select counties where your website will be restricted..HideHide "login" PathHide "wp-admin"Hide "wp-admin" From Non-Admin UsersHide "wp-login.php"Hide /login path from visitors.Hide /wp-admin path from non-administrator users.Hide /wp-admin path from visitors.Hide /wp-login.php path from visitors.Hide Admin ToolbarHide Admin Toolbar for users roles to prevent dashboard access.Hide All The PluginsHide Author ID URLHide Common FilesHide Embed scriptsHide EmojiconsHide Feed & Sitemap Link TagsHide File ExtensionsHide HTML CommentsHide IDs from META TagsHide Language SwitcherHide My WP GhostHide OptionsHide Paths in Robots.txtHide Plugin NamesHide REST API URL linkHide Theme NamesHide Version from Images, CSS and JS in WordPressHide Versions from Images, CSS and JSHide WLW Manifest scriptsHide WP Common FilesHide WP Common PathsHide WordPress Common FilesHide WordPress Common PathsHide WordPress DNS Prefetch META TagsHide WordPress Generator META TagsHide WordPress Old Plugins PathHide WordPress Old Themes PathHide WordPress common paths from %s Robots.txt %s file.Hide WordPress paths such as wp-admin, wp-content, and more from robots.txt file.Hide all versions from the end of any Image, CSS and JavaScript files.Hide both active and deactivated pluginsHide completed tasksHide passwordHide the /feed and /sitemap.xml link TagsHide the DNS Prefetch that points to WordPressHide the HTML Comments left by the themes and pluginsHide the IDs from all <links>, <style>, <scripts> META TagsHide the New Admin PathHide the New Login PathHide the WordPress Generator META tagsHide the admin toolbar for logged users while in frontend.Hide the language switcher option on the login pageHide the new admin path from visitors. Show the new admin path only for logged users.Hide the new login path from visitors. Show the new login path only for direct access.Hide the old /wp-content, /wp-include paths once they are changed with the new onesHide the old /wp-content, /wp-include paths once they are changed with the new ones.Hide the old /wp-content/plugins path once it's changed with the new oneHide the old /wp-content/themes path once it's changed with the new oneHide wp-admin from Ajax URLHide wp-config.php , wp-config-sample.php, readme.html, license.txt, upgrade.php and install.php filesHide wp-config.php, wp-config-sample.php, readme.html, license.txt, upgrade.php and install.php files..Hide wp-json & ?rest_route link tag from website headerHiding the ID from meta tags in WordPress can potentially impact the caching process of plugins that rely on identifying the meta tags.HindiHoly See (Vatican City State)HondurasHong KongHostnameHow long the temporary login will be available after the user first access.HummingbirdHungarianHungaryIIS WindowsIIS detected. You need to update your %s file by adding the following lines after <rules> tag: %sIPIP BlockedIcelandIf the reCAPTCHA displays any error, please make sure you fix them before moving forward.If the rewrite rules are not loading correctly in the config file, do not load the plugin and do not change the paths.If you are connected with the admin user, you will have to re-login after the change.If you can't configure %s, switch to Deactivated Mode and %scontact us%s.If you can't configure reCAPTCHA, switch to Math reCaptcha protection.If you do not have an e-commerce, membership or guest posting website, you shouldn't let users subscribe to your blog. You will end up with spam registrations and your website will be filled with spammy content and comments.If you have access to php.ini file, set allow_url_include = off or contact the hosting company to set it offIf you have access to php.ini file, set expose_php = off or contact the hosting company to set it offIf you have access to php.ini file, set register_globals = off or contact the hosting company to set it offIf you have access to php.ini file, set safe_mode = off or contact the hosting company to set it offIf you notice any functionality issue please select the %sSafe Mode%s.If you're able to log in, you've set the new paths correctly.If you're able to login, you've set reCAPTCHA correctly.If you're not using Windows Live Writer there's really no valid reason to have its link in the page header, because this tells the whole world you're using WordPress.If you're not using any Really Simple Discovery services such as pingbacks, there's no need to advertise that endpoint (link) in the header. Please note that for most sites this is not a security issue because they "want to be discovered", but if you want to hide the fact that you're using WP, this is the way to go.If your site allows user logins, you need your login page to be easy to find for your users. You also need to do other things to protect against malicious login attempts.

However, obscurity is a valid security layer when used as part of a comprehensive security strategy, and if you want to cut down on the number of malicious login attempts. Making your login page difficult to find is one way to do that.Ignore security taskImmediately block incorrect usernames on login forms.In .htaccess fileIn the old days, the default WordPress admin username was 'admin' or 'administrator'. Since usernames make up half of the login credentials, this made it easier for hackers to launch brute-force attacks.

Thankfully, WordPress has since changed this and now requires you to select a custom username at the time of installing WordPress.Indeed Ultimate Membership Pro detected. The plugin doesn't support custom %s paths as it doesn't use WordPress functions to call the Ajax URLIndiaIndonesiaIndonesianInfoInmotionInmotion detected. %sPlease read how to make the plugin compatible with Inmotion Nginx Cache%sInstall/ActivateIntegration with other CDN plugins and custom CDN URLs.Invalid ReCaptcha. Please complete reCaptcha.Invalid email addressInvalid name detected: %s. Add only the final path name to avoid WordPress errors.Invalid name detected: %s. The name can't end with / to avoid WordPress errors.Invalid name detected: %s. The name can't start with / to avoid WordPress errors.Invalid name detected: %s. The paths can't end with . to avoid WordPress errors.Invalid name detected: %s. You need to use another name to avoid WordPress errors.Invalid username.Iran, Islamic Republic ofIraqIrelandIsle of ManIsraelIt's important to %s save your settings every time you change them %s. You can use the backup to configure other websites you own.It's important to hide or remove the readme.html file because it contains WP version details.It's important to hide the common WordPress paths to prevent attacks on vulnerable plugins and themes.
Also, it's important to hide the names of plugins and themes to make it impossible for bots to detect them.It's important to rename common WordPress paths, such as wp-content and wp-includes to prevent hackers from knowing that you have a WordPress website.It's not safe to have Database Debug turned on. Make sure you don't use Database debug on live websites.ItalianItalyJCH Optimize CacheJamaicaJananeseJapanJavascript is disabled on your browser! You need to activate the javascript in order to use %s plugin.JerseyJoomla 3Joomla 4Joomla 5JordanJust another WordPress siteKazakhstanKenyaKiribatiKnow what the other users are doing on your website.KoreanKosovoKuwaitKyrgyzstanLanguageLao Peoples Democratic RepublicLast 30 days Security StatsLast AccessLast NameLast check:Late LoadingLatviaLatvianLearn HowLearn How To Add the CodeLearn how to disable %sDirectory Browsing%s or switch on %s %s > Change Paths > Disable Directory Browsing%sLearn how to set your website as %s. %sClick Here%sLearn how to setup on Local & NginxLearn how to setup on Nginx serverLearn how to use the shortcodeLearn more aboutLearn more about %s 7G firewall %s.Learn more about %s 8G firewall %s.Leave it blank if you don't want to display any messageLeave it blank to block all paths for the selected countries.LebanonLesothoLet's take your security to the next level!Level of SecurityLevels of securityLiberiaLibyan Arab JamahiriyaLicence TokenLiechtensteinLimit the number of allowed login attempts using normal login form.LiteSpeedLiteSpeed CacheLithuaniaLithuanianLoad PresetLoad Security PresetsLoad after all plugins are loaded. On "template_redirects" hook.Load before all plugins are loaded. On "plugins_loaded" hook.Load custom language is WordPress local language is installed.Load the plugin as a Must Use plugin.Load when the plugins are initialized. On "init" hook.Local & NGINX detected. In case you didn't add the code in the NGINX config already, please add the following line. %sLocal by FlywheelLocationLock userLockout MessageLog User RolesLog Users EventsLogin & Logout RedirectsLogin Blocked by Login PathLogin Redirect URLLogin SecurityLogin TestLogin URLLogout Redirect URLLost Password Form ProtectionLuxembourgMacaoMadagascarMagic Link LoginMake sure the redirect URLs exist on your website. %sThe User Role redirect URL has higher priority than the Default redirect URL.Make sure you know what you do when changing the headers.Make sure you save the settings and empty the cache before checking your website with our tool.MalawiMalaysiaMaldivesMaliMaltaManage Brute Force ProtectionManage Login and Logout RedirectsManage whitelist & blacklist IP addressesManually block/unblock IP addresses.Manually customize each plugin name and overwrite the random nameManually customize each theme name and overwrite the random nameManually whitelist trusted IP addresses.MappingMarshall IslandsMartiniqueMath & Google reCaptcha verification while logging in.Math reCAPTCHAMauritaniaMauritiusMax fail attemptsMayotteMediumMembershipMexicoMicronesia, Federated States ofMinimalMinimal (No Config Rewrites)Moldova, Republic ofMonacoMongoliaMonitor everything that happens on your WordPress site!Monitor, track and log events on your website.MontenegroMontserratMore HelpMore information about %sMore optionsMoroccoMost WordPress installations are hosted on the popular Apache, Nginx and IIS web servers.MozambiqueMust Use Plugin LoadingMy AccountMyanmarMysql VersionNGINX detected. In case you didn't add the code in the NGINX config already, please add the following line. %sNameNamibiaNauruNepalNetherlandsNew CaledoniaNew Login DataNew Plugin/Theme detected! Update %s settings to hide it. %sClick here%sNew ZealandNext StepsNginxNicaraguaNigerNigeriaNiueNoNo CMS SimulationNo Recent Updates ReleasedNo blacklisted ipsNo log found.No temporary logins.No, abortNo. of secondsNorfolk IslandNormal LoadingNormally, the option to block visitors from browsing server directories is activated by the host through server configuration, and activating it twice in the config file may cause errors, so it's best to first check if the %sUploads Directory%s is visible.North KoreaNorth Macedonia, Republic ofNorthern Mariana IslandsNorwayNorwegianNot yet logged inNote that this option won't activate the CDN for your website, but it will update the custom paths if you've already set a CDN URL with another plugin.Note! %sPaths are NOT physically change%s on your server.Note! The plugin will use WP cron to change the paths in background once the cache files are created.Note: If you can`t login to your site, just access this URLNotification SettingsOkay, I set it upOmanOn website initializationOnce you bought the plugin, you will receive the %s credentials for your account by email.One DayOne HourOne MonthOne WeekOne YearOne of the most important files in your WordPress installation is the wp-config.php file.
This file is located in the root directory of your WordPress installation and contains your website's base configuration details, such as database connection information.Only change this option if the plugin fails to identify the server type correctly.Optimize CSS and JS filesOption to inform user about remaining attempts on login page.OptionsOutdated PluginsOutdated ThemesOverviewOxygenPHP VersionPHP allow_url_include is onPHP expose_php is onPHP register_globals is onPHP safe mode was one of the attempts to solve security problems of shared web hosting servers.

It is still being used by some web hosting providers, however, nowadays this is regarded as improper. A systematic approach proves that it’s architecturally incorrect to try solving complex security issues at the PHP level, rather than at the web server and OS levels.

Technically, safe mode is a PHP directive that restricts the way some built-in PHP functions operate. The main problem here is inconsistency. When turned on, PHP safe mode may prevent many legitimate PHP functions from working correctly. At the same time there exists a variety of methods to override safe mode limitations using PHP functions that aren’t restricted, so if a hacker has already got in – safe mode is useless.PHP safe_mode is onPage Not FoundPakistanPalauPalestinian TerritoryPanamaPapua New GuineaParaguayPassedPath not allowed. Avoid paths like plugins and themes.Paths & OptionsPaths changed in the existing cache filesPause for 5 minutesPermalinksPersianPeruPhilippinesPitcairnPlease be aware that if you do not consent to storing data on our Cloud, we kindly request that you refrain from activating this feature.Please visit %s to check your purchase and to get the license token.Plugin Loading HookPlugins PathPlugins SecurityPlugins SettingsPlugins that have not been updated in the last 12 months can have real security problems. Make sure you use updated plugins from WordPress Directory.Plugins/Themes editor disabledPolandPolishPortugalPortuguesePreset SecurityPrevent Broken Website LayoutPriority LoadingProtects your WooCommerce shop against brute force login attacks.Protects your website against Brute Force login attacks using %s A common threat web developers face is a password-guessing attack known as a Brute Force attack. A Brute Force attack is an attempt to discover a password by systematically trying every possible combination of letters, numbers, and symbols until you discover the one correct combination that works.Protects your website against Brute Force login attacks.Protects your website against brute force login attacks.Prove your humanity:Puerto RicoQatarQuick FixRDS is visibleRandom Static NumberReactivate user for 1 dayRedirect After LoginRedirect Hidden PathsRedirect Logged Users To DashboardRedirect temporary users to a custom page after login.Redirect the protected paths /wp-admin, /wp-login to a Page or trigger an HTML Error.Redirect user to a custom page after login.RedirectsRemoveRemove PHP version, Server info, Server Signature from header.Remove Plugins Authors & Style in Sitemap XMLRemove Unsafe HeadersRemove pingback link tag from the website header.Rename readme.html file or switch on %s %s > Change Paths > Hide WordPress Common Files%sRename wp-admin/install.php & wp-admin/upgrade.php files or switch on %s %s > Change Paths > Hide WordPress Common Paths%sRenewResetReset SettingsResolving hostnames may affect the website loading speed.Restore BackupRestore SettingsResume SecurityReunionRobots SecurityRoleRollback SettingsRollback all the plugin settings to initial values.RomaniaRomanianRun %s Frontend Test %s to check if the new paths are working.Run %s Login Test %s and log in inside the popup.Run %sreCAPTCHA Test%s and login inside the popup.Run Full Security CheckRussianRussian FederationRwandaSSL is an abbreviation used for Secure Sockets Layers, which are encryption protocols used on the internet to secure information exchange and provide certificate information.

These certificates provide an assurance to the user about the identity of the website they are communicating with. SSL may also be called TLS or Transport Layer Security protocol.

It's important to have a secure connection for the Admin Dashboard in WordPress.Safe ModeSafe Mode + Firewall + Brute Force + Events Log + Two factorSafe Mode + Firewall + Compatibility SettingsSafe Mode will set these predefined pathsSafe URL:Safe modeSaint BartelemeySaint HelenaSaint Kitts and NevisSaint LuciaSaint MartinSaint Pierre and MiquelonSaint Vincent and the GrenadinesSalts and Security Keys validSamoaSan MarinoSao Tome and PrincipeSaudi ArabiaSaveSave Debug LogSave UserSavedSaved! This task will be ignored on future tests.Saved! You can run the test again.Script Debug ModeSearchSearch in user events log and manage the email alertsSecret KeySecret keys for %sGoogle reCAPTCHA%s.Secure WP PathsSecurity CheckSecurity Keys UpdatedSecurity StatusSecurity keys are defined in wp-config.php as constants on lines. They should be as unique and as long as possible. AUTH_KEY,SECURE_AUTH_KEY,LOGGED_IN_KEY,NONCE_KEY,AUTH_SALT,SECURE_AUTH_SALT,LOGGED_IN_SALT,NONCE_SALTSecurity keys are used to ensure better encryption of information stored in the user's cookies and hashed passwords.

These make your site more difficult to hack, access and crack by adding random elements to the password. You don't have to remember these keys. In fact, once you set them you'll never see them again. Therefore, there's no excuse for not setting them properly.See the last days actions on this website ...Select PresetSelect User RolesSelect a preset security settings we've tested on most websites.Select allSelect how long the temporary login will be available after the first user access.Select the file extensions you want to hide on old pathsSelect the files you want to hide on old pathsSelected CountriesSend me an email with the changed admin and login URLsSenegalSerbiaSerbianServer TypeSet Custom Cache DirectorySet Login & Logout Redirects based on User Roles.Set the current user role.Set the website you want this user to be created for.SettingsSeychellesShort name detected: %s. You need to use unique paths with more than 4 chars to avoid WordPress errors.ShowShow /%s instead of /%sShow Advanced OptionsShow Default Paths & Allow Hidden PathsShow Defaults Paths & Allow EverythingShow blank screen when Inspect Element is active on browser.Show completed tasksShow ignored tasksShow message instead of login formShow passwordSierra LeoneSign Up Form ProtectionSimplified ChineseSimulate CMSSingaporeSint MaartenSite keySite keys for %sGoogle reCaptcha%s.SiteGroundSitemap SecuritySix MonthsSlovakSlovakiaSloveneSloveniaSolid SecuritySolomon IslandsSomaliaSome plugins may remove custom rewrite rules from the .htaccess file, especially if it's writable, which can affect the functionality of custom paths..Some themes don't work with custom Admin and Ajax paths. In case of ajax errors, switch back to wp-admin and admin-ajax.php.Sorry, you are not allowed to access this page.South AfricaSouth Georgia and the South Sandwich IslandsSouth KoreaSpainSpammers can easily signupSpanishSri LankaStart ScanSucuri SecuritySudanSuper AdminSurinameSvalbard and Jan MayenSwazilandSwedenSwedishSwitch on %s %s > Change Paths > Hide WordPress Common Paths%sSwitch on %s %s > Change Paths > Disable XML-RPC access%sSwitch on %s %s > Change Paths > Hide Author ID URL%sSwitch on %s %s > Change Paths > Hide RSD Endpoint%sSwitch on %s %s > Change Paths > Hide WordPress Common Files%sSwitch on %s %s > Change Paths > Hide wp-admin from ajax URL%s. Hide any reference to admin path from the installed plugins.Switch on %s %s > Tweaks > %s %sSwitch on %s %s > Tweaks > Hide WLW Manifest scripts%sSwitzerlandSyrian Arab RepublicTaglineTaiwanTajikistanTanzania, United Republic ofTemporary LoginTemporary Login SettingsTemporary LoginsTest your website headers withText & URL MappingText MappingText Mapping in CSS and JS files including cached filesText Mapping only Classes, IDs, JS variablesThaiThailandThank you for using %s!The %s section has been relocated %s here %sThe Ghost Mode will add the rewrites rules in the config file to hide the old paths from hackers.The REST API is crucial for many plugins as it allows them to interact with the WordPress database and perform various actions programmatically.The Safe Mode will add the rewrites rules in the config file to hide the old paths from hackers.The Safe URL will deactivate all the custom paths. Use it only if you can't login.The WordPress database is like a brain for your entire WordPress site, because every single bit of information about your site is stored there, thus making it a hacker’s favorite target.

Spammers and hackers run automated code for SQL injections.
Unfortunately, many people forget to change the database prefix when they install WordPress.
This makes it easier for hackers to plan a mass attack by targeting the default prefix wp_.The WordPress site tagline is a short phrase located under the site title, similar to a subtitle or advertising slogan. The goal of a tagline is to convey the essence of your site to visitors.

If you don't change the default tagline it will be very easy to detect that your website was actually built with WordPressThe constant ADMIN_COOKIE_PATH is defined in wp-config.php by another plugin. You can't change %s unless you remove the line define('ADMIN_COOKIE_PATH', ...);.The list of plugins and themes was updated with success!The most common way to hack a website is by accessing the domain and adding harmful queries in order to reveal information from files and database.
These attacks are made on any website, WordPress or not, and if a call succeeds … it will probably be too late to save the website.The plugins and themes file editor is a very convenient tool because it enables you to make quick changes without the need to use FTP.

Unfortunately, it's also a security issue because it not only shows the PHP source code, it also enables attackers to inject malicious code into your site if they manage to gain access to admin.The process was blocked by the website’s firewall.The requested URL %s was not found on this server.The response parameter is invalid or malformed.The secret parameter is invalid or malformed.The secret parameter is missing.The security keys in wp-config.php should be renewed as often as possible.Themes PathThemes SecurityThemes are up to dateThere has been a critical error on your website.There has been a critical error on your website. Please check your site admin email inbox for instructions.There is a configuration error in the plugin. Please Save the settings again and follow the instruction.There is a newer version of WordPress available ({version}).There is no changelog available.There is no such thing as an "unimportant password"! The same goes for your WordPress database password.
Although most servers are configured so that the database can't be accessed from other hosts (or from outside the local network), that doesn't mean your database password should be "12345" or no password at all.This amazing feature isn't included in the basic plugin. Want to unlock it? Simply install or activate the Advanced Pack and enjoy the new security features.This is one of the biggest security issues you can have on your site! If your hosting company has this directive enabled by default, switch to another company immediately!This may not work with all new mobile devices.This option will add rewrite rules to the .htaccess file in the WordPress rewrite rules area between the comments # BEGIN WordPress and # END WordPress.This will prevent from showing the old paths when an image or font is called through ajaxThree DaysThree HoursTimor-LesteTo change the paths in the cached files, switch on %s Change Paths in Cached Files%sTo hide the Avada library, please add the Avada FUSION_LIBRARY_URL in wp-config.php file after $table_prefix line: %sTo improve your website's security, consider removing authors and styles that point to WordPress in your sitemap XML.TogoTokelauTongaTrack and Log the website events and receive security alerts by email.Track and log events that happen on your WordPress siteTraditional ChineseTrinidad and TobagoTroubleshootingTunisiaTurkeyTurkishTurkmenistanTurks and Caicos IslandsTurn off the debug plugins if your website is live. You can also add the option to hide the DB errors global $wpdb; $wpdb->hide_errors(); in wp-config.php fileTuvaluTweaksTwo-factor authenticationURL MappingUgandaUkraineUkrainianUltimate Affiliate Pro detected. The plugin doesn't support custom %s paths as it doesn't use WordPress functions to call the Ajax URLUnable to update the wp-config.php file in order to update the Database Prefix.UndoUnited Arab EmiratesUnited KingdomUnited StatesUnited States Minor Outlying IslandsUnknown update checker status "%s"Unlock allUpdate the settings on %s to refresh the paths after changing REST API path.UpdatedUpload the file with the saved plugin settingsUploads PathUrgent Security Actions RequiredUruguayUse Brute Force ProtectionUse Temporary LoginsUse the %s shortcode to integrate it with other login forms.UserUser 'admin' or 'administrator' as AdministratorUser ActionUser Events LogUser RoleUser SecurityUser could not be activated.User could not be addedUser could not be deleted.User could not be disabled.User roles for who to disable the Right-ClickUser roles for who to disable the copy/pasteUser roles for who to disable the drag/dropUser roles for who to disable the inspect elementUser roles for who to disable the view sourceUser roles for who to hide the admin toolbarUser successfully activated.User successfully created.User successfully deleted.User successfully disabled.User successfully updated.Usernames (unlike passwords) are not secret. By knowing someone's username, you can't log in to their account. You also need the password.

However, by knowing the username, you are one step closer to logging in using the username to brute-force the password, or to gain access in a similar way.

That's why it's advisable to keep the list of usernames private, at least to some degree. By default, by accessing siteurl.com/?author={id} and looping through IDs from 1 you can get a list of usernames, because WP will redirect you to siteurl.com/author/user/ if the ID exists in the system.Using an old version of MySQL makes your site slow and prone to hacker attacks due to known vulnerabilities that exist in versions of MySQL that are no longer maintained.

You need Mysql 5.4 or higherUsing an old version of PHP makes your site slow and prone to hacker attacks due to known vulnerabilities that exist in versions of PHP that are no longer maintained.

You need PHP 7.4 or higher for your website.UzbekistanValidValueVanuatuVenezuelaVersions in Source CodeVietnamVietnameseView detailsVirgin Islands, BritishVirgin Islands, U.S.W3 Total CacheWP Core SecurityWP Debug ModeWP EngineWP Fastest CacheWP RocketWP Super CacheWP Super Cache CDN detected. Please include %s and %s paths in WP Super Cache > CDN > Include directoriesWPBakery Page BuilderWPPluginsWallis and FutunaWeak name detected: %s. You need to use another name to increase your website security.WebsiteWestern SaharaWhere to add the firewall rules.WhitelistWhitelist IPsWhitelist OptionsWhitelist PathsWindows Live Writer is onWooCommerce Safe LoginWooCommerce SupportWoocommerceWoocommerce Magic LinkWordPress Database PasswordWordPress Default PermissionsWordPress Security CheckWordPress VersionWordPress XML-RPC is a specification that aims to standardize communications between different systems. It uses HTTP as the transport mechanism and XML as encoding mechanism to enable a wide range of data to be transmitted.

The two biggest assets of the API are its extendibility and its security. XML-RPC authenticates using basic authentication. It sends the username and password with each request, which is a big no-no in security circles.WordPress and its plugins and themes are like any other software installed on your computer, and like any other application on your devices. Periodically developers release updates which provide new features or fix known bugs.

New features may be something that you do not necessarily want. In fact, you may be perfectly satisfied with the functionality you currently have. Nevertheless, you may still be concerned about bugs.

Software bugs can come in many shapes and sizes. A bug could be very serious, such as preventing users from using a plugin, or it could be a minor bug that only affects a certain part of a theme, for example. In some cases, bugs can even cause serious security holes.

Keeping themes up to date is one of the most important and easiest ways to keep your site secure.WordPress and its plugins and themes are like any other software installed on your computer, and like any other application on your devices. Periodically, developers release updates which provide new features, or fix known bugs.

These new features may not necessarily be something that you want. In fact, you may be perfectly satisfied with the functionality you currently have. Nevertheless, you are still likely to be concerned about bugs.

Software bugs can come in many shapes and sizes. A bug could be very serious, such as preventing users from using a plugin, or it could be minor and only affect a certain part of a theme, for example. In some cases, bugs can cause serious security holes.

Keeping plugins up to date is one of the most important and easiest ways to keep your site secure.WordPress is well-known for its ease of installation.
It's important to hide the wp-admin/install.php and wp-admin/upgrade.php files because there have already been a couple of security issues regarding these files.WordPress, plugins and themes add their version info to the source code, so anyone can see it.

Hackers can easily find a website with vulnerable version plugins or themes, and target these with Zero-Day Exploits.Wordfence SecurityWpEngine detected. Add the redirects in the WpEngine Redirect rules panel %s.Wrong Username ProtectionXML-RPC SecurityXML-RPC access is onYemenYesYes, it's workingYou already defined a different wp-content/uploads directory in wp-config.php %sYou can ban a single IP address like 192.168.0.1 or a range of 245 IPs like 192.168.0.*. These IPs will not be able to access the login page.You can create a new page and come back to choose to redirect to that page.You can generate %snew Keys from here%s AUTH_KEY,SECURE_AUTH_KEY,LOGGED_IN_KEY,NONCE_KEY,AUTH_SALT,SECURE_AUTH_SALT,LOGGED_IN_SALT,NONCE_SALTYou can now turn off '%s' option.You can set to receive security alert emails and prevent data loss.You can white-list a single IP address like 192.168.0.1 or a range of 245 IPs like 192.168.0.*. Find your IP with %sYou can't set both ADMIN and LOGIN with the same name. Please use different namesYou don't have the permission to access %s on this server.You need to activate the URL Rewrite for IIS to be able to change the permalink structure to friendly URL (without index.php). %sMore details%sYou need to set a positive number of attempts.You need to set a positive waiting time.You need to set the permalink structure to friendly URL (without index.php).You should always update WordPress to the %slatest versions%s. These usually include the latest security fixes, and don't alter WP in any significant way. These should be applied as soon as WP releases them.

When a new version of WordPress is available, you will receive an update message on your WordPress Admin screens. To update WordPress, click the link in this message.You should check your website every week to see if there are any security changes.Your %s %s license expired on %s %s. To keep your website security up to date please make sure you have a valid subscription on %saccount.hidemywpghost.com%sYour IP has been flagged for potential security violations. Please try again in a little while...Your admin URL can't be changed on %s hosting because of the %s security terms.Your admin URL is changed by another plugin/theme in %s. To activate this option, disable the custom admin in the other plugin or deativate it.Your login URL is changed by another plugin/theme in %s. To activate this option, disable the custom login in the other plugin or deativate it.Your login URL is: %sYour login URL will be: %s In case you can't login, use the safe URL: %sYour new password has not been saved.Your new site URLs areYour website security %sis extremely weak%s. %sMany hacking doors are available.Your website security %sis very weak%s. %sMany hacking doors are available.Your website security is getting better. %sJust make sure you complete all the security tasks.Your website security is still weak. %sSome of the main hacking doors are still available.Your website security is strong. %sKeep checking the security every week.ZambiaZimbabweactivate featureafter first accessalready activedarkdefaultdisplay_errors PHP directivee.g. *.colocrossing.come.g. /cart/e.g. /cart/ will whitelist all path starting with /cart/e.g. /checkout/e.g. /post-type/ will block all path starting with /post-type/e.g. acapbote.g. alexibote.g. badsite.come.g. gigabote.g. kanagawa.come.g. xanax.comeg.eg. /logout oreg. adm, backeg. ajax, jsoneg. aspect, templates, styleseg. comments, discussioneg. core, inc, includeeg. disable_url, safe_urleg. images, fileseg. json, api, calleg. lib, libraryeg. login or signineg. logout or disconnecteg. lostpass or forgotpasseg. main.css, theme.css, design.csseg. moduleseg. multisite activation linkeg. newuser or registereg. profile, usr, writerfromhelphttps://hidemywp.comignore alertinstall.php & upgrade.php files are accessiblelightloglogsmore detailsnot recommendedonly %d charsorpassword mismatchMismatchpassword strengthMediumpassword strengthPassword strength unknownpassword strengthStrongpassword strengthVery weakpassword strengthWeakreCAPTCHA TestreCAPTCHA V2 TestreCAPTCHA V3 TestreCaptcha LanguagereCaptcha Themereadme.html file is accessiblerecommendedredirectssee featurestart feature setupthe plugin titleA new version of the %s plugin is available.the plugin titleCould not determine if updates are available for %s.the plugin titleThe %s plugin is up to date.totoo simplewp-config.php & wp-config-sample.php files are accessibleProject-Id-Version: PO-Revision-Date: 2024-10-10 20:03+0300 Last-Translator: gpt-po v1.0.11 Language-Team: Language: es MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Generator: Poedit 3.5 X-Poedit-Basepath: .. X-Poedit-SourceCharset: UTF-8 X-Poedit-SearchPath-0: . #1 Solución de Seguridad para la Prevención de Hackeos: Ocultar WP CMS, Firewall 7G/8G, Protección contra Ataques de Fuerza Bruta, 2FA, Seguridad GEO, Accesos Temporales, Alertas y más.¡%1$s está obsoleto desde la versión %2$s! Utiliza %3$s en su lugar. Por favor, considera escribir un código más inclusivo.Hace %d %s%d %s restantes%s días desde la última actualización%s no funciona sin mode_rewrite. Por favor, activa el módulo de reescritura en Apache. %sMás detalles%s%s no tiene el permiso correcto.%s es visible en el código fuenteLa ruta %s es accesible%s plugin(s) están desactualizados: %s%s plugin(s) NO han sido actualizados por sus desarrolladores en los últimos 12 meses: %s%s protege su sitio web de la mayoría de las inyecciones SQL, pero, si es posible, use un prefijo personalizado para las tablas de la base de datos para evitar inyecciones SQL. %sLeer más%sLas reglas %s no se guardan en el archivo de configuración y esto puede afectar la velocidad de carga del sitio web.%s tema(s) están desactualizados: %s%sHaz clic aquí%s para crear o ver las claves para Google reCAPTCHA v2.%sHaz clic aquí%s para crear o ver las claves para Google reCAPTCHA v3.%sERROR:%s El correo electrónico o la contraseña son incorrectos. %s Quedan %d intentos antes del bloqueo%sOculta la ruta de inicio de sesión%s del menú del tema o del widget.%sReCaptcha incorrecto%s. Por favor, inténtalo de nuevo%sNOTA:%s Si no recibiste las credenciales, por favor accede a %s.%sNo has respondido correctamente al problema matemático.%s Por favor, inténtalo de nuevo(* el plugin no tiene ningún costo adicional, se instala / activa automáticamente dentro de WP cuando haces clic en el botón, y utiliza la misma cuenta)(hay varias opciones disponibles)(útil cuando el tema está añadiendo redirecciones de administrador incorrectas o redirecciones infinitas)(solo funciona con la ruta personalizada de admin-ajax para evitar bucles infinitos)2FAInicio de sesión con 2FA403 ProhibidoError HTML 403Error HTML 404404 No EncontradoPágina 404Cortafuegos 7GCortafuegos 8GUna característica diseñada para detener ataques de diferentes países y poner fin a actividades dañinas provenientes de regiones específicas.Un conjunto exhaustivo de reglas puede prevenir que muchos tipos de inyecciones SQL y hacks de URL sean interpretados.Ya existe un usuario con ese nombre de usuario.Seguridad de APIConfiguración de APIAWS BitnamiSegún las %s últimas estadísticas de Google %s, más de %s 30k sitios web son hackeados todos los días %s y %s más del 30% de ellos están hechos en WordPress %s. %s Es mejor prevenir un ataque que gastar mucho dinero y tiempo para recuperar tus datos después de un ataque, sin mencionar la situación cuando los datos de tus clientes son robados.AcciónActivarActiva 'Must Use Plugin Loading' desde 'Plugin Loading Hook' para poder conectarte a tu panel de control directamente desde managewp.com. %s haz clic aquí %sActivar Protección contra Fuerza BrutaActivar Registro de EventosActivar Registro de Eventos de UsuariosActivar Inicios de Sesión TemporalesActiva Tu PluginActiva la información y los registros para la depuración.Activa la opción "Fuerza Bruta" para ver el informe de IP de usuario bloqueadoActiva la opción "Registrar Eventos de Usuarios" para ver el registro de actividad de los usuarios en este sitio webActiva la protección de Fuerza Bruta para los formularios de inicio de sesión/registro de Woocommerce.Activa la protección de Fuerza Bruta en los formularios de contraseña perdida.Activa la protección de Fuerza Bruta en los formularios de registro.Activa el cortafuegos y previene muchos tipos de inyecciones SQL y ataques a través de URL.Activa el cortafuegos y selecciona la intensidad del cortafuegos que funcione para tu sitio web %s %s > Cambiar Rutas > Cortafuegos y Encabezados %sAyuda para ActivaciónAñadirAgrega las direcciones IP que siempre deben ser bloqueadas de acceder a este sitio web.Añade el encabezado de Content-Security-PolicyAñadir Encabezados de Seguridad contra Ataques de XSS e Inyección de Código.Agrega las direcciones IP que puedan pasar la seguridad del plugin.Añadir IPs que pueden pasar la seguridad del pluginAñadir Nuevo Inicio de Sesión TemporalAñadir Nuevo Usuario Temporal de Inicio de SesiónAñade Reescrituras en la Sección de Reglas de WordPressAñadir Encabezado de SeguridadAñadir Encabezados de Seguridad para Ataques de XSS e Inyección de CódigoAñade el encabezado de Strict-Transport-SecurityAñade seguridad de dos factores en la página de inicio de sesión con autenticación de código de escaneo o código de correo electrónico.Añade el encabezado X-Content-Type-OptionsAñade el encabezado X-XSS-ProtectionAñade una lista de URLs que deseas reemplazar con nuevas.Añade un número estático aleatorio para prevenir el almacenamiento en caché del frontend mientras el usuario está conectado.Añade otra URL de CDNAñade otra URLAñade otro textoAñade clases comunes de WordPress en el mapeo de textoAñade rutas que puedan pasar la seguridad del complementoAgrega las rutas que serán bloqueadas para los países seleccionados.Agregar redirecciones para los usuarios registrados basadas en los roles de usuario.Agrega las URL del CDN que estás utilizando en el plugin de caché. Ruta de AdministradorSeguridad del AdministradorBarra de Herramientas del AdministradorURL de administradorNombre de Usuario del AdministradorAvanzadoPaquete AvanzadoConfiguración AvanzadaAfganistánDespués de agregar las clases, verifica el frontend para asegurarte de que tu tema no se vea afectado.Después, haga clic en %sGuardar%s para aplicar los cambios.Seguridad AjaxURL de AjaxIslas ÅlandAlbaniaCorreos Electrónicos de Alerta EnviadosArgeliaTodas las AccionesTodo En Uno Seguridad WPTodos los sitios webTodos los archivos tienen los permisos correctos.Todos los plugins son compatiblesTodos los complementos están actualizadosTodos los complementos han sido actualizados por sus desarrolladores en los últimos 12 mesesTodos los registros se guardan en la nube durante 30 días y el informe está disponible si su sitio web es atacado.Permitir rutas ocultasPermitir a los usuarios iniciar sesión en la cuenta de WooCommerce utilizando su dirección de correo electrónico y un enlace de inicio de sesión único enviado por correo electrónico.Permita a los usuarios iniciar sesión en el sitio web utilizando su dirección de correo electrónico y un enlace de inicio de sesión único enviado por correo electrónico.Permitir que cualquiera vea todos los archivos en la carpeta de Subidas con un navegador les permitirá descargar fácilmente todos tus archivos subidos. Es un problema de seguridad y de derechos de autor.Samoa AmericanaAndorraAngolaAnguilaAntártidaAntigua y BarbudaApacheÁrabe¿Estás seguro de que quieres ignorar esta tarea en el futuro?ArgentinaArmeniaAruba¡Atención! Algunas URL pasaron a través de las reglas del archivo de configuración y se cargaron a través de la reescritura de WordPress, lo que puede ralentizar su sitio web. %s Por favor, siga este tutorial para solucionar el problema: %sAustraliaAustriaRuta del AutorAcceso a la URL del autor por IDDetección AutomáticaAutodetectarRedirige automáticamente a los usuarios que han iniciado sesión al panel de administraciónAutoptimizadorAzerbaiyánBackend bajo SSLConfiguración de Copia de SeguridadCopia de seguridad/RestauraciónConfiguración de Copia de Seguridad/RestauraciónBahamasBahreinDuración de la prohibiciónBangladeshBarbadosAsegúrate de incluir solo URLs internas y utilizar rutas relativas siempre que sea posible.Constructor de CastoresBielorrusiaBélgicaBeliceBenínBermudasUn cordial saludoBhutánSe ha detectado Bitnami. %sPor favor, lea cómo hacer que el plugin sea compatible con el alojamiento de AWS%sLista negraLista negra de IPsPantalla en Blanco Durante la DepuraciónBloquear PaísesBloquear nombres de hostBloquear IP en la página de inicio de sesiónBloquear ReferenteBloquear rutas específicasBloquear Detectores de Temas RastreadoresBloquear Agentes de UsuarioBloquea a los Agentes de Usuarios conocidos de los Detectores de Temas populares.IPs BloqueadasInforme de IPs BloqueadasBloqueado por BoliviaBonaire, San Eustaquio y SabaBosnia y HerzegovinaBotswanaIsla BouvetBrasilInglés británicoTerritorio Británico del Océano ÍndicoBrunei DarussalamFuerza BrutaIPs Bloqueadas por Fuerza BrutaProtección Contra Inicios de Sesión por Fuerza BrutaProtección contra Fuerza BrutaConfiguración de Fuerza BrutaBulgariaBúlgaro¡Plugin BulletProof! Asegúrate de guardar los ajustes en %s después de activar el Modo BulletProof de la Carpeta Raíz en el plugin BulletProof.Burkina FasoBurundiAl activar, aceptas nuestros %s Términos de Uso %s y %sPolítica de Privacidad%sCDNSe ha detectado CDN habilitado. Por favor, incluya las rutas %s y %s en la configuración de CDN Enabler¡Se ha detectado CDN Enabler! Aprende cómo configurarlo con %s %sHaz clic aquí%sURLs de CDN¡ERROR DE CONEXIÓN! Asegúrate de que tu sitio web pueda acceder a: %sAlmacena en caché CSS, JS e imágenes para aumentar la velocidad de carga del frontend.Habilitador de CachéCamboyaCamerúnNo puedo descargar el complemento.CanadáFrancés CanadienseCancelarCancela los ganchos de inicio de sesión de otros complementos y temas para evitar redirecciones de inicio de sesión no deseadas.Cabo VerdeValenciano CatalánIslas CaimánRepública CentroafricanaChadCambioCambiar OpcionesCambiar RutasCambia de Ruta AhoraCambiar Rutas para Usuarios RegistradosCambiar Rutas en Llamadas AjaxCambiar Rutas en Archivos en CachéCambiar Rutas en el feed RSSCambiar Rutas en Sitemaps XMLCambiar URLs Relativas a URLs AbsolutasCambia las rutas de WordPress mientras estás conectadoCambia las rutas en el feed RSS para todas las imágenes.Cambia las rutas en los archivos XML de Sitemap y elimina el autor del plugin y los estilos.Cambia el lema en %s > %s > %sCambia las rutas comunes de WordPress en los archivos en caché.Cambia la ruta de registro de %s %s > Cambiar Rutas > URL de Registro Personalizada%s o desmarca la opción %s > %s > %sCambiar el texto en todos los archivos CSS y JS, incluidos aquellos en archivos en caché generados por plugins de caché.Cambia el nombre de usuario 'admin' o 'administrador' por otro nombre para mejorar la seguridad.Cambia el permiso del archivo wp-config.php a Solo Lectura utilizando el Administrador de Archivos.Cambia los paths comunes como wp-content, wp-includes y otros con %s %s > Cambiar Paths%sCambia el wp-login de %s %s > Cambiar Rutas > URL de inicio de sesión personalizada%s y activa %s %s > Protección contra Fuerza Bruta%sCambiar las cabeceras de seguridad predefinidas puede afectar la funcionalidad del sitio web.Verificar Rutas de FrontendRevisa Tu Sitio WebVerifica las actualizacionesVerifica si las rutas del sitio web están funcionando correctamente.Verifica si tu sitio web está seguro con las configuraciones actuales.Verifica la fuente RSS %s %s y asegúrate de que se hayan cambiado las rutas de las imágenes.Verifica el %s Sitemap XML %s y asegúrate de que se han cambiado las rutas de las imágenes.Verifica la velocidad de carga del sitio web con la %sHerramienta Pingdom%sChileChinaElige una contraseña adecuada para la base de datos, de al menos 8 caracteres de longitud con una combinación de letras, números y caracteres especiales. Después de cambiarla, establece la nueva contraseña en el archivo wp-config.php define('DB_PASSWORD', 'AQUÍ_VA_LA_NUEVA_CONTRASEÑA_DE_LA_BASE_DE_DATOS');Elige los países donde se debe restringir el acceso al sitio web.Elija el tipo de servidor que está utilizando para obtener la configuración más adecuada para su servidor.Elige qué hacer al acceder desde direcciones IP en la lista blanca y rutas permitidas.Isla de NavidadPágina de Inicio de Sesión LimpiaHaz clic en %sContinuar%s para establecer las rutas predefinidas.Haz clic en Respaldo y la descarga comenzará automáticamente. Puedes usar el Respaldo para todos tus sitios web.Haz clic para ejecutar el proceso de cambio de las rutas en los archivos de caché.Cerrar ErrorPanel de NubeSe ha detectado el Panel de Cloud. %sPor favor, lea cómo hacer que el plugin sea compatible con el alojamiento de Cloud Panel%sCntIslas Cocos (Keeling)ColombiaRuta de ComentariosComorasCompatibilidadConfiguración de CompatibilidadCompatibilidad con el plugin Manage WPCompatibilidad con plugins de inicio de sesión basados en tokensCompatible con el plugin All In One WP Security. Úsalos juntos para el escaneo de virus, firewall, protección contra fuerza bruta.Compatible con el plugin JCH Optimize Cache. Funciona con todas las opciones para optimizar CSS y JS.Compatible con el plugin de Seguridad Sólida. Úsalos juntos para el Escáner de Sitio, Detección de Cambios en Archivos y Protección contra Ataques de Fuerza Bruta.Compatible con el plugin de Seguridad Sucuri. Úsalos juntos para el Escaneo de Virus, Firewall, Monitoreo de Integridad de Archivos.Compatible con el plugin de seguridad Wordfence. Úsalos juntos para el escaneo de malware, firewall, protección contra fuerza bruta.Compatible con todos los temas y plugins.Solución CompletaConfigEl archivo de configuración no se puede escribir. Crea el archivo si no existe o copia las siguientes líneas al archivo %s: %sEl archivo de configuración no se puede escribir. Crea el archivo si no existe o copia al archivo %s con las siguientes líneas: %sEl archivo de configuración no se puede escribir. Debes agregarlo manualmente al principio del archivo %s: %sConfirma el uso de una contraseña débil.CongoCongo, República Democrática del¡Felicidades! Has completado todas las tareas de seguridad. Asegúrate de revisar tu sitio una vez a la semana.ContinuarConvierte enlaces como /wp-content/* en %s/wp-content/*.Islas CookCopiar EnlaceCopia la %s URL SEGURA %s y úsala para desactivar todas las rutas personalizadas si no puedes iniciar sesión.Ruta de Contenidos PrincipalesRuta Incluye NúcleoCosta RicaCosta de MarfilNo se pudo detectar al usuarioNo se pudo arreglar. Necesitas cambiarlo manualmente.No se pudo encontrar nada basado en tu búsqueda.No se pudo iniciar sesión con este usuario.No se pudo renombrar la tabla %1$s. Es posible que tenga que renombrar la tabla manualmente.No se pudieron actualizar las referencias de prefijos en la tabla de opciones.No se pudieron actualizar las referencias de prefijo en la tabla usermeta.Bloqueo por paísCrearCrear Nueva Identificación TemporalCrea una URL de inicio de sesión temporal con cualquier rol de usuario para acceder al panel de control del sitio web sin nombre de usuario y contraseña por un período de tiempo limitado.Crea una URL de inicio de sesión temporal con cualquier rol de usuario para acceder al panel de control del sitio web sin nombre de usuario y contraseña por un período de tiempo limitado. %s Esto es útil cuando necesitas dar acceso de administrador a un desarrollador para soporte o para realizar tareas rutinarias.CroaciaCroataCubaCurazaoRuta de Activación PersonalizadaRuta de Administrador PersonalizadaDirectorio de Caché PersonalizadoRuta de Inicio de Sesión PersonalizadaRuta de Cierre de Sesión PersonalizadaRuta Personalizada de Contraseña PerdidaRuta de Registro PersonalizadoParámetro de URL Seguro PersonalizadoRuta personalizada de admin-ajaxRuta personalizada del autorComentario personalizado RutaMensaje personalizado para mostrar a los usuarios bloqueados.Ruta de plugins personalizadosNombre del estilo de tema personalizadoRuta de temas personalizadosRuta de subidas personalizadasRuta personalizada de wp-contentRuta personalizada de wp-includesRuta personalizada de wp-jsonPersonaliza y asegura todas las rutas de WordPress contra los ataques de bots hackers.Personalizar Nombres de PluginsPersonalizar Nombres de TemasPersonaliza las URLs de CSS y JS en el cuerpo de tu sitio web.Personaliza los ID y los nombres de las clases en el cuerpo de tu sitio web.ChipreChecoRepública ChecaModo de Depuración de DBDanésTablero de instrumentosPrefijo de Base de DatosFechaDesactivadoModo de DepuraciónPor defectoRedirección Predeterminada Después de Iniciar SesiónTiempo de Expiración Temporal PredeterminadoRol de Usuario PredeterminadoLema predeterminado de WordPressRol de usuario predeterminado para el cual se creará el inicio de sesión temporal.Eliminar Usuarios Temporales al Desinstalar el PluginEliminar usuarioDinamarcaDetallesDirectoriosDeshabilitar el acceso al parámetro "rest_route"Deshabilitar Mensaje de ClicDeshabilitar CopiarDeshabilitar Copiar/PegarDeshabilitar Copiar/Pegar MensajeDeshabilitar Copiar/Pegar para Usuarios RegistradosDesactiva DISALLOW_FILE_EDIT para sitios web en vivo en wp-config.php define('DISALLOW_FILE_EDIT', true);Deshabilitar la Navegación de DirectorioDeshabilitar Arrastrar/Soltar ImágenesDeshabilitar Arrastrar/Soltar MensajeDeshabilitar Arrastrar/Soltar para Usuarios RegistradosDeshabilitar Inspeccionar ElementoDeshabilitar Mensaje de Inspección de ElementoDeshabilitar Inspeccionar Elemento para Usuarios RegistradosDeshabilitar OpcionesDesactivar PegarDeshabilitar el acceso a la API RESTDeshabilita el acceso a la API REST para usuarios no registradosDeshabilita el acceso a la API REST utilizando el parámetro 'rest_route'.Desactivar el punto final de RSD desde XML-RPCDeshabilitar Clic DerechoDeshabilitar Clic Derecho para Usuarios RegistradosDesactiva SCRIPT_DEBUG para sitios web en vivo en wp-config.php define('SCRIPT_DEBUG', false);Deshabilitar Ver FuenteDeshabilitar Mensaje de Ver FuenteDeshabilitar Ver Fuente para Usuarios RegistradosDesactiva WP_DEBUG para sitios web en vivo en wp-config.php define('WP_DEBUG', false);Desactivar el acceso XML-RPCDeshabilita las funciones de copiar en tu sitio webDesactiva la función de arrastrar y soltar imágenes en tu sitio webDesactivar la función de pegar en su sitio web.Desactiva el soporte RSD (Really Simple Discovery) para XML-RPC y elimina la etiqueta RSD del headerDeshabilita el acceso a /xmlrpc.php para prevenir %sAtaques de fuerza bruta a través de XML-RPC%sDesactiva la acción de copiar/pegar en tu sitio web.Desactiva las llamadas externas al archivo xml-rpc.php y previene los ataques de fuerza bruta.Desactiva la vista de inspeccionar elemento en tu sitio webDesactiva la acción de clic derecho en tu sitio web.Desactiva la funcionalidad del clic derecho en tu sitio webDesactiva la vista del código fuente en tu sitio webMostrar cualquier tipo de información de depuración en la interfaz de usuario es extremadamente malo. Si ocurren errores de PHP en tu sitio, estos deberían registrarse en un lugar seguro y no mostrarse a los visitantes o posibles atacantes.DjiboutiHaz Redirecciones de Inicio y Cierre de SesiónNo cierres la sesión de este navegador hasta que estés seguro de que la página de inicio de sesión está funcionando y podrás volver a iniciar sesión.No cierres sesión en tu cuenta hasta que estés seguro de que reCAPTCHA está funcionando y podrás iniciar sesión de nuevo.¿Quieres eliminar al usuario temporal?¿Quieres restaurar la última configuración guardada?DominicaRepública DominicanaNo olvides recargar el servicio Nginx.No permitas que URLs como domain.com?author=1 muestren el nombre de usuario para iniciar sesiónNo permitas que los hackers vean el contenido de ningún directorio. Ver %sDirectorio de Subidas%sNo cargues iconos de emojis si no los utilizasNo cargues WLW si no has configurado Windows Live Writer para tu sitioNo cargues el servicio oEmbed si no utilizas videos oEmbedNo selecciones ningún rol si quieres registrar todos los roles de usuario¡Hecho!Descargar DepuraciónDrupal 10Drupal 11Drupal 8Drupal 9Holandés¡ERROR! Por favor, asegúrate de usar un token válido para activar el complemento¡ERROR! Por favor, asegúrate de usar el token correcto para activar el pluginEcuadorEditar UsuarioEditar usuarioEdita wp-config.php y añade ini_set('display_errors', 0); al final del archivoEgiptoEl SalvadorElementorCorreo electrónicoDirección de correo electrónicoNotificación de Correo ElectrónicoLa dirección de correo electrónico ya existeEnvía un correo electrónico a tu empresa de alojamiento y diles que te gustaría cambiar a una versión más reciente de MySQL o trasladar tu sitio a una empresa de alojamiento mejorEnvía un correo electrónico a tu empresa de alojamiento y diles que te gustaría cambiar a una versión más reciente de PHP o trasladar tu sitio a una empresa de alojamiento mejor.VacíoReCaptcha vacío. Por favor, complete el reCaptcha.Dirección de correo electrónico vacíaActivar esta opción puede ralentizar el sitio web, ya que los archivos CSS y JS se cargarán de forma dinámica en lugar de a través de reescrituras, lo que permitirá modificar el texto dentro de ellos según sea necesario.InglésIntroduce el token de 32 caracteres de la Orden/Licencia en %sGuinea EcuatorialEritrea¡Error! No hay copia de seguridad para restaurar.¡Error! La copia de seguridad no es válida.¡Error! Las nuevas rutas no se están cargando correctamente. Borra todo el caché e inténtalo de nuevo.¡Error! No se pudo restaurar la configuración preestablecida.Error: Ha introducido la misma URL dos veces en el Mapeo de URL. Hemos eliminado los duplicados para prevenir cualquier error de redirección.Error: Has introducido el mismo texto dos veces en el Mapeo de Texto. Hemos eliminado los duplicados para prevenir cualquier error de redirección.EstoniaEtiopíaEuropaIncluso si las rutas predeterminadas están protegidas por %s después de la personalización, recomendamos establecer los permisos correctos para todos los directorios y archivos en su sitio web, utilice el Administrador de Archivos o FTP para verificar y cambiar los permisos. %sLeer más%sRegistro de EventosInforme de Registro de EventosConfiguración del Registro de EventosTodo buen desarrollador debería activar la depuración antes de comenzar con un nuevo plugin o tema. De hecho, el Codex de WordPress 'recomienda encarecidamente' que los desarrolladores utilicen SCRIPT_DEBUG. Desafortunadamente, muchos desarrolladores olvidan el modo de depuración incluso cuando el sitio web está en vivo. Mostrar los registros de depuración en la interfaz de usuario permitirá a los hackers conocer mucho sobre tu sitio web de WordPress.Todo buen desarrollador debería activar la depuración antes de comenzar con un nuevo plugin o tema. De hecho, el Codex de WordPress 'recomienda encarecidamente' que los desarrolladores utilicen WP_DEBUG.

Desafortunadamente, muchos desarrolladores olvidan el modo de depuración, incluso cuando el sitio web está en vivo. Mostrar los registros de depuración en la interfaz permitirá a los hackers conocer mucho sobre tu sitio web de WordPress.Ejemplo:Tiempo de ExpiraciónCaducadoCaducaRevelar la versión de PHP hará que el trabajo de atacar tu sitio sea mucho más fácil.Intentos FallidosFallidoIslas MalvinasIslas FeroeCaracterísticasAlimentación y Mapa del SitioSeguridad AlimentariaFiyiPermisos de ArchivoLos permisos de archivos en WordPress juegan un papel crítico en la seguridad del sitio web. Configurar correctamente estos permisos garantiza que los usuarios no autorizados no puedan acceder a archivos y datos sensibles.
Los permisos incorrectos pueden abrir inadvertidamente su sitio web a ataques, haciéndolo vulnerable.
Como administrador de WordPress, comprender y configurar correctamente los permisos de archivos es esencial para proteger su sitio contra posibles amenazas.ArchivosFiltroFinlandCortafuegosCortafuegos y EncabezadosCortafuegos Contra la Inyección de ScriptsUbicación del FirewallFortaleza del FirewallEl cortafuegos contra inyecciones está cargadoNombre de PilaPrimero, necesitas activar el %sModo Seguro%s o el %sModo Ghost%sPrimero, necesitas activar el %sModo Seguro%s o el %sModo Ghost%s en %sCorregir PermisosArréglaloCorrige los permisos para todos los directorios y archivos (~ 1 min)Corrige los permisos para los directorios y archivos principales (~ 5 seg)Volante de inerciaSe ha detectado Flywheel. Añade las redirecciones en el panel de reglas de redirección de Flywheel %s.La carpeta %s es navegableProhibidoFranciaFrancésGuayana FrancesaPolinesia FrancesaTerritorios Franceses del SurDe: %s <%s>PortadaPrueba de Inicio de Sesión en FrontendPrueba de FrontendTotalmente compatible con el plugin de caché Autoptimizer. Funciona mejor con la opción Optimizar/Agregar archivos CSS y JS.Totalmente compatible con el plugin Beaver Builder. Funciona mejor junto con un plugin de caché.Totalmente compatible con el plugin Cache Enabler. Funciona mejor con la opción Minimizar archivos CSS y JS.Totalmente compatible con el plugin Elementor Website Builder. Funciona mejor junto con un plugin de cachéTotalmente compatible con el plugin Fusion Builder de Avada. Funciona mejor junto con un plugin de caché.Totalmente compatible con el plugin de caché Hummingbird. Funciona mejor con la opción Minificar archivos CSS y JS.Totalmente compatible con el plugin LiteSpeed Cache. Funciona mejor con la opción de Minimizar archivos CSS y JS.Totalmente compatible con el plugin Oxygen Builder. Funciona mejor junto con un plugin de caché.Totalmente compatible con el plugin W3 Total Cache. Funciona mejor con la opción de Minimizar archivos CSS y JS.Totalmente compatible con el plugin WP Fastest Cache. Funciona mejor con la opción Minificar archivos CSS y JS.Totalmente compatible con el plugin de caché WP Super Cache.Totalmente compatible con el plugin de caché WP-Rocket. Funciona mejor con la opción Minificar/Combinar archivos CSS y JS.Totalmente compatible con el plugin de Woocommerce.Constructor de FusiónGabónGambiaGeneralGeo SeguridadLa Seguridad Geográfica es una función diseñada para detener los ataques provenientes de diferentes países y poner fin a actividades dañinas que provienen de regiones específicas.GeorgiaAlemánAlemaniaGhanaModo GhostModo fantasma + Cortafuegos + Fuerza bruta + Registro de eventos + Autenticación de dos factoresEl Modo Ghost establecerá estas rutas predefinidasModo GhostGibraltarAsigna nombres aleatorios a cada complementoAsigna nombres aleatorios a cada tema (funciona en WP multisite)Se ha detectado el nombre de la clase global: %s. Primero, lee este artículo: %sVe al Panel de Registro de EventosVe al Panel de Control > Sección de Apariencia y actualiza todos los temas a la última versión.Ve al Panel de Control > Sección de Plugins y actualiza todos los plugins a la última versión.Godaddy¡Se detectó Godaddy! Para evitar errores de CSS, asegúrate de desactivar la CDN desde %sBuenoGoogle reCAPTCHA V2Google reCAPTCHA V3Google reCaptcha V3 no está funcionando con el formulario de inicio de sesión actual de %s.¡Genial! La copia de seguridad ha sido restaurada.¡Genial! Los valores iniciales han sido restaurados.¡Genial! Las nuevas rutas se están cargando correctamente.¡Genial! El ajuste preestablecido se cargó.GreciaGriegoGroenlandiaGrenadaGuadalupeGuamGuatemalaGuernseyGuineaGuinea-BissauGuyanaHaitíEs terrible tener la URL de administrador visible en el código fuente porque los hackers sabrán inmediatamente tu secreta ruta de administrador y comenzarán un ataque de fuerza bruta. La ruta de administrador personalizada no debería aparecer en la URL de ajax.

Busca soluciones para %s sobre cómo ocultar la ruta del código fuente %s.Tener la URL de inicio de sesión visible en el código fuente es terrible porque los hackers conocerán inmediatamente tu ruta de inicio de sesión secreta y comenzarán un ataque de Fuerza Bruta.

La ruta de inicio de sesión personalizada debe mantenerse en secreto, y deberías tener activada la Protección contra Fuerza Bruta para ella.

Encuentra soluciones para %s ocultar la ruta de inicio de sesión del código fuente aquí %s.Tener esta directiva PHP habilitada dejará tu sitio expuesto a ataques de tipo cross-site (XSS).

No hay absolutamente ninguna razón válida para habilitar esta directiva, y usar cualquier código PHP que la requiera es muy arriesgado.Seguridad de EncabezadoEncabezados y FirewallIslas Heard y McDonaldHebreoAyuda y Preguntas FrecuentesAquí está la lista de condados seleccionados donde su sitio web estará restringido.OcultaOcultar la ruta "inicio de sesión"Ocultar "wp-admin"Ocultar "wp-admin" de usuarios que no son administradoresOculta "wp-login.php"Oculta la ruta /login de los visitantes.Oculta la ruta /wp-admin para usuarios que no sean administradores.Oculta la ruta /wp-admin a los visitantes.Oculta la ruta /wp-login.php a los visitantes.Ocultar la barra de herramientas de administraciónOcultar la barra de herramientas de administración para roles de usuarios para prevenir el acceso al panel de control.Oculta Todos Los PluginsOcultar URL de ID de AutorOcultar Archivos ComunesOcultar scripts incrustadosOcultar EmoticonosOcultar Etiquetas de Enlace de Feed y Mapa del SitioOcultar Extensiones de ArchivoOcultar Comentarios HTMLOculta las ID de las etiquetas METAOcultar el Cambiador de IdiomaHide My WP GhostOcultar OpcionesOcultar Rutas en Robots.txtOcultar Nombres de PluginsOcultar enlace de URL de la API RESTOcultar Nombres de TemasOcultar la versión en imágenes, CSS y JS en WordPressOcultar Versiones de Imágenes, CSS y JSOcultar scripts de WLW ManifestOcultar Archivos Comunes de WPOcultar Rutas Comunes de WPOcultar Archivos Comunes de WordPressOcultar Rutas Comunes de WordPressOcultar las etiquetas META de DNS Prefetch de WordPressOcultar las etiquetas META del generador de WordPressOcultar la Ruta de los Antiguos Plugins de WordPressOcultar la Ruta de los Temas Antiguos de WordPressOculta las rutas comunes de WordPress del archivo %s Robots.txt %s.Oculta las rutas de WordPress como wp-admin, wp-content, y más del archivo robots.txt.Oculta todas las versiones al final de cualquier archivo de Imagen, CSS y JavaScript.Oculta tanto los plugins activos como los desactivadosOcultar tareas completadasOcultar contraseñaOculta las etiquetas de enlace /feed y /sitemap.xmlOculta el Prefetch de DNS que apunta a WordPressOculta los comentarios HTML dejados por los temas y los pluginsOculta los ID de todos los <enlaces>, <estilo>, <scripts> Etiquetas METAOcultar la Nueva Ruta de AdministradorOcultar la Nueva Ruta de Inicio de Sesión.Oculta las etiquetas META del generador de WordPressOculta la barra de herramientas de administración para los usuarios registrados mientras están en la interfaz.Oculta la opción de cambio de idioma en la página de inicio de sesiónOculta la nueva ruta de administrador para los visitantes. Muestra la nueva ruta de administrador solo para usuarios registrados.Oculta la nueva ruta de inicio de sesión a los visitantes. Muestra la nueva ruta de inicio de sesión solo para acceso directo.Oculta las antiguas rutas /wp-content, /wp-include una vez que se cambien por las nuevasOculta las antiguas rutas /wp-content, /wp-include una vez que se cambien por las nuevas.Oculta la antigua ruta /wp-content/plugins una vez que se cambie por la nuevaOculta la antigua ruta /wp-content/themes una vez que se cambie por la nuevaOcultar wp-admin de la URL de AjaxOculta los archivos wp-config.php, wp-config-sample.php, readme.html, license.txt, upgrade.php e install.phpOculta los archivos wp-config.php, wp-config-sample.php, readme.html, license.txt, upgrade.php e install.php.Oculta la etiqueta de enlace wp-json y ?rest_route del encabezado del sitio webOcultar el ID de las metaetiquetas en WordPress puede afectar potencialmente el proceso de almacenamiento en caché de los plugins que dependen de la identificación de las metaetiquetas.HindiSanta Sede (Ciudad del Vaticano)HondurasHong KongNombre de hostCuánto tiempo estará disponible el inicio de sesión temporal después de que el usuario acceda por primera vez.ColibríHúngaroHungríaIIS WindowsSe ha detectado IIS. Necesitas actualizar tu archivo %s añadiendo las siguientes líneas después de la etiqueta <rules>: %sIPIP BloqueadaIslandiaSi el reCAPTCHA muestra algún error, asegúrate de solucionarlo antes de continuar.Si las reglas de reescritura no se están cargando correctamente en el archivo de configuración, no cargue el complemento y no cambie las rutas.Si estás conectado con el usuario administrador, tendrás que volver a iniciar sesión después del cambio.Si no puedes configurar %s, cambia al Modo Desactivado y %scontáctanos%s.Si no puedes configurar reCAPTCHA, cambia a la protección Math reCaptcha.Si no tienes un sitio web de comercio electrónico, membresía o publicación de invitados, no deberías permitir que los usuarios se suscriban a tu blog. Terminarás con registros de spam y tu sitio web estará lleno de contenido y comentarios spam.Si tienes acceso al archivo php.ini, configura allow_url_include = off o contacta a la empresa de alojamiento para que lo desactiveSi tienes acceso al archivo php.ini, configura expose_php = off o contacta a la empresa de alojamiento para que lo desactiveSi tienes acceso al archivo php.ini, configura register_globals = off o contacta a la empresa de alojamiento para que lo desactiveSi tienes acceso al archivo php.ini, configura safe_mode = off o contacta a la empresa de alojamiento para que lo desactiveSi nota algún problema de funcionalidad, por favor seleccione el %sModo Seguro%s.Si puedes iniciar sesión, has establecido correctamente las nuevas rutas.Si puedes iniciar sesión, has configurado correctamente reCAPTCHA.Si no estás utilizando Windows Live Writer, realmente no hay ninguna razón válida para tener su enlace en el encabezado de la página, porque esto le dice a todo el mundo que estás utilizando WordPress.Si no estás utilizando ningún servicio de Really Simple Discovery como los pingbacks, no hay necesidad de anunciar ese punto final (enlace) en el encabezado. Ten en cuenta que para la mayoría de los sitios esto no es un problema de seguridad porque "quieren ser descubiertos", pero si quieres ocultar el hecho de que estás utilizando WP, esta es la forma de hacerlo.Si tu sitio permite el inicio de sesión de usuarios, necesitas que tu página de inicio de sesión sea fácil de encontrar para tus usuarios. También necesitas hacer otras cosas para protegerte contra intentos de inicio de sesión maliciosos.

Sin embargo, la oscuridad es una capa de seguridad válida cuando se utiliza como parte de una estrategia de seguridad integral, y si quieres reducir el número de intentos de inicio de sesión maliciosos. Hacer que tu página de inicio de sesión sea difícil de encontrar es una forma de hacerlo.Ignora la tarea de seguridadBloquear de inmediato nombres de usuario incorrectos en formularios de inicio de sesión.En el archivo .htaccessEn los viejos tiempos, el nombre de usuario administrador predeterminado de WordPress era 'admin' o 'administrator'. Dado que los nombres de usuario constituyen la mitad de las credenciales de inicio de sesión, esto facilitaba a los hackers el lanzamiento de ataques de fuerza bruta.

Afortunadamente, WordPress ha cambiado esto y ahora requiere que selecciones un nombre de usuario personalizado en el momento de instalar WordPress.Efectivamente, se ha detectado Ultimate Membership Pro. El plugin no admite rutas %s personalizadas ya que no utiliza las funciones de WordPress para llamar a la URL de AjaxIndiaIndonesiaIndonesioInformaciónEn movimientoSe ha detectado Inmotion. %sPor favor, lea cómo hacer que el plugin sea compatible con Inmotion Nginx Cache%sInstalar/ActivarIntegración con otros plugins de CDN y URLs personalizadas de CDN.ReCaptcha inválido. Por favor, complete el reCaptcha.Dirección de correo electrónico no válidaSe ha detectado un nombre no válido: %s. Añade solo el nombre de la ruta final para evitar errores de WordPress.Se ha detectado un nombre no válido: %s. El nombre no puede terminar con / para evitar errores de WordPress.Se ha detectado un nombre no válido: %s. El nombre no puede comenzar con / para evitar errores de WordPress.Se ha detectado un nombre no válido: %s. Las rutas no pueden terminar con . para evitar errores de WordPress.Se ha detectado un nombre inválido: %s. Necesitas usar otro nombre para evitar errores de WordPress.Nombre de usuario no válido.Irán, República Islámica deIraqIrlandaIsla de ManIsraelEs importante que %s guardes tus ajustes cada vez que los cambies %s. Puedes usar la copia de seguridad para configurar otros sitios web que poseas.Es importante ocultar o eliminar el archivo readme.html porque contiene detalles de la versión de WP.Es importante ocultar las rutas comunes de WordPress para prevenir ataques a plugins y temas vulnerables.
También, es importante ocultar los nombres de los plugins y temas para hacer imposible que los bots los detecten.Es importante renombrar las rutas comunes de WordPress, como wp-content y wp-includes, para evitar que los hackers sepan que tienes un sitio web de WordPress.No es seguro tener la depuración de la base de datos activada. Asegúrate de no utilizar la depuración de la base de datos en sitios web en vivo.ItalianoItaliaJCH Optimizar CachéJamaicaJaponésJapón¡Javascript está desactivado en tu navegador! Necesitas activar javascript para poder utilizar el complemento %s.CamisetaJoomla 3Joomla 4Joomla 5JordanSolo otro sitio de WordPressKazajistánKeniaKiribatiConozca lo que los otros usuarios están haciendo en su sitio web.CoreanoKosovoKuwaitKirguistánIdiomaRepública Democrática Popular LaoEstadísticas de Seguridad de los Últimos 30 DíasÚltimo AccesoApellidoÚltima comprobación:Carga TardíaLetoniaLetónAprende CómoAprende Cómo Agregar el CódigoAprende cómo desactivar %sNavegación de Directorios%s o activar %s %s > Cambiar Rutas > Desactivar Navegación de Directorios%sAprende cómo configurar tu sitio web como %s. %sHaz clic aquí%sAprende cómo configurar en Local y NginxAprende cómo configurar en un servidor NginxAprende a usar el shortcodeAprende más sobreAprende más sobre el firewall %s 7G %s.Aprende más sobre el %s firewall 8G %s.Déjalo en blanco si no quieres mostrar ningún mensajeDeje en blanco para bloquear todos los caminos para los países seleccionados.LíbanoLesoto¡Llevemos tu seguridad al siguiente nivel!Nivel de SeguridadNiveles de seguridadLiberiaJamahiriya Árabe LibiaToken de LicenciaLiechtensteinLimita el número de intentos de inicio de sesión permitidos utilizando el formulario de inicio de sesión normal.LiteSpeedCaché de LiteSpeedLituaniaLituanoCargar ajuste preestablecidoCargar ajustes de seguridadCarga después de que todos los plugins se hayan cargado. En el gancho "template_redirects".Carga antes de que todos los plugins estén cargados. En el gancho "plugins_loaded".Carga el idioma personalizado si el idioma local de WordPress está instalado.Carga el plugin como un plugin de Uso Obligatorio.Carga cuando los plugins se inicializan. En el hook "init".Se ha detectado Local & NGINX. En caso de que aún no haya añadido el código en la configuración de NGINX, por favor añada la siguiente línea. %sLocal por FlywheelUbicaciónBloquear usuarioMensaje de BloqueoRegistrar Roles de UsuarioRegistrar Eventos de UsuariosRedirecciones de Inicio y Cierre de SesiónInicio de sesión bloqueado por Ruta de Inicio de SesiónURL de Redirección de Inicio de SesiónSeguridad de Inicio de SesiónPrueba de Inicio de SesiónURL de inicio de sesiónURL de Redirección al Cerrar SesiónProtección del Formulario de Recuperación de ContraseñaLuxemburgoMacaoMadagascarInicio de sesión con enlace mágicoAsegúrate de que las URL de redirección existen en tu sitio web. %sLa URL de redirección del Rol de Usuario tiene mayor prioridad que la URL de redirección predeterminada.Asegúrate de saber lo que haces cuando cambias los encabezados.Asegúrate de guardar los ajustes y vaciar la caché antes de comprobar tu sitio web con nuestra herramienta.MalawiMalasiaMaldivasMaliMaltaGestionar la Protección contra Ataques de Fuerza Bruta.Gestionar Redirecciones de Inicio y Cierre de SesiónGestionar listas blancas y negras de direcciones IP.Bloquear/desbloquear direcciones IP manualmente.Personaliza manualmente cada nombre de plugin y sobrescribe el nombre aleatorioPersonaliza manualmente cada nombre de tema y sobrescribe el nombre aleatorioIncluye manualmente las direcciones IP de confianza en la lista blanca.MapeoIslas MarshallMartinicaMatemáticas y verificación de Google reCaptcha al iniciar sesión.ReCAPTCHA de matemáticasMauritaniaMauricioMáximo de intentos fallidosMayotteMedioMembresíaMéxicoMicronesia, Estados Federados deMínimoMínimo (Sin reescrituras de configuración)Moldavia, República deMónacoMongolia¡Monitorea todo lo que sucede en tu sitio de WordPress!Monitorea, rastrea y registra eventos en tu sitio web.MontenegroMontserratMás AyudaMás información sobre %sMás opciones.MarruecosLa mayoría de las instalaciones de WordPress se alojan en los populares servidores web Apache, Nginx e IIS.MozambiqueDebe Usar la Carga del PluginMi CuentaMyanmarVersión de MysqlSe ha detectado NGINX. En caso de que aún no hayas añadido el código en la configuración de NGINX, por favor añade la siguiente línea. %sNombreNamibiaNauruNepalPaíses BajosNueva CaledoniaNuevos Datos de Inicio de Sesión¡Nuevo complemento/tema detectado! Actualiza la configuración de %s para ocultarlo. %sHaz clic aquí%sNueva ZelandaPróximos PasosNginxNicaraguaNígerNigeriaNiueNoSin Simulación de CMSNo Se Han Publicado Actualizaciones RecientesNo hay IPs en la lista negraNo se encontró ningún registro.No hay inicios de sesión temporales.No, cancelaNúmero de segundosIsla NorfolkCarga NormalNormalmente, la opción para bloquear a los visitantes de navegar por los directorios del servidor es activada por el anfitrión a través de la configuración del servidor, y activarla dos veces en el archivo de configuración puede causar errores, por lo que es mejor primero verificar si el %sDirectorio de Subidas%s es visible.Corea del NorteMacedonia del Norte, República deIslas Marianas del NorteNoruegaNoruegoAún no has iniciado sesiónTen en cuenta que esta opción no activará la CDN para tu sitio web, pero actualizará las rutas personalizadas si ya has configurado una URL de CDN con otro plugin.¡Nota! %sLas rutas NO se cambian físicamente%s en tu servidor.¡Nota! El plugin utilizará WP cron para cambiar las rutas en segundo plano una vez que se creen los archivos de caché.Nota: Si no puedes iniciar sesión en tu sitio, simplemente accede a esta URLConfiguración de NotificacionesDe acuerdo, lo he configuradoOmánAl inicializar el sitio webUna vez que hayas comprado el plugin, recibirás las credenciales %s para tu cuenta por correo electrónico.Un DíaUna HoraUn MesUna SemanaUn AñoUno de los archivos más importantes en tu instalación de WordPress es el archivo wp-config.php.
Este archivo se encuentra en el directorio raíz de tu instalación de WordPress y contiene los detalles de configuración base de tu sitio web, como la información de conexión a la base de datos.Solo cambie esta opción si el complemento no logra identificar correctamente el tipo de servidor.Optimiza los archivos CSS y JSOpción para informar al usuario sobre los intentos restantes en la página de inicio de sesión.OpcionesPlugins DesactualizadosTemas DesactualizadosResumenOxígenoVersión de PHPPHP allow_url_include está activadoPHP expose_php está activadoPHP register_globals está activadoEl modo seguro de PHP fue uno de los intentos para resolver los problemas de seguridad de los servidores de alojamiento web compartido.

Aún es utilizado por algunos proveedores de alojamiento web, sin embargo, hoy en día se considera inapropiado. Un enfoque sistemático demuestra que es arquitectónicamente incorrecto intentar resolver problemas de seguridad complejos a nivel de PHP, en lugar de a nivel del servidor web y del sistema operativo.

Técnicamente, el modo seguro es una directiva de PHP que restringe la forma en que operan algunas funciones integradas de PHP. El principal problema aquí es la inconsistencia. Cuando se activa, el modo seguro de PHP puede impedir que muchas funciones legítimas de PHP funcionen correctamente. Al mismo tiempo, existen una variedad de métodos para anular las limitaciones del modo seguro utilizando funciones de PHP que no están restringidas, por lo que si un hacker ya ha entrado, el modo seguro es inútil.El safe_mode de PHP está activadoPágina No EncontradaPakistánPalauTerritorio PalestinoPanamáPapúa Nueva GuineaParaguayAprobadoRuta no permitida. Evita rutas como plugins y temas.Rutas y OpcionesLas rutas se modificaron en los archivos de caché existentesPausa por 5 minutos.Enlaces permanentesPersaPerúFilipinasPitcairnPor favor, tenga en cuenta que si no consiente en almacenar datos en nuestra Nube, le solicitamos amablemente que se abstenga de activar esta función.Por favor, visite %s para verificar su compra y obtener el token de licencia.Enganche de Carga del PluginRuta de los PluginsSeguridad de PluginsConfiguración de PluginsLos plugins que no se han actualizado en los últimos 12 meses pueden tener serios problemas de seguridad. Asegúrate de utilizar plugins actualizados del Directorio de WordPress.Editor de plugins/temas desactivadoPoloniaPulirPortugalPortuguésSeguridad preestablecidaPrevenir el Diseño Roto de la Página WebCarga PrioritariaProtege tu tienda WooCommerce contra ataques de inicio de sesión por fuerza bruta.Protege tu sitio web contra ataques de inicio de sesión de Fuerza Bruta utilizando %s. Una amenaza común a la que se enfrentan los desarrolladores web es un ataque de adivinación de contraseñas conocido como ataque de Fuerza Bruta. Un ataque de Fuerza Bruta es un intento de descubrir una contraseña probando sistemáticamente todas las posibles combinaciones de letras, números y símbolos hasta descubrir la única combinación correcta que funciona.Protege tu sitio web contra ataques de inicio de sesión de Fuerza Bruta.Protege tu sitio web contra ataques de inicio de sesión por fuerza bruta.Demuestra tu humanidad:Puerto RicoQatarSolución RápidaRDS es visibleNúmero Estático AleatorioReactivar usuario por 1 díaRedirigir Después de Iniciar SesiónRedirigir Caminos OcultosRedirigir a los Usuarios Registrados al Panel de ControlRedirige a los usuarios temporales a una página personalizada después de iniciar sesión.Redirige las rutas protegidas /wp-admin, /wp-login a una página o activa un error HTML.Redirigir al usuario a una página personalizada después de iniciar sesión.RedireccionesEliminarElimina la versión de PHP, la información del servidor y la firma del servidor del encabezado.Eliminar Autores de Plugins y Estilo en el Sitemap XMLEliminar Encabezados InsegurosElimina la etiqueta de enlace de retroceso del encabezado del sitio web.Renombra el archivo readme.html o activa %s %s > Cambiar Rutas > Ocultar Archivos Comunes de WordPress%sRenombra los archivos wp-admin/install.php y wp-admin/upgrade.php o activa %s %s > Cambiar Rutas > Ocultar Rutas Comunes de WordPress%sRenovarReiniciarRestablecer ConfiguracionesResolver los nombres de host puede afectar la velocidad de carga del sitio web.Restaurar Copia de SeguridadRestaurar ConfiguracionesReanudar SeguridadReuniónSeguridad de RobotsRolAjustes de ReversiónRevierte todas las configuraciones del complemento a los valores iniciales.RumaníaRumanoEjecuta %s Prueba de Interfaz %s para verificar si las nuevas rutas están funcionando.Ejecuta %s Prueba de Inicio de Sesión %s e inicia sesión dentro de la ventana emergente.Ejecuta la %sPrueba de reCAPTCHA%s e inicia sesión dentro de la ventana emergente.Realizar un chequeo de seguridad completoRusoFederación RusaRuandaSSL es una abreviatura utilizada para Capas de Sockets Seguros, que son protocolos de cifrado utilizados en internet para asegurar el intercambio de información y proporcionar información de certificados.

Estos certificados proporcionan una garantía al usuario sobre la identidad del sitio web con el que están comunicando. SSL también puede ser llamado protocolo de Seguridad de la Capa de Transporte o TLS.

Es importante tener una conexión segura para el Panel de Administración en WordPress.Modo SeguroModo seguro + Cortafuegos + Fuerza bruta + Registro de eventos + Doble factorModo seguro + Firewall + Configuración de compatibilidadEl Modo Seguro establecerá estas rutas predefinidasURL Seguro:Modo SeguroSan BartoloméSanta ElenaSan Cristóbal y NievesSanta LucíaSan MartínSan Pedro y MiquelónSan Vicente y las GranadinasClaves de seguridad y sales válidasSamoaSan MarinoSanto Tomé y PríncipeArabia SauditaGuardarGuardar Registro de DepuraciónGuardar UsuarioGuardado¡Guardado! Esta tarea será ignorada en futuros exámenes.¡Guardado! Puedes volver a realizar la prueba.Modo de Depuración de ScriptBuscarBusca en el registro de eventos del usuario y gestiona las alertas de correo electrónicoClave SecretaClaves secretas para %sGoogle reCAPTCHA%s.Rutas Seguras de WPVerificación de SeguridadClaves de Seguridad ActualizadasEstado de SeguridadLas claves de seguridad se definen en wp-config.php como constantes en líneas. Deberían ser lo más únicas y largas posible. AUTH_KEY,SECURE_AUTH_KEY,LOGGED_IN_KEY,NONCE_KEY,AUTH_SALT,SECURE_AUTH_SALT,LOGGED_IN_SALT,NONCE_SALTLas claves de seguridad se utilizan para garantizar una mejor encriptación de la información almacenada en las cookies del usuario y las contraseñas cifradas.

Estas hacen que su sitio sea más difícil de hackear, acceder y descifrar al agregar elementos aleatorios a la contraseña. No tiene que recordar estas claves. De hecho, una vez que las establezca, nunca las volverá a ver. Por lo tanto, no hay excusa para no configurarlas correctamente.Vea las acciones de los últimos días en este sitio web...Seleccionar preajusteSeleccionar Roles de UsuarioSelecciona una configuración de seguridad predefinida que hemos probado en la mayoría de los sitios web.Seleccionar todoSeleccione cuánto tiempo estará disponible el inicio de sesión temporal después del primer acceso del usuario.Selecciona las extensiones de archivo que deseas ocultar en las rutas antiguasSelecciona los archivos que quieres ocultar en las rutas antiguasPaíses SeleccionadosEnvíame un correo electrónico con las URLs modificadas de administrador e inicio de sesiónSenegalSerbiaSerbioTipo de ServidorEstablecer Directorio de Caché PersonalizadoEstablecer redirecciones de inicio y cierre de sesión basadas en los roles de usuario.Establecer el rol del usuario actual.Establezca el sitio web para el cual desea que se cree este usuario.AjustesSeychellesSe ha detectado un nombre corto: %s. Necesita usar rutas únicas con más de 4 caracteres para evitar errores de WordPress.MostrarMuestra /%s en lugar de /%sMostrar Opciones AvanzadasMostrar rutas predeterminadas y permitir rutas ocultasMostrar Rutas Predeterminadas y Permitir TodoMuestra una pantalla en blanco cuando Inspeccionar Elemento está activo en el navegador.Mostrar tareas completadasMostrar tareas ignoradasMuestra el mensaje en lugar del formulario de inicio de sesiónMostrar contraseñaSierra LeonaProtección del Formulario de RegistroChino SimplificadoSimular CMSSingapurSint MaartenClave del sitioClaves del sitio para %sGoogle reCaptcha%s.SiteGroundSeguridad del Mapa del SitioSeis MesesEslovacoEslovaquiaEslovenoEsloveniaSeguridad sólidaIslas SalomónSomaliaAlgunos plugins pueden eliminar reglas de reescritura personalizadas del archivo .htaccess, especialmente si es editable, lo cual puede afectar la funcionalidad de las rutas personalizadas.Algunos temas no funcionan con rutas de Admin y Ajax personalizadas. En caso de errores de ajax, vuelve a wp-admin y admin-ajax.php.Lo siento, no tienes permiso para acceder a esta página.SudáfricaIslas Georgias del Sur y Sandwich del SurCorea del SurEspañaLos spammers pueden registrarse fácilmenteEspañolSri LankaIniciar EscaneoSeguridad SucuriSudánSuper AdministradorSurinamSvalbard y Jan MayenSuazilandiaSueciaSuecoActivar %s %s > Cambiar Rutas > Ocultar Rutas Comunes de WordPress%sActivar %s %s > Cambiar Rutas > Desactivar acceso XML-RPC%sActivar %s %s > Cambiar Rutas > Ocultar URL de ID de Autor%sActivar %s %s > Cambiar Rutas > Ocultar Punto Final RSD%sActivar %s %s > Cambiar Rutas > Ocultar Archivos Comunes de WordPress%sActiva %s %s > Cambiar Rutas > Ocultar wp-admin de la URL de ajax%s. Oculta cualquier referencia a la ruta de administración de los plugins instalados.Enciende %s %s > Ajustes > %s %sActiva %s %s > Ajustes > Ocultar scripts de WLW Manifest%sSuizaRepública Árabe SiriaLemaTaiwánTayikistánTanzania, República Unida deAcceso TemporalConfiguración Temporal de Inicio de SesiónInicios de Sesión TemporalesPrueba las cabeceras de tu sitio web conMapeo de Texto y URLMapeo de TextoMapeo de texto en archivos CSS y JS, incluidos los archivos en caché.Mapeo de solo Clases, IDs, variables de JSTailandésTailandia¡Gracias por usar %s!La sección %s ha sido trasladada %s aquí %sEl Modo Ghost añadirá las reglas de reescritura en el archivo de configuración para ocultar las rutas antiguas de los hackers.La API REST es crucial para muchos plugins ya que les permite interactuar con la base de datos de WordPress y realizar diversas acciones de manera programada.El Modo Seguro agregará las reglas de reescritura en el archivo de configuración para ocultar las rutas antiguas a los hackers.La URL segura desactivará todas las rutas personalizadas. Úsala solo si no puedes iniciar sesión.La base de datos de WordPress es como el cerebro de todo tu sitio de WordPress, ya que cada pedacito de información sobre tu sitio se almacena allí, lo que la convierte en el objetivo favorito de los hackers.

Los spammers y hackers ejecutan código automatizado para inyecciones SQL.
Desafortunadamente, muchas personas olvidan cambiar el prefijo de la base de datos cuando instalan WordPress.
Esto facilita a los hackers planificar un ataque masivo al apuntar al prefijo predeterminado wp_.La frase de descripción de un sitio de WordPress es una frase corta ubicada debajo del título del sitio, similar a un subtítulo o eslogan publicitario. El objetivo de una frase de descripción es transmitir la esencia de tu sitio a los visitantes.

Si no cambias la frase de descripción predeterminada, será muy fácil detectar que tu sitio web fue realmente construido con WordPressLa constante ADMIN_COOKIE_PATH está definida en wp-config.php por otro plugin. No puedes cambiar %s a menos que elimines la línea define('ADMIN_COOKIE_PATH', ...);.¡La lista de plugins y temas se actualizó con éxito!La forma más común de hackear un sitio web es accediendo al dominio y añadiendo consultas perjudiciales para revelar información de archivos y bases de datos.
Estos ataques se realizan en cualquier sitio web, sea WordPress o no, y si una llamada tiene éxito... probablemente sea demasiado tarde para salvar el sitio web.El editor de archivos de plugins y temas es una herramienta muy conveniente porque te permite hacer cambios rápidos sin la necesidad de usar FTP.

Desafortunadamente, también es un problema de seguridad porque no solo muestra el código fuente de PHP, sino que también permite a los atacantes inyectar código malicioso en tu sitio si logran obtener acceso al administrador.El proceso fue bloqueado por el firewall del sitio web.La URL solicitada %s no se encontró en este servidor.El parámetro de respuesta es inválido o está mal formado.El parámetro secreto es inválido o está mal formado.Falta el parámetro secreto.Las claves de seguridad en wp-config.php deben renovarse con la mayor frecuencia posible.Ruta de TemasSeguridad de TemasLos temas están actualizadosHa habido un error crítico en su sitio web.Ha habido un error crítico en su sitio web. Por favor, revise la bandeja de entrada de su correo electrónico de administrador del sitio para obtener instrucciones.Hay un error de configuración en el complemento. Por favor, guarde de nuevo los ajustes y siga las instrucciones.Hay una versión más reciente de WordPress disponible ({versión}).No hay un registro de cambios disponible.No existe algo como una "contraseña sin importancia". ¡Lo mismo aplica para la contraseña de tu base de datos de WordPress!
Aunque la mayoría de los servidores están configurados de manera que no se pueda acceder a la base de datos desde otros hosts (o desde fuera de la red local), eso no significa que tu contraseña de la base de datos deba ser "12345" o no tener contraseña en absoluto.Esta increíble característica no está incluida en el plugin básico. ¿Quieres desbloquearla? Simplemente instala o activa el Paquete Avanzado y disfruta de las nuevas funciones de seguridad.¡Este es uno de los problemas de seguridad más grandes que puedes tener en tu sitio! Si tu empresa de alojamiento tiene esta directiva habilitada por defecto, ¡cambia a otra empresa inmediatamente!Esto puede no funcionar con todos los dispositivos móviles nuevos.Esta opción agregará reglas de reescritura al archivo .htaccess en el área de reglas de reescritura de WordPress entre los comentarios # BEGIN WordPress y # END WordPress.Esto evitará que se muestren las rutas antiguas cuando se llama a una imagen o fuente a través de ajaxTres DíasTres HorasTimor OrientalPara cambiar las rutas en los archivos en caché, activa %s Cambiar Rutas en Archivos en Caché%sPara ocultar la biblioteca Avada, por favor añade Avada FUSION_LIBRARY_URL en el archivo wp-config.php después de la línea $table_prefix: %sPara mejorar la seguridad de tu sitio web, considera eliminar los autores y estilos que apuntan a WordPress en tu mapa del sitio XML.TogoTokelauTongaRastrea y registra los eventos del sitio web y recibe alertas de seguridad por correo electrónico.Registra y registra los eventos que ocurren en tu sitio de WordPressChino TradicionalTrinidad y TobagoSolución de problemasTúnezTurquíaTurcoTurkmenistánIslas Turcas y CaicosDesactiva los plugins de depuración si tu sitio web está en vivo. También puedes añadir la opción para ocultar los errores de la base de datos global $wpdb; $wpdb->hide_errors(); en el archivo wp-config.phpTuvaluAjustesAutenticación de dos factoresMapeo de URLUgandaUcraniaUcranianoSe ha detectado Ultimate Affiliate Pro. El plugin no admite rutas %s personalizadas ya que no utiliza las funciones de WordPress para llamar a la URL de AjaxNo se puede actualizar el archivo wp-config.php para actualizar el Prefijo de la Base de Datos.DeshacerEmiratos Árabes UnidosReino UnidoEstados UnidosIslas Ultramarinas Menores de Estados UnidosEstado desconocido del verificador de actualizaciones "%s"Desbloquear todoActualiza la configuración en %s para refrescar las rutas después de cambiar la ruta de la API REST.ActualizadoSube el archivo con la configuración guardada del complementoRuta de SubidasAcciones de Seguridad Urgentes RequeridasUruguayUtiliza Protección contra Fuerza BrutaUtiliza Inicios de Sesión TemporalesUtiliza el código de acceso %s para integrarlo con otros formularios de inicio de sesión.UsuarioUtilice 'admin' o 'administrador' como AdministradorAcción del UsuarioRegistro de Eventos del UsuarioRol de UsuarioSeguridad del UsuarioEl usuario no pudo ser activado.No se pudo agregar al usuarioNo se pudo eliminar al usuario.No se pudo desactivar al usuario.Roles de usuario para quienes desactivar el clic derechoRoles de usuario para quienes deshabilitar la función de copiar/pegarRoles de usuario para quienes desactivar la función de arrastrar/soltarRoles de usuario para quién deshabilitar el elemento de inspecciónRoles de usuario para quienes deshabilitar la vista de fuenteRoles de usuario para quién ocultar la barra de herramientas de administraciónUsuario activado con éxito.Usuario creado con éxito.Usuario eliminado con éxito.Usuario desactivado con éxito.Usuario actualizado con éxito.Los nombres de usuario (a diferencia de las contraseñas) no son secretos. Conocer el nombre de usuario de alguien no te permite iniciar sesión en su cuenta. También necesitas la contraseña.

Sin embargo, al conocer el nombre de usuario, estás un paso más cerca de iniciar sesión utilizando el nombre de usuario para forzar bruscamente la contraseña, o para obtener acceso de manera similar.

Por eso es recomendable mantener la lista de nombres de usuario en privado, al menos en cierto grado. Por defecto, al acceder a siteurl.com/?author={id} y recorrer los ID desde 1 puedes obtener una lista de nombres de usuario, porque WP te redirigirá a siteurl.com/author/user/ si el ID existe en el sistema.Usar una versión antigua de MySQL hace que tu sitio sea lento y propenso a ataques de hackers debido a las vulnerabilidades conocidas que existen en las versiones de MySQL que ya no se mantienen.

Necesitas Mysql 5.4 o superiorUsar una versión antigua de PHP hace que tu sitio sea lento y propenso a ataques de hackers debido a las vulnerabilidades conocidas que existen en las versiones de PHP que ya no se mantienen.

Necesitas PHP 7.4 o superior para tu sitio web.UzbekistánVálidoValorVanuatuVenezuelaVersiones en Código FuenteVietnamVietnamitaVer detallesIslas Vírgenes BritánicasIslas Vírgenes, EE. UU.W3 Total CacheSeguridad Central de WPModo de Depuración de WPWP EngineWP Fastest CacheWP RocketWP Super CacheSe ha detectado WP Super Cache CDN. Por favor, incluye las rutas %s y %s en WP Super Cache > CDN > Incluir directoriosConstructor de Páginas WPBakeryWPPluginsWallis y FutunaSe ha detectado un nombre débil: %s. Necesita usar otro nombre para aumentar la seguridad de su sitio web.Sitio webSáhara OccidentalDónde agregar las reglas del cortafuegos.Lista blancaLista blanca de IPsOpciones de lista blancaRutas de la Lista BlancaWindows Live Writer está activeInicio de Sesión Seguro de WooCommerceSoporte de WooCommerceWoocommerceEnlace mágico de WoocommerceContraseña de la Base de Datos de WordPressPermisos predeterminados de WordPressRevisión de Seguridad de WordPressVersión de WordPressWordPress XML-RPC es una especificación que busca estandarizar las comunicaciones entre diferentes sistemas. Utiliza HTTP como mecanismo de transporte y XML como mecanismo de codificación para permitir la transmisión de una amplia gama de datos.

Los dos mayores activos de la API son su extensibilidad y su seguridad. XML-RPC se autentica utilizando autenticación básica. Envía el nombre de usuario y la contraseña con cada solicitud, lo cual es un gran error en círculos de seguridad.WordPress y sus plugins y temas son como cualquier otro software instalado en tu ordenador, y como cualquier otra aplicación en tus dispositivos. Periódicamente, los desarrolladores lanzan actualizaciones que proporcionan nuevas características o corrigen errores conocidos.

Las nuevas características pueden ser algo que no necesariamente deseas. De hecho, puedes estar perfectamente satisfecho con la funcionalidad que tienes actualmente. Sin embargo, aún puedes estar preocupado por los errores.

Los errores de software pueden presentarse de muchas formas y tamaños. Un error podría ser muy grave, como impedir que los usuarios utilicen un plugin, o podría ser un error menor que solo afecta a una cierta parte de un tema, por ejemplo. En algunos casos, los errores incluso pueden causar graves fallos de seguridad.

Mantener los temas actualizados es una de las formas más importantes y fáciles de mantener tu sitio seguro.WordPress y sus plugins y temas son como cualquier otro software instalado en tu ordenador, y como cualquier otra aplicación en tus dispositivos. Periódicamente, los desarrolladores lanzan actualizaciones que proporcionan nuevas características o corrigen errores conocidos.

Estas nuevas características no necesariamente pueden ser algo que desees. De hecho, puedes estar perfectamente satisfecho con la funcionalidad que tienes actualmente. Sin embargo, es probable que aún te preocupen los errores.

Los errores de software pueden presentarse de muchas formas y tamaños. Un error podría ser muy grave, como impedir que los usuarios utilicen un plugin, o podría ser menor y solo afectar a una cierta parte de un tema, por ejemplo. En algunos casos, los errores pueden causar graves fallos de seguridad.

Mantener los plugins actualizados es una de las formas más importantes y fáciles de mantener tu sitio seguro.WordPress es bien conocido por su facilidad de instalación.
Es importante ocultar los archivos wp-admin/install.php y wp-admin/upgrade.php porque ya ha habido un par de problemas de seguridad relacionados con estos archivos.WordPress, los plugins y los temas añaden su información de versión al código fuente, por lo que cualquiera puede verla.

Los hackers pueden encontrar fácilmente un sitio web con plugins o temas de versiones vulnerables, y dirigirse a estos con Explotaciones de Día Cero.Seguridad de WordfenceSe ha detectado WpEngine. Agrega las redirecciones en el panel de reglas de redirección de WpEngine %s.Protección de Nombre de Usuario IncorrectoSeguridad XML-RPCEl acceso a XML-RPC está activadoYemenSíSí, está funcionandoYa has definido un directorio diferente para wp-content/uploads en wp-config.php %sPuedes bloquear una única dirección IP como 192.168.0.1 o un rango de 245 IPs como 192.168.0.*. Estas IPs no podrán acceder a la página de inicio de sesión.Puedes crear una nueva página y volver para elegir redirigir a esa página.Puedes generar %snuevas Claves desde aquí%s AUTH_KEY,SECURE_AUTH_KEY,LOGGED_IN_KEY,NONCE_KEY,AUTH_SALT,SECURE_AUTH_SALT,LOGGED_IN_SALT,NONCE_SALTAhora puedes desactivar la opción '%s'.Puedes configurar para recibir correos electrónicos de alerta de seguridad y prevenir la pérdida de datos.Puedes agregar a la lista blanca una única dirección IP como 192.168.0.1 o un rango de 245 IPs como 192.168.0.*. Encuentra tu IP con %sNo puedes establecer ADMIN y LOGIN con el mismo nombre. Por favor, utiliza nombres diferentesNo tienes permiso para acceder a %s en este servidor.Necesitas activar la reescritura de URL para IIS para poder cambiar la estructura del enlace permanente a URL amigable (sin index.php). %sMás detalles%sNecesitas establecer un número positivo de intentos.Necesitas establecer un tiempo de espera positivo.Necesitas configurar la estructura del enlace permanente para URL amigable (sin index.php).Siempre debes actualizar WordPress a las %súltimas versiones%s. Estas suelen incluir las últimas correcciones de seguridad y no alteran WP de manera significativa. Estas deben aplicarse tan pronto como WP las publique.

Cuando esté disponible una nueva versión de WordPress, recibirás un mensaje de actualización en tus pantallas de administración de WordPress. Para actualizar WordPress, haz clic en el enlace de este mensaje.Deberías revisar tu sitio web cada semana para ver si hay algún cambio de seguridad.Tu licencia %s %s expiró el %s %s. Para mantener la seguridad de tu sitio web al día, asegúrate de tener una suscripción válida en %scuenta.hidemywpghost.com%sTu IP ha sido marcada por posibles violaciones de seguridad. Por favor, inténtalo de nuevo en un rato...La URL de tu administrador no se puede cambiar en el alojamiento %s debido a las condiciones de seguridad %s.La URL de tu administrador ha sido modificada por otro plugin/tema en %s. Para activar esta opción, deshabilita el administrador personalizado en el otro plugin o desactívalo.La URL de inicio de sesión ha sido modificada por otro plugin/tema en %s. Para activar esta opción, deshabilite el inicio de sesión personalizado en el otro plugin o desactívelo.La URL para iniciar sesión es: %sLa URL para iniciar sesión será: %s En caso de que no puedas iniciar sesión, utiliza la URL segura: %sTu nueva contraseña no ha sido guardada.Las nuevas URL de tu sitio sonLa seguridad de su sitio web %ses extremadamente débil%s. %sHay muchas puertas abiertas para los hackers.La seguridad de su sitio web %ses muy débil%s. %sHay muchas puertas disponibles para los hackers.La seguridad de tu sitio web está mejorando. %sSolo asegúrate de completar todas las tareas de seguridad.La seguridad de su sitio web sigue siendo débil. %sAlgunas de las principales puertas de hackeo aún están disponibles.La seguridad de su sitio web es fuerte. %sRevise la seguridad cada semana.ZambiaZimbabueactivar característicadespués del primer accesoya activooscuropredeterminadodirectiva display_errors de PHPpor ejemplo *.colocrossing.comp. ej. /carrito/Por ejemplo, /cart/ permitirá todas las rutas que comiencen con /cart/.p. ej. /checkout/Por ejemplo, /post-type/ bloqueará todas las rutas que comiencen con /post-type/p. ej. acapbotp. ej. alexibotp. ej. badsite.compor ejemplo, gigabotpor ejemplo, kanagawa.comp. ej. xanax.compor ejemplo.por ejemplo /cerrar_sesión oeg. adm, atráseg. ajax, jsoneg. aspecto, plantillas, estilosej. comentarios, discusióneg. núcleo, inc, incluireg. desactivar_url, url_seguraej. imágenes, archivoseg. json, api, llamadaej. lib, bibliotecapor ejemplo, iniciar o registrarsepor ejemplo, cerrar sesión o desconectareg. perdidapass o olvidadapasseg. main.css, theme.css, design.cssej. módulospor ejemplo, enlace de activación de varios sitiospor ejemplo, nuevousuario o registrarseej. perfil, usuario, escritordeayudahttps://hidemywp.comignorar alertaLos archivos install.php y upgrade.php están accesiblesluzregistroregistrosmás detallesno recomendadosolo %d caracteresoIncompatibilidadMedioFuerza de la contraseña desconocidaFuerteMuy débilDébilPrueba de reCAPTCHAPrueba de reCAPTCHA V2Prueba de reCAPTCHA V3Idioma reCaptchaTema de reCaptchaEl archivo readme.html es accesiblerecomendadoredireccionesver característicainiciar configuración de característicasUna nueva versión del plugin %s está disponible.No se pudo determinar si hay actualizaciones disponibles para %s.El plugin %s está actualizado.ademasiado simpleLos archivos wp-config.php y wp-config-sample.php están accesibleslanguages/hide-my-wp-fi.mo000064400000460731147600042240011435 0ustar003)LSooeo pp pe:p%ppppPqhqXqTr>qr>rMr2=s)psBsEs#t tMtDuau eu ou}uu uu u uuePv)v v v v8w?xFxOxxyy0yJy%_yCyTyGz;fz5zLz%{{{L{"|<)|/f|%|||'|}7-}$e}R}!}}5~SQ~~~~,~':/7j3    . @XL+ р߀  $ ;'HpGdSrfjقD  4;8B { MW _k A ܅ %=E M ZePnΆֆކ T \ ftŇԇ6 Q] p|! ƈԈۈ (@]t ~ (I0zL~Fˊ7@S ϋ֋Y GRds Ō4%Q-w(J΍"6<ksdߎQDIUq6M 10;bCF5)_ekFm_Rgx/e@ ` l`xٕݕ  "#9,]ray_nٗpH' ej[^ƙ%B%HanК7ٚ  Y( 1ڛ. ;G[45؜&A͝ʞҞ۞(:Mg|(П %8Lc{@Р371ipv   šСء%@?*  Ǣ!Ӣ +#Fnj٣ "'Jb( ɤ/8!Jl$c $9[^%Ѧ)&!ZHP.O#0s/5Ԩ, 7}"v%/=mv)@F,;Hh87"( 7 AKT]DcF \ h n z ȮPׯ+ݯ ̰1԰ =N](sձuIDzвײ ̳޳bkU ʶֶ޶N 5CJ ft} nt{!ӹ% ?EV6;&M/}  ˻  t"Uc_Q^gexU޾d4f2m3)  =* * 5 ?7`;WUCO Fe'+   %/8 ?MTZ\w! KTYk${1"&)P?c2E]t 1%=Wl%""7AQyF(; P)^.5M;S&k:3UVWSTHWGfgk7  K  +5 =gI Yv!UIF8y`rxMqF8=8=~5Z6 ^M7^-RO-Q}PR s ]Bzhzf )2;B ^io4x    ( 4AH PZlt3#"9\{##7= JR+Z C *4 D N Ye@{=>%96_v  (2BQb{    .9_KR[dio!)$A@@( 6  );C JU\|7. - 8 CM gtY|   n H  + 1;AINQc~   . 5?Q9e#;Z go x R= JRcs| 2"1:@V]nw6~)  '0D  1B )GAXk88?x  "65Ul+ >->l1Yz9&+3=qy>12&>FY` + <5 -r )          +  E f         1 " 1 C 5J  %       -b @ R8O.6  $1?q5 g>C['q&<"% H Vc{   #   '6FN|/c ,   ' -9B Ycj?r954">W| 64 kw  /7<,t,aV`RHGu8]U4 !2A!/t!-! !J! >"J"Z"0p"k"h #<v# #B#%%.a&&Y)' ' ' 'T'u'uq((((F(7A)y)))))) )))*** *** **\o++++ +$,"(, K,LV,,., , ,--+-<@-}-0- -- - --..7.-S.,.+.1.- /,:/g/////c/U2:3 +464<4B4 J4T4l4 t4 44444 4 44 5 5i55 55W566 &6 G6 Q6_6q6666 6667#7<7N7:9>Q<?m@NAMaAAAAAAAP B\BKB6C!CCCt7DQD:D9E.E(EL!FnFRGDHaHODII$JJHJ%K9KPPKKK^KZLLILLLMM%M4M9MAM^M vM8MM>M N N%N 6NCNUNdNhN wNNNNNNNO"O3OGO`O${O OOOOOPP P.'PVP\P`P ePrP PPPP+PP Q(Q?QNQ`QrQQQ Q Q QQ=QE(R-nRR R9RqRVUn V yVV'VpV0W!HWjW+WZW XrX"9YT\YRYdZDiZ(ZQZL)[v[" \\0\D\\\ ]]$]3] D] N] []h]m]6`^^ ^ ^L^`` ```#`#a@a1RaLauaUGbDb<bIcic ccVc'VdE~dEdE e(Pe1ye<eeff)jfrf%g-g<Mgtggh.h7?hIwh;hWhCUiiiiiiijj &jF1j2xjjjjjjjkk5k1Kk$}k#k[kn"lll:mmnnnn nnnnRn /o:oBoHo .p 8pBp$TpyppBp p pqq=qWq wqqq qqpq#r2rArHrOrUr]rorUvr rr$r ss#3s Wses$}ssGs t"t3tHt Ptqttttt!tt tuu:uNudumuvu vvK%vqvIuvGv wPwGfww wwwwwxzx xx xxxxx xx+y?y%\yy(yAy9 z.FzNuz&z9z%{{\K|_|S}\}j}L~g~~5~@~FGU=>Y;Z <ONق( 8]EǃЃ*A:|py9.h }xxby#܈`': ɉ ։w\q  &EȊ*19Wk=Ë> @L$Pu+IQY_g׎&$=b~@ )AY&vP :5>pБ 6I#P+t"BڒEcv } ' ӓ ?~_ޔ>2q 8! B+Bn$֖5|,ė;t,<՘*X=c1S,4<<./^K>T|w*24_=U4S(<|K   )3<EMNI]x ~  !͡=$DiPAY)'\ &j  ʧاͩ  ëM̫ 4A ] hu ¬ ͮ׮ %*>)Q{?Hï  $=.9lh" =HOVe(w#e{nPlгx=pe'rqAr|71ix~]ekq wM3ϸ  +GCBιW\D\  E4&z-)ϻ  (3 ;F KU^ esz(m$9U$\P-3$J;o'+Tk0(!?aw%; -Gu%!/2B(u1@VGh2/1?:qV2=Ap4diLNODUDqmp@( nksz {  Y}yi[aO #<\DD#jE0!KR=  l yJ4d(icm[g1Oglt}a}s~Zajs| < %+@l~ 7n2) ""."Q7tA.->PXo ~U  M.M|G$77ro(C5c%!)&$P u 9{7> FQV\@z+6MKl;  Fa x +   ;@T[5d7    f$ c5:BH NYh[    )1*[  %BU[a9)mcM1FJMa     S9XW   ,D#6?EV]o xB;5EL Q]fQLh~Cp  )5(^FGG   &@.`OcACK9%5@tv@  "0GM;_EGD: $      \ 6 ;+ g x        , 9  ? J  _ l u   I ( %@GE&7+\EwF)=p Z%,&>[e @ # -8-#&MJ* !: O [ er*  #+:+  0E MWhx ~KL AYBO.(B&.EU \i"!!'M95!v~r6 o !Z#^$D%`J%&/<(6l(5(7()P-) ~))).)w)O`*7**`*[,,?--^./ / -/g8/y/0000a0E*1p111111 1112 2222223i3444 4!4 5$5\;5 5455"5 66(06JY6 6C66 7&777!H7j77+7T7?+8Wk8I8D 9:R9$9 9$909&):P: +=6> ? ?!?&? .?8?O?W?_?p????? ?? ?@f@x@ @@l@ A $A$2A WAaAAA"A%AA BB )BJBcBBB[DGjK;LWM^jM MMMN$N+NQ=NNJ"OmO,Pe4PPSQ8sQQ:WR.RcR%SgTJUlVItVVvW';XqcX#X"XgYgYiYzVZSZ%[,[5[H[ g[u[{[[[ [H[\T!\ v\\\\\\\\\ ]!]=]Y]!w]]]]-]'^&6^%]^^#^'^(^___(_:9_t_{___!___ _ __```&`6`J`\`l`*|` ````'`Ca`a}aaDaYV~" W{7]meBAmHnW9}02e3^B+v+k-tNY`0)uRz&?1(*f%X!$ #> 1/ qH& fBL bzVa*gMe, 'b$=" mTarxiDHqD&TgNu>"wzU#w%-Z-]%<dR9 k1^ALl\p2H-SFo+w5|dkQauW2K]A57:nR},|~)=I7^:W\I 8y oKD .}E !.</nM.z:YN6WR$58|Og,0;' |ZJ*@r3,4eyOsPJQui!R vS~MLGcV;cJhov QXE\M c: 2-+F4 Gsd%(SjIZs> P?atuj|Jxwi{[Y1*4@y.Dp7 5(<?8)lAt,XO2 9-i5v0GPSe{=t^~_[@$_%h*"#~/l^04; xCfl!9 ,(" 6E <Y6 U0>{*F vP]oZJXB_lgE'_!qd@p%p&kT(I\=Q1&[C 9Um#mjx3"sG:N'}yI)bnd`Uf+)h.'ctL3&C=j+rr]@n8Zc oK#;4EOQhKhKFV `}CM# `2DLjCS[ kV{6br?b3w!s_/\/1)N[<i/Ty?8z'XF;UH>.AxaP7qgTGB`p6  (O$qf3$ #1 Hack Prevention Security Solution: Hide WP CMS, 7G/8G Firewall, Brute Force Protection, 2FA, GEO Security, Temporary Logins, Alerts & more.%1$s is deprecated since version %2$s! Use %3$s instead. Please consider writing more inclusive code.%d %s ago%d %s remaining%s days since last update%s does not work without mode_rewrite. Please activate the rewrite module in Apache. %sMore details%s%s don't have the correct permission.%s is visible in source code%s path is accessible%s plugin(s) are outdated: %s%s plugin(s) have NOT been updated by their developers in the past 12 months: %s%s protects your website from most SQL injections but, if possible, use a custom prefix for database tables to avoid SQL injections. %sRead more%s%s rules are not saved in the config file and this may affect the website loading speed.%s theme(s) are outdated: %s%sClick here%s to create or view keys for Google reCAPTCHA v2.%sClick here%s to create or view keys for Google reCAPTCHA v3.%sERROR:%s Email or Password is incorrect. %s %d attempts left before lockout%sHide the login path%s from theme menu or widget.%sIncorrect ReCaptcha%s. Please try again%sNOTE:%s If you didn't receive the credentials, please access %s.%sYou failed to correctly answer the math problem.%s Please try again(* the plugin has no extra cost, gets installed / activated automatically inside WP when you click the button, and uses the same account)(multiple options are available)(useful when the theme is adding wrong admin redirects or infinite redirects)(works only with the custom admin-ajax path to avoid infinite loops)2FA2FA Login403 Forbidden403 HTML Error404 HTML Error404 Not Found404 page7G Firewall8G FirewallA feature designed to stops attacks from different countries, and to put an end to harmful activity that comes from specific regions.A thorough set of rules can prevent many types of SQL Injection and URL hacks from being interpreted.A user already exists with that username.API SecurityAPI SettingsAWS BitnamiAccording to %sGoogle latest stats%s, over %s 30k websites are hacked every day %s and %s over 30% of them are made in WordPress %s. %s It's better to prevent an attack than to spend a lot of money and time to recover your data after an attack not to mention the situation when your clients' data are stolen.ActionActivateActivate 'Must Use Plugin Loading' from 'Plugin Loading Hook' to be able to connect to your dashboard directly from managewp.com. %s click here %sActivate Brute Force ProtectionActivate Events LogActivate Log Users EventsActivate Temporary LoginsActivate Your PluginActivate info and logs for debugging.Activate the "Brute Force" option to see the user IP blocked reportActivate the "Log Users Events" option to see the user activity log for this websiteActivate the Brute Force protection for Woocommerce login/signup forms.Activate the Brute Force protection on lost password forms.Activate the Brute Force protection on sign up forms.Activate the firewall and prevent many types of SQL Injection and URL hacks.Activate the firewall and select the firewall strength that works for your website %s %s > Change Paths > Firewall & Headers %sActivation HelpAddAdd IP addresses that should always be blocked from accessing this website.Add Content-Security-Policy headerAdd Headers Security against XSS and Code Injection Attacks.Add IP addresses that can pass plugin security.Add IPs that can pass plugin securityAdd New Temporary LoginAdd New Temporary Login UserAdd Rewrites in WordPress Rules SectionAdd Security HeaderAdd Security Headers for XSS and Code Injection AttacksAdd Strict-Transport-Security headerAdd Two Factor security on login page with Code Scan or Email Code authentication.Add X-Content-Type-Options headerAdd X-XSS-Protection headerAdd a list of URLs you want to replace with new ones.Add a random static number to prevent frontend caching while the user is logged in.Add another CDN URLAdd another URLAdd another textAdd common WordPress classes in text mappingAdd paths that can pass plugin securityAdd paths that will be blocked for the selected countries.Add redirects for the logged users based on user roles.Add the CDN URLs you're using in the cache plugin. Admin PathAdmin SecurityAdmin ToolbarAdmin URLAdmin UsernameAdvancedAdvanced PackAdvanced SettingsAfghanistanAfter adding the classes, verify the frontend to ensure that your theme is not affected.After, click %sSave%s to apply the changes.Ajax SecurityAjax URLAland IslandsAlbaniaAlert Emails SentAlgeriaAll ActionsAll In One WP SecurityAll WebsitesAll files have the correct permissions.All plugins are compatibleAll plugins are up to dateAll plugins have been updated by their developers in the past 12 monthsAll the logs are saved on Cloud for 30 days and the report is available if your website is attacked.Allow Hidden PathsAllow users to log in to WooCommerce account using their email address and a unique login URL delivered via email.Allow users to log in to the website using their email address and a unique login URL delivered via email.Allowing anyone to view all files in the Uploads folder with a browser will allow them to easily download all your uploaded files. It's a security and a copyright issue.American SamoaAndorraAngolaAnguillaAntarcticaAntigua and BarbudaApacheArabicAre you sure you want to ignore this task in the future?ArgentinaArmeniaArubaAttention! Some URLs passed through the config file rules and were loaded through WordPress rewrite which may slow down your website. %s Please follow this tutorial to fix the issue: %sAustraliaAustriaAuthor PathAuthor URL by ID accessAuto DetectAutodetectAutomatically redirect the logged in users to the admin dashboardAutoptimizerAzerbaijanBackend under SSLBackup SettingsBackup/RestoreBackup/Restore SettingsBahamasBahrainBan durationBangladeshBarbadosBe sure to include only internal URLs, and use relative paths whenever possible.Beaver BuilderBelarusBelgiumBelizeBeninBermudaBest regardsBhutanBitnami detected. %sPlease read how to make the plugin compatible with AWS hosting%sBlacklistBlacklist IPsBlank Screen On DebuggingBlock CountriesBlock HostnamesBlock IP on login pageBlock ReferrerBlock Specific PathsBlock Theme Detectors CrawlersBlock User AgentsBlock known Users-Agents from popular Theme Detectors.Blocked IPsBlocked IPs ReportBlocked by BoliviaBonaire, Saint Eustatius and SabaBosnia and HerzegovinaBotswanaBouvet IslandBrazilBritish EnglishBritish Indian Ocean TerritoryBrunei DarussalamBrute ForceBrute Force IPs BlockedBrute Force Login ProtectionBrute Force ProtectionBrute Force SettingsBulgariaBulgarianBulletProof plugin! Make sure you save the settings in %s after activating Root Folder BulletProof Mode in BulletProof plugin.Burkina FasoBurundiBy activating, you agree to our %s Terms of Use %s and %sPrivacy Policy%sCDNCDN Enabled detected. Please include %s and %s paths in CDN Enabler SettingsCDN Enabler detected! Learn how to configure it with %s %sClick here%sCDN URLsCONNECTION ERROR! Make sure your website can access: %sCache CSS, JS and Images to increase the frontend loading speed.Cache EnablerCambodiaCameroonCan't download the plugin.CanadaCanadian FrenchCancelCancel the login hooks from other plugins and themes to prevent unwanted login redirects.Cape VerdeCatalan ValencianCayman IslandsCentral African RepublicChadChangeChange OptionsChange PathsChange Paths NowChange Paths for Logged UsersChange Paths in Ajax CallsChange Paths in Cached FilesChange Paths in RSS feedChange Paths in Sitemaps XMLChange Relative URLs to Absolute URLsChange WordPress paths while you're logged inChange paths in RSS feed for all images.Change paths in Sitemap XML files and remove the plugin author and styles.Change the Tagline in %s > %s > %sChange the WordPress common paths in the cached files.Change the signup path from %s %s > Change Paths > Custom Register URL%s or uncheck the option %s > %s > %sChange the text in all CSS and JS files, including those in cached files generated by cache plugins.Change the user 'admin' or 'administrator' with another name to improve security.Change the wp-config.php file permission to Read-Only using File Manager.Change the wp-content, wp-includes and other common paths with %s %s > Change Paths%sChange the wp-login from %s %s > Change Paths > Custom login URL%s and Switch on %s %s > Brute Force Protection%sChanging the predefined security headers may affect the website funtionality.Check Frontend PathsCheck Your WebsiteCheck for updatesCheck if the website paths are working correctly.Check if your website is secured with the current settings.Check the %s RSS feed %s and make sure the image paths are changed.Check the %s Sitemap XML %s and make sure the image paths are changed.Check the website loading speed with %sPingdom Tool%sChileChinaChoose a proper database password, at least 8 characters long with a combination of letters, numbers and special characters. After you change it, set the new password in the wp-config.php file define('DB_PASSWORD', 'NEW_DB_PASSWORD_GOES_HERE');Choose the countries where access to the website should be restricted.Choose the type of server you are using to get the most suitable configuration for your server.Chose what to do when accessing from whitelist IP addresses and whitelisted paths.Christmas IslandClean Login PageClick %sContinue%s to set the predefined paths.Click Backup and the download will start automatically. You can use the Backup for all your websites.Click to run the process to change the paths in the cache files.Close ErrorCloud PanelCloud Panel detected. %sPlease read how to make the plugin compatible with Cloud Panel hosting%sCntCocos (Keeling) IslandsColombiaComments PathComorosCompatibilityCompatibility SettingsCompatibility with Manage WP pluginCompatibility with Token Based Login pluginsCompatible with All In One WP Security plugin. Use them together for Virus Scan, Firewall, Brute Force protection.Compatible with JCH Optimize Cache plugin. Works with all the options to optimize for CSS and JS.Compatible with Solid Security plugin. Use them together for Site Scanner, File Change Detection, Brute Force Protection.Compatible with Sucuri Security plugin. Use them together for Virus Scan, Firewall, File Integrity Monitoring.Compatible with Wordfence Security plugin. Use them together for Malware Scan, Firewall, Brute Force protection.Compatible with all themes and plugins.Complete FixConfigConfig file is not writable. Create the file if not exists or copy to %s file the following lines: %sConfig file is not writable. Create the file if not exists or copy to %s file with the following lines: %sConfig file is not writable. You have to added it manually at the beginning of the %s file: %sConfirm use of weak passwordCongoCongo, The Democratic Republic of theCongratulations! You completed all the security tasks. Make sure you check your site once a week.ContinueConvert links like /wp-content/* into %s/wp-content/*.Cook IslandsCopy LinkCopy the %s SAFE URL %s and use it to deactivate all the custom paths if you can't login.Core Contents PathCore Includes PathCosta RicaCote dIvoireCould not detect the userCould not fix it. You need to change it manually.Could not found anything based on your search.Could not login with this user.Could not rename table %1$s. You may have to rename the table manually.Could not update prefix references in options table.Could not update prefix references in usermeta table.Country BlockingCreateCreate New Temporary LoginCreate a temporary login URL with any user role to access the website dashboard without username and password for a limited period of time.Create a temporary login URL with any user role to access the website dashboard without username and password for a limited period of time. %s This is useful when you need to give admin access to a developer for support or for performing routine tasks.CroatiaCroatianCubaCuracaoCustom Activation PathCustom Admin PathCustom Cache DirectoryCustom Login PathCustom Logout PathCustom Lost Password PathCustom Register PathCustom Safe URL ParamCustom admin-ajax PathCustom author PathCustom comment PathCustom message to show to blocked users.Custom plugins PathCustom theme style nameCustom themes PathCustom uploads PathCustom wp-content PathCustom wp-includes PathCustom wp-json PathCustomize & Secure all WordPress paths from hacker bots attacks.Customize Plugin NamesCustomize Theme NamesCustomize the CSS and JS URLs in your website body.Customize the IDs and Class names in your website body.CyprusCzechCzech RepublicDB Debug ModeDanishDashboardDatabase PrefixDateDeactivatedDebug ModeDefaultDefault Redirect After LoginDefault Temporary Expire TimeDefault User RoleDefault WordPress TaglineDefault user role for which the temporary login will be created.Delete Temporary Users on Plugin UninstallDelete userDenmarkDetailsDirectoriesDisable "rest_route" param accessDisable Click MessageDisable CopyDisable Copy/PasteDisable Copy/Paste MessageDisable Copy/Paste for Logged UsersDisable DISALLOW_FILE_EDIT for live websites in wp-config.php define('DISALLOW_FILE_EDIT', true);Disable Directory BrowsingDisable Drag/Drop ImagesDisable Drag/Drop MessageDisable Drag/Drop for Logged UsersDisable Inspect ElementDisable Inspect Element MessageDisable Inspect Element for Logged UsersDisable OptionsDisable PasteDisable REST API accessDisable REST API access for not logged in usersDisable REST API access using the parameter 'rest_route'Disable RSD Endpoint from XML-RPCDisable Right-ClickDisable Right-Click for Logged UsersDisable SCRIPT_DEBUG for live websites in wp-config.php define('SCRIPT_DEBUG', false);Disable View SourceDisable View Source MessageDisable View Source for Logged UsersDisable WP_DEBUG for live websites in wp-config.php define('WP_DEBUG', false);Disable XML-RPC accessDisable copy function on your websiteDisable image drag & drop on your websiteDisable paste function on your websiteDisable the RSD (Really Simple Discovery) support for XML-RPC & remove RSD tag from headerDisable the access to /xmlrpc.php to prevent %sBrute force attacks via XML-RPC%sDisable the copy/paste action on your website.Disable the external calls to xml-rpc.php file and prevent Brute Force attacks.Disable the inspect element view on your websiteDisable the right-click action on your website.Disable the right-click functionality on your websiteDisable the source-code view on your websiteDisplaying any kind of debug info in the frontend is extremely bad. If any PHP errors happen on your site they should be logged in a safe place and not displayed to visitors or potential attackers.DjiboutiDo Login & Logout RedirectsDo not log out from this browser until you are confident that the Log in page is working and you will be able to login again.Do not logout from your account until you are confident that reCAPTCHA is working and you will be able to login again.Do you want to delete temporary user?Do you want to restore the last saved settings?DominicaDominican RepublicDon't forget to reload the Nginx service.Don't let URLs like domain.com?author=1 show the user login nameDon't let hackers see any directory content. See %sUploads Directory%sDon't load Emoji Icons if you don't use themDon't load WLW if you didn't configure Windows Live Writer for your siteDon't load oEmbed service if you don't use oEmbed videosDon't select any role if you want to log all user rolesDone!Download DebugDrupal 10Drupal 11Drupal 8Drupal 9DutchERROR! Please make sure you use a valid token to activate the pluginERROR! Please make sure you use the right token to activate the pluginEcuadorEdit UserEdit userEdit wp-config.php and add ini_set('display_errors', 0); at the end of the fileEgyptEl SalvadorElementorEmailEmail AddressEmail NotificationEmail address already existsEmail your hosting company and tell them you'd like to switch to a newer version of MySQL or move your site to a better hosting companyEmail your hosting company and tell them you'd like to switch to a newer version of PHP or move your site to a better hosting company.EmptyEmpty ReCaptcha. Please complete reCaptcha.Empty email addressEnabling this option may slow down the website, as CSS and JS files will load dynamically instead of through rewrites, allowing the text within them to be modified as needed.EnglishEnter the 32 chars token from Order/Licence on %sEquatorial GuineaEritreaError! No backup to restore.Error! The backup is not valid.Error! The new paths are not loading correctly. Clear all cache and try again.Error! The preset could not be restored.Error: You entered the same URL twice in the URL Mapping. We removed the duplicates to prevent any redirect errors.Error: You entered the same text twice in the Text Mapping. We removed the duplicates to prevent any redirect errors.EstoniaEthiopiaEuropeEven if the default paths are protected by %s after customization, we recommend setting the correct permissions for all directories and files on your website, use File Manager or FTP to check and change the permissions. %sRead more%sEvents LogEvents Log ReportEvents Log SettingsEvery good developer should turn on debugging before getting started on a new plugin or theme. In fact, the WordPress Codex 'highly recommends' that developers use SCRIPT_DEBUG. Unfortunately, many developers forget the debug mode even when the website is live. Showing debug logs in the frontend will let hackers know a lot about your WordPress website.Every good developer should turn on debugging before getting started on a new plugin or theme. In fact, the WordPress Codex 'highly recommends' that developers use WP_DEBUG.

Unfortunately, many developers forget the debug mode, even when the website is live. Showing debug logs in the frontend will let hackers know a lot about your WordPress website.Example:Expire TimeExpiredExpiresExposing the PHP version will make the job of attacking your site much easier.Fail AttemptsFailedFalkland Islands (Malvinas)Faroe IslandsFeaturesFeed & SitemapFeed SecurityFijiFile PermissionsFile permissions in WordPress play a critical role in website security. Properly configuring these permissions ensures that unauthorized users cannot gain access to sensitive files and data.
Incorrect permissions can inadvertently open your website to attacks, making it vulnerable.
As a WordPress administrator, understanding and correctly setting file permissions are essential for safeguarding your site against potential threats.FilesFilterFinlandFirewallFirewall & HeadersFirewall Against Script InjectionFirewall LocationFirewall StrengthFirewall against injections is loadedFirst NameFirst, you need to activate the %sSafe Mode%s or %sGhost Mode%sFirst, you need to activate the %sSafe Mode%s or %sGhost Mode%s in %sFix PermissionsFix itFix permission for all directories and files (~ 1 min)Fix permission for the main directories and files (~ 5 sec)FlywheelFlywheel detected. Add the redirects in the Flywheel Redirect rules panel %s.Folder %s is browsableForbiddenFranceFrenchFrench GuianaFrench PolynesiaFrench Southern TerritoriesFrom: %s <%s>Front pageFrontend Login TestFrontend TestFully compatible with Autoptimizer cache plugin. Works best with the the option Optimize/Aggregate CSS and JS files.Fully compatible with Beaver Builder plugin. Works best together with a cache plugin.Fully compatible with Cache Enabler plugin. Works best with the the option Minify CSS and JS files.Fully compatible with Elementor Website Builder plugin. Works best together with a cache pluginFully compatible with Fusion Builder plugin by Avada. Works best together with a cache plugin.Fully compatible with Hummingbird cache plugin. Works best with the the option Minify CSS and JS files.Fully compatible with LiteSpeed Cache plugin. Works best with the the option Minify CSS and JS files.Fully compatible with Oxygen Builder plugin. Works best together with a cache plugin.Fully compatible with W3 Total Cache plugin. Works best with the the option Minify CSS and JS files.Fully compatible with WP Fastest Cache plugin. Works best with the the option Minify CSS and JS files.Fully compatible with WP Super Cache cache plugin.Fully compatible with WP-Rocket cache plugin. Works best with the the option Minify/Combine CSS and JS files.Fully compatible with Woocommerce plugin.Fusion BuilderGabonGambiaGeneralGeo SecurityGeographic Security is a feature designed to stops attacks from different countries, and to put an end to harmful activity that comes from specific regions.GeorgiaGermanGermanyGhanaGhost ModeGhost Mode + Firewall + Brute Force + Events Log + Two factorGhost Mode will set these predefined pathsGhost modeGibraltarGive random names to each pluginGive random names to each theme (works in WP multisite)Global class name detected: %s. Read this article first: %sGo to Events Log PanelGo to the Dashboard > Appearance section and update all the themes to the last version.Go to the Dashboard > Plugins section and update all the plugins to the last version.GodaddyGodaddy detected! To avoid CSS errors, make sure you switch off the CDN from %sGoodGoogle reCAPTCHA V2Google reCAPTCHA V3Google reCaptcha V3 is not working with the current login form of %s .Great! The backup is restored.Great! The initial values are restored.Great! The new paths are loading correctly.Great! The preset was loaded.GreeceGreekGreenlandGrenadaGuadeloupeGuamGuatemalaGuernseyGuineaGuinea-BissauGuyanaHaitiHaving the admin URL visible in the source code it's awful because hackers will immediately know your secret admin path and start a Brute Force attack. The custom admin path should not appear in the ajax URL.

Find solutions for %s how to hide the path from source code %s.Having the login URL visible in the source code is awful because hackers will immediately know your secret login path and start a Brute Force attack.

The custom login path should be kept secret, and you should have Brute Force Protection activated for it.

Find solutions for %s hiding the login path from source code here %s.Having this PHP directive enabled will leave your site exposed to cross-site attacks (XSS).

There's absolutely no valid reason to enable this directive, and using any PHP code that requires it is very risky.Header SecurityHeaders & FirewallHeard Island and McDonald IslandsHebrewHelp & FAQsHere is the list of select counties where your website will be restricted..HideHide "login" PathHide "wp-admin"Hide "wp-admin" From Non-Admin UsersHide "wp-login.php"Hide /login path from visitors.Hide /wp-admin path from non-administrator users.Hide /wp-admin path from visitors.Hide /wp-login.php path from visitors.Hide Admin ToolbarHide Admin Toolbar for users roles to prevent dashboard access.Hide All The PluginsHide Author ID URLHide Common FilesHide Embed scriptsHide EmojiconsHide Feed & Sitemap Link TagsHide File ExtensionsHide HTML CommentsHide IDs from META TagsHide Language SwitcherHide My WP GhostHide OptionsHide Paths in Robots.txtHide Plugin NamesHide REST API URL linkHide Theme NamesHide Version from Images, CSS and JS in WordPressHide Versions from Images, CSS and JSHide WLW Manifest scriptsHide WP Common FilesHide WP Common PathsHide WordPress Common FilesHide WordPress Common PathsHide WordPress DNS Prefetch META TagsHide WordPress Generator META TagsHide WordPress Old Plugins PathHide WordPress Old Themes PathHide WordPress common paths from %s Robots.txt %s file.Hide WordPress paths such as wp-admin, wp-content, and more from robots.txt file.Hide all versions from the end of any Image, CSS and JavaScript files.Hide both active and deactivated pluginsHide completed tasksHide passwordHide the /feed and /sitemap.xml link TagsHide the DNS Prefetch that points to WordPressHide the HTML Comments left by the themes and pluginsHide the IDs from all <links>, <style>, <scripts> META TagsHide the New Admin PathHide the New Login PathHide the WordPress Generator META tagsHide the admin toolbar for logged users while in frontend.Hide the language switcher option on the login pageHide the new admin path from visitors. Show the new admin path only for logged users.Hide the new login path from visitors. Show the new login path only for direct access.Hide the old /wp-content, /wp-include paths once they are changed with the new onesHide the old /wp-content, /wp-include paths once they are changed with the new ones.Hide the old /wp-content/plugins path once it's changed with the new oneHide the old /wp-content/themes path once it's changed with the new oneHide wp-admin from Ajax URLHide wp-config.php , wp-config-sample.php, readme.html, license.txt, upgrade.php and install.php filesHide wp-config.php, wp-config-sample.php, readme.html, license.txt, upgrade.php and install.php files..Hide wp-json & ?rest_route link tag from website headerHiding the ID from meta tags in WordPress can potentially impact the caching process of plugins that rely on identifying the meta tags.HindiHoly See (Vatican City State)HondurasHong KongHostnameHow long the temporary login will be available after the user first access.HummingbirdHungarianHungaryIIS WindowsIIS detected. You need to update your %s file by adding the following lines after <rules> tag: %sIPIP BlockedIcelandIf the reCAPTCHA displays any error, please make sure you fix them before moving forward.If the rewrite rules are not loading correctly in the config file, do not load the plugin and do not change the paths.If you are connected with the admin user, you will have to re-login after the change.If you can't configure %s, switch to Deactivated Mode and %scontact us%s.If you can't configure reCAPTCHA, switch to Math reCaptcha protection.If you do not have an e-commerce, membership or guest posting website, you shouldn't let users subscribe to your blog. You will end up with spam registrations and your website will be filled with spammy content and comments.If you have access to php.ini file, set allow_url_include = off or contact the hosting company to set it offIf you have access to php.ini file, set expose_php = off or contact the hosting company to set it offIf you have access to php.ini file, set register_globals = off or contact the hosting company to set it offIf you have access to php.ini file, set safe_mode = off or contact the hosting company to set it offIf you notice any functionality issue please select the %sSafe Mode%s.If you're able to log in, you've set the new paths correctly.If you're able to login, you've set reCAPTCHA correctly.If you're not using Windows Live Writer there's really no valid reason to have its link in the page header, because this tells the whole world you're using WordPress.If you're not using any Really Simple Discovery services such as pingbacks, there's no need to advertise that endpoint (link) in the header. Please note that for most sites this is not a security issue because they "want to be discovered", but if you want to hide the fact that you're using WP, this is the way to go.If your site allows user logins, you need your login page to be easy to find for your users. You also need to do other things to protect against malicious login attempts.

However, obscurity is a valid security layer when used as part of a comprehensive security strategy, and if you want to cut down on the number of malicious login attempts. Making your login page difficult to find is one way to do that.Ignore security taskImmediately block incorrect usernames on login forms.In .htaccess fileIn the old days, the default WordPress admin username was 'admin' or 'administrator'. Since usernames make up half of the login credentials, this made it easier for hackers to launch brute-force attacks.

Thankfully, WordPress has since changed this and now requires you to select a custom username at the time of installing WordPress.Indeed Ultimate Membership Pro detected. The plugin doesn't support custom %s paths as it doesn't use WordPress functions to call the Ajax URLIndiaIndonesiaIndonesianInfoInmotionInmotion detected. %sPlease read how to make the plugin compatible with Inmotion Nginx Cache%sInstall/ActivateIntegration with other CDN plugins and custom CDN URLs.Invalid ReCaptcha. Please complete reCaptcha.Invalid email addressInvalid name detected: %s. Add only the final path name to avoid WordPress errors.Invalid name detected: %s. The name can't end with / to avoid WordPress errors.Invalid name detected: %s. The name can't start with / to avoid WordPress errors.Invalid name detected: %s. The paths can't end with . to avoid WordPress errors.Invalid name detected: %s. You need to use another name to avoid WordPress errors.Invalid username.Iran, Islamic Republic ofIraqIrelandIsle of ManIsraelIt's important to %s save your settings every time you change them %s. You can use the backup to configure other websites you own.It's important to hide or remove the readme.html file because it contains WP version details.It's important to hide the common WordPress paths to prevent attacks on vulnerable plugins and themes.
Also, it's important to hide the names of plugins and themes to make it impossible for bots to detect them.It's important to rename common WordPress paths, such as wp-content and wp-includes to prevent hackers from knowing that you have a WordPress website.It's not safe to have Database Debug turned on. Make sure you don't use Database debug on live websites.ItalianItalyJCH Optimize CacheJamaicaJananeseJapanJavascript is disabled on your browser! You need to activate the javascript in order to use %s plugin.JerseyJoomla 3Joomla 4Joomla 5JordanJust another WordPress siteKazakhstanKenyaKiribatiKnow what the other users are doing on your website.KoreanKosovoKuwaitKyrgyzstanLanguageLao Peoples Democratic RepublicLast 30 days Security StatsLast AccessLast NameLast check:Late LoadingLatviaLatvianLearn HowLearn How To Add the CodeLearn how to disable %sDirectory Browsing%s or switch on %s %s > Change Paths > Disable Directory Browsing%sLearn how to set your website as %s. %sClick Here%sLearn how to setup on Local & NginxLearn how to setup on Nginx serverLearn how to use the shortcodeLearn more aboutLearn more about %s 7G firewall %s.Learn more about %s 8G firewall %s.Leave it blank if you don't want to display any messageLeave it blank to block all paths for the selected countries.LebanonLesothoLet's take your security to the next level!Level of SecurityLevels of securityLiberiaLibyan Arab JamahiriyaLicence TokenLiechtensteinLimit the number of allowed login attempts using normal login form.LiteSpeedLiteSpeed CacheLithuaniaLithuanianLoad PresetLoad Security PresetsLoad after all plugins are loaded. On "template_redirects" hook.Load before all plugins are loaded. On "plugins_loaded" hook.Load custom language is WordPress local language is installed.Load the plugin as a Must Use plugin.Load when the plugins are initialized. On "init" hook.Local & NGINX detected. In case you didn't add the code in the NGINX config already, please add the following line. %sLocal by FlywheelLocationLock userLockout MessageLog User RolesLog Users EventsLogin & Logout RedirectsLogin Blocked by Login PathLogin Redirect URLLogin SecurityLogin TestLogin URLLogout Redirect URLLost Password Form ProtectionLuxembourgMacaoMadagascarMagic Link LoginMake sure the redirect URLs exist on your website. %sThe User Role redirect URL has higher priority than the Default redirect URL.Make sure you know what you do when changing the headers.Make sure you save the settings and empty the cache before checking your website with our tool.MalawiMalaysiaMaldivesMaliMaltaManage Brute Force ProtectionManage Login and Logout RedirectsManage whitelist & blacklist IP addressesManually block/unblock IP addresses.Manually customize each plugin name and overwrite the random nameManually customize each theme name and overwrite the random nameManually whitelist trusted IP addresses.MappingMarshall IslandsMartiniqueMath & Google reCaptcha verification while logging in.Math reCAPTCHAMauritaniaMauritiusMax fail attemptsMayotteMediumMembershipMexicoMicronesia, Federated States ofMinimalMinimal (No Config Rewrites)Moldova, Republic ofMonacoMongoliaMonitor everything that happens on your WordPress site!Monitor, track and log events on your website.MontenegroMontserratMore HelpMore information about %sMore optionsMoroccoMost WordPress installations are hosted on the popular Apache, Nginx and IIS web servers.MozambiqueMust Use Plugin LoadingMy AccountMyanmarMysql VersionNGINX detected. In case you didn't add the code in the NGINX config already, please add the following line. %sNameNamibiaNauruNepalNetherlandsNew CaledoniaNew Login DataNew Plugin/Theme detected! Update %s settings to hide it. %sClick here%sNew ZealandNext StepsNginxNicaraguaNigerNigeriaNiueNoNo CMS SimulationNo Recent Updates ReleasedNo blacklisted ipsNo log found.No temporary logins.No, abortNo. of secondsNorfolk IslandNormal LoadingNormally, the option to block visitors from browsing server directories is activated by the host through server configuration, and activating it twice in the config file may cause errors, so it's best to first check if the %sUploads Directory%s is visible.North KoreaNorth Macedonia, Republic ofNorthern Mariana IslandsNorwayNorwegianNot yet logged inNote that this option won't activate the CDN for your website, but it will update the custom paths if you've already set a CDN URL with another plugin.Note! %sPaths are NOT physically change%s on your server.Note! The plugin will use WP cron to change the paths in background once the cache files are created.Note: If you can`t login to your site, just access this URLNotification SettingsOkay, I set it upOmanOn website initializationOnce you bought the plugin, you will receive the %s credentials for your account by email.One DayOne HourOne MonthOne WeekOne YearOne of the most important files in your WordPress installation is the wp-config.php file.
This file is located in the root directory of your WordPress installation and contains your website's base configuration details, such as database connection information.Only change this option if the plugin fails to identify the server type correctly.Optimize CSS and JS filesOption to inform user about remaining attempts on login page.OptionsOutdated PluginsOutdated ThemesOverviewOxygenPHP VersionPHP allow_url_include is onPHP expose_php is onPHP register_globals is onPHP safe mode was one of the attempts to solve security problems of shared web hosting servers.

It is still being used by some web hosting providers, however, nowadays this is regarded as improper. A systematic approach proves that it’s architecturally incorrect to try solving complex security issues at the PHP level, rather than at the web server and OS levels.

Technically, safe mode is a PHP directive that restricts the way some built-in PHP functions operate. The main problem here is inconsistency. When turned on, PHP safe mode may prevent many legitimate PHP functions from working correctly. At the same time there exists a variety of methods to override safe mode limitations using PHP functions that aren’t restricted, so if a hacker has already got in – safe mode is useless.PHP safe_mode is onPage Not FoundPakistanPalauPalestinian TerritoryPanamaPapua New GuineaParaguayPassedPath not allowed. Avoid paths like plugins and themes.Paths & OptionsPaths changed in the existing cache filesPause for 5 minutesPermalinksPersianPeruPhilippinesPitcairnPlease be aware that if you do not consent to storing data on our Cloud, we kindly request that you refrain from activating this feature.Please visit %s to check your purchase and to get the license token.Plugin Loading HookPlugins PathPlugins SecurityPlugins SettingsPlugins that have not been updated in the last 12 months can have real security problems. Make sure you use updated plugins from WordPress Directory.Plugins/Themes editor disabledPolandPolishPortugalPortuguesePreset SecurityPrevent Broken Website LayoutPriority LoadingProtects your WooCommerce shop against brute force login attacks.Protects your website against Brute Force login attacks using %s A common threat web developers face is a password-guessing attack known as a Brute Force attack. A Brute Force attack is an attempt to discover a password by systematically trying every possible combination of letters, numbers, and symbols until you discover the one correct combination that works.Protects your website against Brute Force login attacks.Protects your website against brute force login attacks.Prove your humanity:Puerto RicoQatarQuick FixRDS is visibleRandom Static NumberReactivate user for 1 dayRedirect After LoginRedirect Hidden PathsRedirect Logged Users To DashboardRedirect temporary users to a custom page after login.Redirect the protected paths /wp-admin, /wp-login to a Page or trigger an HTML Error.Redirect user to a custom page after login.RedirectsRemoveRemove PHP version, Server info, Server Signature from header.Remove Plugins Authors & Style in Sitemap XMLRemove Unsafe HeadersRemove pingback link tag from the website header.Rename readme.html file or switch on %s %s > Change Paths > Hide WordPress Common Files%sRename wp-admin/install.php & wp-admin/upgrade.php files or switch on %s %s > Change Paths > Hide WordPress Common Paths%sRenewResetReset SettingsResolving hostnames may affect the website loading speed.Restore BackupRestore SettingsResume SecurityReunionRobots SecurityRoleRollback SettingsRollback all the plugin settings to initial values.RomaniaRomanianRun %s Frontend Test %s to check if the new paths are working.Run %s Login Test %s and log in inside the popup.Run %sreCAPTCHA Test%s and login inside the popup.Run Full Security CheckRussianRussian FederationRwandaSSL is an abbreviation used for Secure Sockets Layers, which are encryption protocols used on the internet to secure information exchange and provide certificate information.

These certificates provide an assurance to the user about the identity of the website they are communicating with. SSL may also be called TLS or Transport Layer Security protocol.

It's important to have a secure connection for the Admin Dashboard in WordPress.Safe ModeSafe Mode + Firewall + Brute Force + Events Log + Two factorSafe Mode + Firewall + Compatibility SettingsSafe Mode will set these predefined pathsSafe URL:Safe modeSaint BartelemeySaint HelenaSaint Kitts and NevisSaint LuciaSaint MartinSaint Pierre and MiquelonSaint Vincent and the GrenadinesSalts and Security Keys validSamoaSan MarinoSao Tome and PrincipeSaudi ArabiaSaveSave Debug LogSave UserSavedSaved! This task will be ignored on future tests.Saved! You can run the test again.Script Debug ModeSearchSearch in user events log and manage the email alertsSecret KeySecret keys for %sGoogle reCAPTCHA%s.Secure WP PathsSecurity CheckSecurity Keys UpdatedSecurity StatusSecurity keys are defined in wp-config.php as constants on lines. They should be as unique and as long as possible. AUTH_KEY,SECURE_AUTH_KEY,LOGGED_IN_KEY,NONCE_KEY,AUTH_SALT,SECURE_AUTH_SALT,LOGGED_IN_SALT,NONCE_SALTSecurity keys are used to ensure better encryption of information stored in the user's cookies and hashed passwords.

These make your site more difficult to hack, access and crack by adding random elements to the password. You don't have to remember these keys. In fact, once you set them you'll never see them again. Therefore, there's no excuse for not setting them properly.See the last days actions on this website ...Select PresetSelect User RolesSelect a preset security settings we've tested on most websites.Select allSelect how long the temporary login will be available after the first user access.Select the file extensions you want to hide on old pathsSelect the files you want to hide on old pathsSelected CountriesSend me an email with the changed admin and login URLsSenegalSerbiaSerbianServer TypeSet Custom Cache DirectorySet Login & Logout Redirects based on User Roles.Set the current user role.Set the website you want this user to be created for.SettingsSeychellesShort name detected: %s. You need to use unique paths with more than 4 chars to avoid WordPress errors.ShowShow /%s instead of /%sShow Advanced OptionsShow Default Paths & Allow Hidden PathsShow Defaults Paths & Allow EverythingShow blank screen when Inspect Element is active on browser.Show completed tasksShow ignored tasksShow message instead of login formShow passwordSierra LeoneSign Up Form ProtectionSimplified ChineseSimulate CMSSingaporeSint MaartenSite keySite keys for %sGoogle reCaptcha%s.SiteGroundSitemap SecuritySix MonthsSlovakSlovakiaSloveneSloveniaSolid SecuritySolomon IslandsSomaliaSome plugins may remove custom rewrite rules from the .htaccess file, especially if it's writable, which can affect the functionality of custom paths..Some themes don't work with custom Admin and Ajax paths. In case of ajax errors, switch back to wp-admin and admin-ajax.php.Sorry, you are not allowed to access this page.South AfricaSouth Georgia and the South Sandwich IslandsSouth KoreaSpainSpammers can easily signupSpanishSri LankaStart ScanSucuri SecuritySudanSuper AdminSurinameSvalbard and Jan MayenSwazilandSwedenSwedishSwitch on %s %s > Change Paths > Hide WordPress Common Paths%sSwitch on %s %s > Change Paths > Disable XML-RPC access%sSwitch on %s %s > Change Paths > Hide Author ID URL%sSwitch on %s %s > Change Paths > Hide RSD Endpoint%sSwitch on %s %s > Change Paths > Hide WordPress Common Files%sSwitch on %s %s > Change Paths > Hide wp-admin from ajax URL%s. Hide any reference to admin path from the installed plugins.Switch on %s %s > Tweaks > %s %sSwitch on %s %s > Tweaks > Hide WLW Manifest scripts%sSwitzerlandSyrian Arab RepublicTaglineTaiwanTajikistanTanzania, United Republic ofTemporary LoginTemporary Login SettingsTemporary LoginsTest your website headers withText & URL MappingText MappingText Mapping in CSS and JS files including cached filesText Mapping only Classes, IDs, JS variablesThaiThailandThank you for using %s!The %s section has been relocated %s here %sThe Ghost Mode will add the rewrites rules in the config file to hide the old paths from hackers.The REST API is crucial for many plugins as it allows them to interact with the WordPress database and perform various actions programmatically.The Safe Mode will add the rewrites rules in the config file to hide the old paths from hackers.The Safe URL will deactivate all the custom paths. Use it only if you can't login.The WordPress database is like a brain for your entire WordPress site, because every single bit of information about your site is stored there, thus making it a hacker’s favorite target.

Spammers and hackers run automated code for SQL injections.
Unfortunately, many people forget to change the database prefix when they install WordPress.
This makes it easier for hackers to plan a mass attack by targeting the default prefix wp_.The WordPress site tagline is a short phrase located under the site title, similar to a subtitle or advertising slogan. The goal of a tagline is to convey the essence of your site to visitors.

If you don't change the default tagline it will be very easy to detect that your website was actually built with WordPressThe constant ADMIN_COOKIE_PATH is defined in wp-config.php by another plugin. You can't change %s unless you remove the line define('ADMIN_COOKIE_PATH', ...);.The list of plugins and themes was updated with success!The most common way to hack a website is by accessing the domain and adding harmful queries in order to reveal information from files and database.
These attacks are made on any website, WordPress or not, and if a call succeeds … it will probably be too late to save the website.The plugins and themes file editor is a very convenient tool because it enables you to make quick changes without the need to use FTP.

Unfortunately, it's also a security issue because it not only shows the PHP source code, it also enables attackers to inject malicious code into your site if they manage to gain access to admin.The process was blocked by the website’s firewall.The requested URL %s was not found on this server.The response parameter is invalid or malformed.The secret parameter is invalid or malformed.The secret parameter is missing.The security keys in wp-config.php should be renewed as often as possible.Themes PathThemes SecurityThemes are up to dateThere has been a critical error on your website.There has been a critical error on your website. Please check your site admin email inbox for instructions.There is a configuration error in the plugin. Please Save the settings again and follow the instruction.There is a newer version of WordPress available ({version}).There is no changelog available.There is no such thing as an "unimportant password"! The same goes for your WordPress database password.
Although most servers are configured so that the database can't be accessed from other hosts (or from outside the local network), that doesn't mean your database password should be "12345" or no password at all.This amazing feature isn't included in the basic plugin. Want to unlock it? Simply install or activate the Advanced Pack and enjoy the new security features.This is one of the biggest security issues you can have on your site! If your hosting company has this directive enabled by default, switch to another company immediately!This may not work with all new mobile devices.This option will add rewrite rules to the .htaccess file in the WordPress rewrite rules area between the comments # BEGIN WordPress and # END WordPress.This will prevent from showing the old paths when an image or font is called through ajaxThree DaysThree HoursTimor-LesteTo change the paths in the cached files, switch on %s Change Paths in Cached Files%sTo hide the Avada library, please add the Avada FUSION_LIBRARY_URL in wp-config.php file after $table_prefix line: %sTo improve your website's security, consider removing authors and styles that point to WordPress in your sitemap XML.TogoTokelauTongaTrack and Log the website events and receive security alerts by email.Track and log events that happen on your WordPress siteTraditional ChineseTrinidad and TobagoTroubleshootingTunisiaTurkeyTurkishTurkmenistanTurks and Caicos IslandsTurn off the debug plugins if your website is live. You can also add the option to hide the DB errors global $wpdb; $wpdb->hide_errors(); in wp-config.php fileTuvaluTweaksTwo-factor authenticationURL MappingUgandaUkraineUkrainianUltimate Affiliate Pro detected. The plugin doesn't support custom %s paths as it doesn't use WordPress functions to call the Ajax URLUnable to update the wp-config.php file in order to update the Database Prefix.UndoUnited Arab EmiratesUnited KingdomUnited StatesUnited States Minor Outlying IslandsUnknown update checker status "%s"Unlock allUpdate the settings on %s to refresh the paths after changing REST API path.UpdatedUpload the file with the saved plugin settingsUploads PathUrgent Security Actions RequiredUruguayUse Brute Force ProtectionUse Temporary LoginsUse the %s shortcode to integrate it with other login forms.UserUser 'admin' or 'administrator' as AdministratorUser ActionUser Events LogUser RoleUser SecurityUser could not be activated.User could not be addedUser could not be deleted.User could not be disabled.User roles for who to disable the Right-ClickUser roles for who to disable the copy/pasteUser roles for who to disable the drag/dropUser roles for who to disable the inspect elementUser roles for who to disable the view sourceUser roles for who to hide the admin toolbarUser successfully activated.User successfully created.User successfully deleted.User successfully disabled.User successfully updated.Usernames (unlike passwords) are not secret. By knowing someone's username, you can't log in to their account. You also need the password.

However, by knowing the username, you are one step closer to logging in using the username to brute-force the password, or to gain access in a similar way.

That's why it's advisable to keep the list of usernames private, at least to some degree. By default, by accessing siteurl.com/?author={id} and looping through IDs from 1 you can get a list of usernames, because WP will redirect you to siteurl.com/author/user/ if the ID exists in the system.Using an old version of MySQL makes your site slow and prone to hacker attacks due to known vulnerabilities that exist in versions of MySQL that are no longer maintained.

You need Mysql 5.4 or higherUsing an old version of PHP makes your site slow and prone to hacker attacks due to known vulnerabilities that exist in versions of PHP that are no longer maintained.

You need PHP 7.4 or higher for your website.UzbekistanValidValueVanuatuVenezuelaVersions in Source CodeVietnamVietnameseView detailsVirgin Islands, BritishVirgin Islands, U.S.W3 Total CacheWP Core SecurityWP Debug ModeWP EngineWP Fastest CacheWP RocketWP Super CacheWP Super Cache CDN detected. Please include %s and %s paths in WP Super Cache > CDN > Include directoriesWPBakery Page BuilderWPPluginsWallis and FutunaWeak name detected: %s. You need to use another name to increase your website security.WebsiteWestern SaharaWhere to add the firewall rules.WhitelistWhitelist IPsWhitelist OptionsWhitelist PathsWindows Live Writer is onWooCommerce Safe LoginWooCommerce SupportWoocommerceWoocommerce Magic LinkWordPress Database PasswordWordPress Default PermissionsWordPress Security CheckWordPress VersionWordPress XML-RPC is a specification that aims to standardize communications between different systems. It uses HTTP as the transport mechanism and XML as encoding mechanism to enable a wide range of data to be transmitted.

The two biggest assets of the API are its extendibility and its security. XML-RPC authenticates using basic authentication. It sends the username and password with each request, which is a big no-no in security circles.WordPress and its plugins and themes are like any other software installed on your computer, and like any other application on your devices. Periodically developers release updates which provide new features or fix known bugs.

New features may be something that you do not necessarily want. In fact, you may be perfectly satisfied with the functionality you currently have. Nevertheless, you may still be concerned about bugs.

Software bugs can come in many shapes and sizes. A bug could be very serious, such as preventing users from using a plugin, or it could be a minor bug that only affects a certain part of a theme, for example. In some cases, bugs can even cause serious security holes.

Keeping themes up to date is one of the most important and easiest ways to keep your site secure.WordPress and its plugins and themes are like any other software installed on your computer, and like any other application on your devices. Periodically, developers release updates which provide new features, or fix known bugs.

These new features may not necessarily be something that you want. In fact, you may be perfectly satisfied with the functionality you currently have. Nevertheless, you are still likely to be concerned about bugs.

Software bugs can come in many shapes and sizes. A bug could be very serious, such as preventing users from using a plugin, or it could be minor and only affect a certain part of a theme, for example. In some cases, bugs can cause serious security holes.

Keeping plugins up to date is one of the most important and easiest ways to keep your site secure.WordPress is well-known for its ease of installation.
It's important to hide the wp-admin/install.php and wp-admin/upgrade.php files because there have already been a couple of security issues regarding these files.WordPress, plugins and themes add their version info to the source code, so anyone can see it.

Hackers can easily find a website with vulnerable version plugins or themes, and target these with Zero-Day Exploits.Wordfence SecurityWpEngine detected. Add the redirects in the WpEngine Redirect rules panel %s.Wrong Username ProtectionXML-RPC SecurityXML-RPC access is onYemenYesYes, it's workingYou already defined a different wp-content/uploads directory in wp-config.php %sYou can ban a single IP address like 192.168.0.1 or a range of 245 IPs like 192.168.0.*. These IPs will not be able to access the login page.You can create a new page and come back to choose to redirect to that page.You can generate %snew Keys from here%s AUTH_KEY,SECURE_AUTH_KEY,LOGGED_IN_KEY,NONCE_KEY,AUTH_SALT,SECURE_AUTH_SALT,LOGGED_IN_SALT,NONCE_SALTYou can now turn off '%s' option.You can set to receive security alert emails and prevent data loss.You can white-list a single IP address like 192.168.0.1 or a range of 245 IPs like 192.168.0.*. Find your IP with %sYou can't set both ADMIN and LOGIN with the same name. Please use different namesYou don't have the permission to access %s on this server.You need to activate the URL Rewrite for IIS to be able to change the permalink structure to friendly URL (without index.php). %sMore details%sYou need to set a positive number of attempts.You need to set a positive waiting time.You need to set the permalink structure to friendly URL (without index.php).You should always update WordPress to the %slatest versions%s. These usually include the latest security fixes, and don't alter WP in any significant way. These should be applied as soon as WP releases them.

When a new version of WordPress is available, you will receive an update message on your WordPress Admin screens. To update WordPress, click the link in this message.You should check your website every week to see if there are any security changes.Your %s %s license expired on %s %s. To keep your website security up to date please make sure you have a valid subscription on %saccount.hidemywpghost.com%sYour IP has been flagged for potential security violations. Please try again in a little while...Your admin URL can't be changed on %s hosting because of the %s security terms.Your admin URL is changed by another plugin/theme in %s. To activate this option, disable the custom admin in the other plugin or deativate it.Your login URL is changed by another plugin/theme in %s. To activate this option, disable the custom login in the other plugin or deativate it.Your login URL is: %sYour login URL will be: %s In case you can't login, use the safe URL: %sYour new password has not been saved.Your new site URLs areYour website security %sis extremely weak%s. %sMany hacking doors are available.Your website security %sis very weak%s. %sMany hacking doors are available.Your website security is getting better. %sJust make sure you complete all the security tasks.Your website security is still weak. %sSome of the main hacking doors are still available.Your website security is strong. %sKeep checking the security every week.ZambiaZimbabweactivate featureafter first accessalready activedarkdefaultdisplay_errors PHP directivee.g. *.colocrossing.come.g. /cart/e.g. /cart/ will whitelist all path starting with /cart/e.g. /checkout/e.g. /post-type/ will block all path starting with /post-type/e.g. acapbote.g. alexibote.g. badsite.come.g. gigabote.g. kanagawa.come.g. xanax.comeg.eg. /logout oreg. adm, backeg. ajax, jsoneg. aspect, templates, styleseg. comments, discussioneg. core, inc, includeeg. disable_url, safe_urleg. images, fileseg. json, api, calleg. lib, libraryeg. login or signineg. logout or disconnecteg. lostpass or forgotpasseg. main.css, theme.css, design.csseg. moduleseg. multisite activation linkeg. newuser or registereg. profile, usr, writerfromhelphttps://hidemywp.comignore alertinstall.php & upgrade.php files are accessiblelightloglogsmore detailsnot recommendedonly %d charsorpassword mismatchMismatchpassword strengthMediumpassword strengthPassword strength unknownpassword strengthStrongpassword strengthVery weakpassword strengthWeakreCAPTCHA TestreCAPTCHA V2 TestreCAPTCHA V3 TestreCaptcha LanguagereCaptcha Themereadme.html file is accessiblerecommendedredirectssee featurestart feature setupthe plugin titleA new version of the %s plugin is available.the plugin titleCould not determine if updates are available for %s.the plugin titleThe %s plugin is up to date.totoo simplewp-config.php & wp-config-sample.php files are accessibleProject-Id-Version: Hide My Wordpress PRO PO-Revision-Date: 2024-10-10 20:06+0300 Last-Translator: gpt-po v1.0.11 Language-Team: WpPluginsTips Language: fi_FI MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Generator: Poedit 3.5 X-Poedit-Basepath: .. X-Poedit-WPHeader: index.php X-Poedit-SourceCharset: UTF-8 X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;_nx_noop:3c,1,2;__ngettext_noop:1,2 X-Poedit-SearchPath-0: . X-Poedit-SearchPathExcluded-0: *.js #1 Hakkerointisuojan turvallisuusratkaisu: Piilota WP CMS, 7G/8G palomuuri, Brute Force -suojaukset, 2FA, GEO-turvallisuus, Tilapäiset kirjautumiset, Hälytykset ja paljon muuta.%1$s on vanhentunut versiosta %2$s! Käytä sen sijaan %3$s. Harkitse kirjoittaa sisällyttävämpää koodia.%d %s sittenJäljellä %d %sViimeisin päivitys %s päivää sitten%s ei toimi ilman mode_rewritea. Ole hyvä ja ota käyttöön uudelleenohjausmoduuli Apachessa. %sLisätietoja%s%s ei ole oikeaa lupaa.%s on näkyvissä lähdekoodissa.%s polku on saavutettavissa%s liitännäinen(t) ovat vanhentuneita: %s%s lisäosaa ei ole päivitetty kehittäjiensä toimesta viimeisen 12 kuukauden aikana: %s%s suojaa verkkosivustoasi useimmilta SQL-injektioilta, mutta jos mahdollista, käytä mukautettua etuliitettä tietokantataulukoissa SQL-injektioiden välttämiseksi. %sLue lisää%s.%s säännöt eivät ole tallennettu kokoonpanotiedostoon, mikä saattaa vaikuttaa verkkosivuston latausnopeuteen.Teema(t) %s ovat vanhentuneita: %s%sKlikkaa tästä%s luodaksesi tai tarkastellaksesi avaimia Google reCAPTCHA v2:lle.%sKlikkaa tästä%s luodaksesi tai tarkastaaksesi avaimia Google reCAPTCHA v3:lle.%sVIRHE:%s Sähköposti tai salasana on virheellinen. %s %d yritystä jäljellä ennen lukitsemista.%sPiilota kirjautumispolku%s teeman valikosta tai pienoisohjelmasta.%sVäärä ReCaptcha%s. Yritä uudelleen%sHUOMIO:%s Mikäli et saanut tunnistetietoja, ole hyvä ja kirjaudu sisään %s.%sEt osannut ratkaista matemaattista tehtävää oikein.%s Yritä uudelleen.(* lisäosa ei maksa mitään ylimääräistä, asentuu/aktivoituu automaattisesti WordPressiin, kun napsautat painiketta, ja käyttää samaa tiliä)Useita vaihtoehtoja on saatavilla.(kätevä, kun aiheena on virheellisten hallintasivujen ohjaaminen tai loputtomat ohjaukset)(works only with the custom admin-ajax path to avoid infinite loops)Kaksivaiheinen todennusKaksivaiheinen kirjautuminen403 Kielletty403 HTML Virhe404 HTML Virhe404 Ei löytynyt404 sivua7G Palomuuri8G PalomuuriOminaisuus, joka on suunniteltu estämään hyökkäykset eri maista ja lopettamaan haitallisen toiminnan, joka tulee tietystä alueesta.Perusteellinen sääntöjen kokoelma voi estää monenlaiset SQL-injektiot ja URL-hakkeroinnit tulkittavaksi.Käyttäjä on jo olemassa tuolla käyttäjänimellä.API-turvallisuusAPI asetuksetAWS BitnamiAccording to %sGoogle latest stats%s, yli %s 30 000 verkkosivustoa hakkeroidaan joka päivä %s ja %s yli 30% niistä on tehty WordPressilla %s. %s On parempi estää hyökkäys kuin käyttää paljon rahaa ja aikaa tietojen palauttamiseen hyökkäyksen jälkeen, puhumattakaan tilanteesta, jossa asiakkaiden tiedot varastetaan.ToimintoAktivoiAktivoi 'Pakollinen lisäosan lataus' 'Lisäosan latauskoukusta' voidaksesi yhdistää hallintapaneeliisi suoraan osoitteesta managewp.com. %s klikkaa tästä %sAktivoi Brute Force -suojauksenAktivoi TapahtumalokiAktivoi käyttäjien tapahtumalokitAktivoi väliaikaiset kirjautumisetAktivoi lisäosa.Aktivoi tiedot ja lokit virheenkorjauksen varten.Aktivoi "Brute Force" -vaihtoehto nähdäksesi käyttäjän IP-estoraportin.Aktivoi "Kirjaa käyttäjien tapahtumat" -vaihtoehto nähdäksesi käyttäjien toimintalokin tälle verkkosivustolle.Aktivoi Brute Force -suojauksen Woocommerce-kirjautumis-/rekisteröitymislomakkeille.Aktivoi Brute Force -suojauksen kadonneiden salasanojen lomakkeissa.Aktivoi Brute Force -suojauksen rekisteröitymislomakkeissa.Aktivoi palomuuri ja estä monenlaiset SQL-injektiot ja URL-hakkeroinnit.Aktivoi palomuuri ja valitse palomuurin vahvuus, joka toimii verkkosivustollasi %s %s > Muuta polkuja > Palomuuri ja otsikot %sAktivointiapuLisääLisää IP-osoitteet, jotka tulee aina estää pääsemästä tälle verkkosivustolle.Lisää Content-Security-Policy-otsake.Lisää otsikot suojaamaan XSS- ja koodinjyvähyökkäyksiä vastaan.Lisää IP-osoitteet, jotka voivat läpäistä lisäosan tietoturvan.Lisää IP-osoitteet, jotka voivat läpäistä lisäosan tietoturvan.Lisää uusi väliaikainen kirjautuminenLisää uusi väliaikainen kirjautumiskäyttäjäLisää Uudelleenkirjoitukset WordPressin Säännöt-osioon.Lisää turvallisuusotsakeLisää turvallisuuspäähderivit ristiinsivustoskriptauksen ja koodinjyvähyökkäysten torjumiseksi.Lisää Strict-Transport-Security -otsakeLisää kaksivaiheinen turvallisuus kirjautumissivulle koodiskannauksella tai sähköpostikoodin autentikoinnilla.Lisää X-Content-Type-Options-otsakeLisää X-XSS-Protection-otsakeLisää lista URL-osoitteista, jotka haluat korvata uusilla.Lisää satunnainen staattinen numero estämään etupään välimuistit, kun käyttäjä on kirjautuneena sisään.Lisää toinen CDN-osoite.Lisää toinen URL.Add another textLisää yleisiä WordPress-luokkia tekstikartoitukseen.Lisää polkuja, jotka voivat kulkea lisäosan tietoturvavalvonnan läpi.Lisää polut, jotka tullaan estämään valituille maille.Lisää uudelleenohjaukset kirjautuneille käyttäjille käyttäjäroolien perusteella.Lisää CDN-URL-osoitteet, joita käytät välimuistin lisäosassa.YlläpitopolkuYlläpitoturvaHallintapalkkiHallinnointi-URLYlläpitäjän käyttäjänimiLisäasetuksetEdistynyt pakettiLisäasetuksetAfganistanLisää luokat ja tarkista etupää, että teemasi ei ole vaikuttanut.Klikkaa sitten %sTallenna%s tehdäksesi muutokset.Ajax-turvallisuusAjax URLAhvenanmaan saaretAlbaniaHälytysviestit lähetettyAlgeriaKaikki toiminnotKaikki yhdessä WP-turvallisuusKaikki verkkosivustotKaikilla tiedostoilla on oikeat käyttöoikeudet.Kaikki lisäosat ovat yhteensopivia.Kaikki lisäosat ovat ajan tasalla.Kaikki lisäosat on päivitetty niiden kehittäjien toimesta viimeisen 12 kuukauden aikana.Kaikki lokit tallennetaan pilveen 30 päiväksi ja raportti on saatavilla, jos verkkosivustoasi hyökätään.Salli piilotetut polutSalli käyttäjien kirjautua WooCommerce-tililleen sähköpostiosoitteensa ja sähköpostitse toimitetun ainutlaatuisen kirjautumislinkin avulla.Salli käyttäjien kirjautua verkkosivustolle sähköpostiosoitteensa ja sähköpostitse toimitetun ainutlaatuisen kirjautumislinkin avulla.Sallimalla kenen tahansa tarkastella kaikkia tiedostoja Uploads-kansiossa selaimella, he voivat helposti ladata kaikki lähettämäsi tiedostot. Tämä on turvallisuus- ja tekijänoikeuskysymys.Amerikan SamoaAndorraAngolaAnguillaAntarktisAntigua ja BarbudaApacheArabiaOletko varma, että haluat jättää tämän tehtävän huomiotta tulevaisuudessa?ArgentiinaArmeniaArubaHuomio! Jotkut URL-osoitteet kulkivat määritystiedoston sääntöjen läpi ja latautuivat WordPressin uudelleenkirjoituksen kautta, mikä saattaa hidastaa verkkosivustoasi. %s Noudata tätä opastusta ongelman korjaamiseksi: %sAustraliaItävaltaKirjoittaja PolkuKirjoittajan URL ID:n mukaan pääsyAutomaattinen tunnistusAutomaattinen tunnistusOhjaa kirjautuneet käyttäjät automaattisesti hallintapaneeliin.AutoptimoijaAzerbaidžanTaustapuoli SSL:n allaAsetusten varmuuskopio/palautusVarmuuskopiointi/PalautusVarmuuskopioi/Palauta AsetuksetBahama saaretBahrainKieltoajan kestoBangladeshBarbadosVarmista, että sisällytät vain sisäiset URL-osoitteet ja käytät suhteellisia polkuja aina kun mahdollista.Beaver BuilderValko-VenäjäBelgiaBelizeBeninBermudaParhain terveisinBhutanBitnami havaittu. %sLue, miten tehdä lisäosa yhteensopivaksi AWS-hostingin kanssa%sMustalistaMustalista IP-osoitteetTyhjä näyttö vianmäärityksessäEstä maatEstä isäntänimetEstä IP-osoite kirjautumissivulla.EstäviittausEstä tiettyjä polkujaEstä teemojen tunnistajien raapijatEstä käyttäjäagentitEstä tunnetut käyttäjät ja agentit suosituista teemantunnistimista.Estetyt IP:tEstettyjen IP-osoitteiden raporttiEstänyt käyttäjäBoliviaBonaire, Saint Eustatius ja SabaBosnia ja HertsegovinaBotswanaBouvetin saariBrasiliaenglanti (Iso-Britannia)Britannian Intian valtameren alueBrunei DarussalamRaaka voimaBrute Force IP:t estettyRaaka voima kirjautumissuojausRaaka voima suojeluRaaka voima asetuksetBulgariaBulgariaBulletProof-liitännäinen! Varmista, että tallennat asetukset kohteessa %s aktivoidessasi Root Folder BulletProof -tilan BulletProof-liitännäisessä.Burkina FasoBurundiAktivoimalla hyväksyt %s käyttöehdot %s ja %s tietosuojakäytännön %s.CDNCDN Enabled havaittu. Sisällytä %s ja %s polut CDN Enabler -asetuksiin.CDN Enabler havaittu! Opi kuinka konfiguroida se %s %sKlikkaa tästä%sCDN-osoitteetYHTEYDEN VIRHE! Varmista, että verkkosivustosi pääsee käsiksi kohteeseen: %sVälimuistita CSS, JS ja kuvat nopeuttaaksesi etupään latausnopeutta.Välimuistin käynnistinKambodžaKamerunEn voi ladata liitännäistä.KanadaKanadan ranskaPeruutaPeruuta kirjautumiskoukut muista liitännäisistä ja teemoista estääksesi ei-toivotut kirjautumisen uudelleenohjaukset.Kap VerdeKatalaani ValencianCaymansaaretKeski-Afrikan tasavaltaChadMuutosVaihda asetuksiaMuuta polkujaVaihda polkuja nyt.Muuta polkuja kirjautuneille käyttäjille.Muuta polkuja Ajax-kutsuissaMuuta polkuja välimuistitiedostoissaMuuta polkuja RSS-syötteessäMuuta polkuja Sitemaps XML-tiedostoissa.Muuta suhteelliset URL-osoitteet absoluuttisiksi URL-osoitteiksi.Muuta WordPress-polkuja ollessasi kirjautuneena sisään.Muuta polut RSS-syötteessä kaikille kuville.Muuta polkuja Sitemap XML -tiedostoissa ja poista lisäosan tekijä ja tyylit.Muuta iskulause kohteessa %s > %s > %sVaihda WordPressin yleiset polut välimuistitiedostoissa.Vaihda rekisteröitymispolkua kohteeseen %s %s > Muuta polkuja > Mukautettu rekisteröitymis-URL%s tai poista valinta kohteessa %s > %s > %sMuuta tekstiä kaikissa CSS- ja JS-tiedostoissa, mukaan lukien ne, jotka ovat välimuistitiedostoissa, jotka on luotu välimuistin hallintatyökaluilla.Vaihda käyttäjä 'admin' tai 'administrator' toiseen nimeen turvallisuuden parantamiseksi.Muuta wp-config.php-tiedoston käyttöoikeudet Vain luku -tilaan käyttäen Tiedostonhallintaa.Muuta wp-content, wp-includes ja muut yleiset polut muotoon %s %s > Muuta polkuja%sMuuta wp-kirjautuminen muotoon %s %s > Muuta polkuja > Mukautettu kirjautumis-URL%s ja Kytke päälle %s %s > Brute Force -suojau%s.Muuttamalla ennalta määritettyjä turvallisuusotsikoita voi vaikuttaa verkkosivuston toiminnallisuuteen.Tarkista etuohjelman polutTarkista verkkosivustosi.Tarkista päivityksetTarkista, että verkkosivuston polut toimivat oikein.Tarkista, onko verkkosivustosi suojattu nykyisillä asetuksilla.Tarkista %s RSS-syöte %s ja varmista, että kuvien polut on muutettu.Tarkista %s Sitemap XML %s ja varmista, että kuvien polut on muutettu.Tarkista verkkosivuston latausnopeus %sPingdom-työkalulla%s.ChileKiinaValitse asianmukainen tietokannan salasana, vähintään 8 merkkiä pitkä yhdistelmä kirjaimia, numeroita ja erikoismerkkejä. Kun olet vaihtanut sen, aseta uusi salasana wp-config.php-tiedostoon define('DB_PASSWORD', 'TÄHÄN_TULEE_UUSI_TIETOKANNAN_SALASANA');Valitse maat, joissa verkkosivustoon pääsy tulisi rajoittaa.Valitse käyttämäsi palvelimen tyyppi saadaksesi sopivimman kokoonpanon palvelimellesi.Valitse mitä tehdä, kun käytetään sallituista IP-osoitteista ja sallituista poluista.JoulusaariPuhdas kirjautumissivuNapsauta %sJatka%s asettaaksesi ennalta määritellyt polut.Napsauta Varmuuskopiointi-painiketta, ja lataus käynnistyy automaattisesti. Voit käyttää varmuuskopiota kaikilla verkkosivustoillasi.Napsauta suorittaaksesi prosessin, joka muuttaa polut välimuistitiedostoissa.Virhe sulkeutuuPilvipaneeliPilvipaneeli havaittu. %sLue, miten tehdään lisäosa yhteensopivaksi Pilvipaneelin kanssa%sCntKookossaaret (Keelingin saaret)KolumbiaKommentit PolkuKomoritYhteensopivuusYhteensopivuusasetuksetYhteensopivuus Manage WP -lisäosan kanssaYhteensopivuus token-pohjaisten kirjautumisliitännäisten kanssaYhteensopiva All In One WP Security -lisäosan kanssa. Käytä niitä yhdessä virustarkistukseen, palomuuriin ja brute force -suojaukseen.Yhteensopiva JCH Optimize Cache -lisäosan kanssa. Toimii kaikkien CSS:n ja JS:n optimointivaihtoehtojen kanssa.Yhteensopiva Solid Security -lisäosan kanssa. Käytä niitä yhdessä Sivustoskanneriin, Tiedostomuutosten havaitsemiseen ja Brute Force -suojaukseen.Yhteensopiva Sucuri Security -lisäosan kanssa. Käytä niitä yhdessä virustarkistukseen, palomuuriin ja tiedostojen eheyden valvontaan.Yhteensopiva Wordfence Security -lisäosan kanssa. Käytä niitä yhdessä haittaohjelmien skannaukseen, palomuuriin ja Brute Force -suojaukseen.Yhteensopiva kaikkien teemojen ja liitännäisten kanssa.Täydellinen korjausAsetuksetAsetustiedostoa ei voi kirjoittaa. Luo tiedosto, jos sitä ei ole olemassa, tai kopioi seuraavat rivit %s tiedostoon: %sAsetustiedostoa ei voi kirjoittaa. Luo tiedosto, jos sitä ei ole olemassa, tai kopioi %s-tiedostoon seuraavat rivit: %sAsetustiedostoa ei voi kirjoittaa. Sinun täytyy lisätä se manuaalisesti %s-tiedoston alkuun: %sVahvista heikon salasanan käyttö.KongonKongon demokraattinen tasavaltaOnnittelut! Olet suorittanut kaikki turvatehtävät. Muista tarkistaa sivustosi kerran viikossa.JatkaMuunna linkit kuten /wp-content/* muotoon %s/wp-content/*.CookinsaaretKopioi linkkiKopioi %s TURVALLINEN URL %s ja käytä sitä poistaaksesi kaikki mukautetut polut, jos et pysty kirjautumaan sisään.Ydin Sisältö PolkuYdin Sisältää PolkuCosta RicaCote d'IvoireEn pystynyt havaitsemaan käyttäjääEn pystynyt korjaamaan sitä. Sinun täytyy muuttaa se manuaalisesti.En löytänyt mitään hakusi perusteella.En pystynyt kirjautumaan tällä käyttäjällä.Taulun %1$s nimeäminen ei onnistunut. Saatat joutua nimeämään taulun manuaalisesti.Ei voitu päivittää etuliitteen viittauksia asetustaulussa.Ei voitu päivittää etuliiteriviittauksia usermeta-taulussa.Maiden estoLuoLuo uusi väliaikainen kirjautuminenLuo väliaikainen kirjautumis-URL millä tahansa käyttäjäroolilla päästäksesi verkkosivuston hallintapaneeliin ilman käyttäjänimeä ja salasanaa rajoitetun ajanjakson ajan.Luo väliaikainen kirjautumis-URL millä tahansa käyttäjäroolilla päästäksesi verkkosivuston hallintapaneeliin ilman käyttäjänimeä ja salasanaa rajoitetun ajanjakson ajan. %s Tämä on hyödyllistä, kun haluat antaa kehittäjälle pääsyn ylläpitoon tai rutiinitehtäviin.KroatiakroatiaKuubaCuracaoMukautettu aktivointipolkuMukautettu hallintopolkuMukautettu välimuistihakemistoMukautettu kirjautumispolkuMukautettu kirjaudu ulos -polkuMukautettu Salasanan Unohtaminen PolkuMukautettu rekisteröintipolkuMukautettu turvallinen URL-parametriMukautettu admin-ajax-polkuMukautettu tekijä PolkuMukautettu kommenttipolkuRäätälöity viesti näytettäväksi estetyille käyttäjille.Mukautetut lisäosat PolkuMukautetun teeman tyylinimiMukautetut teemat PolkuMukautettu latauskansioMukautettu wp-sisältöpolkuMukautettu wp-sisällysluettelon polkuMukautettu wp-json-polkuRäätälöi ja suojaa kaikki WordPress-polkuja hakkeribottien hyökkäyksiltä.Mukauta lisäosien nimetMukauta teeman nimetMukauta CSS- ja JS-URL-osoitteet verkkosivustosi rungossa.Mukauta tunnisteet ja luokkien nimet verkkosivustosi rungossa.KyprosTšekkiTšekin tasavaltaDB VianjäljitystilaTanskaOhjausnäyttöTietokannan etuliitePäivämääräPoistettu käytöstäVirheenkorjaustilaOletusOletusohjaus kirjautumisen jälkeenOletusarvoinen väliaikainen vanhenemisaikaOletuskäyttäjärooliOletusarvoinen WordPress-iskulauseOletuskäyttäjärooli, jolle väliaikainen kirjautuminen luodaan.Poista väliaikaiset käyttäjät liitännäisen poiston yhteydessä.Poista käyttäjäTanskaLisätiedotHakemistotPoista "rest_route" parametrin käyttöPoista klikkausviesti.Poista kopio.Poista Kopiointi/Liitä-toimintoPoista Kopioi/Liitä -viestiPoista Kopiointi/Liitä-toiminto kirjautuneilta käyttäjiltä.Poista DISALLOW_FILE_EDIT eläviltä verkkosivuilta wp-config.php-tiedostosta define('DISALLOW_FILE_EDIT', true);Poista hakemistoselausPoista vedä ja pudota kuvatPoista vedä ja pudota -viesti.Poista raahaaminen/pudottaminen kirjautuneilta käyttäjiltä.Poista tarkastuselementtiPoista tarkastuselementin viestiPoista tarkastuselementti kirjautuneilta käyttäjiltä.Poista asetuksetPoista liitäminenPoista REST API -käyttöönotto.Poista REST API -käyttöoikeus kirjautumattomilta käyttäjiltä.Poista REST API -käyttö käyttämällä parametria 'rest_route'.Poista RSD-päätepiste XML-RPC:stäEstä kakkospainikkeen käyttöPoista oikea napsautus kirjautuneilta käyttäjiltä.Poista SCRIPT_DEBUG käytöstä live-verkkosivustoilla wp-config.php-tiedostossa define('SCRIPT_DEBUG', false);Poista Näytä lähdekoodiPoista View Source -viesti.Poista "Näytä lähdekoodi" kirjautuneilta käyttäjiltä.Poista WP_DEBUG käytöstä live-verkkosivustoilla wp-config.php-tiedostossa define('WP_DEBUG', false);Poista XML-RPC-pääsyPoista kopioimistoiminto verkkosivustoltasi.Poista kuvien vetäminen ja pudottaminen verkkosivustoltasi.Poista liitä-toiminto verkkosivustoltasi.Poista RSD (Really Simple Discovery) -tuki XML-RPC:lle ja poista RSD-tunniste otsikosta.Poista pääsy /xmlrpc.php-tiedostoon estääksesi %sBrute force -hyökkäykset XML-RPC:n kautta%s.Poista kopioi/liitä-toiminto verkkosivustoltasi.Poista ulkoiset puhelut xml-rpc.php-tiedostoon ja estä Brute Force -hyökkäykset.Poista tarkastuselementinäkymä verkkosivustoltasi.Poista oikean hiiren painikkeen toiminto verkkosivustoltasi.Poista oikean hiiren painikkeen toiminto verkkosivustoltasi.Poista lähdekoodinäkymä verkkosivustoltasi.Näytetään minkäänlaista vianmääritystietoa etupäässä on äärimmäisen huonoa. Jos sivustollasi tapahtuu PHP-virheitä, ne tulisi kirjata turvalliseen paikkaan eikä näyttää vierailijoille tai mahdollisille hyökkääjille.DjiboutiSuorita kirjautumisen ja uloskirjautumisen uudelleenohjaukset.Älä kirjaudu ulos tästä selaimesta ennen kuin olet varma, että kirjautumissivu toimii ja pystyt kirjautumaan uudelleen.Älä kirjaudu ulos tililtäsi ennen kuin olet varma, että reCAPTCHA toimii ja pystyt kirjautumaan uudelleen sisään.Haluatko poistaa tilapäisen käyttäjän?Haluatko palauttaa viimeksi tallennetut asetukset?DominikaDominikaaninen tasavaltaÄlä unohda käynnistää Nginx-palvelua uudelleen.Älä anna URL-osoitteiden kuten domain.com?author=1 näyttää käyttäjän kirjautumisnimeä.Älä anna hakkerien nähdä mitään hakemiston sisältöä. Katso %sLatauskansio%s.Älä lataa Emoji-kuvakkeita, jos et käytä niitä.Älä lataa WLW: tä, jos et ole määrittänyt Windows Live Writeria sivustollesi.Älä lataa oEmbed-palvelua, jos et käytä oEmbed-videoita.Älä valitse mitään roolia, jos haluat kirjata kaikki käyttäjäroolit.Done!Lataa vianjäljitysDrupal 10Drupal 11Drupal 8Drupal 9HollantiVIRHE! Varmista, että käytät kelvollista tunnusta aktivoidaksesi lisäosanVIRHE! Varmista, että käytät oikeaa tunnusta aktivoidaksesi lisäosan.EcuadorMuokkaa käyttäjääKäyttäjän muokkausMuokkaa wp-config.php-tiedostoa ja lisää loppuun ini_set('display_errors', 0);EgyptEl SalvadorElementorSähköpostiSähköpostiosoiteSähköposti-ilmoituksetSähköpostiosoite on jo olemassaLähetä sähköpostia isännöintiyrityksellesi ja kerro heille, että haluat vaihtaa uudempaan MySQL-versioon tai siirtää sivustosi parempaan isännöintiyritykseen.Lähetä sähköpostia isännöintiyrityksellesi ja kerro heille haluavasi vaihtaa uudempaan PHP-versioon tai siirtää sivustosi parempaan isännöintiyritykseen.TyhjäTyhjä ReCaptcha. Täytä ReCaptcha.Tyhjä sähköpostiosoiteMahdollisuuden käyttöönotto voi hidastaa verkkosivustoa, koska CSS- ja JS-tiedostot ladataan dynaamisesti uudelleenkirjoitusten sijaan, mikä mahdollistaa niiden sisällön muokkaamisen tarpeen mukaan.EnglantiSyötä 32 merkin tunniste tilauksesta/lisenssistä kohteessa %s.Päiväntasaajan GuineaEritreaVirhe! Ei varmuuskopiota palautettavaksi.Virhe! Varmuuskopio ei ole kelvollinen.Virhe! Uudet polut eivät lataudu oikein. Tyhjennä kaikki välimuistit ja yritä uudelleen.Virhe! Esiasetusta ei voitu palauttaa.Virhe: Syötit saman URL-osoitteen kahdesti URL-kartoitukseen. Poistimme kaksoiskappaleet estääksemme mahdolliset uudelleenohjausvirheet.Virhe: Syötit saman tekstin kahdesti Tekstin kartoituksessa. Poistimme kaksoiskappaleet estääksemme mahdolliset uudelleenohjausvirheet.ViroEtiopiaEurooppaVaikka oletuspolut ovat suojattuina %s muokkauksen jälkeen, suosittelemme asettamaan oikeat käyttöoikeudet kaikille verkkosivustosi kansioille ja tiedostoille. Käytä Tiedostonhallintaa tai FTP:tä tarkistaaksesi ja muuttaaksesi käyttöoikeuksia. %sLue lisää%sTapahtumalokiTapahtumalokiraporttiTapahtumalokin asetuksetJokaisen hyvän kehittäjän tulisi ottaa vianmääritystila käyttöön ennen uuden lisäosan tai teeman aloittamista. Itse asiassa WordPressin koodikirja suosittelee voimakkaasti kehittäjiä käyttämään SCRIPT_DEBUG-asetusta. Valitettavasti monet kehittäjät unohtavat vianmääritystilan jopa silloin, kun verkkosivusto on jo julkaistu. Vianmäärityslogejen näyttäminen etusivulla antaa hakkerien tietää paljon WordPress-verkkosivustostasi.Jokaisen hyvän kehittäjän tulisi ottaa vianmääritystila käyttöön ennen uuden lisäosan tai teeman aloittamista. Itse asiassa WordPress Codex 'suosittelee voimakkaasti', että kehittäjät käyttävät WP_DEBUG-ominaisuutta.

Valitettavasti monet kehittäjät unohtavat vianmääritystilan, jopa silloin kun verkkosivusto on julkaistu. Vianmäärityslokin näyttäminen etusivulla antaa hakkerien tietää paljon WordPress-verkkosivustostasi.Esimerkiksi:VanhentumisaikaVanhentunutVanheneePaljastamalla PHP-versio tekee sivustosi hyökkäämisestä paljon helpompaa.Epäonnistuneet yrityksetEpäonnistuiFalklandinsaaret (Malvinas)FärsaaretOminaisuudetSyöte & SivukarttaRuokintaturvallisuusFidžiTiedostojen käyttöoikeudetTiedostojen käyttöoikeudet WordPressissä ovat kriittinen osa verkkosivuston turvallisuutta. Oikein määritellyt käyttöoikeudet varmistavat, etteivät luvattomat käyttäjät pääse käsiksi arkaluontoisiin tiedostoihin ja tietoihin.
Väärin asetetut käyttöoikeudet voivat vahingossa altistaa verkkosivustosi hyökkäyksille, tehdä sen haavoittuvaksi.
WordPressin ylläpitäjänä on tärkeää ymmärtää ja asettaa tiedostojen käyttöoikeudet oikein suojellaksesi sivustoasi mahdollisilta uhilta.TiedostotSuodatinSuomiPalomuuriPalomuuri & OtsikotPalomuuri skripti-injektioita vastaanPalomuurin sijaintiPalomuurin vahvuusPalomuuri injektioita vastaan on ladattu.EtunimiEnsin sinun täytyy aktivoida %sSafe Mode%s tai %sGhost Mode%s.Ensin sinun täytyy aktivoida %sTurvallinen tila%s tai %sHaamutila%s %s.Korjaa käyttöoikeudetKorjaa seKorjaa oikeudet kaikille kansioille ja tiedostoille (~ 1 min)Korjaa oikeudet pääkansioille ja tiedostoille (~ 5 sek)KäynnistyspyöräHavaittu lentopyörä. Lisää uudelleenohjaukset Lentopyörän Uudelleenohjaussäännöt -paneeliin %s.Kansio %s on selailtavissaKielletty.RanskaRanskaRanska GuayanaRanskan PolynesiaRanskan eteläiset ja antarktiset alueetLähettäjä: %s <%s>EtusivuKäyttöliittymän kirjautumistestiKäyttöliittymätestiTäysin yhteensopiva Autoptimizer-välimuistin lisäosan kanssa. Toimii parhaiten valinnalla Optimize/Aggregate CSS and JS files.Täysin yhteensopiva Beaver Builder -lisäosan kanssa. Toimii parhaiten yhdessä välimuistin kanssa.Täysin yhteensopiva Cache Enabler -lisäosan kanssa. Toimii parhaiten valinnalla Minify CSS- ja JS-tiedostot.Täysin yhteensopiva Elementor-verkkosivunrakentajan lisäosan kanssa. Toimii parhaiten yhdessä välimuistin lisäosan kanssa.Täysin yhteensopiva Avadan Fusion Builder -lisäosan kanssa. Toimii parhaiten yhdessä välimuistin kanssa.Täysin yhteensopiva Hummingbird-välimuistin lisäosan kanssa. Toimii parhaiten valinnalla Minify CSS- ja JS-tiedostot.Täysin yhteensopiva LiteSpeed Cache -lisäosan kanssa. Toimii parhaiten valinnalla Minify CSS- ja JS-tiedostot.Täysin yhteensopiva Oxygen Builder -lisäosan kanssa. Toimii parhaiten yhdessä välimuistin kanssa.Täysin yhteensopiva W3 Total Cache -lisäosan kanssa. Toimii parhaiten Minify CSS- ja JS-tiedostojen asetuksella.Täysin yhteensopiva WP Fastest Cache -lisäosan kanssa. Toimii parhaiten valinnalla Minify CSS- ja JS-tiedostot.Täysin yhteensopiva WP Super Cache -välityspalvelimen lisäosa.Täysin yhteensopiva WP-Rocket-välimuistin lisäosan kanssa. Toimii parhaiten Minify/Combine CSS and JS files -asetuksella.Täysin yhteensopiva Woocommerce-liitännäisen kanssa.Fusion BuilderGabonGambiaYleisetGeo TurvallisuusMaantieteellinen turvallisuus on ominaisuus, joka on suunniteltu estämään hyökkäykset eri maista ja lopettamaan haitallisen toiminnan, joka tulee tietystä maantieteellisestä alueesta.GeorgiaSaksaSaksaGhanaHaamutilaHaamutila + Palomuuri + Brute Force + Tapahtumaloki + Kaksivaiheinen todennusHaamutila asettaa nämä ennalta määrätyt polut.HaamutilaGibraltarAnna satunnaiset nimet kullekin lisäosalleAnna satunnaiset nimet jokaiselle teemalle (toimii WP multisivustolla).Havaittu globaali luokan nimi: %s. Lue tämä artikkeli ensin: %s.Mene Tapahtumaloki-paneeliin.Mene kojelaudalle > Ulkoasu-osioon ja päivitä kaikki teemat viimeisimpään versioon.Mene kojelaudalle > Lisäosat-osioon ja päivitä kaikki lisäosat viimeisimpään versioon.GodaddyGodaddy havaittu! Välttääksesi CSS-virheet, varmista, että kytket CDN pois päältä %s.HyväGoogle reCAPTCHA V2Google reCAPTCHA V3Google reCaptcha V3 ei toimi nykyisen %s kirjautumislomakkeen kanssa.Loistavaa! Varmuuskopio on palautettu.Loistavaa! Alkuperäiset arvot on palautettu.Loistavaa! Uudet polut latautuvat oikein.Mahtavaa! Esiasetus ladattiin.KreikkakreikkaGrönlantiGrenadaGuadeloupeGuamGuatemalaGuernseyGuineaGuinea-BissauGuyanaHaitiHaving the admin URL visible in the source code is terrible because hackers will quickly figure out your secret admin path and launch a Brute Force attack. The custom admin path should not be visible in the ajax URL.

Find solutions for %s how to hide the path from the source code %s.On kauheaa, kun kirjautumis-URL on näkyvillä lähdekoodissa, koska hakkerit tietävät heti salaisen kirjautumispolkusi ja aloittavat Brute Force -hyökkäyksen. Mukautettu kirjautumispolku tulisi pitää salaisena, ja sinun tulisi aktivoida Brute Force -suojauksen sen varalle. Etsi ratkaisuja %s kirjautumispolun piilottamiseksi lähdekoodista täältä %s.Tämän PHP-direktiivin käyttöönotto altistaa sivustosi ristisivustohyökkäyksille (XSS).

Ei ole mitään pätevää syytä ottaa tämä direktiivi käyttöön, ja PHP-koodin käyttö, joka sitä vaatii, on erittäin riskialtista.Otsikko: TurvallisuusOtsikot ja palomuuriHeardin ja McDonaldinsaaretHepreaApua ja usein kysyttyjä kysymyksiäTässä on valittujen maakuntien luettelo, joissa verkkosivustosi on rajoitettu.PiilotaPiilota "login" polku.Piilota "wp-admin".Piilota "wp-admin" ei-hallintakäyttäjiltä.Piilota "wp-login.php"Piilota /login-polku vierailijoilta.Piilota /wp-admin-polku ei-ylläpitäjiltä käyttäjiltä.Piilota /wp-admin-polku vierailijoilta.Piilota /wp-login.php polku vierailijoilta.Piilota hallintapalkkiPiilota hallintapalkki käyttäjärooleilta estääksesi pääsyn hallintapaneeliin.Piilota kaikki lisäosatPiilota tekijän ID-osoite.Piilota yleiset tiedostotPiilota upotuskooditPiilota hymiötPiilota syöte- ja sivukarttalinkkien tunnisteetPiilota tiedostopäätePiilota HTML-kommentitPiilota tunnisteet META-tageista.Piilota kielivalitsinHide My WP GhostPiilota vaihtoehdotPiilota polut Robots.txt-tiedostossa.Piilota lisäosien nimetPiilota REST API URL-linkki.Piilota teemanimetPiilota versio kuvista, CSS:stä ja JS:stä WordPressissä.Piilota versiot kuvista, CSS:stä ja JS:stä.Piilota WLW Manifest -skriptitPiilota WP yleiset tiedostotPiilota WP yleiset polutPiilota WordPressin yleiset tiedostotPiilota WordPressin yleiset polutPiilota WordPress DNS Prefetch META-tunnisteet.Piilota WordPressin generaattorin META-tunnisteet.Piilota WordPressin vanhat lisäosatiet.Piilota WordPressin vanhat teematiedostot polustaPiilota WordPressin yleiset polut %s Robots.txt %s -tiedostosta.Piilota WordPressin polut, kuten wp-admin, wp-content ja muut, robots.txt-tiedostosta.Piilota kaikki versiot kuvien, CSS:n ja JavaScript-tiedostojen lopusta.Piilota sekä aktiiviset että poistetut lisäosatPiilota valmiit tehtävätPiilota salasanaPiilota /feed ja /sitemap.xml linkkimerkinnät.Piilota DNS Prefetch, joka osoittaa WordPressiin.Piilota teemojen ja lisäosien jättämät HTML-kommentit.Piilota tunnisteet kaikista <link>, <style>, <script> META-tageista.Piilota uusi hallintopolkuPiilota uusi kirjautumispolku.Piilota WordPressin generaattorin META-tunnisteet.Piilota ylläpitopalkki kirjautuneilta käyttäjiltä etusivulla.Piilota kielivalitsin vaihtoehto kirjautumissivulla.Piilota uusi admin-polku vierailijoilta. Näytä uusi admin-polku vain kirjautuneille käyttäjille.Piilota uusi kirjautumispolku vierailijoilta. Näytä uusi kirjautumispolku vain suoraa pääsyä varten.Piilota vanhat /wp-content, /wp-include polut heti kun ne on vaihdettu uusiin.Piilota vanhat /wp-content, /wp-include -polut heti kun ne on vaihdettu uusiin.Piilota vanha /wp-content/plugins-polku, kun se on vaihdettu uuteen.Piilota vanha /wp-content/themes -polku, kun se on vaihdettu uuteen.Piilota wp-admin Ajax-URL:sta.Piilota wp-config.php-, wp-config-sample.php-, readme.html-, license.txt-, upgrade.php- ja install.php-tiedostot.Piilota wp-config.php, wp-config-sample.php, readme.html, license.txt, upgrade.php ja install.php -tiedostot.Piilota wp-json & ?rest_route link tag verkkosivuston otsikosta.Piilottamalla tunnisteet meta-tiedoista WordPressissa voi vaikuttaa mahdollisesti niihin lisäosiin, jotka perustuvat tunnistamaan meta-tiedot.HindiPyhä istuin (Vatikaanin kaupunkivaltio)HondurasHongkongDomain nimiKuinka kauan väliaikainen kirjautuminen on käytettävissä käyttäjän ensimmäisen kirjautumisen jälkeen?KolibriUnkariUnkariIIS WindowsIIS havaittu. Sinun täytyy päivittää %s-tiedostosi lisäämällä seuraavat rivit <säännöt>-tagin jälkeen: %sIPIP estettyIslantiJos reCAPTCHA näyttää virheen, varmista että korjaat ne ennen kuin jatkat eteenpäin.Jos uudelleenkirjoitussäännöt eivät lataudu oikein asetustiedostossa, älä lataa liitännäistä ja älä muuta polkuja.Jos olet yhteydessä admin-käyttäjään, sinun täytyy kirjautua uudelleen sisään muutoksen jälkeen.Jos et pysty määrittämään %s, vaihda Deaktivoitu-tilaan ja %sota yhteydessä meihin%s.Jos et pysty määrittämään reCAPTCHA:a, vaihda Math reCaptcha -suojaukseen.Jos sinulla ei ole verkkokauppaa, jäsenyyssivustoa tai vieraskirjoitussivustoa, sinun ei tulisi antaa käyttäjien tilata blogiasi. Päädyt roskapostirekisteröinteihin ja sivustosi täyttyy roskasisällöstä ja -kommenteista.Jos sinulla on pääsy php.ini-tiedostoon, aseta allow_url_include = off tai ota yhteyttä hosting-yhtiöön asettaaksesi sen pois päältä.Jos sinulla on pääsy php.ini-tiedostoon, aseta expose_php = off tai ota yhteyttä hosting-yritykseen asettaaksesi sen pois päältä.Jos sinulla on pääsy php.ini-tiedostoon, aseta register_globals = off tai ota yhteyttä hosting-yhtiöön asettaaksesi sen pois päältä.Jos sinulla on pääsy php.ini-tiedostoon, aseta safe_mode = off tai ota yhteyttä hosting-yhtiöön, jotta he voivat kytkeä sen pois päältä.Jos huomaat toimintahäiriön, valitse %sTurvallinen tila%s.Jos pystyt kirjautumaan sisään, olet asettanut uudet polut oikein.Jos pystyt kirjautumaan sisään, olet asettanut reCAPTCHA:n oikein.Jos et käytä Windows Live Writeria, ei ole oikeastaan mitään pätevää syytä pitää sen linkkiä sivun otsikossa, koska se kertoo koko maailmalle, että käytät WordPressiä.Jos et käytä mitään todella yksinkertaista löytöpalvelua, kuten pingbackejä, ei ole tarvetta mainostaa kyseistä loppupistettä (linkkiä) otsikossa. Huomaa, että useimmissa sivustoissa tämä ei ole turvallisuuskysymys, koska ne "haluavat tulla löydetyiksi", mutta jos haluat piilottaa sen tosiasian, että käytät WP:tä, tämä on oikea tapa toimia.Jos sivustollasi on käyttäjäkirjautumisia, sinun on varmistettava, että kirjautumissivu on helppo löytää käyttäjille. Sinun on myös tehtävä muita toimenpiteitä suojautuaksesi haitallisilta kirjautumisyrityksiltä.

Kuitenkin, hämäryys on pätevä turvakerros osana kattavaa turvallisuusstrategiaa, ja jos haluat vähentää haitallisten kirjautumisyritysten määrää. Kirjautumissivun tekeminen vaikeasti löydettäväksi on yksi tapa tehdä niin.Oh, I see. I will not perform the security task.Estä välittömästi virheelliset käyttäjänimet kirjautumislomakkeissa.Tiedostossa .htaccessAikoinaan oletuskäyttäjänimi WordPressin hallintapaneelissa oli 'admin' tai 'administrator'. Koska käyttäjänimet muodostavat puolet kirjautumistiedoista, tämä teki hakkerien hyökkäyksistä bruteforce-hyökkäyksiä helpompia.

Onneksi WordPress on sittemmin muuttanut tämän ja vaatii nyt sinua valitsemaan mukautetun käyttäjänimen WordPressin asennuksen yhteydessä.Todellakin Ultimate Membership Pro havaittu. Liitännäinen ei tue mukautettuja %s polkuja, koska se ei käytä WordPress-funktioita kutsuakseen Ajax-URL-osoitetta.IntiaIndonesiaindonesiaTiedotInmotionLiikettä havaittu. %sLue, miten tehdä liitännäisestä yhteensopiva Inmotion Nginx -välimuistin kanssa%sAsenna/AktivoiIntegraatio muiden CDN-liitännäisten kanssa ja mukautetut CDN-osoitteet.Virheellinen ReCaptcha. Täytä ReCaptcha uudelleen.Virheellinen sähköpostiosoiteVirheellinen nimi havaittu: %s. Lisää vain lopullinen polkunimi välttääksesi WordPress-virheet.Virheellinen nimi havaittu: %s. Nimen lopussa ei saa olla /-merkkiä WordPress-virheiden välttämiseksi.Virheellinen nimi havaittu: %s. Nimen ei saa alkaa /-merkillä WordPress-virheiden välttämiseksi.Virheellinen nimi havaittu: %s. Polkujen ei tulisi päättyä .-merkkiin WordPress-virheiden välttämiseksi.Virheellinen nimi havaittu: %s. Sinun tulee käyttää toista nimeä välttääksesi WordPress-virheet.Virheellinen käyttäjänimi.Iran, Islamin tasavaltaIrakIrlantiMansaariIsraelOn tärkeää %s tallentaa asetuksesi aina kun muutat niitä %s. Voit käyttää varmuuskopiota muiden omistamiesi verkkosivustojen määrittämiseen.On tärkeää piilottaa tai poistaa readme.html-tiedosto, koska se sisältää WP-version tiedot.On tärkeää piilottaa yleiset WordPress-polkuja estääksesi hyökkäykset haavoittuvia lisäosia ja teemoja vastaan.
Lisäksi on tärkeää piilottaa lisäosien ja teemojen nimet tehdäksesi niiden havaitsemisen mahdottomaksi boteille.On tärkeää nimetä yleiset WordPress-polkuja, kuten wp-content ja wp-includes, estääksesi hakkerien tietämästä, että sinulla on WordPress-verkkosivusto.Tietokannan vianmääritystilan pitäminen päällä ei ole turvallista. Varmista, ettet käytä sitä live-verkkosivustoilla.ItaliaItaliaJCH Optimoi VälimuistiJamaikaJananeseJapaniSelaimessasi JavaScript on poistettu käytöstä! Sinun täytyy ottaa JavaScript käyttöön voidaksesi käyttää %s -liitännäistä.JerseyJoomla 3Joomla 4Joomla 5JordanVain toinen WordPress-sivustoKazakstanKeniaKiribatiTiedä, mitä muut käyttäjät tekevät verkkosivustollasi.KoreaKosovoKuwaitKirgisiaKieliLaosin demokraattinen kansantasavaltaViimeisten 30 päivän turvallisuustilastotViimeisin pääsySukunimiViimeinen tarkistus:Viivästynyt latausLatvialatviaOpi MitenOpi, miten lisätä koodi.Opi, miten poistetaan käytöstä %sHakemiston selaus%s tai kytke päälle %s %s > Muuta polkuja > Poista hakemiston selaus käytöstä%s.Opi asettamaan verkkosivustosi %s. %sKlikkaa tästä%s.Opi, miten asennetaan paikallisesti ja Nginx:llä.Opi, miten asennetaan Nginx-palvelimelle.Opi käyttämään lyhytkoodiaOpi lisääOpi lisää %s 7G palomuurista %s.Opi lisää %s 8G palomuurista %s.Leave it blank if you don't want to display any messageJätä se tyhjäksi estääksesi kaikki reitit valituille maille.LibanonLesothoNostetaan turvallisuutesi seuraavalle tasolle!TurvallisuustasoTurvallisuustasotLiberiaLibyan Arab JamahiriyaLisenssitunnusLiechtensteinRajoita sallittujen kirjautumisyritysten määrä normaalissa kirjautumislomakkeessa.LiteSpeedLiteSpeed CacheLiettuaLiettuaLataa EsiasetusLataa turvapohjatLataa vasta, kun kaikki lisäosat on ladattu. "template_redirects" -koukussa.Lataa ennen kuin kaikki liitännäiset on ladattu. "plugins_loaded" koukussa.Lataa mukautettu kieli, jos WordPressin paikallinen kieli on asennettu.Lataa lisäosa Must Use -lisäosana.Lataa kun liitännäiset on alustettu. "init" koukussa.Paikallinen ja NGINX havaittu. Jos et ole vielä lisännyt koodia NGINX-konfiguraatioon, lisää seuraava rivi. %sPaikallinen by FlywheelSijaintiKäyttäjän lukitusSuljettu viestiKirjaa käyttäjien roolitKirjaa käyttäjien tapahtumat.Kirjautumisen ja uloskirjautumisen uudelleenohjauksetKirjautuminen estetty käyttäjältäKirjautumispolkuKirjautumisen uudelleenohjaus-URLKirjautumisturvaKirjautumistestiKirjautumisen URLUloskirjauksen uudelleenohjaus URL-osoiteSalasanan unohtamislomakkeen suojausLuxemburgMacaoMadagaskarTaikalinkin kirjautuminenVarmista, että uudelleenohjaus-URL-osoitteet ovat olemassa verkkosivustollasi. %sKäyttäjäroolin uudelleenohjaus-URL-osoitteella on suurempi prioriteetti kuin oletuksena olevalla uudelleenohjaus-URL-osoitteella.Varmista, että tiedät mitä teet, kun muutat otsikoita.Varmista, että tallennat asetukset ja tyhjennät välimuistin ennen kuin tarkistat verkkosivustosi meidän työkalullamme.MalawiMalesiaMalediivitMaliMaltaHallinnoi Brute Force -suojaaHallinnoi kirjautumisen ja uloskirjautumisen uudelleenohjaukset.Hallinnoi sallitut ja estetyt IP-osoitteet.Estä tai ota manuaalisesti estot pois IP-osoitteista.Räätälöi jokainen lisäosa nimi manuaalisesti ja korvaa satunnainen nimi.Mukauta jokainen teeman nimi manuaalisesti ja ylikirjoita satunnainen nimi.Manually lisää luotettuja IP-osoitteita sallintalistalle.KartoitusMarshallinsaaretMartiniqueMatematiikka ja Google reCaptcha -varmennus kirjautumisen yhteydessä.Matematiikka reCAPTCHAMauritaniaMauritiusMaksimimäärä epäonnistuneita yrityksiäMayotteKeskitasoJäsenyysMeksikoMikronesian liittovaltioVähimmäinenVähimmäisvaatimukset (Ei asetusten uudelleenkirjoituksia)Moldova, TasavallanMonacoMongoliaValvo kaikkea, mitä tapahtuu WordPress-sivustollasi!Seuraa, seuraa ja kirjaa tapahtumat verkkosivustollasi.MontenegroMontserratLisää apua%s:n tiedotLisää vaihtoehtojaMarokkoUseimmat WordPress-asennukset ovat isännöityinä suosituilla Apache-, Nginx- ja IIS-webpalvelimilla.MosambikOn käytettävä lisäosan latausta.Oma tiliMyanmarMysql VersioNGINX havaittu. Jos et ole vielä lisännyt koodia NGINX-konfiguraatioon, lisää seuraava rivi. %sNimiNamibiaNauruNepalAlankomaatUusi-KaledoniaUudet kirjautumistiedotUusi lisäosa/teema havaittu! Päivitä %s asetukset piilottaaksesi se. %sKlikkaa tästä%sUusi-SeelantiSeuraavaksi.NginxNicaraguaNigerNigeriaNiueEiEi CMS-simulaatiotaEi äskettäisiä päivityksiä julkaistuEi mustalla listalla olevia IP-osoitteita.Ei lokitietoja löytynyt.Ei väliaikaisia kirjautumisia.Ei, peruutaEi. sekuntien määräNorfolkinsaariNormaali latausYleensä vaihtoehto estää vierailijoita selaamasta palvelimen hakemistoja aktivoidaan isännän kautta palvelimen määrityksissä, ja sen aktivointi kahdesti asetustiedostossa saattaa aiheuttaa virheitä, joten on parasta ensin tarkistaa, onko %sLatauskansio%s näkyvissä.Pohjois-KoreaPohjois-Makedonia, TasavaltaPohjois-Mariaanit.NorjaNorjaEi vielä kirjautunut sisäänHuomaa, että tämä vaihtoehto ei aktivoi CDN:ää verkkosivustollasi, mutta se päivittää mukautetut polut, jos olet jo asettanut CDN-URL:n toisen lisäosan avulla.Huomio! %sPolkuja EI fyysisesti muuteta%s palvelimellasi.Huomioi! Liitännäinen käyttää WP cronia vaihtaakseen polut taustalla, kun välimuistitiedostot on luotu.Huomio: Jos et pysty kirjautumaan sivustollesi, käytä tätä URL-osoitetta.IlmoitusasetuksetSelvä, olen valmis.OmaVerkkosivuston alustusKun olet ostanut lisäosan, saat %s tunnistetiedot tilillesi sähköpostitse.Yksi päiväYksi tuntiYksi kuukausiYksi viikkoYksi vuosiYksi tärkeimmistä tiedostoista WordPress-asennuksessasi on wp-config.php-tiedosto.
Tämä tiedosto sijaitsee WordPress-asennuksesi juurihakemistossa ja sisältää verkkosivustosi peruskonfiguraatiodetaljit, kuten tietokantayhteyden tiedot.Vaihda tämä vaihtoehto vain, jos lisäosa ei tunnista palvelimen tyyppiä oikein.Optimoi CSS- ja JS-tiedostot.Vaihtoehto ilmoittaa käyttäjälle jäljellä olevista yrityksistä kirjautumissivulla.AsetuksetVanhentuneet lisäosatVanhentuneet teematYhteenvetoHappiPHP-versioPHP allow_url_include onPHP expose_php onPHP register_globals onPHP:n turvallinen tila oli yksi yrityksistä ratkaista jaettujen verkkopalvelimien turvallisuusongelmia.

Sitä käyttävät edelleen jotkut verkkopalveluntarjoajat, mutta nykyään sitä pidetään epäasianmukaisena. Järjestelmällinen lähestymistapa osoittaa, että on arkkitehtonisesti virheellistä yrittää ratkaista monimutkaisia turvallisuusongelmia PHP-tasolla sen sijaan, että tehtäisiin se verkkopalvelimen ja käyttöjärjestelmän tasolla.

Teknisesti turvallinen tila on PHP-direktiivi, joka rajoittaa tapaa, jolla jotkin sisäänrakennetut PHP-toiminnot toimivat. Pääongelma tässä on epäjohdonmukaisuus. Kun se on päällä, PHP:n turvallinen tila saattaa estää monien laillisten PHP-toimintojen toimimisen oikein. Samanaikaisesti on olemassa monia tapoja ohittaa turvallisen tilan rajoitukset käyttämällä PHP-toimintoja, joita ei ole rajoitettu, joten jos hakkeri on jo päässyt sisään, turvallinen tila on hyödytön.PHP safe_mode onSivua ei löytynytPakistanPalauPalestiinan aluePanamaPapua-Uusi-GuineaParaguayHyväksyttyPolku ei sallittu. Vältä polkuja kuten liitännäiset ja teemat.Polkuja ja vaihtoehtojaPolkuja muutettu olemassa olevissa välimuistitiedostoissa.Tauko viideksi minuutiksiOsoiterakenteetpersiaPeruFilippiinitPitcairnOle hyvä ja huomioi, että jos et suostu tietojen tallentamiseen pilveemme, pyydämme ystävällisesti, ettet ota tätä ominaisuutta käyttöön.Vieraile osoitteessa %s tarkastaaksesi ostoksesi ja saadaksesi lisenssitunnuksen.Liitännäisen latauskoukkuLiitännäisten polkuLaajennusten tietoturvaLaajennusten asetuksetLisäosat, jotka eivät ole päivitetty viimeisen 12 kuukauden aikana, voivat aiheuttaa todellisia tietoturvaongelmia. Varmista, että käytät päivitettyjä lisäosia WordPressin hakemistosta.Liitännäisten/Teemojen muokkaustoiminto on poistettu käytöstä.PuolaPuolaPortugaliportugaliEsiasetettu turvallisuusEstä rikkoutunut verkkosivuston ulkoasu.Tärkeä lastausSuojaa WooCommerce-kauppasi salasanahyökkäyksiltä.Suojaa verkkosivustosi Brute Force -kirjautumishyökkäyksiltä käyttäen %s Yleinen uhka, jonka verkkokehittäjät kohtaavat, on salasanan arvaamishyökkäys, jota kutsutaan Brute Force -hyökkäykseksi. Brute Force -hyökkäys on yritys löytää salasana järjestelmällisesti kokeilemalla jokaista mahdollista kirjain-, numeroyhdistelmää ja symbolia, kunnes löydät sen yhden oikean yhdistelmän, joka toimii.Suojaa verkkosivustosi Brute Force -kirjautumishyökkäyksiä vastaan.Suojaa verkkosivustoasi brute force -kirjautumishyökkäyksiä vastaan.Todista inhimillisyytesi:Puerto RicoQatarPikakorjausRDS on näkyvissäSatunnainen staattinen numeroAktivoi käyttäjä 1 päiväksiUudelleenohjaus kirjautumisen jälkeenUudelleenohjaa piilotetut polutOhjaudu kirjautuneet käyttäjät kojelautaan.Ohjaudu väliaikaiset käyttäjät mukautetulle sivulle kirjautumisen jälkeen.Oh, I will redirect the protected paths /wp-admin and /wp-login to a Page or trigger an HTML Error.Ohjaakaa käyttäjä mukautetulle sivulle kirjautumisen jälkeen.UudelleenohjauksetPoistaPoista PHP-versio, palvelimen tiedot ja palvelimen allekirjoitus otsikosta.Poista lisäosien tekijät ja tyylit Sivukartta XML:stä.Poista turvattomat otsikotPoista pingback-linkin tagi verkkosivuston otsikosta.Vaihda readme.html-tiedoston nimi tai kytke päälle %s %s > Muuta polkuja > Piilota WordPressin yleiset tiedostot%sVaihda wp-admin/install.php- ja wp-admin/upgrade.php-tiedostojen nimet tai kytke päälle %s %s > Muuta polkuja > Piilota WordPressin yleiset polut%sUudistaNollaaNollaa asetuksetNimien selvittäminen voi vaikuttaa verkkosivun latausnopeuteen.Palauta varmuuskopiointiPalauta asetuksetJatka turvallisuuttaKokoontuminenRobottien turvallisuusRooliPalauta asetuksetPalauta kaikki lisäosan asetukset alkuperäisiin arvoihin.RomaniaRomanianSuorita %s Frontend -testi %s tarkistaaksesi, toimivatko uudet polut.Suorita %s Kirjautumistesti %s ja kirjaudu sisään ponnahdusikkunassa.Suorita %sreCAPTCHA-testi%s ja kirjaudu sisään ponnahdusikkunassa.Suorita täydellinen turvatarkastus.VenäjäVenäjän federaatioRuandaSSL on lyhenne, jota käytetään Secure Sockets Layers -salausprotokollien yhteydessä internetissä tietojen turvaamiseen ja varmenteiden tarjoamiseen.

Nämä varmenteet antavat käyttäjälle vakuutuksen siitä, kenen kanssa verkkosivustolla kommunikoidaan. SSL:ää voidaan kutsua myös TLS:ksi tai Transport Layer Security -protokollaksi.

On tärkeää, että WordPressin Admin-ohjauspaneelissa on turvallinen yhteys.Turvallinen tilaTurvallinen tila + Palomuuri + Brute Force + Tapahtumaloki + Kaksivaiheinen tunnistautuminenTurvallinen tila + Palomuuri + YhteensopivuusasetuksetTurvallinen tila asettaa nämä ennalta määritellyt polutTurvallinen URL:Turvallinen tilaPyhä BartelemeyPyhä HelenaSaint Kitts ja NevisPyhä LuciaPyhä Martin.Saint Pierre ja MiquelonSaint Vincent ja GrenadiinitSuolat ja turvallisuusavaimet ovat voimassa.SamoaSan MarinoSao Tome ja PrincipeSaudi-ArabiaTallennaTallenna vianmäärityslokiTallenna käyttäjäTallennettuTallennettu! Tämä tehtävä jätetään huomiotta tulevissa testeissä.Tallennettu! Voit ajaa testin uudelleen.Skriptin vianjäljitystilaEtsiEtsi käyttäjätapahtumalokista ja hallinnoi sähköposti-ilmoituksia.Salainen avainSalaiset avaimet %sGoogle reCAPTCHA%s.Suojaa WP-polkujaTurvatarkastusTurvallisuusavaimet päivitettyTurvallisuustilaTurvallisuusavaimet määritellään wp-config.php-tiedostossa vakioina riveillä. Niiden tulisi olla mahdollisimman ainutlaatuisia ja pitkiä. AUTH_KEY,SECURE_AUTH_KEY,LOGGED_IN_KEY,NONCE_KEY,AUTH_SALT,SECURE_AUTH_SALT,LOGGED_IN_SALT,NONCE_SALTTurvallisuusavaimia käytetään varmistamaan, että käyttäjän evästeissä ja tiivistetyissä salasanoissa oleva tieto salataan paremmin.

Nämä tekevät sivustostasi vaikeamman hakkeroida, käyttää ja murtaa lisäämällä satunnaisia elementtejä salasanaan. Sinun ei tarvitse muistaa näitä avaimia. Itse asiassa, kun olet asettanut ne, et enää koskaan näe niitä. Siksi ei ole mitään tekosyytä olla asettamatta niitä kunnolla.Katso viime päivien toimet tällä verkkosivustolla...Valitse esiasetusValitse käyttäjäroolitValitse esiasetettu turvallisuusasetus, jota olemme testanneet useimmilla verkkosivustoilla.Valitse kaikkiValitse, kuinka kauan väliaikainen kirjautuminen on käytettävissä ensimmäisen käyttäjän kirjautumisen jälkeen.Valitse tiedostotunnisteet, jotka haluat piilottaa vanhoilta poluilta.Valitse tiedostot, jotka haluat piilottaa vanhoilta poluilta.Valitut maatLähetä minulle sähköposti muutetuilla ylläpitäjän ja kirjautumisen URL-osoitteilla.SenegalSerbiaSerbiaPalvelimen tyyppiAseta mukautettu välimuistihakemisto.Aseta kirjautumisen ja uloskirjautumisen uudelleenohjaukset käyttäjäroolien perusteella.Aseta nykyinen käyttäjärooli.Aseta verkkosivusto, jolle haluat tämän käyttäjän luotavan.AsetuksetSeychellitLyhyt nimi havaittu: %s. Sinun tulee käyttää uniikkeja polkuja, joissa on yli 4 merkkiä välttääksesi WordPress-virheitä.NäytäNäytä /%s sen sijaan kuin /%sNäytä LisäasetuksetNäytä oletuspolut ja salli piilotetut polutNäytä oletuspolut ja salli kaikkiNäytä tyhjä näyttö, kun Tarkastele elementtiä on aktiivinen selaimessa.Näytä valmiit tehtävätNäytä ohitetut tehtävätNäytä viesti kirjautumislomakkeen sijaanNäytä salasanaSierra LeoneRekisteröitymislomakkeen suojausYksinkertainen kiinaSimuloi CMSSingaporeSint MaartenSivuston avainSivuston avaimet %sGoogle reCaptcha%s:iin.SiteGroundSivukartan tietoturvaKuusi kuukauttaslovakkiSlovakiaSloveniaSloveniaVankka turvallisuusSalomonsaaretSomaliaJotkin lisäosat saattavat poistaa mukautetut uudelleenkirjoitussäännöt .htaccess-tiedostosta, erityisesti jos se on kirjoitettavissa, mikä voi vaikuttaa mukautettujen polkujen toimintaan.Joillakin teemoilla ei toimi räätälöidyt hallinta- ja Ajax-polkuasetukset. Ajax-virheiden tapauksessa vaihda takaisin wp-adminiin ja admin-ajax.php:hen.Anteeksi, sinulla ei ole oikeutta käyttää tätä sivua.Etelä-AfrikkaEtelä-Georgia ja Eteläiset SandwichsaaretEtelä-KoreaEspanjaRoskapostittajat voivat rekisteröityä helpostiEspanjaSri LankaAloita skannaus.Sucuri SecuritySudanSuper AdminSurinameSvalbard ja Jan MayenSwazimaaRuotsiRuotsiKytke päälle %s %s > Vaihda Polkuja > Piilota WordPressin Yleiset Polut%sKytke päälle %s %s > Vaihda polkuja > Poista käytöstä XML-RPC-pääsy%sKytke päälle %s %s > Vaihda Polkuja > Piilota Tekijän ID URL%sKytke päälle %s %s > Vaihda Polkuja > Piilota RSD Päätepiste%sKytke päälle %s %s > Vaihda polkuja > Piilota WordPressin yleiset tiedostot%sKytke päälle %s %s > Vaihda polkuja > Piilota wp-admin ajax URL%s:sta. Piilota kaikki viittaukset admin-polkuun asennetuista lisäosista.Kytke päälle %s %s > Säädöt > %s %sKytke päälle %s %s > Säädöt > Piilota WLW-manifestiskriptit%sSveitsiSyyrian arabitasavaltaSivuston kuvausTaiwanTadžikistanTansanian yhdistynyt tasavaltaVäliaikainen kirjautuminenVäliaikaiset kirjautumisasetuksetVäliaikaiset kirjautumisetTestaa verkkosivustosi otsikoita.Tekstin ja URL-osoitteen karttausTekstin kartoitusTekstin kartoitus CSS- ja JS-tiedostoissa, mukaan lukien välimuistitiedostotVain luokat, tunnisteet ja JS-muuttujat kartoitetaan.thaiThaimaaKiitos, että käytät %s!Osio %s on siirretty %s tänne %sHaamutila lisää uudelleenkirjoitussäännöt kokoonpanotiedostoon piilottaakseen vanhat polut hakkerien näkyvistä.REST-rajapinta on monille lisäosille elintärkeä, koska se mahdollistaa niiden vuorovaikutuksen WordPress-tietokannan kanssa ja erilaisten toimintojen suorittamisen ohjelmallisesti.Turvallinen tila lisää uudelleenkirjoitussäännöt kokoonpanotiedostoon piilottaakseen vanhat polut hakkerilta.Turvallinen URL poistaa käytöstä kaikki mukautetut polut. Käytä sitä vain, jos et voi kirjautua sisään.WordPressin tietokanta on kuin aivojesi koko WordPress-sivustollesi, koska siellä säilytetään kaikki tiedot sivustostasi, mikä tekee siitä hakkerien suosikkikohteen.

Roskapostittajat ja hakkerit suorittavat automatisoituja koodeja SQL-injektioita varten.
Valitettavasti monet unohtavat vaihtaa tietokannan etuliitettä asentaessaan WordPressin.
Tämä helpottaa hakkerien suunnitella massahyökkäystä kohdistamalla oletusetuliitteeseen wp_.WordPress-sivuston iskulause on lyhyt lause, joka sijaitsee sivuston otsikon alla, samankaltainen kuin tekstitys tai mainosslogan. Iskulauseen tarkoituksena on välittää sivustosi ydin vierailijoille.

Jos et muuta oletusarvoista iskulauseita, on hyvin helppo havaita, että verkkosivustosi on itse asiassa rakennettu WordPressillä.Vakio ADMIN_COOKIE_PATH on määritelty wp-config.php-tiedostossa toisen lisäosan toimesta. Et voi muuttaa %s, ellet poista riviä define('ADMIN_COOKIE_PATH', ...);.Luettelo liitännäisistä ja teemoista päivitettiin onnistuneesti!Yleisin tapa hakkeroida verkkosivusto on päästä verkkotunnukseen ja lisätä haitallisia kyselyjä paljastaakseen tietoja tiedostoista ja tietokannasta.
Nämä hyökkäykset kohdistuvat mihin tahansa verkkosivustoon, olipa kyseessä WordPress tai ei, ja jos hyökkäys onnistuu... sivuston pelastaminen on todennäköisesti liian myöhäistä.Liitännäisten ja teemojen tiedostojen muokkaustyökalu on erittäin kätevä työkalu, koska se mahdollistaa nopeiden muutosten tekemisen ilman tarvetta käyttää FTP:tä.

Valitettavasti se on myös turvallisuusongelma, koska se ei ainoastaan näytä PHP-lähdekoodia, vaan mahdollistaa myös hyökkääjien lisätä haitallista koodia sivustoosi, jos he pääsevät hallintapaneeliin.Prosessi estettiin verkkosivuston palomuurilla.Pyydettyä URL-osoitetta %s ei löytynyt palvelimelta.Vastausparametri on virheellinen tai epämuodostunut.Salainen parametri on virheellinen tai epämuodostunut.Salainen parametri puuttuu.Turvallisuusavaimet wp-config.php-tiedostossa tulisi uusia mahdollisimman usein.Teemat PolkuTeemat TurvallisuusTeemat ovat ajan tasalla.Verkkosivustollasi on tapahtunut vakava virhe.Verkkosivustollasi on tapahtunut kriittinen virhe. Tarkista sähköpostisi sivuston ylläpitäjän ohjeiden saamiseksi.Pluginissa on määritysvirhe. Tallenna asetukset uudelleen ja noudata ohjeita.WordPressista on saatavilla uudempi versio ({version}).Ei muutostietoja.Ei ole olemassa sellaista asiaa kuin "epäolennainen salasana"! Sama pätee WordPress-tietokantasi salasanaan.
Vaikka useimmat palvelimet on määritetty siten, että tietokantaan ei pääse käsiksi muista isännistä (tai ulkopuolisista verkostoista), se ei tarkoita, että tietokantasi salasanan tulisi olla "12345" tai ei salasanaa ollenkaan.Tämä upea ominaisuus ei sisälly perusliitännäiseen. Haluatko avata sen? Asenna tai aktivoi Advanced Pack ja nauti uusista turvallisuusominaisuuksista.Tämä on yksi suurimmista turvallisuusongelmista, joita sivustollasi voi olla! Jos isännöintiyhtiölläsi on tämä ohje oletuksena käytössä, vaihda välittömästi toiseen yhtiöön!Tämä ei ehkä toimi kaikkien uusien mobiililaitteiden kanssa.Tämä vaihtoehto lisää uudelleenkirjoitussääntöjä .htaccess-tiedostoon WordPressin uudelleenkirjoitussääntöjen alueelle kommenttien # BEGIN WordPress ja # END WordPress väliin.Tämä estää vanhojen polkujen näyttämisen, kun kuvaa tai fonttia kutsutaan ajaxin kautta.Kolme päivääKolme tuntiaItä-TimorVaihtaaksesi polkuja välimuistitiedostoissa, kytke päälle %sMuuta polkuja välimuistitiedostoissa%s.Piilottaksesi Avada-kirjaston, lisää Avada FUSION_LIBRARY_URL wp-config.php-tiedostoon $table_prefix-rivin jälkeen: %sParantaaksesi verkkosivustosi turvallisuutta harkitse WordPressiin viittaavien kirjoittajien ja tyylitiedostojen poistamista sivukarttasi XML-tiedostosta.TogoTokelauTongaSeuraa ja kirjaa verkkosivuston tapahtumat ja vastaanota turvallisuushälytykset sähköpostitse.Seuraa ja kirjaa tapahtumat, jotka tapahtuvat WordPress-sivustollasi.Perinteinen kiinaTrinidad ja TobagoVianmääritysTunisiaTurkkiturkkiTurkmenistanTurks ja Caicos saaretSammuta vianmäärityslisäosat, jos verkkosivustosi on julkaistu. Voit myös lisätä vaihtoehdon piilottaa tietokantavirheet global $wpdb; $wpdb->hide_errors(); wp-config.php-tiedostoon.TuvaluSäädötKaksivaiheinen todennusURL-osoitteen kartoitusUgandaUkrainaukrainaUltimate Affiliate Pro havaittu. Liitännäinen ei tue mukautettuja %s polkuja, koska se ei käytä WordPress-funktioita kutsuakseen Ajax-URL-osoitetta.En pysty päivittämään wp-config.php tiedostoa tietokannan etuliitteen päivittämiseksi.Käsitetty, käännän saapuvat ENGLANNINKIELISET viestit SUOMEKSI ilman selityksiä tai kysymyksiin vastaamista. Voit lähettää viestisi käännöstä varten.Yhdistyneet arabiemiirikunnatYhdistynyt kuningaskuntaYhdysvallatYhdysvaltain pienet erillissaaretTuntematon ilmoitus: "%s"Avaa kaikki lukituksetPäivitä asetukset kohteessa %s päivittääksesi polut REST API -polun muutoksen jälkeen.PäivitettyLataa tiedosto tallennetuilla lisäosan asetuksilla.Lataukset PolkuKiireelliset turvatoimet vaaditaanUruguayKäytä Brute Force -suojaaKäytä väliaikaisia kirjautumistietojaKäytä %s lyhytkoodia integroidaksesi sen muihin kirjautumislomakkeisiin.KäyttäjäKäyttäjä 'admin' tai 'administrator' tarkoittaa Ylläpitäjää.Käyttäjän toimintaKäyttäjätapahtumien lokiKäyttäjärooliKäyttäjäturvaKäyttäjää ei voitu aktivoida.Käyttäjää ei voitu lisätäKäyttäjää ei voitu poistaa.Käyttäjää ei voitu poistaa käytöstä.Käyttäjäroolit, joiden oikeutta hiiren oikeaa painiketta käyttää on poistettu.Käyttäjäroolit, joiden kopiointi/liittäminen tulisi estääKäyttäjäroolit, joiden kohdalla raahaaminen/pudottaminen tulisi poistaa käytöstä.Käyttäjäroolit, joiden kohdalla tulee poistaa tarkastele elementtiä -Käyttäjäroolit, joiden kautta estetään lähdekoodin tarkastelu.Käyttäjäroolit, joiden tulee piilottaa ylläpitopalkki:Käyttäjä aktivoitu onnistuneesti.Käyttäjä luotu onnistuneesti.Käyttäjä onnistuneesti poistettu.Käyttäjä onnistuneesti poistettu käytöstä.Käyttäjä päivitetty onnistuneesti.Käyttäjänimet (toisin kuin salasanat) eivät ole salaisia. Tietämällä jonkun käyttäjänimen, et voi kirjautua heidän tililleen. Tarvitset myös salasanan.

Kuitenkin tietämällä käyttäjänimen, olet yhden askeleen lähempänä kirjautumista käyttämällä käyttäjänimeä bruteforce-salasanan selvittämiseen tai päästäksesi sisään samankaltaisella tavalla.

Siksi on suositeltavaa pitää käyttäjänimien lista yksityisenä, ainakin jossain määrin. Oletusarvoisesti, käyttämällä siteurl.com/?author={id} ja silmukoiden läpi ID:tä alkaen 1, voit saada listan käyttäjänimistä, koska WP ohjaa sinut osoitteeseen siteurl.com/author/user/, jos ID on olemassa järjestelmässä.Käytät vanhaa versiota MySQL:stä, mikä hidastaa sivustoasi ja altistaa sen hakkeri-iskuille tunnettujen haavoittuvuuksien vuoksi, jotka ovat olemassa versioissa, joita ei enää ylläpidetä.

Tarvitset Mysql 5.4 tai uudemman version.Käytät vanhaa PHP-versiota, mikä hidastaa sivustoasi ja altistaa sen hakkeri-iskuille tunnettujen haavoittuvuuksien vuoksi.

Tarvitset PHP 7.4 tai uudemman verkkosivustoasi varten.UzbekistanKelvollinenArvoVanuatuVenezuelaVersiot lähdekoodissaVietnamVietnamTarkemmat tiedotNeitsytsaaret, BrittiläisetNeitsytsaaret, Yhdysvallat.W3 Total CacheWP-ytimen tietoturvaWP-vianhakutilaWP EngineWP Fastest CacheWP RocketWP Super CacheWP Super Cache CDN havaittu. Sisällytä %s ja %s polut WP Super Cache > CDN > Sisällytä hakemistot.WPBakery Page BuilderWPPluginsWallis ja FutunaHeikko nimi havaittu: %s. Sinun tulee käyttää toista nimeä lisätäksesi verkkosivustosi turvallisuutta.VerkkosivustoLänsi-SaharaMissä lisätä palomuurisäännöt.WhitelistSalli luetteloon IP-osoitteet.Valkoiset listavaihtoehdotWhitelist PathsWindows Live Writer on käynnissäWooCommerce Turvallinen KirjautuminenWooCommerce-tukiWoocommerceWoocommerce TaikalinkkiWordPressin tietokannan salasanaWordPress OletusoikeudetWordPressin tietoturvavalvontaWordPress-versioWordPress XML-RPC on määrittely, joka pyrkii standardisoimaan kommunikaation eri järjestelmien välillä. Se käyttää HTTP:tä kuljetusmekanismina ja XML:ää koodausmekanismina mahdollistaakseen laajan valikoiman tietojen siirtämisen.

API:n kaksi suurinta vahvuutta ovat sen laajennettavuus ja turvallisuus. XML-RPC todentaa käyttäjän peruskirjautumisen avulla. Se lähettää käyttäjätunnuksen ja salasanan jokaisen pyynnön mukana, mikä on suuri ei-ei turvallisuuspiireissä.WordPress ja sen lisäosat ja teemat ovat kuin mikä tahansa muu tietokoneellesi asennettu ohjelmisto, ja kuten mikä tahansa sovellus laitteissasi. Kehittäjät julkaisevat säännöllisesti päivityksiä, jotka tuovat uusia ominaisuuksia tai korjaavat tunnettuja bugeja. Uusia ominaisuuksia saattaa olla jotain, mitä et välttämättä halua. Itse asiassa voit olla täysin tyytyväinen nykyisiin toimintoihin. Silti saatat olla huolissasi bugeista. Ohjelmistovirheet voivat olla monenlaisia. Virhe voi olla hyvinkin vakava, kuten estää käyttäjiä käyttämästä lisäosaa, tai se voi olla vähäinen virhe, joka vaikuttaa vain tiettyyn osaan teemaa esimerkiksi. Joissakin tapauksissa virheet voivat jopa aiheuttaa vakavia tietoturva-aukkoja. Teemojen pitäminen ajan tasalla on yksi tärkeimmistä ja helpoimmista tavoista pitää sivustosi turvassa.WordPress ja sen lisäosat ja teemat ovat kuin mikä tahansa muu tietokoneellesi asennettu ohjelmisto, ja kuten mikä tahansa sovellus laitteissasi. Säännöllisesti kehittäjät julkaisevat päivityksiä, jotka tuovat uusia ominaisuuksia tai korjaavat tiedossa olevia bugeja.

Nämä uudet ominaisuudet eivät välttämättä ole jotain mitä haluat. Itse asiassa saatat olla täysin tyytyväinen nykyisiin toimintoihin. Silti sinua todennäköisesti huolestuttaa bugeja.

Ohjelmistovirheet voivat olla monenlaisia. Vika voi olla hyvin vakava, kuten estää käyttäjiä käyttämästä lisäosaa, tai se voi olla vähäinen ja vaikuttaa vain tiettyyn osaan teemaa, esimerkiksi. Joissakin tapauksissa bugit voivat aiheuttaa vakavia tietoturva-aukkoja.

Lisäosien pitäminen ajan tasalla on yksi tärkeimmistä ja helpoimmista tavoista pitää sivustosi turvassa.WordPress on tunnettu helppoudestaan asentaa.
On tärkeää piilottaa wp-admin/install.php- ja wp-admin/upgrade.php-tiedostot, koska näihin tiedostoihin liittyen on jo ollut muutamia tietoturvaongelmia.WordPress, plugins and themes lisäävät version tietonsa lähdekoodiin, joten kuka tahansa voi nähdä sen.

Hakkerit voivat helposti löytää verkkosivuston haavoittuvilla versioilla varustetut lisäosat tai teemat ja kohdistaa niihin Zero-Day Exploit -hyökkäyksiä.Wordfence SecurityWpEngine havaittu. Lisää uudelleenohjaukset WpEngine Uudelleenohjaussäännöt-paneeliin %s.Väärä käyttäjänimi suojausXML-RPC-turvallisuusXML-RPC-pääsy on käytössäJemenKylläKyllä, se toimiiOlet jo määritellyt eri wp-content/uploads-kansion wp-config.php-tiedostossa %sVoit estää yhden IP-osoitteen, kuten 192.168.0.1, tai IP-osoitealueen, kuten 192.168.0.*. Nämä IP-osoitteet eivät pääse kirjautumissivulle.Voit luoda uuden sivun ja palata valitsemaan ohjauksen kyseiselle sivulle.Voit luoda %suusia avaimia täältä%s AUTH_KEY,SECURE_AUTH_KEY,LOGGED_IN_KEY,NONCE_KEY,AUTH_SALT,SECURE_AUTH_SALT,LOGGED_IN_SALT,NONCE_SALTVoit nyt poistaa käytöstä '%s' asetuksen.Voit asettaa vastaanottamaan turvallisuushälytyksiä sähköpostitse ja estää tietojen menetyksen.Voit valkoislistata yhden IP-osoitteen, kuten 192.168.0.1, tai IP-osoitealueen, kuten 192.168.0.*. Etsi IP-osoitteesi käyttäen %s.Et voi asettaa sekä ADMIN- että LOGIN-nimiä samaksi. Käytä eri nimiä, kiitos.Sinulla ei ole lupaa käyttää %s tällä palvelimella.Sinun täytyy aktivoida URL-uudelleenkirjoitus IIS:lle, jotta voit muuttaa pysyvän linkin rakennetta ystävälliseksi URL-osoitteeksi (ilman index.php). %sLisätietoja%sSinun täytyy asettaa positiivinen yritysten lukumäärä.Sinun täytyy asettaa positiivinen odotusaika.Sinun täytyy asettaa pysyvä linkkirakenne ystävälliseksi URL-osoitteeksi (ilman index.php:tä).Sinun tulisi aina päivittää WordPress %suurimpaan saatavilla olevaan versioon%s. Nämä päivitykset sisältävät yleensä uusimmat tietoturvaparannukset eivätkä muuta WordPressia merkittävästi. Päivitykset tulisi asentaa heti, kun WordPress ne julkaisee.

Kun uusi WordPress-versio on saatavilla, saat päivitysilmoituksen WordPress-hallintapaneelissasi. Päivittääksesi WordPressin, klikkaa tämän ilmoituksen linkkiä.Sinun tulisi tarkistaa verkkosivustosi joka viikko nähdäksesi, onko tapahtunut turvallisuusmuutoksia.Sinun %s %s lisenssisi vanhentui %s %s. Pitääksesi verkkosivustosi turvallisuuden ajan tasalla, varmista että sinulla on voimassa oleva tilaus osoitteessa %saccount.hidemywpghost.com%s.IP-osoitteesi on merkitty mahdollisista tietoturvapuutteista johtuvaksi. Yritä uudelleen hetken kuluttua...Admin URL:ta ei voi muuttaa %s hostingissa %s turvallisuusehtojen vuoksi.Sinun admin URL-osoitteesi on muutettu toisen lisäosan/teeman toimesta %s. Aktivoidaksesi tämän vaihtoehdon, poista mukautettu admin toisesta lisäosasta tai poista se käytöstä.Sinun kirjautumis-URL-osoitteesi on muuttunut toisen lisäosan/teeman kautta %s. Aktivoidaksesi tämän vaihtoehdon, poista mukautettu kirjautuminen toisesta lisäosasta tai poista se käytöstä.Sinun kirjautumis-URL-osoitteesi on: %sSinun kirjautumis-URL-osoitteesi on: %s Jos et pysty kirjautumaan sisään, käytä turvallista URL-osoitetta: %sUusi salasanasi ei ole tallennettu.Uudet sivuston URL-osoitteet ovat:Verkkosivustosi turvallisuus %son erittäin heikko%s. %sMonia hakkerointimahdollisuuksia on saatavilla.Verkkosivustosi turvallisuus %son erittäin heikko%s. %sMonia hakkerointimahdollisuuksia on saatavilla.Verkkosivustosi tietoturva paranee. %sVarmista, että suoritat kaikki tietoturvaan liittyvät tehtävät.Verkkosivustosi tietoturva on edelleen heikko. %sOsa pääasiallisista hakkerointiovilleista on edelleen käytettävissä.Verkkosivustosi tietoturva on vahva. %sJatka tietoturvan tarkistamista viikoittain.SambiaZimbabweAktivoi ominaisuusensimmäisen pääsyn jälkeenJo aktiivinentummaoletusNäytä_virheet PHP-direktiiviesim. *.colocrossing.comesim. /cart/esim. /cart/ valkaisee kaikki polut, jotka alkavat /cart/-merkkijonolla.esim. /kassalle/esim. /post-tyyppi/ estää kaikki polut, jotka alkavat /post-tyyppi/-merkkijonolla.e.g. acapbotesim. alexibotesim. badsite.comesim. gigabottiesim. kanagawa.comesim. xanax.comesim.esim. /kirjaudu ulos taiesim. adm, takaisinesim. ajax, jsonesim. näkökulma, mallit, tyylitesim. kommentit, keskusteluesim. ydin, sis., sisältääesim. poista_url, turvallinen_urlesim. kuvat, tiedostotesim. json, api, kutsuesim. kirjasto, kirjastoesim. kirjautuminen tai sisäänkirjautuminenesim. kirjaudu ulos tai katkaise yhteysesim. kadonnutpassi tai unohtunutpassiesim. main.css, theme.css, design.cssesim. moduulitesim. monisivuston aktivointilinkkiesim. uusikäyttäjä tai rekisteröidyesim. profiili, käyttäjä, kirjoittajaalkaenOhjehttps://hidemywp.comOhittaa hälytysinstall.php & upgrade.php -tiedostot ovat saavutettavissa.vaalealokilokitLisää yksityiskohtiaYmmärretty, en suosittele sitä.vain %d merkkiätaiEi täsmääKeskikokoSalasanan vahvuus tuntematonVahvaErittäin heikkoHeikkoreCAPTCHA-testireCAPTCHA V2 -testireCAPTCHA V3 TestreCaptcha KielireCaptcha-teema`readme.html`-tiedosto on saavutettavissa.Suositeltuuudelleenohjauksetnähdä ominaisuusAloita ominaisuuden asennusLisäosan %s uusi versio on saatavilla.Ei voitu määrittää, onko päivityksiä saatavilla kohteelle %s.The %s plugin is up to date.-Liian yksinkertaistawp-config.php & wp-config-sample.php -tiedostot ovat saavutettavissalanguages/hide-my-wp-fr_FR.mo000064400000476506147600042240012044 0ustar003)LSooeo pp pe:p%ppppPqhqXqTr>qr>rMr2=s)psBsEs#t tMtDuau eu ou}uu uu u uuePv)v v v v8w?xFxOxxyy0yJy%_yCyTyGz;fz5zLz%{{{L{"|<)|/f|%|||'|}7-}$e}R}!}}5~SQ~~~~,~':/7j3    . @XL+ р߀  $ ;'HpGdSrfjقD  4;8B { MW _k A ܅ %=E M ZePnΆֆކ T \ ftŇԇ6 Q] p|! ƈԈۈ (@]t ~ (I0zL~Fˊ7@S ϋ֋Y GRds Ō4%Q-w(J΍"6<ksdߎQDIUq6M 10;bCF5)_ekFm_Rgx/e@ ` l`xٕݕ  "#9,]ray_nٗpH' ej[^ƙ%B%HanК7ٚ  Y( 1ڛ. ;G[45؜&A͝ʞҞ۞(:Mg|(П %8Lc{@Р371ipv   šСء%@?*  Ǣ!Ӣ +#Fnj٣ "'Jb( ɤ/8!Jl$c $9[^%Ѧ)&!ZHP.O#0s/5Ԩ, 7}"v%/=mv)@F,;Hh87"( 7 AKT]DcF \ h n z ȮPׯ+ݯ ̰1԰ =N](sձuIDzвײ ̳޳bkU ʶֶ޶N 5CJ ft} nt{!ӹ% ?EV6;&M/}  ˻  t"Uc_Q^gexU޾d4f2m3)  =* * 5 ?7`;WUCO Fe'+   %/8 ?MTZ\w! KTYk${1"&)P?c2E]t 1%=Wl%""7AQyF(; P)^.5M;S&k:3UVWSTHWGfgk7  K  +5 =gI Yv!UIF8y`rxMqF8=8=~5Z6 ^M7^-RO-Q}PR s ]Bzhzf )2;B ^io4x    ( 4AH PZlt3#"9\{##7= JR+Z C *4 D N Ye@{=>%96_v  (2BQb{    .9_KR[dio!)$A@@( 6  );C JU\|7. - 8 CM gtY|   n H  + 1;AINQc~   . 5?Q9e#;Z go x R= JRcs| 2"1:@V]nw6~)  '0D  1B )GAXk88?x  "65Ul+ >->l1Yz9&+3=qy>12&>FY` + <5 -r )          +  E f         1 " 1 C 5J  %       -b @ R8O.6  $1?q5 g>C['q&<"% H Vc{   #   '6FN|/c ,   ' -9B Ycj?r954">W| 64 kw  /7<,t,aV`RHGu8]U4 !2A!/t!-! !J! >"J"Z"0p"k"h #<v# #B#%%.a&&Y)' ' ' 'T'u'uq((((F(7A)y)))))) )))*** *** **\o++++ +$,"(, K,LV,,., , ,--+-<@-}-0- -- - --..7.-S.,.+.1.- /,:/g/////c/U2:3 +464<4B4 J4T4l4 t4 44444 4 44 5 5i55 55W566 &6 G6 Q6_6q6666 6667#7<7N7:9>Q<?m@NAMaAAAAAAAP B\BKB6C!CCCt7DQD:D9E.E(EL!FnFRGDHaHODII$JJHJ%K9KPPKKK^KZLLILLLMM%M4M9MAM^M vM8MM>M N N%N 6NCNUNdNhN wNNNNNNNO"O3OGO`O${O OOOOOPP P.'PVP\P`P ePrP PPPP+PP Q(Q?QNQ`QrQQQ Q Q QQ=QE(R-nRR R9RRUzdV VV)Vt%W'W"WW"Xc$XX\Y YK ZLVZpZG[-\[Q[f[C\#\o ]ay]] ] ]] ^ ^(^ 1^ =^I^}^7h__ _ _|_KaRaZa%b#Bb;fb"bb;b]ctcccR\dHdZdSeeeWf+XfVfCfBg)bg5g>g hQ"h-thh))i$SiFxini.jIj`jHqjCjEjdDk>kkll4lCl[l clpl lnlEmFmVm _mlmtmmmmm2m"n'n]Enn&oDoohpNqaqiqpq yqqqq=q qqqq rs ss=sTs]ks s ssst%(tNtVt_t xttjtt uu#u*u1u:uLuaSu u'uuvv-3vav wv)vvMv0w!Hw jwvw~www www)w x x%+x'Qx.yxxxxx syykyyayYZzzKzZ { d{r{{{&{{{{z{H|Q|c|r||||||5|(}2C}%v}3})}?}<:~`w~#~H~EaPiUr_ mHH[PcEV\BbBpoYɆ؆A5U  o-؈' B5xsM,Όw 0#Ǝ k>u }ΏLh %AĐF0M\~TۑQ0"N{ʔҔٔޔ!% "/!R$t2"̕)"9#\<$ۖ ;!\~_""@BU٘('.>[ `l +)L%Lrך /&EX'r:՛-W++@ݜ%,DFqН"HKO3Ϟ:p$,Jߟw*3<60kg`ӡ94anCТ6@K5£ɤ9Ҥ 0&=W -_gE:UJ>\   &Q3N ԩީb o w תq1v? ('.aV4 ",13e#~'ʱ ]gzY (:Vnt&ĸ̸ո%&.8gLoY1K:Qغv!`  Ż  )ol"|nrmocGy3   e6c  /OD2/w\\a[iS&E1l6(  ' , 6@HW^je L>E_8s'A*-.X!w!!:\y6"*&Qq.& >&*e%&(9E2//EbXT;Lk*2Fd(*'3\BqGfk.\[SoroHRE+Kw  }% -~9 T#d["S~b9[PDIH!jZd i tkB 5OjhfqmdF u32 n,4=FO#V z> '0&Wfu"D|--!?*R*}7K,2':bw h 7AQ Zd%|YWQT.E '&7Bz&).1 `k q|SLs$-2888q10N N\F DY hs'{ !.5<;EF    m % bfnt{g 2D JTZchl%  +8EJ" F[j6  ;k !u ^    ' /  8 !D f  2  '.IRFZ=  (1N=Pg{'Px 2UTIHI *$Ej>Xc=I  cFf(>u !,;TZ!  &G@R`PM3 h;~7  & 6  K  X e ~ #      #!)! C!DO!/!! !Y! D"*R"}""!"" "$D&_&!y&i&'{'\'N'@(OT( ((((.(b(*])S) ) ))v***@*1*X-+++7++ ,&$,K, ^, j, t, ,(, ,,,, ,, - - -,-4--?..,. / /,(/U/ ^/h/// //////M/E)0So0L0Q1b1!1@2P2W2r2y2 222$22%2"3<3QR3I3 3 34*4H44z5v6"x6y8:G:;<9B>9|>:>/>"!?aD????0?@~@@Q%bQ%Q$Q,T:V ;WHWOWVW ^WhWW WWWWWW X X&X 7XAXyPXX XXkXgYpY$Y YYYYY!ZAZ XZdZ-}Z$Z(ZZ[,]=aSe9fgf0g0ggggghahyhZ(ii13jhejjpqk>k!l4l/lZ'mmunoo~pzqqQrsr&s5s$srsmgtvtLuUu,v3v 1/ qH& fBL bzVa*gMe, 'b$=" mTarxiDHqD&TgNu>"wzU#w%-Z-]%<dR9 k1^ALl\p2H-SFo+w5|dkQauW2K]A57:nR},|~)=I7^:W\I 8y oKD .}E !.</nM.z:YN6WR$58|Og,0;' |ZJ*@r3,4eyOsPJQui!R vS~MLGcV;cJhov QXE\M c: 2-+F4 Gsd%(SjIZs> P?atuj|Jxwi{[Y1*4@y.Dp7 5(<?8)lAt,XO2 9-i5v0GPSe{=t^~_[@$_%h*"#~/l^04; xCfl!9 ,(" 6E <Y6 U0>{*F vP]oZJXB_lgE'_!qd@p%p&kT(I\=Q1&[C 9Um#mjx3"sG:N'}yI)bnd`Uf+)h.'ctL3&C=j+rr]@n8Zc oK#;4EOQhKhKFV `}CM# `2DLjCS[ kV{6br?b3w!s_/\/1)N[<i/Ty?8z'XF;UH>.AxaP7qgTGB`p6  (O$qf3$ #1 Hack Prevention Security Solution: Hide WP CMS, 7G/8G Firewall, Brute Force Protection, 2FA, GEO Security, Temporary Logins, Alerts & more.%1$s is deprecated since version %2$s! Use %3$s instead. Please consider writing more inclusive code.%d %s ago%d %s remaining%s days since last update%s does not work without mode_rewrite. Please activate the rewrite module in Apache. %sMore details%s%s don't have the correct permission.%s is visible in source code%s path is accessible%s plugin(s) are outdated: %s%s plugin(s) have NOT been updated by their developers in the past 12 months: %s%s protects your website from most SQL injections but, if possible, use a custom prefix for database tables to avoid SQL injections. %sRead more%s%s rules are not saved in the config file and this may affect the website loading speed.%s theme(s) are outdated: %s%sClick here%s to create or view keys for Google reCAPTCHA v2.%sClick here%s to create or view keys for Google reCAPTCHA v3.%sERROR:%s Email or Password is incorrect. %s %d attempts left before lockout%sHide the login path%s from theme menu or widget.%sIncorrect ReCaptcha%s. Please try again%sNOTE:%s If you didn't receive the credentials, please access %s.%sYou failed to correctly answer the math problem.%s Please try again(* the plugin has no extra cost, gets installed / activated automatically inside WP when you click the button, and uses the same account)(multiple options are available)(useful when the theme is adding wrong admin redirects or infinite redirects)(works only with the custom admin-ajax path to avoid infinite loops)2FA2FA Login403 Forbidden403 HTML Error404 HTML Error404 Not Found404 page7G Firewall8G FirewallA feature designed to stops attacks from different countries, and to put an end to harmful activity that comes from specific regions.A thorough set of rules can prevent many types of SQL Injection and URL hacks from being interpreted.A user already exists with that username.API SecurityAPI SettingsAWS BitnamiAccording to %sGoogle latest stats%s, over %s 30k websites are hacked every day %s and %s over 30% of them are made in WordPress %s. %s It's better to prevent an attack than to spend a lot of money and time to recover your data after an attack not to mention the situation when your clients' data are stolen.ActionActivateActivate 'Must Use Plugin Loading' from 'Plugin Loading Hook' to be able to connect to your dashboard directly from managewp.com. %s click here %sActivate Brute Force ProtectionActivate Events LogActivate Log Users EventsActivate Temporary LoginsActivate Your PluginActivate info and logs for debugging.Activate the "Brute Force" option to see the user IP blocked reportActivate the "Log Users Events" option to see the user activity log for this websiteActivate the Brute Force protection for Woocommerce login/signup forms.Activate the Brute Force protection on lost password forms.Activate the Brute Force protection on sign up forms.Activate the firewall and prevent many types of SQL Injection and URL hacks.Activate the firewall and select the firewall strength that works for your website %s %s > Change Paths > Firewall & Headers %sActivation HelpAddAdd IP addresses that should always be blocked from accessing this website.Add Content-Security-Policy headerAdd Headers Security against XSS and Code Injection Attacks.Add IP addresses that can pass plugin security.Add IPs that can pass plugin securityAdd New Temporary LoginAdd New Temporary Login UserAdd Rewrites in WordPress Rules SectionAdd Security HeaderAdd Security Headers for XSS and Code Injection AttacksAdd Strict-Transport-Security headerAdd Two Factor security on login page with Code Scan or Email Code authentication.Add X-Content-Type-Options headerAdd X-XSS-Protection headerAdd a list of URLs you want to replace with new ones.Add a random static number to prevent frontend caching while the user is logged in.Add another CDN URLAdd another URLAdd another textAdd common WordPress classes in text mappingAdd paths that can pass plugin securityAdd paths that will be blocked for the selected countries.Add redirects for the logged users based on user roles.Add the CDN URLs you're using in the cache plugin. Admin PathAdmin SecurityAdmin ToolbarAdmin URLAdmin UsernameAdvancedAdvanced PackAdvanced SettingsAfghanistanAfter adding the classes, verify the frontend to ensure that your theme is not affected.After, click %sSave%s to apply the changes.Ajax SecurityAjax URLAland IslandsAlbaniaAlert Emails SentAlgeriaAll ActionsAll In One WP SecurityAll WebsitesAll files have the correct permissions.All plugins are compatibleAll plugins are up to dateAll plugins have been updated by their developers in the past 12 monthsAll the logs are saved on Cloud for 30 days and the report is available if your website is attacked.Allow Hidden PathsAllow users to log in to WooCommerce account using their email address and a unique login URL delivered via email.Allow users to log in to the website using their email address and a unique login URL delivered via email.Allowing anyone to view all files in the Uploads folder with a browser will allow them to easily download all your uploaded files. It's a security and a copyright issue.American SamoaAndorraAngolaAnguillaAntarcticaAntigua and BarbudaApacheArabicAre you sure you want to ignore this task in the future?ArgentinaArmeniaArubaAttention! Some URLs passed through the config file rules and were loaded through WordPress rewrite which may slow down your website. %s Please follow this tutorial to fix the issue: %sAustraliaAustriaAuthor PathAuthor URL by ID accessAuto DetectAutodetectAutomatically redirect the logged in users to the admin dashboardAutoptimizerAzerbaijanBackend under SSLBackup SettingsBackup/RestoreBackup/Restore SettingsBahamasBahrainBan durationBangladeshBarbadosBe sure to include only internal URLs, and use relative paths whenever possible.Beaver BuilderBelarusBelgiumBelizeBeninBermudaBest regardsBhutanBitnami detected. %sPlease read how to make the plugin compatible with AWS hosting%sBlacklistBlacklist IPsBlank Screen On DebuggingBlock CountriesBlock HostnamesBlock IP on login pageBlock ReferrerBlock Specific PathsBlock Theme Detectors CrawlersBlock User AgentsBlock known Users-Agents from popular Theme Detectors.Blocked IPsBlocked IPs ReportBlocked by BoliviaBonaire, Saint Eustatius and SabaBosnia and HerzegovinaBotswanaBouvet IslandBrazilBritish EnglishBritish Indian Ocean TerritoryBrunei DarussalamBrute ForceBrute Force IPs BlockedBrute Force Login ProtectionBrute Force ProtectionBrute Force SettingsBulgariaBulgarianBulletProof plugin! Make sure you save the settings in %s after activating Root Folder BulletProof Mode in BulletProof plugin.Burkina FasoBurundiBy activating, you agree to our %s Terms of Use %s and %sPrivacy Policy%sCDNCDN Enabled detected. Please include %s and %s paths in CDN Enabler SettingsCDN Enabler detected! Learn how to configure it with %s %sClick here%sCDN URLsCONNECTION ERROR! Make sure your website can access: %sCache CSS, JS and Images to increase the frontend loading speed.Cache EnablerCambodiaCameroonCan't download the plugin.CanadaCanadian FrenchCancelCancel the login hooks from other plugins and themes to prevent unwanted login redirects.Cape VerdeCatalan ValencianCayman IslandsCentral African RepublicChadChangeChange OptionsChange PathsChange Paths NowChange Paths for Logged UsersChange Paths in Ajax CallsChange Paths in Cached FilesChange Paths in RSS feedChange Paths in Sitemaps XMLChange Relative URLs to Absolute URLsChange WordPress paths while you're logged inChange paths in RSS feed for all images.Change paths in Sitemap XML files and remove the plugin author and styles.Change the Tagline in %s > %s > %sChange the WordPress common paths in the cached files.Change the signup path from %s %s > Change Paths > Custom Register URL%s or uncheck the option %s > %s > %sChange the text in all CSS and JS files, including those in cached files generated by cache plugins.Change the user 'admin' or 'administrator' with another name to improve security.Change the wp-config.php file permission to Read-Only using File Manager.Change the wp-content, wp-includes and other common paths with %s %s > Change Paths%sChange the wp-login from %s %s > Change Paths > Custom login URL%s and Switch on %s %s > Brute Force Protection%sChanging the predefined security headers may affect the website funtionality.Check Frontend PathsCheck Your WebsiteCheck for updatesCheck if the website paths are working correctly.Check if your website is secured with the current settings.Check the %s RSS feed %s and make sure the image paths are changed.Check the %s Sitemap XML %s and make sure the image paths are changed.Check the website loading speed with %sPingdom Tool%sChileChinaChoose a proper database password, at least 8 characters long with a combination of letters, numbers and special characters. After you change it, set the new password in the wp-config.php file define('DB_PASSWORD', 'NEW_DB_PASSWORD_GOES_HERE');Choose the countries where access to the website should be restricted.Choose the type of server you are using to get the most suitable configuration for your server.Chose what to do when accessing from whitelist IP addresses and whitelisted paths.Christmas IslandClean Login PageClick %sContinue%s to set the predefined paths.Click Backup and the download will start automatically. You can use the Backup for all your websites.Click to run the process to change the paths in the cache files.Close ErrorCloud PanelCloud Panel detected. %sPlease read how to make the plugin compatible with Cloud Panel hosting%sCntCocos (Keeling) IslandsColombiaComments PathComorosCompatibilityCompatibility SettingsCompatibility with Manage WP pluginCompatibility with Token Based Login pluginsCompatible with All In One WP Security plugin. Use them together for Virus Scan, Firewall, Brute Force protection.Compatible with JCH Optimize Cache plugin. Works with all the options to optimize for CSS and JS.Compatible with Solid Security plugin. Use them together for Site Scanner, File Change Detection, Brute Force Protection.Compatible with Sucuri Security plugin. Use them together for Virus Scan, Firewall, File Integrity Monitoring.Compatible with Wordfence Security plugin. Use them together for Malware Scan, Firewall, Brute Force protection.Compatible with all themes and plugins.Complete FixConfigConfig file is not writable. Create the file if not exists or copy to %s file the following lines: %sConfig file is not writable. Create the file if not exists or copy to %s file with the following lines: %sConfig file is not writable. You have to added it manually at the beginning of the %s file: %sConfirm use of weak passwordCongoCongo, The Democratic Republic of theCongratulations! You completed all the security tasks. Make sure you check your site once a week.ContinueConvert links like /wp-content/* into %s/wp-content/*.Cook IslandsCopy LinkCopy the %s SAFE URL %s and use it to deactivate all the custom paths if you can't login.Core Contents PathCore Includes PathCosta RicaCote dIvoireCould not detect the userCould not fix it. You need to change it manually.Could not found anything based on your search.Could not login with this user.Could not rename table %1$s. You may have to rename the table manually.Could not update prefix references in options table.Could not update prefix references in usermeta table.Country BlockingCreateCreate New Temporary LoginCreate a temporary login URL with any user role to access the website dashboard without username and password for a limited period of time.Create a temporary login URL with any user role to access the website dashboard without username and password for a limited period of time. %s This is useful when you need to give admin access to a developer for support or for performing routine tasks.CroatiaCroatianCubaCuracaoCustom Activation PathCustom Admin PathCustom Cache DirectoryCustom Login PathCustom Logout PathCustom Lost Password PathCustom Register PathCustom Safe URL ParamCustom admin-ajax PathCustom author PathCustom comment PathCustom message to show to blocked users.Custom plugins PathCustom theme style nameCustom themes PathCustom uploads PathCustom wp-content PathCustom wp-includes PathCustom wp-json PathCustomize & Secure all WordPress paths from hacker bots attacks.Customize Plugin NamesCustomize Theme NamesCustomize the CSS and JS URLs in your website body.Customize the IDs and Class names in your website body.CyprusCzechCzech RepublicDB Debug ModeDanishDashboardDatabase PrefixDateDeactivatedDebug ModeDefaultDefault Redirect After LoginDefault Temporary Expire TimeDefault User RoleDefault WordPress TaglineDefault user role for which the temporary login will be created.Delete Temporary Users on Plugin UninstallDelete userDenmarkDetailsDirectoriesDisable "rest_route" param accessDisable Click MessageDisable CopyDisable Copy/PasteDisable Copy/Paste MessageDisable Copy/Paste for Logged UsersDisable DISALLOW_FILE_EDIT for live websites in wp-config.php define('DISALLOW_FILE_EDIT', true);Disable Directory BrowsingDisable Drag/Drop ImagesDisable Drag/Drop MessageDisable Drag/Drop for Logged UsersDisable Inspect ElementDisable Inspect Element MessageDisable Inspect Element for Logged UsersDisable OptionsDisable PasteDisable REST API accessDisable REST API access for not logged in usersDisable REST API access using the parameter 'rest_route'Disable RSD Endpoint from XML-RPCDisable Right-ClickDisable Right-Click for Logged UsersDisable SCRIPT_DEBUG for live websites in wp-config.php define('SCRIPT_DEBUG', false);Disable View SourceDisable View Source MessageDisable View Source for Logged UsersDisable WP_DEBUG for live websites in wp-config.php define('WP_DEBUG', false);Disable XML-RPC accessDisable copy function on your websiteDisable image drag & drop on your websiteDisable paste function on your websiteDisable the RSD (Really Simple Discovery) support for XML-RPC & remove RSD tag from headerDisable the access to /xmlrpc.php to prevent %sBrute force attacks via XML-RPC%sDisable the copy/paste action on your website.Disable the external calls to xml-rpc.php file and prevent Brute Force attacks.Disable the inspect element view on your websiteDisable the right-click action on your website.Disable the right-click functionality on your websiteDisable the source-code view on your websiteDisplaying any kind of debug info in the frontend is extremely bad. If any PHP errors happen on your site they should be logged in a safe place and not displayed to visitors or potential attackers.DjiboutiDo Login & Logout RedirectsDo not log out from this browser until you are confident that the Log in page is working and you will be able to login again.Do not logout from your account until you are confident that reCAPTCHA is working and you will be able to login again.Do you want to delete temporary user?Do you want to restore the last saved settings?DominicaDominican RepublicDon't forget to reload the Nginx service.Don't let URLs like domain.com?author=1 show the user login nameDon't let hackers see any directory content. See %sUploads Directory%sDon't load Emoji Icons if you don't use themDon't load WLW if you didn't configure Windows Live Writer for your siteDon't load oEmbed service if you don't use oEmbed videosDon't select any role if you want to log all user rolesDone!Download DebugDrupal 10Drupal 11Drupal 8Drupal 9DutchERROR! Please make sure you use a valid token to activate the pluginERROR! Please make sure you use the right token to activate the pluginEcuadorEdit UserEdit userEdit wp-config.php and add ini_set('display_errors', 0); at the end of the fileEgyptEl SalvadorElementorEmailEmail AddressEmail NotificationEmail address already existsEmail your hosting company and tell them you'd like to switch to a newer version of MySQL or move your site to a better hosting companyEmail your hosting company and tell them you'd like to switch to a newer version of PHP or move your site to a better hosting company.EmptyEmpty ReCaptcha. Please complete reCaptcha.Empty email addressEnabling this option may slow down the website, as CSS and JS files will load dynamically instead of through rewrites, allowing the text within them to be modified as needed.EnglishEnter the 32 chars token from Order/Licence on %sEquatorial GuineaEritreaError! No backup to restore.Error! The backup is not valid.Error! The new paths are not loading correctly. Clear all cache and try again.Error! The preset could not be restored.Error: You entered the same URL twice in the URL Mapping. We removed the duplicates to prevent any redirect errors.Error: You entered the same text twice in the Text Mapping. We removed the duplicates to prevent any redirect errors.EstoniaEthiopiaEuropeEven if the default paths are protected by %s after customization, we recommend setting the correct permissions for all directories and files on your website, use File Manager or FTP to check and change the permissions. %sRead more%sEvents LogEvents Log ReportEvents Log SettingsEvery good developer should turn on debugging before getting started on a new plugin or theme. In fact, the WordPress Codex 'highly recommends' that developers use SCRIPT_DEBUG. Unfortunately, many developers forget the debug mode even when the website is live. Showing debug logs in the frontend will let hackers know a lot about your WordPress website.Every good developer should turn on debugging before getting started on a new plugin or theme. In fact, the WordPress Codex 'highly recommends' that developers use WP_DEBUG.

Unfortunately, many developers forget the debug mode, even when the website is live. Showing debug logs in the frontend will let hackers know a lot about your WordPress website.Example:Expire TimeExpiredExpiresExposing the PHP version will make the job of attacking your site much easier.Fail AttemptsFailedFalkland Islands (Malvinas)Faroe IslandsFeaturesFeed & SitemapFeed SecurityFijiFile PermissionsFile permissions in WordPress play a critical role in website security. Properly configuring these permissions ensures that unauthorized users cannot gain access to sensitive files and data.
Incorrect permissions can inadvertently open your website to attacks, making it vulnerable.
As a WordPress administrator, understanding and correctly setting file permissions are essential for safeguarding your site against potential threats.FilesFilterFinlandFirewallFirewall & HeadersFirewall Against Script InjectionFirewall LocationFirewall StrengthFirewall against injections is loadedFirst NameFirst, you need to activate the %sSafe Mode%s or %sGhost Mode%sFirst, you need to activate the %sSafe Mode%s or %sGhost Mode%s in %sFix PermissionsFix itFix permission for all directories and files (~ 1 min)Fix permission for the main directories and files (~ 5 sec)FlywheelFlywheel detected. Add the redirects in the Flywheel Redirect rules panel %s.Folder %s is browsableForbiddenFranceFrenchFrench GuianaFrench PolynesiaFrench Southern TerritoriesFrom: %s <%s>Front pageFrontend Login TestFrontend TestFully compatible with Autoptimizer cache plugin. Works best with the the option Optimize/Aggregate CSS and JS files.Fully compatible with Beaver Builder plugin. Works best together with a cache plugin.Fully compatible with Cache Enabler plugin. Works best with the the option Minify CSS and JS files.Fully compatible with Elementor Website Builder plugin. Works best together with a cache pluginFully compatible with Fusion Builder plugin by Avada. Works best together with a cache plugin.Fully compatible with Hummingbird cache plugin. Works best with the the option Minify CSS and JS files.Fully compatible with LiteSpeed Cache plugin. Works best with the the option Minify CSS and JS files.Fully compatible with Oxygen Builder plugin. Works best together with a cache plugin.Fully compatible with W3 Total Cache plugin. Works best with the the option Minify CSS and JS files.Fully compatible with WP Fastest Cache plugin. Works best with the the option Minify CSS and JS files.Fully compatible with WP Super Cache cache plugin.Fully compatible with WP-Rocket cache plugin. Works best with the the option Minify/Combine CSS and JS files.Fully compatible with Woocommerce plugin.Fusion BuilderGabonGambiaGeneralGeo SecurityGeographic Security is a feature designed to stops attacks from different countries, and to put an end to harmful activity that comes from specific regions.GeorgiaGermanGermanyGhanaGhost ModeGhost Mode + Firewall + Brute Force + Events Log + Two factorGhost Mode will set these predefined pathsGhost modeGibraltarGive random names to each pluginGive random names to each theme (works in WP multisite)Global class name detected: %s. Read this article first: %sGo to Events Log PanelGo to the Dashboard > Appearance section and update all the themes to the last version.Go to the Dashboard > Plugins section and update all the plugins to the last version.GodaddyGodaddy detected! To avoid CSS errors, make sure you switch off the CDN from %sGoodGoogle reCAPTCHA V2Google reCAPTCHA V3Google reCaptcha V3 is not working with the current login form of %s .Great! The backup is restored.Great! The initial values are restored.Great! The new paths are loading correctly.Great! The preset was loaded.GreeceGreekGreenlandGrenadaGuadeloupeGuamGuatemalaGuernseyGuineaGuinea-BissauGuyanaHaitiHaving the admin URL visible in the source code it's awful because hackers will immediately know your secret admin path and start a Brute Force attack. The custom admin path should not appear in the ajax URL.

Find solutions for %s how to hide the path from source code %s.Having the login URL visible in the source code is awful because hackers will immediately know your secret login path and start a Brute Force attack.

The custom login path should be kept secret, and you should have Brute Force Protection activated for it.

Find solutions for %s hiding the login path from source code here %s.Having this PHP directive enabled will leave your site exposed to cross-site attacks (XSS).

There's absolutely no valid reason to enable this directive, and using any PHP code that requires it is very risky.Header SecurityHeaders & FirewallHeard Island and McDonald IslandsHebrewHelp & FAQsHere is the list of select counties where your website will be restricted..HideHide "login" PathHide "wp-admin"Hide "wp-admin" From Non-Admin UsersHide "wp-login.php"Hide /login path from visitors.Hide /wp-admin path from non-administrator users.Hide /wp-admin path from visitors.Hide /wp-login.php path from visitors.Hide Admin ToolbarHide Admin Toolbar for users roles to prevent dashboard access.Hide All The PluginsHide Author ID URLHide Common FilesHide Embed scriptsHide EmojiconsHide Feed & Sitemap Link TagsHide File ExtensionsHide HTML CommentsHide IDs from META TagsHide Language SwitcherHide My WP GhostHide OptionsHide Paths in Robots.txtHide Plugin NamesHide REST API URL linkHide Theme NamesHide Version from Images, CSS and JS in WordPressHide Versions from Images, CSS and JSHide WLW Manifest scriptsHide WP Common FilesHide WP Common PathsHide WordPress Common FilesHide WordPress Common PathsHide WordPress DNS Prefetch META TagsHide WordPress Generator META TagsHide WordPress Old Plugins PathHide WordPress Old Themes PathHide WordPress common paths from %s Robots.txt %s file.Hide WordPress paths such as wp-admin, wp-content, and more from robots.txt file.Hide all versions from the end of any Image, CSS and JavaScript files.Hide both active and deactivated pluginsHide completed tasksHide passwordHide the /feed and /sitemap.xml link TagsHide the DNS Prefetch that points to WordPressHide the HTML Comments left by the themes and pluginsHide the IDs from all <links>, <style>, <scripts> META TagsHide the New Admin PathHide the New Login PathHide the WordPress Generator META tagsHide the admin toolbar for logged users while in frontend.Hide the language switcher option on the login pageHide the new admin path from visitors. Show the new admin path only for logged users.Hide the new login path from visitors. Show the new login path only for direct access.Hide the old /wp-content, /wp-include paths once they are changed with the new onesHide the old /wp-content, /wp-include paths once they are changed with the new ones.Hide the old /wp-content/plugins path once it's changed with the new oneHide the old /wp-content/themes path once it's changed with the new oneHide wp-admin from Ajax URLHide wp-config.php , wp-config-sample.php, readme.html, license.txt, upgrade.php and install.php filesHide wp-config.php, wp-config-sample.php, readme.html, license.txt, upgrade.php and install.php files..Hide wp-json & ?rest_route link tag from website headerHiding the ID from meta tags in WordPress can potentially impact the caching process of plugins that rely on identifying the meta tags.HindiHoly See (Vatican City State)HondurasHong KongHostnameHow long the temporary login will be available after the user first access.HummingbirdHungarianHungaryIIS WindowsIIS detected. You need to update your %s file by adding the following lines after <rules> tag: %sIPIP BlockedIcelandIf the reCAPTCHA displays any error, please make sure you fix them before moving forward.If the rewrite rules are not loading correctly in the config file, do not load the plugin and do not change the paths.If you are connected with the admin user, you will have to re-login after the change.If you can't configure %s, switch to Deactivated Mode and %scontact us%s.If you can't configure reCAPTCHA, switch to Math reCaptcha protection.If you do not have an e-commerce, membership or guest posting website, you shouldn't let users subscribe to your blog. You will end up with spam registrations and your website will be filled with spammy content and comments.If you have access to php.ini file, set allow_url_include = off or contact the hosting company to set it offIf you have access to php.ini file, set expose_php = off or contact the hosting company to set it offIf you have access to php.ini file, set register_globals = off or contact the hosting company to set it offIf you have access to php.ini file, set safe_mode = off or contact the hosting company to set it offIf you notice any functionality issue please select the %sSafe Mode%s.If you're able to log in, you've set the new paths correctly.If you're able to login, you've set reCAPTCHA correctly.If you're not using Windows Live Writer there's really no valid reason to have its link in the page header, because this tells the whole world you're using WordPress.If you're not using any Really Simple Discovery services such as pingbacks, there's no need to advertise that endpoint (link) in the header. Please note that for most sites this is not a security issue because they "want to be discovered", but if you want to hide the fact that you're using WP, this is the way to go.If your site allows user logins, you need your login page to be easy to find for your users. You also need to do other things to protect against malicious login attempts.

However, obscurity is a valid security layer when used as part of a comprehensive security strategy, and if you want to cut down on the number of malicious login attempts. Making your login page difficult to find is one way to do that.Ignore security taskImmediately block incorrect usernames on login forms.In .htaccess fileIn the old days, the default WordPress admin username was 'admin' or 'administrator'. Since usernames make up half of the login credentials, this made it easier for hackers to launch brute-force attacks.

Thankfully, WordPress has since changed this and now requires you to select a custom username at the time of installing WordPress.Indeed Ultimate Membership Pro detected. The plugin doesn't support custom %s paths as it doesn't use WordPress functions to call the Ajax URLIndiaIndonesiaIndonesianInfoInmotionInmotion detected. %sPlease read how to make the plugin compatible with Inmotion Nginx Cache%sInstall/ActivateIntegration with other CDN plugins and custom CDN URLs.Invalid ReCaptcha. Please complete reCaptcha.Invalid email addressInvalid name detected: %s. Add only the final path name to avoid WordPress errors.Invalid name detected: %s. The name can't end with / to avoid WordPress errors.Invalid name detected: %s. The name can't start with / to avoid WordPress errors.Invalid name detected: %s. The paths can't end with . to avoid WordPress errors.Invalid name detected: %s. You need to use another name to avoid WordPress errors.Invalid username.Iran, Islamic Republic ofIraqIrelandIsle of ManIsraelIt's important to %s save your settings every time you change them %s. You can use the backup to configure other websites you own.It's important to hide or remove the readme.html file because it contains WP version details.It's important to hide the common WordPress paths to prevent attacks on vulnerable plugins and themes.
Also, it's important to hide the names of plugins and themes to make it impossible for bots to detect them.It's important to rename common WordPress paths, such as wp-content and wp-includes to prevent hackers from knowing that you have a WordPress website.It's not safe to have Database Debug turned on. Make sure you don't use Database debug on live websites.ItalianItalyJCH Optimize CacheJamaicaJananeseJapanJavascript is disabled on your browser! You need to activate the javascript in order to use %s plugin.JerseyJoomla 3Joomla 4Joomla 5JordanJust another WordPress siteKazakhstanKenyaKiribatiKnow what the other users are doing on your website.KoreanKosovoKuwaitKyrgyzstanLanguageLao Peoples Democratic RepublicLast 30 days Security StatsLast AccessLast NameLast check:Late LoadingLatviaLatvianLearn HowLearn How To Add the CodeLearn how to disable %sDirectory Browsing%s or switch on %s %s > Change Paths > Disable Directory Browsing%sLearn how to set your website as %s. %sClick Here%sLearn how to setup on Local & NginxLearn how to setup on Nginx serverLearn how to use the shortcodeLearn more aboutLearn more about %s 7G firewall %s.Learn more about %s 8G firewall %s.Leave it blank if you don't want to display any messageLeave it blank to block all paths for the selected countries.LebanonLesothoLet's take your security to the next level!Level of SecurityLevels of securityLiberiaLibyan Arab JamahiriyaLicence TokenLiechtensteinLimit the number of allowed login attempts using normal login form.LiteSpeedLiteSpeed CacheLithuaniaLithuanianLoad PresetLoad Security PresetsLoad after all plugins are loaded. On "template_redirects" hook.Load before all plugins are loaded. On "plugins_loaded" hook.Load custom language is WordPress local language is installed.Load the plugin as a Must Use plugin.Load when the plugins are initialized. On "init" hook.Local & NGINX detected. In case you didn't add the code in the NGINX config already, please add the following line. %sLocal by FlywheelLocationLock userLockout MessageLog User RolesLog Users EventsLogin & Logout RedirectsLogin Blocked by Login PathLogin Redirect URLLogin SecurityLogin TestLogin URLLogout Redirect URLLost Password Form ProtectionLuxembourgMacaoMadagascarMagic Link LoginMake sure the redirect URLs exist on your website. %sThe User Role redirect URL has higher priority than the Default redirect URL.Make sure you know what you do when changing the headers.Make sure you save the settings and empty the cache before checking your website with our tool.MalawiMalaysiaMaldivesMaliMaltaManage Brute Force ProtectionManage Login and Logout RedirectsManage whitelist & blacklist IP addressesManually block/unblock IP addresses.Manually customize each plugin name and overwrite the random nameManually customize each theme name and overwrite the random nameManually whitelist trusted IP addresses.MappingMarshall IslandsMartiniqueMath & Google reCaptcha verification while logging in.Math reCAPTCHAMauritaniaMauritiusMax fail attemptsMayotteMediumMembershipMexicoMicronesia, Federated States ofMinimalMinimal (No Config Rewrites)Moldova, Republic ofMonacoMongoliaMonitor everything that happens on your WordPress site!Monitor, track and log events on your website.MontenegroMontserratMore HelpMore information about %sMore optionsMoroccoMost WordPress installations are hosted on the popular Apache, Nginx and IIS web servers.MozambiqueMust Use Plugin LoadingMy AccountMyanmarMysql VersionNGINX detected. In case you didn't add the code in the NGINX config already, please add the following line. %sNameNamibiaNauruNepalNetherlandsNew CaledoniaNew Login DataNew Plugin/Theme detected! Update %s settings to hide it. %sClick here%sNew ZealandNext StepsNginxNicaraguaNigerNigeriaNiueNoNo CMS SimulationNo Recent Updates ReleasedNo blacklisted ipsNo log found.No temporary logins.No, abortNo. of secondsNorfolk IslandNormal LoadingNormally, the option to block visitors from browsing server directories is activated by the host through server configuration, and activating it twice in the config file may cause errors, so it's best to first check if the %sUploads Directory%s is visible.North KoreaNorth Macedonia, Republic ofNorthern Mariana IslandsNorwayNorwegianNot yet logged inNote that this option won't activate the CDN for your website, but it will update the custom paths if you've already set a CDN URL with another plugin.Note! %sPaths are NOT physically change%s on your server.Note! The plugin will use WP cron to change the paths in background once the cache files are created.Note: If you can`t login to your site, just access this URLNotification SettingsOkay, I set it upOmanOn website initializationOnce you bought the plugin, you will receive the %s credentials for your account by email.One DayOne HourOne MonthOne WeekOne YearOne of the most important files in your WordPress installation is the wp-config.php file.
This file is located in the root directory of your WordPress installation and contains your website's base configuration details, such as database connection information.Only change this option if the plugin fails to identify the server type correctly.Optimize CSS and JS filesOption to inform user about remaining attempts on login page.OptionsOutdated PluginsOutdated ThemesOverviewOxygenPHP VersionPHP allow_url_include is onPHP expose_php is onPHP register_globals is onPHP safe mode was one of the attempts to solve security problems of shared web hosting servers.

It is still being used by some web hosting providers, however, nowadays this is regarded as improper. A systematic approach proves that it’s architecturally incorrect to try solving complex security issues at the PHP level, rather than at the web server and OS levels.

Technically, safe mode is a PHP directive that restricts the way some built-in PHP functions operate. The main problem here is inconsistency. When turned on, PHP safe mode may prevent many legitimate PHP functions from working correctly. At the same time there exists a variety of methods to override safe mode limitations using PHP functions that aren’t restricted, so if a hacker has already got in – safe mode is useless.PHP safe_mode is onPage Not FoundPakistanPalauPalestinian TerritoryPanamaPapua New GuineaParaguayPassedPath not allowed. Avoid paths like plugins and themes.Paths & OptionsPaths changed in the existing cache filesPause for 5 minutesPermalinksPersianPeruPhilippinesPitcairnPlease be aware that if you do not consent to storing data on our Cloud, we kindly request that you refrain from activating this feature.Please visit %s to check your purchase and to get the license token.Plugin Loading HookPlugins PathPlugins SecurityPlugins SettingsPlugins that have not been updated in the last 12 months can have real security problems. Make sure you use updated plugins from WordPress Directory.Plugins/Themes editor disabledPolandPolishPortugalPortuguesePreset SecurityPrevent Broken Website LayoutPriority LoadingProtects your WooCommerce shop against brute force login attacks.Protects your website against Brute Force login attacks using %s A common threat web developers face is a password-guessing attack known as a Brute Force attack. A Brute Force attack is an attempt to discover a password by systematically trying every possible combination of letters, numbers, and symbols until you discover the one correct combination that works.Protects your website against Brute Force login attacks.Protects your website against brute force login attacks.Prove your humanity:Puerto RicoQatarQuick FixRDS is visibleRandom Static NumberReactivate user for 1 dayRedirect After LoginRedirect Hidden PathsRedirect Logged Users To DashboardRedirect temporary users to a custom page after login.Redirect the protected paths /wp-admin, /wp-login to a Page or trigger an HTML Error.Redirect user to a custom page after login.RedirectsRemoveRemove PHP version, Server info, Server Signature from header.Remove Plugins Authors & Style in Sitemap XMLRemove Unsafe HeadersRemove pingback link tag from the website header.Rename readme.html file or switch on %s %s > Change Paths > Hide WordPress Common Files%sRename wp-admin/install.php & wp-admin/upgrade.php files or switch on %s %s > Change Paths > Hide WordPress Common Paths%sRenewResetReset SettingsResolving hostnames may affect the website loading speed.Restore BackupRestore SettingsResume SecurityReunionRobots SecurityRoleRollback SettingsRollback all the plugin settings to initial values.RomaniaRomanianRun %s Frontend Test %s to check if the new paths are working.Run %s Login Test %s and log in inside the popup.Run %sreCAPTCHA Test%s and login inside the popup.Run Full Security CheckRussianRussian FederationRwandaSSL is an abbreviation used for Secure Sockets Layers, which are encryption protocols used on the internet to secure information exchange and provide certificate information.

These certificates provide an assurance to the user about the identity of the website they are communicating with. SSL may also be called TLS or Transport Layer Security protocol.

It's important to have a secure connection for the Admin Dashboard in WordPress.Safe ModeSafe Mode + Firewall + Brute Force + Events Log + Two factorSafe Mode + Firewall + Compatibility SettingsSafe Mode will set these predefined pathsSafe URL:Safe modeSaint BartelemeySaint HelenaSaint Kitts and NevisSaint LuciaSaint MartinSaint Pierre and MiquelonSaint Vincent and the GrenadinesSalts and Security Keys validSamoaSan MarinoSao Tome and PrincipeSaudi ArabiaSaveSave Debug LogSave UserSavedSaved! This task will be ignored on future tests.Saved! You can run the test again.Script Debug ModeSearchSearch in user events log and manage the email alertsSecret KeySecret keys for %sGoogle reCAPTCHA%s.Secure WP PathsSecurity CheckSecurity Keys UpdatedSecurity StatusSecurity keys are defined in wp-config.php as constants on lines. They should be as unique and as long as possible. AUTH_KEY,SECURE_AUTH_KEY,LOGGED_IN_KEY,NONCE_KEY,AUTH_SALT,SECURE_AUTH_SALT,LOGGED_IN_SALT,NONCE_SALTSecurity keys are used to ensure better encryption of information stored in the user's cookies and hashed passwords.

These make your site more difficult to hack, access and crack by adding random elements to the password. You don't have to remember these keys. In fact, once you set them you'll never see them again. Therefore, there's no excuse for not setting them properly.See the last days actions on this website ...Select PresetSelect User RolesSelect a preset security settings we've tested on most websites.Select allSelect how long the temporary login will be available after the first user access.Select the file extensions you want to hide on old pathsSelect the files you want to hide on old pathsSelected CountriesSend me an email with the changed admin and login URLsSenegalSerbiaSerbianServer TypeSet Custom Cache DirectorySet Login & Logout Redirects based on User Roles.Set the current user role.Set the website you want this user to be created for.SettingsSeychellesShort name detected: %s. You need to use unique paths with more than 4 chars to avoid WordPress errors.ShowShow /%s instead of /%sShow Advanced OptionsShow Default Paths & Allow Hidden PathsShow Defaults Paths & Allow EverythingShow blank screen when Inspect Element is active on browser.Show completed tasksShow ignored tasksShow message instead of login formShow passwordSierra LeoneSign Up Form ProtectionSimplified ChineseSimulate CMSSingaporeSint MaartenSite keySite keys for %sGoogle reCaptcha%s.SiteGroundSitemap SecuritySix MonthsSlovakSlovakiaSloveneSloveniaSolid SecuritySolomon IslandsSomaliaSome plugins may remove custom rewrite rules from the .htaccess file, especially if it's writable, which can affect the functionality of custom paths..Some themes don't work with custom Admin and Ajax paths. In case of ajax errors, switch back to wp-admin and admin-ajax.php.Sorry, you are not allowed to access this page.South AfricaSouth Georgia and the South Sandwich IslandsSouth KoreaSpainSpammers can easily signupSpanishSri LankaStart ScanSucuri SecuritySudanSuper AdminSurinameSvalbard and Jan MayenSwazilandSwedenSwedishSwitch on %s %s > Change Paths > Hide WordPress Common Paths%sSwitch on %s %s > Change Paths > Disable XML-RPC access%sSwitch on %s %s > Change Paths > Hide Author ID URL%sSwitch on %s %s > Change Paths > Hide RSD Endpoint%sSwitch on %s %s > Change Paths > Hide WordPress Common Files%sSwitch on %s %s > Change Paths > Hide wp-admin from ajax URL%s. Hide any reference to admin path from the installed plugins.Switch on %s %s > Tweaks > %s %sSwitch on %s %s > Tweaks > Hide WLW Manifest scripts%sSwitzerlandSyrian Arab RepublicTaglineTaiwanTajikistanTanzania, United Republic ofTemporary LoginTemporary Login SettingsTemporary LoginsTest your website headers withText & URL MappingText MappingText Mapping in CSS and JS files including cached filesText Mapping only Classes, IDs, JS variablesThaiThailandThank you for using %s!The %s section has been relocated %s here %sThe Ghost Mode will add the rewrites rules in the config file to hide the old paths from hackers.The REST API is crucial for many plugins as it allows them to interact with the WordPress database and perform various actions programmatically.The Safe Mode will add the rewrites rules in the config file to hide the old paths from hackers.The Safe URL will deactivate all the custom paths. Use it only if you can't login.The WordPress database is like a brain for your entire WordPress site, because every single bit of information about your site is stored there, thus making it a hacker’s favorite target.

Spammers and hackers run automated code for SQL injections.
Unfortunately, many people forget to change the database prefix when they install WordPress.
This makes it easier for hackers to plan a mass attack by targeting the default prefix wp_.The WordPress site tagline is a short phrase located under the site title, similar to a subtitle or advertising slogan. The goal of a tagline is to convey the essence of your site to visitors.

If you don't change the default tagline it will be very easy to detect that your website was actually built with WordPressThe constant ADMIN_COOKIE_PATH is defined in wp-config.php by another plugin. You can't change %s unless you remove the line define('ADMIN_COOKIE_PATH', ...);.The list of plugins and themes was updated with success!The most common way to hack a website is by accessing the domain and adding harmful queries in order to reveal information from files and database.
These attacks are made on any website, WordPress or not, and if a call succeeds … it will probably be too late to save the website.The plugins and themes file editor is a very convenient tool because it enables you to make quick changes without the need to use FTP.

Unfortunately, it's also a security issue because it not only shows the PHP source code, it also enables attackers to inject malicious code into your site if they manage to gain access to admin.The process was blocked by the website’s firewall.The requested URL %s was not found on this server.The response parameter is invalid or malformed.The secret parameter is invalid or malformed.The secret parameter is missing.The security keys in wp-config.php should be renewed as often as possible.Themes PathThemes SecurityThemes are up to dateThere has been a critical error on your website.There has been a critical error on your website. Please check your site admin email inbox for instructions.There is a configuration error in the plugin. Please Save the settings again and follow the instruction.There is a newer version of WordPress available ({version}).There is no changelog available.There is no such thing as an "unimportant password"! The same goes for your WordPress database password.
Although most servers are configured so that the database can't be accessed from other hosts (or from outside the local network), that doesn't mean your database password should be "12345" or no password at all.This amazing feature isn't included in the basic plugin. Want to unlock it? Simply install or activate the Advanced Pack and enjoy the new security features.This is one of the biggest security issues you can have on your site! If your hosting company has this directive enabled by default, switch to another company immediately!This may not work with all new mobile devices.This option will add rewrite rules to the .htaccess file in the WordPress rewrite rules area between the comments # BEGIN WordPress and # END WordPress.This will prevent from showing the old paths when an image or font is called through ajaxThree DaysThree HoursTimor-LesteTo change the paths in the cached files, switch on %s Change Paths in Cached Files%sTo hide the Avada library, please add the Avada FUSION_LIBRARY_URL in wp-config.php file after $table_prefix line: %sTo improve your website's security, consider removing authors and styles that point to WordPress in your sitemap XML.TogoTokelauTongaTrack and Log the website events and receive security alerts by email.Track and log events that happen on your WordPress siteTraditional ChineseTrinidad and TobagoTroubleshootingTunisiaTurkeyTurkishTurkmenistanTurks and Caicos IslandsTurn off the debug plugins if your website is live. You can also add the option to hide the DB errors global $wpdb; $wpdb->hide_errors(); in wp-config.php fileTuvaluTweaksTwo-factor authenticationURL MappingUgandaUkraineUkrainianUltimate Affiliate Pro detected. The plugin doesn't support custom %s paths as it doesn't use WordPress functions to call the Ajax URLUnable to update the wp-config.php file in order to update the Database Prefix.UndoUnited Arab EmiratesUnited KingdomUnited StatesUnited States Minor Outlying IslandsUnknown update checker status "%s"Unlock allUpdate the settings on %s to refresh the paths after changing REST API path.UpdatedUpload the file with the saved plugin settingsUploads PathUrgent Security Actions RequiredUruguayUse Brute Force ProtectionUse Temporary LoginsUse the %s shortcode to integrate it with other login forms.UserUser 'admin' or 'administrator' as AdministratorUser ActionUser Events LogUser RoleUser SecurityUser could not be activated.User could not be addedUser could not be deleted.User could not be disabled.User roles for who to disable the Right-ClickUser roles for who to disable the copy/pasteUser roles for who to disable the drag/dropUser roles for who to disable the inspect elementUser roles for who to disable the view sourceUser roles for who to hide the admin toolbarUser successfully activated.User successfully created.User successfully deleted.User successfully disabled.User successfully updated.Usernames (unlike passwords) are not secret. By knowing someone's username, you can't log in to their account. You also need the password.

However, by knowing the username, you are one step closer to logging in using the username to brute-force the password, or to gain access in a similar way.

That's why it's advisable to keep the list of usernames private, at least to some degree. By default, by accessing siteurl.com/?author={id} and looping through IDs from 1 you can get a list of usernames, because WP will redirect you to siteurl.com/author/user/ if the ID exists in the system.Using an old version of MySQL makes your site slow and prone to hacker attacks due to known vulnerabilities that exist in versions of MySQL that are no longer maintained.

You need Mysql 5.4 or higherUsing an old version of PHP makes your site slow and prone to hacker attacks due to known vulnerabilities that exist in versions of PHP that are no longer maintained.

You need PHP 7.4 or higher for your website.UzbekistanValidValueVanuatuVenezuelaVersions in Source CodeVietnamVietnameseView detailsVirgin Islands, BritishVirgin Islands, U.S.W3 Total CacheWP Core SecurityWP Debug ModeWP EngineWP Fastest CacheWP RocketWP Super CacheWP Super Cache CDN detected. Please include %s and %s paths in WP Super Cache > CDN > Include directoriesWPBakery Page BuilderWPPluginsWallis and FutunaWeak name detected: %s. You need to use another name to increase your website security.WebsiteWestern SaharaWhere to add the firewall rules.WhitelistWhitelist IPsWhitelist OptionsWhitelist PathsWindows Live Writer is onWooCommerce Safe LoginWooCommerce SupportWoocommerceWoocommerce Magic LinkWordPress Database PasswordWordPress Default PermissionsWordPress Security CheckWordPress VersionWordPress XML-RPC is a specification that aims to standardize communications between different systems. It uses HTTP as the transport mechanism and XML as encoding mechanism to enable a wide range of data to be transmitted.

The two biggest assets of the API are its extendibility and its security. XML-RPC authenticates using basic authentication. It sends the username and password with each request, which is a big no-no in security circles.WordPress and its plugins and themes are like any other software installed on your computer, and like any other application on your devices. Periodically developers release updates which provide new features or fix known bugs.

New features may be something that you do not necessarily want. In fact, you may be perfectly satisfied with the functionality you currently have. Nevertheless, you may still be concerned about bugs.

Software bugs can come in many shapes and sizes. A bug could be very serious, such as preventing users from using a plugin, or it could be a minor bug that only affects a certain part of a theme, for example. In some cases, bugs can even cause serious security holes.

Keeping themes up to date is one of the most important and easiest ways to keep your site secure.WordPress and its plugins and themes are like any other software installed on your computer, and like any other application on your devices. Periodically, developers release updates which provide new features, or fix known bugs.

These new features may not necessarily be something that you want. In fact, you may be perfectly satisfied with the functionality you currently have. Nevertheless, you are still likely to be concerned about bugs.

Software bugs can come in many shapes and sizes. A bug could be very serious, such as preventing users from using a plugin, or it could be minor and only affect a certain part of a theme, for example. In some cases, bugs can cause serious security holes.

Keeping plugins up to date is one of the most important and easiest ways to keep your site secure.WordPress is well-known for its ease of installation.
It's important to hide the wp-admin/install.php and wp-admin/upgrade.php files because there have already been a couple of security issues regarding these files.WordPress, plugins and themes add their version info to the source code, so anyone can see it.

Hackers can easily find a website with vulnerable version plugins or themes, and target these with Zero-Day Exploits.Wordfence SecurityWpEngine detected. Add the redirects in the WpEngine Redirect rules panel %s.Wrong Username ProtectionXML-RPC SecurityXML-RPC access is onYemenYesYes, it's workingYou already defined a different wp-content/uploads directory in wp-config.php %sYou can ban a single IP address like 192.168.0.1 or a range of 245 IPs like 192.168.0.*. These IPs will not be able to access the login page.You can create a new page and come back to choose to redirect to that page.You can generate %snew Keys from here%s AUTH_KEY,SECURE_AUTH_KEY,LOGGED_IN_KEY,NONCE_KEY,AUTH_SALT,SECURE_AUTH_SALT,LOGGED_IN_SALT,NONCE_SALTYou can now turn off '%s' option.You can set to receive security alert emails and prevent data loss.You can white-list a single IP address like 192.168.0.1 or a range of 245 IPs like 192.168.0.*. Find your IP with %sYou can't set both ADMIN and LOGIN with the same name. Please use different namesYou don't have the permission to access %s on this server.You need to activate the URL Rewrite for IIS to be able to change the permalink structure to friendly URL (without index.php). %sMore details%sYou need to set a positive number of attempts.You need to set a positive waiting time.You need to set the permalink structure to friendly URL (without index.php).You should always update WordPress to the %slatest versions%s. These usually include the latest security fixes, and don't alter WP in any significant way. These should be applied as soon as WP releases them.

When a new version of WordPress is available, you will receive an update message on your WordPress Admin screens. To update WordPress, click the link in this message.You should check your website every week to see if there are any security changes.Your %s %s license expired on %s %s. To keep your website security up to date please make sure you have a valid subscription on %saccount.hidemywpghost.com%sYour IP has been flagged for potential security violations. Please try again in a little while...Your admin URL can't be changed on %s hosting because of the %s security terms.Your admin URL is changed by another plugin/theme in %s. To activate this option, disable the custom admin in the other plugin or deativate it.Your login URL is changed by another plugin/theme in %s. To activate this option, disable the custom login in the other plugin or deativate it.Your login URL is: %sYour login URL will be: %s In case you can't login, use the safe URL: %sYour new password has not been saved.Your new site URLs areYour website security %sis extremely weak%s. %sMany hacking doors are available.Your website security %sis very weak%s. %sMany hacking doors are available.Your website security is getting better. %sJust make sure you complete all the security tasks.Your website security is still weak. %sSome of the main hacking doors are still available.Your website security is strong. %sKeep checking the security every week.ZambiaZimbabweactivate featureafter first accessalready activedarkdefaultdisplay_errors PHP directivee.g. *.colocrossing.come.g. /cart/e.g. /cart/ will whitelist all path starting with /cart/e.g. /checkout/e.g. /post-type/ will block all path starting with /post-type/e.g. acapbote.g. alexibote.g. badsite.come.g. gigabote.g. kanagawa.come.g. xanax.comeg.eg. /logout oreg. adm, backeg. ajax, jsoneg. aspect, templates, styleseg. comments, discussioneg. core, inc, includeeg. disable_url, safe_urleg. images, fileseg. json, api, calleg. lib, libraryeg. login or signineg. logout or disconnecteg. lostpass or forgotpasseg. main.css, theme.css, design.csseg. moduleseg. multisite activation linkeg. newuser or registereg. profile, usr, writerfromhelphttps://hidemywp.comignore alertinstall.php & upgrade.php files are accessiblelightloglogsmore detailsnot recommendedonly %d charsorpassword mismatchMismatchpassword strengthMediumpassword strengthPassword strength unknownpassword strengthStrongpassword strengthVery weakpassword strengthWeakreCAPTCHA TestreCAPTCHA V2 TestreCAPTCHA V3 TestreCaptcha LanguagereCaptcha Themereadme.html file is accessiblerecommendedredirectssee featurestart feature setupthe plugin titleA new version of the %s plugin is available.the plugin titleCould not determine if updates are available for %s.the plugin titleThe %s plugin is up to date.totoo simplewp-config.php & wp-config-sample.php files are accessibleProject-Id-Version: Hide My WP Ghost PO-Revision-Date: 2024-10-10 20:07+0300 Last-Translator: gpt-po v1.0.11 Language-Team: Language: fr_FR MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n > 1); X-Generator: Poedit 3.5 X-Poedit-Basepath: .. X-Poedit-Flags-xgettext: --add-comments=translators: X-Poedit-WPHeader: index.php X-Poedit-SourceCharset: UTF-8 X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;_nx_noop:3c,1,2;__ngettext_noop:1,2 X-Poedit-SearchPath-0: . X-Poedit-SearchPathExcluded-0: *.min.js #1 Solution de sécurité pour la prévention des piratages : Masquer WP CMS, Pare-feu 7G/8G, Protection contre les attaques par force brute, 2FA, Sécurité GEO, Connexions temporaires, Alertes et plus encore.%1$s est obsolète depuis la version %2$s ! Utilisez %3$s à la place. Veuillez envisager d'écrire un code plus inclusif.Il y a %d %sIl reste %d %s%s jours depuis la dernière mise à jour%s ne fonctionne pas sans mode_rewrite. Veuillez activer le module de réécriture dans Apache. %sPlus de détails%s%s n'a pas les autorisations correctes.%s est visible dans le code sourceLe chemin %s est accessible%s L’extension est obsolète: %s%s plugin(s) n'ont PAS été mis à jour par leurs développeurs au cours des 12 derniers mois : %s%s protège votre site web contre la plupart des injections SQL, mais, si possible, utilisez un préfixe personnalisé pour les tables de la base de données afin d'éviter les injections SQL. %sEn savoir plus%sLes règles de %s ne sont pas enregistrées dans le fichier de configuration et cela pourrait affecter la vitesse de chargement du site web.Le thème %s est obsolète : %s%sCliquez ici%s pour créer ou afficher les clés pour Google reCAPTCHA v2.Cliquez %sici%s pour créer ou consulter les clés pour Google reCAPTCHA v3.%sERREUR:%s L'adresse e-mail ou le mot de passe est incorrect. %s %d tentatives restantes avant le verrouillage.%sMasquer le chemin de connexion%s dans le menu du thème ou le widget.%sReCaptcha incorrect%s. Veuillez réessayer.%sREMARQUE:%s Si vous n'avez pas reçu les identifiants, veuillez accéder à %s.%sVous n'avez pas réussi à répondre correctement au problème mathématique.%s Veuillez réessayer.(* le plugin n'entraîne aucun coût supplémentaire, s'installe/s'active automatiquement dans WP lorsque vous cliquez sur le bouton, et utilise le même compte)Plusieurs options sont disponibles.(utilisé lorsque le thème est l'ajout de mauvaises redirections d'administrateur ou de redirections infinies)(Fonctionne uniquement avec le chemin admin-ajax personnalisé pour éviter les boucles infinies)2FAConnexion 2FA403 InterditErreur HTML 403Erreur HTML 404404 Not FoundPage 4047G Pare-feu8G Pare-feuUne fonctionnalité conçue pour arrêter les attaques provenant de différents pays, et mettre fin aux activités nuisibles provenant de régions spécifiques.Un ensemble complet de règles peut empêcher de nombreux types d'injections SQL et de piratages d'URL d'être interprétés.Un utilisateur existe déjà avec ce nom d'utilisateur.Sécurité de l'APIRéglages APIAWS BitnamiSelon les %sdernières statistiques de Google%s, plus de %s 30k sites web sont piratés chaque jour %s et %s plus de 30% d'entre eux sont réalisés sur WordPress %s. %s Il vaut mieux prévenir une attaque que de dépenser beaucoup d'argent et de temps pour récupérer vos données après une attaque, sans parler de la situation où les données de vos clients sont volées.ActionActiverActiver le chargement obligatoire des plugins depuis le crochet de chargement des plugins pour pouvoir vous connecter directement à votre tableau de bord depuis managewp.com. %s cliquez ici %sActiver la Protection par Force BruteActiver le journal des événementsActiver les événements de journalisation des utilisateursActiver les connexions temporairesActiver votre pluginActiver les informations et les journaux pour le débogage.Activer l'option "Brute Force" pour voir le rapport des adresses IP d'utilisateurs bloquées.Activez l'option "Journal des événements des utilisateurs" pour consulter le journal d'activité des utilisateurs de ce site web.Activer la protection par force brute pour les formulaires de connexion/inscription de Woocommerce.Activer la protection par force brute sur les formulaires de mot de passe oublié.Activer la protection par Force Brute sur les formulaires d'inscription.Activer le pare-feu et empêcher de nombreux types d'injections SQL et de piratages d'URL.Activer le pare-feu et sélectionner la force du pare-feu qui convient à votre site web %s %s > Modifier les chemins > Pare-feu & En-têtes %sAide à l'activationAjouterAjoutez les adresses IP qui doivent toujours être bloquées d'accéder à ce site web.Ajoutez l'en-tête Content-Security-Policy.Ajouter des en-têtes de sécurité contre les attaques XSS et les injections de code.Ajoutez les adresses IP qui peuvent passer la sécurité du plugin.Ajouter les adresses IP qui peuvent passer la sécurité du pluginAjouter une nouvelle connexion temporaireAjouter un nouvel utilisateur de connexion temporaireAjouter des Réécritures dans la Section Règles de WordPressAjouter l'en-tête de sécuritéAjouter des en-têtes de sécurité pour les attaques XSS et d'injection de code.Ajoutez l'en-tête Strict-Transport-Security.Ajoutez une sécurité à deux facteurs sur la page de connexion avec une authentification par code QR ou par code envoyé par e-mail.Ajoutez l'en-tête X-Content-Type-OptionsAjoutez l'en-tête X-XSS-Protection.Ajoutez une liste d'URL que vous souhaitez remplacer par de nouvelles.Ajoutez un nombre statique aléatoire pour éviter le cache côté client lorsque l'utilisateur est connecté.Ajoutez une autre URL CDN.Ajoutez une autre URL.Add another textAjouter les classes WordPress courantes dans la correspondance de texte.Ajouter des chemins qui peuvent contourner la sécurité du plugin.Ajoutez les chemins qui seront bloqués pour les pays sélectionnés.Ajouter des redirections pour les utilisateurs connectés en fonction de leurs rôles d'utilisateur.Ajoutez les URL CDN que vous utilisez dans le plugin de cache.Chemin de l'administrateurSécurité AdministrateurBarre d'administrationURL de l'adminNom d'utilisateur AdminAvancéPack AvancéParamètres avancésAfghanistanAprès avoir ajouté les classes, vérifiez le frontend pour vous assurer que votre thème n'est pas affecté.Après, cliquez sur %sEnregistrer%s pour appliquer les modifications.Sécurité AjaxURL AjaxÎles ÅlandAlbanieAlerte Emails EnvoyésAlgérieToutes les actionsTout en un WP SecurityTous les sites webTous les fichiers ont les autorisations correctes.Tous les plugins sont compatibles.Tous les plugins sont à jourTous les plugins ont été mis à jour par leurs développeurs au cours des 12 derniers mois.Tous les journaux sont sauvegardés sur le Cloud pendant 30 jours et le rapport est disponible en cas d'attaque de votre site web.Autoriser les chemins cachésPermettez aux utilisateurs de se connecter à leur compte WooCommerce en utilisant leur adresse e-mail et un lien de connexion unique envoyé par e-mail.Permettez aux utilisateurs de se connecter au site web en utilisant leur adresse e-mail et un URL de connexion unique envoyé par e-mail.Permettre à n'importe qui de visualiser tous les fichiers du dossier Uploads avec un navigateur leur permettra de télécharger facilement tous vos fichiers téléchargés. C'est un problème de sécurité et de droits d'auteur.Samoa américainesAndorreAngolaAnguillaAntarctiqueAntigua et BarbudaApacheArabeÊtes-vous sûr de vouloir ignorer cette tâche à l'avenir ?ArgentineArménieArubaAttention ! Certains URL ont été transmis à travers les règles du fichier de configuration et ont été chargés via la réécriture WordPress, ce qui pourrait ralentir votre site web. %s Veuillez suivre ce tutoriel pour résoudre le problème : %sAustralieAutricheChemin de l'auteurURL de l'auteur par accès IDDétection AutomatiqueDétection automatiqueRediriger automatiquement les utilisateurs connectés vers le tableau de bord administrateur.AutoptimiseurAzerbaïdjanBackend sous SSLRéglages de la sauvegardeSauvegarde/restaurationSauvegarder/restaurer les paramètresBahamasBahreïnDurée de l'interdictionBangladeshBarbadeAssurez-vous d'inclure uniquement les URL internes et d'utiliser des chemins relatifs autant que possible.Constructeur de BeaverBiélorussieBelgiqueBelizeBéninBermudesBien cordialementBhutanBitnami détecté. %sVeuillez lire comment rendre le plugin compatible avec l'hébergement AWS%s.Liste noireMettre sur liste noire les adresses IP.Écran blanc lors du débogageBloquer les paysBloquer les noms d'hôtesBloquer l'adresse IP sur la page de connexionBloquer le référentBloquer des chemins spécifiquesBloquer les robots détecteurs de thèmesBloquer les agents utilisateursBloquer les utilisateurs-agents connus des détecteurs de thèmes populaires.Liste des IPs bloquéesRapport des adresses IP bloquéesBloqué parBolivieBonaire, Saint-Eustache et SabaBosnie-HerzégovineBotswanaÎle BouvetBrésilAnglais britanniqueTerritoire britannique de l'océan IndienBrunei DarussalamBrute ForceAdresses IP bloquées par force bruteProtection de connexion par force bruteProtection contre les Attaques par Force BruteParamètres de Force BruteBulgarieBulgarePlugin BulletProof! Assurez-vous de sauvegarder les paramètres dans %s après avoir activé le mode BulletProof du dossier racine dans le plugin BulletProof.Burkina FasoBurundiEn activant, vous acceptez nos %s Conditions d'utilisation %s et notre %s Politique de confidentialité %s.CDNCDN activé détecté. Veuillez inclure les chemins %s et %s dans les paramètres du CDN Enabler.Le CDN Enabler a été détecté ! Apprenez comment le configurer avec %s %sCliquez ici%sURLs CDNERREUR DE CONNEXION ! Assurez-vous que votre site web peut accéder à : %sCachez les fichiers CSS, JS et images pour augmenter la vitesse de chargement du frontend.Cache EnablerCambodgeCamerounImpossible de télécharger le plugin.CanadaFrançais canadienAnnulerAnnulez les crochets de connexion des autres plugins et thèmes pour éviter les redirections de connexion non désirées.Cap-VertCatalan ValencianÎles CaïmansRépublique centrafricaineTchadChangerModifier les optionsModifier les cheminsChanger de chemins maintenant.Modifier les chemins pour les utilisateurs connectésChanger les chemins dans les appels AjaxChanger les chemins dans les fichiers mis en cacheChanger les chemins dans le flux RSS.Changer les chemins dans les fichiers Sitemaps XML.Changer les URL relatives en URL absoluesChanger les chemins WordPress pendant que vous êtes connecté.Changer les chemins dans le flux RSS pour toutes les images.Changer les chemins dans les fichiers Sitemap XML et supprimer l'auteur du plugin et les styles.Changer le slogan dans %s > %s > %sChanger les chemins communs de WordPress dans les fichiers mis en cache.Modifier le chemin d'inscription de %s %s > Modifier les chemins > URL d'inscription personnalisée%s ou décocher l'option %s > %s > %sModifier le texte dans tous les fichiers CSS et JS, y compris ceux des fichiers mis en cache générés par les plugins de cache.Changer l'utilisateur 'admin' ou 'administrateur' par un autre nom pour améliorer la sécurité.Changez la permission du fichier wp-config.php en Lecture seule en utilisant le Gestionnaire de fichiers.Change the wp-content, wp-includes and other common paths with %s %s > Change Paths%sChanger le wp-login de %s %s > Changer les chemins > URL de connexion personnalisée%s et Activer %s %s > Protection contre les attaques par force brute%sModifier les en-têtes de sécurité prédéfinis peut affecter la fonctionnalité du site web.Vérifier les Chemins FrontendVérifier le site WebVérifier les mises à jourVérifiez si les chemins d'accès du site web fonctionnent correctement.Vérifiez si votre site Web est sécurisé avec les paramètres actuels.Vérifiez le flux RSS %s %s et assurez-vous que les chemins des images ont été modifiés.Vérifiez le %s Plan du site XML %s et assurez-vous que les chemins des images ont été modifiés.Vérifiez la vitesse de chargement du site web avec %sPingdom Tool%s.ChiliChineChoisissez un mot de passe de base de données approprié, d'au moins 8 caractères de long avec une combinaison de lettres, de chiffres et de caractères spéciaux. Après l'avoir changé, définissez le nouveau mot de passe dans le fichier wp-config.php define('DB_PASSWORD', 'NOUVEAU_MOT_DE_PASSE_DB_ICI');Choisissez les pays où l'accès au site web doit être restreint.Choisissez le type de serveur que vous utilisez pour obtenir la configuration la plus adaptée à votre serveur.Choisissez quoi faire lors de l'accès à partir des adresses IP de la liste blanche et des chemins autorisés.Île ChristmasPage de connexion épuréeCliquez sur %sContinuer%s pour définir les chemins prédéfinis.Cliquez sur Sauvegarde et le téléchargement démarrera automatiquement. Vous pouvez utiliser la Sauvegarde pour tous vos sites web.Cliquez pour lancer le processus de modification des chemins dans les fichiers cache.Fermer ErreurPanneau CloudPanneau Cloud détecté. %sVeuillez lire comment rendre le plugin compatible avec l'hébergement Cloud Panel%s.CntÎles Cocos (Keeling)ColombieChemin des commentairesComoresCompatibilitéParamètres de compatibilitéCompatibilité avec le plugin Manage WPCompatibilité avec les plugins de connexion basés sur les jetonsCompatible avec le plugin All In One WP Security. Utilisez-les ensemble pour l'analyse antivirus, le pare-feu et la protection contre les attaques par force brute.Compatible avec le plugin de cache JCH Optimize. Fonctionne avec toutes les options pour optimiser le CSS et le JS.Compatible avec le plugin de sécurité solide. Utilisez-les ensemble pour le scanner de site, la détection de changement de fichiers et la protection contre les attaques par force brute.Compatible avec le plugin de sécurité Sucuri. Utilisez-les ensemble pour l'analyse antivirus, le pare-feu et la surveillance de l'intégrité des fichiers.Compatible avec le plugin de sécurité Wordfence. Utilisez-les ensemble pour l'analyse des logiciels malveillants, le pare-feu et la protection contre les attaques par force brute.Compatible avec tous les thèmes et plugins.Correction complèteConfigLe fichier de configuration n'est pas modifiable. Créez le fichier s'il n'existe pas ou copiez les lignes suivantes dans le fichier %s : %sLe fichier de configuration n'est pas modifiable. Créez le fichier s'il n'existe pas ou copiez-le dans le fichier %s avec les lignes suivantes : %sLe fichier de configuration n’est pas accessible en écriture. Vous devez l’ajouter manuellement au début du fichier %s : %sConfirmer l'utilisation d'un mot de passe faibleCongoCongo, République Démocratique duFélicitations ! Vous avez terminé toutes les tâches de sécurité. Assurez-vous de vérifier votre site une fois par semaine.ContinuerConvertir les liens tels que /wp-content/* en %s/wp-content/*.Îles CookCopier le lienCopiez %s l'URL SAFE %s et utilisez-la pour désactiver tous les chemins personnalisés si vous ne pouvez pas vous connecter.Chemin des Contenus de BaseChemin d'inclusion du noyauCosta RicaCôte d'IvoireImpossible de détecter l'utilisateurJe n’ai pas pu le réparer. Vous devez le changer manuellement.Impossible de trouver quoi que ce soit en fonction de votre recherche.Impossible de se connecter avec cet utilisateur.Impossible de renommer la table %1$s. Vous devrez peut-être renommer la table manuellement.Impossible de mettre à jour les références de préfixe dans la table des options.Impossible de mettre à jour les références de préfixe dans la table usermeta.Blocage par paysCréerCréer un nouveau login temporaireCréez une URL de connexion temporaire avec n'importe quel rôle d'utilisateur pour accéder au tableau de bord du site sans nom d'utilisateur ni mot de passe pendant une période limitée.Créez une URL de connexion temporaire avec n'importe quel rôle d'utilisateur pour accéder au tableau de bord du site sans nom d'utilisateur ni mot de passe pendant une période limitée. %s Cela est utile lorsque vous devez donner un accès administratif à un développeur pour le support ou pour effectuer des tâches de routine.CroatieCroateCubaCuraçaoChemin d'activation personnaliséChemin d'administration personnaliséRépertoire de cache personnaliséChemin de connexion personnaliséChemin de déconnexion personnaliséChemin personnalisé pour la perte de mot de passeChemin d'inscription personnaliséParamètre d'URL sécurisé personnaliséChemin admin-ajax personnaliséChemin personnalisé de l’auteurChemin de commentaire personnaliséMessage personnalisé à afficher aux utilisateurs bloqués.Chemin personnalisé /pluginsNom de style de thème personnaliséChemin personnalisé /themesChemin personnalisé /uploadsChemin personnalisé /wp-contentChemin personnalisé /wp-includesChemin personnalisé /wp-jsonPersonnalisez et sécurisez tous les chemins de WordPress contre les attaques des bots hackers.Personnaliser les noms des pluginsPersonnaliser les noms des thèmesPersonnalisez les URL CSS et JS dans le corps de votre site web.Personnalisez les identifiants et les noms de classe dans le corps de votre site web.ChypreTchèqueRépublique tchèqueMode de débogage de la base de donnéesDanoisTableau de bordPréfixe de base de donnéesDateDésactivéMode de développementPar défautRedirection par défaut après la connexionTemps d'expiration temporaire par défautRôle d'utilisateur par défautSlogan par défaut de WordPressRôle d'utilisateur par défaut pour lequel le login temporaire sera créé.Supprimer les utilisateurs temporaires lors de la désinstallation du pluginSupprimer l'utilisateurDanemarkDétailsRépertoiresDésactiver l'accès au paramètre "rest_route"Désactiver le message de clicDésactiver CopierDésactiver Copier/CollerDésactiver le message de copier/collerDésactiver Copier/Coller pour les Utilisateurs ConnectésDésactivez DISALLOW_FILE_EDIT pour les sites Web en direct dans wp-config.php définir('DISALLOW_FILE_EDIT', true);Désactiver la navigation dans le répertoireDésactiver le glisser-déposer des images.Désactiver le message de glisser-déposer.Désactiver le Glisser/Déposer pour les Utilisateurs ConnectésDésactiver l'inspection d'élémentsDésactiver le message Inspecter l'élémentDésactiver l'Inspecteur d'Éléments pour les Utilisateurs ConnectésDésactiver les optionsDésactiver CollerDésactiver l'accès à l'API RESTDésactiver l'accès à l'API REST pour les utilisateurs non connectés.Désactiver l'accès à l'API REST en utilisant le paramètre 'rest_route'.Désactiver le point de terminaison RSD de XML-RPC.Désactiver le clic droitDésactiver le clic droit pour les utilisateurs connectésDésactivez SCRIPT_DEBUG pour les sites en direct dans wp-config.php define('SCRIPT_DEBUG', false);Désactiver la source de vueDésactiver le message "Afficher la source".Désactiver la fonction "Voir la source" pour les utilisateurs connectés.Désactivez WP_DEBUG pour les sites Web en direct dans le fichier wp-config.php define('WP_DEBUG', false);Désactiver l'accès XML-RPCDésactiver la fonction de copie sur votre site webDésactiver le glisser-déposer d'images sur votre site web.Désactiver la fonction de collage sur votre site web.Désactivez le support RSD (Really Simple Discovery) pour XML-RPC et supprimez la balise RSD de l'en-tête.Désactivez l'accès à /xmlrpc.php pour prévenir les %sattaques par force brute via XML-RPC%s.Désactivez l'action de copier/coller sur votre site web.Désactivez les appels externes au fichier xml-rpc.php et empêchez les attaques par force brute.Désactivez la vue de l'inspecteur d'éléments sur votre site Web.Désactivez l'action du clic droit sur votre site web.Désactivez la fonctionnalité de clic droit sur votre site web.Désactivez la vue du code source sur votre site Web.Afficher n'importe quel type d'informations de débogage sur le frontend est extrêmement mauvais. Si des erreurs PHP se produisent sur votre site, elles doivent être consignées dans un endroit sûr et non affichées aux visiteurs ou aux éventuels attaquants.DjiboutiRedirections de connexion et de déconnexion effectuées.Ne vous déconnectez pas de ce navigateur tant que vous n'êtes pas sûr que la page de connexion fonctionne et que vous pourrez vous reconnecter.Ne vous déconnectez pas de votre compte tant que vous n'êtes pas sûr que reCAPTCHA fonctionne et que vous pourrez vous reconnecter.Voulez-vous supprimer l'utilisateur temporaire ?Voulez-vous restaurer les derniers paramètres enregistrés ?DominiqueRépublique dominicaineN’oubliez pas de relancer le service Nginx.Ne laissez pas les URL comme domain.com?author=1 afficher le nom d'utilisateur de l'utilisateurNe laissez pas les pirates voir le contenu des répertoires. Voir %sRépertoire de téléchargements%s.Ne charge pas les icônes Emoji si tu ne les utilises pas.Ne chargez pas WLW si vous n'avez pas configuré Windows Live Writer pour votre site.Ne chargez pas le service oEmbed si vous n'utilisez pas de vidéos oEmbed.Ne sélectionnez aucun rôle si vous souhaitez enregistrer tous les rôles des utilisateurs.Done!Télécharger DebugDrupal 10Drupal 11Drupal 8Drupal 9NéerlandaisERREUR ! Veuillez vous assurer d'utiliser un jeton valide pour activer le plugin.ERREUR ! Veuillez vous assurer d'utiliser le bon jeton pour activer le plugin.ÉquateurModifier l'utilisateurModifier l'utilisateurModifier wp-config.php et ajouter ini_set('display_errors', 0); à la fin du fichier.ÉgypteEl SalvadorElementorCourrielAdresse e-mailNotification MailL'adresse e-mail existe déjà.Envoyez un e-mail à votre société d'hébergement et dites-leur que vous souhaitez passer à une version plus récente de MySQL ou transférer votre site vers une meilleure société d'hébergement.Envoyez un e-mail à votre société d'hébergement et indiquez-leur que vous souhaitez passer à une version plus récente de PHP ou transférer votre site vers une société d'hébergement plus performante.VideReCaptcha vide. Veuillez compléter le reCaptcha.Adresse e-mail videActiver cette option peut ralentir le site web, car les fichiers CSS et JS se chargeront de manière dynamique au lieu de passer par des réécritures, permettant ainsi de modifier le texte à l'intérieur selon les besoins.AnglaisEntrez le jeton de 32 caractères de la commande/licence sur %sGuinée équatorialeÉrythréeErreur ! Aucune sauvegarde à restaurer.Erreur ! La sauvegarde est non valide.Erreur ! Les nouveaux chemins ne se chargent pas correctement. Efface tout le cache et réessaie.Erreur ! Le préréglage n'a pas pu être restauré.Erreur : Vous avez saisi la même URL deux fois dans le Mappage d'URL. Nous avons supprimé les doublons pour éviter tout problème de redirection.Erreur : Vous avez saisi le même texte deux fois dans le Mappage de texte. Nous avons supprimé les doublons pour éviter toute erreur de redirection.EstonieÉthiopieEuropeMême si les chemins par défaut sont protégés par %s après personnalisation, nous recommandons de définir les autorisations correctes pour tous les répertoires et fichiers de votre site web, utilisez le Gestionnaire de fichiers ou FTP pour vérifier et modifier les autorisations. %sEn savoir plus%sJournal des événementsRapport de journal des événementsParamètres du journal des événementsTout bon développeur devrait activer le débogage avant de commencer à travailler sur un nouveau plugin ou thème. En fait, le Codex WordPress "recommande fortement" aux développeurs d'utiliser SCRIPT_DEBUG. Malheureusement, de nombreux développeurs oublient le mode débogage même lorsque le site est en ligne. Afficher les journaux de débogage en frontend permettra aux pirates de découvrir beaucoup de choses sur votre site WordPress.Tout bon développeur devrait activer le mode de débogage avant de commencer à travailler sur un nouveau plugin ou thème. En fait, le Codex WordPress "recommande fortement" aux développeurs d'utiliser WP_DEBUG.

Malheureusement, de nombreux développeurs oublient le mode de débogage, même lorsque le site est en ligne. Afficher les journaux de débogage en frontend permettra aux pirates informatiques d'en apprendre beaucoup sur votre site WordPress.Exemple :Temps d'expirationExpiréExpireExposer la version de PHP rendra le travail d'attaque de votre site beaucoup plus facile.Tentatives échouéesEchecÎles Falkland (Malouines)Îles FéroéCaractéristiquesAlimentation & Plan du siteSécurité des AlimentsFidjiAutorisations de FichierLes autorisations de fichier dans WordPress jouent un rôle crucial dans la sécurité du site web. Configurer correctement ces autorisations garantit que les utilisateurs non autorisés ne peuvent pas accéder aux fichiers et données sensibles.
Des autorisations incorrectes peuvent involontairement ouvrir votre site web aux attaques, le rendant vulnérable.
En tant qu'administrateur WordPress, comprendre et définir correctement les autorisations de fichier sont essentiels pour protéger votre site contre les menaces potentielles.FichiersFiltreFinlandFirewallFirewall & HeadersFirewall Contre l'Injection de ScriptEmplacement du pare-feuForce du pare-feuLe pare-feu contre les injections est chargé.PrénomD'abord, vous devez activer le mode %sSafe Mode%s ou le mode %sGhost Mode%s.Tout d'abord, vous devez activer le mode %sSafe Mode%s ou le mode %sGhost Mode%s dans %s.Réparer les autorisationsCorrigerCorrigez les autorisations pour tous les répertoires et fichiers (~ 1 min)Corrigez les autorisations pour les répertoires et fichiers principaux (~ 5 sec)Volant d'inertieVolant d'inertie détecté. Ajoutez les redirections dans le panneau de règles de redirection du volant d'inertie %s.Le répertoire %s est consultableForbiddenFranceFrançaisGuyane françaisePolynésie françaiseTerres australes françaisesPar: %s <%s>Page d’accueilTest de connexion FrontendTest FrontendEntièrement compatible avec le plugin de cache Autoptimizer. Fonctionne mieux avec l'option Optimiser/Regrouper les fichiers CSS et JS.Entièrement compatible avec le plugin Beaver Builder. Fonctionne mieux en association avec un plugin de cache.Entièrement compatible avec le plugin Cache Enabler. Fonctionne mieux avec l'option Minify CSS et JS files.Entièrement compatible avec le plugin Constructeur de site Elementor. Fonctionne mieux en association avec un plugin de cache.Entièrement compatible avec le plugin Fusion Builder d'Avada. Fonctionne de manière optimale en association avec un plugin de cache.Entièrement compatible avec le plugin de cache Hummingbird. Fonctionne mieux avec l'option Minifier les fichiers CSS et JS.Entièrement compatible avec le plugin LiteSpeed Cache. Fonctionne mieux avec l'option Minify CSS et JS files.Entièrement compatible avec le plugin Oxygen Builder. Fonctionne au mieux en association avec un plugin de cache.Entièrement compatible avec le plugin W3 Total Cache. Fonctionne mieux avec l'option Minify CSS et JS files.Entièrement compatible avec le plugin WP Fastest Cache. Fonctionne mieux avec l'option Minify CSS et JS files.Entièrement compatible avec le plugin de mise en cache WP Super Cache.Entièrement compatible avec le plugin de cache WP-Rocket. Fonctionne mieux avec l'option Minify/Combine CSS et JS files.Entièrement compatible avec le plugin Woocommerce.Constructeur de FusionGabonGambieGénéralSécurité géographiqueLa sécurité géographique est une fonctionnalité conçue pour arrêter les attaques provenant de différents pays et mettre fin aux activités nuisibles issues de régions spécifiques.GéorgieAllemandAllemagneGhanaMode FantômeMode Fantôme + Pare-feu + Force brute + Journal des événements + Authentification à deux facteursLe mode Fantôme va définir ces chemins prédéfinis.Mode fantômeGibraltarDonner des noms aléatoires à chaque extensionAttribuez des noms aléatoires à chaque thème (fonctionne dans WP multisite).Nom de classe global détecté : %s. Lisez d'abord cet article : %s.Allez dans le panneau Journal des événements.Allez à la page Mises à jour et mettez à jour tous les thèmes avec la dernière version.Allez à la page Mises à jour et mettez à jour tous les thèmes avec la dernière version.GodaddyGodaddy détecté ! Pour éviter les erreurs CSS, assurez-vous de désactiver le CDN de %s.BonGoogle reCAPTCHA V2Google reCAPTCHA V3Google reCaptcha V3 ne fonctionne pas avec le formulaire de connexion actuel de %s.Super ! La sauvegarde est restaurée.Parfait ! Les valeurs initiales sont restaurées.Super ! Les nouveaux chemins se chargent correctement.Super ! Le préréglage a été chargé.GrèceGrecGroenlandGrenadeGuadeloupeGuamGuatemalaGuerneseyGuinéeGuinée-BissauGuyaneHaïtiAvoir l'URL d'administration visible dans le code source, c'est terrible car les pirates sauront immédiatement votre chemin d'administration secret et commenceront une attaque par force brute. Le chemin d'administration personnalisé ne doit pas apparaître dans l'URL ajax.

Trouvez des solutions pour %s comment masquer le chemin du code source %s.Avoir l'URL de connexion visible dans le code source est terrible car les pirates sauront immédiatement votre chemin d'accès secret et commenceront une attaque par force brute.

Le chemin d'accès personnalisé pour la connexion doit être gardé secret, et vous devriez activer la protection contre les attaques par force brute pour celui-ci.

Trouvez des solutions pour %s masquer le chemin d'accès à la connexion à partir du code source ici %s.Avoir cette directive PHP activée laissera votre site exposé aux attaques cross-site (XSS).

Il n'y a absolument aucune raison valable d'activer cette directive, et utiliser un code PHP nécessitant cela est très risqué.Sécurité de l'en-têteEn-têtes & Pare-feuÎles Heard-et-MacDonaldHébreuAide & FAQVoici la liste des comtés sélectionnés où votre site web sera restreint.CachéMasquer le chemin "login"Masquer "wp-admin".Masquer "wp-admin" aux utilisateurs non-administrateurs.Masquer "wp-login.php"Masquez le chemin /login des visiteurs.Masquer le chemin /wp-admin aux utilisateurs non administrateurs.Masquer le chemin /wp-admin aux visiteurs.Masquer le chemin /wp-login.php aux visiteurs.Masquer la barre d'administrationMasquer la barre d'outils d'administration pour les rôles d'utilisateurs afin d'empêcher l'accès au tableau de bord.Masquer tous les pluginsMasquer l'URL de l'ID de l'auteurMasquer les Fichiers CommunsMasquer les scripts intégrésMasquer les emojiconsMasquer les balises de lien du flux et du plan de siteMasquer les extensions de fichiersMasquer les commentaires HTMLMasquer les identifiants des balises META.Masquer le sélecteur de langueHide My WP GhostMasquer les optionsMasquer les chemins dans le fichier Robots.txtMasquer les noms des pluginsMasquer le lien de l'URL de l'API RESTMasquer les noms des thèmesMasquer la version des images, du CSS et du JS dans WordPress.Masquer les versions des images, CSS et JSMasquer les scripts de manifeste WLW.Masquer les Fichiers Communs WPMasquer les Chemins Communs WPMasquer les fichiers communs WordPressMasquer les chemins communs de WordPressMasquer les balises META de prélecture DNS de WordPress.Masquer les balises META du générateur WordPressMasquer le chemin des anciens plugins WordPressMasquer le chemin des anciens thèmes WordPressMasquez les chemins communs de WordPress du fichier %s Robots.txt %s.Masquez les chemins WordPress tels que wp-admin, wp-content, et plus encore du fichier robots.txt.Masquer toutes les versions à la fin de tous les fichiers Image, CSS et JavaScript.Masquer à la fois les extensions actives et désactivées.Masquer les tâches terminéesMasquer le mot de passeMasquez les balises /feed et /sitemap.xml.Masquez le DNS Prefetch qui pointe vers WordPress.Masquez les commentaires HTML laissés par les thèmes et les plugins.Masquer les identifiants de tous les <liens>, <styles>, <scripts> et balises META.Masquer le chemin du nouvel administrateurMasquer le nouveau chemin de connexion.Masquez les balises META du générateur WordPress.Masquer la barre d'outils d'administration pour les utilisateurs connectés en mode frontal.Masquer l'option de changement de langue sur la page de connexion.Masquez le nouveau chemin d'administration aux visiteurs. Affichez le nouveau chemin d'administration uniquement pour les utilisateurs connectés.Masquez le nouveau chemin de connexion aux visiteurs. Affichez le nouveau chemin de connexion uniquement pour un accès direct.Masquez les anciens chemins /wp-content, /wp-include une fois qu'ils sont remplacés par les nouveaux.Masquez les anciens chemins /wp-content, /wp-include une fois qu'ils ont été remplacés par les nouveaux.Masquez l'ancien chemin /wp-content/plugins une fois qu'il a été remplacé par le nouveau.Masquez l'ancien chemin /wp-content/themes une fois qu'il a été remplacé par le nouveau.Masquer wp-admin de l'URL AjaxMasquez les fichiers wp-config.php, wp-config-sample.php, readme.html, license.txt, upgrade.php et install.php.Masquez les fichiers wp-config.php, wp-config-sample.php, readme.html, license.txt, upgrade.php et install.php.Masquez les balises de lien wp-json & ?rest_route de l'en-tête du site.Masquer l'ID des balises meta dans WordPress peut potentiellement affecter le processus de mise en cache des plugins qui dépendent de l'identification des balises meta.HindiSaint-Siège (État de la Cité du Vatican)HondurasHong KongNom d'hôtePendant combien de temps le login temporaire sera disponible après que l'utilisateur y ait accédé pour la première fois ?ColibriHongroisHongrieIIS WindowsIIS détecté. Vous devez mettre à jour votre fichier %s en ajoutant les lignes suivantes après la balise <rules> : %sIPIP BloquéIslandeSi le reCAPTCHA affiche une erreur, assurez-vous de les corriger avant de continuer.Si les règles de réécriture ne se chargent pas correctement dans le fichier de configuration, ne chargez pas le plugin et ne modifiez pas les chemins.Si vous êtes connecté avec l'utilisateur admin, vous devrez vous reconnecter après le changement.Si vous ne parvenez pas à configurer %s, passez en mode Désactivé et %snous contacter%s.Si vous ne pouvez pas configurer reCAPTCHA, passez à la protection Math reCaptcha.Si vous n'avez pas de site e-commerce, de site d'adhésion ou de publication d'invités, vous ne devriez pas permettre aux utilisateurs de s'abonner à votre blog. Vous finirez par avoir des inscriptions de spam et votre site sera rempli de contenu et de commentaires indésirables.Si vous avez accès au fichier php.ini, définissez allow_url_include = off ou contactez la société d'hébergement pour le désactiver.Si vous avez accès au fichier php.ini, définissez expose_php = off ou contactez la société d'hébergement pour le désactiver.Si vous avez accès au fichier php.ini, définissez register_globals = off ou contactez la société d'hébergement pour le désactiver.Si vous avez accès au fichier php.ini, définissez safe_mode = off ou contactez la société d'hébergement pour le désactiver.Si vous remarquez un problème de fonctionnalité, veuillez sélectionner le %sMode sans échec%s.Si vous parvenez à vous connecter, vous avez correctement configuré les nouveaux chemins.Si vous parvenez à vous connecter, vous avez correctement configuré reCAPTCHA.S'il vous plaît, envoyez-moi vos messages à traduire en français.Si vous n'utilisez pas de services de découverte vraiment simples tels que les pingbacks, il n'est pas nécessaire de faire de la publicité pour cet endpoint (lien) dans l'en-tête. Veuillez noter que pour la plupart des sites, il ne s'agit pas d'un problème de sécurité car ils "veulent être découverts", mais si vous souhaitez cacher le fait que vous utilisez WP, c'est la solution à adopter.Si votre site permet aux utilisateurs de se connecter, vous devez vous assurer que votre page de connexion est facile à trouver pour vos utilisateurs. Vous devez également prendre d'autres mesures pour vous protéger contre les tentatives de connexion malveillantes.

Cependant, l'obscurité est une couche de sécurité valable lorsqu'elle est utilisée dans le cadre d'une stratégie de sécurité globale, et si vous souhaitez réduire le nombre de tentatives de connexion malveillantes. Rendre votre page de connexion difficile à trouver est une façon d'y parvenir.Ignorer la tâche de sécuritéBloquez immédiatement les noms d'utilisateur incorrects sur les formulaires de connexion.Dans le fichier .htaccessDans le passé, le nom d'utilisateur par défaut de l'administration WordPress était 'admin' ou 'administrateur'. Comme les noms d'utilisateur constituent la moitié des identifiants de connexion, cela facilitait la tâche des pirates pour lancer des attaques par force brute. Heureusement, WordPress a depuis modifié cela et vous demande désormais de choisir un nom d'utilisateur personnalisé lors de l'installation de WordPress.En effet, Ultimate Membership Pro détecté. Le plugin ne prend pas en charge les chemins personnalisés %s car il n'utilise pas les fonctions WordPress pour appeler l'URL Ajax.IndeIndonésieIndonésienInfoInmotionDétection de mouvement. %sVeuillez lire comment rendre le plugin compatible avec le cache Inmotion Nginx%sInstaller/ActiverIntégration avec d'autres plugins CDN et URL CDN personnalisées.ReCaptcha invalide. Veuillez compléter le reCaptcha.Adresse e-mail invalideNom invalide détecté : %s. Ajoutez uniquement le nom du chemin final pour éviter les erreurs WordPress.Nom invalide détecté : %s. Le nom ne peut pas se terminer par / pour éviter les erreurs de WordPress.Nom invalide détecté : %s. Le nom ne peut pas commencer par / pour éviter les erreurs de WordPress.Nom invalide détecté : %s. Les chemins ne peuvent pas se terminer par . pour éviter les erreurs WordPress.Nom invalide détecté : %s. Vous devez utiliser un autre nom pour éviter les erreurs de WordPress.Nom d'utilisateur invalide.Iran, République islamique d'IrakIrlandeÎle de ManIsraëlIl est important de %s sauvegarder vos paramètres à chaque fois que vous les modifiez %s. Vous pouvez utiliser la sauvegarde pour configurer d'autres sites web que vous possédez.Il est important de masquer ou de supprimer le fichier readme.html car il contient des détails sur la version de WP.Il est important de masquer les chemins WordPress courants pour éviter les attaques sur les plugins et thèmes vulnérables.
De même, il est crucial de cacher les noms des plugins et thèmes pour rendre impossible leur détection par les robots.Il est important de renommer les chemins WordPress courants, tels que wp-content et wp-includes, pour éviter que les pirates sachent que vous avez un site WordPress.Il n'est pas sûr d'avoir le débogage de la base de données activé. Assurez-vous de ne pas utiliser le débogage de la base de données sur les sites web en direct.ItalienItalieJCH Optimiser CacheJamaïqueJaponaisJaponJavascript est désactivé sur votre navigateur ! Vous devez activer le javascript pour utiliser le plugin %s.MaillotJoomla 3Joomla 4Joomla 5JordanC'est un site qui utilise WordPressKazakhstanKenyaKiribatiSavoir ce que les autres utilisateurs font sur votre site web.CoréenKosovoKoweïtKirghizistanLangueRépublique démocratique populaire laoStatistiques de sécurité des 30 derniers joursDernier AccèsNom de FamilleDernière vérification :Chargement différéLettonieLettonApprenez commentDécouvrez comment ajouter le codeApprenez comment désactiver %sl'affichage des répertoires%s ou activer %s %s > Modifier les chemins > Désactiver l'affichage des répertoires%sDécouvrez comment définir votre site Web comme %s. %sCliquer ici%sApprenez comment configurer sur Local & NginxApprenez comment configurer un serveur Nginx.Apprenez à utiliser le shortcodeEn savoir plus surApprenez-en plus sur le pare-feu %s 7G %s.Apprenez-en plus sur le pare-feu %s 8G %s.Leave it blank if you don't want to display any messageLaissez-le vide pour bloquer tous les chemins pour les pays sélectionnés.LibanLesothoAméliorons ensemble votre sécurité !Niveau de sécuritéNiveaux de sécuritéLiberiaJamahiriya arabe libyenneJeton de licenceLiechtensteinLimitez le nombre de tentatives de connexion autorisées en utilisant le formulaire de connexion normal.LiteSpeedLiteSpeed CacheLituanieLituanienCharger le préréglageCharger les paramètres de sécuritéCharger une fois que tous les plugins sont chargés. Sur le crochet "template_redirects".Charger avant que tous les plugins ne soient chargés. Sur le crochet "plugins_loaded".Charger la langue personnalisée si la langue locale de WordPress est installée.Chargez le plugin en tant que plugin Must Use.Charger lorsque les plugins sont initialisés. Sur le crochet "init".Local & NGINX détectés. Si vous n'avez pas déjà ajouté le code dans la configuration NGINX, veuillez ajouter la ligne suivante. %sLocal by FlywheelEmplacementVerrouiller l'utilisateurMessage de verrouillageEnregistrer les rôles des utilisateursJournaux des événements utilisateursRedirections lors de la Connexion et de la DéconnexionConnexion bloquée parChemin de connexionAdresse de redirection à la connexionSécurité de connexionTest de ConnexionURL de connexionAdresse de redirection à la déconnexionProtection du Formulaire de Mot de Passe PerduLuxembourgMacaoMadagascarConnexion par lien magiqueAssurez-vous que les URL de redirection existent sur votre site web. %sL'URL de redirection du rôle utilisateur a une priorité plus élevée que l'URL de redirection par défaut.Assurez-vous de bien savoir ce que vous faites lorsque vous modifiez les en-têtes.Assurez-vous d’enregistrer les réglages et de vider le cache avant de vérifier votre site Web avec notre outil.MalawiMalaisieMaldivesMaliMalteGérer la protection contre les attaques par force bruteGérer les redirections de connexion et de déconnexion.Gérer la liste blanche et noire des adresses IP.Bloquer/débloquer manuellement des adresses IP.Personnalisez manuellement chaque nom de plugin et écrasez le nom aléatoire.Personnalisez manuellement chaque nom de thème et écrasez le nom aléatoire.Ajoutez manuellement les adresses IP de confiance à la liste blanche.MappageÎles MarshallMartiniqueVérification Mathématique & Google reCaptcha lors de la connexion.Math reCAPTCHAMauritanieMauriceNombre maximal de tentatives échouéesMayotteMoyenAdhésionMexiqueMicronésie, États fédérés deMinimalMinimal (Aucune réécriture de configuration)Moldavie, République deMonacoMongolieSurveillez tout ce qui se passe sur votre site WordPress !Surveillez, suivez et enregistrez les événements sur votre site web.MonténégroMontserratPlus d'aidePlus d’informations sur %sPlus d'optionsMarocLa plupart des installations WordPress sont hébergées sur les serveurs populaires Web Apache, Nginx et IIS.MozambiqueDoit utiliser le chargement de pluginMon compteMyanmarVersion de MySQLNGINX détecté. Si vous n’avez pas encore ajouté le code dans la configuration NGINX, veuillez ajouter la ligne suivante. %sNomNamibieNauruNépalPays-BasNouvelle-CalédonieNouvelles données de connexionNouveau Plugin/Thème détecté ! Mettez à jour les paramètres de %s pour le masquer. %sCliquez ici%sNouvelle-ZélandeÉtapes suivantesNginxNicaraguaNigerNigériaNiueNonPas de simulation de CMSAucune mise à jour récente publiéeAucune IP sur la liste noireAucun journal n'a été trouvé.Pas de connexions temporaires.Non, abandonnerNombre de secondesÎle NorfolkChargement NormalNormalement, l'option de bloquer les visiteurs de parcourir les répertoires du serveur est activée par l'hôte via la configuration du serveur, et l'activer deux fois dans le fichier de configuration peut causer des erreurs, il est donc préférable de vérifier d'abord si le répertoire %sTéléchargements%s est visible.Corée du NordMacédoine du Nord, République deÎles Mariannes du NordNorvègeNorvégienPas encore connecté.Notez que cette option n'activera pas le CDN pour votre site web, mais elle mettra à jour les chemins personnalisés si vous avez déjà défini une URL CDN avec un autre plugin.Note ! Les %schemins ne changent PAS physiquement%s sur votre serveur.Note! Le plugin utilisera WP cron pour changer les chemins en arrière-plan une fois que les fichiers cache auront été créés.Note: Si vous ne pouvez pas vous connecter à votre site, accédez simplement à cette URL.Paramètres de notificationD'accord, je l'ai configuré.OmanAu démarrage du site webUne fois que vous aurez acheté le plugin, vous recevrez les identifiants %s pour votre compte par e-mail.Un JourUne heureUn MoisUne semaineUn AnUn des fichiers les plus importants de votre installation WordPress est le fichier wp-config.php.
Ce fichier se trouve dans le répertoire racine de votre installation WordPress et contient les détails de configuration de base de votre site web, tels que les informations de connexion à la base de données.Changez cette option uniquement si le plugin ne parvient pas à identifier correctement le type de serveur.Optimisez les fichiers CSS et JS.Option pour informer l'utilisateur du nombre de tentatives restantes sur la page de connexion.OptionsExtensions obsolètesThèmes obsolètesAperçuOxygèneVersion PHPPHP allow_url_include est activéPHP expose_php est activéPHP register_globals est activéLe mode sécurisé de PHP était l'une des tentatives pour résoudre les problèmes de sécurité des serveurs d'hébergement web partagé.

Il est encore utilisé par certains fournisseurs d'hébergement web, cependant, de nos jours, cela est considéré comme inapproprié. Une approche systématique prouve qu'il est architecturalement incorrect d'essayer de résoudre des problèmes de sécurité complexes au niveau de PHP, plutôt qu'au niveau du serveur web et du système d'exploitation.

Techniquement, le mode sécurisé est une directive PHP qui restreint la manière dont certaines fonctions PHP intégrées fonctionnent. Le principal problème ici est l'incohérence. Lorsqu'il est activé, le mode sécurisé de PHP peut empêcher le bon fonctionnement de nombreuses fonctions PHP légitimes. En même temps, il existe une variété de méthodes pour contourner les limitations du mode sécurisé en utilisant des fonctions PHP qui ne sont pas restreintes, donc si un pirate informatique est déjà entré - le mode sécurisé est inutile.PHP safe_mode est activéPage non trouvéePakistanPalauTerritoire palestinienPanamaPapouasie-Nouvelle-GuinéeParaguayRéussiChemin non autorisé. Évitez les chemins tels que plugins et thèmes.Chemins & OptionsLes chemins ont changé dans les fichiers de cache existants.Pause de 5 minutesPermaliensPersePérouPhilippinesPitcairnVeuillez noter que si vous n'acceptez pas de stocker des données sur notre Cloud, nous vous prions de bien vouloir éviter d'activer cette fonctionnalité.Veuillez visiter %s pour vérifier votre achat et obtenir le jeton de licence.Crochet de Chargement du PluginChemin des pluginsSécurité des pluginsParamètres PluginsLes plugins qui n'ont pas été mis à jour au cours des 12 derniers mois peuvent présenter de réels problèmes de sécurité. Assurez-vous d'utiliser des plugins mis à jour à partir du Répertoire WordPress.Éditeur de plugins/thèmes désactivéPolognePolonaisPortugalPortugaisSécurité prédéfinieEmpêcher la Mise en Page du Site Web de se BriserChargement PrioritaireProtège votre boutique WooCommerce contre les attaques de connexion par force brute.Protège votre site web contre les attaques de connexion par force brute en utilisant %s Une menace courante à laquelle les développeurs web sont confrontés est une attaque de devinette de mot de passe connue sous le nom d'attaque par force brute. Une attaque par force brute est une tentative de découvrir un mot de passe en essayant systématiquement toutes les combinaisons possibles de lettres, de chiffres et de symboles jusqu'à ce que vous découvriez la bonne combinaison qui fonctionne.Protège votre site web contre les attaques de connexion par force brute.Protège votre site web contre les attaques de connexion par force brute.Prouvez votre humanité:Puerto RicoQatarCorrection rapideRDS est visible.Nombre statique aléatoireRéactiver l'utilisateur pour 1 jourRedirection après connexionRediriger les chemins cachésRediriger les utilisateurs connectés vers le tableau de bord.Rediriger les utilisateurs temporaires vers une page personnalisée après la connexion.Redirigez les chemins protégés /wp-admin, /wp-login vers une page ou déclenchez une erreur HTML.Rediriger l'utilisateur vers une page personnalisée après la connexion.RedirectionsSupprimerSupprimer la version PHP, les informations sur le serveur et la signature du serveur de l'en-tête.Supprimer les auteurs de plugins et le style dans le plan du site XML.Supprimer les en-têtes non sécurisés.Supprimez la balise de lien de pingback du header du site web.Renommez le fichier readme.html ou activez %s %s > Modifier les chemins > Masquer les fichiers communs de WordPress%sRenommez les fichiers wp-admin/install.php et wp-admin/upgrade.php ou activez %s %s > Modifier les chemins > Masquer les chemins WordPress courants%sRenouvelerRéinitialiserRéinitialiser les paramètresLa résolution des noms d'hôtes peut affecter la vitesse de chargement du site web.Restaurer une copie de sauvegardeRestaurer les réglagesReprendre la sécuritéRéunionSécurité des RobotsRôleRétablir les paramètresRevenir à la configuration initiale de tous les paramètres du plugin.RoumanieRoumainExécutez %s Test Frontend %s pour vérifier si les nouveaux chemins fonctionnent.Exécutez %s Test de Connexion %s et connectez-vous à l'intérieur de la fenêtre contextuelle.Exécutez le test %sreCAPTCHA%s et connectez-vous dans la fenêtre contextuelle.Exécuter une vérification complète de sécuritéRusseFédération de RussieRwandaSSL est une abréviation utilisée pour Secure Sockets Layers, qui sont des protocoles de cryptage utilisés sur Internet pour sécuriser les échanges d'informations et fournir des informations de certificat.

Ces certificats assurent à l'utilisateur l'identité du site web avec lequel il communique. SSL peut également être appelé TLS ou protocole de sécurité de la couche de transport.

Il est important d'avoir une connexion sécurisée pour le tableau de bord d'administration dans WordPress.Mode sans échecMode sans échec + Pare-feu + Force brute + Journal des événements + Authentification à deux facteursMode sans échec + Pare-feu + Paramètres de compatibilitéLe Mode sans échec définira ces chemins prédéfinis.URL sécurisée :Mode sécuriséSaint BarthélemySainte-HélèneSaint-Kitts-et-NevisSainte-LucieSaint MartinSaint-Pierre-et-MiquelonSaint-Vincent-et-les-GrenadinesSels et clés de sécurité validesSamoaSaint-MarinSao Tome et PrincipeArabie SaouditeSauvegarderEnregistrer le journal de débogageEnregistrer l'utilisateurEnregistréEnregistrée ! Cette tâche sera ignorée lors des prochains tests.Enregistré ! Vous pouvez recommencer le test.Mode de débogage de scriptRechercheRecherchez dans le journal des événements utilisateur et gérez les alertes par e-mail.Clé secrèteClés secrètes pour %sGoogle reCAPTCHA%s.Chemins WP sécurisésContrôle de sécuritéClés de sécurité mises à jourStatut de sécuritéLes clés de sécurité sont définies dans le fichier wp-config.php en tant que constantes sur des lignes. Elles doivent être aussi uniques et longues que possible. AUTH_KEY, SECURE_AUTH_KEY, LOGGED_IN_KEY, NONCE_KEY, AUTH_SALT, SECURE_AUTH_SALT, LOGGED_IN_SALT, NONCE_SALTLes clés de sécurité sont utilisées pour garantir une meilleure encryption des informations stockées dans les cookies de l'utilisateur et les mots de passe hachés.

Ces clés rendent votre site plus difficile à pirater, à accéder et à craquer en ajoutant des éléments aléatoires au mot de passe. Vous n'avez pas besoin de vous souvenir de ces clés. En fait, une fois que vous les avez définies, vous ne les verrez plus jamais. Par conséquent, il n'y a aucune excuse pour ne pas les configurer correctement.Veuillez consulter les actions des derniers jours sur ce site web...Sélectionner PrédéfiniChoisir le rôle de l'utilisateurSélectionnez un paramètre de sécurité prédéfini que nous avons testé sur la plupart des sites web.Sélectionner toutSélectionnez la durée pendant laquelle la connexion temporaire sera disponible après le premier accès de l'utilisateur.Sélectionnez les extensions de fichiers que vous souhaitez masquer sur les anciens chemins.Sélectionnez les fichiers que vous souhaitez masquer sur les anciens chemins.Pays sélectionnésEnvoyez-moi un e-mail avec les URL d'administration et de connexion modifiées.SénégalSerbieSerbeType de serveurDéfinir le répertoire de cache personnaliséDéfinir les redirections de connexion et de déconnexion en fonction des rôles des utilisateurs.Définir le rôle de l'utilisateur actuel.Définissez le site Web pour lequel vous souhaitez que cet utilisateur soit créé.ParamètresSeychellesNom court détecté: %s. Vous devez utiliser des chemins uniques avec plus de 4 caractères pour éviter les erreurs de WordPress.AfficherAfficher /%s au lieu de /%sAfficher les options avancéesAfficher les chemins par défaut & Autoriser les chemins cachésAfficher les chemins par défaut & Autoriser toutAfficher un écran vierge lorsque l'Inspecteur d'éléments est actif sur le navigateur.Afficher les tâches terminéesAfficher les tâches ignorées.Afficher le message au lieu du formulaire de connexion.Afficher le mot de passeSierra LeoneProtection du Formulaire d'InscriptionChinois simplifiéSimuler CMSSingapourSint MaartenClé de siteClés de site pour %sGoogle reCaptcha%s.SiteGroundSécurité du plan du siteSix MoisSlovaqueSlovaquieSlovèneSlovénieSécurité solideÎles SalomonSomalieCertains plugins peuvent supprimer les règles de réécriture personnalisées du fichier .htaccess, surtout s'il est modifiable, ce qui peut affecter le fonctionnement des chemins personnalisés.Certains thèmes ne fonctionnent pas avec des chemins d'administration personnalisés et Ajax. En cas d'erreurs Ajax, revenez à wp-admin et admin-ajax.php.Désolé, vous n'êtes pas autorisé à accéder à cette page.Afrique du SudGéorgie du Sud et les îles Sandwich du SudCorée du SudEspagneLes spammeurs peuvent facilement s'inscrire.EspagnolSri LankaDémarrer l ‘analyseSucuri SecuritySoudanSuper AdminSurinameSvalbard et Jan MayenEswatiniSuèdeSuédoisActiver %s %s > Changer les chemins > Masquer les chemins WordPress communs%sActiver %s %s > Modifier les chemins > Désactiver l'accès XML-RPC%sActiver %s %s > Modifier les chemins > Masquer l'URL de l'identifiant de l'auteur%sActiver %s %s > Changer les chemins > Masquer le point de terminaison RSD %sActiver %s %s > Changer les chemins > Masquer les fichiers communs de WordPress%sActiver %s %s > Modifier les chemins > Masquer wp-admin de l'URL ajax%s. Masquer toute référence au chemin admin des plugins installés.Activer %s %s > Réglages > %s %sActiver %s %s > Astuces > Masquer les scripts de manifeste WLW%sSuisseRépublique arabe syrienneSloganTaïwanTadjikistanTanzanie, République-Unie deConnexion temporaireParamètres de Connexion TemporairesConnexions temporairesTestez vos en-têtes de site web avecMapping de texte et d'URLCartographie de texteMapping de texte dans les fichiers CSS et JS, y compris les fichiers mis en cacheMapping de texte uniquement pour les classes, les IDs et les variables JSThaïlandaisThaïlandeMerci d'utiliser %s !La section %s a été déplacée %s ici %sLe mode Fantôme ajoutera les règles de réécriture dans le fichier de configuration pour cacher les anciens chemins aux pirates.L'API REST est cruciale pour de nombreux plugins car elle leur permet d'interagir avec la base de données WordPress et d'effectuer diverses actions de manière programmée.Le Mode Sécurisé ajoutera les règles de réécriture dans le fichier de configuration pour masquer les anciens chemins aux pirates.Le lien sécurisé désactivera tous les chemins personnalisés. Utilise-le uniquement si tu ne peux pas te connecter.La base de données WordPress est comme un cerveau pour l'ensemble de votre site WordPress, car chaque petit détail d'information sur votre site y est stocké, en faisant ainsi la cible préférée des hackers. Les spammeurs et les hackers exécutent du code automatisé pour les injections SQL. Malheureusement, beaucoup de gens oublient de changer le préfixe de la base de données lorsqu'ils installent WordPress. Cela facilite la tâche aux hackers pour planifier une attaque massive en ciblant le préfixe par défaut wp_.Le slogan du site WordPress est une courte phrase située sous le titre du site, similaire à un sous-titre ou à un slogan publicitaire. L'objectif d'un slogan est de transmettre l'essence de votre site aux visiteurs.

Si vous ne modifiez pas le slogan par défaut, il sera très facile de détecter que votre site web a en réalité été construit avec WordPress.La constante ADMIN_COOKIE_PATH est définie dans wp-config.php par un autre plugin. Vous ne pouvez pas modifier %s à moins de supprimer la ligne define('ADMIN_COOKIE_PATH', ...);.La liste des plugins et des thèmes a été mise à jour avec succès !La manière la plus courante de pirater un site web est d'accéder au domaine et d'ajouter des requêtes malveillantes afin de révéler des informations à partir des fichiers et de la base de données.
Ces attaques sont menées sur n'importe quel site web, qu'il s'agisse de WordPress ou non, et si une attaque réussit… il sera probablement trop tard pour sauver le site web.Le plugin et l'éditeur de thèmes de fichiers sont des outils très pratiques car ils vous permettent d'apporter rapidement des modifications sans avoir besoin d'utiliser FTP.

Malheureusement, c'est aussi un problème de sécurité car il affiche non seulement le code source PHP, mais permet également aux attaquants d'injecter du code malveillant sur votre site s'ils parviennent à accéder à l'administration.Le processus a été bloqué par le pare-feu du site web.L'URL demandée %s n'a pas été trouvée sur ce serveur.Le paramètre de réponse n’est pas valide ou malformé.Le paramètre secret est invalide ou malformé.Le paramètre secret est manquant.Les clés de sécurité dans wp-config.php doivent être renouvelées aussi souvent que possible.Chemin des ThèmesThèmes SécuritéLes thèmes sont à jour.Une erreur critique est survenue sur votre site.Une erreur critique est survenue sur votre site. Veuillez consulter la boite de réception de l’e-mail d’administration de votre site pour plus d’informations.Il y a une erreur de configuration dans le plugin. Veuillez enregistrer à nouveau les paramètres et suivre les instructions.Il y a une nouvelle version de WordPress disponible ({version}).Aucun registre de modifications disponible.Il n'y a pas de "mot de passe non important" ! Cela s'applique également à votre mot de passe de base de données WordPress.
Bien que la plupart des serveurs soient configurés de sorte que la base de données ne puisse pas être accessible depuis d'autres hôtes (ou de l'extérieur du réseau local), cela ne signifie pas que votre mot de passe de base de données devrait être "12345" ou inexistant.Cette fonctionnalité incroyable n'est pas incluse dans le plugin de base. Vous voulez la débloquer ? Il vous suffit d'installer ou d'activer le Pack Avancé et profiter des nouvelles fonctionnalités de sécurité.C'est l'un des plus gros problèmes de sécurité que vous pouvez avoir sur votre site ! Si votre société d'hébergement a cette directive activée par défaut, changez immédiatement de société !Cela peut ne pas fonctionner avec tous les nouveaux appareils mobiles.Cette option ajoutera des règles de réécriture au fichier .htaccess dans la zone des règles de réécriture de WordPress, entre les commentaires # BEGIN WordPress et # END WordPress.Cela évitera d'afficher les anciens chemins lorsque qu'une image ou une police est appelée via ajax.Trois JoursTrois heuresTimor-LestePour modifier les chemins dans les fichiers mis en cache, activez %sChanger les chemins dans les fichiers mis en cache%s.Pour masquer la bibliothèque Avada, veuillez ajouter l'URL de la bibliothèque Avada FUSION_LIBRARY_URL dans le fichier wp-config.php après la ligne $table_prefix : %sPour améliorer la sécurité de votre site web, envisagez de supprimer les auteurs et les styles qui pointent vers WordPress dans votre sitemap XML.TogoTokelauTongaSuivre et enregistrer les événements du site web et recevoir des alertes de sécurité par e-mail.Suivez et enregistrez les événements qui se produisent sur votre site WordPress.Chinois traditionnelTrinité-et-TobagoDépannageTunisieTurquieTurcTurkménistanÎles Turques-et-CaïquesDésactivez les plugins de débogage si votre site est en ligne. Vous pouvez également ajouter l'option pour masquer les erreurs de la base de données global $wpdb; $wpdb->hide_errors(); dans le fichier wp-config.php.TuvaluAméliorationsAuthentification à deux facteursMapping d'URLOugandaUkraineUkrainienUltimate Affiliate Pro détecté. Le plugin ne prend pas en charge les chemins personnalisés %s car il n'utilise pas les fonctions WordPress pour appeler l'URL Ajax.Impossible de mettre à jour le fichier wp-config.php pour modifier le préfixe de la base de données.AnnulerÉmirats arabes unisRoyaume-UniÉtats-UnisÎles mineures éloignées des États-UnisMise à jour inconnue statut "%s"Déverrouiller toutMettez à jour les paramètres sur %s pour rafraîchir les chemins après avoir modifié le chemin de l'API REST.Mis à jourTéléchargez le fichier avec les paramètres du plugin enregistrés.Chemin des téléversementsMesures de sécurité urgentes nécessairesUruguayUtiliser la protection contre les attaques par force brute.Utilisez des identifiants temporaires.Utilisez le code de raccourci %s pour l'intégrer avec d'autres formulaires de connexion.UtilisateurUtilisateur 'admin' ou 'administrateur' en tant qu'AdministrateurAction utilisateurJournal des Événements UtilisateurRôle de l’utilisateurSécurité de l'utilisateurL'utilisateur n'a pas pu être activé.L'utilisateur n'a pas pu être ajouté.L'utilisateur n'a pas pu être supprimé.L'utilisateur n'a pas pu être désactivé.Rôles utilisateur pour qui désactiver le clic droitRôles utilisateur pour qui désactiver la copie/collerRôles d'utilisateur pour qui désactiver le glisser-déposerRôles utilisateur pour qui désactiver l'inspecteur d'élémentsRôles utilisateur pour qui désactiver la vue sourceRôles d'utilisateur pour qui masquer la barre d'administrationUtilisateur activé avec succès.Utilisateur créé avec succès.Utilisateur supprimé avec succès.Utilisateur désactivé avec succès.Utilisateur mis à jour avec succès.Les noms d'utilisateur (contrairement aux mots de passe) ne sont pas secrets. En connaissant le nom d'utilisateur de quelqu'un, vous ne pouvez pas vous connecter à son compte. Vous avez également besoin du mot de passe.

Cependant, en connaissant le nom d'utilisateur, vous êtes un pas plus près de vous connecter en utilisant le nom d'utilisateur pour forcer le mot de passe, ou pour accéder de manière similaire.

C'est pourquoi il est conseillé de garder la liste des noms d'utilisateur privée, du moins dans une certaine mesure. Par défaut, en accédant à siteurl.com/?author={id} et en bouclant à travers les ID à partir de 1, vous pouvez obtenir une liste de noms d'utilisateur, car WP vous redirigera vers siteurl.com/author/user/ si l'ID existe dans le système.L'utilisation d'une ancienne version de MySQL rend votre site lent et vulnérable aux attaques de pirates en raison des vulnérabilités connues présentes dans les versions de MySQL qui ne sont plus maintenues.

Vous avez besoin de MySQL 5.4 ou d'une version supérieure.L'utilisation d'une ancienne version de PHP rend votre site lent et vulnérable aux attaques de pirates en raison des vulnérabilités connues présentes dans les versions de PHP qui ne sont plus maintenues.

Vous avez besoin de PHP 7.4 ou d'une version supérieure pour votre site web.OuzbékistanValideValeurVanuatuVenezuelaVersions dans le code sourceVietnamVietnamienVoir les détailsÎles Vierges britanniquesÎles Vierges des États-Unis.W3 Total CacheSécurité du noyau WPMode débogage WPWP EngineWP Fastest CacheWP RocketWP Super CacheWP Super Cache a détecté un CDN. Veuillez inclure les chemins %s et %s dans WP Super Cache > CDN > Répertoires inclus.WPBakery Page BuilderWPPluginsWallis et FutunaNom faible détecté : %s. Vous devez utiliser un autre nom pour augmenter la sécurité de votre site web.Site WebSahara occidentalOù ajouter les règles de pare-feu.Liste blancheIPs de liste blancheOptions de liste blancheChemins de la liste blancheWindows Live Writer est activéConnexion sécurisée WooCommerceAssistance WooCommerceWoocommerceLien magique WoocommerceMot de passe de la base de données WordPressPermissions par défaut de WordPressVérification de sécurité de WordPressVersion de WordPressWordPress XML-RPC est une spécification qui vise à standardiser les communications entre différents systèmes. Elle utilise HTTP comme mécanisme de transport et XML comme mécanisme de codage pour permettre la transmission d'une large gamme de données.

Les deux principaux atouts de l'API sont son extensibilité et sa sécurité. XML-RPC s'authentifie en utilisant l'authentification de base. Il envoie le nom d'utilisateur et le mot de passe avec chaque requête, ce qui est un gros non-non dans les cercles de sécurité.WordPress et ses plugins et thèmes sont comme tout autre logiciel installé sur votre ordinateur, et comme toute autre application sur vos appareils. Périodiquement, les développeurs publient des mises à jour qui fournissent de nouvelles fonctionnalités ou corrigent des bugs connus.

De nouvelles fonctionnalités peuvent être quelque chose que vous ne voulez pas nécessairement. En fait, vous pouvez être parfaitement satisfait de la fonctionnalité que vous avez actuellement. Néanmoins, vous pouvez toujours être préoccupé par les bugs.

Les bugs logiciels peuvent prendre de nombreuses formes et tailles. Un bug peut être très grave, comme empêcher les utilisateurs d'utiliser un plugin, ou il peut s'agir d'un bug mineur qui n'affecte qu'une partie spécifique d'un thème, par exemple. Dans certains cas, les bugs peuvent même causer de graves failles de sécurité.

Maintenir les thèmes à jour est l'une des façons les plus importantes et les plus faciles de sécuriser votre site.WordPress et ses plugins et thèmes sont comme tout autre logiciel installé sur votre ordinateur, et comme toute autre application sur vos appareils. Périodiquement, les développeurs publient des mises à jour qui fournissent de nouvelles fonctionnalités ou corrigent des bugs connus.

Ces nouvelles fonctionnalités pourraient ne pas nécessairement être quelque chose que vous voulez. En fait, vous pourriez être parfaitement satisfait de la fonctionnalité que vous avez actuellement. Néanmoins, vous êtes probablement toujours préoccupé par les bugs.

Les bugs logiciels peuvent prendre de nombreuses formes et tailles. Un bug pourrait être très grave, comme empêcher les utilisateurs d'utiliser un plugin, ou il pourrait être mineur et n'affecter qu'une partie spécifique d'un thème, par exemple. Dans certains cas, les bugs peuvent causer de graves failles de sécurité.

Maintenir les plugins à jour est l'une des façons les plus importantes et les plus faciles de sécuriser votre site.WordPress est bien connu pour sa facilité d'installation.
Il est important de masquer les fichiers wp-admin/install.php et wp-admin/upgrade.php car il y a déjà eu quelques problèmes de sécurité concernant ces fichiers.WordPress, plugins, and themes add their version info to the source code, so anyone can see it.

Hackers can easily find a website with vulnerable version plugins or themes, and target these with Zero-Day Exploits.Sécurité WordfenceWpEngine détecté. Ajoutez les redirections dans le panneau de règles de redirection de WpEngine %s.Protection contre les mauvais noms d'utilisateurSécurité XML-RPCL’accès XML-RPC est actifYémenOuiOui, ça fonctionneVous avez déjà défini un répertoire différent pour wp-content/uploads dans wp-config.php %s.Vous pouvez bannir une seule adresse IP comme 192.168.0.1 ou une plage de 245 adresses IP comme 192.168.0.*. Ces adresses IP ne pourront pas accéder à la page de connexion.Vous pouvez créer une nouvelle page et revenir pour choisir de rediriger vers cette page.Vous pouvez générer %sde nouvelles clés à partir d'ici%s AUTH_KEY,SECURE_AUTH_KEY,LOGGED_IN_KEY,NONCE_KEY,AUTH_SALT,SECURE_AUTH_SALT,LOGGED_IN_SALT,NONCE_SALTVous pouvez maintenant désactiver l'option '%s'.Vous pouvez configurer pour recevoir des e-mails d'alerte de sécurité et éviter la perte de données.Vous pouvez autoriser en liste blanche une seule adresse IP comme 192.168.0.1 ou une plage de 245 adresses IP comme 192.168.0.*. Trouvez votre adresse IP avec %s.Vous ne pouvez pas définir à la fois ADMIN et LOGIN avec le même nom. Veuillez utiliser des noms différents.Vous n'avez pas la permission d'accéder à %s sur ce serveur.Vous devez activer la Réécriture d'URL pour IIS afin de pouvoir modifier la structure des permaliens en URL conviviales (sans index.php). %sPlus de détails%sVous devez définir un nombre positif de tentatives.Vous devez définir un temps d'attente positif.Vous devez définir la structure des permaliens pour des URL conviviales (sans index.php).Vous devriez toujours mettre à jour WordPress vers les %sversions les plus récentes%s. Celles-ci incluent généralement les dernières corrections de sécurité et ne modifient pas de manière significative WP. Elles doivent être appliquées dès que WP les publie.

Lorsqu'une nouvelle version de WordPress est disponible, vous recevrez un message de mise à jour sur vos écrans d'administration WordPress. Pour mettre à jour WordPress, cliquez sur le lien dans ce message.Vous devriez vérifier votre site web chaque semaine pour voir s'il y a eu des changements en matière de sécurité.Votre licence %s %s a expiré le %s %s. Pour maintenir la sécurité de votre site web à jour, veuillez vous assurer d'avoir un abonnement valide sur %saccount.hidemywpghost.com%s.Votre adresse IP a été signalée pour des violations potentielles de sécurité. Veuillez réessayer dans un petit moment...Votre URL d'administration ne peut pas être modifiée sur l'hébergement %s en raison des conditions de sécurité de %s.Votre URL d'administration a été modifiée par un autre plugin/thème en %s. Pour activer cette option, désactivez l'administration personnalisée dans l'autre plugin ou désactivez-le.Votre URL de connexion est modifiée par une autre extension dans %s. Pour activer cette option, désactivez la connexion personnalisée dans l’autre extension ou désactivez-la.Votre URL de connexion est : %sVotre URL de connexion sera : %s. Au cas où vous ne pourriez pas vous connecter, utilisez l'URL sécurisée : %s.Votre nouveau mot de passe n'a pas été enregistré.Les URL de votre nouveau site sont :La sécurité de votre site web %s est extrêmement faible%s. %sDe nombreuses portes de piratage sont disponibles.La sécurité de votre site web %s est très faible %s. %s De nombreuses portes de piratage sont disponibles.La sécurité de votre site web s'améliore. %sAssurez-vous simplement de compléter toutes les tâches de sécurité.La sécurité de votre site web est encore faible. %sCertains des principaux points d'entrée pour les hackers sont toujours accessibles.Votre site web est sécurisé. %sContinuez à vérifier la sécurité chaque semaine.ZambieZimbabweActiver la fonctionnalitéaprès le premier accèsDéjà actifsombredéfautdirective `display_errors` en PHPpar exemple *.colocrossing.compar exemple /panier/Par exemple, /cart/ autorisera toutes les routes commençant par /cart/.par exemple /checkout/Par exemple, /post-type/ bloquera tous les chemins commençant par /post-type/.par exemple acapbotpar exemple alexibotpar exemple badsite.compar exemple gigabotpar exemple kanagawa.compar exemple xanax.comex:par exemple /déconnexion ouEx. : adm, backEx. : ajax, jsonpar exemple, aspect, modèles, stylesEx. : commentaires, discussionpar exemple, noyau, inc, inclureeg. désactiver_url, sûr_urlpar exemple, images, fichierspar exemple. json, api, callpar exemple, librairie, bibliothèquepar exemple, connexion ou inscriptionpar exemple. déconnexion ou déconnectereg. motdepasseperdu ou motdepasseoubliepar exemple main.css, theme.css, design.cssEx. : modulespar exemple, lien d'activation multisitepar exemple. nouvelutilisateur ou enregistrerpar exemple, profil, utilisateur, écrivaindeaidehttps://hidemywp.comIgnorer l'alerteLes fichiers install.php et upgrade.php sont accessibles.clairjournalconnexionsplus de détailsNon recommandéSeulement %d caractèresouInégaleMoyenForce du mot de passe inconnueFortTrès faibleFaibleTest reCAPTCHATest reCAPTCHA V2Test reCAPTCHA V3reCAPTCHA langueThème reCAPTCHALe fichier readme.html est accessible.recommandéredirectionsVoir la fonctionnalitéconfiguration des fonctionnalités de démarrageUne nouvelle version de l'extension %s est disponible.Impossible de déterminer si des mises à jour sont disponibles pour %s.Le plugin %s est à jour.àTrop simpleLes fichiers wp-config.php & wp-config-sample.php sont accessibles.languages/hide-my-wp-it_IT.mo000064400000463402147600042240012045 0ustar003)LSooeo pp pe:p%ppppPqhqXqTr>qr>rMr2=s)psBsEs#t tMtDuau eu ou}uu uu u uuePv)v v v v8w?xFxOxxyy0yJy%_yCyTyGz;fz5zLz%{{{L{"|<)|/f|%|||'|}7-}$e}R}!}}5~SQ~~~~,~':/7j3    . @XL+ р߀  $ ;'HpGdSrfjقD  4;8B { MW _k A ܅ %=E M ZePnΆֆކ T \ ftŇԇ6 Q] p|! ƈԈۈ (@]t ~ (I0zL~Fˊ7@S ϋ֋Y GRds Ō4%Q-w(J΍"6<ksdߎQDIUq6M 10;bCF5)_ekFm_Rgx/e@ ` l`xٕݕ  "#9,]ray_nٗpH' ej[^ƙ%B%HanК7ٚ  Y( 1ڛ. ;G[45؜&A͝ʞҞ۞(:Mg|(П %8Lc{@Р371ipv   šСء%@?*  Ǣ!Ӣ +#Fnj٣ "'Jb( ɤ/8!Jl$c $9[^%Ѧ)&!ZHP.O#0s/5Ԩ, 7}"v%/=mv)@F,;Hh87"( 7 AKT]DcF \ h n z ȮPׯ+ݯ ̰1԰ =N](sձuIDzвײ ̳޳bkU ʶֶ޶N 5CJ ft} nt{!ӹ% ?EV6;&M/}  ˻  t"Uc_Q^gexU޾d4f2m3)  =* * 5 ?7`;WUCO Fe'+   %/8 ?MTZ\w! KTYk${1"&)P?c2E]t 1%=Wl%""7AQyF(; P)^.5M;S&k:3UVWSTHWGfgk7  K  +5 =gI Yv!UIF8y`rxMqF8=8=~5Z6 ^M7^-RO-Q}PR s ]Bzhzf )2;B ^io4x    ( 4AH PZlt3#"9\{##7= JR+Z C *4 D N Ye@{=>%96_v  (2BQb{    .9_KR[dio!)$A@@( 6  );C JU\|7. - 8 CM gtY|   n H  + 1;AINQc~   . 5?Q9e#;Z go x R= JRcs| 2"1:@V]nw6~)  '0D  1B )GAXk88?x  "65Ul+ >->l1Yz9&+3=qy>12&>FY` + <5 -r )          +  E f         1 " 1 C 5J  %       -b @ R8O.6  $1?q5 g>C['q&<"% H Vc{   #   '6FN|/c ,   ' -9B Ycj?r954">W| 64 kw  /7<,t,aV`RHGu8]U4 !2A!/t!-! !J! >"J"Z"0p"k"h #<v# #B#%%.a&&Y)' ' ' 'T'u'uq((((F(7A)y)))))) )))*** *** **\o++++ +$,"(, K,LV,,., , ,--+-<@-}-0- -- - --..7.-S.,.+.1.- /,:/g/////c/U2:3 +464<4B4 J4T4l4 t4 44444 4 44 5 5i55 55W566 &6 G6 Q6_6q6666 6667#7<7N7:9>Q<?m@NAMaAAAAAAAP B\BKB6C!CCCt7DQD:D9E.E(EL!FnFRGDHaHODII$JJHJ%K9KPPKKK^KZLLILLLMM%M4M9MAM^M vM8MM>M N N%N 6NCNUNdNhN wNNNNNNNO"O3OGO`O${O OOOOOPP P.'PVP\P`P ePrP PPPP+PP Q(Q?QNQ`QrQQQ Q Q QQ=QE(R-nRR R9RRUcVVV#Vs"W(W"WW XU!XwXJY YKYK9Z]ZCZ1'[EY[X[[ \j\T&]{] ] ]]]]] ] ]]m^+_3_G_ X_dd_```aa.aa b,bdKb}bV.cDc=cJdSddd_e/ceTeGe<0f!mf+f7f"fPg2ggg.h)IhCshvh.iHiai@ri>i@iO3j>jjj)jk1kLkUk^k tkmk5k$l 3l ?lLlTlmlulll.l lmP"mqsmmnnoooop pp%p,p62p ipsp{pp }qqq"q q qOq *r 7rCrUrlr~rrrr rrWr)s 8sDsKsRsXs`sps_ws s ss tt$2tWtgt(ttAt u$u 6uBuJujuu uuu)uu u%u%v%Dvjvvvv 1w>wTFwwdwDxIxJQxRx xxy!y0y7yIyjQy yy yyz zz#z3z$Gz(lz5z!z6z*${4O{7{S{#|I4|~|y}Y}W}W<~~b>E^YaUpu?zEgWhЃ<n&Mu{ʅ&6GhۆD~&7JqQqÉd5& NJ}f6o  v!6X ny(I4>0YoNɍIbsz;H&&ǐ!"!33U(#"֑:1"l( &ْ"&#JTjޓ9E5{ ǔٔ ޔ *(1ZsHEܕ" 1; D/N ~)ɖ?s3.9֗4BE&->ݘ/"DBgH+2:qmߚ.5-ic͛1G3e]6}ZJ5Z=CΞ?G֠#l1¡ˡ0Tlg/ԢLBQN    H&Jo¤Ҥ`C J V`fvX 5G]4=<z& bݨ+@l  "ƫ  foMݯ 0?RWiNSZbk%*ӲNGR=B9i@ ȴҴڴ !-= Yzge_HpnfdeTfk!=r˹1>p _gz\=7 J&U>|H$Q)R{νQֽ(.BHV,0̾?$=bi o{   zǿB&=EJ_3*->X-15s- ' @a{)@;Z. ! %B1h0)'BR`L45S$e/4R-B&p0f</zltb\i^)]"i isN,   Yk t~ q Ro\R[L~d}hPJ7OuA5w?   h;7h"_^eJ\ #%IN VckhiE}hqx m'09@ ]hn=w (/8GOaw  v>,)k)$%%7BEz0*2J []i  T3LO&%@L 1;K_ }*!1!@*b  CwAHPX]0c=;,S;Q< ( 79A{  # 3 @W^6g?    $l, )z Z .? EOU]be(}"  '';c!r ={|N6"Y ?IP Xf)ndQjr      ;X=k  Uz*+  &-=kJDjD    3 D  [ |  . N b6 A   _ 9T ! D j `    [ u       ? -5L<>;*/5GNP_fA@ IUf u  " &5=Ra8i*F<(Kt:" ktcM=6tD&Q%hI  {lu8-D Rn1 &   * 7)C mx ;; w2 *   * 0 E N c l s H{ A 9!8@!Dy!!(G">p""""" ""#"#>#%Q#w##O#1# #$ /$9$)X$$%%j"& &c()@*=*q$,8-9-' .#1.!U.]w. ...4 /?/t/CG050j0,22D33j4 55 5z,5516666Z6H 7i7}77777 777888 88888`99: : ":&.:,U: :h: :6;;;%[;;';;D;<5<R<e< |<<'<<#<&=0-=2^=A=;=I>MY>>>>!?"?B?AB DDD#D +D5DRD ZD eDsDDDDD DD D E{EE EEmE2F;F'NF vF FFFFFF GG"6G!YG#{GGGIxM9QR2SlFS!SSST T TR#TvTMUdU$UY"V|V\ W6iWW/5X+eXWXXtZ [f[l9\\`]^a#^+^^d^X5_l_w_^s````` aa a)aHa`aFpaaQa b &b4b EbRbdbsb wbbbbbbbc$ceEeTefexee#e eee)e0fLIffff=fYV~" W{7]meBAmHnW9}02e3^B+v+k-tNY`0)uRz&?1(*f%X!$ #> 1/ qH& fBL bzVa*gMe, 'b$=" mTarxiDHqD&TgNu>"wzU#w%-Z-]%<dR9 k1^ALl\p2H-SFo+w5|dkQauW2K]A57:nR},|~)=I7^:W\I 8y oKD .}E !.</nM.z:YN6WR$58|Og,0;' |ZJ*@r3,4eyOsPJQui!R vS~MLGcV;cJhov QXE\M c: 2-+F4 Gsd%(SjIZs> P?atuj|Jxwi{[Y1*4@y.Dp7 5(<?8)lAt,XO2 9-i5v0GPSe{=t^~_[@$_%h*"#~/l^04; xCfl!9 ,(" 6E <Y6 U0>{*F vP]oZJXB_lgE'_!qd@p%p&kT(I\=Q1&[C 9Um#mjx3"sG:N'}yI)bnd`Uf+)h.'ctL3&C=j+rr]@n8Zc oK#;4EOQhKhKFV `}CM# `2DLjCS[ kV{6br?b3w!s_/\/1)N[<i/Ty?8z'XF;UH>.AxaP7qgTGB`p6  (O$qf3$ #1 Hack Prevention Security Solution: Hide WP CMS, 7G/8G Firewall, Brute Force Protection, 2FA, GEO Security, Temporary Logins, Alerts & more.%1$s is deprecated since version %2$s! Use %3$s instead. Please consider writing more inclusive code.%d %s ago%d %s remaining%s days since last update%s does not work without mode_rewrite. Please activate the rewrite module in Apache. %sMore details%s%s don't have the correct permission.%s is visible in source code%s path is accessible%s plugin(s) are outdated: %s%s plugin(s) have NOT been updated by their developers in the past 12 months: %s%s protects your website from most SQL injections but, if possible, use a custom prefix for database tables to avoid SQL injections. %sRead more%s%s rules are not saved in the config file and this may affect the website loading speed.%s theme(s) are outdated: %s%sClick here%s to create or view keys for Google reCAPTCHA v2.%sClick here%s to create or view keys for Google reCAPTCHA v3.%sERROR:%s Email or Password is incorrect. %s %d attempts left before lockout%sHide the login path%s from theme menu or widget.%sIncorrect ReCaptcha%s. Please try again%sNOTE:%s If you didn't receive the credentials, please access %s.%sYou failed to correctly answer the math problem.%s Please try again(* the plugin has no extra cost, gets installed / activated automatically inside WP when you click the button, and uses the same account)(multiple options are available)(useful when the theme is adding wrong admin redirects or infinite redirects)(works only with the custom admin-ajax path to avoid infinite loops)2FA2FA Login403 Forbidden403 HTML Error404 HTML Error404 Not Found404 page7G Firewall8G FirewallA feature designed to stops attacks from different countries, and to put an end to harmful activity that comes from specific regions.A thorough set of rules can prevent many types of SQL Injection and URL hacks from being interpreted.A user already exists with that username.API SecurityAPI SettingsAWS BitnamiAccording to %sGoogle latest stats%s, over %s 30k websites are hacked every day %s and %s over 30% of them are made in WordPress %s. %s It's better to prevent an attack than to spend a lot of money and time to recover your data after an attack not to mention the situation when your clients' data are stolen.ActionActivateActivate 'Must Use Plugin Loading' from 'Plugin Loading Hook' to be able to connect to your dashboard directly from managewp.com. %s click here %sActivate Brute Force ProtectionActivate Events LogActivate Log Users EventsActivate Temporary LoginsActivate Your PluginActivate info and logs for debugging.Activate the "Brute Force" option to see the user IP blocked reportActivate the "Log Users Events" option to see the user activity log for this websiteActivate the Brute Force protection for Woocommerce login/signup forms.Activate the Brute Force protection on lost password forms.Activate the Brute Force protection on sign up forms.Activate the firewall and prevent many types of SQL Injection and URL hacks.Activate the firewall and select the firewall strength that works for your website %s %s > Change Paths > Firewall & Headers %sActivation HelpAddAdd IP addresses that should always be blocked from accessing this website.Add Content-Security-Policy headerAdd Headers Security against XSS and Code Injection Attacks.Add IP addresses that can pass plugin security.Add IPs that can pass plugin securityAdd New Temporary LoginAdd New Temporary Login UserAdd Rewrites in WordPress Rules SectionAdd Security HeaderAdd Security Headers for XSS and Code Injection AttacksAdd Strict-Transport-Security headerAdd Two Factor security on login page with Code Scan or Email Code authentication.Add X-Content-Type-Options headerAdd X-XSS-Protection headerAdd a list of URLs you want to replace with new ones.Add a random static number to prevent frontend caching while the user is logged in.Add another CDN URLAdd another URLAdd another textAdd common WordPress classes in text mappingAdd paths that can pass plugin securityAdd paths that will be blocked for the selected countries.Add redirects for the logged users based on user roles.Add the CDN URLs you're using in the cache plugin. Admin PathAdmin SecurityAdmin ToolbarAdmin URLAdmin UsernameAdvancedAdvanced PackAdvanced SettingsAfghanistanAfter adding the classes, verify the frontend to ensure that your theme is not affected.After, click %sSave%s to apply the changes.Ajax SecurityAjax URLAland IslandsAlbaniaAlert Emails SentAlgeriaAll ActionsAll In One WP SecurityAll WebsitesAll files have the correct permissions.All plugins are compatibleAll plugins are up to dateAll plugins have been updated by their developers in the past 12 monthsAll the logs are saved on Cloud for 30 days and the report is available if your website is attacked.Allow Hidden PathsAllow users to log in to WooCommerce account using their email address and a unique login URL delivered via email.Allow users to log in to the website using their email address and a unique login URL delivered via email.Allowing anyone to view all files in the Uploads folder with a browser will allow them to easily download all your uploaded files. It's a security and a copyright issue.American SamoaAndorraAngolaAnguillaAntarcticaAntigua and BarbudaApacheArabicAre you sure you want to ignore this task in the future?ArgentinaArmeniaArubaAttention! Some URLs passed through the config file rules and were loaded through WordPress rewrite which may slow down your website. %s Please follow this tutorial to fix the issue: %sAustraliaAustriaAuthor PathAuthor URL by ID accessAuto DetectAutodetectAutomatically redirect the logged in users to the admin dashboardAutoptimizerAzerbaijanBackend under SSLBackup SettingsBackup/RestoreBackup/Restore SettingsBahamasBahrainBan durationBangladeshBarbadosBe sure to include only internal URLs, and use relative paths whenever possible.Beaver BuilderBelarusBelgiumBelizeBeninBermudaBest regardsBhutanBitnami detected. %sPlease read how to make the plugin compatible with AWS hosting%sBlacklistBlacklist IPsBlank Screen On DebuggingBlock CountriesBlock HostnamesBlock IP on login pageBlock ReferrerBlock Specific PathsBlock Theme Detectors CrawlersBlock User AgentsBlock known Users-Agents from popular Theme Detectors.Blocked IPsBlocked IPs ReportBlocked by BoliviaBonaire, Saint Eustatius and SabaBosnia and HerzegovinaBotswanaBouvet IslandBrazilBritish EnglishBritish Indian Ocean TerritoryBrunei DarussalamBrute ForceBrute Force IPs BlockedBrute Force Login ProtectionBrute Force ProtectionBrute Force SettingsBulgariaBulgarianBulletProof plugin! Make sure you save the settings in %s after activating Root Folder BulletProof Mode in BulletProof plugin.Burkina FasoBurundiBy activating, you agree to our %s Terms of Use %s and %sPrivacy Policy%sCDNCDN Enabled detected. Please include %s and %s paths in CDN Enabler SettingsCDN Enabler detected! Learn how to configure it with %s %sClick here%sCDN URLsCONNECTION ERROR! Make sure your website can access: %sCache CSS, JS and Images to increase the frontend loading speed.Cache EnablerCambodiaCameroonCan't download the plugin.CanadaCanadian FrenchCancelCancel the login hooks from other plugins and themes to prevent unwanted login redirects.Cape VerdeCatalan ValencianCayman IslandsCentral African RepublicChadChangeChange OptionsChange PathsChange Paths NowChange Paths for Logged UsersChange Paths in Ajax CallsChange Paths in Cached FilesChange Paths in RSS feedChange Paths in Sitemaps XMLChange Relative URLs to Absolute URLsChange WordPress paths while you're logged inChange paths in RSS feed for all images.Change paths in Sitemap XML files and remove the plugin author and styles.Change the Tagline in %s > %s > %sChange the WordPress common paths in the cached files.Change the signup path from %s %s > Change Paths > Custom Register URL%s or uncheck the option %s > %s > %sChange the text in all CSS and JS files, including those in cached files generated by cache plugins.Change the user 'admin' or 'administrator' with another name to improve security.Change the wp-config.php file permission to Read-Only using File Manager.Change the wp-content, wp-includes and other common paths with %s %s > Change Paths%sChange the wp-login from %s %s > Change Paths > Custom login URL%s and Switch on %s %s > Brute Force Protection%sChanging the predefined security headers may affect the website funtionality.Check Frontend PathsCheck Your WebsiteCheck for updatesCheck if the website paths are working correctly.Check if your website is secured with the current settings.Check the %s RSS feed %s and make sure the image paths are changed.Check the %s Sitemap XML %s and make sure the image paths are changed.Check the website loading speed with %sPingdom Tool%sChileChinaChoose a proper database password, at least 8 characters long with a combination of letters, numbers and special characters. After you change it, set the new password in the wp-config.php file define('DB_PASSWORD', 'NEW_DB_PASSWORD_GOES_HERE');Choose the countries where access to the website should be restricted.Choose the type of server you are using to get the most suitable configuration for your server.Chose what to do when accessing from whitelist IP addresses and whitelisted paths.Christmas IslandClean Login PageClick %sContinue%s to set the predefined paths.Click Backup and the download will start automatically. You can use the Backup for all your websites.Click to run the process to change the paths in the cache files.Close ErrorCloud PanelCloud Panel detected. %sPlease read how to make the plugin compatible with Cloud Panel hosting%sCntCocos (Keeling) IslandsColombiaComments PathComorosCompatibilityCompatibility SettingsCompatibility with Manage WP pluginCompatibility with Token Based Login pluginsCompatible with All In One WP Security plugin. Use them together for Virus Scan, Firewall, Brute Force protection.Compatible with JCH Optimize Cache plugin. Works with all the options to optimize for CSS and JS.Compatible with Solid Security plugin. Use them together for Site Scanner, File Change Detection, Brute Force Protection.Compatible with Sucuri Security plugin. Use them together for Virus Scan, Firewall, File Integrity Monitoring.Compatible with Wordfence Security plugin. Use them together for Malware Scan, Firewall, Brute Force protection.Compatible with all themes and plugins.Complete FixConfigConfig file is not writable. Create the file if not exists or copy to %s file the following lines: %sConfig file is not writable. Create the file if not exists or copy to %s file with the following lines: %sConfig file is not writable. You have to added it manually at the beginning of the %s file: %sConfirm use of weak passwordCongoCongo, The Democratic Republic of theCongratulations! You completed all the security tasks. Make sure you check your site once a week.ContinueConvert links like /wp-content/* into %s/wp-content/*.Cook IslandsCopy LinkCopy the %s SAFE URL %s and use it to deactivate all the custom paths if you can't login.Core Contents PathCore Includes PathCosta RicaCote dIvoireCould not detect the userCould not fix it. You need to change it manually.Could not found anything based on your search.Could not login with this user.Could not rename table %1$s. You may have to rename the table manually.Could not update prefix references in options table.Could not update prefix references in usermeta table.Country BlockingCreateCreate New Temporary LoginCreate a temporary login URL with any user role to access the website dashboard without username and password for a limited period of time.Create a temporary login URL with any user role to access the website dashboard without username and password for a limited period of time. %s This is useful when you need to give admin access to a developer for support or for performing routine tasks.CroatiaCroatianCubaCuracaoCustom Activation PathCustom Admin PathCustom Cache DirectoryCustom Login PathCustom Logout PathCustom Lost Password PathCustom Register PathCustom Safe URL ParamCustom admin-ajax PathCustom author PathCustom comment PathCustom message to show to blocked users.Custom plugins PathCustom theme style nameCustom themes PathCustom uploads PathCustom wp-content PathCustom wp-includes PathCustom wp-json PathCustomize & Secure all WordPress paths from hacker bots attacks.Customize Plugin NamesCustomize Theme NamesCustomize the CSS and JS URLs in your website body.Customize the IDs and Class names in your website body.CyprusCzechCzech RepublicDB Debug ModeDanishDashboardDatabase PrefixDateDeactivatedDebug ModeDefaultDefault Redirect After LoginDefault Temporary Expire TimeDefault User RoleDefault WordPress TaglineDefault user role for which the temporary login will be created.Delete Temporary Users on Plugin UninstallDelete userDenmarkDetailsDirectoriesDisable "rest_route" param accessDisable Click MessageDisable CopyDisable Copy/PasteDisable Copy/Paste MessageDisable Copy/Paste for Logged UsersDisable DISALLOW_FILE_EDIT for live websites in wp-config.php define('DISALLOW_FILE_EDIT', true);Disable Directory BrowsingDisable Drag/Drop ImagesDisable Drag/Drop MessageDisable Drag/Drop for Logged UsersDisable Inspect ElementDisable Inspect Element MessageDisable Inspect Element for Logged UsersDisable OptionsDisable PasteDisable REST API accessDisable REST API access for not logged in usersDisable REST API access using the parameter 'rest_route'Disable RSD Endpoint from XML-RPCDisable Right-ClickDisable Right-Click for Logged UsersDisable SCRIPT_DEBUG for live websites in wp-config.php define('SCRIPT_DEBUG', false);Disable View SourceDisable View Source MessageDisable View Source for Logged UsersDisable WP_DEBUG for live websites in wp-config.php define('WP_DEBUG', false);Disable XML-RPC accessDisable copy function on your websiteDisable image drag & drop on your websiteDisable paste function on your websiteDisable the RSD (Really Simple Discovery) support for XML-RPC & remove RSD tag from headerDisable the access to /xmlrpc.php to prevent %sBrute force attacks via XML-RPC%sDisable the copy/paste action on your website.Disable the external calls to xml-rpc.php file and prevent Brute Force attacks.Disable the inspect element view on your websiteDisable the right-click action on your website.Disable the right-click functionality on your websiteDisable the source-code view on your websiteDisplaying any kind of debug info in the frontend is extremely bad. If any PHP errors happen on your site they should be logged in a safe place and not displayed to visitors or potential attackers.DjiboutiDo Login & Logout RedirectsDo not log out from this browser until you are confident that the Log in page is working and you will be able to login again.Do not logout from your account until you are confident that reCAPTCHA is working and you will be able to login again.Do you want to delete temporary user?Do you want to restore the last saved settings?DominicaDominican RepublicDon't forget to reload the Nginx service.Don't let URLs like domain.com?author=1 show the user login nameDon't let hackers see any directory content. See %sUploads Directory%sDon't load Emoji Icons if you don't use themDon't load WLW if you didn't configure Windows Live Writer for your siteDon't load oEmbed service if you don't use oEmbed videosDon't select any role if you want to log all user rolesDone!Download DebugDrupal 10Drupal 11Drupal 8Drupal 9DutchERROR! Please make sure you use a valid token to activate the pluginERROR! Please make sure you use the right token to activate the pluginEcuadorEdit UserEdit userEdit wp-config.php and add ini_set('display_errors', 0); at the end of the fileEgyptEl SalvadorElementorEmailEmail AddressEmail NotificationEmail address already existsEmail your hosting company and tell them you'd like to switch to a newer version of MySQL or move your site to a better hosting companyEmail your hosting company and tell them you'd like to switch to a newer version of PHP or move your site to a better hosting company.EmptyEmpty ReCaptcha. Please complete reCaptcha.Empty email addressEnabling this option may slow down the website, as CSS and JS files will load dynamically instead of through rewrites, allowing the text within them to be modified as needed.EnglishEnter the 32 chars token from Order/Licence on %sEquatorial GuineaEritreaError! No backup to restore.Error! The backup is not valid.Error! The new paths are not loading correctly. Clear all cache and try again.Error! The preset could not be restored.Error: You entered the same URL twice in the URL Mapping. We removed the duplicates to prevent any redirect errors.Error: You entered the same text twice in the Text Mapping. We removed the duplicates to prevent any redirect errors.EstoniaEthiopiaEuropeEven if the default paths are protected by %s after customization, we recommend setting the correct permissions for all directories and files on your website, use File Manager or FTP to check and change the permissions. %sRead more%sEvents LogEvents Log ReportEvents Log SettingsEvery good developer should turn on debugging before getting started on a new plugin or theme. In fact, the WordPress Codex 'highly recommends' that developers use SCRIPT_DEBUG. Unfortunately, many developers forget the debug mode even when the website is live. Showing debug logs in the frontend will let hackers know a lot about your WordPress website.Every good developer should turn on debugging before getting started on a new plugin or theme. In fact, the WordPress Codex 'highly recommends' that developers use WP_DEBUG.

Unfortunately, many developers forget the debug mode, even when the website is live. Showing debug logs in the frontend will let hackers know a lot about your WordPress website.Example:Expire TimeExpiredExpiresExposing the PHP version will make the job of attacking your site much easier.Fail AttemptsFailedFalkland Islands (Malvinas)Faroe IslandsFeaturesFeed & SitemapFeed SecurityFijiFile PermissionsFile permissions in WordPress play a critical role in website security. Properly configuring these permissions ensures that unauthorized users cannot gain access to sensitive files and data.
Incorrect permissions can inadvertently open your website to attacks, making it vulnerable.
As a WordPress administrator, understanding and correctly setting file permissions are essential for safeguarding your site against potential threats.FilesFilterFinlandFirewallFirewall & HeadersFirewall Against Script InjectionFirewall LocationFirewall StrengthFirewall against injections is loadedFirst NameFirst, you need to activate the %sSafe Mode%s or %sGhost Mode%sFirst, you need to activate the %sSafe Mode%s or %sGhost Mode%s in %sFix PermissionsFix itFix permission for all directories and files (~ 1 min)Fix permission for the main directories and files (~ 5 sec)FlywheelFlywheel detected. Add the redirects in the Flywheel Redirect rules panel %s.Folder %s is browsableForbiddenFranceFrenchFrench GuianaFrench PolynesiaFrench Southern TerritoriesFrom: %s <%s>Front pageFrontend Login TestFrontend TestFully compatible with Autoptimizer cache plugin. Works best with the the option Optimize/Aggregate CSS and JS files.Fully compatible with Beaver Builder plugin. Works best together with a cache plugin.Fully compatible with Cache Enabler plugin. Works best with the the option Minify CSS and JS files.Fully compatible with Elementor Website Builder plugin. Works best together with a cache pluginFully compatible with Fusion Builder plugin by Avada. Works best together with a cache plugin.Fully compatible with Hummingbird cache plugin. Works best with the the option Minify CSS and JS files.Fully compatible with LiteSpeed Cache plugin. Works best with the the option Minify CSS and JS files.Fully compatible with Oxygen Builder plugin. Works best together with a cache plugin.Fully compatible with W3 Total Cache plugin. Works best with the the option Minify CSS and JS files.Fully compatible with WP Fastest Cache plugin. Works best with the the option Minify CSS and JS files.Fully compatible with WP Super Cache cache plugin.Fully compatible with WP-Rocket cache plugin. Works best with the the option Minify/Combine CSS and JS files.Fully compatible with Woocommerce plugin.Fusion BuilderGabonGambiaGeneralGeo SecurityGeographic Security is a feature designed to stops attacks from different countries, and to put an end to harmful activity that comes from specific regions.GeorgiaGermanGermanyGhanaGhost ModeGhost Mode + Firewall + Brute Force + Events Log + Two factorGhost Mode will set these predefined pathsGhost modeGibraltarGive random names to each pluginGive random names to each theme (works in WP multisite)Global class name detected: %s. Read this article first: %sGo to Events Log PanelGo to the Dashboard > Appearance section and update all the themes to the last version.Go to the Dashboard > Plugins section and update all the plugins to the last version.GodaddyGodaddy detected! To avoid CSS errors, make sure you switch off the CDN from %sGoodGoogle reCAPTCHA V2Google reCAPTCHA V3Google reCaptcha V3 is not working with the current login form of %s .Great! The backup is restored.Great! The initial values are restored.Great! The new paths are loading correctly.Great! The preset was loaded.GreeceGreekGreenlandGrenadaGuadeloupeGuamGuatemalaGuernseyGuineaGuinea-BissauGuyanaHaitiHaving the admin URL visible in the source code it's awful because hackers will immediately know your secret admin path and start a Brute Force attack. The custom admin path should not appear in the ajax URL.

Find solutions for %s how to hide the path from source code %s.Having the login URL visible in the source code is awful because hackers will immediately know your secret login path and start a Brute Force attack.

The custom login path should be kept secret, and you should have Brute Force Protection activated for it.

Find solutions for %s hiding the login path from source code here %s.Having this PHP directive enabled will leave your site exposed to cross-site attacks (XSS).

There's absolutely no valid reason to enable this directive, and using any PHP code that requires it is very risky.Header SecurityHeaders & FirewallHeard Island and McDonald IslandsHebrewHelp & FAQsHere is the list of select counties where your website will be restricted..HideHide "login" PathHide "wp-admin"Hide "wp-admin" From Non-Admin UsersHide "wp-login.php"Hide /login path from visitors.Hide /wp-admin path from non-administrator users.Hide /wp-admin path from visitors.Hide /wp-login.php path from visitors.Hide Admin ToolbarHide Admin Toolbar for users roles to prevent dashboard access.Hide All The PluginsHide Author ID URLHide Common FilesHide Embed scriptsHide EmojiconsHide Feed & Sitemap Link TagsHide File ExtensionsHide HTML CommentsHide IDs from META TagsHide Language SwitcherHide My WP GhostHide OptionsHide Paths in Robots.txtHide Plugin NamesHide REST API URL linkHide Theme NamesHide Version from Images, CSS and JS in WordPressHide Versions from Images, CSS and JSHide WLW Manifest scriptsHide WP Common FilesHide WP Common PathsHide WordPress Common FilesHide WordPress Common PathsHide WordPress DNS Prefetch META TagsHide WordPress Generator META TagsHide WordPress Old Plugins PathHide WordPress Old Themes PathHide WordPress common paths from %s Robots.txt %s file.Hide WordPress paths such as wp-admin, wp-content, and more from robots.txt file.Hide all versions from the end of any Image, CSS and JavaScript files.Hide both active and deactivated pluginsHide completed tasksHide passwordHide the /feed and /sitemap.xml link TagsHide the DNS Prefetch that points to WordPressHide the HTML Comments left by the themes and pluginsHide the IDs from all <links>, <style>, <scripts> META TagsHide the New Admin PathHide the New Login PathHide the WordPress Generator META tagsHide the admin toolbar for logged users while in frontend.Hide the language switcher option on the login pageHide the new admin path from visitors. Show the new admin path only for logged users.Hide the new login path from visitors. Show the new login path only for direct access.Hide the old /wp-content, /wp-include paths once they are changed with the new onesHide the old /wp-content, /wp-include paths once they are changed with the new ones.Hide the old /wp-content/plugins path once it's changed with the new oneHide the old /wp-content/themes path once it's changed with the new oneHide wp-admin from Ajax URLHide wp-config.php , wp-config-sample.php, readme.html, license.txt, upgrade.php and install.php filesHide wp-config.php, wp-config-sample.php, readme.html, license.txt, upgrade.php and install.php files..Hide wp-json & ?rest_route link tag from website headerHiding the ID from meta tags in WordPress can potentially impact the caching process of plugins that rely on identifying the meta tags.HindiHoly See (Vatican City State)HondurasHong KongHostnameHow long the temporary login will be available after the user first access.HummingbirdHungarianHungaryIIS WindowsIIS detected. You need to update your %s file by adding the following lines after <rules> tag: %sIPIP BlockedIcelandIf the reCAPTCHA displays any error, please make sure you fix them before moving forward.If the rewrite rules are not loading correctly in the config file, do not load the plugin and do not change the paths.If you are connected with the admin user, you will have to re-login after the change.If you can't configure %s, switch to Deactivated Mode and %scontact us%s.If you can't configure reCAPTCHA, switch to Math reCaptcha protection.If you do not have an e-commerce, membership or guest posting website, you shouldn't let users subscribe to your blog. You will end up with spam registrations and your website will be filled with spammy content and comments.If you have access to php.ini file, set allow_url_include = off or contact the hosting company to set it offIf you have access to php.ini file, set expose_php = off or contact the hosting company to set it offIf you have access to php.ini file, set register_globals = off or contact the hosting company to set it offIf you have access to php.ini file, set safe_mode = off or contact the hosting company to set it offIf you notice any functionality issue please select the %sSafe Mode%s.If you're able to log in, you've set the new paths correctly.If you're able to login, you've set reCAPTCHA correctly.If you're not using Windows Live Writer there's really no valid reason to have its link in the page header, because this tells the whole world you're using WordPress.If you're not using any Really Simple Discovery services such as pingbacks, there's no need to advertise that endpoint (link) in the header. Please note that for most sites this is not a security issue because they "want to be discovered", but if you want to hide the fact that you're using WP, this is the way to go.If your site allows user logins, you need your login page to be easy to find for your users. You also need to do other things to protect against malicious login attempts.

However, obscurity is a valid security layer when used as part of a comprehensive security strategy, and if you want to cut down on the number of malicious login attempts. Making your login page difficult to find is one way to do that.Ignore security taskImmediately block incorrect usernames on login forms.In .htaccess fileIn the old days, the default WordPress admin username was 'admin' or 'administrator'. Since usernames make up half of the login credentials, this made it easier for hackers to launch brute-force attacks.

Thankfully, WordPress has since changed this and now requires you to select a custom username at the time of installing WordPress.Indeed Ultimate Membership Pro detected. The plugin doesn't support custom %s paths as it doesn't use WordPress functions to call the Ajax URLIndiaIndonesiaIndonesianInfoInmotionInmotion detected. %sPlease read how to make the plugin compatible with Inmotion Nginx Cache%sInstall/ActivateIntegration with other CDN plugins and custom CDN URLs.Invalid ReCaptcha. Please complete reCaptcha.Invalid email addressInvalid name detected: %s. Add only the final path name to avoid WordPress errors.Invalid name detected: %s. The name can't end with / to avoid WordPress errors.Invalid name detected: %s. The name can't start with / to avoid WordPress errors.Invalid name detected: %s. The paths can't end with . to avoid WordPress errors.Invalid name detected: %s. You need to use another name to avoid WordPress errors.Invalid username.Iran, Islamic Republic ofIraqIrelandIsle of ManIsraelIt's important to %s save your settings every time you change them %s. You can use the backup to configure other websites you own.It's important to hide or remove the readme.html file because it contains WP version details.It's important to hide the common WordPress paths to prevent attacks on vulnerable plugins and themes.
Also, it's important to hide the names of plugins and themes to make it impossible for bots to detect them.It's important to rename common WordPress paths, such as wp-content and wp-includes to prevent hackers from knowing that you have a WordPress website.It's not safe to have Database Debug turned on. Make sure you don't use Database debug on live websites.ItalianItalyJCH Optimize CacheJamaicaJananeseJapanJavascript is disabled on your browser! You need to activate the javascript in order to use %s plugin.JerseyJoomla 3Joomla 4Joomla 5JordanJust another WordPress siteKazakhstanKenyaKiribatiKnow what the other users are doing on your website.KoreanKosovoKuwaitKyrgyzstanLanguageLao Peoples Democratic RepublicLast 30 days Security StatsLast AccessLast NameLast check:Late LoadingLatviaLatvianLearn HowLearn How To Add the CodeLearn how to disable %sDirectory Browsing%s or switch on %s %s > Change Paths > Disable Directory Browsing%sLearn how to set your website as %s. %sClick Here%sLearn how to setup on Local & NginxLearn how to setup on Nginx serverLearn how to use the shortcodeLearn more aboutLearn more about %s 7G firewall %s.Learn more about %s 8G firewall %s.Leave it blank if you don't want to display any messageLeave it blank to block all paths for the selected countries.LebanonLesothoLet's take your security to the next level!Level of SecurityLevels of securityLiberiaLibyan Arab JamahiriyaLicence TokenLiechtensteinLimit the number of allowed login attempts using normal login form.LiteSpeedLiteSpeed CacheLithuaniaLithuanianLoad PresetLoad Security PresetsLoad after all plugins are loaded. On "template_redirects" hook.Load before all plugins are loaded. On "plugins_loaded" hook.Load custom language is WordPress local language is installed.Load the plugin as a Must Use plugin.Load when the plugins are initialized. On "init" hook.Local & NGINX detected. In case you didn't add the code in the NGINX config already, please add the following line. %sLocal by FlywheelLocationLock userLockout MessageLog User RolesLog Users EventsLogin & Logout RedirectsLogin Blocked by Login PathLogin Redirect URLLogin SecurityLogin TestLogin URLLogout Redirect URLLost Password Form ProtectionLuxembourgMacaoMadagascarMagic Link LoginMake sure the redirect URLs exist on your website. %sThe User Role redirect URL has higher priority than the Default redirect URL.Make sure you know what you do when changing the headers.Make sure you save the settings and empty the cache before checking your website with our tool.MalawiMalaysiaMaldivesMaliMaltaManage Brute Force ProtectionManage Login and Logout RedirectsManage whitelist & blacklist IP addressesManually block/unblock IP addresses.Manually customize each plugin name and overwrite the random nameManually customize each theme name and overwrite the random nameManually whitelist trusted IP addresses.MappingMarshall IslandsMartiniqueMath & Google reCaptcha verification while logging in.Math reCAPTCHAMauritaniaMauritiusMax fail attemptsMayotteMediumMembershipMexicoMicronesia, Federated States ofMinimalMinimal (No Config Rewrites)Moldova, Republic ofMonacoMongoliaMonitor everything that happens on your WordPress site!Monitor, track and log events on your website.MontenegroMontserratMore HelpMore information about %sMore optionsMoroccoMost WordPress installations are hosted on the popular Apache, Nginx and IIS web servers.MozambiqueMust Use Plugin LoadingMy AccountMyanmarMysql VersionNGINX detected. In case you didn't add the code in the NGINX config already, please add the following line. %sNameNamibiaNauruNepalNetherlandsNew CaledoniaNew Login DataNew Plugin/Theme detected! Update %s settings to hide it. %sClick here%sNew ZealandNext StepsNginxNicaraguaNigerNigeriaNiueNoNo CMS SimulationNo Recent Updates ReleasedNo blacklisted ipsNo log found.No temporary logins.No, abortNo. of secondsNorfolk IslandNormal LoadingNormally, the option to block visitors from browsing server directories is activated by the host through server configuration, and activating it twice in the config file may cause errors, so it's best to first check if the %sUploads Directory%s is visible.North KoreaNorth Macedonia, Republic ofNorthern Mariana IslandsNorwayNorwegianNot yet logged inNote that this option won't activate the CDN for your website, but it will update the custom paths if you've already set a CDN URL with another plugin.Note! %sPaths are NOT physically change%s on your server.Note! The plugin will use WP cron to change the paths in background once the cache files are created.Note: If you can`t login to your site, just access this URLNotification SettingsOkay, I set it upOmanOn website initializationOnce you bought the plugin, you will receive the %s credentials for your account by email.One DayOne HourOne MonthOne WeekOne YearOne of the most important files in your WordPress installation is the wp-config.php file.
This file is located in the root directory of your WordPress installation and contains your website's base configuration details, such as database connection information.Only change this option if the plugin fails to identify the server type correctly.Optimize CSS and JS filesOption to inform user about remaining attempts on login page.OptionsOutdated PluginsOutdated ThemesOverviewOxygenPHP VersionPHP allow_url_include is onPHP expose_php is onPHP register_globals is onPHP safe mode was one of the attempts to solve security problems of shared web hosting servers.

It is still being used by some web hosting providers, however, nowadays this is regarded as improper. A systematic approach proves that it’s architecturally incorrect to try solving complex security issues at the PHP level, rather than at the web server and OS levels.

Technically, safe mode is a PHP directive that restricts the way some built-in PHP functions operate. The main problem here is inconsistency. When turned on, PHP safe mode may prevent many legitimate PHP functions from working correctly. At the same time there exists a variety of methods to override safe mode limitations using PHP functions that aren’t restricted, so if a hacker has already got in – safe mode is useless.PHP safe_mode is onPage Not FoundPakistanPalauPalestinian TerritoryPanamaPapua New GuineaParaguayPassedPath not allowed. Avoid paths like plugins and themes.Paths & OptionsPaths changed in the existing cache filesPause for 5 minutesPermalinksPersianPeruPhilippinesPitcairnPlease be aware that if you do not consent to storing data on our Cloud, we kindly request that you refrain from activating this feature.Please visit %s to check your purchase and to get the license token.Plugin Loading HookPlugins PathPlugins SecurityPlugins SettingsPlugins that have not been updated in the last 12 months can have real security problems. Make sure you use updated plugins from WordPress Directory.Plugins/Themes editor disabledPolandPolishPortugalPortuguesePreset SecurityPrevent Broken Website LayoutPriority LoadingProtects your WooCommerce shop against brute force login attacks.Protects your website against Brute Force login attacks using %s A common threat web developers face is a password-guessing attack known as a Brute Force attack. A Brute Force attack is an attempt to discover a password by systematically trying every possible combination of letters, numbers, and symbols until you discover the one correct combination that works.Protects your website against Brute Force login attacks.Protects your website against brute force login attacks.Prove your humanity:Puerto RicoQatarQuick FixRDS is visibleRandom Static NumberReactivate user for 1 dayRedirect After LoginRedirect Hidden PathsRedirect Logged Users To DashboardRedirect temporary users to a custom page after login.Redirect the protected paths /wp-admin, /wp-login to a Page or trigger an HTML Error.Redirect user to a custom page after login.RedirectsRemoveRemove PHP version, Server info, Server Signature from header.Remove Plugins Authors & Style in Sitemap XMLRemove Unsafe HeadersRemove pingback link tag from the website header.Rename readme.html file or switch on %s %s > Change Paths > Hide WordPress Common Files%sRename wp-admin/install.php & wp-admin/upgrade.php files or switch on %s %s > Change Paths > Hide WordPress Common Paths%sRenewResetReset SettingsResolving hostnames may affect the website loading speed.Restore BackupRestore SettingsResume SecurityReunionRobots SecurityRoleRollback SettingsRollback all the plugin settings to initial values.RomaniaRomanianRun %s Frontend Test %s to check if the new paths are working.Run %s Login Test %s and log in inside the popup.Run %sreCAPTCHA Test%s and login inside the popup.Run Full Security CheckRussianRussian FederationRwandaSSL is an abbreviation used for Secure Sockets Layers, which are encryption protocols used on the internet to secure information exchange and provide certificate information.

These certificates provide an assurance to the user about the identity of the website they are communicating with. SSL may also be called TLS or Transport Layer Security protocol.

It's important to have a secure connection for the Admin Dashboard in WordPress.Safe ModeSafe Mode + Firewall + Brute Force + Events Log + Two factorSafe Mode + Firewall + Compatibility SettingsSafe Mode will set these predefined pathsSafe URL:Safe modeSaint BartelemeySaint HelenaSaint Kitts and NevisSaint LuciaSaint MartinSaint Pierre and MiquelonSaint Vincent and the GrenadinesSalts and Security Keys validSamoaSan MarinoSao Tome and PrincipeSaudi ArabiaSaveSave Debug LogSave UserSavedSaved! This task will be ignored on future tests.Saved! You can run the test again.Script Debug ModeSearchSearch in user events log and manage the email alertsSecret KeySecret keys for %sGoogle reCAPTCHA%s.Secure WP PathsSecurity CheckSecurity Keys UpdatedSecurity StatusSecurity keys are defined in wp-config.php as constants on lines. They should be as unique and as long as possible. AUTH_KEY,SECURE_AUTH_KEY,LOGGED_IN_KEY,NONCE_KEY,AUTH_SALT,SECURE_AUTH_SALT,LOGGED_IN_SALT,NONCE_SALTSecurity keys are used to ensure better encryption of information stored in the user's cookies and hashed passwords.

These make your site more difficult to hack, access and crack by adding random elements to the password. You don't have to remember these keys. In fact, once you set them you'll never see them again. Therefore, there's no excuse for not setting them properly.See the last days actions on this website ...Select PresetSelect User RolesSelect a preset security settings we've tested on most websites.Select allSelect how long the temporary login will be available after the first user access.Select the file extensions you want to hide on old pathsSelect the files you want to hide on old pathsSelected CountriesSend me an email with the changed admin and login URLsSenegalSerbiaSerbianServer TypeSet Custom Cache DirectorySet Login & Logout Redirects based on User Roles.Set the current user role.Set the website you want this user to be created for.SettingsSeychellesShort name detected: %s. You need to use unique paths with more than 4 chars to avoid WordPress errors.ShowShow /%s instead of /%sShow Advanced OptionsShow Default Paths & Allow Hidden PathsShow Defaults Paths & Allow EverythingShow blank screen when Inspect Element is active on browser.Show completed tasksShow ignored tasksShow message instead of login formShow passwordSierra LeoneSign Up Form ProtectionSimplified ChineseSimulate CMSSingaporeSint MaartenSite keySite keys for %sGoogle reCaptcha%s.SiteGroundSitemap SecuritySix MonthsSlovakSlovakiaSloveneSloveniaSolid SecuritySolomon IslandsSomaliaSome plugins may remove custom rewrite rules from the .htaccess file, especially if it's writable, which can affect the functionality of custom paths..Some themes don't work with custom Admin and Ajax paths. In case of ajax errors, switch back to wp-admin and admin-ajax.php.Sorry, you are not allowed to access this page.South AfricaSouth Georgia and the South Sandwich IslandsSouth KoreaSpainSpammers can easily signupSpanishSri LankaStart ScanSucuri SecuritySudanSuper AdminSurinameSvalbard and Jan MayenSwazilandSwedenSwedishSwitch on %s %s > Change Paths > Hide WordPress Common Paths%sSwitch on %s %s > Change Paths > Disable XML-RPC access%sSwitch on %s %s > Change Paths > Hide Author ID URL%sSwitch on %s %s > Change Paths > Hide RSD Endpoint%sSwitch on %s %s > Change Paths > Hide WordPress Common Files%sSwitch on %s %s > Change Paths > Hide wp-admin from ajax URL%s. Hide any reference to admin path from the installed plugins.Switch on %s %s > Tweaks > %s %sSwitch on %s %s > Tweaks > Hide WLW Manifest scripts%sSwitzerlandSyrian Arab RepublicTaglineTaiwanTajikistanTanzania, United Republic ofTemporary LoginTemporary Login SettingsTemporary LoginsTest your website headers withText & URL MappingText MappingText Mapping in CSS and JS files including cached filesText Mapping only Classes, IDs, JS variablesThaiThailandThank you for using %s!The %s section has been relocated %s here %sThe Ghost Mode will add the rewrites rules in the config file to hide the old paths from hackers.The REST API is crucial for many plugins as it allows them to interact with the WordPress database and perform various actions programmatically.The Safe Mode will add the rewrites rules in the config file to hide the old paths from hackers.The Safe URL will deactivate all the custom paths. Use it only if you can't login.The WordPress database is like a brain for your entire WordPress site, because every single bit of information about your site is stored there, thus making it a hacker’s favorite target.

Spammers and hackers run automated code for SQL injections.
Unfortunately, many people forget to change the database prefix when they install WordPress.
This makes it easier for hackers to plan a mass attack by targeting the default prefix wp_.The WordPress site tagline is a short phrase located under the site title, similar to a subtitle or advertising slogan. The goal of a tagline is to convey the essence of your site to visitors.

If you don't change the default tagline it will be very easy to detect that your website was actually built with WordPressThe constant ADMIN_COOKIE_PATH is defined in wp-config.php by another plugin. You can't change %s unless you remove the line define('ADMIN_COOKIE_PATH', ...);.The list of plugins and themes was updated with success!The most common way to hack a website is by accessing the domain and adding harmful queries in order to reveal information from files and database.
These attacks are made on any website, WordPress or not, and if a call succeeds … it will probably be too late to save the website.The plugins and themes file editor is a very convenient tool because it enables you to make quick changes without the need to use FTP.

Unfortunately, it's also a security issue because it not only shows the PHP source code, it also enables attackers to inject malicious code into your site if they manage to gain access to admin.The process was blocked by the website’s firewall.The requested URL %s was not found on this server.The response parameter is invalid or malformed.The secret parameter is invalid or malformed.The secret parameter is missing.The security keys in wp-config.php should be renewed as often as possible.Themes PathThemes SecurityThemes are up to dateThere has been a critical error on your website.There has been a critical error on your website. Please check your site admin email inbox for instructions.There is a configuration error in the plugin. Please Save the settings again and follow the instruction.There is a newer version of WordPress available ({version}).There is no changelog available.There is no such thing as an "unimportant password"! The same goes for your WordPress database password.
Although most servers are configured so that the database can't be accessed from other hosts (or from outside the local network), that doesn't mean your database password should be "12345" or no password at all.This amazing feature isn't included in the basic plugin. Want to unlock it? Simply install or activate the Advanced Pack and enjoy the new security features.This is one of the biggest security issues you can have on your site! If your hosting company has this directive enabled by default, switch to another company immediately!This may not work with all new mobile devices.This option will add rewrite rules to the .htaccess file in the WordPress rewrite rules area between the comments # BEGIN WordPress and # END WordPress.This will prevent from showing the old paths when an image or font is called through ajaxThree DaysThree HoursTimor-LesteTo change the paths in the cached files, switch on %s Change Paths in Cached Files%sTo hide the Avada library, please add the Avada FUSION_LIBRARY_URL in wp-config.php file after $table_prefix line: %sTo improve your website's security, consider removing authors and styles that point to WordPress in your sitemap XML.TogoTokelauTongaTrack and Log the website events and receive security alerts by email.Track and log events that happen on your WordPress siteTraditional ChineseTrinidad and TobagoTroubleshootingTunisiaTurkeyTurkishTurkmenistanTurks and Caicos IslandsTurn off the debug plugins if your website is live. You can also add the option to hide the DB errors global $wpdb; $wpdb->hide_errors(); in wp-config.php fileTuvaluTweaksTwo-factor authenticationURL MappingUgandaUkraineUkrainianUltimate Affiliate Pro detected. The plugin doesn't support custom %s paths as it doesn't use WordPress functions to call the Ajax URLUnable to update the wp-config.php file in order to update the Database Prefix.UndoUnited Arab EmiratesUnited KingdomUnited StatesUnited States Minor Outlying IslandsUnknown update checker status "%s"Unlock allUpdate the settings on %s to refresh the paths after changing REST API path.UpdatedUpload the file with the saved plugin settingsUploads PathUrgent Security Actions RequiredUruguayUse Brute Force ProtectionUse Temporary LoginsUse the %s shortcode to integrate it with other login forms.UserUser 'admin' or 'administrator' as AdministratorUser ActionUser Events LogUser RoleUser SecurityUser could not be activated.User could not be addedUser could not be deleted.User could not be disabled.User roles for who to disable the Right-ClickUser roles for who to disable the copy/pasteUser roles for who to disable the drag/dropUser roles for who to disable the inspect elementUser roles for who to disable the view sourceUser roles for who to hide the admin toolbarUser successfully activated.User successfully created.User successfully deleted.User successfully disabled.User successfully updated.Usernames (unlike passwords) are not secret. By knowing someone's username, you can't log in to their account. You also need the password.

However, by knowing the username, you are one step closer to logging in using the username to brute-force the password, or to gain access in a similar way.

That's why it's advisable to keep the list of usernames private, at least to some degree. By default, by accessing siteurl.com/?author={id} and looping through IDs from 1 you can get a list of usernames, because WP will redirect you to siteurl.com/author/user/ if the ID exists in the system.Using an old version of MySQL makes your site slow and prone to hacker attacks due to known vulnerabilities that exist in versions of MySQL that are no longer maintained.

You need Mysql 5.4 or higherUsing an old version of PHP makes your site slow and prone to hacker attacks due to known vulnerabilities that exist in versions of PHP that are no longer maintained.

You need PHP 7.4 or higher for your website.UzbekistanValidValueVanuatuVenezuelaVersions in Source CodeVietnamVietnameseView detailsVirgin Islands, BritishVirgin Islands, U.S.W3 Total CacheWP Core SecurityWP Debug ModeWP EngineWP Fastest CacheWP RocketWP Super CacheWP Super Cache CDN detected. Please include %s and %s paths in WP Super Cache > CDN > Include directoriesWPBakery Page BuilderWPPluginsWallis and FutunaWeak name detected: %s. You need to use another name to increase your website security.WebsiteWestern SaharaWhere to add the firewall rules.WhitelistWhitelist IPsWhitelist OptionsWhitelist PathsWindows Live Writer is onWooCommerce Safe LoginWooCommerce SupportWoocommerceWoocommerce Magic LinkWordPress Database PasswordWordPress Default PermissionsWordPress Security CheckWordPress VersionWordPress XML-RPC is a specification that aims to standardize communications between different systems. It uses HTTP as the transport mechanism and XML as encoding mechanism to enable a wide range of data to be transmitted.

The two biggest assets of the API are its extendibility and its security. XML-RPC authenticates using basic authentication. It sends the username and password with each request, which is a big no-no in security circles.WordPress and its plugins and themes are like any other software installed on your computer, and like any other application on your devices. Periodically developers release updates which provide new features or fix known bugs.

New features may be something that you do not necessarily want. In fact, you may be perfectly satisfied with the functionality you currently have. Nevertheless, you may still be concerned about bugs.

Software bugs can come in many shapes and sizes. A bug could be very serious, such as preventing users from using a plugin, or it could be a minor bug that only affects a certain part of a theme, for example. In some cases, bugs can even cause serious security holes.

Keeping themes up to date is one of the most important and easiest ways to keep your site secure.WordPress and its plugins and themes are like any other software installed on your computer, and like any other application on your devices. Periodically, developers release updates which provide new features, or fix known bugs.

These new features may not necessarily be something that you want. In fact, you may be perfectly satisfied with the functionality you currently have. Nevertheless, you are still likely to be concerned about bugs.

Software bugs can come in many shapes and sizes. A bug could be very serious, such as preventing users from using a plugin, or it could be minor and only affect a certain part of a theme, for example. In some cases, bugs can cause serious security holes.

Keeping plugins up to date is one of the most important and easiest ways to keep your site secure.WordPress is well-known for its ease of installation.
It's important to hide the wp-admin/install.php and wp-admin/upgrade.php files because there have already been a couple of security issues regarding these files.WordPress, plugins and themes add their version info to the source code, so anyone can see it.

Hackers can easily find a website with vulnerable version plugins or themes, and target these with Zero-Day Exploits.Wordfence SecurityWpEngine detected. Add the redirects in the WpEngine Redirect rules panel %s.Wrong Username ProtectionXML-RPC SecurityXML-RPC access is onYemenYesYes, it's workingYou already defined a different wp-content/uploads directory in wp-config.php %sYou can ban a single IP address like 192.168.0.1 or a range of 245 IPs like 192.168.0.*. These IPs will not be able to access the login page.You can create a new page and come back to choose to redirect to that page.You can generate %snew Keys from here%s AUTH_KEY,SECURE_AUTH_KEY,LOGGED_IN_KEY,NONCE_KEY,AUTH_SALT,SECURE_AUTH_SALT,LOGGED_IN_SALT,NONCE_SALTYou can now turn off '%s' option.You can set to receive security alert emails and prevent data loss.You can white-list a single IP address like 192.168.0.1 or a range of 245 IPs like 192.168.0.*. Find your IP with %sYou can't set both ADMIN and LOGIN with the same name. Please use different namesYou don't have the permission to access %s on this server.You need to activate the URL Rewrite for IIS to be able to change the permalink structure to friendly URL (without index.php). %sMore details%sYou need to set a positive number of attempts.You need to set a positive waiting time.You need to set the permalink structure to friendly URL (without index.php).You should always update WordPress to the %slatest versions%s. These usually include the latest security fixes, and don't alter WP in any significant way. These should be applied as soon as WP releases them.

When a new version of WordPress is available, you will receive an update message on your WordPress Admin screens. To update WordPress, click the link in this message.You should check your website every week to see if there are any security changes.Your %s %s license expired on %s %s. To keep your website security up to date please make sure you have a valid subscription on %saccount.hidemywpghost.com%sYour IP has been flagged for potential security violations. Please try again in a little while...Your admin URL can't be changed on %s hosting because of the %s security terms.Your admin URL is changed by another plugin/theme in %s. To activate this option, disable the custom admin in the other plugin or deativate it.Your login URL is changed by another plugin/theme in %s. To activate this option, disable the custom login in the other plugin or deativate it.Your login URL is: %sYour login URL will be: %s In case you can't login, use the safe URL: %sYour new password has not been saved.Your new site URLs areYour website security %sis extremely weak%s. %sMany hacking doors are available.Your website security %sis very weak%s. %sMany hacking doors are available.Your website security is getting better. %sJust make sure you complete all the security tasks.Your website security is still weak. %sSome of the main hacking doors are still available.Your website security is strong. %sKeep checking the security every week.ZambiaZimbabweactivate featureafter first accessalready activedarkdefaultdisplay_errors PHP directivee.g. *.colocrossing.come.g. /cart/e.g. /cart/ will whitelist all path starting with /cart/e.g. /checkout/e.g. /post-type/ will block all path starting with /post-type/e.g. acapbote.g. alexibote.g. badsite.come.g. gigabote.g. kanagawa.come.g. xanax.comeg.eg. /logout oreg. adm, backeg. ajax, jsoneg. aspect, templates, styleseg. comments, discussioneg. core, inc, includeeg. disable_url, safe_urleg. images, fileseg. json, api, calleg. lib, libraryeg. login or signineg. logout or disconnecteg. lostpass or forgotpasseg. main.css, theme.css, design.csseg. moduleseg. multisite activation linkeg. newuser or registereg. profile, usr, writerfromhelphttps://hidemywp.comignore alertinstall.php & upgrade.php files are accessiblelightloglogsmore detailsnot recommendedonly %d charsorpassword mismatchMismatchpassword strengthMediumpassword strengthPassword strength unknownpassword strengthStrongpassword strengthVery weakpassword strengthWeakreCAPTCHA TestreCAPTCHA V2 TestreCAPTCHA V3 TestreCaptcha LanguagereCaptcha Themereadme.html file is accessiblerecommendedredirectssee featurestart feature setupthe plugin titleA new version of the %s plugin is available.the plugin titleCould not determine if updates are available for %s.the plugin titleThe %s plugin is up to date.totoo simplewp-config.php & wp-config-sample.php files are accessibleProject-Id-Version: Hide My WP Ghost PO-Revision-Date: 2024-10-10 20:07+0300 Last-Translator: gpt-po v1.0.11 Language-Team: Language: it_IT MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); X-Generator: Poedit 3.5 X-Poedit-Basepath: .. X-Poedit-Flags-xgettext: --add-comments=translators: X-Poedit-WPHeader: index.php X-Poedit-SourceCharset: UTF-8 X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;_nx_noop:3c,1,2;__ngettext_noop:1,2 X-Poedit-SearchPath-0: . X-Poedit-SearchPathExcluded-0: *.min.js #1 Soluzione di sicurezza per la prevenzione degli attacchi informatici: Nascondi WP CMS, Firewall 7G/8G, Protezione da attacchi di forza bruta, 2FA, Sicurezza GEO, Accessi temporanei, Allarmi e altro ancora.%1$s è deprecato dalla versione %2$s! Utilizza %3$s al suo posto. Si prega di considerare la scrittura di codice più inclusivo.%d %s faRimangono %d %s%s giorni dall'ultimo aggiornamento%s non funziona senza mode_rewrite. Si prega di attivare il modulo di riscrittura in Apache. %sUlteriori dettagli%s%s non hanno le autorizzazioni corrette.%s è visibile nel codice sorgenteIl percorso %s è accessibileIl/i plugin %s sono obsoleti: %s%s plugin(s) non sono stati aggiornati dai loro sviluppatori negli ultimi 12 mesi: %s%s protegge il tuo sito web dalla maggior parte degli attacchi di SQL injection, ma, se possibile, utilizza un prefisso personalizzato per le tabelle del database per evitare le SQL injection. %sLeggi di più%sLe regole di %s non sono salvate nel file di configurazione e ciò potrebbe influire sulla velocità di caricamento del sito web.Il/i tema/i %s sono obsoleti: %s%sClicca qui%s per creare o visualizzare le chiavi per Google reCAPTCHA v2.%sClicca qui%s per creare o visualizzare le chiavi per Google reCAPTCHA v3.%sERRORE:%s L'email o la password non sono corrette. %s %d tentativi rimasti prima del blocco%sNascondi il percorso di accesso%s dal menu del tema o dal widget.%sReCaptcha non corretto%s. Si prega di riprovare%sNOTA:%s Se non hai ricevuto le credenziali, accedi per favore a %s.%sHai fallito nel rispondere correttamente al problema matematico.%s Per favore, riprova(* il plugin non ha costi aggiuntivi, viene installato / attivato automaticamente all'interno di WP quando si fa clic sul pulsante, e utilizza lo stesso account)(multiple options are available)(utili quando il tema è l'aggiunta di reindirizzamenti amministrativi errati o reindirizzamenti infiniti)(funziona solo con il percorso personalizzato admin-ajax per evitare cicli infiniti)2FAAccesso 2FA403 VietatoErrore HTML 403Errore HTML 404404 Non trovatoUhmm…pagina non trovata :(7G Firewall8G FirewallUna funzionalità progettata per fermare gli attacchi provenienti da diversi paesi e porre fine alle attività dannose che provengono da regioni specifiche.Un insieme completo di regole può prevenire molti tipi di SQL Injection e URL hack dall'essere interpretati.Esiste già un utente con quel nome utente.Sicurezza delle APIImpostazioni APIAWS BitnamiSecondo le %sultime statistiche di Google%s, oltre %s 30.000 siti web vengono hackerati ogni giorno %s e %s più del 30% di essi sono realizzati con WordPress %s. %s È meglio prevenire un attacco che spendere molto denaro e tempo per ripristinare i dati dopo un attacco, senza considerare la situazione in cui i dati dei tuoi clienti vengono rubati.AzioneAttivareAttiva 'Caricamento del Plugin Obbligatorio' da 'Gancio di Caricamento del Plugin' per poter connetterti al tuo cruscotto direttamente da managewp.com. %s clicca qui %sAttivare Protezione Brute ForceAttivare il registro eventiAttivare il registro degli eventi degli utentiAttivare Accessi TemporaneiAttiva il tuo pluginAttiva informazioni e registri per il debug.Attiva l'opzione "Forza Bruta" per visualizzare il rapporto degli indirizzi IP degli utenti bloccatiAttiva l'opzione "Registra eventi degli utenti" per visualizzare il registro delle attività degli utenti per questo sito webAttiva la protezione Brute Force per i moduli di accesso/registrazione di Woocommerce.Attiva la protezione Brute Force sui moduli di password dimenticata.Attiva la protezione Brute Force sui moduli di registrazione.Attiva il firewall e impedisce molti tipi di SQL Injection e attacchi URL.Attiva il firewall e seleziona la potenza del firewall che funziona per il tuo sito web %s %s > Modifica Percorsi > Firewall & Intestazioni %sAiuto per l'attivazioneAggiungiAggiungi gli indirizzi IP che dovrebbero essere sempre bloccati dall'accesso a questo sito web.Aggiungi l'intestazione Content-Security-PolicyAggiungi Intestazioni di Sicurezza contro gli Attacchi XSS e di Iniezione di Codice.Aggiungi gli indirizzi IP che possono superare la sicurezza del plugin.Aggiungi gli IP che possono superare la sicurezza del pluginAggiungi Nuovo Accesso TemporaneoAggiungi Nuovo Utente di Accesso TemporaneoAggiungi Riscritture nella Sezione Regole di WordPress.Aggiungi Intestazione di SicurezzaAggiungi Intestazioni di Sicurezza per gli Attacchi XSS e di Iniezione di CodiceAggiungi l'intestazione Strict-Transport-Security.Aggiungi la sicurezza a due fattori sulla pagina di accesso con autenticazione tramite scansione del codice o codice via email.Aggiungi l'intestazione X-Content-Type-OptionsAggiungi l'intestazione X-XSS-Protection.Aggiungi un elenco di URL che desideri sostituire con quelli nuovi.Aggiungi un numero casuale statico per evitare la memorizzazione nella cache del frontend mentre l'utente è connesso.Aggiungi un altro URL CDNAggiungiere un altro URLAdd another textAggiungi le classi comuni di WordPress nella mappatura del testoAggiungi percorsi che possono superare la sicurezza del pluginAggiungi percorsi che verranno bloccati per i paesi selezionati.Aggiungi reindirizzamenti per gli utenti loggati in base ai ruoli degli utenti.Aggiungi gli URL CDN che stai utilizzando nel plugin di cache.Percorso amministrativoAmministrazione SicurezzaBarra degli strumenti dell'amministratoreURL amministratoreNome utente amministratoreAvanzateAvanzateImpostazioni avanzateAfghanistanDopo aver aggiunto le classi, verifica il frontend per assicurarti che il tuo tema non sia stato influenzato.Dopo, clicca su %sSalva%s per applicare le modifiche.Sicurezza AjaxURL di AjaxIsole ÅlandAlbaniaEmail di avviso inviati.AlgeriaTutti i ContrattiTutto In Uno Sicurezza WPTutti i siti webTutti i file hanno le autorizzazioni corrette.Tutti i plugin sono compatibili.Tutti i plugin sono aggiornati.Tutti i plugin sono stati aggiornati dai loro sviluppatori negli ultimi 12 mesi.Tutti i log vengono salvati su Cloud per 30 giorni e il report è disponibile in caso di attacco al tuo sito web.Consenti Percorsi NascostiConsenti agli utenti di accedere all'account WooCommerce utilizzando il loro indirizzo email e un URL di accesso univoco inviato tramite email.Consenti agli utenti di accedere al sito web utilizzando il loro indirizzo email e un URL di accesso unico inviato tramite email.Consentire a chiunque di visualizzare tutti i file nella cartella Uploads con un browser permetterà loro di scaricare facilmente tutti i file che hai caricato. È una questione di sicurezza e di copyright.Samoa AmericanaAndorraAngolaAnguillaAntartideAntigua e BarbudaApacheAraboSei sicuro di voler ignorare questo compito in futuro?ArgentinaArmeniaArubaAttenzione! Alcuni URL sono passati attraverso le regole del file di configurazione e sono stati caricati tramite il rewrite di WordPress, il che potrebbe rallentare il tuo sito web. %s Si prega di seguire questo tutorial per risolvere il problema: %sAustraliaAustriaAutore PercorsoURL dell'autore tramite accesso IDAuto DetectAuto DetectReindirizzare automaticamente gli utenti loggati alla dashboard amministrativa.AutoptimizerAzerbaigianBackend sotto SSLImpostazioni di BackupBackup/RipristinoBackup/Restore ImpostazioniBahamasBahreinDurata del divietoBangladeshBarbadosAssicurati di includere solo URL interni e utilizza percorsi relativi quando possibile.Beaver BuilderBielorussiaBelgioBelizeBeninBermudaCordiali salutiBhutanBitnami rilevato. %sSi prega di leggere come rendere il plugin compatibile con l'hosting AWS%s.Lista neraBlacklist IP.Schermo vuoto durante il debug.Blocchi PaesiBlocca i nomi host.Blocca l'IP sulla pagina di accesso.Blocca ReferrerBlocca percorsi specifici.Blocca i rilevatori di temi dei crawler.Blocca gli User Agents.Blocca gli User-Agent conosciuti dai popolari rilevatori di temi.IP BloccatiRapporto degli indirizzi IP bloccatiBloccato daBoliviaBonaire, Saint Eustatius e SabaBosnia ed ErzegovinaBotswanaIsola BouvetBrasileInglese britannicoTerritorio Britannico dell'Oceano IndianoBrunei DarussalamForza brutaIndirizzi IP bloccati per forza brutaProtezione contro gli accessi forzatiProtezione da attacchi di forza brutaImpostazioni di Forza BrutaBulgariaBulgaroPlugin BulletProof! Assicurati di salvare le impostazioni in %s dopo aver attivato la Modalità BulletProof della Cartella Radice nel plugin BulletProof.Burkina FasoBurundiAttivando, accetti i nostri %sTermini di Utilizzo%s e la %sPolitica sulla Privacy%s.CDNCDN abilitato rilevato. Si prega di includere i percorsi %s e %s nelle Impostazioni del CDN Enabler.Rilevato CDN Enabler! Scopri come configurarlo con %s %sClicca qui%sURL CDNERRORE DI CONNESSIONE! Assicurati che il tuo sito web possa accedere a: %sCachare CSS, JS e immagini per aumentare la velocità di caricamento del frontend.Cache EnablerCambogiaCamerunNon riesco a scaricare il plugin.CanadaFrancese canadeseAnnullaAnnulla i login hooks da altri plugin e temi per evitare reindirizzamenti non desiderati durante il login.Capo VerdeCatalano ValencianoIsole CaymanRepubblica CentrafricanaChadCambiamentoModifica OpzioniCambia PercorsiCambia Percorsi OraModifica Percorsi per Utenti LoggatiModifica i percorsi nelle chiamate Ajax.Modifica i percorsi nei file memorizzati nella cache.Modifica i percorsi nel feed RSS.Modifica i percorsi nei file XML della mappa del sito.Modifica gli URL relativi in URL assoluti.Modifica i percorsi di WordPress mentre sei loggato.Modifica i percorsi nel feed RSS per tutte le immagini.Modifica i percorsi nei file Sitemap XML e rimuovi l'autore del plugin e gli stili.Modifica il Tagline in %s > %s > %sModifica i percorsi comuni di WordPress nei file memorizzati nella cache.Modifica il percorso di registrazione da %s %s a > Modifica Percorsi > URL di Registrazione Personalizzato%s o deseleziona l'opzione %s > %s > %sModifica il testo in tutti i file CSS e JS, inclusi quelli nei file memorizzati nella cache generati dai plugin di cache.Cambia l'utente 'admin' o 'amministratore' con un altro nome per migliorare la sicurezza.Modifica i permessi del file wp-config.php in Sola Lettura utilizzando il Gestore File.Modifica i percorsi comuni come wp-content, wp-includes con %s %s > Modifica Percorsi%sModifica il wp-login da %s %s > Modifica Percorsi > URL di accesso personalizzato%s e Attiva %s %s > Protezione da Attacchi Brute Force%sModificare gli header di sicurezza predefiniti potrebbe influenzare la funzionalità del sito web.Controlla Percorsi FrontendControlla il tuo sito web.Controlla gli aggiornamentiControlla se i percorsi del sito web funzionano correttamente.Controlla se il tuo sito web è protetto con le impostazioni attuali.Controlla il feed RSS %s %s e assicurati che i percorsi delle immagini siano stati modificati.Controlla il %s Sitemap XML %s e assicurati che i percorsi delle immagini siano stati modificati.Controlla la velocità di caricamento del sito web con lo strumento %sPingdom Tool%s.CileCinaScegli una password sicura per il database, lunga almeno 8 caratteri e composta da una combinazione di lettere, numeri e caratteri speciali. Dopo averla cambiata, imposta la nuova password nel file wp-config.php con il seguente codice: define('DB_PASSWORD', 'INSERISCI_LA_NUOVA_PASSWORD_DEL_DATABASE_QUI');Scegli i paesi in cui l'accesso al sito web dovrebbe essere limitato.Scegli il tipo di server che stai utilizzando per ottenere la configurazione più adatta al tuo server.Scegli cosa fare quando si accede da indirizzi IP in whitelist e percorsi in whitelist.Isola di NatalePagina di accesso pulitaClicca su %sContinua%s per impostare i percorsi predefiniti.Clicca su Backup e il download inizierà automaticamente. Puoi utilizzare il Backup per tutti i tuoi siti web.Fare clic per avviare il processo di modifica dei percorsi nei file di cache.Errore di chiusuraPannello CloudPannello Cloud rilevato. %sSi prega di leggere come rendere il plugin compatibile con l'hosting del Pannello Cloud%s.CntIsole Cocos (Keeling)ColombiaPercorso dei commentiComoreCompatibilitàImpostazioni di compatibilitàCompatibilità con il plugin Manage WPCompatibilità con i plugin di accesso basati su tokenCompatibile con il plugin All In One WP Security. Usali insieme per la scansione dei virus, il firewall e la protezione da attacchi di forza bruta.Compatibile con il plugin di cache JCH Optimize. Funziona con tutte le opzioni per ottimizzare CSS e JS.Compatibile con il plugin di sicurezza Solid. Usali insieme per lo Scanner del Sito, il Rilevamento dei Cambiamenti nei File e la Protezione dagli Attacchi Brute Force.Compatibile con il plugin di sicurezza Sucuri. Usali insieme per la scansione antivirus, il firewall e il monitoraggio dell'integrità dei file.Compatibile con il plugin di sicurezza Wordfence. Usali insieme per la scansione malware, il firewall e la protezione da attacchi di forza bruta.Compatibile con tutti i temi e plugin.Risposta completa.ConfigIl file di configurazione non è scrivibile. Crea il file se non esiste o copia nel file %s le seguenti righe: %sIl file di configurazione non è scrivibile. Crea il file se non esiste o copia le seguenti righe nel file %s: %sIl file di configurazione non è scrivibile. Devi aggiungerlo manualmente all'inizio del file %s: %sConferma l'uso di una password debole.CongoRepubblica Democratica del CongoCongratulazioni! Hai completato tutti i compiti di sicurezza. Assicurati di controllare il tuo sito una volta alla settimana.ContinuaConverti i link come /wp-content/* in %s/wp-content/*.Isole CookCopia il linkCopia %s l'URL SICURO %s e usalo per disattivare tutti i percorsi personalizzati se non riesci a effettuare l'accesso.Percorso dei Contenuti PrincipaliPercorso Include CoreCosta RicaCosta d'AvorioNon è stato possibile rilevare l'utenteNon è stato possibile risolverlo. È necessario modificarlo manualmente.Non è stato trovato nulla in base alla tua ricerca.Non è stato possibile effettuare l'accesso con questo utente.Impossibile rinominare la tabella %1$s. Potresti dover rinominare la tabella manualmente.Impossibile aggiornare i riferimenti del prefisso nella tabella delle opzioni.Impossibile aggiornare i riferimenti del prefisso nella tabella usermeta.Blocco del PaeseCreareCreare Nuovo Accesso TemporaneoCreare un URL di accesso temporaneo con qualsiasi ruolo utente per accedere al pannello di controllo del sito web senza username e password per un periodo di tempo limitato.Creare un URL di accesso temporaneo con qualsiasi ruolo utente per accedere al pannello di controllo del sito web senza username e password per un periodo di tempo limitato. %s Questo è utile quando è necessario concedere l'accesso amministrativo a un programmatore per supporto o per svolgere compiti di routine.CroaziaCroatoCubaCuracaoPercorso di Attivazione PersonalizzatoPercorso Amministrativo PersonalizzatoDirectory di Cache PersonalizzatoPercorso di accesso personalizzatoPercorso di Logout PersonalizzatoPercorso personalizzato per la password dimenticataPercorso di Registrazione PersonalizzatoParametro URL sicuro personalizzatoPercorso personalizzato admin-ajaxAutore personalizzato PathCommento personalizzato PathMessaggio personalizzato da mostrare agli utenti bloccati.Percorso dei plugin personalizzatiNome dello stile del tema personalizzatoPercorso dei temi personalizzatiPercorso di caricamento personalizzatoPercorso personalizzato wp-contentPercorso personalizzato di wp-includesPercorso personalizzato wp-jsonPersonalizza e proteggi tutti i percorsi di WordPress dagli attacchi dei bot hacker.Personalizza i nomi dei pluginPersonalizza i nomi dei temiPersonalizza gli URL CSS e JS nel corpo del tuo sito web.Personalizza gli ID e i nomi delle classi nel corpo del tuo sito web.CiproCecoRepubblica CecaModalità di Debug del DatabaseDaneseDashboardPrefisso DatabaseDataDisattivatoModalità debugPredefinitoReindirizzamento predefinito dopo il loginTempo di Scadenza Temporaneo PredefinitoRuolo Utente PredefinitoSlogan predefinito di WordPressRuolo utente predefinito per il quale verrà creato il login temporaneo.Elimina gli utenti temporanei durante la disinstallazione del plugin.Elimina utenteDanimarcaDettagliDirectoryDisabilita l'accesso al parametro "rest_route".Disabilita il messaggio di clic.Disabilita CopiaDisabilita Copia/IncollaDisabilita il messaggio di Copia/Incolla.Disabilita la funzione di Copia/Incolla per gli Utenti Loggati.Disabilita DISALLOW_FILE_EDIT per siti web attivi in wp-config.php define('DISALLOW_FILE_EDIT', true);Disabilita la visualizzazione delle directory.Disabilita il trascinamento e il rilascio delle immagini.Disabilita il messaggio di trascinamento e rilascio.Disabilita il trascinamento e il rilascio per gli utenti connessi.Disabilita l'ispezione degli elementi.Disabilita il messaggio "Ispeziona elemento".Disabilita l'ispezione degli elementi per gli utenti connessi.Disabilita OpzioniDisabilita l'incollaDisabilita l'accesso all'API REST.Disabilita l'accesso alla REST API per gli utenti non autenticati.Disabilita l'accesso all'API REST utilizzando il parametro 'rest_route'.Disabilita il punto di fine RSD da XML-RPC.Disabilita il clic destro.Disabilita il clic destro per gli utenti connessi.Disabilita SCRIPT_DEBUG per i siti web in produzione in wp-config.php define('SCRIPT_DEBUG', false);Disabilita Visualizza SorgenteDisabilita il messaggio "Visualizza sorgente".Disabilita Visualizza Sorgente per gli Utenti LoggatiDisabilita WP_DEBUG per i siti web in produzione in wp-config.php define('WP_DEBUG', false);Disabilita l'accesso XML-RPC.Disabilita la funzione di copia sul tuo sito web.Disabilita il trascinamento e rilascio delle immagini sul tuo sito web.Disabilita la funzione di incolla sul tuo sito web.Disabilita il supporto per la scoperta davvero semplice (Really Simple Discovery) per XML-RPC e rimuovi il tag RSD dall'intestazione.Disabilita l'accesso a /xmlrpc.php per prevenire %sattacchi di forza bruta tramite XML-RPC%s.Disabilita l'azione di copia/incolla sul tuo sito web.Disabilita le chiamate esterne al file xml-rpc.php e previeni gli attacchi di forza bruta.Disabilita la visualizzazione dell'elemento di ispezione sul tuo sito web.Disabilita l'azione del clic destro sul tuo sito web.Disabilita la funzionalità del clic destro sul tuo sito web.Disabilita la visualizzazione del codice sorgente sul tuo sito web.Mostrare qualsiasi tipo di informazione di debug nel frontend è estremamente negativo. Se si verificano errori PHP sul tuo sito, dovrebbero essere registrati in un luogo sicuro e non visualizzati ai visitatori o potenziali attaccanti.DjiboutiEffettua il reindirizzamento per l'accesso e la disconnessione.Non disconnetterti da questo browser fino a quando non sei sicuro che la pagina di accesso funzioni e che sarai in grado di accedere di nuovo.Non effettuare il logout dal tuo account fino a quando non sei sicuro che reCAPTCHA funzioni e che sarai in grado di effettuare nuovamente l'accesso.Vuoi eliminare l'utente temporaneo?Vuoi ripristinare le ultime impostazioni salvate?DominicaRepubblica DominicanaNon dimenticare di ricaricare il servizio Nginx.Non far visualizzare all'utente il nome di accesso nei URL come domain.com?author=1.Non permettere ai pirati informatici di visualizzare i contenuti delle directory. Vedi %sCartella Uploads%s.Non caricare le icone Emoji se non le utilizzi.Non caricare WLW se non hai configurato Windows Live Writer per il tuo sito.Non caricare il servizio oEmbed se non si utilizzano video oEmbed.Non selezionare alcun ruolo se desideri registrare tutti i ruoli degli utenti.Done!Scarica DebugDrupal 10Drupal 11Drupal 8Drupal 9OlandeseERRORE! Assicurati di utilizzare un token valido per attivare il plugin.ERRORE! Assicurati di utilizzare il token corretto per attivare il plugin.EcuadorModifica UtenteModifica utenteModifica wp-config.php e aggiungi ini_set('display_errors', 0); alla fine del file.EgittoEl SalvadorElementorEmailIndirizzo EmailNotifica emailL'indirizzo email esiste giàInvia un'email alla tua azienda di hosting e informali che desideri passare a una versione più recente di MySQL o trasferire il tuo sito web presso un'azienda di hosting migliore.Invia un'email alla tua azienda di hosting e informali che desideri passare a una versione più recente di PHP o trasferire il tuo sito web presso un'azienda di hosting migliore.VuotoReCaptcha vuoto. Si prega di completare il reCaptcha.Indirizzo email vuotoAbilitare questa opzione potrebbe rallentare il sito web, poiché i file CSS e JS verranno caricati dinamicamente anziché tramite riscritture, consentendo di modificare il testo al loro interno secondo necessità.IngleseInserisci il token di 32 caratteri dall'Ordine/Licenza su %s.Guinea EquatorialeEritreaErrore! Nessun backup da ripristinare.Errore! Il backup non è valido.Errore! I nuovi percorsi non si stanno caricando correttamente. Cancella tutta la cache e riprova.Errore! Impossibile ripristinare il preset.Errore: Hai inserito lo stesso URL due volte nella Mappatura degli URL. Abbiamo rimosso i duplicati per evitare eventuali errori di reindirizzamento.Errore: Hai inserito lo stesso testo due volte nella Mappatura del Testo. Abbiamo rimosso i duplicati per evitare eventuali errori di reindirizzamento.EstoniaEtiopiaEuropaAnche se i percorsi predefiniti sono protetti da %s dopo la personalizzazione, ti consigliamo di impostare i permessi corretti per tutte le cartelle e i file sul tuo sito web, utilizza il Gestore File o FTP per controllare e modificare i permessi. %sLeggi di più%sLog EventiRapporto del Registro degli EventiImpostazioni del registro eventiOgni bravo sviluppatore dovrebbe attivare il debug prima di iniziare a lavorare su un nuovo plugin o tema. Infatti, il WordPress Codex "raccomanda vivamente" agli sviluppatori di utilizzare SCRIPT_DEBUG. Purtroppo, molti sviluppatori dimenticano la modalità di debug anche quando il sito web è online. Mostrare i log di debug nel frontend permetterà ai pirati informatici di conoscere molto sul tuo sito web WordPress.Ogni bravo sviluppatore dovrebbe attivare il debug prima di iniziare a lavorare su un nuovo plugin o tema. In effetti, il Codice di WordPress 'raccomanda vivamente' che gli sviluppatori utilizzino WP_DEBUG.

Purtroppo, molti sviluppatori dimenticano la modalità di debug, anche quando il sito web è online. Mostrare i log di debug nel frontend permetterà ai pirati informatici di conoscere molto sul tuo sito web WordPress.Esempio:Tempo di ScadenzaScadutoScadeRivelare la versione di PHP renderà molto più facile l'attacco al tuo sito.Tentativi FallitiFallitoIsole Falkland (Malvine)Isole Fær ØerCaratteristicheFeed & SitemapSicurezza del FeedFijiPermessi del fileI permessi dei file in WordPress svolgono un ruolo critico nella sicurezza del sito web. Configurare correttamente questi permessi garantisce che utenti non autorizzati non possano accedere a file e dati sensibili.
Permessi errati possono involontariamente aprire il tuo sito web ad attacchi, rendendolo vulnerabile.
Come amministratore di WordPress, comprendere e impostare correttamente i permessi dei file è essenziale per proteggere il tuo sito da potenziali minacce.FileFiltroFinlandFirewallFirewall & IntestazioniFirewall Contro l'Injection di ScriptPosizione del firewallForza del firewallIl firewall contro le iniezioni è attivo.NomePrima, devi attivare la modalità %sSafe Mode%s o la modalità %sGhost Mode%s.Prima, devi attivare la modalità %sSafe Mode%s o %sGhost Mode%s in %s.Risolvere i permessiCorreggiCorreggere i permessi per tutte le directory e file (~ 1 min)Correggi i permessi per le directory principali e i file (~ 5 sec)VolanoRilevato volano. Aggiungi i reindirizzamenti nel pannello delle regole di reindirizzamento del volano %s.La cartella %s è navigabile.ForbiddenFranciaFranceseGuyana FrancesePolinesia FranceseTerritori Francesi del SudDa: %s <%s>Pagina frontaleTest di accesso al frontendTest FrontendTotalmente compatibile con il plugin di cache Autoptimizer. Funziona meglio con l'opzione Ottimizza/Aggrega file CSS e JS.Totalmente compatibile con il plugin Beaver Builder. Funziona al meglio insieme a un plugin di cache.Compatibile al 100% con il plugin Cache Enabler. Funziona meglio con l'opzione Minify CSS e JS.Totalmente compatibile con il plugin Elementor Website Builder. Funziona al meglio insieme a un plugin di cache.Totalmente compatibile con il plugin Fusion Builder di Avada. Funziona al meglio insieme a un plugin di cache.Compatibile al 100% con il plugin di cache Hummingbird. Funziona meglio con l'opzione Minify CSS e JS.Totalmente compatibile con il plugin LiteSpeed Cache. Funziona meglio con l'opzione Minify CSS e JS.Totalmente compatibile con il plugin Oxygen Builder. Funziona al meglio insieme a un plugin di cache.Compatibile al 100% con il plugin W3 Total Cache. Funziona meglio con l'opzione Minify CSS e JS files.Totalmente compatibile con il plugin WP Fastest Cache. Funziona meglio con l'opzione Minify CSS e JS files.Totalmente compatibile con il plugin di cache WP Super Cache.Compatibile al 100% con il plugin di cache WP-Rocket. Funziona meglio con l'opzione Minify/Combine CSS e JS files.Totalmente compatibile con il plugin Woocommerce.Costruttore FusionGabonGambiaGeneraleGeo SicurezzaLa Sicurezza Geografica è una funzionalità progettata per fermare gli attacchi provenienti da diversi paesi e porre fine alle attività dannose che provengono da regioni specifiche.GeorgiaTedesco (Deutsche)GermaniaGhanaModalità FantasmaModalità Fantasma + Firewall + Forza Bruta + Registro Eventi + Autenticazione a Due FattoriLa modalità Fantasma imposterà questi percorsi predefiniti.Modalità fantasmaGibilterraAssegna nomi casuali a ciascun plugin.Assegna nomi casuali a ciascun tema (funziona in WP multisito)Nome della classe globale rilevato: %s. Leggi prima questo articolo: %s.Vai al Pannello dei Log degli EventiVai alla Dashboard > sezione Aspetto e aggiorna tutti i temi all'ultima versione.Vai alla Dashboard > Sezione Plugin e aggiorna tutti i plugin all'ultima versione.GodaddyRilevato Godaddy! Per evitare errori CSS, assicurati di disattivare il CDN da %s.BuonoGoogle reCAPTCHA V2Google reCAPTCHA V3Google reCaptcha V3 non funziona con il modulo di accesso attuale di %s.Fantastico! Il backup è stato ripristinato.Fantastico! I valori iniziali sono ripristinati.Fantastico! I nuovi percorsi si stanno caricando correttamente.Ottimo! Il preset è stato caricato.GreciaGrecoGroenlandiaGrenadaGuadalupaGuamGuatemalaGuernseyGuineaGuinea-BissauGuyanaHaitiAvere l'URL dell'amministratore visibile nel codice sorgente è terribile perché i pirati informatici sapranno immediatamente il tuo percorso segreto dell'amministratore e inizieranno un attacco di forza bruta. Il percorso dell'amministratore personalizzato non dovrebbe comparire nell'URL ajax.

Trova soluzioni per %s nascondere il percorso dal codice sorgente %s.Avere l'URL di accesso visibile nel codice sorgente è terribile perché i pirati informatici sapranno immediatamente il tuo percorso segreto di accesso e inizieranno un attacco Brute Force.

Il percorso di accesso personalizzato dovrebbe essere mantenuto segreto e dovresti attivare la Protezione Brute Force per esso.

Trova soluzioni per %s nascondere il percorso di accesso dal codice sorgente qui %s.Avere questa direttiva PHP abilitata renderà il tuo sito vulnerabile agli attacchi cross-site (XSS).

Non c'è assolutamente alcuna ragione valida per abilitare questa direttiva, e utilizzare qualsiasi codice PHP che la richieda è molto rischioso.Sicurezza dell'intestazioneIntestazioni e firewallIsole Heard e McDonaldEbraicoAiuto e Domande frequentiEcco l'elenco dei paesi selezionati in cui il tuo sito web sarà limitato.NascostoNascondi Percorso "login"Nascondi "wp-admin"Nascondi "wp-admin" agli utenti non amministratori.Nascondi "wp-login.php"Nascondi il percorso /login ai visitatori.Nascondi il percorso /wp-admin agli utenti non amministratori.Nascondi il percorso /wp-admin ai visitatori.Nascondi il percorso /wp-login.php ai visitatori.Nascondi la barra degli strumenti dell'amministratoreNascondi la barra degli strumenti dell'amministratore per i ruoli degli utenti per impedire l'accesso al cruscotto.Nascondi tutti i plugin.Nascondi URL dell'ID dell'autoreNascondi File ComuniNascondi script EmbedNascondi EmoticonNascondi i tag dei Feed & Sitemap Link.Nascondi le estensioni dei file.Nascondi i commenti HTML.Nascondi gli ID dai tag META.Nascondi il selettore di linguaHide My WP GhostNascondi OpzioniNascondi Percorsi in Robots.txtNascondi i nomi dei pluginNascondi il link dell'URL della REST API.Nascondi i nomi dei temi.Nascondi la versione dalle immagini, CSS e JS in WordPress.Nascondi le versioni dalle immagini, CSS e JS.Nascondi script Manifest di WLW.Nascondi file comuni di WPNascondi Percorsi Comuni di WPNascondi file comuni di WordPressNascondi Percorsi Comuni di WordPressNascondi i tag META di Prefetch DNS di WordPress.Nascondi i tag META del generatore di WordPress.Nascondi Percorso Vecchi Plugin WordPressNascondi Percorso Vecchi Temi WordPressNascondi i percorsi comuni di WordPress dal file %s Robots.txt %s.Nascondi percorsi WordPress come wp-admin, wp-content e altro dal file robots.txt.Nascondi tutte le versioni alla fine dei file di immagine, CSS e JavaScript.Nascondi sia i plugin attivi che quelli disattivati.Nascondi attività completateNascondi passwordNascondi i tag /feed e /sitemap.xml.Nascondi il DNS Prefetch che punta a WordPress.Nascondi i commenti HTML lasciati dai temi e plugin.Nascondi gli ID da tutti i <link>, <style>, <script> e META Tag.Nascondi il percorso del nuovo amministratoreNascondi il nuovo percorso di accesso.Nascondi i tag META del generatore di WordPress.Nascondi la barra degli strumenti dell'amministratore per gli utenti loggati mentre sono nel frontend.Nascondi l'opzione di cambio lingua sulla pagina di accesso.Nascondi il nuovo percorso amministrativo ai visitatori. Mostra il nuovo percorso amministrativo solo agli utenti loggati.Nascondi il nuovo percorso di accesso ai visitatori. Mostra il nuovo percorso di accesso solo per l'accesso diretto.Nascondi i vecchi percorsi /wp-content, /wp-include una volta che sono stati cambiati con i nuovi.Nascondi i vecchi percorsi /wp-content, /wp-include una volta che sono stati sostituiti con quelli nuovi.Nascondi il vecchio percorso /wp-content/plugins una volta che è stato cambiato con il nuovo.Nascondi il vecchio percorso /wp-content/themes una volta che è stato cambiato con il nuovo.Nascondi wp-admin dall'URL di AjaxNascondi i file wp-config.php, wp-config-sample.php, readme.html, license.txt, upgrade.php e install.php.Nascondi i file wp-config.php, wp-config-sample.php, readme.html, license.txt, upgrade.php e install.php.Nascondi il tag del link wp-json e ?rest_route dall'intestazione del sito web.Nascondere l'ID dai tag meta in WordPress potrebbe potenzialmente influenzare il processo di caching dei plugin che si basano sull'identificazione dei tag meta.HindiSanta Sede (Città del Vaticano)HondurasHong KongNome HostPer quanto tempo il login temporaneo sarà disponibile dopo il primo accesso dell'utente.ColibrìUnghereseUngheriaIIS WindowsIIS rilevato. È necessario aggiornare il tuo file %s aggiungendo le seguenti righe dopo il tag <rules>: %sIPIP BloccatiIslandaSe il reCAPTCHA mostra degli errori, assicurati di correggerli prima di procedere.Se le regole di riscrittura non vengono caricate correttamente nel file di configurazione, non caricare il plugin e non modificare i percorsi.Se sei connesso con l'utente admin, dovrai effettuare nuovamente l'accesso dopo la modifica.Se non riesci a configurare %s, passa alla Modalità Disattivata e %scontattaci%s.Se non riesci a configurare reCAPTCHA, passa alla protezione Math reCaptcha.Se non hai un sito di e-commerce, di iscrizioni o di guest posting, non dovresti permettere agli utenti di iscriversi al tuo blog. Finirai per avere registrazioni di spam e il tuo sito sarà pieno di contenuti e commenti spam.Se hai accesso al file php.ini, imposta allow_url_include = off oppure contatta la società di hosting per disattivarlo.Se hai accesso al file php.ini, imposta expose_php = off oppure contatta la società di hosting per disattivarlo.Se hai accesso al file php.ini, imposta register_globals = off oppure contatta la società di hosting per disattivarlo.Se hai accesso al file php.ini, imposta safe_mode = off oppure contatta la società di hosting per disattivarlo.Se noti qualche problema di funzionalità, seleziona la modalità %sSafe Mode%s.Se sei in grado di accedere, hai impostato correttamente i nuovi percorsi.Se sei in grado di effettuare l'accesso, hai impostato correttamente reCAPTCHA.Se non stai utilizzando Windows Live Writer, non c'è davvero alcuna ragione valida per avere il suo link nell'intestazione della pagina, poiché questo informa tutto il mondo che stai utilizzando WordPress.Se non stai utilizzando servizi di scoperta molto semplici come i pingback, non c'è bisogno di pubblicizzare quel punto di accesso (link) nell'intestazione. Tieni presente che per la maggior parte dei siti questo non è un problema di sicurezza perché "vogliono essere scoperti", ma se desideri nascondere il fatto che stai utilizzando WP, questa è la strada da seguire.Se il tuo sito consente l'accesso degli utenti, è importante che la pagina di accesso sia facilmente individuabile per gli utenti. Inoltre, è necessario adottare altre misure per proteggersi dai tentativi di accesso malevoli.

Tuttavia, l'oscurità può rappresentare un valido strato di sicurezza quando utilizzata come parte di una strategia di sicurezza completa, se desideri ridurre il numero di tentativi di accesso malevoli. Rendere difficile trovare la pagina di accesso è un modo per farlo.Ignora compito di sicurezzaBlocca immediatamente i nomi utente errati sui moduli di accesso.Nel file .htaccessIn passato, il nome utente predefinito dell'amministratore di WordPress era 'admin' o 'administrator'. Poiché i nomi utente costituiscono metà delle credenziali di accesso, ciò facilitava ai pirati informatici lanciare attacchi di forza bruta.

Fortunatamente, WordPress ha successivamente modificato questo aspetto e ora ti richiede di selezionare un nome utente personalizzato al momento dell'installazione di WordPress.Effettivamente Ultimate Membership Pro rilevato. Il plugin non supporta percorsi personalizzati %s poiché non utilizza le funzioni di WordPress per chiamare l'URL di Ajax.IndiaIndonesiaIndonesianoInfoIn movimentoRilevato movimento. %sSi prega di leggere come rendere il plugin compatibile con Inmotion Nginx Cache%s.Installa/AttivaIntegrazione con altri plugin CDN e URL CDN personalizzati.ReCaptcha non valido. Si prega di completare reCaptcha.Indirizzo email non validoNome non valido rilevato: %s. Aggiungi solo il nome del percorso finale per evitare errori di WordPress.Nome non valido rilevato: %s. Il nome non può terminare con / per evitare errori di WordPress.Nome non valido rilevato: %s. Il nome non può iniziare con / per evitare errori di WordPress.Nome non valido rilevato: %s. I percorsi non possono terminare con . per evitare errori di WordPress.Nome non valido rilevato: %s. Devi utilizzare un altro nome per evitare errori di WordPress.Nome utente non valido.Iran, Repubblica Islamica dell'IranIraqIrlandaIsola di ManIsraeleÈ importante %s salvare le impostazioni ogni volta che le modifichi %s. Puoi utilizzare il backup per configurare altri siti web di tua proprietà.È importante nascondere o rimuovere il file readme.html perché contiene dettagli sulla versione di WP.È importante nascondere i percorsi comuni di WordPress per prevenire attacchi a plugin e temi vulnerabili.
Inoltre, è importante nascondere i nomi dei plugin e dei temi per rendere impossibile ai bot rilevarli.È importante rinominare i percorsi comuni di WordPress, come wp-content e wp-includes, per evitare che i pirati informatici sappiano che hai un sito web WordPress.Non è sicuro avere l'opzione Database Debug attivata. Assicurati di non utilizzare il debug del database su siti web attivi.ItalianoItaliaJCH Ottimizza CacheGiamaicaGiapponeseGiapponeIl JavaScript è disabilitato sul tuo browser! Devi attivare il JavaScript per poter utilizzare il plugin %s.MagliaJoomla 3Joomla 4Joomla 5JordanSolo un altro sito WordPressKazakistanKenyaKiribatiSapere cosa stanno facendo gli altri utenti sul tuo sito web.CoreanoKosovoKuwaitKirghizistanLinguaRepubblica Democratica Popolare del LaosStatistiche di sicurezza degli ultimi 30 giorniUltimo AccessoCognomeUltimo controllo:Caricamento ritardatoLettoniaLettoneImpara ComeImpara Come Aggiungere il CodiceImpara come disabilitare %sDirectory Browsing%s o attivare %s %s > Modifica Percorsi > Disabilita Directory Browsing%sImpara come impostare il tuo sito web come %s. %sClicca qui%s.Impara come configurare su Local & Nginx.Impara come configurare sul server Nginx.Impara come utilizzare il shortcode.Scopri di più suScopri di più sul firewall %s 7G %s.Scopri di più sul %s firewall 8G %s.Leave it blank if you don't want to display any messageLascialo vuoto per bloccare tutti i percorsi per i paesi selezionati.LibanoLesothoPortiamo la tua sicurezza al livello successivo!Livello di SicurezzaLivelli di sicurezzaLiberiaLibica Araba JamahiriyaToken di licenzaLiechtensteinLimita il numero di tentativi di accesso consentiti utilizzando il modulo di accesso normale.LiteSpeedLiteSpeed CacheLituaniaLituanoCarica Impostazione predefinitaCarica impostazioni di sicurezzaCarica dopo che tutti i plugin sono stati caricati. Sul gancio "template_redirects".Carica prima che tutti i plugin siano caricati. Sul gancio "plugins_loaded".Carica la lingua personalizzata se è installata la lingua locale di WordPress.Carica il plugin come plugin Must Use.Carica quando i plugin vengono inizializzati. Sul gancio "init".Local & NGINX rilevati. Nel caso tu non abbia già aggiunto il codice nella configurazione di NGINX, ti prego di aggiungere la seguente riga. %sLocale di FlywheelPosizioneBloccare utenteMessaggio di bloccoRegistra i Ruoli degli UtentiRegistra gli eventi degli utentiReindirizzamenti per l'accesso e il logoutAccesso bloccato daPercorso di accessoURL di reindirizzamento LoginSicurezza accessoTest di accessoURL di accessoUrl di reindirizzamento di LogoutProtezione del modulo di recupero passwordLussemburgoMacaoMadagascarAccesso tramite link magicoAssicurati che gli URL di reindirizzamento esistano sul tuo sito web. %sL'URL di reindirizzamento del ruolo utente ha una priorità maggiore rispetto all'URL predefinito di reindirizzamento.Assicurati di sapere cosa stai facendo quando modifichi gli header.Assicurati di salvare le impostazioni e svuotare la cache prima di controllare il tuo sito web con il nostro strumento.MalawiMalesiaMaldiveMaliMaltaGestire la Protezione da Attacchi di Forza BrutaGestire i reindirizzamenti per l'accesso e la disconnessione.Gestire gli indirizzi IP nella whitelist e nella blacklist.Blocca/sblocca manualmente gli indirizzi IP.Personalizzare manualmente ciascun nome del plugin e sovrascrivere il nome casuale.Personalizzare manualmente ciascun nome del tema e sovrascrivere il nome casuale.Aggiungi manualmente gli indirizzi IP fidati alla whitelist.MappaturaIsole MarshallMartinicaVerifica matematica e Google reCaptcha durante l'accesso.Math reCAPTCHAMauritaniaMauritiusNumero massimo di tentativi fallitiMayotteMedioAbbonamentoMessicoMicronesia, Stati Federati diMinimaleMinimale (Nessuna riscrittura della configurazione)Moldova, Repubblica diMonacoMongoliaMonitora tutto ciò che accade sul tuo sito WordPress!Monitorare, tracciare e registrare gli eventi sul tuo sito web.MontenegroMontserratPiù AiutoPiù informazioni su %sPiù opzioniMaroccoLa maggior parte delle installazioni di WordPress sono ospitate sui popolari server web Apache, Nginx e IIS.MozambicoDeve utilizzare il caricamento del pluginIl mio accountMyanmarVersione di MySQLNGINX rilevato. Nel caso non avessi già aggiunto il codice nella configurazione di NGINX, per favore aggiungi la seguente riga. %sNomeNamibiaNauruNepalPaesi BassiNuova CaledoniaNuovi dati di accessoNuovo Plugin/Tema rilevato! Aggiorna le impostazioni di %s per nasconderlo. %sClicca qui%sNuova ZelandaPasso successivoNginxNicaraguaNigerNigeriaNiueNoNessuna simulazione CMSNessun aggiornamento recente rilasciato.Nessun indirizzo IP in lista nera.Nessun registro trovato.Nessun accesso temporaneo.No, abortNumero di secondiIsola NorfolkCaricamento normaleDi solito, l'opzione per bloccare i visitatori dal navigare nelle directory del server è attivata dall'host tramite la configurazione del server, e attivarla due volte nel file di configurazione potrebbe causare errori, quindi è meglio controllare prima se la %sCartella Uploads%s è visibile.Corea del NordMacedonia del Nord, Repubblica diIsole Marianne SettentrionaliNorvegiaNorvegeseNon ancora connesso.Nota che questa opzione non attiverà il CDN per il tuo sito web, ma aggiornerà i percorsi personalizzati se hai già impostato un URL CDN con un altro plugin.Nota! %sI percorsi NON cambiano fisicamente%s sul tuo server.Nota! Il plugin utilizzerà WP cron per modificare i percorsi in background una volta che i file di cache sono stati creati.Nota: Se non riesci a accedere al tuo sito, accedi semplicemente a questo URL.Impostazioni delle notificheVa bene, l'ho configurato.OmanAlla inizializzazione del sito webUna volta acquistato il plugin, riceverai le credenziali %s per il tuo account via email.Un GiornoUn'oraUn MeseUna settimanaUn AnnoUno dei file più importanti nella tua installazione di WordPress è il file wp-config.php.
Questo file si trova nella directory principale della tua installazione di WordPress e contiene i dettagli di configurazione di base del tuo sito web, come le informazioni di connessione al database.Modifica questa opzione solo se il plugin non riesce a identificare correttamente il tipo di server.Ottimizza i file CSS e JS.Opzione per informare l'utente sulle tentativi rimanenti sulla pagina di accesso.OpzioniPlugin obsoletiTemi obsoletiPanoramicaOssigenoVersione PHPPHP allow_url_include è attivoPHP expose_php è attivo.PHP register_globals è attivoIl safe mode di PHP era uno dei tentativi per risolvere i problemi di sicurezza dei server di hosting web condivisi.

Alcuni fornitori di hosting web lo utilizzano ancora, tuttavia, al giorno d'oggi è considerato improprio. Un approccio sistematico dimostra che è architetturalmente scorretto cercare di risolvere problemi di sicurezza complessi a livello di PHP, piuttosto che a livello di server web e sistema operativo.

Tecnicamente, il safe mode è una direttiva di PHP che limita il modo in cui alcune funzioni PHP integrate operano. Il problema principale qui è l'incoerenza. Quando è attivato, il safe mode di PHP può impedire a molte funzioni PHP legittime di funzionare correttamente. Allo stesso tempo, esistono varie modalità per aggirare le limitazioni del safe mode utilizzando funzioni PHP non limitate, quindi se un hacker è già entrato - il safe mode è inutile.Il `safe_mode` di PHP è attivo.Pagina non trovataPakistanPalauTerritorio PalestinesePanamaPapua Nuova GuineaParaguayPassatoPercorso non consentito. Evita percorsi come plugin e temi.Percorsi e OpzioniI percorsi sono stati modificati nei file di cache esistenti.Metto in pausa per 5 minuti.PermalinksPersianoPerùFilippinePitcairnFammi sapere se non acconsenti a memorizzare i dati sul nostro Cloud, ti preghiamo gentilmente di evitare di attivare questa funzione.Per favore, visita %s per controllare il tuo acquisto e ottenere il token di licenza.Hook di caricamento del pluginPath dei PluginsSicurezza dei pluginImpostazioni pluginsI plugin che non sono stati aggiornati negli ultimi 12 mesi possono avere veri problemi di sicurezza. Assicurati di utilizzare plugin aggiornati dal WordPress Directory.L'editor di Plugins/Themes è disabilitato.PoloniaPolaccoPortogalloPortogheseSicurezza preimpostataPrevenire la rottura del layout del sito web.Caricamento prioritarioProtegge il tuo negozio WooCommerce dagli attacchi di login a forza bruta.Protegge il tuo sito web contro gli attacchi di accesso Brute Force utilizzando %s. Un comune rischio che i web developer affrontano è un attacco di indovinamento della password noto come attacco Brute Force. Un attacco Brute Force è un tentativo di scoprire una password provando sistematicamente ogni possibile combinazione di lettere, numeri e simboli fino a scoprire la combinazione corretta che funziona.Protegge il tuo sito web contro gli attacchi di accesso Brute Force.Protegge il tuo sito web contro gli attacchi di login a forza bruta.Dimostra la tua umanità:Puerto RicoQatarRisoluzione rapidaRDS è visibile.Numero Statico CasualeRiattivare l'utente per 1 giornoReindirizzamento Dopo il LoginRidirigere Percorsi NascostiReindirizza gli utenti loggati alla dashboard.Reindirizzare gli utenti temporanei a una pagina personalizzata dopo il login.Reindirizzare i percorsi protetti /wp-admin, /wp-login verso una Pagina o attivare un Errore HTML.Reindirizzare l'utente a una pagina personalizzata dopo il login.ReindirizzamentiRimuoviRimuovi la versione di PHP, le informazioni sul server e la firma del server dall'intestazione.Rimuovi gli autori dei plugin e lo stile nel Sitemap XML.Rimuovere Intestazioni Non SicureRimuovi il tag del link del pingback dall'intestazione del sito web.Rinomina il file readme.html oppure attiva %s %s > Modifica Percorsi > Nascondi File Comuni di WordPress%sRinomina i file wp-admin/install.php e wp-admin/upgrade.php oppure attiva %s %s > Cambia Percorsi > Nascondi Percorsi Comuni di WordPress%sRinnovareRipristinoRipristina ImpostazioniLa risoluzione dei nomi host potrebbe influenzare la velocità di caricamento del sito web.Ripristina backupRipristina ImpostazioniRiprendi SicurezzaRiunioneSicurezza dei RobotRuoloRipristina impostazioniRipristina tutte le impostazioni del plugin ai valori iniziali.RomaniaRumenoEsegui il Test Frontend %s %s per verificare se i nuovi percorsi funzionano.Esegui %s il test di accesso %s e accedi nella finestra popup.Esegui il test %sreCAPTCHA%s e accedi nella finestra popup.Esegui un controllo di sicurezza completo.RussoFederazione RussaRuandaSSL è un'abbreviazione utilizzata per Secure Sockets Layers, che sono protocolli di crittografia utilizzati su Internet per proteggere lo scambio di informazioni e fornire informazioni sui certificati.

Questi certificati forniscono all'utente una garanzia sull'identità del sito web con cui stanno comunicando. SSL può anche essere chiamato TLS o protocollo di sicurezza del livello di trasporto.

È importante avere una connessione sicura per il Pannello di Amministrazione in WordPress.Modalità provvisoriaModalità provvisoria + Firewall + Forza bruta + Registro eventi + Autenticazione a due fattoriModalità provvisoria + Firewall + Impostazioni di compatibilitàLa modalità provvisoria imposterà questi percorsi predefiniti.URL sicuro:Modalità sicuraSan BartolomeoSant'ElenaSaint Kitts e NevisSanta LuciaSan MartinoSaint Pierre e MiquelonSaint Vincent e GrenadineSalts e chiavi di sicurezza valideSamoaSan MarinoSao Tome e PrincipeArabia SauditaSalvatoSalva Registro DebugSalvare UtenteSalvatoSalvato! Questo compito verrà ignorato nei test futuri.Salvato! Puoi eseguire nuovamente il test.Modalità di debug dello scriptRicercaCerca nel registro eventi dell'utente e gestisci gli avvisi via email.Chiave segretaChiavi segrete per %sGoogle reCAPTCHA%s.Percorsi WP SicuriControllo di sicurezzaChiavi di sicurezza aggiornateStato di sicurezzaLe chiavi di sicurezza sono definite in wp-config.php come costanti sulle righe. Dovrebbero essere il più uniche e lunghe possibile. AUTH_KEY,SECURE_AUTH_KEY,LOGGED_IN_KEY,NONCE_KEY,AUTH_SALT,SECURE_AUTH_SALT,LOGGED_IN_SALT,NONCE_SALTLe chiavi di sicurezza vengono utilizzate per garantire una migliore crittografia delle informazioni memorizzate nei cookie dell'utente e nelle password hashate.

Queste rendono il tuo sito più difficile da violare, accedere e craccare aggiungendo elementi casuali alla password. Non è necessario ricordare queste chiavi. Infatti, una volta impostate, non le vedrai mai più. Pertanto, non c'è scusa per non impostarle correttamente.Guarda le azioni degli ultimi giorni su questo sito web...Seleziona Impostazione predefinitaSelezionare i ruoli degli utentiSeleziona una configurazione di sicurezza predefinita che abbiamo testato sulla maggior parte dei siti web.Seleziona tuttoSeleziona per quanto tempo il login temporaneo sarà disponibile dopo il primo accesso dell'utente.Seleziona le estensioni dei file che desideri nascondere sui vecchi percorsi.Seleziona i file che desideri nascondere nei vecchi percorsi.Paesi SelezionatiInviami un'email con gli URL amministrativi e di accesso modificati.SenegalSerbiaSerboTipo di serverImposta Directory Cache PersonalizzataImposta reindirizzamenti per l'accesso e il logout in base ai ruoli degli utenti.Imposta il ruolo dell'utente attuale.Imposta il sito web per il quale desideri che questo utente venga creato.ImpostazioniSeychellesNome breve rilevato: %s. È necessario utilizzare percorsi univoci con più di 4 caratteri per evitare errori di WordPress.MostrareMostra /%s invece di /%sMostra Opzioni AvanzateMostra Percorsi Predefiniti e Consenti Percorsi NascostiMostra percorsi predefiniti e permetti tutto.Mostra schermata vuota quando Inspect Element è attivo sul browser.Mostra attività completateMostra attività ignorate.Mostra il messaggio invece del modulo di accesso.Mostra passwordSierra LeoneProtezione del modulo di registrazioneCinese semplificatoSimulare CMSSingaporeSint MaartenChiave SitoChiavi del sito per %sGoogle reCaptcha%s.SiteGroundSicurezza della mappa del sitoSei mesiSlovaccoSlovacchiaSlovenoSloveniaSicurezza solidaIsole SalomoneSomaliaAlcuni plugin potrebbero rimuovere le regole di riscrittura personalizzate dal file .htaccess, specialmente se è modificabile, il che potrebbe influire sul funzionamento dei percorsi personalizzati.Alcuni temi non funzionano con percorsi personalizzati per l'Admin e Ajax. In caso di errori Ajax, torna a wp-admin e admin-ajax.php.Mi dispiace, non ti è consentito accedere a questa pagina.Sud AfricaIsole Georgia del Sud e Isole Sandwich MeridionaliCorea del SudSpagnaGli spammer possono iscriversi facilmente.SpagnoloSri LankaInizia scansione.Sucuri SecuritySudanSuper AmministratoreSurinameSvalbard e Jan MayenEswatiniSveziaSvedeseAttiva %s %s > Cambia Percorsi > Nascondi Percorsi Comuni di WordPress%sAttiva %s %s > Modifica Percorsi > Disabilita l'accesso XML-RPC%sAttiva %s %s > Cambia Percorsi > Nascondi URL ID Autore%sAttiva %s %s > Cambia Percorsi > Nascondi Endpoint RSD%sAttiva %s %s > Cambia Percorsi > Nascondi File Comuni di WordPress%sAttiva %s %s > Modifica Percorsi > Nascondi wp-admin dall'URL ajax%s. Nascondi ogni riferimento al percorso admin dai plugin installati.Attiva %s %s > Personalizzazioni > %s %sAttiva %s %s > Regolazioni > Nascondi script Manifest di WLW%sSvizzeraRepubblica Araba SirianaSloganTaiwanTagikistanTanzania, Repubblica Unita diAccesso temporaneoImpostazioni di Accesso TemporaneeAccessi temporaneiTesta gli header del tuo sito web conMappatura testo e URLMappatura del testoMappatura del testo nei file CSS e JS, compresi i file memorizzati nella cache.Mappatura del testo solo Classi, ID, variabili JSThailandeseTailandiaGrazie per aver utilizzato %s!La sezione %s è stata spostata %s qui %sLa modalità Fantasma aggiungerà le regole di riscrittura nel file di configurazione per nascondere i vecchi percorsi agli hacker.Il REST API è cruciale per molti plugin poiché consente loro di interagire con il database di WordPress e di eseguire varie azioni in modo programmato.La modalità sicura aggiungerà le regole di riscrittura nel file di configurazione per nascondere i vecchi percorsi agli hacker.Il Safe URL disattiverà tutti i percorsi personalizzati. Usalo solo se non riesci a effettuare l'accesso.Il database di WordPress è come il cervello del tuo intero sito WordPress, poiché ogni singolo dettaglio sul tuo sito è memorizzato lì, rendendolo così il bersaglio preferito degli hacker.

Spammer e hacker eseguono codice automatizzato per le iniezioni SQL.
Purtroppo, molte persone dimenticano di cambiare il prefisso del database quando installano WordPress.
Ciò rende più facile per gli hacker pianificare un attacco di massa prendendo di mira il prefisso predefinito wp_.Il tagline del sito WordPress è una breve frase posizionata sotto il titolo del sito, simile a un sottotitolo o slogan pubblicitario. L'obiettivo di un tagline è comunicare l'essenza del tuo sito ai visitatori.

Se non modifichi il tagline predefinito, sarà molto facile rilevare che il tuo sito è stato effettivamente creato con WordPress.La costante ADMIN_COOKIE_PATH è definita in wp-config.php da un altro plugin. Non puoi modificare %s a meno che non rimuovi la riga define('ADMIN_COOKIE_PATH', ...);.L'elenco dei plugin e dei temi è stato aggiornato con successo!Il modo più comune per hackerare un sito web è accedere al dominio e aggiungere query dannose per rivelare informazioni dai file e dal database.
Questi attacchi vengono effettuati su qualsiasi sito web, WordPress o meno, e se un attacco ha successo... probabilmente sarà troppo tardi per salvare il sito web.Il file editor dei plugin e dei temi è uno strumento molto comodo poiché ti consente di apportare modifiche rapide senza dover utilizzare FTP.

Purtroppo, è anche un problema di sicurezza poiché non solo mostra il codice sorgente PHP, ma consente anche agli attaccanti di iniettare codice maligno nel tuo sito se riescono ad accedere all'amministrazione.Il processo è stato bloccato dal firewall del sito web.L'URL richiesto %s non è stato trovato su questo server.Il parametro di risposta non è valido.Il parametro segreto non è valido.Il parametro segreto è mancante.Le chiavi di sicurezza in wp-config.php dovrebbero essere rinnovate il più spesso possibile.Temi PercorsoTemi SicurezzaI temi sono aggiornati.Si è verificato un errore critico sul tuo sito web.Si è verificato un errore critico sul tuo sito web. Controlla la tua casella di posta elettronica dell'amministratore del sito per le istruzioni.C'è un errore di configurazione nel plugin. Si prega di salvare nuovamente le impostazioni e seguire le istruzioni.È disponibile una versione più recente di WordPress ({versione}).La cronologia degli aggiornamenti non è disponibile.Non esiste nulla come una "password non importante"! Lo stesso vale per la password del database di WordPress. Anche se la maggior parte dei server è configurata in modo che il database non possa essere accessibile da altri host (o dall'esterno della rete locale), ciò non significa che la password del tuo database debba essere "12345" o non esistere affatto.Questa fantastica funzionalità non è inclusa nel plugin base. Vuoi sbloccarla? Basta installare o attivare il Pacchetto Avanzato e godere delle nuove funzionalità di sicurezza.Questo è uno dei problemi di sicurezza più grandi che puoi avere sul tuo sito! Se la tua azienda di hosting ha questa direttiva abilitata per impostazione predefinita, passa immediatamente a un'altra azienda!Questo potrebbe non funzionare con tutti i nuovi dispositivi mobili.Questa opzione aggiungerà regole di riscrittura al file .htaccess nell'area delle regole di riscrittura di WordPress tra i commenti # BEGIN WordPress e # END WordPress.Questo impedirà di mostrare i vecchi percorsi quando un'immagine o un font viene richiamato tramite ajax.Tre GiorniTre OreTimor-LestePer modificare i percorsi nei file memorizzati nella cache, attivare %sCambia Percorsi nei File Memorizzati nella Cache%s.Per nascondere la libreria Avada, ti prego di aggiungere l'Avada FUSION_LIBRARY_URL nel file wp-config.php dopo la riga $table_prefix: %sPer migliorare la sicurezza del tuo sito web, considera di rimuovere autori e stili che puntano a WordPress nel tuo sitemap XML.TogoTokelauTongaMonitorare e registrare gli eventi del sito web e ricevere allerte di sicurezza via email.Monitorare e registrare gli eventi che avvengono sul tuo sito WordPress.Cinese tradizionaleTrinidad e TobagoRisoluzione dei problemiTunisiaTurchiaTurcoTurkmenistanIsole Turks e CaicosDisattiva i plugin di debug se il tuo sito web è online. Puoi anche aggiungere l'opzione per nascondere gli errori del database global $wpdb; $wpdb->hide_errors(); nel file wp-config.php.TuvaluTweaksAutenticazione a due fattoriMappatura URLUgandaUcrainaUcrainoUltimate Affiliate Pro rilevato. Il plugin non supporta percorsi personalizzati %s in quanto non utilizza le funzioni di WordPress per chiamare l'URL di Ajax.Non posso aggiornare il file wp-config.php per modificare il prefisso del database.AnnullaEmirati Arabi UnitiRegno UnitoStati UnitiIsole Minori Esterne degli Stati UnitiAggiornamento sconosciuto stato checker "%s"Sblocca tuttoAggiorna le impostazioni su %s per aggiornare i percorsi dopo aver modificato il percorso dell'API REST.AggiornatoCarica il file con le impostazioni del plugin salvate.Percorso per i caricamenti datiAzioni di sicurezza urgenti richiesteUruguayUtilizzare la Protezione da Forza BrutaUtilizzare accessi temporanei.Utilizza il shortcode %s per integrarlo con altri moduli di accesso.UtenteUtente 'admin' o 'amministratore' come AmministratoreAzione dell'utenteRegistro eventi utenteRuolo utenteSicurezza UtenteL'utente non ha potuto essere attivato.Impossibile aggiungere l'utenteL'utente non può essere eliminato.L'utente non può essere disabilitato.Ruoli utente per chi disabilitare il Right-ClickRuoli utente per chi disabilitare il copia/incollaRuoli utente per chi disabilitare il trascinamento e il rilascio.Ruoli utente per chi disabilitare l'ispezione dell'elementoRuoli utente per chi disabilitare la visualizzazione del codice sorgente.Ruoli utente per chi nascondere la barra degli strumenti dell'amministratore.Utente attivato con successo.Utente creato con successo.Utente eliminato con successo.Utente disabilitato con successo.Utente aggiornato con successo.I nomi utente (a differenza delle password) non sono segreti. Sapendo il nome utente di qualcuno, non è possibile accedere al suo account. È necessaria anche la password.

Tuttavia, conoscendo il nome utente, si è un passo più vicini ad accedere utilizzando il nome utente per forzare la password, o per ottenere l'accesso in modo simile.

Per questo motivo, è consigliabile mantenere privata almeno in parte la lista dei nomi utente. Per impostazione predefinita, accedendo a siteurl.com/?author={id} e ciclando attraverso gli ID da 1 si può ottenere un elenco di nomi utente, poiché WP ti reindirizzerà a siteurl.com/author/user/ se l'ID esiste nel sistema.Utilizzare una vecchia versione di MySQL rende il tuo sito lento e vulnerabile agli attacchi informatici a causa delle vulnerabilità note presenti nelle versioni di MySQL non più supportate.

Hai bisogno di Mysql 5.4 o superiore.Utilizzare una vecchia versione di PHP rende il tuo sito lento e vulnerabile agli attacchi informatici a causa delle vulnerabilità note presenti nelle versioni di PHP non più supportate.

Hai bisogno di PHP 7.4 o superiore per il tuo sito web.UzbekistanValidoValoreVanuatuVenezuelaVersioni nel Codice SorgenteVietnamVietnamitaVedi dettagliIsole Vergini BritannicheIsole Vergini Americane.W3 Total CacheSicurezza del Core di WPModalità di debug WPWP EngineWP Fastest CacheWP RocketWP Super CacheWP Super Cache ha rilevato CDN. Si prega di includere i percorsi %s e %s in WP Super Cache > CDN > Directory di inclusione.WPBakery Page BuilderWPPluginsWallis e FutunaNome debole rilevato: %s. È necessario utilizzare un altro nome per aumentare la sicurezza del tuo sito web.Sito webSahara OccidentaleDove aggiungere le regole del firewall.WhitelistWhitelist IPsOpzioni della lista biancaPercorsi della whitelistWindows Live Writer è attivo.Accesso sicuro a WooCommerceSupporto WooCommerceWoocommerceWoocommerce Magic LinkPassword del Database di WordPressPermessi predefiniti di WordPressControllo di sicurezza di WordPressVersione WordPressWordPress XML-RPC è una specifica che mira a standardizzare le comunicazioni tra sistemi diversi. Utilizza HTTP come meccanismo di trasporto e XML come meccanismo di codifica per consentire la trasmissione di una vasta gamma di dati.

I due principali punti di forza dell'API sono la sua estendibilità e la sua sicurezza. XML-RPC si autentica utilizzando l'autenticazione di base. Invia il nome utente e la password con ogni richiesta, il che è assolutamente da evitare nei circoli della sicurezza.WordPress e i suoi plugin e temi sono come qualsiasi altro software installato sul tuo computer, e come qualsiasi altra applicazione sui tuoi dispositivi. Periodicamente gli sviluppatori rilasciano aggiornamenti che forniscono nuove funzionalità o correggono bug noti.

Nuove funzionalità potrebbero essere qualcosa che non desideri necessariamente. Infatti, potresti essere perfettamente soddisfatto delle funzionalità attuali che hai. Tuttavia, potresti comunque essere preoccupato per i bug.

I bug del software possono presentarsi in molte forme e dimensioni. Un bug potrebbe essere molto grave, come impedire agli utenti di utilizzare un plugin, oppure potrebbe essere un bug minore che interessa solo una parte specifica di un tema, ad esempio. In alcuni casi, i bug possono addirittura causare gravi falle di sicurezza.

Mantenere aggiornati i temi è uno dei modi più importanti e facili per mantenere sicuro il tuo sito.WordPress e i suoi plugin e temi sono come qualsiasi altro software installato sul tuo computer, e come qualsiasi altra applicazione sui tuoi dispositivi. Periodicamente, gli sviluppatori rilasciano aggiornamenti che forniscono nuove funzionalità o correggono bug noti.

Queste nuove funzionalità potrebbero non essere necessariamente ciò che desideri. Infatti, potresti essere perfettamente soddisfatto delle funzionalità attuali che hai. Tuttavia, è probabile che tu sia comunque preoccupato per i bug.

I bug del software possono presentarsi in molte forme e dimensioni. Un bug potrebbe essere molto grave, come impedire agli utenti di utilizzare un plugin, oppure potrebbe essere di lieve entità e interessare solo una parte di un tema, ad esempio. In alcuni casi, i bug possono causare gravi falle di sicurezza.

Mantenere aggiornati i plugin è uno dei modi più importanti e facili per mantenere sicuro il tuo sito.WordPress è ben noto per la sua facilità di installazione.
È importante nascondere i file wp-admin/install.php e wp-admin/upgrade.php poiché ci sono già stati alcuni problemi di sicurezza riguardanti questi file.WordPress, i plugin e i temi aggiungono le informazioni sulla loro versione al codice sorgente, quindi chiunque può vederle.

Gli hacker possono facilmente individuare un sito web con plugin o temi di versioni vulnerabili e prendere di mira questi con Exploit Zero-Day.Sicurezza WordfenceWpEngine rilevato. Aggiungi i reindirizzamenti nel pannello delle regole di reindirizzamento di WpEngine %s.Protezione del Nome Utente ErratoSicurezza XML-RPCL'accesso XML-RPC è attivoYemenSìSì, sta funzionando.Hai già definito una directory diversa per wp-content/uploads in wp-config.php %sPuoi bloccare un singolo indirizzo IP come 192.168.0.1 oppure un intervallo di 245 IP come 192.168.0.*. Questi IP non potranno accedere alla pagina di accesso.Puoi creare una nuova pagina e poi decidere se reindirizzare a quella pagina.Puoi generare %snuove chiavi da qui%s AUTH_KEY,SECURE_AUTH_KEY,LOGGED_IN_KEY,NONCE_KEY,AUTH_SALT,SECURE_AUTH_SALT,LOGGED_IN_SALT,NONCE_SALTPuoi ora disattivare l'opzione '%s'.Puoi impostare per ricevere email di allerta di sicurezza e prevenire la perdita di dati.Puoi inserire in lista bianca un singolo indirizzo IP come 192.168.0.1 oppure un intervallo di 245 IP come 192.168.0.*. Trova il tuo IP con %s.Non puoi impostare sia ADMIN che LOGIN con lo stesso nome. Per favore utilizza nomi diversi.Non hai il permesso di accedere a %s su questo server.Devi attivare la Riscrittura URL per IIS per poter modificare la struttura dei permalink in URL amichevoli (senza index.php). %sUlteriori dettagli%sDevi impostare un numero positivo di tentativi.Devi impostare un tempo di attesa positivo.È necessario impostare la struttura dei permalink su URL amichevoli (senza index.php).Dovresti sempre aggiornare WordPress alle %sultime versioni%s. Queste di solito includono le ultime correzioni di sicurezza e non modificano in modo significativo WP. Queste dovrebbero essere applicate non appena WP le rilascia.

Quando è disponibile una nuova versione di WordPress, riceverai un messaggio di aggiornamento sulle schermate di amministrazione di WordPress. Per aggiornare WordPress, fai clic sul link in questo messaggio.Dovresti controllare il tuo sito web ogni settimana per vedere se ci sono stati cambiamenti in termini di sicurezza.Il tuo %s %s licenza è scaduta il %s %s. Per mantenere aggiornata la sicurezza del tuo sito web, assicurati di avere una sottoscrizione valida su %saccount.hidemywpghost.com%s.Il tuo IP è stato segnalato per potenziali violazioni di sicurezza. Ti prego di riprovare tra poco...L'URL del tuo amministratore non può essere modificato sull'hosting %s a causa dei termini di sicurezza %s.L'URL del tuo amministratore è stato modificato da un altro plugin/tema in %s. Per attivare questa opzione, disabilita l'amministrazione personalizzata nell'altro plugin o disattivalo.L'URL di accesso è stata modificata da un altro plugin/tema in %s. Per attivare questa opzione, disabilita l'accesso personalizzato nell'altro plugin o disattivalo.Il tuo URL di accesso è: %sIl tuo URL di accesso sarà: %s Nel caso in cui non riesci ad accedere, utilizza l'URL sicuro: %sLa tua nuova password non è stata salvata.I nuovi URL del tuo sito sono:La sicurezza del tuo sito web %sè estremamente debole%s. %sMolte porte per hacker sono disponibili.La sicurezza del tuo sito web %sè molto debole%s. %sMolte porte per hacker sono aperte.La sicurezza del tuo sito web sta migliorando. %sAssicurati solo di completare tutti i compiti di sicurezza.La sicurezza del tuo sito web è ancora debole. %sAlcune delle principali porte per gli hacker sono ancora disponibili.La sicurezza del tuo sito web è solida. %sContinua a controllare la sicurezza ogni settimana.ZambiaZimbabweattivare funzionedopo il primo accessoGià attivo.scuropredefinitodirettiva PHP `display_errors`e.g. *.colocrossing.come.g. /carrello/Ad esempio, /cart/ permetterà tutte le route che iniziano con /cart/.e.g. /checkout/Ad esempio, /post-type/ bloccherà tutti i percorsi che iniziano con /post-type/.e.g. acapbote.g. alexibote.g. badsite.come.g. gigabote.g. kanagawa.come.g. xanax.comes.es. /logout oes. amm, indietroes. ajax, jsones. aspetto, modelli, stilies. commenti, discussionees. nucleo, srl, includerees. disable_url, safe_urles. immagini, filees. json, api, chiamataes. libreria, bibliotecaes. accesso o accessoes. disconnettersi o sloggarsies. lostpass o forgotpasses. main.css, theme.css, design.csses. modulies. collegamento di attivazione multisitoes. nuovo utente o registraties. profilo, usr, scrittoredalaiutohttps://hidemywp.comIgnora l'avviso.I file install.php e upgrade.php sono accessibili.chiaroregistroregistrimostra più dettagliNon raccomandato.solo %d caratterioNessuna corrispondenzaMedioEfficienza password sconosciutaForteMolto deboleDeboleTest reCAPTCHATest reCAPTCHA V2Test reCAPTCHA V3Lingua reCaptchatema reCaptchaIl file readme.html è accessibile.Consigliatoreindirizzamentivedere funzionalitàInizia configurazione della funzionalitàÈ disponibile una nuova versione del plugin %s.Non è stato possibile determinare se è disponibile un aggiornamento di %s.Il plugin %s è aggiornato.aTroppo sempliceI file wp-config.php e wp-config-sample.php sono accessibili.languages/hide-my-wp-ja_JP.mo000064400000540466147600042240012026 0ustar003)LSooeo pp pe:p%ppppPqhqXqTr>qr>rMr2=s)psBsEs#t tMtDuau eu ou}uu uu u uuePv)v v v v8w?xFxOxxyy0yJy%_yCyTyGz;fz5zLz%{{{L{"|<)|/f|%|||'|}7-}$e}R}!}}5~SQ~~~~,~':/7j3    . @XL+ р߀  $ ;'HpGdSrfjقD  4;8B { MW _k A ܅ %=E M ZePnΆֆކ T \ ftŇԇ6 Q] p|! ƈԈۈ (@]t ~ (I0zL~Fˊ7@S ϋ֋Y GRds Ō4%Q-w(J΍"6<ksdߎQDIUq6M 10;bCF5)_ekFm_Rgx/e@ ` l`xٕݕ  "#9,]ray_nٗpH' ej[^ƙ%B%HanК7ٚ  Y( 1ڛ. ;G[45؜&A͝ʞҞ۞(:Mg|(П %8Lc{@Р371ipv   šСء%@?*  Ǣ!Ӣ +#Fnj٣ "'Jb( ɤ/8!Jl$c $9[^%Ѧ)&!ZHP.O#0s/5Ԩ, 7}"v%/=mv)@F,;Hh87"( 7 AKT]DcF \ h n z ȮPׯ+ݯ ̰1԰ =N](sձuIDzвײ ̳޳bkU ʶֶ޶N 5CJ ft} nt{!ӹ% ?EV6;&M/}  ˻  t"Uc_Q^gexU޾d4f2m3)  =* * 5 ?7`;WUCO Fe'+   %/8 ?MTZ\w! KTYk${1"&)P?c2E]t 1%=Wl%""7AQyF(; P)^.5M;S&k:3UVWSTHWGfgk7  K  +5 =gI Yv!UIF8y`rxMqF8=8=~5Z6 ^M7^-RO-Q}PR s ]Bzhzf )2;B ^io4x    ( 4AH PZlt3#"9\{##7= JR+Z C *4 D N Ye@{=>%96_v  (2BQb{    .9_KR[dio!)$A@@( 6  );C JU\|7. - 8 CM gtY|   n H  + 1;AINQc~   . 5?Q9e#;Z go x R= JRcs| 2"1:@V]nw6~)  '0D  1B )GAXk88?x  "65Ul+ >->l1Yz9&+3=qy>12&>FY` + <5 -r )          +  E f         1 " 1 C 5J  %       -b @ R8O.6  $1?q5 g>C['q&<"% H Vc{   #   '6FN|/c ,   ' -9B Ycj?r954">W| 64 kw  /7<,t,aV`RHGu8]U4 !2A!/t!-! !J! >"J"Z"0p"k"h #<v# #B#%%.a&&Y)' ' ' 'T'u'uq((((F(7A)y)))))) )))*** *** **\o++++ +$,"(, K,LV,,., , ,--+-<@-}-0- -- - --..7.-S.,.+.1.- /,:/g/////c/U2:3 +464<4B4 J4T4l4 t4 44444 4 44 5 5i55 55W566 &6 G6 Q6_6q6666 6667#7<7N7:9>Q<?m@NAMaAAAAAAAP B\BKB6C!CCCt7DQD:D9E.E(EL!FnFRGDHaHODII$JJHJ%K9KPPKKK^KZLLILLLMM%M4M9MAM^M vM8MM>M N N%N 6NCNUNdNhN wNNNNNNNO"O3OGO`O${O OOOOOPP P.'PVP\P`P ePrP PPPP+PP Q(Q?QNQ`QrQQQ Q Q QQ=QE(R-nRR R9RRU|V 2W eefnflg`ggrh*Jiuit|iWilIj_jSk$jk6kIk<l{MlDlmAm;mQnjn+ o'6o^oZooZoZ%pxpZpTqdqq qqqqqqrLrrs s"s-2s`sss)ssKs9!t3[tqtu'uu|v;Lwx x x xx$x xyHyZymy }y8yzzz z { '{l4{ {{6{{|$3| X|b| r|||T||} #} 0} =}G}W} ^}k}}#~92~l~'~)~~~--={k& 9<F$   €π!!&;9*uށ ΂ۂkMol *h4$'L\6l Ʌم'І $"$>6c"E1?53uKKA<É`aJߌk <6!W:Wqw\DԐ 'Wch![0{;͕$ Ж ږ(B cI֘CEH[b՜'a  0g:!Ԟe0ɟN<I<àTQc #$*ON1 --5!T*v'N7$$Ц$.Lg'!\3\  3F\x3$$-3NaW!*:ALT3ի+1 ]R3H<|Kc-i4[̮$(!M6ohcLs<ܰ9ZM4ҲH`PN}c}dWZ:QQ9 KTUz06C zJlopihڼrC! ޽ '7M|c  !79JMBU+qV ?0[?&fV+J@fx  % 2 ?ZL6 !4 S`Lv ' K4!!Zw&|0L^S[$( ($G lz*9)TiA|     rTw<]2k96|)Z=?6K?[    " 5 BeL`''ZJQ#oE'?QA9I3K6)@6_*T0(G-p>);HnS A` 60=F:E?dEr`0 *;MfNgik3? :Il]Olriuh=H" x)  k ncl{b95$ XT4KS 04 fe #   (ZCE ,Ki!! >H [eu:) )     f)   )$ +9 LY i!v`QG>09'jII7&o^  N4P l'yu P Z t  0 9 o!ur!u!V^"b"###!#!#*$0D$1u$*$$$$ %*%@%$P%'u%% %%!%%&^' ''(( ('$(NL(S(G(o7)i)\*n*~**7*** ++ 5+B+R+ Y+f++'++ + +N+Z-,,,!,,, ---0--..*.. . . . ../H//x////// / /0/6"0JY0!0-0011-1iC1 22222'373=4@4l4 L5*Y5 55h56 6 (626:61A6s7&7f"888888888699S9;9-=!=> )>3> L>V>r>>l>>K? [?|?? ????iQ@$@@$@A1AI*BtBBBB!BQB.C\ACCJuEWE"F;F NF[FnFF@F$F'GZ)GlGG`HHIuI`I0I^ JJKK KKiKiLL'LLLLLHMIMYM}lMiM`TNBN NO O"OQoQ?QQQ R,R!?RaR-tRRR'R9R00S aSkS{SSS$SSST TZ`T$TTWT?U,XUUU3U!UV4-WTbY-YY{ZZoZW[EY[[`[ \ #\0\@\6V\{\3 ]T=]]]]Q^1X^^E^B^r2_3_!_T_P`i`$|``````1 a>a'Wa aaaaaaa a bc`cd?+dkd rd9ddddd ee .e6;ereee\e_ fUkfafa#gg4Thch hhi&i-i@i\iuiiNi$i!j>j=j jk9k9Hkxkkl[mmpmrBHss;ufvSDwLw[w4AxavxxxyB ycyozHsz0zz}}Z~;yi pz4ԁ  W0!܃  !3> r| Åօr % > K$X,}-d؇=fP3Ј-0Bns SC_~<-0BL6=ƋNKSNN<=0z03܍0uA28#9@ DQ'a !$ؔ ' BL ]gv$=ޖ <;#Q'u2!'!@.b"'ܘ&AY?!=_4z ç^A0D]i  |I߬?El6~).ܲke)e9IzewXu '>!W y ȹiԹ>aN  ˺ܺ2E8T!#ӻ%7NFm! ּ+ 5.d ku!F * -6d s }!ľ˾߾ 23 fs0Dǿ_ $lQKYV~" W{7]meBAmHnW9}02e3^B+v+k-tNY`0)uRz&?1(*f%X!$ #> 1/ qH& fBL bzVa*gMe, 'b$=" mTarxiDHqD&TgNu>"wzU#w%-Z-]%<dR9 k1^ALl\p2H-SFo+w5|dkQauW2K]A57:nR},|~)=I7^:W\I 8y oKD .}E !.</nM.z:YN6WR$58|Og,0;' |ZJ*@r3,4eyOsPJQui!R vS~MLGcV;cJhov QXE\M c: 2-+F4 Gsd%(SjIZs> P?atuj|Jxwi{[Y1*4@y.Dp7 5(<?8)lAt,XO2 9-i5v0GPSe{=t^~_[@$_%h*"#~/l^04; xCfl!9 ,(" 6E <Y6 U0>{*F vP]oZJXB_lgE'_!qd@p%p&kT(I\=Q1&[C 9Um#mjx3"sG:N'}yI)bnd`Uf+)h.'ctL3&C=j+rr]@n8Zc oK#;4EOQhKhKFV `}CM# `2DLjCS[ kV{6br?b3w!s_/\/1)N[<i/Ty?8z'XF;UH>.AxaP7qgTGB`p6  (O$qf3$ #1 Hack Prevention Security Solution: Hide WP CMS, 7G/8G Firewall, Brute Force Protection, 2FA, GEO Security, Temporary Logins, Alerts & more.%1$s is deprecated since version %2$s! Use %3$s instead. Please consider writing more inclusive code.%d %s ago%d %s remaining%s days since last update%s does not work without mode_rewrite. Please activate the rewrite module in Apache. %sMore details%s%s don't have the correct permission.%s is visible in source code%s path is accessible%s plugin(s) are outdated: %s%s plugin(s) have NOT been updated by their developers in the past 12 months: %s%s protects your website from most SQL injections but, if possible, use a custom prefix for database tables to avoid SQL injections. %sRead more%s%s rules are not saved in the config file and this may affect the website loading speed.%s theme(s) are outdated: %s%sClick here%s to create or view keys for Google reCAPTCHA v2.%sClick here%s to create or view keys for Google reCAPTCHA v3.%sERROR:%s Email or Password is incorrect. %s %d attempts left before lockout%sHide the login path%s from theme menu or widget.%sIncorrect ReCaptcha%s. Please try again%sNOTE:%s If you didn't receive the credentials, please access %s.%sYou failed to correctly answer the math problem.%s Please try again(* the plugin has no extra cost, gets installed / activated automatically inside WP when you click the button, and uses the same account)(multiple options are available)(useful when the theme is adding wrong admin redirects or infinite redirects)(works only with the custom admin-ajax path to avoid infinite loops)2FA2FA Login403 Forbidden403 HTML Error404 HTML Error404 Not Found404 page7G Firewall8G FirewallA feature designed to stops attacks from different countries, and to put an end to harmful activity that comes from specific regions.A thorough set of rules can prevent many types of SQL Injection and URL hacks from being interpreted.A user already exists with that username.API SecurityAPI SettingsAWS BitnamiAccording to %sGoogle latest stats%s, over %s 30k websites are hacked every day %s and %s over 30% of them are made in WordPress %s. %s It's better to prevent an attack than to spend a lot of money and time to recover your data after an attack not to mention the situation when your clients' data are stolen.ActionActivateActivate 'Must Use Plugin Loading' from 'Plugin Loading Hook' to be able to connect to your dashboard directly from managewp.com. %s click here %sActivate Brute Force ProtectionActivate Events LogActivate Log Users EventsActivate Temporary LoginsActivate Your PluginActivate info and logs for debugging.Activate the "Brute Force" option to see the user IP blocked reportActivate the "Log Users Events" option to see the user activity log for this websiteActivate the Brute Force protection for Woocommerce login/signup forms.Activate the Brute Force protection on lost password forms.Activate the Brute Force protection on sign up forms.Activate the firewall and prevent many types of SQL Injection and URL hacks.Activate the firewall and select the firewall strength that works for your website %s %s > Change Paths > Firewall & Headers %sActivation HelpAddAdd IP addresses that should always be blocked from accessing this website.Add Content-Security-Policy headerAdd Headers Security against XSS and Code Injection Attacks.Add IP addresses that can pass plugin security.Add IPs that can pass plugin securityAdd New Temporary LoginAdd New Temporary Login UserAdd Rewrites in WordPress Rules SectionAdd Security HeaderAdd Security Headers for XSS and Code Injection AttacksAdd Strict-Transport-Security headerAdd Two Factor security on login page with Code Scan or Email Code authentication.Add X-Content-Type-Options headerAdd X-XSS-Protection headerAdd a list of URLs you want to replace with new ones.Add a random static number to prevent frontend caching while the user is logged in.Add another CDN URLAdd another URLAdd another textAdd common WordPress classes in text mappingAdd paths that can pass plugin securityAdd paths that will be blocked for the selected countries.Add redirects for the logged users based on user roles.Add the CDN URLs you're using in the cache plugin. Admin PathAdmin SecurityAdmin ToolbarAdmin URLAdmin UsernameAdvancedAdvanced PackAdvanced SettingsAfghanistanAfter adding the classes, verify the frontend to ensure that your theme is not affected.After, click %sSave%s to apply the changes.Ajax SecurityAjax URLAland IslandsAlbaniaAlert Emails SentAlgeriaAll ActionsAll In One WP SecurityAll WebsitesAll files have the correct permissions.All plugins are compatibleAll plugins are up to dateAll plugins have been updated by their developers in the past 12 monthsAll the logs are saved on Cloud for 30 days and the report is available if your website is attacked.Allow Hidden PathsAllow users to log in to WooCommerce account using their email address and a unique login URL delivered via email.Allow users to log in to the website using their email address and a unique login URL delivered via email.Allowing anyone to view all files in the Uploads folder with a browser will allow them to easily download all your uploaded files. It's a security and a copyright issue.American SamoaAndorraAngolaAnguillaAntarcticaAntigua and BarbudaApacheArabicAre you sure you want to ignore this task in the future?ArgentinaArmeniaArubaAttention! Some URLs passed through the config file rules and were loaded through WordPress rewrite which may slow down your website. %s Please follow this tutorial to fix the issue: %sAustraliaAustriaAuthor PathAuthor URL by ID accessAuto DetectAutodetectAutomatically redirect the logged in users to the admin dashboardAutoptimizerAzerbaijanBackend under SSLBackup SettingsBackup/RestoreBackup/Restore SettingsBahamasBahrainBan durationBangladeshBarbadosBe sure to include only internal URLs, and use relative paths whenever possible.Beaver BuilderBelarusBelgiumBelizeBeninBermudaBest regardsBhutanBitnami detected. %sPlease read how to make the plugin compatible with AWS hosting%sBlacklistBlacklist IPsBlank Screen On DebuggingBlock CountriesBlock HostnamesBlock IP on login pageBlock ReferrerBlock Specific PathsBlock Theme Detectors CrawlersBlock User AgentsBlock known Users-Agents from popular Theme Detectors.Blocked IPsBlocked IPs ReportBlocked by BoliviaBonaire, Saint Eustatius and SabaBosnia and HerzegovinaBotswanaBouvet IslandBrazilBritish EnglishBritish Indian Ocean TerritoryBrunei DarussalamBrute ForceBrute Force IPs BlockedBrute Force Login ProtectionBrute Force ProtectionBrute Force SettingsBulgariaBulgarianBulletProof plugin! Make sure you save the settings in %s after activating Root Folder BulletProof Mode in BulletProof plugin.Burkina FasoBurundiBy activating, you agree to our %s Terms of Use %s and %sPrivacy Policy%sCDNCDN Enabled detected. Please include %s and %s paths in CDN Enabler SettingsCDN Enabler detected! Learn how to configure it with %s %sClick here%sCDN URLsCONNECTION ERROR! Make sure your website can access: %sCache CSS, JS and Images to increase the frontend loading speed.Cache EnablerCambodiaCameroonCan't download the plugin.CanadaCanadian FrenchCancelCancel the login hooks from other plugins and themes to prevent unwanted login redirects.Cape VerdeCatalan ValencianCayman IslandsCentral African RepublicChadChangeChange OptionsChange PathsChange Paths NowChange Paths for Logged UsersChange Paths in Ajax CallsChange Paths in Cached FilesChange Paths in RSS feedChange Paths in Sitemaps XMLChange Relative URLs to Absolute URLsChange WordPress paths while you're logged inChange paths in RSS feed for all images.Change paths in Sitemap XML files and remove the plugin author and styles.Change the Tagline in %s > %s > %sChange the WordPress common paths in the cached files.Change the signup path from %s %s > Change Paths > Custom Register URL%s or uncheck the option %s > %s > %sChange the text in all CSS and JS files, including those in cached files generated by cache plugins.Change the user 'admin' or 'administrator' with another name to improve security.Change the wp-config.php file permission to Read-Only using File Manager.Change the wp-content, wp-includes and other common paths with %s %s > Change Paths%sChange the wp-login from %s %s > Change Paths > Custom login URL%s and Switch on %s %s > Brute Force Protection%sChanging the predefined security headers may affect the website funtionality.Check Frontend PathsCheck Your WebsiteCheck for updatesCheck if the website paths are working correctly.Check if your website is secured with the current settings.Check the %s RSS feed %s and make sure the image paths are changed.Check the %s Sitemap XML %s and make sure the image paths are changed.Check the website loading speed with %sPingdom Tool%sChileChinaChoose a proper database password, at least 8 characters long with a combination of letters, numbers and special characters. After you change it, set the new password in the wp-config.php file define('DB_PASSWORD', 'NEW_DB_PASSWORD_GOES_HERE');Choose the countries where access to the website should be restricted.Choose the type of server you are using to get the most suitable configuration for your server.Chose what to do when accessing from whitelist IP addresses and whitelisted paths.Christmas IslandClean Login PageClick %sContinue%s to set the predefined paths.Click Backup and the download will start automatically. You can use the Backup for all your websites.Click to run the process to change the paths in the cache files.Close ErrorCloud PanelCloud Panel detected. %sPlease read how to make the plugin compatible with Cloud Panel hosting%sCntCocos (Keeling) IslandsColombiaComments PathComorosCompatibilityCompatibility SettingsCompatibility with Manage WP pluginCompatibility with Token Based Login pluginsCompatible with All In One WP Security plugin. Use them together for Virus Scan, Firewall, Brute Force protection.Compatible with JCH Optimize Cache plugin. Works with all the options to optimize for CSS and JS.Compatible with Solid Security plugin. Use them together for Site Scanner, File Change Detection, Brute Force Protection.Compatible with Sucuri Security plugin. Use them together for Virus Scan, Firewall, File Integrity Monitoring.Compatible with Wordfence Security plugin. Use them together for Malware Scan, Firewall, Brute Force protection.Compatible with all themes and plugins.Complete FixConfigConfig file is not writable. Create the file if not exists or copy to %s file the following lines: %sConfig file is not writable. Create the file if not exists or copy to %s file with the following lines: %sConfig file is not writable. You have to added it manually at the beginning of the %s file: %sConfirm use of weak passwordCongoCongo, The Democratic Republic of theCongratulations! You completed all the security tasks. Make sure you check your site once a week.ContinueConvert links like /wp-content/* into %s/wp-content/*.Cook IslandsCopy LinkCopy the %s SAFE URL %s and use it to deactivate all the custom paths if you can't login.Core Contents PathCore Includes PathCosta RicaCote dIvoireCould not detect the userCould not fix it. You need to change it manually.Could not found anything based on your search.Could not login with this user.Could not rename table %1$s. You may have to rename the table manually.Could not update prefix references in options table.Could not update prefix references in usermeta table.Country BlockingCreateCreate New Temporary LoginCreate a temporary login URL with any user role to access the website dashboard without username and password for a limited period of time.Create a temporary login URL with any user role to access the website dashboard without username and password for a limited period of time. %s This is useful when you need to give admin access to a developer for support or for performing routine tasks.CroatiaCroatianCubaCuracaoCustom Activation PathCustom Admin PathCustom Cache DirectoryCustom Login PathCustom Logout PathCustom Lost Password PathCustom Register PathCustom Safe URL ParamCustom admin-ajax PathCustom author PathCustom comment PathCustom message to show to blocked users.Custom plugins PathCustom theme style nameCustom themes PathCustom uploads PathCustom wp-content PathCustom wp-includes PathCustom wp-json PathCustomize & Secure all WordPress paths from hacker bots attacks.Customize Plugin NamesCustomize Theme NamesCustomize the CSS and JS URLs in your website body.Customize the IDs and Class names in your website body.CyprusCzechCzech RepublicDB Debug ModeDanishDashboardDatabase PrefixDateDeactivatedDebug ModeDefaultDefault Redirect After LoginDefault Temporary Expire TimeDefault User RoleDefault WordPress TaglineDefault user role for which the temporary login will be created.Delete Temporary Users on Plugin UninstallDelete userDenmarkDetailsDirectoriesDisable "rest_route" param accessDisable Click MessageDisable CopyDisable Copy/PasteDisable Copy/Paste MessageDisable Copy/Paste for Logged UsersDisable DISALLOW_FILE_EDIT for live websites in wp-config.php define('DISALLOW_FILE_EDIT', true);Disable Directory BrowsingDisable Drag/Drop ImagesDisable Drag/Drop MessageDisable Drag/Drop for Logged UsersDisable Inspect ElementDisable Inspect Element MessageDisable Inspect Element for Logged UsersDisable OptionsDisable PasteDisable REST API accessDisable REST API access for not logged in usersDisable REST API access using the parameter 'rest_route'Disable RSD Endpoint from XML-RPCDisable Right-ClickDisable Right-Click for Logged UsersDisable SCRIPT_DEBUG for live websites in wp-config.php define('SCRIPT_DEBUG', false);Disable View SourceDisable View Source MessageDisable View Source for Logged UsersDisable WP_DEBUG for live websites in wp-config.php define('WP_DEBUG', false);Disable XML-RPC accessDisable copy function on your websiteDisable image drag & drop on your websiteDisable paste function on your websiteDisable the RSD (Really Simple Discovery) support for XML-RPC & remove RSD tag from headerDisable the access to /xmlrpc.php to prevent %sBrute force attacks via XML-RPC%sDisable the copy/paste action on your website.Disable the external calls to xml-rpc.php file and prevent Brute Force attacks.Disable the inspect element view on your websiteDisable the right-click action on your website.Disable the right-click functionality on your websiteDisable the source-code view on your websiteDisplaying any kind of debug info in the frontend is extremely bad. If any PHP errors happen on your site they should be logged in a safe place and not displayed to visitors or potential attackers.DjiboutiDo Login & Logout RedirectsDo not log out from this browser until you are confident that the Log in page is working and you will be able to login again.Do not logout from your account until you are confident that reCAPTCHA is working and you will be able to login again.Do you want to delete temporary user?Do you want to restore the last saved settings?DominicaDominican RepublicDon't forget to reload the Nginx service.Don't let URLs like domain.com?author=1 show the user login nameDon't let hackers see any directory content. See %sUploads Directory%sDon't load Emoji Icons if you don't use themDon't load WLW if you didn't configure Windows Live Writer for your siteDon't load oEmbed service if you don't use oEmbed videosDon't select any role if you want to log all user rolesDone!Download DebugDrupal 10Drupal 11Drupal 8Drupal 9DutchERROR! Please make sure you use a valid token to activate the pluginERROR! Please make sure you use the right token to activate the pluginEcuadorEdit UserEdit userEdit wp-config.php and add ini_set('display_errors', 0); at the end of the fileEgyptEl SalvadorElementorEmailEmail AddressEmail NotificationEmail address already existsEmail your hosting company and tell them you'd like to switch to a newer version of MySQL or move your site to a better hosting companyEmail your hosting company and tell them you'd like to switch to a newer version of PHP or move your site to a better hosting company.EmptyEmpty ReCaptcha. Please complete reCaptcha.Empty email addressEnabling this option may slow down the website, as CSS and JS files will load dynamically instead of through rewrites, allowing the text within them to be modified as needed.EnglishEnter the 32 chars token from Order/Licence on %sEquatorial GuineaEritreaError! No backup to restore.Error! The backup is not valid.Error! The new paths are not loading correctly. Clear all cache and try again.Error! The preset could not be restored.Error: You entered the same URL twice in the URL Mapping. We removed the duplicates to prevent any redirect errors.Error: You entered the same text twice in the Text Mapping. We removed the duplicates to prevent any redirect errors.EstoniaEthiopiaEuropeEven if the default paths are protected by %s after customization, we recommend setting the correct permissions for all directories and files on your website, use File Manager or FTP to check and change the permissions. %sRead more%sEvents LogEvents Log ReportEvents Log SettingsEvery good developer should turn on debugging before getting started on a new plugin or theme. In fact, the WordPress Codex 'highly recommends' that developers use SCRIPT_DEBUG. Unfortunately, many developers forget the debug mode even when the website is live. Showing debug logs in the frontend will let hackers know a lot about your WordPress website.Every good developer should turn on debugging before getting started on a new plugin or theme. In fact, the WordPress Codex 'highly recommends' that developers use WP_DEBUG.

Unfortunately, many developers forget the debug mode, even when the website is live. Showing debug logs in the frontend will let hackers know a lot about your WordPress website.Example:Expire TimeExpiredExpiresExposing the PHP version will make the job of attacking your site much easier.Fail AttemptsFailedFalkland Islands (Malvinas)Faroe IslandsFeaturesFeed & SitemapFeed SecurityFijiFile PermissionsFile permissions in WordPress play a critical role in website security. Properly configuring these permissions ensures that unauthorized users cannot gain access to sensitive files and data.
Incorrect permissions can inadvertently open your website to attacks, making it vulnerable.
As a WordPress administrator, understanding and correctly setting file permissions are essential for safeguarding your site against potential threats.FilesFilterFinlandFirewallFirewall & HeadersFirewall Against Script InjectionFirewall LocationFirewall StrengthFirewall against injections is loadedFirst NameFirst, you need to activate the %sSafe Mode%s or %sGhost Mode%sFirst, you need to activate the %sSafe Mode%s or %sGhost Mode%s in %sFix PermissionsFix itFix permission for all directories and files (~ 1 min)Fix permission for the main directories and files (~ 5 sec)FlywheelFlywheel detected. Add the redirects in the Flywheel Redirect rules panel %s.Folder %s is browsableForbiddenFranceFrenchFrench GuianaFrench PolynesiaFrench Southern TerritoriesFrom: %s <%s>Front pageFrontend Login TestFrontend TestFully compatible with Autoptimizer cache plugin. Works best with the the option Optimize/Aggregate CSS and JS files.Fully compatible with Beaver Builder plugin. Works best together with a cache plugin.Fully compatible with Cache Enabler plugin. Works best with the the option Minify CSS and JS files.Fully compatible with Elementor Website Builder plugin. Works best together with a cache pluginFully compatible with Fusion Builder plugin by Avada. Works best together with a cache plugin.Fully compatible with Hummingbird cache plugin. Works best with the the option Minify CSS and JS files.Fully compatible with LiteSpeed Cache plugin. Works best with the the option Minify CSS and JS files.Fully compatible with Oxygen Builder plugin. Works best together with a cache plugin.Fully compatible with W3 Total Cache plugin. Works best with the the option Minify CSS and JS files.Fully compatible with WP Fastest Cache plugin. Works best with the the option Minify CSS and JS files.Fully compatible with WP Super Cache cache plugin.Fully compatible with WP-Rocket cache plugin. Works best with the the option Minify/Combine CSS and JS files.Fully compatible with Woocommerce plugin.Fusion BuilderGabonGambiaGeneralGeo SecurityGeographic Security is a feature designed to stops attacks from different countries, and to put an end to harmful activity that comes from specific regions.GeorgiaGermanGermanyGhanaGhost ModeGhost Mode + Firewall + Brute Force + Events Log + Two factorGhost Mode will set these predefined pathsGhost modeGibraltarGive random names to each pluginGive random names to each theme (works in WP multisite)Global class name detected: %s. Read this article first: %sGo to Events Log PanelGo to the Dashboard > Appearance section and update all the themes to the last version.Go to the Dashboard > Plugins section and update all the plugins to the last version.GodaddyGodaddy detected! To avoid CSS errors, make sure you switch off the CDN from %sGoodGoogle reCAPTCHA V2Google reCAPTCHA V3Google reCaptcha V3 is not working with the current login form of %s .Great! The backup is restored.Great! The initial values are restored.Great! The new paths are loading correctly.Great! The preset was loaded.GreeceGreekGreenlandGrenadaGuadeloupeGuamGuatemalaGuernseyGuineaGuinea-BissauGuyanaHaitiHaving the admin URL visible in the source code it's awful because hackers will immediately know your secret admin path and start a Brute Force attack. The custom admin path should not appear in the ajax URL.

Find solutions for %s how to hide the path from source code %s.Having the login URL visible in the source code is awful because hackers will immediately know your secret login path and start a Brute Force attack.

The custom login path should be kept secret, and you should have Brute Force Protection activated for it.

Find solutions for %s hiding the login path from source code here %s.Having this PHP directive enabled will leave your site exposed to cross-site attacks (XSS).

There's absolutely no valid reason to enable this directive, and using any PHP code that requires it is very risky.Header SecurityHeaders & FirewallHeard Island and McDonald IslandsHebrewHelp & FAQsHere is the list of select counties where your website will be restricted..HideHide "login" PathHide "wp-admin"Hide "wp-admin" From Non-Admin UsersHide "wp-login.php"Hide /login path from visitors.Hide /wp-admin path from non-administrator users.Hide /wp-admin path from visitors.Hide /wp-login.php path from visitors.Hide Admin ToolbarHide Admin Toolbar for users roles to prevent dashboard access.Hide All The PluginsHide Author ID URLHide Common FilesHide Embed scriptsHide EmojiconsHide Feed & Sitemap Link TagsHide File ExtensionsHide HTML CommentsHide IDs from META TagsHide Language SwitcherHide My WP GhostHide OptionsHide Paths in Robots.txtHide Plugin NamesHide REST API URL linkHide Theme NamesHide Version from Images, CSS and JS in WordPressHide Versions from Images, CSS and JSHide WLW Manifest scriptsHide WP Common FilesHide WP Common PathsHide WordPress Common FilesHide WordPress Common PathsHide WordPress DNS Prefetch META TagsHide WordPress Generator META TagsHide WordPress Old Plugins PathHide WordPress Old Themes PathHide WordPress common paths from %s Robots.txt %s file.Hide WordPress paths such as wp-admin, wp-content, and more from robots.txt file.Hide all versions from the end of any Image, CSS and JavaScript files.Hide both active and deactivated pluginsHide completed tasksHide passwordHide the /feed and /sitemap.xml link TagsHide the DNS Prefetch that points to WordPressHide the HTML Comments left by the themes and pluginsHide the IDs from all <links>, <style>, <scripts> META TagsHide the New Admin PathHide the New Login PathHide the WordPress Generator META tagsHide the admin toolbar for logged users while in frontend.Hide the language switcher option on the login pageHide the new admin path from visitors. Show the new admin path only for logged users.Hide the new login path from visitors. Show the new login path only for direct access.Hide the old /wp-content, /wp-include paths once they are changed with the new onesHide the old /wp-content, /wp-include paths once they are changed with the new ones.Hide the old /wp-content/plugins path once it's changed with the new oneHide the old /wp-content/themes path once it's changed with the new oneHide wp-admin from Ajax URLHide wp-config.php , wp-config-sample.php, readme.html, license.txt, upgrade.php and install.php filesHide wp-config.php, wp-config-sample.php, readme.html, license.txt, upgrade.php and install.php files..Hide wp-json & ?rest_route link tag from website headerHiding the ID from meta tags in WordPress can potentially impact the caching process of plugins that rely on identifying the meta tags.HindiHoly See (Vatican City State)HondurasHong KongHostnameHow long the temporary login will be available after the user first access.HummingbirdHungarianHungaryIIS WindowsIIS detected. You need to update your %s file by adding the following lines after <rules> tag: %sIPIP BlockedIcelandIf the reCAPTCHA displays any error, please make sure you fix them before moving forward.If the rewrite rules are not loading correctly in the config file, do not load the plugin and do not change the paths.If you are connected with the admin user, you will have to re-login after the change.If you can't configure %s, switch to Deactivated Mode and %scontact us%s.If you can't configure reCAPTCHA, switch to Math reCaptcha protection.If you do not have an e-commerce, membership or guest posting website, you shouldn't let users subscribe to your blog. You will end up with spam registrations and your website will be filled with spammy content and comments.If you have access to php.ini file, set allow_url_include = off or contact the hosting company to set it offIf you have access to php.ini file, set expose_php = off or contact the hosting company to set it offIf you have access to php.ini file, set register_globals = off or contact the hosting company to set it offIf you have access to php.ini file, set safe_mode = off or contact the hosting company to set it offIf you notice any functionality issue please select the %sSafe Mode%s.If you're able to log in, you've set the new paths correctly.If you're able to login, you've set reCAPTCHA correctly.If you're not using Windows Live Writer there's really no valid reason to have its link in the page header, because this tells the whole world you're using WordPress.If you're not using any Really Simple Discovery services such as pingbacks, there's no need to advertise that endpoint (link) in the header. Please note that for most sites this is not a security issue because they "want to be discovered", but if you want to hide the fact that you're using WP, this is the way to go.If your site allows user logins, you need your login page to be easy to find for your users. You also need to do other things to protect against malicious login attempts.

However, obscurity is a valid security layer when used as part of a comprehensive security strategy, and if you want to cut down on the number of malicious login attempts. Making your login page difficult to find is one way to do that.Ignore security taskImmediately block incorrect usernames on login forms.In .htaccess fileIn the old days, the default WordPress admin username was 'admin' or 'administrator'. Since usernames make up half of the login credentials, this made it easier for hackers to launch brute-force attacks.

Thankfully, WordPress has since changed this and now requires you to select a custom username at the time of installing WordPress.Indeed Ultimate Membership Pro detected. The plugin doesn't support custom %s paths as it doesn't use WordPress functions to call the Ajax URLIndiaIndonesiaIndonesianInfoInmotionInmotion detected. %sPlease read how to make the plugin compatible with Inmotion Nginx Cache%sInstall/ActivateIntegration with other CDN plugins and custom CDN URLs.Invalid ReCaptcha. Please complete reCaptcha.Invalid email addressInvalid name detected: %s. Add only the final path name to avoid WordPress errors.Invalid name detected: %s. The name can't end with / to avoid WordPress errors.Invalid name detected: %s. The name can't start with / to avoid WordPress errors.Invalid name detected: %s. The paths can't end with . to avoid WordPress errors.Invalid name detected: %s. You need to use another name to avoid WordPress errors.Invalid username.Iran, Islamic Republic ofIraqIrelandIsle of ManIsraelIt's important to %s save your settings every time you change them %s. You can use the backup to configure other websites you own.It's important to hide or remove the readme.html file because it contains WP version details.It's important to hide the common WordPress paths to prevent attacks on vulnerable plugins and themes.
Also, it's important to hide the names of plugins and themes to make it impossible for bots to detect them.It's important to rename common WordPress paths, such as wp-content and wp-includes to prevent hackers from knowing that you have a WordPress website.It's not safe to have Database Debug turned on. Make sure you don't use Database debug on live websites.ItalianItalyJCH Optimize CacheJamaicaJananeseJapanJavascript is disabled on your browser! You need to activate the javascript in order to use %s plugin.JerseyJoomla 3Joomla 4Joomla 5JordanJust another WordPress siteKazakhstanKenyaKiribatiKnow what the other users are doing on your website.KoreanKosovoKuwaitKyrgyzstanLanguageLao Peoples Democratic RepublicLast 30 days Security StatsLast AccessLast NameLast check:Late LoadingLatviaLatvianLearn HowLearn How To Add the CodeLearn how to disable %sDirectory Browsing%s or switch on %s %s > Change Paths > Disable Directory Browsing%sLearn how to set your website as %s. %sClick Here%sLearn how to setup on Local & NginxLearn how to setup on Nginx serverLearn how to use the shortcodeLearn more aboutLearn more about %s 7G firewall %s.Learn more about %s 8G firewall %s.Leave it blank if you don't want to display any messageLeave it blank to block all paths for the selected countries.LebanonLesothoLet's take your security to the next level!Level of SecurityLevels of securityLiberiaLibyan Arab JamahiriyaLicence TokenLiechtensteinLimit the number of allowed login attempts using normal login form.LiteSpeedLiteSpeed CacheLithuaniaLithuanianLoad PresetLoad Security PresetsLoad after all plugins are loaded. On "template_redirects" hook.Load before all plugins are loaded. On "plugins_loaded" hook.Load custom language is WordPress local language is installed.Load the plugin as a Must Use plugin.Load when the plugins are initialized. On "init" hook.Local & NGINX detected. In case you didn't add the code in the NGINX config already, please add the following line. %sLocal by FlywheelLocationLock userLockout MessageLog User RolesLog Users EventsLogin & Logout RedirectsLogin Blocked by Login PathLogin Redirect URLLogin SecurityLogin TestLogin URLLogout Redirect URLLost Password Form ProtectionLuxembourgMacaoMadagascarMagic Link LoginMake sure the redirect URLs exist on your website. %sThe User Role redirect URL has higher priority than the Default redirect URL.Make sure you know what you do when changing the headers.Make sure you save the settings and empty the cache before checking your website with our tool.MalawiMalaysiaMaldivesMaliMaltaManage Brute Force ProtectionManage Login and Logout RedirectsManage whitelist & blacklist IP addressesManually block/unblock IP addresses.Manually customize each plugin name and overwrite the random nameManually customize each theme name and overwrite the random nameManually whitelist trusted IP addresses.MappingMarshall IslandsMartiniqueMath & Google reCaptcha verification while logging in.Math reCAPTCHAMauritaniaMauritiusMax fail attemptsMayotteMediumMembershipMexicoMicronesia, Federated States ofMinimalMinimal (No Config Rewrites)Moldova, Republic ofMonacoMongoliaMonitor everything that happens on your WordPress site!Monitor, track and log events on your website.MontenegroMontserratMore HelpMore information about %sMore optionsMoroccoMost WordPress installations are hosted on the popular Apache, Nginx and IIS web servers.MozambiqueMust Use Plugin LoadingMy AccountMyanmarMysql VersionNGINX detected. In case you didn't add the code in the NGINX config already, please add the following line. %sNameNamibiaNauruNepalNetherlandsNew CaledoniaNew Login DataNew Plugin/Theme detected! Update %s settings to hide it. %sClick here%sNew ZealandNext StepsNginxNicaraguaNigerNigeriaNiueNoNo CMS SimulationNo Recent Updates ReleasedNo blacklisted ipsNo log found.No temporary logins.No, abortNo. of secondsNorfolk IslandNormal LoadingNormally, the option to block visitors from browsing server directories is activated by the host through server configuration, and activating it twice in the config file may cause errors, so it's best to first check if the %sUploads Directory%s is visible.North KoreaNorth Macedonia, Republic ofNorthern Mariana IslandsNorwayNorwegianNot yet logged inNote that this option won't activate the CDN for your website, but it will update the custom paths if you've already set a CDN URL with another plugin.Note! %sPaths are NOT physically change%s on your server.Note! The plugin will use WP cron to change the paths in background once the cache files are created.Note: If you can`t login to your site, just access this URLNotification SettingsOkay, I set it upOmanOn website initializationOnce you bought the plugin, you will receive the %s credentials for your account by email.One DayOne HourOne MonthOne WeekOne YearOne of the most important files in your WordPress installation is the wp-config.php file.
This file is located in the root directory of your WordPress installation and contains your website's base configuration details, such as database connection information.Only change this option if the plugin fails to identify the server type correctly.Optimize CSS and JS filesOption to inform user about remaining attempts on login page.OptionsOutdated PluginsOutdated ThemesOverviewOxygenPHP VersionPHP allow_url_include is onPHP expose_php is onPHP register_globals is onPHP safe mode was one of the attempts to solve security problems of shared web hosting servers.

It is still being used by some web hosting providers, however, nowadays this is regarded as improper. A systematic approach proves that it’s architecturally incorrect to try solving complex security issues at the PHP level, rather than at the web server and OS levels.

Technically, safe mode is a PHP directive that restricts the way some built-in PHP functions operate. The main problem here is inconsistency. When turned on, PHP safe mode may prevent many legitimate PHP functions from working correctly. At the same time there exists a variety of methods to override safe mode limitations using PHP functions that aren’t restricted, so if a hacker has already got in – safe mode is useless.PHP safe_mode is onPage Not FoundPakistanPalauPalestinian TerritoryPanamaPapua New GuineaParaguayPassedPath not allowed. Avoid paths like plugins and themes.Paths & OptionsPaths changed in the existing cache filesPause for 5 minutesPermalinksPersianPeruPhilippinesPitcairnPlease be aware that if you do not consent to storing data on our Cloud, we kindly request that you refrain from activating this feature.Please visit %s to check your purchase and to get the license token.Plugin Loading HookPlugins PathPlugins SecurityPlugins SettingsPlugins that have not been updated in the last 12 months can have real security problems. Make sure you use updated plugins from WordPress Directory.Plugins/Themes editor disabledPolandPolishPortugalPortuguesePreset SecurityPrevent Broken Website LayoutPriority LoadingProtects your WooCommerce shop against brute force login attacks.Protects your website against Brute Force login attacks using %s A common threat web developers face is a password-guessing attack known as a Brute Force attack. A Brute Force attack is an attempt to discover a password by systematically trying every possible combination of letters, numbers, and symbols until you discover the one correct combination that works.Protects your website against Brute Force login attacks.Protects your website against brute force login attacks.Prove your humanity:Puerto RicoQatarQuick FixRDS is visibleRandom Static NumberReactivate user for 1 dayRedirect After LoginRedirect Hidden PathsRedirect Logged Users To DashboardRedirect temporary users to a custom page after login.Redirect the protected paths /wp-admin, /wp-login to a Page or trigger an HTML Error.Redirect user to a custom page after login.RedirectsRemoveRemove PHP version, Server info, Server Signature from header.Remove Plugins Authors & Style in Sitemap XMLRemove Unsafe HeadersRemove pingback link tag from the website header.Rename readme.html file or switch on %s %s > Change Paths > Hide WordPress Common Files%sRename wp-admin/install.php & wp-admin/upgrade.php files or switch on %s %s > Change Paths > Hide WordPress Common Paths%sRenewResetReset SettingsResolving hostnames may affect the website loading speed.Restore BackupRestore SettingsResume SecurityReunionRobots SecurityRoleRollback SettingsRollback all the plugin settings to initial values.RomaniaRomanianRun %s Frontend Test %s to check if the new paths are working.Run %s Login Test %s and log in inside the popup.Run %sreCAPTCHA Test%s and login inside the popup.Run Full Security CheckRussianRussian FederationRwandaSSL is an abbreviation used for Secure Sockets Layers, which are encryption protocols used on the internet to secure information exchange and provide certificate information.

These certificates provide an assurance to the user about the identity of the website they are communicating with. SSL may also be called TLS or Transport Layer Security protocol.

It's important to have a secure connection for the Admin Dashboard in WordPress.Safe ModeSafe Mode + Firewall + Brute Force + Events Log + Two factorSafe Mode + Firewall + Compatibility SettingsSafe Mode will set these predefined pathsSafe URL:Safe modeSaint BartelemeySaint HelenaSaint Kitts and NevisSaint LuciaSaint MartinSaint Pierre and MiquelonSaint Vincent and the GrenadinesSalts and Security Keys validSamoaSan MarinoSao Tome and PrincipeSaudi ArabiaSaveSave Debug LogSave UserSavedSaved! This task will be ignored on future tests.Saved! You can run the test again.Script Debug ModeSearchSearch in user events log and manage the email alertsSecret KeySecret keys for %sGoogle reCAPTCHA%s.Secure WP PathsSecurity CheckSecurity Keys UpdatedSecurity StatusSecurity keys are defined in wp-config.php as constants on lines. They should be as unique and as long as possible. AUTH_KEY,SECURE_AUTH_KEY,LOGGED_IN_KEY,NONCE_KEY,AUTH_SALT,SECURE_AUTH_SALT,LOGGED_IN_SALT,NONCE_SALTSecurity keys are used to ensure better encryption of information stored in the user's cookies and hashed passwords.

These make your site more difficult to hack, access and crack by adding random elements to the password. You don't have to remember these keys. In fact, once you set them you'll never see them again. Therefore, there's no excuse for not setting them properly.See the last days actions on this website ...Select PresetSelect User RolesSelect a preset security settings we've tested on most websites.Select allSelect how long the temporary login will be available after the first user access.Select the file extensions you want to hide on old pathsSelect the files you want to hide on old pathsSelected CountriesSend me an email with the changed admin and login URLsSenegalSerbiaSerbianServer TypeSet Custom Cache DirectorySet Login & Logout Redirects based on User Roles.Set the current user role.Set the website you want this user to be created for.SettingsSeychellesShort name detected: %s. You need to use unique paths with more than 4 chars to avoid WordPress errors.ShowShow /%s instead of /%sShow Advanced OptionsShow Default Paths & Allow Hidden PathsShow Defaults Paths & Allow EverythingShow blank screen when Inspect Element is active on browser.Show completed tasksShow ignored tasksShow message instead of login formShow passwordSierra LeoneSign Up Form ProtectionSimplified ChineseSimulate CMSSingaporeSint MaartenSite keySite keys for %sGoogle reCaptcha%s.SiteGroundSitemap SecuritySix MonthsSlovakSlovakiaSloveneSloveniaSolid SecuritySolomon IslandsSomaliaSome plugins may remove custom rewrite rules from the .htaccess file, especially if it's writable, which can affect the functionality of custom paths..Some themes don't work with custom Admin and Ajax paths. In case of ajax errors, switch back to wp-admin and admin-ajax.php.Sorry, you are not allowed to access this page.South AfricaSouth Georgia and the South Sandwich IslandsSouth KoreaSpainSpammers can easily signupSpanishSri LankaStart ScanSucuri SecuritySudanSuper AdminSurinameSvalbard and Jan MayenSwazilandSwedenSwedishSwitch on %s %s > Change Paths > Hide WordPress Common Paths%sSwitch on %s %s > Change Paths > Disable XML-RPC access%sSwitch on %s %s > Change Paths > Hide Author ID URL%sSwitch on %s %s > Change Paths > Hide RSD Endpoint%sSwitch on %s %s > Change Paths > Hide WordPress Common Files%sSwitch on %s %s > Change Paths > Hide wp-admin from ajax URL%s. Hide any reference to admin path from the installed plugins.Switch on %s %s > Tweaks > %s %sSwitch on %s %s > Tweaks > Hide WLW Manifest scripts%sSwitzerlandSyrian Arab RepublicTaglineTaiwanTajikistanTanzania, United Republic ofTemporary LoginTemporary Login SettingsTemporary LoginsTest your website headers withText & URL MappingText MappingText Mapping in CSS and JS files including cached filesText Mapping only Classes, IDs, JS variablesThaiThailandThank you for using %s!The %s section has been relocated %s here %sThe Ghost Mode will add the rewrites rules in the config file to hide the old paths from hackers.The REST API is crucial for many plugins as it allows them to interact with the WordPress database and perform various actions programmatically.The Safe Mode will add the rewrites rules in the config file to hide the old paths from hackers.The Safe URL will deactivate all the custom paths. Use it only if you can't login.The WordPress database is like a brain for your entire WordPress site, because every single bit of information about your site is stored there, thus making it a hacker’s favorite target.

Spammers and hackers run automated code for SQL injections.
Unfortunately, many people forget to change the database prefix when they install WordPress.
This makes it easier for hackers to plan a mass attack by targeting the default prefix wp_.The WordPress site tagline is a short phrase located under the site title, similar to a subtitle or advertising slogan. The goal of a tagline is to convey the essence of your site to visitors.

If you don't change the default tagline it will be very easy to detect that your website was actually built with WordPressThe constant ADMIN_COOKIE_PATH is defined in wp-config.php by another plugin. You can't change %s unless you remove the line define('ADMIN_COOKIE_PATH', ...);.The list of plugins and themes was updated with success!The most common way to hack a website is by accessing the domain and adding harmful queries in order to reveal information from files and database.
These attacks are made on any website, WordPress or not, and if a call succeeds … it will probably be too late to save the website.The plugins and themes file editor is a very convenient tool because it enables you to make quick changes without the need to use FTP.

Unfortunately, it's also a security issue because it not only shows the PHP source code, it also enables attackers to inject malicious code into your site if they manage to gain access to admin.The process was blocked by the website’s firewall.The requested URL %s was not found on this server.The response parameter is invalid or malformed.The secret parameter is invalid or malformed.The secret parameter is missing.The security keys in wp-config.php should be renewed as often as possible.Themes PathThemes SecurityThemes are up to dateThere has been a critical error on your website.There has been a critical error on your website. Please check your site admin email inbox for instructions.There is a configuration error in the plugin. Please Save the settings again and follow the instruction.There is a newer version of WordPress available ({version}).There is no changelog available.There is no such thing as an "unimportant password"! The same goes for your WordPress database password.
Although most servers are configured so that the database can't be accessed from other hosts (or from outside the local network), that doesn't mean your database password should be "12345" or no password at all.This amazing feature isn't included in the basic plugin. Want to unlock it? Simply install or activate the Advanced Pack and enjoy the new security features.This is one of the biggest security issues you can have on your site! If your hosting company has this directive enabled by default, switch to another company immediately!This may not work with all new mobile devices.This option will add rewrite rules to the .htaccess file in the WordPress rewrite rules area between the comments # BEGIN WordPress and # END WordPress.This will prevent from showing the old paths when an image or font is called through ajaxThree DaysThree HoursTimor-LesteTo change the paths in the cached files, switch on %s Change Paths in Cached Files%sTo hide the Avada library, please add the Avada FUSION_LIBRARY_URL in wp-config.php file after $table_prefix line: %sTo improve your website's security, consider removing authors and styles that point to WordPress in your sitemap XML.TogoTokelauTongaTrack and Log the website events and receive security alerts by email.Track and log events that happen on your WordPress siteTraditional ChineseTrinidad and TobagoTroubleshootingTunisiaTurkeyTurkishTurkmenistanTurks and Caicos IslandsTurn off the debug plugins if your website is live. You can also add the option to hide the DB errors global $wpdb; $wpdb->hide_errors(); in wp-config.php fileTuvaluTweaksTwo-factor authenticationURL MappingUgandaUkraineUkrainianUltimate Affiliate Pro detected. The plugin doesn't support custom %s paths as it doesn't use WordPress functions to call the Ajax URLUnable to update the wp-config.php file in order to update the Database Prefix.UndoUnited Arab EmiratesUnited KingdomUnited StatesUnited States Minor Outlying IslandsUnknown update checker status "%s"Unlock allUpdate the settings on %s to refresh the paths after changing REST API path.UpdatedUpload the file with the saved plugin settingsUploads PathUrgent Security Actions RequiredUruguayUse Brute Force ProtectionUse Temporary LoginsUse the %s shortcode to integrate it with other login forms.UserUser 'admin' or 'administrator' as AdministratorUser ActionUser Events LogUser RoleUser SecurityUser could not be activated.User could not be addedUser could not be deleted.User could not be disabled.User roles for who to disable the Right-ClickUser roles for who to disable the copy/pasteUser roles for who to disable the drag/dropUser roles for who to disable the inspect elementUser roles for who to disable the view sourceUser roles for who to hide the admin toolbarUser successfully activated.User successfully created.User successfully deleted.User successfully disabled.User successfully updated.Usernames (unlike passwords) are not secret. By knowing someone's username, you can't log in to their account. You also need the password.

However, by knowing the username, you are one step closer to logging in using the username to brute-force the password, or to gain access in a similar way.

That's why it's advisable to keep the list of usernames private, at least to some degree. By default, by accessing siteurl.com/?author={id} and looping through IDs from 1 you can get a list of usernames, because WP will redirect you to siteurl.com/author/user/ if the ID exists in the system.Using an old version of MySQL makes your site slow and prone to hacker attacks due to known vulnerabilities that exist in versions of MySQL that are no longer maintained.

You need Mysql 5.4 or higherUsing an old version of PHP makes your site slow and prone to hacker attacks due to known vulnerabilities that exist in versions of PHP that are no longer maintained.

You need PHP 7.4 or higher for your website.UzbekistanValidValueVanuatuVenezuelaVersions in Source CodeVietnamVietnameseView detailsVirgin Islands, BritishVirgin Islands, U.S.W3 Total CacheWP Core SecurityWP Debug ModeWP EngineWP Fastest CacheWP RocketWP Super CacheWP Super Cache CDN detected. Please include %s and %s paths in WP Super Cache > CDN > Include directoriesWPBakery Page BuilderWPPluginsWallis and FutunaWeak name detected: %s. You need to use another name to increase your website security.WebsiteWestern SaharaWhere to add the firewall rules.WhitelistWhitelist IPsWhitelist OptionsWhitelist PathsWindows Live Writer is onWooCommerce Safe LoginWooCommerce SupportWoocommerceWoocommerce Magic LinkWordPress Database PasswordWordPress Default PermissionsWordPress Security CheckWordPress VersionWordPress XML-RPC is a specification that aims to standardize communications between different systems. It uses HTTP as the transport mechanism and XML as encoding mechanism to enable a wide range of data to be transmitted.

The two biggest assets of the API are its extendibility and its security. XML-RPC authenticates using basic authentication. It sends the username and password with each request, which is a big no-no in security circles.WordPress and its plugins and themes are like any other software installed on your computer, and like any other application on your devices. Periodically developers release updates which provide new features or fix known bugs.

New features may be something that you do not necessarily want. In fact, you may be perfectly satisfied with the functionality you currently have. Nevertheless, you may still be concerned about bugs.

Software bugs can come in many shapes and sizes. A bug could be very serious, such as preventing users from using a plugin, or it could be a minor bug that only affects a certain part of a theme, for example. In some cases, bugs can even cause serious security holes.

Keeping themes up to date is one of the most important and easiest ways to keep your site secure.WordPress and its plugins and themes are like any other software installed on your computer, and like any other application on your devices. Periodically, developers release updates which provide new features, or fix known bugs.

These new features may not necessarily be something that you want. In fact, you may be perfectly satisfied with the functionality you currently have. Nevertheless, you are still likely to be concerned about bugs.

Software bugs can come in many shapes and sizes. A bug could be very serious, such as preventing users from using a plugin, or it could be minor and only affect a certain part of a theme, for example. In some cases, bugs can cause serious security holes.

Keeping plugins up to date is one of the most important and easiest ways to keep your site secure.WordPress is well-known for its ease of installation.
It's important to hide the wp-admin/install.php and wp-admin/upgrade.php files because there have already been a couple of security issues regarding these files.WordPress, plugins and themes add their version info to the source code, so anyone can see it.

Hackers can easily find a website with vulnerable version plugins or themes, and target these with Zero-Day Exploits.Wordfence SecurityWpEngine detected. Add the redirects in the WpEngine Redirect rules panel %s.Wrong Username ProtectionXML-RPC SecurityXML-RPC access is onYemenYesYes, it's workingYou already defined a different wp-content/uploads directory in wp-config.php %sYou can ban a single IP address like 192.168.0.1 or a range of 245 IPs like 192.168.0.*. These IPs will not be able to access the login page.You can create a new page and come back to choose to redirect to that page.You can generate %snew Keys from here%s AUTH_KEY,SECURE_AUTH_KEY,LOGGED_IN_KEY,NONCE_KEY,AUTH_SALT,SECURE_AUTH_SALT,LOGGED_IN_SALT,NONCE_SALTYou can now turn off '%s' option.You can set to receive security alert emails and prevent data loss.You can white-list a single IP address like 192.168.0.1 or a range of 245 IPs like 192.168.0.*. Find your IP with %sYou can't set both ADMIN and LOGIN with the same name. Please use different namesYou don't have the permission to access %s on this server.You need to activate the URL Rewrite for IIS to be able to change the permalink structure to friendly URL (without index.php). %sMore details%sYou need to set a positive number of attempts.You need to set a positive waiting time.You need to set the permalink structure to friendly URL (without index.php).You should always update WordPress to the %slatest versions%s. These usually include the latest security fixes, and don't alter WP in any significant way. These should be applied as soon as WP releases them.

When a new version of WordPress is available, you will receive an update message on your WordPress Admin screens. To update WordPress, click the link in this message.You should check your website every week to see if there are any security changes.Your %s %s license expired on %s %s. To keep your website security up to date please make sure you have a valid subscription on %saccount.hidemywpghost.com%sYour IP has been flagged for potential security violations. Please try again in a little while...Your admin URL can't be changed on %s hosting because of the %s security terms.Your admin URL is changed by another plugin/theme in %s. To activate this option, disable the custom admin in the other plugin or deativate it.Your login URL is changed by another plugin/theme in %s. To activate this option, disable the custom login in the other plugin or deativate it.Your login URL is: %sYour login URL will be: %s In case you can't login, use the safe URL: %sYour new password has not been saved.Your new site URLs areYour website security %sis extremely weak%s. %sMany hacking doors are available.Your website security %sis very weak%s. %sMany hacking doors are available.Your website security is getting better. %sJust make sure you complete all the security tasks.Your website security is still weak. %sSome of the main hacking doors are still available.Your website security is strong. %sKeep checking the security every week.ZambiaZimbabweactivate featureafter first accessalready activedarkdefaultdisplay_errors PHP directivee.g. *.colocrossing.come.g. /cart/e.g. /cart/ will whitelist all path starting with /cart/e.g. /checkout/e.g. /post-type/ will block all path starting with /post-type/e.g. acapbote.g. alexibote.g. badsite.come.g. gigabote.g. kanagawa.come.g. xanax.comeg.eg. /logout oreg. adm, backeg. ajax, jsoneg. aspect, templates, styleseg. comments, discussioneg. core, inc, includeeg. disable_url, safe_urleg. images, fileseg. json, api, calleg. lib, libraryeg. login or signineg. logout or disconnecteg. lostpass or forgotpasseg. main.css, theme.css, design.csseg. moduleseg. multisite activation linkeg. newuser or registereg. profile, usr, writerfromhelphttps://hidemywp.comignore alertinstall.php & upgrade.php files are accessiblelightloglogsmore detailsnot recommendedonly %d charsorpassword mismatchMismatchpassword strengthMediumpassword strengthPassword strength unknownpassword strengthStrongpassword strengthVery weakpassword strengthWeakreCAPTCHA TestreCAPTCHA V2 TestreCAPTCHA V3 TestreCaptcha LanguagereCaptcha Themereadme.html file is accessiblerecommendedredirectssee featurestart feature setupthe plugin titleA new version of the %s plugin is available.the plugin titleCould not determine if updates are available for %s.the plugin titleThe %s plugin is up to date.totoo simplewp-config.php & wp-config-sample.php files are accessibleProject-Id-Version: Hide My WP Ghost PO-Revision-Date: 2024-10-10 20:08+0300 Last-Translator: gpt-po v1.0.11 Language-Team: Language: ja_JP MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=1; plural=0; X-Generator: Poedit 3.5 X-Poedit-Basepath: .. X-Poedit-Flags-xgettext: --add-comments=translators: X-Poedit-WPHeader: index.php X-Poedit-SourceCharset: UTF-8 X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;_nx_noop:3c,1,2;__ngettext_noop:1,2 X-Poedit-SearchPath-0: . X-Poedit-SearchPathExcluded-0: *.min.js #1 ハッキング防止セキュリティソリューション:WP CMS を非表示に、7G/8G ファイアウォール、ブルートフォース保護、2要素認証、GEO セキュリティ、一時ログイン、アラートなど。%2$s バージョン以降、%1$s は非推奨となりました!代わりに %3$s を使用してください。より包括的なコードの記述を検討してください。%d %s 前残り%d %s最終更新から%s日経過%sは、mode_rewriteなしでは機能しません。Apacheでリライトモジュールを有効にしてください。%s詳細%s%sの権限が正しくありません。%s はソースコードで見えます%sのパスはアクセス可能です。%s プラグインが古くなっています: %s%sプラグインは過去12ヶ月間、開発者によって更新されていません:%s%s は、ほとんどの SQL インジェクションからウェブサイトを保護しますが、可能であれば、SQL インジェクションを回避するためにデータベーステーブルにカスタムプレフィックスを使用してください。 %s詳細はこちら%s%sのルールは設定ファイルに保存されていません。これはウェブサイトの読み込み速度に影響を与える可能性があります。%sのテーマは古いです:%s%sこちらをクリック%sして、Google reCAPTCHA v2のキーを作成または表示してください。%sこちらをクリック%sして、Google reCAPTCHA v3のキーを作成または表示してください。%sエラー:%s メールアドレスまたはパスワードが正しくありません。 %s ロックアウト前の残り試行回数: %d%sテーマメニューやウィジェットからログインパスを非表示にしてください%s。%s不正なReCaptcha%s。もう一度お試しください。%s注意:%s 資格情報を受け取っていない場合は、%s にアクセスしてください。%s数学問題に正しく答えられませんでした。%s もう一度お試しください。(* the plugin has no extra cost, gets installed / activated automatically inside WP when you click the button, and uses the same account)(複数の選択肢が利用可能です)(テーマが誤った管理者リダイレクトの追加または無限のリダイレクトの場合に便利)(無限ループを回避するためにカスタム管理者-ajaxパスのみで機能します)2段階認証2段階認証ログイン403 Forbidden403 HTML エラー404 HTML エラー404 Not Found404 ページ7Gファイアウォール8G ファイアウォールさまざまな国からの攻撃を防ぐために設計された機能であり、特定の地域からの有害な活動を終わらせることを目的としています。包括详尽的规则可以防止许多类型的 SQL 注入和 URL 黑客攻击被解释。そのユーザー名はすでに存在しています。APIセキュリティAPI設定AWS Bitnami%sGoogleの最新統計%sによると、毎日%s 30k以上のウェブサイトがハッキングされています%s。そのうち%s 30%以上がWordPressで作られています%s。%s 攻撃後にデータを回復するために多くのお金と時間を費やすよりも、攻撃を防ぐ方が良いです。それに、クライアントのデータが盗まれた場合の状況は言うまでもありません。アクション有効化'managewp.com' から直接ダッシュボードに接続するために、「プラグイン読み込みフック」から「必須プラグイン読み込み」を有効にしてください。 %s ここをクリック %sブルートフォース保護を有効にしてください。イベントログをアクティブにします。ユーザーイベントのログを有効にしてください。一時ログインを有効にしてください。プラグインを有効にしてください。デバッグ用の情報とログを有効にしてください。"Brute Force" オプションをアクティブにして、ユーザーIPブロックレポートを表示してください。このウェブサイトのユーザー活動ログを表示するために、「ユーザーイベントの記録」オプションを有効にしてください。Woocommerceのログイン/サインアップフォームのBrute Force保護を有効にしてください。失われたパスワードフォームでのブルートフォース保護を有効にしてください。サインアップフォームのブルートフォース保護を有効にしてください。ファイアウォールを有効にして、さまざまな種類のSQLインジェクションやURLハックを防止してください。ファイアウォールをアクティブにして、ウェブサイトに適したファイアウォールの強度を選択してください。%s %s > パスを変更 > ファイアウォール&ヘッダー %sアクティベーションのサポート追加このウェブサイトへのアクセスを常にブロックすべきIPアドレスを追加してください。コンテンツセキュリティポリシーヘッダーを追加してください。ヘッダーのセキュリティ:XSSおよびコードインジェクション攻撃に対する防御。プラグインセキュリティを通過できるIPアドレスを追加してください。プラグインセキュリティを通過できるIPを追加してください。新しい一時ログインを追加新しい一時的なログインユーザーを追加WordPressのRulesセクションにRewritesを追加してください。セキュリティヘッダーを追加してください。XSSおよびコードインジェクション攻撃に対するセキュリティヘッダーを追加してください。Strict-Transport-Security ヘッダーを追加してください。ログインページに2要素認証を追加してください。認証方法はコードスキャンまたはメールコードです。X-Content-Type-Options ヘッダーを追加してください。X-XSS-Protection ヘッダーを追加してください。新しいものに置き換えたいURLのリストを追加してください。ユーザーがログインしている間、フロントエンドのキャッシュを防ぐためにランダムな静的番号を追加してください。別のCDN URLを追加してください。別のURLを追加してください。Add another textテキストマッピングに一般的なWordPressクラスを追加してください。プラグインのセキュリティを通過できるパスを追加してください。選択された国々に対してブロックされるパスを追加してください。ログインしているユーザーのユーザー権限に基づいてリダイレクトを追加してください。キャッシュプラグインで使用しているCDNのURLを追加してください。管理者パス管理者セキュリティ管理者ツールバー管理者URL管理者ユーザー名高度な設定アドバンスパック高度な設定アフガニスタンクラスを追加した後、フロントエンドを確認して、テーマが影響を受けていないことを確認してください。変更を適用するには、%s保存%sをクリックしてください。AjaxセキュリティAjax URLオーランド諸島アルバニアアラートメールを送信しました。アルジェリア賃貸・売買を選択オールインワンWPセキュリティすべてのウェブサイトすべてのファイルには正しい権限が設定されています。すべてのプラグインは互換性があります。すべてのプラグインが最新であることすべてのプラグインは、過去12ヶ月間にそれぞれの開発者によって更新されました。すべてのログは30日間クラウドに保存され、ウェブサイトが攻撃された場合にはレポートが利用可能です。隠された経路を許可します。ユーザーがメールアドレスと、メールで送信される固有のログインURLを使用してWooCommerceアカウントにログインできるように許可してください。ウェブサイトにログインする際、ユーザーはメールアドレスと、メールで送られてくる固有のログインURLを使用してログインできるようにしてください。アップロードフォルダ内のすべてのファイルをブラウザで閲覧できるようにすると、アップロードしたすべてのファイルを簡単にダウンロードできるようになります。これはセキュリティ上の問題であり、著作権の問題でもあります。アメリカンサモアアンドラアンゴラアンギラ南極アンティグア・バーブーダアパッチアラビア語このタスクを将来的に無視することを確認しますか?アルゼンチンアルメニアアルバ注意!一部のURLが構成ファイルのルールを通過し、WordPressのリライトを介して読み込まれました。これはウェブサイトの速度を遅くする可能性があります。 %s この問題を修正するためには、このチュートリアルに従ってください:%sオーストラリアオーストリア著者の経歴IDによる著者URLアクセス自動検出自動検出ログイン済みユーザーを自動的に管理者ダッシュボードにリダイレクトします。AutoptimizerアゼルバイジャンバックエンドはSSLで保護されています。バックアップ設定バックアップ/復元バックアップ・復元の設定バハマバーレーン禁止期間バングラデシュバルバドス内部URLのみを含め、可能な限り相対パスを使用してください。ビーバービルダーベラルーシベルギーベリーズベナンバミューダ敬具ブータンBitnamiを検出しました。%sAWSホスティングとの互換性を確保する方法については、以下をお読みください%sブラックリストIPをブラックリストに登録デバッグ中に画面が真っ白になりました。国をブロックホスト名をブロックします。ログインページでIPをブロックリファラーをブロック特定のパスをブロックテーマ検出クローラーをブロックユーザーエージェントをブロック人気のあるテーマ検出ツールからの既知のユーザーエージェントをブロックしてください。ブロックIPブロックされたIPのレポートブロックされましたボリビアボネール、サバ、サント・ユースタティウスボスニア・ヘルツェゴビナボツワナブーベ島ブラジルイギリス英語イギリス領インド洋地域ブルネイ・ダルサラーム総当たり攻撃ブルートフォースIPがブロックされました。ブルートフォースログイン保護ブルートフォース保護ブルートフォース設定ブルガリアブルガリア語BulletProof プラグイン!BulletProof プラグインで Root Folder BulletProof モードを有効にした後、設定を %s に保存することを確認してください。ブルキナファソブルンジアクティベートすることで、当社の%s利用規約%sおよび%sプライバシーポリシー%sに同意するものとします。CDNCDN Enabled detected. Please include %s and %s paths in CDN Enabler Settings.CDN Enablerが検出されました!%s %sここをクリック%sして設定方法を学びましょう。CDNのURL接続エラー!ウェブサイトが次にアクセスできることを確認してください:%sフロントエンドの読み込み速度を向上させるために、CSS、JS、および画像をキャッシュしてください。キャッシュエンエーブラーカンボジアカメルーンプラグインをダウンロードできません。カナダカナダのフランス語キャンセル他のプラグインやテーマからのログインフックをキャンセルして、望ましくないログインリダイレクトを防止してください。カーボベルデカタルーニャ語バレンシア語ケイマン諸島中央アフリカ共和国チャド変更オプションを変更します。パスを変更します。パスを変更してください。ログインユーザーのパスを変更します。Ajax呼び出しのパスの変更キャッシュされたファイル内のパスを変更します。RSS フィード内のパスを変更します。サイトマップXML内のパスを変更してください。相対URLを絶対URLに変更してください。ログインしたままでWordPressのパスを変更してください。RSSフィードのすべての画像のパスを変更してください。サイトマップXMLファイル内のパスを変更し、プラグインの作者とスタイルを削除してください。タグラインを%s > %s > %sに変更してください。キャッシュされたファイル内のWordPressの共通パスを変更してください。サインアップパスを変更します。%s %s > パスの変更 > カスタム登録URL%s またはオプションをオフにします。%s > %s > %sすべてのCSSおよびJSファイル、キャッシュプラグインによって生成されたキャッシュファイルを含めて、テキストを変更してください。セキュリティを向上させるために、ユーザー 'admin' または 'administrator' の名前を別の名前に変更してください。ファイルマネージャーを使用して、wp-config.phpファイルのパーミッションを読み取り専用に変更してください。パスを変更します。`wp-content`、`wp-includes`、および他の一般的なパスを`%s %s`に変更します。パスを変更%s`wp-login`の変更を%s %s > パスの変更 > カスタムログインURL%s および%s %s > ブルートフォース保護%s に切り替えてください。事前に定義されたセキュリティヘッダーを変更すると、ウェブサイトの機能に影響を与える可能性があります。フロントエンドのパスを確認してください。ウェブサイトをチェックしてください。アップデートを確認するウェブサイトのパスが正しく機能しているか確認してください。現在の設定でウェブサイトが安全かどうかを確認してください。%s RSS フィード %s を確認し、画像のパスが変更されていることを確認してください。%s サイトマップ XML %s を確認し、画像のパスが変更されていることを確認してください。%spingdom ツール%s で Webサイトの読み込み速度を確認チリ中国適切なデータベースのパスワードを選択してください。少なくとも8文字以上で、文字、数字、特殊文字の組み合わせを含めてください。変更したら、新しいパスワードを`wp-config.php`ファイルに設定してください:define('DB_PASSWORD', 'ここに新しいデータベースのパスワードを入力');ウェブサイトへのアクセスを制限すべき国を選択してください。サーバーの種類を選択して、サーバーに最適な構成を取得してください。ホワイトリストIPアドレスおよびホワイトリストパスからアクセスした場合の処理方法を選択してください。クリスマス島クリーンログインページ指定されたパスを設定するには、%s続行%sをクリックしてください。バックアップをクリックすると、ダウンロードが自動的に開始されます。すべてのウェブサイトにバックアップを使用できます。キャッシュファイル内のパスを変更するプロセスを実行するためにクリックしてください。エラーを閉じるクラウドパネルクラウドパネルが検出されました。%sクラウドパネルホスティングとの互換性を確保する方法についてお読みください%sCntココス(キーリング)諸島コロンビアコメントパスコモロ互換性互換性の設定Manage WP プラグインとの互換性トークンベースのログインプラグインとの互換性すべての機能を備えたAll In One WP Securityプラグインと互換性があります。ウイルススキャン、ファイアウォール、ブルートフォース保護のために一緒に使用してください。JCH Optimize Cacheプラグインと互換性があります。CSSとJSの最適化オプションをすべて使用して機能します。Solid Security プラグインと互換性あり。サイトスキャナー、ファイル変更検出、ブルートフォース保護のために一緒に使用してください。Sucuri Securityプラグインと互換性あり。ウイルススキャン、ファイアウォール、ファイル整合性監視のために一緒に使用してください。Wordfence Security プラグインと互換性あり。マルウェアスキャン、ファイアウォール、ブルートフォース保護のために一緒に使用してください。すべてのテーマやプラグインと互換性があります。完了しました設定設定ファイルが書き込み可能ではありません。存在しない場合はファイルを作成するか、以下の行を%sファイルにコピーしてください: %s設定ファイルが書き込み可能ではありません。存在しない場合はファイルを作成するか、次の行を含む%sファイルにコピーしてください: %s設定ファイルは書き込み可能ではありません。%s ファイルの冒頭に、手動で追加する必要があります: %s弱いパスワードの使用を確認コンゴコンゴ民主共和国おめでとう!すべてのセキュリティ タスクを完了しました。サイトを週に1回確認してください。続けるリンクを/wp-content/*のような形式から%s/wp-content/*の形式に変換してください。クック諸島リンクをコピーします。指定の %s 安全な URL %s をコピーし、ログインできない場合はすべてのカスタムパスを無効にしてください。コアコンテンツパスコアインクルードパスコスタリカコートジボワールユーザーを検出できませんでした。修正できませんでした。手動で変更する必要があります。検索に基づいて何も見つかりませんでした。このユーザーでログインできませんでした。テーブル %1$s の名前を変更できませんでした。テーブル名を手動で変更する必要があるかもしれません。オプションテーブル内の接頭辞参照を更新できませんでした。ユーザーメタテーブル内のプレフィックス参照を更新できませんでした。国のブロッキング作成新しい一時ログインを作成一定期間だけ、ユーザー名やパスワードなしでウェブサイトのダッシュボードにアクセスできる、任意のユーザー権限を持つ一時的なログインURLを作成してください。一定期間だけ、ユーザー名やパスワードなしでウェブサイトのダッシュボードにアクセスできる一時的なログインURLを作成してください。 %s サポートや定型的なタスクを行うために開発者に管理者アクセス権を付与する必要がある場合に便利です。クロアチアクロアチア語キューバキュラソーカスタムアクティベーションパスカスタム管理パスカスタムキャッシュディレクトリカスタムログインパスカスタムログアウトパスカスタムなパスワード紛失パスカスタム登録パスカスタムセーフURLパラメータカスタムadmin-ajaxパスカスタム著者パスカスタムコメントパスブロックされたユーザーに表示するカスタムメッセージ。カスタムプラグインのパスカスタムテーマスタイル名カスタムテーマパスカスタムアップロードパスカスタムwp-contentパスカスタムwp-includesパスカスタムwp-json パスハッカーボットの攻撃からすべてのWordPressパスをカスタマイズしてセキュリティを強化します。プラグイン名をカスタマイズテーマ名をカスタマイズウェブサイトの本文にあるCSSとJSのURLをカスタマイズしてください。ウェブサイトの本文中のIDやクラス名をカスタマイズしてください。キプロスチェコ語チェコ共和国DB デバッグモードデンマーク語ダッシュボードデータベース接頭辞日付無効化済みデバッグモードデフォルトログイン後のデフォルトリダイレクトデフォルトの一時有効期限デフォルトユーザーロールデフォルトのWordPressのタグライン一時ログインが作成されるデフォルトのユーザーロール。プラグインのアンインストール時に一時ユーザーを削除します。ユーザーを削除します。デンマーク詳細ディレクトリ"rest_route" パラメータのアクセスを無効にしてください。クリックメッセージを無効にします。コピーを無効にしますコピー/ペーストを無効にしますコピー/ペーストメッセージの無効化ログインユーザーに対してコピー&ペーストを無効にしてください。ライブサイトの場合は、wp-config.php で DISALLOW_FILE_EDIT を無効にしてください。define('DISALLOW_FILE_EDIT', true);ディレクトリの閲覧を無効にします。画像のドラッグ&ドロップを無効にします。ドラッグ&ドロップメッセージを無効にしてください。ログインユーザーに対して、ドラッグ&ドロップを無効にしてください。Inspect Elementを無効にしてくださいInspect Element メッセージを無効にしますログインユーザーに対しては、Inspect Element を無効にしてください。オプションを無効にしますペーストを無効にしますREST API アクセスを無効にしてください。ログインしていないユーザーに対するREST APIアクセスを無効にしてください。パラメータ 'rest_route' を使用して REST API アクセスを無効にしてください。XML-RPC からの RSD エンドポイントを無効にしてください。右クリックを無効化ログインユーザーの右クリックを無効にするライブサイト用の wp-config.php で SCRIPT_DEBUG を無効にしてください define('SCRIPT_DEBUG', false);ソースを表示しないソースの表示メッセージを無効にします。ログインユーザーに対して、ソースの表示を無効にしてください。ライブサイトの場合は、wp-config.php で WP_DEBUG を無効にしてください。define('WP_DEBUG', false);XML-RPCアクセスを無効にしてください。ウェブサイト上のコピー機能を無効にしてください。ウェブサイト上での画像のドラッグ&ドロップを無効にしてください。ウェブサイト上での貼り付け機能を無効にしてください。XML-RPCのRSD(Really Simple Discovery)サポートを無効にし、ヘッダーからRSDタグを削除してください。/xmlrpc.php へのアクセスを無効にして、XML-RPC を介した %s総当たり攻撃%s を防止してください。ウェブサイト上でのコピー&ペーストアクションを無効にしてください。xml-rpc.phpファイルへの外部呼び出しを無効化し、ブルートフォース攻撃を防止してください。ウェブサイト上のインスペクト要素表示を無効にしてください。ウェブサイト上での右クリックアクションを無効にしてください。ウェブサイト上での右クリック機能を無効にしてください。ウェブサイト上のソースコード表示を無効にしてください。フロントエンドにデバッグ情報を表示するのは非常に良くありません。サイトでPHPエラーが発生した場合は、安全な場所にログを記録し、訪問者や悪意のある攻撃者に表示されないようにするべきです。ジブチログインおよびログアウトのリダイレクトを行ってください。このブラウザからログアウトしないでください。ログインページが正常に機能し、再度ログインできることを確認するまでログアウトしないでください。reCAPTCHA が機能していて、再ログインできることを確信するまで、アカウントからログアウトしないでください。一時的なユーザーを削除しますか?最後に保存された設定を復元しますか?ドミニカドミニカ共和国Nginxサービスをリロードするのを忘れないでください。ユーザーログイン名が表示されないように、domain.com?author=1 のようなURLを表示しないでください。ハッカーにディレクトリの内容を見せないでください。%sアップロードディレクトリ%s をご覧ください。絵文字アイコンを使用しない場合は、絵文字アイコンをロードしないでください。サイトに Windows Live Writer を設定していない場合は、WLW をロードしないでください。oEmbed ビデオを使用しない場合は、oEmbed サービスをロードしないでください。ユーザーのすべてのロールを記録したい場合は、どの役割も選択しないでください。Done!デバッグをダウンロードDrupal 10Drupal 11Drupal 8Drupal 9オランダ語エラー!プラグインを有効にするために有効なトークンを使用していることを確認してください。エラー!プラグインをアクティブ化するために正しいトークンを使用していることを確認してください。エクアドルユーザーの編集ユーザーを編集wp-config.phpを編集し、ファイルの最後にini_set('display_errors', 0);を追加してください。エジプトエルサルバドルエレメントルEメールメールアドレスメールで通知メールアドレスはすでに存在しています。ホスティング会社にメールして、新しいバージョンのMySQLに切り替えたいか、より良いホスティング会社にサイトを移行したい旨を伝えてください。ホスティング会社にメールして、PHPの新しいバージョンに切り替えるか、サイトをより良いホスティング会社に移行したいと伝えてください。空空の ReCaptcha です。ReCaptcha を完了してください。空のメールアドレスこのオプションを有効にすると、ウェブサイトの読み込みが遅くなる可能性があります。CSSとJSファイルがリライト経由ではなく動的に読み込まれるため、必要に応じてそれらの中のテキストを変更できるようになります。英語%sにあるOrder/Licenceからの32文字のトークンを入力してください。赤道ギニアエリトリアエラー!復元するバックアップがありません。エラー!バックアップが無効です。エラー!新しいパスが正しく読み込まれていません。キャッシュをすべてクリアして、もう一度試してください。エラー!プリセットを復元できませんでした。エラー:URLマッピングで同じURLを2回入力しました。リダイレクトエラーを防ぐために、重複を削除しました。エラー:Text Mappingで同じテキストを2回入力しました。リダイレクトエラーを防ぐために重複を削除しました。エストニアエチオピアヨーロッパデフォルトのパスがカスタマイズ後も%sで保護されていても、ウェブサイトのすべてのディレクトリとファイルに正しい権限を設定することをお勧めします。ファイルマネージャーまたはFTPを使用して権限を確認および変更してください。%s詳細はこちら%sイベント ログイベントログレポートイベントログの設定すべての優れた開発者は、新しいプラグインやテーマの作業を開始する前にデバッグをオンにすべきです。実際、WordPress Codexは開発者がSCRIPT_DEBUGを使用することを「強く推奨」しています。残念ながら、多くの開発者は、ウェブサイトが公開されているときでさえデバッグモードを忘れがちです。フロントエンドでデバッグログを表示すると、ハッカーがあなたのWordPressウェブサイトについて多くの情報を知ることができます。すべての優れた開発者は、新しいプラグインやテーマの作業を始める前にデバッグをオンにすべきです。実際、WordPress Codexは開発者がWP_DEBUGを使用することを「強く推奨」しています。

残念ながら、多くの開発者がデバッグモードを忘れてしまい、ウェブサイトが公開されている状態でもそのままにしてしまうことがあります。フロントエンドでデバッグログを表示すると、ハッカーがあなたのWordPressサイトについて多くの情報を知ることができてしまいます。例:有効期限期限切れ有効期限PHPのバージョンを公開すると、サイトへの攻撃が容易になります。失敗した試み失敗フォークランド諸島(マルビナス諸島)フェロー諸島特徴フィード&サイトマップフィードセキュリティフィジーファイルの権限WordPressにおけるファイルの権限はウェブサイトのセキュリティにおいて重要な役割を果たします。これらの権限を適切に設定することで、不正なユーザーが機密ファイルやデータにアクセスできないようにします。
誤った権限設定は、ウェブサイトを攻撃の標的にし、脆弱にさせる可能性があります。
WordPress管理者として、ファイルの権限を理解し正しく設定することは、潜在的な脅威からサイトを保護するために不可欠です。ファイルフィルターフィンランドファイアウォールファイアウォール&ヘッダースクリプトインジェクションに対するファイアウォールファイアウォールの位置ファイアウォールの強度インジェクションに対するファイアウォールがロードされました。名前最初に、%sセーフモード%sまたは%sゴーストモード%sをアクティブにする必要があります。最初に、%sセーフモード%sまたは%sゴーストモード%sを%sでアクティブにする必要があります。アクセス許可を修正してください。修正すべてのディレクトリとファイルの権限を修正してください(約1分)メインディレクトリとファイルの権限を修正してください(〜5秒)フライホイールフライホイールが検出されました。フライホイールリダイレクトルールパネルにリダイレクトを追加してください %s.フォルダ %s は閲覧可能です。禁止フランスフランス語フランス領ギアナフランス領ポリネシアフランス領南方・南極地域From: %s <%s>フロントページフロントエンドログインテストフロントエンドテストAutoptimizer キャッシュプラグインと完全に互換性があります。オプション「CSS および JS ファイルの最適化/集約」を使用すると最適な動作をします。ビーバービルダープラグインと完全に互換性があります。キャッシュプラグインと一緒に使用すると最適です。Cache Enablerプラグインと完全に互換性があります。Minify CSSおよびJSファイルのオプションを使用すると最適な動作が期待できます。Elementor Website Builderプラグインと完全に互換性があります。キャッシュプラグインと一緒に使用すると最適な動作をします。アバダのFusion Builderプラグインと完全に互換性があります。キャッシュプラグインと一緒に使用すると最適です。Hummingbird キャッシュプラグインと完全に互換性があります。Minify CSS および JS ファイルのオプションを使用すると最適な動作をします。LiteSpeed Cacheプラグインと完全に互換性があります。Minify CSSおよびJSファイルのオプションを使用すると最適な動作をします。Oxygen Builderプラグインと完全に互換性があります。キャッシュプラグインと一緒に使用すると最適です。W3 Total Cacheプラグインと完全に互換性があります。Minify CSSおよびJSファイルのオプションを使用すると最適な動作をします。WP Fastest Cacheプラグインと完全に互換性があります。Minify CSSおよびJSファイルのオプションを使用すると最適な動作をします。WP Super Cache キャッシュプラグインと完全に互換性があります。WP-Rocket キャッシュプラグインと完全に互換性があります。Minify/Combine CSS および JS ファイルのオプションを使用すると最適な動作をします。Woocommerceプラグインと完全に互換性があります。フュージョンビルダーガボンガンビア一般ジオセキュリティ地理的セキュリティは、異なる国からの攻撃を防ぎ、特定の地域からの有害な活動を終了させるために設計された機能です。ジョージアドイツ語ドイツガーナゴーストモードゴーストモード + ファイアウォール + ブルートフォース + イベントログ + 二要素認証ゴーストモードはこれらの事前定義されたパスを設定します。ゴーストモードジブラルタル各プラグインにランダムな名前を付けます。各テーマにランダムな名前を付ける(WP マルチサイトで機能します)グローバルクラス名が検出されました: %s。最初にこの記事を読んでください: %sイベントログパネルに移動してください。ダッシュボードに移動して、外観セクションに行き、すべてのテーマを最新バージョンに更新してください。ダッシュボードに移動して、プラグインセクションに行って、すべてのプラグインを最新バージョンにアップデートしてください。ゴーダディGodaddyを検出しました!CSSエラーを回避するために、CDNを%sに切り替えないようにしてください。良いGoogle reCAPTCHA V2Google reCAPTCHA V3Google reCaptcha V3は、現在の%sのログインフォームとは動作しません。素晴らしい!バックアップが復元されました。素晴らしい!初期値が復元されました。素晴らしい!新しいパスが正しく読み込まれています。素晴らしい!プリセットがロードされました。ギリシャギリシャ語グリーンランドグレナダグアドループグアムグアテマラガーンジーギニアギニアビサウガイアナハイチソースコードで管理者URLが見えるのは最悪だよ。ハッカーはすぐに秘密の管理者パスを知ってブルートフォース攻撃を始めるからね。カスタム管理パスはajax URLに表示されてはいけない。

%s ソースコードからパスを隠す方法 %s の解決策を見つけてください。ソースコードでログインURLが見えるのは最悪だよ。ハッカーはすぐに秘密のログインパスを知ってブルートフォース攻撃を始めるかもしれないからね。

カスタムログインパスは秘密にしておくべきで、それに対してブルートフォース保護を有効にしておくべきだよ。

ソースコードからログインパスを隠す%s解決策はこちら%sを見つけてね。Enabling this PHP directive can make your site vulnerable to cross-site attacks (XSS).

There's no valid reason to enable this directive, and using any PHP code that relies on it is highly risky.ヘッダーセキュリティヘッダーとファイアウォールハード島とマクドナルド諸島ヘブライ語ヘルプ&FAQこちらは、ウェブサイトが制限される選択された国のリストです。隠す"ログイン"パスを隠す「wp-admin」を非表示にする非管理者ユーザーから "wp-admin" を非表示にします。「wp-login.php」を非表示にする訪問者から/loginパスを非表示にしてください。非管理者ユーザーから/wp-adminパスを非表示にしてください。訪問者から/wp-adminパスを非表示にします。訪問者から/wp-login.phpのパスを非表示にしてください。管理者ツールバーを非表示にします。ユーザーの役割に応じて管理ツールバーを非表示にして、ダッシュボードへのアクセスを防止してください。すべてのプラグインを非表示にします。著者IDのURLを非表示にします。共通ファイルを非表示埋め込みスクリプトを非表示にします。絵文字アイコンを非表示にするフィード&サイトマップリンクタグを非表示にしてください。ファイル拡張子を非表示にします。HTMLコメントを非表示にしますMETAタグからIDを非表示にします。言語切り替えを非表示Hide My WP Ghostオプションを非表示Robots.txt ファイル内のパスを非表示にします。プラグイン名を非表示REST APIのURLリンクを非表示にしてください。テーマ名を非表示WordPress において、画像、CSS、および JS からバージョンを非表示にしてください。画像、CSS、およびJSからバージョンを非表示にしてください。WLW マニフェスト スクリプトを非表示にします。WP共通ファイルを非表示WP共通パスを非表示WordPress共通ファイルを非表示にします。WordPress共通パスを非表示にします。WordPress DNS Prefetch META タグを非表示にします。WordPress Generator META タグを非表示にします。WordPressの古いプラグインのパスを非表示にします。WordPressの古いテーマのパスを非表示にします。WordPressの一般的なパスを%s Robots.txt %sファイルから非表示にしてください。robots.txt ファイルから wp-admin、wp-content などの WordPress パスを非表示にしてください。すべての画像、CSS、およびJavaScriptファイルの末尾からのすべてのバージョンを非表示にしてください。アクティブおよび非アクティブなプラグインを非表示にしてください。完了したタスクを非表示にします。パスワードを非表示にします。/feed と /sitemap.xml のリンクタグを非表示にしてください。WordPress を指す DNS プリフェッチを非表示にしてください。テーマやプラグインによって残されたHTMLコメントを非表示にしてください。すべての<links>、<style>、<scripts> METAタグからIDを非表示にします。新しい管理者パスを非表示にします。新しいログインパスを非表示にしてください。WordPress Generator META タグを非表示にします。フロントエンドでログインユーザーの管理ツールバーを非表示にしてください。ログインページで言語切り替えオプションを非表示にしてください。訪問者から新しい管理者パスを隠してください。新しい管理者パスはログインユーザーのみに表示してください。訪問者から新しいログインパスを非表示にしてください。新しいログインパスは直接アクセスした場合のみ表示してください。新しいパスに変更された古い /wp-content、/wp-include パスを非表示にしてください。新しいパスに変更されたら、古い /wp-content、/wp-include パスを非表示にしてください。古い /wp-content/plugins パスが新しいものに変更されたら非表示にしてください。新しいパスに変更されたら古い /wp-content/themes パスを非表示にしてください。Ajax URL から wp-admin を非表示にしてください。wp-config.php、wp-config-sample.php、readme.html、license.txt、upgrade.php、install.php ファイルを非表示にしてください。wp-config.php、wp-config-sample.php、readme.html、license.txt、upgrade.php、install.php ファイルを非表示にしてください。ウェブサイトのヘッダーから、`wp-json`および`?rest_route`のリンクタグを非表示にしてください。WordPressのメタタグからIDを非表示にすると、メタタグを識別するプラグインのキャッシュ処理に影響を与える可能性があります。ヒンディー語聖座(バチカン市国)ホンジュラス香港ホスト名ユーザーが最初にアクセスした後、一時ログインが利用可能な期間はどのくらいですか。ハチドリハンガリー語ハンガリーIIS WindowsIISが検出されました。次の行を<rules>タグの後に追加して、%sファイルを更新する必要があります:%sIPIPがブロックされましたアイスランドreCAPTCHAにエラーが表示された場合は、修正してから先に進んでください。リライトルールが構成ファイルで正しく読み込まれていない場合、プラグインを読み込まず、パスを変更しないでください。管理者ユーザーと接続している場合、変更後に再ログインする必要があります。%sを設定できない場合は、非アクティブモードに切り替えて%sお問い合わせ%sしてください。reCAPTCHAの設定ができない場合は、Math reCaptcha保護に切り替えてください。eコマース、会員制、またはゲスト投稿のウェブサイトを持っていない場合、ユーザーにブログの購読を許可すべきではありません。スパム登録が増え、ウェブサイトがスパムコンテンツやコメントで埋め尽くされることになります。php.iniファイルにアクセスできる場合は、allow_url_include = offに設定してください。設定できない場合は、ホスティング会社に連絡してオフに設定してもらってください。php.iniファイルにアクセスできる場合は、expose_php = offに設定してください。設定できない場合は、ホスティング会社に連絡してオフに設定してもらってください。php.iniファイルにアクセスできる場合は、register_globals = offに設定してください。設定できない場合は、ホスティング会社に連絡してオフに設定してもらってください。php.iniファイルにアクセスできる場合は、safe_mode = offに設定してください。できない場合は、ホスティング会社に連絡してオフに設定してもらってください。機能に問題がある場合は、%sセーフモード%sを選択してください。ログインできるなら、新しいパスが正しく設定されています。ログインできるなら、reCAPTCHAを正しく設定しています。Windows Live Writerを使用していない場合、ページヘッダーにそのリンクを置く理由は実際にはありません。なぜなら、それは世界中にあなたがWordPressを使用していることを明かしてしまうからです。もしピンバックなどの本当にシンプルな検出サービスを使っていないなら、ヘッダーにそのエンドポイント(リンク)を広告する必要はありません。ほとんどのサイトにとってこれはセキュリティ上の問題ではないことに注意してください。なぜなら彼らは「発見されたい」と考えているからです。しかし、もしWPを使っていることを隠したいのであれば、この方法が適しています。サイトがユーザーログインを許可している場合、ユーザーが簡単にログインページを見つけられるようにする必要があります。悪意のあるログイン試行に対抗するために他の対策も必要です。

ただし、難読化は包括的なセキュリティ戦略の一部として使用される場合、有効なセキュリティレイヤーとなり、悪意のあるログイン試行の数を減らしたい場合に役立ちます。ログインページを見つけにくくすることは、その1つの方法です。セキュリティタスクを無視します。ログインフォームでの不正確なユーザー名を即座にブロックしてください。`.htaccess`ファイルについて昔は、デフォルトのWordPress管理者ユーザー名が「admin」や「administrator」だったんだ。ユーザー名はログイン認証の半分を占めるから、これがハッカーにとって総当たり攻撃をしやすくしていたんだよ。

幸いにも、WordPressはその後変更されて、WordPressをインストールする際にカスタムユーザー名を選択するようになったんだ。確かにUltimate Membership Proが検出されました。このプラグインは、Ajax URLを呼び出すためにWordPressの関数を使用していないため、カスタム%sパスはサポートされていません。インドインドネシアインドネシア語情報InmotionInmotionが検出されました。 %sInmotion Nginx Cacheとの互換性を確保する方法についてお読みください%sインストール/アクティベート他のCDNプラグインとの統合およびカスタムCDN URL。無効な ReCaptcha です。reCaptcha を完了してください。無効なメールアドレス無効な名前が検出されました: %s。WordPressのエラーを回避するために、最終パス名のみを追加してください。無効な名前が検出されました: %s。WordPressのエラーを回避するため、名前は/で終わることはできません。無効な名前が検出されました: %s。WordPressのエラーを回避するため、名前は / で始めることはできません。無効な名前が検出されました: %s. WordPress のエラーを回避するため、パスは . で終わることはできません。無効な名前が検出されました: %s. WordPressのエラーを回避するために、別の名前を使用する必要があります。ユーザー名が無効です。イラン、イスラム共和国イラクアイルランドマン島イスラエルそれは重要です %s 設定を変更するたびに必ず保存する %s。バックアップを使用して、所有している他のウェブサイトを設定することができます。重要なのは、readme.htmlファイルを隠すか削除することです。なぜなら、それにはWPのバージョンの詳細が含まれているからです。WordPressの一般的なパスを隠すことは、脆弱なプラグインやテーマへの攻撃を防ぐために重要です。
同様に、プラグインやテーマの名前を隠すことも重要で、ボットがそれらを検出できないようにする必要があります。WordPressの一般的なパス、例えばwp-contentやwp-includesをリネームすることは重要です。ハッカーがあなたのWordPressサイトを特定できないようにするためです。データベースデバッグをオンにしておくのは安全ではありません。ライブウェブサイトでデータベースデバッグを使用しないようにしてください。イタリア語イタリアJCH オプティマイズ キャッシュジャマイカ日本語日本ブラウザでJavaScriptが無効になっています!%s プラグインを使用するには、JavaScriptを有効にする必要があります。ジャージJoomla 3Joomla 4Joomla 5ジョーダンただの WordPress サイトカザフスタンケニアキリバスあなたのウェブサイトで他のユーザーが何をしているかを把握しています。韓国語コソボクウェートキルギス言語ラオス人民民主共和国過去30日間のセキュリティ統計最終アクセス苗字最終確認:遅延読み込みラトビアラトビア語学ぶ方法コードの追加方法を学ぶ`%sディレクトリの閲覧を無効化%sする方法を学びますか、それとも%s %s > パスの変更 > ディレクトリの閲覧を無効化%sを有効にしますか?`ウェブサイトを%sとして設定する方法を学びます。%sこちらをクリック%sローカル環境とNginxのセットアップ方法を学びます。Nginxサーバーのセットアップ方法を学びます。ショートコードの使い方を学びますプロ版についてさらに詳しく%s 7Gファイアウォール%sについて詳しく学びましょう。%s 8Gファイアウォール%sについて詳しく学びましょう。Leave it blank if you don't want to display any message選択された国々へのすべての経路を遮断するために、空白のままにしてください。レバノンレソトあなたのセキュリティを次のレベルに引き上げましょう!セキュリティレベルセキュリティレベルリベリアリビアアラブジャマヒリヤ国ライセンス トークンリヒテンシュタイン通常のログインフォームを使用して許可されるログイン試行回数を制限してください。LiteSpeedLiteSpeed キャッシュリトアニアリトアニア語プリセットを読み込んでください。セキュリティプリセットをロードします。すべてのプラグインが読み込まれた後に読み込みます。"template_redirects" フックで。すべてのプラグインが読み込まれる前に読み込んでください。 "plugins_loaded" フックで。WordPressのローカル言語がインストールされている場合、カスタム言語をロードします。プラグインを「Must Use」プラグインとして読み込んでください。プラグインが初期化されるときに読み込んでください。 "init" フックで。ローカル&NGINXが検出されました。すでにNGINXの設定にコードを追加していない場合は、以下の行を追加してください。 %sLocal by Flywheel場所ユーザーをロックしますロックアウトメッセージユーザーの役割を記録します。ユーザーのイベントを記録します。ログイン&ログアウト リダイレクトログインがブロックされましたログイン パスログインのリダイレクトURLLogin Security モジュールログインテストログインURLログアウトリダイレクトURLパスワード紛失フォーム保護ルクセンブルクマカオマダガスカルマジックリンクログインあなたのウェブサイトにリダイレクトURLが存在することを確認してください。%sユーザーロールのリダイレクトURLは、デフォルトのリダイレクトURLよりも優先度が高いです。ヘッダーを変更する際には、自分が何をしているのかを理解していることを確認してください。設定を保存し、キャッシュを空にしてから、当社のツールでウェブサイトをチェックしてください。マラウイマレーシアモルディブマリマルタブルートフォース保護を管理ログインおよびログアウトのリダイレクトを管理します。ホワイトリストとブラックリストのIPアドレスを管理します。IPアドレスを手動でブロック/ブロック解除します。各プラグイン名を手動でカスタマイズし、ランダムな名前を上書きしてください。各テーマ名を手動でカスタマイズし、ランダムな名前を上書きしてください。信頼できるIPアドレスを手動でホワイトリストに登録してください。マッピングマーシャル諸島マルティニークログイン時の数学とGoogle reCaptchaの検証。数学の再CAPTCHAモーリタニアモーリシャス最大失敗試行回数マヨットミディアム会員メキシコミクロネシア連邦最小最小限 (構成の書き換えなし)モルドバ、共和国モナコモンゴルWordPressサイトで起こるすべてのことを監視してください!ウェブサイト上のイベントを監視し、追跡し、記録してください。モンテネグロモントセラトもっと助けてください。%sについての詳細より多くのオプションモロッコほとんどのWordPressインストールは、人気のあるApache、Nginx、およびIISウェブサーバー上にホストされています。モザンビークプラグインの読み込みが必要です。マイアカウントミャンマーMySQL バージョンNGINXが検出されました。すでにNGINXの設定にコードを追加していない場合は、以下の行を追加してください。 %s名前ナミビアナウルネパールオランダニューカレドニア新しいログインデータNew Plugin/Theme detected! Update %s settings to hide it. %sClick here%sニュージーランド次のステップNginxニカラグアニジェールナイジェリアニウエいいえCMSシミュレーションはありません。最近の更新はリリースされていません。ブラックリストに載っているIPアドレスはありません。ログが見つかりません。一時的なログインはありません。いいえ、中止します秒数ノーフォーク島通常の読み込み通常、サーバーディレクトリを閲覧できないようにするオプションは、ホストがサーバーの設定を通じて有効にします。設定ファイルで2回有効にするとエラーが発生する可能性があるため、まずは%sUploads Directory%sが表示されているかどうかを確認するのがベストです。北朝鮮北マケドニア、共和国北マリアナ諸島ノルウェーノルウェー語まだログインしていません。このオプションを選択すると、ウェブサイトのCDNは有効になりませんが、他のプラグインでCDN URLを設定済みの場合は、カスタムパスが更新されます。注意! %sPaths are NOT physically change%s on your server.注意!プラグインは、キャッシュファイルが作成された後、WP cron を使用してパスをバックグラウンドで変更します。注意:もしサイトにログインできない場合は、このURLにアクセスしてください。通知設定了解しました、設定完了です。オマーンウェブサイトの初期化プラグインを購入すると、%sのアカウント資格情報がメールで送信されます。一日1時間一か月1週間一年WordPressインストールで最も重要なファイルの1つは、wp-config.phpファイルです。
このファイルはWordPressインストールのルートディレクトリにあり、データベース接続情報など、ウェブサイトの基本構成詳細が含まれています。プラグインがサーバータイプを正しく識別できない場合のみ、このオプションを変更してください。CSSとJSファイルを最適化するログインページでユーザーに残りの試行回数について通知するオプション。オプション古いプラグイン古いテーマ概要酸素PHPのバージョンPHP の allow_url_include がオンになっていますPHP の `expose_php` がオンになっています。PHP の `register_globals` がオンになっていますPHPセーフモードは、共有Webホスティングサーバーのセキュリティ問題を解決しようとした試みの1つでした。

一部のWebホスティングプロバイダーでまだ使用されていますが、現在では不適切と見なされています。システマティックなアプローチにより、PHPレベルではなくWebサーバーおよびOSレベルで複雑なセキュリティ問題を解決しようとするのは、構造的に誤っていることが証明されています。

技術的には、セーフモードは、一部の組み込みPHP関数の動作を制限するPHPディレクティブです。主な問題は一貫性です。セーフモードをオンにすると、多くの正当なPHP関数が正しく動作しなくなる可能性があります。同時に、制限されていないPHP関数を使用してセーフモードの制限を無効にするさまざまな方法が存在するため、ハッカーがすでに侵入している場合、セーフモードは無力です。PHPのsafe_modeがオンになっていますページが見つかりませんパキスタンパラオパレスチナ自治区パナマパプアニューギニアパラグアイ合格パスが許可されていません。プラグインやテーマなどのパスを避けてください。パスとオプション既存のキャッシュファイル内のパスが変更されました。5 分間お待ちください。パーマリンクペルシア語ペルーフィリピンピトケアン私たちのクラウドにデータを保存することに同意しない場合は、この機能を使用しないでください。購入内容を確認し、ライセンストークンを取得するには、%s をご覧ください。プラグイン読み込みフックプラグイン一覧プラグインのセキュリティプラグイン設定12ヶ月間更新されていないプラグインには、実際のセキュリティ問題がある可能性があります。WordPressディレクトリから更新されたプラグインを使用していることを確認してください。プラグイン/テーマエディターは無効化されています。ポーランドポーランド語ポルトガルポルトガル語プリセットセキュリティウェブサイトのレイアウトが崩れないようにしてください。優先読み込みWooCommerceショップをブルートフォースログイン攻撃から保護します。あなたのウェブサイトをBrute Forceログイン攻撃から保護します。%sを使用します。ウェブ開発者が直面する一般的な脅威は、Brute Force攻撃として知られるパスワード推測攻撃です。Brute Force攻撃は、すべての文字、数字、および記号の組み合わせを順番に試して、正しい組み合わせを見つけるまで続けることでパスワードを発見しようとする試みです。Brute Forceログイン攻撃からウェブサイトを保護します。ブルートフォースログイン攻撃からウェブサイトを保護します。自分の人間性を証明する:プエルトリコカタールクイック修正RDS が見えるランダムな静的番号ユーザーを1日間再アクティブ化してください。ログイン後のリダイレクト隠されたパスをリダイレクトダッシュボードにログインユーザーをリダイレクトしてください。一時的なユーザーをログイン後にカスタムページにリダイレクトしてください。保護されたパス /wp-admin、/wp-login をページにリダイレクトするか、HTMLエラーをトリガーするようにリダイレクトしてください。ログイン後にユーザーをカスタムページにリダイレクトしてください。リダイレクト削除ヘッダーからPHPバージョン、サーバー情報、サーバーシグネチャを削除してください。サイトマップXMLからプラグインの作者とスタイルを削除してください。安全でないヘッダーを削除します。ウェブサイトのヘッダーから pingback リンクタグを削除してください。readme.htmlファイルの名前を変更するか、%s %sをオンにしてください > パスを変更 > WordPress共通ファイルを非表示%swp-admin/install.php と wp-admin/upgrade.php ファイルの名前を変更するか、%s %s をオンにします > パスの変更 > WordPress 共通パスを非表示にします%s更新リセット設定をリセットするホスト名の解決はウェブサイトの読み込み速度に影響する可能性があります。バックアップを復元設定を復元セキュリティを再開します。再会ロボットセキュリティ役割設定を元に戻すすべてのプラグイン設定を初期値に戻してください。ルーマニアルーマニア語新しいパスが機能しているかどうかを確認するために、%s Frontend Test %s を実行してください。「%s ログインテスト %s」を実行し、ポップアップ内でログインしてください。`%sreCAPTCHAテスト%s`を実行し、ポップアップ内でログインしてください。フルセキュリティチェックを実行してください。ロシア語ロシア連邦ルワンダSSLは、インターネット上で情報のやり取りを安全にするために使用される暗号化プロトコルであるSecure Sockets Layersの略称です。

これらの証明書は、ユーザーにウェブサイトの正体について保証を提供します。SSLは、Transport Layer SecurityプロトコルまたはTLSとも呼ばれることもあります。

WordPressの管理ダッシュボードには安全な接続が重要です。セーフ・モードセーフモード + ファイアウォール + ブルートフォース + イベントログ + 二要素認証セーフモード + ファイアウォール + 互換性設定セーフモードはこれらの事前定義されたパスを設定します。安全なURL:セーフモードセント・バーソロミューセントヘレナセントクリストファー・ネイビスセントルシアセントマーティンサンピエール・エ・ミクロンセントビンセントおよびグレナディーン。塩とセキュリティキーが有効です。サモアサンマリノサントメ・プリンシペサウジアラビア保存デバッグログを保存しますユーザーを保存する保存しました了解しました!今後のテストではこのタスクは無視されます。保存しました!テストをもう一度実行してもらっても構いません。スクリプトデバッグモード検索ユーザーイベントログを検索し、メールアラートを管理します。シークレットキー%sGoogle reCAPTCHA%sのための秘密鍵。セキュアなWPパスセキュリティチェックセキュリティキーが更新されました。セキュリティステータスセキュリティキーは、wp-config.php に定数として定義されています。これらは可能な限りユニークで長いものであるべきです。 AUTH_KEY,SECURE_AUTH_KEY,LOGGED_IN_KEY,NONCE_KEY,AUTH_SALT,SECURE_AUTH_SALT,LOGGED_IN_SALT,NONCE_SALTセキュリティキーは、ユーザーのクッキーやハッシュ化されたパスワードに保存されている情報をよりよい暗号化するために使用されます。

これらは、パスワードにランダムな要素を追加することで、サイトをハッキング、アクセス、クラックしにくくします。これらのキーを覚える必要はありません。実際、一度設定すれば二度と表示されません。したがって、これらを適切に設定しない理由はありません。このウェブサイトでの最近のアクションを確認してください...プリセットを選択してください。ユーザー ロールの選択ほとんどのウェブサイトでテスト済みのプリセットセキュリティ設定を選択してください。すべて選択最初のユーザーアクセス後、一時ログインが利用可能な期間を選択してください。古いパスで非表示にしたいファイル拡張子を選択してください。古いパスに隠したいファイルを選択してください。選択された国々変更された管理者およびログインURLを含むメールを送信してください。セネガルセルビアセルビア語サーバータイプカスタムキャッシュディレクトリを設定ユーザーの役割に基づいてログインおよびログアウトのリダイレクトを設定してください。現在のユーザーロールを設定します。このユーザーが作成されるウェブサイトを設定してください。設定セーシェル短い名前が検出されました: %s。WordPressのエラーを回避するために、4文字以上のユニークなパスを使用する必要があります。表示`/%s` の代わりに `/%s` を表示します。詳細オプションを表示デフォルトパスを表示し、隠しパスを許可します。デフォルトパスを表示し、すべてを許可します。ブラウザで「Inspect Element」がアクティブな場合は、空白の画面を表示してください。完了したタスクを表示してください。無視されたタスクを表示ログインフォームの代わりにメッセージを表示してください。パスワードを表示シエラレオネサインアップフォーム保護簡体字中国語CMSをシミュレートシンガポールシント・マールテンサイトキーサイトキーは %sGoogle reCaptcha%s です。サイトグラウンドサイトマップのセキュリティ六ヶ月スロバキア語スロバキアスロベニア語スロベニア堅固なセキュリティソロモン諸島ソマリア一部のプラグインは、特に書き込み可能な場合、.htaccessファイルからカスタムリライトルールを削除することがあります。これはカスタムパスの機能に影響を与える可能性があります。カスタム管理画面とAjaxパスと相性が悪いテーマもあります。Ajaxエラーが発生した場合は、wp-adminとadmin-ajax.phpに切り替えてください。申し訳ありませんが、このページへのアクセスは許可されていません。南アフリカサウスジョージア・サウスサンドウィッチ諸島韓国スペインスパマーは簡単にサインアップできます。スペイン語スリランカスキャンの開始スクリセキュリティスーダンスーパー管理者スリナムスヴァールバル諸島およびヤンマイエンスワジランドスウェーデンスウェーデン語スイッチを入れる %s %s > パスを変更する > WordPress共通パスを非表示%s%s %sをオンにしてください > パスを変更 > XML-RPCアクセスを無効にする%s%s %sをオンに切り替え > パスを変更 > 著者ID URL%sを非表示にする%s %sをオンに切り替え > パスを変更 > RSDエンドポイント%sを非表示にする%s %sをオンにしてください > パスを変更 > WordPress共通ファイルを非表示%s%s %sをオンにしてください > パスを変更 > ajax URL%sからwp-adminを非表示にします。インストールされたプラグインから管理パスへの参照を非表示にします。%s %sをオンにしてください > 調整 > %s %s%s %sをオンにしてください > 調整 > WLW マニフェスト スクリプトを非表示%sスイスシリア・アラブ共和国タグライン台湾タジキスタンタンザニア、合衆国一時的なログイン一時的なログイン設定一時的なログインあなたのウェブサイトのヘッダーをテストしてください。テキストとURLのマッピングテキスト マッピングCSSファイルやJSファイル内のテキストマッピング、キャッシュされたファイルを含めています。クラス、ID、JS変数のみのテキストマッピングタイ語タイ%sを使ってくださりありがとうございます!%sセクションは%sこちら%sに移動されましたゴーストモードは、古いパスを隠すためにリライトルールを設定ファイルに追加します。REST API は多くのプラグインにとって重要であり、それによって WordPress データベースとプログラムによるさまざまなアクションを実行することができます。セーフモードでは、古いパスをハッカーから隠すために、リライトルールを設定ファイルに追加します。安全なURLはすべてのカスタムパスを無効にします。ログインできない場合にのみ使用してください。WordPressのデータベースは、あなたのWordPressサイト全体の脳のようなものです。サイトに関するすべての情報がそこに保存されているため、ハッカーにとってはお気に入りの標的となります。

スパマーやハッカーはSQLインジェクションのために自動コードを実行します。
残念ながら、多くの人がWordPressをインストールする際にデータベースの接頭辞を変更することを忘れてしまいます。
これにより、ハッカーがデフォルトの接頭辞wp_を標的にして大規模な攻撃を計画しやすくなります。WordPressサイトのタグラインは、サイトタイトルの下に配置される短いフレーズで、サブタイトルや広告スローガンに似ています。タグラインの目的は、訪問者にサイトの本質を伝えることです。

デフォルトのタグラインを変更しないと、あなたのウェブサイトが実際にWordPressで構築されたことが非常に簡単に検出される可能性があります。定数 ADMIN_COOKIE_PATH は別のプラグインによって wp-config.php で定義されています。%s を変更することはできません。define('ADMIN_COOKIE_PATH', ...); の行を削除しない限り。プラグインとテーマのリストが更新されました!ウェブサイトをハッキングする最も一般的な方法は、ドメインにアクセスして有害なクエリを追加し、ファイルやデータベースから情報を明らかにすることです。
これらの攻撃は、WordPressを含むどんなウェブサイトにも行われます。もし攻撃が成功すれば… ウェブサイトを救うのはおそらく手遅れになるでしょう。プラグインやテーマのファイルエディタは、FTPを使用せずに素早く変更を加えることができる便利なツールです。

残念ながら、PHPのソースコードを表示するだけでなく、管理者アクセス権を取得した攻撃者が悪意のあるコードをサイトに挿入する可能性があるため、セキュリティ上の問題となります。プロセスはウェブサイトのファイアウォールによってブロックされました。要求された URL %s はこのサーバー上で見つかりませんでした。応答パラメーターが無効または形式が正しくありません.シークレットパラメータが無効か、または形式が正しくありません.シークレットパラメータがありません.wp-config.php内のセキュリティキーはできるだけ頻繁に更新してください。テーマのパステーマセキュリティテーマは最新ですウェブサイトで致命的なエラーが発生しました。ウェブサイトで致命的なエラーが発生しました。サイト管理者のメールボックスを確認して、指示に従ってください。プラグインに構成エラーがあります。設定を再度保存し、指示に従ってください。WordPressの新しいバージョンが利用可能です ({version})。利用可能な変更ログはありません。「重要でないパスワード」というものは存在しません!WordPressデータベースのパスワードも同様です。
ほとんどのサーバーは、データベースが他のホストからアクセスできないように構成されていますが(またはローカルネットワーク外からアクセスできないようになっていますが)、それはデータベースのパスワードを「12345」や何も設定しない状態にしてもよいということではありません。この素晴らしい機能は基本プラグインには含まれていません。アドバンストパックをインストールまたはアクティブ化して、新しいセキュリティ機能をお楽しみください。サイトで抱えることができる最大のセキュリティ問題の1つだよ!ホスティング会社がこのディレクティブをデフォルトで有効にしている場合は、すぐに別の会社に切り替えてね!新しいモバイルデバイスではすべてで機能しないかもしれません。このオプションは、WordPressのリライトルールエリアに、# BEGIN WordPress と # END WordPress のコメントの間にリライトルールを追加します。画像やフォントがAjax経由で呼び出される際に、古いパスが表示されないようになります。三日三時間東ティモールキャッシュされたファイル内のパスを変更するには、%sキャッシュされたファイル内のパスを変更%sをオンにしてください。Avadaライブラリを非表示にするには、$table_prefix行の後にAvada FUSION_LIBRARY_URLをwp-config.phpファイルに追加してください:%sウェブサイトのセキュリティを向上させるために、サイトマップXMLからWordPressを指す著者やスタイルを削除することを検討してください。トーゴTokelauトンガウェブサイトのイベントを追跡して記録し、セキュリティアラートをメールで受信してください。WordPressサイトで発生するイベントを追跡して記録してください。繁体字中国語トリニダード・トバゴトラブルシューティングチュニジアトルコトルコ語トルクメニスタンタークス・カイコス諸島ウェブサイトが公開されている場合は、デバッグプラグインを無効にしてください。また、global $wpdb; $wpdb->hide_errors(); を wp-config.php ファイルに追加して、データベースエラーを非表示にするオプションを設定できます。ツバル微調二要素認証URLマッピングウガンダウクライナウクライナ語Ultimate Affiliate Proが検出されました。このプラグインは、WordPressの機能を使用してAjax URLを呼び出さないため、カスタム%sパスはサポートされていません。`wp-config.php`ファイルを更新してデータベースの接頭辞を更新することができません。元に戻すアラブ首長国連邦イギリスアメリカ合衆国の周辺の小さな島々未知の更新チェッカーの状態 "%s"すべてのロックを解除しましょう%sの設定を更新して、REST APIパスを変更した後にパスを更新してください。更新しました保存されたプラグインの設定を含むファイルをアップロードしてください。アップロードパス緊急なセキュリティ対策が必要です。ウルグアイブルートフォース保護を使用する一時ログインを使用してください。他のログインフォームと統合するために、%sショートコードを使用してください。ユーザーユーザー 'admin' または 'administrator' を管理者として扱います。ユーザーアクションユーザーイベントログユーザー権限ユーザーセキュリティユーザーをアクティブ化できませんでした。ユーザーを追加できませんでしたユーザーを削除できませんでした。ユーザーを無効にすることができませんでした。右クリックを無効にするユーザーロールコピー/ペーストを無効にするユーザーロール誰がドラッグ&ドロップを無効にするかのユーザーロール誰がインスペクト要素を無効にするかのユーザーロール誰がソースを表示できないようにするかのユーザーロール誰が管理者ツールバーを非表示にするかのユーザーロールユーザーが正常にアクティブ化されました。ユーザーが正常に作成されました。ユーザーは正常に削除されました。ユーザーは正常に無効化されました。ユーザーが正常に更新されました。ユーザー名(パスワードとは異なり)は秘密ではありません。誰かのユーザー名を知っていても、そのアカウントにログインすることはできません。パスワードも必要です。

ただし、ユーザー名を知っていると、ユーザー名を使用してパスワードを総当たり攻撃したり、同様の方法でアクセスを得るための一歩近づくことができます。

そのため、ユーザー名のリストをある程度は非公開にしておくことが望ましいです。デフォルトでは、siteurl.com/?author={id} にアクセスし、IDを1からループ処理することで、ユーザー名のリストを取得できます。なぜなら、IDがシステム内に存在する場合、WPはsiteurl.com/author/user/ にリダイレクトするからです。古いバージョンのMySQLを使用すると、サイトが遅くなり、メンテナンスされていないMySQLの古いバージョンに存在する既知の脆弱性のため、ハッカー攻撃を受けやすくなります。

必要なのはMysql 5.4以上です。古いバージョンのPHPを使用すると、サイトが遅くなり、メンテナンスされていないPHPのバージョンに存在する既知の脆弱性のため、ハッカー攻撃のリスクが高まります。

ウェブサイトにはPHP 7.4以上が必要です。ウズベキスタン有効値バヌアツベネズエラソースコード内のバージョンベトナムベトナム語詳細を見るバージン諸島、イギリスアメリカ領ヴァージン諸島W3 Total CacheWPコアセキュリティWPのデバッグモードWP EngineWP Fastest CacheWP RocketWP Super CacheWP Super Cache CDNが検出されました。WP Super Cache > CDN > Include directoriesに%sと%sのパスを含めてください。WPBakery Page BuilderWPプラグインウォリス・フツナ弱い名前が検出されました: %s。ウェブサイトのセキュリティを向上させるために別の名前を使用する必要があります。ウェブサイト西サハラファイアウォールのルールを追加する場所。ホワイトリストIPをホワイトリストに登録ホワイトリストのオプションホワイトリストパスWindows Live Writer がオンになっていますWooCommerce セーフログインWooCommerce サポートウーブコマースWoocommerce マジックリンクWordPress データベースのパスワードWordPress デフォルトの権限WordPressセキュリティチェックWordPressのバージョンWordPress XML-RPCは、異なるシステム間の通信を標準化することを目的とした仕様です。HTTPを輸送メカニズムとし、XMLをエンコーディングメカニズムとして使用して、幅広いデータの送信を可能にします。

このAPIの最大の利点は、拡張性とセキュリティです。XML-RPCは基本認証を使用して認証を行います。各リクエストでユーザー名とパスワードを送信するため、セキュリティ上の大きな問題があります。WordPressおよびそのプラグインやテーマは、コンピュータにインストールされた他のソフトウェアと同様であり、デバイス上の他のアプリケーションと同様です。定期的に開発者が新機能を提供したり既知のバグを修正したりするアップデートをリリースします。

新機能は、必ずしも必要なものではないかもしれません。実際、現在の機能に完全に満足しているかもしれません。それでも、バグについては心配する必要があるかもしれません。

ソフトウェアのバグはさまざまな形や大きさで現れます。バグは非常に深刻な場合もあります。例えば、プラグインの使用を妨げるものや、特定の部分のみに影響を与える軽微なバグである場合もあります。場合によっては、バグが深刻なセキュリティホールを引き起こすことさえあります。

テーマを最新の状態に保つことは、サイトを安全に保つための最も重要で簡単な方法の1つです。WordPressおよびそのプラグインやテーマは、コンピュータにインストールされた他のソフトウェアと同様であり、デバイス上の他のアプリケーションと同様です。定期的に、開発者は新機能を提供したり、既知のバグを修正したりするアップデートをリリースします。

これらの新機能は、必ずしもあなたが望むものではないかもしれません。実際、現在の機能に完全に満足しているかもしれません。それでも、バグについて心配する必要があるでしょう。

ソフトウェアのバグはさまざまな形や大きさで発生します。バグは非常に深刻な場合もあります。例えば、プラグインの使用を妨げるものであったり、テーマの特定の部分にのみ影響を与えるものであったりします。場合によっては、バグが深刻なセキュリティホールを引き起こすこともあります。

プラグインを最新の状態に保つことは、サイトを安全に保つための最も重要で簡単な方法の1つです。WordPressのインストールは簡単で有名だよ。
wp-admin/install.phpとwp-admin/upgrade.phpファイルを隠すことが重要だね。これらのファイルに関連するセキュリティ問題がすでにいくつかあるから。WordPress、プラグイン、テーマはソースコードにバージョン情報を追加するので、誰でもそれを見ることができます。

ハッカーは脆弱なバージョンのプラグインやテーマを持つウェブサイトを簡単に見つけ、ゼロデイ攻撃を仕掛けることができます。WordfenceセキュリティWpEngineが検出されました。リダイレクトをWpEngineのリダイレクトルールパネルに追加してください%s。間違ったユーザー名保護XML-RPC セキュリティXML-RPCアクセスがオンになっています。イエメンはいはい、機能していますwp-config.php内で異なるwp-content/uploadsディレクトリが定義されています %s単一のIPアドレス、例えば192.168.0.1のようなもの、または192.168.0.*のような245個のIP範囲をブロックできます。これらのIPアドレスはログインページにアクセスできなくなります。新しいページを作成して、そのページにリダイレクトすることを選択して戻ってきてもらえます。ここから%s新しいキーを生成%sできます AUTH_KEY,SECURE_AUTH_KEY,LOGGED_IN_KEY,NONCE_KEY,AUTH_SALT,SECURE_AUTH_SALT,LOGGED_IN_SALT,NONCE_SALT現在、'%s' オプションをオフにしても構いません。セキュリティアラートメールの受信設定を行い、データ損失を防止できます。指定されたIPアドレスをホワイトリストに登録できます。単一のIPアドレス(例: 192.168.0.1)または245個のIPアドレス範囲(例: 192.168.0.*)を指定できます。あなたのIPアドレスを%sで見つけてください。同じ名前でADMINとLOGINの両方を設定することはできません。異なる名前を使用してください。このサーバーで %s にアクセスする権限がありません。IISを有効にしてURLリライトをアクティブ化する必要があります。これにより、パーマリンク構造をフレンドリーURL(index.phpなし)に変更できます。%s詳細%s試行回数を正の数に設定する必要があります。ポジティブな待機時間を設定する必要があります。パーマリンク構造をフレンドリーURL(index.phpなし)に設定する必要があります。あなたは常にWordPressを%slatest versions%sに更新するべきです。これらは通常、最新のセキュリティ修正を含み、WPを大幅に変更することはありません。これらはWPがリリースするとすぐに適用すべきです。

新しいバージョンのWordPressが利用可能になると、WordPress管理画面に更新メッセージが表示されます。WordPressを更新するには、このメッセージのリンクをクリックしてください。毎週ウェブサイトをチェックして、セキュリティの変更があるかどうかを確認してください。あなたの %s %s ライセンスは %s %s に期限切れとなりました。ウェブサイトのセキュリティを最新の状態に保つためには、%saccount.hidemywpghost.com%s で有効なサブスクリプションを確認してください。あなたのIPアドレスは潜在的なセキュリティ違反のためにフラグが立てられました。しばらくしてからもう一度お試しください...おっしゃる通り、%sホスティングでは%sセキュリティ規約のため、管理者URLを変更することができません。他のプラグイン/テーマによって、管理者URLが%sに変更されています。このオプションを有効にするには、他のプラグインでカスタム管理者を無効にするか、それを無効にしてください。別のプラグイン/テーマによって、ログインURLが%sで変更されています。このオプションを有効にするには、他のプラグインでカスタムログインを無効にするか、それを無効にしてください。ログインURLは次の通りです:%sログインURLは次の通りです:%s。ログインできない場合は、安全なURLを使用してください:%s。新しいパスワードは保存されていません。新しいサイトのURLはウェブサイトのセキュリティ %sis は非常に弱い%s %s多くのハッキングドアが利用可能です。ウェブサイトのセキュリティ %sis 非常に弱い%s %s多くのハッキングドアが利用可能です。あなたのウェブサイトのセキュリティが向上しています。 %sすべてのセキュリティタスクを完了するようにしてください。ウェブサイトのセキュリティはまだ弱いです。%s 主なハッキングドアの一部はまだ利用可能です。ウェブサイトのセキュリティは強力です。%s 毎週セキュリティをチェックし続けます。ザンビアジンバブエ機能をアクティブにします。最初のアクセス後すでにアクティブです。ダークデフォルトdisplay_errors PHP directive例: *.colocrossing.com例: /cart/例えば、/cart/ は /cart/ で始まるすべてのパスをホワイトリストに登録します。例: /checkout/例えば、/post-type/ は /post-type/ で始まるすべてのパスをブロックします。例: acapbot例: alexibot例: badsite.com例えば、gigabot例: 神奈川.com例: xanax.com例。例: /ログアウト or例:adm backなどeg. ajax, json例: アスペクト、テンプレート、スタイル例えば、コメント、議論例: コア、株式会社、含む例: disable_url safe_urlなど例: 画像、ファイル例: json、api、call例: lib, library例:login signinなどログアウトまたは切断eg. ロストパスワードまたはパスワードを忘れましたmain.css、theme.css、design.css例:moduleeg. マルチサイトの有効化リンクeg. 新規ユーザー or 登録例: プロフィール、ユーザー、ライターからヘルプhttps://hidemywp.comアラートを無視します。install.php と upgrade.php ファイルにアクセス可能です。ライトログログもっと詳細を教えてください。了解しました。指示に従います。%d文字のみまたは不一致中パスワードの強度が不明強いとても弱い脆弱reCAPTCHA テストreCAPTCHA V2 テストreCAPTCHA V3 テストreCAPTCHA言語reCaptchaのテーマreadme.htmlファイルにアクセスできますおすすめリダイレクト機能を確認機能のセットアップを開始します。%sプラグインの新しいバージョンが利用可能です。%1$s.に対して利用可能なアップデートがあるか確認できませんでした。%s プラグインは最新です。からああ、了解しました。英語のメッセージを送ってください。wp-config.phpとwp-config-sample.phpファイルにアクセスできますlanguages/hide-my-wp-nl_NL.mo000064400000456757147600042240012056 0ustar003)LSooeo pp pe:p%ppppPqhqXqTr>qr>rMr2=s)psBsEs#t tMtDuau eu ou}uu uu u uuePv)v v v v8w?xFxOxxyy0yJy%_yCyTyGz;fz5zLz%{{{L{"|<)|/f|%|||'|}7-}$e}R}!}}5~SQ~~~~,~':/7j3    . @XL+ р߀  $ ;'HpGdSrfjقD  4;8B { MW _k A ܅ %=E M ZePnΆֆކ T \ ftŇԇ6 Q] p|! ƈԈۈ (@]t ~ (I0zL~Fˊ7@S ϋ֋Y GRds Ō4%Q-w(J΍"6<ksdߎQDIUq6M 10;bCF5)_ekFm_Rgx/e@ ` l`xٕݕ  "#9,]ray_nٗpH' ej[^ƙ%B%HanК7ٚ  Y( 1ڛ. ;G[45؜&A͝ʞҞ۞(:Mg|(П %8Lc{@Р371ipv   šСء%@?*  Ǣ!Ӣ +#Fnj٣ "'Jb( ɤ/8!Jl$c $9[^%Ѧ)&!ZHP.O#0s/5Ԩ, 7}"v%/=mv)@F,;Hh87"( 7 AKT]DcF \ h n z ȮPׯ+ݯ ̰1԰ =N](sձuIDzвײ ̳޳bkU ʶֶ޶N 5CJ ft} nt{!ӹ% ?EV6;&M/}  ˻  t"Uc_Q^gexU޾d4f2m3)  =* * 5 ?7`;WUCO Fe'+   %/8 ?MTZ\w! KTYk${1"&)P?c2E]t 1%=Wl%""7AQyF(; P)^.5M;S&k:3UVWSTHWGfgk7  K  +5 =gI Yv!UIF8y`rxMqF8=8=~5Z6 ^M7^-RO-Q}PR s ]Bzhzf )2;B ^io4x    ( 4AH PZlt3#"9\{##7= JR+Z C *4 D N Ye@{=>%96_v  (2BQb{    .9_KR[dio!)$A@@( 6  );C JU\|7. - 8 CM gtY|   n H  + 1;AINQc~   . 5?Q9e#;Z go x R= JRcs| 2"1:@V]nw6~)  '0D  1B )GAXk88?x  "65Ul+ >->l1Yz9&+3=qy>12&>FY` + <5 -r )          +  E f         1 " 1 C 5J  %       -b @ R8O.6  $1?q5 g>C['q&<"% H Vc{   #   '6FN|/c ,   ' -9B Ycj?r954">W| 64 kw  /7<,t,aV`RHGu8]U4 !2A!/t!-! !J! >"J"Z"0p"k"h #<v# #B#%%.a&&Y)' ' ' 'T'u'uq((((F(7A)y)))))) )))*** *** **\o++++ +$,"(, K,LV,,., , ,--+-<@-}-0- -- - --..7.-S.,.+.1.- /,:/g/////c/U2:3 +464<4B4 J4T4l4 t4 44444 4 44 5 5i55 55W566 &6 G6 Q6_6q6666 6667#7<7N7:9>Q<?m@NAMaAAAAAAAP B\BKB6C!CCCt7DQD:D9E.E(EL!FnFRGDHaHODII$JJHJ%K9KPPKKK^KZLLILLLMM%M4M9MAM^M vM8MM>M N N%N 6NCNUNdNhN wNNNNNNNO"O3OGO`O${O OOOOOPP P.'PVP\P`P ePrP PPPP+PP Q(Q?QNQ`QrQQQ Q Q QQ=QE(R-nRR R9RRU4V VV VgV$^WWWWTW.XsXSYKsYKY` Z7lZ+ZHZN[h[\X\Qx\\ \ \ \ \] ] !] -]9]j]31^e^u^ ^^` `(`!``& a!0aRaAfa\awbZ}bFbAcQac}c1d AdWKd+dFd?e?Ve e/e6efA;f-}f^f* g$5g?Zgkg h'h=h>NhBhJhRi9ni iii ii ijj 4jl@j;jjjkkk9k BkNk ek-skkkOk|-llltMmmnnnn nnnn9n +o7o@oFo p "p -p"8p[p rpM}p p ppp qq8qAqIq YqdqYmqqqqqqqqrbr |rrrrrrrs (sIs=dsssssst%t .t s%p' 2FM؆oc-Ӈ!i): ׈ oap   8.%PC;@Њ #)M@E NX]fȍ"ݍ 8Rh:Ԏ6QKh̏6ߏ9P W bl{    'ʐ*KEEב 2:Rn%8r_23;"#?6c$Ô<F%%l4hߕ!Hj2`.;;j)nЗ]?0^Θ6-2d@/ؙ"o#d+4$Yb/yRD5AOw@ǝGPV m w NL:BUjhӟ ٟ   (Š`$e `4g$ ܢY1W ¤ɤå٥! 1 <GPlXũשߩ (8=R MW^fo$ì@F2y <A٭ X%~  *ˮ   "0eihgmQke+jl7is.DSY`iyAJ PZ `{k9 ! ,)6=`A(V U`_#7KK0.$ ;G NX `k pz 3ٺ]fy  Oս %/H([&9¾)-&TZkƿۿ$. @a|48H,*)J&t""IU+Y1 &+91eNW!>`)}S1p-cVVYRQUltl@N4:W`ifr  rtwgZwjZ=,fP?L9Yu B4M~   l:/7jebbedI   n~ GQYpxl  2=C1L~  )   )16?u]7% (1(Z!!7F[c:k  [ s}%GE Hf'B$%D^gz )  Cmo v#)-G/Ew8 =X k w  ' ! (;2:n    _ U` | y&, 2<M`b   !>]p.; $0P f p{6;zrC1Jd$i[    W%"}Z (2 ;Ff>Wlu{</ 9 U`i nzK,x #o %GO6<>{ !/7Ig[C  Q ]Ki1=qB 8CIK_ J! lvI=>,Fs| U7 <8  u         % 8  > I ^ m u   A .  ' I. x +       ;0bFlC&;j=  B;!~H  su{-#EG\/r     (" KV jv  , //; kv+}   N%At=:T/'<> {  &@WFg- % |2~ddHsM 8s!_! #<$4$8%-H%v%R% %%&9&|T&_&@1'!r'j'():**vs+ ++ +i ,t,----c-L .Y.n..... .../// // / //cx00011*'1$R1w1^1 1:1 /2);2e2 m2 2O2 22 3<3L3 l3z3&3$3%3(4<+4Ih4L4A4JA5>5 55 6",6O6o6 9 : ;;;; ;;; ;;;<(<7<J< Y<c< t<~<p<< ==m/===1= == >>$0>!U>w> >>>#>>?.?JADHIJWJ"JK3KSKYK\KNkKKdhLL&jMgMM`N8N#O/O*O^PpPi RRk9S\STTOURcU(UUNUQIVnVp WM{WWWWW W X XX7X PX@]XXHXXY$Y6YKY]YmYsYYYYYY!YZ:ZRZgZZ,Z#Z ZZ"[#@[d[h[m[[6[[[[ [[[\\$\+\E\ K\U\Z\i\{\\\(\ \\ \\5]5M]]] ]A]YV~" W{7]meBAmHnW9}02e3^B+v+k-tNY`0)uRz&?1(*f%X!$ #> 1/ qH& fBL bzVa*gMe, 'b$=" mTarxiDHqD&TgNu>"wzU#w%-Z-]%<dR9 k1^ALl\p2H-SFo+w5|dkQauW2K]A57:nR},|~)=I7^:W\I 8y oKD .}E !.</nM.z:YN6WR$58|Og,0;' |ZJ*@r3,4eyOsPJQui!R vS~MLGcV;cJhov QXE\M c: 2-+F4 Gsd%(SjIZs> P?atuj|Jxwi{[Y1*4@y.Dp7 5(<?8)lAt,XO2 9-i5v0GPSe{=t^~_[@$_%h*"#~/l^04; xCfl!9 ,(" 6E <Y6 U0>{*F vP]oZJXB_lgE'_!qd@p%p&kT(I\=Q1&[C 9Um#mjx3"sG:N'}yI)bnd`Uf+)h.'ctL3&C=j+rr]@n8Zc oK#;4EOQhKhKFV `}CM# `2DLjCS[ kV{6br?b3w!s_/\/1)N[<i/Ty?8z'XF;UH>.AxaP7qgTGB`p6  (O$qf3$ #1 Hack Prevention Security Solution: Hide WP CMS, 7G/8G Firewall, Brute Force Protection, 2FA, GEO Security, Temporary Logins, Alerts & more.%1$s is deprecated since version %2$s! Use %3$s instead. Please consider writing more inclusive code.%d %s ago%d %s remaining%s days since last update%s does not work without mode_rewrite. Please activate the rewrite module in Apache. %sMore details%s%s don't have the correct permission.%s is visible in source code%s path is accessible%s plugin(s) are outdated: %s%s plugin(s) have NOT been updated by their developers in the past 12 months: %s%s protects your website from most SQL injections but, if possible, use a custom prefix for database tables to avoid SQL injections. %sRead more%s%s rules are not saved in the config file and this may affect the website loading speed.%s theme(s) are outdated: %s%sClick here%s to create or view keys for Google reCAPTCHA v2.%sClick here%s to create or view keys for Google reCAPTCHA v3.%sERROR:%s Email or Password is incorrect. %s %d attempts left before lockout%sHide the login path%s from theme menu or widget.%sIncorrect ReCaptcha%s. Please try again%sNOTE:%s If you didn't receive the credentials, please access %s.%sYou failed to correctly answer the math problem.%s Please try again(* the plugin has no extra cost, gets installed / activated automatically inside WP when you click the button, and uses the same account)(multiple options are available)(useful when the theme is adding wrong admin redirects or infinite redirects)(works only with the custom admin-ajax path to avoid infinite loops)2FA2FA Login403 Forbidden403 HTML Error404 HTML Error404 Not Found404 page7G Firewall8G FirewallA feature designed to stops attacks from different countries, and to put an end to harmful activity that comes from specific regions.A thorough set of rules can prevent many types of SQL Injection and URL hacks from being interpreted.A user already exists with that username.API SecurityAPI SettingsAWS BitnamiAccording to %sGoogle latest stats%s, over %s 30k websites are hacked every day %s and %s over 30% of them are made in WordPress %s. %s It's better to prevent an attack than to spend a lot of money and time to recover your data after an attack not to mention the situation when your clients' data are stolen.ActionActivateActivate 'Must Use Plugin Loading' from 'Plugin Loading Hook' to be able to connect to your dashboard directly from managewp.com. %s click here %sActivate Brute Force ProtectionActivate Events LogActivate Log Users EventsActivate Temporary LoginsActivate Your PluginActivate info and logs for debugging.Activate the "Brute Force" option to see the user IP blocked reportActivate the "Log Users Events" option to see the user activity log for this websiteActivate the Brute Force protection for Woocommerce login/signup forms.Activate the Brute Force protection on lost password forms.Activate the Brute Force protection on sign up forms.Activate the firewall and prevent many types of SQL Injection and URL hacks.Activate the firewall and select the firewall strength that works for your website %s %s > Change Paths > Firewall & Headers %sActivation HelpAddAdd IP addresses that should always be blocked from accessing this website.Add Content-Security-Policy headerAdd Headers Security against XSS and Code Injection Attacks.Add IP addresses that can pass plugin security.Add IPs that can pass plugin securityAdd New Temporary LoginAdd New Temporary Login UserAdd Rewrites in WordPress Rules SectionAdd Security HeaderAdd Security Headers for XSS and Code Injection AttacksAdd Strict-Transport-Security headerAdd Two Factor security on login page with Code Scan or Email Code authentication.Add X-Content-Type-Options headerAdd X-XSS-Protection headerAdd a list of URLs you want to replace with new ones.Add a random static number to prevent frontend caching while the user is logged in.Add another CDN URLAdd another URLAdd another textAdd common WordPress classes in text mappingAdd paths that can pass plugin securityAdd paths that will be blocked for the selected countries.Add redirects for the logged users based on user roles.Add the CDN URLs you're using in the cache plugin. Admin PathAdmin SecurityAdmin ToolbarAdmin URLAdmin UsernameAdvancedAdvanced PackAdvanced SettingsAfghanistanAfter adding the classes, verify the frontend to ensure that your theme is not affected.After, click %sSave%s to apply the changes.Ajax SecurityAjax URLAland IslandsAlbaniaAlert Emails SentAlgeriaAll ActionsAll In One WP SecurityAll WebsitesAll files have the correct permissions.All plugins are compatibleAll plugins are up to dateAll plugins have been updated by their developers in the past 12 monthsAll the logs are saved on Cloud for 30 days and the report is available if your website is attacked.Allow Hidden PathsAllow users to log in to WooCommerce account using their email address and a unique login URL delivered via email.Allow users to log in to the website using their email address and a unique login URL delivered via email.Allowing anyone to view all files in the Uploads folder with a browser will allow them to easily download all your uploaded files. It's a security and a copyright issue.American SamoaAndorraAngolaAnguillaAntarcticaAntigua and BarbudaApacheArabicAre you sure you want to ignore this task in the future?ArgentinaArmeniaArubaAttention! Some URLs passed through the config file rules and were loaded through WordPress rewrite which may slow down your website. %s Please follow this tutorial to fix the issue: %sAustraliaAustriaAuthor PathAuthor URL by ID accessAuto DetectAutodetectAutomatically redirect the logged in users to the admin dashboardAutoptimizerAzerbaijanBackend under SSLBackup SettingsBackup/RestoreBackup/Restore SettingsBahamasBahrainBan durationBangladeshBarbadosBe sure to include only internal URLs, and use relative paths whenever possible.Beaver BuilderBelarusBelgiumBelizeBeninBermudaBest regardsBhutanBitnami detected. %sPlease read how to make the plugin compatible with AWS hosting%sBlacklistBlacklist IPsBlank Screen On DebuggingBlock CountriesBlock HostnamesBlock IP on login pageBlock ReferrerBlock Specific PathsBlock Theme Detectors CrawlersBlock User AgentsBlock known Users-Agents from popular Theme Detectors.Blocked IPsBlocked IPs ReportBlocked by BoliviaBonaire, Saint Eustatius and SabaBosnia and HerzegovinaBotswanaBouvet IslandBrazilBritish EnglishBritish Indian Ocean TerritoryBrunei DarussalamBrute ForceBrute Force IPs BlockedBrute Force Login ProtectionBrute Force ProtectionBrute Force SettingsBulgariaBulgarianBulletProof plugin! Make sure you save the settings in %s after activating Root Folder BulletProof Mode in BulletProof plugin.Burkina FasoBurundiBy activating, you agree to our %s Terms of Use %s and %sPrivacy Policy%sCDNCDN Enabled detected. Please include %s and %s paths in CDN Enabler SettingsCDN Enabler detected! Learn how to configure it with %s %sClick here%sCDN URLsCONNECTION ERROR! Make sure your website can access: %sCache CSS, JS and Images to increase the frontend loading speed.Cache EnablerCambodiaCameroonCan't download the plugin.CanadaCanadian FrenchCancelCancel the login hooks from other plugins and themes to prevent unwanted login redirects.Cape VerdeCatalan ValencianCayman IslandsCentral African RepublicChadChangeChange OptionsChange PathsChange Paths NowChange Paths for Logged UsersChange Paths in Ajax CallsChange Paths in Cached FilesChange Paths in RSS feedChange Paths in Sitemaps XMLChange Relative URLs to Absolute URLsChange WordPress paths while you're logged inChange paths in RSS feed for all images.Change paths in Sitemap XML files and remove the plugin author and styles.Change the Tagline in %s > %s > %sChange the WordPress common paths in the cached files.Change the signup path from %s %s > Change Paths > Custom Register URL%s or uncheck the option %s > %s > %sChange the text in all CSS and JS files, including those in cached files generated by cache plugins.Change the user 'admin' or 'administrator' with another name to improve security.Change the wp-config.php file permission to Read-Only using File Manager.Change the wp-content, wp-includes and other common paths with %s %s > Change Paths%sChange the wp-login from %s %s > Change Paths > Custom login URL%s and Switch on %s %s > Brute Force Protection%sChanging the predefined security headers may affect the website funtionality.Check Frontend PathsCheck Your WebsiteCheck for updatesCheck if the website paths are working correctly.Check if your website is secured with the current settings.Check the %s RSS feed %s and make sure the image paths are changed.Check the %s Sitemap XML %s and make sure the image paths are changed.Check the website loading speed with %sPingdom Tool%sChileChinaChoose a proper database password, at least 8 characters long with a combination of letters, numbers and special characters. After you change it, set the new password in the wp-config.php file define('DB_PASSWORD', 'NEW_DB_PASSWORD_GOES_HERE');Choose the countries where access to the website should be restricted.Choose the type of server you are using to get the most suitable configuration for your server.Chose what to do when accessing from whitelist IP addresses and whitelisted paths.Christmas IslandClean Login PageClick %sContinue%s to set the predefined paths.Click Backup and the download will start automatically. You can use the Backup for all your websites.Click to run the process to change the paths in the cache files.Close ErrorCloud PanelCloud Panel detected. %sPlease read how to make the plugin compatible with Cloud Panel hosting%sCntCocos (Keeling) IslandsColombiaComments PathComorosCompatibilityCompatibility SettingsCompatibility with Manage WP pluginCompatibility with Token Based Login pluginsCompatible with All In One WP Security plugin. Use them together for Virus Scan, Firewall, Brute Force protection.Compatible with JCH Optimize Cache plugin. Works with all the options to optimize for CSS and JS.Compatible with Solid Security plugin. Use them together for Site Scanner, File Change Detection, Brute Force Protection.Compatible with Sucuri Security plugin. Use them together for Virus Scan, Firewall, File Integrity Monitoring.Compatible with Wordfence Security plugin. Use them together for Malware Scan, Firewall, Brute Force protection.Compatible with all themes and plugins.Complete FixConfigConfig file is not writable. Create the file if not exists or copy to %s file the following lines: %sConfig file is not writable. Create the file if not exists or copy to %s file with the following lines: %sConfig file is not writable. You have to added it manually at the beginning of the %s file: %sConfirm use of weak passwordCongoCongo, The Democratic Republic of theCongratulations! You completed all the security tasks. Make sure you check your site once a week.ContinueConvert links like /wp-content/* into %s/wp-content/*.Cook IslandsCopy LinkCopy the %s SAFE URL %s and use it to deactivate all the custom paths if you can't login.Core Contents PathCore Includes PathCosta RicaCote dIvoireCould not detect the userCould not fix it. You need to change it manually.Could not found anything based on your search.Could not login with this user.Could not rename table %1$s. You may have to rename the table manually.Could not update prefix references in options table.Could not update prefix references in usermeta table.Country BlockingCreateCreate New Temporary LoginCreate a temporary login URL with any user role to access the website dashboard without username and password for a limited period of time.Create a temporary login URL with any user role to access the website dashboard without username and password for a limited period of time. %s This is useful when you need to give admin access to a developer for support or for performing routine tasks.CroatiaCroatianCubaCuracaoCustom Activation PathCustom Admin PathCustom Cache DirectoryCustom Login PathCustom Logout PathCustom Lost Password PathCustom Register PathCustom Safe URL ParamCustom admin-ajax PathCustom author PathCustom comment PathCustom message to show to blocked users.Custom plugins PathCustom theme style nameCustom themes PathCustom uploads PathCustom wp-content PathCustom wp-includes PathCustom wp-json PathCustomize & Secure all WordPress paths from hacker bots attacks.Customize Plugin NamesCustomize Theme NamesCustomize the CSS and JS URLs in your website body.Customize the IDs and Class names in your website body.CyprusCzechCzech RepublicDB Debug ModeDanishDashboardDatabase PrefixDateDeactivatedDebug ModeDefaultDefault Redirect After LoginDefault Temporary Expire TimeDefault User RoleDefault WordPress TaglineDefault user role for which the temporary login will be created.Delete Temporary Users on Plugin UninstallDelete userDenmarkDetailsDirectoriesDisable "rest_route" param accessDisable Click MessageDisable CopyDisable Copy/PasteDisable Copy/Paste MessageDisable Copy/Paste for Logged UsersDisable DISALLOW_FILE_EDIT for live websites in wp-config.php define('DISALLOW_FILE_EDIT', true);Disable Directory BrowsingDisable Drag/Drop ImagesDisable Drag/Drop MessageDisable Drag/Drop for Logged UsersDisable Inspect ElementDisable Inspect Element MessageDisable Inspect Element for Logged UsersDisable OptionsDisable PasteDisable REST API accessDisable REST API access for not logged in usersDisable REST API access using the parameter 'rest_route'Disable RSD Endpoint from XML-RPCDisable Right-ClickDisable Right-Click for Logged UsersDisable SCRIPT_DEBUG for live websites in wp-config.php define('SCRIPT_DEBUG', false);Disable View SourceDisable View Source MessageDisable View Source for Logged UsersDisable WP_DEBUG for live websites in wp-config.php define('WP_DEBUG', false);Disable XML-RPC accessDisable copy function on your websiteDisable image drag & drop on your websiteDisable paste function on your websiteDisable the RSD (Really Simple Discovery) support for XML-RPC & remove RSD tag from headerDisable the access to /xmlrpc.php to prevent %sBrute force attacks via XML-RPC%sDisable the copy/paste action on your website.Disable the external calls to xml-rpc.php file and prevent Brute Force attacks.Disable the inspect element view on your websiteDisable the right-click action on your website.Disable the right-click functionality on your websiteDisable the source-code view on your websiteDisplaying any kind of debug info in the frontend is extremely bad. If any PHP errors happen on your site they should be logged in a safe place and not displayed to visitors or potential attackers.DjiboutiDo Login & Logout RedirectsDo not log out from this browser until you are confident that the Log in page is working and you will be able to login again.Do not logout from your account until you are confident that reCAPTCHA is working and you will be able to login again.Do you want to delete temporary user?Do you want to restore the last saved settings?DominicaDominican RepublicDon't forget to reload the Nginx service.Don't let URLs like domain.com?author=1 show the user login nameDon't let hackers see any directory content. See %sUploads Directory%sDon't load Emoji Icons if you don't use themDon't load WLW if you didn't configure Windows Live Writer for your siteDon't load oEmbed service if you don't use oEmbed videosDon't select any role if you want to log all user rolesDone!Download DebugDrupal 10Drupal 11Drupal 8Drupal 9DutchERROR! Please make sure you use a valid token to activate the pluginERROR! Please make sure you use the right token to activate the pluginEcuadorEdit UserEdit userEdit wp-config.php and add ini_set('display_errors', 0); at the end of the fileEgyptEl SalvadorElementorEmailEmail AddressEmail NotificationEmail address already existsEmail your hosting company and tell them you'd like to switch to a newer version of MySQL or move your site to a better hosting companyEmail your hosting company and tell them you'd like to switch to a newer version of PHP or move your site to a better hosting company.EmptyEmpty ReCaptcha. Please complete reCaptcha.Empty email addressEnabling this option may slow down the website, as CSS and JS files will load dynamically instead of through rewrites, allowing the text within them to be modified as needed.EnglishEnter the 32 chars token from Order/Licence on %sEquatorial GuineaEritreaError! No backup to restore.Error! The backup is not valid.Error! The new paths are not loading correctly. Clear all cache and try again.Error! The preset could not be restored.Error: You entered the same URL twice in the URL Mapping. We removed the duplicates to prevent any redirect errors.Error: You entered the same text twice in the Text Mapping. We removed the duplicates to prevent any redirect errors.EstoniaEthiopiaEuropeEven if the default paths are protected by %s after customization, we recommend setting the correct permissions for all directories and files on your website, use File Manager or FTP to check and change the permissions. %sRead more%sEvents LogEvents Log ReportEvents Log SettingsEvery good developer should turn on debugging before getting started on a new plugin or theme. In fact, the WordPress Codex 'highly recommends' that developers use SCRIPT_DEBUG. Unfortunately, many developers forget the debug mode even when the website is live. Showing debug logs in the frontend will let hackers know a lot about your WordPress website.Every good developer should turn on debugging before getting started on a new plugin or theme. In fact, the WordPress Codex 'highly recommends' that developers use WP_DEBUG.

Unfortunately, many developers forget the debug mode, even when the website is live. Showing debug logs in the frontend will let hackers know a lot about your WordPress website.Example:Expire TimeExpiredExpiresExposing the PHP version will make the job of attacking your site much easier.Fail AttemptsFailedFalkland Islands (Malvinas)Faroe IslandsFeaturesFeed & SitemapFeed SecurityFijiFile PermissionsFile permissions in WordPress play a critical role in website security. Properly configuring these permissions ensures that unauthorized users cannot gain access to sensitive files and data.
Incorrect permissions can inadvertently open your website to attacks, making it vulnerable.
As a WordPress administrator, understanding and correctly setting file permissions are essential for safeguarding your site against potential threats.FilesFilterFinlandFirewallFirewall & HeadersFirewall Against Script InjectionFirewall LocationFirewall StrengthFirewall against injections is loadedFirst NameFirst, you need to activate the %sSafe Mode%s or %sGhost Mode%sFirst, you need to activate the %sSafe Mode%s or %sGhost Mode%s in %sFix PermissionsFix itFix permission for all directories and files (~ 1 min)Fix permission for the main directories and files (~ 5 sec)FlywheelFlywheel detected. Add the redirects in the Flywheel Redirect rules panel %s.Folder %s is browsableForbiddenFranceFrenchFrench GuianaFrench PolynesiaFrench Southern TerritoriesFrom: %s <%s>Front pageFrontend Login TestFrontend TestFully compatible with Autoptimizer cache plugin. Works best with the the option Optimize/Aggregate CSS and JS files.Fully compatible with Beaver Builder plugin. Works best together with a cache plugin.Fully compatible with Cache Enabler plugin. Works best with the the option Minify CSS and JS files.Fully compatible with Elementor Website Builder plugin. Works best together with a cache pluginFully compatible with Fusion Builder plugin by Avada. Works best together with a cache plugin.Fully compatible with Hummingbird cache plugin. Works best with the the option Minify CSS and JS files.Fully compatible with LiteSpeed Cache plugin. Works best with the the option Minify CSS and JS files.Fully compatible with Oxygen Builder plugin. Works best together with a cache plugin.Fully compatible with W3 Total Cache plugin. Works best with the the option Minify CSS and JS files.Fully compatible with WP Fastest Cache plugin. Works best with the the option Minify CSS and JS files.Fully compatible with WP Super Cache cache plugin.Fully compatible with WP-Rocket cache plugin. Works best with the the option Minify/Combine CSS and JS files.Fully compatible with Woocommerce plugin.Fusion BuilderGabonGambiaGeneralGeo SecurityGeographic Security is a feature designed to stops attacks from different countries, and to put an end to harmful activity that comes from specific regions.GeorgiaGermanGermanyGhanaGhost ModeGhost Mode + Firewall + Brute Force + Events Log + Two factorGhost Mode will set these predefined pathsGhost modeGibraltarGive random names to each pluginGive random names to each theme (works in WP multisite)Global class name detected: %s. Read this article first: %sGo to Events Log PanelGo to the Dashboard > Appearance section and update all the themes to the last version.Go to the Dashboard > Plugins section and update all the plugins to the last version.GodaddyGodaddy detected! To avoid CSS errors, make sure you switch off the CDN from %sGoodGoogle reCAPTCHA V2Google reCAPTCHA V3Google reCaptcha V3 is not working with the current login form of %s .Great! The backup is restored.Great! The initial values are restored.Great! The new paths are loading correctly.Great! The preset was loaded.GreeceGreekGreenlandGrenadaGuadeloupeGuamGuatemalaGuernseyGuineaGuinea-BissauGuyanaHaitiHaving the admin URL visible in the source code it's awful because hackers will immediately know your secret admin path and start a Brute Force attack. The custom admin path should not appear in the ajax URL.

Find solutions for %s how to hide the path from source code %s.Having the login URL visible in the source code is awful because hackers will immediately know your secret login path and start a Brute Force attack.

The custom login path should be kept secret, and you should have Brute Force Protection activated for it.

Find solutions for %s hiding the login path from source code here %s.Having this PHP directive enabled will leave your site exposed to cross-site attacks (XSS).

There's absolutely no valid reason to enable this directive, and using any PHP code that requires it is very risky.Header SecurityHeaders & FirewallHeard Island and McDonald IslandsHebrewHelp & FAQsHere is the list of select counties where your website will be restricted..HideHide "login" PathHide "wp-admin"Hide "wp-admin" From Non-Admin UsersHide "wp-login.php"Hide /login path from visitors.Hide /wp-admin path from non-administrator users.Hide /wp-admin path from visitors.Hide /wp-login.php path from visitors.Hide Admin ToolbarHide Admin Toolbar for users roles to prevent dashboard access.Hide All The PluginsHide Author ID URLHide Common FilesHide Embed scriptsHide EmojiconsHide Feed & Sitemap Link TagsHide File ExtensionsHide HTML CommentsHide IDs from META TagsHide Language SwitcherHide My WP GhostHide OptionsHide Paths in Robots.txtHide Plugin NamesHide REST API URL linkHide Theme NamesHide Version from Images, CSS and JS in WordPressHide Versions from Images, CSS and JSHide WLW Manifest scriptsHide WP Common FilesHide WP Common PathsHide WordPress Common FilesHide WordPress Common PathsHide WordPress DNS Prefetch META TagsHide WordPress Generator META TagsHide WordPress Old Plugins PathHide WordPress Old Themes PathHide WordPress common paths from %s Robots.txt %s file.Hide WordPress paths such as wp-admin, wp-content, and more from robots.txt file.Hide all versions from the end of any Image, CSS and JavaScript files.Hide both active and deactivated pluginsHide completed tasksHide passwordHide the /feed and /sitemap.xml link TagsHide the DNS Prefetch that points to WordPressHide the HTML Comments left by the themes and pluginsHide the IDs from all <links>, <style>, <scripts> META TagsHide the New Admin PathHide the New Login PathHide the WordPress Generator META tagsHide the admin toolbar for logged users while in frontend.Hide the language switcher option on the login pageHide the new admin path from visitors. Show the new admin path only for logged users.Hide the new login path from visitors. Show the new login path only for direct access.Hide the old /wp-content, /wp-include paths once they are changed with the new onesHide the old /wp-content, /wp-include paths once they are changed with the new ones.Hide the old /wp-content/plugins path once it's changed with the new oneHide the old /wp-content/themes path once it's changed with the new oneHide wp-admin from Ajax URLHide wp-config.php , wp-config-sample.php, readme.html, license.txt, upgrade.php and install.php filesHide wp-config.php, wp-config-sample.php, readme.html, license.txt, upgrade.php and install.php files..Hide wp-json & ?rest_route link tag from website headerHiding the ID from meta tags in WordPress can potentially impact the caching process of plugins that rely on identifying the meta tags.HindiHoly See (Vatican City State)HondurasHong KongHostnameHow long the temporary login will be available after the user first access.HummingbirdHungarianHungaryIIS WindowsIIS detected. You need to update your %s file by adding the following lines after <rules> tag: %sIPIP BlockedIcelandIf the reCAPTCHA displays any error, please make sure you fix them before moving forward.If the rewrite rules are not loading correctly in the config file, do not load the plugin and do not change the paths.If you are connected with the admin user, you will have to re-login after the change.If you can't configure %s, switch to Deactivated Mode and %scontact us%s.If you can't configure reCAPTCHA, switch to Math reCaptcha protection.If you do not have an e-commerce, membership or guest posting website, you shouldn't let users subscribe to your blog. You will end up with spam registrations and your website will be filled with spammy content and comments.If you have access to php.ini file, set allow_url_include = off or contact the hosting company to set it offIf you have access to php.ini file, set expose_php = off or contact the hosting company to set it offIf you have access to php.ini file, set register_globals = off or contact the hosting company to set it offIf you have access to php.ini file, set safe_mode = off or contact the hosting company to set it offIf you notice any functionality issue please select the %sSafe Mode%s.If you're able to log in, you've set the new paths correctly.If you're able to login, you've set reCAPTCHA correctly.If you're not using Windows Live Writer there's really no valid reason to have its link in the page header, because this tells the whole world you're using WordPress.If you're not using any Really Simple Discovery services such as pingbacks, there's no need to advertise that endpoint (link) in the header. Please note that for most sites this is not a security issue because they "want to be discovered", but if you want to hide the fact that you're using WP, this is the way to go.If your site allows user logins, you need your login page to be easy to find for your users. You also need to do other things to protect against malicious login attempts.

However, obscurity is a valid security layer when used as part of a comprehensive security strategy, and if you want to cut down on the number of malicious login attempts. Making your login page difficult to find is one way to do that.Ignore security taskImmediately block incorrect usernames on login forms.In .htaccess fileIn the old days, the default WordPress admin username was 'admin' or 'administrator'. Since usernames make up half of the login credentials, this made it easier for hackers to launch brute-force attacks.

Thankfully, WordPress has since changed this and now requires you to select a custom username at the time of installing WordPress.Indeed Ultimate Membership Pro detected. The plugin doesn't support custom %s paths as it doesn't use WordPress functions to call the Ajax URLIndiaIndonesiaIndonesianInfoInmotionInmotion detected. %sPlease read how to make the plugin compatible with Inmotion Nginx Cache%sInstall/ActivateIntegration with other CDN plugins and custom CDN URLs.Invalid ReCaptcha. Please complete reCaptcha.Invalid email addressInvalid name detected: %s. Add only the final path name to avoid WordPress errors.Invalid name detected: %s. The name can't end with / to avoid WordPress errors.Invalid name detected: %s. The name can't start with / to avoid WordPress errors.Invalid name detected: %s. The paths can't end with . to avoid WordPress errors.Invalid name detected: %s. You need to use another name to avoid WordPress errors.Invalid username.Iran, Islamic Republic ofIraqIrelandIsle of ManIsraelIt's important to %s save your settings every time you change them %s. You can use the backup to configure other websites you own.It's important to hide or remove the readme.html file because it contains WP version details.It's important to hide the common WordPress paths to prevent attacks on vulnerable plugins and themes.
Also, it's important to hide the names of plugins and themes to make it impossible for bots to detect them.It's important to rename common WordPress paths, such as wp-content and wp-includes to prevent hackers from knowing that you have a WordPress website.It's not safe to have Database Debug turned on. Make sure you don't use Database debug on live websites.ItalianItalyJCH Optimize CacheJamaicaJananeseJapanJavascript is disabled on your browser! You need to activate the javascript in order to use %s plugin.JerseyJoomla 3Joomla 4Joomla 5JordanJust another WordPress siteKazakhstanKenyaKiribatiKnow what the other users are doing on your website.KoreanKosovoKuwaitKyrgyzstanLanguageLao Peoples Democratic RepublicLast 30 days Security StatsLast AccessLast NameLast check:Late LoadingLatviaLatvianLearn HowLearn How To Add the CodeLearn how to disable %sDirectory Browsing%s or switch on %s %s > Change Paths > Disable Directory Browsing%sLearn how to set your website as %s. %sClick Here%sLearn how to setup on Local & NginxLearn how to setup on Nginx serverLearn how to use the shortcodeLearn more aboutLearn more about %s 7G firewall %s.Learn more about %s 8G firewall %s.Leave it blank if you don't want to display any messageLeave it blank to block all paths for the selected countries.LebanonLesothoLet's take your security to the next level!Level of SecurityLevels of securityLiberiaLibyan Arab JamahiriyaLicence TokenLiechtensteinLimit the number of allowed login attempts using normal login form.LiteSpeedLiteSpeed CacheLithuaniaLithuanianLoad PresetLoad Security PresetsLoad after all plugins are loaded. On "template_redirects" hook.Load before all plugins are loaded. On "plugins_loaded" hook.Load custom language is WordPress local language is installed.Load the plugin as a Must Use plugin.Load when the plugins are initialized. On "init" hook.Local & NGINX detected. In case you didn't add the code in the NGINX config already, please add the following line. %sLocal by FlywheelLocationLock userLockout MessageLog User RolesLog Users EventsLogin & Logout RedirectsLogin Blocked by Login PathLogin Redirect URLLogin SecurityLogin TestLogin URLLogout Redirect URLLost Password Form ProtectionLuxembourgMacaoMadagascarMagic Link LoginMake sure the redirect URLs exist on your website. %sThe User Role redirect URL has higher priority than the Default redirect URL.Make sure you know what you do when changing the headers.Make sure you save the settings and empty the cache before checking your website with our tool.MalawiMalaysiaMaldivesMaliMaltaManage Brute Force ProtectionManage Login and Logout RedirectsManage whitelist & blacklist IP addressesManually block/unblock IP addresses.Manually customize each plugin name and overwrite the random nameManually customize each theme name and overwrite the random nameManually whitelist trusted IP addresses.MappingMarshall IslandsMartiniqueMath & Google reCaptcha verification while logging in.Math reCAPTCHAMauritaniaMauritiusMax fail attemptsMayotteMediumMembershipMexicoMicronesia, Federated States ofMinimalMinimal (No Config Rewrites)Moldova, Republic ofMonacoMongoliaMonitor everything that happens on your WordPress site!Monitor, track and log events on your website.MontenegroMontserratMore HelpMore information about %sMore optionsMoroccoMost WordPress installations are hosted on the popular Apache, Nginx and IIS web servers.MozambiqueMust Use Plugin LoadingMy AccountMyanmarMysql VersionNGINX detected. In case you didn't add the code in the NGINX config already, please add the following line. %sNameNamibiaNauruNepalNetherlandsNew CaledoniaNew Login DataNew Plugin/Theme detected! Update %s settings to hide it. %sClick here%sNew ZealandNext StepsNginxNicaraguaNigerNigeriaNiueNoNo CMS SimulationNo Recent Updates ReleasedNo blacklisted ipsNo log found.No temporary logins.No, abortNo. of secondsNorfolk IslandNormal LoadingNormally, the option to block visitors from browsing server directories is activated by the host through server configuration, and activating it twice in the config file may cause errors, so it's best to first check if the %sUploads Directory%s is visible.North KoreaNorth Macedonia, Republic ofNorthern Mariana IslandsNorwayNorwegianNot yet logged inNote that this option won't activate the CDN for your website, but it will update the custom paths if you've already set a CDN URL with another plugin.Note! %sPaths are NOT physically change%s on your server.Note! The plugin will use WP cron to change the paths in background once the cache files are created.Note: If you can`t login to your site, just access this URLNotification SettingsOkay, I set it upOmanOn website initializationOnce you bought the plugin, you will receive the %s credentials for your account by email.One DayOne HourOne MonthOne WeekOne YearOne of the most important files in your WordPress installation is the wp-config.php file.
This file is located in the root directory of your WordPress installation and contains your website's base configuration details, such as database connection information.Only change this option if the plugin fails to identify the server type correctly.Optimize CSS and JS filesOption to inform user about remaining attempts on login page.OptionsOutdated PluginsOutdated ThemesOverviewOxygenPHP VersionPHP allow_url_include is onPHP expose_php is onPHP register_globals is onPHP safe mode was one of the attempts to solve security problems of shared web hosting servers.

It is still being used by some web hosting providers, however, nowadays this is regarded as improper. A systematic approach proves that it’s architecturally incorrect to try solving complex security issues at the PHP level, rather than at the web server and OS levels.

Technically, safe mode is a PHP directive that restricts the way some built-in PHP functions operate. The main problem here is inconsistency. When turned on, PHP safe mode may prevent many legitimate PHP functions from working correctly. At the same time there exists a variety of methods to override safe mode limitations using PHP functions that aren’t restricted, so if a hacker has already got in – safe mode is useless.PHP safe_mode is onPage Not FoundPakistanPalauPalestinian TerritoryPanamaPapua New GuineaParaguayPassedPath not allowed. Avoid paths like plugins and themes.Paths & OptionsPaths changed in the existing cache filesPause for 5 minutesPermalinksPersianPeruPhilippinesPitcairnPlease be aware that if you do not consent to storing data on our Cloud, we kindly request that you refrain from activating this feature.Please visit %s to check your purchase and to get the license token.Plugin Loading HookPlugins PathPlugins SecurityPlugins SettingsPlugins that have not been updated in the last 12 months can have real security problems. Make sure you use updated plugins from WordPress Directory.Plugins/Themes editor disabledPolandPolishPortugalPortuguesePreset SecurityPrevent Broken Website LayoutPriority LoadingProtects your WooCommerce shop against brute force login attacks.Protects your website against Brute Force login attacks using %s A common threat web developers face is a password-guessing attack known as a Brute Force attack. A Brute Force attack is an attempt to discover a password by systematically trying every possible combination of letters, numbers, and symbols until you discover the one correct combination that works.Protects your website against Brute Force login attacks.Protects your website against brute force login attacks.Prove your humanity:Puerto RicoQatarQuick FixRDS is visibleRandom Static NumberReactivate user for 1 dayRedirect After LoginRedirect Hidden PathsRedirect Logged Users To DashboardRedirect temporary users to a custom page after login.Redirect the protected paths /wp-admin, /wp-login to a Page or trigger an HTML Error.Redirect user to a custom page after login.RedirectsRemoveRemove PHP version, Server info, Server Signature from header.Remove Plugins Authors & Style in Sitemap XMLRemove Unsafe HeadersRemove pingback link tag from the website header.Rename readme.html file or switch on %s %s > Change Paths > Hide WordPress Common Files%sRename wp-admin/install.php & wp-admin/upgrade.php files or switch on %s %s > Change Paths > Hide WordPress Common Paths%sRenewResetReset SettingsResolving hostnames may affect the website loading speed.Restore BackupRestore SettingsResume SecurityReunionRobots SecurityRoleRollback SettingsRollback all the plugin settings to initial values.RomaniaRomanianRun %s Frontend Test %s to check if the new paths are working.Run %s Login Test %s and log in inside the popup.Run %sreCAPTCHA Test%s and login inside the popup.Run Full Security CheckRussianRussian FederationRwandaSSL is an abbreviation used for Secure Sockets Layers, which are encryption protocols used on the internet to secure information exchange and provide certificate information.

These certificates provide an assurance to the user about the identity of the website they are communicating with. SSL may also be called TLS or Transport Layer Security protocol.

It's important to have a secure connection for the Admin Dashboard in WordPress.Safe ModeSafe Mode + Firewall + Brute Force + Events Log + Two factorSafe Mode + Firewall + Compatibility SettingsSafe Mode will set these predefined pathsSafe URL:Safe modeSaint BartelemeySaint HelenaSaint Kitts and NevisSaint LuciaSaint MartinSaint Pierre and MiquelonSaint Vincent and the GrenadinesSalts and Security Keys validSamoaSan MarinoSao Tome and PrincipeSaudi ArabiaSaveSave Debug LogSave UserSavedSaved! This task will be ignored on future tests.Saved! You can run the test again.Script Debug ModeSearchSearch in user events log and manage the email alertsSecret KeySecret keys for %sGoogle reCAPTCHA%s.Secure WP PathsSecurity CheckSecurity Keys UpdatedSecurity StatusSecurity keys are defined in wp-config.php as constants on lines. They should be as unique and as long as possible. AUTH_KEY,SECURE_AUTH_KEY,LOGGED_IN_KEY,NONCE_KEY,AUTH_SALT,SECURE_AUTH_SALT,LOGGED_IN_SALT,NONCE_SALTSecurity keys are used to ensure better encryption of information stored in the user's cookies and hashed passwords.

These make your site more difficult to hack, access and crack by adding random elements to the password. You don't have to remember these keys. In fact, once you set them you'll never see them again. Therefore, there's no excuse for not setting them properly.See the last days actions on this website ...Select PresetSelect User RolesSelect a preset security settings we've tested on most websites.Select allSelect how long the temporary login will be available after the first user access.Select the file extensions you want to hide on old pathsSelect the files you want to hide on old pathsSelected CountriesSend me an email with the changed admin and login URLsSenegalSerbiaSerbianServer TypeSet Custom Cache DirectorySet Login & Logout Redirects based on User Roles.Set the current user role.Set the website you want this user to be created for.SettingsSeychellesShort name detected: %s. You need to use unique paths with more than 4 chars to avoid WordPress errors.ShowShow /%s instead of /%sShow Advanced OptionsShow Default Paths & Allow Hidden PathsShow Defaults Paths & Allow EverythingShow blank screen when Inspect Element is active on browser.Show completed tasksShow ignored tasksShow message instead of login formShow passwordSierra LeoneSign Up Form ProtectionSimplified ChineseSimulate CMSSingaporeSint MaartenSite keySite keys for %sGoogle reCaptcha%s.SiteGroundSitemap SecuritySix MonthsSlovakSlovakiaSloveneSloveniaSolid SecuritySolomon IslandsSomaliaSome plugins may remove custom rewrite rules from the .htaccess file, especially if it's writable, which can affect the functionality of custom paths..Some themes don't work with custom Admin and Ajax paths. In case of ajax errors, switch back to wp-admin and admin-ajax.php.Sorry, you are not allowed to access this page.South AfricaSouth Georgia and the South Sandwich IslandsSouth KoreaSpainSpammers can easily signupSpanishSri LankaStart ScanSucuri SecuritySudanSuper AdminSurinameSvalbard and Jan MayenSwazilandSwedenSwedishSwitch on %s %s > Change Paths > Hide WordPress Common Paths%sSwitch on %s %s > Change Paths > Disable XML-RPC access%sSwitch on %s %s > Change Paths > Hide Author ID URL%sSwitch on %s %s > Change Paths > Hide RSD Endpoint%sSwitch on %s %s > Change Paths > Hide WordPress Common Files%sSwitch on %s %s > Change Paths > Hide wp-admin from ajax URL%s. Hide any reference to admin path from the installed plugins.Switch on %s %s > Tweaks > %s %sSwitch on %s %s > Tweaks > Hide WLW Manifest scripts%sSwitzerlandSyrian Arab RepublicTaglineTaiwanTajikistanTanzania, United Republic ofTemporary LoginTemporary Login SettingsTemporary LoginsTest your website headers withText & URL MappingText MappingText Mapping in CSS and JS files including cached filesText Mapping only Classes, IDs, JS variablesThaiThailandThank you for using %s!The %s section has been relocated %s here %sThe Ghost Mode will add the rewrites rules in the config file to hide the old paths from hackers.The REST API is crucial for many plugins as it allows them to interact with the WordPress database and perform various actions programmatically.The Safe Mode will add the rewrites rules in the config file to hide the old paths from hackers.The Safe URL will deactivate all the custom paths. Use it only if you can't login.The WordPress database is like a brain for your entire WordPress site, because every single bit of information about your site is stored there, thus making it a hacker’s favorite target.

Spammers and hackers run automated code for SQL injections.
Unfortunately, many people forget to change the database prefix when they install WordPress.
This makes it easier for hackers to plan a mass attack by targeting the default prefix wp_.The WordPress site tagline is a short phrase located under the site title, similar to a subtitle or advertising slogan. The goal of a tagline is to convey the essence of your site to visitors.

If you don't change the default tagline it will be very easy to detect that your website was actually built with WordPressThe constant ADMIN_COOKIE_PATH is defined in wp-config.php by another plugin. You can't change %s unless you remove the line define('ADMIN_COOKIE_PATH', ...);.The list of plugins and themes was updated with success!The most common way to hack a website is by accessing the domain and adding harmful queries in order to reveal information from files and database.
These attacks are made on any website, WordPress or not, and if a call succeeds … it will probably be too late to save the website.The plugins and themes file editor is a very convenient tool because it enables you to make quick changes without the need to use FTP.

Unfortunately, it's also a security issue because it not only shows the PHP source code, it also enables attackers to inject malicious code into your site if they manage to gain access to admin.The process was blocked by the website’s firewall.The requested URL %s was not found on this server.The response parameter is invalid or malformed.The secret parameter is invalid or malformed.The secret parameter is missing.The security keys in wp-config.php should be renewed as often as possible.Themes PathThemes SecurityThemes are up to dateThere has been a critical error on your website.There has been a critical error on your website. Please check your site admin email inbox for instructions.There is a configuration error in the plugin. Please Save the settings again and follow the instruction.There is a newer version of WordPress available ({version}).There is no changelog available.There is no such thing as an "unimportant password"! The same goes for your WordPress database password.
Although most servers are configured so that the database can't be accessed from other hosts (or from outside the local network), that doesn't mean your database password should be "12345" or no password at all.This amazing feature isn't included in the basic plugin. Want to unlock it? Simply install or activate the Advanced Pack and enjoy the new security features.This is one of the biggest security issues you can have on your site! If your hosting company has this directive enabled by default, switch to another company immediately!This may not work with all new mobile devices.This option will add rewrite rules to the .htaccess file in the WordPress rewrite rules area between the comments # BEGIN WordPress and # END WordPress.This will prevent from showing the old paths when an image or font is called through ajaxThree DaysThree HoursTimor-LesteTo change the paths in the cached files, switch on %s Change Paths in Cached Files%sTo hide the Avada library, please add the Avada FUSION_LIBRARY_URL in wp-config.php file after $table_prefix line: %sTo improve your website's security, consider removing authors and styles that point to WordPress in your sitemap XML.TogoTokelauTongaTrack and Log the website events and receive security alerts by email.Track and log events that happen on your WordPress siteTraditional ChineseTrinidad and TobagoTroubleshootingTunisiaTurkeyTurkishTurkmenistanTurks and Caicos IslandsTurn off the debug plugins if your website is live. You can also add the option to hide the DB errors global $wpdb; $wpdb->hide_errors(); in wp-config.php fileTuvaluTweaksTwo-factor authenticationURL MappingUgandaUkraineUkrainianUltimate Affiliate Pro detected. The plugin doesn't support custom %s paths as it doesn't use WordPress functions to call the Ajax URLUnable to update the wp-config.php file in order to update the Database Prefix.UndoUnited Arab EmiratesUnited KingdomUnited StatesUnited States Minor Outlying IslandsUnknown update checker status "%s"Unlock allUpdate the settings on %s to refresh the paths after changing REST API path.UpdatedUpload the file with the saved plugin settingsUploads PathUrgent Security Actions RequiredUruguayUse Brute Force ProtectionUse Temporary LoginsUse the %s shortcode to integrate it with other login forms.UserUser 'admin' or 'administrator' as AdministratorUser ActionUser Events LogUser RoleUser SecurityUser could not be activated.User could not be addedUser could not be deleted.User could not be disabled.User roles for who to disable the Right-ClickUser roles for who to disable the copy/pasteUser roles for who to disable the drag/dropUser roles for who to disable the inspect elementUser roles for who to disable the view sourceUser roles for who to hide the admin toolbarUser successfully activated.User successfully created.User successfully deleted.User successfully disabled.User successfully updated.Usernames (unlike passwords) are not secret. By knowing someone's username, you can't log in to their account. You also need the password.

However, by knowing the username, you are one step closer to logging in using the username to brute-force the password, or to gain access in a similar way.

That's why it's advisable to keep the list of usernames private, at least to some degree. By default, by accessing siteurl.com/?author={id} and looping through IDs from 1 you can get a list of usernames, because WP will redirect you to siteurl.com/author/user/ if the ID exists in the system.Using an old version of MySQL makes your site slow and prone to hacker attacks due to known vulnerabilities that exist in versions of MySQL that are no longer maintained.

You need Mysql 5.4 or higherUsing an old version of PHP makes your site slow and prone to hacker attacks due to known vulnerabilities that exist in versions of PHP that are no longer maintained.

You need PHP 7.4 or higher for your website.UzbekistanValidValueVanuatuVenezuelaVersions in Source CodeVietnamVietnameseView detailsVirgin Islands, BritishVirgin Islands, U.S.W3 Total CacheWP Core SecurityWP Debug ModeWP EngineWP Fastest CacheWP RocketWP Super CacheWP Super Cache CDN detected. Please include %s and %s paths in WP Super Cache > CDN > Include directoriesWPBakery Page BuilderWPPluginsWallis and FutunaWeak name detected: %s. You need to use another name to increase your website security.WebsiteWestern SaharaWhere to add the firewall rules.WhitelistWhitelist IPsWhitelist OptionsWhitelist PathsWindows Live Writer is onWooCommerce Safe LoginWooCommerce SupportWoocommerceWoocommerce Magic LinkWordPress Database PasswordWordPress Default PermissionsWordPress Security CheckWordPress VersionWordPress XML-RPC is a specification that aims to standardize communications between different systems. It uses HTTP as the transport mechanism and XML as encoding mechanism to enable a wide range of data to be transmitted.

The two biggest assets of the API are its extendibility and its security. XML-RPC authenticates using basic authentication. It sends the username and password with each request, which is a big no-no in security circles.WordPress and its plugins and themes are like any other software installed on your computer, and like any other application on your devices. Periodically developers release updates which provide new features or fix known bugs.

New features may be something that you do not necessarily want. In fact, you may be perfectly satisfied with the functionality you currently have. Nevertheless, you may still be concerned about bugs.

Software bugs can come in many shapes and sizes. A bug could be very serious, such as preventing users from using a plugin, or it could be a minor bug that only affects a certain part of a theme, for example. In some cases, bugs can even cause serious security holes.

Keeping themes up to date is one of the most important and easiest ways to keep your site secure.WordPress and its plugins and themes are like any other software installed on your computer, and like any other application on your devices. Periodically, developers release updates which provide new features, or fix known bugs.

These new features may not necessarily be something that you want. In fact, you may be perfectly satisfied with the functionality you currently have. Nevertheless, you are still likely to be concerned about bugs.

Software bugs can come in many shapes and sizes. A bug could be very serious, such as preventing users from using a plugin, or it could be minor and only affect a certain part of a theme, for example. In some cases, bugs can cause serious security holes.

Keeping plugins up to date is one of the most important and easiest ways to keep your site secure.WordPress is well-known for its ease of installation.
It's important to hide the wp-admin/install.php and wp-admin/upgrade.php files because there have already been a couple of security issues regarding these files.WordPress, plugins and themes add their version info to the source code, so anyone can see it.

Hackers can easily find a website with vulnerable version plugins or themes, and target these with Zero-Day Exploits.Wordfence SecurityWpEngine detected. Add the redirects in the WpEngine Redirect rules panel %s.Wrong Username ProtectionXML-RPC SecurityXML-RPC access is onYemenYesYes, it's workingYou already defined a different wp-content/uploads directory in wp-config.php %sYou can ban a single IP address like 192.168.0.1 or a range of 245 IPs like 192.168.0.*. These IPs will not be able to access the login page.You can create a new page and come back to choose to redirect to that page.You can generate %snew Keys from here%s AUTH_KEY,SECURE_AUTH_KEY,LOGGED_IN_KEY,NONCE_KEY,AUTH_SALT,SECURE_AUTH_SALT,LOGGED_IN_SALT,NONCE_SALTYou can now turn off '%s' option.You can set to receive security alert emails and prevent data loss.You can white-list a single IP address like 192.168.0.1 or a range of 245 IPs like 192.168.0.*. Find your IP with %sYou can't set both ADMIN and LOGIN with the same name. Please use different namesYou don't have the permission to access %s on this server.You need to activate the URL Rewrite for IIS to be able to change the permalink structure to friendly URL (without index.php). %sMore details%sYou need to set a positive number of attempts.You need to set a positive waiting time.You need to set the permalink structure to friendly URL (without index.php).You should always update WordPress to the %slatest versions%s. These usually include the latest security fixes, and don't alter WP in any significant way. These should be applied as soon as WP releases them.

When a new version of WordPress is available, you will receive an update message on your WordPress Admin screens. To update WordPress, click the link in this message.You should check your website every week to see if there are any security changes.Your %s %s license expired on %s %s. To keep your website security up to date please make sure you have a valid subscription on %saccount.hidemywpghost.com%sYour IP has been flagged for potential security violations. Please try again in a little while...Your admin URL can't be changed on %s hosting because of the %s security terms.Your admin URL is changed by another plugin/theme in %s. To activate this option, disable the custom admin in the other plugin or deativate it.Your login URL is changed by another plugin/theme in %s. To activate this option, disable the custom login in the other plugin or deativate it.Your login URL is: %sYour login URL will be: %s In case you can't login, use the safe URL: %sYour new password has not been saved.Your new site URLs areYour website security %sis extremely weak%s. %sMany hacking doors are available.Your website security %sis very weak%s. %sMany hacking doors are available.Your website security is getting better. %sJust make sure you complete all the security tasks.Your website security is still weak. %sSome of the main hacking doors are still available.Your website security is strong. %sKeep checking the security every week.ZambiaZimbabweactivate featureafter first accessalready activedarkdefaultdisplay_errors PHP directivee.g. *.colocrossing.come.g. /cart/e.g. /cart/ will whitelist all path starting with /cart/e.g. /checkout/e.g. /post-type/ will block all path starting with /post-type/e.g. acapbote.g. alexibote.g. badsite.come.g. gigabote.g. kanagawa.come.g. xanax.comeg.eg. /logout oreg. adm, backeg. ajax, jsoneg. aspect, templates, styleseg. comments, discussioneg. core, inc, includeeg. disable_url, safe_urleg. images, fileseg. json, api, calleg. lib, libraryeg. login or signineg. logout or disconnecteg. lostpass or forgotpasseg. main.css, theme.css, design.csseg. moduleseg. multisite activation linkeg. newuser or registereg. profile, usr, writerfromhelphttps://hidemywp.comignore alertinstall.php & upgrade.php files are accessiblelightloglogsmore detailsnot recommendedonly %d charsorpassword mismatchMismatchpassword strengthMediumpassword strengthPassword strength unknownpassword strengthStrongpassword strengthVery weakpassword strengthWeakreCAPTCHA TestreCAPTCHA V2 TestreCAPTCHA V3 TestreCaptcha LanguagereCaptcha Themereadme.html file is accessiblerecommendedredirectssee featurestart feature setupthe plugin titleA new version of the %s plugin is available.the plugin titleCould not determine if updates are available for %s.the plugin titleThe %s plugin is up to date.totoo simplewp-config.php & wp-config-sample.php files are accessibleProject-Id-Version: Hide My WP Ghost PO-Revision-Date: 2024-10-10 20:08+0300 Last-Translator: gpt-po v1.0.11 Language-Team: Language: nl_NL MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); X-Generator: Poedit 3.5 X-Poedit-Basepath: .. X-Poedit-Flags-xgettext: --add-comments=translators: X-Poedit-WPHeader: index.php X-Poedit-SourceCharset: UTF-8 X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;_nx_noop:3c,1,2;__ngettext_noop:1,2 X-Poedit-SearchPath-0: . X-Poedit-SearchPathExcluded-0: *.min.js #1 Hack Preventie Beveiligingsoplossing: Verberg WP CMS, 7G/8G Firewall, Brute Force Bescherming, 2FA, GEO Beveiliging, Tijdelijke Logins, Waarschuwingen & meer.%1$s is verouderd sinds versie %2$s! Gebruik in plaats daarvan %3$s. Overweeg alstublieft om meer inclusieve code te schrijven.%d %s geleden%d %s overgebleven%s dagen sinds de laatste update%s werkt niet zonder mode_rewrite. Activeer alstublieft de herschrijfmodule in Apache. %sMeer details%s%s heeft niet de juiste toestemming.%s is zichtbaar in de broncode%s pad is toegankelijk%s plugin(s) zijn verouderd: %s%s plugin(s) zijn de afgelopen 12 maanden NIET bijgewerkt door hun ontwikkelaars: %s%s beschermt uw website tegen de meeste SQL-injecties, maar gebruik indien mogelijk een aangepast voorvoegsel voor databasetabellen om SQL-injecties te voorkomen. %sLees meer%s%s regels worden niet opgeslagen in het configuratiebestand en dit kan de laadsnelheid van de website beïnvloeden.%s thema('s) zijn verouderd: %s%sKlik hier%s om sleutels te maken of te bekijken voor Google reCAPTCHA v2.%sKlik hier%s om sleutels te maken of te bekijken voor Google reCAPTCHA v3.%sFOUT:%s E-mail of wachtwoord is onjuist. %s %d pogingen over voordat de blokkering plaatsvindt%sVerberg het inlogpad%s in het themamenu of de widget.%sOnjuiste ReCaptcha%s. Probeer het opnieuw%sLET OP:%s Als je de inloggegevens niet hebt ontvangen, ga dan naar %s.%sJe hebt het wiskundeprobleem niet correct beantwoord.%s Probeer het opnieuw.(* de plugin heeft geen extra kosten, wordt automatisch geïnstalleerd/geactiveerd binnen WP wanneer je op de knop klikt, en gebruikt hetzelfde account)(meerdere opties beschikbaar)(nuttig wanneer het thema verkeerde admin-omleidingen toevoegt of oneindige omleidingen)(Werkt alleen met het aangepaste admin-ajax-pad om oneindige lussen te voorkomen)2FA2FA Inloggen403 Verboden403 HTML Fout404 HTML Fout404 Niet gevonden404 Pagina7G Firewall8G FirewallEen functie ontworpen om aanvallen vanuit verschillende landen te stoppen en schadelijke activiteiten uit specifieke regio's te beëindigen.Een grondige set regels kan voorkomen dat veel soorten SQL-injecties en URL-hacks worden geïnterpreteerd.Er bestaat al een gebruiker met die gebruikersnaam.API BeveiligingAPI-instellingenAWS BitnamiVolgens de %slaatste statistieken van Google%s worden er elke dag meer dan %s 30k websites gehackt %s en %s meer dan 30% van deze websites zijn gemaakt in WordPress %s. %s Het is beter om een aanval te voorkomen dan veel geld en tijd te besteden aan het herstellen van uw gegevens na een aanval, om nog maar te zwijgen van de situatie waarin de gegevens van uw klanten worden gestolen.ActieActiverenActiveer 'Must Use Plugin Loading' vanuit 'Plugin Loading Hook' om rechtstreeks verbinding te kunnen maken met je dashboard vanaf managewp.com. %s klik hier %sActiveer Brute Force-bescherming.Activeer GebeurtenissenlogboekActiveer Log Gebruikers GebeurtenissenActiveer Tijdelijke InloggegevensActiveer uw plugin.Activeer informatie en logboeken voor het oplossen van problemen.Activeer de "Brute Force" optie om het rapport van geblokkeerde gebruikers-IP's te bekijken.Activeer de "Gebruikersgebeurtenissen loggen" optie om het gebruikersactiviteitenlogboek voor deze website te bekijken.Activeer de Brute Force-bescherming voor de inlog-/aanmeldingsformulieren van Woocommerce.Activeer de Brute Force-bescherming op verloren wachtwoordformulieren.Activeer de Brute Force-bescherming op de aanmeldingsformulieren.Activeer de firewall en voorkom verschillende soorten SQL-injecties en URL-hacks.Activeer de firewall en selecteer de firewallsterkte die werkt voor jouw website %s %s > Pad wijzigen > Firewall & Headers %sActivering HulpToevoegenVoeg IP-adressen toe die altijd geblokkeerd moeten worden van toegang tot deze website.Voeg de Content-Security-Policy header toe.Voeg Headers toe ter beveiliging tegen XSS- en code-injectieaanvallen.Voeg IP-adressen toe die de plug-inbeveiliging kunnen passeren.Voeg IP-adressen toe die de plug-inbeveiliging kunnen passeren.Voeg Nieuwe Tijdelijke Login ToeVoeg een nieuwe tijdelijke login-gebruiker toe.Voeg herschrijvingen toe in de WordPress-regelssectie.Voeg Beveiligingsheader toe.Voeg beveiligingsheaders toe voor XSS- en code-injectieaanvallen.Voeg de Strict-Transport-Security header toe.Voeg Twee Factor-beveiliging toe aan de inlogpagina met Code Scan of E-mailcode authenticatie.Voeg de X-Content-Type-Options header toe.Voeg de X-XSS-Protection header toe.Voeg een lijst met URL's toe die je wilt vervangen door nieuwe.Voeg een willekeurig statisch nummer toe om frontend-caching te voorkomen terwijl de gebruiker is ingelogd.Voeg nog een andere CDN-URL toe.Voeg nog een URL toe.Add another textVoeg veelvoorkomende WordPress-klassen toe in teksttoewijzing.Voeg paden toe die de beveiliging van de plug-in kunnen doorstaan.Voeg paden toe die zullen worden geblokkeerd voor de geselecteerde landen.Voeg doorverwijzingen toe voor ingelogde gebruikers op basis van gebruikersrollen.Voeg de CDN-URL's toe die je gebruikt in de cache-plugin.BeheerderspadBeheer BeveiligingBeheerwerkbalkAdmin URLBeheerdersgebruikersnaamGeavanceerdGeavanceerd PakketGeavanceerde instellingenAfghanistanNa het toevoegen van de klassen, controleer de frontend om ervoor te zorgen dat je thema niet is beïnvloed.Klik daarna op %sOpslaan%s om de wijzigingen toe te passen.Ajax BeveiligingAjax URLÅlandseilandenAlbaniëWaarschuwingsmails verzondenAlgerijePrijsklasseAll In One WP SecurityAlle websitesAlle bestanden hebben de juiste machtigingen.Alle plugins zijn compatibel.Alle plugins zijn up-to-date.Alle plugins zijn in de afgelopen 12 maanden bijgewerkt door hun ontwikkelaars.Alle logs worden gedurende 30 dagen opgeslagen in de cloud en het rapport is beschikbaar als jouw website wordt aangevallen.Verborgen paden toestaanSta gebruikers toe om in te loggen op hun WooCommerce-account met hun e-mailadres en een unieke inlog-URL die per e-mail wordt verzonden.Gebruikers kunnen inloggen op de website met hun e-mailadres en een unieke inlog-URL die per e-mail wordt verstuurd.Het toestaan van iedereen om alle bestanden in de Uploads-map met een browser te bekijken, stelt hen in staat om eenvoudig al uw geüploade bestanden te downloaden. Het is een beveiligings- en auteursrechtenkwestie.Amerikaans-SamoaAndorraAngolaAnguillaAntarcticaAntigua en BarbudaApacheArabischBent u zeker dat u deze taak in de toekomst wilt negeren?ArgentiniëArmeniëArubaLet op! Sommige URL's zijn door de configuratiebestandsregels gegaan en zijn geladen via WordPress-rewrite, wat de snelheid van je website kan vertragen. %s Volg deze tutorial om het probleem op te lossen: %sAustraliëOostenrijkAuteur PadAuteur-URL op basis van ID-toegangAutomatisch detecterenAutodetectAutomatisch doorsturen van ingelogde gebruikers naar het beheerdersdashboard.AutoptimizerAzerbeidzjanAchterkant onder SSLBackupinstellingenBackup/RestoreBackup/herstel instellingenBahama'sBahreinDuur van de banBangladeshBarbadosZorg ervoor dat je alleen interne URL's opneemt en gebruik waar mogelijk relatieve paden.Beaver BuilderBelarusBelgiëBelizeBeninBermudaMet vriendelijke groetBhutanBitnami gedetecteerd. %sLees alsjeblieft hoe je de plugin compatibel kunt maken met AWS-hosting%s.Zwarte lijstZwarte lijst IP-adressenLeeg scherm bij debuggenBlokkeer landenBlokkeer HostnamenBlokkeer IP op inlogpagina.Blokkeren VerwijzerBlokkeer Specifieke PadenBlokkeer Thema Detectie CrawlersBlokkeer GebruikersagentenBlok bekende gebruikersagenten van populaire themadetectoren.Geblokkeerde IP-adressenGeblokkeerde IP's RapportGeblokkeerd doorBoliviaBonaire, Sint Eustatius en SabaBosnië en HerzegovinaBotswanaBouvet-eilandBraziliëBrits EngelsBrits Indische Oceaan TerritoriumBrunei DarussalamBrute ForceBrute Force IP's GeblokkeerdBrute Force Login BeschermingBescherming tegen Brute ForceBrute Force-instellingenBulgarijeBulgaarsBulletProof plugin! Zorg ervoor dat je de instellingen opslaat in %s nadat je de Root Folder BulletProof Mode hebt geactiveerd in de BulletProof plugin.Burkina FasoBurundiDoor te activeren, ga je akkoord met onze %s Gebruiksvoorwaarden %s en %sPrivacybeleid%s.CDNCDN Enabled gedetecteerd. Gelieve %s en %s paden op te nemen in de CDN Enabler-instellingen.CDN Enabler gedetecteerd! Leer hoe je het kunt configureren met %s %sKlik hier%sCDN URL'sVERBINDINGSFOUT! Zorg ervoor dat jouw website toegang heeft tot: %sCache CSS, JS en afbeeldingen om de laadsnelheid van de frontend te verhogen.Cache EnablerCambodjaKameroenKan de plugin niet downloaden.CanadaCanadees FransAnnulerenAnnuleer de inloghooks van andere plugins en thema's om ongewenste inlogomleidingen te voorkomen.KaapverdiëCatalaans ValenciaansCayman EilandenCentraal-Afrikaanse RepubliekChadVeranderenOpties wijzigenPaden wijzigenVerander nu van pad.Wijzig paden voor ingelogde gebruikers.Wijzig paden in Ajax-oproepen.Wijzig paden in gecachte bestanden.Wijzig paden in RSS-feed.Wijzig paden in Sitemaps XML.Verander Relatieve URL's naar Absolute URL'sWijzig WordPress-paden terwijl u bent ingelogd.Wijzig de paden in de RSS-feed voor alle afbeeldingen.Wijzig de paden in Sitemap XML-bestanden en verwijder de pluginauteur en stijlen.Wijzig de Tagline in %s > %s > %sWijzig de standaard WordPress-paden in de gecachte bestanden.Wijzig het aanmeldingspad van %s %s > Pad wijzigen > Aangepaste registratie-URL%s of vink de optie %s > %s > %s uit.Wijzig de tekst in alle CSS- en JS-bestanden, inclusief die in gecachte bestanden gegenereerd door cache-plugins.Wijzig de gebruiker 'admin' of 'administrator' in een andere naam om de beveiliging te verbeteren.Wijzig de machtigingen van het wp-config.php-bestand naar Alleen-lezen met behulp van de Bestandsbeheerder.Wijzig de wp-content, wp-includes en andere veelvoorkomende paden met %s %s > Wijzig Paden%sWijzig de wp-login van %s %s > Wijzig paden > Aangepaste inlog-URL%s en Schakel in %s %s > Brute Force-bescherming%sHet wijzigen van de vooraf gedefinieerde beveiligingsheaders kan de functionaliteit van de website beïnvloeden.Controleer Frontend-paden.Controleer uw website.Controleer op updatesControleer of de website-paden correct werken.Controleer of uw website beveiligd is met de huidige instellingen.Controleer de %s RSS-feed %s en zorg ervoor dat de afbeeldingspaden zijn gewijzigd.Controleer de %s Sitemap XML %s en zorg ervoor dat de afbeeldingspaden zijn gewijzigd.Controleer de laadsnelheid van de website met %sPingdom Tool%s.ChiliChinaKies een geschikt database wachtwoord, minimaal 8 tekens lang met een combinatie van letters, cijfers en speciale tekens. Nadat je het hebt gewijzigd, stel het nieuwe wachtwoord in het wp-config.php bestand in define('DB_PASSWORD', 'NIEUW_DATABASE_WACHTWOORD_HIER_INVULLEN');Kies de landen waar toegang tot de website beperkt moet worden.Kies het type server dat je gebruikt om de meest geschikte configuratie voor je server te krijgen.Kies wat te doen bij toegang vanaf whitelist IP-adressen en toegestane paden.KersteilandSchone InlogpaginaKlik op %sDoorgaan%s om de vooraf gedefinieerde paden in te stellen.Klik op Backup en de download start automatisch. Je kunt de Backup gebruiken voor al je websites.Klik om het proces te starten om de paden in de cachebestanden te wijzigen.Fout geslotenCloud PaneelCloud Panel gedetecteerd. %sLees alsjeblieft hoe je de plugin compatibel kunt maken met Cloud Panel hosting%s.CntCocos (Keeling) EilandenColombiaReacties PadComorenCompatibiliteitCompabiliteit instellingenCompatibiliteit met de Manage WP-pluginCompatibiliteit met op tokens gebaseerde inlogpluginsCompatibel met de All In One WP Security-plugin. Gebruik ze samen voor Virus Scan, Firewall, Brute Force-bescherming.Compatibel met de JCH Optimize Cache-plugin. Werkt met alle opties om te optimaliseren voor CSS en JS.Compatibel met Solid Security-plugin. Gebruik ze samen voor Site Scanner, Bestandsveranderingdetectie, Brute Force-bescherming.Compatibel met de Sucuri Security-plugin. Gebruik ze samen voor Virus Scan, Firewall, en File Integrity Monitoring.Compatibel met Wordfence Security plugin. Gebruik ze samen voor Malware Scan, Firewall, Brute Force-bescherming.Compatibel met alle thema's en plugins.Volledige oplossingConfigConfiguratiebestand is niet beschrijfbaar. Maak het bestand aan als het niet bestaat of kopieer de volgende regels naar het %s bestand: %sConfiguratiebestand is niet beschrijfbaar. Maak het bestand aan als het niet bestaat of kopieer naar %s bestand met de volgende regels: %sConfiguratiebestand is niet beschrijfbaar. Je moet dit handmatig toevoegen aan het begin van het %s bestand: %sBevestig het gebruik van een zwak wachtwoord.CongoCongo, De Democratische RepubliekGefeliciteerd! Je hebt alle beveiligingstaken voltooid. Zorg ervoor dat je je site elke week controleert.DoorgaanConverteer links zoals /wp-content/* naar %s/wp-content/*.CookeilandenKopieer LinkKopieer de %s VEILIGE URL %s en gebruik deze om alle aangepaste paden te deactiveren als je niet kunt inloggen.KerninhoudspadKern Bevat PadCosta RicaIvoorkustKon de gebruiker niet detecterenKon het niet repareren. Je moet het handmatig aanpassen.Kon niets vinden op basis van je zoekopdracht.Kon niet inloggen met deze gebruiker.Kon de tabel %1$s niet hernoemen. Mogelijk moet je de tabel handmatig hernoemen.Kon voorvoegselreferenties niet bijwerken in de optietabel.Kon voorvoegselverwijzingen niet bijwerken in de usermeta-tabel.LandblokkeringCreërenMaak een nieuw tijdelijk login aan.Maak een tijdelijke login-URL met een willekeurige gebruikersrol om toegang te krijgen tot het dashboard van de website zonder gebruikersnaam en wachtwoord voor een beperkte periode.Maak een tijdelijke login-URL met een willekeurige gebruikersrol om toegang te krijgen tot het dashboard van de website zonder gebruikersnaam en wachtwoord voor een beperkte periode. %s Dit is handig wanneer je een ontwikkelaar tijdelijk beheerdersrechten moet geven voor ondersteuning of het uitvoeren van routinetaken.KroatiëKroatischCubaCuraçaoAangepaste activeringspadAangepaste beheerderspadAangepaste Cache DirectoryAangepaste InlogpadAangepaste UitlogpadAangepaste Verloren Wachtwoord PadAangepaste RegisterpadAangepaste Veilige URL-parameterAangepaste admin-ajax-padAangepaste auteur PadAangepaste opmerking PadAangepast bericht om te tonen aan geblokkeerde gebruikers.Aangepaste plug-ins PadAangepaste themastijlnaamAangepaste thema's PadAangepaste uploads PadAangepaste wp-content PadAangepaste wp-includes-padAangepaste wp-json-padPas alle WordPress-paden aan en beveilig ze tegen aanvallen van hackerbots.Pas de Plugin-namen aanPas themanamen aanPas de CSS- en JS-URL's aan in de body van je website.Pas de ID's en Class namen aan in de body van je website.CyprusTsjechischTsjechiëDB Debug ModusDeensDashboardDatabase VoorvoegselDatumGedeactiveerdDebug modusStandaardStandaard doorverwijzen na het inloggenStandaard Tijdelijke VervaltijdStandaard GebruikersrolStandaard WordPress SloganStandaard gebruikersrol waarvoor de tijdelijke login zal worden aangemaakt.Verwijder Tijdelijke Gebruikers bij het Deïnstalleren van de Plugin.Gebruiker verwijderenDenemarkenDetailsMappenSchakel toegang tot de parameter "rest_route" uit.Schakel Klikbericht uitKopieerfunctie uitschakelenKopiëren/Plakken uitschakelenKopieer/Plakbericht is uitgeschakeld.Schakel Kopiëren/Plakken uit voor Ingelogde Gebruikers.Schakel DISALLOW_FILE_EDIT in voor live websites in wp-config.php define('DISALLOW_FILE_EDIT', true);Schakel Directory Browsing uit.Schakel slepen en neerzetten van afbeeldingen uit.Schakel het slepen en neerzetten van berichten uit.Schakel slepen en neerzetten uit voor ingelogde gebruikers.Schakel Inspect Element uit.Schakel Inspect Element-melding uitSchakel Inspect Element uit voor Ingelogde Gebruikers.Opties uitschakelenPlakken uitschakelenSchakel toegang tot de REST API uit.Schakel REST API-toegang uit voor niet-ingelogde gebruikers.Schakel REST API-toegang uit met behulp van de parameter 'rest_route'.Schakel RSD-eindpunt uit van XML-RPC.Schakel rechtsklik uit.Schakel rechtsklikken uit voor ingelogde gebruikers.Schakel SCRIPT_DEBUG uit voor live websites in wp-config.php define('SCRIPT_DEBUG', false);Schakel de broncode weergave uit.Schakel de berichtweergave uit.Schakel View Source uit voor Ingelogde Gebruikers.Schakel WP_DEBUG uit voor live websites in wp-config.php define('WP_DEBUG', false);Schakel XML-RPC-toegang uit.Schakel de kopieerfunctie uit op jouw website.Schakel afbeeldings slepen en neerzetten uit op uw website.Schakel de plakfunctie uit op uw website.Schakel de RSD (Really Simple Discovery) ondersteuning voor XML-RPC uit en verwijder de RSD-tag uit de header.Schakel de toegang tot /xmlrpc.php uit om %sBrute force-aanvallen via XML-RPC%s te voorkomen.Schakel de kopieer/plak actie uit op uw website.Schakel de externe oproepen naar het xml-rpc.php-bestand uit en voorkom Brute Force-aanvallen.Schakel de inspect element-weergave uit op uw website.Schakel de rechtermuisklikactie uit op uw website.Schakel de functionaliteit voor rechtsklikken uit op je website.Schakel de broncode-weergave uit op je website.Het tonen van welke vorm van debug-informatie dan ook op de frontend is uiterst slecht. Als er PHP-fouten optreden op je site, moeten ze op een veilige plek worden gelogd en niet worden weergegeven aan bezoekers of potentiële aanvallers.DjiboutiVoer Login & Logout Redirects uit.Log niet uit van deze browser totdat je er zeker van bent dat de inlogpagina werkt en je opnieuw kunt inloggen.Log niet uit je account totdat je er zeker van bent dat reCAPTCHA werkt en je opnieuw kunt inloggen.Wil je de tijdelijke gebruiker verwijderen?Wil je de laatst opgeslagen instellingen herstellen?DominicaDominicaanse RepubliekVergeet niet om de Nginx-service te herstarten.Laat geen URL's zoals domain.com?author=1 de gebruikersnaam van de gebruiker zien.Laat hackers geen inhoud van mappen zien. Zie %sUploads Directory%s.Laad geen Emoji-pictogrammen als je ze niet gebruikt.Laad WLW niet als je Windows Live Writer niet hebt geconfigureerd voor je site.Laad de oEmbed-service niet als je geen oEmbed-video's gebruikt.Selecteer geen enkele rol als je alle gebruikersrollen wilt vastleggen.Done!Download FoutopsporingDrupal 10Drupal 11Drupal 8Drupal 9NederlandsFOUT! Zorg ervoor dat je een geldige token gebruikt om de plugin te activeren.FOUT! Zorg ervoor dat je de juiste token gebruikt om de plugin te activeren.EcuadorGebruiker bewerkenGebruiker bewerkenBewerk wp-config.php en voeg ini_set('display_errors', 0); toe aan het einde van het bestand.EgyptEl SalvadorElementorE-mailE-mailadresE-mailmeldingE-mailadres bestaat al.E-mail je hostingbedrijf en vertel ze dat je wilt overstappen naar een nieuwere versie van MySQL of je website wilt verhuizen naar een beter hostingbedrijf.E-mail je hostingbedrijf en vertel ze dat je wilt overstappen naar een nieuwere versie van PHP of je website wilt verhuizen naar een beter hostingbedrijf.LeegLege ReCaptcha. Vul de ReCaptcha in.E-mailadresHet inschakelen van deze optie kan de website vertragen, omdat CSS- en JS-bestanden dynamisch worden geladen in plaats van via herschrijvingen, waardoor de tekst erin indien nodig kan worden aangepast.EngelsVoer de 32 tekens token in van Order/Licentie op %s.Equatoriaal-GuineaEritreaFout! Geen back-up om te herstellen.Fout! De back-up is niet geldig.Fout! De nieuwe paden worden niet correct geladen. Wis alle cache en probeer het opnieuw.Fout! De voorinstelling kon niet worden hersteld.Fout: Je hebt dezelfde URL twee keer ingevoerd in de URL-mapping. We hebben de duplicaten verwijderd om eventuele omleidingsfouten te voorkomen.Fout: U heeft dezelfde tekst tweemaal ingevoerd in de teksttoewijzing. We hebben de duplicaten verwijderd om eventuele omleidingsfouten te voorkomen.EstlandEthiopiëEuropaZelfs als de standaardpaden na aanpassing beschermd zijn door %s, raden we aan om de juiste rechten in te stellen voor alle mappen en bestanden op je website, gebruik Bestandsbeheer of FTP om de rechten te controleren en aan te passen. %sLees meer%sGebeurtenissenlogboekGebeurtenissenlogboekrapportGebeurtenissenlogboekinstellingenElke goede ontwikkelaar zou debugging moeten inschakelen voordat ze aan een nieuwe plugin of thema beginnen. In feite 'beveelt' de WordPress Codex ten zeerste aan dat ontwikkelaars SCRIPT_DEBUG gebruiken. Helaas vergeten veel ontwikkelaars de debug-modus zelfs wanneer de website live is. Het tonen van debug logs op de frontend zal hackers veel informatie geven over jouw WordPress-website.Elke goede ontwikkelaar zou debugging moeten inschakelen voordat ze aan een nieuwe plugin of thema beginnen. In feite 'beveelt' de WordPress Codex ten zeerste aan dat ontwikkelaars WP_DEBUG gebruiken.

Helaas vergeten veel ontwikkelaars de debug-modus, zelfs wanneer de website live is. Het tonen van debug logs op de frontend zal hackers veel informatie geven over jouw WordPress-website.Voorbeeld:VervaltijdVerlopenVervaltHet blootleggen van de PHP-versie zal het voor aanvallers veel gemakkelijker maken om je site aan te vallen.Mislukte pogingenMisluktFalklandeilanden (Malvinas)Faeröerse EilandenKenmerkenFeed & SitemapFeedbeveiligingFijiBestandsmachtigingenBestandsmachtigingen in WordPress spelen een cruciale rol in de beveiliging van websites. Door deze machtigingen correct te configureren, wordt voorkomen dat onbevoegde gebruikers toegang krijgen tot gevoelige bestanden en gegevens.
Onjuiste machtigingen kunnen onbedoeld je website openstellen voor aanvallen, waardoor deze kwetsbaar wordt.
Als WordPress-beheerder is het begrijpen en correct instellen van bestandsmachtigingen essentieel om je site te beschermen tegen mogelijke bedreigingen.BestandenFilterFinlandFirewallFirewall & HeadersFirewall Tegen Script InjectieFirewall LocatieFirewall SterkteFirewall tegen injecties is geladen.VoornaamEerst moet je de %sVeilige Modus%s of %sGhost Modus%s activeren.Eerst moet je de %sVeilige Modus%s of %sGhost Modus%s activeren in %s.Repareer machtigingenRepareer hetHerstel machtigingen voor alle mappen en bestanden (~ 1 min)Herstel de toestemming voor de hoofdmappen en bestanden (~ 5 sec)VliegwielVliegwiel gedetecteerd. Voeg de redirects toe in het Flywheel Redirect-regels paneel %s.Map %s is te bekijkenVerbodenFrankrijkFransFrans-GuyanaFrans-PolynesiëFranse Zuidelijke en Antarctische GebiedenVan: %s <%s>VoorpaginaFrontend Login TestFrontend TestVolledig compatibel met de Autoptimizer-cacheplug-in. Werkt het beste met de optie Optimaliseer/Agreggeer CSS- en JS-bestanden.Volledig compatibel met de Beaver Builder-plugin. Werkt het beste in combinatie met een cache-plugin.Volledig compatibel met de Cache Enabler-plugin. Werkt het beste met de optie Minify CSS en JS-bestanden.Volledig compatibel met de Elementor Website Builder-plugin. Werkt het beste samen met een cache-plugin.Volledig compatibel met de Fusion Builder-plugin van Avada. Werkt het beste samen met een cache-plugin.Volledig compatibel met de Hummingbird-cache-plugin. Werkt het beste met de optie Minify CSS en JS-bestanden.Volledig compatibel met de LiteSpeed Cache-plugin. Werkt het beste met de optie Minify CSS en JS-bestanden.Volledig compatibel met de Oxygen Builder-plugin. Werkt het beste in combinatie met een cache-plugin.Volledig compatibel met de W3 Total Cache-plugin. Werkt het beste met de optie Minify CSS en JS-bestanden.Volledig compatibel met de WP Fastest Cache-plugin. Werkt het beste met de optie Minify CSS en JS-bestanden.Volledig compatibel met de cache-plugin WP Super Cache.Volledig compatibel met de WP-Rocket cache-plugin. Werkt het beste met de optie Minify/Combine CSS en JS-bestanden.Volledig compatibel met de Woocommerce-plugin.Fusion BuilderGabonGambiaAlgemeenGeo BeveiligingGeografische beveiliging is een functie die is ontworpen om aanvallen uit verschillende landen te stoppen en een einde te maken aan schadelijke activiteiten die afkomstig zijn uit specifieke regio's.GeorgiëDuitsDuitslandGhanaGhostmodusGhost Mode + Firewall + Brute Force + Events Log + Two factor Ghost Mode + Firewall + Brute Force + Events Log + Two factorGhost Mode zal deze vooraf gedefinieerde paden instellen.Ghost modeGibraltarGeef willekeurige namen aan elke plug-in.Geef willekeurige namen aan elk thema (werkt in WP multisite)Globale klasse naam gedetecteerd: %s. Lees eerst dit artikel: %s.Ga naar het Gebeurtenissenlogboekpaneel.Ga naar het Dashboard > Weergave sectie en update alle thema's naar de laatste versie.Ga naar het Dashboard > Plugins sectie en update alle plugins naar de laatste versie.GodaddyGodaddy gedetecteerd! Om CSS-fouten te voorkomen, zorg ervoor dat je de CDN uitschakelt van %s.GoedGoogle reCAPTCHA V2Google reCAPTCHA V3Google reCaptcha V3 werkt niet met het huidige aanmeldingsformulier van %s.Prima! De back-up is hersteld.Prima! De oorspronkelijke waarden zijn hersteld.Prima! De nieuwe paden worden correct geladen.Prima! De voorinstelling is geladen.GriekenlandGrieksGroenlandGrenadaGuadeloupeGuamGuatemalaGuernseyGuineaGuinee-BissauGuyanaHaitiHet is vreselijk om de beheer-URL zichtbaar te hebben in de broncode, want hackers zullen meteen je geheime beheerpad kennen en een Brute Force-aanval starten. Het aangepaste beheerpad mag niet verschijnen in de ajax-URL.

Zoek oplossingen voor %s hoe je het pad kunt verbergen in de broncode %s.Het hebben van de inlog-URL zichtbaar in de broncode is vreselijk omdat hackers onmiddellijk je geheime inlogpad zullen kennen en een Brute Force-aanval zullen starten.

Het aangepaste inlogpad moet geheim worden gehouden en je moet Brute Force-bescherming ervoor geactiveerd hebben.

Vind oplossingen voor %s het verbergen van het inlogpad uit de broncode hier %s.Het hebben van deze PHP-directive ingeschakeld zal ervoor zorgen dat je site kwetsbaar is voor cross-site aanvallen (XSS).

Er is absoluut geen geldige reden om deze directive in te schakelen, en het gebruik van PHP-code die dit vereist is zeer riskant.Header BeveiligingKopteksten & FirewallHeard Island en McDonald IslandsHebreeuwsHulp & Veelgestelde vragenHier is de lijst van geselecteerde provincies waar uw website beperkt zal zijn.VerbergenVerberg het "login" pad.Verberg "wp-admin"Verberg "wp-admin" voor niet-beheerders.Verberg "wp-login.php"Verberg het /login-pad voor bezoekers.Verberg het /wp-admin-pad voor niet-beheerdersgebruikers.Verberg het /wp-admin-pad voor bezoekers.Verberg het /wp-login.php-pad voor bezoekers.Verberg beheerwerkbalkVerberg de beheerwerkbalk voor gebruikersrollen om toegang tot het dashboard te voorkomen.Verberg alle pluginsVerberg Auteur ID URLVerberg Gemeenschappelijke BestandenVerberg Insluit scriptsVerberg EmojiconsVerberg Feed & Sitemap Link TagsVerberg bestandsextensies.Verberg HTML-opmerkingen.Verberg ID's in META-tags.Verberg taalwisselaar.Hide My WP GhostVerberg OptiesVerberg paden in Robots.txt.Verberg Plugin NamenVerberg REST API URL-linkVerberg Thema NamenVerberg Versie van Afbeeldingen, CSS en JS in WordPress.Verberg versies van afbeeldingen, CSS en JS.Verberg WLW Manifest-scripts.Verberg WP Common-bestandenVerberg WP Common PathsVerberg WordPress Common FilesVerberg WordPress Gemeenschappelijke PadenVerberg WordPress DNS Prefetch META-tags.Verberg WordPress Generator META-tags.Verberg WordPress Oude Plugins PadVerberg WordPress Oude Thema's PadVerberg de gangbare paden van WordPress uit het %s Robots.txt %s bestand.Verberg WordPress-paden zoals wp-admin, wp-content en meer in het robots.txt-bestand.Verberg alle versies vanaf het einde van alle afbeeldings-, CSS- en JavaScript-bestanden.Verberg zowel actieve als gedeactiveerde plugins.Verberg voltooide taken.Verberg wachtwoordVerberg de /feed en /sitemap.xml link Tags.Verberg de DNS Prefetch die naar WordPress wijst.Verberg de HTML-opmerkingen die zijn achtergelaten door de thema's en plugins.Verberg de ID's van alle <koppelingen>, <stijl>, <scripts> META-tags.Verberg het nieuwe beheerderspad.Verberg het nieuwe inlogpad.Verberg de WordPress Generator META-tags.Verberg de beheerwerkbalk voor ingelogde gebruikers terwijl ze op de frontend zijn.Verberg de taalwisselaar optie op de inlogpagina.Verberg het nieuwe beheerderspad voor bezoekers. Toon het nieuwe beheerderspad alleen voor ingelogde gebruikers.Verberg het nieuwe login-pad voor bezoekers. Toon het nieuwe login-pad alleen voor directe toegang.Verberg de oude /wp-content, /wp-include paden zodra ze zijn vervangen door de nieuwe.Verberg de oude /wp-content, /wp-include paden zodra ze zijn vervangen door de nieuwe.Verberg het oude /wp-content/plugins-pad zodra het is gewijzigd in het nieuwe pad.Verberg het oude /wp-content/themes-pad zodra het is gewijzigd in het nieuwe pad.Verberg wp-admin van Ajax-URL.Verberg wp-config.php, wp-config-sample.php, readme.html, license.txt, upgrade.php en install.php bestanden.Verberg wp-config.php, wp-config-sample.php, readme.html, license.txt, upgrade.php en install.php bestanden.Verberg de wp-json & ?rest_route link tag uit de website header.Het verbergen van de ID uit meta tags in WordPress kan mogelijk invloed hebben op het cache-proces van plugins die vertrouwen op het identificeren van de meta tags.HindiHeilige Stoel (Vaticaanstad)HondurasHongkongHostnaamHoe lang blijft de tijdelijke login beschikbaar nadat de gebruiker deze voor het eerst heeft gebruikt.KolibrieHongaarsHongarijeIIS WindowsIIS gedetecteerd. U moet uw %s-bestand bijwerken door de volgende regels toe te voegen na de <rules> tag: %sIPIP GeblokkeerdIJslandAls de reCAPTCHA een foutmelding weergeeft, zorg er dan voor dat je deze oplost voordat je verder gaat.Als de herschrijfregels niet correct worden geladen in het configuratiebestand, laad dan de plugin niet en wijzig de paden niet.Als je verbonden bent met de beheerdergebruiker, moet je opnieuw inloggen na de wijziging.Als je %s niet kunt configureren, schakel dan over naar deactiveringsmodus en %sneem contact met ons op%s.Als je reCAPTCHA niet kunt configureren, schakel dan over naar Math reCaptcha-beveiliging.Als je geen e-commerce, lidmaatschaps- of gastberichtenwebsite hebt, zou je gebruikers niet moeten toestaan zich te abonneren op je blog. Je zult eindigen met spamregistraties en je website zal gevuld worden met spamachtige inhoud en opmerkingen.Als je toegang hebt tot het php.ini-bestand, stel allow_url_include = off in of neem contact op met het hostingbedrijf om dit uit te schakelen.Als je toegang hebt tot het php.ini-bestand, stel dan expose_php = uit in of neem contact op met het hostingbedrijf om dit uit te schakelen.Als je toegang hebt tot het php.ini-bestand, stel dan register_globals = uit in of neem contact op met het hostingbedrijf om het uit te schakelen.Als je toegang hebt tot het php.ini-bestand, zet dan safe_mode = uit of neem contact op met het hostingbedrijf om het uit te schakelen.Als je een functionaliteitsprobleem opmerkt, selecteer dan de %sVeilige Modus%s.Als je kunt inloggen, heb je de nieuwe paden correct ingesteld.Als je kunt inloggen, heb je reCAPTCHA correct ingesteld.Als je geen Windows Live Writer gebruikt, is er echt geen geldige reden om de link ervan in de paginakop te hebben, want dit vertelt de hele wereld dat je WordPress gebruikt.Als je geen gebruik maakt van enige Really Simple Discovery-services zoals pingbacks, is er geen noodzaak om dat eindpunt (link) in de header te adverteren. Houd er rekening mee dat voor de meeste sites dit geen beveiligingsprobleem is omdat ze "ontdekt willen worden", maar als je wilt verbergen dat je WP gebruikt, is dit de manier om te gaan.Als je site gebruikerslogins toestaat, moet je ervoor zorgen dat je inlogpagina gemakkelijk te vinden is voor je gebruikers. Je moet ook andere maatregelen nemen om je te beschermen tegen kwaadwillende inlogpogingen.

Desalniettemin is obscuriteit een geldige beveiligingslaag wanneer deze wordt gebruikt als onderdeel van een alomvattende beveiligingsstrategie, en als je het aantal kwaadwillende inlogpogingen wilt verminderen. Het moeilijk vindbaar maken van je inlogpagina is een manier om dat te bereiken.Negeer beveiligingstaakBlokker onmiddellijk onjuiste gebruikersnamen op inlogformulieren.In het .htaccess-bestandIn vroegere tijden was de standaard WordPress-beheerdersgebruikersnaam 'admin' of 'administrator'. Aangezien gebruikersnamen de helft van de aanmeldingsgegevens vormen, maakte dit het voor hackers gemakkelijker om brute-force aanvallen uit te voeren. Gelukkig heeft WordPress dit inmiddels veranderd en vereist het nu dat je bij het installeren van WordPress een aangepaste gebruikersnaam kiest.Indeed Ultimate Membership Pro gedetecteerd. De plugin ondersteunt geen aangepaste %s-paden omdat het geen WordPress-functies gebruikt om de Ajax-URL aan te roepen.IndiaIndonesiëIndonesischInfoIn bewegingBeweging gedetecteerd. %sLees alsjeblieft hoe je de plugin compatibel kunt maken met Inmotion Nginx Cache%s.Installeren/ActiverenIntegratie met andere CDN-plugins en aangepaste CDN-URL's.Ongeldige ReCaptcha. Gelieve de reCaptcha in te vullen.Ongeldig e-mailadresOngeldige naam gedetecteerd: %s. Voeg alleen de laatste padnaam toe om WordPress-fouten te voorkomen.Ongeldige naam gedetecteerd: %s. De naam mag niet eindigen met / om WordPress fouten te voorkomen.Ongeldige naam gedetecteerd: %s. De naam mag niet beginnen met / om WordPress fouten te voorkomen.Ongeldige naam gedetecteerd: %s. De paden mogen niet eindigen met . om WordPress-fouten te voorkomen.Ongeldige naam gedetecteerd: %s. Je moet een andere naam gebruiken om WordPress fouten te voorkomen.Ongeldige gebruikersnaam.Iran, Islamitische Republiek vanIrakIerlandIsle of ManIsraëlHet is belangrijk om %s uw instellingen op te slaan elke keer dat u ze wijzigt %s. U kunt de back-up gebruiken om andere websites die u bezit te configureren.Het is belangrijk om het readme.html-bestand te verbergen of te verwijderen omdat het WP-versiegegevens bevat.Het is belangrijk om de veelvoorkomende WordPress-paden te verbergen om aanvallen op kwetsbare plugins en thema's te voorkomen.
Ook is het belangrijk om de namen van plugins en thema's te verbergen om het onmogelijk te maken voor bots om ze te detecteren.Het is belangrijk om veelvoorkomende WordPress-paden, zoals wp-content en wp-includes, te hernoemen om te voorkomen dat hackers weten dat je een WordPress-website hebt.Het is niet veilig om Database Debug ingeschakeld te hebben. Zorg ervoor dat je Database Debug niet gebruikt op live websites.ItaliaansItaliëJCH Optimaliseer CacheJamaicaJananeseJapanJavascript is uitgeschakeld in je browser! Je moet Javascript activeren om de %s plugin te kunnen gebruiken.TruiJoomla 3Joomla 4Joomla 5JordanNog een WordPress-siteKazachstanKeniaKiribatiWeet wat de andere gebruikers op uw website doen.KoreaansKosovoKoeweitKyrgyzstanTaalLao Democratische VolksrepubliekLaatste 30 dagen BeveiligingsstatistiekenLaatste ToegangAchternaamLaatste controle:Late ladenLetlandLetsLeer HoeLeer hoe je de code toevoegt.Leer hoe je %sDirectory Browsing%s uitschakelt of inschakelt %s %s > Pad wijzigen > Directory Browsing uitschakelen%sLeer hoe je jouw website instelt als %s. %sKlik hier%s.Leer hoe je instelt op Local & Nginx.Leer hoe je instelt op een Nginx-server.Leer hoe je de shortcode moet gebruiken.Meer informatie overLeer meer over %s 7G firewall %s.Leer meer over %s 8G firewall %s.Leave it blank if you don't want to display any messageLaat het leeg om alle paden voor de geselecteerde landen te blokkeren.LibanonLesothoLaten we jouw beveiliging naar het volgende niveau tillen!Niveau van beveiligingNiveaus van beveiligingLiberiaLibische Arabische JamahiriyaLicentietokenLiechtensteinBeperk het aantal toegestane inlogpogingen met behulp van het normale aanmeldingsformulier.LiteSpeedLiteSpeed CacheLitouwenLitouwsLaad VoorinstellingLaad beveiligingsinstellingen vooraf.Laden nadat alle plugins zijn geladen. Op de "template_redirects" haak.Laden voordat alle plugins zijn geladen. Op de "plugins_loaded" haak.Laad aangepaste taal als de lokale taal van WordPress is geïnstalleerd.Laad de plugin als een Must Use-plugin.Laden wanneer de plugins geïnitialiseerd zijn. Op de "init" haak.Lokale & NGINX gedetecteerd. Als je de code nog niet hebt toegevoegd aan de NGINX-configuratie, voeg dan de volgende regel toe. %sLokaal door FlywheelLocatieGebruiker vergrendelenToegangsberichtGebruikersrollen loggenGebruikersgebeurtenissen registrerenInloggen & Uitloggen DoorverwijzingenInloggen geblokkeerd doorInlogpadInlog redirect URLInlogbeveiligingInlogtestURL voor aanmeldenUitlogdoorverwijzing URLVerloren Wachtwoord Formulier BeschermingLuxemburgMacaoMadagaskarMagische Link LoginZorg ervoor dat de omleidings-URL's op jouw website bestaan. %sDe omleidings-URL van de gebruikersrol heeft een hogere prioriteit dan de standaard omleidings-URL.Zorg ervoor dat je weet wat je doet bij het wijzigen van de koppen.Zorg ervoor dat je de instellingen opslaat en de cache leegt voordat je je website met onze tool controleert.MalawiMaleisiëMaldivenMaliMaltaBeheer Brute Force-beveiligingBeheer inlog- en uitlogomleidingen.Beheer whitelist & blacklist IP-adressen.Handmatig IP-adressen blokkeren/ontgrendelen.Pas elke plug-innaam handmatig aan en overschrijf de willekeurige naam.Pas elke themanaam handmatig aan en overschrijf de willekeurige naam.Handmatig vertrouwde IP-adressen op de whitelist zetten.indelenMarshalleilandenMartiniqueWiskunde & Google reCaptcha-verificatie tijdens het inloggen.Wiskunde reCAPTCHAMauritaniëMauritiusMax mislukte pogingenMayotteMediumLidmaatschapMexicoMicronesië, Federale Staten vanMinimaalMinimaal (Geen configuratieherhalingen)Moldavië, RepubliekMonacoMongoliëHoud alles in de gaten wat er op je WordPress-site gebeurt!Bewaak, volg en registreer gebeurtenissen op jouw website.MontenegroMontserratMeer HulpMeer informatie over %sMeer optiesMarokkoDe meeste WordPress-installaties worden gehost op de populaire Apache, Nginx en IIS webservers.MozambiqueMoet Plugin Laden GebruikenMijn AccountMyanmarMysql VersieNGINX gedetecteerd. Als je de code nog niet hebt toegevoegd aan de NGINX-configuratie, voeg dan de volgende regel toe. %sNaamNamibiëNauruNepalNederlandNieuw-CaledoniëNieuwe InloggegevensNieuwe Plugin/Thema gedetecteerd! Werk de %s instellingen bij om het te verbergen. %sKlik hier%sNieuw-ZeelandVolgende StappenNginxNicaraguaNigerNigeriaNiueNeeGeen CMS-simulatieGeen recente updates uitgebracht.Geen geblokkeerde IP-adressen.Geen log gevonden.Geen tijdelijke logins.Geen probleem, de vertaling wordt geannuleerd.Aantal secondenNorfolk EilandNormale belastingNormaal gesproken wordt de optie om bezoekers te blokkeren van het doorbladeren van servermappen geactiveerd door de host via serverconfiguratie, en het tweemaal activeren ervan in het configuratiebestand kan fouten veroorzaken, dus het is het beste om eerst te controleren of de %sUploads Directory%s zichtbaar is.Noord-KoreaNoord-Macedonië, Republiek vanNoordelijke Marianen.NoorwegenNorwegischNog niet ingelogdLet op dat deze optie de CDN niet zal activeren voor jouw website, maar het zal wel de aangepaste paden bijwerken als je al een CDN-URL hebt ingesteld met een andere plugin.Let op! %sPaden veranderen NIET fysiek%s op uw server.Let op! De plugin zal WP-cron gebruiken om de paden in de achtergrond te wijzigen zodra de cachebestanden zijn aangemaakt.Let op: Als je niet kunt inloggen op je site, ga dan naar deze URL.Notificatie instellingenOké, ik heb het opgezet.OmanBij het initialiseren van de websiteZodra je de plugin hebt gekocht, ontvang je de %s inloggegevens voor je account per e-mail.Een DagEén uurEén maandEén weekEén jaarEén van de belangrijkste bestanden in je WordPress-installatie is het wp-config.php-bestand.
Dit bestand bevindt zich in de hoofdmap van je WordPress-installatie en bevat de basisconfiguratiedetails van je website, zoals informatie over de databaseverbinding.Verander deze optie alleen als de plugin het servertype niet correct kan identificeren.Optimaliseer CSS- en JS-bestanden.Optie om de gebruiker te informeren over het aantal resterende pogingen op de inlogpagina.OptiesVerouderde pluginsVerouderde thema'sOverzichtZuurstofPHP VersiePHP allow_url_include staat aanPHP expose_php staat aan.PHP register_globals staat aanPHP safe mode was een van de pogingen om de beveiligingsproblemen van gedeelde webhosting servers op te lossen.

Het wordt nog steeds door sommige webhostingproviders gebruikt, maar tegenwoordig wordt dit als onjuist beschouwd. Een systematische aanpak toont aan dat het architectonisch onjuist is om complexe beveiligingsproblemen op te lossen op PHP-niveau in plaats van op het niveau van de webserver en het besturingssysteem.

Technisch gezien is safe mode een PHP-directive die de manier beperkt waarop sommige ingebouwde PHP-functies werken. Het belangrijkste probleem hier is inconsistentie. Wanneer het is ingeschakeld, kan PHP safe mode voorkomen dat veel legitieme PHP-functies correct werken. Tegelijkertijd bestaan er verschillende methoden om de beperkingen van safe mode te omzeilen met behulp van PHP-functies die niet beperkt zijn, dus als een hacker al binnen is - is safe mode nutteloos.PHP safe_mode staat aan.Pagina niet gevondenPakistanPalauPalestijnse GebiedenPanamaPapoea-Nieuw-GuineaParaguayGeslaagdPad niet toegestaan. Vermijd paden zoals plugins en thema's.Paden & OptiesPaden gewijzigd in de bestaande cachebestanden.Pauzeer gedurende 5 minutenPermalinksPerzischPeruFilippijnenPitcairnGelieve er rekening mee te houden dat als u niet akkoord gaat met het opslaan van gegevens in onze Cloud, wij u vriendelijk verzoeken om deze functie niet te activeren.Bezoek %s om je aankoop te controleren en de licentiesleutel te verkrijgen.Plugin Laden HaakPluginpadPlugins BeveiligingPlugininstellingenPlugins die in de afgelopen 12 maanden niet zijn bijgewerkt, kunnen echte beveiligingsproblemen hebben. Zorg ervoor dat je bijgewerkte plugins uit de WordPress Directory gebruikt.Plugins/Themes editor uitgeschakeldPolenPoolsPortugalPortugeesVooraf ingestelde beveiligingVoorkom een kapotte website-indeling.Prioriteit LadenBeschermt uw WooCommerce-winkel tegen brute force-aanmeldingsaanvallen.Beschermt uw website tegen Brute Force-aanvallen op het inloggen met behulp van %s. Een veelvoorkomende bedreiging waarmee webontwikkelaars te maken krijgen, is een wachtwoord-gokaanval die bekend staat als een Brute Force-aanval. Een Brute Force-aanval is een poging om een wachtwoord te achterhalen door systematisch elke mogelijke combinatie van letters, cijfers en symbolen te proberen totdat de juiste combinatie is ontdekt die werkt.Beschermt uw website tegen Brute Force inlogaanvallen.Beschermt uw website tegen brute force aanmeldingsaanvallen.Bewijs je menselijkheid:Puerto RicoQatarSnelle oplossingRDS is zichtbaar.Willekeurig Statisch NummerGebruiker voor 1 dag reactiveren.Doorsturen Na InloggenVerborgen paden omleidenStuur Ingelogde Gebruikers Door Naar Dashboard.Leid tijdelijke gebruikers na het inloggen om naar een aangepaste pagina.Leid de beveiligde paden /wp-admin, /wp-login om naar een pagina of activeer een HTML-fout.Gebruiker doorverwijzen naar een aangepaste pagina na het inloggen.OmleidingenVerwijderenVerwijder PHP-versie, serverinformatie en serverhandtekening uit de header.Verwijder Plugins Authors & Style in Sitemap XML.Verwijder onveilige headers.Verwijder de pingback-linktag uit de koptekst van de website.Hernoem readme.html-bestand of schakel %s %s in > Pad wijzigen > Verberg WordPress-gemeenschappelijke bestanden%sHernoem wp-admin/install.php & wp-admin/upgrade.php bestanden of schakel in %s %s > Wijzig paden > Verberg WordPress Common Paths%sVernieuwenResetInstellingen ResettenHet oplossen van hostnamen kan de laadsnelheid van de website beïnvloeden.Backup terugzettenHerstel InstellingenHervat BeveiligingHerdenkingRobots BeveiligingRolInstellingen terugzettenZet alle instellingen van de plugin terug naar de oorspronkelijke waarden.RoemeniëRoemeensVoer %s Frontend Test %s uit om te controleren of de nieuwe paden werken.Voer %s Login Test %s uit en log in binnen het pop-upvenster.Voer de %sreCAPTCHA-test%s uit en log in in het pop-upvenster.Voer een volledige beveiligingscontrole uit.RussischRussische FederatieRwandaSSL is een afkorting die wordt gebruikt voor Secure Sockets Layers, dit zijn versleutelingsprotocollen die op het internet worden gebruikt om informatie-uitwisseling te beveiligen en certificaatinformatie te verstrekken.

Deze certificaten bieden de gebruiker zekerheid over de identiteit van de website waarmee ze communiceren. SSL kan ook wel TLS of Transport Layer Security-protocol worden genoemd.

Het is belangrijk om een veilige verbinding te hebben voor het Admin Dashboard in WordPress.Veilige modusVeilige modus + Firewall + Brute Force + Gebeurtenissenlogboek + TweestapsverificatieVeilige modus + Firewall + CompatibiliteitsinstellingenVeilige modus zal deze vooraf gedefinieerde paden instellen.Veilige URL:Veilige modusSint BartelemeySint-HelenaSaint Kitts en NevisSaint LuciaSint MaartenSaint Pierre en MiquelonSaint Vincent en de GrenadinesZouten en beveiligingssleutels geldigSamoaSan MarinoSao Tome en PrincipeSaoedi-ArabiëOpslaanBewaar Debug LogGebruiker OpslaanOpgeslagenOpgeslagen! Deze taak zal worden genegeerd bij toekomstige tests.Opgeslagen! Je kunt de test opnieuw uitvoeren.Script Debug ModusZoekenZoek in het gebruikersgebeurtenissenlogboek en beheer de e-mailmeldingen.Geheime sleutelGeheime sleutels voor %sGoogle reCAPTCHA%s.Beveiligde WP-padenVeiligheidscontroleBeveiligingssleutels bijgewerkt.VeiligheidsstatusBeveiligingssleutels worden gedefinieerd in wp-config.php als constanten op regels. Ze moeten zo uniek en lang mogelijk zijn. AUTH_KEY,SECURE_AUTH_KEY,LOGGED_IN_KEY,NONCE_KEY,AUTH_SALT,SECURE_AUTH_SALT,LOGGED_IN_SALT,NONCE_SALTBeveiligingssleutels worden gebruikt om ervoor te zorgen dat informatie die is opgeslagen in de cookies en gehashte wachtwoorden van de gebruiker beter wordt versleuteld.

Hierdoor wordt je site moeilijker te hacken, te benaderen en te kraken door willekeurige elementen aan het wachtwoord toe te voegen. Je hoeft deze sleutels niet te onthouden. Sterker nog, zodra je ze instelt, zul je ze nooit meer zien. Daarom is er geen excuus om ze niet goed in te stellen.Bekijk de acties van de afgelopen dagen op deze website ...Selecteer VoorinstellingKies gebruikersrollenSelecteer een vooraf ingestelde beveiligingsinstelling die we hebben getest op de meeste websites.Selecteer allesSelecteer hoelang de tijdelijke login beschikbaar zal zijn nadat de eerste gebruiker toegang heeft gekregen.Selecteer de bestandsextensies die je wilt verbergen op oude paden.Selecteer de bestanden die je wilt verbergen op oude paden.Geselecteerde landenStuur me een e-mail met de gewijzigde beheer- en inlog-URL's.SenegalServiëServischServer TypeStel aangepaste cache-map inStel inlog- en uitlogomleidingen in op basis van gebruikersrollen.Stel de huidige gebruikersrol in.Stel de website in waarvoor je wilt dat deze gebruiker wordt aangemaakt.InstellingenSeychellenKorte naam gedetecteerd: %s. Je moet unieke paden gebruiken met meer dan 4 tekens om WordPress fouten te voorkomen.TonenToon /%s in plaats van /%sToon Geavanceerde OptiesToon Standaardpaden & Sta Verborgen Paden ToeToon Standaardpaden & Sta Alles ToeToon een leeg scherm wanneer Inspect Element actief is in de browser.Toon voltooide takenToon genegeerde takenToon bericht in plaats van aanmeldingsformulierToon wachtwoordSierra LeoneAanmeldformulier BeschermingVereenvoudigd ChineesSimuleer CMSSingaporeSint MaartenSitesleutelSite sleutels voor %sGoogle reCaptcha%s.SiteGroundSitemap BeveiligingZes maandenSlowaaksSlovakijeSloveensSloveniëSolide beveiligingSalomonseilandenSomaliëSommige plugins kunnen aangepaste herschrijfregels uit het .htaccess-bestand verwijderen, vooral als het beschrijfbaar is, wat de functionaliteit van aangepaste paden kan beïnvloeden.Sommige thema's werken niet met aangepaste Admin- en Ajax-paden. Schakel bij Ajax-fouten terug naar wp-admin en admin-ajax.php.Sorry, je hebt geen toegang tot deze pagina.Zuid-AfrikaZuid-Georgië en de Zuidelijke SandwicheilandenZuid-KoreaSpanjeSpammers kunnen zich gemakkelijk aanmelden.SpaansSri LankaStart de scanSucuri SecuritySudanSuper BeheerderSurinameSvalbard en Jan MayenSwazilandZwedenZweedsSchakel %s %s in > Wijzig paden > Verberg WordPress gemeenschappelijke paden%sSchakel %s %s in > Paden wijzigen > Schakel XML-RPC-toegang uit%sSchakel %s %s in > Paden wijzigen > Auteur-ID-URL verbergen%sSchakel %s %s in > Paden wijzigen > Verberg RSD-eindpunt%sSchakel %s %s in > Paden wijzigen > Verberg WordPress gemeenschappelijke bestanden%sSchakel %s %s in > Wijzig paden > Verberg wp-admin van ajax URL%s. Verberg elke verwijzing naar het beheerderspad van de geïnstalleerde plugins.Schakel %s %s in > Aanpassingen > %s %sSchakel %s %s > Aanpassingen > Verberg WLW-manifestscripts%sZwitserlandSyrische Arabische RepubliekTagregelTaiwanTadzjikistanTanzania, Verenigde RepubliekTijdelijke LoginTijdelijke InloginstellingenTijdelijke inloggegevensTest uw websitekoppen metTekst & URL-toewijzingTeksttoewijzingTeksttoewijzing in CSS- en JS-bestanden, inclusief gecachte bestanden.Alleen klassen, ID's en JS-variabelen mappen.ThaisThailandDank je voor het gebruik van %s!De %s sectie is verplaatst %s hier %sDe Ghost-modus zal de herschrijvingsregels toevoegen aan het configuratiebestand om de oude paden voor hackers te verbergen.De REST API is van cruciaal belang voor veel plugins omdat het hen in staat stelt om te communiceren met de WordPress-database en verschillende acties programmatisch uit te voeren.De Veilige Modus zal de herschrijvingsregels toevoegen aan het configuratiebestand om de oude paden voor hackers te verbergen.De Veilige URL zal alle aangepaste paden deactiveren. Gebruik deze alleen als je niet kunt inloggen.De WordPress-database is als een brein voor je hele WordPress-site, omdat alle informatie over je site daar wordt opgeslagen, waardoor het een favoriet doelwit is voor hackers.

Spammers en hackers voeren geautomatiseerde code uit voor SQL-injecties.
Helaas vergeten veel mensen het databasevoorvoegsel te wijzigen bij het installeren van WordPress.
Dit maakt het voor hackers gemakkelijker om een grootschalige aanval te plannen door het standaardvoorvoegsel wp_ te targeten.De tagline van de WordPress-site is een korte zin die zich onder de sitetitel bevindt, vergelijkbaar met een ondertitel of reclameslogan. Het doel van een tagline is om de essentie van je site over te brengen aan bezoekers.

Als je de standaard tagline niet wijzigt, zal het heel gemakkelijk zijn om te zien dat jouw website eigenlijk met WordPress is gebouwd.De constante ADMIN_COOKIE_PATH is gedefinieerd in wp-config.php door een andere plugin. Je kunt %s niet wijzigen tenzij je de regel define('ADMIN_COOKIE_PATH', ...); verwijdert.De lijst met plugins en thema's is succesvol bijgewerkt!De meest voorkomende manier om een website te hacken is door toegang te krijgen tot het domein en schadelijke query's toe te voegen om informatie uit bestanden en databases te onthullen.
Deze aanvallen worden uitgevoerd op elke website, WordPress of niet, en als een aanval slaagt ... zal het waarschijnlijk te laat zijn om de website te redden.De plug-ins en thema's bestandseditor is een zeer handige tool omdat het je in staat stelt om snel wijzigingen aan te brengen zonder de noodzaak om FTP te gebruiken.

Helaas is het ook een beveiligingsprobleem omdat het niet alleen de PHP-broncode laat zien, het stelt ook aanvallers in staat om kwaadaardige code in je site te injecteren als ze toegang krijgen tot het beheerdersgedeelte.Het proces werd geblokkeerd door de firewall van de website.De gevraagde URL %s is niet gevonden op deze server.De reactie-parameter is ongeldig of slecht geformuleerd.De geheime parameter is ongeldig of misvormd.Er is iets fout gegaan.De beveiligingssleutels in wp-config.php moeten zo vaak mogelijk worden vernieuwd.Thema's PadThema's BeveiligingThema's zijn bijgewerkt.Er heeft zich een kritieke fout voorgedaan op de website.Er heeft zich een kritieke fout voorgedaan op de website; controleer de inbox van het beheerders-mailadres voor instructies.Er is een configuratiefout in de plugin. Sla de instellingen opnieuw op en volg de instructies.Er is een nieuwere versie van WordPress beschikbaar ({version}).Er is geen changelog beschikbaar.Er bestaat niet zoiets als een "onbelangrijk wachtwoord"! Hetzelfde geldt voor je WordPress-database wachtwoord.
Hoewel de meeste servers zo geconfigureerd zijn dat de database niet toegankelijk is vanaf andere hosts (of van buiten het lokale netwerk), betekent dat niet dat je database wachtwoord "12345" moet zijn of helemaal geen wachtwoord moet hebben.Deze geweldige functie is niet inbegrepen in de basisplugin. Wil je deze ontgrendelen? Installeer of activeer eenvoudigweg het Geavanceerde Pakket en geniet van de nieuwe beveiligingsfuncties.Dit is een van de grootste beveiligingsproblemen die je op je site kunt hebben! Als je hostingbedrijf deze richtlijn standaard heeft ingeschakeld, stap dan onmiddellijk over naar een ander bedrijf!Dit werkt mogelijk niet met alle nieuwe mobiele apparaten.Deze optie zal herschrijfregels toevoegen aan het .htaccess-bestand in het gedeelte van de WordPress-herschrijfregels tussen de opmerkingen # BEGIN WordPress en # END WordPress.Dit zal voorkomen dat de oude paden worden weergegeven wanneer een afbeelding of lettertype wordt opgeroepen via ajax.Drie dagenDrie uurTimor-LesteOm de paden in de gecachte bestanden te wijzigen, schakel je %sPaden wijzigen in gecachte bestanden%s in.Om de Avada-bibliotheek te verbergen, voeg alstublieft de Avada FUSION_LIBRARY_URL toe in het wp-config.php-bestand na de regel $table_prefix: %sOm de beveiliging van je website te verbeteren, overweeg om auteurs en stijlen die naar WordPress verwijzen uit je sitemap XML te verwijderen.TogoTokelauTongaRegistreer en log de gebeurtenissen op de website en ontvang beveiligingswaarschuwingen per e-mail.Houd bij en registreer gebeurtenissen die plaatsvinden op je WordPress-site.Traditioneel ChineesTrinidad en TobagoProbleemoplossingTunesiëTurkijeTurksTurkmenistanTurks en CaicoseilandenSchakel de debug-plugins uit als je website live is. Je kunt ook de optie toevoegen om de DB-fouten te verbergen global $wpdb; $wpdb->hide_errors(); in het wp-config.php-bestand.TuvaluTweaksTweestapsverificatieURL MappingOegandaOekraïneOekraïensUltimate Affiliate Pro gedetecteerd. De plugin ondersteunt geen aangepaste %s-paden omdat het geen WordPress-functies gebruikt om de Ajax-URL aan te roepen.Kan het bestand wp-config.php niet bijwerken om het databasevoorvoegsel bij te werken.OpgelostVerenigde Arabische EmiratenVerenigd KoninkrijkVerenigde StatenVerenigde Staten Kleine Afgelegen EilandenOnbekende update checker status "%s"Alles ontgrendelenWerk de instellingen op %s bij om de paden te vernieuwen na het wijzigen van het REST API-pad.BijgewerktUpload het bestand met de opgeslagen plug-in instellingen.Uploads PadDringende beveiligingsmaatregelen vereistUruguayGebruik Brute Force-beveiliging.Gebruik Tijdelijke InloggegevensGebruik de %s shortcode om het te integreren met andere aanmeldingsformulieren.GebruikerGebruiker 'admin' of 'administrator' als BeheerderGebruikersactieGebruikersgebeurtenissenlogboekGebruikersrolGebruikersbeveiligingGebruiker kon niet geactiveerd worden.Gebruiker kon niet worden toegevoegdGebruiker kon niet worden verwijderd.Gebruiker kon niet worden uitgeschakeld.Gebruikersrollen voor wie het Rechtsklikken uit te schakelenGebruikersrollen voor wie het kopiëren/plakken moet worden uitgeschakeldGebruikersrollen voor wie de slepen-en-neerzetten moet worden uitgeschakeld.Gebruikersrollen voor wie de inspectie-element moet uitschakelen.Gebruikersrollen voor wie de broncode weergeven moet worden uitgeschakeld.Gebruikersrollen voor wie de beheerbalk moet worden verborgen.Gebruiker succesvol geactiveerd.Gebruiker succesvol aangemaakt.Gebruiker succesvol verwijderd.Gebruiker succesvol uitgeschakeld.Gebruiker succesvol bijgewerkt.Gebruikersnamen (in tegenstelling tot wachtwoorden) zijn niet geheim. Door iemands gebruikersnaam te kennen, kun je niet inloggen op hun account. Je hebt ook het wachtwoord nodig.

Echter, door de gebruikersnaam te kennen, ben je wel een stap dichterbij om in te loggen door de gebruikersnaam te gebruiken om het wachtwoord met brute kracht te achterhalen, of om op een vergelijkbare manier toegang te verkrijgen.

Daarom is het raadzaam om de lijst met gebruikersnamen privé te houden, op zijn minst tot op zekere hoogte. Standaard kun je door toegang te krijgen tot siteurl.com/?author={id} en door te lussen door ID's vanaf 1, een lijst met gebruikersnamen verkrijgen, omdat WP je zal doorverwijzen naar siteurl.com/author/user/ als het ID in het systeem bestaat.Het gebruik van een oude versie van MySQL maakt je site traag en kwetsbaar voor hacker aanvallen vanwege bekende kwetsbaarheden die aanwezig zijn in versies van MySQL die niet langer worden onderhouden.

Je hebt Mysql 5.4 of hoger nodig.Het gebruik van een oude versie van PHP maakt je site traag en kwetsbaar voor hacker aanvallen vanwege bekende kwetsbaarheden die aanwezig zijn in niet langer ondersteunde versies van PHP.

Je hebt PHP 7.4 of hoger nodig voor je website.OezbekistanGeldigWaardeVanuatuVenezuelaVersies in broncodeVietnamVietnameesBekijk detailsMaagdeneilanden, BritsMaagdeneilanden, V.S.W3 Total CacheWP KernbeveiligingWP Debug ModusWP EngineWP Fastest CacheWP RocketWP Super CacheWP Super Cache CDN gedetecteerd. Voeg alstublieft %s en %s paden toe in WP Super Cache > CDN > Inclusief mappen.WPBakery Page BuilderWPPluginsWallis en FutunaZwakke naam gedetecteerd: %s. Je moet een andere naam gebruiken om de beveiliging van je website te verhogen.WebsiteWestelijke SaharaWaar moeten de firewall-regels worden toegevoegd.WhitelistWhitelist IP-adressenWhitelist OptiesPaden op de whitelistWindows Live Writer is ingeschakeld.Veilige inloggen voor WooCommerceOndersteuning voor WooCommerceWoocommerceWoocommerce Magische LinkWordPress Database WachtwoordStandaardmachtigingen van WordPressWordPress BeveiligingscontroleWordPress-versieWordPress XML-RPC is een specificatie die tot doel heeft de communicatie tussen verschillende systemen te standaardiseren. Het maakt gebruik van HTTP als transportmechanisme en XML als coderingsmechanisme om een breed scala aan gegevens te kunnen verzenden.

De twee grootste troeven van de API zijn de uitbreidbaarheid en de beveiliging. XML-RPC authenticatie gebeurt met behulp van basisverificatie. Het stuurt de gebruikersnaam en het wachtwoord bij elke aanvraag mee, wat in beveiligingskringen als onveilig wordt beschouwd.WordPress en zijn plugins en thema's zijn net als andere software die op uw computer is geïnstalleerd, en net als elke andere applicatie op uw apparaten. Periodiek brengen ontwikkelaars updates uit die nieuwe functies bieden of bekende bugs oplossen.

Nieuwe functies kunnen iets zijn wat u niet per se wilt. Sterker nog, u bent misschien volkomen tevreden met de functionaliteit die u momenteel heeft. Toch kunt u zich nog steeds zorgen maken over bugs.

Softwarebugs kunnen in vele vormen en maten voorkomen. Een bug kan zeer ernstig zijn, zoals het voorkomen dat gebruikers een plugin kunnen gebruiken, of het kan een kleine bug zijn die slechts een bepaald deel van een thema beïnvloedt, bijvoorbeeld. In sommige gevallen kunnen bugs zelfs ernstige beveiligingslekken veroorzaken.

Het up-to-date houden van thema's is een van de belangrijkste en gemakkelijkste manieren om uw site veilig te houden.WordPress en zijn plugins en thema's zijn net als andere software die op uw computer is geïnstalleerd, en net als elke andere applicatie op uw apparaten. Periodiek brengen ontwikkelaars updates uit die nieuwe functies bieden of bekende bugs oplossen.

Deze nieuwe functies zijn mogelijk niet per se iets wat u wilt. Sterker nog, u bent misschien volkomen tevreden met de functionaliteit die u momenteel heeft. Toch bent u waarschijnlijk nog steeds bezorgd over bugs.

Softwarebugs kunnen in vele vormen en maten voorkomen. Een bug kan zeer ernstig zijn, zoals het voorkomen dat gebruikers een plugin kunnen gebruiken, of het kan klein zijn en slechts een bepaald deel van een thema beïnvloeden, bijvoorbeeld. In sommige gevallen kunnen bugs ernstige beveiligingslekken veroorzaken.

Het up-to-date houden van plugins is een van de belangrijkste en gemakkelijkste manieren om uw site veilig te houden.WordPress staat bekend om zijn eenvoudige installatie.
Het is belangrijk om de wp-admin/install.php en wp-admin/upgrade.php bestanden te verbergen, omdat er al een paar beveiligingsproblemen zijn geweest met betrekking tot deze bestanden.WordPress, plugins en thema's voegen hun versie-informatie toe aan de broncode, zodat iedereen het kan zien.

Hackers kunnen gemakkelijk een website vinden met kwetsbare versie-plugins of thema's en deze als doelwit nemen met Zero-Day Exploits.Wordfence BeveiligingWpEngine gedetecteerd. Voeg de redirects toe in het WpEngine Redirect-regels paneel %s.Onjuiste GebruikersnaambeveiligingXML-RPC BeveiligingXML-RPC toegang is ingeschakeldJemenJaJa, het werkt.Je hebt al een andere wp-content/uploads-map gedefinieerd in wp-config.php %s.Je kunt een enkel IP-adres blokkeren, zoals 192.168.0.1, of een reeks van 245 IP-adressen, zoals 192.168.0.*. Deze IP-adressen zullen geen toegang hebben tot de inlogpagina.Je kunt een nieuwe pagina maken en dan terugkomen om te kiezen om naar die pagina door te verwijzen.Je kunt %snew Keys genereren vanaf hier%s AUTH_KEY,SECURE_AUTH_KEY,LOGGED_IN_KEY,NONCE_KEY,AUTH_SALT,SECURE_AUTH_SALT,LOGGED_IN_SALT,NONCE_SALTJe kunt nu de optie '%s' uitschakelen.U kunt instellen om beveiligingswaarschuwingen per e-mail te ontvangen en gegevensverlies te voorkomen.Je kunt één IP-adres toevoegen aan de witte lijst, zoals 192.168.0.1, of een reeks van 245 IP-adressen, zoals 192.168.0.*. Vind je IP met %s.Je kunt zowel ADMIN als LOGIN niet dezelfde naam geven. Gebruik alsjeblieft verschillende namen.Je hebt geen toestemming om %s op deze server te openen.Je moet URL Rewrite activeren voor IIS om de permalinksstructuur te kunnen wijzigen naar een vriendelijke URL (zonder index.php). %sMeer details%sJe moet een positief aantal pogingen instellen.Je moet een positieve wachttijd instellen.Je moet de permanente koppelingstructuur instellen op een vriendelijke URL (zonder index.php).Je moet WordPress altijd bijwerken naar de %slaatste versies%s. Deze bevatten meestal de nieuwste beveiligingsupdates en veranderen WP niet op een significante manier. Deze moeten zo snel mogelijk worden toegepast zodra WP ze uitbrengt.

Wanneer er een nieuwe versie van WordPress beschikbaar is, ontvang je een updatebericht op je WordPress-beheerschermen. Om WordPress bij te werken, klik je op de link in dit bericht.Je moet elke week je website controleren om te zien of er wijzigingen zijn op het gebied van beveiliging.Uw %s %s-licentie is verlopen op %s %s. Om de beveiliging van uw website up-to-date te houden, zorg ervoor dat u een geldig abonnement heeft op %saccount.hidemywpghost.com%s.Uw IP-adres is gemarkeerd vanwege mogelijke beveiligingsschendingen. Probeer het over een tijdje opnieuw...Uw beheer-URL kan niet worden gewijzigd op %s hosting vanwege de %s beveiligingsvoorwaarden.Uw beheerders-URL is gewijzigd door een andere plugin/thema in %s. Om deze optie te activeren, schakel de aangepaste beheerder uit in de andere plugin of deactiveer deze.Uw login-URL is gewijzigd door een andere plugin/thema in %s. Om deze optie te activeren, schakel de aangepaste login uit in de andere plugin of deactiveer deze.Uw login-URL is: %sUw login-URL zal zijn: %s Als u niet kunt inloggen, gebruik dan de veilige URL: %sUw nieuwe wachtwoord is niet opgeslagen.Uw nieuwe site-URL's zijn:Uw websitebeveiliging %sis extreem zwak%s. %sVeel hackdeuren zijn beschikbaar.Uw websitebeveiliging %sis erg zwak%s. %sVeel hackmogelijkheden zijn beschikbaar.De beveiliging van uw website wordt steeds beter. %sZorg er alleen voor dat u alle beveiligingstaken voltooit.Uw websitebeveiliging is nog steeds zwak. %sSommige van de belangrijkste hackdeuren zijn nog steeds beschikbaar.Uw websitebeveiliging is sterk. %sBlijf elke week de beveiliging controleren.ZambiaZimbabweactiveer functiena eerste toegangreeds actiefdonkerstandaarddisplay_errors PHP directivebijv. *.colocrossing.combijv. /cart/Bijv. /cart/ zal alle paden die beginnen met /cart/ whitelisten.bijv. /afrekenen/Bijv. /post-type/ zal alle paden die beginnen met /post-type/ blokkeren.bijvoorbeeld acapbotbijvoorbeeld alexibotbijv. badsite.combijvoorbeeld gigabote.g. kanagawa.combijv. xanax.combijv.bijv. /logout ofbijv. adm, terugeg. ajax, jsoneg. aspect, sjablonen, stijlenbijv. opmerkingen, discussiebijv. kern, inc, bevatteneg. uitschakelen_url, veilige_urlbijv. afbeeldingen, bestandenbijv. json, api, oproepbv. bib, bibliotheekbijv. inloggen of aanmeldenbijv. uitloggen of verbrekeneg. wachtwoordverloren of wachtwoordvergeteneg. main.css, theme.css, design.cssbijv. moduleseg. multisite activeringslinkbv. nieuwegebruiker of registrerenbijv. profiel, gebruiker, schrijvervanhelphttps://hidemywp.comNegeer waarschuwing.install.php & upgrade.php bestanden zijn toegankelijk.lightlogboeklogsmeer detailsNiet aanbevolenalleen %d tekensofGeen overeenkomstMediumPassword strength unknownSterkZeer zwakZwakreCAPTCHA TestreCAPTCHA V2 TestreCAPTCHA V3 TestreCAPTCHA-taalreCaptcha-themaHet bestand readme.html is toegankelijk.aanbevolendoorverwijzingenZie functieStart functie-installatieEr is een nieuwe versie van de %s plugin beschikbaar.Kon niet bepalen of updates beschikbaar zijn voor %s.De %s plugin is bijgewerkt.totte simpelwp-config.php & wp-config-sample.php bestanden zijn toegankelijk.languages/hide-my-wp-pt_BR.mo000064400000463357147600042240012054 0ustar003)LSooeo pp pe:p%ppppPqhqXqTr>qr>rMr2=s)psBsEs#t tMtDuau eu ou}uu uu u uuePv)v v v v8w?xFxOxxyy0yJy%_yCyTyGz;fz5zLz%{{{L{"|<)|/f|%|||'|}7-}$e}R}!}}5~SQ~~~~,~':/7j3    . @XL+ р߀  $ ;'HpGdSrfjقD  4;8B { MW _k A ܅ %=E M ZePnΆֆކ T \ ftŇԇ6 Q] p|! ƈԈۈ (@]t ~ (I0zL~Fˊ7@S ϋ֋Y GRds Ō4%Q-w(J΍"6<ksdߎQDIUq6M 10;bCF5)_ekFm_Rgx/e@ ` l`xٕݕ  "#9,]ray_nٗpH' ej[^ƙ%B%HanК7ٚ  Y( 1ڛ. ;G[45؜&A͝ʞҞ۞(:Mg|(П %8Lc{@Р371ipv   šСء%@?*  Ǣ!Ӣ +#Fnj٣ "'Jb( ɤ/8!Jl$c $9[^%Ѧ)&!ZHP.O#0s/5Ԩ, 7}"v%/=mv)@F,;Hh87"( 7 AKT]DcF \ h n z ȮPׯ+ݯ ̰1԰ =N](sձuIDzвײ ̳޳bkU ʶֶ޶N 5CJ ft} nt{!ӹ% ?EV6;&M/}  ˻  t"Uc_Q^gexU޾d4f2m3)  =* * 5 ?7`;WUCO Fe'+   %/8 ?MTZ\w! KTYk${1"&)P?c2E]t 1%=Wl%""7AQyF(; P)^.5M;S&k:3UVWSTHWGfgk7  K  +5 =gI Yv!UIF8y`rxMqF8=8=~5Z6 ^M7^-RO-Q}PR s ]Bzhzf )2;B ^io4x    ( 4AH PZlt3#"9\{##7= JR+Z C *4 D N Ye@{=>%96_v  (2BQb{    .9_KR[dio!)$A@@( 6  );C JU\|7. - 8 CM gtY|   n H  + 1;AINQc~   . 5?Q9e#;Z go x R= JRcs| 2"1:@V]nw6~)  '0D  1B )GAXk88?x  "65Ul+ >->l1Yz9&+3=qy>12&>FY` + <5 -r )          +  E f         1 " 1 C 5J  %       -b @ R8O.6  $1?q5 g>C['q&<"% H Vc{   #   '6FN|/c ,   ' -9B Ycj?r954">W| 64 kw  /7<,t,aV`RHGu8]U4 !2A!/t!-! !J! >"J"Z"0p"k"h #<v# #B#%%.a&&Y)' ' ' 'T'u'uq((((F(7A)y)))))) )))*** *** **\o++++ +$,"(, K,LV,,., , ,--+-<@-}-0- -- - --..7.-S.,.+.1.- /,:/g/////c/U2:3 +464<4B4 J4T4l4 t4 44444 4 44 5 5i55 55W566 &6 G6 Q6_6q6666 6667#7<7N7:9>Q<?m@NAMaAAAAAAAP B\BKB6C!CCCt7DQD:D9E.E(EL!FnFRGDHaHODII$JJHJ%K9KPPKKK^KZLLILLLMM%M4M9MAM^M vM8MM>M N N%N 6NCNUNdNhN wNNNNNNNO"O3OGO`O${O OOOOOPP P.'PVP\P`P ePrP PPPP+PP Q(Q?QNQ`QrQQQ Q Q QQ=QE(R-nRR R9RRgUy(V VV%V`V!FW&hWW!WXW(XvXZYKzYKY[Z9nZ(ZBZ[[p[&[t\W\\ \ \ ] ]] 3] ?] K]W]w ^1^^^ ^b^K`R`Y`%a.a'Iaqaa7aSaj+b^bIbD?cPcc\d pdNzd-dPdJHe:e!e-e6f"UfMxf/ff,g&gAghhhh;h?iE[iViBi;jTj%njj!j jjj k]k:lkkk kkkkkl%l/4l"dl lSlqlnmmynnjozooo oooo>o oppp ppqq4qKqTbq q qqqq' r5r=rEr \rgraprr rrrrsssR$swsssss st%t,DtqtMttt uu u@uVu _ukuru(uu uu%uv1v Qv[vdv vvWw\wX`wFw xA x\Nx xx x#xxx yky yy yyyyyyy* z!8z1Zzz$z*z:z57{Wm{1{I{~A|s|W4}g}\}~Q~^~/ObA{F]`bEÀ ;5pqwZi>yR; ^  ",EM"]&7߅flӆr)ʈوZrۉNm sq 5 F Qg]!ŋ &"BI;1ȌaN\[ >'#&&J!q&Ӑ!&#Cg$? $ 1 P#q$Tؒ-K5g:ؓߓ% *1K P[o'w(Ȕ-K;_  -˕'">0aq#!('J3r +Ǘ:.AQ<p=&.JAn)5%D[^*;F)a\.kY<F1Nx6ǝ$s&9,fo0Se 4pWKRI  Ƣ Тڢ A@8yg   %,@ Yz9%!; 8M_%hb?Qݨmv!&ժ\ezL׮  &5HMd[d kv$ձ,DH_AƲIRi[ų  ;GWt~gpnqߵpQw¶r:gqs<~80 #պ޺ ]7]  #<λC &OVvUͼ#S+V 3#>W ľо ؾ  Ro(DMKj4'2=Z*./i"!& 3Rl!14'f#$$68)o1/C[?R5$ @+N6z:T'Ai+i<\j^H_SN[ll7@(  ^ 6BK St_  Q@hX:VMMhFpBJMg]  # .;YDD)!e?__ee['C^e myewO}h")2; DN ly ; '0K Zd{  4M5)%%7<]I2&;QZv Z  &5P\OQ4O?I ]k}# "@U es*  Fohpy3-G28KkIK MX g7q   ,*4_w 32    -;gD # {}_,;L R]clqv&&6:J! NNo Vgnw %bU5 ' &,SFf ~< 3!Uj| @ `"q  GV;;<x   /= Qm c E# i { _ 5  77 ko  k  s } V    . 7 L U Dr   Z A";d&$ [Bs8   $ = JUk%  4 -U L *2I e/` [h/P='D<)N%#?I y";4W(P"0< m {%    ) ( >I R^ grV4'# KY-a    G >` = : G!`!!="R"Y"u"" """%""$#3#M#Fa#<# # # #)$F$$f%^%F&mU()*r*<*+/b-7-:-6.$<.ia....%/)/c/B0S0Ws01{2A93{3k(4 4 4 4y415546:6C6QI6=666677&7,7;7Q7*81898X8j8q8 z88m%999 99*9994:aE: :7::+:(;#0;T;In;;6;; <+<@<%W<'}<&<(<P<8F=;=B=K=OJ>>>>>>>A B CCCC DD(D 0D ;DHDbD|D-DD DD DDiEqE EE_EF F%F?FTF pF F!FFF GG$0G UG(vGGGIPMP*QRiS(|SS!SSSSPSPT^TMU*UZVwVWW9iWW8@X2yXZXY`Z8[`[g?\\L]]Q]L^k^i^b^rU_t_[=`` ```````a 'ad3aaNa a bb #b0bBbQbVbnb}b bbbbbc+c@cWc%pc$c c"ccd$d'd-dBd<Qdddd ddddddde e#e)e 1/ qH& fBL bzVa*gMe, 'b$=" mTarxiDHqD&TgNu>"wzU#w%-Z-]%<dR9 k1^ALl\p2H-SFo+w5|dkQauW2K]A57:nR},|~)=I7^:W\I 8y oKD .}E !.</nM.z:YN6WR$58|Og,0;' |ZJ*@r3,4eyOsPJQui!R vS~MLGcV;cJhov QXE\M c: 2-+F4 Gsd%(SjIZs> P?atuj|Jxwi{[Y1*4@y.Dp7 5(<?8)lAt,XO2 9-i5v0GPSe{=t^~_[@$_%h*"#~/l^04; xCfl!9 ,(" 6E <Y6 U0>{*F vP]oZJXB_lgE'_!qd@p%p&kT(I\=Q1&[C 9Um#mjx3"sG:N'}yI)bnd`Uf+)h.'ctL3&C=j+rr]@n8Zc oK#;4EOQhKhKFV `}CM# `2DLjCS[ kV{6br?b3w!s_/\/1)N[<i/Ty?8z'XF;UH>.AxaP7qgTGB`p6  (O$qf3$ #1 Hack Prevention Security Solution: Hide WP CMS, 7G/8G Firewall, Brute Force Protection, 2FA, GEO Security, Temporary Logins, Alerts & more.%1$s is deprecated since version %2$s! Use %3$s instead. Please consider writing more inclusive code.%d %s ago%d %s remaining%s days since last update%s does not work without mode_rewrite. Please activate the rewrite module in Apache. %sMore details%s%s don't have the correct permission.%s is visible in source code%s path is accessible%s plugin(s) are outdated: %s%s plugin(s) have NOT been updated by their developers in the past 12 months: %s%s protects your website from most SQL injections but, if possible, use a custom prefix for database tables to avoid SQL injections. %sRead more%s%s rules are not saved in the config file and this may affect the website loading speed.%s theme(s) are outdated: %s%sClick here%s to create or view keys for Google reCAPTCHA v2.%sClick here%s to create or view keys for Google reCAPTCHA v3.%sERROR:%s Email or Password is incorrect. %s %d attempts left before lockout%sHide the login path%s from theme menu or widget.%sIncorrect ReCaptcha%s. Please try again%sNOTE:%s If you didn't receive the credentials, please access %s.%sYou failed to correctly answer the math problem.%s Please try again(* the plugin has no extra cost, gets installed / activated automatically inside WP when you click the button, and uses the same account)(multiple options are available)(useful when the theme is adding wrong admin redirects or infinite redirects)(works only with the custom admin-ajax path to avoid infinite loops)2FA2FA Login403 Forbidden403 HTML Error404 HTML Error404 Not Found404 page7G Firewall8G FirewallA feature designed to stops attacks from different countries, and to put an end to harmful activity that comes from specific regions.A thorough set of rules can prevent many types of SQL Injection and URL hacks from being interpreted.A user already exists with that username.API SecurityAPI SettingsAWS BitnamiAccording to %sGoogle latest stats%s, over %s 30k websites are hacked every day %s and %s over 30% of them are made in WordPress %s. %s It's better to prevent an attack than to spend a lot of money and time to recover your data after an attack not to mention the situation when your clients' data are stolen.ActionActivateActivate 'Must Use Plugin Loading' from 'Plugin Loading Hook' to be able to connect to your dashboard directly from managewp.com. %s click here %sActivate Brute Force ProtectionActivate Events LogActivate Log Users EventsActivate Temporary LoginsActivate Your PluginActivate info and logs for debugging.Activate the "Brute Force" option to see the user IP blocked reportActivate the "Log Users Events" option to see the user activity log for this websiteActivate the Brute Force protection for Woocommerce login/signup forms.Activate the Brute Force protection on lost password forms.Activate the Brute Force protection on sign up forms.Activate the firewall and prevent many types of SQL Injection and URL hacks.Activate the firewall and select the firewall strength that works for your website %s %s > Change Paths > Firewall & Headers %sActivation HelpAddAdd IP addresses that should always be blocked from accessing this website.Add Content-Security-Policy headerAdd Headers Security against XSS and Code Injection Attacks.Add IP addresses that can pass plugin security.Add IPs that can pass plugin securityAdd New Temporary LoginAdd New Temporary Login UserAdd Rewrites in WordPress Rules SectionAdd Security HeaderAdd Security Headers for XSS and Code Injection AttacksAdd Strict-Transport-Security headerAdd Two Factor security on login page with Code Scan or Email Code authentication.Add X-Content-Type-Options headerAdd X-XSS-Protection headerAdd a list of URLs you want to replace with new ones.Add a random static number to prevent frontend caching while the user is logged in.Add another CDN URLAdd another URLAdd another textAdd common WordPress classes in text mappingAdd paths that can pass plugin securityAdd paths that will be blocked for the selected countries.Add redirects for the logged users based on user roles.Add the CDN URLs you're using in the cache plugin. Admin PathAdmin SecurityAdmin ToolbarAdmin URLAdmin UsernameAdvancedAdvanced PackAdvanced SettingsAfghanistanAfter adding the classes, verify the frontend to ensure that your theme is not affected.After, click %sSave%s to apply the changes.Ajax SecurityAjax URLAland IslandsAlbaniaAlert Emails SentAlgeriaAll ActionsAll In One WP SecurityAll WebsitesAll files have the correct permissions.All plugins are compatibleAll plugins are up to dateAll plugins have been updated by their developers in the past 12 monthsAll the logs are saved on Cloud for 30 days and the report is available if your website is attacked.Allow Hidden PathsAllow users to log in to WooCommerce account using their email address and a unique login URL delivered via email.Allow users to log in to the website using their email address and a unique login URL delivered via email.Allowing anyone to view all files in the Uploads folder with a browser will allow them to easily download all your uploaded files. It's a security and a copyright issue.American SamoaAndorraAngolaAnguillaAntarcticaAntigua and BarbudaApacheArabicAre you sure you want to ignore this task in the future?ArgentinaArmeniaArubaAttention! Some URLs passed through the config file rules and were loaded through WordPress rewrite which may slow down your website. %s Please follow this tutorial to fix the issue: %sAustraliaAustriaAuthor PathAuthor URL by ID accessAuto DetectAutodetectAutomatically redirect the logged in users to the admin dashboardAutoptimizerAzerbaijanBackend under SSLBackup SettingsBackup/RestoreBackup/Restore SettingsBahamasBahrainBan durationBangladeshBarbadosBe sure to include only internal URLs, and use relative paths whenever possible.Beaver BuilderBelarusBelgiumBelizeBeninBermudaBest regardsBhutanBitnami detected. %sPlease read how to make the plugin compatible with AWS hosting%sBlacklistBlacklist IPsBlank Screen On DebuggingBlock CountriesBlock HostnamesBlock IP on login pageBlock ReferrerBlock Specific PathsBlock Theme Detectors CrawlersBlock User AgentsBlock known Users-Agents from popular Theme Detectors.Blocked IPsBlocked IPs ReportBlocked by BoliviaBonaire, Saint Eustatius and SabaBosnia and HerzegovinaBotswanaBouvet IslandBrazilBritish EnglishBritish Indian Ocean TerritoryBrunei DarussalamBrute ForceBrute Force IPs BlockedBrute Force Login ProtectionBrute Force ProtectionBrute Force SettingsBulgariaBulgarianBulletProof plugin! Make sure you save the settings in %s after activating Root Folder BulletProof Mode in BulletProof plugin.Burkina FasoBurundiBy activating, you agree to our %s Terms of Use %s and %sPrivacy Policy%sCDNCDN Enabled detected. Please include %s and %s paths in CDN Enabler SettingsCDN Enabler detected! Learn how to configure it with %s %sClick here%sCDN URLsCONNECTION ERROR! Make sure your website can access: %sCache CSS, JS and Images to increase the frontend loading speed.Cache EnablerCambodiaCameroonCan't download the plugin.CanadaCanadian FrenchCancelCancel the login hooks from other plugins and themes to prevent unwanted login redirects.Cape VerdeCatalan ValencianCayman IslandsCentral African RepublicChadChangeChange OptionsChange PathsChange Paths NowChange Paths for Logged UsersChange Paths in Ajax CallsChange Paths in Cached FilesChange Paths in RSS feedChange Paths in Sitemaps XMLChange Relative URLs to Absolute URLsChange WordPress paths while you're logged inChange paths in RSS feed for all images.Change paths in Sitemap XML files and remove the plugin author and styles.Change the Tagline in %s > %s > %sChange the WordPress common paths in the cached files.Change the signup path from %s %s > Change Paths > Custom Register URL%s or uncheck the option %s > %s > %sChange the text in all CSS and JS files, including those in cached files generated by cache plugins.Change the user 'admin' or 'administrator' with another name to improve security.Change the wp-config.php file permission to Read-Only using File Manager.Change the wp-content, wp-includes and other common paths with %s %s > Change Paths%sChange the wp-login from %s %s > Change Paths > Custom login URL%s and Switch on %s %s > Brute Force Protection%sChanging the predefined security headers may affect the website funtionality.Check Frontend PathsCheck Your WebsiteCheck for updatesCheck if the website paths are working correctly.Check if your website is secured with the current settings.Check the %s RSS feed %s and make sure the image paths are changed.Check the %s Sitemap XML %s and make sure the image paths are changed.Check the website loading speed with %sPingdom Tool%sChileChinaChoose a proper database password, at least 8 characters long with a combination of letters, numbers and special characters. After you change it, set the new password in the wp-config.php file define('DB_PASSWORD', 'NEW_DB_PASSWORD_GOES_HERE');Choose the countries where access to the website should be restricted.Choose the type of server you are using to get the most suitable configuration for your server.Chose what to do when accessing from whitelist IP addresses and whitelisted paths.Christmas IslandClean Login PageClick %sContinue%s to set the predefined paths.Click Backup and the download will start automatically. You can use the Backup for all your websites.Click to run the process to change the paths in the cache files.Close ErrorCloud PanelCloud Panel detected. %sPlease read how to make the plugin compatible with Cloud Panel hosting%sCntCocos (Keeling) IslandsColombiaComments PathComorosCompatibilityCompatibility SettingsCompatibility with Manage WP pluginCompatibility with Token Based Login pluginsCompatible with All In One WP Security plugin. Use them together for Virus Scan, Firewall, Brute Force protection.Compatible with JCH Optimize Cache plugin. Works with all the options to optimize for CSS and JS.Compatible with Solid Security plugin. Use them together for Site Scanner, File Change Detection, Brute Force Protection.Compatible with Sucuri Security plugin. Use them together for Virus Scan, Firewall, File Integrity Monitoring.Compatible with Wordfence Security plugin. Use them together for Malware Scan, Firewall, Brute Force protection.Compatible with all themes and plugins.Complete FixConfigConfig file is not writable. Create the file if not exists or copy to %s file the following lines: %sConfig file is not writable. Create the file if not exists or copy to %s file with the following lines: %sConfig file is not writable. You have to added it manually at the beginning of the %s file: %sConfirm use of weak passwordCongoCongo, The Democratic Republic of theCongratulations! You completed all the security tasks. Make sure you check your site once a week.ContinueConvert links like /wp-content/* into %s/wp-content/*.Cook IslandsCopy LinkCopy the %s SAFE URL %s and use it to deactivate all the custom paths if you can't login.Core Contents PathCore Includes PathCosta RicaCote dIvoireCould not detect the userCould not fix it. You need to change it manually.Could not found anything based on your search.Could not login with this user.Could not rename table %1$s. You may have to rename the table manually.Could not update prefix references in options table.Could not update prefix references in usermeta table.Country BlockingCreateCreate New Temporary LoginCreate a temporary login URL with any user role to access the website dashboard without username and password for a limited period of time.Create a temporary login URL with any user role to access the website dashboard without username and password for a limited period of time. %s This is useful when you need to give admin access to a developer for support or for performing routine tasks.CroatiaCroatianCubaCuracaoCustom Activation PathCustom Admin PathCustom Cache DirectoryCustom Login PathCustom Logout PathCustom Lost Password PathCustom Register PathCustom Safe URL ParamCustom admin-ajax PathCustom author PathCustom comment PathCustom message to show to blocked users.Custom plugins PathCustom theme style nameCustom themes PathCustom uploads PathCustom wp-content PathCustom wp-includes PathCustom wp-json PathCustomize & Secure all WordPress paths from hacker bots attacks.Customize Plugin NamesCustomize Theme NamesCustomize the CSS and JS URLs in your website body.Customize the IDs and Class names in your website body.CyprusCzechCzech RepublicDB Debug ModeDanishDashboardDatabase PrefixDateDeactivatedDebug ModeDefaultDefault Redirect After LoginDefault Temporary Expire TimeDefault User RoleDefault WordPress TaglineDefault user role for which the temporary login will be created.Delete Temporary Users on Plugin UninstallDelete userDenmarkDetailsDirectoriesDisable "rest_route" param accessDisable Click MessageDisable CopyDisable Copy/PasteDisable Copy/Paste MessageDisable Copy/Paste for Logged UsersDisable DISALLOW_FILE_EDIT for live websites in wp-config.php define('DISALLOW_FILE_EDIT', true);Disable Directory BrowsingDisable Drag/Drop ImagesDisable Drag/Drop MessageDisable Drag/Drop for Logged UsersDisable Inspect ElementDisable Inspect Element MessageDisable Inspect Element for Logged UsersDisable OptionsDisable PasteDisable REST API accessDisable REST API access for not logged in usersDisable REST API access using the parameter 'rest_route'Disable RSD Endpoint from XML-RPCDisable Right-ClickDisable Right-Click for Logged UsersDisable SCRIPT_DEBUG for live websites in wp-config.php define('SCRIPT_DEBUG', false);Disable View SourceDisable View Source MessageDisable View Source for Logged UsersDisable WP_DEBUG for live websites in wp-config.php define('WP_DEBUG', false);Disable XML-RPC accessDisable copy function on your websiteDisable image drag & drop on your websiteDisable paste function on your websiteDisable the RSD (Really Simple Discovery) support for XML-RPC & remove RSD tag from headerDisable the access to /xmlrpc.php to prevent %sBrute force attacks via XML-RPC%sDisable the copy/paste action on your website.Disable the external calls to xml-rpc.php file and prevent Brute Force attacks.Disable the inspect element view on your websiteDisable the right-click action on your website.Disable the right-click functionality on your websiteDisable the source-code view on your websiteDisplaying any kind of debug info in the frontend is extremely bad. If any PHP errors happen on your site they should be logged in a safe place and not displayed to visitors or potential attackers.DjiboutiDo Login & Logout RedirectsDo not log out from this browser until you are confident that the Log in page is working and you will be able to login again.Do not logout from your account until you are confident that reCAPTCHA is working and you will be able to login again.Do you want to delete temporary user?Do you want to restore the last saved settings?DominicaDominican RepublicDon't forget to reload the Nginx service.Don't let URLs like domain.com?author=1 show the user login nameDon't let hackers see any directory content. See %sUploads Directory%sDon't load Emoji Icons if you don't use themDon't load WLW if you didn't configure Windows Live Writer for your siteDon't load oEmbed service if you don't use oEmbed videosDon't select any role if you want to log all user rolesDone!Download DebugDrupal 10Drupal 11Drupal 8Drupal 9DutchERROR! Please make sure you use a valid token to activate the pluginERROR! Please make sure you use the right token to activate the pluginEcuadorEdit UserEdit userEdit wp-config.php and add ini_set('display_errors', 0); at the end of the fileEgyptEl SalvadorElementorEmailEmail AddressEmail NotificationEmail address already existsEmail your hosting company and tell them you'd like to switch to a newer version of MySQL or move your site to a better hosting companyEmail your hosting company and tell them you'd like to switch to a newer version of PHP or move your site to a better hosting company.EmptyEmpty ReCaptcha. Please complete reCaptcha.Empty email addressEnabling this option may slow down the website, as CSS and JS files will load dynamically instead of through rewrites, allowing the text within them to be modified as needed.EnglishEnter the 32 chars token from Order/Licence on %sEquatorial GuineaEritreaError! No backup to restore.Error! The backup is not valid.Error! The new paths are not loading correctly. Clear all cache and try again.Error! The preset could not be restored.Error: You entered the same URL twice in the URL Mapping. We removed the duplicates to prevent any redirect errors.Error: You entered the same text twice in the Text Mapping. We removed the duplicates to prevent any redirect errors.EstoniaEthiopiaEuropeEven if the default paths are protected by %s after customization, we recommend setting the correct permissions for all directories and files on your website, use File Manager or FTP to check and change the permissions. %sRead more%sEvents LogEvents Log ReportEvents Log SettingsEvery good developer should turn on debugging before getting started on a new plugin or theme. In fact, the WordPress Codex 'highly recommends' that developers use SCRIPT_DEBUG. Unfortunately, many developers forget the debug mode even when the website is live. Showing debug logs in the frontend will let hackers know a lot about your WordPress website.Every good developer should turn on debugging before getting started on a new plugin or theme. In fact, the WordPress Codex 'highly recommends' that developers use WP_DEBUG.

Unfortunately, many developers forget the debug mode, even when the website is live. Showing debug logs in the frontend will let hackers know a lot about your WordPress website.Example:Expire TimeExpiredExpiresExposing the PHP version will make the job of attacking your site much easier.Fail AttemptsFailedFalkland Islands (Malvinas)Faroe IslandsFeaturesFeed & SitemapFeed SecurityFijiFile PermissionsFile permissions in WordPress play a critical role in website security. Properly configuring these permissions ensures that unauthorized users cannot gain access to sensitive files and data.
Incorrect permissions can inadvertently open your website to attacks, making it vulnerable.
As a WordPress administrator, understanding and correctly setting file permissions are essential for safeguarding your site against potential threats.FilesFilterFinlandFirewallFirewall & HeadersFirewall Against Script InjectionFirewall LocationFirewall StrengthFirewall against injections is loadedFirst NameFirst, you need to activate the %sSafe Mode%s or %sGhost Mode%sFirst, you need to activate the %sSafe Mode%s or %sGhost Mode%s in %sFix PermissionsFix itFix permission for all directories and files (~ 1 min)Fix permission for the main directories and files (~ 5 sec)FlywheelFlywheel detected. Add the redirects in the Flywheel Redirect rules panel %s.Folder %s is browsableForbiddenFranceFrenchFrench GuianaFrench PolynesiaFrench Southern TerritoriesFrom: %s <%s>Front pageFrontend Login TestFrontend TestFully compatible with Autoptimizer cache plugin. Works best with the the option Optimize/Aggregate CSS and JS files.Fully compatible with Beaver Builder plugin. Works best together with a cache plugin.Fully compatible with Cache Enabler plugin. Works best with the the option Minify CSS and JS files.Fully compatible with Elementor Website Builder plugin. Works best together with a cache pluginFully compatible with Fusion Builder plugin by Avada. Works best together with a cache plugin.Fully compatible with Hummingbird cache plugin. Works best with the the option Minify CSS and JS files.Fully compatible with LiteSpeed Cache plugin. Works best with the the option Minify CSS and JS files.Fully compatible with Oxygen Builder plugin. Works best together with a cache plugin.Fully compatible with W3 Total Cache plugin. Works best with the the option Minify CSS and JS files.Fully compatible with WP Fastest Cache plugin. Works best with the the option Minify CSS and JS files.Fully compatible with WP Super Cache cache plugin.Fully compatible with WP-Rocket cache plugin. Works best with the the option Minify/Combine CSS and JS files.Fully compatible with Woocommerce plugin.Fusion BuilderGabonGambiaGeneralGeo SecurityGeographic Security is a feature designed to stops attacks from different countries, and to put an end to harmful activity that comes from specific regions.GeorgiaGermanGermanyGhanaGhost ModeGhost Mode + Firewall + Brute Force + Events Log + Two factorGhost Mode will set these predefined pathsGhost modeGibraltarGive random names to each pluginGive random names to each theme (works in WP multisite)Global class name detected: %s. Read this article first: %sGo to Events Log PanelGo to the Dashboard > Appearance section and update all the themes to the last version.Go to the Dashboard > Plugins section and update all the plugins to the last version.GodaddyGodaddy detected! To avoid CSS errors, make sure you switch off the CDN from %sGoodGoogle reCAPTCHA V2Google reCAPTCHA V3Google reCaptcha V3 is not working with the current login form of %s .Great! The backup is restored.Great! The initial values are restored.Great! The new paths are loading correctly.Great! The preset was loaded.GreeceGreekGreenlandGrenadaGuadeloupeGuamGuatemalaGuernseyGuineaGuinea-BissauGuyanaHaitiHaving the admin URL visible in the source code it's awful because hackers will immediately know your secret admin path and start a Brute Force attack. The custom admin path should not appear in the ajax URL.

Find solutions for %s how to hide the path from source code %s.Having the login URL visible in the source code is awful because hackers will immediately know your secret login path and start a Brute Force attack.

The custom login path should be kept secret, and you should have Brute Force Protection activated for it.

Find solutions for %s hiding the login path from source code here %s.Having this PHP directive enabled will leave your site exposed to cross-site attacks (XSS).

There's absolutely no valid reason to enable this directive, and using any PHP code that requires it is very risky.Header SecurityHeaders & FirewallHeard Island and McDonald IslandsHebrewHelp & FAQsHere is the list of select counties where your website will be restricted..HideHide "login" PathHide "wp-admin"Hide "wp-admin" From Non-Admin UsersHide "wp-login.php"Hide /login path from visitors.Hide /wp-admin path from non-administrator users.Hide /wp-admin path from visitors.Hide /wp-login.php path from visitors.Hide Admin ToolbarHide Admin Toolbar for users roles to prevent dashboard access.Hide All The PluginsHide Author ID URLHide Common FilesHide Embed scriptsHide EmojiconsHide Feed & Sitemap Link TagsHide File ExtensionsHide HTML CommentsHide IDs from META TagsHide Language SwitcherHide My WP GhostHide OptionsHide Paths in Robots.txtHide Plugin NamesHide REST API URL linkHide Theme NamesHide Version from Images, CSS and JS in WordPressHide Versions from Images, CSS and JSHide WLW Manifest scriptsHide WP Common FilesHide WP Common PathsHide WordPress Common FilesHide WordPress Common PathsHide WordPress DNS Prefetch META TagsHide WordPress Generator META TagsHide WordPress Old Plugins PathHide WordPress Old Themes PathHide WordPress common paths from %s Robots.txt %s file.Hide WordPress paths such as wp-admin, wp-content, and more from robots.txt file.Hide all versions from the end of any Image, CSS and JavaScript files.Hide both active and deactivated pluginsHide completed tasksHide passwordHide the /feed and /sitemap.xml link TagsHide the DNS Prefetch that points to WordPressHide the HTML Comments left by the themes and pluginsHide the IDs from all <links>, <style>, <scripts> META TagsHide the New Admin PathHide the New Login PathHide the WordPress Generator META tagsHide the admin toolbar for logged users while in frontend.Hide the language switcher option on the login pageHide the new admin path from visitors. Show the new admin path only for logged users.Hide the new login path from visitors. Show the new login path only for direct access.Hide the old /wp-content, /wp-include paths once they are changed with the new onesHide the old /wp-content, /wp-include paths once they are changed with the new ones.Hide the old /wp-content/plugins path once it's changed with the new oneHide the old /wp-content/themes path once it's changed with the new oneHide wp-admin from Ajax URLHide wp-config.php , wp-config-sample.php, readme.html, license.txt, upgrade.php and install.php filesHide wp-config.php, wp-config-sample.php, readme.html, license.txt, upgrade.php and install.php files..Hide wp-json & ?rest_route link tag from website headerHiding the ID from meta tags in WordPress can potentially impact the caching process of plugins that rely on identifying the meta tags.HindiHoly See (Vatican City State)HondurasHong KongHostnameHow long the temporary login will be available after the user first access.HummingbirdHungarianHungaryIIS WindowsIIS detected. You need to update your %s file by adding the following lines after <rules> tag: %sIPIP BlockedIcelandIf the reCAPTCHA displays any error, please make sure you fix them before moving forward.If the rewrite rules are not loading correctly in the config file, do not load the plugin and do not change the paths.If you are connected with the admin user, you will have to re-login after the change.If you can't configure %s, switch to Deactivated Mode and %scontact us%s.If you can't configure reCAPTCHA, switch to Math reCaptcha protection.If you do not have an e-commerce, membership or guest posting website, you shouldn't let users subscribe to your blog. You will end up with spam registrations and your website will be filled with spammy content and comments.If you have access to php.ini file, set allow_url_include = off or contact the hosting company to set it offIf you have access to php.ini file, set expose_php = off or contact the hosting company to set it offIf you have access to php.ini file, set register_globals = off or contact the hosting company to set it offIf you have access to php.ini file, set safe_mode = off or contact the hosting company to set it offIf you notice any functionality issue please select the %sSafe Mode%s.If you're able to log in, you've set the new paths correctly.If you're able to login, you've set reCAPTCHA correctly.If you're not using Windows Live Writer there's really no valid reason to have its link in the page header, because this tells the whole world you're using WordPress.If you're not using any Really Simple Discovery services such as pingbacks, there's no need to advertise that endpoint (link) in the header. Please note that for most sites this is not a security issue because they "want to be discovered", but if you want to hide the fact that you're using WP, this is the way to go.If your site allows user logins, you need your login page to be easy to find for your users. You also need to do other things to protect against malicious login attempts.

However, obscurity is a valid security layer when used as part of a comprehensive security strategy, and if you want to cut down on the number of malicious login attempts. Making your login page difficult to find is one way to do that.Ignore security taskImmediately block incorrect usernames on login forms.In .htaccess fileIn the old days, the default WordPress admin username was 'admin' or 'administrator'. Since usernames make up half of the login credentials, this made it easier for hackers to launch brute-force attacks.

Thankfully, WordPress has since changed this and now requires you to select a custom username at the time of installing WordPress.Indeed Ultimate Membership Pro detected. The plugin doesn't support custom %s paths as it doesn't use WordPress functions to call the Ajax URLIndiaIndonesiaIndonesianInfoInmotionInmotion detected. %sPlease read how to make the plugin compatible with Inmotion Nginx Cache%sInstall/ActivateIntegration with other CDN plugins and custom CDN URLs.Invalid ReCaptcha. Please complete reCaptcha.Invalid email addressInvalid name detected: %s. Add only the final path name to avoid WordPress errors.Invalid name detected: %s. The name can't end with / to avoid WordPress errors.Invalid name detected: %s. The name can't start with / to avoid WordPress errors.Invalid name detected: %s. The paths can't end with . to avoid WordPress errors.Invalid name detected: %s. You need to use another name to avoid WordPress errors.Invalid username.Iran, Islamic Republic ofIraqIrelandIsle of ManIsraelIt's important to %s save your settings every time you change them %s. You can use the backup to configure other websites you own.It's important to hide or remove the readme.html file because it contains WP version details.It's important to hide the common WordPress paths to prevent attacks on vulnerable plugins and themes.
Also, it's important to hide the names of plugins and themes to make it impossible for bots to detect them.It's important to rename common WordPress paths, such as wp-content and wp-includes to prevent hackers from knowing that you have a WordPress website.It's not safe to have Database Debug turned on. Make sure you don't use Database debug on live websites.ItalianItalyJCH Optimize CacheJamaicaJananeseJapanJavascript is disabled on your browser! You need to activate the javascript in order to use %s plugin.JerseyJoomla 3Joomla 4Joomla 5JordanJust another WordPress siteKazakhstanKenyaKiribatiKnow what the other users are doing on your website.KoreanKosovoKuwaitKyrgyzstanLanguageLao Peoples Democratic RepublicLast 30 days Security StatsLast AccessLast NameLast check:Late LoadingLatviaLatvianLearn HowLearn How To Add the CodeLearn how to disable %sDirectory Browsing%s or switch on %s %s > Change Paths > Disable Directory Browsing%sLearn how to set your website as %s. %sClick Here%sLearn how to setup on Local & NginxLearn how to setup on Nginx serverLearn how to use the shortcodeLearn more aboutLearn more about %s 7G firewall %s.Learn more about %s 8G firewall %s.Leave it blank if you don't want to display any messageLeave it blank to block all paths for the selected countries.LebanonLesothoLet's take your security to the next level!Level of SecurityLevels of securityLiberiaLibyan Arab JamahiriyaLicence TokenLiechtensteinLimit the number of allowed login attempts using normal login form.LiteSpeedLiteSpeed CacheLithuaniaLithuanianLoad PresetLoad Security PresetsLoad after all plugins are loaded. On "template_redirects" hook.Load before all plugins are loaded. On "plugins_loaded" hook.Load custom language is WordPress local language is installed.Load the plugin as a Must Use plugin.Load when the plugins are initialized. On "init" hook.Local & NGINX detected. In case you didn't add the code in the NGINX config already, please add the following line. %sLocal by FlywheelLocationLock userLockout MessageLog User RolesLog Users EventsLogin & Logout RedirectsLogin Blocked by Login PathLogin Redirect URLLogin SecurityLogin TestLogin URLLogout Redirect URLLost Password Form ProtectionLuxembourgMacaoMadagascarMagic Link LoginMake sure the redirect URLs exist on your website. %sThe User Role redirect URL has higher priority than the Default redirect URL.Make sure you know what you do when changing the headers.Make sure you save the settings and empty the cache before checking your website with our tool.MalawiMalaysiaMaldivesMaliMaltaManage Brute Force ProtectionManage Login and Logout RedirectsManage whitelist & blacklist IP addressesManually block/unblock IP addresses.Manually customize each plugin name and overwrite the random nameManually customize each theme name and overwrite the random nameManually whitelist trusted IP addresses.MappingMarshall IslandsMartiniqueMath & Google reCaptcha verification while logging in.Math reCAPTCHAMauritaniaMauritiusMax fail attemptsMayotteMediumMembershipMexicoMicronesia, Federated States ofMinimalMinimal (No Config Rewrites)Moldova, Republic ofMonacoMongoliaMonitor everything that happens on your WordPress site!Monitor, track and log events on your website.MontenegroMontserratMore HelpMore information about %sMore optionsMoroccoMost WordPress installations are hosted on the popular Apache, Nginx and IIS web servers.MozambiqueMust Use Plugin LoadingMy AccountMyanmarMysql VersionNGINX detected. In case you didn't add the code in the NGINX config already, please add the following line. %sNameNamibiaNauruNepalNetherlandsNew CaledoniaNew Login DataNew Plugin/Theme detected! Update %s settings to hide it. %sClick here%sNew ZealandNext StepsNginxNicaraguaNigerNigeriaNiueNoNo CMS SimulationNo Recent Updates ReleasedNo blacklisted ipsNo log found.No temporary logins.No, abortNo. of secondsNorfolk IslandNormal LoadingNormally, the option to block visitors from browsing server directories is activated by the host through server configuration, and activating it twice in the config file may cause errors, so it's best to first check if the %sUploads Directory%s is visible.North KoreaNorth Macedonia, Republic ofNorthern Mariana IslandsNorwayNorwegianNot yet logged inNote that this option won't activate the CDN for your website, but it will update the custom paths if you've already set a CDN URL with another plugin.Note! %sPaths are NOT physically change%s on your server.Note! The plugin will use WP cron to change the paths in background once the cache files are created.Note: If you can`t login to your site, just access this URLNotification SettingsOkay, I set it upOmanOn website initializationOnce you bought the plugin, you will receive the %s credentials for your account by email.One DayOne HourOne MonthOne WeekOne YearOne of the most important files in your WordPress installation is the wp-config.php file.
This file is located in the root directory of your WordPress installation and contains your website's base configuration details, such as database connection information.Only change this option if the plugin fails to identify the server type correctly.Optimize CSS and JS filesOption to inform user about remaining attempts on login page.OptionsOutdated PluginsOutdated ThemesOverviewOxygenPHP VersionPHP allow_url_include is onPHP expose_php is onPHP register_globals is onPHP safe mode was one of the attempts to solve security problems of shared web hosting servers.

It is still being used by some web hosting providers, however, nowadays this is regarded as improper. A systematic approach proves that it’s architecturally incorrect to try solving complex security issues at the PHP level, rather than at the web server and OS levels.

Technically, safe mode is a PHP directive that restricts the way some built-in PHP functions operate. The main problem here is inconsistency. When turned on, PHP safe mode may prevent many legitimate PHP functions from working correctly. At the same time there exists a variety of methods to override safe mode limitations using PHP functions that aren’t restricted, so if a hacker has already got in – safe mode is useless.PHP safe_mode is onPage Not FoundPakistanPalauPalestinian TerritoryPanamaPapua New GuineaParaguayPassedPath not allowed. Avoid paths like plugins and themes.Paths & OptionsPaths changed in the existing cache filesPause for 5 minutesPermalinksPersianPeruPhilippinesPitcairnPlease be aware that if you do not consent to storing data on our Cloud, we kindly request that you refrain from activating this feature.Please visit %s to check your purchase and to get the license token.Plugin Loading HookPlugins PathPlugins SecurityPlugins SettingsPlugins that have not been updated in the last 12 months can have real security problems. Make sure you use updated plugins from WordPress Directory.Plugins/Themes editor disabledPolandPolishPortugalPortuguesePreset SecurityPrevent Broken Website LayoutPriority LoadingProtects your WooCommerce shop against brute force login attacks.Protects your website against Brute Force login attacks using %s A common threat web developers face is a password-guessing attack known as a Brute Force attack. A Brute Force attack is an attempt to discover a password by systematically trying every possible combination of letters, numbers, and symbols until you discover the one correct combination that works.Protects your website against Brute Force login attacks.Protects your website against brute force login attacks.Prove your humanity:Puerto RicoQatarQuick FixRDS is visibleRandom Static NumberReactivate user for 1 dayRedirect After LoginRedirect Hidden PathsRedirect Logged Users To DashboardRedirect temporary users to a custom page after login.Redirect the protected paths /wp-admin, /wp-login to a Page or trigger an HTML Error.Redirect user to a custom page after login.RedirectsRemoveRemove PHP version, Server info, Server Signature from header.Remove Plugins Authors & Style in Sitemap XMLRemove Unsafe HeadersRemove pingback link tag from the website header.Rename readme.html file or switch on %s %s > Change Paths > Hide WordPress Common Files%sRename wp-admin/install.php & wp-admin/upgrade.php files or switch on %s %s > Change Paths > Hide WordPress Common Paths%sRenewResetReset SettingsResolving hostnames may affect the website loading speed.Restore BackupRestore SettingsResume SecurityReunionRobots SecurityRoleRollback SettingsRollback all the plugin settings to initial values.RomaniaRomanianRun %s Frontend Test %s to check if the new paths are working.Run %s Login Test %s and log in inside the popup.Run %sreCAPTCHA Test%s and login inside the popup.Run Full Security CheckRussianRussian FederationRwandaSSL is an abbreviation used for Secure Sockets Layers, which are encryption protocols used on the internet to secure information exchange and provide certificate information.

These certificates provide an assurance to the user about the identity of the website they are communicating with. SSL may also be called TLS or Transport Layer Security protocol.

It's important to have a secure connection for the Admin Dashboard in WordPress.Safe ModeSafe Mode + Firewall + Brute Force + Events Log + Two factorSafe Mode + Firewall + Compatibility SettingsSafe Mode will set these predefined pathsSafe URL:Safe modeSaint BartelemeySaint HelenaSaint Kitts and NevisSaint LuciaSaint MartinSaint Pierre and MiquelonSaint Vincent and the GrenadinesSalts and Security Keys validSamoaSan MarinoSao Tome and PrincipeSaudi ArabiaSaveSave Debug LogSave UserSavedSaved! This task will be ignored on future tests.Saved! You can run the test again.Script Debug ModeSearchSearch in user events log and manage the email alertsSecret KeySecret keys for %sGoogle reCAPTCHA%s.Secure WP PathsSecurity CheckSecurity Keys UpdatedSecurity StatusSecurity keys are defined in wp-config.php as constants on lines. They should be as unique and as long as possible. AUTH_KEY,SECURE_AUTH_KEY,LOGGED_IN_KEY,NONCE_KEY,AUTH_SALT,SECURE_AUTH_SALT,LOGGED_IN_SALT,NONCE_SALTSecurity keys are used to ensure better encryption of information stored in the user's cookies and hashed passwords.

These make your site more difficult to hack, access and crack by adding random elements to the password. You don't have to remember these keys. In fact, once you set them you'll never see them again. Therefore, there's no excuse for not setting them properly.See the last days actions on this website ...Select PresetSelect User RolesSelect a preset security settings we've tested on most websites.Select allSelect how long the temporary login will be available after the first user access.Select the file extensions you want to hide on old pathsSelect the files you want to hide on old pathsSelected CountriesSend me an email with the changed admin and login URLsSenegalSerbiaSerbianServer TypeSet Custom Cache DirectorySet Login & Logout Redirects based on User Roles.Set the current user role.Set the website you want this user to be created for.SettingsSeychellesShort name detected: %s. You need to use unique paths with more than 4 chars to avoid WordPress errors.ShowShow /%s instead of /%sShow Advanced OptionsShow Default Paths & Allow Hidden PathsShow Defaults Paths & Allow EverythingShow blank screen when Inspect Element is active on browser.Show completed tasksShow ignored tasksShow message instead of login formShow passwordSierra LeoneSign Up Form ProtectionSimplified ChineseSimulate CMSSingaporeSint MaartenSite keySite keys for %sGoogle reCaptcha%s.SiteGroundSitemap SecuritySix MonthsSlovakSlovakiaSloveneSloveniaSolid SecuritySolomon IslandsSomaliaSome plugins may remove custom rewrite rules from the .htaccess file, especially if it's writable, which can affect the functionality of custom paths..Some themes don't work with custom Admin and Ajax paths. In case of ajax errors, switch back to wp-admin and admin-ajax.php.Sorry, you are not allowed to access this page.South AfricaSouth Georgia and the South Sandwich IslandsSouth KoreaSpainSpammers can easily signupSpanishSri LankaStart ScanSucuri SecuritySudanSuper AdminSurinameSvalbard and Jan MayenSwazilandSwedenSwedishSwitch on %s %s > Change Paths > Hide WordPress Common Paths%sSwitch on %s %s > Change Paths > Disable XML-RPC access%sSwitch on %s %s > Change Paths > Hide Author ID URL%sSwitch on %s %s > Change Paths > Hide RSD Endpoint%sSwitch on %s %s > Change Paths > Hide WordPress Common Files%sSwitch on %s %s > Change Paths > Hide wp-admin from ajax URL%s. Hide any reference to admin path from the installed plugins.Switch on %s %s > Tweaks > %s %sSwitch on %s %s > Tweaks > Hide WLW Manifest scripts%sSwitzerlandSyrian Arab RepublicTaglineTaiwanTajikistanTanzania, United Republic ofTemporary LoginTemporary Login SettingsTemporary LoginsTest your website headers withText & URL MappingText MappingText Mapping in CSS and JS files including cached filesText Mapping only Classes, IDs, JS variablesThaiThailandThank you for using %s!The %s section has been relocated %s here %sThe Ghost Mode will add the rewrites rules in the config file to hide the old paths from hackers.The REST API is crucial for many plugins as it allows them to interact with the WordPress database and perform various actions programmatically.The Safe Mode will add the rewrites rules in the config file to hide the old paths from hackers.The Safe URL will deactivate all the custom paths. Use it only if you can't login.The WordPress database is like a brain for your entire WordPress site, because every single bit of information about your site is stored there, thus making it a hacker’s favorite target.

Spammers and hackers run automated code for SQL injections.
Unfortunately, many people forget to change the database prefix when they install WordPress.
This makes it easier for hackers to plan a mass attack by targeting the default prefix wp_.The WordPress site tagline is a short phrase located under the site title, similar to a subtitle or advertising slogan. The goal of a tagline is to convey the essence of your site to visitors.

If you don't change the default tagline it will be very easy to detect that your website was actually built with WordPressThe constant ADMIN_COOKIE_PATH is defined in wp-config.php by another plugin. You can't change %s unless you remove the line define('ADMIN_COOKIE_PATH', ...);.The list of plugins and themes was updated with success!The most common way to hack a website is by accessing the domain and adding harmful queries in order to reveal information from files and database.
These attacks are made on any website, WordPress or not, and if a call succeeds … it will probably be too late to save the website.The plugins and themes file editor is a very convenient tool because it enables you to make quick changes without the need to use FTP.

Unfortunately, it's also a security issue because it not only shows the PHP source code, it also enables attackers to inject malicious code into your site if they manage to gain access to admin.The process was blocked by the website’s firewall.The requested URL %s was not found on this server.The response parameter is invalid or malformed.The secret parameter is invalid or malformed.The secret parameter is missing.The security keys in wp-config.php should be renewed as often as possible.Themes PathThemes SecurityThemes are up to dateThere has been a critical error on your website.There has been a critical error on your website. Please check your site admin email inbox for instructions.There is a configuration error in the plugin. Please Save the settings again and follow the instruction.There is a newer version of WordPress available ({version}).There is no changelog available.There is no such thing as an "unimportant password"! The same goes for your WordPress database password.
Although most servers are configured so that the database can't be accessed from other hosts (or from outside the local network), that doesn't mean your database password should be "12345" or no password at all.This amazing feature isn't included in the basic plugin. Want to unlock it? Simply install or activate the Advanced Pack and enjoy the new security features.This is one of the biggest security issues you can have on your site! If your hosting company has this directive enabled by default, switch to another company immediately!This may not work with all new mobile devices.This option will add rewrite rules to the .htaccess file in the WordPress rewrite rules area between the comments # BEGIN WordPress and # END WordPress.This will prevent from showing the old paths when an image or font is called through ajaxThree DaysThree HoursTimor-LesteTo change the paths in the cached files, switch on %s Change Paths in Cached Files%sTo hide the Avada library, please add the Avada FUSION_LIBRARY_URL in wp-config.php file after $table_prefix line: %sTo improve your website's security, consider removing authors and styles that point to WordPress in your sitemap XML.TogoTokelauTongaTrack and Log the website events and receive security alerts by email.Track and log events that happen on your WordPress siteTraditional ChineseTrinidad and TobagoTroubleshootingTunisiaTurkeyTurkishTurkmenistanTurks and Caicos IslandsTurn off the debug plugins if your website is live. You can also add the option to hide the DB errors global $wpdb; $wpdb->hide_errors(); in wp-config.php fileTuvaluTweaksTwo-factor authenticationURL MappingUgandaUkraineUkrainianUltimate Affiliate Pro detected. The plugin doesn't support custom %s paths as it doesn't use WordPress functions to call the Ajax URLUnable to update the wp-config.php file in order to update the Database Prefix.UndoUnited Arab EmiratesUnited KingdomUnited StatesUnited States Minor Outlying IslandsUnknown update checker status "%s"Unlock allUpdate the settings on %s to refresh the paths after changing REST API path.UpdatedUpload the file with the saved plugin settingsUploads PathUrgent Security Actions RequiredUruguayUse Brute Force ProtectionUse Temporary LoginsUse the %s shortcode to integrate it with other login forms.UserUser 'admin' or 'administrator' as AdministratorUser ActionUser Events LogUser RoleUser SecurityUser could not be activated.User could not be addedUser could not be deleted.User could not be disabled.User roles for who to disable the Right-ClickUser roles for who to disable the copy/pasteUser roles for who to disable the drag/dropUser roles for who to disable the inspect elementUser roles for who to disable the view sourceUser roles for who to hide the admin toolbarUser successfully activated.User successfully created.User successfully deleted.User successfully disabled.User successfully updated.Usernames (unlike passwords) are not secret. By knowing someone's username, you can't log in to their account. You also need the password.

However, by knowing the username, you are one step closer to logging in using the username to brute-force the password, or to gain access in a similar way.

That's why it's advisable to keep the list of usernames private, at least to some degree. By default, by accessing siteurl.com/?author={id} and looping through IDs from 1 you can get a list of usernames, because WP will redirect you to siteurl.com/author/user/ if the ID exists in the system.Using an old version of MySQL makes your site slow and prone to hacker attacks due to known vulnerabilities that exist in versions of MySQL that are no longer maintained.

You need Mysql 5.4 or higherUsing an old version of PHP makes your site slow and prone to hacker attacks due to known vulnerabilities that exist in versions of PHP that are no longer maintained.

You need PHP 7.4 or higher for your website.UzbekistanValidValueVanuatuVenezuelaVersions in Source CodeVietnamVietnameseView detailsVirgin Islands, BritishVirgin Islands, U.S.W3 Total CacheWP Core SecurityWP Debug ModeWP EngineWP Fastest CacheWP RocketWP Super CacheWP Super Cache CDN detected. Please include %s and %s paths in WP Super Cache > CDN > Include directoriesWPBakery Page BuilderWPPluginsWallis and FutunaWeak name detected: %s. You need to use another name to increase your website security.WebsiteWestern SaharaWhere to add the firewall rules.WhitelistWhitelist IPsWhitelist OptionsWhitelist PathsWindows Live Writer is onWooCommerce Safe LoginWooCommerce SupportWoocommerceWoocommerce Magic LinkWordPress Database PasswordWordPress Default PermissionsWordPress Security CheckWordPress VersionWordPress XML-RPC is a specification that aims to standardize communications between different systems. It uses HTTP as the transport mechanism and XML as encoding mechanism to enable a wide range of data to be transmitted.

The two biggest assets of the API are its extendibility and its security. XML-RPC authenticates using basic authentication. It sends the username and password with each request, which is a big no-no in security circles.WordPress and its plugins and themes are like any other software installed on your computer, and like any other application on your devices. Periodically developers release updates which provide new features or fix known bugs.

New features may be something that you do not necessarily want. In fact, you may be perfectly satisfied with the functionality you currently have. Nevertheless, you may still be concerned about bugs.

Software bugs can come in many shapes and sizes. A bug could be very serious, such as preventing users from using a plugin, or it could be a minor bug that only affects a certain part of a theme, for example. In some cases, bugs can even cause serious security holes.

Keeping themes up to date is one of the most important and easiest ways to keep your site secure.WordPress and its plugins and themes are like any other software installed on your computer, and like any other application on your devices. Periodically, developers release updates which provide new features, or fix known bugs.

These new features may not necessarily be something that you want. In fact, you may be perfectly satisfied with the functionality you currently have. Nevertheless, you are still likely to be concerned about bugs.

Software bugs can come in many shapes and sizes. A bug could be very serious, such as preventing users from using a plugin, or it could be minor and only affect a certain part of a theme, for example. In some cases, bugs can cause serious security holes.

Keeping plugins up to date is one of the most important and easiest ways to keep your site secure.WordPress is well-known for its ease of installation.
It's important to hide the wp-admin/install.php and wp-admin/upgrade.php files because there have already been a couple of security issues regarding these files.WordPress, plugins and themes add their version info to the source code, so anyone can see it.

Hackers can easily find a website with vulnerable version plugins or themes, and target these with Zero-Day Exploits.Wordfence SecurityWpEngine detected. Add the redirects in the WpEngine Redirect rules panel %s.Wrong Username ProtectionXML-RPC SecurityXML-RPC access is onYemenYesYes, it's workingYou already defined a different wp-content/uploads directory in wp-config.php %sYou can ban a single IP address like 192.168.0.1 or a range of 245 IPs like 192.168.0.*. These IPs will not be able to access the login page.You can create a new page and come back to choose to redirect to that page.You can generate %snew Keys from here%s AUTH_KEY,SECURE_AUTH_KEY,LOGGED_IN_KEY,NONCE_KEY,AUTH_SALT,SECURE_AUTH_SALT,LOGGED_IN_SALT,NONCE_SALTYou can now turn off '%s' option.You can set to receive security alert emails and prevent data loss.You can white-list a single IP address like 192.168.0.1 or a range of 245 IPs like 192.168.0.*. Find your IP with %sYou can't set both ADMIN and LOGIN with the same name. Please use different namesYou don't have the permission to access %s on this server.You need to activate the URL Rewrite for IIS to be able to change the permalink structure to friendly URL (without index.php). %sMore details%sYou need to set a positive number of attempts.You need to set a positive waiting time.You need to set the permalink structure to friendly URL (without index.php).You should always update WordPress to the %slatest versions%s. These usually include the latest security fixes, and don't alter WP in any significant way. These should be applied as soon as WP releases them.

When a new version of WordPress is available, you will receive an update message on your WordPress Admin screens. To update WordPress, click the link in this message.You should check your website every week to see if there are any security changes.Your %s %s license expired on %s %s. To keep your website security up to date please make sure you have a valid subscription on %saccount.hidemywpghost.com%sYour IP has been flagged for potential security violations. Please try again in a little while...Your admin URL can't be changed on %s hosting because of the %s security terms.Your admin URL is changed by another plugin/theme in %s. To activate this option, disable the custom admin in the other plugin or deativate it.Your login URL is changed by another plugin/theme in %s. To activate this option, disable the custom login in the other plugin or deativate it.Your login URL is: %sYour login URL will be: %s In case you can't login, use the safe URL: %sYour new password has not been saved.Your new site URLs areYour website security %sis extremely weak%s. %sMany hacking doors are available.Your website security %sis very weak%s. %sMany hacking doors are available.Your website security is getting better. %sJust make sure you complete all the security tasks.Your website security is still weak. %sSome of the main hacking doors are still available.Your website security is strong. %sKeep checking the security every week.ZambiaZimbabweactivate featureafter first accessalready activedarkdefaultdisplay_errors PHP directivee.g. *.colocrossing.come.g. /cart/e.g. /cart/ will whitelist all path starting with /cart/e.g. /checkout/e.g. /post-type/ will block all path starting with /post-type/e.g. acapbote.g. alexibote.g. badsite.come.g. gigabote.g. kanagawa.come.g. xanax.comeg.eg. /logout oreg. adm, backeg. ajax, jsoneg. aspect, templates, styleseg. comments, discussioneg. core, inc, includeeg. disable_url, safe_urleg. images, fileseg. json, api, calleg. lib, libraryeg. login or signineg. logout or disconnecteg. lostpass or forgotpasseg. main.css, theme.css, design.csseg. moduleseg. multisite activation linkeg. newuser or registereg. profile, usr, writerfromhelphttps://hidemywp.comignore alertinstall.php & upgrade.php files are accessiblelightloglogsmore detailsnot recommendedonly %d charsorpassword mismatchMismatchpassword strengthMediumpassword strengthPassword strength unknownpassword strengthStrongpassword strengthVery weakpassword strengthWeakreCAPTCHA TestreCAPTCHA V2 TestreCAPTCHA V3 TestreCaptcha LanguagereCaptcha Themereadme.html file is accessiblerecommendedredirectssee featurestart feature setupthe plugin titleA new version of the %s plugin is available.the plugin titleCould not determine if updates are available for %s.the plugin titleThe %s plugin is up to date.totoo simplewp-config.php & wp-config-sample.php files are accessibleProject-Id-Version: Hide My WP Ghost PO-Revision-Date: 2024-10-10 20:09+0300 Last-Translator: gpt-po v1.0.11 Language-Team: Language: pt_BR MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Generator: Poedit 3.5 X-Poedit-Basepath: .. X-Poedit-Flags-xgettext: --add-comments=translators: X-Poedit-WPHeader: index.php X-Poedit-SourceCharset: UTF-8 X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;_nx_noop:3c,1,2;__ngettext_noop:1,2 X-Poedit-SearchPath-0: . X-Poedit-SearchPathExcluded-0: *.min.js #1 Solução de Segurança para Prevenção de Hacks: Ocultar WP CMS, Firewall 7G/8G, Proteção contra Ataques de Força Bruta, 2FA, Segurança GEO, Logins Temporários, Alertas e muito mais.%1$s está obsoleto desde a versão %2$s! Use %3$s em seu lugar. Por favor, considere escrever um código mais inclusivo.%d %s atrás%d %s restantes%s dias desde a última atualização%s não funciona sem o "mode_rewrite". Ative o módulo de reescrita no Apache. %sMais detalhes%s%s não tem a permissão correta.O "%s" está visível no código-fonteO caminho %s está acessível%s plugin(s) desatualizado(s): %s%s plugin(s) NÃO foram atualizados pelos seus desenvolvedores nos últimos 12 meses: %s%s protege seu site contra a maioria das injeções de SQL, mas, se possível, use um prefixo personalizado para as tabelas do banco de dados para evitar injeções de SQL. %sLeia mais%sAs regras de %s não são salvas no arquivo de configuração e isso pode afetar a velocidade de carregamento do site.%s tema(s) desatualizado(s): %s%sClique aqui%s para criar ou visualizar chaves para o Google reCAPTCHA v2.%sClique aqui%s para criar ou visualizar chaves para o Google reCAPTCHA v3.%sERRO:%s O e-mail ou a senha está incorreto. %s %d tentativas restantes antes do bloqueio%sOculte o caminho de acesso%s do menu ou widget do tema.%sReCaptcha incorreto%s. Tente novamente%sOBSERVAÇÃO:%s Se você não recebeu as credenciais, acesse %s.%sVocê não conseguiu responder corretamente ao problema de matemática.%s Tente novamente(* o plugin não tem custo adicional, é instalado/ativado automaticamente no WP quando você clica no botão e usa a mesma conta)(várias opções estão disponíveis)(útil quando o tema está adicionando redirecionamentos de administrador incorretos ou redirecionamentos infinitos)(funciona apenas com o caminho personalizado do admin-ajax para evitar loops infinitos)2FAAcesso 2FA403 ProibidoErro HTML 403Erro HTML 404404 Não encontradoPágina 404Firewall 7GFirewall 8GA “Segurança geográfica” é um recurso projetado para interromper ataques de diferentes países e acabar com atividades prejudiciais provenientes de regiões específicas.Um conjunto completo de regras pode evitar que muitos tipos de injeção de SQL e invasões de URL sejam interpretados.Já existe um usuário com este nome de usuário.Segurança da APIConfigurações de APIAWS BitnamiDe acordo com as %sestatísticas mais recentes do Google%s, mais de %s30 mil sites são invadidos todos os dias%s e %smais de 30% deles são criados em WordPress%s. %sÉ melhor prevenir um ataque do que gastar muito dinheiro e tempo para recuperar seus dados após um ataque, sem mencionar a situação em que os dados de seus clientes são roubados.AçãoAtivarAtive "Carregamento obrigatório do plugin" a partir do "Gancho de carregamento de plugin" para poder se conectar ao seu painel diretamente do managewp.com. %s Clique aqui %sAtivar proteção contra força brutaAtivar registro de eventosAtivar registro de eventos de usuáriosAtivar acessos temporáriosAtivar seu pluginAtive as informações e os registros para depuração.Ative a opção "Força bruta" para ver o relatório de IPs de usuários bloqueadosAtive a opção " Registrar eventos de usuários" para ver o registro de atividades do usuário deste siteAtive a proteção contra força bruta para os formulários de acesso/cadastro do Woocommerce.Ative a proteção contra força bruta nos formulários de senha perdida.Ative a proteção contra força bruta nos formulários de cadastro.Ative o firewall e impeça vários tipos de injeção de SQL e invasões de URL.Ative o firewall e selecione a força do firewall que seja adequada para seu site %s %s > Alterar caminhos > Firewall e cabeçalhos %sAjuda de ativaçãoAdicionarAdicione endereços IP que devem ser sempre bloqueados para acessar este site.Adicione o cabeçalho Content-Security-PolicyAdicione segurança de cabeçalhos contra ataques de XSS e injeção de código.Adicione endereços IP que possam ser aprovados pela segurança do plugin.Adicione os IPs que podem passar pela segurança do pluginAdicionar novo acesso temporárioAdicionar novo usuário de acesso temporárioAdicionar reescritas na seção de regras do WordPressAdicionar cabeçalho de segurançaAdicione cabeçalhos de segurança para ataques de XSS e injeção de códigoAdicione o cabeçalho Strict-Transport-SecurityAdicione segurança de dois fatores na página de acesso com autenticação por leitura de código (QR Code) ou código enviado por e-mail.Adicione o cabeçalho X-Content-Type-OptionsAdicione o cabeçalho X-XSS-ProtectionAdicione uma lista de URLs que você deseja substituir por novas.Adicione um número estático aleatório para evitar o armazenamento em cache da interface enquanto o usuário estiver conectado.Adicionar outro URL de CDNAdicionar outro URLAdicionar outro textoAdicione classes comuns do WordPress no mapeamento de textoAdicione os caminhos que podem passar pela segurança do pluginAdicione caminhos que serão bloqueados para os países selecionados.Adicione redirecionamentos para os usuários logados com base nos papéis do usuário.Adicione os URLs do CDN que você está usando no plugin de cache.Caminho do administradorSegurança administrativaBarra de ferramentas do administradorURL do administradorNome de usuário do administradorAvançadoPacote avançadoConfigurações avançadasAfeganistãoApós adicionar as classes, verifique o frontend para garantir que seu tema não foi afetado.Depois, clique em %sSalvar%s para aplicar as alterações.Segurança do AjaxURL AjaxIlhas ÅlandAlbâniaE-mails de alerta enviadosArgéliaTodas as açõesAll In One WP SecurityTodos os sitesTodos os arquivos têm as permissões corretas.Todos os plugins são compatíveisTodos plugins estão atualizadosTodos os plugins foram atualizados pelos seus desenvolvedores nos últimos 12 mesesTodos os registros são salvos na nuvem por 30 dias e o relatório estará disponível se o seu site for atacado.Permitir caminhos ocultosPermita que os usuários acessem a conta do WooCommerce usando seu endereço de e-mail e um URL de acesso exclusivo fornecido por e-mail.Permita que os usuários acessem o site usando seu endereço de e-mail e um URL de acesso exclusivo fornecido por e-mail.Permitir que qualquer pessoa visualize todos os arquivos na pasta "Uploads" com um navegador permitirá que elas baixem facilmente todos os seus arquivos enviados. Isso é um problema de segurança e de direitos autorais.Samoa AmericanaAndorraAngolaAnguillaAntártidaAntígua e BarbudaApacheÁrabeVocê tem certeza de que deseja ignorar esta tarefa no futuro?ArgentinaArmêniaArubaAtenção! Alguns URLs passaram pelas regras do arquivo de configuração e foram carregados por meio da reescrita do WordPress, o que pode tornar seu site mais lento. %s Siga este tutorial para corrigir o problema: %sAustráliaÁustriaCaminho do autorURL do autor por ID de acessoDetecção automáticaDetecção automáticaRedirecione automaticamente os usuários conectados para o painel de administraçãoAutoptimizeAzerbaijãoPainel com SSLConfigurações de backupBackup/restauraçãoConfigurações de backup/restauraçãoBahamasBahreinDuração do banimentoBangladeshBarbadosCertifique-se de incluir apenas URLs internas e utilizar caminhos relativos sempre que possível.Beaver BuilderBielorrússiaBélgicaBelizeBenimBermudasAtenciosamenteButãoBitnami detectado. %sSaiba como tornar o plugin compatível com a hospedagem AWS%sLista de bloqueiosIPs da lista de bloqueioTela em branco na depuraçãoBloquear paísesBloquear nomes de servidorBloquear IP na página de acessoBloquear referenciadorBloquear caminhos específicosBloquear rastreadores de detectores de temasBloquear agentes de usuárioBloqueie os agentes de usuário conhecidos dos detectores de temas populares.IPs bloqueadosRelatório de IPs bloqueadosBloqueado porBolíviaBonaire, Santo Eustáquio e SabaBósnia e HerzegovinaBotsuanaIlha BouvetBrasilInglês britânicoTerritório Britânico do Oceano ÍndicoBrunei DarussalamForça brutaIPs de força bruta bloqueadosProteção de acesso por força brutaProteção contra força brutaConfigurações de força brutaBulgáriaBúlgaroPlugin BulletProof! Certifique-se de salvar as configurações em %s após ativar o modo BulletProof da pasta raiz no plugin BulletProof.Burquina FasoBurundiAo ativar, você concorda com nossos %s Termos de uso %s e %sPolítica de privacidade%sCDNDetecção de CDN ativada. Inclua os caminhos %s e %s nas configurações do CDN EnablerCDN Enabler detectado! Saiba como configurá-lo com %s %sClique aqui%sURLs de CDNERRO DE CONEXÃO! Certifique-se de que seu site possa acessar: %sArmazene em cache CSS, JS e imagens para aumentar a velocidade de carregamento da interface.Cache EnablerCambojaCamarõesNão foi possível baixar o plugin.CanadáFrancês canadenseCancelarCancele os ganchos de acesso de outros plugins e temas para evitar redirecionamentos de acesso indesejados.Cabo VerdeCatalão valencianoIlhas CaymanRepública Centro-AfricanaChadeAlterarAlterar opçõesAlterar caminhosAlterar caminhos agoraAlterar caminhos para usuários conectadosAlterar caminhos em chamadas AjaxAlterar caminhos em arquivos armazenados em cacheAlterar caminhos no feed de RSSAlterar caminhos no XML dos sitemapsAlterar URLs relativos para URLs absolutosAltere os caminhos do WordPress enquanto estiver conectadoAltere os caminhos no feed RSS para todas as imagens.Altere os caminhos nos arquivos XML do sitemap e remova o autor e os estilos do plugin.Altere o slogan (frase de efeito) em %s > %s > %sAltere os caminhos comuns do WordPress nos arquivos armazenados em cache.Altere o caminho de cadastro em %s %s > Alterar caminhos > URL de cadastro personalizado%s ou desmarque a opção %s > %s > %sAltere o texto em todos os arquivos CSS e JS, incluindo aqueles nos arquivos em cache gerados por plugins de cache.Altere o usuário "admin" ou "administrator" por outro nome para melhorar a segurança.Altere a permissão do arquivo "wp-config.php" para "Somente leitura" usando o gerenciador de arquivos.Altere o "wp-content", "wp-includes" e outros caminhos comuns com %s %s > Alterar caminhos%sAltere o wp-login de %s %s > Alterar caminhos > URL de acesso personalizado%s e ative %s %s > Proteção contra força bruta%sA alteração dos cabeçalhos de segurança predefinidos pode afetar a funcionalidade do site.Verificar caminhos da interfaceVerifique seu siteVerificar AtualizaçõesVerifique se os caminhos do site estão funcionando corretamente.Verifique o se seu site está protegido com as configurações atuais.Verifique o %s Feed de RSS %s e certifique-se de que os caminhos das imagens foram alterados.Verifique o %s XML do sitemap %s e certifique-se de que os caminhos das imagens foram alterados.Verifique a velocidade de carregamento do site com o %sPingdom Tool%sChileChinaEscolha uma senha adequada para o banco de dados, com pelo menos 8 caracteres de comprimento e uma combinação de letras, números e caracteres especiais. Depois de alterá-la, defina a nova senha no arquivo wp-config.php define('DB_PASSWORD', 'NEW_DB_PASSWORD_GOES_HERE');Escolha os países onde o acesso ao site deve ser restrito.Escolha o tipo de servidor que você está usando para obter a configuração mais adequada para o seu servidor.Escolha o que fazer ao acessar a partir de endereços de IP da lista de permissões e caminhos da lista de permissões.Ilha ChristmasLimpar página de acessoClique em %sContinuar%s para definir os caminhos predefinidos.Clique em "Backup" e irá começar a baixar o arquivo automaticamente. Você pode usar o backup para todos os seus sites.Clique para executar o processo de alteração dos caminhos nos arquivos de cache.Erro ao fecharCloud PanelCloud Panel detectado. %sSaiba como tornar o plugin compatível com a hospedagem Cloud Panel%sCntIlhas Cocos (Keeling)ColômbiaCaminho dos comentáriosComoresCompatibilidadeConfigurações de compatibilidadeCompatibilidade com o plugin Manage WPCompatibilidade com plugins de acesso baseados em tokenCompatível com o plugin All In One WP Security. Use-os em conjunto para verificação de vírus, firewall e proteção contra força bruta.Compatível com o plugin de cache JCH Optimize. Funciona com todas as opções para otimizar CSS e JS.Compatível com o plugin Solid Security. Use-os em conjunto para a varredura do site, detecção de alterações de arquivos e proteção contra força bruta.Compatível com o plugin Sucuri Security. Use-os em conjunto para verificação de vírus, firewall e monitoramento da integridade de arquivos.Compatível com o plugin Wordfence Security. Use-os em conjunto para verificação de malware, firewall e proteção contra força bruta.Compatível com todos os temas e plugins.Correção completaConfiguraçãoO arquivo de configuração não é gravável. Crie o arquivo se não existir ou copie para o arquivo %s as seguintes linhas: %sO arquivo de configuração não é gravável. Crie o arquivo se não existir ou copie para o arquivo %s as seguintes linhas: %sO arquivo de configuração não é gravável. Você precisa adicioná-lo manualmente no início do arquivo %s: %sConfirme o uso de senha fraca.CongoRepública Democrática do CongoParabéns! Você concluiu todas as tarefas de segurança. Certifique-se de verificar seu site uma vez por semana.ContinuarConverta links como /wp-content/* em %s/wp-content/*.Ilhas CookCopiar linkCopie o %s URL SEGURO %s e use-o para desativar todos os caminhos personalizados se não puder acessar.Caminho dos conteúdos principaisCaminho dos arquivos principaisCosta RicaCosta do MarfimNão foi possível detectar o usuárioNão foi possível corrigir. Você precisa alterá-lo manualmente.Não foi possível encontrar nada com base na sua pesquisa.Não foi possível fazer login com este usuário.Não foi possível renomear a tabela %1$s. Talvez seja necessário renomear a tabela manualmente.Não foi possível atualizar as referências de prefixo na tabela de opções.Não foi possível atualizar as referências de prefixo na tabela de metadados do usuário.Bloqueio por paísCriarCriar novo acesso temporárioCrie um URL de acesso temporário com qualquer função de usuário para acessar o painel do site sem nome de usuário e senha por um período limitado de tempo.Crie um URL de acesso temporário com qualquer função de usuário para acessar o painel do site sem nome de usuário e senha por um período limitado de tempo. %s Isso é útil quando você precisa dar acesso de administrador a um desenvolvedor para suporte ou para executar tarefas de rotina.CroáciaCroataCubaCuraçaoCaminho de ativação personalizadoCaminho de administrador personalizadoDiretório de cache personalizadoCaminho de acesso personalizadoCaminho de saída personalizadoCaminho personalizado da senha perdidaCaminho de cadastro personalizadoParâmetro de URL seguro personalizadoCaminho personalizado do admin-ajaxCaminho de autor personalizadoCaminho de comentário personalizadoMensagem personalizada a ser mostrada aos usuários bloqueados.Caminho de plugins personalizadoNome do estilo do tema personalizadoCaminho de temas personalizadoCaminho de envios personalizadosCaminho do wp-content personalizadoCaminho do wp-includes personalizadoCaminho wp-json personalizadoPersonalize e proteja todos os caminhos do WordPress contra ataques de bots hackers.Personalizar nomes de pluginsPersonalizar nomes de temasPersonalize os URLs de CSS e JS no corpo do seu site.Personalize os IDs e nomes de classe no corpo do seu site.ChipreTchecoRepublica TchecaModo de depuração do banco de dadosDinamarquêsPainelPrefixo do banco de dadosDataDesativadoModo de depuraçãoPadrãoRedirecionamento padrão após o acessoTempo de expiração temporário padrãoFunção de usuário padrãoFrase de efeito (slogan) padrão do WordPressFunção de usuário padrão para a qual o acesso temporário será criado.Excluir usuários temporários na desinstalação do pluginExcluir usuárioDinamarcaDetalhesDiretóriosDesativar o acesso ao parâmetro "rest_route"Desativar mensagem de cliqueDesativar CopiarDesativar copiar/colarDesativar mensagem de copiar/colarDesativar copiar/colar para usuários conectadosDesative o DISALLOW_FILE_EDIT para sites ativos em wp-config.php define('DISALLOW_FILE_EDIT', true);Desativar navegação no diretórioDesativar arrastar/soltar imagensDesativar mensagem de arrastar e soltarDesativar arrastar/soltar para usuários conectadosDesativar "Inspecionar elemento"Desativar a mensagem "Inspecionar elemento"Desativar "Inspecionar elemento" para usuários conectadosDesativar opçõesDesativar ColarDesativar o acesso à API RESTDesative o acesso à API REST para usuários não conectadosDesative o acesso à API REST usando o parâmetro "rest_routeDesativar o endpoint do RSD do XML-RPCDesativar clique com o botão direito do mouseDesativar o clique com o botão direito do mouse para usuários conectadosDesative o SCRIPT_DEBUG para sites ativos no arquivo wp-config.php define('SCRIPT_DEBUG', false);Desativar visualização do código-fonteDesativar mensagem de visualização do código-fonteDesative a visualização do código-fonte para usuários conectadosDesative o WP_DEBUG para sites ativos em wp-config.php define('WP_DEBUG', false);Desativar acesso ao XML-RPCDesative a função de cópia no seu site.Desative o recurso de arrastar e soltar imagens no seu siteDesative a função de colar no seu site.Desative o suporte ao RSD (Really Simple Discovery) para XML-RPC e remova a tag RSD do cabeçalhoDesative o acesso ao arquivo /xmlrpc.php para evitar %sAtaques de força bruta via XML-RPC%sDesative a ação de copiar/colar no seu site.Desative as chamadas externas para o arquivo xml-rpc.php e evite ataques de força bruta.Desative a visualização "Inspecionar elemento" no seu siteDesative a ação de clicar com o botão direito do mouse no seu site.Desativar a funcionalidade de clique com o botão direito do mouse no seu siteDesative a visualização do código-fonte no seu siteExibir qualquer tipo de informação de depuração na interface é extremamente ruim. Se ocorrerem erros de PHP em seu site, eles devem ser registrados em um local seguro e não exibidos aos visitantes ou possíveis atacantes.DjibutiRedirecionamentos de acesso e saídaNão saia deste navegador até ter certeza de que a página de login está funcionando e você conseguirá fazer login novamente.Não saia da sua conta até ter certeza de que o reCAPTCHA está funcionando e que você poderá acessar novamente.Deseja excluir o usuário temporário?Deseja restaurar as configurações salvas anteriormente?DominicaRepública DominicanaNão se esqueça de recarregar o serviço Nginx.Não permita que URLs como domain.com?author=1 mostrem o nome de acesso do usuárioNão permita que os hackers vejam qualquer conteúdo do diretório. Consulte %sDiretório de envios%sNão carregue ícones de Emoji se você não os usarNão carregue o WLW se você não tiver configurado o Windows Live Writer para seu siteNão carregue o serviço oEmbed se você não estiver usando vídeos oEmbedNão selecione nenhuma função se quiser registrar todas as funções de usuárioConcluído!Baixar arquivo de depuraçãoDrupal 10Drupal 11Drupal 8Drupal 9HolandêsERRO! Certifique-se de usar um token válido para ativar o pluginERRO! Certifique-se de usar o token correto para ativar o pluginEquadorEditar usuárioEditar usuárioEdite o arquivo wp-config.php e adicione ini_set('display_errors', 0); no final do arquivoEgitoEl SalvadorElementorE-mailEndereço de e-mailNotificação por e-mailO endereço de e-mail já existeEnvie um e-mail para a sua empresa de hospedagem e informe que você gostaria de atualizar para uma versão mais recente do MySQL ou transferir seu site para uma empresa de hospedagem melhorEnvie um e-mail para sua empresa de hospedagem e informe que você gostaria de atualizar para uma versão mais recente do PHP ou transferir seu site para uma empresa de hospedagem melhor.VazioReCaptcha vazio. Conclua o reCaptcha.Endereço de e-mail vazioAtivar essa opção pode deixar o site mais lento, pois os arquivos CSS e JS serão carregados dinamicamente em vez de por reescritas, permitindo que o texto dentro deles seja modificado conforme necessário.InglêsDigite o token de 32 caracteres do pedido/licença em %sGuiné EquatorialEritreiaErro! Não há backup para restaurar.Erro! O backup não é válido.Erro! Os novos caminhos não estão carregando corretamente. Limpe todo o cache e tente novamente.Erro! A configuração pré-definida não pôde ser restaurada.Erro: Você inseriu o mesmo URL duas vezes no "Mapeamento de URL". Removemos os duplicados para evitar quaisquer erros de redirecionamento.Erro: Você inseriu o mesmo texto duas vezes no "Mapeamento de texto". Removemos os duplicados para evitar quaisquer erros de redirecionamento.EstôniaEtiópiaEuropaMesmo que os caminhos padrão estejam protegidos pelo %s após a personalização, recomendamos que você defina as permissões corretas para todos os diretórios e arquivos no seu site. Use o gerenciador de arquivos ou o FTP para verificar e alterar as permissões. %sLeia mais%sRegistro de eventosRelatório de registro de eventosConfigurações do registro de eventosTodo bom desenvolvedor deve ativar a depuração antes de começar a trabalhar em um novo plugin ou tema. Na verdade, o Codex do WordPress "recomenda fortemente" que os desenvolvedores usem SCRIPT_DEBUG. Infelizmente, muitos desenvolvedores esquecem o modo de depuração, mesmo quando o site está ativo. A exibição de registros de depuração na interface permitirá que os hackers saibam muito sobre o seu site WordPress.Todo bom desenvolvedor deve ativar a depuração antes de começar a trabalhar em um novo plugin ou tema. Na verdade, o Codex do WordPress "recomenda fortemente" que os desenvolvedores usem o WP_DEBUG.

Infelizmente, muitos desenvolvedores esquecem o modo de depuração, mesmo quando o site está ativo. A exibição de registros de depuração na interface permitirá que os hackers saibam muito sobre o seu site WordPress.Exemplo:Tempo de expiraçãoExpiradoExpiraExpor a versão do PHP irá facilitar muito o trabalho de atacar o seu site.Tentativas com falhaReprovadoIlhas Falkland (Malvinas)Ilhas FaroéRecursosFeed e sitemapSegurança do feedFijiPermissões do arquivoAs permissões de arquivo no WordPress desempenham um papel fundamental na segurança do site. A configuração adequada dessas permissões garante que usuários não autorizados não tenham acesso a arquivos e dados confidenciais.
Permissões incorretas podem, acidentalmente, abrir seu site para ataques, tornando-o vulnerável.
Como administrador do WordPress, entender e configurar corretamente as permissões de arquivo é fundamental para proteger seu site contra possíveis ameaças.ArquivosFiltroFinlândiaFirewallFirewall e cabeçalhosFirewall contra injeção de scriptsLocalização do firewallForça do firewallO firewall contra injeções está carregadoNomePrimeiro, você precisa ativar o %sModo seguro%s ou o %sModo Ghost%sPrimeiro, você precisa ativar o %sModo seguro%s ou %sModo Ghost%s em %sCorrigir permissõesCorrigirCorrija a permissão de todos os diretórios e arquivos (~ 1 min)Corrija a permissão dos principais diretórios e arquivos (~ 5 segundos)FlywheelFlywheel detectado. Adicione os redirecionamentos no painel de regras de redirecionamento do Flywheel %s.A pasta "%s" é navegávelProibidoFrançaFrancêsGuina FrancesaPolinésia FrancesaTerritórios Franceses do SulDe: %s <%s>Página inicialTeste de acesso à interfaceTeste de interfaceTotalmente compatível com o plugin de cache Autoptimize. Funciona melhor com a opção de otimizar/agregar arquivos CSS e JS.Totalmente compatível com o plugin Beaver Builder. Funciona melhor em conjunto com um plugin de cache.Totalmente compatível com o plugin Cache Enabler. Funciona melhor com a opção de minificar arquivos CSS e JS.Totalmente compatível com o plugin Elementor Website Builder. Funciona melhor em conjunto com um plugin de cacheTotalmente compatível com o plugin Fusion Builder da Avada. Funciona melhor em conjunto com um plugin de cache.Totalmente compatível com o plugin de cache Hummingbird. Funciona melhor com a opção de minificar arquivos CSS e JS.Totalmente compatível com o plugin LiteSpeed Cache. Funciona melhor com a opção de minificar arquivos CSS e JS.Totalmente compatível com o plugin Oxygen Builder. Funciona melhor em conjunto com um plugin de cache.Totalmente compatível com o plugin W3 Total Cache. Funciona melhor com a opção de minificar arquivos CSS e JS.Totalmente compatível com o plugin WP Fastest Cache. Funciona melhor com a opção de minificar arquivos CSS e JS.Totalmente compatível com o plugin de cache WP Super Cache.Totalmente compatível com o plugin de cache WP-Rocket. Funciona melhor com a opção de minificar/combinar arquivos CSS e JS.Totalmente compatível com o plugin Woocommerce.Fusion BuilderGabãoGâmbiaGeralSegurança geográficaA “Segurança geográfica” é um recurso projetado para interromper ataques de diferentes países e acabar com atividades prejudiciais provenientes de regiões específicas.GeórgiaAlemãoAlemanhaGanaModo GhostModo Fantasma + Firewall + Força Bruta + Registro de Eventos + Autenticação em Duas EtapasO "Modo Ghost" irá definir esses caminhos predefinidosModo GhostGibraltarDê nomes aleatórios a cada pluginDê nomes aleatórios a cada tema (funciona no WP multisite)Nome da classe global detectado: %s. Leia este artigo primeiro: %s.Acesse o painel de registro de eventosAcesse a seção Painel > Aparência e atualize todos os temas para a última versão.Acesse a seção Painel > Plugins e atualize todos os plugins para a última versão.GodaddyGodaddy detectado! Para evitar erros de CSS, certifique-se de desativar o CDN de %sBomGoogle reCAPTCHA V2Google reCAPTCHA V3O Google reCaptcha V3 não está funcionando com o formulário de acesso atual do %s .Ótimo! O backup foi restaurado.Fantástico! Os valores iniciais foram restaurados.Fantástico! Os novos caminhos estão carregando corretamente.Ótimo! O preset foi carregado.GréciaGregoGroelândiaGranadaGuadalupeGuamGuatemalaGuernseyGuinéGuiné-BissauGuianaHaitiTer o URL do administrador visível no código-fonte é terrível porque os hackers saberão imediatamente o caminho secreto do administrador e iniciarão um ataque de força bruta. O caminho personalizado do administrador não deve aparecer no URL ajax.

Encontre soluções para %s como ocultar o caminho do código-fonte %s.Ter o URL de acesso visível no código-fonte é péssimo porque os hackers saberão imediatamente o caminho de acesso secreto e iniciarão um ataque de força bruta.

O caminho de acesso personalizado deve ser mantido em segredo, e você deve ter a "Proteção contra força bruta" ativada para ele.

Encontre soluções para %s ocultar o caminho de acesso do código-fonte aqui %s.Ter essa diretiva do PHP ativada deixará seu site exposto a ataques de scripts entre sites (XSS).

Não há absolutamente nenhuma razão válida para ativar essa diretiva, e usar qualquer código PHP que a exija é muito arriscado.Segurança do cabeçalhoCabeçalhos e firewallIlha Heard e Ilhas McDonaldHebraicoAjuda e perguntas frequentesAqui está a lista de regiões selecionadas onde seu site será restrito...HideOcultar caminho "login"Ocultar "wp-admin"Ocultar "wp-admin" de usuários não administradoresOcultar "wp-login.php"Oculte o caminho /login dos visitantes.Oculte o caminho /wp-admin de usuários não administradores.Oculte o caminho /wp-admin dos visitantes.Oculte o caminho /wp-login.php dos visitantes.Ocultar a barra de ferramentas do administradorOculte a barra de ferramentas do administrador de funções de usuários para impedir o acesso ao painel.Ocultar todos os pluginsOcultar URL do ID do autorOcultar arquivos comunsOcultar scripts de incorporaçãoOcultar emojiconsOcultar tags de link de feed e sitemapOcultar extensões de arquivosOcultar comentários HTMLOcultar IDs das META tagsOcultar o seletor de idiomaHide My WP GhostOcultar opçõesOcultar caminhos no Robots.txtOcultar nomes de pluginsOcultar o link do URL da API RESTOcultar nomes de temaOcultar versão de imagens, CSS e JS no WordPressOculte as versões de imagens, CSS e JSOcultar scripts de manifesto do WLWOcultar arquivos comuns do WPOcultar caminhos comuns do WPOcultar arquivos comuns do WordPressOcultar caminhos comuns do WordPressOcultar as META tags de pré-busca de DNS do WordPressOcultar META tags do gerador do WordPressOcultar o caminho de plugins antigos do WordPressOcultar o caminho de temas antigos do WordPressOculte os caminhos comuns do WordPress do arquivo %s Robots.txt %s.Oculte os caminhos do WordPress, como wp-admin, wp-content e outros, do arquivo robots.txt.Oculte todas as versões do final de qualquer arquivo de imagem, CSS e JavaScript.Ocultar tanto os plugins ativos quanto os desativadosOcultar tarefas concluídasOcultar senhaOculte as tags de link /feed e /sitemap.xmlOculte a pré-busca de DNS que aponta para o WordPressOculte os comentários HTML deixados pelos temas e pluginsOculte os IDs de todas as META tags de <links>, <style>, <scripts>Ocultar o novo caminho do administradorOcultar o Novo Caminho de LoginOculte as META tags do gerador do WordPressOculte a barra de ferramentas do administrador para usuários conectados enquanto estiverem na interface.Oculte a opção de seleção de idioma na página de acessoOculte o novo caminho de administrador dos visitantes. Mostrar o novo caminho de administrador apenas para usuários conectados.Ocultar o novo caminho de login dos visitantes. Mostrar o novo caminho de login apenas para acesso direto.Oculte os caminhos /wp-content e /wp-include antigos quando eles forem alterados para os novosOculte os caminhos antigos /wp-content e /wp-include quando eles forem alterados para os novos.Oculte o caminho antigo /wp-content/plugins depois que ele for alterado para o novoOculte o caminho /wp-content/themes antigo quando ele for alterado para o novoOcultar wp-admin do URL do AjaxOculte os arquivos wp-config.php , wp-config-sample.php, readme.html, license.txt, upgrade.php e install.phpOculte os arquivos wp-config.php, wp-config-sample.php, readme.html, license.txt, upgrade.php e install.php.Oculte a tag do link wp-json e ?rest_route do cabeçalho do siteOcultar o ID das meta tags no WordPress pode potencialmente afetar o processo de armazenamento em cache dos plugins que dependem da identificação das meta tags.HindiSanta Sé (Estado da Cidade do Vaticano)HondurasHong KongNome do hostPor quanto tempo o acesso temporário estará disponível após o primeiro acesso do usuário.HummingbirdHúngaroHungriaIIS WindowsIIS detectado. Você precisa atualizar seu arquivo %s, adicionando as seguintes linhas após a tag <rules>: %sIPIP bloqueadoIslândiaSe o reCAPTCHA exibir algum erro, certifique-se de corrigi-lo antes de continuar.Se as regras de reescrita não estiverem carregando corretamente no arquivo de configuração, não carregue o plugin e não altere os caminhos.Se você estiver conectado como usuário administrador, terá que acessar novamente após a alteração.Se você não puder configurar o %s, altere para o modo "Desativado" e %sfale conosco%s.Se você não conseguir configurar o reCAPTCHA, mude para a proteção Math reCaptcha.Se você não tem um site de comércio eletrônico, de membros ou de publicação de visitantes, não deve permitir que os usuários se cadastrem no seu blog. Isso resultará em registros de spam e seu site ficará repleto de conteúdo e comentários indesejados.Se você tiver acesso ao arquivo "php.ini", defina allow_url_include = off ou fale com a empresa de hospedagem para desativá-loSe você tiver acesso ao arquivo "php.ini", defina expose_php = off ou fale com a empresa de hospedagem para desativá-loSe você tiver acesso ao arquivo "php.ini", defina register_globals = off ou fale com a empresa de hospedagem para desativá-loSe você tiver acesso ao arquivo "php.ini", defina safe_mode = off ou fale com a empresa de hospedagem para desativá-loSe você notar algum problema de funcionalidade, selecione o %sModo seguro%s.Se você conseguir acessar, é porque definiu os novos caminhos corretamente.Se você conseguir acessar, você configurou o reCAPTCHA corretamente.Se você não estiver usando o Windows Live Writer, realmente não há nenhuma razão válida para ter o link dele no cabeçalho da página, pois isso informa ao mundo inteiro que você está usando o WordPress.Se você não estiver usando nenhum serviço de Really Simple Discovery (RSD), como pingbacks, não há necessidade de anunciar esse endpoint (link) no cabeçalho. Observe que, para a maioria dos sites, isso não é um problema de segurança porque eles "querem ser descobertos", mas se você quiser ocultar o fato de que está usando o WP, esse é o caminho a seguir.Se o seu site permite acessos de usuários, você precisa que a página de acesso seja fácil de encontrar para os usuários. Você também precisa fazer outras coisas para se proteger contra tentativas de acesso maliciosas.

Entretanto, a obscuridade é uma camada de segurança válida quando usada como parte de uma estratégia de segurança abrangente e se você quiser reduzir o número de tentativas de acesso maliciosas. Tornar sua página de acesso difícil de encontrar é uma maneira de fazer isso.Ignorar tarefa de segurançaBloquear imediatamente nomes de usuário incorretos em formulários de login.No arquivo ".htaccess"Antigamente, o nome de usuário padrão do administrador do WordPress era "admin" ou "administrator". Como os nomes de usuário constituem metade das credenciais de acesso, isso facilitava o lançamento de ataques de força bruta pelos hackers.

Felizmente, o WordPress mudou isso e agora exige que você selecione um nome de usuário personalizado no momento da instalação do WordPress.Na verdade, o Ultimate Membership Pro foi detectado. O plugin não é compatível com caminhos personalizados de %s, pois não usa as funções do WordPress para chamar o URL AjaxÍndiaIndonésiaIndonésioInformaçãoInmotionInmotion detectado. %sSaiba como tornar o plugin compatível com o Inmotion Nginx Cache%sInstalar e ativar oIntegração com outros plugins de CDN e URLs de CDN personalizados.ReCaptcha inválido. Conclua o reCaptcha.Endereço de e-mail inválidoNome inválido detectado: %s. Adicione apenas o nome do caminho final para evitar erros do WordPress.Nome inválido detectado: %s. O nome não pode terminar com "/" para evitar erros do WordPress.Nome inválido detectado: %s. O nome não pode começar com "/" para evitar erros do WordPress.Nome inválido detectado: %s. Os caminhos não podem terminar com "." para evitar erros do WordPress.Nome inválido detectado: %s. Você precisa usar outro nome para evitar erros do WordPress.Nome de usuário inválido.Republic Islâmica do IrãIraqueIrlandaIlha de ManIsraelÉ importante %s salvar suas configurações sempre que as alterar %s. Você pode usar o backup para configurar outros sites de sua propriedade.É importante ocultar ou remover o arquivo "readme.html", pois ele contém detalhes da versão do WP.É importante ocultar os caminhos comuns do WordPress para evitar ataques a plugins e temas vulneráveis.
Também é importante ocultar os nomes de plugins e temas para impossibilitar que os bots os detectem.É importante renomear os caminhos comuns do WordPress, como "wp-content" e "wp-includes", para evitar que os hackers saibam que você tem um site WordPress.Não é seguro ter o modo de depuração do banco de dados ativado. Certifique-se de não usar a depuração do banco de dados em sites ativos.ItalianoItáliaJCH Optimize CacheJamaicaJaponêsJapãoO JavaScript está desativado no seu navegador! Você precisa ativar o JavaScript para usar o plugin %s.JerseyJoomla 3Joomla 4Joomla 5JordâniaApenas mais um site WordPressCazaquistãoQuêniaQuiribátiSaiba o que os outros usuários estão fazendo no seu site.CoreanoKosovoKuwaitQuirguistãoIdiomaRepública Democrática Popular do LaosEstatísticas de segurança dos últimos 30 diasÚltimo acessoSobrenomeÚltima verificação:Carregamento tardioLetôniaLetãoAprenda ComoAprenda como adicionar o códigoSaiba como desativar a %sNavegação no diretório%s ou ativar %s %s > Alterar caminhos > Desativar navegação no diretório%sSaiba como definir seu site como %s. %sClique aqui%sSaiba como fazer a configuração no local e no NginxAprenda como configurar no servidor NginxAprenda a usar o shortcode.Saiba mais sobre oSaiba mais sobre o %s Firewall 7G %s.Saiba mais sobre o %s Firewall 8G %s.Deixe em branco se você não quiser exibir nenhuma mensagemDeixe em branco para bloquear todos os caminhos dos países selecionados.LíbanoLesotoVamos levar sua segurança para o próximo nível!Nível de segurançaNíveis de segurançaLibériaJamahiriya Árabe da LíbiaToken de licençaLiechtensteinLimite o número de tentativas de acesso permitidas usando o formulário de acesso normal.LiteSpeedLiteSpeed CacheLituâniaLituanoCarregar PredefiniçãoCarregar Configurações de SegurançaCarrega após todos os plugins serem carregados. No gancho "template_redirects".Carrega antes de todos os plugins serem carregados. No gancho "plugins_loaded".Carregue o idioma personalizado se o idioma local do WordPress estiver instalado.Carrega o plugin como um plugin de uso obrigatório.Carrega quando os plugins são inicializados. No gancho "init".Local e NGINX detectados. Caso você ainda não tenha adicionado o código na configuração do NGINX, adicione a seguinte linha. %sLocal pelo FlywheelLocalizaçãoBloquear usuárioMensagem de bloqueioRegistrar funções de usuárioRegistrar eventos de usuáriosRedirecionamentos ao acessar e sairAcesso bloqueado peloCaminho de acessoURL de redirecionamento ao acessarSegurança de acessoTeste de acessoURL de acessoURL de redirecionamento ao sairProteção de formulário de senha perdidaLuxemburgoMacauMadagascarAcessar com link mágicoCertifique-se de que os URLs de redirecionamento existam no seu site. %sO URL de redirecionamento da função do usuário, tem prioridade mais alta do que o URL de redirecionamento padrão.Certifique-se de que você sabe o que fazer ao alterar os cabeçalhos.Certifique-se de salvar as configurações e esvaziar o cache antes de verificar seu site com nossa ferramenta.MaláuiMalásiaMaldivasMáliMaltaGerenciar Proteção contra Ataques de Força BrutaGerenciar redirecionamentos ao acessar e sairGerenciar endereços IP da lista de permissões e da lista de bloqueiosBloquear/desbloquear manualmente endereços de IP.Personalize manualmente o nome de cada plugin e substitua o nome aleatórioPersonalize manualmente o nome de cada tema e substitua o nome aleatórioInclua manualmente na lista de permissões os endereços de IP confiáveis.MapeamentoIlhas MarshallMartinicaVerificação do Math e do Google reCaptcha ao acessar.Math reCAPTCHAMauritâniaMaurícioMáximo de tentativas com falhaMaioteMédiaMembroMéxicoEstados Federados da MicronésiaMínimaMínimo (Sem reescrita de configurações)República da MoldáviaMônacoMongóliaMonitore tudo o que acontece no seu site WordPress!Monitore, rastreie e registre eventos no seu site.MontenegroMontserratMais ajudaMais informações sobre %sMais opçõesMarrocosA maioria das instalações do WordPress é hospedada nos populares servidores web Apache, Nginx e IIS.MoçambiqueCarregamento obrigatório do pluginMinha contaMianmarVersão do MySQLNGINX detectado. Caso você ainda não tenha adicionado o código na configuração do NGINX, adicione a seguinte linha. %sNomeNamíbiaNauruNepalPaíses BaixosNova CaledôniaNovos dados de acessoNovo Plugin/Tema detectado! Atualize as configurações de %s para ocultá-lo. %sClique aqui%s.Nova ZelândiaPróximos passosNginxNicaráguaNigerNigériaNiueNãoSem simulação de CMSNenhuma atualização recente lançadaNenhum IP na lista negraNenhum registro encontrado.Sem acessos temporários.Não, cancelarNúmero de segundosIlha de NorfolkCarregamento normalNormalmente, a opção de bloquear a navegação dos visitantes nos diretórios do servidor é ativada pela hospedagem por meio da configuração do servidor, e ativá-la duas vezes no arquivo de configuração pode causar erros, portanto, é melhor verificar primeiro se o %sDiretório de envios%s está visível.Coréia do NorteRepública da Macedônia do NorteIlhas Marianas do NorteNoruegaNorueguêsAinda não conectadoObserve que esta opção não ativará o CDN para o seu site, mas atualizará os caminhos personalizados se você já tiver definido um URL de CDN com outro plugin.Observação! %sOs caminhos NÃO são alterados fisicamente%s no seu servidor.Observação! O plugin irá usar o cron do WP para alterar os caminhos em segundo plano quando os arquivos de cache forem criados.Observação: Se você não conseguir acessar seu site, basta acessar este URLConfigurações de notificaçãoCerto, eu definiOmãNa inicialização do siteDepois de comprar o plugin, você receberá as credenciais %s da sua conta por e-mail.Um diaUma horaUm mêsUma semanaUm anoUm dos arquivos mais importantes na sua instalação do WordPress é o arquivo "wp-config.php".
Este arquivo está localizado no diretório raiz da instalação do WordPress e contém os detalhes da configuração básica do seu site, como informações de conexão com o banco de dados.Altere esta opção apenas se o plugin não conseguir identificar corretamente o tipo de servidor.Otimizar arquivos CSS e JSOpção para informar ao usuário sobre as tentativas restantes na página de acesso.OpçõesPlugins desatualizadosTemas desatualizadosVisão geralOxygenVersão do PHPO PHP "allow_url_include" está ativadoO PHP "expose_php" está ativadoO PHP "register_globals" está ativadoO modo de segurança do PHP foi uma das tentativas de resolver os problemas de segurança dos servidores de hospedagem compartilhada na web.

Ele ainda está sendo usado por alguns provedores de hospedagem na web, mas atualmente, é considerado inadequado. Uma abordagem sistemática prova que é arquitetonicamente incorreto tentar resolver problemas complexos de segurança no nível do PHP, em vez de nos níveis do servidor da web e do sistema operacional.

Tecnicamente, o modo de segurança é uma diretiva do PHP que restringe a maneira como algumas funções internas do PHP operam. O principal problema aqui é a inconsistência. Quando ativado, o modo de segurança do PHP pode impedir que muitas funções legítimas do PHP funcionem corretamente. Ao mesmo tempo, existe uma variedade de métodos para substituir as limitações do modo de segurança usando funções do PHP que não são restritas, portanto, se um hacker já tiver acessado, o modo de segurança será inútil.O PHP "safe_mode" está ativadoPágina não encontradaPquistãoPalauTerritório PalestinoPanamáPapua Nova GuinéParaguaiAprovadoCaminho não permitido. Evite caminhos como plugins e temas.Caminhos e OpçõesCaminhos alterados nos arquivos de cache existentesPausa por 5 minutos.Links permanentesPersaPerúFilipinasPitcairnEsteja ciente de que, se você não concordar com o armazenamento de dados em nossa nuvem, solicitamos que não ative este recurso.Acesse %s para verificar sua compra e obter o token de licença.Gancho de carregamento de pluginCaminho dos pluginsSegurança de pluginsConfigurações de pluginsOs plugins que não foram atualizados nos últimos 12 meses podem ter problemas reais de segurança. Certifique-se de usar plugins atualizados do Diretório do WordPress.Editor de plugins/temas desativadoPolôniaPolonêsPortugalPortuguêsSegurança pré-definidaEvite a quebra do layout do siteCarregamento prioritárioProtege sua loja WooCommerce contra ataques de acesso por força bruta.Protege seu site contra ataques de acesso por força bruta usando %s Uma ameaça comum que os desenvolvedores da web enfrentam é um ataque de adivinhação de senha, conhecido como ataque por força bruta. Um ataque por força bruta é uma tentativa de descobrir uma senha tentando sistematicamente todas as combinações possíveis de letras, números e símbolos, até descobrir a única combinação correta que funciona.Protege seu site contra ataques de acesso por força bruta.Protege seu site contra ataques de acesso por força bruta.Demonstre sua humanidade:Porto RicoCatarCorreção rápidaO RDS está visívelNúmero estático aleatórioReativar usuário por 1 diaRedirecionar após acessarRedirecionar caminhos ocultosRedirecionar usuários conectados para o painelRedirecione usuários temporários para uma página personalizada após o acesso.Redirecione os caminhos protegidos /wp-admin, /wp-login para uma página ou acione um erro de HTML.Redirecione o usuário para uma página personalizada após o acesso.RedirecionamentosRemoverRemova a versão do PHP, as informações do servidor e a assinatura do servidor do cabeçalho.Remover autores e estilo de plugins no XML do sitemapRemover cabeçalhos insegurosRemova a tag do link de pingback do cabeçalho do site.Renomeie o arquivo "readme.html" ou ative %s %s > Alterar caminhos > Ocultar arquivos comuns do WordPress%sRenomeie os arquivos "wp-admin/install.php" e "wp-admin/upgrade.php" ou ative %s %s > Alterar caminhos > Ocultar caminhos comuns do WordPress%sRenovarRedefinirRedefinir configuraçõesA resolução de nomes de servidores pode afetar a velocidade de carregamento do site.Restaurar backupRestaurar configuraçõesResumo de SegurançaReuniãoSegurança de robotsFunçãoConfigurações de reversãoReverta todas as configurações do plugin para os valores iniciais.RomêniaRomenoExecute o %s Teste de interface %s para verificar se os novos caminhos estão funcionando.Execute o %s Teste de acesso %s e tente acessar dentro do pop-up.Execute o teste do %sreCAPTCHA%s e acesse na janela pop-up.Executar verif. de segurança completaRussoFederação RussaRuandaSSL é uma abreviação usada para Secure Sockets Layers (Camadas de soquetes seguros), que são protocolos de criptografia usados na internet para garantir a troca de informações e fornecer informações de certificado.

Esses certificados fornecem uma garantia ao usuário sobre a identidade do site com o qual estão se comunicando. O SSL também pode ser chamado de TLS ou Transport Layer Security (Segurança da camada de transporte).

É importante ter uma conexão segura para o painel de administração no WordPress.Modo seguroModo Seguro + Firewall + Força Bruta + Registro de Eventos + Autenticação em Duas EtapasModo de Segurança + Firewall + Configurações de CompatibilidadeO "Modo seguro" irá definir esses caminhos predefinidosURL seguro:Modo seguroSão BartelemeySanta HelenaSão Cristóvão e NevisSanta LúciaSan MartinSão Pedro e MiquelonSão Vicente e GranadinasSalts e chaves de segurança válidosSamoaSão MarinoSão Tomé e PríncipeArábia SauditaSalvarSalvar registro de depuraçãoSalvar usuárioSalvoSalvo! Esta tarefa será ignorada em testes futuros.Salvo! Você pode executar o teste novamente.Modo de depuração de scriptsPesquisarPesquise no registro de eventos do usuário e gerencie os alertas por e-mailChave secretaChaves secretas para %sGoogle reCAPTCHA%s.Caminhos seguros do WPVerificação de segurançaChaves de segurança atualizadasStatus de segurançaAs "chaves de segurança" são definidas no wp-config.php como constantes em linhas. Elas devem ser tão exclusivas e longas quanto possível. AUTH_KEY,SECURE_AUTH_KEY,LOGGED_IN_KEY,NONCE_KEY,AUTH_SALT,SECURE_AUTH_SALT,LOGGED_IN_SALT,NONCE_SALTAs "chaves de segurança" são usadas para garantir uma melhor criptografia das informações armazenadas nos cookies e nas senhas com hash do usuário.

Elas tornam seu site mais difícil de ser invadido, acessado e quebrado, adicionando elementos aleatórios à senha. Você não precisa se lembrar dessas chaves. Na verdade, depois de defini-las, você nunca mais as verá. Portanto, não há desculpa para não defini-las corretamente.Veja as ações dos últimos dias neste site...Selecionar PresetSelecionar funções de usuárioSelecione uma configuração de segurança pré-definida que testamos na maioria dos sites.Selecionar tudoSelecione por quanto tempo o acesso temporário estará disponível após o primeiro acesso do usuário.Selecione as extensões de arquivo que você deseja ocultar nos caminhos antigosSelecione os arquivos que deseja ocultar nos caminhos antigosPaíses selecionadosMe envie um e-mail com os URLs de administração e acesso alteradosSenegalSérviaSérvioTipo de servidorDefinir diretório de cache personalizadoDefina redirecionamentos ao acessar e sair com base nas funções do usuário.Definir a função do usuário atual.Defina o site para o qual deseja que este usuário seja criado.ConfiguraçõesSeichelesNome curto detectado: %s. Você precisa usar caminhos exclusivos com mais de 4 caracteres para evitar erros do WordPress.ShowMostre /%s em vez de /%sMostrar opções avançadasMostrar caminhos padrão e permitir caminhos ocultosMostrar caminhos padrão e permitir tudoMostrar tela em branco quando "Inspecionar elemento" estiver ativo no navegador.Mostrar tarefas concluídasMostrar tarefas ignoradasMostrar mensagem em vez do formulário de acessoMostrar senhaSerra LeoaProteção do formulário de cadastroChinês simplificadoSimular CMSCingapuraSão MartinhoChave do siteChaves do site para %sGoogle reCaptcha%s.SiteGroundSegurança do sitemapSeis mesesEslovacoEslováquiaEslovenoEslovêniaSolid SecurityIlhas SalomãoSomáliaAlguns plugins podem remover as regras de reescrita personalizadas do arquivo .htaccess, especialmente se ele for gravável, o que pode afetar a funcionalidade dos caminhos personalizados.Alguns temas não funcionam com caminhos personalizados de Admin e Ajax. Em caso de erros de Ajax, volte para wp-admin e admin-ajax.php.Você não tem permissão para acessar esta página.África do SulIlhas Geórgia do Sul e Sandwich do SulCoreia do SulEspanhaOs spammers podem se cadastrar com facilidadeEspanholSri LankaIniciar varreduraSucuri SecuritySudãoSuper administradorSurinameSvalbard e Jan MayenSuazilândiaSuéciaSuecoAtive %s %s > Alterar caminhos > Ocultar caminhos comuns do WordPress%sAtive %s %s > Alterar caminhos > Desativar acesso ao XML-RPC%sAtive %s %s > Alterar caminhos > Ocultar URL do ID do autor%sAtive %s %s > Alterar caminhos > Ocultar endpoint do RSD%sAtive %s %s > Alterar caminhos > Ocultar arquivos comuns do WordPress%sAtive %s %s > Alterar caminhos > Ocultar wp-admin do URL%s do ajax. Oculte qualquer referência ao caminho de administração dos plugins instalados.Ative %s %s > Ajustes > %s %sAtive %s %s > Ajustes > Ocultar scripts de manifesto do WLW%sSuiçaRepública Árabe da SíriaFrase de efeito (slogan)TaiwanTajiquistãoRepública Unida da TanzâniaAcesso temporárioConfigurações de acesso temporárioAcessos temporáriosTeste os cabeçalhos do seu site comMapeamento de texto e URLMapeamento de textoMapeamento de texto em arquivos CSS e JS, incluindo arquivos em cache.Mapeamento de texto apenas para Classes, IDs e variáveis JSTailandêsTailândiaAgradecemos por estar usando %s!A seção %s foi reposicionada %s aqui %sO "Modo Ghost" irá adicionar as regras de reescrita no arquivo de configuração para ocultar os caminhos antigos dos hackers.A API REST é crucial para muitos plugins, pois permite que eles interajam com o banco de dados do WordPress e executem várias ações de forma programática.O "Modo seguro" irá adicionar as regras de reescrita no arquivo de configuração para ocultar os caminhos antigos dos hackers.O URL seguro desativará todos os caminhos personalizados. Use-o apenas se não puder acessar.O banco de dados do WordPress é como um cérebro para todo o seu site WordPress, pois todas as informações sobre o site são armazenadas nele, o que o torna o alvo favorito dos hackers.

Spammers e hackers executam códigos automatizados para realizar injeções de SQL.
Infelizmente, muitas pessoas se esquecem de alterar o prefixo do banco de dados ao instalar o WordPress.
Isso torna mais fácil para os hackers planejarem um ataque em massa, tendo como alvo o prefixo padrão wp_.O slogan (frase de efeito) do site WordPress, é uma frase curta localizada abaixo do título do site, semelhante a um subtítulo ou slogan publicitário. O objetivo de um slogan é transmitir a essência do seu site aos visitantes.

Se você não alterar o slogan padrão, será muito fácil detectar que seu site foi realmente construído com WordPressA constante ADMIN_COOKIE_PATH está definida no wp-config.php por outro plugin. Você não pode alterar %s a menos que você remova a linha define('ADMIN_COOKIE_PATH', ...);.A lista de plugins e temas foi atualizada!A maneira mais comum de invadir um site é acessando o domínio e adicionando consultas prejudiciais para revelar informações de arquivos e banco de dados.
Esses ataques são feitos em qualquer site, WordPress ou não, e se uma chamada for bem-sucedida... provavelmente será tarde demais para salvar o site.O editor de arquivos de plugins e temas é uma ferramenta muito conveniente, pois permite você fazer alterações rápidas sem a necessidade de usar o FTP.

Infelizmente, ele também é um problema de segurança, pois não apenas mostra o código-fonte do PHP, mas também permite que os invasores injetem códigos maliciosos no seu site se conseguirem acessar a administração.O processo foi bloqueado pelo firewall do site.O URL solicitado %s não foi encontrado neste servidor.O parâmetro de resposta é inválido ou está malformado.O parâmetro secreto é inválido ou está malformado.Está faltando o parâmetro secreto.As "chaves de segurança" no arquivo wp-config.php devem ser renovadas com a maior frequência possível.Caminho dos temasSegurança de temasTemas atualizadosOcorreu um erro crítico no seu site.Ocorreu um erro crítico no seu site. Verifique a caixa de entrada de e-mail do administrador do seu site para obter instruções.Há um erro de configuração no plugin. Salve as configurações novamente e siga as instruções.Há uma versão mais recente do WordPress disponível ({version}).Não há changelog disponível.Não existe uma "senha sem importância"! O mesmo vale para a senha do seu banco de dados do WordPress.
Embora a maioria dos servidores esteja configurada para que o banco de dados não possa ser acessado de outros hosts (ou de fora da rede local), isso não significa que a senha do seu banco de dados deva ser "12345" ou nenhuma senha.Este recurso incrível não está incluído no plugin básico. Quer desbloqueá-lo? Basta instalar ou ativar o "Pacote avançado" e aproveitar os novos recursos de segurança.Este é um dos maiores problemas de segurança que você pode ter em seu site! Se a sua empresa de hospedagem tiver essa diretiva ativada por padrão, mude para outra empresa imediatamente!Isso pode não funcionar com todos os novos dispositivos móveis.Esta opção irá adicionar regras de reescrita ao arquivo .htaccess na área de regras de reescrita do WordPress entre os comentários # BEGIN WordPress e # END WordPress.Isso irá impedir a exibição dos caminhos antigos quando uma imagem ou fonte for chamada por meio de AjaxTrês diasTrês horasTimor-LestePara alterar os caminhos nos arquivos armazenados em cache, ative %s Alterar caminhos nos arquivos armazenados em cache%sPara ocultar a biblioteca do Avada, adicione o Avada FUSION_LIBRARY_URL no arquivo "wp-config.php" após a linha $table_prefix: %sPara melhorar a segurança do seu site, considere remover autores e estilos que apontam para o WordPress no seu XML do sitemap.TôgoToquelauTongaRastreie e registre os eventos do site e receba alertas de segurança por e-mail.Rastreie e registre eventos que ocorrem no seu site WordPressChinês tradicionalTrindad e TobagoSolução de problemasTunísiaTurquiaTurcoTurcomenistãoIlhas Turcas e CaicosDesative os plugins de depuração se o seu site estiver ativo. Você também pode adicionar a opção para ocultar os erros do banco de dados global $wpdb; $wpdb->hide_errors(); no arquivo wp-config.phpTuvaluAjustesAutenticação de dois fatoresMapeamento de URLUgandaUcrâniaUcranianoUltimate Affiliate Pro detectado. O plugin não é compatível com caminhos personalizados de %s, pois não usa as funções do WordPress para chamar o URL AjaxNão foi possível atualizar o arquivo wp-config.php para atualizar o prefixo do banco de dados.DesfazerEmirados Árabes UnidosReino UnidoEstados UnidosIlhas Menores Distantes dos Estados UnidosStatus do verificador de atualizações desconhecido "%s"Desbloquear tudoAtualize as configurações em %s para atualizar os caminhos após alterar o caminho da API REST.AtualizadoEnvie o arquivo com as configurações salvas do pluginCaminho de enviosAções de segurança urgentes necessáriasUruguaiUsar proteção contra força brutaUsar acessos temporáriosUtilize o shortcode %s para integrá-lo com outros formulários de login.UsuárioUsuário "admin" ou "administrator" como administradorAção do usuárioRegistro de eventos do usuárioFunção do usuárioSegurança do usuárioNão foi possível ativar o usuário.Não foi possível adicionar o usuárioNão foi possível excluir o usuário.Não foi possível desativar o usuário.Funções de usuário para quem desativar o clique com o botão direito do mouseFunções de usuário para quem desativar o copiar/colarFunções de usuário para quem desativar o arrastar/soltarFunções de usuário para quem desativar o "Inspecionar elemento"Funções de usuário para quem desativar a visualização do código-fonteFunções de usuário para quem ocultar a barra de ferramentas do administradorUsuário ativado.Usuário criado.Usuário excluído.Usuário desativado.Usuário atualizado.Os nomes de usuário (ao contrário das senhas) não são secretos. Se você souber o nome de usuário de alguém, não poderá acessar a conta desta pessoa. Você também precisa da senha.

No entanto, ao saber o nome de usuário, você está um passo mais perto de acessar usando o nome de usuário para fazer força bruta na senha ou para obter acesso de maneira semelhante.

É por isso que é aconselhável manter a lista de nomes de usuário privada, pelo menos até certo ponto. Por padrão, ao acessar "siteurl.com/?author={id}" e percorrer os IDs a partir de 1, você pode obter uma lista de nomes de usuário, pois o WP o redirecionará para "siteurl.com/author/user/" se o ID existir no sistema.Usar uma versão antiga do MySQL torna seu site lento e suscetível a ataques de hackers devido a vulnerabilidades conhecidas que existem em versões do MySQL que não são mais mantidas.

Você precisa do Mysql 5.4 ou superiorUsar uma versão antiga do PHP torna o seu site lento e suscetível a ataques de hackers devido a vulnerabilidades conhecidas que existem em versões do PHP que não são mais mantidas.

Você precisa do PHP 7.4 ou superior para o seu site.UzbequistãoVálidoValorVanuatuVenezuelaVersões no código-fonteVietnãVietnamitaVer detalhesIlhas Virgens BritânicasIlhas Virgens Americanas.W3 Total CacheSegurança dos arquivos básicos (core) do WPModo de depuração do WPWP EngineWP Fastest CacheWP RocketWP Super CacheCDN detectado no WP Super Cache. Inclua os caminhos %s e %s em WP Super Cache > CDN > Incluir diretóriosWPBakery Page BuilderWPPluginsWallis e FutunaNome fraco detectado: %s. Você precisa usar outro nome para aumentar a segurança do seu site.WebsiteSaara OcidentalOnde adicionar as regras do firewall.Lista de permissõesLista de permissões de IPsOpções da lista de permissõesCaminhos da lista de permissõesO Windows Live Writer está ativoAcesso seguro ao WooCommerceSuporte ao WooCommerceWoocommerceLink mágico do WoocommerceSenha do banco de dados do WordPressPermissões padrão do WordPressVerificação de segurança do WordPressVersão do WordPressO WordPress XML-RPC é uma especificação que visa a padronizar as comunicações entre diferentes sistemas. Ele usa HTTP como mecanismo de transporte e XML como mecanismo de codificação para permitir a transmissão de uma ampla gama de dados.

Os dois maiores ativos da API são sua extensibilidade e sua segurança. O XML-RPC se autentica usando a autenticação básica. Ele envia o nome de usuário e a senha em cada solicitação, o que é um grande problema nos círculos de segurança.O WordPress e seus plugins e temas são como qualquer outro software instalado no seu computador e como qualquer outro aplicativo nos seus dispositivos. Periodicamente, os desenvolvedores lançam atualizações que oferecem novos recursos ou corrigem erros conhecidos.

Os novos recursos podem ser algo que você não necessariamente deseja. Na verdade, você pode estar perfeitamente satisfeito com a funcionalidade que tem no momento. No entanto, você ainda pode estar preocupado com os erros.

Os erros de software podem ter várias formas e tamanhos. Um erro pode ser muito grave, como impedir que os usuários usem um plugin, ou pode ser um erro menor que afeta apenas uma determinada parte de um tema, por exemplo. Em alguns casos, os erros podem até causar falhas graves de segurança.

Manter os temas atualizados é uma das maneiras mais importantes e fáceis de manter seu site seguro.O WordPress e seus plugins e temas são como qualquer outro software instalado no seu computador e como qualquer outro aplicativo nos seus dispositivos. Periodicamente, os desenvolvedores lançam atualizações que oferecem novos recursos ou corrigem erros conhecidos.

Esses novos recursos podem não ser necessariamente algo que você deseja. Na verdade, você pode estar perfeitamente satisfeito com a funcionalidade que tem no momento. Mesmo assim, é provável que você se preocupe com os erros.

Os erros de software podem ter várias formas e tamanhos. Um erro pode ser muito grave, como impedir que os usuários usem um plugin, ou pode ser menor e afetar apenas uma determinada parte de um tema, por exemplo. Em alguns casos, os erros podem causar sérias falhas de segurança.

Manter os plugins atualizados é uma das maneiras mais importantes e fáceis de manter seu site seguro.O WordPress é conhecido por sua facilidade de instalação.
É importante ocultar os arquivos "wp-admin/install.php" e "wp-admin/upgrade.php" porque já ocorreram alguns problemas de segurança relacionados a esses arquivos.O WordPress, os plugins e os temas adicionam suas informações de versão ao código-fonte, para que qualquer pessoa possa vê-las.

Os hackers podem encontrar facilmente um site com plugins ou temas de versão vulnerável e atacá-los com Zero-Day Exploits (explorações de dia zero).Wordfence SecurityWpEngine detectado. Adicione os redirecionamentos no painel de regras de redirecionamento do WpEngine %s.Proteção de Nome de Usuário IncorretaSegurança do XML-RPCO acesso ao XML-RPC está ativadoIêmenSimSim, está funcionandoVocê já definiu um diretório wp-content/uploads diferente no wp-config.php %sVocê pode banir um único endereço IP, como 192.168.0.1, ou um intervalo de 245 IPs, como 192.168.0.*. Esses IPs não poderão acessar a página de acesso.Você pode criar uma nova página e voltar para escolher o redirecionamento para essa página.Você pode gerar %snovas chaves a partir daqui%s AUTH_KEY,SECURE_AUTH_KEY,LOGGED_IN_KEY,NONCE_KEY,AUTH_SALT,SECURE_AUTH_SALT,LOGGED_IN_SALT,NONCE_SALTVocê pode desativar a opção '%s' agora.Você pode definir para receber e-mails de alerta de segurança e evitar a perda de dados.Você pode colocar na lista de permissões um único endereço IP, como 192.168.0.1, ou um intervalo de 245 IPs, como 192.168.0.*. Encontre seu IP com %sVocê não pode definir tanto ADMIN quanto LOGIN com o mesmo nome. Use nomes diferentesVocê não tem permissão para acessar %s neste servidor.Você precisa ativar a reescrita de URL para o IIS para poder alterar a estrutura de link permanente para URLs amigáveis (sem index.php). %sMais detalhes%sVocê precisa definir um número positivo de tentativas.Você precisa definir um tempo de espera positivo.Você precisa definir a estrutura de link permanente para o URL amigável (sem index.php).Você deve sempre atualizar o WordPress para as %sversões mais recentes%s. Elas geralmente incluem as correções de segurança mais recentes e não alteram o WP de forma significativa. Elas devem ser aplicadas assim que o WP as disponibilizar.

Quando uma nova versão do WordPress estiver disponível, você receberá uma mensagem de atualização nas telas de administração do WordPress. Para atualizar o WordPress, clique no link desta mensagem.Você deve verificar seu site todas as semanas para ver se há alguma alteração de segurança.Sua licença do %s %s expirou em %s %s. Para manter a segurança do seu site atualizada, certifique-se de ter uma assinatura válida em %saccount.hidemywpghost.com%sSeu IP foi sinalizado por possíveis violações de segurança. Tente novamente daqui a pouco...Seu URL de administrador não pode ser alterado na hospedagem %s devido aos termos de segurança de %s.Seu URL de administração foi alterado por outro plugin/tema em %s. Para ativar esta opção, desative o administrador personalizado no outro plugin ou desative-o.Seu URL de acesso foi alterado por outro plugin/tema em %s. Para ativar esta opção, desative o acesso personalizado no outro plugin ou desative-o.Seu URL de acesso é: %sSeu URL de acesso será: %s Caso você não consiga acessar, use o URL seguro: %sSua nova senha não foi salva.Seus novos URLs do site sãoA segurança do seu site %sestá extremamente fraca%s. %sMuitas portas para invasão estão disponíveis.A segurança do seu site %sestá muito fraca%s. %sMuitas portas para invasão estão disponíveis.A segurança do seu site está cada vez melhor. %sCertifique-se apenas de concluir todas as tarefas de segurança.A segurança do seu site ainda está fraca. %sAlgumas das principais portas para invasão ainda estão disponíveis.A segurança do seu site está forte. %sContinue verificando a segurança todas as semanas.ZâmbiaZimbábueativar recursoapós o primeiro acessojá está ativoescuropadrãoDiretiva PHP "display_errors"ex.: *.colocrossing.comex.: /cart/ex.: “/cart/” irá colocar na lista de permissões todos os caminhos que começam com “/cart/"ex.: /checkout/ex.: "/post-type/" bloqueará todos os caminhos que começam com "/post-type/"ex.: acapbotex.: alexibotex.: badsite.comex.: gigabotex.: kanagawa.comex.: xanax.comex.:por exemplo, /logout ouex.: adm, painex.: ajax, jsonex.: aparencia, modelos, estilosex.: comentarios, discussaoex.: nucleo, inc, incluirex.: disable_url, safe_urlex.: imagens, arquivosex.: json, api, callex.: bib, bibliotecaex.: acessar ou entrarex.: sair ou desconectarex.: senha perdida ou esqueci a senhaex.: main.css, theme.css, design.cssex.: modulosex.: link de ativacao de multisiteex.: novousuario ou cadastroex.: perfil, usuario, autordeajudahttps://hidemywp.comignorar alertaOs arquivos "install.php" e "upgrade.php" estão acessíveisclaroregistoregistosmais detalhesnão recomendadoapenas %d caracteresouNão correspondeMédiaForça da senha desconhecidaForteMuito fracaFracaTeste do reCAPTCHATeste do reCAPTCHA V2Teste do reCAPTCHA V3Idioma do reCaptchaTema do reCaptchaO arquivo "readme.html" está acessívelrecomendadoredirecionamentosver recursoiniciar configuração do recursoUma nova versão do plugin %s está disponível.Não foi possível determinar se existem Atualizações para %s.O plugin %s está atualizado.parasimples demaisOs arquivos "wp-config.php" e "wp-config-sample.php" estão acessíveislanguages/hide-my-wp-pt_PT.mo000064400000464116147600042240012066 0ustar003)LSooeo pp pe:p%ppppPqhqXqTr>qr>rMr2=s)psBsEs#t tMtDuau eu ou}uu uu u uuePv)v v v v8w?xFxOxxyy0yJy%_yCyTyGz;fz5zLz%{{{L{"|<)|/f|%|||'|}7-}$e}R}!}}5~SQ~~~~,~':/7j3    . @XL+ р߀  $ ;'HpGdSrfjقD  4;8B { MW _k A ܅ %=E M ZePnΆֆކ T \ ftŇԇ6 Q] p|! ƈԈۈ (@]t ~ (I0zL~Fˊ7@S ϋ֋Y GRds Ō4%Q-w(J΍"6<ksdߎQDIUq6M 10;bCF5)_ekFm_Rgx/e@ ` l`xٕݕ  "#9,]ray_nٗpH' ej[^ƙ%B%HanК7ٚ  Y( 1ڛ. ;G[45؜&A͝ʞҞ۞(:Mg|(П %8Lc{@Р371ipv   šСء%@?*  Ǣ!Ӣ +#Fnj٣ "'Jb( ɤ/8!Jl$c $9[^%Ѧ)&!ZHP.O#0s/5Ԩ, 7}"v%/=mv)@F,;Hh87"( 7 AKT]DcF \ h n z ȮPׯ+ݯ ̰1԰ =N](sձuIDzвײ ̳޳bkU ʶֶ޶N 5CJ ft} nt{!ӹ% ?EV6;&M/}  ˻  t"Uc_Q^gexU޾d4f2m3)  =* * 5 ?7`;WUCO Fe'+   %/8 ?MTZ\w! KTYk${1"&)P?c2E]t 1%=Wl%""7AQyF(; P)^.5M;S&k:3UVWSTHWGfgk7  K  +5 =gI Yv!UIF8y`rxMqF8=8=~5Z6 ^M7^-RO-Q}PR s ]Bzhzf )2;B ^io4x    ( 4AH PZlt3#"9\{##7= JR+Z C *4 D N Ye@{=>%96_v  (2BQb{    .9_KR[dio!)$A@@( 6  );C JU\|7. - 8 CM gtY|   n H  + 1;AINQc~   . 5?Q9e#;Z go x R= JRcs| 2"1:@V]nw6~)  '0D  1B )GAXk88?x  "65Ul+ >->l1Yz9&+3=qy>12&>FY` + <5 -r )          +  E f         1 " 1 C 5J  %       -b @ R8O.6  $1?q5 g>C['q&<"% H Vc{   #   '6FN|/c ,   ' -9B Ycj?r954">W| 64 kw  /7<,t,aV`RHGu8]U4 !2A!/t!-! !J! >"J"Z"0p"k"h #<v# #B#%%.a&&Y)' ' ' 'T'u'uq((((F(7A)y)))))) )))*** *** **\o++++ +$,"(, K,LV,,., , ,--+-<@-}-0- -- - --..7.-S.,.+.1.- /,:/g/////c/U2:3 +464<4B4 J4T4l4 t4 44444 4 44 5 5i55 55W566 &6 G6 Q6_6q6666 6667#7<7N7:9>Q<?m@NAMaAAAAAAAP B\BKB6C!CCCt7DQD:D9E.E(EL!FnFRGDHaHODII$JJHJ%K9KPPKKK^KZLLILLLMM%M4M9MAM^M vM8MM>M N N%N 6NCNUNdNhN wNNNNNNNO"O3OGO`O${O OOOOOPP P.'PVP\P`P ePrP PPPP+PP Q(Q?QNQ`QrQQQ Q Q QQ=QE(R-nRR R9R<R!TTbUtU%UiU"V7VWV(sVXVVW/0XN`XKXcX<_Y4Y?YcZuZ&[n([W[[ [ \ \ \)\ =\ I\ U\a\v\5j]]] ]b]5_<_C_0_#`)=`g``1`X`r"aZaOa@@bMbbXc lcSvc-cQcEJd8d d.d7e"QeOte.ee+xf&f;fqgyggg<g>gH5ha~h@h!i:i'Vi~i#i iii i_i;Wjj j jjjjjjk0#k#Tk$xkTkxkkll'mmnnnn nnnn:n o$o-o3o p*p3pDp bp np[zpp ppqq-9qgqoqwq qqaqr r#r,r3r9rBr[r\br rrrr s #sDsWs0vssJst t =tKtTtttt ttt(tt t)u.,u)[uu uuu EvRv\Zvv`vEw bwJnwVw xx &x(0xYxaxtxq}x xx yy7y=yEyVygy-~y!y&yy z*3z=^z3zTz %{?F{}{v|Z{|d|Z;}}Z!~|~~~D~FZY]L_ek;}nc( =mS]mу?C Yc|'6܄f†^)!5<mH- o {6 Ɗy׊ Qr (2֋; 7EY}N׌K&r=d#(! /NAn &ѐ#;<Z"$ ߑ #!!EgP֒5>F ʓѓ &(=fP?2 FP Y.e•"ٕ:7&!%;*f-8 C(Dl$֘:x,$9r .Gޚ-&aTV2 \@><ܜ;:Ux4xF'4%1;[m\ɠ2&PYINCI ` jt} QL/7Ij[ƣ ̣ أ!51ǥ?ɦ 3$-X_1$-6=N a%:Tj~ Ю   (1$Hm- ȱEֱJg|DIʲfdz۳ 0}Bgn(vpxpgioѷqA<y0j¹ѹ ]9  G U)_AB˻'Y6OR ;FZTn1ý19'"a   ɾ о޾YE O/8(A(+j//{r!4%E_"4/%d&%$<9*v20D\JU(&B*X2;T'Go-y97qh\cZMNi mkGB( d BMV ^yj  RQ`RDRr~xNHFBo O'w)   ixD5d \\b?U6= EQXaR7QZbu}l % CPXAa ',"19Pdm t o<(P'y%%7MR5! 3]A  &U P`O=@? %3G \!}4 . JW;w   Itov/92/0N`HB ;F UC_  &! /*7b{ 57    8FjO ( YO^o u -#&H?  *", 4?[FxND *CHYd bkb  " /9&Ho*#n <<>P  M[  " !:HT???  ) "G j 4 T b Gu   ] /5  e 7 j )    H ( G ^ s |   B   W<[=- # [?y>  '4 M Zh% 27;)s K *Ja }4"^QgaL?VFk)_&eE  p[c}4(JB^/x  (    #)1 [f   9'a'p *    2 ;  P ] e Hk < > :0!Ik!!M";l""""" ""#%#>#'S#{##H#6# )$ 4$?$(U$~$%%j!&&[{()6|*?*+/-7-4-0.$P.hu.../(/F/l/=?0&}00?22H33p4 5 )5 55bA55|-6666N6? 7L7`7r7777777888888 88e9: : #:/:+>:9j::a: ;;";^;+q;;3;;U; M<8X<< <<<$<*=)G=*q=====>>FW>N>F>4?T?!s?"?"??BC D DDD DDD E EE9ESEbE~E EE EEtEAF WFaF_qFFF%F GG:G"SG#vG%GG GG+G #H(DHmHHJFNQRSnS(gTTTT TT[TGUNU+V#VXVGW`W59XoX6 Y0AYRrYY]~[[u\d\b] ^^P^+_1_dP_U_n `z`[`Xa `ajaa aa aaaaI bTbVlbbbbcc5c KcXcocc%c%c"cd$dDdadd d.d#de#e4e"Tewezeee:eeee eff(f+f=f%Dfjf pf|ffffff(f gg "g).g0XgMggg gEhYV~" W{7]meBAmHnW9}02e3^B+v+k-tNY`0)uRz&?1(*f%X!$ #> 1/ qH& fBL bzVa*gMe, 'b$=" mTarxiDHqD&TgNu>"wzU#w%-Z-]%<dR9 k1^ALl\p2H-SFo+w5|dkQauW2K]A57:nR},|~)=I7^:W\I 8y oKD .}E !.</nM.z:YN6WR$58|Og,0;' |ZJ*@r3,4eyOsPJQui!R vS~MLGcV;cJhov QXE\M c: 2-+F4 Gsd%(SjIZs> P?atuj|Jxwi{[Y1*4@y.Dp7 5(<?8)lAt,XO2 9-i5v0GPSe{=t^~_[@$_%h*"#~/l^04; xCfl!9 ,(" 6E <Y6 U0>{*F vP]oZJXB_lgE'_!qd@p%p&kT(I\=Q1&[C 9Um#mjx3"sG:N'}yI)bnd`Uf+)h.'ctL3&C=j+rr]@n8Zc oK#;4EOQhKhKFV `}CM# `2DLjCS[ kV{6br?b3w!s_/\/1)N[<i/Ty?8z'XF;UH>.AxaP7qgTGB`p6  (O$qf3$ #1 Hack Prevention Security Solution: Hide WP CMS, 7G/8G Firewall, Brute Force Protection, 2FA, GEO Security, Temporary Logins, Alerts & more.%1$s is deprecated since version %2$s! Use %3$s instead. Please consider writing more inclusive code.%d %s ago%d %s remaining%s days since last update%s does not work without mode_rewrite. Please activate the rewrite module in Apache. %sMore details%s%s don't have the correct permission.%s is visible in source code%s path is accessible%s plugin(s) are outdated: %s%s plugin(s) have NOT been updated by their developers in the past 12 months: %s%s protects your website from most SQL injections but, if possible, use a custom prefix for database tables to avoid SQL injections. %sRead more%s%s rules are not saved in the config file and this may affect the website loading speed.%s theme(s) are outdated: %s%sClick here%s to create or view keys for Google reCAPTCHA v2.%sClick here%s to create or view keys for Google reCAPTCHA v3.%sERROR:%s Email or Password is incorrect. %s %d attempts left before lockout%sHide the login path%s from theme menu or widget.%sIncorrect ReCaptcha%s. Please try again%sNOTE:%s If you didn't receive the credentials, please access %s.%sYou failed to correctly answer the math problem.%s Please try again(* the plugin has no extra cost, gets installed / activated automatically inside WP when you click the button, and uses the same account)(multiple options are available)(useful when the theme is adding wrong admin redirects or infinite redirects)(works only with the custom admin-ajax path to avoid infinite loops)2FA2FA Login403 Forbidden403 HTML Error404 HTML Error404 Not Found404 page7G Firewall8G FirewallA feature designed to stops attacks from different countries, and to put an end to harmful activity that comes from specific regions.A thorough set of rules can prevent many types of SQL Injection and URL hacks from being interpreted.A user already exists with that username.API SecurityAPI SettingsAWS BitnamiAccording to %sGoogle latest stats%s, over %s 30k websites are hacked every day %s and %s over 30% of them are made in WordPress %s. %s It's better to prevent an attack than to spend a lot of money and time to recover your data after an attack not to mention the situation when your clients' data are stolen.ActionActivateActivate 'Must Use Plugin Loading' from 'Plugin Loading Hook' to be able to connect to your dashboard directly from managewp.com. %s click here %sActivate Brute Force ProtectionActivate Events LogActivate Log Users EventsActivate Temporary LoginsActivate Your PluginActivate info and logs for debugging.Activate the "Brute Force" option to see the user IP blocked reportActivate the "Log Users Events" option to see the user activity log for this websiteActivate the Brute Force protection for Woocommerce login/signup forms.Activate the Brute Force protection on lost password forms.Activate the Brute Force protection on sign up forms.Activate the firewall and prevent many types of SQL Injection and URL hacks.Activate the firewall and select the firewall strength that works for your website %s %s > Change Paths > Firewall & Headers %sActivation HelpAddAdd IP addresses that should always be blocked from accessing this website.Add Content-Security-Policy headerAdd Headers Security against XSS and Code Injection Attacks.Add IP addresses that can pass plugin security.Add IPs that can pass plugin securityAdd New Temporary LoginAdd New Temporary Login UserAdd Rewrites in WordPress Rules SectionAdd Security HeaderAdd Security Headers for XSS and Code Injection AttacksAdd Strict-Transport-Security headerAdd Two Factor security on login page with Code Scan or Email Code authentication.Add X-Content-Type-Options headerAdd X-XSS-Protection headerAdd a list of URLs you want to replace with new ones.Add a random static number to prevent frontend caching while the user is logged in.Add another CDN URLAdd another URLAdd another textAdd common WordPress classes in text mappingAdd paths that can pass plugin securityAdd paths that will be blocked for the selected countries.Add redirects for the logged users based on user roles.Add the CDN URLs you're using in the cache plugin. Admin PathAdmin SecurityAdmin ToolbarAdmin URLAdmin UsernameAdvancedAdvanced PackAdvanced SettingsAfghanistanAfter adding the classes, verify the frontend to ensure that your theme is not affected.After, click %sSave%s to apply the changes.Ajax SecurityAjax URLAland IslandsAlbaniaAlert Emails SentAlgeriaAll ActionsAll In One WP SecurityAll WebsitesAll files have the correct permissions.All plugins are compatibleAll plugins are up to dateAll plugins have been updated by their developers in the past 12 monthsAll the logs are saved on Cloud for 30 days and the report is available if your website is attacked.Allow Hidden PathsAllow users to log in to WooCommerce account using their email address and a unique login URL delivered via email.Allow users to log in to the website using their email address and a unique login URL delivered via email.Allowing anyone to view all files in the Uploads folder with a browser will allow them to easily download all your uploaded files. It's a security and a copyright issue.American SamoaAndorraAngolaAnguillaAntarcticaAntigua and BarbudaApacheArabicAre you sure you want to ignore this task in the future?ArgentinaArmeniaArubaAttention! Some URLs passed through the config file rules and were loaded through WordPress rewrite which may slow down your website. %s Please follow this tutorial to fix the issue: %sAustraliaAustriaAuthor PathAuthor URL by ID accessAuto DetectAutodetectAutomatically redirect the logged in users to the admin dashboardAutoptimizerAzerbaijanBackend under SSLBackup SettingsBackup/RestoreBackup/Restore SettingsBahamasBahrainBan durationBangladeshBarbadosBe sure to include only internal URLs, and use relative paths whenever possible.Beaver BuilderBelarusBelgiumBelizeBeninBermudaBest regardsBhutanBitnami detected. %sPlease read how to make the plugin compatible with AWS hosting%sBlacklistBlacklist IPsBlank Screen On DebuggingBlock CountriesBlock HostnamesBlock IP on login pageBlock ReferrerBlock Specific PathsBlock Theme Detectors CrawlersBlock User AgentsBlock known Users-Agents from popular Theme Detectors.Blocked IPsBlocked IPs ReportBlocked by BoliviaBonaire, Saint Eustatius and SabaBosnia and HerzegovinaBotswanaBouvet IslandBrazilBritish EnglishBritish Indian Ocean TerritoryBrunei DarussalamBrute ForceBrute Force IPs BlockedBrute Force Login ProtectionBrute Force ProtectionBrute Force SettingsBulgariaBulgarianBulletProof plugin! Make sure you save the settings in %s after activating Root Folder BulletProof Mode in BulletProof plugin.Burkina FasoBurundiBy activating, you agree to our %s Terms of Use %s and %sPrivacy Policy%sCDNCDN Enabled detected. Please include %s and %s paths in CDN Enabler SettingsCDN Enabler detected! Learn how to configure it with %s %sClick here%sCDN URLsCONNECTION ERROR! Make sure your website can access: %sCache CSS, JS and Images to increase the frontend loading speed.Cache EnablerCambodiaCameroonCan't download the plugin.CanadaCanadian FrenchCancelCancel the login hooks from other plugins and themes to prevent unwanted login redirects.Cape VerdeCatalan ValencianCayman IslandsCentral African RepublicChadChangeChange OptionsChange PathsChange Paths NowChange Paths for Logged UsersChange Paths in Ajax CallsChange Paths in Cached FilesChange Paths in RSS feedChange Paths in Sitemaps XMLChange Relative URLs to Absolute URLsChange WordPress paths while you're logged inChange paths in RSS feed for all images.Change paths in Sitemap XML files and remove the plugin author and styles.Change the Tagline in %s > %s > %sChange the WordPress common paths in the cached files.Change the signup path from %s %s > Change Paths > Custom Register URL%s or uncheck the option %s > %s > %sChange the text in all CSS and JS files, including those in cached files generated by cache plugins.Change the user 'admin' or 'administrator' with another name to improve security.Change the wp-config.php file permission to Read-Only using File Manager.Change the wp-content, wp-includes and other common paths with %s %s > Change Paths%sChange the wp-login from %s %s > Change Paths > Custom login URL%s and Switch on %s %s > Brute Force Protection%sChanging the predefined security headers may affect the website funtionality.Check Frontend PathsCheck Your WebsiteCheck for updatesCheck if the website paths are working correctly.Check if your website is secured with the current settings.Check the %s RSS feed %s and make sure the image paths are changed.Check the %s Sitemap XML %s and make sure the image paths are changed.Check the website loading speed with %sPingdom Tool%sChileChinaChoose a proper database password, at least 8 characters long with a combination of letters, numbers and special characters. After you change it, set the new password in the wp-config.php file define('DB_PASSWORD', 'NEW_DB_PASSWORD_GOES_HERE');Choose the countries where access to the website should be restricted.Choose the type of server you are using to get the most suitable configuration for your server.Chose what to do when accessing from whitelist IP addresses and whitelisted paths.Christmas IslandClean Login PageClick %sContinue%s to set the predefined paths.Click Backup and the download will start automatically. You can use the Backup for all your websites.Click to run the process to change the paths in the cache files.Close ErrorCloud PanelCloud Panel detected. %sPlease read how to make the plugin compatible with Cloud Panel hosting%sCntCocos (Keeling) IslandsColombiaComments PathComorosCompatibilityCompatibility SettingsCompatibility with Manage WP pluginCompatibility with Token Based Login pluginsCompatible with All In One WP Security plugin. Use them together for Virus Scan, Firewall, Brute Force protection.Compatible with JCH Optimize Cache plugin. Works with all the options to optimize for CSS and JS.Compatible with Solid Security plugin. Use them together for Site Scanner, File Change Detection, Brute Force Protection.Compatible with Sucuri Security plugin. Use them together for Virus Scan, Firewall, File Integrity Monitoring.Compatible with Wordfence Security plugin. Use them together for Malware Scan, Firewall, Brute Force protection.Compatible with all themes and plugins.Complete FixConfigConfig file is not writable. Create the file if not exists or copy to %s file the following lines: %sConfig file is not writable. Create the file if not exists or copy to %s file with the following lines: %sConfig file is not writable. You have to added it manually at the beginning of the %s file: %sConfirm use of weak passwordCongoCongo, The Democratic Republic of theCongratulations! You completed all the security tasks. Make sure you check your site once a week.ContinueConvert links like /wp-content/* into %s/wp-content/*.Cook IslandsCopy LinkCopy the %s SAFE URL %s and use it to deactivate all the custom paths if you can't login.Core Contents PathCore Includes PathCosta RicaCote dIvoireCould not detect the userCould not fix it. You need to change it manually.Could not found anything based on your search.Could not login with this user.Could not rename table %1$s. You may have to rename the table manually.Could not update prefix references in options table.Could not update prefix references in usermeta table.Country BlockingCreateCreate New Temporary LoginCreate a temporary login URL with any user role to access the website dashboard without username and password for a limited period of time.Create a temporary login URL with any user role to access the website dashboard without username and password for a limited period of time. %s This is useful when you need to give admin access to a developer for support or for performing routine tasks.CroatiaCroatianCubaCuracaoCustom Activation PathCustom Admin PathCustom Cache DirectoryCustom Login PathCustom Logout PathCustom Lost Password PathCustom Register PathCustom Safe URL ParamCustom admin-ajax PathCustom author PathCustom comment PathCustom message to show to blocked users.Custom plugins PathCustom theme style nameCustom themes PathCustom uploads PathCustom wp-content PathCustom wp-includes PathCustom wp-json PathCustomize & Secure all WordPress paths from hacker bots attacks.Customize Plugin NamesCustomize Theme NamesCustomize the CSS and JS URLs in your website body.Customize the IDs and Class names in your website body.CyprusCzechCzech RepublicDB Debug ModeDanishDashboardDatabase PrefixDateDeactivatedDebug ModeDefaultDefault Redirect After LoginDefault Temporary Expire TimeDefault User RoleDefault WordPress TaglineDefault user role for which the temporary login will be created.Delete Temporary Users on Plugin UninstallDelete userDenmarkDetailsDirectoriesDisable "rest_route" param accessDisable Click MessageDisable CopyDisable Copy/PasteDisable Copy/Paste MessageDisable Copy/Paste for Logged UsersDisable DISALLOW_FILE_EDIT for live websites in wp-config.php define('DISALLOW_FILE_EDIT', true);Disable Directory BrowsingDisable Drag/Drop ImagesDisable Drag/Drop MessageDisable Drag/Drop for Logged UsersDisable Inspect ElementDisable Inspect Element MessageDisable Inspect Element for Logged UsersDisable OptionsDisable PasteDisable REST API accessDisable REST API access for not logged in usersDisable REST API access using the parameter 'rest_route'Disable RSD Endpoint from XML-RPCDisable Right-ClickDisable Right-Click for Logged UsersDisable SCRIPT_DEBUG for live websites in wp-config.php define('SCRIPT_DEBUG', false);Disable View SourceDisable View Source MessageDisable View Source for Logged UsersDisable WP_DEBUG for live websites in wp-config.php define('WP_DEBUG', false);Disable XML-RPC accessDisable copy function on your websiteDisable image drag & drop on your websiteDisable paste function on your websiteDisable the RSD (Really Simple Discovery) support for XML-RPC & remove RSD tag from headerDisable the access to /xmlrpc.php to prevent %sBrute force attacks via XML-RPC%sDisable the copy/paste action on your website.Disable the external calls to xml-rpc.php file and prevent Brute Force attacks.Disable the inspect element view on your websiteDisable the right-click action on your website.Disable the right-click functionality on your websiteDisable the source-code view on your websiteDisplaying any kind of debug info in the frontend is extremely bad. If any PHP errors happen on your site they should be logged in a safe place and not displayed to visitors or potential attackers.DjiboutiDo Login & Logout RedirectsDo not log out from this browser until you are confident that the Log in page is working and you will be able to login again.Do not logout from your account until you are confident that reCAPTCHA is working and you will be able to login again.Do you want to delete temporary user?Do you want to restore the last saved settings?DominicaDominican RepublicDon't forget to reload the Nginx service.Don't let URLs like domain.com?author=1 show the user login nameDon't let hackers see any directory content. See %sUploads Directory%sDon't load Emoji Icons if you don't use themDon't load WLW if you didn't configure Windows Live Writer for your siteDon't load oEmbed service if you don't use oEmbed videosDon't select any role if you want to log all user rolesDone!Download DebugDrupal 10Drupal 11Drupal 8Drupal 9DutchERROR! Please make sure you use a valid token to activate the pluginERROR! Please make sure you use the right token to activate the pluginEcuadorEdit UserEdit userEdit wp-config.php and add ini_set('display_errors', 0); at the end of the fileEgyptEl SalvadorElementorEmailEmail AddressEmail NotificationEmail address already existsEmail your hosting company and tell them you'd like to switch to a newer version of MySQL or move your site to a better hosting companyEmail your hosting company and tell them you'd like to switch to a newer version of PHP or move your site to a better hosting company.EmptyEmpty ReCaptcha. Please complete reCaptcha.Empty email addressEnabling this option may slow down the website, as CSS and JS files will load dynamically instead of through rewrites, allowing the text within them to be modified as needed.EnglishEnter the 32 chars token from Order/Licence on %sEquatorial GuineaEritreaError! No backup to restore.Error! The backup is not valid.Error! The new paths are not loading correctly. Clear all cache and try again.Error! The preset could not be restored.Error: You entered the same URL twice in the URL Mapping. We removed the duplicates to prevent any redirect errors.Error: You entered the same text twice in the Text Mapping. We removed the duplicates to prevent any redirect errors.EstoniaEthiopiaEuropeEven if the default paths are protected by %s after customization, we recommend setting the correct permissions for all directories and files on your website, use File Manager or FTP to check and change the permissions. %sRead more%sEvents LogEvents Log ReportEvents Log SettingsEvery good developer should turn on debugging before getting started on a new plugin or theme. In fact, the WordPress Codex 'highly recommends' that developers use SCRIPT_DEBUG. Unfortunately, many developers forget the debug mode even when the website is live. Showing debug logs in the frontend will let hackers know a lot about your WordPress website.Every good developer should turn on debugging before getting started on a new plugin or theme. In fact, the WordPress Codex 'highly recommends' that developers use WP_DEBUG.

Unfortunately, many developers forget the debug mode, even when the website is live. Showing debug logs in the frontend will let hackers know a lot about your WordPress website.Example:Expire TimeExpiredExpiresExposing the PHP version will make the job of attacking your site much easier.Fail AttemptsFailedFalkland Islands (Malvinas)Faroe IslandsFeaturesFeed & SitemapFeed SecurityFijiFile PermissionsFile permissions in WordPress play a critical role in website security. Properly configuring these permissions ensures that unauthorized users cannot gain access to sensitive files and data.
Incorrect permissions can inadvertently open your website to attacks, making it vulnerable.
As a WordPress administrator, understanding and correctly setting file permissions are essential for safeguarding your site against potential threats.FilesFilterFinlandFirewallFirewall & HeadersFirewall Against Script InjectionFirewall LocationFirewall StrengthFirewall against injections is loadedFirst NameFirst, you need to activate the %sSafe Mode%s or %sGhost Mode%sFirst, you need to activate the %sSafe Mode%s or %sGhost Mode%s in %sFix PermissionsFix itFix permission for all directories and files (~ 1 min)Fix permission for the main directories and files (~ 5 sec)FlywheelFlywheel detected. Add the redirects in the Flywheel Redirect rules panel %s.Folder %s is browsableForbiddenFranceFrenchFrench GuianaFrench PolynesiaFrench Southern TerritoriesFrom: %s <%s>Front pageFrontend Login TestFrontend TestFully compatible with Autoptimizer cache plugin. Works best with the the option Optimize/Aggregate CSS and JS files.Fully compatible with Beaver Builder plugin. Works best together with a cache plugin.Fully compatible with Cache Enabler plugin. Works best with the the option Minify CSS and JS files.Fully compatible with Elementor Website Builder plugin. Works best together with a cache pluginFully compatible with Fusion Builder plugin by Avada. Works best together with a cache plugin.Fully compatible with Hummingbird cache plugin. Works best with the the option Minify CSS and JS files.Fully compatible with LiteSpeed Cache plugin. Works best with the the option Minify CSS and JS files.Fully compatible with Oxygen Builder plugin. Works best together with a cache plugin.Fully compatible with W3 Total Cache plugin. Works best with the the option Minify CSS and JS files.Fully compatible with WP Fastest Cache plugin. Works best with the the option Minify CSS and JS files.Fully compatible with WP Super Cache cache plugin.Fully compatible with WP-Rocket cache plugin. Works best with the the option Minify/Combine CSS and JS files.Fully compatible with Woocommerce plugin.Fusion BuilderGabonGambiaGeneralGeo SecurityGeographic Security is a feature designed to stops attacks from different countries, and to put an end to harmful activity that comes from specific regions.GeorgiaGermanGermanyGhanaGhost ModeGhost Mode + Firewall + Brute Force + Events Log + Two factorGhost Mode will set these predefined pathsGhost modeGibraltarGive random names to each pluginGive random names to each theme (works in WP multisite)Global class name detected: %s. Read this article first: %sGo to Events Log PanelGo to the Dashboard > Appearance section and update all the themes to the last version.Go to the Dashboard > Plugins section and update all the plugins to the last version.GodaddyGodaddy detected! To avoid CSS errors, make sure you switch off the CDN from %sGoodGoogle reCAPTCHA V2Google reCAPTCHA V3Google reCaptcha V3 is not working with the current login form of %s .Great! The backup is restored.Great! The initial values are restored.Great! The new paths are loading correctly.Great! The preset was loaded.GreeceGreekGreenlandGrenadaGuadeloupeGuamGuatemalaGuernseyGuineaGuinea-BissauGuyanaHaitiHaving the admin URL visible in the source code it's awful because hackers will immediately know your secret admin path and start a Brute Force attack. The custom admin path should not appear in the ajax URL.

Find solutions for %s how to hide the path from source code %s.Having the login URL visible in the source code is awful because hackers will immediately know your secret login path and start a Brute Force attack.

The custom login path should be kept secret, and you should have Brute Force Protection activated for it.

Find solutions for %s hiding the login path from source code here %s.Having this PHP directive enabled will leave your site exposed to cross-site attacks (XSS).

There's absolutely no valid reason to enable this directive, and using any PHP code that requires it is very risky.Header SecurityHeaders & FirewallHeard Island and McDonald IslandsHebrewHelp & FAQsHere is the list of select counties where your website will be restricted..HideHide "login" PathHide "wp-admin"Hide "wp-admin" From Non-Admin UsersHide "wp-login.php"Hide /login path from visitors.Hide /wp-admin path from non-administrator users.Hide /wp-admin path from visitors.Hide /wp-login.php path from visitors.Hide Admin ToolbarHide Admin Toolbar for users roles to prevent dashboard access.Hide All The PluginsHide Author ID URLHide Common FilesHide Embed scriptsHide EmojiconsHide Feed & Sitemap Link TagsHide File ExtensionsHide HTML CommentsHide IDs from META TagsHide Language SwitcherHide My WP GhostHide OptionsHide Paths in Robots.txtHide Plugin NamesHide REST API URL linkHide Theme NamesHide Version from Images, CSS and JS in WordPressHide Versions from Images, CSS and JSHide WLW Manifest scriptsHide WP Common FilesHide WP Common PathsHide WordPress Common FilesHide WordPress Common PathsHide WordPress DNS Prefetch META TagsHide WordPress Generator META TagsHide WordPress Old Plugins PathHide WordPress Old Themes PathHide WordPress common paths from %s Robots.txt %s file.Hide WordPress paths such as wp-admin, wp-content, and more from robots.txt file.Hide all versions from the end of any Image, CSS and JavaScript files.Hide both active and deactivated pluginsHide completed tasksHide passwordHide the /feed and /sitemap.xml link TagsHide the DNS Prefetch that points to WordPressHide the HTML Comments left by the themes and pluginsHide the IDs from all <links>, <style>, <scripts> META TagsHide the New Admin PathHide the New Login PathHide the WordPress Generator META tagsHide the admin toolbar for logged users while in frontend.Hide the language switcher option on the login pageHide the new admin path from visitors. Show the new admin path only for logged users.Hide the new login path from visitors. Show the new login path only for direct access.Hide the old /wp-content, /wp-include paths once they are changed with the new onesHide the old /wp-content, /wp-include paths once they are changed with the new ones.Hide the old /wp-content/plugins path once it's changed with the new oneHide the old /wp-content/themes path once it's changed with the new oneHide wp-admin from Ajax URLHide wp-config.php , wp-config-sample.php, readme.html, license.txt, upgrade.php and install.php filesHide wp-config.php, wp-config-sample.php, readme.html, license.txt, upgrade.php and install.php files..Hide wp-json & ?rest_route link tag from website headerHiding the ID from meta tags in WordPress can potentially impact the caching process of plugins that rely on identifying the meta tags.HindiHoly See (Vatican City State)HondurasHong KongHostnameHow long the temporary login will be available after the user first access.HummingbirdHungarianHungaryIIS WindowsIIS detected. You need to update your %s file by adding the following lines after <rules> tag: %sIPIP BlockedIcelandIf the reCAPTCHA displays any error, please make sure you fix them before moving forward.If the rewrite rules are not loading correctly in the config file, do not load the plugin and do not change the paths.If you are connected with the admin user, you will have to re-login after the change.If you can't configure %s, switch to Deactivated Mode and %scontact us%s.If you can't configure reCAPTCHA, switch to Math reCaptcha protection.If you do not have an e-commerce, membership or guest posting website, you shouldn't let users subscribe to your blog. You will end up with spam registrations and your website will be filled with spammy content and comments.If you have access to php.ini file, set allow_url_include = off or contact the hosting company to set it offIf you have access to php.ini file, set expose_php = off or contact the hosting company to set it offIf you have access to php.ini file, set register_globals = off or contact the hosting company to set it offIf you have access to php.ini file, set safe_mode = off or contact the hosting company to set it offIf you notice any functionality issue please select the %sSafe Mode%s.If you're able to log in, you've set the new paths correctly.If you're able to login, you've set reCAPTCHA correctly.If you're not using Windows Live Writer there's really no valid reason to have its link in the page header, because this tells the whole world you're using WordPress.If you're not using any Really Simple Discovery services such as pingbacks, there's no need to advertise that endpoint (link) in the header. Please note that for most sites this is not a security issue because they "want to be discovered", but if you want to hide the fact that you're using WP, this is the way to go.If your site allows user logins, you need your login page to be easy to find for your users. You also need to do other things to protect against malicious login attempts.

However, obscurity is a valid security layer when used as part of a comprehensive security strategy, and if you want to cut down on the number of malicious login attempts. Making your login page difficult to find is one way to do that.Ignore security taskImmediately block incorrect usernames on login forms.In .htaccess fileIn the old days, the default WordPress admin username was 'admin' or 'administrator'. Since usernames make up half of the login credentials, this made it easier for hackers to launch brute-force attacks.

Thankfully, WordPress has since changed this and now requires you to select a custom username at the time of installing WordPress.Indeed Ultimate Membership Pro detected. The plugin doesn't support custom %s paths as it doesn't use WordPress functions to call the Ajax URLIndiaIndonesiaIndonesianInfoInmotionInmotion detected. %sPlease read how to make the plugin compatible with Inmotion Nginx Cache%sInstall/ActivateIntegration with other CDN plugins and custom CDN URLs.Invalid ReCaptcha. Please complete reCaptcha.Invalid email addressInvalid name detected: %s. Add only the final path name to avoid WordPress errors.Invalid name detected: %s. The name can't end with / to avoid WordPress errors.Invalid name detected: %s. The name can't start with / to avoid WordPress errors.Invalid name detected: %s. The paths can't end with . to avoid WordPress errors.Invalid name detected: %s. You need to use another name to avoid WordPress errors.Invalid username.Iran, Islamic Republic ofIraqIrelandIsle of ManIsraelIt's important to %s save your settings every time you change them %s. You can use the backup to configure other websites you own.It's important to hide or remove the readme.html file because it contains WP version details.It's important to hide the common WordPress paths to prevent attacks on vulnerable plugins and themes.
Also, it's important to hide the names of plugins and themes to make it impossible for bots to detect them.It's important to rename common WordPress paths, such as wp-content and wp-includes to prevent hackers from knowing that you have a WordPress website.It's not safe to have Database Debug turned on. Make sure you don't use Database debug on live websites.ItalianItalyJCH Optimize CacheJamaicaJananeseJapanJavascript is disabled on your browser! You need to activate the javascript in order to use %s plugin.JerseyJoomla 3Joomla 4Joomla 5JordanJust another WordPress siteKazakhstanKenyaKiribatiKnow what the other users are doing on your website.KoreanKosovoKuwaitKyrgyzstanLanguageLao Peoples Democratic RepublicLast 30 days Security StatsLast AccessLast NameLast check:Late LoadingLatviaLatvianLearn HowLearn How To Add the CodeLearn how to disable %sDirectory Browsing%s or switch on %s %s > Change Paths > Disable Directory Browsing%sLearn how to set your website as %s. %sClick Here%sLearn how to setup on Local & NginxLearn how to setup on Nginx serverLearn how to use the shortcodeLearn more aboutLearn more about %s 7G firewall %s.Learn more about %s 8G firewall %s.Leave it blank if you don't want to display any messageLeave it blank to block all paths for the selected countries.LebanonLesothoLet's take your security to the next level!Level of SecurityLevels of securityLiberiaLibyan Arab JamahiriyaLicence TokenLiechtensteinLimit the number of allowed login attempts using normal login form.LiteSpeedLiteSpeed CacheLithuaniaLithuanianLoad PresetLoad Security PresetsLoad after all plugins are loaded. On "template_redirects" hook.Load before all plugins are loaded. On "plugins_loaded" hook.Load custom language is WordPress local language is installed.Load the plugin as a Must Use plugin.Load when the plugins are initialized. On "init" hook.Local & NGINX detected. In case you didn't add the code in the NGINX config already, please add the following line. %sLocal by FlywheelLocationLock userLockout MessageLog User RolesLog Users EventsLogin & Logout RedirectsLogin Blocked by Login PathLogin Redirect URLLogin SecurityLogin TestLogin URLLogout Redirect URLLost Password Form ProtectionLuxembourgMacaoMadagascarMagic Link LoginMake sure the redirect URLs exist on your website. %sThe User Role redirect URL has higher priority than the Default redirect URL.Make sure you know what you do when changing the headers.Make sure you save the settings and empty the cache before checking your website with our tool.MalawiMalaysiaMaldivesMaliMaltaManage Brute Force ProtectionManage Login and Logout RedirectsManage whitelist & blacklist IP addressesManually block/unblock IP addresses.Manually customize each plugin name and overwrite the random nameManually customize each theme name and overwrite the random nameManually whitelist trusted IP addresses.MappingMarshall IslandsMartiniqueMath & Google reCaptcha verification while logging in.Math reCAPTCHAMauritaniaMauritiusMax fail attemptsMayotteMediumMembershipMexicoMicronesia, Federated States ofMinimalMinimal (No Config Rewrites)Moldova, Republic ofMonacoMongoliaMonitor everything that happens on your WordPress site!Monitor, track and log events on your website.MontenegroMontserratMore HelpMore information about %sMore optionsMoroccoMost WordPress installations are hosted on the popular Apache, Nginx and IIS web servers.MozambiqueMust Use Plugin LoadingMy AccountMyanmarMysql VersionNGINX detected. In case you didn't add the code in the NGINX config already, please add the following line. %sNameNamibiaNauruNepalNetherlandsNew CaledoniaNew Login DataNew Plugin/Theme detected! Update %s settings to hide it. %sClick here%sNew ZealandNext StepsNginxNicaraguaNigerNigeriaNiueNoNo CMS SimulationNo Recent Updates ReleasedNo blacklisted ipsNo log found.No temporary logins.No, abortNo. of secondsNorfolk IslandNormal LoadingNormally, the option to block visitors from browsing server directories is activated by the host through server configuration, and activating it twice in the config file may cause errors, so it's best to first check if the %sUploads Directory%s is visible.North KoreaNorth Macedonia, Republic ofNorthern Mariana IslandsNorwayNorwegianNot yet logged inNote that this option won't activate the CDN for your website, but it will update the custom paths if you've already set a CDN URL with another plugin.Note! %sPaths are NOT physically change%s on your server.Note! The plugin will use WP cron to change the paths in background once the cache files are created.Note: If you can`t login to your site, just access this URLNotification SettingsOkay, I set it upOmanOn website initializationOnce you bought the plugin, you will receive the %s credentials for your account by email.One DayOne HourOne MonthOne WeekOne YearOne of the most important files in your WordPress installation is the wp-config.php file.
This file is located in the root directory of your WordPress installation and contains your website's base configuration details, such as database connection information.Only change this option if the plugin fails to identify the server type correctly.Optimize CSS and JS filesOption to inform user about remaining attempts on login page.OptionsOutdated PluginsOutdated ThemesOverviewOxygenPHP VersionPHP allow_url_include is onPHP expose_php is onPHP register_globals is onPHP safe mode was one of the attempts to solve security problems of shared web hosting servers.

It is still being used by some web hosting providers, however, nowadays this is regarded as improper. A systematic approach proves that it’s architecturally incorrect to try solving complex security issues at the PHP level, rather than at the web server and OS levels.

Technically, safe mode is a PHP directive that restricts the way some built-in PHP functions operate. The main problem here is inconsistency. When turned on, PHP safe mode may prevent many legitimate PHP functions from working correctly. At the same time there exists a variety of methods to override safe mode limitations using PHP functions that aren’t restricted, so if a hacker has already got in – safe mode is useless.PHP safe_mode is onPage Not FoundPakistanPalauPalestinian TerritoryPanamaPapua New GuineaParaguayPassedPath not allowed. Avoid paths like plugins and themes.Paths & OptionsPaths changed in the existing cache filesPause for 5 minutesPermalinksPersianPeruPhilippinesPitcairnPlease be aware that if you do not consent to storing data on our Cloud, we kindly request that you refrain from activating this feature.Please visit %s to check your purchase and to get the license token.Plugin Loading HookPlugins PathPlugins SecurityPlugins SettingsPlugins that have not been updated in the last 12 months can have real security problems. Make sure you use updated plugins from WordPress Directory.Plugins/Themes editor disabledPolandPolishPortugalPortuguesePreset SecurityPrevent Broken Website LayoutPriority LoadingProtects your WooCommerce shop against brute force login attacks.Protects your website against Brute Force login attacks using %s A common threat web developers face is a password-guessing attack known as a Brute Force attack. A Brute Force attack is an attempt to discover a password by systematically trying every possible combination of letters, numbers, and symbols until you discover the one correct combination that works.Protects your website against Brute Force login attacks.Protects your website against brute force login attacks.Prove your humanity:Puerto RicoQatarQuick FixRDS is visibleRandom Static NumberReactivate user for 1 dayRedirect After LoginRedirect Hidden PathsRedirect Logged Users To DashboardRedirect temporary users to a custom page after login.Redirect the protected paths /wp-admin, /wp-login to a Page or trigger an HTML Error.Redirect user to a custom page after login.RedirectsRemoveRemove PHP version, Server info, Server Signature from header.Remove Plugins Authors & Style in Sitemap XMLRemove Unsafe HeadersRemove pingback link tag from the website header.Rename readme.html file or switch on %s %s > Change Paths > Hide WordPress Common Files%sRename wp-admin/install.php & wp-admin/upgrade.php files or switch on %s %s > Change Paths > Hide WordPress Common Paths%sRenewResetReset SettingsResolving hostnames may affect the website loading speed.Restore BackupRestore SettingsResume SecurityReunionRobots SecurityRoleRollback SettingsRollback all the plugin settings to initial values.RomaniaRomanianRun %s Frontend Test %s to check if the new paths are working.Run %s Login Test %s and log in inside the popup.Run %sreCAPTCHA Test%s and login inside the popup.Run Full Security CheckRussianRussian FederationRwandaSSL is an abbreviation used for Secure Sockets Layers, which are encryption protocols used on the internet to secure information exchange and provide certificate information.

These certificates provide an assurance to the user about the identity of the website they are communicating with. SSL may also be called TLS or Transport Layer Security protocol.

It's important to have a secure connection for the Admin Dashboard in WordPress.Safe ModeSafe Mode + Firewall + Brute Force + Events Log + Two factorSafe Mode + Firewall + Compatibility SettingsSafe Mode will set these predefined pathsSafe URL:Safe modeSaint BartelemeySaint HelenaSaint Kitts and NevisSaint LuciaSaint MartinSaint Pierre and MiquelonSaint Vincent and the GrenadinesSalts and Security Keys validSamoaSan MarinoSao Tome and PrincipeSaudi ArabiaSaveSave Debug LogSave UserSavedSaved! This task will be ignored on future tests.Saved! You can run the test again.Script Debug ModeSearchSearch in user events log and manage the email alertsSecret KeySecret keys for %sGoogle reCAPTCHA%s.Secure WP PathsSecurity CheckSecurity Keys UpdatedSecurity StatusSecurity keys are defined in wp-config.php as constants on lines. They should be as unique and as long as possible. AUTH_KEY,SECURE_AUTH_KEY,LOGGED_IN_KEY,NONCE_KEY,AUTH_SALT,SECURE_AUTH_SALT,LOGGED_IN_SALT,NONCE_SALTSecurity keys are used to ensure better encryption of information stored in the user's cookies and hashed passwords.

These make your site more difficult to hack, access and crack by adding random elements to the password. You don't have to remember these keys. In fact, once you set them you'll never see them again. Therefore, there's no excuse for not setting them properly.See the last days actions on this website ...Select PresetSelect User RolesSelect a preset security settings we've tested on most websites.Select allSelect how long the temporary login will be available after the first user access.Select the file extensions you want to hide on old pathsSelect the files you want to hide on old pathsSelected CountriesSend me an email with the changed admin and login URLsSenegalSerbiaSerbianServer TypeSet Custom Cache DirectorySet Login & Logout Redirects based on User Roles.Set the current user role.Set the website you want this user to be created for.SettingsSeychellesShort name detected: %s. You need to use unique paths with more than 4 chars to avoid WordPress errors.ShowShow /%s instead of /%sShow Advanced OptionsShow Default Paths & Allow Hidden PathsShow Defaults Paths & Allow EverythingShow blank screen when Inspect Element is active on browser.Show completed tasksShow ignored tasksShow message instead of login formShow passwordSierra LeoneSign Up Form ProtectionSimplified ChineseSimulate CMSSingaporeSint MaartenSite keySite keys for %sGoogle reCaptcha%s.SiteGroundSitemap SecuritySix MonthsSlovakSlovakiaSloveneSloveniaSolid SecuritySolomon IslandsSomaliaSome plugins may remove custom rewrite rules from the .htaccess file, especially if it's writable, which can affect the functionality of custom paths..Some themes don't work with custom Admin and Ajax paths. In case of ajax errors, switch back to wp-admin and admin-ajax.php.Sorry, you are not allowed to access this page.South AfricaSouth Georgia and the South Sandwich IslandsSouth KoreaSpainSpammers can easily signupSpanishSri LankaStart ScanSucuri SecuritySudanSuper AdminSurinameSvalbard and Jan MayenSwazilandSwedenSwedishSwitch on %s %s > Change Paths > Hide WordPress Common Paths%sSwitch on %s %s > Change Paths > Disable XML-RPC access%sSwitch on %s %s > Change Paths > Hide Author ID URL%sSwitch on %s %s > Change Paths > Hide RSD Endpoint%sSwitch on %s %s > Change Paths > Hide WordPress Common Files%sSwitch on %s %s > Change Paths > Hide wp-admin from ajax URL%s. Hide any reference to admin path from the installed plugins.Switch on %s %s > Tweaks > %s %sSwitch on %s %s > Tweaks > Hide WLW Manifest scripts%sSwitzerlandSyrian Arab RepublicTaglineTaiwanTajikistanTanzania, United Republic ofTemporary LoginTemporary Login SettingsTemporary LoginsTest your website headers withText & URL MappingText MappingText Mapping in CSS and JS files including cached filesText Mapping only Classes, IDs, JS variablesThaiThailandThank you for using %s!The %s section has been relocated %s here %sThe Ghost Mode will add the rewrites rules in the config file to hide the old paths from hackers.The REST API is crucial for many plugins as it allows them to interact with the WordPress database and perform various actions programmatically.The Safe Mode will add the rewrites rules in the config file to hide the old paths from hackers.The Safe URL will deactivate all the custom paths. Use it only if you can't login.The WordPress database is like a brain for your entire WordPress site, because every single bit of information about your site is stored there, thus making it a hacker’s favorite target.

Spammers and hackers run automated code for SQL injections.
Unfortunately, many people forget to change the database prefix when they install WordPress.
This makes it easier for hackers to plan a mass attack by targeting the default prefix wp_.The WordPress site tagline is a short phrase located under the site title, similar to a subtitle or advertising slogan. The goal of a tagline is to convey the essence of your site to visitors.

If you don't change the default tagline it will be very easy to detect that your website was actually built with WordPressThe constant ADMIN_COOKIE_PATH is defined in wp-config.php by another plugin. You can't change %s unless you remove the line define('ADMIN_COOKIE_PATH', ...);.The list of plugins and themes was updated with success!The most common way to hack a website is by accessing the domain and adding harmful queries in order to reveal information from files and database.
These attacks are made on any website, WordPress or not, and if a call succeeds … it will probably be too late to save the website.The plugins and themes file editor is a very convenient tool because it enables you to make quick changes without the need to use FTP.

Unfortunately, it's also a security issue because it not only shows the PHP source code, it also enables attackers to inject malicious code into your site if they manage to gain access to admin.The process was blocked by the website’s firewall.The requested URL %s was not found on this server.The response parameter is invalid or malformed.The secret parameter is invalid or malformed.The secret parameter is missing.The security keys in wp-config.php should be renewed as often as possible.Themes PathThemes SecurityThemes are up to dateThere has been a critical error on your website.There has been a critical error on your website. Please check your site admin email inbox for instructions.There is a configuration error in the plugin. Please Save the settings again and follow the instruction.There is a newer version of WordPress available ({version}).There is no changelog available.There is no such thing as an "unimportant password"! The same goes for your WordPress database password.
Although most servers are configured so that the database can't be accessed from other hosts (or from outside the local network), that doesn't mean your database password should be "12345" or no password at all.This amazing feature isn't included in the basic plugin. Want to unlock it? Simply install or activate the Advanced Pack and enjoy the new security features.This is one of the biggest security issues you can have on your site! If your hosting company has this directive enabled by default, switch to another company immediately!This may not work with all new mobile devices.This option will add rewrite rules to the .htaccess file in the WordPress rewrite rules area between the comments # BEGIN WordPress and # END WordPress.This will prevent from showing the old paths when an image or font is called through ajaxThree DaysThree HoursTimor-LesteTo change the paths in the cached files, switch on %s Change Paths in Cached Files%sTo hide the Avada library, please add the Avada FUSION_LIBRARY_URL in wp-config.php file after $table_prefix line: %sTo improve your website's security, consider removing authors and styles that point to WordPress in your sitemap XML.TogoTokelauTongaTrack and Log the website events and receive security alerts by email.Track and log events that happen on your WordPress siteTraditional ChineseTrinidad and TobagoTroubleshootingTunisiaTurkeyTurkishTurkmenistanTurks and Caicos IslandsTurn off the debug plugins if your website is live. You can also add the option to hide the DB errors global $wpdb; $wpdb->hide_errors(); in wp-config.php fileTuvaluTweaksTwo-factor authenticationURL MappingUgandaUkraineUkrainianUltimate Affiliate Pro detected. The plugin doesn't support custom %s paths as it doesn't use WordPress functions to call the Ajax URLUnable to update the wp-config.php file in order to update the Database Prefix.UndoUnited Arab EmiratesUnited KingdomUnited StatesUnited States Minor Outlying IslandsUnknown update checker status "%s"Unlock allUpdate the settings on %s to refresh the paths after changing REST API path.UpdatedUpload the file with the saved plugin settingsUploads PathUrgent Security Actions RequiredUruguayUse Brute Force ProtectionUse Temporary LoginsUse the %s shortcode to integrate it with other login forms.UserUser 'admin' or 'administrator' as AdministratorUser ActionUser Events LogUser RoleUser SecurityUser could not be activated.User could not be addedUser could not be deleted.User could not be disabled.User roles for who to disable the Right-ClickUser roles for who to disable the copy/pasteUser roles for who to disable the drag/dropUser roles for who to disable the inspect elementUser roles for who to disable the view sourceUser roles for who to hide the admin toolbarUser successfully activated.User successfully created.User successfully deleted.User successfully disabled.User successfully updated.Usernames (unlike passwords) are not secret. By knowing someone's username, you can't log in to their account. You also need the password.

However, by knowing the username, you are one step closer to logging in using the username to brute-force the password, or to gain access in a similar way.

That's why it's advisable to keep the list of usernames private, at least to some degree. By default, by accessing siteurl.com/?author={id} and looping through IDs from 1 you can get a list of usernames, because WP will redirect you to siteurl.com/author/user/ if the ID exists in the system.Using an old version of MySQL makes your site slow and prone to hacker attacks due to known vulnerabilities that exist in versions of MySQL that are no longer maintained.

You need Mysql 5.4 or higherUsing an old version of PHP makes your site slow and prone to hacker attacks due to known vulnerabilities that exist in versions of PHP that are no longer maintained.

You need PHP 7.4 or higher for your website.UzbekistanValidValueVanuatuVenezuelaVersions in Source CodeVietnamVietnameseView detailsVirgin Islands, BritishVirgin Islands, U.S.W3 Total CacheWP Core SecurityWP Debug ModeWP EngineWP Fastest CacheWP RocketWP Super CacheWP Super Cache CDN detected. Please include %s and %s paths in WP Super Cache > CDN > Include directoriesWPBakery Page BuilderWPPluginsWallis and FutunaWeak name detected: %s. You need to use another name to increase your website security.WebsiteWestern SaharaWhere to add the firewall rules.WhitelistWhitelist IPsWhitelist OptionsWhitelist PathsWindows Live Writer is onWooCommerce Safe LoginWooCommerce SupportWoocommerceWoocommerce Magic LinkWordPress Database PasswordWordPress Default PermissionsWordPress Security CheckWordPress VersionWordPress XML-RPC is a specification that aims to standardize communications between different systems. It uses HTTP as the transport mechanism and XML as encoding mechanism to enable a wide range of data to be transmitted.

The two biggest assets of the API are its extendibility and its security. XML-RPC authenticates using basic authentication. It sends the username and password with each request, which is a big no-no in security circles.WordPress and its plugins and themes are like any other software installed on your computer, and like any other application on your devices. Periodically developers release updates which provide new features or fix known bugs.

New features may be something that you do not necessarily want. In fact, you may be perfectly satisfied with the functionality you currently have. Nevertheless, you may still be concerned about bugs.

Software bugs can come in many shapes and sizes. A bug could be very serious, such as preventing users from using a plugin, or it could be a minor bug that only affects a certain part of a theme, for example. In some cases, bugs can even cause serious security holes.

Keeping themes up to date is one of the most important and easiest ways to keep your site secure.WordPress and its plugins and themes are like any other software installed on your computer, and like any other application on your devices. Periodically, developers release updates which provide new features, or fix known bugs.

These new features may not necessarily be something that you want. In fact, you may be perfectly satisfied with the functionality you currently have. Nevertheless, you are still likely to be concerned about bugs.

Software bugs can come in many shapes and sizes. A bug could be very serious, such as preventing users from using a plugin, or it could be minor and only affect a certain part of a theme, for example. In some cases, bugs can cause serious security holes.

Keeping plugins up to date is one of the most important and easiest ways to keep your site secure.WordPress is well-known for its ease of installation.
It's important to hide the wp-admin/install.php and wp-admin/upgrade.php files because there have already been a couple of security issues regarding these files.WordPress, plugins and themes add their version info to the source code, so anyone can see it.

Hackers can easily find a website with vulnerable version plugins or themes, and target these with Zero-Day Exploits.Wordfence SecurityWpEngine detected. Add the redirects in the WpEngine Redirect rules panel %s.Wrong Username ProtectionXML-RPC SecurityXML-RPC access is onYemenYesYes, it's workingYou already defined a different wp-content/uploads directory in wp-config.php %sYou can ban a single IP address like 192.168.0.1 or a range of 245 IPs like 192.168.0.*. These IPs will not be able to access the login page.You can create a new page and come back to choose to redirect to that page.You can generate %snew Keys from here%s AUTH_KEY,SECURE_AUTH_KEY,LOGGED_IN_KEY,NONCE_KEY,AUTH_SALT,SECURE_AUTH_SALT,LOGGED_IN_SALT,NONCE_SALTYou can now turn off '%s' option.You can set to receive security alert emails and prevent data loss.You can white-list a single IP address like 192.168.0.1 or a range of 245 IPs like 192.168.0.*. Find your IP with %sYou can't set both ADMIN and LOGIN with the same name. Please use different namesYou don't have the permission to access %s on this server.You need to activate the URL Rewrite for IIS to be able to change the permalink structure to friendly URL (without index.php). %sMore details%sYou need to set a positive number of attempts.You need to set a positive waiting time.You need to set the permalink structure to friendly URL (without index.php).You should always update WordPress to the %slatest versions%s. These usually include the latest security fixes, and don't alter WP in any significant way. These should be applied as soon as WP releases them.

When a new version of WordPress is available, you will receive an update message on your WordPress Admin screens. To update WordPress, click the link in this message.You should check your website every week to see if there are any security changes.Your %s %s license expired on %s %s. To keep your website security up to date please make sure you have a valid subscription on %saccount.hidemywpghost.com%sYour IP has been flagged for potential security violations. Please try again in a little while...Your admin URL can't be changed on %s hosting because of the %s security terms.Your admin URL is changed by another plugin/theme in %s. To activate this option, disable the custom admin in the other plugin or deativate it.Your login URL is changed by another plugin/theme in %s. To activate this option, disable the custom login in the other plugin or deativate it.Your login URL is: %sYour login URL will be: %s In case you can't login, use the safe URL: %sYour new password has not been saved.Your new site URLs areYour website security %sis extremely weak%s. %sMany hacking doors are available.Your website security %sis very weak%s. %sMany hacking doors are available.Your website security is getting better. %sJust make sure you complete all the security tasks.Your website security is still weak. %sSome of the main hacking doors are still available.Your website security is strong. %sKeep checking the security every week.ZambiaZimbabweactivate featureafter first accessalready activedarkdefaultdisplay_errors PHP directivee.g. *.colocrossing.come.g. /cart/e.g. /cart/ will whitelist all path starting with /cart/e.g. /checkout/e.g. /post-type/ will block all path starting with /post-type/e.g. acapbote.g. alexibote.g. badsite.come.g. gigabote.g. kanagawa.come.g. xanax.comeg.eg. /logout oreg. adm, backeg. ajax, jsoneg. aspect, templates, styleseg. comments, discussioneg. core, inc, includeeg. disable_url, safe_urleg. images, fileseg. json, api, calleg. lib, libraryeg. login or signineg. logout or disconnecteg. lostpass or forgotpasseg. main.css, theme.css, design.csseg. moduleseg. multisite activation linkeg. newuser or registereg. profile, usr, writerfromhelphttps://hidemywp.comignore alertinstall.php & upgrade.php files are accessiblelightloglogsmore detailsnot recommendedonly %d charsorpassword mismatchMismatchpassword strengthMediumpassword strengthPassword strength unknownpassword strengthStrongpassword strengthVery weakpassword strengthWeakreCAPTCHA TestreCAPTCHA V2 TestreCAPTCHA V3 TestreCaptcha LanguagereCaptcha Themereadme.html file is accessiblerecommendedredirectssee featurestart feature setupthe plugin titleA new version of the %s plugin is available.the plugin titleCould not determine if updates are available for %s.the plugin titleThe %s plugin is up to date.totoo simplewp-config.php & wp-config-sample.php files are accessibleProject-Id-Version: PO-Revision-Date: 2024-10-10 20:11+0300 Last-Translator: gpt-po v1.0.11 Language-Team: Language: pt_PT MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Generator: Poedit 3.5 X-Poedit-Basepath: .. X-Poedit-SourceCharset: UTF-8 X-Poedit-SearchPath-0: . #1 Solução de Segurança de Prevenção de Hacking: Ocultar WP CMS, Firewall 7G/8G, Proteção contra Ataques de Força Bruta, 2FA, Segurança GEO, Logins Temporários, Alertas e muito mais.A %1$s está obsoleta desde a versão %2$s! Utilize %3$s em seu lugar. Por favor, considere escrever um código mais inclusivo.Há %d %s atrás.%d %s restantes%s dias desde a última atualização%s não funciona sem o mode_rewrite. Por favor, ative o módulo de reescrita no Apache. %sMais detalhes%s%s não têm a permissão correta.%s é visível no código-fonteO caminho %s é acessível.%s plugin(s) estão desatualizado(s): %s%s plugin(s) não foram atualizados pelos seus desenvolvedores nos últimos 12 meses: %sO %s protege o seu website da maioria das injeções SQL, mas, se possível, utilize um prefixo personalizado para as tabelas da base de dados para evitar injeções SQL. %sSaiba mais%s.As regras de %s não estão guardadas no ficheiro de configuração e isso pode afetar a velocidade de carregamento do website.O(s) tema(s) %s está(ão) desatualizado(s): %sClique em %saqui%s para criar ou visualizar chaves para o Google reCAPTCHA v2.%sClique aqui%s para criar ou visualizar chaves para o Google reCAPTCHA v3.%sERRO:%s O email ou a palavra-passe está incorreta. %s %d tentativas restantes antes do bloqueio.%sOcultar o caminho de login%s do menu do tema ou do widget.%sReCaptcha incorreto%s. Por favor, tente novamente.%sNOTA:%s Se não recebeu as credenciais, por favor aceda a %s.%sNão conseguiste responder corretamente ao problema de matemática.%s Por favor, tenta novamente.(* o plugin não tem custos adicionais, é instalado/ativado automaticamente dentro do WP quando clicas no botão, e utiliza a mesma conta)(várias opções estão disponíveis)(útil quando o tema é adicionar redirecionamentos de administração errados ou redirecionamentos infinitos)(funciona apenas com o caminho personalizado do admin-ajax para evitar loops infinitos)2FALogin de 2FA403 ProibidoErro 403 HTMLErro HTML 404404 Não EncontradoPágina 404Firewall 7GFirewall 8GUma funcionalidade projetada para parar ataques de diferentes países e pôr fim a atividades prejudiciais provenientes de regiões específicas.Um conjunto completo de regras pode prevenir muitos tipos de Injeção de SQL e truques de URL de serem interpretados.Já existe um utilizador com esse nome de utilizador.Segurança de APIDefinições da APIAWS BitnamiDe acordo com as %súltimas estatísticas do Google%s, mais de %s 30 mil sites são hackeados todos os dias %s e %s mais de 30% deles são feitos em WordPress %s. %s É melhor prevenir um ataque do que gastar muito dinheiro e tempo para recuperar seus dados após um ataque, sem mencionar a situação em que os dados dos seus clientes são roubados.AçãoAtivarAtiva a 'Carga de Plugin Obrigatória' a partir do 'Gancho de Carregamento de Plugin' para poder ligar-se ao teu painel diretamente a partir de managewp.com. %s clica aqui %sAtivar Proteção contra Ataques de Força BrutaAtivar Registo de EventosAtivar Registo de Eventos de UtilizadoresAtivar Acessos TemporáriosAtivar o teu PluginAtivar informações e registos para depuração.Ativar a opção "Força Bruta" para ver o relatório de IPs de utilizadores bloqueados.Ativa a opção "Registar Eventos de Utilizadores" para ver o registo de atividade dos utilizadores neste website.Ativar a proteção de Força Bruta para os formulários de login/registro do Woocommerce.Ativar a proteção de Força Bruta nos formulários de recuperação de senha.Ativar a proteção de Força Bruta nos formulários de registo.Ativar o firewall e prevenir vários tipos de Injeção SQL e ataques de URL.Ativar o firewall e selecionar a força do firewall que funcione para o teu website %s %s > Alterar Caminhos > Firewall & Cabeçalhos %sAjuda de AtivaçãoAdicionarAdicione os endereços IP que devem ser sempre bloqueados de aceder a este website.Adicionar cabeçalho Content-Security-Policy.Adicionar Cabeçalhos de Segurança contra Ataques XSS e de Injeção de Código.Adicione os endereços IP que podem passar pela segurança do plugin.Adicione IPs que podem passar pela segurança do plugin.Adicionar Novo Login TemporárioAdicionar Novo Utilizador de Login TemporárioAdicionar Reescritas na Secção de Regras do WordPressAdicionar Cabeçalho de SegurançaAdicionar cabeçalhos de segurança para ataques de XSS e injeção de código.Adicionar cabeçalho Strict-Transport-SecurityAdicione segurança em duas etapas na página de login com autenticação por código de verificação ou código enviado por email.Adicionar cabeçalho X-Content-Type-OptionsAdicionar cabeçalho X-XSS-Protection.Adicione uma lista de URLs que deseja substituir por novas.Adicione um número estático aleatório para evitar o cache do frontend enquanto o usuário estiver autenticado.Adicione outro URL de CDN.Adicione outro URL.Add another textAdicionar classes comuns do WordPress na mapeação de textoAdicione caminhos que possam passar pela segurança do plugin.Adicione os caminhos que serão bloqueados para os países selecionados.Adicionar redirecionamentos para os utilizadores autenticados com base nos papéis de utilizador.Adicione os URLs do CDN que está a utilizar no plugin de cache.Caminho do AdministradorSegurança do AdministradorBarra de Ferramentas de AdministraçãoURL de administradorNome de utilizador do administradorAvançadoPacote AvançadoDefinições AvançadasAfeganistãoApós adicionar as classes, verifique o frontend para garantir que o seu tema não foi afetado.Depois, clique em %sGuardar%s para aplicar as alterações.Segurança AjaxURL do AjaxIlhas AlandAlbâniaEmails de Alerta EnviadosArgéliaTodas as açõesTudo Em Um Segurança WPTodos os WebsitesTodos os ficheiros têm as permissões corretas.Todos os plugins são compatíveis.Todos os plugins estão atualizados.Todos os plugins foram atualizados pelos seus desenvolvedores nos últimos 12 meses.Todos os registos são guardados na Cloud durante 30 dias e o relatório está disponível se o seu website for atacado.Permitir Caminhos OcultosPermitir que os utilizadores iniciem sessão na conta do WooCommerce utilizando o seu endereço de email e um URL de início de sessão único enviado por email.Permita que os utilizadores iniciem sessão no website utilizando o seu endereço de email e um URL de login único enviado por email.Permitir que qualquer pessoa veja todos os ficheiros na pasta de Envios através de um navegador permitirá que descarreguem facilmente todos os ficheiros que enviou. É uma questão de segurança e de direitos de autor.Samoa AmericanaAndorraAngolaAnguillaAntártidaAntígua e BarbudaApacheÁrabeTem a certeza de que deseja ignorar esta tarefa no futuro?ArgentinaArméniaArubaAtenção! Alguns URLs passaram pelas regras do ficheiro de configuração e foram carregados através da reescrita do WordPress, o que pode tornar o seu website mais lento. %s Por favor, siga este tutorial para resolver o problema: %sAustráliaÁustriaAutor do CaminhoURL do autor por acesso de IDAuto DetectAutodetetarRedirecionar automaticamente os utilizadores autenticados para o painel de administração.AutoptimizadorAzerbaijãoBackend sob SSLConfigurações de BackupCópia de segurança/RestauroCópia de Segurança/Restauro de DefiniçõesBahamasBahreinDuração da proibiçãoBangladeshBarbadosCertifique-se de incluir apenas URLs internas e utilizar caminhos relativos sempre que possível.Beaver BuilderBielorrússiaBélgicaBelizeBenimBermudasOs melhores cumprimentosButãoDetetado Bitnami. %sPor favor, leia como tornar o plugin compatível com o alojamento AWS%s.Lista negraLista negra de IPsEcrã em branco ao depurar.Bloquear PaísesBloquear Nomes de HostsBloquear IP na página de login.Bloquear ReferenteBloquear Caminhos EspecíficosBloquear os detetores de temas dos rastreadores.Bloquear Agentes de UtilizadorBloquear utilizadores-agentes conhecidos dos detetores de temas populares.IPs bloqueadosRelatório de IPs BloqueadosBloqueado porBolíviaBonaire, São Eustáquio e SabaBósnia e HerzegovinaBotsuanaIlha BouvetBrasilInglês BritânicoTerritório Britânico do Oceano ÍndicoBrunei DarussalémForça BrutaEndereços IP bloqueados por Força BrutaProteção contra tentativas de login forçadoProteção contra Ataques de Força BrutaConfigurações de Força BrutaBulgáriaBúlgaroPlugin BulletProof! Certifica-te de guardar as definições em %s depois de ativares o Modo BulletProof da Pasta Raiz no plugin BulletProof.Burkina FasoBurundiAo ativar, concorda com os nossos %sTermos de Utilização%s e %sPolítica de Privacidade%s.CDNCDN Ativado detetado. Por favor, inclua os caminhos %s e %s nas Definições do Ativador de CDN.Detetado CDN Enabler! Saiba como configurá-lo com %s %sClique aqui%sURLs de CDNERRO DE CONEXÃO! Certifique-se de que o seu website consegue aceder a: %sFaz cache de CSS, JS e imagens para aumentar a velocidade de carregamento do frontend.Cache EnablerCambojaCamarõesNão consigo fazer o download do plugin.CanadáFrancês CanadianoCancelarCancelar os ganchos de login de outros plugins e temas para evitar redirecionamentos indesejados durante o login.Cabo VerdeCatalão ValencianoIlhas CaimãoRepública Centro-AfricanaChadeAlterarAlterar OpçõesAlterar CaminhosAlterar Caminhos AgoraAlterar Caminhos para Utilizadores RegistadosAlterar caminhos em chamadas AjaxAlterar Caminhos em Ficheiros em CacheAlterar caminhos no feed RSSAlterar Caminhos em Sitemaps XMLAlterar URLs Relativas para URLs AbsolutasAlterar caminhos do WordPress enquanto estiveres autenticado.Alterar caminhos no feed RSS para todas as imagens.Alterar caminhos nos ficheiros XML do Sitemap e remover o autor do plugin e estilos.Alterar o Slogan em %s > %s > %sAlterar os caminhos comuns do WordPress nos ficheiros em cache.Alterar o caminho de registo de %s %s > Alterar Caminhos > URL de Registo Personalizado%s ou desmarcar a opção %s > %s > %sAlterar o texto em todos os ficheiros CSS e JS, incluindo aqueles nos ficheiros em cache gerados por plugins de cache.Alterar o utilizador 'admin' ou 'administrador' por outro nome para aumentar a segurança.Alterar a permissão do ficheiro wp-config.php para Só de Leitura utilizando o Gestor de Ficheiros.Alterar o wp-content, wp-includes e outros caminhos comuns para %s %s > Alterar Caminhos%sAlterar o wp-login de %s %s > Alterar Caminhos > URL de login personalizada%s e Ativar %s %s > Proteção contra Ataques de Força Bruta%sAlterar os cabeçalhos de segurança predefinidos pode afetar a funcionalidade do website.Verificar Caminhos do FrontendVerifique o seu website.Verificar atualizaçõesVerifique se os caminhos do website estão a funcionar corretamente.Verifique se o seu website está seguro com as configurações atuais.Verifique o feed RSS %s %s e certifique-se de que os caminhos das imagens foram alterados.Verifique o %s Sitemap XML %s e certifique-se de que os caminhos das imagens foram alterados.Verifique a velocidade de carregamento do site com a %sFerramenta Pingdom%s.ChileChinaEscolha uma senha de banco de dados apropriada, com pelo menos 8 caracteres, contendo uma combinação de letras, números e caracteres especiais. Após alterá-la, defina a nova senha no ficheiro wp-config.php define('DB_PASSWORD', 'A_NOVA_SENHA_DO_BD_AQUI');Escolha os países onde o acesso ao site deve ser restrito.Escolha o tipo de servidor que está a utilizar para obter a configuração mais adequada para o seu servidor.Escolha o que fazer ao aceder a partir de endereços IP na lista branca e caminhos na lista branca.Ilha do NatalPágina de Login LimpaClica em %sContinuar%s para definir os caminhos predefinidos.Clica em Backup e o download começará automaticamente. Podes utilizar o Backup para todos os teus websites.Clique para executar o processo de alteração dos caminhos nos ficheiros de cache.Erro de FecharPainel de NuvensPainel Cloud detetado. %sPor favor, leia como tornar o plugin compatível com o alojamento no Painel Cloud%s.CntIlhas Cocos (Keeling)ColômbiaCaminho dos ComentáriosComoresCompatibilidadeDefinições de CompatibilidadeCompatibilidade com o plugin Manage WP.Compatibilidade com plugins de login baseados em tokenCompatível com o plugin All In One WP Security. Utilize-os em conjunto para Verificação de Vírus, Firewall, Proteção contra Ataques de Força Bruta.Compatível com o plugin de cache JCH Optimize. Funciona com todas as opções para otimizar CSS e JS.Compatível com o plugin de Segurança Sólida. Use-os em conjunto para Scanner do Site, Detecção de Alterações de Ficheiros, Proteção contra Ataques de Força Bruta.Compatível com o plugin de segurança Sucuri. Utilize-os em conjunto para Verificação de Vírus, Firewall e Monitorização de Integridade de Ficheiros.Compatível com o plugin de segurança Wordfence. Utilize-os em conjunto para Análise de Malware, Firewall e Proteção contra Ataques de Força Bruta.Compatível com todos os temas e plugins.Correção CompletaConfigO ficheiro de configuração não é gravável. Crie o ficheiro se não existir ou copie para o ficheiro %s as seguintes linhas: %sO ficheiro de configuração não é gravável. Crie o ficheiro se não existir ou copie para o ficheiro %s com as seguintes linhas: %sO ficheiro de configuração não é gravável. Tens de o adicionar manualmente no início do ficheiro %s: %sConfirmar utilização de palavra-passe fracaCongoRepública Democrática do CongoParabéns! Completaste todas as tarefas de segurança. Certifica-te de verificar o teu site uma vez por semana.ContinueConverter links como /wp-content/* em %s/wp-content/*.Ilhas CookCopiar LigaçãoCopia o URL SEGURO %s %s e utiliza-o para desativar todos os caminhos personalizados se não conseguires iniciar sessão.Núcleo de Conteúdos do CaminhoCaminho de Inclusão do NúcleoCosta RicaCosta do MarfimNão foi possível detetar o utilizador.Não consegui resolver. Tens de mudar manualmente.Não foi possível encontrar nada com base na sua pesquisa.Não foi possível iniciar sessão com este utilizador.Não foi possível renomear a tabela %1$s. Poderá ter que renomear a tabela manualmente.Não foi possível atualizar as referências de prefixo na tabela de opções.Não foi possível atualizar as referências de prefixo na tabela usermeta.Bloqueio de PaísCriarCriar Novo Login TemporárioCriar um URL de login temporário com qualquer função de utilizador para aceder ao painel do site sem necessidade de nome de utilizador e palavra-passe por um período limitado de tempo.Criar um URL de login temporário com qualquer função de utilizador para aceder ao painel do site sem necessidade de nome de utilizador e palavra-passe por um período limitado de tempo. %s Isto é útil quando precisa de dar acesso de administrador a um programador para suporte ou para realizar tarefas de rotina.CroáciaCroataCubaCuraçaoCaminho de Ativação PersonalizadoCaminho de Administração PersonalizadoDiretório de Cache PersonalizadoCaminho de Login PersonalizadoCaminho de Logout PersonalizadoCaminho Personalizado para Recuperação de Palavra-passe PerdidaCaminho de Registo PersonalizadoParâmetro de URL Seguro PersonalizadoCaminho personalizado do admin-ajaxCaminho do autor personalizadoComentário personalizado PathMensagem personalizada a exibir aos utilizadores bloqueados.Caminho dos plugins personalizadosNome do estilo do tema personalizadoCaminho dos temas personalizadosCaminho personalizado de uploadsCaminho personalizado do wp-contentCaminho personalizado wp-includesCaminho personalizado wp-jsonPersonalize e proteja todos os caminhos do WordPress de ataques de bots hackers.Personalizar Nomes de PluginsPersonalizar Nomes de TemasPersonalize os URLs de CSS e JS no corpo do seu site.Personalize os IDs e nomes de classes no corpo do seu website.ChipreChecoRepública ChecaModo de Depuração do BDDinamarquêsPainelPrefixo da Base de DadosDataDesativadoModo de DepuraçãoPadrãoRedirecionamento Padrão Após o LoginTempo de Expiração Temporário PadrãoFunção de Utilizador PadrãoSlogan padrão do WordPressFunção de utilizador predefinida para a qual o login temporário será criado.Eliminar Utilizadores Temporários na Desinstalação do PluginEliminar utilizadorDinamarcaDetalhesDiretóriosDesativar o acesso ao parâmetro "rest_route".Desativar Mensagem de CliqueDesativar CopiarDesativar Copiar/ColarDesativar mensagem de Copiar/ColarDesativar a cópia/colagem para utilizadores autenticados.Desativar DISALLOW_FILE_EDIT para websites em produção no ficheiro wp-config.php define('DISALLOW_FILE_EDIT', true);Desativar a Navegação de DiretóriosDesativar Arrastar/Soltar ImagensDesativar mensagem de Arrastar/SoltarDesativar Arrastar e Soltar para Utilizadores Autenticados.Desativar Inspect ElementDesativar a mensagem "Inspeccionar Elemento".Desativar Inspect Element para Utilizadores AutenticadosDesativar OpçõesDesativar ColarDesativar acesso à API REST.Desativar o acesso à API REST para utilizadores não autenticados.Desativar o acesso à API REST utilizando o parâmetro 'rest_route'.Desativar o Endpoint RSD do XML-RPC.Desativar o Clique DireitoDesativar o clique direito para utilizadores autenticados.Desativar SCRIPT_DEBUG para websites em produção no ficheiro wp-config.php define('SCRIPT_DEBUG', false);Desativar Ver Código FonteDesativar mensagem Ver Código FonteDesativar Ver Código Fonte para Utilizadores Registados.Desativar o WP_DEBUG para websites em produção no ficheiro wp-config.php define('WP_DEBUG', false);Desativar o acesso XML-RPC.Desativar a função de cópia no seu website.Desativar a funcionalidade de arrastar e soltar imagens no seu website.Desativar a função de colar no seu website.Desativar o suporte RSD (Really Simple Discovery) para XML-RPC e remover a tag RSD do cabeçalho.Desative o acesso a /xmlrpc.php para prevenir %sataques de força bruta via XML-RPC%s.Desativar a ação de copiar/colar no seu website.Desative as chamadas externas para o ficheiro xml-rpc.php e previna ataques de Força Bruta.Desative a visualização do inspecionar elemento no seu site.Desativar a ação do botão direito do rato no teu website.Desative a funcionalidade do clique direito no seu website.Desative a visualização do código-fonte no seu website.Mostrar qualquer tipo de informação de depuração no frontend é extremamente prejudicial. Se ocorrerem erros de PHP no seu site, eles devem ser registados num local seguro e não exibidos aos visitantes ou potenciais atacantes.DjiboutiRedirecionamentos de Início de Sessão e de Saída.Não saia deste navegador até ter a certeza de que a página de Iniciar sessão está a funcionar e que conseguirá iniciar sessão novamente.Não saias da tua conta até teres a certeza de que o reCAPTCHA está a funcionar e que consegues fazer login novamente.Queres apagar o utilizador temporário?Queres restaurar as últimas definições guardadas?DominicaRepública DominicanaNão te esqueças de recarregar o serviço Nginx.Não permitas que URLs como domain.com?author=1 mostrem o nome de utilizador do utilizador.Não deixes os hackers verem o conteúdo de nenhum diretório. Ver %sDiretório de Envios%s.Não carregues ícones de Emoji se não os usares.Não carregues o WLW se não configuraste o Windows Live Writer para o teu site.Não carregues o serviço oEmbed se não estiveres a usar vídeos oEmbed.Não selecione nenhum papel se deseja registar todos os papéis de utilizador.Done!Transferir DepuraçãoDrupal 10Drupal 11Drupal 8Drupal 9HolandêsERRO! Por favor, certifique-se de utilizar um token válido para ativar o plugin.ERRO! Por favor, certifique-se de usar o token correto para ativar o plugin.EquadorEditar UtilizadorEditar utilizadorEdita o ficheiro wp-config.php e adiciona ini_set('display_errors', 0); no final do ficheiro.EgitoEl SalvadorElementorEmailEndereço de EmailNotificação por EmailO endereço de e-mail já existe.Envie um email à sua empresa de hospedagem e informe que deseja mudar para uma versão mais recente do MySQL ou transferir o seu site para uma empresa de hospedagem melhor.Envie um email à sua empresa de hospedagem e informe que deseja mudar para uma versão mais recente do PHP ou transferir o seu site para uma empresa de hospedagem melhor.VazioReCaptcha vazio. Por favor, complete o reCaptcha.Endereço de email vazioAtivar esta opção pode tornar o site mais lento, uma vez que os ficheiros CSS e JS serão carregados dinamicamente em vez de através de reescritas, permitindo que o texto dentro deles seja modificado conforme necessário.InglêsIntroduza o token de 32 caracteres da Encomenda/Licença em %s.Guiné EquatorialEritreiaErro! Não há cópia de segurança para restaurar.Erro! A cópia de segurança não é válida.Erro! As novas rotas não estão a carregar corretamente. Limpa toda a cache e tenta novamente.Erro! A predefinição não pôde ser restaurada.Erro: Inseriu o mesmo URL duas vezes no Mapeamento de URL. Removemos as duplicatas para evitar quaisquer erros de redirecionamento.Erro: Inseriu o mesmo texto duas vezes no Mapeamento de Texto. Removemos os duplicados para evitar quaisquer erros de redirecionamento.EstóniaEtiópiaEuropaMesmo que os caminhos predefinidos sejam protegidos por %s após personalização, recomendamos definir as permissões corretas para todos os diretórios e ficheiros no seu website, utilize o Gestor de Ficheiros ou FTP para verificar e alterar as permissões. %sLer mais%sRegisto de EventosRelatório de Registo de EventosConfigurações do Registo de EventosTodo bom programador deve ativar a depuração antes de começar a trabalhar num novo plugin ou tema. Na verdade, o WordPress Codex 'altamente recomenda' que os programadores usem SCRIPT_DEBUG. Infelizmente, muitos programadores esquecem o modo de depuração mesmo quando o site está online. Mostrar registos de depuração no frontend permitirá que hackers saibam muito sobre o seu site WordPress.Todo bom programador deve ativar a depuração antes de começar a trabalhar num novo plugin ou tema. Na verdade, o WordPress Codex 'altamente recomenda' que os programadores usem o WP_DEBUG.

Infelizmente, muitos programadores esquecem o modo de depuração, mesmo quando o site está online. Mostrar registos de depuração no frontend permitirá que os hackers saibam muita informação sobre o teu site WordPress.Exemplo:Tempo de ExpiraçãoExpiradoExpiraRevelar a versão do PHP tornará o trabalho de atacar o seu site muito mais fácil.Tentativas FalhadasFalhouIlhas Falkland (Malvinas)Ilhas FaroéFuncionalidadesFeed & Mapa do SiteSegurança de AlimentaçãoFijiPermissões de FicheiroAs permissões de ficheiros no WordPress desempenham um papel crítico na segurança do website. Configurar corretamente estas permissões garante que utilizadores não autorizados não consigam aceder a ficheiros e dados sensíveis.
Permissões incorretas podem inadvertidamente expor o seu website a ataques, tornando-o vulnerável.
Como administrador do WordPress, compreender e configurar corretamente as permissões de ficheiros são essenciais para proteger o seu site contra potenciais ameaças.FicheirosFiltroFinlândiaFirewallFirewall & CabeçalhosFirewall Contra Injeção de ScriptsLocalização do FirewallForça do FirewallO firewall contra injeções está carregado.Primeiro NomePrimeiro, precisa de ativar o %sModo Seguro%s ou o %sModo Fantasma%s.Primeiro, precisa de ativar o %sModo Seguro%s ou o %sModo Fantasma%s em %sCorrigir PermissõesCorrigirCorrigir permissões para todos os diretórios e ficheiros (~ 1 min)Corrigir permissões para os diretórios e ficheiros principais (~ 5 seg)VolanteDetetado volante. Adicione os redirecionamentos no painel de regras de redirecionamento do Volante %s.A pasta %s é navegável.ProibidoFrançaFrancêsGuiana FrancesaPolinésia FrancesaTerritórios Franceses do SulDe: %s <%s>Página inicialTeste de Login do FrontendTeste de FrontendTotalmente compatível com o plugin de cache Autoptimizer. Funciona melhor com a opção Otimizar/Agregar ficheiros CSS e JS.Totalmente compatível com o plugin Beaver Builder. Funciona melhor em conjunto com um plugin de cache.Totalmente compatível com o plugin Cache Enabler. Funciona melhor com a opção Minificar ficheiros CSS e JS.Totalmente compatível com o plugin Construtor de Sites Elementor. Funciona melhor em conjunto com um plugin de cache.Totalmente compatível com o plugin Fusion Builder da Avada. Funciona melhor em conjunto com um plugin de cache.Totalmente compatível com o plugin de cache Hummingbird. Funciona melhor com a opção de Minificar ficheiros CSS e JS.Totalmente compatível com o plugin LiteSpeed Cache. Funciona melhor com a opção Minificar ficheiros CSS e JS.Totalmente compatível com o plugin Oxygen Builder. Funciona melhor em conjunto com um plugin de cache.Totalmente compatível com o plugin W3 Total Cache. Funciona melhor com a opção Minificar ficheiros CSS e JS.Totalmente compatível com o plugin WP Fastest Cache. Funciona melhor com a opção Minificar ficheiros CSS e JS.Totalmente compatível com o plugin de cache WP Super Cache.Totalmente compatível com o plugin de cache WP-Rocket. Funciona melhor com a opção Minify/Combinar ficheiros CSS e JS.Totalmente compatível com o plugin Woocommerce.Construtor FusionGabãoGâmbiaGeralGeo SegurançaA Segurança Geográfica é uma funcionalidade projetada para bloquear ataques de diferentes países e pôr fim a atividades prejudiciais provenientes de regiões específicas.GeórgiaAlemãoAlemanhaGanaModo FantasmaModo Fantasma + Firewall + Força Bruta + Registo de Eventos + Autenticação de Dois FatoresO Modo Fantasma irá definir estes caminhos predefinidos.Modo fantasmaGibraltarAtribuir nomes aleatórios a cada plugin.Atribuir nomes aleatórios a cada tema (funciona no WP multisite)Nome da classe global detetado: %s. Leia primeiro este artigo: %s.Ir para o Painel de Registo de Eventos.Vá para o Painel > Secção Aparência e atualize todos os temas para a última versão.Vá para o Painel > Plugins e atualize todos os plugins para a última versão.GodaddyDetetado Godaddy! Para evitar erros de CSS, certifique-se de desligar o CDN de %s.Entendido.Google reCAPTCHA V2Google reCAPTCHA V3O Google reCaptcha V3 não está a funcionar com o formulário de login atual de %s.Excelente! A cópia de segurança foi restaurada.Excelente! Os valores iniciais foram restaurados.Ótimo! Os novos caminhos estão a carregar corretamente.Excelente! O preset foi carregado.GréciaGregoGronelândiaGranadaGuadalupeGuamGuatemalaGuernseyGuinéGuiné-BissauGuianaHaitiTer o URL de administração visível no código-fonte é terrível, porque os hackers vão logo descobrir o teu caminho secreto de administração e começar um ataque de Força Bruta. O caminho de administração personalizado não deve aparecer no URL ajax.

Encontra soluções para %s como esconder o caminho do código-fonte %s.Ter o URL de login visível no código-fonte é terrível porque os hackers vão imediatamente saber o teu caminho de login secreto e começar um ataque de Força Bruta.

O caminho de login personalizado deve ser mantido em segredo, e deves ter a Proteção contra Força Bruta ativada para ele.

Encontra soluções para %s esconder o caminho de login do código-fonte aqui %s.Ter esta diretiva PHP ativada deixará o seu site exposto a ataques cross-site (XSS).

Não há absolutamente nenhuma razão válida para ativar esta diretiva, e usar qualquer código PHP que a exija é muito arriscado.Segurança do CabeçalhoCabeçalhos e FirewallIlha Heard e Ilhas McDonaldHebraicoAjuda e Perguntas FrequentesAqui está a lista dos condados selecionados onde o seu website será restrito.HideOcultar caminho "login"Ocultar "wp-admin"Oculta "wp-admin" dos utilizadores não administradores.Ocultar "wp-login.php"Ocultar o caminho /login aos visitantes.Ocultar o caminho /wp-admin de utilizadores não administradores.Ocultar o caminho /wp-admin aos visitantes.Ocultar o caminho /wp-login.php dos visitantes.Ocultar Barra de Ferramentas de AdministraçãoOcultar a barra de ferramentas de administração para os papéis de utilizadores para evitar acesso ao painel de controlo.Ocultar Todos os PluginsOcultar URL do ID do AutorOcultar Ficheiros ComunsOcultar scripts de incorporaçãoOcultar EmojisOcultar Etiquetas de Enlace de Feed y Mapa del SitioOcultar Extensões de FicheirosOcultar Comentários HTMLOcultar IDs das etiquetas META.Ocultar Seletor de IdiomaHide My WP GhostOcultar OpçõesOcultar caminhos no Robots.txtOcultar Nomes dos PluginsOcultar ligação URL da API REST.Ocultar Nomes dos TemasOculta a Versão nas Imagens, CSS e JS no WordPress.Ocultar Versões de Imagens, CSS e JSOcultar scripts de manifestação WLW.Ocultar Ficheiros Comuns do WPOcultar Caminhos Comuns do WPOcultar Ficheiros Comuns do WordPressOcultar Caminhos Comuns do WordPressOcultar as etiquetas META de pré-busca de DNS do WordPress.Ocultar tags META do gerador do WordPress.Ocultar o Caminho dos Plugins Antigos do WordPressOcultar o caminho dos temas antigos do WordPressOculta os caminhos comuns do WordPress do ficheiro %s Robots.txt %s.Oculta os caminhos do WordPress, como wp-admin, wp-content e outros, do ficheiro robots.txt.Oculta todas as versões do final de quaisquer ficheiros de Imagem, CSS e JavaScript.Ocultar os plugins ativos e desativados.Ocultar tarefas concluídasOcultar palavra-passeOcultar as etiquetas /feed e /sitemap.xml.Oculta o DNS Prefetch que aponta para o WordPress.Oculta os Comentários HTML deixados pelos temas e plugins.Oculta os IDs de todos os <links>, <style>, <scripts> e META Tags.Ocultar o Novo Caminho do AdministradorOcultar o Novo Caminho de LoginOcultar as tags META do gerador do WordPress.Oculta a barra de ferramentas de administração para utilizadores autenticados enquanto estão na parte frontal do site.Ocultar a opção de mudar de idioma na página de login.Oculta o novo caminho de administração dos visitantes. Mostra o novo caminho de administração apenas para utilizadores autenticados.Oculta o novo caminho de login aos visitantes. Mostra o novo caminho de login apenas para acesso direto.Esconder os caminhos antigos /wp-content, /wp-include assim que forem alterados pelos novos.Oculta os caminhos antigos /wp-content, /wp-include assim que forem alterados pelos novos.Oculta o caminho antigo /wp-content/plugins assim que for alterado pelo novo.Esconder o caminho antigo /wp-content/themes assim que for alterado pelo novo.Ocultar wp-admin da URL do Ajax.Oculta os ficheiros wp-config.php, wp-config-sample.php, readme.html, license.txt, upgrade.php e install.php.Ocultar ficheiros wp-config.php, wp-config-sample.php, readme.html, license.txt, upgrade.php e install.php.Ocultar a tag de link wp-json e ?rest_route do cabeçalho do site.Esconder o ID das meta tags no WordPress pode potencialmente afetar o processo de cache de plugins que dependem da identificação das meta tags.HindiSanta Sé (Estado da Cidade do Vaticano)HondurasHong KongNome do anfitriãoPor quanto tempo o login temporário estará disponível após o usuário acessar pela primeira vez.Beija-florHúngaroHungriaIIS WindowsFoi detetado o IIS. Precisas de atualizar o teu ficheiro %s adicionando as seguintes linhas após a tag <rules>: %sIPIP BloqueadoIslândiaSe o reCAPTCHA exibir algum erro, certifique-se de corrigi-lo antes de prosseguir.Se as regras de reescrita não estiverem a carregar corretamente no ficheiro de configuração, não carregue o plugin e não altere os caminhos.Se estiver conectado com o utilizador admin, terá de fazer login novamente após a alteração.Se não conseguires configurar %s, muda para o Modo Desativado e %scontacta-nos%s.Se não conseguires configurar o reCAPTCHA, muda para a proteção Math reCaptcha.Se não tens um site de comércio eletrónico, de adesão ou de publicação de convidados, não deves permitir que os utilizadores se inscrevam no teu blogue. Vais acabar com registos de spam e o teu site ficará cheio de conteúdo e comentários de spam.Se tiver acesso ao ficheiro php.ini, defina allow_url_include = off ou contacte a empresa de alojamento para o desativar.Se tiver acesso ao ficheiro php.ini, defina expose_php = off ou contacte a empresa de alojamento para o desativar.Se tiver acesso ao ficheiro php.ini, defina register_globals = off ou contacte a empresa de alojamento para o desativar.Se tiver acesso ao ficheiro php.ini, defina safe_mode = off ou contacte a empresa de alojamento para o desativar.Se notar algum problema de funcionalidade, selecione o %sModo de Segurança%s.Se conseguires fazer login, configuraste corretamente os novos caminhos.Se conseguires fazer login, configuraste corretamente o reCAPTCHA.Se não estás a usar o Windows Live Writer, não há realmente uma razão válida para ter o seu link no cabeçalho da página, porque isso diz a todo o mundo que estás a usar o WordPress.Se não estás a usar quaisquer serviços de Descoberta Realmente Simples, como os pingbacks, não é necessário anunciar esse ponto final (link) no cabeçalho. Por favor, nota que para a maioria dos sites isto não é um problema de segurança porque eles "querem ser descobertos", mas se quiseres ocultar o facto de estares a usar o WP, esta é a forma de o fazer.Se o teu site permite logins de utilizadores, é importante que a página de login seja facilmente encontrada pelos utilizadores. Também é necessário implementar outras medidas para proteger contra tentativas maliciosas de login.

No entanto, a obscuridade é uma camada de segurança válida quando usada como parte de uma estratégia de segurança abrangente, e se quiseres reduzir o número de tentativas maliciosas de login. Tornar a tua página de login difícil de encontrar é uma forma de o fazer.Ignorar tarefa de segurança.Bloquear imediatamente nomes de utilizador incorretos em formulários de login.No ficheiro .htaccessNos velhos tempos, o nome de utilizador predefinido do administrador do WordPress era 'admin' ou 'administrador'. Como os nomes de utilizador compõem metade das credenciais de login, isto facilitava a vida aos hackers para lançarem ataques de força bruta.

Felizmente, o WordPress mudou isso e agora exige que seleciones um nome de utilizador personalizado no momento da instalação do WordPress.De facto, o Ultimate Membership Pro foi detetado. O plugin não suporta caminhos personalizados de %s, uma vez que não utiliza funções do WordPress para chamar o URL do Ajax.ÍndiaIndonésiaIndonésioInformaçãoInmotionDetetada movimentação. %sPor favor, leia como tornar o plugin compatível com o Inmotion Nginx Cache%s.Instalar/AtivarIntegração com outros plugins de CDN e URLs de CDN personalizados.ReCaptcha inválido. Por favor, complete o reCaptcha.Endereço de email inválidoNome inválido detetado: %s. Adicione apenas o nome do caminho final para evitar erros no WordPress.Nome inválido detetado: %s. O nome não pode terminar com / para evitar erros no WordPress.Nome inválido detetado: %s. O nome não pode começar com / para evitar erros no WordPress.Nome inválido detetado: %s. Os caminhos não podem terminar com . para evitar erros no WordPress.Nome inválido detetado: %s. Deve utilizar outro nome para evitar erros no WordPress.Nome de utilizador inválido.Irão, República Islâmica do.IraqueIrlandaIlha de ManIsraelÉ importante %s guardar as suas definições sempre que as altera %s. Pode utilizar a cópia de segurança para configurar outros websites que possui.É importante ocultar ou remover o ficheiro readme.html porque contém detalhes da versão do WP.É importante ocultar os caminhos comuns do WordPress para prevenir ataques a plugins e temas vulneráveis.
Além disso, é importante ocultar os nomes dos plugins e temas para torná-los impossíveis de detetar por bots.É importante renomear os caminhos comuns do WordPress, como wp-content e wp-includes, para evitar que hackers saibam que tens um site WordPress.Não é seguro ter a depuração do banco de dados ativada. Certifique-se de não usar a depuração do banco de dados em sites ativos.ItalianoItáliaJCH Otimizar CacheJamaicaJananeseJapãoO Javascript está desativado no seu navegador! Precisa ativar o javascript para poder utilizar o plugin %s.CamisolaJoomla 3Joomla 4Joomla 5JordanApenas mais um site WordPressCazaquistãoQuéniaKiribatiSaber o que os outros utilizadores estão a fazer no teu website.CoreanoKosovoKuwaitQuirguistãoIdiomaRepública Democrática Popular do LaosÚltimos 30 dias Estatísticas de SegurançaÚltimo AcessoApelidoÚltima verificação:Carregamento tardioLetóniaLetãoAprender ComoAprenda Como Adicionar o CódigoAprenda a desativar %sDirectory Browsing%s ou ativar %s %s > Alterar Caminhos > Desativar Directory Browsing%s.Aprenda a configurar o seu website como %s. %sClique Aqui%s.Aprende como configurar no Local & NginxAprende a configurar no servidor Nginx.Aprenda a usar o shortcode.Saber mais sobreSaber mais sobre o firewall %s 7G %s.Saber mais sobre o firewall %s 8G %s.Leave it blank if you don't want to display any messageDeixe em branco para bloquear todos os caminhos para os países selecionados.LíbanoLesotoVamos elevar a tua segurança para o próximo nível!Nível de SegurançaNíveis de segurançaLibériaLíbia.Token de LicençaLiechtensteinLimitar o número de tentativas de login permitidas utilizando o formulário de login normal.LiteSpeedLiteSpeed CacheLituâniaLituanoCarregar PredefiniçãoCarregar Configurações de SegurançaCarregar depois de todos os plugins serem carregados. No gancho "template_redirects".Carregar antes de todos os plugins serem carregados. No gancho "plugins_loaded".Carregar idioma personalizado se o idioma local do WordPress estiver instalado.Carrega o plugin como um plugin de Utilização Obrigatória.Carregar quando os plugins são inicializados. No gancho "init".Detetado Local & NGINX. Caso ainda não tenha adicionado o código no ficheiro de configuração do NGINX, por favor adicione a seguinte linha. %sLocal by FlywheelLocalizaçãoBloquear utilizadorMensagem de BloqueioRegistar Funções de UtilizadorRegistar Eventos dos UtilizadoresRedirecionamentos de Início de Sessão e de Saída.Login Bloqueado porCaminho de LoginURL de Redirecionamento de LoginSegurança de LoginTeste de Início de SessãoURL de loginURL de Redirecionamento ao SairProteção do Formulário de Recuperação de Palavra-passeLuxemburgoMacauMadagáscarIniciar sessão com link mágicoCertifique-se de que os URLs de redirecionamento existem no seu website. %sO URL de redirecionamento da Função do Utilizador tem prioridade superior ao URL de redirecionamento predefinido.Certifica-te de que sabes o que estás a fazer ao alterar os cabeçalhos.Certifica-te de guardar as definições e de limpar a cache antes de verificar o teu website com a nossa ferramenta.MalawiMalásiaMaldivasMaliMaltaGerir Proteção contra Ataques de Força BrutaGerir Redirecionamentos de Início de Sessão e de SaídaGerir lista branca e lista negra de endereços IP.Bloquear/desbloquear endereços IP manualmente.Personalizar manualmente cada nome do plugin e sobrescrever o nome aleatório.Personalize manualmente cada nome de tema e substitua o nome aleatório.Adicione manualmente os endereços IP confiáveis à lista branca.MapeamentoIlhas MarshallMartinicaMatemática e verificação do Google reCaptcha ao iniciar sessão.Math reCAPTCHAMauritâniaMauríciaNúmero máximo de tentativas falhadasMayotteMédioMembroMéxicoMicronésia, Estados Federados daMínimoMínimo (Sem Reescrita de Configurações)Moldávia, República daMónacoMongóliaMonitoriza tudo o que acontece no teu site WordPress!Monitorize, acompanhe e registe eventos no seu website.MontenegroMontserratMais AjudaMais informações sobre %sMais opçõesMarrocosA maioria das instalações do WordPress são hospedadas nos populares servidores web Apache, Nginx e IIS.MoçambiqueDeve utilizar o carregamento de plugins.A minha ContaMianmarVersão do MySQLO NGINX foi detetado. Caso ainda não tenha adicionado o código no ficheiro de configuração do NGINX, por favor adicione a seguinte linha. %sNomeNamíbiaNauruNepalPaíses BaixosNova CaledóniaNovos Dados de LoginNovo Plugin/Tema detetado! Atualize as definições de %s para o ocultar. %sClique aqui%sNova ZelândiaPróximos PassosNginxNicaráguaNígerNigériaNiueEntendido.Sem simulação de CMS.Não foram lançadas atualizações recentes.Nenhuma IPs na lista negra.Não foi encontrado nenhum registo.Sem logins temporários.No problem, feel free to reach out if you need assistance in the future.Número de segundosIlha NorfolkCarga NormalNormalmente, a opção de bloquear visitantes de navegar nos diretórios do servidor é ativada pelo host através da configuração do servidor, e ativar duas vezes no ficheiro de configuração pode causar erros, por isso é melhor primeiro verificar se o %sDiretório de Envios%s está visível.Coreia do NorteMacedónia do Norte, República daIlhas Marianas do NorteNoruegaNorueguêsAinda não iniciou sessão.Tenha em mente que esta opção não ativará o CDN para o seu website, mas irá atualizar os caminhos personalizados se já tiver definido um URL de CDN com outro plugin.Nota! %sOs caminhos NÃO são alterados fisicamente%s no seu servidor.Nota! O plugin usará o WP cron para alterar os caminhos em segundo plano assim que os ficheiros de cache forem criados.Nota: Se não conseguires fazer login no teu site, acede a este URL.Definições de NotificaçãoEstá bem, configurei-o.OmãNa inicialização do site.Assim que comprares o plugin, irás receber as credenciais %s para a tua conta por email.Um DiaUma horaUm mêsUma semanaUm AnoUm dos ficheiros mais importantes na tua instalação do WordPress é o ficheiro wp-config.php.
Este ficheiro encontra-se no diretório raiz da tua instalação do WordPress e contém os detalhes de configuração base do teu site, como informações de ligação à base de dados.Apenas altere esta opção se o plugin não conseguir identificar corretamente o tipo de servidor.Otimize os ficheiros CSS e JS.Opção para informar o utilizador sobre as tentativas restantes na página de início de sessão.OpçõesPlugins desatualizadosTemas desatualizadosVisão GeralOxigénioVersão do PHPO PHP allow_url_include está ativado.O PHP expose_php está ativado.O `register_globals` do PHP está ativado.O modo seguro do PHP foi uma das tentativas de resolver problemas de segurança em servidores de hospedagem web compartilhada.

Ainda é utilizado por alguns provedores de hospedagem web, no entanto, hoje em dia é considerado inadequado. Uma abordagem sistemática prova que é arquiteturalmente incorreto tentar resolver questões complexas de segurança ao nível do PHP, em vez de o fazer ao nível do servidor web e do sistema operativo.

Tecnicamente, o modo seguro é uma diretiva do PHP que restringe a forma como algumas funções internas do PHP operam. O principal problema aqui é a inconsistência. Quando ativado, o modo seguro do PHP pode impedir que muitas funções legítimas do PHP funcionem corretamente. Ao mesmo tempo, existem várias formas de contornar as limitações do modo seguro usando funções do PHP que não estão restritas, por isso, se um hacker já tiver entrado, o modo seguro é inútil.O modo seguro do PHP está ativado.Página não encontradaPaquistãoPalauTerritório PalestinianoPanamáPapua Nova GuinéParaguaiPassadoCaminho não permitido. Evite caminhos como plugins e temas.Caminhos e OpçõesOs caminhos foram alterados nos ficheiros de cache existentes.Pausa por 5 minutosPermalinksPersaPeruFilipinasPitcairnPor favor, esteja ciente de que se não consentir em armazenar dados na nossa Cloud, pedimos gentilmente que evite ativar esta funcionalidade.Por favor, visite %s para verificar a sua compra e obter o token de licença.Gancho de Carregamento de PluginCaminho dos PluginsSegurança de PluginsDefinições dos PluginsOs plugins que não foram atualizados nos últimos 12 meses podem ter problemas de segurança reais. Certifique-se de usar plugins atualizados do Diretório do WordPress.Editor de Plugins/Temas desativadoPolóniaPolonêsPortugalPortuguêsSegurança predefinidaEvitar Layout Quebrado do WebsiteCarregamento prioritárioProtege a tua loja WooCommerce contra ataques de login por força bruta.Protege o teu website contra ataques de login por Força Bruta usando %s. Uma ameaça comum que os desenvolvedores web enfrentam é um ataque de adivinhação de senha conhecido como ataque de Força Bruta. Um ataque de Força Bruta é uma tentativa de descobrir uma senha ao tentar sistematicamente todas as combinações possíveis de letras, números e símbolos até descobrir a combinação correta que funcione.Protege o teu website contra ataques de login por Força Bruta.Protege o teu website contra ataques de login por força bruta.Prove a tua humanidade:Porto RicoQatarCorreção RápidaRDS é visível.Número Estático AleatórioReativar utilizador por 1 diaRedirecionar Após Iniciar SessãoRedirecionar Caminhos OcultosRedirecionar Utilizadores Autenticados Para o PainelRedirecionar utilizadores temporários para uma página personalizada após o login.Redirecionar os caminhos protegidos /wp-admin, /wp-login para uma Página ou acionar um Erro HTML.Redirecionar o utilizador para uma página personalizada após o login.RedirecionamentosRemoverRemover a versão do PHP, informações do servidor e a assinatura do servidor do cabeçalho.Remover Plugins Authors & Style no Sitemap XML.Remover Cabeçalhos Não SegurosRemover a tag de link de retorno do cabeçalho do site.Renomear ficheiro readme.html ou ativar %s %s > Alterar Caminhos > Ocultar Ficheiros Comuns do WordPress%sRenomear os ficheiros wp-admin/install.php e wp-admin/upgrade.php ou ativar %s %s > Alterar Caminhos > Ocultar Caminhos Comuns do WordPress%sRenovarReiniciarRepor as DefiniçõesResolver nomes de host pode afetar a velocidade de carregamento do site.Restaurar Cópia de SegurançaRestaurar DefiniçõesResumo de SegurançaReuniãoSegurança de RobotsFunçãoReverter DefiniçõesReverter todas as definições do plugin para os valores iniciais.RoméniaRomenoExecute %s Teste de Frontend %s para verificar se os novos caminhos estão funcionando.Executar %s Teste de Login %s e fazer login dentro do popup.Execute o teste %sreCAPTCHA%s e faça login na janela pop-up.Executar Verificação de Segurança CompletaRussoFederação RussaRuandaSSL é uma abreviação usada para Secure Sockets Layers, que são protocolos de criptografia usados na internet para garantir a troca de informações e fornecer informações de certificado.

Estes certificados garantem ao utilizador a identidade do website com o qual estão a comunicar. SSL também pode ser chamado de TLS ou protocolo de Segurança da Camada de Transporte.

É importante ter uma ligação segura para o Painel de Administração no WordPress.Modo de SegurançaModo Seguro + Firewall + Força Bruta + Registo de Eventos + Autenticação de Dois FatoresModo de Segurança + Firewall + Definições de CompatibilidadeO Modo de Segurança irá definir estes caminhos predefinidos.URL seguro:Modo de segurançaSão BartolomeuSanta HelenaSão Cristóvão e NevesSanta LúciaSão MartinhoSaint Pierre e MiquelonSão Vicente e GranadinasSalts e Chaves de Segurança válidosSamoaSan MarinoSão Tomé e PríncipeArábia SauditaGuardarGuardar Registo de DepuraçãoGuardar UtilizadorGuardadoGuardado! Esta tarefa será ignorada em testes futuros.Guardado! Podes correr o teste novamente.Modo de Depuração de ScriptPesquisarPesquisar no registo de eventos do utilizador e gerir os alertas por email.Chave SecretaChaves secretas para %sGoogle reCAPTCHA%s.Caminhos Seguros do WPVerificação de SegurançaChaves de segurança atualizadasEstado de SegurançaAs chaves de segurança são definidas no ficheiro wp-config.php como constantes nas linhas. Devem ser o mais únicas e longas possível. AUTH_KEY,SECURE_AUTH_KEY,LOGGED_IN_KEY,NONCE_KEY,AUTH_SALT,SECURE_AUTH_SALT,LOGGED_IN_SALT,NONCE_SALTAs chaves de segurança são usadas para garantir uma melhor encriptação das informações armazenadas nos cookies do utilizador e nas palavras-passe em formato hash.

Estas tornam o seu site mais difícil de hackear, aceder e quebrar, ao adicionar elementos aleatórios à palavra-passe. Não é necessário memorizar estas chaves. Na verdade, uma vez definidas, nunca mais as verá. Portanto, não há desculpa para não as configurar corretamente.Verifique as ações dos últimos dias neste site...Selecionar PredefiniçãoSelecionar Funções de UtilizadorSelecione uma configuração de segurança pré-definida que testamos na maioria dos websites.Selecionar tudoSelecione por quanto tempo o login temporário estará disponível após o primeiro acesso do usuário.Selecione as extensões de ficheiro que deseja ocultar nos caminhos antigos.Selecione os ficheiros que deseja ocultar nos caminhos antigos.Países SelecionadosEnvie-me um email com as URLs de administração e de login alteradas.SenegalSérviaSérvioTipo de ServidorDefinir Diretório de Cache PersonalizadoDefinir redirecionamentos de início de sessão e de saída com base nos papéis do utilizador.Defina a função do utilizador atual.Indique o website para o qual deseja que este utilizador seja criado.DefiniçõesSeychellesDetetado nome curto: %s. Deve utilizar caminhos únicos com mais de 4 caracteres para evitar erros no WordPress.MostrarMostrar /%s em vez de /%sMostrar Opções AvançadasMostrar Caminhos Padrão & Permitir Caminhos OcultosMostrar Caminhos Padrão e Permitir TudoMostrar ecrã em branco quando o Inspect Element está ativo no navegador.Mostrar tarefas concluídasMostrar tarefas ignoradasMostrar mensagem em vez de formulário de loginMostrar senhaSerra LeoaProteção do Formulário de InscriçãoChinês simplificadoSimular CMSSingapuraSão MartinhoChave do siteChaves do site para %sGoogle reCaptcha%s.SiteGroundSegurança do Mapa do SiteSeis MesesEslovacoEslováquiaEslovenoEslovéniaSegurança sólidaIlhas SalomãoSomáliaAlguns plugins podem remover regras de reescrita personalizadas do ficheiro .htaccess, especialmente se este for editável, o que pode afetar a funcionalidade dos caminhos personalizados.Alguns temas não funcionam com caminhos personalizados para Admin e Ajax. Em caso de erros de ajax, volte para wp-admin e admin-ajax.php.Desculpe, não tem permissão para aceder a esta página.África do SulGeórgia do Sul e Ilhas Sandwich do SulCoreia do SulEspanhaOs spammers podem inscrever-se facilmente.EspanholSri LankaIniciar a verificação.Segurança SucuriSudãoSuper AdministradorSurinameSvalbard e Jan MayenSuazilândiaSuéciaSuecoAtivar %s %s > Alterar Caminhos > Ocultar Caminhos Comuns do WordPress%sAtivar %s %s > Alterar Caminhos > Desativar acesso XML-RPC%sAtivar %s %s > Alterar Caminhos > Ocultar URL do ID do Autor%sAtive %s %s > Alterar Caminhos > Ocultar Ponto Final RSD%sAtivar %s %s > Alterar Caminhos > Ocultar Ficheiros Comuns do WordPress%sAtivar %s %s > Alterar Caminhos > Ocultar wp-admin do URL de ajax%s. Ocultar qualquer referência ao caminho de administração dos plugins instalados.Ativar %s %s > Ajustes > %s %sAtivar %s %s > Ajustes > Ocultar scripts de manifesto WLW%sSuíçaRepública Árabe da SíriaSloganTaiwanTajiquistãoTanzânia, República Unida daLogin temporárioConfigurações de Login TemporáriasAcessos TemporáriosTesta os cabeçalhos do teu website comMapeamento de Texto e URLMapeamento de TextoMapeamento de texto em ficheiros CSS e JS, incluindo ficheiros em cache.Mapeamento de Texto apenas Classes, IDs, variáveis JSTailandêsTailândiaObrigado por usar %s!A secção %s foi transferida %s aqui %sO Modo Fantasma irá adicionar as regras de reescrita no ficheiro de configuração para ocultar os caminhos antigos dos hackers.A API REST é crucial para muitos plugins, pois permite que interajam com a base de dados do WordPress e realizem várias ações de forma programática.O Modo de Segurança irá adicionar as regras de reescrita no ficheiro de configuração para ocultar os caminhos antigos dos hackers.O URL seguro desativará todos os caminhos personalizados. Utilize-o apenas se não conseguir fazer login.A base de dados do WordPress é como um cérebro para todo o teu site WordPress, porque todas as informações sobre o teu site são armazenadas lá, tornando-a um alvo favorito dos hackers.

Spammers e hackers executam código automatizado para injeções SQL.
Infelizmente, muitas pessoas esquecem-se de alterar o prefixo da base de dados quando instalam o WordPress.
Isto facilita aos hackers planear um ataque em massa ao visar o prefixo padrão wp_.O slogan do site do WordPress é uma frase curta localizada sob o título do site, semelhante a um subtítulo ou slogan publicitário. O objetivo de um slogan é transmitir a essência do seu site aos visitantes.

Se não alterar o slogan predefinido, será muito fácil detetar que o seu site foi realmente construído com o WordPress.A constante ADMIN_COOKIE_PATH está definida no wp-config.php por outro plugin. Não podes alterar %s a menos que removas a linha define('ADMIN_COOKIE_PATH', ...);.A lista de plugins e temas foi atualizada com sucesso!A forma mais comum de hackear um site é ao aceder ao domínio e adicionar queries maliciosas para revelar informações dos ficheiros e da base de dados.
Estes ataques são feitos em qualquer site, seja WordPress ou não, e se uma invasão for bem-sucedida... provavelmente será tarde demais para salvar o site.O editor de ficheiros de plugins e temas é uma ferramenta muito conveniente, pois permite fazer alterações rápidas sem a necessidade de utilizar FTP.

Infelizmente, também representa um problema de segurança, uma vez que não só mostra o código fonte PHP, como também permite que atacantes injetem código malicioso no seu site se conseguirem aceder à área de administração.O processo foi bloqueado pelo firewall do site.O URL solicitado %s não foi encontrado neste servidor.O parâmetro de resposta é inválido ou malformado.O parâmetro secreto é inválido ou malformado.O parâmetro secreto está em falta.As chaves de segurança no ficheiro wp-config.php devem ser renovadas com a maior frequência possível.Caminho dos TemasTema SegurançaOs temas estão atualizados.Ocorreu um erro crítico no seu website.Ocorreu um erro crítico no seu website. Por favor, verifique a caixa de entrada do email do administrador do site para obter instruções.Há um erro de configuração no plugin. Por favor, guarde as definições novamente e siga as instruções.Existe uma nova versão do WordPress disponível ({version}).Não há nenhum changelog disponível.Não existe tal coisa como uma "palavra-passe sem importância"! O mesmo se aplica à palavra-passe da tua base de dados do WordPress.
Embora a maioria dos servidores esteja configurada de forma a que a base de dados não possa ser acedida a partir de outros hosts (ou de fora da rede local), isso não significa que a tua palavra-passe da base de dados deva ser "12345" ou nenhuma palavra-passe de todo.Esta funcionalidade incrível não está incluída no plugin básico. Queres desbloqueá-la? Basta instalar ou ativar o Pacote Avançado e desfrutar das novas funcionalidades de segurança.Este é um dos maiores problemas de segurança que pode ter no seu site! Se a sua empresa de alojamento tiver esta diretiva ativada por padrão, mude imediatamente para outra empresa!Pode ser que isto não funcione com todos os novos dispositivos móveis.Esta opção irá adicionar regras de reescrita ao ficheiro .htaccess na área de regras de reescrita do WordPress, entre os comentários # BEGIN WordPress e # END WordPress.Isso irá impedir que os caminhos antigos sejam exibidos quando uma imagem ou fonte é chamada através do ajax.Três DiasTrês HorasTimor-LestePara alterar os caminhos nos ficheiros em cache, ative %sAlterar Caminhos em Ficheiros em Cache%s.Para ocultar a biblioteca Avada, por favor adicione o Avada FUSION_LIBRARY_URL no ficheiro wp-config.php após a linha $table_prefix: %sPara melhorar a segurança do seu site, considere remover autores e estilos que apontam para o WordPress no seu sitemap XML.TogoTokelauTongaRegiste e registe os eventos do site e receba alertas de segurança por email.Registe e registe os eventos que ocorrem no seu site WordPress.Chinês tradicionalTrindade e TobagoResolução de ProblemasTunísiaTurquiaTurcoTurquemenistãoIlhas Turcas e CaicosDesativa os plugins de depuração se o teu site estiver online. Também podes adicionar a opção para ocultar os erros da base de dados global $wpdb; $wpdb->hide_errors(); no ficheiro wp-config.php.TuvaluAjustesAutenticação de dois fatoresMapeamento de URLUgandaUcrâniaUcranianoO Ultimate Affiliate Pro foi detetado. O plugin não suporta caminhos personalizados %s, uma vez que não utiliza funções do WordPress para chamar o URL do Ajax.Não consigo atualizar o ficheiro wp-config.php para alterar o Prefixo da Base de Dados.DesfazerEmirados Árabes UnidosReino UnidoEstados UnidosIlhas Menores Distantes dos Estados Unidos.Estado desconhecido do verificador de atualizações "%s"Desbloquear tudoAtualize as configurações em %s para atualizar os caminhos após alterar o caminho da API REST.AtualizadoCarrega o ficheiro com as definições do plugin guardadas.Caminho de UploadsAções de Segurança Urgentes NecessáriasUruguaiUtilizar Proteção contra Ataques de Força Bruta.Utilize Entradas TemporáriasUtilize a tag de substituição %s para integrá-la com outros formulários de login.UtilizadorUtilizador 'admin' ou 'administrador' como AdministradorAção do utilizadorRegisto de Eventos do UtilizadorFunção do UtilizadorSegurança do UtilizadorO utilizador não pôde ser ativado.Não foi possível adicionar o utilizador.Não foi possível eliminar o utilizador.Não foi possível desativar o utilizador.Funções do utilizador para quem desativar o Clique Direito.Funções do utilizador para quem desativar a cópia/colagem.Funções do utilizador para quem desativar o arrastar/soltar.Funções do utilizador para quem desativar a inspeção de elementos.Funções do utilizador para quem desativar a visualização do código-fonte.Funções de utilizador para quem esconder a barra de administração.Utilizador ativado com sucesso.Utilizador criado com sucesso.Utilizador eliminado com sucesso.Utilizador desativado com sucesso.Utilizador atualizado com sucesso.Os nomes de utilizador (ao contrário das palavras-passe) não são secretos. Ao conhecer o nome de utilizador de alguém, não podes aceder à sua conta. Precisas também da palavra-passe.

No entanto, ao conheceres o nome de utilizador, estás mais perto de aceder à conta ao tentar forçar a palavra-passe, ou de obter acesso de forma semelhante.

Por isso, é aconselhável manter a lista de nomes de utilizador privada, pelo menos até certo ponto. Por defeito, ao aceder a siteurl.com/?author={id} e iterar pelos IDs a partir do 1, podes obter uma lista de nomes de utilizador, porque o WP irá redirecionar-te para siteurl.com/author/user/ se o ID existir no sistema.O uso de uma versão antiga do MySQL torna o seu site lento e vulnerável a ataques de hackers devido às vulnerabilidades conhecidas que existem em versões do MySQL que já não são mantidas.

Você precisa de Mysql 5.4 ou superior.O uso de uma versão antiga do PHP torna o seu site lento e vulnerável a ataques de hackers devido às vulnerabilidades conhecidas que existem em versões do PHP que já não são mais mantidas.

Você precisa do PHP 7.4 ou superior para o seu site.UsbequistãoEntendido.ValorVanuatuVenezuelaVersões no Código FonteVietnameVietnamitaVer detalhesIlhas Virgens BritânicasIlhas Virgens Americanas.W3 Total CacheSegurança do Núcleo do WPModo de Depuração do WPWP EngineWP Fastest CacheWP RocketWP Super CacheO WP Super Cache detetou CDN. Por favor, inclua os caminhos %s e %s em WP Super Cache > CDN > Diretórios a incluir.WPBakery Page BuilderWPPluginsWallis e FutunaNome fraco detetado: %s. Precisas de usar outro nome para aumentar a segurança do teu website.WebsiteSaara OcidentalOnde adicionar as regras do firewall.Lista brancaPermitir IPs na lista branca.Opções de Lista BrancaPermitir caminhos na lista branca.O Windows Live Writer está ligado.Iniciar sessão seguro no WooCommerceSuporte WooCommerceWoocommerceWoocommerce Magic LinkPalavra-passe da Base de Dados do WordPressPermissões Padrão do WordPressVerificação de Segurança do WordPressVersão do WordPressO XML-RPC do WordPress é uma especificação que visa padronizar as comunicações entre diferentes sistemas. Utiliza o HTTP como mecanismo de transporte e o XML como mecanismo de codificação para permitir a transmissão de uma ampla gama de dados.

Os dois maiores trunfos da API são a sua extensibilidade e a sua segurança. O XML-RPC autentica-se utilizando autenticação básica. Envia o nome de utilizador e a palavra-passe com cada pedido, o que é considerado um grande erro nos círculos de segurança.O WordPress e os seus plugins e temas são como qualquer outro software instalado no seu computador, e como qualquer outra aplicação nos seus dispositivos. Periodicamente, os desenvolvedores lançam atualizações que fornecem novas funcionalidades ou corrigem bugs conhecidos.

Novas funcionalidades podem ser algo que você não necessariamente deseja. Na verdade, você pode estar perfeitamente satisfeito com a funcionalidade que tem atualmente. No entanto, ainda pode estar preocupado com bugs.

Os bugs de software podem assumir várias formas e tamanhos. Um bug pode ser muito sério, como impedir os utilizadores de usarem um plugin, ou pode ser um bug menor que afeta apenas uma parte específica de um tema, por exemplo. Em alguns casos, os bugs podem até causar graves vulnerabilidades de segurança.

Manter os temas atualizados é uma das formas mais importantes e fáceis de manter o seu site seguro.O WordPress e os seus plugins e temas são como qualquer outro software instalado no teu computador, e como qualquer outra aplicação nos teus dispositivos. Periodicamente, os desenvolvedores lançam atualizações que fornecem novas funcionalidades ou corrigem bugs conhecidos.

Estas novas funcionalidades podem não ser necessariamente algo que desejes. Na verdade, podes estar perfeitamente satisfeito com a funcionalidade que tens atualmente. No entanto, é provável que continues preocupado com os bugs.

Os bugs de software podem assumir várias formas e tamanhos. Um bug pode ser muito grave, como impedir os utilizadores de usarem um plugin, ou pode ser menor e afetar apenas uma parte de um tema, por exemplo. Em alguns casos, os bugs podem causar graves vulnerabilidades de segurança.

Manter os plugins atualizados é uma das formas mais importantes e fáceis de manter o teu site seguro.O WordPress é conhecido pela facilidade de instalação.
É importante ocultar os ficheiros wp-admin/install.php e wp-admin/upgrade.php, pois já houve alguns problemas de segurança relacionados com esses ficheiros.O WordPress, os plugins e os temas adicionam as suas informações de versão ao código fonte, para que qualquer pessoa as possa ver.

Os hackers podem facilmente encontrar um site com plugins ou temas de versões vulneráveis e atacá-los com Exploits Zero-Day.Segurança do WordfenceO WpEngine foi detetado. Adicione os redirecionamentos no painel de regras de redirecionamento do WpEngine %s.Proteção de Nome de Usuário IncorretoSegurança XML-RPCO acesso XML-RPC está ativo.IémenEntendido.Sim, está a funcionar.Já definiste um diretório diferente para wp-content/uploads no ficheiro wp-config.php %s.Podes banir um único endereço IP como 192.168.0.1 ou um intervalo de 245 IPs como 192.168.0.*. Esses IPs não poderão aceder à página de login.Podes criar uma nova página e depois escolher redirecionar para essa página.Podes gerar %snovas chaves a partir daqui%s AUTH_KEY,SECURE_AUTH_KEY,LOGGED_IN_KEY,NONCE_KEY,AUTH_SALT,SECURE_AUTH_SALT,LOGGED_IN_SALT,NONCE_SALTPode desligar a opção '%s' agora.Pode configurar para receber emails de alerta de segurança e prevenir a perda de dados.Podes adicionar um único endereço IP à lista branca, como 192.168.0.1, ou um intervalo de 245 IPs como 192.168.0.*. Encontra o teu IP com %s.Não podes definir tanto ADMIN como LOGIN com o mesmo nome. Por favor, utiliza nomes diferentes.Não tens permissão para aceder a %s neste servidor.Precisas de ativar a Reescrita de URL para o IIS poderes alterar a estrutura dos links permanentes para URLs amigáveis (sem index.php). %sMais detalhes%sPrecisas de definir um número positivo de tentativas.Precisas de definir um tempo de espera positivo.Precisas de definir a estrutura de permalink para URLs amigáveis (sem index.php).Deve sempre atualizar o WordPress para as %súltimas versões%s. Estas geralmente incluem as últimas correções de segurança e não alteram significativamente o WP. Estas devem ser aplicadas assim que o WP as disponibilizar.

Quando uma nova versão do WordPress estiver disponível, receberá uma mensagem de atualização nos ecrãs de administração do WordPress. Para atualizar o WordPress, clique no link desta mensagem.Deve verificar o seu website todas as semanas para ver se existem alterações de segurança.A sua licença %s %s expirou em %s %s. Para manter a segurança do seu website atualizada, certifique-se de ter uma subscrição válida em %saccount.hidemywpghost.com%s.O seu IP foi assinalado por possíveis violações de segurança. Por favor, tente novamente dentro de pouco tempo...A URL de administração não pode ser alterada no alojamento %s devido aos termos de segurança %s.A URL de administração foi alterada por outro plugin/tema em %s. Para ativar esta opção, desative a personalização de administração no outro plugin ou desative-o.O URL de login foi alterado por outro plugin/tema em %s. Para ativar esta opção, desative o login personalizado no outro plugin ou desative-o.O URL de login é: %sO URL de login será: %s Se não conseguir fazer login, utilize o URL seguro: %sA sua nova palavra-passe não foi guardada.Os URLs do seu novo site são:A segurança do seu website %sé extremamente fraca%s. %sExistem muitas portas abertas para hackers.A segurança do seu website %sé muito fraca%s. %sExistem muitas portas para hackers.A segurança do seu site está a melhorar. %sCertifique-se apenas de completar todas as tarefas de segurança.A segurança do seu website ainda está fraca. %sAlgumas das principais portas de entrada para hackers ainda estão disponíveis.A segurança do seu website é forte. %sContinue a verificar a segurança todas as semanas.ZâmbiaZimbabuéAtivar funcionalidade.após primeiro acessoJá ativo.escuroPor defeito.diretiva PHP `display_errors`por exemplo *.colocrossing.compor exemplo /carrinho/Por exemplo, /cart/ irá permitir todas as rotas que começam com /cart/.e.g. /finalizar-compra/Por exemplo, /post-type/ irá bloquear todos os caminhos que começam com /post-type/.por exemplo acapbotpor exemplo, alexibotpor exemplo, badsite.compor exemplo, gigabotpor exemplo, kanagawa.compor exemplo xanax.comPor exemplo.por exemplo /logout oupor exemplo, adm, voltareg. ajax, jsonpor exemplo, aspeto, modelos, estilospor exemplo, comentários, discussãopor exemplo, núcleo, inc, incluireg. desativar_url, url_segurapor exemplo, imagens, ficheirospor exemplo, json, api, callpor exemplo, bibl, bibliotecaex: login ou signineg. terminar sessão ou desligareg. perdidacontrasenha ou esquecidacontrasenhaeg. main.css, theme.css, design.cssmóduloseg. link de ativação de multisiteex. novo utilizador ou registarpor exemplo, perfil, usr, escritordeajudahttps://hidemywp.comIgnorar alertaOs ficheiros install.php e upgrade.php estão acessíveis.luzregistoregistosMais detalhesNão recomendado.apenas %d carateresouIncompatibilidadeMédioForça da palavra-passe desconhecida.ForteMuito fracoFracoTeste reCAPTCHATeste reCAPTCHA V2Teste reCAPTCHA V3Linguagem reCaptchaTema reCaptchaO ficheiro readme.html está acessível.recomendadoredirecionamentosVer recursoIniciar configuração da funcionalidade.Uma nova versão do plugin %s está disponível.Não foi possível determinar se existem atualizações disponíveis para %s.O plugin %s está atualizado.paramuito simplesOs ficheiros wp-config.php e wp-config-sample.php estão acessíveis.languages/hide-my-wp-ro_RO.mo000064400000467105147600042240012061 0ustar003)LSooeo pp pe:p%ppppPqhqXqTr>qr>rMr2=s)psBsEs#t tMtDuau eu ou}uu uu u uuePv)v v v v8w?xFxOxxyy0yJy%_yCyTyGz;fz5zLz%{{{L{"|<)|/f|%|||'|}7-}$e}R}!}}5~SQ~~~~,~':/7j3    . @XL+ р߀  $ ;'HpGdSrfjقD  4;8B { MW _k A ܅ %=E M ZePnΆֆކ T \ ftŇԇ6 Q] p|! ƈԈۈ (@]t ~ (I0zL~Fˊ7@S ϋ֋Y GRds Ō4%Q-w(J΍"6<ksdߎQDIUq6M 10;bCF5)_ekFm_Rgx/e@ ` l`xٕݕ  "#9,]ray_nٗpH' ej[^ƙ%B%HanК7ٚ  Y( 1ڛ. ;G[45؜&A͝ʞҞ۞(:Mg|(П %8Lc{@Р371ipv   šСء%@?*  Ǣ!Ӣ +#Fnj٣ "'Jb( ɤ/8!Jl$c $9[^%Ѧ)&!ZHP.O#0s/5Ԩ, 7}"v%/=mv)@F,;Hh87"( 7 AKT]DcF \ h n z ȮPׯ+ݯ ̰1԰ =N](sձuIDzвײ ̳޳bkU ʶֶ޶N 5CJ ft} nt{!ӹ% ?EV6;&M/}  ˻  t"Uc_Q^gexU޾d4f2m3)  =* * 5 ?7`;WUCO Fe'+   %/8 ?MTZ\w! KTYk${1"&)P?c2E]t 1%=Wl%""7AQyF(; P)^.5M;S&k:3UVWSTHWGfgk7  K  +5 =gI Yv!UIF8y`rxMqF8=8=~5Z6 ^M7^-RO-Q}PR s ]Bzhzf )2;B ^io4x    ( 4AH PZlt3#"9\{##7= JR+Z C *4 D N Ye@{=>%96_v  (2BQb{    .9_KR[dio!)$A@@( 6  );C JU\|7. - 8 CM gtY|   n H  + 1;AINQc~   . 5?Q9e#;Z go x R= JRcs| 2"1:@V]nw6~)  '0D  1B )GAXk88?x  "65Ul+ >->l1Yz9&+3=qy>12&>FY` + <5 -r )          +  E f         1 " 1 C 5J  %       -b @ R8O.6  $1?q5 g>C['q&<"% H Vc{   #   '6FN|/c ,   ' -9B Ycj?r954">W| 64 kw  /7<,t,aV`RHGu8]U4 !2A!/t!-! !J! >"J"Z"0p"k"h #<v# #B#%%.a&&Y)' ' ' 'T'u'uq((((F(7A)y)))))) )))*** *** **\o++++ +$,"(, K,LV,,., , ,--+-<@-}-0- -- - --..7.-S.,.+.1.- /,:/g/////c/U2:3 +464<4B4 J4T4l4 t4 44444 4 44 5 5i55 55W566 &6 G6 Q6_6q6666 6667#7<7N7:9>Q<?m@NAMaAAAAAAAP B\BKB6C!CCCt7DQD:D9E.E(EL!FnFRGDHaHODII$JJHJ%K9KPPKKK^KZLLILLLMM%M4M9MAM^M vM8MM>M N N%N 6NCNUNdNhN wNNNNNNNO"O3OGO`O${O OOOOOPP P.'PVP\P`P ePrP PPPP+PP Q(Q?QNQ`QrQQQ Q Q QQ=QE(R-nRR R9RRUV W W #WzDWW WXXV8XXx\Y$YSYRNZbZ2[Z7[>[Z[,\%\g\U@]]] ]]] ]] ] ^^i^6_G_ V_ b_}n_` `` aa$a"b2b1Fbbxb{bwWc?c@dWPdd {4{Q{%M|:s|z|t)}g}V~Q]~u~Q%w<GYHYFCI OK[vk1tNe ńqфCG`i&<؅pԆE,a;n͊)<fl D Wevu  !,3N01^GDBώ(^Џ/8@E!Mo"$ʑ#%)9 c#?Ȓ'Fb  “cDc=}P (:BTk p {.<Q3<– ږ .&FX#p6~˗%J!p1+7,dmGDޙ'#K3dr '$3Lj4/=3mk[ <ia0@9?z</#-41b.c_F9SG4W|ԣڣ    kkk&   إx4|ɧR 8*Kov7BJRYsK A`u~̰ݰ&.7*Ju0ͳCճIcxIOɴs" µ޵.G bp +:/Ļ*ȼм߼½ Ƚ[ҽ+. Z d%nEHھ#SA[WQUiS},/,.%[   ^F$<KL_D!&;Jb)-.^4')#4!Xz'  #Cb:|,#(&D"k+(,*B;g~]>D9.;eW$6_7DwdUV2SR)0qZrF?&-,Z c m]{   x|%]SG[)}3P<<?|=e&LAY  p#>;"e=``]ee)Eaf nyv1P  x 9 *4; BN"T,w  C..)Fp+,:Nlr.z g y %Y[@T)=Y)B!Tv    0 -7 =HbI#m =;N9)ON>! 8   %!/QY _i,o'>Q+ } c7@ ^iq#)9HgZ  $>^$r C&.Un wA;l}L7K\a`}8eA!W!*@PV ]"j!!*F2y$ o& , > S b , A  I  S  ^ j ,  ^ ( K KD       $ #@A`]gRh YE2"x=gqA  P-@VjsAQA@E^ <i*  )7Gd$  >$\\* 4J c8bi*i;Q7/E@ -M$H< w   : 8X / D !%!8B!{! !5!! ! ! ! "," I"T" h"s"|"""""""}#;$ S$4a$ $$($ $ $$$% %%"% 9%C%J%fS%C%A%A@&A&& W'Cx''''' '&' (9(R(!c(( (D(6(!) &)"0)'S)l{))k*h*]+he-.:~/c/10252%(3&N3u3Q3334+4E4v45G5(}5~5%77D8!9g9 7:A: J:iV::B;;;;k;Sj<<<<<<= ==0== => &>1>8> @>L>`>K?R? h? u?0?/? ?`? Q@7\@ @'@@ @#@LA dA7oAAAAA#A#B"2B&UB1|B1B1B1C1DCUvC&C$C%D)>D)hDDG=H J JJJ #J-JGJOJ iJvJJJJJ JJ JKsKK KKdKL'L(6L _LlLLLLLL LMM$;M`MMMOPSWWYX*Y1YYYYYYIZLZf[k[$ \M1\\d]5t]]5Z^2^g^+_{`zao8bbb cc dvd#5e Ye`ze]eu9ffu/ggggg ggggh1hOChhHh hhi'i;iTiiimi}ii&i!i i!j6jQjmjj!j#j+jk%(k Nk!okkkk k6kkll ll"l4l8lHl!Nl pl {lllllll$l mm .m 1/ qH& fBL bzVa*gMe, 'b$=" mTarxiDHqD&TgNu>"wzU#w%-Z-]%<dR9 k1^ALl\p2H-SFo+w5|dkQauW2K]A57:nR},|~)=I7^:W\I 8y oKD .}E !.</nM.z:YN6WR$58|Og,0;' |ZJ*@r3,4eyOsPJQui!R vS~MLGcV;cJhov QXE\M c: 2-+F4 Gsd%(SjIZs> P?atuj|Jxwi{[Y1*4@y.Dp7 5(<?8)lAt,XO2 9-i5v0GPSe{=t^~_[@$_%h*"#~/l^04; xCfl!9 ,(" 6E <Y6 U0>{*F vP]oZJXB_lgE'_!qd@p%p&kT(I\=Q1&[C 9Um#mjx3"sG:N'}yI)bnd`Uf+)h.'ctL3&C=j+rr]@n8Zc oK#;4EOQhKhKFV `}CM# `2DLjCS[ kV{6br?b3w!s_/\/1)N[<i/Ty?8z'XF;UH>.AxaP7qgTGB`p6  (O$qf3$ #1 Hack Prevention Security Solution: Hide WP CMS, 7G/8G Firewall, Brute Force Protection, 2FA, GEO Security, Temporary Logins, Alerts & more.%1$s is deprecated since version %2$s! Use %3$s instead. Please consider writing more inclusive code.%d %s ago%d %s remaining%s days since last update%s does not work without mode_rewrite. Please activate the rewrite module in Apache. %sMore details%s%s don't have the correct permission.%s is visible in source code%s path is accessible%s plugin(s) are outdated: %s%s plugin(s) have NOT been updated by their developers in the past 12 months: %s%s protects your website from most SQL injections but, if possible, use a custom prefix for database tables to avoid SQL injections. %sRead more%s%s rules are not saved in the config file and this may affect the website loading speed.%s theme(s) are outdated: %s%sClick here%s to create or view keys for Google reCAPTCHA v2.%sClick here%s to create or view keys for Google reCAPTCHA v3.%sERROR:%s Email or Password is incorrect. %s %d attempts left before lockout%sHide the login path%s from theme menu or widget.%sIncorrect ReCaptcha%s. Please try again%sNOTE:%s If you didn't receive the credentials, please access %s.%sYou failed to correctly answer the math problem.%s Please try again(* the plugin has no extra cost, gets installed / activated automatically inside WP when you click the button, and uses the same account)(multiple options are available)(useful when the theme is adding wrong admin redirects or infinite redirects)(works only with the custom admin-ajax path to avoid infinite loops)2FA2FA Login403 Forbidden403 HTML Error404 HTML Error404 Not Found404 page7G Firewall8G FirewallA feature designed to stops attacks from different countries, and to put an end to harmful activity that comes from specific regions.A thorough set of rules can prevent many types of SQL Injection and URL hacks from being interpreted.A user already exists with that username.API SecurityAPI SettingsAWS BitnamiAccording to %sGoogle latest stats%s, over %s 30k websites are hacked every day %s and %s over 30% of them are made in WordPress %s. %s It's better to prevent an attack than to spend a lot of money and time to recover your data after an attack not to mention the situation when your clients' data are stolen.ActionActivateActivate 'Must Use Plugin Loading' from 'Plugin Loading Hook' to be able to connect to your dashboard directly from managewp.com. %s click here %sActivate Brute Force ProtectionActivate Events LogActivate Log Users EventsActivate Temporary LoginsActivate Your PluginActivate info and logs for debugging.Activate the "Brute Force" option to see the user IP blocked reportActivate the "Log Users Events" option to see the user activity log for this websiteActivate the Brute Force protection for Woocommerce login/signup forms.Activate the Brute Force protection on lost password forms.Activate the Brute Force protection on sign up forms.Activate the firewall and prevent many types of SQL Injection and URL hacks.Activate the firewall and select the firewall strength that works for your website %s %s > Change Paths > Firewall & Headers %sActivation HelpAddAdd IP addresses that should always be blocked from accessing this website.Add Content-Security-Policy headerAdd Headers Security against XSS and Code Injection Attacks.Add IP addresses that can pass plugin security.Add IPs that can pass plugin securityAdd New Temporary LoginAdd New Temporary Login UserAdd Rewrites in WordPress Rules SectionAdd Security HeaderAdd Security Headers for XSS and Code Injection AttacksAdd Strict-Transport-Security headerAdd Two Factor security on login page with Code Scan or Email Code authentication.Add X-Content-Type-Options headerAdd X-XSS-Protection headerAdd a list of URLs you want to replace with new ones.Add a random static number to prevent frontend caching while the user is logged in.Add another CDN URLAdd another URLAdd another textAdd common WordPress classes in text mappingAdd paths that can pass plugin securityAdd paths that will be blocked for the selected countries.Add redirects for the logged users based on user roles.Add the CDN URLs you're using in the cache plugin. Admin PathAdmin SecurityAdmin ToolbarAdmin URLAdmin UsernameAdvancedAdvanced PackAdvanced SettingsAfghanistanAfter adding the classes, verify the frontend to ensure that your theme is not affected.After, click %sSave%s to apply the changes.Ajax SecurityAjax URLAland IslandsAlbaniaAlert Emails SentAlgeriaAll ActionsAll In One WP SecurityAll WebsitesAll files have the correct permissions.All plugins are compatibleAll plugins are up to dateAll plugins have been updated by their developers in the past 12 monthsAll the logs are saved on Cloud for 30 days and the report is available if your website is attacked.Allow Hidden PathsAllow users to log in to WooCommerce account using their email address and a unique login URL delivered via email.Allow users to log in to the website using their email address and a unique login URL delivered via email.Allowing anyone to view all files in the Uploads folder with a browser will allow them to easily download all your uploaded files. It's a security and a copyright issue.American SamoaAndorraAngolaAnguillaAntarcticaAntigua and BarbudaApacheArabicAre you sure you want to ignore this task in the future?ArgentinaArmeniaArubaAttention! Some URLs passed through the config file rules and were loaded through WordPress rewrite which may slow down your website. %s Please follow this tutorial to fix the issue: %sAustraliaAustriaAuthor PathAuthor URL by ID accessAuto DetectAutodetectAutomatically redirect the logged in users to the admin dashboardAutoptimizerAzerbaijanBackend under SSLBackup SettingsBackup/RestoreBackup/Restore SettingsBahamasBahrainBan durationBangladeshBarbadosBe sure to include only internal URLs, and use relative paths whenever possible.Beaver BuilderBelarusBelgiumBelizeBeninBermudaBest regardsBhutanBitnami detected. %sPlease read how to make the plugin compatible with AWS hosting%sBlacklistBlacklist IPsBlank Screen On DebuggingBlock CountriesBlock HostnamesBlock IP on login pageBlock ReferrerBlock Specific PathsBlock Theme Detectors CrawlersBlock User AgentsBlock known Users-Agents from popular Theme Detectors.Blocked IPsBlocked IPs ReportBlocked by BoliviaBonaire, Saint Eustatius and SabaBosnia and HerzegovinaBotswanaBouvet IslandBrazilBritish EnglishBritish Indian Ocean TerritoryBrunei DarussalamBrute ForceBrute Force IPs BlockedBrute Force Login ProtectionBrute Force ProtectionBrute Force SettingsBulgariaBulgarianBulletProof plugin! Make sure you save the settings in %s after activating Root Folder BulletProof Mode in BulletProof plugin.Burkina FasoBurundiBy activating, you agree to our %s Terms of Use %s and %sPrivacy Policy%sCDNCDN Enabled detected. Please include %s and %s paths in CDN Enabler SettingsCDN Enabler detected! Learn how to configure it with %s %sClick here%sCDN URLsCONNECTION ERROR! Make sure your website can access: %sCache CSS, JS and Images to increase the frontend loading speed.Cache EnablerCambodiaCameroonCan't download the plugin.CanadaCanadian FrenchCancelCancel the login hooks from other plugins and themes to prevent unwanted login redirects.Cape VerdeCatalan ValencianCayman IslandsCentral African RepublicChadChangeChange OptionsChange PathsChange Paths NowChange Paths for Logged UsersChange Paths in Ajax CallsChange Paths in Cached FilesChange Paths in RSS feedChange Paths in Sitemaps XMLChange Relative URLs to Absolute URLsChange WordPress paths while you're logged inChange paths in RSS feed for all images.Change paths in Sitemap XML files and remove the plugin author and styles.Change the Tagline in %s > %s > %sChange the WordPress common paths in the cached files.Change the signup path from %s %s > Change Paths > Custom Register URL%s or uncheck the option %s > %s > %sChange the text in all CSS and JS files, including those in cached files generated by cache plugins.Change the user 'admin' or 'administrator' with another name to improve security.Change the wp-config.php file permission to Read-Only using File Manager.Change the wp-content, wp-includes and other common paths with %s %s > Change Paths%sChange the wp-login from %s %s > Change Paths > Custom login URL%s and Switch on %s %s > Brute Force Protection%sChanging the predefined security headers may affect the website funtionality.Check Frontend PathsCheck Your WebsiteCheck for updatesCheck if the website paths are working correctly.Check if your website is secured with the current settings.Check the %s RSS feed %s and make sure the image paths are changed.Check the %s Sitemap XML %s and make sure the image paths are changed.Check the website loading speed with %sPingdom Tool%sChileChinaChoose a proper database password, at least 8 characters long with a combination of letters, numbers and special characters. After you change it, set the new password in the wp-config.php file define('DB_PASSWORD', 'NEW_DB_PASSWORD_GOES_HERE');Choose the countries where access to the website should be restricted.Choose the type of server you are using to get the most suitable configuration for your server.Chose what to do when accessing from whitelist IP addresses and whitelisted paths.Christmas IslandClean Login PageClick %sContinue%s to set the predefined paths.Click Backup and the download will start automatically. You can use the Backup for all your websites.Click to run the process to change the paths in the cache files.Close ErrorCloud PanelCloud Panel detected. %sPlease read how to make the plugin compatible with Cloud Panel hosting%sCntCocos (Keeling) IslandsColombiaComments PathComorosCompatibilityCompatibility SettingsCompatibility with Manage WP pluginCompatibility with Token Based Login pluginsCompatible with All In One WP Security plugin. Use them together for Virus Scan, Firewall, Brute Force protection.Compatible with JCH Optimize Cache plugin. Works with all the options to optimize for CSS and JS.Compatible with Solid Security plugin. Use them together for Site Scanner, File Change Detection, Brute Force Protection.Compatible with Sucuri Security plugin. Use them together for Virus Scan, Firewall, File Integrity Monitoring.Compatible with Wordfence Security plugin. Use them together for Malware Scan, Firewall, Brute Force protection.Compatible with all themes and plugins.Complete FixConfigConfig file is not writable. Create the file if not exists or copy to %s file the following lines: %sConfig file is not writable. Create the file if not exists or copy to %s file with the following lines: %sConfig file is not writable. You have to added it manually at the beginning of the %s file: %sConfirm use of weak passwordCongoCongo, The Democratic Republic of theCongratulations! You completed all the security tasks. Make sure you check your site once a week.ContinueConvert links like /wp-content/* into %s/wp-content/*.Cook IslandsCopy LinkCopy the %s SAFE URL %s and use it to deactivate all the custom paths if you can't login.Core Contents PathCore Includes PathCosta RicaCote dIvoireCould not detect the userCould not fix it. You need to change it manually.Could not found anything based on your search.Could not login with this user.Could not rename table %1$s. You may have to rename the table manually.Could not update prefix references in options table.Could not update prefix references in usermeta table.Country BlockingCreateCreate New Temporary LoginCreate a temporary login URL with any user role to access the website dashboard without username and password for a limited period of time.Create a temporary login URL with any user role to access the website dashboard without username and password for a limited period of time. %s This is useful when you need to give admin access to a developer for support or for performing routine tasks.CroatiaCroatianCubaCuracaoCustom Activation PathCustom Admin PathCustom Cache DirectoryCustom Login PathCustom Logout PathCustom Lost Password PathCustom Register PathCustom Safe URL ParamCustom admin-ajax PathCustom author PathCustom comment PathCustom message to show to blocked users.Custom plugins PathCustom theme style nameCustom themes PathCustom uploads PathCustom wp-content PathCustom wp-includes PathCustom wp-json PathCustomize & Secure all WordPress paths from hacker bots attacks.Customize Plugin NamesCustomize Theme NamesCustomize the CSS and JS URLs in your website body.Customize the IDs and Class names in your website body.CyprusCzechCzech RepublicDB Debug ModeDanishDashboardDatabase PrefixDateDeactivatedDebug ModeDefaultDefault Redirect After LoginDefault Temporary Expire TimeDefault User RoleDefault WordPress TaglineDefault user role for which the temporary login will be created.Delete Temporary Users on Plugin UninstallDelete userDenmarkDetailsDirectoriesDisable "rest_route" param accessDisable Click MessageDisable CopyDisable Copy/PasteDisable Copy/Paste MessageDisable Copy/Paste for Logged UsersDisable DISALLOW_FILE_EDIT for live websites in wp-config.php define('DISALLOW_FILE_EDIT', true);Disable Directory BrowsingDisable Drag/Drop ImagesDisable Drag/Drop MessageDisable Drag/Drop for Logged UsersDisable Inspect ElementDisable Inspect Element MessageDisable Inspect Element for Logged UsersDisable OptionsDisable PasteDisable REST API accessDisable REST API access for not logged in usersDisable REST API access using the parameter 'rest_route'Disable RSD Endpoint from XML-RPCDisable Right-ClickDisable Right-Click for Logged UsersDisable SCRIPT_DEBUG for live websites in wp-config.php define('SCRIPT_DEBUG', false);Disable View SourceDisable View Source MessageDisable View Source for Logged UsersDisable WP_DEBUG for live websites in wp-config.php define('WP_DEBUG', false);Disable XML-RPC accessDisable copy function on your websiteDisable image drag & drop on your websiteDisable paste function on your websiteDisable the RSD (Really Simple Discovery) support for XML-RPC & remove RSD tag from headerDisable the access to /xmlrpc.php to prevent %sBrute force attacks via XML-RPC%sDisable the copy/paste action on your website.Disable the external calls to xml-rpc.php file and prevent Brute Force attacks.Disable the inspect element view on your websiteDisable the right-click action on your website.Disable the right-click functionality on your websiteDisable the source-code view on your websiteDisplaying any kind of debug info in the frontend is extremely bad. If any PHP errors happen on your site they should be logged in a safe place and not displayed to visitors or potential attackers.DjiboutiDo Login & Logout RedirectsDo not log out from this browser until you are confident that the Log in page is working and you will be able to login again.Do not logout from your account until you are confident that reCAPTCHA is working and you will be able to login again.Do you want to delete temporary user?Do you want to restore the last saved settings?DominicaDominican RepublicDon't forget to reload the Nginx service.Don't let URLs like domain.com?author=1 show the user login nameDon't let hackers see any directory content. See %sUploads Directory%sDon't load Emoji Icons if you don't use themDon't load WLW if you didn't configure Windows Live Writer for your siteDon't load oEmbed service if you don't use oEmbed videosDon't select any role if you want to log all user rolesDone!Download DebugDrupal 10Drupal 11Drupal 8Drupal 9DutchERROR! Please make sure you use a valid token to activate the pluginERROR! Please make sure you use the right token to activate the pluginEcuadorEdit UserEdit userEdit wp-config.php and add ini_set('display_errors', 0); at the end of the fileEgyptEl SalvadorElementorEmailEmail AddressEmail NotificationEmail address already existsEmail your hosting company and tell them you'd like to switch to a newer version of MySQL or move your site to a better hosting companyEmail your hosting company and tell them you'd like to switch to a newer version of PHP or move your site to a better hosting company.EmptyEmpty ReCaptcha. Please complete reCaptcha.Empty email addressEnabling this option may slow down the website, as CSS and JS files will load dynamically instead of through rewrites, allowing the text within them to be modified as needed.EnglishEnter the 32 chars token from Order/Licence on %sEquatorial GuineaEritreaError! No backup to restore.Error! The backup is not valid.Error! The new paths are not loading correctly. Clear all cache and try again.Error! The preset could not be restored.Error: You entered the same URL twice in the URL Mapping. We removed the duplicates to prevent any redirect errors.Error: You entered the same text twice in the Text Mapping. We removed the duplicates to prevent any redirect errors.EstoniaEthiopiaEuropeEven if the default paths are protected by %s after customization, we recommend setting the correct permissions for all directories and files on your website, use File Manager or FTP to check and change the permissions. %sRead more%sEvents LogEvents Log ReportEvents Log SettingsEvery good developer should turn on debugging before getting started on a new plugin or theme. In fact, the WordPress Codex 'highly recommends' that developers use SCRIPT_DEBUG. Unfortunately, many developers forget the debug mode even when the website is live. Showing debug logs in the frontend will let hackers know a lot about your WordPress website.Every good developer should turn on debugging before getting started on a new plugin or theme. In fact, the WordPress Codex 'highly recommends' that developers use WP_DEBUG.

Unfortunately, many developers forget the debug mode, even when the website is live. Showing debug logs in the frontend will let hackers know a lot about your WordPress website.Example:Expire TimeExpiredExpiresExposing the PHP version will make the job of attacking your site much easier.Fail AttemptsFailedFalkland Islands (Malvinas)Faroe IslandsFeaturesFeed & SitemapFeed SecurityFijiFile PermissionsFile permissions in WordPress play a critical role in website security. Properly configuring these permissions ensures that unauthorized users cannot gain access to sensitive files and data.
Incorrect permissions can inadvertently open your website to attacks, making it vulnerable.
As a WordPress administrator, understanding and correctly setting file permissions are essential for safeguarding your site against potential threats.FilesFilterFinlandFirewallFirewall & HeadersFirewall Against Script InjectionFirewall LocationFirewall StrengthFirewall against injections is loadedFirst NameFirst, you need to activate the %sSafe Mode%s or %sGhost Mode%sFirst, you need to activate the %sSafe Mode%s or %sGhost Mode%s in %sFix PermissionsFix itFix permission for all directories and files (~ 1 min)Fix permission for the main directories and files (~ 5 sec)FlywheelFlywheel detected. Add the redirects in the Flywheel Redirect rules panel %s.Folder %s is browsableForbiddenFranceFrenchFrench GuianaFrench PolynesiaFrench Southern TerritoriesFrom: %s <%s>Front pageFrontend Login TestFrontend TestFully compatible with Autoptimizer cache plugin. Works best with the the option Optimize/Aggregate CSS and JS files.Fully compatible with Beaver Builder plugin. Works best together with a cache plugin.Fully compatible with Cache Enabler plugin. Works best with the the option Minify CSS and JS files.Fully compatible with Elementor Website Builder plugin. Works best together with a cache pluginFully compatible with Fusion Builder plugin by Avada. Works best together with a cache plugin.Fully compatible with Hummingbird cache plugin. Works best with the the option Minify CSS and JS files.Fully compatible with LiteSpeed Cache plugin. Works best with the the option Minify CSS and JS files.Fully compatible with Oxygen Builder plugin. Works best together with a cache plugin.Fully compatible with W3 Total Cache plugin. Works best with the the option Minify CSS and JS files.Fully compatible with WP Fastest Cache plugin. Works best with the the option Minify CSS and JS files.Fully compatible with WP Super Cache cache plugin.Fully compatible with WP-Rocket cache plugin. Works best with the the option Minify/Combine CSS and JS files.Fully compatible with Woocommerce plugin.Fusion BuilderGabonGambiaGeneralGeo SecurityGeographic Security is a feature designed to stops attacks from different countries, and to put an end to harmful activity that comes from specific regions.GeorgiaGermanGermanyGhanaGhost ModeGhost Mode + Firewall + Brute Force + Events Log + Two factorGhost Mode will set these predefined pathsGhost modeGibraltarGive random names to each pluginGive random names to each theme (works in WP multisite)Global class name detected: %s. Read this article first: %sGo to Events Log PanelGo to the Dashboard > Appearance section and update all the themes to the last version.Go to the Dashboard > Plugins section and update all the plugins to the last version.GodaddyGodaddy detected! To avoid CSS errors, make sure you switch off the CDN from %sGoodGoogle reCAPTCHA V2Google reCAPTCHA V3Google reCaptcha V3 is not working with the current login form of %s .Great! The backup is restored.Great! The initial values are restored.Great! The new paths are loading correctly.Great! The preset was loaded.GreeceGreekGreenlandGrenadaGuadeloupeGuamGuatemalaGuernseyGuineaGuinea-BissauGuyanaHaitiHaving the admin URL visible in the source code it's awful because hackers will immediately know your secret admin path and start a Brute Force attack. The custom admin path should not appear in the ajax URL.

Find solutions for %s how to hide the path from source code %s.Having the login URL visible in the source code is awful because hackers will immediately know your secret login path and start a Brute Force attack.

The custom login path should be kept secret, and you should have Brute Force Protection activated for it.

Find solutions for %s hiding the login path from source code here %s.Having this PHP directive enabled will leave your site exposed to cross-site attacks (XSS).

There's absolutely no valid reason to enable this directive, and using any PHP code that requires it is very risky.Header SecurityHeaders & FirewallHeard Island and McDonald IslandsHebrewHelp & FAQsHere is the list of select counties where your website will be restricted..HideHide "login" PathHide "wp-admin"Hide "wp-admin" From Non-Admin UsersHide "wp-login.php"Hide /login path from visitors.Hide /wp-admin path from non-administrator users.Hide /wp-admin path from visitors.Hide /wp-login.php path from visitors.Hide Admin ToolbarHide Admin Toolbar for users roles to prevent dashboard access.Hide All The PluginsHide Author ID URLHide Common FilesHide Embed scriptsHide EmojiconsHide Feed & Sitemap Link TagsHide File ExtensionsHide HTML CommentsHide IDs from META TagsHide Language SwitcherHide My WP GhostHide OptionsHide Paths in Robots.txtHide Plugin NamesHide REST API URL linkHide Theme NamesHide Version from Images, CSS and JS in WordPressHide Versions from Images, CSS and JSHide WLW Manifest scriptsHide WP Common FilesHide WP Common PathsHide WordPress Common FilesHide WordPress Common PathsHide WordPress DNS Prefetch META TagsHide WordPress Generator META TagsHide WordPress Old Plugins PathHide WordPress Old Themes PathHide WordPress common paths from %s Robots.txt %s file.Hide WordPress paths such as wp-admin, wp-content, and more from robots.txt file.Hide all versions from the end of any Image, CSS and JavaScript files.Hide both active and deactivated pluginsHide completed tasksHide passwordHide the /feed and /sitemap.xml link TagsHide the DNS Prefetch that points to WordPressHide the HTML Comments left by the themes and pluginsHide the IDs from all <links>, <style>, <scripts> META TagsHide the New Admin PathHide the New Login PathHide the WordPress Generator META tagsHide the admin toolbar for logged users while in frontend.Hide the language switcher option on the login pageHide the new admin path from visitors. Show the new admin path only for logged users.Hide the new login path from visitors. Show the new login path only for direct access.Hide the old /wp-content, /wp-include paths once they are changed with the new onesHide the old /wp-content, /wp-include paths once they are changed with the new ones.Hide the old /wp-content/plugins path once it's changed with the new oneHide the old /wp-content/themes path once it's changed with the new oneHide wp-admin from Ajax URLHide wp-config.php , wp-config-sample.php, readme.html, license.txt, upgrade.php and install.php filesHide wp-config.php, wp-config-sample.php, readme.html, license.txt, upgrade.php and install.php files..Hide wp-json & ?rest_route link tag from website headerHiding the ID from meta tags in WordPress can potentially impact the caching process of plugins that rely on identifying the meta tags.HindiHoly See (Vatican City State)HondurasHong KongHostnameHow long the temporary login will be available after the user first access.HummingbirdHungarianHungaryIIS WindowsIIS detected. You need to update your %s file by adding the following lines after <rules> tag: %sIPIP BlockedIcelandIf the reCAPTCHA displays any error, please make sure you fix them before moving forward.If the rewrite rules are not loading correctly in the config file, do not load the plugin and do not change the paths.If you are connected with the admin user, you will have to re-login after the change.If you can't configure %s, switch to Deactivated Mode and %scontact us%s.If you can't configure reCAPTCHA, switch to Math reCaptcha protection.If you do not have an e-commerce, membership or guest posting website, you shouldn't let users subscribe to your blog. You will end up with spam registrations and your website will be filled with spammy content and comments.If you have access to php.ini file, set allow_url_include = off or contact the hosting company to set it offIf you have access to php.ini file, set expose_php = off or contact the hosting company to set it offIf you have access to php.ini file, set register_globals = off or contact the hosting company to set it offIf you have access to php.ini file, set safe_mode = off or contact the hosting company to set it offIf you notice any functionality issue please select the %sSafe Mode%s.If you're able to log in, you've set the new paths correctly.If you're able to login, you've set reCAPTCHA correctly.If you're not using Windows Live Writer there's really no valid reason to have its link in the page header, because this tells the whole world you're using WordPress.If you're not using any Really Simple Discovery services such as pingbacks, there's no need to advertise that endpoint (link) in the header. Please note that for most sites this is not a security issue because they "want to be discovered", but if you want to hide the fact that you're using WP, this is the way to go.If your site allows user logins, you need your login page to be easy to find for your users. You also need to do other things to protect against malicious login attempts.

However, obscurity is a valid security layer when used as part of a comprehensive security strategy, and if you want to cut down on the number of malicious login attempts. Making your login page difficult to find is one way to do that.Ignore security taskImmediately block incorrect usernames on login forms.In .htaccess fileIn the old days, the default WordPress admin username was 'admin' or 'administrator'. Since usernames make up half of the login credentials, this made it easier for hackers to launch brute-force attacks.

Thankfully, WordPress has since changed this and now requires you to select a custom username at the time of installing WordPress.Indeed Ultimate Membership Pro detected. The plugin doesn't support custom %s paths as it doesn't use WordPress functions to call the Ajax URLIndiaIndonesiaIndonesianInfoInmotionInmotion detected. %sPlease read how to make the plugin compatible with Inmotion Nginx Cache%sInstall/ActivateIntegration with other CDN plugins and custom CDN URLs.Invalid ReCaptcha. Please complete reCaptcha.Invalid email addressInvalid name detected: %s. Add only the final path name to avoid WordPress errors.Invalid name detected: %s. The name can't end with / to avoid WordPress errors.Invalid name detected: %s. The name can't start with / to avoid WordPress errors.Invalid name detected: %s. The paths can't end with . to avoid WordPress errors.Invalid name detected: %s. You need to use another name to avoid WordPress errors.Invalid username.Iran, Islamic Republic ofIraqIrelandIsle of ManIsraelIt's important to %s save your settings every time you change them %s. You can use the backup to configure other websites you own.It's important to hide or remove the readme.html file because it contains WP version details.It's important to hide the common WordPress paths to prevent attacks on vulnerable plugins and themes.
Also, it's important to hide the names of plugins and themes to make it impossible for bots to detect them.It's important to rename common WordPress paths, such as wp-content and wp-includes to prevent hackers from knowing that you have a WordPress website.It's not safe to have Database Debug turned on. Make sure you don't use Database debug on live websites.ItalianItalyJCH Optimize CacheJamaicaJananeseJapanJavascript is disabled on your browser! You need to activate the javascript in order to use %s plugin.JerseyJoomla 3Joomla 4Joomla 5JordanJust another WordPress siteKazakhstanKenyaKiribatiKnow what the other users are doing on your website.KoreanKosovoKuwaitKyrgyzstanLanguageLao Peoples Democratic RepublicLast 30 days Security StatsLast AccessLast NameLast check:Late LoadingLatviaLatvianLearn HowLearn How To Add the CodeLearn how to disable %sDirectory Browsing%s or switch on %s %s > Change Paths > Disable Directory Browsing%sLearn how to set your website as %s. %sClick Here%sLearn how to setup on Local & NginxLearn how to setup on Nginx serverLearn how to use the shortcodeLearn more aboutLearn more about %s 7G firewall %s.Learn more about %s 8G firewall %s.Leave it blank if you don't want to display any messageLeave it blank to block all paths for the selected countries.LebanonLesothoLet's take your security to the next level!Level of SecurityLevels of securityLiberiaLibyan Arab JamahiriyaLicence TokenLiechtensteinLimit the number of allowed login attempts using normal login form.LiteSpeedLiteSpeed CacheLithuaniaLithuanianLoad PresetLoad Security PresetsLoad after all plugins are loaded. On "template_redirects" hook.Load before all plugins are loaded. On "plugins_loaded" hook.Load custom language is WordPress local language is installed.Load the plugin as a Must Use plugin.Load when the plugins are initialized. On "init" hook.Local & NGINX detected. In case you didn't add the code in the NGINX config already, please add the following line. %sLocal by FlywheelLocationLock userLockout MessageLog User RolesLog Users EventsLogin & Logout RedirectsLogin Blocked by Login PathLogin Redirect URLLogin SecurityLogin TestLogin URLLogout Redirect URLLost Password Form ProtectionLuxembourgMacaoMadagascarMagic Link LoginMake sure the redirect URLs exist on your website. %sThe User Role redirect URL has higher priority than the Default redirect URL.Make sure you know what you do when changing the headers.Make sure you save the settings and empty the cache before checking your website with our tool.MalawiMalaysiaMaldivesMaliMaltaManage Brute Force ProtectionManage Login and Logout RedirectsManage whitelist & blacklist IP addressesManually block/unblock IP addresses.Manually customize each plugin name and overwrite the random nameManually customize each theme name and overwrite the random nameManually whitelist trusted IP addresses.MappingMarshall IslandsMartiniqueMath & Google reCaptcha verification while logging in.Math reCAPTCHAMauritaniaMauritiusMax fail attemptsMayotteMediumMembershipMexicoMicronesia, Federated States ofMinimalMinimal (No Config Rewrites)Moldova, Republic ofMonacoMongoliaMonitor everything that happens on your WordPress site!Monitor, track and log events on your website.MontenegroMontserratMore HelpMore information about %sMore optionsMoroccoMost WordPress installations are hosted on the popular Apache, Nginx and IIS web servers.MozambiqueMust Use Plugin LoadingMy AccountMyanmarMysql VersionNGINX detected. In case you didn't add the code in the NGINX config already, please add the following line. %sNameNamibiaNauruNepalNetherlandsNew CaledoniaNew Login DataNew Plugin/Theme detected! Update %s settings to hide it. %sClick here%sNew ZealandNext StepsNginxNicaraguaNigerNigeriaNiueNoNo CMS SimulationNo Recent Updates ReleasedNo blacklisted ipsNo log found.No temporary logins.No, abortNo. of secondsNorfolk IslandNormal LoadingNormally, the option to block visitors from browsing server directories is activated by the host through server configuration, and activating it twice in the config file may cause errors, so it's best to first check if the %sUploads Directory%s is visible.North KoreaNorth Macedonia, Republic ofNorthern Mariana IslandsNorwayNorwegianNot yet logged inNote that this option won't activate the CDN for your website, but it will update the custom paths if you've already set a CDN URL with another plugin.Note! %sPaths are NOT physically change%s on your server.Note! The plugin will use WP cron to change the paths in background once the cache files are created.Note: If you can`t login to your site, just access this URLNotification SettingsOkay, I set it upOmanOn website initializationOnce you bought the plugin, you will receive the %s credentials for your account by email.One DayOne HourOne MonthOne WeekOne YearOne of the most important files in your WordPress installation is the wp-config.php file.
This file is located in the root directory of your WordPress installation and contains your website's base configuration details, such as database connection information.Only change this option if the plugin fails to identify the server type correctly.Optimize CSS and JS filesOption to inform user about remaining attempts on login page.OptionsOutdated PluginsOutdated ThemesOverviewOxygenPHP VersionPHP allow_url_include is onPHP expose_php is onPHP register_globals is onPHP safe mode was one of the attempts to solve security problems of shared web hosting servers.

It is still being used by some web hosting providers, however, nowadays this is regarded as improper. A systematic approach proves that it’s architecturally incorrect to try solving complex security issues at the PHP level, rather than at the web server and OS levels.

Technically, safe mode is a PHP directive that restricts the way some built-in PHP functions operate. The main problem here is inconsistency. When turned on, PHP safe mode may prevent many legitimate PHP functions from working correctly. At the same time there exists a variety of methods to override safe mode limitations using PHP functions that aren’t restricted, so if a hacker has already got in – safe mode is useless.PHP safe_mode is onPage Not FoundPakistanPalauPalestinian TerritoryPanamaPapua New GuineaParaguayPassedPath not allowed. Avoid paths like plugins and themes.Paths & OptionsPaths changed in the existing cache filesPause for 5 minutesPermalinksPersianPeruPhilippinesPitcairnPlease be aware that if you do not consent to storing data on our Cloud, we kindly request that you refrain from activating this feature.Please visit %s to check your purchase and to get the license token.Plugin Loading HookPlugins PathPlugins SecurityPlugins SettingsPlugins that have not been updated in the last 12 months can have real security problems. Make sure you use updated plugins from WordPress Directory.Plugins/Themes editor disabledPolandPolishPortugalPortuguesePreset SecurityPrevent Broken Website LayoutPriority LoadingProtects your WooCommerce shop against brute force login attacks.Protects your website against Brute Force login attacks using %s A common threat web developers face is a password-guessing attack known as a Brute Force attack. A Brute Force attack is an attempt to discover a password by systematically trying every possible combination of letters, numbers, and symbols until you discover the one correct combination that works.Protects your website against Brute Force login attacks.Protects your website against brute force login attacks.Prove your humanity:Puerto RicoQatarQuick FixRDS is visibleRandom Static NumberReactivate user for 1 dayRedirect After LoginRedirect Hidden PathsRedirect Logged Users To DashboardRedirect temporary users to a custom page after login.Redirect the protected paths /wp-admin, /wp-login to a Page or trigger an HTML Error.Redirect user to a custom page after login.RedirectsRemoveRemove PHP version, Server info, Server Signature from header.Remove Plugins Authors & Style in Sitemap XMLRemove Unsafe HeadersRemove pingback link tag from the website header.Rename readme.html file or switch on %s %s > Change Paths > Hide WordPress Common Files%sRename wp-admin/install.php & wp-admin/upgrade.php files or switch on %s %s > Change Paths > Hide WordPress Common Paths%sRenewResetReset SettingsResolving hostnames may affect the website loading speed.Restore BackupRestore SettingsResume SecurityReunionRobots SecurityRoleRollback SettingsRollback all the plugin settings to initial values.RomaniaRomanianRun %s Frontend Test %s to check if the new paths are working.Run %s Login Test %s and log in inside the popup.Run %sreCAPTCHA Test%s and login inside the popup.Run Full Security CheckRussianRussian FederationRwandaSSL is an abbreviation used for Secure Sockets Layers, which are encryption protocols used on the internet to secure information exchange and provide certificate information.

These certificates provide an assurance to the user about the identity of the website they are communicating with. SSL may also be called TLS or Transport Layer Security protocol.

It's important to have a secure connection for the Admin Dashboard in WordPress.Safe ModeSafe Mode + Firewall + Brute Force + Events Log + Two factorSafe Mode + Firewall + Compatibility SettingsSafe Mode will set these predefined pathsSafe URL:Safe modeSaint BartelemeySaint HelenaSaint Kitts and NevisSaint LuciaSaint MartinSaint Pierre and MiquelonSaint Vincent and the GrenadinesSalts and Security Keys validSamoaSan MarinoSao Tome and PrincipeSaudi ArabiaSaveSave Debug LogSave UserSavedSaved! This task will be ignored on future tests.Saved! You can run the test again.Script Debug ModeSearchSearch in user events log and manage the email alertsSecret KeySecret keys for %sGoogle reCAPTCHA%s.Secure WP PathsSecurity CheckSecurity Keys UpdatedSecurity StatusSecurity keys are defined in wp-config.php as constants on lines. They should be as unique and as long as possible. AUTH_KEY,SECURE_AUTH_KEY,LOGGED_IN_KEY,NONCE_KEY,AUTH_SALT,SECURE_AUTH_SALT,LOGGED_IN_SALT,NONCE_SALTSecurity keys are used to ensure better encryption of information stored in the user's cookies and hashed passwords.

These make your site more difficult to hack, access and crack by adding random elements to the password. You don't have to remember these keys. In fact, once you set them you'll never see them again. Therefore, there's no excuse for not setting them properly.See the last days actions on this website ...Select PresetSelect User RolesSelect a preset security settings we've tested on most websites.Select allSelect how long the temporary login will be available after the first user access.Select the file extensions you want to hide on old pathsSelect the files you want to hide on old pathsSelected CountriesSend me an email with the changed admin and login URLsSenegalSerbiaSerbianServer TypeSet Custom Cache DirectorySet Login & Logout Redirects based on User Roles.Set the current user role.Set the website you want this user to be created for.SettingsSeychellesShort name detected: %s. You need to use unique paths with more than 4 chars to avoid WordPress errors.ShowShow /%s instead of /%sShow Advanced OptionsShow Default Paths & Allow Hidden PathsShow Defaults Paths & Allow EverythingShow blank screen when Inspect Element is active on browser.Show completed tasksShow ignored tasksShow message instead of login formShow passwordSierra LeoneSign Up Form ProtectionSimplified ChineseSimulate CMSSingaporeSint MaartenSite keySite keys for %sGoogle reCaptcha%s.SiteGroundSitemap SecuritySix MonthsSlovakSlovakiaSloveneSloveniaSolid SecuritySolomon IslandsSomaliaSome plugins may remove custom rewrite rules from the .htaccess file, especially if it's writable, which can affect the functionality of custom paths..Some themes don't work with custom Admin and Ajax paths. In case of ajax errors, switch back to wp-admin and admin-ajax.php.Sorry, you are not allowed to access this page.South AfricaSouth Georgia and the South Sandwich IslandsSouth KoreaSpainSpammers can easily signupSpanishSri LankaStart ScanSucuri SecuritySudanSuper AdminSurinameSvalbard and Jan MayenSwazilandSwedenSwedishSwitch on %s %s > Change Paths > Hide WordPress Common Paths%sSwitch on %s %s > Change Paths > Disable XML-RPC access%sSwitch on %s %s > Change Paths > Hide Author ID URL%sSwitch on %s %s > Change Paths > Hide RSD Endpoint%sSwitch on %s %s > Change Paths > Hide WordPress Common Files%sSwitch on %s %s > Change Paths > Hide wp-admin from ajax URL%s. Hide any reference to admin path from the installed plugins.Switch on %s %s > Tweaks > %s %sSwitch on %s %s > Tweaks > Hide WLW Manifest scripts%sSwitzerlandSyrian Arab RepublicTaglineTaiwanTajikistanTanzania, United Republic ofTemporary LoginTemporary Login SettingsTemporary LoginsTest your website headers withText & URL MappingText MappingText Mapping in CSS and JS files including cached filesText Mapping only Classes, IDs, JS variablesThaiThailandThank you for using %s!The %s section has been relocated %s here %sThe Ghost Mode will add the rewrites rules in the config file to hide the old paths from hackers.The REST API is crucial for many plugins as it allows them to interact with the WordPress database and perform various actions programmatically.The Safe Mode will add the rewrites rules in the config file to hide the old paths from hackers.The Safe URL will deactivate all the custom paths. Use it only if you can't login.The WordPress database is like a brain for your entire WordPress site, because every single bit of information about your site is stored there, thus making it a hacker’s favorite target.

Spammers and hackers run automated code for SQL injections.
Unfortunately, many people forget to change the database prefix when they install WordPress.
This makes it easier for hackers to plan a mass attack by targeting the default prefix wp_.The WordPress site tagline is a short phrase located under the site title, similar to a subtitle or advertising slogan. The goal of a tagline is to convey the essence of your site to visitors.

If you don't change the default tagline it will be very easy to detect that your website was actually built with WordPressThe constant ADMIN_COOKIE_PATH is defined in wp-config.php by another plugin. You can't change %s unless you remove the line define('ADMIN_COOKIE_PATH', ...);.The list of plugins and themes was updated with success!The most common way to hack a website is by accessing the domain and adding harmful queries in order to reveal information from files and database.
These attacks are made on any website, WordPress or not, and if a call succeeds … it will probably be too late to save the website.The plugins and themes file editor is a very convenient tool because it enables you to make quick changes without the need to use FTP.

Unfortunately, it's also a security issue because it not only shows the PHP source code, it also enables attackers to inject malicious code into your site if they manage to gain access to admin.The process was blocked by the website’s firewall.The requested URL %s was not found on this server.The response parameter is invalid or malformed.The secret parameter is invalid or malformed.The secret parameter is missing.The security keys in wp-config.php should be renewed as often as possible.Themes PathThemes SecurityThemes are up to dateThere has been a critical error on your website.There has been a critical error on your website. Please check your site admin email inbox for instructions.There is a configuration error in the plugin. Please Save the settings again and follow the instruction.There is a newer version of WordPress available ({version}).There is no changelog available.There is no such thing as an "unimportant password"! The same goes for your WordPress database password.
Although most servers are configured so that the database can't be accessed from other hosts (or from outside the local network), that doesn't mean your database password should be "12345" or no password at all.This amazing feature isn't included in the basic plugin. Want to unlock it? Simply install or activate the Advanced Pack and enjoy the new security features.This is one of the biggest security issues you can have on your site! If your hosting company has this directive enabled by default, switch to another company immediately!This may not work with all new mobile devices.This option will add rewrite rules to the .htaccess file in the WordPress rewrite rules area between the comments # BEGIN WordPress and # END WordPress.This will prevent from showing the old paths when an image or font is called through ajaxThree DaysThree HoursTimor-LesteTo change the paths in the cached files, switch on %s Change Paths in Cached Files%sTo hide the Avada library, please add the Avada FUSION_LIBRARY_URL in wp-config.php file after $table_prefix line: %sTo improve your website's security, consider removing authors and styles that point to WordPress in your sitemap XML.TogoTokelauTongaTrack and Log the website events and receive security alerts by email.Track and log events that happen on your WordPress siteTraditional ChineseTrinidad and TobagoTroubleshootingTunisiaTurkeyTurkishTurkmenistanTurks and Caicos IslandsTurn off the debug plugins if your website is live. You can also add the option to hide the DB errors global $wpdb; $wpdb->hide_errors(); in wp-config.php fileTuvaluTweaksTwo-factor authenticationURL MappingUgandaUkraineUkrainianUltimate Affiliate Pro detected. The plugin doesn't support custom %s paths as it doesn't use WordPress functions to call the Ajax URLUnable to update the wp-config.php file in order to update the Database Prefix.UndoUnited Arab EmiratesUnited KingdomUnited StatesUnited States Minor Outlying IslandsUnknown update checker status "%s"Unlock allUpdate the settings on %s to refresh the paths after changing REST API path.UpdatedUpload the file with the saved plugin settingsUploads PathUrgent Security Actions RequiredUruguayUse Brute Force ProtectionUse Temporary LoginsUse the %s shortcode to integrate it with other login forms.UserUser 'admin' or 'administrator' as AdministratorUser ActionUser Events LogUser RoleUser SecurityUser could not be activated.User could not be addedUser could not be deleted.User could not be disabled.User roles for who to disable the Right-ClickUser roles for who to disable the copy/pasteUser roles for who to disable the drag/dropUser roles for who to disable the inspect elementUser roles for who to disable the view sourceUser roles for who to hide the admin toolbarUser successfully activated.User successfully created.User successfully deleted.User successfully disabled.User successfully updated.Usernames (unlike passwords) are not secret. By knowing someone's username, you can't log in to their account. You also need the password.

However, by knowing the username, you are one step closer to logging in using the username to brute-force the password, or to gain access in a similar way.

That's why it's advisable to keep the list of usernames private, at least to some degree. By default, by accessing siteurl.com/?author={id} and looping through IDs from 1 you can get a list of usernames, because WP will redirect you to siteurl.com/author/user/ if the ID exists in the system.Using an old version of MySQL makes your site slow and prone to hacker attacks due to known vulnerabilities that exist in versions of MySQL that are no longer maintained.

You need Mysql 5.4 or higherUsing an old version of PHP makes your site slow and prone to hacker attacks due to known vulnerabilities that exist in versions of PHP that are no longer maintained.

You need PHP 7.4 or higher for your website.UzbekistanValidValueVanuatuVenezuelaVersions in Source CodeVietnamVietnameseView detailsVirgin Islands, BritishVirgin Islands, U.S.W3 Total CacheWP Core SecurityWP Debug ModeWP EngineWP Fastest CacheWP RocketWP Super CacheWP Super Cache CDN detected. Please include %s and %s paths in WP Super Cache > CDN > Include directoriesWPBakery Page BuilderWPPluginsWallis and FutunaWeak name detected: %s. You need to use another name to increase your website security.WebsiteWestern SaharaWhere to add the firewall rules.WhitelistWhitelist IPsWhitelist OptionsWhitelist PathsWindows Live Writer is onWooCommerce Safe LoginWooCommerce SupportWoocommerceWoocommerce Magic LinkWordPress Database PasswordWordPress Default PermissionsWordPress Security CheckWordPress VersionWordPress XML-RPC is a specification that aims to standardize communications between different systems. It uses HTTP as the transport mechanism and XML as encoding mechanism to enable a wide range of data to be transmitted.

The two biggest assets of the API are its extendibility and its security. XML-RPC authenticates using basic authentication. It sends the username and password with each request, which is a big no-no in security circles.WordPress and its plugins and themes are like any other software installed on your computer, and like any other application on your devices. Periodically developers release updates which provide new features or fix known bugs.

New features may be something that you do not necessarily want. In fact, you may be perfectly satisfied with the functionality you currently have. Nevertheless, you may still be concerned about bugs.

Software bugs can come in many shapes and sizes. A bug could be very serious, such as preventing users from using a plugin, or it could be a minor bug that only affects a certain part of a theme, for example. In some cases, bugs can even cause serious security holes.

Keeping themes up to date is one of the most important and easiest ways to keep your site secure.WordPress and its plugins and themes are like any other software installed on your computer, and like any other application on your devices. Periodically, developers release updates which provide new features, or fix known bugs.

These new features may not necessarily be something that you want. In fact, you may be perfectly satisfied with the functionality you currently have. Nevertheless, you are still likely to be concerned about bugs.

Software bugs can come in many shapes and sizes. A bug could be very serious, such as preventing users from using a plugin, or it could be minor and only affect a certain part of a theme, for example. In some cases, bugs can cause serious security holes.

Keeping plugins up to date is one of the most important and easiest ways to keep your site secure.WordPress is well-known for its ease of installation.
It's important to hide the wp-admin/install.php and wp-admin/upgrade.php files because there have already been a couple of security issues regarding these files.WordPress, plugins and themes add their version info to the source code, so anyone can see it.

Hackers can easily find a website with vulnerable version plugins or themes, and target these with Zero-Day Exploits.Wordfence SecurityWpEngine detected. Add the redirects in the WpEngine Redirect rules panel %s.Wrong Username ProtectionXML-RPC SecurityXML-RPC access is onYemenYesYes, it's workingYou already defined a different wp-content/uploads directory in wp-config.php %sYou can ban a single IP address like 192.168.0.1 or a range of 245 IPs like 192.168.0.*. These IPs will not be able to access the login page.You can create a new page and come back to choose to redirect to that page.You can generate %snew Keys from here%s AUTH_KEY,SECURE_AUTH_KEY,LOGGED_IN_KEY,NONCE_KEY,AUTH_SALT,SECURE_AUTH_SALT,LOGGED_IN_SALT,NONCE_SALTYou can now turn off '%s' option.You can set to receive security alert emails and prevent data loss.You can white-list a single IP address like 192.168.0.1 or a range of 245 IPs like 192.168.0.*. Find your IP with %sYou can't set both ADMIN and LOGIN with the same name. Please use different namesYou don't have the permission to access %s on this server.You need to activate the URL Rewrite for IIS to be able to change the permalink structure to friendly URL (without index.php). %sMore details%sYou need to set a positive number of attempts.You need to set a positive waiting time.You need to set the permalink structure to friendly URL (without index.php).You should always update WordPress to the %slatest versions%s. These usually include the latest security fixes, and don't alter WP in any significant way. These should be applied as soon as WP releases them.

When a new version of WordPress is available, you will receive an update message on your WordPress Admin screens. To update WordPress, click the link in this message.You should check your website every week to see if there are any security changes.Your %s %s license expired on %s %s. To keep your website security up to date please make sure you have a valid subscription on %saccount.hidemywpghost.com%sYour IP has been flagged for potential security violations. Please try again in a little while...Your admin URL can't be changed on %s hosting because of the %s security terms.Your admin URL is changed by another plugin/theme in %s. To activate this option, disable the custom admin in the other plugin or deativate it.Your login URL is changed by another plugin/theme in %s. To activate this option, disable the custom login in the other plugin or deativate it.Your login URL is: %sYour login URL will be: %s In case you can't login, use the safe URL: %sYour new password has not been saved.Your new site URLs areYour website security %sis extremely weak%s. %sMany hacking doors are available.Your website security %sis very weak%s. %sMany hacking doors are available.Your website security is getting better. %sJust make sure you complete all the security tasks.Your website security is still weak. %sSome of the main hacking doors are still available.Your website security is strong. %sKeep checking the security every week.ZambiaZimbabweactivate featureafter first accessalready activedarkdefaultdisplay_errors PHP directivee.g. *.colocrossing.come.g. /cart/e.g. /cart/ will whitelist all path starting with /cart/e.g. /checkout/e.g. /post-type/ will block all path starting with /post-type/e.g. acapbote.g. alexibote.g. badsite.come.g. gigabote.g. kanagawa.come.g. xanax.comeg.eg. /logout oreg. adm, backeg. ajax, jsoneg. aspect, templates, styleseg. comments, discussioneg. core, inc, includeeg. disable_url, safe_urleg. images, fileseg. json, api, calleg. lib, libraryeg. login or signineg. logout or disconnecteg. lostpass or forgotpasseg. main.css, theme.css, design.csseg. moduleseg. multisite activation linkeg. newuser or registereg. profile, usr, writerfromhelphttps://hidemywp.comignore alertinstall.php & upgrade.php files are accessiblelightloglogsmore detailsnot recommendedonly %d charsorpassword mismatchMismatchpassword strengthMediumpassword strengthPassword strength unknownpassword strengthStrongpassword strengthVery weakpassword strengthWeakreCAPTCHA TestreCAPTCHA V2 TestreCAPTCHA V3 TestreCaptcha LanguagereCaptcha Themereadme.html file is accessiblerecommendedredirectssee featurestart feature setupthe plugin titleA new version of the %s plugin is available.the plugin titleCould not determine if updates are available for %s.the plugin titleThe %s plugin is up to date.totoo simplewp-config.php & wp-config-sample.php files are accessibleProject-Id-Version: Hide My WP Ghost PO-Revision-Date: 2024-10-10 20:12+0300 Last-Translator: gpt-po v1.0.11 Language-Team: WpPluginsTips Language: ro_RO MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n==0 || (n!=1 && n%100>=1 && n%100<=19) ? 1 : 2); X-Generator: Poedit 3.5 X-Poedit-Basepath: .. X-Poedit-WPHeader: index.php X-Poedit-SourceCharset: UTF-8 X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;_nx_noop:3c,1,2;__ngettext_noop:1,2 X-Poedit-SearchPath-0: . X-Poedit-SearchPathExcluded-0: *.js #1 Soluție de securitate pentru prevenirea hackerilor: Ascundeți WP CMS, Firewall 7G/8G, Protecție împotriva atacurilor de forță brută, 2FA, Securitate GEO, Logări temporare, Alerte și multe altele.%1$s este învechit începând cu versiunea %2$s! Folosește %3$s în loc. Te rog să iei în considerare scrierea unui cod mai inclusiv.acum %d %s%d %s rămase%s zile de la ultima actualizare%s nu funcționează fără mode_rewrite. Vă rugăm să activați modulul de rescriere în Apache. %sMai multe detalii %s%s nu are permisiunea corectă.%s este vizibil în codul sursăCalea %s este accesibilă%s Plugin(uri) învechite: %s%s modul(e) nu a(u) fost actualizat(e) de către dezvoltatori în ultimele 12 luni: %s%s protejează site-ul dvs. de majoritatea injecțiilor SQL, dar, dacă este posibil, utilizați un prefix personalizat pentru tabelele bazei de date pentru a evita injecțiile SQL. %sCitește mai mult %sRegulile %s nu sunt salvate în fișierul de configurare și acest lucru poate afecta viteza de încărcare a site-ului.%s tema (temele) sunt depășite: %s%s Faceți clic aici%s pentru a crea sau vizualiza chei pentru Google reCAPTCHA v2.%sFaceți clic aici%s pentru a crea sau vizualiza chei pentru Google reCAPTCHA v3.%sERROR:%s E-mail sau parolă este incorectă. %s %d a încercat să rămână înainte de blocare%s Ascunde login %s din meniul tematic sau widget.%s Nu ați reușit să răspundeți corect la problema matematică. %s Încercați din nou%sNOTE:%s Dacă nu ați primit datele de logare, accesați %s.%s Nu ați reușit să răspundeți corect la problema matematică. %s Încercați din nou(* modulul nu are costuri suplimentare, se instalează / activează automat în WP când apeși butonul și folosește același cont)(sunt disponibile mai multe opțiuni)(util atunci când tema adaugă redirecționări administrative greșite sau redirecționări infinite)Funcționează numai cu calea personalizată admin-ajax pentru a evita bucle infinite2FAAutentificare în două pași403 Forbidden403 HTML Error404 HTML Error404 Not Found404 pag7G FirewallFirewall 8GUn element proiectat pentru a opri atacurile din diferite țări și pentru a pune capăt activității dăunătoare provenite din anumite regiuni.Un set complet de reguli poate împiedica interpretarea multor tipuri de SQL Injection și URL-urile URL.Există deja un utilizator cu acel nume de utilizator.Securitate APISetări APIAWS BitnamiConform celor mai recente statistici de la %sGoogle%s, peste %s30.000 de site-uri sunt hackuite în fiecare zi%s, iar %speste 30% dintre ele sunt create în WordPress%s. %sEste mai bine să previi un atac decât să cheltui sume mari de bani și timp pentru a-ți recupera datele după un atac, fără să mai menționăm situația în care datele clienților tăi sunt furate.ActiuneActiveazăActivați 'Încărcare plugin "Must Use"' de la 'Acțiunea de încărcare a plugin-ului' pentru a putea conecta direct la panoul de control de pe managewp.com. %s faceți clic aici %sActivați Protecția Brute ForceJurnal EvenimenteActivați optiunea Jurnal EvenimenteActivați Autentificare TemporarăActivați Plugin-ulActivare informații și jurnale pentru depanare.Activati opțiunea "Brute Force" pentru a vedea raportul cu adresele IP blocate ale utilizatorilorActivatează opțiunea "Jurnal Evenimente" pentru a vizualiza jurnalul de activitate al utilizatorilor pentru acest websiteActivati protecția împotriva atacurilor de Brute Force pentru formularele de autentificare/înregistrare Woocommerce.Activați Protecția Brute pentru pagina de Recuperare Parolă.Brute Force Protection pentru pagina de Inregistrare Utilizator.Activați firewall-ul și preveniți multe tipuri de SQL Injection și de hack-uri URL.Activează firewall-ul și selectează puterea firewall-ului care funcționează pentru site-ul tău %s %s > Schimbă căile > Firewall & Antete %sActiveazăAdaugăAdăugați adresele IP care ar trebui întotdeauna blocate de la accesarea acestui site web.Adăugați Strict-Transport-Security headerAdăugați anteturi de securitate împotriva atacurilor XSS și de injecție de cod.Adăugați adrese IP care pot trece de securitatea plugin-ului.Adăugați adrese IP care pot trece de securitatea modululuiAdăugați o Nouă Autentificare TemporarăAdăugați Utilizator cu Autentificare TemporarăAdăugați rescrieri în Secțiunea Regulilor WordPressAdăugați Securitate HeaderAdăugați header de securitate pentru atacurile XSS și de injecție de codAdăugați Strict-Transport-Security headerAdăugați securitatea cu două factori pe pagina de autentificare cu scanare cod sau autentificare prin cod primit pe email.Adăugați X-Content-Type-Options headerAdăugați X-XSS-Protection headerAdăugați o listă de URL-uri pe care doriți să le înlocuiți cu altele noi.Adăugați un număr static aleatoriu pentru a preveni cache-ul frontend-ului în timp ce utilizatorul este autentificat.Adăugați o adresă URL CDNAdăugați o altă adresă URLAdăugați un alt textAdăugați clasele comune WordPress în maparea textuluiAdăugați căile care pot trece de securitatea modululuiAdăugați căile care vor fi blocate pentru țările selectate.Adăugați redirecționări pentru utilizatorii conectați în funcție de rolurile utilizatorilor.Adăugați URL-urile CDN pe care le utilizați în modulul de cache.Calea AdminSecuritate AdminAdmin ToolbarURL AdminNume de utilizator al administratoruluiAvansatPachet AvansatSetări cacheAfganistanDupă ce ai adăugat clasele, verifică interfața pentru a te asigura că tema ta nu este afectată.După aceea, clic pe %sSave%s pentru a salva.Securitate AjaxURL AjaxInsulele ÅlandAlbaniaTrimite Alerte prin EmailAlgeriaActiuniAll In One WP SecurityToate Site-urileToate fișierele au permisiunile corecte.Toate plugin-urile sunt compatibileToate plugin-urile sunt la ziToate modulele au fost actualizate de dezvoltatori în ultimele 12 luniToate jurnalele sunt salvate în Cloud timp de 30 de zile, iar raportul este disponibil în cazul în care site-ul dvs. este atacat.Permiteți căile ascunsePermiteți utilizatorilor să se autentifice în contul WooCommerce folosind adresa lor de email și un URL de autentificare unic livrat prin email.Permiteți utilizatorilor să se autentifice pe site folosind adresa lor de email și un URL de autentificare unic livrat prin email.Permiterea oricui să vizualizeze toate fișierele din folderul Uploads cu un browser le va permite să descarce cu ușurință toate fișierele încărcate. Este o problemă de securitate și de copyright.Samoa AmericanăAndorraAngolaAnguillaAntarcticaAntigua și BarbudaApacheArabSigur doriți să ignorați această sarcină în viitor?ArgentinaArmeniaArubaAtenție! Vă rugăm să verificați regulile de rescriere din fișierul de configurare. Unele URL-uri au trecut prin regulile din fișierul de configurare și sunt încărcate prin WordPress, ceea ce poate încetini site-ul dvs. web. %s Vă rugăm să urmați acest tutorial: %sAustraliaAustriaCalea autoruluiURL-ul autorului prin acces IDDetectare automatăDetectare automatăRedirecționați automat utilizatorii conectați către panoul de control de administrareAutoptimizerAzerbaidjanBackend sub SSLSetări salvareBackup / RestoreSetări de Backup/RestoreBahamasBahrainDurata interdicțieiBangladeshBarbadosAsigură-te că incluzi doar URL-urile interne și folosește căi relative ori de câte ori este posibil.Beaver BuilderBelarusBelgiaBelizeBeninBermudaCu respectBhutanBitnami a detectat. %sVă rugăm să citiți cum să faceți plugin-ul compatibil cu găzduirea AWS%sListă neagrăLista neagră a adreselor IPEcran alb în timpul depanării (debugging)Blocare țăriBlocați numele de gazdăBlocați IP pe pagina de conectareBlocare ReferențăBlocați căile specificeBlocare Detectoare TemeBlocați agenții utilizatorilorBlochează agenții de utilizatori cunoscuți de la detectoarele populare de teme.IP-uri blocateIP-uri blocateBlocat deBoliviaBonaire, Sfântul Eustatius și SabaBosnia și HerțegovinaBotswanaInsula BouvetBrazilEngleza britanicăTeritoriul Britanic din Oceanul IndianBrunei DarussalamBrute ForceIP-uri blocateProtecția Brute Force pe loginProtecție Brute ForceSetări Brute ForceBulgariaLeva bulgăreascăBulletProof plugin! Asigurați-vă că salvați setările din %s după ce ați activat modul BulletProof Root Folder în pluginul BulletProof.Burkina FasoBurundiPrin activare, sunteți de acord cu %s Termenii de utilizare %s și %sPolitica de confidențialitate%sCDNCDN Activat detectat. Vă rugăm să includeți noile căi %s și %s în setările CDN EnablerCDN Enabler detectat! Aflați cum să-l configurați cu %s %s Faceți clic aici %sURL-urile CDNEROARE DE CONEXIUNE! Asigurați-vă că site-ul dvs. web poate avea acces: %sCache CSS, JS și Imagini pentru a crește viteza de încărcare frontend.Cache EnablerCambodgiaCamerunNu pot descărca modulul.CanadaCanadian FrenchAnulareAnulați cârligele de conectare de la alte pluginuri și teme pentru a le împiedica să schimbe redirecționările nedorite.Capul VerdeCatalanăInsulele CaymanRepublica CentrafricanăChadSchimbareModificați opțiuniSchimbă CăileSchimbă CăileSchimbă Căile pentru Utilizatorii ConectațiSchimbă Căile în Apelurile AjaxSchimbă Căile în Fișierele CacheModificați Căile în RSSSchimbați Căile în Sitemaps XMLSchimbați URL relative in URL absoluteModificați căile WordPress în timp ce sunteți autentificatSchimbă Căile în RSS Feed pentru toate imaginile.Schimbă Căile în Sitemap XML și eliminați autorul și stilurile plugin-ului.Modificați eticheta în %s > %s > %sSchimbă căile comune WordPress în fișierele din cache.Schimbați calea de înregistrare din %s %s > Schimbă Căile > Custom Register URL%s sau debifați opțiunea %s > %s > %sSchimbați textul din toate fișierele CSS și JS, inclusiv cele din fișierele cache generate de modulele de cache.Schimbați utilizatorul "admin" sau "administrator" cu un alt nume pentru a îmbunătăți securitatea.Modificați permisiunea fișierului wp-config.php în Read-Only folosind File Manager.Schimbați wp-content, wp-includes și alte căi comune cu %s %s > Change Paths%sSchimbați wp-login de la %s %s > Schimbă Căile > Custom login URL%s și activați %s %s > Brute Force Protection%sModificarea antetelor de securitate poate afecta funcționalitatea site-ului web.Verificați Căile FrontendVerificați-vă site-ulVerificați-vă site-ulVerificați dacă căile website-ului funcționează corect.Verificați dacă site-ul dvs. web este securizat cu setările actuale.Verificați %s feed-ul RSS %s și asigurați-vă că traseele imaginilor sunt modificate.Verificați %s Sitemap XML %s și asigurați-vă că traseele imaginilor sunt modificate.Verificați viteza de încărcare a site-ului web cu %sPingdom Tool %sChileChinaAlegeți o parolă adecvată a bazei de date, de cel puțin 8 caractere cu o combinație de litere, numere și caractere speciale. După ce o schimbați, setați noua parolă în fișierul wp_config.php define('DB_PASSWORD', 'NEW_DB_PASSWORD_GOES_HERE');Alegeți țările în care accesul la site-ul web ar trebui restricționat.Alegeți tipul de server pe care îl utilizați pentru a obține cea mai potrivită configurație pentru serverul dvs.Alege ce să faci atunci când accesezi din adrese IP aflate pe lista albă și căi aflate pe lista albă.Insula CrăciunuluiCurățați pagina de conectareFaceți clic pe %sContinue%s pentru a seta caile.Faceți clic pe Backup și descărcarea va începe automat. Puteți utiliza Backup pentru toate site-urile dvs. web.Apăsați pentru a porni procesul de schimbare a căilor în fișierele cache.Închide EroareaCloud PanelS-a detectat Cloud Panel. %sVă rugăm să citiți cum să faceți modulul compatibil cu găzduirea Cloud Panel%sCntInsulele Cocos (Keeling)ColumbiaCalea pentru CommentsComoreCompatibilitateSetări de compatibilitateCompatibilitate cu plugin-ul Manage WPCompatibilitate cu modulele de autentificare bazate pe tokenCompatibil cu modulul de securitate All In One WP Security. Utilizați-le împreună pentru scanarea virusurilor, protecție firewall și protecție împotriva atacurilor de tip brute force.Compatibil cu modulul de cache JCH Optimize. Funcționează cu toate opțiunile de optimizare pentru CSS și JS.Compatibil cu modulul Solid Security. Folosește-le împreună pentru Scanarea Site-ului, Detectarea Schimbărilor de Fișiere, Protecție împotriva Atacurilor de Forță Brute.Compatibil cu modulul de securitate Sucuri Security. Utilizați-le împreună pentru scanarea virusurilor, protecție firewall și monitorizarea integrității fișierelor.Compatibil cu modulul de securitate Wordfence Security. Utilizați-le împreună pentru scanarea malware-ului, protecție firewall și protecție împotriva atacurilor de tip brute force.Compatibil cu toate temele și plugin-urile.Rezolvare completăConfigFișierul de configurare nu poate fi scris. Creați fișierul daca nu există și %s adăugați următoarele linii la începutul fișierului: %sFișierul de configurare nu poate fi scris. Creați fișierul daca nu există și %s adăugați următoarele linii la începutul fișierului: %sFișierul de configurare nu poate fi scris. Trebuie să îl adăugați manual la începutul fișierului %s: %sConfirmați utilizarea unei parole slabe.CongoRepublica Democrată CongoFelicitări! Ați finalizat toate sarcinile de securitate. Asigurați-vă că verificați site-ul dvs. o dată pe săptămână.ContinuăConvertiți legături precum /wp-content / * în %s /wp-content / *.Insulele CookCopiați linkulCopiați URL-ul %s SAFE %s și folosiți-l pentru a dezactiva toate căile personalizate dacă nu vă puteți conecta.Calea pentru CommentsCalea wp-includeCosta RicaCote d'IvoireNu s-a putut detecta utilizatorulNu s-a putut rezolva. Trebuie să-l schimbi singur.Nu am putut găsi nimic pe baza căutării tale.Nu am putut să mă conectez cu acest utilizator.Nu s-a putut redenumi tabela %1$s. Este posibil să trebuiască să redenumiți tabela manual.Nu s-au putut actualiza referințele prefixului în tabela de opțiuni.Nu am putut actualiza referințele prefixului în tabela usermeta.Blocare pe țarăCreareCreați o nouă autentificare temporarăCreați un URL de autentificare temporar cu orice rol de utilizator pentru a accesa panoul de control al site-ului fără nume de utilizator și parolă pentru o perioadă limitată de timp.Creați un URL de autentificare temporară cu orice rol de utilizator pentru a accesa panoul de control al site-ului fără nume de utilizator și parolă pentru o perioadă limitată de timp. %s Acest lucru este util atunci când trebuie să oferiți acces de administrator unui dezvoltator pentru suport sau pentru efectuarea de sarcini de rutină.CroațiaCroatăCubaCuracaoPersonalizează calea de activarePersonalizează Calea AdminDirector Personalizat Pentru CachePersonalizează Calea LoginPersonalizează calea de deconectarePersonalizează calea Lost PasswordPersonalizează calea de inregistrarePersonalizează Parametrul de siguranțăPersonalizează Calea admin-ajaxPersonalizează calea autoruluiPersonalizează calea de comentariiMesaj personalizat pentru a fi afișat utilizatorilor blocați.Personalizează cale pluginuriPersonalizează nume style.cssPersonalizează calea themePersonalizează calea UploadsPersonalizează calea wp-contentPersonalizează calea wp-includePersonalizează calea wp-jsonPersonalizați și securizați toate căile WordPress împotriva atacurilor de la roboții hackeri.Personalizează Cale PluginuriPersonalizează Nume TemePersonalizați URL-urile CSS și JS în corpul site-ului dvs.Personalizați ID-urile și numele claselor din corpul site-ului dumneavoastră.CipruCehăRepublica CehăModul de Debug DBDanezăPanoul de controlPrefixul bazei de dateDataDezactivatModul DebugImplicitRedirecționare implicită după autentificareTimpul implicit de expirare pentru autentificarea temporarăRol Utilizator ImplicitEtichetă WordPress implicităRolul de utilizator implicit pentru care va fi creată autentificarea temporară.Ștergeți utilizatorii temporari la dezinstalarea modululuiȘtergeți utilizatorulDanemarcaDetaliiDirectoareDezactivați accesul parametrului "rest_route"Mesajul pentru Click dezactivatDezactivați CopyDezactivați Copy/PasteDezactivați mesajul Copiere/LipireDezactivați Copy/Paste pentru utilizatorii conectațiDezactivează DISALLOW_FILE_EDIT pentru site-urile web live din wp_config.php define('DISALLOW_FILE_EDIT', true);Dezactivați navigarea în directoareDezactivați Drag/Drop la ImaginiDezactivați mesajul Drag/DropDezactivați Drag/Drop pentru Utilizatori LogațiDezactivarea Inspect ElementDezactivează mesajul de Inspectare ElementDezactivarea Inspect Element pentru Utilizatori LogațiOpțiuniDezactivați PasteDezactivați REST APIDezactivați accesul REST API pentru utilizatorii care nu s-au conectatDezactivați accesul API-ului REST folosind parametrul 'rest_route'.Dezactivarea referința RSD din XML-RPCDezactivare clic-dreaptaDezactivare clic-dreapta pentru Utilizatori LogațiDezactivați SCRIPT_DEBUG pentru site-urile web live în wp_config.php define('SCRIPT_DEBUG', false);Dezactivați View SourceDezactivați mesajul Vizualizare sursăDezactivați View Source pentru Utilizatori LogațiDezactivați WP_DEBUG pentru site-urile web live din wp_config.php define('WP_DEBUG', false);Dezactivați accesul XML-RPCDezactivați funcțiile de copiere de pe site-ul dvsDezactivați funcția drag & dro pe site-ul dvsDezactivați funcțiile de lipire de pe site-ul dvsDezactivarea suportului RSD (Really Simple Discovery) pentru XML-RPC și eliminarea etichetei RSD din antetNu încărcați XML-RPC pentru a preveni atacurile de forță %sBrute Force prin XML-RPC %sDezactivați funcțiile de copy și paste de pe site-ul dvs.Dezactivați apelurile externe către fișierul xml-rpc.php și preveniți atacurile Brute Force.Dezactivați inspect element pe site-ul dvs. webDezactivați funcționalitatea clic-dreapta pe site-ul dvs. web.Dezactivați funcționalitatea clic-dreapta pe site-ul dvs. webDezactivați vizualizarea codului sursă pe site-ul dvs. webAfișarea oricăror informații de depanare în frontend este extrem de proastă. Dacă apar erori PHP pe site-ul dvs., acestea ar trebui să fie conectate într-un loc sigur și să nu fie afișate vizitatorilor sau potențialilor atacatori.DjiboutiGestionați redirecționările Login și LogoutNu te deconecta din acest browser până când ești sigur că pagina de conectare funcționează și vei putea să te conectezi din nou.Nu vă deconectați de la acest browser până nu sunteți sigur că reCAPTCHA funcționează și vă veți putea autentifica din nou.Doriți să ștergeți utilizatorul temporar?Doriți să restaurați ultimele setări salvate?DominicaRepublica DominicanăNu uitați să reîncărcați serviciul Nginx.Nu lăsați adresele URL precum domain.com?author=1 să arate numele de conectare al utilizatoruluiNu lăsați hackerii să vadă niciun conținut de director. Consultați %sUploads Directory %sNu încărcați pictogramele Emoji dacă nu le utilizațiNu încărcați WLW dacă nu ați configurat Windows Live Writer pentru site-ul dvsNu încărcați serviciul Ombed dacă nu utilizați videoclipuri oEmbedNu selectați niciun rol dacă doriți să înregistrați toate rolurile utilizatoruluiDone!Descărcați DebugDrupal 10Drupal 11Drupal 8Drupal 9OlandezăEROARE! Vă rugăm să vă asigurați că utilizați un token valid pentru a conecta plugin-ul cu WPPluginsEROARE! Vă rugăm să vă asigurați că utilizați un token valid pentru a conecta plugin-ul cu WPPluginsEcuadorEditare UtilizatorEditați utilizatorulEditați wp-config.php și adăugați ini_set('display_errors', 0); la sfârșitul fișieruluiEgiptEl SalvadorElementorEmailAdresa emailNotificare prin e-mailAdresa de email există dejaTrimiteți prin e-mail companiei dvs. de găzduire și spuneți-le că doriți să treceți la o versiune mai nouă de MySQL sau să vă mutați site-ul către o companie de găzduire mai bunăTrimiteți prin e-mail companiei dvs. de găzduire și spuneți-le că doriți să treceți la o versiune mai nouă de PHP sau să vă mutați site-ul către o companie de găzduire mai bună.GolReCaptcha gol. Vă rugăm să completați reCaptcha.Adresă de email goalăActivarea acestei opțiuni ar putea încetini site-ul, deoarece fișierele CSS și JS se vor încărca dinamic în loc să fie reîncărcate, permițând modificarea textului din ele după cum este necesar.EnglezăIntroduceți Token-ul de 32 de caractere din Comenzi / Licențe pe de la adresa %sGuineea EcuatorialăEritreeaEroare! Nu există nicio copie de rezervă de restaurat.Eroare! Copia de rezervă nu este validă.Eroare! Noile căi nu se încarcă corect. Vă rugăm să ștergeți toate cache-urile și încercați din nou.Eroare! Setarea predefinită nu a putut fi restaurată.Eroare: ați introdus același text de două ori în Mapping Text. Am eliminat duplicatele pentru a preveni eventualele erori de redirecționare.Eroare: ați introdus același text de două ori în Mapping Text. Am eliminat duplicatele pentru a preveni eventualele erori de redirecționare.EstoniaEtiopiaEuropaChiar dacă căile implicite sunt protejate de %s după personalizare, recomandăm să setați permisiunile corecte pentru toate directoarele și fișierele de pe site-ul dvs., folosiți Managerul de fișiere sau FTP pentru a verifica și schimba permisiunile. %sCitiți mai mult%sJurnal EvenimenteSalveaza ActiuniJurnal EvenimenteFiecare dezvoltator bun ar trebui să pornească depanarea înainte de a începe un nou plugin sau o temă. De fapt, WordPress Codex „recomandă cu tărie” ca dezvoltatorii să utilizeze SCRIPT_DEBUG. Din păcate, mulți dezvoltatori uită modul de depanare chiar și atunci când site-ul este live. Afișarea jurnalelor de depanare în frontend va permite hackerilor să știe multe despre site-ul dvs. WordPress.Fiecare dezvoltator bun ar trebui să pornească depanarea înainte de a începe un nou plugin sau o temă. De fapt, WordPress Codex „recomandă cu tărie” ca dezvoltatorii să folosească WP_DEBUG.

Din păcate, mulți dezvoltatori uită modul de debug, chiar și atunci când site-ul este live. Afișarea jurnalelor de depanare în frontend va permite hackerilor să știe multe despre site-ul dvs. WordPress.Exemplu:Timp ExpirareExpiratExpirăExpunerea versiunii PHP va facilita munca de a vă ataca site-ul.Încercări cu eșecEșuatăInsulele Falkland (Malvine)Insulele FeroeCaracteristiciFeed & Sitemaps XMLSecuritatea FeedFijiPermisiuni de fișierPermisiunile fișierelor în WordPress joacă un rol critic în securitatea site-ului web. Configurarea corectă a acestor permisiuni asigură că utilizatorii neautorizați nu pot obține acces la fișiere și date sensibile.
Permisiunile incorecte pot deschide în mod inadvertent site-ul dvs. la atacuri, făcându-l vulnerabil.
În calitate de administrator WordPress, înțelegerea și configurarea corectă a permisiunilor fișierelor sunt esențiale pentru protejarea site-ului dvs. împotriva amenințărilor potențiale.FișiereFiltruFinlandFirewallFirewall & HeadersFirewall împotriva injectării scriptuluiLocația Firewall-uluiPutere FirewallFirewall împotriva injecțiilor este încărcatPrenumeMai întâi, trebuie să activați %sSafe Mode%s sau %sGhost Mode%sMai întâi, trebuie să activați %sSafe Mode%s sau %sGhost Mode%s in %sRezolvare permisiuniReparaReparați permisiunile pentru toate directoarele și fișierele (~ 1 min)Rezolvați permisiunile pentru directoarele principale și fișierele (~ 5 sec)FlywheelS-a detectat platforma Flywheel. Adăugați redirecționările în panoul de reguli de redirecționare Flywheel %s.Dosarul %s este accesibilForbiddenFranțaTeritoriile Franceze de SudGuyana FrancezăPolinezia FrancezăTeritoriile Franceze de SudDe la: %s <%s>Înapoi la prima paginăTest de conectare frontendTest FrontendComplet compatibil cu modulul de cache Autoptimize. Funcționează cel mai bine cu opțiunea de optimizare/agregare a fișierelor CSS și JS.Complet compatibil cu modulul de construire a site-urilor Beaver Builder. Funcționează cel mai bine împreună cu un modul de cache.Complet compatibil cu modulul de cache Cache Enabler. Funcționează cel mai bine cu opțiunea de minificare a fișierelor CSS și JS.Complet compatibil cu modulul de construire a site-urilor Elementor. Funcționează cel mai bine împreună cu un modul de cacheComplet compatibil cu modulul de construire a site-urilor Fusion Builder by Avada. Funcționează cel mai bine împreună cu un modul de cache.Complet compatibil cu modulul de cache Hummingbird. Funcționează cel mai bine cu opțiunea de minificare a fișierelor CSS și JS.Complet compatibil cu modulul de cache LiteSpeed Cache. Funcționează cel mai bine cu opțiunea de minificare a fișierelor CSS și JS.Complet compatibil cu modulul de construire a site-urilor Oxygen Builder. Funcționează cel mai bine împreună cu un modul de cache.Complet compatibil cu modulul de cache W3 Total Cache. Funcționează cel mai bine cu opțiunea de minificare a fișierelor CSS și JS.Complet compatibil cu modulul de cache WP Fastest Cache. Funcționează cel mai bine cu opțiunea de minificare a fișierelor CSS și JS.Compatibil cu pluginul de cache WP Super Cache.Complet compatibil cu modulul de cache WP-Rocket. Funcționează cel mai bine cu opțiunea de minificare/combinare a fișierelor CSS și JS.Complet compatibil cu modulul Woocommerce.Fusion BuilderGabonGambiaGeneralGeo SecuritateSecuritatea geografică este o funcționalitate concepută pentru a opri atacurile din diferite țări și pentru a pune capăt activităților dăunătoare care provin din anumite regiuni.GeorgiaLink-uri permanenteGermaniaGhanaMod GhostModul Fantom + Firewall + Forță Brute + Jurnal Evenimente + Autentificare în Două EtapeModul Ghost va seta aceste căi predefiniteMod GhostGibraltarDați nume aleatorii fiecărui pluginDați nume aleatorii fiecărei teme (funcționează în WP multisite)Numele clasei globale detectat: %s. Citeste mai intai acest articol: %s.Raport Evenimente UtilizatoriAccesați pagina Dashboard > Teme și actualizați toate temele la ultima versiune.Accesați pagina Dashboard > Module și actualizați toate plugin-urile la ultima versiune.GodaddyGodaddy a detectat! Pentru a evita erorile CSS, asigurați-vă că opriți CDN de la %sBunGoogle reCAPTCHA V2Google reCAPTCHA V3Google reCaptcha V3 nu funcționează cu formularul de autentificare actual al %s .Grozav! Copia de rezervă este restabilită.Grozav! Valorile inițiale au fost restabilite.Foarte bine! Noile căi se încarcă corect.Excelent! Presetul a fost încărcat.GreciaGreekGroenlandaGrenadaGuadelupaGuamGuatemalaGuernseyGuineeaGuineea-BissauGuyanaHaitiDacă URL-ul admin este vizibil în codul sursă, este foarte rău, deoarece hackerii vor cunoaște imediat calea ta secretă de administrare și vor începe un atac al Forței Brute. Calea de administrare personalizată nu trebuie să apară pe adresa URL ajax.

Găsiți soluții pentru %s how pentru a ascunde calea de codul sursă %s.Dacă adresa URL de conectare este vizibilă în codul sursă, este într-adevăr rău, deoarece hackerii vor cunoaște imediat calea ta de conectare secretă și vor începe un atac Brute Force.

Calea de conectare personalizată ar trebui să fie ținută secretă și cu Brute Force Protection activată pentru aceasta.

Găsiți soluții pentru %s how pentru a ascunde calea de codul sursă %s.Dacă această directivă PHP este activată, vă va lăsa site-ul expus la atacuri cross-site (XSS).

Nu există absolut niciun motiv valid pentru a activa această directivă, iar utilizarea oricărui cod PHP care necesită este foarte riscantă.Securitate HeaderAntete și FirewallInsulele Heard și Insulele McDonaldLimba ebraicăAjutor & IntrebăriIată lista de județe selectate în care site-ul tău va fi restricționat.AscundeAscundeți /loginAscundeți 'wp-admin'Ascundeți "wp-admin" de la utilizatorii care nu sunt administratoriAscundeți "wp-login.php"Ascundeți calea /login de vizitatori.Ascundeți calea /wp-admin de la utilizatorii care nu sunt administratori.Ascundeți calea /wp-admin de vizitatori.Ascundeți calea /wp-login.php de vizitatori.Ascundeți Bara de instrumente de administrareAscundeți Admin Toolbar pentru roluri de utilizator pentru a împiedica accesul la Dashboard.Ascundeți Numele Tuturor Plugin-urilorAscundeți ID-ul autorului din adresa URLAscundeți fișierele comuneAscundeți scripturile EmbedAscundeți EmojiconsAscundeți Feed & Sitemap Link TagsAscundeți extensiile de fișiereAscundeți comentariile HTMLAscundeți ID-urile din etichetele METAAscundeți comutatorul de limbăHide My WP GhostAscunde OpțiuniSchimbați căile în Robots.txtAscundeți Numele Plugin-urilorAscundeți linkul URL REST APIAscundeți Numele TemelorAscundeți versiunea din imagini, CSS și JS în WordPressAscundeți Versiunea din imagini, CSS și JSAscundeți scripturile WLW ManifestAscundeți fișierele comune WPAscundeți căile comune WPAscundeți fișierele comune WordPressAscundeți căile comune WordPressAscundeți WordPress DNS Prefetch META TagsAscundeți WordPress Generator META TagsAscundeți calea veche a modulelor WordPressAscundeți calea veche a temelor WordPressAscundeți căile comune WordPress din fișierul %s Robots.txt %s.Ascundeți căile WordPress, cum ar fi wp-admin, wp-content și multe altele, din fișierul robots.txt.Ascunde toate versiunile de la sfârșitul oricăror fișiere de imagine, CSS și JavaScript.Ascundeți atât pluginurile active, cât și cele dezactivateAscunde sarcinile finalizateAscundeți parolaAscundeți tag-urile de legătură /feed și /sitemap.xmlAscundeți DNS Prefetch care indică WordPressAscundeți comentariile HTML lăsate de teme și plugin-uriAscundeți ID-urile din toate <linkuri>, <stiluri>, <scripturi> și etichetele METAAscundeți Noua Cale de AdminAscunde Calea de Autentificare NouăAscundeți etichetele META ale generatorului WordPressAscundeți bara de instrumente de administrare pentru utilizatorii autentificați în frontend.Ascundeți opțiunea de comutare a limbii pe pagina de autentificareAscundeți calea de administrare nouă de la vizitatori. Afișați calea de administrare nouă doar pentru utilizatorii autentificați.Ascundeți calea de autentificare nouă de vizitatori. Afișați calea de autentificare nouă doar pentru acces direct.Ascundeți vechile căi /wp-content, /wp-include odată ce sunt schimbate cu cele noiAscundeți vechile căi /wp-content, /wp-include odată ce sunt schimbate cu cele noi.Ascundeți vechea cale /wp-content/plugins odată ce a fost schimbată cu cea nouăAscundeți vechea cale /wp-content/themes odată ce a fost schimbată cu cea nouăAscundeți wp-admin de la adresa URL ajaxAscundeți fișierele wp-config.php , wp-config-sample.php, readme.html, license.txt, upgrade.php și install.phpAscundeți fișierele wp-config.php, wp-config-sample.php, readme.html, license.txt, upgrade.php și install.php..Ascundeți tag-ul wp-json & ?rest_route link din antetul site-ului webAscunderea ID-ului din etichetele meta în WordPress poate afecta potențial procesul de cache al modulelor care se bazează pe identificarea etichetelor meta.HindiSfântul Scaun (Statul Cetății Vaticanului)HondurasHong KongNumele gazdeiCât timp va fi disponibilă autentificarea temporară după prima accesare a utilizatorului.HummingbirdMaghiarăUngariaIIS WindowsIIS detectat. Trebuie să actualizați fișierul %s adăugând următoarele rânduri după < reguli > Etichete: %sIPIP-uri blocateIslandaDacă pagina de conectare afișează vreo eroare, asigurați-vă că urmați instrucțiunile Hide My WP Ghost înainte de a merge mai departe.Dacă regulile de rescriere nu se încarcă corect în fișierul de configurare, nu încărcați modulul și nu modificați căile.Dacă ești conectat cu utilizatorul de admin, va trebui să te reconectezi după modificare.Dacă nu puteți configura %s, treceți la modul dezactivat și %scontactați-ne%s.Dacă nu puteți configura reCaptcha, treceți la modul Math reCaptcha.Dacă nu aveți un site de comerț electronic, membru sau postare de invitați, nu ar trebui să lăsați utilizatorii să se aboneze la blogul dvs. Veți ajunge la înregistrări spam și site-ul dvs. web va fi completat cu conținut spam și comentarii.Dacă aveți acces la fișierul php.ini, setați allow_url_include = off sau contactați compania gazdă pentru a-l opriDacă aveți acces la fișierul php.ini, setați expose_php = off sau contactați compania de găzduire pentru a-l opriDacă aveți acces la fișierul php.ini, setați register_globals = off sau contactați compania gazdă pentru a-l opriDacă aveți acces la fișierul php.ini, setați safe_mode = off sau contactați compania gazdă pentru a-l opriDacă observați orice problemă de funcționalitate, selectați %sSafe Modul%s.Dacă vă puteți autentifica, ați setat corect noile căi.Dacă vă puteți autentifica, ați setat corect noile căi.Dacă nu utilizați Windows Live Writer, nu există niciun motiv valid pentru a avea legătura sa în antetul paginii, deoarece acest lucru spune întreaga lume pe care o utilizați WordPress.Dacă nu utilizați niciun serviciu de descoperire într-adevăr simplă, cum ar fi pingbacks, nu este necesar să faceți publicitate acel punct (link) în antet. Vă rugăm să rețineți că pentru majoritatea site-urilor nu este o problemă de securitate, deoarece „vor să fie descoperite”, dar dacă doriți să ascundeți faptul că utilizați WP, acesta este calea de urmat.Dacă site-ul dvs. permite conectarea utilizatorilor, aveți nevoie de pagina dvs. de conectare pentru a fi ușor de găsit pentru utilizatorii dvs. De asemenea, trebuie să faceți alte lucruri pentru a vă proteja împotriva încercărilor de conectare rău intenționate.

Cu toate acestea, obscuritatea este un strat de securitate valid atunci când este utilizată ca parte a unei strategii de securitate cuprinzătoare și dacă doriți să reduceți numărul de încercări de conectare rău intenționate. A face dificilă găsirea paginii de conectare este o modalitate de a face acest lucru.Ignoră task de securitateBlocați imediat numele de utilizator incorecte pe formularele de conectare.În fișierul .htaccessPe vremuri, numele de utilizator WordPress admin era implicit 'admin' sau 'administrator'. Întrucât numele de utilizator alcătuiesc jumătate din datele de autentificare de conectare, acest lucru a făcut mai ușor pentru hackeri să lanseze atacuri de forță brută.

Din fericire, WordPress a schimbat de atunci și acum necesită să selectați un nume de utilizator personalizat în momentul instalării WordPress.S-a detectat Ultimate Membership Pro. Modulul nu suportă căi personalizate pentru %s deoarece nu utilizează funcțiile WordPress pentru a apela URL-ul AjaxIndiaIndoneziaIndonezianăInfoInmotionDetectarea mișcării. %s Vă rugăm să citiți cum să faceți plugin-ul compatibil cu Inmotion Nginx Cache %sInstalare/ActivareIntegrare cu alte pluginuri CDN și URL-uri CDN personalizate.ReCaptcha invalid. Vă rugăm să completați ReCaptcha-ul.Adresă de email invalidăNumele nevalid este detectat: %s. Adaugă doar numele final de cale pentru a evita erorile WordPress.Numele nevalid este detectat: %s. Numele nu poate începe cu / pentru a evita erorile WordPress.Numele nevalid este detectat: %s. Numele nu poate începe cu / pentru a evita erorile WordPress.Numele nevalid este detectat: %s. Căile nu se pot termina. pentru a evita erorile WordPress.Numele nevalid este detectat: %s. Trebuie să folosiți un alt nume pentru a evita erorile WordPress.Nume de utilizator invalid.Iran, Republica Islamică aIraqIrlandaInsula ManIsraelEste important să %s salvați setările de fiecare dată când le modificați %s. Puteți utiliza copia de rezervă pentru a configura alte site-uri web pe care le dețineți.Este important să ascundeți sau să eliminați fișierul readme.html, deoarece conține detalii despre versiunea WP.Este important să ascundeți căile comune WordPress pentru a preveni atacurile asupra plugin-urilor și temelor vulnerabile.
De asemenea, este important să ascundeți numele de plugin-uri și teme pentru a face imposibilă detectarea de către roboți.Este important să redenumiți căile comune WordPress, cum ar fi wp-content și wp-include pentru a împiedica hackerii să știe că aveți un site WordPress.Nu este sigur să aveți Debug-ul de baze de date activat. Asigurați-vă că nu utilizați debug-ul de baze de date pe site-urile web live.ItalianăItaliaJCH Optimize CacheJamaicaJananeseJaponiaJavascript este dezactivat în browserul dumneavoastră! Trebuie să activați javascript pentru a utiliza plugin-ul %s.TricouJoomla 3Joomla 4Joomla 5JordanDoar un alt WordPress siteKazahstanKenyaKiribatiȘtiți ce fac ceilalți utilizatori pe site-ul dvs. web.CoreeanăKosovoKuweitKirghizstanLimbaRepublica Democrată Populară LaoUltimele 30 de zile Statistici de securitateUltimul accesNumeUltima verificare:Încărcare îmtârziatăLetoniaLetonăAfla cumAflați cum să adăugați codulAflați cum să dezactivați %s Directory Browsing %s sau activați %s %s > Schimbă Căi > Dezactivați parcurgerea directoarelor %sAflați cum să setați site-ul dvs. ca %s. %s Faceți clic aici %sÎnvață cum să configurezi pe Local & NginxAflați cum să configurați pe serverul NginxÎnvață cum să folosești codul scurt.Aflați mai multe despreAflați mai multe despre %s 7G firewall %s.Află mai multe despre %s firewall-ul 8G %s.Lăsați-l gol dacă nu doriți să afișați niciun mesajLăsați-l gol pentru a bloca toate căile de acces pentru țările selectate.LibanLesothoSă ducem securitatea ta la un nivel superior!Nivel SecuritateNiveluri de securitateLiberiaLibia Jamahiria ArabăToken de licențăLiechtensteinLimitați numărul de încercări de autentificare permise folosind formularul de autentificare normal.LiteSpeedLiteSpeed CacheLituaniaLituanianăÎncărcați presetareaÎncărcați setările de securitate.Încărcați după ce sunt încărcate toate modulele. Pe acțiunea "template_redirects".Încărcați înainte ca toate modulele să fie încărcate. Pe acțiunea "plugins_loaded".Încărcați limba personalizată dacă este instalată limba locală în WordPress.Încărcați plugin-ul in modul Must Use.Încărcare la inițializarea modulelor. Pe acțiunea "init".Local & NGINX detectate. În cazul în care nu ați adăugat deja codul în configurația NGINX, vă rugăm să adăugați următoarea linie. %sLocal de FlywheelLocațieBlocare utilizatorMesaj de blocareCe roluri să urmărițiJurnal EvenimenteRedirecționări Login și LogoutAccesul blocat deCalea LoginURL de Redirecționare la LoginSecuritate LoginCalea LoginURL LoginURL de redirecționare la LogoutBrute Force Protection pentru Recuperare ParolăLuxemburgMacaoMadagascarConectare prin Link MagicAsigurați-vă că URL-urile de redirecționare există pe site-ul dvs. %sURL-ul de redirecționare al rolului utilizatorului are prioritate mai mare decât URL-ul de redirecționare implicit.Asigurați-vă că știți ce faceți atunci când schimbați anteturile.Asigurați-vă că salvați setările și goliți memoria cache înainte de a verifica site-ul dvs. web cu instrumentul nostru.MalawiMalaysiaMaldiveMaliMaltaGestionați Protecția împotriva Atacurilor de Forță BruteGestionați redirecționările de conectare și deconectareGestionați adresele IP din lista albă și lista neagrăBlocați / Deblocați manual adresele IP.Personalizați manual fiecare nume de plugin și suprascrieți numele aleatoriuPersonalizați manual fiecare nume de temă și suprascrieți numele aleatoriuLista de adrese IP de încredere.MapareInsulele MarshallMartinicaVerificarea Math & Google reCaptcha în timpul logării.Math reCAPTCHAMauritaniaMauritiusNumărul de încercările eronateMayotteMediuAbonamentMexicMicronezia, Statele Federate ale MicronezieiMinimMinim (Fără rescrieri de configurare)Republica MoldovaMonacoMongoliaMonitorizați tot ce se întâmplă pe site-ul dvs. WordPress!Monitorizați, urmăriți și înregistrați evenimentele de pe site-ul dvs. web.MuntenegruMontserratAjutorMai multe informaţii despre %sMai multe opțiuniMarocMajoritatea instalațiilor WordPress sunt găzduite pe celebrele servere web Apache, Nginx și IIS.MozambicÎncărcare plugin "Must Use"Contul meuMyanmarVersiunea MysqlA fost detectat NGINX. În cazul în care nu ați adăugat deja codul în configurația NGINX, vă rugăm să adăugați următoarea linie. %sNumeNamibiaNauruNepalȚările de JosNoua CaledonieDate noi de LoginA fost detectat un nou modul temă! Actualizați setările %s pentru a-l ascunde. %sFaceți clic aici%sNoua ZeelandăPasul urmatorNginxNicaraguaNigerNigeriaNiueNuFără Simulare CMSNici o actualizare recentă lansatăNu există IP-uri listate negreNu s-au găsit log.Nu există autentificări temporare.Nu, anuleazăNumăr de secundeInsula NorfolkÎncărcare normalăDe obicei, opțiunea de blocare a vizitatorilor de a naviga în directoarele serverului este activată de către gazdă prin configurarea serverului, iar activarea de două ori în fișierul de configurare poate cauza erori, așa că este mai bine să verifici mai întâi dacă %sDirectorul de Încărcări%s este vizibil.Coreea de NordMacedonia de Nord, Republica MacedoniaInsulele Mariane de NordNorvegiaNorvegianăÎncă nu s-a autentificatReține că această opțiune nu va activa CDN-ul pentru site-ul tău, dar va actualiza căile personalizate dacă ai setat deja un URL CDN cu un alt modul.Notă! %sCaile NU se schimbă fizic%s pe serverul dumneavoastră.Notă! Modulul va utiliza WP cron pentru a schimba căile în fundal odată ce fișierele cache sunt create.Notă: Dacă nu vă puteți autentifica pe site-ul dvs., accesați acest URLSetări NotificăriBine, am setat-oOmanLa inițializarea site-uluiOdată ce ați cumpărat plugin-ul, veți primi prin e-mail credențialele %s pentru contul dvs.O ziO orăO lunăO săptămânăUn anUnul dintre cele mai importante fișiere din instalarea dvs. WordPress este fișierul wp-config.php.
Acest fișier este localizat în directorul rădăcină al instalării WordPress și conține detaliile de configurare de bază ale site-ului dvs., cum ar fi informațiile despre conexiunea bazei de date.Modificați această opțiune doar dacă modulul nu reușește să identifice corect tipul de server.Optimizați fișierele CSS și JSOpțiune de a informa utilizatorul despre încercările rămase pe pagina de conectare.OpțiuniPlugin-uri învechiteTeme învechiteSumarOxygenVersiune PHPPHP allow_url_include este activatPHP expose_php este activPHP register_globals este activatModul sigur PHP a fost una dintre încercările de a rezolva problemele de securitate ale serverelor de găzduire web partajate.

Încă este folosit de unii furnizori de găzduire web, cu toate acestea, astăzi acest lucru este considerat ca fiind impropriu. O abordare sistematică dovedește că este incorect din punct de vedere arhitectural să încerci să rezolvi probleme complexe de securitate la nivelul PHP, mai degrabă decât la serverul web și nivelurile de sistem de operare.

Tehnic, modul sigur este o directivă PHP care restricționează modul în care funcționează unele funcții PHP încorporate. Problema principală aici este inconsistența. Când este pornit, modul PHP sigur poate împiedica multe funcții PHP legitime să funcționeze corect. În același timp, există o varietate de metode pentru a trece peste limitele modului sigur folosind funcțiile PHP care nu sunt restricționate, deci dacă un hacker a intrat deja - modul sigur nu este inutil.PHP safe_mode este activPage Not FoundPakistanPalauTeritoriul PalestinianPanamaPapua Noua GuineeParaguayAprobatCalea nu este permisă. Evitați căile precum "plugins" și "themes".Căi și OpțiuniSchimbă căile în fișierele cachePauză pentru 5 minuteLink-uri permanenteVersiune PHPPeruFilipinePitcairnVă rugăm să fiți conștient că, dacă nu consimțiți la stocarea datelor noastre în Cloud, vă rugăm să evitați activarea acestei funcții.Vă rugăm să vizitați %s pentru a verifica achiziția și pentru a obține token-ul de activate a licenței.Acțiunea de încărcare a plugin-uluiCalea spre PluginSecuritate PluginuriSetări PluginPluginurile care nu au fost actualizate în ultimele 12 luni pot avea probleme reale de securitate. Asigurați-vă că utilizați plugin-uri actualizate din Directory WordPress.Editorul de pluginuri / teme este dezactivatPoloniaPolonezăPortugaliaPortughezăSecuritate predefinităPreveniți deteriorarea aspectului site-uluiÎncărcare cu prioritateVă protejează magazinul WooCommerce împotriva atacurilor de autentificare prin Brute Force.Protejează site-ul dvs. web împotriva atacurilor de autentificare Brute Force folosind %s O amenințare comună cu care se confruntă dezvoltatorii web este un atac de ghicire a parolei cunoscut sub numele de atac Brute Force. Un atac Brute Force este o încercare de a descoperi o parolă prin încercarea sistematică a fiecărei combinații posibile de litere, numere și simboluri până când se descoperă singura combinație corectă care funcționează.Protejează site-ul dvs. împotriva atacurilor de conectare cu Brute Force.Protejează site-ul dvs. împotriva atacurilor de conectare cu Brute Force.Dovedește-ți umanitatea:Puerto RicoQatarReparare rapidăRDS este vizibilNumăr static aleatoriuReactivați utilizatorul pentru 1 ziRedirecționare După AutentificareRedirecționați căile ascunseRedirecționați Utilizatorii Conectați Către Panoul de ControlRedirecționează utilizatorii temporari către o pagină personalizată după autentificare.Redirecționați căile protejate /wp-admin, /wp-login către o pagină sau declanșați o eroare HTML.Redirecționați utilizatorul către o pagină personalizată după autentificare.RedirecționeazăEliminațiÎndepărtați versiunea PHP, informații despre server, semnătura serverului din antet.Eliminați autorii plugin-urilor și stilul din fișierul Sitemap XMLÎndepărtați anteturile nesigureÎndepărtați tag-ul de link pingback din antetul site-ului.Redenumiți fișierul readme.html sau activați %s %s > Schimbă Căile > Hide WordPress Common Files%sRedenumește fișierul readme.html sau pornește %s %s > Schimbă Căile > Ascunde fișierele comune WordPress %sReînnoieșteResetațiResetare setăriRezolvarea numelor de gazdă poate afecta viteza de încărcare a site-ului web.Restaurați backupRestaurați setărileReiați securitateaRevedereSecuritate RobotsRolRestaurați setărileReveniți la valorile inițiale pentru toate setările modulului.RomâniaLeiExecutați %s Test Frontend %s pentru a verifica dacă noile căi funcționează.Rulați %s Test Login %s și conectați-vă în fereastra pop-up.Rulați %s reCAPTCHA Test %s și conectați-vă în fereastra pop-up.Rulați o verificarea completăRusăFederația RusăRwandaSSL este o prescurtare folosită pentru Secure Sockets Layers, care sunt protocoale de criptare utilizate pe internet pentru securizarea schimbului de informații și furnizarea informațiilor despre certificat.

Aceste certificate oferă utilizatorului o asigurare despre identitatea site-ului web cu care comunică. SSL mai poate fi denumit protocol TLS sau Transport Layer Security.

Este important să aveți o conexiune sigură pentru tabloul de bord administrat în WordPress.Mod SafeMod sigurantă + Firewall + Forță brută + Jurnal evenimente + Autentificare în două pașiModul de siguranță + Firewall + Setări de compatibilitateModul Safe va seta aceste căi predefiniteURL de siguranță:Mod SafeSfântul BartolomeuSfânta ElenaSfântul Kitts și NevisSfânta LuciaSfântul MartinSfântul Pierre și MiquelonSfântul Vincent și GrenadineSare și chei de securitate valabileSamoaSan MarinoSao Tome si PrincipeArabia SaudităSalveazăSalvați log de depanareSalvează UtilizatorSalvatSalvat! Această sarcină va fi ignorată la testele viitoare.Salvat! Puteți rula testul din nou.Modul Debug ScriptCăutareCăutați în jurnalul de evenimente ale utilizatorului și gestionați alertele prin e-mailCheie secretăCheile secrete pentru%sGoogle reCAPTCHA%s.Securizați Căile WPVerificare de securitateCheile de securitate actualizateStatus SecuritateCheile de securitate sunt definite în wp-config.php ca constante pe linii. Acestea ar trebui să fie cât mai unice și cât mai lungi. AUTH_KEY,SECURE_AUTH_KEY,LOGGED_IN_KEY,NONCE_KEY,AUTH_SALT,SECURE_AUTH_SALT,LOGGED_IN_SALT,NONCE_SALTCheile de securitate sunt utilizate pentru a asigura o mai bună criptare a informațiilor stocate în cookie-urile și parolele hașurate ale utilizatorului.

Acestea fac ca site-ul dvs. să fie mai greu de piratat, accesat și spart prin adăugarea de elemente aleatorii la parolă. Nu trebuie să vă amintiți aceste chei. De fapt, după ce le setezi, nu le vei mai vedea niciodată. Prin urmare, nu există nicio scuză pentru a nu le seta corect.Vedeți acțiunile din ultimele zile pe acest website...Selectați presetareaRol UtilizatorSelectați o configurație predefinită de securitate pe care am testat-o pe majoritatea site-urilor web.Selectează tot.Selectează cât timp va fi disponibilă autentificarea temporară după prima accesare a utilizatorului.Selectați extensiile de fișiere pe care doriți să le ascundeți pe vechi căiSelectați fișierele pe care doriți să le ascundețiȚări selectateTrimite-mi un e-mail cu adresele modificate de admin și de conectareSenegalSerbiaSârbăTip serverSetează directorul personalizat pentru cacheSetați redirecționări de Login și Logout pe baza rolurilor de utilizator.Rol utilizator current.Setează site-ul pentru care dorești ca acest utilizator să fie creat.SetăriSeychellesNume scurt detectat: %s. Trebuie să utilizați căi unice cu mai mult de 4 caractere pentru a evita erorile WordPress.AfișeazăAfișați / %s în loc de / %sAfișați Opțiunile AvansateAfișați căile implicite și permiteți căile ascunseAfișați căile implicite și permiteți totulAfișează ecranul gol când Inspect Element este activ în browser.Afișați sarcinile finalizateAfișați sarcinile ignorateAfișați mesajul în loc de formularul de autentificareAfișează parolaSierra LeoneBrute Force Protection pentru Inregistrare UtilizatorChineză SimplificatăSimulați SMCSingaporeSint MaartenCheia site-uluiCheile site-ului pentru%sGoogle reCaptcha%s.SiteGroundSecuritatea SitemapȘase luniSlovacăSlovaciaSlovenăSloveniaSecuritate solidăInsulele SolomonSomaliaUnele module pot elimina regulile de rescriere personalizate din fișierul .htaccess, mai ales dacă acesta poate fi scris, ceea ce poate afecta funcționalitatea căilor personalizate.Unele teme nu funcționează cu căi de administrare personalizate și Ajax. În cazul erorilor de ajax, treceți înapoi la wp-admin și admin-ajax.php.Regret, nu aveți permisiunea de a accesa această pagină.Africa de SudInsulele Georgia de Sud și Insulele Sandwich de SudCoreea de SudSpaniaSpammerii se pot înscrie cu ușurințăSpaniolăSri LankaIncepe ScanareaSucuri SecuritySudanSuper AdminSurinamSvalbard și Jan MayenSwazilandSuediaSuedezăActivează %s %s > Schimbă Căile > Ascunde căile comune WordPress %s pentru a ascunde căile vechiActivați %s %s > Schimbă Căile > Dezactivați accesul XML-RPC %sActivați %s %s > Schimbă Căile > Ascundeți ID-ul autorului %sActivați %s %s > Schimbă Căile > Ascundeți ID-ul autorului %sActivați %s %s > Schimbă Căile > Hide WordPress Common Files%sActivați %s %s > Schimbă Căile > Ascunde wp-admin de la URL-ul ajax %s. Ascundeți orice referință la calea admin din plugin-urile instalate.Activați %s %s > Tweaks > %s %sActivați %s %s > Tweaks > Dezactivați scripturile WLW Manifest %sElvețiaRepublica Arabă SirianăSloganTaiwanTadjikistanTanzania, Republica Unită a TanzanieiAutentificare TemporarăAutentificare TemporarăTemporary LoginsTestează-ți Header-ul site-uluiMapare Text și URLMapare textMapare text în fișiere CSS și JS, inclusiv fișierele cache-uite.Modifică text-ul doar în clase, ID-uri, variabile JSThaiThailandaVă mulțumim că ați folosit %s!Secțiunea %s a fost mutată %s aici %sModul Ghost va adăuga reguli de rescriere în fișierul .htaccess pentru a ascunde vechile căi de hackeri.API-ul REST este crucial pentru multe module, deoarece le permite să interacționeze cu baza de date WordPress și să efectueze diverse acțiuni programatic.Modul Safe va adăuga reguli de rescriere în fișierul .htaccess pentru a ascunde vechile căi de hackeri.Adresa URL sigură va seta toate setările ca implicită. Folosiți-l doar dacă nu vă puteți conecta.Baza de date WordPress este ca un creier pentru întregul dvs. site WordPress, deoarece fiecare informație despre site-ul dvs. este stocată acolo, devenind astfel o țintă preferată a hackerilor.

Spammerii și hackerii rulează cod automat pentru injecții SQL.
Din păcate, mulți oameni uită să schimbe prefixul bazei de date atunci când instalează WordPress.
Acest lucru face mai ușor pentru hackeri să planifice un atac de masă, vizând prefixul implicit wp_ .Eticheta site-ului WordPress este o frază scurtă situată sub titlul site-ului, asemănătoare cu un subtitlu sau slogan publicitar. Scopul unei linii de etichete este de a transmite vizitatilor esența site-ului dvs.

Dacă nu schimbați marcajul implicit, va fi foarte ușor să detectați că site-ul dvs. web a fost de fapt creat cu WordPressConstanta ADMIN_COOKIE_PATH este definită în wp-config.php de un alt plugin. %s nu va funcționa decât dacă eliminați definiția liniei define('ADMIN_COOKIE_PATH', ...);.Lista de pluginuri și teme a fost actualizată cu succes!Cel mai comun mod de a sparge un site web este prin accesarea domeniului și adăugarea de interogări dăunătoare pentru a dezvălui informații din fișiere și baze de date.
Aceste atacuri sunt efectuate pe orice site web, fie că este WordPress sau nu, iar dacă un astfel de atac reușește... probabil va fi prea târziu să salvați site-ul.Editorul de fișiere cu plugin-uri și teme este un instrument foarte convenabil, deoarece vă permite să faceți modificări rapide, fără a fi nevoie să utilizați FTP.

Din păcate, este și o problemă de securitate, deoarece nu numai că afișează codul sursă PHP, ci permite și atacatorilor să injecteze cod rău intenționat pe site-ul dvs., dacă reușesc să obțină acces la administrator.Procesul a fost blocat de firewall-ul site-ului.URL-ul solicitat %s nu a fost găsit pe acest server.Parametrul de răspuns este incorect.Codul secret este invalid sau expirat.Parametrul secret lipsește.Cheile de securitate din wp-config.php ar trebui reînnoite cât mai des posibil.Calea pentru TemeSecuritatea TemeTemele sunt la ziA apărut o eroare critică pe site-ul dvs.A apărut o eroare critică pe site-ul dvs. Vă rugăm să verificați caseta de email a administratorului site-ului pentru instrucțiuni.Există o eroare de configurare în plugin. Vă rugăm să salvați din nou setările și să urmați instrucțiunile.Există o versiune mai nouă a WordPress ({version}).Nu există nici o Changelog disponibile.Nu există o țparolă fără importanțăț! Același lucru este valabil și pentru parola dvs. de bază de date WordPress.
Deși majoritatea serverelor sunt configurate astfel încât baza de date să nu poată fi accesată de la alte gazde (sau din afara rețelei locale), asta nu înseamnă că parola bazei dvs. de date ar trebui să fie „12345” sau deloc o parolă.Această caracteristică uimitoare nu este inclusă în modulul de bază. Dorești să o deblochezi? Pur și simplu instalează sau activează Pachetul Avansat și bucură-te de noile caracteristici de securitate.Aceasta este una dintre cele mai mari probleme de securitate pe care le puteți avea pe site-ul dvs.! Dacă compania dvs. de găzduire are această directivă activată în mod implicit, treceți imediat la o altă companie!Aceasta poate să nu funcționeze pe toate dispozitivele mobile noi.Această opțiune va adăuga reguli de rescriere în fișierul .htaccess în zona regulilor de rescriere WordPress între comentariile # BEGIN WordPress și # END WordPress.Acest lucru va împiedica afișarea căilor vechi atunci când o imagine sau font este apelat prin ajaxTrei zileTrei oreTimor-LestePentru a schimba căile în pluginuri de cache, trebuie să porniți %s Schimbă Căile în Cache Files%sPentru a ascunde biblioteca Avada, adăugați Avada FUSION_LIBRARY_URL în fișierul wp-config.php după linia $ table_prefix: %sPentru a îmbunătăți securitatea site-ului dvs., luați în considerare eliminarea autorilor și stilurilor care fac referire la WordPress din fișierul Sitemap XML.TogoTokelauTongaUrmăriți și înregistrați evenimentele de pe site-ul web și primiți alerte de securitate prin e-mail.Urmăriți și memorați evenimentele care se întâmplă pe site-ul dvs. WordPressChineză TradiționalăTrinidad și TobagoDepanareTunisiaTurciaTurcăTurkmenistanInsulele Turks și CaicosDezactivați plugin-urile de depanare dacă site-ul dvs. este live. De asemenea, puteți adăuga opțiunea de a ascunde global $wpdb; $wpdb->hide_errors(); în fișierul wp-config.phpTuvaluAlte SetariAutentificare în două pașiMapare URLUgandaUcrainaUcraineanăS-a detectat Ultimate Affiliate Pro. Modulul nu suportă căi personalizate pentru %s deoarece nu utilizează funcțiile WordPress pentru a apela URL-ul AjaxNu pot actualiza fișierul wp-config.php pentru a actualiza Prefixul Bazei de Date.InapoiEmiratele Arabe UniteRegatul UnitStatele UniteInsulele Minore Îndepărtate ale Statelor UniteStare Verificator actualizare neCunoscută "%s"Descuie totActualizați setările de pe %s pentru a reîmprospăta căile după modificarea căii API REST.ActualizatÎncărcați fișierul cu setările plugin-ului salvateCalea UploadsAcțiuni de securitate urgente necesareUruguayFolosiți Brute Force ProtectionFolosește Autentificare TemporarăFolosește scurtătura %s pentru a o integra cu alte formulare de conectare.UtilizatorUtilizator 'admin' sau 'administrator' ca AdministratorActiune UtilizatorUser Events LogRol UtilizatorSecuritate AutorUtilizatorul nu a putut fi activat.Utilizatorul nu a putut fi adăugatUtilizatorul nu a putut fi șters.Utilizatorul nu a putut fi dezactivat.Roluri de utilizator pentru care se dezactiveazăRoluri de utilizator pentru care se dezactiveazăRoluri de utilizator pentru care se dezactiveazăRoluri de utilizator pentru care se dezactiveazăRoluri de utilizator pentru care se dezactiveazăRoluri de utilizator pentru care se poate ascunde bara de instrumente de administrareUtilizatorul a fost activat cu succes.Utilizatorul a fost creat cu succes.Utilizatorul a fost șters cu succes.Utilizatorul a fost dezactivat cu succes.Utilizatorul a fost actualizat cu succes.Numele de utilizator (spre deosebire de parolele) nu sunt secrete. Cunoscând numele de utilizator al cuiva, nu vă puteți autentifica în contul său. De asemenea, aveți nevoie de parola.

Cu toate acestea, cunoscând numele de utilizator, sunteți cu un pas mai aproape de a vă autentifica folosind numele de utilizator pentru a forța parola brută sau pentru a obține acces într-un mod similar.

De aceea este recomandabil să păstrați lista de nume de utilizator private, cel puțin într-o oarecare măsură. În mod implicit, accesând siteurl.com/?author={id} și făcând o buclă de ID-uri de la 1 puteți obține o listă de nume de utilizator, deoarece WP vă va redirecționa către siteurl.com/author/user/ dacă ID-ul există în sistem .Utilizarea unei versiuni vechi de MySQL face ca site-ul dvs. să fie lent și predispus la atacuri de hackeri din cauza vulnerabilităților cunoscute care există în versiunile MySQL care nu mai sunt întreținute.

Aveți nevoie de Mysql 5.4 sau mai mareUtilizarea unei versiuni vechi de PHP face ca site-ul dvs. să fie lent și predispus la atacuri de hackeri din cauza vulnerabilităților cunoscute care există în versiunile de PHP care nu mai sunt întreținute.

Aveți nevoie de PHP 7.4 sau o versiune superioară pentru site-ul dvs.UzbekistanValabilValoareVanuatuVenezuelaVersiuni în Codul SursăVietnamAscundeți numele temelorVezi detaliiInsulele Virgine BritaniceInsulele Virgine, SUA.W3 Total CacheSecuritate WP CoreModul de depanare WPWP EngineWP Fastest CacheWP RocketWP Super CacheWP Super Cache CDN detectat. Vă rugăm să includeți %s și %s căi în WP Super Cache> CDN> Includere directoareWPBakery Page BuilderPlugin-uriWallis și FutunaNumele slab detectat: %s. Trebuie să utilizați un alt nume pentru a crește securitatea site-ului.WebsiteSahara de VestUnde să adăugăm regulile de firewall.Listă albăIP-uri cu lista albăOpțiuni de WhitelistLista Albă CăiWindows Live Writer este activWooCommerce Safe LoginSuport pentru WooCommerceWoocommerceWoocommerce Magic LinkParola bazei de date WordPressPermisiunile implicite ale WordPressVerificare Securitate WordPressVersiune WordPressWordPress XML-RPC este o specificație care își propune să standardizeze comunicațiile între diferite sisteme. Utilizează HTTP ca mecanism de transport și XML ca mecanism de codificare pentru a permite o gamă largă de date să fie transmise.

Cele două mari active ale API sunt extensibilitatea și securitatea sa. XML-RPC se autentifică folosind autentificarea de bază. Acesta trimite numele de utilizator și parola cu fiecare cerere, care este un număr mare în cercurile de securitate.WordPress și plugin-urile și temele sale sunt ca orice alt software instalat pe computer și ca orice altă aplicație de pe dispozitivele tale. Periodic, dezvoltatorii eliberează actualizări care furnizează noi funcții sau rezolvă erori cunoscute.

Funcțiile noi pot fi ceva ce nu doriți neapărat. De fapt, este posibil să fiți perfect satisfăcut de funcționalitatea pe care o aveți în prezent. Cu toate acestea, este posibil să fiți încă preocupat de erori.

Bug-urile software pot avea mai multe forme și dimensiuni. Un bug ar putea fi foarte grav, cum ar fi împiedicarea utilizatorilor de a utiliza un plugin sau ar putea fi un bug minor care afectează doar o anumită parte a unei teme, de exemplu. În unele cazuri, bug-urile pot provoca chiar găuri de securitate grave.

Menținerea temelor la zi este una dintre cele mai importante și mai simple modalități de a vă proteja site-ul.WordPress și plugin-urile și temele sale sunt ca orice alt software instalat pe computer și ca orice altă aplicație de pe dispozitivele tale. Periodic, dezvoltatorii eliberează actualizări care furnizează noi funcții sau rezolvă erorile cunoscute.

Aceste funcții noi pot să nu fie neapărat ceva pe care îl doriți. De fapt, este posibil să fiți perfect satisfăcut de funcționalitatea pe care o aveți în prezent. Cu toate acestea, sunteți încă preocupat de erori.

Bug-urile software pot avea mai multe forme și dimensiuni. Un bug ar putea fi foarte grav, cum ar fi împiedicarea utilizatorilor de a utiliza un plugin sau poate fi minor și poate afecta doar o anumită parte a unei teme, de exemplu. În unele cazuri, bug-urile pot provoca grave găuri de securitate.

Menținerea plugin-urilor la zi este una dintre cele mai importante și mai simple modalități de a vă proteja site-ul.WordPress este bine-cunoscut pentru ușurința sa de instalare.
Este important să ascundeți fișierele wp-admin/install.php și wp-admin/upgrade.php, deoarece au existat deja câteva probleme de securitate cu privire la aceste fișiere.WordPress, plugin-urile și temele adaugă informațiile versiunii lor la codul sursă, astfel încât oricine să-l poată vedea.

Hackerii pot găsi cu ușurință un site web cu plugin-uri sau teme pentru versiuni vulnerabile și le pot viza cu Exploit-uri Zero-Day.Wordfence SecurityWpEngine detectat. Adăugați redirectările în panoul de reguli WpEngine Redirect, %s.Protecție împotriva Nume de Utilizator Greșit.Securitate XML-RPCDezactivează accesul XML-RPCYemenDaDa, funcționeazăAți definit deja un alt director wp-content/uploads în wp-config.php %sPoți interzice o singură adresă IP, cum ar fi 192.168.0.1, sau un interval de 245 de adrese IP, cum ar fi 192.168.0.*. Aceste adrese IP nu vor putea accesa pagina de autentificare.Puteți crea o pagină nouă și reveni pentru a alege să redirecționați către pagina respectivă.Puteți genera %s chei necunoscute de aici %s AUTH_KEY,SECURE_AUTH_KEY,LOGGED_IN_KEY,NONCE_KEY,AUTH_SALT,SECURE_AUTH_SALT,LOGGED_IN_SALT,NONCE_SALTPoți acum dezactiva opțiunea '%s'.Puteți seta să primiți e-mail cu alerte pentru una sau mai multe acțiuni.Puteți adăuga pe listă un singur IP, cum ar fi 192.168.0.1 sau un interval de 245 de IP-uri, cum ar fi 192.168.0.*. Găsiți-vă IP-ul cu %sNu puteți seta atât ADMIN, cât și LOGIN cu același nume. Vă rugăm să folosiți diferite numeNu aveți permisiunea de a accesa %s pe acest server.Trebuie să activați rescrierea URL-ului pentru IIS pentru a putea modifica structura de legături permanente în URL prietenoasă (fără index.php). %sMai multe detalii %sTrebuie să setați un număr pozitiv de încercări.Trebuie să setați un timp de așteptare pozitiv.Trebuie să setați structura de legături permanente pe o adresă URL prietenoasă (fără index.php).Ar trebui să actualizați WordPress întotdeauna la versiunile %slatest %s. Acestea includ de obicei cele mai recente corecții de securitate și nu modifică WP-ul într-un mod semnificativ. Acestea ar trebui aplicate imediat ce WP le eliberează.

Când o nouă versiune a WordPress este disponibilă, veți primi un mesaj de actualizare pe ecranele dvs. de administrare WordPress. Pentru a actualiza WordPress, faceți clic pe linkul din acest mesaj.Ar trebui să vă verificați site-ul web în fiecare săptămână pentru a vedea dacă există modificări de securitate.Licența dvs. %s %s a expirat pe %s%s. Pentru a menține securitatea site-ului dvs. web la zi, vă rugăm să vă asigurați că aveți un abonament valabil pe %saccount.hidemywpghost.com%sIP-ul dvs. a fost marcat pentru eventuale încălcări de securitate. Încercați din nou peste puțin timp ...URL-ul dvs. de admin nu poate fi modificat în %s hosting din cauza condițiilor de securitate %s.Adresa URL a administratorului dvs. este modificată de un alt plugin / temă din %s. Pentru a activa această opțiune, dezactivați administratorul personalizat în celălalt plugin sau dezactivați-l.Adresa URL de conectare este modificată de un alt plugin / temă din %s. Pentru a activa această opțiune, dezactivați datele de conectare personalizate din celălalt plugin sau dezactivați-le.URL-ul de autentificare este: %sURL-ul dvs. de conectare va fi: %s În cazul în care nu vă puteți re-autentifica, utilizați adresa URL sigură: %sNoua ta parolă nu a fost salvată.Noile URL-uri ale site-ului suntSecuritatea site-ului dvs. %sis extrem de slab %s. %sMe multe uși de hacking sunt disponibile.Securitatea site-ului dvs. %sis foarte slab %s. %sMe multe uși de hacking sunt disponibile.Securitatea site-ului dvs. web este puternică. %s Vă rugăm să verificați securitatea în fiecare săptămână.Securitatea site-ului dvs. web este încă slabă. %s dintre unele dintre principalele uși de hacking sunt încă disponibile.Securitatea site-ului dvs. web este puternică. %s Vă rugăm să verificați securitatea în fiecare săptămână.ZambiaZimbabweactivați funcțiadupă primul accesdeja activinchisimplicitdisplay_errors Directiva PHPde exemplu *.colocrossing.comde exemplu /cart/De exemplu, /cart/ va include pe lista albă toate căile care încep cu /cart/de exemplu /checkout/De exemplu, /post-type/ va bloca toate căile care încep cu /post-type/e.g. acapbotde exemplu, alexibotde ex. badsite.comde exemplu, gigabotde exemplu, kanagawa.comde exemplu xanax.comex.eg. /logout saude exemplu. adm, backde exemplu. ajax, jsonde exemplu. aspect, șabloane, stiluride exemplu. comentarii, dicussionde exemplu. nucleu, inc, includede exemplu. disable_url, safe_urlde exemplu. imagini, filesde exemplu. json, api, callde exemplu. lib, libraryde exemplu. login sau signinde exemplu. logout sau disconnectde exemplu. lostpass sau forgotpassde exemplu. main.css, theme.css, design.cssde exemplu. modulede exemplu. multisite activation linkde exemplu. newuser sau registerde exemplu. profil, usr, scriitorde laajutorhttps://hidemywp.comignore alertaFișierele install.php și upgrade.php sunt accesibiledeschisloglogsdetaliinu se recomandădoar %d caracteresauNeconcordanțăMediePuterea parolei este necunoscutăPuternicăFoarte slabăSlabăTestare reCAPTCHATestare reCAPTCHA V2Testare reCAPTCHA V3reCaptcha LanguagereCaptcha TemaFișierul readme.html este accesibilrecomandatredirecționarevezi funcțiaconfigureaza featureO nouă versiune a plugin-ului %s este disponibilă.Imposibil de determinat dacă actualizările sunt disponibile pentru %s.Toate plugin-urile %s sunt la zi.catreprea simpluFișierele wp-config.php și wp-config-sample.php sunt accesibilelanguages/hide-my-wp-ru_RU.mo000064400000620431147600042240012066 0ustar003)LSooeo pp pe:p%ppppPqhqXqTr>qr>rMr2=s)psBsEs#t tMtDuau eu ou}uu uu u uuePv)v v v v8w?xFxOxxyy0yJy%_yCyTyGz;fz5zLz%{{{L{"|<)|/f|%|||'|}7-}$e}R}!}}5~SQ~~~~,~':/7j3    . @XL+ р߀  $ ;'HpGdSrfjقD  4;8B { MW _k A ܅ %=E M ZePnΆֆކ T \ ftŇԇ6 Q] p|! ƈԈۈ (@]t ~ (I0zL~Fˊ7@S ϋ֋Y GRds Ō4%Q-w(J΍"6<ksdߎQDIUq6M 10;bCF5)_ekFm_Rgx/e@ ` l`xٕݕ  "#9,]ray_nٗpH' ej[^ƙ%B%HanК7ٚ  Y( 1ڛ. ;G[45؜&A͝ʞҞ۞(:Mg|(П %8Lc{@Р371ipv   šСء%@?*  Ǣ!Ӣ +#Fnj٣ "'Jb( ɤ/8!Jl$c $9[^%Ѧ)&!ZHP.O#0s/5Ԩ, 7}"v%/=mv)@F,;Hh87"( 7 AKT]DcF \ h n z ȮPׯ+ݯ ̰1԰ =N](sձuIDzвײ ̳޳bkU ʶֶ޶N 5CJ ft} nt{!ӹ% ?EV6;&M/}  ˻  t"Uc_Q^gexU޾d4f2m3)  =* * 5 ?7`;WUCO Fe'+   %/8 ?MTZ\w! KTYk${1"&)P?c2E]t 1%=Wl%""7AQyF(; P)^.5M;S&k:3UVWSTHWGfgk7  K  +5 =gI Yv!UIF8y`rxMqF8=8=~5Z6 ^M7^-RO-Q}PR s ]Bzhzf )2;B ^io4x    ( 4AH PZlt3#"9\{##7= JR+Z C *4 D N Ye@{=>%96_v  (2BQb{    .9_KR[dio!)$A@@( 6  );C JU\|7. - 8 CM gtY|   n H  + 1;AINQc~   . 5?Q9e#;Z go x R= JRcs| 2"1:@V]nw6~)  '0D  1B )GAXk88?x  "65Ul+ >->l1Yz9&+3=qy>12&>FY` + <5 -r )          +  E f         1 " 1 C 5J  %       -b @ R8O.6  $1?q5 g>C['q&<"% H Vc{   #   '6FN|/c ,   ' -9B Ycj?r954">W| 64 kw  /7<,t,aV`RHGu8]U4 !2A!/t!-! !J! >"J"Z"0p"k"h #<v# #B#%%.a&&Y)' ' ' 'T'u'uq((((F(7A)y)))))) )))*** *** **\o++++ +$,"(, K,LV,,., , ,--+-<@-}-0- -- - --..7.-S.,.+.1.- /,:/g/////c/U2:3 +464<4B4 J4T4l4 t4 44444 4 44 5 5i55 55W566 &6 G6 Q6_6q6666 6667#7<7N7:9>Q<?m@NAMaAAAAAAAP B\BKB6C!CCCt7DQD:D9E.E(EL!FnFRGDHaHODII$JJHJ%K9KPPKKK^KZLLILLLMM%M4M9MAM^M vM8MM>M N N%N 6NCNUNdNhN wNNNNNNNO"O3OGO`O${O OOOOOPP P.'PVP\P`P ePrP PPPP+PP Q(Q?QNQ`QrQQQ Q Q QQ=QE(R-nRR R9RRUVWWGWAX?X,)YVY"sYYOZh[%\}E\}\A]k]Y=^^ _ _8``a7[bEbbbcc4cIc[cscndiemee eeggAg@!i4bi_i6i+.jTZjjUk}llhm|mn$ o1oBo<on#ppq9q]qU0r<rr=Dss:lt5tqtOu)v!Gvivdzv{vu[ww{x)x3'y)[y y<yy!y) zJz_zn{v{{!{{N{ $|/|0B|s|G|+|)}*}}*c~@~#;#/S bo~ j΂9L [f%$Ji(G^>w'Wކ 6CRmQ`q  . Ԉ߈|+-‰#.?C'4S>4s.>1p5&ь  11Kc!эP9>"x/ˎ܎Џ tKpՑF͒* ,#9 ]j&):!d?Ɣ͔#ޔ'YD1CЕ,9An{HU3-XFsTל.*6[j{|yc|ݟZ cn|(x("sKt:TI0M~!ѧ-9UT8#F)c yGM ;?FARV!0>(<AQgZJVlIc:7I04 <%Fb846SN@J4.6c@xۼ=T;7ν:7A8y1m4R*Yx #!$4=XrMJ9#.]n'  C3)L8vNxw6G9T~$UTzd%4!Z,|o^@x)hL@Urw'j[iSX5lJYkFpb#3TBTJ cU/D?XpxkBGM k uU3 )=g  !,@!mIZX4 K9IhY})WLhWKzap =(Y0q 4B`o!  ,O9!'# )cC  *C3V)D':gMo%48%#<)`6 +7%zE5`F) 8 C P[9x ` &F9i{AfQ WI M` N .  , 9 L a p          s k+*J<u oF2[g9+~e>B#6f#` "0L.e(C35F.f.,$K<b9%#-#*Q]|BA;_Nvqad08i,Ed[B,3B`a= jG!f!f"`"1"v#r#[#Y$ t%N%%%%&&&& &&l'o'''K())za**,-./h0 1|1) 2735>]99#:T;:< ======->>__?M? @@qABB9C1CCCDD)DAE3E GGH HH HI I%I IIIII/ J9J LJWJjhJJ J JKKSKRrKKK$K&L @LMLbL3tLLSpMwMFZRmRcSkSMS\@TT_UxU3U+U4UI*V6tV=VV=V#;W_WsW2WAWW XX3,Xd`XvY^kQ^&^^^O _Z_i_x__9__K_$3` X`e`bv``]araaaaaa|bPbb bcccc c ccd)-dWdde+e1e DeOe^ege,ne<e&ee'fAf!Zf|f%ffzh:h4hii*,i"Wiozjjk)Kl)ull3llmmmmmno0npp 8q#Cqgq qqq$qq#qhrx$xx x-x y&yBySykdyyPy+>z!jzzzzz z{&r||)|#|G}9I~ ~~~~;~M )[p=e4e34 JUm4|B58*zcޅF<;y9҉#Ҋ#S+w/Ӌ' #c7zd8aII'X GՑfM WqÓ! --J[ #Ŕ! .+MyuM*P {:4 o)6%G5_g+.)X-ӞhSܟu NF~ݡ\o~Y)j@`գO64@NGץ. '<d2 .'ATez)# ٧V=OgK˪J;N%` ǫ%֫ a.^oc_cí'3 d=8?-m0Oڰ;*'fsnq28²ȴN4`Hx6ZXQM:;r!Y4)_-HGvN k x& 5@+ '  !2)K u  7- 28-!RAN#^F^?mFqfg@4(!]1IB?>C~^w!tmu|p?c5599Ic~h})!9?,y$  + >=)U$"") 3+?,k53m I{K"xPc &  i+'sBBPI[?DfaM z  9/ 5<2B? '(-V ly%#h]nz ;\{$!: >H4'4"+<2hN42RQqE7 A FS5h7  &C6R &"IdSw.:_5 !   B YV~" W{7]meBAmHnW9}02e3^B+v+k-tNY`0)uRz&?1(*f%X!$ #> 1/ qH& fBL bzVa*gMe, 'b$=" mTarxiDHqD&TgNu>"wzU#w%-Z-]%<dR9 k1^ALl\p2H-SFo+w5|dkQauW2K]A57:nR},|~)=I7^:W\I 8y oKD .}E !.</nM.z:YN6WR$58|Og,0;' |ZJ*@r3,4eyOsPJQui!R vS~MLGcV;cJhov QXE\M c: 2-+F4 Gsd%(SjIZs> P?atuj|Jxwi{[Y1*4@y.Dp7 5(<?8)lAt,XO2 9-i5v0GPSe{=t^~_[@$_%h*"#~/l^04; xCfl!9 ,(" 6E <Y6 U0>{*F vP]oZJXB_lgE'_!qd@p%p&kT(I\=Q1&[C 9Um#mjx3"sG:N'}yI)bnd`Uf+)h.'ctL3&C=j+rr]@n8Zc oK#;4EOQhKhKFV `}CM# `2DLjCS[ kV{6br?b3w!s_/\/1)N[<i/Ty?8z'XF;UH>.AxaP7qgTGB`p6  (O$qf3$ #1 Hack Prevention Security Solution: Hide WP CMS, 7G/8G Firewall, Brute Force Protection, 2FA, GEO Security, Temporary Logins, Alerts & more.%1$s is deprecated since version %2$s! Use %3$s instead. Please consider writing more inclusive code.%d %s ago%d %s remaining%s days since last update%s does not work without mode_rewrite. Please activate the rewrite module in Apache. %sMore details%s%s don't have the correct permission.%s is visible in source code%s path is accessible%s plugin(s) are outdated: %s%s plugin(s) have NOT been updated by their developers in the past 12 months: %s%s protects your website from most SQL injections but, if possible, use a custom prefix for database tables to avoid SQL injections. %sRead more%s%s rules are not saved in the config file and this may affect the website loading speed.%s theme(s) are outdated: %s%sClick here%s to create or view keys for Google reCAPTCHA v2.%sClick here%s to create or view keys for Google reCAPTCHA v3.%sERROR:%s Email or Password is incorrect. %s %d attempts left before lockout%sHide the login path%s from theme menu or widget.%sIncorrect ReCaptcha%s. Please try again%sNOTE:%s If you didn't receive the credentials, please access %s.%sYou failed to correctly answer the math problem.%s Please try again(* the plugin has no extra cost, gets installed / activated automatically inside WP when you click the button, and uses the same account)(multiple options are available)(useful when the theme is adding wrong admin redirects or infinite redirects)(works only with the custom admin-ajax path to avoid infinite loops)2FA2FA Login403 Forbidden403 HTML Error404 HTML Error404 Not Found404 page7G Firewall8G FirewallA feature designed to stops attacks from different countries, and to put an end to harmful activity that comes from specific regions.A thorough set of rules can prevent many types of SQL Injection and URL hacks from being interpreted.A user already exists with that username.API SecurityAPI SettingsAWS BitnamiAccording to %sGoogle latest stats%s, over %s 30k websites are hacked every day %s and %s over 30% of them are made in WordPress %s. %s It's better to prevent an attack than to spend a lot of money and time to recover your data after an attack not to mention the situation when your clients' data are stolen.ActionActivateActivate 'Must Use Plugin Loading' from 'Plugin Loading Hook' to be able to connect to your dashboard directly from managewp.com. %s click here %sActivate Brute Force ProtectionActivate Events LogActivate Log Users EventsActivate Temporary LoginsActivate Your PluginActivate info and logs for debugging.Activate the "Brute Force" option to see the user IP blocked reportActivate the "Log Users Events" option to see the user activity log for this websiteActivate the Brute Force protection for Woocommerce login/signup forms.Activate the Brute Force protection on lost password forms.Activate the Brute Force protection on sign up forms.Activate the firewall and prevent many types of SQL Injection and URL hacks.Activate the firewall and select the firewall strength that works for your website %s %s > Change Paths > Firewall & Headers %sActivation HelpAddAdd IP addresses that should always be blocked from accessing this website.Add Content-Security-Policy headerAdd Headers Security against XSS and Code Injection Attacks.Add IP addresses that can pass plugin security.Add IPs that can pass plugin securityAdd New Temporary LoginAdd New Temporary Login UserAdd Rewrites in WordPress Rules SectionAdd Security HeaderAdd Security Headers for XSS and Code Injection AttacksAdd Strict-Transport-Security headerAdd Two Factor security on login page with Code Scan or Email Code authentication.Add X-Content-Type-Options headerAdd X-XSS-Protection headerAdd a list of URLs you want to replace with new ones.Add a random static number to prevent frontend caching while the user is logged in.Add another CDN URLAdd another URLAdd another textAdd common WordPress classes in text mappingAdd paths that can pass plugin securityAdd paths that will be blocked for the selected countries.Add redirects for the logged users based on user roles.Add the CDN URLs you're using in the cache plugin. Admin PathAdmin SecurityAdmin ToolbarAdmin URLAdmin UsernameAdvancedAdvanced PackAdvanced SettingsAfghanistanAfter adding the classes, verify the frontend to ensure that your theme is not affected.After, click %sSave%s to apply the changes.Ajax SecurityAjax URLAland IslandsAlbaniaAlert Emails SentAlgeriaAll ActionsAll In One WP SecurityAll WebsitesAll files have the correct permissions.All plugins are compatibleAll plugins are up to dateAll plugins have been updated by their developers in the past 12 monthsAll the logs are saved on Cloud for 30 days and the report is available if your website is attacked.Allow Hidden PathsAllow users to log in to WooCommerce account using their email address and a unique login URL delivered via email.Allow users to log in to the website using their email address and a unique login URL delivered via email.Allowing anyone to view all files in the Uploads folder with a browser will allow them to easily download all your uploaded files. It's a security and a copyright issue.American SamoaAndorraAngolaAnguillaAntarcticaAntigua and BarbudaApacheArabicAre you sure you want to ignore this task in the future?ArgentinaArmeniaArubaAttention! Some URLs passed through the config file rules and were loaded through WordPress rewrite which may slow down your website. %s Please follow this tutorial to fix the issue: %sAustraliaAustriaAuthor PathAuthor URL by ID accessAuto DetectAutodetectAutomatically redirect the logged in users to the admin dashboardAutoptimizerAzerbaijanBackend under SSLBackup SettingsBackup/RestoreBackup/Restore SettingsBahamasBahrainBan durationBangladeshBarbadosBe sure to include only internal URLs, and use relative paths whenever possible.Beaver BuilderBelarusBelgiumBelizeBeninBermudaBest regardsBhutanBitnami detected. %sPlease read how to make the plugin compatible with AWS hosting%sBlacklistBlacklist IPsBlank Screen On DebuggingBlock CountriesBlock HostnamesBlock IP on login pageBlock ReferrerBlock Specific PathsBlock Theme Detectors CrawlersBlock User AgentsBlock known Users-Agents from popular Theme Detectors.Blocked IPsBlocked IPs ReportBlocked by BoliviaBonaire, Saint Eustatius and SabaBosnia and HerzegovinaBotswanaBouvet IslandBrazilBritish EnglishBritish Indian Ocean TerritoryBrunei DarussalamBrute ForceBrute Force IPs BlockedBrute Force Login ProtectionBrute Force ProtectionBrute Force SettingsBulgariaBulgarianBulletProof plugin! Make sure you save the settings in %s after activating Root Folder BulletProof Mode in BulletProof plugin.Burkina FasoBurundiBy activating, you agree to our %s Terms of Use %s and %sPrivacy Policy%sCDNCDN Enabled detected. Please include %s and %s paths in CDN Enabler SettingsCDN Enabler detected! Learn how to configure it with %s %sClick here%sCDN URLsCONNECTION ERROR! Make sure your website can access: %sCache CSS, JS and Images to increase the frontend loading speed.Cache EnablerCambodiaCameroonCan't download the plugin.CanadaCanadian FrenchCancelCancel the login hooks from other plugins and themes to prevent unwanted login redirects.Cape VerdeCatalan ValencianCayman IslandsCentral African RepublicChadChangeChange OptionsChange PathsChange Paths NowChange Paths for Logged UsersChange Paths in Ajax CallsChange Paths in Cached FilesChange Paths in RSS feedChange Paths in Sitemaps XMLChange Relative URLs to Absolute URLsChange WordPress paths while you're logged inChange paths in RSS feed for all images.Change paths in Sitemap XML files and remove the plugin author and styles.Change the Tagline in %s > %s > %sChange the WordPress common paths in the cached files.Change the signup path from %s %s > Change Paths > Custom Register URL%s or uncheck the option %s > %s > %sChange the text in all CSS and JS files, including those in cached files generated by cache plugins.Change the user 'admin' or 'administrator' with another name to improve security.Change the wp-config.php file permission to Read-Only using File Manager.Change the wp-content, wp-includes and other common paths with %s %s > Change Paths%sChange the wp-login from %s %s > Change Paths > Custom login URL%s and Switch on %s %s > Brute Force Protection%sChanging the predefined security headers may affect the website funtionality.Check Frontend PathsCheck Your WebsiteCheck for updatesCheck if the website paths are working correctly.Check if your website is secured with the current settings.Check the %s RSS feed %s and make sure the image paths are changed.Check the %s Sitemap XML %s and make sure the image paths are changed.Check the website loading speed with %sPingdom Tool%sChileChinaChoose a proper database password, at least 8 characters long with a combination of letters, numbers and special characters. After you change it, set the new password in the wp-config.php file define('DB_PASSWORD', 'NEW_DB_PASSWORD_GOES_HERE');Choose the countries where access to the website should be restricted.Choose the type of server you are using to get the most suitable configuration for your server.Chose what to do when accessing from whitelist IP addresses and whitelisted paths.Christmas IslandClean Login PageClick %sContinue%s to set the predefined paths.Click Backup and the download will start automatically. You can use the Backup for all your websites.Click to run the process to change the paths in the cache files.Close ErrorCloud PanelCloud Panel detected. %sPlease read how to make the plugin compatible with Cloud Panel hosting%sCntCocos (Keeling) IslandsColombiaComments PathComorosCompatibilityCompatibility SettingsCompatibility with Manage WP pluginCompatibility with Token Based Login pluginsCompatible with All In One WP Security plugin. Use them together for Virus Scan, Firewall, Brute Force protection.Compatible with JCH Optimize Cache plugin. Works with all the options to optimize for CSS and JS.Compatible with Solid Security plugin. Use them together for Site Scanner, File Change Detection, Brute Force Protection.Compatible with Sucuri Security plugin. Use them together for Virus Scan, Firewall, File Integrity Monitoring.Compatible with Wordfence Security plugin. Use them together for Malware Scan, Firewall, Brute Force protection.Compatible with all themes and plugins.Complete FixConfigConfig file is not writable. Create the file if not exists or copy to %s file the following lines: %sConfig file is not writable. Create the file if not exists or copy to %s file with the following lines: %sConfig file is not writable. You have to added it manually at the beginning of the %s file: %sConfirm use of weak passwordCongoCongo, The Democratic Republic of theCongratulations! You completed all the security tasks. Make sure you check your site once a week.ContinueConvert links like /wp-content/* into %s/wp-content/*.Cook IslandsCopy LinkCopy the %s SAFE URL %s and use it to deactivate all the custom paths if you can't login.Core Contents PathCore Includes PathCosta RicaCote dIvoireCould not detect the userCould not fix it. You need to change it manually.Could not found anything based on your search.Could not login with this user.Could not rename table %1$s. You may have to rename the table manually.Could not update prefix references in options table.Could not update prefix references in usermeta table.Country BlockingCreateCreate New Temporary LoginCreate a temporary login URL with any user role to access the website dashboard without username and password for a limited period of time.Create a temporary login URL with any user role to access the website dashboard without username and password for a limited period of time. %s This is useful when you need to give admin access to a developer for support or for performing routine tasks.CroatiaCroatianCubaCuracaoCustom Activation PathCustom Admin PathCustom Cache DirectoryCustom Login PathCustom Logout PathCustom Lost Password PathCustom Register PathCustom Safe URL ParamCustom admin-ajax PathCustom author PathCustom comment PathCustom message to show to blocked users.Custom plugins PathCustom theme style nameCustom themes PathCustom uploads PathCustom wp-content PathCustom wp-includes PathCustom wp-json PathCustomize & Secure all WordPress paths from hacker bots attacks.Customize Plugin NamesCustomize Theme NamesCustomize the CSS and JS URLs in your website body.Customize the IDs and Class names in your website body.CyprusCzechCzech RepublicDB Debug ModeDanishDashboardDatabase PrefixDateDeactivatedDebug ModeDefaultDefault Redirect After LoginDefault Temporary Expire TimeDefault User RoleDefault WordPress TaglineDefault user role for which the temporary login will be created.Delete Temporary Users on Plugin UninstallDelete userDenmarkDetailsDirectoriesDisable "rest_route" param accessDisable Click MessageDisable CopyDisable Copy/PasteDisable Copy/Paste MessageDisable Copy/Paste for Logged UsersDisable DISALLOW_FILE_EDIT for live websites in wp-config.php define('DISALLOW_FILE_EDIT', true);Disable Directory BrowsingDisable Drag/Drop ImagesDisable Drag/Drop MessageDisable Drag/Drop for Logged UsersDisable Inspect ElementDisable Inspect Element MessageDisable Inspect Element for Logged UsersDisable OptionsDisable PasteDisable REST API accessDisable REST API access for not logged in usersDisable REST API access using the parameter 'rest_route'Disable RSD Endpoint from XML-RPCDisable Right-ClickDisable Right-Click for Logged UsersDisable SCRIPT_DEBUG for live websites in wp-config.php define('SCRIPT_DEBUG', false);Disable View SourceDisable View Source MessageDisable View Source for Logged UsersDisable WP_DEBUG for live websites in wp-config.php define('WP_DEBUG', false);Disable XML-RPC accessDisable copy function on your websiteDisable image drag & drop on your websiteDisable paste function on your websiteDisable the RSD (Really Simple Discovery) support for XML-RPC & remove RSD tag from headerDisable the access to /xmlrpc.php to prevent %sBrute force attacks via XML-RPC%sDisable the copy/paste action on your website.Disable the external calls to xml-rpc.php file and prevent Brute Force attacks.Disable the inspect element view on your websiteDisable the right-click action on your website.Disable the right-click functionality on your websiteDisable the source-code view on your websiteDisplaying any kind of debug info in the frontend is extremely bad. If any PHP errors happen on your site they should be logged in a safe place and not displayed to visitors or potential attackers.DjiboutiDo Login & Logout RedirectsDo not log out from this browser until you are confident that the Log in page is working and you will be able to login again.Do not logout from your account until you are confident that reCAPTCHA is working and you will be able to login again.Do you want to delete temporary user?Do you want to restore the last saved settings?DominicaDominican RepublicDon't forget to reload the Nginx service.Don't let URLs like domain.com?author=1 show the user login nameDon't let hackers see any directory content. See %sUploads Directory%sDon't load Emoji Icons if you don't use themDon't load WLW if you didn't configure Windows Live Writer for your siteDon't load oEmbed service if you don't use oEmbed videosDon't select any role if you want to log all user rolesDone!Download DebugDrupal 10Drupal 11Drupal 8Drupal 9DutchERROR! Please make sure you use a valid token to activate the pluginERROR! Please make sure you use the right token to activate the pluginEcuadorEdit UserEdit userEdit wp-config.php and add ini_set('display_errors', 0); at the end of the fileEgyptEl SalvadorElementorEmailEmail AddressEmail NotificationEmail address already existsEmail your hosting company and tell them you'd like to switch to a newer version of MySQL or move your site to a better hosting companyEmail your hosting company and tell them you'd like to switch to a newer version of PHP or move your site to a better hosting company.EmptyEmpty ReCaptcha. Please complete reCaptcha.Empty email addressEnabling this option may slow down the website, as CSS and JS files will load dynamically instead of through rewrites, allowing the text within them to be modified as needed.EnglishEnter the 32 chars token from Order/Licence on %sEquatorial GuineaEritreaError! No backup to restore.Error! The backup is not valid.Error! The new paths are not loading correctly. Clear all cache and try again.Error! The preset could not be restored.Error: You entered the same URL twice in the URL Mapping. We removed the duplicates to prevent any redirect errors.Error: You entered the same text twice in the Text Mapping. We removed the duplicates to prevent any redirect errors.EstoniaEthiopiaEuropeEven if the default paths are protected by %s after customization, we recommend setting the correct permissions for all directories and files on your website, use File Manager or FTP to check and change the permissions. %sRead more%sEvents LogEvents Log ReportEvents Log SettingsEvery good developer should turn on debugging before getting started on a new plugin or theme. In fact, the WordPress Codex 'highly recommends' that developers use SCRIPT_DEBUG. Unfortunately, many developers forget the debug mode even when the website is live. Showing debug logs in the frontend will let hackers know a lot about your WordPress website.Every good developer should turn on debugging before getting started on a new plugin or theme. In fact, the WordPress Codex 'highly recommends' that developers use WP_DEBUG.

Unfortunately, many developers forget the debug mode, even when the website is live. Showing debug logs in the frontend will let hackers know a lot about your WordPress website.Example:Expire TimeExpiredExpiresExposing the PHP version will make the job of attacking your site much easier.Fail AttemptsFailedFalkland Islands (Malvinas)Faroe IslandsFeaturesFeed & SitemapFeed SecurityFijiFile PermissionsFile permissions in WordPress play a critical role in website security. Properly configuring these permissions ensures that unauthorized users cannot gain access to sensitive files and data.
Incorrect permissions can inadvertently open your website to attacks, making it vulnerable.
As a WordPress administrator, understanding and correctly setting file permissions are essential for safeguarding your site against potential threats.FilesFilterFinlandFirewallFirewall & HeadersFirewall Against Script InjectionFirewall LocationFirewall StrengthFirewall against injections is loadedFirst NameFirst, you need to activate the %sSafe Mode%s or %sGhost Mode%sFirst, you need to activate the %sSafe Mode%s or %sGhost Mode%s in %sFix PermissionsFix itFix permission for all directories and files (~ 1 min)Fix permission for the main directories and files (~ 5 sec)FlywheelFlywheel detected. Add the redirects in the Flywheel Redirect rules panel %s.Folder %s is browsableForbiddenFranceFrenchFrench GuianaFrench PolynesiaFrench Southern TerritoriesFrom: %s <%s>Front pageFrontend Login TestFrontend TestFully compatible with Autoptimizer cache plugin. Works best with the the option Optimize/Aggregate CSS and JS files.Fully compatible with Beaver Builder plugin. Works best together with a cache plugin.Fully compatible with Cache Enabler plugin. Works best with the the option Minify CSS and JS files.Fully compatible with Elementor Website Builder plugin. Works best together with a cache pluginFully compatible with Fusion Builder plugin by Avada. Works best together with a cache plugin.Fully compatible with Hummingbird cache plugin. Works best with the the option Minify CSS and JS files.Fully compatible with LiteSpeed Cache plugin. Works best with the the option Minify CSS and JS files.Fully compatible with Oxygen Builder plugin. Works best together with a cache plugin.Fully compatible with W3 Total Cache plugin. Works best with the the option Minify CSS and JS files.Fully compatible with WP Fastest Cache plugin. Works best with the the option Minify CSS and JS files.Fully compatible with WP Super Cache cache plugin.Fully compatible with WP-Rocket cache plugin. Works best with the the option Minify/Combine CSS and JS files.Fully compatible with Woocommerce plugin.Fusion BuilderGabonGambiaGeneralGeo SecurityGeographic Security is a feature designed to stops attacks from different countries, and to put an end to harmful activity that comes from specific regions.GeorgiaGermanGermanyGhanaGhost ModeGhost Mode + Firewall + Brute Force + Events Log + Two factorGhost Mode will set these predefined pathsGhost modeGibraltarGive random names to each pluginGive random names to each theme (works in WP multisite)Global class name detected: %s. Read this article first: %sGo to Events Log PanelGo to the Dashboard > Appearance section and update all the themes to the last version.Go to the Dashboard > Plugins section and update all the plugins to the last version.GodaddyGodaddy detected! To avoid CSS errors, make sure you switch off the CDN from %sGoodGoogle reCAPTCHA V2Google reCAPTCHA V3Google reCaptcha V3 is not working with the current login form of %s .Great! The backup is restored.Great! The initial values are restored.Great! The new paths are loading correctly.Great! The preset was loaded.GreeceGreekGreenlandGrenadaGuadeloupeGuamGuatemalaGuernseyGuineaGuinea-BissauGuyanaHaitiHaving the admin URL visible in the source code it's awful because hackers will immediately know your secret admin path and start a Brute Force attack. The custom admin path should not appear in the ajax URL.

Find solutions for %s how to hide the path from source code %s.Having the login URL visible in the source code is awful because hackers will immediately know your secret login path and start a Brute Force attack.

The custom login path should be kept secret, and you should have Brute Force Protection activated for it.

Find solutions for %s hiding the login path from source code here %s.Having this PHP directive enabled will leave your site exposed to cross-site attacks (XSS).

There's absolutely no valid reason to enable this directive, and using any PHP code that requires it is very risky.Header SecurityHeaders & FirewallHeard Island and McDonald IslandsHebrewHelp & FAQsHere is the list of select counties where your website will be restricted..HideHide "login" PathHide "wp-admin"Hide "wp-admin" From Non-Admin UsersHide "wp-login.php"Hide /login path from visitors.Hide /wp-admin path from non-administrator users.Hide /wp-admin path from visitors.Hide /wp-login.php path from visitors.Hide Admin ToolbarHide Admin Toolbar for users roles to prevent dashboard access.Hide All The PluginsHide Author ID URLHide Common FilesHide Embed scriptsHide EmojiconsHide Feed & Sitemap Link TagsHide File ExtensionsHide HTML CommentsHide IDs from META TagsHide Language SwitcherHide My WP GhostHide OptionsHide Paths in Robots.txtHide Plugin NamesHide REST API URL linkHide Theme NamesHide Version from Images, CSS and JS in WordPressHide Versions from Images, CSS and JSHide WLW Manifest scriptsHide WP Common FilesHide WP Common PathsHide WordPress Common FilesHide WordPress Common PathsHide WordPress DNS Prefetch META TagsHide WordPress Generator META TagsHide WordPress Old Plugins PathHide WordPress Old Themes PathHide WordPress common paths from %s Robots.txt %s file.Hide WordPress paths such as wp-admin, wp-content, and more from robots.txt file.Hide all versions from the end of any Image, CSS and JavaScript files.Hide both active and deactivated pluginsHide completed tasksHide passwordHide the /feed and /sitemap.xml link TagsHide the DNS Prefetch that points to WordPressHide the HTML Comments left by the themes and pluginsHide the IDs from all <links>, <style>, <scripts> META TagsHide the New Admin PathHide the New Login PathHide the WordPress Generator META tagsHide the admin toolbar for logged users while in frontend.Hide the language switcher option on the login pageHide the new admin path from visitors. Show the new admin path only for logged users.Hide the new login path from visitors. Show the new login path only for direct access.Hide the old /wp-content, /wp-include paths once they are changed with the new onesHide the old /wp-content, /wp-include paths once they are changed with the new ones.Hide the old /wp-content/plugins path once it's changed with the new oneHide the old /wp-content/themes path once it's changed with the new oneHide wp-admin from Ajax URLHide wp-config.php , wp-config-sample.php, readme.html, license.txt, upgrade.php and install.php filesHide wp-config.php, wp-config-sample.php, readme.html, license.txt, upgrade.php and install.php files..Hide wp-json & ?rest_route link tag from website headerHiding the ID from meta tags in WordPress can potentially impact the caching process of plugins that rely on identifying the meta tags.HindiHoly See (Vatican City State)HondurasHong KongHostnameHow long the temporary login will be available after the user first access.HummingbirdHungarianHungaryIIS WindowsIIS detected. You need to update your %s file by adding the following lines after <rules> tag: %sIPIP BlockedIcelandIf the reCAPTCHA displays any error, please make sure you fix them before moving forward.If the rewrite rules are not loading correctly in the config file, do not load the plugin and do not change the paths.If you are connected with the admin user, you will have to re-login after the change.If you can't configure %s, switch to Deactivated Mode and %scontact us%s.If you can't configure reCAPTCHA, switch to Math reCaptcha protection.If you do not have an e-commerce, membership or guest posting website, you shouldn't let users subscribe to your blog. You will end up with spam registrations and your website will be filled with spammy content and comments.If you have access to php.ini file, set allow_url_include = off or contact the hosting company to set it offIf you have access to php.ini file, set expose_php = off or contact the hosting company to set it offIf you have access to php.ini file, set register_globals = off or contact the hosting company to set it offIf you have access to php.ini file, set safe_mode = off or contact the hosting company to set it offIf you notice any functionality issue please select the %sSafe Mode%s.If you're able to log in, you've set the new paths correctly.If you're able to login, you've set reCAPTCHA correctly.If you're not using Windows Live Writer there's really no valid reason to have its link in the page header, because this tells the whole world you're using WordPress.If you're not using any Really Simple Discovery services such as pingbacks, there's no need to advertise that endpoint (link) in the header. Please note that for most sites this is not a security issue because they "want to be discovered", but if you want to hide the fact that you're using WP, this is the way to go.If your site allows user logins, you need your login page to be easy to find for your users. You also need to do other things to protect against malicious login attempts.

However, obscurity is a valid security layer when used as part of a comprehensive security strategy, and if you want to cut down on the number of malicious login attempts. Making your login page difficult to find is one way to do that.Ignore security taskImmediately block incorrect usernames on login forms.In .htaccess fileIn the old days, the default WordPress admin username was 'admin' or 'administrator'. Since usernames make up half of the login credentials, this made it easier for hackers to launch brute-force attacks.

Thankfully, WordPress has since changed this and now requires you to select a custom username at the time of installing WordPress.Indeed Ultimate Membership Pro detected. The plugin doesn't support custom %s paths as it doesn't use WordPress functions to call the Ajax URLIndiaIndonesiaIndonesianInfoInmotionInmotion detected. %sPlease read how to make the plugin compatible with Inmotion Nginx Cache%sInstall/ActivateIntegration with other CDN plugins and custom CDN URLs.Invalid ReCaptcha. Please complete reCaptcha.Invalid email addressInvalid name detected: %s. Add only the final path name to avoid WordPress errors.Invalid name detected: %s. The name can't end with / to avoid WordPress errors.Invalid name detected: %s. The name can't start with / to avoid WordPress errors.Invalid name detected: %s. The paths can't end with . to avoid WordPress errors.Invalid name detected: %s. You need to use another name to avoid WordPress errors.Invalid username.Iran, Islamic Republic ofIraqIrelandIsle of ManIsraelIt's important to %s save your settings every time you change them %s. You can use the backup to configure other websites you own.It's important to hide or remove the readme.html file because it contains WP version details.It's important to hide the common WordPress paths to prevent attacks on vulnerable plugins and themes.
Also, it's important to hide the names of plugins and themes to make it impossible for bots to detect them.It's important to rename common WordPress paths, such as wp-content and wp-includes to prevent hackers from knowing that you have a WordPress website.It's not safe to have Database Debug turned on. Make sure you don't use Database debug on live websites.ItalianItalyJCH Optimize CacheJamaicaJananeseJapanJavascript is disabled on your browser! You need to activate the javascript in order to use %s plugin.JerseyJoomla 3Joomla 4Joomla 5JordanJust another WordPress siteKazakhstanKenyaKiribatiKnow what the other users are doing on your website.KoreanKosovoKuwaitKyrgyzstanLanguageLao Peoples Democratic RepublicLast 30 days Security StatsLast AccessLast NameLast check:Late LoadingLatviaLatvianLearn HowLearn How To Add the CodeLearn how to disable %sDirectory Browsing%s or switch on %s %s > Change Paths > Disable Directory Browsing%sLearn how to set your website as %s. %sClick Here%sLearn how to setup on Local & NginxLearn how to setup on Nginx serverLearn how to use the shortcodeLearn more aboutLearn more about %s 7G firewall %s.Learn more about %s 8G firewall %s.Leave it blank if you don't want to display any messageLeave it blank to block all paths for the selected countries.LebanonLesothoLet's take your security to the next level!Level of SecurityLevels of securityLiberiaLibyan Arab JamahiriyaLicence TokenLiechtensteinLimit the number of allowed login attempts using normal login form.LiteSpeedLiteSpeed CacheLithuaniaLithuanianLoad PresetLoad Security PresetsLoad after all plugins are loaded. On "template_redirects" hook.Load before all plugins are loaded. On "plugins_loaded" hook.Load custom language is WordPress local language is installed.Load the plugin as a Must Use plugin.Load when the plugins are initialized. On "init" hook.Local & NGINX detected. In case you didn't add the code in the NGINX config already, please add the following line. %sLocal by FlywheelLocationLock userLockout MessageLog User RolesLog Users EventsLogin & Logout RedirectsLogin Blocked by Login PathLogin Redirect URLLogin SecurityLogin TestLogin URLLogout Redirect URLLost Password Form ProtectionLuxembourgMacaoMadagascarMagic Link LoginMake sure the redirect URLs exist on your website. %sThe User Role redirect URL has higher priority than the Default redirect URL.Make sure you know what you do when changing the headers.Make sure you save the settings and empty the cache before checking your website with our tool.MalawiMalaysiaMaldivesMaliMaltaManage Brute Force ProtectionManage Login and Logout RedirectsManage whitelist & blacklist IP addressesManually block/unblock IP addresses.Manually customize each plugin name and overwrite the random nameManually customize each theme name and overwrite the random nameManually whitelist trusted IP addresses.MappingMarshall IslandsMartiniqueMath & Google reCaptcha verification while logging in.Math reCAPTCHAMauritaniaMauritiusMax fail attemptsMayotteMediumMembershipMexicoMicronesia, Federated States ofMinimalMinimal (No Config Rewrites)Moldova, Republic ofMonacoMongoliaMonitor everything that happens on your WordPress site!Monitor, track and log events on your website.MontenegroMontserratMore HelpMore information about %sMore optionsMoroccoMost WordPress installations are hosted on the popular Apache, Nginx and IIS web servers.MozambiqueMust Use Plugin LoadingMy AccountMyanmarMysql VersionNGINX detected. In case you didn't add the code in the NGINX config already, please add the following line. %sNameNamibiaNauruNepalNetherlandsNew CaledoniaNew Login DataNew Plugin/Theme detected! Update %s settings to hide it. %sClick here%sNew ZealandNext StepsNginxNicaraguaNigerNigeriaNiueNoNo CMS SimulationNo Recent Updates ReleasedNo blacklisted ipsNo log found.No temporary logins.No, abortNo. of secondsNorfolk IslandNormal LoadingNormally, the option to block visitors from browsing server directories is activated by the host through server configuration, and activating it twice in the config file may cause errors, so it's best to first check if the %sUploads Directory%s is visible.North KoreaNorth Macedonia, Republic ofNorthern Mariana IslandsNorwayNorwegianNot yet logged inNote that this option won't activate the CDN for your website, but it will update the custom paths if you've already set a CDN URL with another plugin.Note! %sPaths are NOT physically change%s on your server.Note! The plugin will use WP cron to change the paths in background once the cache files are created.Note: If you can`t login to your site, just access this URLNotification SettingsOkay, I set it upOmanOn website initializationOnce you bought the plugin, you will receive the %s credentials for your account by email.One DayOne HourOne MonthOne WeekOne YearOne of the most important files in your WordPress installation is the wp-config.php file.
This file is located in the root directory of your WordPress installation and contains your website's base configuration details, such as database connection information.Only change this option if the plugin fails to identify the server type correctly.Optimize CSS and JS filesOption to inform user about remaining attempts on login page.OptionsOutdated PluginsOutdated ThemesOverviewOxygenPHP VersionPHP allow_url_include is onPHP expose_php is onPHP register_globals is onPHP safe mode was one of the attempts to solve security problems of shared web hosting servers.

It is still being used by some web hosting providers, however, nowadays this is regarded as improper. A systematic approach proves that it’s architecturally incorrect to try solving complex security issues at the PHP level, rather than at the web server and OS levels.

Technically, safe mode is a PHP directive that restricts the way some built-in PHP functions operate. The main problem here is inconsistency. When turned on, PHP safe mode may prevent many legitimate PHP functions from working correctly. At the same time there exists a variety of methods to override safe mode limitations using PHP functions that aren’t restricted, so if a hacker has already got in – safe mode is useless.PHP safe_mode is onPage Not FoundPakistanPalauPalestinian TerritoryPanamaPapua New GuineaParaguayPassedPath not allowed. Avoid paths like plugins and themes.Paths & OptionsPaths changed in the existing cache filesPause for 5 minutesPermalinksPersianPeruPhilippinesPitcairnPlease be aware that if you do not consent to storing data on our Cloud, we kindly request that you refrain from activating this feature.Please visit %s to check your purchase and to get the license token.Plugin Loading HookPlugins PathPlugins SecurityPlugins SettingsPlugins that have not been updated in the last 12 months can have real security problems. Make sure you use updated plugins from WordPress Directory.Plugins/Themes editor disabledPolandPolishPortugalPortuguesePreset SecurityPrevent Broken Website LayoutPriority LoadingProtects your WooCommerce shop against brute force login attacks.Protects your website against Brute Force login attacks using %s A common threat web developers face is a password-guessing attack known as a Brute Force attack. A Brute Force attack is an attempt to discover a password by systematically trying every possible combination of letters, numbers, and symbols until you discover the one correct combination that works.Protects your website against Brute Force login attacks.Protects your website against brute force login attacks.Prove your humanity:Puerto RicoQatarQuick FixRDS is visibleRandom Static NumberReactivate user for 1 dayRedirect After LoginRedirect Hidden PathsRedirect Logged Users To DashboardRedirect temporary users to a custom page after login.Redirect the protected paths /wp-admin, /wp-login to a Page or trigger an HTML Error.Redirect user to a custom page after login.RedirectsRemoveRemove PHP version, Server info, Server Signature from header.Remove Plugins Authors & Style in Sitemap XMLRemove Unsafe HeadersRemove pingback link tag from the website header.Rename readme.html file or switch on %s %s > Change Paths > Hide WordPress Common Files%sRename wp-admin/install.php & wp-admin/upgrade.php files or switch on %s %s > Change Paths > Hide WordPress Common Paths%sRenewResetReset SettingsResolving hostnames may affect the website loading speed.Restore BackupRestore SettingsResume SecurityReunionRobots SecurityRoleRollback SettingsRollback all the plugin settings to initial values.RomaniaRomanianRun %s Frontend Test %s to check if the new paths are working.Run %s Login Test %s and log in inside the popup.Run %sreCAPTCHA Test%s and login inside the popup.Run Full Security CheckRussianRussian FederationRwandaSSL is an abbreviation used for Secure Sockets Layers, which are encryption protocols used on the internet to secure information exchange and provide certificate information.

These certificates provide an assurance to the user about the identity of the website they are communicating with. SSL may also be called TLS or Transport Layer Security protocol.

It's important to have a secure connection for the Admin Dashboard in WordPress.Safe ModeSafe Mode + Firewall + Brute Force + Events Log + Two factorSafe Mode + Firewall + Compatibility SettingsSafe Mode will set these predefined pathsSafe URL:Safe modeSaint BartelemeySaint HelenaSaint Kitts and NevisSaint LuciaSaint MartinSaint Pierre and MiquelonSaint Vincent and the GrenadinesSalts and Security Keys validSamoaSan MarinoSao Tome and PrincipeSaudi ArabiaSaveSave Debug LogSave UserSavedSaved! This task will be ignored on future tests.Saved! You can run the test again.Script Debug ModeSearchSearch in user events log and manage the email alertsSecret KeySecret keys for %sGoogle reCAPTCHA%s.Secure WP PathsSecurity CheckSecurity Keys UpdatedSecurity StatusSecurity keys are defined in wp-config.php as constants on lines. They should be as unique and as long as possible. AUTH_KEY,SECURE_AUTH_KEY,LOGGED_IN_KEY,NONCE_KEY,AUTH_SALT,SECURE_AUTH_SALT,LOGGED_IN_SALT,NONCE_SALTSecurity keys are used to ensure better encryption of information stored in the user's cookies and hashed passwords.

These make your site more difficult to hack, access and crack by adding random elements to the password. You don't have to remember these keys. In fact, once you set them you'll never see them again. Therefore, there's no excuse for not setting them properly.See the last days actions on this website ...Select PresetSelect User RolesSelect a preset security settings we've tested on most websites.Select allSelect how long the temporary login will be available after the first user access.Select the file extensions you want to hide on old pathsSelect the files you want to hide on old pathsSelected CountriesSend me an email with the changed admin and login URLsSenegalSerbiaSerbianServer TypeSet Custom Cache DirectorySet Login & Logout Redirects based on User Roles.Set the current user role.Set the website you want this user to be created for.SettingsSeychellesShort name detected: %s. You need to use unique paths with more than 4 chars to avoid WordPress errors.ShowShow /%s instead of /%sShow Advanced OptionsShow Default Paths & Allow Hidden PathsShow Defaults Paths & Allow EverythingShow blank screen when Inspect Element is active on browser.Show completed tasksShow ignored tasksShow message instead of login formShow passwordSierra LeoneSign Up Form ProtectionSimplified ChineseSimulate CMSSingaporeSint MaartenSite keySite keys for %sGoogle reCaptcha%s.SiteGroundSitemap SecuritySix MonthsSlovakSlovakiaSloveneSloveniaSolid SecuritySolomon IslandsSomaliaSome plugins may remove custom rewrite rules from the .htaccess file, especially if it's writable, which can affect the functionality of custom paths..Some themes don't work with custom Admin and Ajax paths. In case of ajax errors, switch back to wp-admin and admin-ajax.php.Sorry, you are not allowed to access this page.South AfricaSouth Georgia and the South Sandwich IslandsSouth KoreaSpainSpammers can easily signupSpanishSri LankaStart ScanSucuri SecuritySudanSuper AdminSurinameSvalbard and Jan MayenSwazilandSwedenSwedishSwitch on %s %s > Change Paths > Hide WordPress Common Paths%sSwitch on %s %s > Change Paths > Disable XML-RPC access%sSwitch on %s %s > Change Paths > Hide Author ID URL%sSwitch on %s %s > Change Paths > Hide RSD Endpoint%sSwitch on %s %s > Change Paths > Hide WordPress Common Files%sSwitch on %s %s > Change Paths > Hide wp-admin from ajax URL%s. Hide any reference to admin path from the installed plugins.Switch on %s %s > Tweaks > %s %sSwitch on %s %s > Tweaks > Hide WLW Manifest scripts%sSwitzerlandSyrian Arab RepublicTaglineTaiwanTajikistanTanzania, United Republic ofTemporary LoginTemporary Login SettingsTemporary LoginsTest your website headers withText & URL MappingText MappingText Mapping in CSS and JS files including cached filesText Mapping only Classes, IDs, JS variablesThaiThailandThank you for using %s!The %s section has been relocated %s here %sThe Ghost Mode will add the rewrites rules in the config file to hide the old paths from hackers.The REST API is crucial for many plugins as it allows them to interact with the WordPress database and perform various actions programmatically.The Safe Mode will add the rewrites rules in the config file to hide the old paths from hackers.The Safe URL will deactivate all the custom paths. Use it only if you can't login.The WordPress database is like a brain for your entire WordPress site, because every single bit of information about your site is stored there, thus making it a hacker’s favorite target.

Spammers and hackers run automated code for SQL injections.
Unfortunately, many people forget to change the database prefix when they install WordPress.
This makes it easier for hackers to plan a mass attack by targeting the default prefix wp_.The WordPress site tagline is a short phrase located under the site title, similar to a subtitle or advertising slogan. The goal of a tagline is to convey the essence of your site to visitors.

If you don't change the default tagline it will be very easy to detect that your website was actually built with WordPressThe constant ADMIN_COOKIE_PATH is defined in wp-config.php by another plugin. You can't change %s unless you remove the line define('ADMIN_COOKIE_PATH', ...);.The list of plugins and themes was updated with success!The most common way to hack a website is by accessing the domain and adding harmful queries in order to reveal information from files and database.
These attacks are made on any website, WordPress or not, and if a call succeeds … it will probably be too late to save the website.The plugins and themes file editor is a very convenient tool because it enables you to make quick changes without the need to use FTP.

Unfortunately, it's also a security issue because it not only shows the PHP source code, it also enables attackers to inject malicious code into your site if they manage to gain access to admin.The process was blocked by the website’s firewall.The requested URL %s was not found on this server.The response parameter is invalid or malformed.The secret parameter is invalid or malformed.The secret parameter is missing.The security keys in wp-config.php should be renewed as often as possible.Themes PathThemes SecurityThemes are up to dateThere has been a critical error on your website.There has been a critical error on your website. Please check your site admin email inbox for instructions.There is a configuration error in the plugin. Please Save the settings again and follow the instruction.There is a newer version of WordPress available ({version}).There is no changelog available.There is no such thing as an "unimportant password"! The same goes for your WordPress database password.
Although most servers are configured so that the database can't be accessed from other hosts (or from outside the local network), that doesn't mean your database password should be "12345" or no password at all.This amazing feature isn't included in the basic plugin. Want to unlock it? Simply install or activate the Advanced Pack and enjoy the new security features.This is one of the biggest security issues you can have on your site! If your hosting company has this directive enabled by default, switch to another company immediately!This may not work with all new mobile devices.This option will add rewrite rules to the .htaccess file in the WordPress rewrite rules area between the comments # BEGIN WordPress and # END WordPress.This will prevent from showing the old paths when an image or font is called through ajaxThree DaysThree HoursTimor-LesteTo change the paths in the cached files, switch on %s Change Paths in Cached Files%sTo hide the Avada library, please add the Avada FUSION_LIBRARY_URL in wp-config.php file after $table_prefix line: %sTo improve your website's security, consider removing authors and styles that point to WordPress in your sitemap XML.TogoTokelauTongaTrack and Log the website events and receive security alerts by email.Track and log events that happen on your WordPress siteTraditional ChineseTrinidad and TobagoTroubleshootingTunisiaTurkeyTurkishTurkmenistanTurks and Caicos IslandsTurn off the debug plugins if your website is live. You can also add the option to hide the DB errors global $wpdb; $wpdb->hide_errors(); in wp-config.php fileTuvaluTweaksTwo-factor authenticationURL MappingUgandaUkraineUkrainianUltimate Affiliate Pro detected. The plugin doesn't support custom %s paths as it doesn't use WordPress functions to call the Ajax URLUnable to update the wp-config.php file in order to update the Database Prefix.UndoUnited Arab EmiratesUnited KingdomUnited StatesUnited States Minor Outlying IslandsUnknown update checker status "%s"Unlock allUpdate the settings on %s to refresh the paths after changing REST API path.UpdatedUpload the file with the saved plugin settingsUploads PathUrgent Security Actions RequiredUruguayUse Brute Force ProtectionUse Temporary LoginsUse the %s shortcode to integrate it with other login forms.UserUser 'admin' or 'administrator' as AdministratorUser ActionUser Events LogUser RoleUser SecurityUser could not be activated.User could not be addedUser could not be deleted.User could not be disabled.User roles for who to disable the Right-ClickUser roles for who to disable the copy/pasteUser roles for who to disable the drag/dropUser roles for who to disable the inspect elementUser roles for who to disable the view sourceUser roles for who to hide the admin toolbarUser successfully activated.User successfully created.User successfully deleted.User successfully disabled.User successfully updated.Usernames (unlike passwords) are not secret. By knowing someone's username, you can't log in to their account. You also need the password.

However, by knowing the username, you are one step closer to logging in using the username to brute-force the password, or to gain access in a similar way.

That's why it's advisable to keep the list of usernames private, at least to some degree. By default, by accessing siteurl.com/?author={id} and looping through IDs from 1 you can get a list of usernames, because WP will redirect you to siteurl.com/author/user/ if the ID exists in the system.Using an old version of MySQL makes your site slow and prone to hacker attacks due to known vulnerabilities that exist in versions of MySQL that are no longer maintained.

You need Mysql 5.4 or higherUsing an old version of PHP makes your site slow and prone to hacker attacks due to known vulnerabilities that exist in versions of PHP that are no longer maintained.

You need PHP 7.4 or higher for your website.UzbekistanValidValueVanuatuVenezuelaVersions in Source CodeVietnamVietnameseView detailsVirgin Islands, BritishVirgin Islands, U.S.W3 Total CacheWP Core SecurityWP Debug ModeWP EngineWP Fastest CacheWP RocketWP Super CacheWP Super Cache CDN detected. Please include %s and %s paths in WP Super Cache > CDN > Include directoriesWPBakery Page BuilderWPPluginsWallis and FutunaWeak name detected: %s. You need to use another name to increase your website security.WebsiteWestern SaharaWhere to add the firewall rules.WhitelistWhitelist IPsWhitelist OptionsWhitelist PathsWindows Live Writer is onWooCommerce Safe LoginWooCommerce SupportWoocommerceWoocommerce Magic LinkWordPress Database PasswordWordPress Default PermissionsWordPress Security CheckWordPress VersionWordPress XML-RPC is a specification that aims to standardize communications between different systems. It uses HTTP as the transport mechanism and XML as encoding mechanism to enable a wide range of data to be transmitted.

The two biggest assets of the API are its extendibility and its security. XML-RPC authenticates using basic authentication. It sends the username and password with each request, which is a big no-no in security circles.WordPress and its plugins and themes are like any other software installed on your computer, and like any other application on your devices. Periodically developers release updates which provide new features or fix known bugs.

New features may be something that you do not necessarily want. In fact, you may be perfectly satisfied with the functionality you currently have. Nevertheless, you may still be concerned about bugs.

Software bugs can come in many shapes and sizes. A bug could be very serious, such as preventing users from using a plugin, or it could be a minor bug that only affects a certain part of a theme, for example. In some cases, bugs can even cause serious security holes.

Keeping themes up to date is one of the most important and easiest ways to keep your site secure.WordPress and its plugins and themes are like any other software installed on your computer, and like any other application on your devices. Periodically, developers release updates which provide new features, or fix known bugs.

These new features may not necessarily be something that you want. In fact, you may be perfectly satisfied with the functionality you currently have. Nevertheless, you are still likely to be concerned about bugs.

Software bugs can come in many shapes and sizes. A bug could be very serious, such as preventing users from using a plugin, or it could be minor and only affect a certain part of a theme, for example. In some cases, bugs can cause serious security holes.

Keeping plugins up to date is one of the most important and easiest ways to keep your site secure.WordPress is well-known for its ease of installation.
It's important to hide the wp-admin/install.php and wp-admin/upgrade.php files because there have already been a couple of security issues regarding these files.WordPress, plugins and themes add their version info to the source code, so anyone can see it.

Hackers can easily find a website with vulnerable version plugins or themes, and target these with Zero-Day Exploits.Wordfence SecurityWpEngine detected. Add the redirects in the WpEngine Redirect rules panel %s.Wrong Username ProtectionXML-RPC SecurityXML-RPC access is onYemenYesYes, it's workingYou already defined a different wp-content/uploads directory in wp-config.php %sYou can ban a single IP address like 192.168.0.1 or a range of 245 IPs like 192.168.0.*. These IPs will not be able to access the login page.You can create a new page and come back to choose to redirect to that page.You can generate %snew Keys from here%s AUTH_KEY,SECURE_AUTH_KEY,LOGGED_IN_KEY,NONCE_KEY,AUTH_SALT,SECURE_AUTH_SALT,LOGGED_IN_SALT,NONCE_SALTYou can now turn off '%s' option.You can set to receive security alert emails and prevent data loss.You can white-list a single IP address like 192.168.0.1 or a range of 245 IPs like 192.168.0.*. Find your IP with %sYou can't set both ADMIN and LOGIN with the same name. Please use different namesYou don't have the permission to access %s on this server.You need to activate the URL Rewrite for IIS to be able to change the permalink structure to friendly URL (without index.php). %sMore details%sYou need to set a positive number of attempts.You need to set a positive waiting time.You need to set the permalink structure to friendly URL (without index.php).You should always update WordPress to the %slatest versions%s. These usually include the latest security fixes, and don't alter WP in any significant way. These should be applied as soon as WP releases them.

When a new version of WordPress is available, you will receive an update message on your WordPress Admin screens. To update WordPress, click the link in this message.You should check your website every week to see if there are any security changes.Your %s %s license expired on %s %s. To keep your website security up to date please make sure you have a valid subscription on %saccount.hidemywpghost.com%sYour IP has been flagged for potential security violations. Please try again in a little while...Your admin URL can't be changed on %s hosting because of the %s security terms.Your admin URL is changed by another plugin/theme in %s. To activate this option, disable the custom admin in the other plugin or deativate it.Your login URL is changed by another plugin/theme in %s. To activate this option, disable the custom login in the other plugin or deativate it.Your login URL is: %sYour login URL will be: %s In case you can't login, use the safe URL: %sYour new password has not been saved.Your new site URLs areYour website security %sis extremely weak%s. %sMany hacking doors are available.Your website security %sis very weak%s. %sMany hacking doors are available.Your website security is getting better. %sJust make sure you complete all the security tasks.Your website security is still weak. %sSome of the main hacking doors are still available.Your website security is strong. %sKeep checking the security every week.ZambiaZimbabweactivate featureafter first accessalready activedarkdefaultdisplay_errors PHP directivee.g. *.colocrossing.come.g. /cart/e.g. /cart/ will whitelist all path starting with /cart/e.g. /checkout/e.g. /post-type/ will block all path starting with /post-type/e.g. acapbote.g. alexibote.g. badsite.come.g. gigabote.g. kanagawa.come.g. xanax.comeg.eg. /logout oreg. adm, backeg. ajax, jsoneg. aspect, templates, styleseg. comments, discussioneg. core, inc, includeeg. disable_url, safe_urleg. images, fileseg. json, api, calleg. lib, libraryeg. login or signineg. logout or disconnecteg. lostpass or forgotpasseg. main.css, theme.css, design.csseg. moduleseg. multisite activation linkeg. newuser or registereg. profile, usr, writerfromhelphttps://hidemywp.comignore alertinstall.php & upgrade.php files are accessiblelightloglogsmore detailsnot recommendedonly %d charsorpassword mismatchMismatchpassword strengthMediumpassword strengthPassword strength unknownpassword strengthStrongpassword strengthVery weakpassword strengthWeakreCAPTCHA TestreCAPTCHA V2 TestreCAPTCHA V3 TestreCaptcha LanguagereCaptcha Themereadme.html file is accessiblerecommendedredirectssee featurestart feature setupthe plugin titleA new version of the %s plugin is available.the plugin titleCould not determine if updates are available for %s.the plugin titleThe %s plugin is up to date.totoo simplewp-config.php & wp-config-sample.php files are accessibleProject-Id-Version: Hide My WP Ghost PO-Revision-Date: 2024-10-10 20:12+0300 Last-Translator: gpt-po v1.0.11 Language-Team: Language: ru_RU MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : 2); X-Generator: Poedit 3.5 X-Poedit-Basepath: .. X-Poedit-Flags-xgettext: --add-comments=translators: X-Poedit-WPHeader: index.php X-Poedit-SourceCharset: UTF-8 X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;_nx_noop:3c,1,2;__ngettext_noop:1,2 X-Poedit-SearchPath-0: . X-Poedit-SearchPathExcluded-0: *.min.js #1 Решение по безопасности от взлома: Скрытие WP CMS, Брандмауэр 7G/8G, Защита от грубой силы, 2FA, Гео-безопасность, Временные входы, Оповещения и многое другое.%1$s устарело с версии %2$s! Вместо этого используйте %3$s. Пожалуйста, обратите внимание на написание более инклюзивного кода.%d %s назадОсталось %d %s%s дней с момента последнего обновления%s не работает без mode_rewrite. Пожалуйста, активируйте модуль перезаписи в Apache. %sБолее подробно%s%s не имеют правильного разрешения.%s видимо в исходном коде%s путь доступен%s Плагин устарел: %s%s плагин(ов) НЕ были обновлены разработчиками за последние 12 месяцев: %s%s защищает ваш веб-сайт от большинства SQL-инъекций, но, если возможно, используйте пользовательский префикс для названий таблиц базы данных, чтобы избежать SQL-инъекций. %sЧитать далее%s.Правила %s не сохранены в конфигурационном файле, что может повлиять на скорость загрузки веб-сайта.%s Тема (ы) устарела: %s%sНажмите здесь%s, чтобы создать или просмотреть ключи для Google reCAPTCHA v2.%sНажмите здесь%s, чтобы создать или просмотреть ключи для Google reCAPTCHA v3.%sОшибка:%s электронная почта или пароль неверны. %s %d попыток перед блокировкой%sСкрыть путь для входа%s из тематического меню или виджета.%sНеверный ReCaptcha%s. Пожалуйста, попробуйте еще раз.%sПРИМЕЧАНИЕ:%s Если вы не получили учетные данные, пожалуйста, зайдите на %s.%sНе удалось правильно ответить на математическую задачу.%s Повторите попытку(* плагин не имеет дополнительной стоимости, устанавливается / активируется автоматически внутри WP при нажатии кнопки и использует тот же аккаунт)(доступно несколько вариантов)(полезно, когда тема - добавление неправильных перенаправлений администратора или бесконечных перенаправлений)(работает только с пользовательским путем admin-ajax для избежания бесконечных циклов)Двухфакторная аутентификацияВход с двухфакторной аутентификацией403 ЗапрещеноОшибка 403 HTMLОшибка 404 HTML404 Не найденоСтраница 4047G Фаервол8G БрандмауэрФункция, разработанная для предотвращения атак из разных стран и прекращения вредной деятельности, исходящей из определенных регионов.Полный набор правил может предотвратить множество типов SQL-инъекций и взломов URL.Пользователь с таким именем пользователя уже существует.Безопасность APIПараметры APIAWS BitnamiСогласно %s последним данным Google %s, более %s 30 тыс. сайтов взламывают каждый день %s, и %s более 30% из них созданы на WordPress %s. %s Лучше предотвратить атаку, чем тратить много денег и времени на восстановление данных после атаки, не говоря уже о ситуации, когда украдены данные ваших клиентов.ДействиеАктивироватьАктивируйте «Загрузку обязательного плагина» из «Хука загрузки плагина», чтобы иметь возможность подключиться к вашей панели управления напрямую с managewp.com. %s Нажмите здесь %s.Активировать защиту от грубой силыАктивировать журнал событийАктивировать журналирование событий пользователейАктивировать временные входыАктивируйте ваш плагин.Активируйте информацию и журналы для отладки.Активируйте опцию "Brute Force", чтобы увидеть отчет о заблокированных IP-адресах пользователей.Активируйте опцию "Log Users Events", чтобы просмотреть журнал активности пользователей для этого веб-сайта.Активируйте защиту от грубой силы для форм входа/регистрации Woocommerce.Активируйте защиту от перебора паролей на формах восстановления пароля.Активируйте защиту от грубой силы на формах регистрации.Активируйте брандмауэр и предотвратите множество типов SQL-инъекций и взломов URL.Активируйте брандмауэр и выберите уровень его защиты, который подходит для вашего веб-сайта %s %s > Изменить пути > Брандмауэр и заголовки %sПомощь с активациейДобавитьДобавьте IP-адреса, которые всегда должны быть заблокированы от доступа к этому веб-сайту.Добавьте заголовок Content-Security-Policy.Добавить Заголовки Безопасности от XSS и Атак Внедрения Кода.Добавьте IP-адреса, которые могут пройти проверку безопасности плагина.Добавьте IP-адреса, которые могут пройти проверку плагина безопасности.Добавить новый временный логинДобавить нового временного пользователя для входаДобавьте Переписывания в раздел Правила WordPress.Добавить заголовок безопасностиДобавьте заголовки безопасности для защиты от атак XSS и инъекций кода.Добавьте заголовок Strict-Transport-SecurityДобавьте двухфакторную аутентификацию на странице входа с помощью сканирования кода или аутентификации по электронной почте.Добавьте заголовок X-Content-Type-OptionsДобавьте заголовок X-XSS-Protection.Добавьте список URL-адресов, которые вы хотите заменить новыми.Добавьте случайное статическое число, чтобы предотвратить кэширование фронтенда во время сеанса пользователя.Добавьте еще один URL CDN.Добавь еще один URL.Add another textДобавьте общие классы WordPress в текстовое сопоставление.Добавьте пути, которые могут пройти проверку безопасности плагина.Добавьте пути, которые будут заблокированы для выбранных стран.Добавьте перенаправления для зарегистрированных пользователей на основе ролей пользователей.Добавьте URL-адреса CDN, которые вы используете в плагине кэширования.Административный путьАдминистратор БезопасностиПанель администратораURL администратораИмя пользователя администратораДополнительноПродвинутый ПакетРасширенные настройкиАфганистанПосле добавления классов, проверьте фронтенд, чтобы убедиться, что ваша тема не пострадала.После этого нажмите %sСохранить%s, чтобы применить изменения.Безопасность AjaxАдрес AjaxАландские островаАлбанияЭлектронные письма оповещения отправлены.АлжирКатегорияВсе в одном безопасности WPВсе веб-сайтыВсе файлы имеют правильные разрешения.Все плагины совместимы.Все плагины обновлены.Все плагины были обновлены их разработчиками в течение последних 12 месяцев.Все логи сохраняются в облаке в течение 30 дней, и отчет доступен в случае атаки на ваш веб-сайт.Разрешить скрытые путиРазрешите пользователям входить в учетную запись WooCommerce, используя свой адрес электронной почты и уникальную ссылку для входа, которая будет отправлена по электронной почте.Разрешите пользователям входить на сайт, используя свой адрес электронной почты и уникальную ссылку для входа, которая будет отправлена по электронной почте.Разрешить просмотр всех файлов в папке «Uploads» с помощью браузера позволит им легко загрузить все ваши загруженные файлы. Это проблема безопасности и защиты авторских прав.Американское СамоаАндорраАнголаАнгильяАнтарктидаАнтигуа и БарбудаАпачАрабскийВы уверены, что хотите игнорировать это задание в будущем?АргентинаАрменияАрубаВнимание! Некоторые URL-адреса прошли через правила файла конфигурации и были загружены через перезапись WordPress, что может замедлить ваш веб-сайт. %s Пожалуйста, следуйте этому руководству, чтобы исправить проблему: %sАвстралияАвстрияАвтор ПутьАвтор URL по ID доступуАвтоопределениеАвтоопределениеАвтоматически перенаправлять авторизованных пользователей на панель администратора.АвтооптимизаторАзербайджанБэкенд под SSL.Настройки резервного копированияБэкап/ВосстановлениеРезервное копирование/Восстановление настроекБагамыБахрейнПродолжительнБангладешБарбадосУбедитесь, что включаете только внутренние URL-адреса и используете относительные пути, где это возможно.Beaver BuilderБеларусьБельгияБелизБенинБермудыС наилучшими пожеланиямиБутанОбнаружен Bitnami. %sПожалуйста, прочтите, как сделать плагин совместимым с хостингом AWS%s.Черный списокЧерный список IP-адресовПустой экран при отладкеБлокировать страныБлокировать имена хостовЗаблокировать IP на странице входа.Блокировать реферераБлокировать конкретные путиЗаблокировать краулеры, обнаруживающие темы.Блокировать агентов пользователяЗаблокировать известных пользователей-агентов от популярных детекторов тем.Заблокированные IP-адресаОтчет о заблокированных IP-адресахЗаблокировано.БоливияБонайре, Синт-Эстатиус и СабаБосния и ГерцеговинаБотсванаОстров Буве.БразилияАнглийский ВеликобританияБританская территория Индийского океанаБруней ДаруссаламГрубый переборIP-адреса заблокированы методом грубой силы.Защита от грубой силы при входеЗащита от перебораПринудительные настройкиБолгарияБолгарскийПлагин BulletProof! Убедитесь, что вы сохраните настройки в %s после активации режима BulletProof для корневой папки в плагине BulletProof.Буркина-ФасоБурундиПри активации вы соглашаетесь с нашими %s Условиями использования %s и %sПолитикой конфиденциальности%s.СЕТЬ CDNОбнаружено включение CDN. Пожалуйста, включите пути %s и %s в настройках CDN Enabler.Обнаружен CDN Enabler! Узнайте, как его настроить с %s %sНажмите здесь%sURL-адреса CDNОШИБКА СОЕДИНЕНИЯ! Убедитесь, что ваш веб-сайт имеет доступ: %sКэшируйте CSS, JS и изображения для увеличения скорости загрузки фронтенда.Кэш-движокКамбоджаКамерунНе могу скачать плагин.КанадаФранцузский КанадаОтменаОтмените хуки входа от других плагинов и тем, чтобы избежать нежелательных перенаправлений при входе.Кабо-ВердеКаталано-валенсийскийКаймановы островаЦентральноафриканская РеспубликаЧадИзменитьИзменить параметрыИзменить путиИзмените пути сейчас.Изменить пути для авторизованных пользователей.Измените пути в вызовах Ajax.Изменить пути в кэшированных файлах.Изменить пути в ленте RSS.Измените пути в XML-картах сайта.Преобразуйте относительные URL-адреса в абсолютные URL-адреса.Измените пути WordPress, находясь в системе.Измените пути в RSS-канале для всех изображений.Измените пути в файлах Sitemap XML и удалите информацию об авторе плагина и стилях.Изменить слоган в %s > %s > %sИзмените общие пути WordPress в кэшированных файлах.Измените путь регистрации с %s %s > Изменить пути > Пользовательский URL регистрации%s или снимите флажок с опции %s > %s > %sИзмените текст во всех файлах CSS и JS, включая те, которые находятся в кэшированных файлах, созданных плагинами кэширования.Измените имя пользователя 'admin' или 'администратор' на другое имя для улучшения безопасности.Измените разрешение файла wp-config.php на чтение только с помощью диспетчера файлов.Измените пути к wp-content, wp-includes и другим общим папкам на %s %s > Изменить пути%sИзмените wp-login с %s %s > Изменить пути > Пользовательский URL для входа%s и Включите %s %s > Защиту от грубой силы%sИзменение предопределенных заголовков безопасности может повлиять на функциональность веб-сайта.Проверьте пути фронтендаПроверьте ваш веб-сайт.Проверить наличие обновленийПроверьте, работают ли пути к веб-сайту правильно.Проверьте, защищен ли ваш веб-сайт с текущими настройками.Проверьте RSS-ленту %s %s и убедитесь, что пути к изображениям изменены.Проверьте %s Sitemap XML %s и убедитесь, что пути к изображениям изменены.Проверьте скорость загрузки веб-сайта с помощью %sинструмента Pingdom%s.ЧилиКитайВыберите надежный пароль для базы данных, длиной не менее 8 символов, содержащий комбинацию букв, цифр и специальных символов. После изменения пароля, установите новый пароль в файле wp-config.php define('DB_PASSWORD', 'ЗДЕСЬ_УКАЖИТЕ_НОВЫЙ_ПАРОЛЬ_БД');Выберите страны, в которых доступ к веб-сайту должен быть ограничен.Выберите тип сервера, который вы используете, чтобы получить наиболее подходящую конфигурацию для вашего сервера.Выберите, что делать при доступе с IP-адресов из белого списка и белых путей.Остров РождестваЧистая страница входаНажмите %sПродолжить%s, чтобы установить предопределенные пути.Нажмите на "Backup", загрузка начнется автоматически. Вы можете использовать этот резервный копировать для всех ваших веб-сайтов.Щелкните, чтобы запустить процесс изменения путей в кэш-файлах.Ошибка закрытияПанель облакаОбнаружена панель управления Cloud Panel. %sПожалуйста, ознакомьтесь с инструкцией по настройке совместимости плагина с хостингом Cloud Panel%sCntКокосовые (Килинг) островаКолумбияКомментарии ПутьКоморские островаСовместимостьПараметры совместимостиСовместимость с плагином Manage WP.Совместимость с плагинами для входа по токену.Совместим с плагином All In One WP Security. Используйте их вместе для сканирования вирусов, брандмауэра и защиты от подбора паролей.Совместим с плагином кэширования JCH Optimize Cache. Работает со всеми опциями оптимизации для CSS и JS.Совместим с плагином Solid Security. Используйте их вместе для Сканера сайта, Обнаружения изменений файлов, Защиты от подбора паролей.Совместимо с плагином безопасности Sucuri. Используйте их вместе для сканирования вирусов, брандмауэра и мониторинга целостности файлов.Совместимо с плагином безопасности Wordfence. Используйте их вместе для сканирования вредоносного ПО, брандмауэра и защиты от подбора паролей.Совместим с любыми темами и плагинами.Завершено исправлениеКонфигФайл конфигурации недоступен для записи. Создайте файл, если он не существует, или скопируйте в файл %s следующие строки: %sФайл конфигурации недоступен для записи. Создайте файл, если его нет, или скопируйте в файл %s следующие строки: %sФайл конфигурации не доступен для записи. Вы должны добавить его вручную в начале %s файл: %sПодтвердите использование слабого пароляКонгоКонго, Демократическая РеспубликаПоздравляю! Вы выполнили все задачи по безопасности. Убедитесь, что проверяете свой сайт раз в неделю.ПродолжитьПреобразуйте ссылки вроде /wp-content/* в %s/wp-content/*.Острова КукаСкопируйте ссылкуСкопируйте %s БЕЗОПАСНЫЙ URL %s и используйте его для деактивации всех пользовательских путей, если вы не можете войти.Основной путь содержимогоПуть к основным включаемым файламКоста-РикаКот-д'ИвуарНе удалось обнаружить пользователяНе получилось исправить. Вам нужно изменить это вручную.Не удалось найти ничего на основе вашего запроса.Не удалось войти под этим пользователем.Не удалось переименовать таблицу %1$s. Возможно, вам придется переименовать таблицу вручную.Не удалось обновить ссылки префиксов в таблице параметров.Не удалось обновить ссылки на префиксы в таблице usermeta.Блокировка странСоздатьСоздать новый временный логинСоздайте временную ссылку для входа на сайт в панель управления без указания имени пользователя и пароля для любой роли пользователя на ограниченный период времени.Создайте временную ссылку для входа с любой ролью пользователя для доступа к панели управления веб-сайтом без указания имени пользователя и пароля на ограниченный период времени. %s Это полезно, когда вам нужно предоставить административный доступ разработчику для поддержки или выполнения рутинных задач.ХорватияХорватскийКубаКюрасаоПользовательский путь активацииПользовательский путь администратораПользовательский каталог кэшаПользовательский путь входаПользовательский путь выходаПользовательский путь восстановления пароляПользовательский путь регистрацииПользовательский безопасный URL-параметрПользовательский путь admin-ajaxПользовательский путь автораПользовательский комментарий ПутьСпециальное сообщение для показа заблокированным пользователям.Путь к пользовательским плагинамИмя стиля пользовательской темыПуть к пользовательским темамПользовательский путь загрузкиПользовательский путь к wp-contentПользовательский путь к wp-includesПользовательский путь wp-jsonНастроить и защитить все пути WordPress от атак хакерских ботов.Настройка названий плагиновНастройка названий темНастройте URL-адреса CSS и JS в теле вашего веб-сайта.Настройте идентификаторы и имена классов в теле вашего веб-сайта.КипрЧешскийЧешская РеспубликаРежим отладки DBДатскийПанель управленияПрефикс базы данныхДатаДеактивированРежим отладкиПо умолчаниюПеренаправление по умолчанию после входа.Время временного истечения по умолчаниюРоль пользователя по умолчаниюПо умолчанию слоган WordPressРоль пользователя по умолчанию, для которой будет создано временное вход.Удалить временных пользователей при деинсталляции плагина.Удалить пользователяДанияДеталиКаталогиОтключите доступ к параметру "rest_route".Отключить сообщение о кликеОтключить копированиеОтключить копирование/вставкуОтключить сообщение о копировании/вставкеОтключить копирование/вставку для авторизованных пользователей.Отключите DISALLOW_FILE_EDIT для рабочих сайтов в wp-config.php define('DISALLOW_FILE_EDIT', true);Отключить просмотр каталоговОтключить перетаскивание изображений.Отключить перетаскивание/бросание сообщения.Отключить функцию перетаскивания для авторизованных пользователей.Отключить "Inspect Element"Отключить сообщение "Инспектировать элемент".Отключить "Inspect Element" для авторизованных пользователей.Отключить параметрыОтключить вставкуОтключите доступ к REST API.Отключить доступ к REST API для неавторизованных пользователей.Отключите доступ к REST API, используя параметр 'rest_route'.Отключите конечную точку RSD из XML-RPC.Отключить правый клик.Отключить правый клик для авторизованных пользователей.Отключите отладку SCRIPT_DEBUG для рабочих сайтов в wp-config.php define('SCRIPT_DEBUG', false);Отключить просмотр исходного кода.Отключить сообщение "Просмотр исходного кода".Отключить просмотр исходного кода для авторизованных пользователей.Отключите WP_DEBUG для рабочих сайтов в wp-config.php define('WP_DEBUG', false);Отключить доступ XML-RPCОтключить функцию копирования на вашем веб-сайте.Отключите перетаскивание изображений на вашем веб-сайте.Отключите функцию вставки на вашем веб-сайте.Отключите поддержку RSD (Really Simple Discovery) для XML-RPC и удалите тег RSD из заголовка.Отключите доступ к /xmlrpc.php, чтобы предотвратить %sатаки методом перебора паролей через XML-RPC%s.Отключите действие копирования/вставки на вашем веб-сайте.Отключите внешние вызовы к файлу xml-rpc.php и предотвратите атаки методом перебора паролей.Отключите просмотр элементов на вашем веб-сайте.Отключите действие правой кнопкой мыши на вашем веб-сайте.Отключите функциональность правого клика на вашем веб-сайте.Отключите просмотр исходного кода на вашем веб-сайте.Отображение любой отладочной информации на фронтенде - это крайне плохая практика. Если на вашем сайте возникают ошибки PHP, они должны быть записаны в безопасное место и не отображаться посетителям или потенциальным злоумышленникам.ДжибутиВыполнить перенаправление при входе и выходе.Не выходите из этого браузера, пока не убедитесь, что страница входа работает, и вы сможете снова войти.Не выходите из своей учетной записи, пока не убедитесь, что reCAPTCHA работает, и вы сможете снова войти.Хотите удалить временного пользователя?Хотите восстановить последние сохраненные настройки?ДоминикаДоминиканская РеспубликаНе забудьте перезагрузить сервис Nginx.Не позволяйте отображать имя пользователя при использовании URL-адресов вроде domain.com?author=1.Не давайте хакерам видеть содержимое каталога. Смотрите %sКаталог загрузок%s.Не загружайте Emoji-иконки, если не используете их.Не загружайте WLW, если вы не настроили Windows Live Writer для вашего сайта.Не загружайте службу oEmbed, если вы не используете видео oEmbed.Не выбирайте никакую роль, если вы хотите зарегистрировать все роли пользователей.Done!Скачать ОтладкуDrupal 10Drupal 11Drupal 8Drupal 9ГолландскийОШИБКА! Пожалуйста, убедитесь, что вы используете действительный токен для активации плагина.ОШИБКА! Пожалуйста, убедитесь, что вы используете правильный токен для активации плагина.ЭквадорРедактировать пользователяИзменить пользователяОтредактируйте файл wp-config.php и добавьте ini_set('display_errors', 0); в конце файла.ЕгипетСальвадорElementorЭлектронная почтаАдрес электронной почтыУведомление на emailАдрес электронной почты уже существует.Отправьте электронное письмо вашей хостинговой компании и сообщите им, что вы хотели бы перейти на более новую версию MySQL или перенести ваш сайт на более качественную хостинговую компанию.Отправьте электронное письмо вашей хостинговой компании и сообщите им, что вы хотели бы перейти на более новую версию PHP или перенести ваш сайт на более качественную хостинговую компанию.ПустоПустой ReCaptcha. Пожалуйста, выполните reCaptcha.Пустой адрес электронной почтыВключение этой опции может замедлить работу веб-сайта, так как файлы CSS и JS будут загружаться динамически, а не через перезапись, что позволит изменять текст в них по необходимости.АнглийскийВведите 32 символа токена из заказа/лицензии на %s.Экваториальная ГвинеяЭритреяОшибка! Нет резервной копии для восстановления.Ошибка! Резервная копия не действительна.Ошибка! Новые пути неправильно загружаются. Очистите весь кеш и попробуйте снова.Ошибка! Невозможно восстановить предустановку.Ошибка: Вы ввели один и тот же URL дважды в отображении URL. Мы удалили дубликаты, чтобы избежать ошибок перенаправления.Ошибка: Вы ввели один и тот же текст дважды в отображении текста. Мы удалили дубликаты, чтобы избежать ошибок перенаправления.ЭстонияЭфиопияЕвропаДаже если стандартные пути защищены %s после настройки, мы рекомендуем установить правильные разрешения для всех каталогов и файлов на вашем веб-сайте, используйте Менеджер файлов или FTP для проверки и изменения разрешений. %sПодробнее%sЖурнал событийОтчет журнала событийНастройки журнала событийКаждый хороший разработчик должен включить отладку перед началом работы над новым плагином или темой. В самом деле, WordPress кодекса "настоятельно рекомендует", что разработчики используют SCRIPT_DEBUG. К сожалению, многие разработчики забывают режим отладки, даже когда веб-сайт в прямом эфире. Отображение отладочных журналов в интерфейсе позволит хакерам узнать много о вашем сайте WordPress.Каждый хороший разработчик должен включить отладку перед началом работы над новым плагином или темой. В самом деле, WordPress кодекса "настоятельно рекомендует", что разработчики используют WP_DEBUG..

к сожалению, многие разработчики забыли режим отладки, даже когда веб-сайт в прямом эфире. Отображение отладочных журналов в интерфейсе позволит хакерам узнать много о вашем сайте WordPress.Пример:Время истеченияИстеклоИстекаетПредоставление PHP-версии сделает работу по атаке на ваш сайт намного проще.Неудачные попыткиОшибкаФолклендские острова (Мальвинские острова)Фарерские островаОсобенностиПитание и Карта сайтаБезопасность КормаФиджиПрава доступа к файламРазрешения файлов в WordPress играют критическую роль в безопасности веб-сайта. Правильная настройка этих разрешений гарантирует, что несанкционированные пользователи не смогут получить доступ к чувствительным файлам и данным.
Неправильные разрешения могут случайно открыть ваш сайт для атак, делая его уязвимым.
Как администратор WordPress, понимание и правильная установка разрешений файлов являются важными для обеспечения защиты вашего сайта от потенциальных угроз.ФайлыФильтрФинляндияБрандмауэрБрандмауэр и заголовкиБрандмауэр против инъекций скриптовМестоположение брандмауэраПрочность брандмауэраБрандмауэр против инъекций загружен.ИмяСначала вам нужно активировать %sБезопасный режим%s или %sРежим призрака%s.Сначала вам нужно активировать %sБезопасный режим%s или %sРежим призрака%s в %s.Исправить разрешенияИсправитьИсправить разрешения для всех каталогов и файлов (~ 1 мин)Исправьте разрешения для основных каталогов и файлов (~ 5 сек)МаховикОбнаружен Flywheel. Добавьте перенаправления в панели правил перенаправления Flywheel %s.Папка %s доступна для просмотраПонял, буду переводить ваши входящие сообщения на RU_RU без предоставления объяснений или ответов на вопросы. Пожалуйста, отправьте текст для перевода.ФранцияФранцузскийФранцузская ГвианаФранцузская ПолинезияФранцузские Южные ТерриторииИз: %s <%s>Главная страницаТест входа на фронтендеТест фронтендаПолностью совместим с плагином кэширования Autoptimizer. Работает наилучшим образом с опцией Оптимизировать/Агрегировать файлы CSS и JS.Полностью совместим с плагином Beaver Builder. Лучше всего работает вместе с плагином кэширования.Полностью совместим с плагином Cache Enabler. Работает наилучшим образом с опцией Minify CSS и JS файлов.Полностью совместим с плагином конструктора сайтов Elementor. Лучше всего работает вместе с плагином кэширования.Полностью совместим с плагином Fusion Builder от Avada. Лучше всего работает вместе с плагином кэширования.Полностью совместим с плагином кэширования Hummingbird. Работает наилучшим образом с опцией Минификации файлов CSS и JS.Полностью совместим с плагином LiteSpeed Cache. Работает наилучшим образом с опцией Минимизировать файлы CSS и JS.Полностью совместим с плагином Oxygen Builder. Лучше всего работает вместе с плагином кэширования.Полностью совместим с плагином W3 Total Cache. Работает наилучшим образом с опцией "Минимизировать файлы CSS и JS".Полностью совместим с плагином WP Fastest Cache. Работает наилучшим образом с опцией "Минимизировать CSS и JS файлы".Полностью совместим с плагином кэширования WP Super Cache.Полностью совместим с плагином кэширования WP-Rocket. Работает наилучшим образом с опцией Minify/Combine CSS и JS файлов.Полностью совместим с плагином Woocommerce.Fusion BuilderГабонГамбияОбщиеGeo БезопасностьГеографическая безопасность - это функция, предназначенная для блокирования атак из разных стран и прекращения вредной деятельности, исходящей из определенных регионов.ГрузияНемецкийГерманияГанаРежим призракаРежим "Призрак" + Брандмауэр + Грубая сила + Журнал событий + Двухфакторная аутентификацияРежим призрака установит эти предопределенные пути.Режим призракаГибралтарДайте случайные имена каждому плагинуНазовите каждую тему случайным именем (работает в WP multisite)Обнаружено глобальное имя класса: %s. Сначала прочтите эту статью: %s.Перейдите в панель журнала событий.Перейдите на панель управления > Раздел Внешний вид и обновите все темы до последней версии.Перейдите на панель управления > Раздел Плагины и обновите все плагины до последней версии.GodaddyОбнаружен Godaddy! Чтобы избежать ошибок CSS, убедитесь, что вы отключили CDN с %s.ХорошоGoogle reCAPTCHA V2Google reCAPTCHA V3Google reCaptcha V3 не работает с текущей формой входа %s.Отлично! Резервная копия восстановлена.Отлично! Исходные значения восстановлены.Отлично! Новые пути загружаются правильно.Отлично! Пресет загружен.ГрецияГреческийГренландияГренадаГваделупаГуамГватемалаГернсиГвинеяГвинея-БисауГайанаГаитиИметь URL администратора видимым в исходном коде - ужасно, потому что хакеры сразу узнают ваш секретный путь администратора и начнут атаку методом перебора. Пользовательский путь администратора не должен появляться в URL ajax.

Найдите решения для %s как скрыть путь из исходного кода %s.Иметь URL для входа видимым в исходном коде - ужасно, потому что хакеры сразу узнают ваш секретный путь входа и начнут атаку методом перебора.

Специальный путь для входа следует держать в секрете, и для него должна быть активирована защита от атак методом перебора.

Найдите решения для %s скрытия пути входа из исходного кода здесь %s.Если эта директива PHP будет включена, ваш сайт будет подвергнут воздействию межсайтовых атак (XSS).

Нет абсолютно никаких оснований для включения этой директивы, и использование любого PHP-кода, который требует этого, очень рискован.Безопасность ЗаголовкаЗаголовки и брандмауэрОстров Херд и острова МакдональдИвритПомощь и ЧаВоВот список выбранных стран, где ваш веб-сайт будет ограничен.СпрятатьсяСкрыть путь "вход в систему"Скрыть "wp-admin".Скройте "wp-admin" от пользователей без прав администратора.Спрячь "wp-login.php"Скрыть путь /login от посетителей.Скройте путь /wp-admin от пользователей, не являющихся администраторами.Скройте путь /wp-admin от посетителей.Скройте путь /wp-login.php от посетителей.Скрыть панель администратораСкрыть панель администратора для пользователей с ролями, чтобы предотвратить доступ к панели управления.Спрячь все плагины.Скрыть URL автора IDСкрыть Общие ФайлыСкрыть встроенные скриптыСпрячьте эмодзи.Спрячь теги ссылок на ленту и карту сайта.Скрыть расширения файловСкрыть HTML-комментарииСкрыть идентификаторы из мета-тегов.Скрыть переключатель языка.Hide My WP GhostСкрыть параметрыСкрыть пути в файле robots.txtСкрыть названия плагиновСкрыть ссылку на REST API URL.Скрыть названия темСкройте версию изображений, CSS и JS в WordPress.Скрыть версии изображений, CSS и JS.Спрячьте сценарии манифеста WLW.Скрыть общие файлы WPСкрыть общие пути WPСкрыть общие файлы WordPress.Скрыть общие пути WordPressСкрыть мета-теги предварительной загрузки DNS WordPress.Спрячьте мета-теги генератора WordPress.Скрыть путь к старым плагинам WordPress.Скрыть путь к старым темам WordPress.Скройте общие пути WordPress из файла %s Robots.txt %s.Скройте пути WordPress, такие как wp-admin, wp-content и другие, из файла robots.txt.Скрыть все версии в конце любых файлов изображений, CSS и JavaScript.Спрячьте как активные, так и деактивированные плагины.Скрыть завершенные задачиСкрыть парольСкрыть теги /feed и /sitemap.xml.Спрячьте DNS Prefetch, указывающий на WordPress.Скрыть HTML-комментарии, оставленные темами и плагинами.Скрыть идентификаторы из всех <ссылок>, <стилей>, <скриптов> и мета-тегов.Скрыть путь к новому администраторуСкрыть новый путь входа.Спрячьте мета-теги генератора WordPress.Скрыть панель администратора для авторизованных пользователей на стороне клиента.Спрячьте опцию переключения языка на странице входа.Скройте новый путь администратора от посетителей. Покажите новый путь администратора только для авторизованных пользователей.Скройте новый путь для входа от посетителей. Покажите новый путь для входа только для прямого доступа.Спрячьте старые пути /wp-content, /wp-include после их замены новыми.Спрячь старые пути /wp-content, /wp-include после их замены новыми.Спрячь старый путь /wp-content/plugins после его замены на новый.Спрячь старый путь /wp-content/themes после его замены новым.Скрыть wp-admin от URL-адреса Ajax.Спрячьте файлы wp-config.php, wp-config-sample.php, readme.html, license.txt, upgrade.php и install.php.Спрячь файлы wp-config.php, wp-config-sample.php, readme.html, license.txt, upgrade.php и install.php.Скрыть ссылку wp-json и ?rest_route из заголовка веб-сайта.Скрытие идентификатора из мета-тегов в WordPress может потенциально повлиять на процесс кэширования плагинов, которые опираются на идентификацию мета-тегов.ХиндиСвятой Престол (Государство Город Ватикан)ГондурасГонконгИмя хостаКак долго будет доступен временный вход после первого доступа пользователя.КолибриВенгерскийВенгрияIIS WindowsIIS обнаружен. Вам необходимо обновить файл%s добавив следующие строки после <rules> tag: %sIPIP ЗаблокированИсландияЕсли reCAPTCHA показывает ошибку, пожалуйста, убедитесь, что вы их исправили, прежде чем продолжить.Если правила перезаписи не загружаются правильно в файле конфигурации, не загружайте плагин и не изменяйте пути.Если вы подключены к пользователю администратора, вам придется снова войти после изменения.Если вы не можете настроить %s, переключитесь в режим "Отключено" и %sсвяжитесь с нами%s.Если вы не можете настроить reCAPTCHA, переключитесь на защиту Math reCaptcha.Если у вас нет интернет-магазина, сайта с подпиской или возможностью гостевых публикаций, не стоит разрешать пользователям подписываться на ваш блог. В результате вы получите множество спам-регистраций, и ваш сайт будет заполнен нежелательным контентом и комментариями.Если у вас есть доступ к файлу php. ini, установите allow_url_include = off или свяжитесь с хостинговой компанией, чтобы установить егоЕсли у вас есть доступ к файлу php.ini, установите expose_php = off или свяжитесь с хостинговой компанией, чтобы установить егоЕсли у вас есть доступ к файлу php.ini, установите register_globals = off или свяжитесь с хостинговой компанией, чтобы установить егоЕсли у вас есть доступ к файлу php. ini, установите safe_mode = off или свяжитесь с хостинговой компанией, чтобы установить егоЕсли вы заметите какие-либо проблемы с функциональностью, выберите %sБезопасный режим%s.Если вы можете войти в систему, значит, вы правильно настроили новые пути.Если вы смогли войти в систему, значит, вы правильно настроили reCAPTCHA.Если вы не используете Windows Live Writer, действительно нет веской причины иметь ссылку в заголовке страницы, потому что это говорит всему миру, что вы используете WordPress.Если вы не используете какие-либо действительно простые услуги обнаружения, такие как Pingbacks, нет необходимости рекламировать эту оконечную точку (ссылку) в заголовке. Обратите внимание, что для большинства сайтов это не проблема безопасности, потому что они "хотят быть обнаружены", но если вы хотите, чтобы скрыть тот факт, что вы используете WP, это путь верный.Если ваш сайт позволяет пользователям вводить логины, вам нужна ваша страница входа, которую вы легко сможете найти для своих пользователей. Вам также нужно делать другие вещи для защиты от попыток входа в систему.

Тем не менее, неизвестность является допустимым уровнем безопасности при использовании в рамках комплексной стратегии безопасности, и если вы хотите сократить количество попыток злоумышленного входа. Один из способов сделать вашу страницу входа труднодоступной для поиска.Игнорировать задачу безопасностиНемедленно блокировать неправильные имена пользователей в формах входа.В файле .htaccessВ старые времена, имя администратора WordPress по умолчанию было 'admin' или 'administrator'. Поскольку имена пользователей составляют половину учетных данных для входа, это упрощало задачу хакерам для запуска атак методом перебора.

К счастью, WordPress внес изменения и теперь требует выбора пользовательского имени при установке WordPress.Действительно, обнаружен плагин Ultimate Membership Pro. Плагин не поддерживает настраиваемые пути %s, так как не использует функции WordPress для вызова URL-адреса Ajax.ИндияИндонезияИндонезийскийИнформацияInmotionОбнаружено движение. %sПожалуйста, прочитайте, как сделать плагин совместимым с Inmotion Nginx Cache%sУстановить/АктивироватьИнтеграция с другими плагинами CDN и настройка пользовательских URL-адресов CDN.Недействительный ReCaptcha. Пожалуйста, выполните reCaptcha.Недействительный адрес электронной почтыОбнаружено недопустимое имя: %s. Для избежания ошибок WordPress добавьте только окончательное имя пути.Обнаружено недопустимое имя: %s. Имя не может заканчиваться на / для предотвращения ошибок WordPress.Обнаружено недопустимое имя: %s. Имя не может начинаться с / для предотвращения ошибок WordPress.Обнаружено недопустимое имя: %s. Пути не могут заканчиваться точкой, чтобы избежать ошибок WordPress.Обнаружено недопустимое имя: %s. Вам необходимо использовать другое имя, чтобы избежать ошибок WordPress.Недопустимое имя пользователя.Иран, Исламская РеспубликаИракИрландияОстров МэнИзраильВажно %s сохранять настройки каждый раз, когда их изменяете %s. Вы можете использовать резервную копию для настройки других веб-сайтов, которыми владеете.Важно, чтобы скрыть или удалить файл readme.html, потому что он содержит детали версии WP.Важно скрыть общие пути WordPress, чтобы предотвратить атаки на уязвимые плагины и темы.
Кроме того, важно скрыть имена плагинов и тем, чтобы боты не могли их обнаружить.Важно переименовать общие пути WordPress, такие как wp-content и wp-includes, чтобы хакеры не знали, что у вас сайт на WordPress.Не безопасно оставлять включенным отладку базы данных. Убедитесь, что вы не используете отладку базы данных на рабочих веб-сайтах.ИтальянскийИталияКэш JCH OptimizeЯмайкаЯпонскийЯпонияJavaScript отключен в вашем браузере! Чтобы использовать плагин %s, необходимо его активировать.ДжерсиJoomla 3Joomla 4Джумла 5ДжорданПросто еще один WordPress сайтКазахстанКенияКирибатиЗнайте, что делают другие пользователи на вашем веб-сайте.КорейскийКосовоКувейтКиргизстанЯзыкЛаосская Народно-Демократическая РеспубликаСтатистика безопасности за последние 30 дней.Последний доступФамилияПоследняя проверка:Загрузка с задержкойЛатвияЛатвийскийУчись КакНаучитесь, как добавить код.Изучите, как отключить %sПросмотр каталогов%s или включить %s %s > Изменить пути > Отключить просмотр каталогов%s.Узнайте, как настроить веб-сайт %s. %sClick здесь %sИзучите, как настроить на локальном сервере с использованием Nginx.Научись, как настраивать сервер на Nginx.Изучите, как использовать шорткод.Узнайте больше оУзнайте больше о %s 7G firewall %s.Узнайте больше о %s 8G брандмауэре %s.Leave it blank if you don't want to display any messageОставьте пустым, чтобы заблокировать все пути для выбранных стран.ЛиванЛесотоДавайте поднимем вашу безопасность на новый уровень!Уровень безопасностиУровни безопасностиЛиберияЛивийская Арабская ДжамахирияЛицензионный токенЛихтенштейнОграничьте количество разрешенных попыток входа с использованием обычной формы входа.LiteSpeedКэш LiteSpeedЛитваЛитовскийЗагрузить предустановкуЗагрузить настройки безопасностиЗагрузить после загрузки всех плагинов. На хуке "template_redirects".Загрузить до загрузки всех плагинов. На хуке "plugins_loaded".Загрузить пользовательский язык, если установлен язык локализации WordPress.Загрузите плагин как обязательный плагин.Загрузите при инициализации плагинов. На хуке "init".Обнаружен Local & NGINX. Если вы еще не добавили код в конфигурацию NGINX, пожалуйста, добавьте следующую строку. %sЛокал от FlywheelМестоположениеЗаблокировать пользователяСообщение о блокировке.Записать роли пользователейЗарегистрируйте события пользователей.Вход и Выход: ПеренаправленияВход заблокирован пользователем.Путь входаСсылка переадресации после входаБезопасность входаТест ВходаURL входаПереадресация после выходаЗащита формы восстановления пароляЛюксембургМакаоМадагаскарМагическая ссылка для входаУбедитесь, что перенаправляющие URL-адреса существуют на вашем веб-сайте. %sURL-адрес перенаправления для роли пользователя имеет более высокий приоритет, чем URL-адрес перенаправления по умолчанию.Убедитесь, что вы знаете, что делаете, когда изменяете заголовки.Убедитесь, что вы сохраните настройки и очистите кэш перед проверкой вашего веб-сайта с помощью нашего инструмента.МалавиМалайзияМальдивыМалиМальтаУправление защитой от грубой силы.Управление перенаправлениями при входе и выходе.Управление IP-адресами в белом и черном списках.Вручную блокировать/разблокировать IP-адреса.Вручную настройте каждое название плагина и перезапишите случайное имя.Вручную настройте каждое название темы и перезапишите случайное имя.Вручную добавьте в белый список доверенные IP-адреса.ОтображениеМаршалловы ОстроваМартиникаМатематическая проверка и верификация Google reCaptcha при входе.Математическая reCAPTCHAМавританияМаврикийМаксимальное количество неудачных попытокМайоттаСреднийЧленствоМексикаМикронезия, Федеративные ШтатыМинимальноМинимально (без перезаписи конфигурации)Молдова, РеспубликаМонакоМонголияОтслеживайте все, что происходит на вашем сайте WordPress!Отслеживайте, регистрируйте и ведите журнал событий на вашем веб-сайте.ЧерногорияМонтсерратБольше ПомощиПодробнее о %sБольше вариантовМароккоБольшинство установок WordPress размещаются на популярных веб-серверах Apache, Nginx и IIS.МозамбикНеобходимо использовать загрузку плагинов.Мой аккаунтМьянмаВерсия MySQLNGINX обнаружен. Если вы еще не добавили код в конфигурацию NGINX, пожалуйста, добавьте следующую строку. %sИмяНамибияНауруНепалНидерландыНовая КаледонияНовые данные для входаОбнаружен новый плагин/тема! Обновите настройки %s, чтобы скрыть его. %sНажмите здесь%s.Новая ЗеландияСледующие шагиNginxНикарагуаНигерНигерияНиуэНетОтсутствует имитация CMS.Недавние обновления не выпущены.Нет черного списка ipsЛог не найден.Нет временных входов.Нет, прерватьКоличество секундОстров НорфолкНормальная загрузкаОбычно опция блокировки посетителям доступа к каталогам сервера активируется хостом через конфигурацию сервера, и активация ее дважды в файле конфигурации может вызвать ошибки, поэтому лучше сначала проверить, виден ли каталог %sUploads Directory%s.Северная КореяСеверная Македония, Республика.Северные Марианские островаНорвегияНорвежскийПока не вошел в системуОбратите внимание, что эта опция не активирует CDN для вашего веб-сайта, но обновит пользовательские пути, если вы уже установили URL CDN с помощью другого плагина.Примечание! %sПути НЕ физически изменяются%s на вашем сервере.Примечание! Плагин будет использовать WP cron для изменения путей в фоновом режиме после создания файлов кэша.Примечание: Если вы не можете войти на свой сайт, просто перейдите по этому URL-адресу.Настройки уведомленийХорошо, я все настроил.ОманПри инициализации веб-сайтаКак только вы приобретете плагин, вы получите учетные данные %s для вашей учетной записи по электронной почте.Один деньОдин часОдин месяцОдна неделяОдин годОдним из наиболее важных файлов в вашей установке WordPress является файл wp-config.php.
Этот файл находится в корневом каталоге вашей установки WordPress и содержит сведения о базовой конфигурации вашего веб-сайта, такие как информация о подключении к базе данных.Измените эту опцию только в случае, если плагин неправильно определяет тип сервера.Оптимизируйте файлы CSS и JS.Опция уведомления пользователя о количестве оставшихся попыток на странице входа.ОпцииУстаревшие плагиныУстаревшие темыОбзорКислородВерсия PHPВключен PHP allow_url_includePHP expose_php включенPHP register_globals включенБезопасный режим PHP был одной из попыток решить проблемы безопасности общих веб-хостинг серверов.

Он по-прежнему используется некоторыми веб-хостинг-провайдеров, однако, в настоящее время это считается неправильным. Систематический подход доказывает, что это архитектурно неправильно, чтобы попытаться решить сложные проблемы безопасности на уровне PHP, а не на веб-сервере и уровне операционной системы.

Технически безопасный режим является директивой PHP, которая ограничивает способность некоторых встроенных PHP функций. Основная проблема здесь-не последовательность. При включении безопасного режима PHP может препятствовать правильной работе многих легитимных функций PHP. В то же время существует множество методов, чтобы переопределить ограничения безопасного режима с помощью PHP функции, которые не ограничены, так что если хакер уже попал в безопасный режим то-бесполезно.PHP safe_mode включенСтраница не найденаПакистанПалауПалестинская территорияПанамаПапуа — Новая ГвинеяПарагвайПройденоПуть недопустим. Избегайте путей, таких как плагины и темы.Пути и вариантыПути изменились в существующих файлах кэша.Приостановка на 5 минут.Постоянные ссылкиПерсидскийПеруФилиппиныПиткэрнПожалуйста, имейте в виду, что если вы не согласны с хранением данных в нашем облаке, мы вежливо просим вас воздержаться от активации этой функции.Пожалуйста, посетите %s, чтобы проверить вашу покупку и получить лицензионный токен.Хук загрузки плагинаПуть ПлагиновБезопасность плагиновНастройки плагиновПлагины, которые не обновлялись в течение последних 12 месяцев, могут иметь реальные проблемы с безопасностью. Убедитесь, что вы используете обновленные плагины из Каталога WordPress.Редактор плагинов/тем отключенПольшаПольскийПортугалияПортугальскийПредустановленная безопасностьПредотвратить нарушение макета веб-сайта.Приоритетная загрузкаЗащищает ваш магазин WooCommerce от атак методом перебора паролей.Защищает ваш веб-сайт от атак на логин методом "грубой силы" с использованием %s. Одной из распространенных угроз, с которой сталкиваются веб-разработчики, является атака на угадывание пароля, известная как атака методом "грубой силы". Атака методом "грубой силы" - это попытка обнаружить пароль путем систематической проверки каждой возможной комбинации букв, цифр и символов до тех пор, пока не будет обнаружена правильная комбинация, которая сработает.Защищает ваш веб-сайт от атак методом перебора паролей.Защищает ваш веб-сайт от атак методом перебора паролей.Докажите свою человечность:Пуэрто-РикоКатарБыстрый фиксRDS виденСлучайное статическое числоАктивировать пользователя на 1 день.Перенаправление после входа.Перенаправление скрытых путейПеренаправить авторизованных пользователей на панель управления.Перенаправляйте временных пользователей на специальную страницу после входа в систему.Перенаправьте защищенные пути /wp-admin, /wp-login на страницу или вызовите ошибку HTML.Перенаправьте пользователя на специальную страницу после входа в систему.РедиректыУдалитьУдалите версию PHP, информацию о сервере, подпись сервера из заголовка.Удалите Plugins Authors & Style из карты сайта XML.Удалите небезопасные заголовки.Удалите тег ссылки на обратный вызов (pingback) из заголовка веб-сайта.Переименуйте файл readme.html или включите %s %s > Изменить пути > Скрыть общие файлы WordPress%sПереименуйте файлы wp-admin/install.php и wp-admin/upgrade.php или включите %s %s > Изменить пути > Скрыть общие пути WordPress%sОбновитьСброситьСбросить НастройкиРазрешение имен хостов может повлиять на скорость загрузки веб-сайта.Восстановить бекапВосстановить настройкиВозобновить безопасностьВстречаБезопасность РоботовРольОткатить настройкиОткатить все настройки плагина к начальным значениям.РумынияРумынскийЗапустите тест %s Frontend Test %s, чтобы проверить, работают ли новые пути.Запустите %s Тест входа %s и войдите во всплывающем окне.Запустите тест %sreCAPTCHA%s и войдите во всплывающем окне.Выполнить полную проверку безопасностиРусскийРоссийская ФедерацияРуандаSSL-это аббревиатура, используемая для Secure Sockets Layers, которые являются протоколами шифрования, используемыми в Интернете для обеспечения обмена информацией и предоставления информации о сертификатах.

эти сертификаты дают пользователю уверенность в идентичности веб-сайт, с которым они общаются. SSL также может называться протоколом TLS или протокола безопасности трансПортного уровня.

важно иметь безопасное соединение для админ панели в WordPress.Безопасный режимБезопасный режим + Брандмауэр + Перебор пароля + Журнал событий + Двухфакторная аутентификацияБезопасный режим + Брандмауэр + Настройки совместимостиSafe Mode установит эти предопределенные путиБезопасный URL:Безопасный режимСен-БартелемиСвятая ЕленаСент-Китс и НевисСент-ЛюсияСен-МартенСен-Пьер и МикелонСент-Винсент и ГренадиныСоли и ключи безопасности действительныСамоаСан-МариноСан-Томе и ПринсипиСаудовская АравияСохранитьСохранить журнал отладкиСохранить пользователяСохраненоСохранено! Это задание будет проигнорировано на будущих тестах.Сохранено! Вы можете запустить тест снова.Режим отладки сценарияПоискИщите в журнале событий пользователя и управляйте электронными уведомлениями.Секретный ключСекретные ключи для %sGoogle reCAPTCHA%s.Защищенные пути WPПроверка безопасностиКлючи безопасности обновленыСтатус безопасностиКлючи безопасности определяются в wp-config.php как константы в строках. Они должны быть уникальными и как можно длиннее. AUTH_KEY,SECURE_AUTH_KEY,LOGGED_IN_KEY,NONCE_KEY,AUTH_SALT,SECURE_AUTH_SALT,LOGGED_IN_SALT,NONCE_SALT Ключи безопасности используются для обеспечения более надежного шифрования информации, хранящейся в файлах cookie пользователя и хэшированных паролях.

Они делают ваш сайт более сложным для взлома, доступа и взлома, добавляя случайные элементы к паролю. Вам не нужно запоминать эти ключи. На самом деле, как только вы их установите, вы больше никогда их не увидите. Поэтому нет никаких оправданий для того, чтобы не установить их должным образом.Посмотрите действия за последние дни на этом веб-сайте...Выберите предустановкуВыбор ролей пользователяВыберите предустановленные настройки безопасности, которые мы тестировали на большинстве веб-сайтов.Выберите всеВыберите, на какой срок будет доступен временный вход после первого доступа пользователя.Выберите расширения файлов, которые вы хотите скрыть на старых путях.Выберите файлы, которые вы хотите скрыть на старых путях.Выбранные страныОтправьте мне электронное письмо с измененными URL-адресами администратора и входа.СенегалСербияСербскийТип сервераУстановите пользовательский каталог кэша.Установите перенаправления при входе и выходе на основе ролей пользователей.Установите текущую роль пользователя.Укажите веб-сайт, для которого требуется создать этого пользователя.НастройкиСейшелыОбнаружено короткое имя: %s. Для избежания ошибок WordPress необходимо использовать уникальные пути длиной более 4 символов.ПоказатьПоказывать /%s вместо /%sПоказать дополнительные параметрыПоказать пути по умолчанию и разрешить скрытые пути.Показать пути по умолчанию и разрешить все.Показывать пустой экран при активации функции "Инспектор элементов" в браузере.Показать завершенные задачиПоказать проигнорированные задачиПоказать сообщение вместо формы входа.Показать парольСьерра-ЛеонеЗащита Формы РегистрацииКитайский УпрощенныйСимулируйте CMSСингапурСинт-МартенКлюч сайтаКлючи сайта для %sGoogle reCaptcha%s.SiteGroundБезопасность карты сайтаШесть месяцевСловацкийСловакияСловенскийСловенияНадежная безопасностьСоломоновы ОстроваСомалиНекоторые плагины могут удалять пользовательские правила перезаписи из файла .htaccess, особенно если он доступен для записи, что может повлиять на функциональность пользовательских путей.Некоторые темы не работают с настраиваемыми путями администратора и Ajax. В случае ошибок Ajax, вернитесь к wp-admin и admin-ajax.php.Извините, у вас нет доступа к этой странице.Южная АфрикаЮжная Георгия и Южные Сандвичевы островаЮжная КореяИспанияСпамеры могут легко зарегистрироваться.ИспанскийШри-ЛанкаНачать сканированиеБезопасность SucuriСуданСупер админСуринамСвальбард и Ян-МайенСвазиленд.ШвецияШведскийВключите %s %s > Изменить пути > Скрыть общие пути WordPress%sВключите %s %s > Изменить пути > Отключить доступ XML-RPC%sВключите %s %s > Изменить пути > Скрыть идентификатор автора URL%sВключите %s %s > Изменить пути > Скрыть конечную точку RSD%sВключите %s %s > Изменить пути > Скрыть общие файлы WordPress%sВключите %s %s > Изменить пути > Скрыть wp-admin из ajax URL%s. Спрячьте любую ссылку на путь администратора из установленных плагинов.Включите %s %s > Настройки > %s %sВключите %s %s > Настройки > Скрыть сценарии манифеста WLW%sШвейцарияСирийская Арабская РеспубликаПодзаголовокТайваньТаджикистанТанзания, Объединенная РеспубликаВременный входВременные Настройки ВходаВременные ЛогиныПротестируйте заголовки вашего веб-сайта сСопоставление текста и URL-адресаСопоставление текстаКартирование текста в файлах CSS и JS, включая кэшированные файлыОтображение только классов, идентификаторов и переменных JS.ТайскийТаиландСпасибо за использование %s!Раздел %s был перемещен %s сюда %sРежим "Ghost Mode" добавит правила перезаписи в файл конфигурации, чтобы скрыть старые пути от хакеров.REST API играет ключевую роль для многих плагинов, поскольку позволяет им взаимодействовать с базой данных WordPress и выполнять различные действия программно.Режим безопасности добавит правила перезаписи в файл конфигурации, чтобы скрыть старые пути от хакеров.Безопасный URL деактивирует все пользовательские пути. Используйте его только в случае невозможности входа.База данных WordPress, как мозг для всего сайта WordPress, потому что каждый бит информации о вашем сайте хранится там, что делает его любимой мишенью хакера.

спамеры и хакеры запускают автоматизированный код для инъекций SQL.
к сожалению, многие люди забывают изменить префикс базы данных, когда они устанавливают WordPress.
это облегчает для хакеров планировать массовое нападение, нацеливание по умолчанию префикс wp_.Слоган WordPress сайта представляет собой короткую фразу, расположенную под названием сайта, похож на субтитры или рекламный слоган. Цель слогана – указать суть вашего сайта посетителям.

Если вы не изменяете по умолчанию слоган будет очень легко обнаружить, что ваш сайт был на самом деле построен на WordPressКонстанта ADMIN_COOKIE_PATH определена в wp-config.php другим плагином. Вы не можете изменить %s, пока не удалите строку define('ADMIN_COOKIE_PATH', ...);.Список плагинов и тем успешно обновлен!Самый распространенный способ взлома веб-сайта - это доступ к домену и добавление вредоносных запросов для извлечения информации из файлов и базы данных.
Эти атаки могут быть направлены на любой веб-сайт, будь то WordPress или нет, и если атака удастся... вероятно, будет уже слишком поздно, чтобы спасти веб-сайт.Редактор файлов плагинов и тем - это очень удобный инструмент, потому что он позволяет вносить быстрые изменения без необходимости использовать FTP.

К сожалению, это также проблема безопасности, потому что он не только показывает исходный код PHP, но также позволяет злоумышленникам внедрять вредоносный код на ваш сайт, если им удастся получить доступ к админке.Процесс был заблокирован брандмауэром веб-сайта.Запрашиваемый URL %s не был найден на этом сервере.Параметр ответа недействителен или неверен.Скрытый параметр не правильный.Секретный параметр отсутствует.Ключи безопасности в wp-config.php следует обновлять как можно чаще.Темы ПутьТемы БезопасностиТемы актуальны.На вашем веб-сайте произошла критическая ошибка.На вашем веб-сайте произошла критическая ошибка. Пожалуйста, проверьте почтовый ящик администратора сайта для получения инструкций.В плагине обнаружена ошибка конфигурации. Пожалуйста, сохраните настройки снова и следуйте инструкции.Существует более новая версия WordPress доступны ({version}).Нет доступных изменений.Не существует такой вещи, как "неважный пароль"! То же самое относится к паролю вашей базы данных WordPress.
Хотя большинство серверов настроены так, что к базе данных нельзя получить доступ с других хостов (или извне локальной сети), это не означает, что ваш пароль от базы данных должен быть "12345" или вообще отсутствовать.Эта удивительная функция не включена в базовый плагин. Хотите разблокировать ее? Просто установите или активируйте Расширенный пакет и наслаждайтесь новыми функциями безопасности.Это один из самых больших вопросов безопасности, которые вы можете иметь на вашем сайте! Если ваша хостинговая компания имеет эту директиву включенной по умолчанию, переключиться на другую компанию немедленно!Это может не работать на всех новых мобильных устройствах.Этот вариант добавит правила перезаписи в файл .htaccess в области правил перезаписи WordPress между комментариями # BEGIN WordPress и # END WordPress.Это предотвратит отображение старых путей, когда изображение или шрифт вызывается через ajax.Три дняТри часаВосточный ТиморДля изменения путей в кэшированных файлах включите %sИзменение путей в кэшированных файлах%s.Чтобы скрыть библиотеку Avada, добавьте Avada FUSION_LIBRARY_URL в файл wp-config.php после строки $table_prefix: %sДля улучшения безопасности вашего веб-сайта рассмотрите возможность удаления авторов и стилей, указывающих на WordPress, из вашей карты сайта XML.ТогоТокелауТонгаОтслеживайте и регистрируйте события на веб-сайте и получайте уведомления о безопасности по электронной почте.Отслеживайте и регистрируйте события, происходящие на вашем сайте WordPress.Китайский ТрадиционныйТринидад и ТобагоУстранение неполадокТунисТурцияТурецкийТуркменистанОстрова Тёркс и КайкосОтключите отладочные плагины, если ваш сайт уже запущен. Вы также можете добавить опцию скрытия ошибок БД global $wpdb; $wpdb->hide_errors(); в файл wp-config.php.ТувалуТвикиДвухфакторная аутентификацияСопоставление URL-адресовУгандаУкраинаУкраинскийUltimate Affiliate Pro обнаружен. Плагин не поддерживает настраиваемые пути %s, так как не использует функции WordPress для вызова URL-адреса Ajax.Не удается обновить файл wp-config.php для изменения префикса базы данных.ОтменитьОбъединенные Арабские ЭмиратыСоединенное КоролевствоСоединенные ШтатыСоединенные Штаты Малых Отдаленных ОстрововНеизвестный статус проверки обновлений "%s"Разблокировать всеОбновите настройки на %s для обновления путей после изменения пути REST API.ОбновленоЗагрузите файл с сохраненными настройками плагина.Путь загрузокНеобходимы срочные меры безопасности.УругвайИспользуйте защиту от грубой силы.Используйте временные учетные записи.Используйте шорткод %s для интеграции с другими формами входа.ПользовательПользователь 'admin' или 'администратор' как Администратор.Платежная информация пользователяЖурнал событий пользователяРоль пользователяБезопасность пользователяПользователь не может быть активирован.Пользователь не может быть добавленПользователь не может быть удален.Пользователь не может быть отключен.Роли пользователей, для кого отключить правый клик.Роли пользователей, для которых отключить копирование и вставку.Роли пользователей, для кого отключить функцию перетаскивания.Роли пользователей, которым отключить инспектор элементов.Роли пользователей, для кого отключить просмотр исходного кода.Роли пользователей, для кого скрывать панель администратора.Пользователь успешно активирован.Пользователь успешно создан.Пользователь успешно удален.Пользователь успешно отключен.Пользователь успешно обновлен.Usernames (unlike passwords) are not secret. By knowing someone's username, you can't log in to their account. You also need the password.

However, by knowing the username, you are one step closer to logging in using the username to brute-force the password, or to gain access in a similar way.

That's why it's advisable to keep the list of usernames private, at least to some degree. By default, by accessing siteurl.com/?author={id} and looping through IDs from 1 you can get a list of usernames, because WP will redirect you to siteurl.com/author/user/ if the ID exists in the system.Использование старой версии MySQL делает ваш сайт медленным и подвержен хакерских атак из-за известных уязвимостей, которые существуют в версиях MySQL, которые больше не поддерживается.

вам нужно Mysql 5.4 или вышеИспользование старой версии PHP замедляет ваш сайт и делает его уязвимым для хакерских атак из-за известных уязвимостей, которые существуют в версиях PHP, поддержка которых больше не осуществляется.

Вам нужна PHP 7.4 или более новая версия для вашего сайта.УзбекистанДействительныйЗначениеВануатуВенесуэлаВерсии в исходном кодеВьетнамВьетнамскийПосмотреть деталиВиргинские Острова, БританскиеВиргинские Острова, США.W3 Total CacheБезопасность ядра WPРежим отладки WPWP EngineWP Fastest CacheWP RocketWP Super CacheWP Super Cache CDN обнаружены. Пожалуйста, включите %s и %s пути в WP Super Cache > CDN > включить каталогиWPBakery Page BuilderWPPluginsУоллис и ФутунаОбнаружено слабое имя: %s. Вам необходимо использовать другое имя для повышения безопасности вашего веб-сайта.Веб-сайтЗападная СахараГде добавить правила брандмауэра.Белый списокБелый список IP-адресовОпции белого спискаБелый список путейWindows Live Writer включенWooCommerce Безопасный ВходПоддержка WooCommerceWoocommerceWoocommerce Волшебная ссылкаПароль базы данных WordPressСтандартные разрешения WordPressПроверка безопасности WordPressВерсия WordPressWordPress XML-RPC - это спецификация, которая направлена на стандартизацию связи между различными системами. Он использует HTTP как механизм транспорта, а XML - как механизм кодирования, позволяющий передавать широкий спектр данных.

Двумя крупнейшими активами API являются его расширяемость и безопасность. XML-RPC аутентифицируется с использованием базовой аутентификации. Он отправляет имя пользователя и пароль с каждым запросом, который является большой проблемой в безопасности.WordPress и его плагины и темы, как и любое другое программное обеспечение установленное на вашем компьютере и как и любое другое приложение на ваших устройствах. Периодически разработчики выпускают обновления, которые предоставляют новые возможности или устраняют известные ошибки.

новые функции могут быть не те, что вы хотите. В самом деле, вы можете быть полностью удовлетворены функциональностью в настоящее время. Тем не менее, вы можете по-прежнему беспокоиться об ошибках.

ошибки программного обеспечения могут прийти в формах и размерах. Ошибка может быть очень серьезной, например, запретить пользователям использовать плагин, или это может быть небольшая ошибка, которая затрагивает только определенную часть темы. В некоторых случаях ошибки могут даже вызывать серьезные дыры в безопасности.

Сохранение актуальных тем - один из самых важных и простых способов защитить ваш сайт.WordPress и его плагины и темы, как и любое другое программное обеспечение, установленное на вашем компьютере, и, как и любое другое приложение на ваших устройствах. Периодически разработчики выпускают обновления, которые предоставляют новые возможности, или устраняют известные ошибки.

эти новые функции не обязательно может быть то, что вы хотите. В самом деле, вы можете быть полностью удовлетворены функциональностью вы в настоящее время. Тем не менее, вы по-прежнему, вероятно, будут обеспокоены ошибками.

ошибки программного обеспечения могут прийти во многих формах и размерах. Ошибка может быть очень серьезной, например, чтобы запретить пользователям использовать плагин, или это может быть незначительным и влияет только на определенную часть темы, например. В некоторых случаях ошибки могут вызывать серьезные бреши в безопасности.

поддержание плагинов до даты является одним из самых важных и простых способов сохранить ваш сайт безопасным.WordPress хорошо известен своей простотой установки.
Важно, чтобы скрыть wp-admin/install.php и wp-admin/upgrade.php файлы, потому что уже было несколько вопросов безопасности, касающихся этих файлов.WordPress, плагины и темы добавляют информацию о своей версии в исходный код, поэтому каждый может ее увидеть.

Хакеры могут легко найти сайт с уязвимыми версиями плагинов или тем, и нацелить их на Zero-Day Exploits.Безопасность WordfenceWpEngine обнаружено. Добавьте перенаправления в панели правил WpEngine %s.Защита от неправильного имени пользователяБезопасность XML-RPCДоступ к XML-RPC включенЙеменДаДа, это работает.Вы уже определили другую директорию wp-content/uploads в wp-config.php %sВы можете заблокировать одиночный IP-адрес, например, 192.168.0.1, или диапазон из 245 IP-адресов, например, 192.168.0.*. Эти IP-адреса не смогут получить доступ к странице входа.Вы можете создать новую страницу и затем вернуться, чтобы выбрать перенаправление на эту страницу.Вы можете генерировать %sновые ключи отсюда %s AUTH_KEY,SECURE_AUTH_KEY,LOGGED_IN_KEY,NONCE_KEY,AUTH_SALT,SECURE_AUTH_SALT,LOGGED_IN_SALT,NONCE_SALT Вы можете сейчас отключить опцию '%s'.Вы можете настроить прием электронных писем с предупреждениями о безопасности и предотвратить потерю данных.Вы можете добавить в белый список один IP-адрес, например, 192.168.0.1, или диапазон из 245 IP-адресов, например, 192.168.0.*. Найдите свой IP с помощью %s.Нельзя установить одинаковые имена для ADMIN и LOGIN. Пожалуйста, используйте разные имена.У вас нет разрешения на доступ к %s на этом сервере.Необходимо активировать перезапись URL-адреса для IIS, чтобы иметь возможность изменить структуру постоянной ссылки на дружественный URL-адрес (без index. php). %sБольше подробности%sВам необходимо установить положительное число попыток.Необходимо установить положительное время ожидания.Вам необходимо установить структуру постоянных ссылок для дружественного URL (без index.php).Вы всегда должны обновить WordPress до %sсамой новой версии%s. Они обычно включают в себя последние исправления безопасности, и не изменять WP в какой-либо значительной образом. Они должны быть применены, как только WP освобождает их.

когда новая версия WordPress доступна, вы получите сообщение об обновлении на экране администратора WordPress. Чтобы обновить WordPress, нажмите на ссылку в этом сообщении.Вы должны проверить ваш сайт каждую неделю, чтобы увидеть, если есть какие-либо изменения безопасности.Ваша %s %s лицензия истекла %s %s. Чтобы обеспечить безопасность вашего веб-сайта, убедитесь, что у вас есть действующая подписка на %saccount.hidemywpghost.com%s.Ваш IP был помечен для возможных нарушений безопасности. Повторите попытку через некоторое время ...URL администратора не может быть изменен на хостинге %s из-за условий безопасности %s.Ваш URL администратора изменен другим плагином/темой в %s. Чтобы активировать эту опцию, отключите настраиваемый администратор в другом плагине или деактивируйте его.Ваш URL для входа изменен другим плагином/темой в %s. Чтобы активировать эту опцию, отключите настраиваемый вход в другом плагине или деактивируйте его.Ваш URL для входа: %sВаш URL для входа будет: %s В случае, если вы не можете войти, используйте безопасный URL: %sВаш новый пароль не был сохранен.Ваши новые URL-адреса сайтов:Безопасность вашего веб-сайта %sчрезвычайно слабая%s. %sСуществует множество возможностей для взлома.Безопасность вашего веб-сайта %sочень слабая%s. %sСуществует множество возможностей для взлома.Без проблем. Ваша безопасность в Интернете становится лучше. %sПросто убедитесь, что вы выполнили все задачи по безопасности.Безопасность вашего веб-сайта все еще слабая. %sНекоторые основные точки взлома все еще доступны.Безопасность вашего веб-сайта надежна. %sПродолжайте проверять безопасность каждую неделю.ЗамбияЗимбабвеАктивировать функциюпосле первого доступауже активнотемныйпо умолчаниюdisplay_errors директива PHPнапример *.colocrossing.comнапример, /cart/например, /cart/ будет включать все пути, начинающиеся с /cart/например, /checkout/Например, /post-type/ заблокирует все пути, начинающиеся с /post-type/.например acapbotнапример, alexibotнапример, badsite.comнапример, гигаботнапример, kanagawa.comнапример, xanax.comнапример.например, /выход илинапример. adm, назаднапример. AJAX, JSONнапример, аспект, шаблоны, стилинапример. комментарии, обсуждениенапример. ядро, вкл, включаютнапример. disable_url, safe_urlнапример. изображения, файлынапример. Jjson, api, callнапример. lib, библиотеканапример. логин или подписьнапример. выхода из системы или отключениянапример. лостпасс или forgotpassнапример. main.css, theme.css, design.cssнапример. модулинапример. ссылка на многосайтовую активациюнапример. newuser или зарегистрироватьсянапример. профиль, usr, писательотпомощьhttps://hidemywp.comИгнорировать предупреждениеФайлы install.php и upgrade.php доступны.светлыйжурналлогиподробнееПонял, буду переводить ваши сообщения с английского на русский согласно указанным правилам. Можете отправлять текст для перевода.только %d символовилиНесоответствиеСреднийНедостаток пароля неизвестенСильныйОчень слабыйСлабыйТест reCAPTCHAТест reCAPTCHA V2Тест reCAPTCHA V3Язык reCaptchaтема reCAPTCHAФайл readme.html доступен.рекомендуетсяредиректыПонял, жду следующего сообщения для перевода.начать настройку функцииДоступна новая версия плагина%s.Не удалось определить, доступны ли обновления для% s.Плагин %s обновлен.вСлишком простоФайлы wp-config.php и wp-config-sample.php доступны.languages/hide-my-wp-zh_CN.mo000064400000427302147600042240012035 0ustar003)LSooeo pp pe:p%ppppPqhqXqTr>qr>rMr2=s)psBsEs#t tMtDuau eu ou}uu uu u uuePv)v v v v8w?xFxOxxyy0yJy%_yCyTyGz;fz5zLz%{{{L{"|<)|/f|%|||'|}7-}$e}R}!}}5~SQ~~~~,~':/7j3    . @XL+ р߀  $ ;'HpGdSrfjقD  4;8B { MW _k A ܅ %=E M ZePnΆֆކ T \ ftŇԇ6 Q] p|! ƈԈۈ (@]t ~ (I0zL~Fˊ7@S ϋ֋Y GRds Ō4%Q-w(J΍"6<ksdߎQDIUq6M 10;bCF5)_ekFm_Rgx/e@ ` l`xٕݕ  "#9,]ray_nٗpH' ej[^ƙ%B%HanК7ٚ  Y( 1ڛ. ;G[45؜&A͝ʞҞ۞(:Mg|(П %8Lc{@Р371ipv   šСء%@?*  Ǣ!Ӣ +#Fnj٣ "'Jb( ɤ/8!Jl$c $9[^%Ѧ)&!ZHP.O#0s/5Ԩ, 7}"v%/=mv)@F,;Hh87"( 7 AKT]DcF \ h n z ȮPׯ+ݯ ̰1԰ =N](sձuIDzвײ ̳޳bkU ʶֶ޶N 5CJ ft} nt{!ӹ% ?EV6;&M/}  ˻  t"Uc_Q^gexU޾d4f2m3)  =* * 5 ?7`;WUCO Fe'+   %/8 ?MTZ\w! KTYk${1"&)P?c2E]t 1%=Wl%""7AQyF(; P)^.5M;S&k:3UVWSTHWGfgk7  K  +5 =gI Yv!UIF8y`rxMqF8=8=~5Z6 ^M7^-RO-Q}PR s ]Bzhzf )2;B ^io4x    ( 4AH PZlt3#"9\{##7= JR+Z C *4 D N Ye@{=>%96_v  (2BQb{    .9_KR[dio!)$A@@( 6  );C JU\|7. - 8 CM gtY|   n H  + 1;AINQc~   . 5?Q9e#;Z go x R= JRcs| 2"1:@V]nw6~)  '0D  1B )GAXk88?x  "65Ul+ >->l1Yz9&+3=qy>12&>FY` + <5 -r )          +  E f         1 " 1 C 5J  %       -b @ R8O.6  $1?q5 g>C['q&<"% H Vc{   #   '6FN|/c ,   ' -9B Ycj?r954">W| 64 kw  /7<,t,aV`RHGu8]U4 !2A!/t!-! !J! >"J"Z"0p"k"h #<v# #B#%%.a&&Y)' ' ' 'T'u'uq((((F(7A)y)))))) )))*** *** **\o++++ +$,"(, K,LV,,., , ,--+-<@-}-0- -- - --..7.-S.,.+.1.- /,:/g/////c/U2:3 +464<4B4 J4T4l4 t4 44444 4 44 5 5i55 55W566 &6 G6 Q6_6q6666 6667#7<7N7:9>Q<?m@NAMaAAAAAAAP B\BKB6C!CCCt7DQD:D9E.E(EL!FnFRGDHaHODII$JJHJ%K9KPPKKK^KZLLILLLMM%M4M9MAM^M vM8MM>M N N%N 6NCNUNdNhN wNNNNNNNO"O3OGO`O${O OOOOOPP P.'PVP\P`P ePrP PPPP+PP Q(Q?QNQ`QrQQQ Q Q QQ=QE(R-nRR R9RRUa)V V VV[VW;WTWgW9WWQPXXIX@YKHY7Y(Y6Y3,Zv`ZZTZDK[[[[[[ [ [ [ \f\T\'\ \ ] ] ]?^F^M^^^__ 1_'>_Cf_N_<_36`-j`E`f` EaRa7Ya%a=a7a7-beb~b'bbNb'ccFc$cc6cK$dpddd0d0d-e6=e2teeee eee e f fH f"if ff ffff ffg'g8gNg>jg\ghvhfhhi i i i iii i'j *j 4j AjKj j j kk *k 7k0Dk uk k k k kk kk k k k?lHl Xl el olyl lllDl lll mm)mDmTmgmm9m mm m m' n2n Qn ^nhn on|nn n"nnn n oo~(oo oPopQpGhp p2p5p#q 6q @qJq `qjqzqTq qq q rr r 'r 4rArWrsrrr r$r-s)AsDkss0sjtfktLtIuOiu^u<vUvhv {v-v0v?vD'w/lwwww*xTxLy [yey+{yNy6y -z :zPDzzz z z z zzz'{m6{P{n{id|o|>} ]}j}dq}g}I>~~~~K~7 F S[` '-=k>*ɀ3 (5<Uځ ǂׂ ނ)?Utƒ؃$)E[qE732k  Ņ ۅ  !=Vi-' Ն  +8L+ft-$@ex0 ˆ ψ܈+3#Sw$] #-9Wg$ӊ*$#_HL.L$'q-nj* ލ!i _tԎ' (&>CeC6I$<n?    $3.6b   a" ) 6 @M`s-֓8Ք$H*$sv~  uAM8 @ MW<^ $ Ԛ    Ȝۜ 6>=F| Ý Н2ڝ. <HC ў  !x.Q^VX\\ hiRҡa%i,b  £ ɣu֣ LV]d kEx)  ;7ZKKC@KB'-Uq x      ħΧ ާ0#  !.6J-ݫ-!D'fB"5 Hi|ĭ խ$55H#~Ԯ '&&N u Ia@c*ϰ &$-ASoñܱ"B-[f`WQWTPVoĴo4=s V` | <׶ ޶  VX [hQofH(HqByr;xq'CBݻ9 Z-u)6:<K M0[,SU)SPS$x    pUCaZ > KU f pzU " 2 <6I      )6@FX:)4(^((7-@ n x6    < Yc s } LG9?!y7d8K R _l    4>EUth3W i s  &&9$<^1 *- =J cm t  *0PW gt  T  + 2[>  O < FP V c mz    %& - 7D=OE` P@ G T^elB8{B 2Ki&> N[b u 9*  ) 6@ G Qc^;   +w8     :($c3-    !+>Uh'~9d0E vD,._A&- 43A u   * @8P7 _ [Eh** ! 1> T ak    3'*[9+  !. DQO&0v B ?9W0N ! .;K[3w0 l v}''?6O!h       ' # 6@ P]m} M$$, 3'= e r     ;5.3d1=~4  7D Wd B"%,`R`:J'<dW*/$2$W|@  $i%Q67T3|FT  Rr r| H<P              } I      &  D JQ  *      7 S 2Z         " "> 'a - $ * 3Le/~Qdk r     # 4>ZM P/ 6!C e o|  %<RbO;NLJJ? $ ? !I!-!}&"!"-"K"d@#N$$A%C%~&&'P6'''E'E(MH(Q(>( ') 1) >)K) [)e)l)s)) )<))F*L*[*m********!*+7+ O+p+++++#+(,7,G,f,,,,, ,(,, , - - -'-;- ?-I-M-`-d-k-o---- --- - -.#.&8._.w. {.<.YV~" W{7]meBAmHnW9}02e3^B+v+k-tNY`0)uRz&?1(*f%X!$ #> 1/ qH& fBL bzVa*gMe, 'b$=" mTarxiDHqD&TgNu>"wzU#w%-Z-]%<dR9 k1^ALl\p2H-SFo+w5|dkQauW2K]A57:nR},|~)=I7^:W\I 8y oKD .}E !.</nM.z:YN6WR$58|Og,0;' |ZJ*@r3,4eyOsPJQui!R vS~MLGcV;cJhov QXE\M c: 2-+F4 Gsd%(SjIZs> P?atuj|Jxwi{[Y1*4@y.Dp7 5(<?8)lAt,XO2 9-i5v0GPSe{=t^~_[@$_%h*"#~/l^04; xCfl!9 ,(" 6E <Y6 U0>{*F vP]oZJXB_lgE'_!qd@p%p&kT(I\=Q1&[C 9Um#mjx3"sG:N'}yI)bnd`Uf+)h.'ctL3&C=j+rr]@n8Zc oK#;4EOQhKhKFV `}CM# `2DLjCS[ kV{6br?b3w!s_/\/1)N[<i/Ty?8z'XF;UH>.AxaP7qgTGB`p6  (O$qf3$ #1 Hack Prevention Security Solution: Hide WP CMS, 7G/8G Firewall, Brute Force Protection, 2FA, GEO Security, Temporary Logins, Alerts & more.%1$s is deprecated since version %2$s! Use %3$s instead. Please consider writing more inclusive code.%d %s ago%d %s remaining%s days since last update%s does not work without mode_rewrite. Please activate the rewrite module in Apache. %sMore details%s%s don't have the correct permission.%s is visible in source code%s path is accessible%s plugin(s) are outdated: %s%s plugin(s) have NOT been updated by their developers in the past 12 months: %s%s protects your website from most SQL injections but, if possible, use a custom prefix for database tables to avoid SQL injections. %sRead more%s%s rules are not saved in the config file and this may affect the website loading speed.%s theme(s) are outdated: %s%sClick here%s to create or view keys for Google reCAPTCHA v2.%sClick here%s to create or view keys for Google reCAPTCHA v3.%sERROR:%s Email or Password is incorrect. %s %d attempts left before lockout%sHide the login path%s from theme menu or widget.%sIncorrect ReCaptcha%s. Please try again%sNOTE:%s If you didn't receive the credentials, please access %s.%sYou failed to correctly answer the math problem.%s Please try again(* the plugin has no extra cost, gets installed / activated automatically inside WP when you click the button, and uses the same account)(multiple options are available)(useful when the theme is adding wrong admin redirects or infinite redirects)(works only with the custom admin-ajax path to avoid infinite loops)2FA2FA Login403 Forbidden403 HTML Error404 HTML Error404 Not Found404 page7G Firewall8G FirewallA feature designed to stops attacks from different countries, and to put an end to harmful activity that comes from specific regions.A thorough set of rules can prevent many types of SQL Injection and URL hacks from being interpreted.A user already exists with that username.API SecurityAPI SettingsAWS BitnamiAccording to %sGoogle latest stats%s, over %s 30k websites are hacked every day %s and %s over 30% of them are made in WordPress %s. %s It's better to prevent an attack than to spend a lot of money and time to recover your data after an attack not to mention the situation when your clients' data are stolen.ActionActivateActivate 'Must Use Plugin Loading' from 'Plugin Loading Hook' to be able to connect to your dashboard directly from managewp.com. %s click here %sActivate Brute Force ProtectionActivate Events LogActivate Log Users EventsActivate Temporary LoginsActivate Your PluginActivate info and logs for debugging.Activate the "Brute Force" option to see the user IP blocked reportActivate the "Log Users Events" option to see the user activity log for this websiteActivate the Brute Force protection for Woocommerce login/signup forms.Activate the Brute Force protection on lost password forms.Activate the Brute Force protection on sign up forms.Activate the firewall and prevent many types of SQL Injection and URL hacks.Activate the firewall and select the firewall strength that works for your website %s %s > Change Paths > Firewall & Headers %sActivation HelpAddAdd IP addresses that should always be blocked from accessing this website.Add Content-Security-Policy headerAdd Headers Security against XSS and Code Injection Attacks.Add IP addresses that can pass plugin security.Add IPs that can pass plugin securityAdd New Temporary LoginAdd New Temporary Login UserAdd Rewrites in WordPress Rules SectionAdd Security HeaderAdd Security Headers for XSS and Code Injection AttacksAdd Strict-Transport-Security headerAdd Two Factor security on login page with Code Scan or Email Code authentication.Add X-Content-Type-Options headerAdd X-XSS-Protection headerAdd a list of URLs you want to replace with new ones.Add a random static number to prevent frontend caching while the user is logged in.Add another CDN URLAdd another URLAdd another textAdd common WordPress classes in text mappingAdd paths that can pass plugin securityAdd paths that will be blocked for the selected countries.Add redirects for the logged users based on user roles.Add the CDN URLs you're using in the cache plugin. Admin PathAdmin SecurityAdmin ToolbarAdmin URLAdmin UsernameAdvancedAdvanced PackAdvanced SettingsAfghanistanAfter adding the classes, verify the frontend to ensure that your theme is not affected.After, click %sSave%s to apply the changes.Ajax SecurityAjax URLAland IslandsAlbaniaAlert Emails SentAlgeriaAll ActionsAll In One WP SecurityAll WebsitesAll files have the correct permissions.All plugins are compatibleAll plugins are up to dateAll plugins have been updated by their developers in the past 12 monthsAll the logs are saved on Cloud for 30 days and the report is available if your website is attacked.Allow Hidden PathsAllow users to log in to WooCommerce account using their email address and a unique login URL delivered via email.Allow users to log in to the website using their email address and a unique login URL delivered via email.Allowing anyone to view all files in the Uploads folder with a browser will allow them to easily download all your uploaded files. It's a security and a copyright issue.American SamoaAndorraAngolaAnguillaAntarcticaAntigua and BarbudaApacheArabicAre you sure you want to ignore this task in the future?ArgentinaArmeniaArubaAttention! Some URLs passed through the config file rules and were loaded through WordPress rewrite which may slow down your website. %s Please follow this tutorial to fix the issue: %sAustraliaAustriaAuthor PathAuthor URL by ID accessAuto DetectAutodetectAutomatically redirect the logged in users to the admin dashboardAutoptimizerAzerbaijanBackend under SSLBackup SettingsBackup/RestoreBackup/Restore SettingsBahamasBahrainBan durationBangladeshBarbadosBe sure to include only internal URLs, and use relative paths whenever possible.Beaver BuilderBelarusBelgiumBelizeBeninBermudaBest regardsBhutanBitnami detected. %sPlease read how to make the plugin compatible with AWS hosting%sBlacklistBlacklist IPsBlank Screen On DebuggingBlock CountriesBlock HostnamesBlock IP on login pageBlock ReferrerBlock Specific PathsBlock Theme Detectors CrawlersBlock User AgentsBlock known Users-Agents from popular Theme Detectors.Blocked IPsBlocked IPs ReportBlocked by BoliviaBonaire, Saint Eustatius and SabaBosnia and HerzegovinaBotswanaBouvet IslandBrazilBritish EnglishBritish Indian Ocean TerritoryBrunei DarussalamBrute ForceBrute Force IPs BlockedBrute Force Login ProtectionBrute Force ProtectionBrute Force SettingsBulgariaBulgarianBulletProof plugin! Make sure you save the settings in %s after activating Root Folder BulletProof Mode in BulletProof plugin.Burkina FasoBurundiBy activating, you agree to our %s Terms of Use %s and %sPrivacy Policy%sCDNCDN Enabled detected. Please include %s and %s paths in CDN Enabler SettingsCDN Enabler detected! Learn how to configure it with %s %sClick here%sCDN URLsCONNECTION ERROR! Make sure your website can access: %sCache CSS, JS and Images to increase the frontend loading speed.Cache EnablerCambodiaCameroonCan't download the plugin.CanadaCanadian FrenchCancelCancel the login hooks from other plugins and themes to prevent unwanted login redirects.Cape VerdeCatalan ValencianCayman IslandsCentral African RepublicChadChangeChange OptionsChange PathsChange Paths NowChange Paths for Logged UsersChange Paths in Ajax CallsChange Paths in Cached FilesChange Paths in RSS feedChange Paths in Sitemaps XMLChange Relative URLs to Absolute URLsChange WordPress paths while you're logged inChange paths in RSS feed for all images.Change paths in Sitemap XML files and remove the plugin author and styles.Change the Tagline in %s > %s > %sChange the WordPress common paths in the cached files.Change the signup path from %s %s > Change Paths > Custom Register URL%s or uncheck the option %s > %s > %sChange the text in all CSS and JS files, including those in cached files generated by cache plugins.Change the user 'admin' or 'administrator' with another name to improve security.Change the wp-config.php file permission to Read-Only using File Manager.Change the wp-content, wp-includes and other common paths with %s %s > Change Paths%sChange the wp-login from %s %s > Change Paths > Custom login URL%s and Switch on %s %s > Brute Force Protection%sChanging the predefined security headers may affect the website funtionality.Check Frontend PathsCheck Your WebsiteCheck for updatesCheck if the website paths are working correctly.Check if your website is secured with the current settings.Check the %s RSS feed %s and make sure the image paths are changed.Check the %s Sitemap XML %s and make sure the image paths are changed.Check the website loading speed with %sPingdom Tool%sChileChinaChoose a proper database password, at least 8 characters long with a combination of letters, numbers and special characters. After you change it, set the new password in the wp-config.php file define('DB_PASSWORD', 'NEW_DB_PASSWORD_GOES_HERE');Choose the countries where access to the website should be restricted.Choose the type of server you are using to get the most suitable configuration for your server.Chose what to do when accessing from whitelist IP addresses and whitelisted paths.Christmas IslandClean Login PageClick %sContinue%s to set the predefined paths.Click Backup and the download will start automatically. You can use the Backup for all your websites.Click to run the process to change the paths in the cache files.Close ErrorCloud PanelCloud Panel detected. %sPlease read how to make the plugin compatible with Cloud Panel hosting%sCntCocos (Keeling) IslandsColombiaComments PathComorosCompatibilityCompatibility SettingsCompatibility with Manage WP pluginCompatibility with Token Based Login pluginsCompatible with All In One WP Security plugin. Use them together for Virus Scan, Firewall, Brute Force protection.Compatible with JCH Optimize Cache plugin. Works with all the options to optimize for CSS and JS.Compatible with Solid Security plugin. Use them together for Site Scanner, File Change Detection, Brute Force Protection.Compatible with Sucuri Security plugin. Use them together for Virus Scan, Firewall, File Integrity Monitoring.Compatible with Wordfence Security plugin. Use them together for Malware Scan, Firewall, Brute Force protection.Compatible with all themes and plugins.Complete FixConfigConfig file is not writable. Create the file if not exists or copy to %s file the following lines: %sConfig file is not writable. Create the file if not exists or copy to %s file with the following lines: %sConfig file is not writable. You have to added it manually at the beginning of the %s file: %sConfirm use of weak passwordCongoCongo, The Democratic Republic of theCongratulations! You completed all the security tasks. Make sure you check your site once a week.ContinueConvert links like /wp-content/* into %s/wp-content/*.Cook IslandsCopy LinkCopy the %s SAFE URL %s and use it to deactivate all the custom paths if you can't login.Core Contents PathCore Includes PathCosta RicaCote dIvoireCould not detect the userCould not fix it. You need to change it manually.Could not found anything based on your search.Could not login with this user.Could not rename table %1$s. You may have to rename the table manually.Could not update prefix references in options table.Could not update prefix references in usermeta table.Country BlockingCreateCreate New Temporary LoginCreate a temporary login URL with any user role to access the website dashboard without username and password for a limited period of time.Create a temporary login URL with any user role to access the website dashboard without username and password for a limited period of time. %s This is useful when you need to give admin access to a developer for support or for performing routine tasks.CroatiaCroatianCubaCuracaoCustom Activation PathCustom Admin PathCustom Cache DirectoryCustom Login PathCustom Logout PathCustom Lost Password PathCustom Register PathCustom Safe URL ParamCustom admin-ajax PathCustom author PathCustom comment PathCustom message to show to blocked users.Custom plugins PathCustom theme style nameCustom themes PathCustom uploads PathCustom wp-content PathCustom wp-includes PathCustom wp-json PathCustomize & Secure all WordPress paths from hacker bots attacks.Customize Plugin NamesCustomize Theme NamesCustomize the CSS and JS URLs in your website body.Customize the IDs and Class names in your website body.CyprusCzechCzech RepublicDB Debug ModeDanishDashboardDatabase PrefixDateDeactivatedDebug ModeDefaultDefault Redirect After LoginDefault Temporary Expire TimeDefault User RoleDefault WordPress TaglineDefault user role for which the temporary login will be created.Delete Temporary Users on Plugin UninstallDelete userDenmarkDetailsDirectoriesDisable "rest_route" param accessDisable Click MessageDisable CopyDisable Copy/PasteDisable Copy/Paste MessageDisable Copy/Paste for Logged UsersDisable DISALLOW_FILE_EDIT for live websites in wp-config.php define('DISALLOW_FILE_EDIT', true);Disable Directory BrowsingDisable Drag/Drop ImagesDisable Drag/Drop MessageDisable Drag/Drop for Logged UsersDisable Inspect ElementDisable Inspect Element MessageDisable Inspect Element for Logged UsersDisable OptionsDisable PasteDisable REST API accessDisable REST API access for not logged in usersDisable REST API access using the parameter 'rest_route'Disable RSD Endpoint from XML-RPCDisable Right-ClickDisable Right-Click for Logged UsersDisable SCRIPT_DEBUG for live websites in wp-config.php define('SCRIPT_DEBUG', false);Disable View SourceDisable View Source MessageDisable View Source for Logged UsersDisable WP_DEBUG for live websites in wp-config.php define('WP_DEBUG', false);Disable XML-RPC accessDisable copy function on your websiteDisable image drag & drop on your websiteDisable paste function on your websiteDisable the RSD (Really Simple Discovery) support for XML-RPC & remove RSD tag from headerDisable the access to /xmlrpc.php to prevent %sBrute force attacks via XML-RPC%sDisable the copy/paste action on your website.Disable the external calls to xml-rpc.php file and prevent Brute Force attacks.Disable the inspect element view on your websiteDisable the right-click action on your website.Disable the right-click functionality on your websiteDisable the source-code view on your websiteDisplaying any kind of debug info in the frontend is extremely bad. If any PHP errors happen on your site they should be logged in a safe place and not displayed to visitors or potential attackers.DjiboutiDo Login & Logout RedirectsDo not log out from this browser until you are confident that the Log in page is working and you will be able to login again.Do not logout from your account until you are confident that reCAPTCHA is working and you will be able to login again.Do you want to delete temporary user?Do you want to restore the last saved settings?DominicaDominican RepublicDon't forget to reload the Nginx service.Don't let URLs like domain.com?author=1 show the user login nameDon't let hackers see any directory content. See %sUploads Directory%sDon't load Emoji Icons if you don't use themDon't load WLW if you didn't configure Windows Live Writer for your siteDon't load oEmbed service if you don't use oEmbed videosDon't select any role if you want to log all user rolesDone!Download DebugDrupal 10Drupal 11Drupal 8Drupal 9DutchERROR! Please make sure you use a valid token to activate the pluginERROR! Please make sure you use the right token to activate the pluginEcuadorEdit UserEdit userEdit wp-config.php and add ini_set('display_errors', 0); at the end of the fileEgyptEl SalvadorElementorEmailEmail AddressEmail NotificationEmail address already existsEmail your hosting company and tell them you'd like to switch to a newer version of MySQL or move your site to a better hosting companyEmail your hosting company and tell them you'd like to switch to a newer version of PHP or move your site to a better hosting company.EmptyEmpty ReCaptcha. Please complete reCaptcha.Empty email addressEnabling this option may slow down the website, as CSS and JS files will load dynamically instead of through rewrites, allowing the text within them to be modified as needed.EnglishEnter the 32 chars token from Order/Licence on %sEquatorial GuineaEritreaError! No backup to restore.Error! The backup is not valid.Error! The new paths are not loading correctly. Clear all cache and try again.Error! The preset could not be restored.Error: You entered the same URL twice in the URL Mapping. We removed the duplicates to prevent any redirect errors.Error: You entered the same text twice in the Text Mapping. We removed the duplicates to prevent any redirect errors.EstoniaEthiopiaEuropeEven if the default paths are protected by %s after customization, we recommend setting the correct permissions for all directories and files on your website, use File Manager or FTP to check and change the permissions. %sRead more%sEvents LogEvents Log ReportEvents Log SettingsEvery good developer should turn on debugging before getting started on a new plugin or theme. In fact, the WordPress Codex 'highly recommends' that developers use SCRIPT_DEBUG. Unfortunately, many developers forget the debug mode even when the website is live. Showing debug logs in the frontend will let hackers know a lot about your WordPress website.Every good developer should turn on debugging before getting started on a new plugin or theme. In fact, the WordPress Codex 'highly recommends' that developers use WP_DEBUG.

Unfortunately, many developers forget the debug mode, even when the website is live. Showing debug logs in the frontend will let hackers know a lot about your WordPress website.Example:Expire TimeExpiredExpiresExposing the PHP version will make the job of attacking your site much easier.Fail AttemptsFailedFalkland Islands (Malvinas)Faroe IslandsFeaturesFeed & SitemapFeed SecurityFijiFile PermissionsFile permissions in WordPress play a critical role in website security. Properly configuring these permissions ensures that unauthorized users cannot gain access to sensitive files and data.
Incorrect permissions can inadvertently open your website to attacks, making it vulnerable.
As a WordPress administrator, understanding and correctly setting file permissions are essential for safeguarding your site against potential threats.FilesFilterFinlandFirewallFirewall & HeadersFirewall Against Script InjectionFirewall LocationFirewall StrengthFirewall against injections is loadedFirst NameFirst, you need to activate the %sSafe Mode%s or %sGhost Mode%sFirst, you need to activate the %sSafe Mode%s or %sGhost Mode%s in %sFix PermissionsFix itFix permission for all directories and files (~ 1 min)Fix permission for the main directories and files (~ 5 sec)FlywheelFlywheel detected. Add the redirects in the Flywheel Redirect rules panel %s.Folder %s is browsableForbiddenFranceFrenchFrench GuianaFrench PolynesiaFrench Southern TerritoriesFrom: %s <%s>Front pageFrontend Login TestFrontend TestFully compatible with Autoptimizer cache plugin. Works best with the the option Optimize/Aggregate CSS and JS files.Fully compatible with Beaver Builder plugin. Works best together with a cache plugin.Fully compatible with Cache Enabler plugin. Works best with the the option Minify CSS and JS files.Fully compatible with Elementor Website Builder plugin. Works best together with a cache pluginFully compatible with Fusion Builder plugin by Avada. Works best together with a cache plugin.Fully compatible with Hummingbird cache plugin. Works best with the the option Minify CSS and JS files.Fully compatible with LiteSpeed Cache plugin. Works best with the the option Minify CSS and JS files.Fully compatible with Oxygen Builder plugin. Works best together with a cache plugin.Fully compatible with W3 Total Cache plugin. Works best with the the option Minify CSS and JS files.Fully compatible with WP Fastest Cache plugin. Works best with the the option Minify CSS and JS files.Fully compatible with WP Super Cache cache plugin.Fully compatible with WP-Rocket cache plugin. Works best with the the option Minify/Combine CSS and JS files.Fully compatible with Woocommerce plugin.Fusion BuilderGabonGambiaGeneralGeo SecurityGeographic Security is a feature designed to stops attacks from different countries, and to put an end to harmful activity that comes from specific regions.GeorgiaGermanGermanyGhanaGhost ModeGhost Mode + Firewall + Brute Force + Events Log + Two factorGhost Mode will set these predefined pathsGhost modeGibraltarGive random names to each pluginGive random names to each theme (works in WP multisite)Global class name detected: %s. Read this article first: %sGo to Events Log PanelGo to the Dashboard > Appearance section and update all the themes to the last version.Go to the Dashboard > Plugins section and update all the plugins to the last version.GodaddyGodaddy detected! To avoid CSS errors, make sure you switch off the CDN from %sGoodGoogle reCAPTCHA V2Google reCAPTCHA V3Google reCaptcha V3 is not working with the current login form of %s .Great! The backup is restored.Great! The initial values are restored.Great! The new paths are loading correctly.Great! The preset was loaded.GreeceGreekGreenlandGrenadaGuadeloupeGuamGuatemalaGuernseyGuineaGuinea-BissauGuyanaHaitiHaving the admin URL visible in the source code it's awful because hackers will immediately know your secret admin path and start a Brute Force attack. The custom admin path should not appear in the ajax URL.

Find solutions for %s how to hide the path from source code %s.Having the login URL visible in the source code is awful because hackers will immediately know your secret login path and start a Brute Force attack.

The custom login path should be kept secret, and you should have Brute Force Protection activated for it.

Find solutions for %s hiding the login path from source code here %s.Having this PHP directive enabled will leave your site exposed to cross-site attacks (XSS).

There's absolutely no valid reason to enable this directive, and using any PHP code that requires it is very risky.Header SecurityHeaders & FirewallHeard Island and McDonald IslandsHebrewHelp & FAQsHere is the list of select counties where your website will be restricted..HideHide "login" PathHide "wp-admin"Hide "wp-admin" From Non-Admin UsersHide "wp-login.php"Hide /login path from visitors.Hide /wp-admin path from non-administrator users.Hide /wp-admin path from visitors.Hide /wp-login.php path from visitors.Hide Admin ToolbarHide Admin Toolbar for users roles to prevent dashboard access.Hide All The PluginsHide Author ID URLHide Common FilesHide Embed scriptsHide EmojiconsHide Feed & Sitemap Link TagsHide File ExtensionsHide HTML CommentsHide IDs from META TagsHide Language SwitcherHide My WP GhostHide OptionsHide Paths in Robots.txtHide Plugin NamesHide REST API URL linkHide Theme NamesHide Version from Images, CSS and JS in WordPressHide Versions from Images, CSS and JSHide WLW Manifest scriptsHide WP Common FilesHide WP Common PathsHide WordPress Common FilesHide WordPress Common PathsHide WordPress DNS Prefetch META TagsHide WordPress Generator META TagsHide WordPress Old Plugins PathHide WordPress Old Themes PathHide WordPress common paths from %s Robots.txt %s file.Hide WordPress paths such as wp-admin, wp-content, and more from robots.txt file.Hide all versions from the end of any Image, CSS and JavaScript files.Hide both active and deactivated pluginsHide completed tasksHide passwordHide the /feed and /sitemap.xml link TagsHide the DNS Prefetch that points to WordPressHide the HTML Comments left by the themes and pluginsHide the IDs from all <links>, <style>, <scripts> META TagsHide the New Admin PathHide the New Login PathHide the WordPress Generator META tagsHide the admin toolbar for logged users while in frontend.Hide the language switcher option on the login pageHide the new admin path from visitors. Show the new admin path only for logged users.Hide the new login path from visitors. Show the new login path only for direct access.Hide the old /wp-content, /wp-include paths once they are changed with the new onesHide the old /wp-content, /wp-include paths once they are changed with the new ones.Hide the old /wp-content/plugins path once it's changed with the new oneHide the old /wp-content/themes path once it's changed with the new oneHide wp-admin from Ajax URLHide wp-config.php , wp-config-sample.php, readme.html, license.txt, upgrade.php and install.php filesHide wp-config.php, wp-config-sample.php, readme.html, license.txt, upgrade.php and install.php files..Hide wp-json & ?rest_route link tag from website headerHiding the ID from meta tags in WordPress can potentially impact the caching process of plugins that rely on identifying the meta tags.HindiHoly See (Vatican City State)HondurasHong KongHostnameHow long the temporary login will be available after the user first access.HummingbirdHungarianHungaryIIS WindowsIIS detected. You need to update your %s file by adding the following lines after <rules> tag: %sIPIP BlockedIcelandIf the reCAPTCHA displays any error, please make sure you fix them before moving forward.If the rewrite rules are not loading correctly in the config file, do not load the plugin and do not change the paths.If you are connected with the admin user, you will have to re-login after the change.If you can't configure %s, switch to Deactivated Mode and %scontact us%s.If you can't configure reCAPTCHA, switch to Math reCaptcha protection.If you do not have an e-commerce, membership or guest posting website, you shouldn't let users subscribe to your blog. You will end up with spam registrations and your website will be filled with spammy content and comments.If you have access to php.ini file, set allow_url_include = off or contact the hosting company to set it offIf you have access to php.ini file, set expose_php = off or contact the hosting company to set it offIf you have access to php.ini file, set register_globals = off or contact the hosting company to set it offIf you have access to php.ini file, set safe_mode = off or contact the hosting company to set it offIf you notice any functionality issue please select the %sSafe Mode%s.If you're able to log in, you've set the new paths correctly.If you're able to login, you've set reCAPTCHA correctly.If you're not using Windows Live Writer there's really no valid reason to have its link in the page header, because this tells the whole world you're using WordPress.If you're not using any Really Simple Discovery services such as pingbacks, there's no need to advertise that endpoint (link) in the header. Please note that for most sites this is not a security issue because they "want to be discovered", but if you want to hide the fact that you're using WP, this is the way to go.If your site allows user logins, you need your login page to be easy to find for your users. You also need to do other things to protect against malicious login attempts.

However, obscurity is a valid security layer when used as part of a comprehensive security strategy, and if you want to cut down on the number of malicious login attempts. Making your login page difficult to find is one way to do that.Ignore security taskImmediately block incorrect usernames on login forms.In .htaccess fileIn the old days, the default WordPress admin username was 'admin' or 'administrator'. Since usernames make up half of the login credentials, this made it easier for hackers to launch brute-force attacks.

Thankfully, WordPress has since changed this and now requires you to select a custom username at the time of installing WordPress.Indeed Ultimate Membership Pro detected. The plugin doesn't support custom %s paths as it doesn't use WordPress functions to call the Ajax URLIndiaIndonesiaIndonesianInfoInmotionInmotion detected. %sPlease read how to make the plugin compatible with Inmotion Nginx Cache%sInstall/ActivateIntegration with other CDN plugins and custom CDN URLs.Invalid ReCaptcha. Please complete reCaptcha.Invalid email addressInvalid name detected: %s. Add only the final path name to avoid WordPress errors.Invalid name detected: %s. The name can't end with / to avoid WordPress errors.Invalid name detected: %s. The name can't start with / to avoid WordPress errors.Invalid name detected: %s. The paths can't end with . to avoid WordPress errors.Invalid name detected: %s. You need to use another name to avoid WordPress errors.Invalid username.Iran, Islamic Republic ofIraqIrelandIsle of ManIsraelIt's important to %s save your settings every time you change them %s. You can use the backup to configure other websites you own.It's important to hide or remove the readme.html file because it contains WP version details.It's important to hide the common WordPress paths to prevent attacks on vulnerable plugins and themes.
Also, it's important to hide the names of plugins and themes to make it impossible for bots to detect them.It's important to rename common WordPress paths, such as wp-content and wp-includes to prevent hackers from knowing that you have a WordPress website.It's not safe to have Database Debug turned on. Make sure you don't use Database debug on live websites.ItalianItalyJCH Optimize CacheJamaicaJananeseJapanJavascript is disabled on your browser! You need to activate the javascript in order to use %s plugin.JerseyJoomla 3Joomla 4Joomla 5JordanJust another WordPress siteKazakhstanKenyaKiribatiKnow what the other users are doing on your website.KoreanKosovoKuwaitKyrgyzstanLanguageLao Peoples Democratic RepublicLast 30 days Security StatsLast AccessLast NameLast check:Late LoadingLatviaLatvianLearn HowLearn How To Add the CodeLearn how to disable %sDirectory Browsing%s or switch on %s %s > Change Paths > Disable Directory Browsing%sLearn how to set your website as %s. %sClick Here%sLearn how to setup on Local & NginxLearn how to setup on Nginx serverLearn how to use the shortcodeLearn more aboutLearn more about %s 7G firewall %s.Learn more about %s 8G firewall %s.Leave it blank if you don't want to display any messageLeave it blank to block all paths for the selected countries.LebanonLesothoLet's take your security to the next level!Level of SecurityLevels of securityLiberiaLibyan Arab JamahiriyaLicence TokenLiechtensteinLimit the number of allowed login attempts using normal login form.LiteSpeedLiteSpeed CacheLithuaniaLithuanianLoad PresetLoad Security PresetsLoad after all plugins are loaded. On "template_redirects" hook.Load before all plugins are loaded. On "plugins_loaded" hook.Load custom language is WordPress local language is installed.Load the plugin as a Must Use plugin.Load when the plugins are initialized. On "init" hook.Local & NGINX detected. In case you didn't add the code in the NGINX config already, please add the following line. %sLocal by FlywheelLocationLock userLockout MessageLog User RolesLog Users EventsLogin & Logout RedirectsLogin Blocked by Login PathLogin Redirect URLLogin SecurityLogin TestLogin URLLogout Redirect URLLost Password Form ProtectionLuxembourgMacaoMadagascarMagic Link LoginMake sure the redirect URLs exist on your website. %sThe User Role redirect URL has higher priority than the Default redirect URL.Make sure you know what you do when changing the headers.Make sure you save the settings and empty the cache before checking your website with our tool.MalawiMalaysiaMaldivesMaliMaltaManage Brute Force ProtectionManage Login and Logout RedirectsManage whitelist & blacklist IP addressesManually block/unblock IP addresses.Manually customize each plugin name and overwrite the random nameManually customize each theme name and overwrite the random nameManually whitelist trusted IP addresses.MappingMarshall IslandsMartiniqueMath & Google reCaptcha verification while logging in.Math reCAPTCHAMauritaniaMauritiusMax fail attemptsMayotteMediumMembershipMexicoMicronesia, Federated States ofMinimalMinimal (No Config Rewrites)Moldova, Republic ofMonacoMongoliaMonitor everything that happens on your WordPress site!Monitor, track and log events on your website.MontenegroMontserratMore HelpMore information about %sMore optionsMoroccoMost WordPress installations are hosted on the popular Apache, Nginx and IIS web servers.MozambiqueMust Use Plugin LoadingMy AccountMyanmarMysql VersionNGINX detected. In case you didn't add the code in the NGINX config already, please add the following line. %sNameNamibiaNauruNepalNetherlandsNew CaledoniaNew Login DataNew Plugin/Theme detected! Update %s settings to hide it. %sClick here%sNew ZealandNext StepsNginxNicaraguaNigerNigeriaNiueNoNo CMS SimulationNo Recent Updates ReleasedNo blacklisted ipsNo log found.No temporary logins.No, abortNo. of secondsNorfolk IslandNormal LoadingNormally, the option to block visitors from browsing server directories is activated by the host through server configuration, and activating it twice in the config file may cause errors, so it's best to first check if the %sUploads Directory%s is visible.North KoreaNorth Macedonia, Republic ofNorthern Mariana IslandsNorwayNorwegianNot yet logged inNote that this option won't activate the CDN for your website, but it will update the custom paths if you've already set a CDN URL with another plugin.Note! %sPaths are NOT physically change%s on your server.Note! The plugin will use WP cron to change the paths in background once the cache files are created.Note: If you can`t login to your site, just access this URLNotification SettingsOkay, I set it upOmanOn website initializationOnce you bought the plugin, you will receive the %s credentials for your account by email.One DayOne HourOne MonthOne WeekOne YearOne of the most important files in your WordPress installation is the wp-config.php file.
This file is located in the root directory of your WordPress installation and contains your website's base configuration details, such as database connection information.Only change this option if the plugin fails to identify the server type correctly.Optimize CSS and JS filesOption to inform user about remaining attempts on login page.OptionsOutdated PluginsOutdated ThemesOverviewOxygenPHP VersionPHP allow_url_include is onPHP expose_php is onPHP register_globals is onPHP safe mode was one of the attempts to solve security problems of shared web hosting servers.

It is still being used by some web hosting providers, however, nowadays this is regarded as improper. A systematic approach proves that it’s architecturally incorrect to try solving complex security issues at the PHP level, rather than at the web server and OS levels.

Technically, safe mode is a PHP directive that restricts the way some built-in PHP functions operate. The main problem here is inconsistency. When turned on, PHP safe mode may prevent many legitimate PHP functions from working correctly. At the same time there exists a variety of methods to override safe mode limitations using PHP functions that aren’t restricted, so if a hacker has already got in – safe mode is useless.PHP safe_mode is onPage Not FoundPakistanPalauPalestinian TerritoryPanamaPapua New GuineaParaguayPassedPath not allowed. Avoid paths like plugins and themes.Paths & OptionsPaths changed in the existing cache filesPause for 5 minutesPermalinksPersianPeruPhilippinesPitcairnPlease be aware that if you do not consent to storing data on our Cloud, we kindly request that you refrain from activating this feature.Please visit %s to check your purchase and to get the license token.Plugin Loading HookPlugins PathPlugins SecurityPlugins SettingsPlugins that have not been updated in the last 12 months can have real security problems. Make sure you use updated plugins from WordPress Directory.Plugins/Themes editor disabledPolandPolishPortugalPortuguesePreset SecurityPrevent Broken Website LayoutPriority LoadingProtects your WooCommerce shop against brute force login attacks.Protects your website against Brute Force login attacks using %s A common threat web developers face is a password-guessing attack known as a Brute Force attack. A Brute Force attack is an attempt to discover a password by systematically trying every possible combination of letters, numbers, and symbols until you discover the one correct combination that works.Protects your website against Brute Force login attacks.Protects your website against brute force login attacks.Prove your humanity:Puerto RicoQatarQuick FixRDS is visibleRandom Static NumberReactivate user for 1 dayRedirect After LoginRedirect Hidden PathsRedirect Logged Users To DashboardRedirect temporary users to a custom page after login.Redirect the protected paths /wp-admin, /wp-login to a Page or trigger an HTML Error.Redirect user to a custom page after login.RedirectsRemoveRemove PHP version, Server info, Server Signature from header.Remove Plugins Authors & Style in Sitemap XMLRemove Unsafe HeadersRemove pingback link tag from the website header.Rename readme.html file or switch on %s %s > Change Paths > Hide WordPress Common Files%sRename wp-admin/install.php & wp-admin/upgrade.php files or switch on %s %s > Change Paths > Hide WordPress Common Paths%sRenewResetReset SettingsResolving hostnames may affect the website loading speed.Restore BackupRestore SettingsResume SecurityReunionRobots SecurityRoleRollback SettingsRollback all the plugin settings to initial values.RomaniaRomanianRun %s Frontend Test %s to check if the new paths are working.Run %s Login Test %s and log in inside the popup.Run %sreCAPTCHA Test%s and login inside the popup.Run Full Security CheckRussianRussian FederationRwandaSSL is an abbreviation used for Secure Sockets Layers, which are encryption protocols used on the internet to secure information exchange and provide certificate information.

These certificates provide an assurance to the user about the identity of the website they are communicating with. SSL may also be called TLS or Transport Layer Security protocol.

It's important to have a secure connection for the Admin Dashboard in WordPress.Safe ModeSafe Mode + Firewall + Brute Force + Events Log + Two factorSafe Mode + Firewall + Compatibility SettingsSafe Mode will set these predefined pathsSafe URL:Safe modeSaint BartelemeySaint HelenaSaint Kitts and NevisSaint LuciaSaint MartinSaint Pierre and MiquelonSaint Vincent and the GrenadinesSalts and Security Keys validSamoaSan MarinoSao Tome and PrincipeSaudi ArabiaSaveSave Debug LogSave UserSavedSaved! This task will be ignored on future tests.Saved! You can run the test again.Script Debug ModeSearchSearch in user events log and manage the email alertsSecret KeySecret keys for %sGoogle reCAPTCHA%s.Secure WP PathsSecurity CheckSecurity Keys UpdatedSecurity StatusSecurity keys are defined in wp-config.php as constants on lines. They should be as unique and as long as possible. AUTH_KEY,SECURE_AUTH_KEY,LOGGED_IN_KEY,NONCE_KEY,AUTH_SALT,SECURE_AUTH_SALT,LOGGED_IN_SALT,NONCE_SALTSecurity keys are used to ensure better encryption of information stored in the user's cookies and hashed passwords.

These make your site more difficult to hack, access and crack by adding random elements to the password. You don't have to remember these keys. In fact, once you set them you'll never see them again. Therefore, there's no excuse for not setting them properly.See the last days actions on this website ...Select PresetSelect User RolesSelect a preset security settings we've tested on most websites.Select allSelect how long the temporary login will be available after the first user access.Select the file extensions you want to hide on old pathsSelect the files you want to hide on old pathsSelected CountriesSend me an email with the changed admin and login URLsSenegalSerbiaSerbianServer TypeSet Custom Cache DirectorySet Login & Logout Redirects based on User Roles.Set the current user role.Set the website you want this user to be created for.SettingsSeychellesShort name detected: %s. You need to use unique paths with more than 4 chars to avoid WordPress errors.ShowShow /%s instead of /%sShow Advanced OptionsShow Default Paths & Allow Hidden PathsShow Defaults Paths & Allow EverythingShow blank screen when Inspect Element is active on browser.Show completed tasksShow ignored tasksShow message instead of login formShow passwordSierra LeoneSign Up Form ProtectionSimplified ChineseSimulate CMSSingaporeSint MaartenSite keySite keys for %sGoogle reCaptcha%s.SiteGroundSitemap SecuritySix MonthsSlovakSlovakiaSloveneSloveniaSolid SecuritySolomon IslandsSomaliaSome plugins may remove custom rewrite rules from the .htaccess file, especially if it's writable, which can affect the functionality of custom paths..Some themes don't work with custom Admin and Ajax paths. In case of ajax errors, switch back to wp-admin and admin-ajax.php.Sorry, you are not allowed to access this page.South AfricaSouth Georgia and the South Sandwich IslandsSouth KoreaSpainSpammers can easily signupSpanishSri LankaStart ScanSucuri SecuritySudanSuper AdminSurinameSvalbard and Jan MayenSwazilandSwedenSwedishSwitch on %s %s > Change Paths > Hide WordPress Common Paths%sSwitch on %s %s > Change Paths > Disable XML-RPC access%sSwitch on %s %s > Change Paths > Hide Author ID URL%sSwitch on %s %s > Change Paths > Hide RSD Endpoint%sSwitch on %s %s > Change Paths > Hide WordPress Common Files%sSwitch on %s %s > Change Paths > Hide wp-admin from ajax URL%s. Hide any reference to admin path from the installed plugins.Switch on %s %s > Tweaks > %s %sSwitch on %s %s > Tweaks > Hide WLW Manifest scripts%sSwitzerlandSyrian Arab RepublicTaglineTaiwanTajikistanTanzania, United Republic ofTemporary LoginTemporary Login SettingsTemporary LoginsTest your website headers withText & URL MappingText MappingText Mapping in CSS and JS files including cached filesText Mapping only Classes, IDs, JS variablesThaiThailandThank you for using %s!The %s section has been relocated %s here %sThe Ghost Mode will add the rewrites rules in the config file to hide the old paths from hackers.The REST API is crucial for many plugins as it allows them to interact with the WordPress database and perform various actions programmatically.The Safe Mode will add the rewrites rules in the config file to hide the old paths from hackers.The Safe URL will deactivate all the custom paths. Use it only if you can't login.The WordPress database is like a brain for your entire WordPress site, because every single bit of information about your site is stored there, thus making it a hacker’s favorite target.

Spammers and hackers run automated code for SQL injections.
Unfortunately, many people forget to change the database prefix when they install WordPress.
This makes it easier for hackers to plan a mass attack by targeting the default prefix wp_.The WordPress site tagline is a short phrase located under the site title, similar to a subtitle or advertising slogan. The goal of a tagline is to convey the essence of your site to visitors.

If you don't change the default tagline it will be very easy to detect that your website was actually built with WordPressThe constant ADMIN_COOKIE_PATH is defined in wp-config.php by another plugin. You can't change %s unless you remove the line define('ADMIN_COOKIE_PATH', ...);.The list of plugins and themes was updated with success!The most common way to hack a website is by accessing the domain and adding harmful queries in order to reveal information from files and database.
These attacks are made on any website, WordPress or not, and if a call succeeds … it will probably be too late to save the website.The plugins and themes file editor is a very convenient tool because it enables you to make quick changes without the need to use FTP.

Unfortunately, it's also a security issue because it not only shows the PHP source code, it also enables attackers to inject malicious code into your site if they manage to gain access to admin.The process was blocked by the website’s firewall.The requested URL %s was not found on this server.The response parameter is invalid or malformed.The secret parameter is invalid or malformed.The secret parameter is missing.The security keys in wp-config.php should be renewed as often as possible.Themes PathThemes SecurityThemes are up to dateThere has been a critical error on your website.There has been a critical error on your website. Please check your site admin email inbox for instructions.There is a configuration error in the plugin. Please Save the settings again and follow the instruction.There is a newer version of WordPress available ({version}).There is no changelog available.There is no such thing as an "unimportant password"! The same goes for your WordPress database password.
Although most servers are configured so that the database can't be accessed from other hosts (or from outside the local network), that doesn't mean your database password should be "12345" or no password at all.This amazing feature isn't included in the basic plugin. Want to unlock it? Simply install or activate the Advanced Pack and enjoy the new security features.This is one of the biggest security issues you can have on your site! If your hosting company has this directive enabled by default, switch to another company immediately!This may not work with all new mobile devices.This option will add rewrite rules to the .htaccess file in the WordPress rewrite rules area between the comments # BEGIN WordPress and # END WordPress.This will prevent from showing the old paths when an image or font is called through ajaxThree DaysThree HoursTimor-LesteTo change the paths in the cached files, switch on %s Change Paths in Cached Files%sTo hide the Avada library, please add the Avada FUSION_LIBRARY_URL in wp-config.php file after $table_prefix line: %sTo improve your website's security, consider removing authors and styles that point to WordPress in your sitemap XML.TogoTokelauTongaTrack and Log the website events and receive security alerts by email.Track and log events that happen on your WordPress siteTraditional ChineseTrinidad and TobagoTroubleshootingTunisiaTurkeyTurkishTurkmenistanTurks and Caicos IslandsTurn off the debug plugins if your website is live. You can also add the option to hide the DB errors global $wpdb; $wpdb->hide_errors(); in wp-config.php fileTuvaluTweaksTwo-factor authenticationURL MappingUgandaUkraineUkrainianUltimate Affiliate Pro detected. The plugin doesn't support custom %s paths as it doesn't use WordPress functions to call the Ajax URLUnable to update the wp-config.php file in order to update the Database Prefix.UndoUnited Arab EmiratesUnited KingdomUnited StatesUnited States Minor Outlying IslandsUnknown update checker status "%s"Unlock allUpdate the settings on %s to refresh the paths after changing REST API path.UpdatedUpload the file with the saved plugin settingsUploads PathUrgent Security Actions RequiredUruguayUse Brute Force ProtectionUse Temporary LoginsUse the %s shortcode to integrate it with other login forms.UserUser 'admin' or 'administrator' as AdministratorUser ActionUser Events LogUser RoleUser SecurityUser could not be activated.User could not be addedUser could not be deleted.User could not be disabled.User roles for who to disable the Right-ClickUser roles for who to disable the copy/pasteUser roles for who to disable the drag/dropUser roles for who to disable the inspect elementUser roles for who to disable the view sourceUser roles for who to hide the admin toolbarUser successfully activated.User successfully created.User successfully deleted.User successfully disabled.User successfully updated.Usernames (unlike passwords) are not secret. By knowing someone's username, you can't log in to their account. You also need the password.

However, by knowing the username, you are one step closer to logging in using the username to brute-force the password, or to gain access in a similar way.

That's why it's advisable to keep the list of usernames private, at least to some degree. By default, by accessing siteurl.com/?author={id} and looping through IDs from 1 you can get a list of usernames, because WP will redirect you to siteurl.com/author/user/ if the ID exists in the system.Using an old version of MySQL makes your site slow and prone to hacker attacks due to known vulnerabilities that exist in versions of MySQL that are no longer maintained.

You need Mysql 5.4 or higherUsing an old version of PHP makes your site slow and prone to hacker attacks due to known vulnerabilities that exist in versions of PHP that are no longer maintained.

You need PHP 7.4 or higher for your website.UzbekistanValidValueVanuatuVenezuelaVersions in Source CodeVietnamVietnameseView detailsVirgin Islands, BritishVirgin Islands, U.S.W3 Total CacheWP Core SecurityWP Debug ModeWP EngineWP Fastest CacheWP RocketWP Super CacheWP Super Cache CDN detected. Please include %s and %s paths in WP Super Cache > CDN > Include directoriesWPBakery Page BuilderWPPluginsWallis and FutunaWeak name detected: %s. You need to use another name to increase your website security.WebsiteWestern SaharaWhere to add the firewall rules.WhitelistWhitelist IPsWhitelist OptionsWhitelist PathsWindows Live Writer is onWooCommerce Safe LoginWooCommerce SupportWoocommerceWoocommerce Magic LinkWordPress Database PasswordWordPress Default PermissionsWordPress Security CheckWordPress VersionWordPress XML-RPC is a specification that aims to standardize communications between different systems. It uses HTTP as the transport mechanism and XML as encoding mechanism to enable a wide range of data to be transmitted.

The two biggest assets of the API are its extendibility and its security. XML-RPC authenticates using basic authentication. It sends the username and password with each request, which is a big no-no in security circles.WordPress and its plugins and themes are like any other software installed on your computer, and like any other application on your devices. Periodically developers release updates which provide new features or fix known bugs.

New features may be something that you do not necessarily want. In fact, you may be perfectly satisfied with the functionality you currently have. Nevertheless, you may still be concerned about bugs.

Software bugs can come in many shapes and sizes. A bug could be very serious, such as preventing users from using a plugin, or it could be a minor bug that only affects a certain part of a theme, for example. In some cases, bugs can even cause serious security holes.

Keeping themes up to date is one of the most important and easiest ways to keep your site secure.WordPress and its plugins and themes are like any other software installed on your computer, and like any other application on your devices. Periodically, developers release updates which provide new features, or fix known bugs.

These new features may not necessarily be something that you want. In fact, you may be perfectly satisfied with the functionality you currently have. Nevertheless, you are still likely to be concerned about bugs.

Software bugs can come in many shapes and sizes. A bug could be very serious, such as preventing users from using a plugin, or it could be minor and only affect a certain part of a theme, for example. In some cases, bugs can cause serious security holes.

Keeping plugins up to date is one of the most important and easiest ways to keep your site secure.WordPress is well-known for its ease of installation.
It's important to hide the wp-admin/install.php and wp-admin/upgrade.php files because there have already been a couple of security issues regarding these files.WordPress, plugins and themes add their version info to the source code, so anyone can see it.

Hackers can easily find a website with vulnerable version plugins or themes, and target these with Zero-Day Exploits.Wordfence SecurityWpEngine detected. Add the redirects in the WpEngine Redirect rules panel %s.Wrong Username ProtectionXML-RPC SecurityXML-RPC access is onYemenYesYes, it's workingYou already defined a different wp-content/uploads directory in wp-config.php %sYou can ban a single IP address like 192.168.0.1 or a range of 245 IPs like 192.168.0.*. These IPs will not be able to access the login page.You can create a new page and come back to choose to redirect to that page.You can generate %snew Keys from here%s AUTH_KEY,SECURE_AUTH_KEY,LOGGED_IN_KEY,NONCE_KEY,AUTH_SALT,SECURE_AUTH_SALT,LOGGED_IN_SALT,NONCE_SALTYou can now turn off '%s' option.You can set to receive security alert emails and prevent data loss.You can white-list a single IP address like 192.168.0.1 or a range of 245 IPs like 192.168.0.*. Find your IP with %sYou can't set both ADMIN and LOGIN with the same name. Please use different namesYou don't have the permission to access %s on this server.You need to activate the URL Rewrite for IIS to be able to change the permalink structure to friendly URL (without index.php). %sMore details%sYou need to set a positive number of attempts.You need to set a positive waiting time.You need to set the permalink structure to friendly URL (without index.php).You should always update WordPress to the %slatest versions%s. These usually include the latest security fixes, and don't alter WP in any significant way. These should be applied as soon as WP releases them.

When a new version of WordPress is available, you will receive an update message on your WordPress Admin screens. To update WordPress, click the link in this message.You should check your website every week to see if there are any security changes.Your %s %s license expired on %s %s. To keep your website security up to date please make sure you have a valid subscription on %saccount.hidemywpghost.com%sYour IP has been flagged for potential security violations. Please try again in a little while...Your admin URL can't be changed on %s hosting because of the %s security terms.Your admin URL is changed by another plugin/theme in %s. To activate this option, disable the custom admin in the other plugin or deativate it.Your login URL is changed by another plugin/theme in %s. To activate this option, disable the custom login in the other plugin or deativate it.Your login URL is: %sYour login URL will be: %s In case you can't login, use the safe URL: %sYour new password has not been saved.Your new site URLs areYour website security %sis extremely weak%s. %sMany hacking doors are available.Your website security %sis very weak%s. %sMany hacking doors are available.Your website security is getting better. %sJust make sure you complete all the security tasks.Your website security is still weak. %sSome of the main hacking doors are still available.Your website security is strong. %sKeep checking the security every week.ZambiaZimbabweactivate featureafter first accessalready activedarkdefaultdisplay_errors PHP directivee.g. *.colocrossing.come.g. /cart/e.g. /cart/ will whitelist all path starting with /cart/e.g. /checkout/e.g. /post-type/ will block all path starting with /post-type/e.g. acapbote.g. alexibote.g. badsite.come.g. gigabote.g. kanagawa.come.g. xanax.comeg.eg. /logout oreg. adm, backeg. ajax, jsoneg. aspect, templates, styleseg. comments, discussioneg. core, inc, includeeg. disable_url, safe_urleg. images, fileseg. json, api, calleg. lib, libraryeg. login or signineg. logout or disconnecteg. lostpass or forgotpasseg. main.css, theme.css, design.csseg. moduleseg. multisite activation linkeg. newuser or registereg. profile, usr, writerfromhelphttps://hidemywp.comignore alertinstall.php & upgrade.php files are accessiblelightloglogsmore detailsnot recommendedonly %d charsorpassword mismatchMismatchpassword strengthMediumpassword strengthPassword strength unknownpassword strengthStrongpassword strengthVery weakpassword strengthWeakreCAPTCHA TestreCAPTCHA V2 TestreCAPTCHA V3 TestreCaptcha LanguagereCaptcha Themereadme.html file is accessiblerecommendedredirectssee featurestart feature setupthe plugin titleA new version of the %s plugin is available.the plugin titleCould not determine if updates are available for %s.the plugin titleThe %s plugin is up to date.totoo simplewp-config.php & wp-config-sample.php files are accessibleProject-Id-Version: Hide My WP Ghost PO-Revision-Date: 2024-10-10 20:13+0300 Last-Translator: gpt-po v1.0.11 Language-Team: Language: zh_CN MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=1; plural=0; X-Generator: Poedit 3.5 X-Poedit-Basepath: .. X-Poedit-Flags-xgettext: --add-comments=translators: X-Poedit-WPHeader: index.php X-Poedit-SourceCharset: UTF-8 X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;_nx_noop:3c,1,2;__ngettext_noop:1,2 X-Poedit-SearchPath-0: . X-Poedit-SearchPathExcluded-0: *.min.js #1 黑客预防安全解决方案:隐藏 WP CMS、7G/8G 防火墙、暴力破解保护、双因素认证、地理位置安全、临时登录、警报等。%1$s 自版本 %2$s 起已被弃用!请改用 %3$s。请考虑编写更具包容性的代码。%d %s 之前剩余 %d %s自上次更新以来的%s天%s 不支持没有 mode_rewrite。请在 Apache 中激活 rewrite 模块。%s更多细节%s%s 没有正确的权限。%s 在源代码中可见%s 路径可访问%s 插件已过时:%s%s插件在过去12个月内未被其开发者更新:%s%s 可以保护您的网站免受大多数 SQL 注入攻击,但如果可能的话,请使用自定义前缀来避免 SQL 注入。 %s阅读更多%s%s 规则未保存在配置文件中,这可能会影响网站的加载速度。%s 个主题已过时:%s%s单击此处%s创建或查看 Google 重新验证码查 v2 的密钥。%s点击这里%s创建或查看 Google reCAPTCHA v3 的密钥。%sERROR:%s电子邮件或密码不正确。锁定前还剩%s %d 次尝试%s从主题菜单或小部件中隐藏登录路径%s。%s不正确的重新捕获%s。请重试%s注:%s如果您没有收到凭据,请访问%s。%s 您未能正确回答数学问题,%s 请重试(* 该插件没有额外费用,在您点击按钮时会自动安装/激活在 WP 内,并使用相同的账户)(多个选项可供选择)(当主题添加错误的管理员重定向或无限重定向时,这很有用)(仅适用于自定义管理员-ajax路径以避免无限循环)双因素认证双因素认证登录403 禁止访问403 HTML 错误404 HTML 错误404 Not Found404页面7G 防火墙8G 防火墙一个旨在阻止来自不同国家的攻击,并终止来自特定地区的有害活动的功能。一套完整的规则可以防止许多类型的SQL Injection和URL hack被解释。已存在具有该用户名的用户。API安全API 设置AWS Bitnami根据%sGoogle最新统计数据%s,每天有超过%s 30k的网站被黑客攻击 %s,而且%s 其中超过30%是WordPress制作的网站 %s。%s 预防攻击总比在攻击后花费大量的金钱和时间来恢复数据要好,更不用说当你的客户数据被盗的情况了。动作激活激活“Must Use Plugin Loading”从“Plugin Loading Hook”以便能够直接从managewp.com连接到您的仪表板。%s点击这里%s激活暴力破解保护激活事件日志激活日志用户事件激活临时登录激活插件激活信息和日志以进行调试。激活“Brute Force”选项以查看用户IP被阻止的报告。激活“记录用户事件”选项以查看此网站的用户活动日志。为Woocommerce登录/注册表单激活暴力破解保护。在丢失密码表单上启用暴力破解保护。在注册表单上启用暴力破解保护。激活防火墙并阻止许多类型的SQL注入和URL黑客攻击。激活防火墙并选择适合您网站的防火墙强度 %s %s > 更改路径 > 防火墙和标头 %s激活帮助添加添加应始终被阻止访问该网站的 IP 地址。添加 Content-Security-Policy 头部添加标题 防止跨站脚本攻击和代码注入攻击。添加可以通过插件安全性检查的 IP 地址。添加可以通过插件安全性检查的 IP 地址。添加新的临时登录添加新的临时登录用户在WordPress规则部分添加重写。添加安全标头为防止跨站脚本(XSS)和代码注入攻击,请添加安全头部。添加严格的运输安全头在登录页面上添加双因素安全验证,可选择二维码扫描或邮箱验证码验证。增加 X-Content-Type-Options header添加X-XSS-Protection header请提供您想要替换为新网址的网址列表。在用户登录时添加一个随机静态数字,以防止前端缓存。添加另一个CDN URL添加另一个URL添加其他文字在文本映射中添加常见的WordPress类。添加可以通过插件安全性检查的路径为所选国家添加将被阻止的路径。为已登录用户根据用户角色添加重定向。请添加您在缓存插件中使用的 CDN URL。管理员路径管理员安全管理工具栏管理员 URL管理员用户名高级高级包高级设置阿富汗添加完类别后,请验证前端,确保您的主题未受影响。点击%s保存%s以应用更改。Ajax 安全Ajax URL奥兰群岛阿尔巴尼亚警报邮件已发送阿尔及利亚所有操作全能WP安全所有的网站所有文件都具有正确的权限。所有插件都兼容所有插件都是最新的所有插件在过去12个月内均已由其开发者更新。所有日志都保存在云端30天,如果您的网站受到攻击,报告是可用的。允许隐藏路径允许用户使用其电子邮件地址和通过电子邮件发送的唯一登录网址登录到 WooCommerce 账户。允许用户使用其电子邮件地址和通过电子邮件发送的唯一登录网址登录网站。允许任何人使用浏览器查看“上载”文件夹中的所有文件,将使他们能够轻松下载所有上载的文件。这是一个安全性和版权问题。美属萨摩亚安道尔安哥拉安圭拉南极洲安提瓜和巴布达Apache阿拉伯您确定将来要忽略此任务吗?阿根廷亚美尼亚阿鲁巴注意!一些 URL 通过配置文件规则传递,并通过 WordPress 重写加载,可能会减慢您的网站速度。%s 请按照此教程修复问题:%s澳大利亚奥地利作者路径通过ID访问作者URL自动侦测自动检测自动将已登录用户重定向到管理面板Autoptimizer阿塞拜疆SSL后端备份设置备份/还原备份和恢复我的设置巴哈马巴林禁令期限孟加拉国巴巴多斯请确保仅包含内部URL,并尽可能使用相对路径。海狸建设者白俄罗斯比利时伯利兹贝宁百慕大致敬不丹Bitnami检测到。%s请阅读如何使插件与AWS托管兼容%s。黑名单黑名单IP。调试时屏幕空白封锁国家阻止主机名在登录页面上阻止IP阻止引荐者阻止特定路径阻止主题检测爬虫阻止用户代理阻止已知的用户代理从流行的主题检测器。阻止的IP已封锁的 IP 报告被阻止了玻利维亚博奈尔、圣尤斯特歇斯和萨巴波斯尼亚和黑塞哥维那博茨瓦纳布韦岛巴西英國英語英属印度洋领地文莱达鲁萨兰国暴力破解暴力破解 IP 地址已被阻止暴力登录保护暴力破解保护蛮力设置保加利亚保加利亚语BulletProof 插件!在激活 BulletProof 插件中的 Root Folder BulletProof 模式后,请确保在 %s 中保存设置。布基纳法索布隆迪通过激活,即表示您同意我们的%s使用条款%s和%s隐私政策%s。CDN检测到 CDN 已启用。请在 CDN 启用器设置中包含 %s 和 %s 路径。CDN Enabler检测到!学习如何使用 %s 配置它 %s点击这里%sCDN网址连接错误!确保您的网站可以访问:%s缓存CSS,JS和图像以提高前端加载速度。缓存启用程序柬埔寨喀麦隆无法下载插件。加拿大加拿大法语取消取消其他插件和主题的登录挂钩,以防止不必要的登录重定向。佛得角加泰罗尼亚瓦伦西亚开曼群岛中非共和国乍得更改更改选项更改路径立即改变路径。更改登录用户的路径更改Ajax调用中的路径更改缓存文件中的路径更改 RSS 订阅中的路径更改站点图 XML 中的路径将相对 URL 更改为绝对 URL。在您登录的情况下更改WordPress路径更改 RSS 源中所有图片的路径。更改Sitemap XML文件中的路径并删除插件作者和样式。在%s > %s > %s中更改标签更改缓存文件中的WordPress常见路径。将注册路径更改为 %s %s > 更改路径 > 自定义注册网址%s 或取消选中选项 %s > %s > %s更改所有 CSS 和 JS 文件中的文本,包括由缓存插件生成的缓存文件中的文本。更改用户'admin'或'administrator'为另一个名称以提高安全性。使用文件管理器将wp-config.php文件权限更改为“只读”。更改 wp-content、wp-includes 和其他常见路径为 %s %s > 更改路径%s将wp-login从%s %s更改为>更改路径>自定义登录URL%s并将%s %s打开>暴力保护%s更改预定义的安全标头可能会影响网站功能。检查前端路径检查您的网站检查更新检查一下网站路径是否正常工作。检查您的网站是否受当前设置保护。检查 %s 的 RSS 订阅 %s,并确保更改了图像路径。检查一下 %s 网站地图 XML %s,确保图片路径已更改。使用%sPingdom工具%s检查网站加载速度智利中国选择一个适当的数据库密码,至少8个字符长,字母,数字和特殊字符的组合。更改后,在 wp 配置文件中设置新密码.php文件 define('DB_PASSWORD', 'NEW_DB_PASSWORD_GOES_HERE');选择应该限制访问网站的国家。选择您正在使用的服务器类型,以获取最适合您服务器的配置。选择在访问白名单 IP 地址和白名单路径时要执行的操作。圣诞岛干净的登录页面点击%s继续%s以设置预定义路径。单击备份,下载将自动开始。您可以对所有网站使用备份。点击运行流程,更改缓存文件中的路径。关闭错误云面板检测到 Cloud Panel。%s请阅读如何使插件与 Cloud Panel 主机兼容%sCnt科科斯(基林)群岛哥伦比亚评论路径科摩罗兼容性兼容性设置与 Manage WP 插件兼容与基于令牌的登录插件兼容性与All In One WP Security插件兼容。一起使用可进行病毒扫描、防火墙、暴力破解保护。兼容 JCH Optimize Cache 插件。适用于所有优化 CSS 和 JS 的选项。与Solid Security插件兼容。一起使用以进行站点扫描、文件更改检测和暴力攻击防护。与Sucuri Security插件兼容。一起使用可进行病毒扫描、防火墙、文件完整性监控。与Wordfence Security插件兼容。一起使用可进行恶意软件扫描、防火墙、暴力破解保护。兼容所有主题和插件。完成修复配置配置文件不可写。如果不存在,请创建文件,或将以下行复制到%s文件中:%s配置文件不可写。如果不存在,请创建该文件,或将以下行复制到%s文件中:%s配置文件不可写。必须手动将其添加到%s文件的开头:%s确认使用弱密码刚果刚果民主共和国您已完成所有安全任务。请务必每周检查一次您的网站。继续将 /wp-content/* 等链接转换为 %s/wp-content/*。库克群岛复制链接复制%s安全网址%s,如果无法登录,请使用它来停用所有自定义路径。核心内容路径核心包含路径哥斯达黎加科特迪瓦无法检测到用户无法修复。您需要手动更改。未找到与您搜索相关的任何内容。无法使用此用户登录。无法重命名表 %1$s。您可能需要手动重命名表。无法更新选项表中的前缀引用。无法更新用户元数据表中的前缀引用。国家封锁创建创建新的临时登录创建一个临时登录网址,任何用户角色都可以在有限的时间内访问网站仪表板,无需用户名和密码。创建一个临时登录链接,赋予任意用户角色访问网站仪表盘的权限,无需用户名和密码,时间限制。 %s 当您需要为开发人员提供支持或执行常规任务时,这将非常有用。克罗地亚克罗地亚语古巴库拉索自定义激活路径自定义Admin路径自定义缓存目录自定义登录路径自定义注销路径自定义丢失的密码路径自定义注册路径自定义安全网址参数自定义 admin-ajax 路径自定义作者路径自定义评论路径被封锁用户的自定义消息。自定义插件路径自定义主题样式名称自定义主题路径自定义上传路径自定义 wp-content 路径自定义 wp-includes 路径自定义wp-json路径定制并保护所有WordPress路径,防止黑客机器人攻击。自定义插件名称自定义主题名称在您的网站主体中自定义 CSS 和 JS 的 URL。请在您的网站主体中自定义ID和类名。塞浦路斯捷克语捷克共和国数据库调试模式丹麦语仪表板数据库前缀日期停用调试模式默认登录后的默认重定向默认临时过期时间默认用户角色默认WordPress标语为临时登录创建的默认用户角色。在插件卸载时删除临时用户。删除用户丹麦详情目录禁用 "rest_route" 参数访问禁用点击消息禁用复制禁用复制/粘贴禁用复制/粘贴消息禁用已登录用户的复制/粘贴功能在wp中禁用不允许对实时网站编辑文件-配置.phpdefine('DISALLOW_FILE_EDIT',true);禁用目录浏览禁用拖放图片禁用拖放消息禁用已登录用户的拖放功能禁用检查元素禁用检查元素消息禁用已登录用户的“检查元素”功能禁用选项禁用粘贴禁用 REST API 访问禁用未登录用户的 REST API 访问。使用参数 'rest_route' 禁用 REST API 访问。禁用 XML-RPC 中的 RSD 终端点禁用右键单击禁用已登录用户的右键单击wp 配置中实时网站的禁用SCRIPT_DEBUG.php define('SCRIPT_DEBUG', false);禁用查看源代码禁用查看源消息禁用查看源代码功能对已登录用户在 wp-config.phpdefine('WP_DEBUG', false)中禁用实时网站的WP_DEBUG禁用XML-RPC访问在您的网站上禁用复制功能在您的网站上禁用图片拖放功能在您的网站上禁用粘贴功能禁用 XML-RPC 的 RSD(Really Simple Discovery)支持,并从标头中移除 RSD 标记。禁用对/xmlrpc.php的访问,以防止通过XML-RPC的%s暴力攻击%s。在您的网站上禁用复制/粘贴操作。禁用对 xml-rpc.php 文件的外部调用,并防止暴力破解攻击。禁用您网站上的检查元素视图在您的网站上禁用右键单击操作。禁用网站上的右键功能禁用您网站上的源代码查看功能在前端显示任何类型的调试信息都是非常糟糕的。如果您的网站上发生任何PHP错误,则应将其记录在安全的地方,并且不要向访问者或潜在的攻击者显示。吉布提执行登录和注销重定向。请在您确信登录页面正常运作并且能够再次登录之前,不要从这个浏览器登出。请在您确信 reCAPTCHA 正常运作并且能够再次登录之前不要注销您的账户。你想删除临时用户吗?您想恢复上次保存的设置吗?多米尼加多米尼加共和国不要忘记重新加载Nginx服务。不要让诸如domain.com?author=1之类的URL显示用户登录名不要让黑客看到任何目录内容。请参阅%s上载目录%s如果不使用表情符号图标,请勿加载它们如果没有为您的站点配置Windows Live Writer,请不要加载WLW如果您不使用oEmbed视频,请不要加载oEmbed服务如果要记录所有用户角色,请不要选择任何角色Done!下载调试Drupal 10Drupal 11Drupal 8Drupal 9荷兰语错误!请确保使用有效的令牌激活插件错误!请确保使用正确的令牌来激活插件厄瓜多尔编辑用户编辑用户编辑 wp-config.php 文件,在文件末尾添加 ini_set('display_errors', 0);。埃及萨尔瓦多Elementor电子邮件电子邮件地址电子邮件通知电子邮件地址已存在给您的托管公司发送电子邮件,并告诉他们您想切换到新版本的MySQL或将您的网站迁移到更好的托管公司给您的托管公司发送电子邮件,并告诉他们您想切换到新版本的PHP或将您的网站迁移到更好的托管公司。空空的重新捕获。请完成重新捕获。空电子邮件地址启用此选项可能会减慢网站速度,因为 CSS 和 JS 文件将通过动态加载而不是通过重写加载,从而允许根据需要修改其中的文本。英语请输入来自%s订单/许可证的32个字符令牌。赤道几内亚厄立特里亚错误!没有备份可供恢复。备份无效。错误!新路径未正确加载。清除所有缓存,然后重试。错误!无法恢复预设设置。错误:您在 URL 映射中输入了同一个 URL 两次。我们删除了重复,以防止任何重定向错误。错误:您在“文本映射”中两次输入了相同的文本。我们删除了重复项以防止任何重定向错误。爱沙尼亚埃塞俄比亚欧洲即使默认路径在自定义后由 %s 保护,我们建议为您网站上的所有目录和文件设置正确的权限,请使用文件管理器或FTP检查和更改权限。%s阅读更多%s事件日志事件日志报告事件日志设置每个好的开发人员都应在开始使用新的插件或主题之前打开调试。实际上,WordPress Codex强烈建议开发人员使用SCRIPT_DEBUG。不幸的是,即使网站上线,许多开发人员也忘记了调试模式。在前端显示调试日志将使黑客对您的WordPress网站有很多了解。每个好的开发人员都应在开始使用新的插件或主题之前打开调试。实际上,WordPress Codex强烈建议开发人员使用WP_DEBUG。

不幸的是,即使网站上线了,许多开发人员也忘记了调试模式。在前端显示调试日志将使黑客对您的WordPress网站有很多了解。例子:过期时间已过期过期公开PHP版本将使攻击您的网站变得容易得多。失败尝试失败福克兰群岛(马尔维纳斯)法罗群岛特征馈送 & 网站地图安全食品斐济文件权限在WordPress中,文件权限在网站安全中起着至关重要的作用。正确配置这些权限可确保未经授权的用户无法访问敏感文件和数据。
不正确的权限可能会无意中使您的网站暴露于攻击之下,使其变得脆弱。
作为WordPress管理员,了解并正确设置文件权限对于保护您的网站免受潜在威胁至关重要。文件筛选芬兰防火墙防火墙和标头防止脚本注入的防火墙防火墙位置防火墙强度防注入防火墙已加载名字首先,您需要激活%s安全模式%s或%s隐身模式%s。首先,您需要在%s中激活%s安全模式%s或%s隐身模式%s。修复权限修复它修复所有目录和文件的权限(~1分钟)修复主目录和文件的权限(~ 5 秒)飞轮检测到飞轮。在飞轮重定向规则面板中添加重定向 %s。文件夹 %s 是可浏览的被禁止法国法语法属圭亚那法属波利尼西亚法属南部领地自: %s <%s>首页前端登录测试前端测试与Autoptimizer缓存插件完全兼容。最佳效果可通过选择“优化/聚合CSS和JS文件”选项来实现。与海狸建站者插件完全兼容。与缓存插件一起使用效果最佳。与Cache Enabler插件完全兼容。最佳效果与选项Minify CSS和JS文件一起使用。完全兼容 Elementor 网站构建插件。与缓存插件一起使用效果最佳。与 Avada 的 Fusion Builder 插件完全兼容。与缓存插件一起使用效果最佳。完全兼容蜂鸟缓存插件。最佳效果需要启用“压缩CSS和JS文件”选项。与 LiteSpeed Cache 插件完全兼容。最佳效果在启用“压缩 CSS 和 JS 文件”选项时。与 Oxygen Builder 插件完全兼容。与缓存插件一起使用效果最佳。完全兼容W3 Total Cache插件。最佳效果需要启用“Minify CSS and JS files”选项。与 WP Fastest Cache 插件完全兼容。最佳效果在于选择“压缩 CSS 和 JS 文件”选项。与WP Super Cache缓存插件完全兼容。完全兼容WP-Rocket缓存插件。最佳效果在于启用Minify/Combine CSS和JS文件选项。完全兼容WooCommerce插件。Fusion Builder加蓬冈比亚常规地理安全地理安全是一项旨在阻止来自不同国家的攻击,并制止来自特定地区的有害活动的功能。乔治亚德语德国加纳隐身模式隐身模式 + 防火墙 + 暴力破解 + 事件日志 + 两步验证Ghost Mode 将设置这些预定义路径幽灵模式直布罗陀给每个插件随机命名为每个主题随机命名(可在WP多站点中使用)全局类名检测到:%s。首先阅读本文:%s。转到活动日志面板前往仪表盘 > 外观部分,并将所有主题更新至最新版本。前往仪表盘 > 插件部分,并将所有插件更新至最新版本。Godaddy检测到了!为避免 CSS 错误,请确保从 %s 关闭 CDN好Google reCAPTCHA V2Google reCAPTCHA V3Google reCaptcha V3 无法与当前登录表单 %s 配合使用。备份已还原。很好!初始值已恢复。很好!新路径正在正确加载。很好!预设已加载。希腊希腊语格陵兰格林纳达瓜德罗普关岛危地马拉根西岛几内亚几内亚比绍圭亚那海地在源代码中显示管理员URL是很糟糕的,因为黑客会立即知道你的秘密管理员路径并开始暴力破解攻击。自定义管理员路径不应出现在ajax URL中。

找到解决方案%s如何隐藏路径免于源代码%s。在源代码中显示登录URL是糟糕的,因为黑客会立即知道你的秘密登录路径并开始暴力破解攻击。

自定义登录路径应保持秘密,并应为其激活暴力破解保护。

在%s这里找到隐藏登录路径不被源代码发现的解决方案%s。启用此PHP指令将使您的站点遭受跨站点攻击(XSS)。

绝对没有充分的理由启用此指令,并且使用任何需要该指令的PHP代码都非常冒险。安全标头标题和防火墙赫德岛和麦克唐纳群岛希伯来语帮助和常见问题解答这是您的网站将受限制的选定县市列表。隐藏隐藏 "login" 路径隐藏"wp-admin"隐藏非管理员用户的 "wp-admin" 页面隐藏 “wp-login.php”隐藏访客的/login路径。隐藏非管理员用户的/wp-admin路径。隐藏访客的/wp-admin路径。隐藏访客的 /wp-login.php 路径。隐藏管理工具栏隐藏管理员工具栏,以防止用户角色访问仪表板。隐藏所有插件隐藏作者ID网址隐藏常见文件隐藏嵌入脚本隐藏表情符号隐藏Feed & Sitemap链接标签隐藏文件扩展隐藏 HTML 注释隐藏 META 标签中的 ID。隐藏语言切换器Hide My WP Ghost隐藏选项在 Robots.txt 文件中隐藏路径隐藏插件名称隐藏 REST API URL 链接隐藏主题名称在WordPress中隐藏图像、CSS和JS中的版本。隐藏图像、CSS 和 JS 的版本隐藏 WLW Manifest 脚本隐藏 WP 通用文件隐藏 WP 通用路径隐藏文字新闻公共文件隐藏WordPress常用路径隐藏 WordPress DNS 预取 META 标签隐藏 WordPress 生成器 META 标签隐藏 WordPress 旧插件路径隐藏 WordPress 旧主题路径隐藏WordPress常见路径,不要在%s Robots.txt %s文件中显示。隐藏 WordPress 路径,如 wp-admin、wp-content 等,不要在 robots.txt 文件中显示。隐藏所有图像、CSS 和 JavaScript 文件末尾的版本。隐藏所有已激活和已停用的插件隐藏已完成的任务隐藏密码隐藏/feed和/sitemap.xml链接标签隐藏指向WordPress的DNS预取。隐藏主题和插件留下的 HTML 注释。隐藏所有<links>,<style>,<scripts>和META标签中的ID。隐藏新管理员路径隐藏新的登录路径隐藏WordPress生成器META标签在前端页面中,对已登录用户隐藏管理员工具栏。在登录页面上隐藏语言切换选项。隐藏新的管理员路径,对访客不可见。仅对已登录用户显示新的管理员路径。隐藏新的登录路径,对访客不可见。仅在直接访问时显示新的登录路径。一旦旧的 /wp-content、/wp-include 路径被更改为新路径,请隐藏它们。一旦旧的 /wp-content、/wp-include 路径被更改为新路径,请隐藏它们。一旦将旧路径更改为新路径,请隐藏旧的 /wp-content/plugins 路径。一旦用新路径替换旧路径,请隐藏旧的 /wp-content/themes 路径。隐藏 wp-admin 从 Ajax URL隐藏 wp-config.php、wp-config-sample.php、readme.html、license.txt、upgrade.php 和 install.php 文件。隐藏 wp-config.php、wp-config-sample.php、readme.html、license.txt、upgrade.php 和 install.php 文件。隐藏网站页眉中的 wp-json 和 ?rest_route 链接标签在WordPress中隐藏meta标签中的ID可能会对依赖于识别meta标签的插件的缓存过程产生影响。印地语教廷(梵蒂冈城国)洪都拉斯香港主机名用户首次访问后,临时登录将保持多久可用?蜂鸟匈牙利语匈牙利IIS Windows检测到IIS。您需要在<rules>标记后添加以下行来更新%s文件:%sIPIP 已封锁冰岛如果重新捕获CHA显示任何错误,请在前进之前确保修复它们。如果重写规则在配置文件中未正确加载,请不要加载插件,也不要更改路径。如果您与管理员用户连接,更改后您将需要重新登录。如果无法配置%s,请切换到停用模式,并%s联系我们%s。如果无法配置reCAPTCHA,请切换到数学reCaptcha保护。如果您没有电子商务,会员资格或访客发布网站,则不应让用户订阅您的博客。您最终将获得垃圾邮件注册,并且您的网站将充满垃圾内容和评论。如果您有权访问php.ini文件,请设置allow_url_include = off或与托管公司联系以将其关闭如果您有权访问php.ini文件,请设置expose_php = off或与托管公司联系以将其关闭如果您有权访问php.ini文件,请设置register_globals = off或与托管公司联系以将其关闭如果您有权访问php.ini文件,请设置safe_mode = off或与托管公司联系以将其关闭如果您注意到任何功能问题,请选择%s安全模式%s。如果您能够登录,那么您已经正确设置了新路径。如果您能够登录,则已正确设置重新验证。如果您不使用Windows Live Writer,则没有充分的理由在页面标题中添加其链接,因为这可以告诉您整个世界都在使用WordPress。如果您不使用任何诸如pingbacks的Really Simple Discovery服务,则无需在标头中播发该端点(链接)。请注意,对于大多数站点来说,这不是安全问题,因为它们“很容易被发现”,但是如果您想隐藏使用WP的事实,这就是可行的方法。如果您的站点允许用户登录,则需要您的登录页面以便于用户轻松查找。您还需要做其他事情来防止恶意登录尝试。

但是,如果将模糊处理用作全面安全策略的一部分,并且要减少恶意登录尝试的次数,则它是有效的安全层。使登录页面难以查找是实现此目的的一种方法。忽略安全任务立即在登录表单上封锁不正确的用户名。在 .htaccess 文件中在过去,WordPress 的默认管理员用户名是 'admin' 或 'administrator'。由于用户名构成登录凭据的一半,这使得黑客更容易发动暴力破解攻击。

幸运的是,WordPress 已经改变了这一点,现在在安装 WordPress 时需要您选择一个自定义用户名。确实检测到 Ultimate Membership Pro。该插件不支持自定义 %s 路径,因为它不使用 WordPress 函数来调用 Ajax URL。印度印度尼西亚印度尼西亚语信息Inmotion检测到运动。%s请阅读如何使插件与Inmotion Nginx缓存%s兼容安装/激活与其他CDN插件集成和自定义CDN网址。无效的 ReCaptcha。请完成 reCaptcha。无效的电子邮件地址检测到无效名称:%s。请仅添加最终路径名以避免WordPress错误。检测到无效名称:%s。名称不能以 / 结尾,以避免 WordPress 错误。检测到无效名称:%s。该名称不能以 / 开头以避免WordPress错误。检测到无效名称:%s。路径不能以结尾。以避免WordPress错误。检测到无效名称:%s。您需要使用其他名称以避免WordPress错误。无效的用户名。伊朗,伊斯兰共和国伊拉克爱尔兰马恩岛以色列每次更改设置时都要%s保存%s,这很重要。您可以使用备份来配置您拥有的其他网站。隐藏或删除readme.html文件很重要,因为它包含WP版本的详细信息。重要的是隐藏通用的WordPress路径,以防止对易受攻击的插件和主题的攻击。
另外,重要的是隐藏插件和主题的名称,以使机器人无法检测到它们。重命名常见的WordPress路径非常重要,例如wp-content和wp-includes,以防止黑客知道您拥有WordPress网站。开启数据库调试并不安全。确保您不在实时网站上使用数据库调试。意大利语意大利JCH 优化缓存牙买加日本语日本您的浏览器已禁用JavaScript!您需要激活JavaScript才能使用%s插件。球衣Joomla 3Joomla 4。Joomla 5乔丹只是另一个WordPress网站哈萨克斯坦肯尼亚基里巴斯了解其他用户在您的网站上正在做什么。韩语科索沃科威特吉尔吉斯斯坦语言老挝人民民主共和国过去30天的安全统计数据最后访问姓氏最后一次检查:延迟加载拉脱维亚拉脱维亚语了解如何将您的网站设置为%s。 %s点击这里%s了解如何添加代码学习如何禁用%s目录浏览%s或切换至%s%s > 更改路径 > 禁用目录浏览%s了解如何将您的网站设置为%s。 %s点击这里%s学习如何在本地和Nginx上设置。了解如何在 Nginx 服务器上设置学习如何使用短代码学习更多关于了解更多关于 %s 7G 防火墙 %s。了解更多关于 %s 8G 防火墙 %s。Leave it blank if you don't want to display any message留空以阻止所选国家的所有路径。黎巴嫩莱索托让我们把您的安全提升到一个新水平吧!安全级别安全等级利比里亚利比亚阿拉伯民众国许可证令牌列支敦士登使用普通登录表单限制允许的登录尝试次数。LiteSpeedLiteSpeed Cache立陶宛立陶宛语加载预设加载安全预设在所有插件加载完成后加载。在 "template_redirects" 钩子上。在所有插件加载之前加载。在“plugins_loaded”挂钩上。加载自定义语言是WordPress本地语言已安装。将插件加载为必用插件。在插件初始化时加载。在“init”挂钩上。本地和NGINX已检测到。如果您尚未在NGINX配置中添加代码,请添加以下行。 %s本地 by Flywheel位置锁定用户锁定讯息记录用户角色记录用户事件登录和登出重定向登录被阻止 by登录路径登录重定向URL登录和安全登录测试登录网址注销重定向URL密码丢失表单保护卢森堡澳门马达加斯加魔法链接登录请确保重定向URL存在于您的网站上。%s用户角色的重定向URL优先级高于默认的重定向URL。确保你在更改标题时知道你在做什么。使用我们的工具检查您的网站之前,请确保保存设置并清空缓存。马拉维马来西亚马尔代夫马里马耳他管理暴力破解保护管理登录和注销重定向管理白名单和黑名单的IP地址手动阻止/解除阻止 IP 地址。请手动自定义每个插件名称并覆盖随机名称请手动自定义每个主题名称并覆盖随机名称。手动将受信任的 IP 地址列入白名单。映射马绍尔群岛马提尼克数学和 Google reCaptcha 验证登录。数学 reCAPTCHA毛里塔尼亚毛里求斯最大尝试失败次数马约特中等会员资格墨西哥密克罗尼西亚联邦最小最小化(无配置重写)摩尔多瓦,共和国摩纳哥蒙古监视WordPress网站上发生的一切!监控、跟踪并记录您网站上的事件。黑山蒙特塞拉特更多帮助关于%s的更多信息更多选项摩洛哥大多数WordPress安装都托管在流行的Apache,Nginx和IIS Web服务器上。莫桑比克必须使用插件加载我的账户缅甸MySQL版本已检测到NGINX。如果您尚未在NGINX配置中添加代码,请添加以下行。 %s名称纳米比亚瑙鲁尼泊尔荷兰新喀里多尼亚新的登录数据检测到新的插件/主题!更新 %s 设置以隐藏它。 %s点击这里%s新西兰下一步Nginx尼加拉瓜尼日尔尼日利亚纽埃不。不模拟 CMS最近没有发布更新。没有列入黑名单的ips找不到日志。不提供临时登录。不,中止秒诺福克岛正常加载通常,通过服务器配置,主机会激活阻止访问者浏览服务器目录的选项。在配置文件中激活两次可能会导致错误,因此最好先检查%s上传目录%s是否可见。朝鲜北马其顿,共和国北马里亚纳群岛挪威挪威语尚未登录请注意,此选项不会为您的网站激活 CDN,但如果您已经使用其他插件设置了 CDN URL,它将更新自定义路径。注意!在您的服务器上,路径%s未实际更改%s。注意!插件将使用WP cron在缓存文件创建后在后台更改路径。注意:如果您无法登录到您的网站,请访问此网址。通知设置好的,我已经设置好。阿曼在网站初始化时一旦您购买了插件,您将通过电子邮件收到您账户的%s凭据。一天一个小时一个月一周一年WordPress安装中最重要的文件之一是wp-config.php文件。
该文件位于WordPress安装的根目录中,并且包含您网站的基本配置详细信息,例如数据库连接信息。仅在插件无法正确识别服务器类型时更改此选项。优化CSS和JS文件在登录页面上提供通知用户剩余尝试次数的选项。选项过时的插件过时的主題概述氧气PHP版本PHP allow_url_include 已打开PHP expose_php 已打开PHP register_globals已开启PHP安全模式是解决共享Web托管服务器安全问题的尝试之一。

一些Web托管提供商仍在使用它,但是,现在认为这是不正确的。一种系统的方法证明,尝试在PHP级别而不是在Web服务器和OS级别解决复杂的安全问题在结构上是不正确的。

从技术上讲,安全模式是一种PHP指令,它限制了某些内置PHP函数的运行方式。这里的主要问题是不一致。启用后,PHP安全模式可能会阻止许多合法的PHP函数正常工作。同时,存在多种使用不受限制的PHP函数来覆盖安全模式限制的方法,因此,如果黑客已经进入–安全模式是无用的。PHP safe_mode 已打开页面未找到巴基斯坦帕劳巴勒斯坦领土巴拿马巴布亚新几内亚巴拉圭通过路径不允许。避免使用插件和主题等路径。路径和选项现有缓存文件中的路径已更改。暂停5分钟固定链接波斯语秘鲁菲律宾皮特凯恩请注意,如果您不同意将数据存储在我们的云端上,请您不要启用此功能。请访问%s查看您的购买信息并获取许可令牌。插件加载钩子插件路径插件安全插件设置过去12个月未更新的插件可能会遇到真正的安全问题。确保使用WordPress目录中的更新插件。禁用插件/主题编辑器波兰波兰语葡萄牙葡萄牙语预设安全防止网站布局混乱优先加载保护您的 WooCommerce 商店免受暴力登录攻击。使用 %s 保护您的网站免受暴力登录攻击。Web开发人员常面临的一种常见威胁是密码猜测攻击,也称为暴力攻击。暴力攻击是通过系统地尝试每种可能的字母、数字和符号组合来发现密码的尝试,直到找到有效的正确组合。保护您的网站免受暴力破解登录攻击。保护您的网站免受暴力登录攻击。证明你是人:波多黎各卡塔尔快速修复RDS可见随机静态数字重新激活用户1天登录后重定向重定向隐藏路径将已登录用户重定向到仪表板在登录后将临时用户重定向到自定义页面。将受保护的路径 /wp-admin 和 /wp-login 重定向到一个页面或触发一个 HTML 错误。登录后将用户重定向到自定义页面。重定向删除从标头中删除 PHP 版本、服务器信息和服务器签名。在Sitemap XML中移除插件作者和样式删除不安全的标头从网站头部删除 pingback 链接标签。重命名 readme.html 文件或切换到 %s %s > 更改路径 > 隐藏 WordPress 常见文件%s重命名 wp-admin/install.php 和 wp-admin/upgrade.php 文件,或者打开 %s %s > 更改路径 > 隐藏 WordPress 常见路径%s更新重置重置设置解析主机名可能会影响网站加载速度。恢复备份恢复设置恢复安全团聚机器人安全角色回滚设置将所有插件设置回滚到初始值。罗马尼亚罗马尼亚语运行 %s 前端测试 %s,检查新路径是否正常工作。运行 %s 登录测试 %s 并在弹出窗口中登录。运行%sreCAPTCHA测试%s并在弹出窗口中登录。运行完整安全检查俄语俄罗斯联邦卢旺达SSL是安全套接字层(Secure Sockets Layers)的缩写,是互联网上用来保护信息交换和提供证书信息的加密协议。

这些证书向用户保证与他们正在通信的网站的身份。 SSL也可以称为TLS或传输层安全协议。

在WordPress中为管理仪表板建立安全连接非常重要。安全模式安全模式 + 防火墙 + 暴力破解 + 事件日志 + 两步验证安全模式 + 防火墙 + 兼容性设置安全模式将设置这些预定义路径安全网址:安全模式圣巴泰勒米圣赫勒拿圣基茨和尼维斯圣卢西亚圣马丁圣皮埃尔和密克隆岛圣文森特和格林纳丁斯安全密钥有效萨摩亚圣马力诺圣多美和普林西比沙特阿拉伯保存保存调试日志保存用户保存保存了!以后的测试中将忽略此任务。保存了!您可以再次运行测试。脚本调试模式搜索在用户事件日志中搜索并管理电子邮件警报密钥%s谷歌重新卡普查的秘密钥匙%s。安全的 WP 路径安全检查安全密钥已更新安全状态安全密钥在wp-config.php中定义为在线常量。它们应该是唯一且尽可能长的。 AUTH_KEY,SECURE_AUTH_KEY,LOGGED_IN_KEY,NONCE_KEY,AUTH_SALT,SECURE_AUTH_SALT,LOGGED_IN_SALT,NONCE_SALT安全密钥用于确保用户 cookie 和哈希密码中存储的信息更好地加密。

通过向密码添加随机元素,这些密钥使您的网站更难以被黑客入侵和破解。您无需记住这些密钥。事实上,一旦设置好,您将再也看不到它们。因此,没有理由不正确设置它们。查看此网站上最近几天的操作记录...选择预设选择用户角色选择我们在大多数网站上测试过的预设安全设置。选择全部选择首次用户访问后临时登录将保持多久可用。选择您想要在旧路径上隐藏的文件扩展名。选择您想要隐藏在旧路径上的文件。选定的国家给我发送一封电子邮件,其中包含更改后的管理员和登录URL塞内加尔塞尔维亚塞尔维亚语服务器类型设置自定义缓存目录根据用户角色设置登录和登出重定向。设置当前用户角色。请设置您希望为其创建用户的网站。设置塞舌尔检测到短名称:%s。您需要使用包含4个以上字符的唯一路径,以避免WordPress错误。展示显示/%s而不是/%s显示高级选项显示默认路径并允许隐藏路径显示默认路径并允许所有操作在浏览器上激活“检查元素”时显示空白屏幕。显示已完成的任务显示被忽略的任务显示消息而不是登录表单显示密码塞拉利昂注册表单保护简体中文模拟 CMS新加坡圣马丁网站密钥%sGoogle reCaptcha%s 的站点密钥。SiteGround网站地图安全六个月斯洛伐克语斯洛伐克斯洛文尼亚斯洛文尼亚可靠的安全措施所罗门群岛索马里一些插件可能会从.htaccess文件中删除自定义重写规则,特别是如果该文件是可写的,这可能会影响自定义路径的功能性。某些主题不适用于自定义管理员和 Ajax 路径。如果出现 ajax 错误,则切换回 wp-管理员和管理-阿贾克斯.php。抱歉,您无权访问此页面。南非南乔治亚岛和南桑威奇群岛韩国西班牙垃圾邮件发送者可以轻松注册西班牙语斯里兰卡开始扫描Sucuri 安全苏丹超级管理员苏里南斯瓦尔巴和扬马延斯威士兰瑞典瑞典语打开 %s %s > 更改路径 > 隐藏WordPress常见路径%s打开 %s %s > 更改路径 > 禁用 XML-RPC 访问%s打开 %s %s > 更改路径 > 隐藏作者 ID URL%s打开 %s %s > 更改路径 > 隐藏 RSD 端点%s打开 %s %s > 更改路径 > 隐藏 WordPress 常见文件%s打开 %s %s > 更改路径 > 从 ajax URL%s 中隐藏 wp-admin。从已安装插件中隐藏对管理路径的任何引用。打开 %s %s > 调整 > %s %s打开 %s %s > 调整 > 隐藏 WLW Manifest 脚本%s瑞士叙利亚阿拉伯共和国标语台湾塔吉克斯坦坦桑尼亚联合共和国临时登录临时登录设置临时登录测试您的网站标题。文本和 URL 映射文字对应在 CSS 和 JS 文件中进行文本映射,包括缓存文件。仅文本映射类,ID,JS变量泰国泰国感谢您使用 %s!%s 部分已被搬迁至 %s 此处 %s幽灵模式将在配置文件中添加重写规则,以隐藏旧路径,防止黑客攻击。REST API 对许多插件至关重要,因为它允许它们与 WordPress 数据库进行交互并以编程方式执行各种操作。安全模式将在配置文件中添加重写规则,以隐藏旧路径,防止黑客攻击。安全 URL 将停用所有自定义路径。仅在无法登录时使用。WordPress数据库就像整个WordPress网站的大脑一样,因为有关您网站的每点信息都存储在此,因此成为黑客最喜欢的目标。

垃圾邮件发送者和黑客为SQL注入运行自动代码。
不幸的是,许多人在安装WordPress时忘记更改数据库前缀。
这可以使黑客更容易通过针对默认前缀wp_来计划大规模攻击。WordPress网站标语是位于网站标题下方的简短短语,类似于字幕或广告口号。标语的目标是将网站的本质传达给访问者。

如果您不更改默认标语,则很容易检测到您的网站实际上是使用WordPress构建的常量 ADMIN_COOKIE_PATH 是由另一个插件在 wp-config.php 中定义的。除非删除 define('ADMIN_COOKIE_PATH', ...) 这一行,否则无法更改 %s。插件和主题列表已更新成功!黑客最常见的攻击网站的方式是访问域并添加有害查询,以便从文件和数据库中获取信息。
这些攻击针对任何网站都可能发生,无论是WordPress还是其他类型的网站,如果攻击成功……恢复网站可能就为时已晚。插件和主题文件编辑器是一个非常方便的工具,因为它使您无需使用FTP即可进行快速更改。

不幸的是,这也是一个安全问题,因为它不仅显示PHP源代码,而且如果攻击者设法获得对管理员的访问权限,它还使攻击者能够将恶意代码注入到您的站点中。该过程被网站的防火墙阻止了。请求的 URL %s 在该服务器上未找到。响应参数无效或格式错误。secret参数无效或格式错误。secret参数丢失。在 wp-config.php 中的安全密钥应尽可能频繁地续订.主题路径主题安全主题是最新的您的网站上存在严重错误。您的网站上存在严重错误。请检查您的站点管理员电子邮件收件箱以获取说明。插件中存在配置错误。请再次保存设置并按照说明进行操作。有可用的WordPress的更新版本({version})。没有可用的更新日志。没有所谓的“不重要的密码”!对于你的WordPress数据库密码也是如此。
尽管大多数服务器都配置成数据库无法从其他主机(或局域网外)访问,但这并不意味着你的数据库密码可以是“12345”或者干脆不设密码。这个惊人的功能不包含在基本插件中。想要解锁它吗?只需安装或激活高级包,即可享受新的安全功能。这是您网站上可能遇到的最大安全问题之一!如果您的托管公司默认情况下启用了此指令,请立即切换到另一家公司!这可能无法在所有新移动设备上运行。此选项将在 WordPress 重写规则区域的 .htaccess 文件中添加重写规则,位置位于 # BEGIN WordPress 和 # END WordPress 之间的注释之间。当通过ajax调用图像或字体时,这将防止显示旧路径。三天三小时东帝汶要更改缓存文件中的路径,请打开%s更改缓存文件中的路径%s。请在 $table_prefix 行之后的 wp-config.php 文件中添加 Avada FUSION_LIBRARY_URL 以隐藏 Avada 库: %s为了提高您网站的安全性,请考虑在您的站点地图XML中删除指向WordPress的作者和样式。多哥托克劳汤加跟踪和记录网站事件,并通过电子邮件接收安全警报。跟踪并记录发生在您的WordPress网站上的事件。繁体中文特立尼达和多巴哥故障排除突尼斯土耳其土耳其土库曼斯坦特克斯和凯科斯群岛如果您的网站已经上线,请关闭调试插件。您也可以在 wp-config.php 文件中添加选项隐藏数据库错误:global $wpdb; $wpdb->hide_errors();图瓦卢调整双因素认证网址映射乌干达乌克兰乌克兰语Ultimate Affiliate Pro检测到。该插件不支持自定义%s路径,因为它不使用WordPress函数来调用Ajax URL。无法更新 wp-config.php 文件以更新数据库前缀。撤销阿拉伯联合酋长国英国美国美国本土外小岛屿未知的更新检查程序状态 "%s"全部解锁更新 %s 上的设置,以便在更改 REST API 路径后刷新路径。更新请上传保存了插件设置的文件。上传路径需要紧急安全措施乌拉圭防爆破使用临时登录使用`%s`短代码将其与其他登录表单集成。用户用户 'admin' 或 'administrator' 作为管理员用户操作用户事件日志用户角色用户安全用户无法激活。无法添加用户用户无法被删除。用户无法被禁用。禁用右键的用户角色禁用复制/粘贴的用户角色用户角色用于禁用拖放功能。用户角色用于禁用检查元素功能。禁用查看源代码的用户角色用户角色用于隐藏管理工具栏。用户成功激活。用户创建成功。用户已成功删除。用户已成功停用。用户已成功更新。用户名(与密码不同)不是秘密的。知道某人的用户名后,您将无法登录该帐户。您还需要密码。

但是,通过了解用户名,您距离使用用户名暴力破解密码或以类似方式获得访问权限登录更近了一步。

因此,建议至少在某种程度上将用户名列表保持私有。默认情况下,通过访问siteurl.com/?author={id}并从1循环遍历ID,您可以获得用户名列表,因为如果系统中存在ID,WP会将您重定向到siteurl.com/author/user/。 。使用旧版本的MySQL将使您的网站运行缓慢,并且由于不再维护的MySQL版本中存在的已知漏洞而容易受到黑客攻击。

您需要Mysql 5.4或更高版本使用旧版本的 PHP 会导致您的网站变慢,并容易受到黑客攻击,因为这些旧版本中存在已知的漏洞。

您的网站需要 PHP 7.4 或更高版本。乌兹别克斯坦有效价值瓦努阿图委内瑞拉源代码中的版本越南越南语查看详情英属维尔京群岛美属维尔京群岛W3 Total CacheWP核心安全WP调试模式WP EngineWP Fastest CacheWP RocketWP Super Cache检测到WP Super Cache CDN。请在WP Super Cache> CDN>包含目录中包括%s和%s路径WPBakery Page BuilderWPPlugins瓦利斯和富图纳检测到弱名称:%s。您需要使用其他名称来提高网站安全性。网站西撒哈拉在哪里添加防火墙规则。白名单白名单 IP白名单选项白名单路径Windows Live Writer 已打开WooCommerce 安全登录WooCommerce 支持WooCommerceWooCommerce 魔法链接WordPress 数据库密码WordPress 默认权限WordPress安全检查WordPress版本WordPress XML-RPC是旨在规范不同系统之间通信的规范。它使用HTTP作为传输机制,并使用XML作为编码机制,以实现各种数据的传输。

API的两个最大优点是其可扩展性和安全性。 XML-RPC使用基本身份验证进行身份验证。它随每个请求一起发送用户名和密码,这在安全圈中是一个很大的禁忌。WordPress及其插件和主题就像您计算机上安装的任何其他软件,以及您设备上的任何其他应用程序一样。开发人员会定期发布提供新功能或修复已知错误的更新。

新功能可能不一定是您想要的。实际上,您可能对当前拥有的功能完全满意。但是,您可能仍然担心错误。

软件错误可能有多种形式和大小。例如,一个错误可能非常严重,例如阻止用户使用插件,或者它可能是一个较小的错误,仅会影响主题的特定部分。在某些情况下,错误甚至可能导致严重的安全漏洞。

使主题保持最新是确保网站安全的最重要和最简单的方法之一。WordPress及其插件和主题就像您计算机上安装的任何其他软件,以及您设备上的任何其他应用程序一样。开发人员会定期发布更新,以提供新功能或修复已知错误。

这些新功能不一定是您想要的。实际上,您可能对当前拥有的功能完全满意。但是,您仍然可能会担心错误。

软件错误可能有多种形式和大小。一个错误可能非常严重,例如阻止用户使用插件,或者可能很小,并且仅影响主题的特定部分。在某些情况下,错误可能会导致严重的安全漏洞。

使插件保持最新状态是确保网站安全的最重要和最简单的方法之一。WordPress以易于安装而闻名。
隐藏wp-admin / install.php和wp-admin / upgrade.php文件非常重要,因为有关这些文件已经存在一些安全问题。WordPress,插件和主题将其版本信息添加到源代码中,以便任何人都可以看到。

黑客可以轻松找到带有易受攻击的版本插件或主题的网站,并使用零日漏洞利用这些目标。Wordfence 安全检测到的工程。%s添加 WpEngine 重定向规则面板中的重定向。错误的用户名保护XML-RPC 安全XML-RPC 访问已打开也门是是的,它正在工作您已经在wp-config.php%s中定义了另一个wp-content / uploads目录您可以禁止单个IP地址,如192.168.0.1,也可以禁止一系列IP地址,如192.168.0.*。这些IP地址将无法访问登录页面。您可以创建新页面并回来选择重定向到该页面。您可以从此处%s生成新密钥%s AUTH_KEY,SECURE_AUTH_KEY,LOGGED_IN_KEY,NONCE_KEY,AUTH_SALT,SECURE_AUTH_SALT,LOGGED_IN_SALT,NONCE_SALT您现在可以关闭 '%s' 选项。您可以设置接收安全警报邮件并防止数据丢失。您可以将单个IP地址添加到白名单,例如192.168.0.1,或者范围为245个IP地址,如192.168.0.*。使用%s查找您的IP地址。您不能使用相同的名称设置ADMIN和LOGIN。请使用其他名称您没有权限访问此服务器上的 %s。您需要激活IIS的URL重写,才能将永久链接结构更改为友好的URL(无index.php)。 %s更多详细信息%s您需要设置正数的尝试。您需要设置一个积极的等待时间。您需要将永久链接结构设置为友好的URL(没有index.php)。应始终将 WordPress 更新为%s最新版本%s。这些通常包括最新的安全修补程序,并且不会以任何显著的方式更改 WP。一旦 WP 发布它们,就应立即应用它们。

当新版本的 WordPress 可用时,您将在 WordPress 管理屏幕上收到更新消息。要更新 WordPress,请单击此消息中的链接。您应该每周检查一次网站,以查看是否有任何安全性更改。您的 %s %s 许可证已于 %s %s 到期。为保持您的网站安全性,请确保您在 %saccount.hidemywpghost.com%s 上有有效的订阅。您的IP已被标记为可能违反安全性。请稍后再试...由于%s安全条款,无法在%s主机上更改您的管理URL。您的管理URL已被%s中的另一个插件/主题更改。若要防止错误,请停用更改管理路径的其他插件。您的登录网址已被另一个插件/主题更改为%s。要激活此选项,请在其他插件中禁用自定义登录或将其停用。您的登录网址是:%s您的登录网址将是:%s 如果您无法登录,请使用安全网址:%s您的新密码尚未保存。您的新网站URL是您的网站安全性%s非常弱%s。%s有许多黑客后门可用。您的网站安全性%s非常弱%s。%s有许多黑客后门可用。您的网站安全性在提升。%s只需确保完成所有的安全任务。您的网站安全性仍然很弱。 %s一些主要的黑客后门仍然可用。你的网站安全性很强。%s每周检查一下安全性。赞比亚津巴布韦激活功能首次访问后已激活深色默认display_errors PHP指令例如 *.colocrossing.com例如 /cart/例如,/cart/ 将允许所有以 /cart/ 开头的路径。例如:/checkout/例如,/post-type/ 将阻止所有以 /post-type/ 开头的路径。例如 acapbot例如:alexibot例如 badsite.com例如 gigabot例如:kanagawa.com例如 xanax.com例如.例如 /logout 或例如。adm, back例如。ajax, json例如。方面,模板,样式例如. comments, discussion例如。core,include例如。 disable_url,safe_url例如. images, files例如. json, api, call例如: lib, library例如:login或signin例如。注销或断开连接例如. 丢失密码和忘了密码例如. main.css, theme.css, design.css例如. modules例如。多站点激活链接例如。新用户或注册例如. profile, usr, writer从帮助https://hidemywp.com忽略警报install.php和upgrade.php文件可访问浅色记录日志日志更多细节不建议仅限 %d 个字符或不匹配中密码强度未知强很弱弱重新捕获测试reCAPTCHA V2 测试reCAPTCHA V3 测试reCaptcha语言验证主题readme.html 文件可访问推荐重定向查看功能开始功能设置可以使用新版本的%s插件。无法确定更新是否适用于 %s.%s插件是最新的。到太简单wp-config.php 和 wp-config-sample.php 文件是可访问的languages/hide-my-wp.pot000064400000415070147600042240011224 0ustar00#, fuzzy msgid "" msgstr "" "Project-Id-Version: Hide My WP Ghost\n" "POT-Creation-Date: 2025-01-08 21:28+0200\n" "PO-Revision-Date: 2020-12-24 09:30+0200\n" "Last-Translator: \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" "X-Generator: Poedit 3.5\n" "X-Poedit-Basepath: ..\n" "X-Poedit-Flags-xgettext: --add-comments=translators:\n" "X-Poedit-WPHeader: index.php\n" "X-Poedit-SourceCharset: UTF-8\n" "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;" "esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;" "_nx_noop:3c,1,2;__ngettext_noop:1,2\n" "X-Poedit-SearchPath-0: .\n" "X-Poedit-SearchPathExcluded-0: *.min.js\n" #: classes/Tools.php:154 msgid "" "Your IP has been flagged for potential security violations. Please try again " "in a little while." msgstr "" #: classes/Tools.php:723 msgid "Resume Security" msgstr "" #: classes/Tools.php:726 msgid "Pause for 5 minutes" msgstr "" #: classes/Tools.php:729 controllers/SecurityCheck.php:276 #: controllers/SecurityCheck.php:524 models/Menu.php:234 models/Menu.php:266 #: models/Menu.php:276 view/Permalinks.php:1094 msgid "Settings" msgstr "" #: classes/Tools.php:2229 #, php-format msgid "CONNECTION ERROR! Make sure your website can access: %s" msgstr "" #: classes/Tools.php:2280 msgid "New Login Data" msgstr "" #: classes/Tools.php:2281 controllers/Settings.php:895 #, php-format msgid "Thank you for using %s!" msgstr "" #: classes/Tools.php:2283 controllers/Settings.php:897 msgid "Your new site URLs are" msgstr "" #: classes/Tools.php:2284 controllers/Settings.php:898 msgid "Admin URL" msgstr "" #: classes/Tools.php:2285 controllers/Settings.php:899 view/Permalinks.php:157 #: view/Permalinks.php:162 msgid "Login URL" msgstr "" #: classes/Tools.php:2287 controllers/Settings.php:901 msgid "Note: If you can`t login to your site, just access this URL" msgstr "" #: classes/Tools.php:2290 controllers/Settings.php:904 msgid "Best regards" msgstr "" #: classes/Tools.php:2294 #, php-format msgid "From: %s <%s>" msgstr "" #: controllers/Brute.php:124 msgid "IP Blocked" msgstr "" #: controllers/Brute.php:217 msgid "You need to set a positive number of attempts." msgstr "" #: controllers/Brute.php:225 msgid "You need to set a positive waiting time." msgstr "" #: controllers/Brute.php:255 controllers/Log.php:46 #: controllers/Overview.php:677 controllers/Settings.php:400 #: controllers/Settings.php:421 controllers/Settings.php:465 #: controllers/Settings.php:521 controllers/Settings.php:557 #: controllers/Settings.php:603 controllers/Templogin.php:203 msgid "Saved" msgstr "" #: controllers/Brute.php:286 msgid "Cnt" msgstr "" #: controllers/Brute.php:287 msgid "IP" msgstr "" #: controllers/Brute.php:288 msgid "Fail Attempts" msgstr "" #: controllers/Brute.php:289 msgid "Hostname" msgstr "" #: controllers/Brute.php:290 controllers/Templogin.php:326 msgid "Options" msgstr "" #: controllers/Brute.php:315 msgid "No blacklisted ips" msgstr "" #: controllers/Brute.php:442 #, php-format msgid "" "%sERROR:%s Email or Password is incorrect. %s %d attempts left before lockout" msgstr "" #: controllers/Brute.php:565 msgid "« Back" msgstr "" #: controllers/Connect.php:57 msgid "ERROR! Please make sure you use a valid token to activate the plugin" msgstr "" #: controllers/Connect.php:61 msgid "ERROR! Please make sure you use the right token to activate the plugin" msgstr "" #: controllers/Firewall.php:1026 msgid "The process was blocked by the website’s firewall." msgstr "" #: controllers/Firewall.php:1026 msgid "Blocked by " msgstr "" #: controllers/Overview.php:63 controllers/SecurityCheck.php:86 #: controllers/Settings.php:164 #, php-format msgid "" "Javascript is disabled on your browser! You need to activate the javascript " "in order to use %s plugin." msgstr "" #: controllers/Overview.php:71 msgid "Secure WP Paths" msgstr "" #: controllers/Overview.php:72 msgid "Customize & Secure all WordPress paths from hacker bots attacks." msgstr "" #: controllers/Overview.php:84 msgid "Hide WP Common Paths" msgstr "" #: controllers/Overview.php:85 msgid "" "Hide the old /wp-content, /wp-include paths once they are changed with the " "new ones." msgstr "" #: controllers/Overview.php:97 msgid "Hide WP Common Files" msgstr "" #: controllers/Overview.php:98 msgid "" "Hide wp-config.php, wp-config-sample.php, readme.html, license.txt, upgrade." "php and install.php files.." msgstr "" #: controllers/Overview.php:111 msgid "2FA" msgstr "" #: controllers/Overview.php:112 msgid "" "Add Two Factor security on login page with Code Scan or Email Code " "authentication." msgstr "" #: controllers/Overview.php:125 msgid "Brute Force Protection" msgstr "" #: controllers/Overview.php:126 msgid "Protects your website against brute force login attacks." msgstr "" #: controllers/Overview.php:138 msgid "WooCommerce Safe Login" msgstr "" #: controllers/Overview.php:139 msgid "Protects your WooCommerce shop against brute force login attacks." msgstr "" #: controllers/Overview.php:152 models/Menu.php:57 models/Menu.php:240 #: view/Firewall.php:23 msgid "Firewall" msgstr "" #: controllers/Overview.php:153 msgid "" "Activate the firewall and prevent many types of SQL Injection and URL hacks." msgstr "" #: controllers/Overview.php:165 view/Firewall.php:288 msgid "Country Blocking" msgstr "" #: controllers/Overview.php:166 msgid "" "A feature designed to stops attacks from different countries, and to put an " "end to harmful activity that comes from specific regions." msgstr "" #: controllers/Overview.php:178 models/Menu.php:230 view/Templogin.php:25 msgid "Temporary Logins" msgstr "" #: controllers/Overview.php:179 view/Templogin.php:60 msgid "" "Create a temporary login URL with any user role to access the website " "dashboard without username and password for a limited period of time." msgstr "" #: controllers/Overview.php:191 msgid "Magic Link Login" msgstr "" #: controllers/Overview.php:192 msgid "" "Allow users to log in to the website using their email address and a unique " "login URL delivered via email." msgstr "" #: controllers/Overview.php:204 msgid "WooCommerce Magic Link" msgstr "" #: controllers/Overview.php:205 msgid "" "Allow users to log in to WooCommerce account using their email address and a " "unique login URL delivered via email." msgstr "" #: controllers/Overview.php:218 msgid "XML-RPC Security" msgstr "" #: controllers/Overview.php:219 msgid "" "Disable the external calls to xml-rpc.php file and prevent Brute Force " "attacks." msgstr "" #: controllers/Overview.php:231 models/Menu.php:194 models/Presets.php:109 #: view/Mapping.php:25 msgid "Text Mapping" msgstr "" #: controllers/Overview.php:232 msgid "Customize the IDs and Class names in your website body." msgstr "" #: controllers/Overview.php:244 models/Menu.php:198 models/Presets.php:111 #: view/Mapping.php:162 msgid "URL Mapping" msgstr "" #: controllers/Overview.php:245 msgid "Customize the CSS and JS URLs in your website body." msgstr "" #: controllers/Overview.php:257 models/Menu.php:202 msgid "CDN Mapping" msgstr "" #: controllers/Overview.php:258 msgid "Integration with other CDN plugins and custom CDN URLs." msgstr "" #: controllers/Overview.php:270 msgid "User Events Log" msgstr "" #: controllers/Overview.php:271 msgid "Track and Log the website events and receive security alerts by email." msgstr "" #: controllers/Overview.php:284 msgid "Login & Logout Redirects" msgstr "" #: controllers/Overview.php:285 msgid "Set Login & Logout Redirects based on User Roles." msgstr "" #: controllers/Overview.php:298 models/Menu.php:244 view/Firewall.php:110 msgid "Header Security" msgstr "" #: controllers/Overview.php:299 msgid "Add Headers Security against XSS and Code Injection Attacks." msgstr "" #: controllers/Overview.php:311 msgid "Feed Security" msgstr "" #: controllers/Overview.php:312 msgid "Change paths in RSS feed for all images." msgstr "" #: controllers/Overview.php:324 msgid "Sitemap Security" msgstr "" #: controllers/Overview.php:325 msgid "" "Change paths in Sitemap XML files and remove the plugin author and styles." msgstr "" #: controllers/Overview.php:337 msgid "Robots Security" msgstr "" #: controllers/Overview.php:338 msgid "" "Hide WordPress paths such as wp-admin, wp-content, and more from robots.txt " "file." msgstr "" #: controllers/Overview.php:350 msgid "Admin Toolbar" msgstr "" #: controllers/Overview.php:351 msgid "Hide Admin Toolbar for users roles to prevent dashboard access." msgstr "" #: controllers/Overview.php:363 view/Tweaks.php:470 msgid "Disable Right-Click" msgstr "" #: controllers/Overview.php:364 msgid "Disable the right-click action on your website." msgstr "" #: controllers/Overview.php:376 msgid "Disable Copy/Paste" msgstr "" #: controllers/Overview.php:377 msgid "Disable the copy/paste action on your website." msgstr "" #: controllers/Overview.php:390 msgid "Wordfence Security" msgstr "" #: controllers/Overview.php:391 msgid "" "Compatible with Wordfence Security plugin. Use them together for Malware " "Scan, Firewall, Brute Force protection." msgstr "" #: controllers/Overview.php:403 msgid "All In One WP Security" msgstr "" #: controllers/Overview.php:404 msgid "" "Compatible with All In One WP Security plugin. Use them together for Virus " "Scan, Firewall, Brute Force protection." msgstr "" #: controllers/Overview.php:416 msgid "Sucuri Security" msgstr "" #: controllers/Overview.php:417 msgid "" "Compatible with Sucuri Security plugin. Use them together for Virus Scan, " "Firewall, File Integrity Monitoring." msgstr "" #: controllers/Overview.php:429 msgid "Solid Security" msgstr "" #: controllers/Overview.php:430 msgid "" "Compatible with Solid Security plugin. Use them together for Site Scanner, " "File Change Detection, Brute Force Protection." msgstr "" #: controllers/Overview.php:443 msgid "Autoptimize" msgstr "" #: controllers/Overview.php:444 msgid "" "Fully compatible with Autoptimizer cache plugin. Works best with the the " "option Optimize/Aggregate CSS and JS files." msgstr "" #: controllers/Overview.php:456 msgid "Hummingbird" msgstr "" #: controllers/Overview.php:457 msgid "" "Fully compatible with Hummingbird cache plugin. Works best with the the " "option Minify CSS and JS files." msgstr "" #: controllers/Overview.php:469 msgid "WP Super Cache" msgstr "" #: controllers/Overview.php:470 msgid "Fully compatible with WP Super Cache cache plugin." msgstr "" #: controllers/Overview.php:482 msgid "Cache Enabler" msgstr "" #: controllers/Overview.php:483 msgid "" "Fully compatible with Cache Enabler plugin. Works best with the the option " "Minify CSS and JS files." msgstr "" #: controllers/Overview.php:495 msgid "WP Rocket" msgstr "" #: controllers/Overview.php:496 msgid "" "Fully compatible with WP-Rocket cache plugin. Works best with the the option " "Minify/Combine CSS and JS files." msgstr "" #: controllers/Overview.php:508 msgid "WP Fastest Cache" msgstr "" #: controllers/Overview.php:509 msgid "" "Fully compatible with WP Fastest Cache plugin. Works best with the the " "option Minify CSS and JS files." msgstr "" #: controllers/Overview.php:521 msgid "W3 Total Cache" msgstr "" #: controllers/Overview.php:522 msgid "" "Fully compatible with W3 Total Cache plugin. Works best with the the option " "Minify CSS and JS files." msgstr "" #: controllers/Overview.php:534 msgid "LiteSpeed Cache" msgstr "" #: controllers/Overview.php:535 msgid "" "Fully compatible with LiteSpeed Cache plugin. Works best with the the option " "Minify CSS and JS files." msgstr "" #: controllers/Overview.php:547 msgid "JCH Optimize Cache" msgstr "" #: controllers/Overview.php:548 msgid "" "Compatible with JCH Optimize Cache plugin. Works with all the options to " "optimize for CSS and JS." msgstr "" #: controllers/Overview.php:561 models/Menu.php:300 view/Brute.php:345 msgid "WooCommerce" msgstr "" #: controllers/Overview.php:562 msgid "Fully compatible with WooCommerce plugin." msgstr "" #: controllers/Overview.php:574 msgid "Elementor" msgstr "" #: controllers/Overview.php:575 msgid "" "Fully compatible with Elementor Website Builder plugin. Works best together " "with a cache plugin" msgstr "" #: controllers/Overview.php:587 msgid "Oxygen" msgstr "" #: controllers/Overview.php:588 msgid "" "Fully compatible with Oxygen Builder plugin. Works best together with a " "cache plugin." msgstr "" #: controllers/Overview.php:600 msgid "Beaver Builder" msgstr "" #: controllers/Overview.php:601 controllers/Overview.php:614 msgid "" "Fully compatible with Beaver Builder plugin. Works best together with a " "cache plugin." msgstr "" #: controllers/Overview.php:613 msgid "WPBakery Page Builder" msgstr "" #: controllers/Overview.php:626 msgid "Fusion Builder" msgstr "" #: controllers/Overview.php:627 msgid "" "Fully compatible with Fusion Builder plugin by Avada. Works best together " "with a cache plugin." msgstr "" #: controllers/SecurityCheck.php:69 msgid "" "You should check your website every week to see if there are any security " "changes." msgstr "" #: controllers/SecurityCheck.php:195 msgid "PHP Version" msgstr "" #: controllers/SecurityCheck.php:199 msgid "" "Using an old version of PHP makes your site slow and prone to hacker attacks " "due to known vulnerabilities that exist in versions of PHP that are no " "longer maintained.

You need PHP 7.4 or higher " "for your website." msgstr "" #: controllers/SecurityCheck.php:200 msgid "" "Email your hosting company and tell them you'd like to switch to a newer " "version of PHP or move your site to a better hosting company." msgstr "" #: controllers/SecurityCheck.php:203 msgid "Mysql Version" msgstr "" #: controllers/SecurityCheck.php:207 msgid "" "Using an old version of MySQL makes your site slow and prone to hacker " "attacks due to known vulnerabilities that exist in versions of MySQL that " "are no longer maintained.

You need Mysql 5.4 or " "higher" msgstr "" #: controllers/SecurityCheck.php:208 msgid "" "Email your hosting company and tell them you'd like to switch to a newer " "version of MySQL or move your site to a better hosting company" msgstr "" #: controllers/SecurityCheck.php:211 msgid "WordPress Version" msgstr "" #: controllers/SecurityCheck.php:215 #, php-format msgid "" "You should always update WordPress to the %slatest versions%s. These usually " "include the latest security fixes, and don't alter WP in any significant " "way. These should be applied as soon as WP releases them.

When a " "new version of WordPress is available, you will receive an update message on " "your WordPress Admin screens. To update WordPress, click the link in this " "message." msgstr "" #: controllers/SecurityCheck.php:216 msgid "There is a newer version of WordPress available ({version})." msgstr "" #: controllers/SecurityCheck.php:219 msgid "WP Debug Mode" msgstr "" #: controllers/SecurityCheck.php:223 msgid "" "Every good developer should turn on debugging before getting started on a " "new plugin or theme. In fact, the WordPress Codex 'highly recommends' that " "developers use WP_DEBUG.

Unfortunately, many developers forget " "the debug mode, even when the website is live. Showing debug logs in the " "frontend will let hackers know a lot about your WordPress website." msgstr "" #: controllers/SecurityCheck.php:224 msgid "" "Disable WP_DEBUG for live websites in wp-config.php define('WP_DEBUG', " "false);" msgstr "" #: controllers/SecurityCheck.php:228 msgid "DB Debug Mode" msgstr "" #: controllers/SecurityCheck.php:232 msgid "" "It's not safe to have Database Debug turned on. Make sure you don't use " "Database debug on live websites." msgstr "" #: controllers/SecurityCheck.php:233 msgid "" "Turn off the debug plugins if your website is live. You can also add the " "option to hide the DB errors global $wpdb; $wpdb->hide_errors(); in wp-config.php file" msgstr "" #: controllers/SecurityCheck.php:237 msgid "Script Debug Mode" msgstr "" #: controllers/SecurityCheck.php:241 msgid "" "Every good developer should turn on debugging before getting started on a " "new plugin or theme. In fact, the WordPress Codex 'highly recommends' that " "developers use SCRIPT_DEBUG. Unfortunately, many developers forget the debug " "mode even when the website is live. Showing debug logs in the frontend will " "let hackers know a lot about your WordPress website." msgstr "" #: controllers/SecurityCheck.php:242 msgid "" "Disable SCRIPT_DEBUG for live websites in wp-config.php " "define('SCRIPT_DEBUG', false);" msgstr "" #: controllers/SecurityCheck.php:246 msgid "display_errors PHP directive" msgstr "" #: controllers/SecurityCheck.php:250 msgid "" "Displaying any kind of debug info in the frontend is extremely bad. If any " "PHP errors happen on your site they should be logged in a safe place and not " "displayed to visitors or potential attackers." msgstr "" #: controllers/SecurityCheck.php:251 msgid "" "Edit wp-config.php and add ini_set('display_errors', 0); at the " "end of the file" msgstr "" #: controllers/SecurityCheck.php:254 msgid "Backend under SSL" msgstr "" #: controllers/SecurityCheck.php:258 msgid "" "SSL is an abbreviation used for Secure Sockets Layers, which are encryption " "protocols used on the internet to secure information exchange and provide " "certificate information.

These certificates provide an assurance " "to the user about the identity of the website they are communicating with. " "SSL may also be called TLS or Transport Layer Security protocol.

It's important to have a secure connection for the Admin Dashboard in " "WordPress." msgstr "" #: controllers/SecurityCheck.php:259 #, php-format msgid "Learn how to set your website as %s. %sClick Here%s" msgstr "" #: controllers/SecurityCheck.php:262 msgid "User 'admin' or 'administrator' as Administrator" msgstr "" #: controllers/SecurityCheck.php:266 msgid "" "In the old days, the default WordPress admin username was 'admin' or " "'administrator'. Since usernames make up half of the login credentials, this " "made it easier for hackers to launch brute-force attacks.

Thankfully, WordPress has since changed this and now requires you to select " "a custom username at the time of installing WordPress." msgstr "" #: controllers/SecurityCheck.php:267 view/SecurityCheck.php:256 msgid "" "Change the user 'admin' or 'administrator' with another name to improve " "security." msgstr "" #: controllers/SecurityCheck.php:271 msgid "Spammers can easily signup" msgstr "" #: controllers/SecurityCheck.php:275 msgid "" "You shouldn't let users subscribe to your blog if you don't have an e-" "commerce, membership, or guest posting website. You will end up with spam " "registrations, and your website will be filled with spammy content and " "comments. We recommend using the Brute Force protection on the registration " "form." msgstr "" #: controllers/SecurityCheck.php:276 #, php-format msgid "" "Change the signup path from %s %s > Change Paths > Custom Register URL %s " "then activate Brute Force on Sign up from %s %s > Brute Force > Settings %s " "or uncheck the option %s > %s > %s" msgstr "" #: controllers/SecurityCheck.php:276 controllers/SecurityCheck.php:524 msgid "General" msgstr "" #: controllers/SecurityCheck.php:276 msgid "Anyone can register" msgstr "" #: controllers/SecurityCheck.php:279 msgid "Outdated Plugins" msgstr "" #: controllers/SecurityCheck.php:283 msgid "" "WordPress and its plugins and themes are like any other software installed " "on your computer, and like any other application on your devices. " "Periodically, developers release updates which provide new features, or fix " "known bugs.

These new features may not necessarily be something " "that you want. In fact, you may be perfectly satisfied with the " "functionality you currently have. Nevertheless, you are still likely to be " "concerned about bugs.

Software bugs can come in many shapes and " "sizes. A bug could be very serious, such as preventing users from using a " "plugin, or it could be minor and only affect a certain part of a theme, for " "example. In some cases, bugs can cause serious security holes.

Keeping plugins up to date is one of the most important and easiest ways to " "keep your site secure." msgstr "" #: controllers/SecurityCheck.php:284 controllers/SecurityCheck.php:292 msgid "" "Go to the Dashboard > Plugins section and update all the plugins to the last " "version." msgstr "" #: controllers/SecurityCheck.php:287 msgid "Not Recent Updates Released" msgstr "" #: controllers/SecurityCheck.php:291 msgid "" "Plugins that have not been updated in the last 12 months can have real " "security problems. Make sure you use updated plugins from WordPress " "Directory." msgstr "" #: controllers/SecurityCheck.php:295 msgid "Outdated Themes" msgstr "" #: controllers/SecurityCheck.php:299 msgid "" "WordPress and its plugins and themes are like any other software installed " "on your computer, and like any other application on your devices. " "Periodically developers release updates which provide new features or fix " "known bugs.

New features may be something that you do not " "necessarily want. In fact, you may be perfectly satisfied with the " "functionality you currently have. Nevertheless, you may still be concerned " "about bugs.

Software bugs can come in many shapes and sizes. A " "bug could be very serious, such as preventing users from using a plugin, or " "it could be a minor bug that only affects a certain part of a theme, for " "example. In some cases, bugs can even cause serious security holes.

Keeping themes up to date is one of the most important and easiest " "ways to keep your site secure." msgstr "" #: controllers/SecurityCheck.php:300 msgid "" "Go to the Dashboard > Appearance section and update all the themes to the " "last version." msgstr "" #: controllers/SecurityCheck.php:303 msgid "Database Prefix" msgstr "" #: controllers/SecurityCheck.php:307 msgid "" "The WordPress database is like a brain for your entire WordPress site, " "because every single bit of information about your site is stored there, " "thus making it a hacker’s favorite target.

Spammers and hackers " "run automated code for SQL injections.
Unfortunately, many people " "forget to change the database prefix when they install WordPress.
This " "makes it easier for hackers to plan a mass attack by targeting the default " "prefix wp_." msgstr "" #: controllers/SecurityCheck.php:308 #, php-format msgid "" "%s protects your website from most SQL injections but, if possible, use a " "custom prefix for database tables to avoid SQL injections. %sRead more%s" msgstr "" #: controllers/SecurityCheck.php:312 msgid "File Permissions" msgstr "" #: controllers/SecurityCheck.php:316 msgid "" "File permissions in WordPress play a critical role in website security. " "Properly configuring these permissions ensures that unauthorized users " "cannot gain access to sensitive files and data.
Incorrect permissions " "can inadvertently open your website to attacks, making it vulnerable.
As a WordPress administrator, understanding and correctly setting file " "permissions are essential for safeguarding your site against potential " "threats." msgstr "" #: controllers/SecurityCheck.php:317 view/SecurityCheck.php:282 #, php-format msgid "" "Even if the default paths are protected by %s after customization, we " "recommend setting the correct permissions for all directories and files on " "your website, use File Manager or FTP to check and change the permissions. " "%sRead more%s" msgstr "" #: controllers/SecurityCheck.php:321 msgid "Salts and Security Keys valid" msgstr "" #: controllers/SecurityCheck.php:325 msgid "" "Security keys are used to ensure better encryption of information stored in " "the user's cookies and hashed passwords.

These make your site " "more difficult to hack, access and crack by adding random elements to the " "password. You don't have to remember these keys. In fact, once you set them " "you'll never see them again. Therefore, there's no excuse for not setting " "them properly." msgstr "" #: controllers/SecurityCheck.php:326 msgid "" "Security keys are defined in wp-config.php as constants on lines. They " "should be as unique and as long as possible. AUTH_KEY,SECURE_AUTH_KEY," "LOGGED_IN_KEY,NONCE_KEY,AUTH_SALT,SECURE_AUTH_SALT,LOGGED_IN_SALT," "NONCE_SALT" msgstr "" #: controllers/SecurityCheck.php:330 msgid "Security Keys Updated" msgstr "" #: controllers/SecurityCheck.php:334 msgid "" "The security keys in wp-config.php should be renewed as often as possible." msgstr "" #: controllers/SecurityCheck.php:335 #, php-format msgid "" "You can generate %snew Keys from here%s AUTH_KEY,SECURE_AUTH_KEY," "LOGGED_IN_KEY,NONCE_KEY,AUTH_SALT,SECURE_AUTH_SALT,LOGGED_IN_SALT," "NONCE_SALT" msgstr "" #: controllers/SecurityCheck.php:339 msgid "WordPress Database Password" msgstr "" #: controllers/SecurityCheck.php:343 msgid "" "There is no such thing as an \"unimportant password\"! The same goes for " "your WordPress database password.
Although most servers are configured " "so that the database can't be accessed from other hosts (or from outside the " "local network), that doesn't mean your database password should be \"12345\" " "or no password at all." msgstr "" #: controllers/SecurityCheck.php:344 msgid "" "Choose a proper database password, at least 8 characters long with a " "combination of letters, numbers and special characters. After you change it, " "set the new password in the wp-config.php file define('DB_PASSWORD', " "'NEW_DB_PASSWORD_GOES_HERE');" msgstr "" #: controllers/SecurityCheck.php:347 controllers/SecurityCheck.php:364 #: controllers/SecurityCheck.php:372 #, php-format msgid "%s is visible in source code" msgstr "" #: controllers/SecurityCheck.php:351 msgid "" "It's important to rename common WordPress paths, such as wp-content and wp-" "includes to prevent hackers from knowing that you have a WordPress website." msgstr "" #: controllers/SecurityCheck.php:352 #, php-format msgid "" "Change the wp-content, wp-includes and other common paths with %s %s > " "Change Paths%s" msgstr "" #: controllers/SecurityCheck.php:355 controllers/SecurityCheck.php:380 #, php-format msgid "%s path is accessible" msgstr "" #: controllers/SecurityCheck.php:359 msgid "" "It's important to hide the common WordPress paths to prevent attacks on " "vulnerable plugins and themes.
Also, it's important to hide the names " "of plugins and themes to make it impossible for bots to detect them." msgstr "" #: controllers/SecurityCheck.php:360 #, php-format msgid "Switch on %s %s > Change Paths > Hide WordPress Common Paths%s" msgstr "" #: controllers/SecurityCheck.php:368 #, php-format msgid "" "Having the admin URL visible in the source code is awful because hackers " "will immediately know your secret admin path and start a Brute Force attack. " "The custom admin path should not appear in the ajax URL.

Find " "solutions for %s how to hide the path from source code %s." msgstr "" #: controllers/SecurityCheck.php:369 #, php-format msgid "" "Switch on %s %s > Change Paths > Hide wp-admin from ajax URL%s. Hide any " "reference to admin path from the installed plugins." msgstr "" #: controllers/SecurityCheck.php:376 #, php-format msgid "" "Having the login URL visible in the source code is awful because hackers " "will immediately know your secret login path and start a Brute Force attack. " "

The custom login path should be kept secret, and you should have " "Brute Force Protection activated for it.

Find solutions for %s " "hiding the login path from source code here %s." msgstr "" #: controllers/SecurityCheck.php:377 #, php-format msgid "%sHide the login path%s from theme menu or widget." msgstr "" #: controllers/SecurityCheck.php:384 msgid "" "If your site allows user logins, you need your login page to be easy to find " "for your users. You also need to do other things to protect against " "malicious login attempts.

However, obscurity is a valid security " "layer when used as part of a comprehensive security strategy, and if you " "want to cut down on the number of malicious login attempts. Making your " "login page difficult to find is one way to do that." msgstr "" #: controllers/SecurityCheck.php:385 #, php-format msgid "" "Change the wp-login from %s %s > Change Paths > Custom login URL%s and " "Switch on %s %s > Brute Force Protection%s" msgstr "" #: controllers/SecurityCheck.php:388 msgid "wp-config.php & wp-config-sample.php files are accessible" msgstr "" #: controllers/SecurityCheck.php:392 msgid "" "One of the most important files in your WordPress installation is the wp-" "config.php file.
This file is located in the root directory of your " "WordPress installation and contains your website's base configuration " "details, such as database connection information." msgstr "" #: controllers/SecurityCheck.php:393 #, php-format msgid "Switch on %s %s > Change Paths > Hide WordPress Common Files%s" msgstr "" #: controllers/SecurityCheck.php:397 msgid "readme.html file is accessible" msgstr "" #: controllers/SecurityCheck.php:401 msgid "" "It's important to hide or remove the readme.html file because it contains WP " "version details." msgstr "" #: controllers/SecurityCheck.php:402 #, php-format msgid "" "Rename readme.html file or switch on %s %s > Change Paths > Hide WordPress " "Common Files%s" msgstr "" #: controllers/SecurityCheck.php:406 msgid "install.php & upgrade.php files are accessible" msgstr "" #: controllers/SecurityCheck.php:410 msgid "" "WordPress is well-known for its ease of installation.
It's important to " "hide the wp-admin/install.php and wp-admin/upgrade.php files because there " "have already been a couple of security issues regarding these files." msgstr "" #: controllers/SecurityCheck.php:411 #, php-format msgid "" "Rename wp-admin/install.php & wp-admin/upgrade.php files or switch on %s %s " "> Change Paths > Hide WordPress Common Paths%s" msgstr "" #: controllers/SecurityCheck.php:415 msgid "Firewall against injections is loaded" msgstr "" #: controllers/SecurityCheck.php:419 msgid "" "The most common way to hack a website is by accessing the domain and adding " "harmful queries in order to reveal information from files and database.
These attacks are made on any website, WordPress or not, and if a call " "succeeds … it will probably be too late to save the website." msgstr "" #: controllers/SecurityCheck.php:420 #, php-format msgid "" "Activate the firewall and select the firewall strength that works for your " "website %s %s > Change Paths > Firewall & Headers %s" msgstr "" #: controllers/SecurityCheck.php:424 msgid "Versions in Source Code" msgstr "" #: controllers/SecurityCheck.php:428 msgid "" "WordPress, plugins and themes add their version info to the source code, so " "anyone can see it.

Hackers can easily find a website with " "vulnerable version plugins or themes, and target these with Zero-Day " "Exploits." msgstr "" #: controllers/SecurityCheck.php:429 #, php-format msgid "Switch on %s %s > Tweaks > %s %s" msgstr "" #: controllers/SecurityCheck.php:429 msgid "Hide Versions from Images, CSS and JS" msgstr "" #: controllers/SecurityCheck.php:433 msgid "PHP register_globals is on" msgstr "" #: controllers/SecurityCheck.php:437 msgid "" "This is one of the biggest security issues you can have on your site! If " "your hosting company has this directive enabled by default, switch to " "another company immediately!" msgstr "" #: controllers/SecurityCheck.php:438 msgid "" "If you have access to php.ini file, set register_globals = off " "or contact the hosting company to set it off" msgstr "" #: controllers/SecurityCheck.php:441 msgid "PHP expose_php is on" msgstr "" #: controllers/SecurityCheck.php:445 msgid "" "Exposing the PHP version will make the job of attacking your site much " "easier." msgstr "" #: controllers/SecurityCheck.php:446 msgid "" "If you have access to php.ini file, set expose_php = off or " "contact the hosting company to set it off" msgstr "" #: controllers/SecurityCheck.php:449 msgid "PHP safe_mode is on" msgstr "" #: controllers/SecurityCheck.php:453 msgid "" "PHP safe mode was one of the attempts to solve security problems of shared " "web hosting servers.

It is still being used by some web hosting " "providers, however, nowadays this is regarded as improper. A systematic " "approach proves that it’s architecturally incorrect to try solving complex " "security issues at the PHP level, rather than at the web server and OS " "levels.

Technically, safe mode is a PHP directive that restricts " "the way some built-in PHP functions operate. The main problem here is " "inconsistency. When turned on, PHP safe mode may prevent many legitimate PHP " "functions from working correctly. At the same time there exists a variety of " "methods to override safe mode limitations using PHP functions that aren’t " "restricted, so if a hacker has already got in – safe mode is useless." msgstr "" #: controllers/SecurityCheck.php:454 msgid "" "If you have access to php.ini file, set safe_mode = off or " "contact the hosting company to set it off" msgstr "" #: controllers/SecurityCheck.php:457 msgid "PHP allow_url_include is on" msgstr "" #: controllers/SecurityCheck.php:461 msgid "" "Having this PHP directive enabled will leave your site exposed to cross-site " "attacks (XSS).

There's absolutely no valid reason to enable this " "directive, and using any PHP code that requires it is very risky." msgstr "" #: controllers/SecurityCheck.php:462 msgid "" "If you have access to php.ini file, set allow_url_include = off " "or contact the hosting company to set it off" msgstr "" #: controllers/SecurityCheck.php:465 msgid "Plugins/Themes editor disabled" msgstr "" #: controllers/SecurityCheck.php:469 msgid "" "The plugins and themes file editor is a very convenient tool because it " "enables you to make quick changes without the need to use FTP.

Unfortunately, it's also a security issue because it not only shows the PHP " "source code, it also enables attackers to inject malicious code into your " "site if they manage to gain access to admin." msgstr "" #: controllers/SecurityCheck.php:470 msgid "" "Disable DISALLOW_FILE_EDIT for live websites in wp-config.php " "define('DISALLOW_FILE_EDIT', true);" msgstr "" #: controllers/SecurityCheck.php:474 #, php-format msgid "Folder %s is browsable" msgstr "" #: controllers/SecurityCheck.php:478 msgid "" "Allowing anyone to view all files in the Uploads folder with a browser will " "allow them to easily download all your uploaded files. It's a security and a " "copyright issue." msgstr "" #: controllers/SecurityCheck.php:479 #, php-format msgid "" "Learn how to disable %sDirectory Browsing%s or switch on %s %s > Change " "Paths > Disable Directory Browsing%s" msgstr "" #: controllers/SecurityCheck.php:483 msgid "Windows Live Writer is on" msgstr "" #: controllers/SecurityCheck.php:487 msgid "" "If you're not using Windows Live Writer there's really no valid reason to " "have its link in the page header, because this tells the whole world you're " "using WordPress." msgstr "" #: controllers/SecurityCheck.php:488 #, php-format msgid "Switch on %s %s > Tweaks > Hide WLW Manifest scripts%s" msgstr "" #: controllers/SecurityCheck.php:492 msgid "XML-RPC access is on" msgstr "" #: controllers/SecurityCheck.php:496 msgid "" "WordPress XML-RPC is a specification that aims to standardize communications " "between different systems. It uses HTTP as the transport mechanism and XML " "as encoding mechanism to enable a wide range of data to be transmitted.

The two biggest assets of the API are its extendibility and its " "security. XML-RPC authenticates using basic authentication. It sends the " "username and password with each request, which is a big no-no in security " "circles." msgstr "" #: controllers/SecurityCheck.php:497 #, php-format msgid "Switch on %s %s > Change Paths > Disable XML-RPC access%s" msgstr "" #: controllers/SecurityCheck.php:501 msgid "RDS is visible" msgstr "" #: controllers/SecurityCheck.php:505 msgid "" "If you're not using any Really Simple Discovery services such as pingbacks, " "there's no need to advertise that endpoint (link) in the header. Please note " "that for most sites this is not a security issue because they \"want to be " "discovered\", but if you want to hide the fact that you're using WP, this is " "the way to go." msgstr "" #: controllers/SecurityCheck.php:506 #, php-format msgid "Switch on %s %s > Change Paths > Hide RSD Endpoint%s" msgstr "" #: controllers/SecurityCheck.php:510 msgid "Author URL by ID access" msgstr "" #: controllers/SecurityCheck.php:514 msgid "" "Usernames (unlike passwords) are not secret. By knowing someone's username, " "you can't log in to their account. You also need the password.

However, by knowing the username, you are one step closer to logging in " "using the username to brute-force the password, or to gain access in a " "similar way.

That's why it's advisable to keep the list of " "usernames private, at least to some degree. By default, by accessing siteurl." "com/?author={id} and looping through IDs from 1 you can get a list of " "usernames, because WP will redirect you to siteurl.com/author/user/ if the " "ID exists in the system." msgstr "" #: controllers/SecurityCheck.php:515 #, php-format msgid "Switch on %s %s > Change Paths > Hide Author ID URL%s" msgstr "" #: controllers/SecurityCheck.php:519 msgid "Default WordPress Tagline" msgstr "" #: controllers/SecurityCheck.php:523 msgid "" "The WordPress site tagline is a short phrase located under the site title, " "similar to a subtitle or advertising slogan. The goal of a tagline is to " "convey the essence of your site to visitors.

If you don't change " "the default tagline it will be very easy to detect that your website was " "actually built with WordPress" msgstr "" #: controllers/SecurityCheck.php:524 #, php-format msgid "Change the Tagline in %s > %s > %s" msgstr "" #: controllers/SecurityCheck.php:524 msgid "Tagline" msgstr "" #: controllers/SecurityCheck.php:571 msgid "Done!" msgstr "" #: controllers/SecurityCheck.php:669 controllers/SecurityCheck.php:734 msgid "Don't forget to reload the Nginx service." msgstr "" #: controllers/SecurityCheck.php:675 msgid "Great! The new paths are loading correctly." msgstr "" #: controllers/SecurityCheck.php:683 #, php-format msgid "You can now turn off '%s' option." msgstr "" #: controllers/SecurityCheck.php:683 view/Advanced.php:50 msgid "Prevent Broken Website Layout" msgstr "" #: controllers/SecurityCheck.php:694 #, php-format msgid "You can now turn on '%s' option." msgstr "" #: controllers/SecurityCheck.php:694 view/blocks/ChangeCacheFiles.php:8 msgid "Change Paths in Cached Files" msgstr "" #: controllers/SecurityCheck.php:701 msgid "" "Error! The new paths are not loading correctly. Clear all cache and try " "again." msgstr "" #: controllers/SecurityCheck.php:732 controllers/SecurityCheck.php:791 #: controllers/SecurityCheck.php:831 controllers/SecurityCheck.php:855 #: controllers/SecurityCheck.php:877 controllers/SecurityCheck.php:928 #: controllers/SecurityCheck.php:948 controllers/SecurityCheck.php:976 msgid "Saved! You can run the test again." msgstr "" #: controllers/SecurityCheck.php:734 msgid "Learn How" msgstr "" #: controllers/SecurityCheck.php:748 controllers/SecurityCheck.php:764 #: controllers/SecurityCheck.php:803 controllers/SecurityCheck.php:838 #: controllers/SecurityCheck.php:861 controllers/SecurityCheck.php:884 msgid "Could not fix it. You need to change it manually." msgstr "" #: controllers/SecurityCheck.php:893 msgid "Invalid username." msgstr "" #: controllers/SecurityCheck.php:900 msgid "A user already exists with that username." msgstr "" #: controllers/SecurityCheck.php:967 msgid "Saved! This task will be ignored on future tests." msgstr "" #: controllers/SecurityCheck.php:1029 controllers/SecurityCheck.php:1034 #: controllers/SecurityCheck.php:1054 controllers/SecurityCheck.php:1068 #: controllers/SecurityCheck.php:1083 controllers/SecurityCheck.php:1099 #: controllers/SecurityCheck.php:1333 controllers/SecurityCheck.php:1497 #: controllers/SecurityCheck.php:1517 controllers/SecurityCheck.php:1526 #: controllers/SecurityCheck.php:1533 controllers/SecurityCheck.php:1565 #: controllers/SecurityCheck.php:1569 controllers/SecurityCheck.php:1593 #: controllers/SecurityCheck.php:1601 controllers/SecurityCheck.php:1606 #: controllers/SecurityCheck.php:1632 controllers/SecurityCheck.php:1637 #: controllers/SecurityCheck.php:1649 controllers/SecurityCheck.php:1663 #: controllers/SecurityCheck.php:1678 controllers/SecurityCheck.php:1693 #: controllers/SecurityCheck.php:1706 controllers/SecurityCheck.php:1729 #: controllers/SecurityCheck.php:1753 controllers/SecurityCheck.php:1763 #: controllers/SecurityCheck.php:1784 controllers/SecurityCheck.php:1813 #: controllers/SecurityCheck.php:1828 controllers/SecurityCheck.php:1853 #: controllers/SecurityCheck.php:1888 controllers/SecurityCheck.php:1916 #: controllers/SecurityCheck.php:1952 controllers/SecurityCheck.php:1978 #: controllers/SecurityCheck.php:2000 controllers/SecurityCheck.php:2007 #: controllers/SecurityCheck.php:2036 controllers/SecurityCheck.php:2053 #: controllers/SecurityCheck.php:2067 models/Presets.php:206 msgid "No" msgstr "" #: controllers/SecurityCheck.php:1034 controllers/SecurityCheck.php:1054 #: controllers/SecurityCheck.php:1068 controllers/SecurityCheck.php:1083 #: controllers/SecurityCheck.php:1099 controllers/SecurityCheck.php:1333 #: controllers/SecurityCheck.php:1402 controllers/SecurityCheck.php:1497 #: controllers/SecurityCheck.php:1517 controllers/SecurityCheck.php:1526 #: controllers/SecurityCheck.php:1569 controllers/SecurityCheck.php:1606 #: controllers/SecurityCheck.php:1637 controllers/SecurityCheck.php:1649 #: controllers/SecurityCheck.php:1663 controllers/SecurityCheck.php:1678 #: controllers/SecurityCheck.php:1693 controllers/SecurityCheck.php:1706 #: controllers/SecurityCheck.php:1713 controllers/SecurityCheck.php:1758 #: controllers/SecurityCheck.php:1784 controllers/SecurityCheck.php:1813 #: controllers/SecurityCheck.php:1828 controllers/SecurityCheck.php:1846 #: controllers/SecurityCheck.php:1888 controllers/SecurityCheck.php:1916 #: controllers/SecurityCheck.php:1952 controllers/SecurityCheck.php:1978 #: controllers/SecurityCheck.php:2000 controllers/SecurityCheck.php:2007 #: controllers/SecurityCheck.php:2036 controllers/SecurityCheck.php:2053 #: controllers/SecurityCheck.php:2067 models/Presets.php:206 msgid "Yes" msgstr "" #: controllers/SecurityCheck.php:1172 #, php-format msgid "%s plugin(s) are outdated: %s" msgstr "" #: controllers/SecurityCheck.php:1172 msgid "All plugins are up to date" msgstr "" #: controllers/SecurityCheck.php:1206 #, php-format msgid "%s theme(s) are outdated: %s" msgstr "" #: controllers/SecurityCheck.php:1206 msgid "Themes are up to date" msgstr "" #: controllers/SecurityCheck.php:1257 #, php-format msgid "" "%s plugin(s) have NOT been updated by their developers in the past 12 " "months: %s" msgstr "" #: controllers/SecurityCheck.php:1257 msgid "All plugins have been updated by their developers in the past 12 months" msgstr "" #: controllers/SecurityCheck.php:1291 msgid "All plugins are compatible" msgstr "" #: controllers/SecurityCheck.php:1359 msgid "Reset" msgstr "" #: controllers/SecurityCheck.php:1432 #, php-format msgid "%s days since last update" msgstr "" #: controllers/SecurityCheck.php:1432 msgid "Updated" msgstr "" #: controllers/SecurityCheck.php:1435 msgid "Renew" msgstr "" #: controllers/SecurityCheck.php:1452 msgid "Empty" msgstr "" #: controllers/SecurityCheck.php:1457 #, php-format msgid "only %d chars" msgstr "" #: controllers/SecurityCheck.php:1462 msgid "too simple" msgstr "" #: controllers/SecurityCheck.php:1467 msgid "Good" msgstr "" #: controllers/SecurityCheck.php:1519 msgid "" "Change the wp-config.php file permission to Read-Only using File Manager." msgstr "" #: controllers/SecurityCheck.php:2064 msgid "Just another WordPress site" msgstr "" #: controllers/SecurityCheck.php:2090 #, php-format msgid "%s don't have the correct permission." msgstr "" #: controllers/SecurityCheck.php:2090 msgid "All files have the correct permissions." msgstr "" #: controllers/Settings.php:97 #, php-format msgid "" "Local & NGINX detected. In case you didn't add the code in the NGINX config " "already, please add the following line. %s" msgstr "" #: controllers/Settings.php:97 msgid "Learn how to setup on Local & Nginx" msgstr "" #: controllers/Settings.php:99 #, php-format msgid "" "NGINX detected. In case you didn't add the code in the NGINX config already, " "please add the following line. %s" msgstr "" #: controllers/Settings.php:99 msgid "Learn how to setup on Nginx server" msgstr "" #: controllers/Settings.php:105 view/Backup.php:68 view/Backup.php:77 msgid "Restore Settings" msgstr "" #: controllers/Settings.php:106 msgid "Do you want to restore the last saved settings?" msgstr "" #: controllers/Settings.php:149 msgid "" "There is a configuration error in the plugin. Please Save the settings again " "and follow the instruction." msgstr "" #: controllers/Settings.php:303 #, php-format msgid "" "New Plugin/Theme detected! Update %s settings to hide it. %sClick here%s" msgstr "" #: controllers/Settings.php:320 #, php-format msgid "" "Your %s %s license expired on %s %s. To keep your website security up to " "date please make sure you have a valid subscription on %s" msgstr "" #: controllers/Settings.php:339 msgid "ignore alert" msgstr "" #: controllers/Settings.php:596 msgid "Path not allowed. Avoid paths like plugins and themes." msgstr "" #: controllers/Settings.php:694 msgid "The list of plugins and themes was updated with success!" msgstr "" #: controllers/Settings.php:744 msgid "Paths changed in the existing cache files" msgstr "" #: controllers/Settings.php:796 msgid "Great! The preset was loaded." msgstr "" #: controllers/Settings.php:802 msgid "Error! The preset could not be restored." msgstr "" #: controllers/Settings.php:827 msgid "Great! The initial values are restored." msgstr "" #: controllers/Settings.php:867 msgid "Great! The backup is restored." msgstr "" #: controllers/Settings.php:871 controllers/Settings.php:874 msgid "Error! The backup is not valid." msgstr "" #: controllers/Settings.php:877 msgid "Error! No backup to restore." msgstr "" #: controllers/Settings.php:923 msgid "Can't download the plugin." msgstr "" #: controllers/Templogin.php:105 msgid "Could not login with this user." msgstr "" #: controllers/Templogin.php:105 controllers/Templogin.php:229 #: models/Menu.php:71 models/Menu.php:72 view/Templogin.php:157 msgid "Temporary Login" msgstr "" #: controllers/Templogin.php:170 msgid "Sorry, you are not allowed to access this page." msgstr "" #: controllers/Templogin.php:210 msgid "Empty email address" msgstr "" #: controllers/Templogin.php:212 msgid "Invalid email address" msgstr "" #: controllers/Templogin.php:214 models/Templogin.php:200 #: models/Templogin.php:203 msgid "Email address already exists" msgstr "" #: controllers/Templogin.php:223 msgid "User successfully created." msgstr "" #: controllers/Templogin.php:241 msgid "Could not detect the user" msgstr "" #: controllers/Templogin.php:253 msgid "User successfully updated." msgstr "" #: controllers/Templogin.php:266 msgid "User successfully disabled." msgstr "" #: controllers/Templogin.php:268 msgid "User could not be disabled." msgstr "" #: controllers/Templogin.php:275 msgid "User successfully activated." msgstr "" #: controllers/Templogin.php:277 msgid "User could not be activated." msgstr "" #: controllers/Templogin.php:303 msgid "User successfully deleted." msgstr "" #: controllers/Templogin.php:305 msgid "User could not be deleted." msgstr "" #: controllers/Templogin.php:322 msgid "User" msgstr "" #: controllers/Templogin.php:323 msgid "Role" msgstr "" #: controllers/Templogin.php:324 msgid "Last Access" msgstr "" #: controllers/Templogin.php:325 msgid "Expires" msgstr "" #: controllers/Templogin.php:356 msgid "Lock user" msgstr "" #: controllers/Templogin.php:363 msgid "Reactivate user for 1 day" msgstr "" #: controllers/Templogin.php:367 msgid "Edit user" msgstr "" #: controllers/Templogin.php:372 msgid "Do you want to delete temporary user?" msgstr "" #: controllers/Templogin.php:372 msgid "Delete user" msgstr "" #: controllers/Templogin.php:375 msgid "Copy Link" msgstr "" #: controllers/Templogin.php:384 msgid "after first access" msgstr "" #: controllers/Templogin.php:406 msgid "No temporary logins." msgstr "" #: controllers/Templogin.php:407 msgid "Create New Temporary Login" msgstr "" #: models/Brute.php:494 #, php-format msgid "%sYou failed to correctly answer the math problem.%s Please try again" msgstr "" #: models/Brute.php:516 msgid "Prove your humanity:" msgstr "" #: models/Brute.php:567 models/Brute.php:636 msgid "The secret parameter is missing." msgstr "" #: models/Brute.php:567 models/Brute.php:636 msgid "The secret parameter is invalid or malformed." msgstr "" #: models/Brute.php:567 models/Brute.php:636 msgid "The response parameter is invalid or malformed." msgstr "" #: models/Brute.php:567 models/Brute.php:636 msgid "Empty ReCaptcha. Please complete reCaptcha." msgstr "" #: models/Brute.php:567 models/Brute.php:636 msgid "Invalid ReCaptcha. Please complete reCaptcha." msgstr "" #: models/Brute.php:586 models/Brute.php:655 #, php-format msgid "%sIncorrect ReCaptcha%s. Please try again" msgstr "" #: models/Brute.php:730 msgid "Login Blocked by " msgstr "" #: models/Compatibility.php:623 view/SecurityCheck.php:231 #, php-format msgid "First, you need to activate the %sSafe Mode%s or %sGhost Mode%s in %s" msgstr "" #: models/Compatibility.php:628 msgid "Update Now" msgstr "" #: models/Compatibility.php:640 #, php-format msgid "" "CDN Enabled detected. Please include %s and %s paths in CDN Enabler Settings" msgstr "" #: models/Compatibility.php:647 #, php-format msgid "CDN Enabler detected! Learn how to configure it with %s %sClick here%s" msgstr "" #: models/Compatibility.php:656 #, php-format msgid "" "WP Super Cache CDN detected. Please include %s and %s paths in WP Super " "Cache > CDN > Include directories" msgstr "" #: models/Compatibility.php:664 #, php-format msgid "" "Ultimate Affiliate Pro detected. The plugin doesn't support custom %s paths " "as it doesn't use WordPress functions to call the Ajax URL" msgstr "" #: models/Compatibility.php:671 #, php-format msgid "" "Indeed Ultimate Membership Pro detected. The plugin doesn't support custom " "%s paths as it doesn't use WordPress functions to call the Ajax URL" msgstr "" #: models/Compatibility.php:677 #, php-format msgid "" "%s does not work without mode_rewrite. Please activate the rewrite module in " "Apache. %sMore details%s" msgstr "" #: models/Compatibility.php:682 #, php-format msgid "" "You need to activate the URL Rewrite for IIS to be able to change the " "permalink structure to friendly URL (without index.php). %sMore details%s" msgstr "" #: models/Compatibility.php:684 msgid "" "You need to set the permalink structure to friendly URL (without index.php)." msgstr "" #: models/Compatibility.php:689 #, php-format msgid "" "Inmotion detected. %sPlease read how to make the plugin compatible with " "Inmotion Nginx Cache%s" msgstr "" #: models/Compatibility.php:693 #, php-format msgid "" "Bitnami detected. %sPlease read how to make the plugin compatible with AWS " "hosting%s" msgstr "" #: models/Compatibility.php:697 #, php-format msgid "" "Cloud Panel detected. %sPlease read how to make the plugin compatible with " "Cloud Panel hosting%s" msgstr "" #: models/Compatibility.php:726 #, php-format msgid "" "To hide the Avada library, please add the Avada FUSION_LIBRARY_URL in wp-" "config.php file after $table_prefix line: %s" msgstr "" #: models/Compatibility.php:738 #, php-format msgid "" "%s rules are not saved in the config file and this may affect the website " "loading speed." msgstr "" #: models/Compatibility.php:747 #, php-format msgid "" "Godaddy detected! To avoid CSS errors, make sure you switch off the CDN from " "%s" msgstr "" #: models/Compatibility.php:751 #, php-format msgid "" "BulletProof plugin! Make sure you save the settings in %s after activating " "Root Folder BulletProof Mode in BulletProof plugin." msgstr "" #: models/Compatibility.php:755 #, php-format msgid "" "Activate 'Must Use Plugin Loading' from 'Plugin Loading Hook' to be able to " "connect to your dashboard directly from managewp.com. %s click here %s" msgstr "" #: models/Compatibility.php:761 msgid "Close Error" msgstr "" #: models/Compatibility.php:762 #, php-format msgid "" "Attention! Some URLs passed through the config file rules and were loaded " "through WordPress rewrite which may slow down your website. %s Please follow " "this tutorial to fix the issue: %s" msgstr "" #: models/Compatibility.php:766 models/Compatibility.php:770 #, php-format msgid "Google reCaptcha V3 is not working with the current login form of %s ." msgstr "" #: models/ListTable.php:20 msgid "log" msgstr "" #: models/ListTable.php:21 msgid "logs" msgstr "" #: models/ListTable.php:30 msgid "See the last days actions on this website ..." msgstr "" #: models/ListTable.php:42 msgid "Filter" msgstr "" #: models/ListTable.php:83 msgid "No log found." msgstr "" #: models/ListTable.php:148 msgid "User Action" msgstr "" #: models/ListTable.php:148 msgid "Location" msgstr "" #: models/ListTable.php:148 msgid "Details" msgstr "" #: models/ListTable.php:148 msgid "Date" msgstr "" #: models/ListTable.php:234 msgid "All Actions" msgstr "" #: models/ListTable.php:252 msgid "All Websites" msgstr "" #: models/Menu.php:26 models/Menu.php:27 msgid "Overview" msgstr "" #: models/Menu.php:33 models/Menu.php:34 view/blocks/ChangeCacheFiles.php:70 #: view/blocks/ChangeFiles.php:20 msgid "Change Paths" msgstr "" #: models/Menu.php:40 models/Menu.php:41 msgid "Tweaks" msgstr "" #: models/Menu.php:47 msgid "Mapping" msgstr "" #: models/Menu.php:48 msgid "Text & URL Mapping" msgstr "" #: models/Menu.php:58 msgid "Headers & Firewall" msgstr "" #: models/Menu.php:64 models/Menu.php:65 view/Brute.php:52 msgid "Brute Force" msgstr "" #: models/Menu.php:79 msgid "2FA Login" msgstr "" #: models/Menu.php:80 msgid "Two-factor authentication" msgstr "" #: models/Menu.php:87 models/Menu.php:88 view/Log.php:112 msgid "Events Log" msgstr "" #: models/Menu.php:95 models/Menu.php:96 view/blocks/SecurityCheck.php:13 msgid "Security Check" msgstr "" #: models/Menu.php:102 models/Menu.php:103 msgid "Backup/Restore" msgstr "" #: models/Menu.php:109 msgid "Advanced" msgstr "" #: models/Menu.php:110 msgid "Advanced Settings" msgstr "" #: models/Menu.php:130 models/Menu.php:131 msgid "My Account" msgstr "" #: models/Menu.php:156 msgid "Level of Security" msgstr "" #: models/Menu.php:160 view/Permalinks.php:327 msgid "Admin Security" msgstr "" #: models/Menu.php:164 view/Permalinks.php:402 msgid "Login Security" msgstr "" #: models/Menu.php:168 view/Permalinks.php:621 msgid "Ajax Security" msgstr "" #: models/Menu.php:172 view/Permalinks.php:583 msgid "User Security" msgstr "" #: models/Menu.php:176 view/Permalinks.php:667 msgid "WP Core Security" msgstr "" #: models/Menu.php:180 msgid "Plugins Security" msgstr "" #: models/Menu.php:184 view/Permalinks.php:948 msgid "Themes Security" msgstr "" #: models/Menu.php:188 msgid "API Security" msgstr "" #: models/Menu.php:208 view/Tweaks.php:36 msgid "Redirects" msgstr "" #: models/Menu.php:212 view/Tweaks.php:178 msgid "Feed & Sitemap" msgstr "" #: models/Menu.php:216 view/Tweaks.php:256 msgid "Change Options" msgstr "" #: models/Menu.php:220 view/Tweaks.php:296 msgid "Hide Options" msgstr "" #: models/Menu.php:224 view/Tweaks.php:454 msgid "Disable Options" msgstr "" #: models/Menu.php:248 view/Firewall.php:278 msgid "Geo Security" msgstr "" #: models/Menu.php:252 view/Firewall.php:373 view/Permalinks.php:198 msgid "Whitelist" msgstr "" #: models/Menu.php:256 view/Firewall.php:437 msgid "Blacklist" msgstr "" #: models/Menu.php:262 msgid "Blocked IPs Report" msgstr "" #: models/Menu.php:272 view/Log.php:17 msgid "Events Log Report" msgstr "" #: models/Menu.php:283 view/Advanced.php:24 msgid "Rollback Settings" msgstr "" #: models/Menu.php:287 msgid "Compatibility" msgstr "" #: models/Menu.php:291 view/Advanced.php:183 msgid "Email Notification" msgstr "" #: models/Prefix.php:81 msgid "" "Unable to update the wp-config.php file in order to update the " "Database Prefix." msgstr "" #: models/Prefix.php:168 #, php-format msgid "Could not rename table %1$s. You may have to rename the table manually." msgstr "" #: models/Prefix.php:199 msgid "Could not update prefix references in options table." msgstr "" #: models/Prefix.php:224 msgid "Could not update prefix references in usermeta table." msgstr "" #: models/Presets.php:23 msgid "Minimal (No Config Rewrites)" msgstr "" #: models/Presets.php:24 msgid "Safe Mode + Firewall + Compatibility Settings" msgstr "" #: models/Presets.php:25 msgid "Safe Mode + Firewall + Brute Force + Events Log + Two factor" msgstr "" #: models/Presets.php:26 msgid "Ghost Mode + Firewall + Brute Force + Events Log + Two factor" msgstr "" #: models/Presets.php:40 view/Permalinks.php:345 msgid "Custom Admin Path" msgstr "" #: models/Presets.php:42 view/Permalinks.php:360 msgid "Hide \"wp-admin\"" msgstr "" #: models/Presets.php:44 view/Permalinks.php:455 msgid "Custom Login Path" msgstr "" #: models/Presets.php:46 view/Permalinks.php:434 view/Permalinks.php:480 msgid "Hide \"login\" Path" msgstr "" #: models/Presets.php:48 view/Permalinks.php:446 view/Permalinks.php:491 msgid "Hide the New Login Path" msgstr "" #: models/Presets.php:50 view/Permalinks.php:627 msgid "Custom admin-ajax Path" msgstr "" #: models/Presets.php:52 view/Permalinks.php:641 msgid "Hide wp-admin from Ajax URL" msgstr "" #: models/Presets.php:54 view/Permalinks.php:655 msgid "Change Paths in Ajax Calls" msgstr "" #: models/Presets.php:56 view/Permalinks.php:672 msgid "Custom wp-content Path" msgstr "" #: models/Presets.php:58 view/Permalinks.php:682 msgid "Custom wp-includes Path" msgstr "" #: models/Presets.php:60 view/Permalinks.php:693 msgid "Custom uploads Path" msgstr "" #: models/Presets.php:62 view/Permalinks.php:591 msgid "Custom author Path" msgstr "" #: models/Presets.php:64 view/Permalinks.php:607 msgid "Hide Author ID URL" msgstr "" #: models/Presets.php:66 view/Permalinks.php:832 msgid "Custom plugins Path" msgstr "" #: models/Presets.php:68 view/Permalinks.php:845 msgid "Hide Plugin Names" msgstr "" #: models/Presets.php:70 view/Permalinks.php:954 msgid "Custom themes Path" msgstr "" #: models/Presets.php:72 view/Permalinks.php:968 msgid "Hide Theme Names" msgstr "" #: models/Presets.php:74 view/Permalinks.php:993 msgid "Custom theme style name" msgstr "" #: models/Presets.php:76 view/Permalinks.php:709 msgid "Custom comment Path" msgstr "" #: models/Presets.php:78 view/Permalinks.php:723 msgid "Hide WordPress Common Paths" msgstr "" #: models/Presets.php:80 view/Permalinks.php:763 msgid "Hide WordPress Common Files" msgstr "" #: models/Presets.php:83 view/Firewall.php:33 msgid "Firewall Against Script Injection" msgstr "" #: models/Presets.php:85 view/Firewall.php:44 msgid "Firewall Strength" msgstr "" #: models/Presets.php:87 view/Firewall.php:83 msgid "Remove Unsafe Headers" msgstr "" #: models/Presets.php:89 view/Firewall.php:96 msgid "Block Theme Detectors Crawlers" msgstr "" #: models/Presets.php:91 view/Firewall.php:120 msgid "Add Security Headers for XSS and Code Injection Attacks" msgstr "" #: models/Presets.php:93 msgid "Hide Version from Images, CSS and JS in WordPress" msgstr "" #: models/Presets.php:95 view/Tweaks.php:353 msgid "Random Static Number" msgstr "" #: models/Presets.php:97 view/Tweaks.php:365 msgid "Hide IDs from META Tags" msgstr "" #: models/Presets.php:99 view/Tweaks.php:379 msgid "Hide WordPress DNS Prefetch META Tags" msgstr "" #: models/Presets.php:101 view/Tweaks.php:391 msgid "Hide WordPress Generator META Tags" msgstr "" #: models/Presets.php:103 view/Tweaks.php:403 msgid "Hide HTML Comments" msgstr "" #: models/Presets.php:105 msgid "Hide Embed scripts" msgstr "" #: models/Presets.php:107 msgid "Hide WLW Manifest scripts" msgstr "" #: models/Presets.php:113 view/Brute.php:60 msgid "Use Brute Force Protection" msgstr "" #: models/Presets.php:115 view/Brute.php:104 msgid "Wrong Username Protection" msgstr "" #: models/Presets.php:117 view/Log.php:70 msgid "Log Users Events" msgstr "" #: models/Presets.php:176 view/Firewall.php:50 msgid "Minimal" msgstr "" #: models/Presets.php:178 view/Firewall.php:51 msgid "Medium" msgstr "" #: models/Presets.php:180 view/Firewall.php:52 msgid "7G Firewall" msgstr "" #: models/Presets.php:182 view/Firewall.php:53 msgid "8G Firewall" msgstr "" #: models/Rewrite.php:792 msgid "Okay, I set it up" msgstr "" #: models/Rewrite.php:802 #, php-format msgid "" "IIS detected. You need to update your %s file by adding the following lines " "after <rules> tag: %s" msgstr "" #: models/Rewrite.php:846 models/Rewrite.php:994 #, php-format msgid "" "Config file is not writable. Create the file if not exists or copy to %s " "file the following lines: %s" msgstr "" #: models/Rewrite.php:884 #, php-format msgid "" "WpEngine detected. Add the redirects in the WpEngine Redirect rules panel %s." msgstr "" #: models/Rewrite.php:884 models/Rewrite.php:921 msgid "Learn How To Add the Code" msgstr "" #: models/Rewrite.php:921 #, php-format msgid "" "Flywheel detected. Add the redirects in the Flywheel Redirect rules panel %s." msgstr "" #: models/Rewrite.php:1057 #, php-format msgid "" "Config file is not writable. You have to added it manually at the beginning " "of the %s file: %s" msgstr "" #: models/Rewrite.php:1554 msgctxt "password strength" msgid "Password strength unknown" msgstr "" #: models/Rewrite.php:1555 msgctxt "password strength" msgid "Very weak" msgstr "" #: models/Rewrite.php:1556 msgctxt "password strength" msgid "Weak" msgstr "" #: models/Rewrite.php:1557 msgctxt "password strength" msgid "Medium" msgstr "" #: models/Rewrite.php:1558 msgctxt "password strength" msgid "Strong" msgstr "" #: models/Rewrite.php:1559 msgctxt "password mismatch" msgid "Mismatch" msgstr "" #: models/Rewrite.php:2403 msgid "404 Not Found" msgstr "" #: models/Rewrite.php:2403 msgid "Page Not Found" msgstr "" #: models/Rewrite.php:2403 #, php-format msgid "The requested URL %s was not found on this server." msgstr "" #: models/Rewrite.php:2421 msgid "403 Forbidden" msgstr "" #: models/Rewrite.php:2421 msgid "Forbidden" msgstr "" #: models/Rewrite.php:2421 #, php-format msgid "You don't have the permission to access %s on this server." msgstr "" #: models/Rewrite.php:3353 msgid "" "There has been a critical error on your website. Please check your site " "admin email inbox for instructions." msgstr "" #: models/Rewrite.php:3355 msgid "There has been a critical error on your website." msgstr "" #: models/Settings.php:95 msgid "" "You can't set both ADMIN and LOGIN with the same name. Please use different " "names" msgstr "" #: models/Settings.php:300 #, php-format msgid "" "Config file is not writable. Create the file if not exists or copy to %s " "file with the following lines: %s" msgstr "" #: models/Settings.php:356 #, php-format msgid "Global class name detected: %s. Read this article first: %s" msgstr "" #: models/Settings.php:366 msgid "" "Error: You entered the same text twice in the Text Mapping. We removed the " "duplicates to prevent any redirect errors." msgstr "" #: models/Settings.php:439 msgid "" "Error: You entered the same URL twice in the URL Mapping. We removed the " "duplicates to prevent any redirect errors." msgstr "" #: models/Settings.php:487 #, php-format msgid "" "Invalid name detected: %s. You need to use another name to avoid WordPress " "errors." msgstr "" #: models/Settings.php:514 #, php-format msgid "" "Short name detected: %s. You need to use unique paths with more than 4 chars " "to avoid WordPress errors." msgstr "" #: models/Settings.php:520 #, php-format msgid "" "Invalid name detected: %s. Add only the final path name to avoid WordPress " "errors." msgstr "" #: models/Settings.php:526 #, php-format msgid "" "Invalid name detected: %s. The name can't start with / to avoid WordPress " "errors." msgstr "" #: models/Settings.php:532 #, php-format msgid "" "Invalid name detected: %s. The name can't end with / to avoid WordPress " "errors." msgstr "" #: models/Settings.php:541 #, php-format msgid "" "Invalid name detected: %s. The paths can't end with . to avoid WordPress " "errors." msgstr "" #: models/Settings.php:572 #, php-format msgid "" "Weak name detected: %s. You need to use another name to increase your " "website security." msgstr "" #: models/Templogin.php:17 msgid "One Hour" msgstr "" #: models/Templogin.php:19 msgid "Three Hours" msgstr "" #: models/Templogin.php:20 msgid "One Day" msgstr "" #: models/Templogin.php:22 msgid "Three Days" msgstr "" #: models/Templogin.php:23 msgid "One Week" msgstr "" #: models/Templogin.php:24 msgid "One Month" msgstr "" #: models/Templogin.php:26 msgid "Six Months" msgstr "" #: models/Templogin.php:27 msgid "One Year" msgstr "" #: models/Templogin.php:122 msgid "Not yet logged in" msgstr "" #: models/Templogin.php:138 msgid "Super Admin" msgstr "" #: models/Templogin.php:266 msgid "User could not be added" msgstr "" #: models/Templogin.php:489 models/Templogin.php:519 msgid "Expired" msgstr "" #: models/Templogin.php:512 #, php-format msgid "%d %s ago" msgstr "" #: models/Templogin.php:514 #, php-format msgid "%d %s remaining" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Andorra" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "United Arab Emirates" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Afghanistan" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Antigua and Barbuda" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Anguilla" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Albania" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Armenia" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Angola" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Antarctica" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Argentina" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "American Samoa" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Austria" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Australia" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Aruba" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Aland Islands" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Azerbaijan" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Bosnia and Herzegovina" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Barbados" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Bangladesh" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Belgium" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Burkina Faso" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Bulgaria" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Bahrain" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Burundi" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Benin" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Saint Bartelemey" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Bermuda" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Brunei Darussalam" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Bolivia" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Bonaire, Saint Eustatius and Saba" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Brazil" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Bahamas" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Bhutan" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Bouvet Island" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Botswana" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Belarus" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Belize" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Canada" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Cocos (Keeling) Islands" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Congo, The Democratic Republic of the" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Central African Republic" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Congo" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Switzerland" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Cote dIvoire" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Cook Islands" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Chile" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Cameroon" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "China" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Colombia" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Costa Rica" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Cuba" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Cape Verde" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Curacao" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Christmas Island" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Cyprus" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Czech Republic" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Germany" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Djibouti" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Denmark" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Dominica" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Dominican Republic" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Algeria" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Ecuador" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Estonia" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Egypt" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Western Sahara" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Eritrea" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Spain" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Ethiopia" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Europe" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Finland" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Fiji" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Falkland Islands (Malvinas)" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Micronesia, Federated States of" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Faroe Islands" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "France" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Gabon" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "United Kingdom" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Grenada" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Georgia" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "French Guiana" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Guernsey" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Ghana" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Gibraltar" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Greenland" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Gambia" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Guinea" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Guadeloupe" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Equatorial Guinea" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Greece" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "South Georgia and the South Sandwich Islands" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Guatemala" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Guam" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Guinea-Bissau" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Guyana" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Hong Kong" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Heard Island and McDonald Islands" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Honduras" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Croatia" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Haiti" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Hungary" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Indonesia" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Ireland" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Israel" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Isle of Man" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "India" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "British Indian Ocean Territory" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Iraq" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Iran, Islamic Republic of" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Iceland" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Italy" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Jersey" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Jamaica" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Jordan" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Japan" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Kenya" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Kyrgyzstan" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Cambodia" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Kiribati" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Comoros" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Saint Kitts and Nevis" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "North Korea" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "South Korea" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Kuwait" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Cayman Islands" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Kazakhstan" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Lao Peoples Democratic Republic" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Lebanon" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Saint Lucia" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Liechtenstein" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Sri Lanka" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Liberia" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Lesotho" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Lithuania" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Luxembourg" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Latvia" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Libyan Arab Jamahiriya" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Morocco" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Monaco" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Moldova, Republic of" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Montenegro" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Saint Martin" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Madagascar" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Marshall Islands" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "North Macedonia, Republic of" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Mali" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Myanmar" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Mongolia" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Macao" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Northern Mariana Islands" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Martinique" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Mauritania" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Montserrat" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Malta" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Mauritius" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Maldives" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Malawi" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Mexico" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Malaysia" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Mozambique" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Namibia" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "New Caledonia" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Niger" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Norfolk Island" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Nigeria" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Nicaragua" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Netherlands" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Norway" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Nepal" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Nauru" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Niue" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "New Zealand" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Oman" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Panama" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Peru" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "French Polynesia" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Papua New Guinea" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Philippines" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Pakistan" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Poland" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Saint Pierre and Miquelon" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Pitcairn" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Puerto Rico" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Palestinian Territory" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Portugal" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Palau" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Paraguay" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Qatar" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Reunion" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Romania" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Serbia" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Russian Federation" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Rwanda" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Saudi Arabia" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Solomon Islands" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Seychelles" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Sudan" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Sweden" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Singapore" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Saint Helena" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Slovenia" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Svalbard and Jan Mayen" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Slovakia" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Sierra Leone" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "San Marino" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Senegal" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Somalia" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Suriname" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Sao Tome and Principe" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "El Salvador" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Sint Maarten" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Syrian Arab Republic" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Swaziland" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Turks and Caicos Islands" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Chad" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "French Southern Territories" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Togo" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Thailand" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Tajikistan" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Tokelau" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Timor-Leste" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Turkmenistan" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Tunisia" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Tonga" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Turkey" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Trinidad and Tobago" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Tuvalu" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Taiwan" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Tanzania, United Republic of" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Ukraine" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Uganda" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "United States Minor Outlying Islands" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "United States" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Uruguay" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Uzbekistan" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Holy See (Vatican City State)" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Saint Vincent and the Grenadines" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Venezuela" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Virgin Islands, British" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Virgin Islands, U.S." msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Vietnam" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Vanuatu" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Wallis and Futuna" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Samoa" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Kosovo" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Yemen" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Mayotte" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "South Africa" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Zambia" msgstr "" #: models/geoip/GeoLocator.php:96 msgid "Zimbabwe" msgstr "" #: update/v5p4/Plugin/Ui.php:56 msgid "View details" msgstr "" #: update/v5p4/Plugin/Ui.php:79 #, php-format msgid "More information about %s" msgstr "" #: update/v5p4/Plugin/Ui.php:130 msgid "Check for updates" msgstr "" #: update/v5p4/Plugin/Ui.php:217 #, php-format msgctxt "the plugin title" msgid "The %s plugin is up to date." msgstr "" #: update/v5p4/Plugin/Ui.php:219 #, php-format msgctxt "the plugin title" msgid "A new version of the %s plugin is available." msgstr "" #: update/v5p4/Plugin/Ui.php:221 #, php-format msgctxt "the plugin title" msgid "Could not determine if updates are available for %s." msgstr "" #: update/v5p4/Plugin/Ui.php:227 #, php-format msgid "Unknown update checker status \"%s\"" msgstr "" #: update/v5p4/Vcs/PluginUpdateChecker.php:113 msgid "There is no changelog available." msgstr "" #: view/Advanced.php:30 msgid "Custom Safe URL Param" msgstr "" #: view/Advanced.php:31 msgid "eg. disable_url, safe_url" msgstr "" #: view/Advanced.php:39 msgid "" "The Safe URL will deactivate all the custom paths. Use it only if you can't " "login." msgstr "" #: view/Advanced.php:41 msgid "Safe URL:" msgstr "" #: view/Advanced.php:52 view/Advanced.php:110 view/Advanced.php:157 #: view/Firewall.php:68 msgid "recommended" msgstr "" #: view/Advanced.php:55 msgid "" "If the rewrite rules are not loading correctly in the config file, do not " "load the plugin and do not change the paths." msgstr "" #: view/Advanced.php:67 msgid "Compatibility Settings" msgstr "" #: view/Advanced.php:73 msgid "Server Type" msgstr "" #: view/Advanced.php:78 msgid "Autodetect" msgstr "" #: view/Advanced.php:79 msgid "Apache" msgstr "" #: view/Advanced.php:80 msgid "IIS Windows" msgstr "" #: view/Advanced.php:81 msgid "Nginx" msgstr "" #: view/Advanced.php:82 msgid "LiteSpeed" msgstr "" #: view/Advanced.php:83 msgid "SiteGround" msgstr "" #: view/Advanced.php:84 msgid "Cloud Panel" msgstr "" #: view/Advanced.php:85 msgid "Flywheel" msgstr "" #: view/Advanced.php:86 msgid "Local by Flywheel" msgstr "" #: view/Advanced.php:87 msgid "Inmotion" msgstr "" #: view/Advanced.php:88 msgid "WP Engine" msgstr "" #: view/Advanced.php:89 msgid "AWS Bitnami" msgstr "" #: view/Advanced.php:90 msgid "Godaddy" msgstr "" #: view/Advanced.php:95 msgid "" "Choose the type of server you are using to get the most suitable " "configuration for your server." msgstr "" #: view/Advanced.php:96 msgid "" "Only change this option if the plugin fails to identify the server type " "correctly." msgstr "" #: view/Advanced.php:104 msgid "Plugin Loading Hook" msgstr "" #: view/Advanced.php:108 view/Advanced.php:117 msgid "Must Use Plugin Loading" msgstr "" #: view/Advanced.php:109 view/Advanced.php:121 msgid "Priority Loading" msgstr "" #: view/Advanced.php:110 view/Advanced.php:124 msgid "Normal Loading" msgstr "" #: view/Advanced.php:111 view/Advanced.php:127 msgid "Late Loading" msgstr "" #: view/Advanced.php:117 msgid "Load the plugin as a Must Use plugin." msgstr "" #: view/Advanced.php:118 msgid "Compatibility with Manage WP plugin" msgstr "" #: view/Advanced.php:118 msgid "Compatibility with Token Based Login plugins" msgstr "" #: view/Advanced.php:121 msgid "Load before all plugins are loaded. On \"plugins_loaded\" hook." msgstr "" #: view/Advanced.php:124 msgid "Load when the plugins are initialized. On \"init\" hook." msgstr "" #: view/Advanced.php:127 msgid "Load after all plugins are loaded. On \"template_redirects\" hook." msgstr "" #: view/Advanced.php:129 msgid "(multiple options are available)" msgstr "" #: view/Advanced.php:140 msgid "Clean Login Page" msgstr "" #: view/Advanced.php:143 msgid "" "Cancel the login hooks from other plugins and themes to prevent unwanted " "login redirects." msgstr "" #: view/Advanced.php:144 msgid "" "(useful when the theme is adding wrong admin redirects or infinite redirects)" msgstr "" #: view/Advanced.php:155 msgid "Add Rewrites in WordPress Rules Section" msgstr "" #: view/Advanced.php:159 msgid "" "This option will add rewrite rules to the .htaccess file in the WordPress " "rewrite rules area between the comments # BEGIN WordPress and # END " "WordPress." msgstr "" #: view/Advanced.php:160 msgid "" "Some plugins may remove custom rewrite rules from the .htaccess file, " "especially if it's writable, which can affect the functionality of custom " "paths.." msgstr "" #: view/Advanced.php:173 msgid "Notification Settings" msgstr "" #: view/Advanced.php:186 msgid "Send me an email with the changed admin and login URLs" msgstr "" #: view/Advanced.php:193 msgid "Email Address" msgstr "" #: view/Advanced.php:213 view/Brute.php:389 view/Firewall.php:518 #: view/Log.php:99 view/Mapping.php:288 view/Mapping.php:292 #: view/Permalinks.php:1177 view/Permalinks.php:1181 view/Templogin.php:145 #: view/Tweaks.php:766 msgid "Save" msgstr "" #: view/Backup.php:14 msgid "Preset Security" msgstr "" #: view/Backup.php:18 msgid "Select a preset security settings we've tested on most websites." msgstr "" #: view/Backup.php:24 msgid "Select Preset" msgstr "" #: view/Backup.php:34 msgid "Paths & Options" msgstr "" #: view/Backup.php:52 msgid "Load Preset" msgstr "" #: view/Backup.php:58 msgid "Backup/Restore Settings" msgstr "" #: view/Backup.php:61 msgid "" "Click Backup and the download will start automatically. You can use the " "Backup for all your websites." msgstr "" #: view/Backup.php:67 view/Backup.php:120 msgid "Backup Settings" msgstr "" #: view/Backup.php:83 msgid "Upload the file with the saved plugin settings" msgstr "" #: view/Backup.php:91 msgid "Restore Backup" msgstr "" #: view/Backup.php:103 view/Backup.php:110 msgid "Reset Settings" msgstr "" #: view/Backup.php:106 msgid "Rollback all the plugin settings to initial values." msgstr "" #: view/Backup.php:121 #, php-format msgid "" "It's important to %s save your settings every time you change them %s. You " "can use the backup to configure other websites you own." msgstr "" #: view/Brute.php:12 msgid "Blocked IPs" msgstr "" #: view/Brute.php:24 msgid "Unlock all" msgstr "" #: view/Brute.php:36 msgid "Activate the \"Brute Force\" option to see the user IP blocked report" msgstr "" #: view/Brute.php:37 msgid "Activate Brute Force Protection" msgstr "" #: view/Brute.php:63 msgid "Protects your website against Brute Force login attacks." msgstr "" #: view/Brute.php:72 msgid "Lost Password Form Protection" msgstr "" #: view/Brute.php:73 msgid "Activate the Brute Force protection on lost password form." msgstr "" #: view/Brute.php:83 view/Brute.php:373 msgid "Sign Up Form Protection" msgstr "" #: view/Brute.php:84 msgid "Activate the Brute Force protection on sign up form." msgstr "" #: view/Brute.php:94 msgid "Comment Form Protection" msgstr "" #: view/Brute.php:95 msgid "Activate the Brute Force protection on website comment form." msgstr "" #: view/Brute.php:105 msgid "Immediately block incorrect usernames on login form." msgstr "" #: view/Brute.php:120 msgid "Math reCAPTCHA" msgstr "" #: view/Brute.php:121 msgid "Google reCAPTCHA V2" msgstr "" #: view/Brute.php:123 msgid "Google reCAPTCHA V3" msgstr "" #: view/Brute.php:129 #, php-format msgid "%sClick here%s to create or view keys for Google reCAPTCHA v2." msgstr "" #: view/Brute.php:133 view/Brute.php:246 msgid "Site key" msgstr "" #: view/Brute.php:134 view/Brute.php:247 #, php-format msgid "Site keys for %sGoogle reCaptcha%s." msgstr "" #: view/Brute.php:142 view/Brute.php:255 msgid "Secret Key" msgstr "" #: view/Brute.php:143 view/Brute.php:256 #, php-format msgid "Secret keys for %sGoogle reCAPTCHA%s." msgstr "" #: view/Brute.php:151 msgid "reCaptcha Theme" msgstr "" #: view/Brute.php:158 msgid "light" msgstr "" #: view/Brute.php:159 msgid "dark" msgstr "" #: view/Brute.php:169 msgid "reCaptcha Language" msgstr "" #: view/Brute.php:176 msgid "Auto Detect" msgstr "" #: view/Brute.php:177 msgid "English" msgstr "" #: view/Brute.php:178 msgid "Arabic" msgstr "" #: view/Brute.php:179 msgid "Bulgarian" msgstr "" #: view/Brute.php:180 msgid "Catalan Valencian" msgstr "" #: view/Brute.php:181 msgid "Czech" msgstr "" #: view/Brute.php:182 msgid "Danish" msgstr "" #: view/Brute.php:183 msgid "German" msgstr "" #: view/Brute.php:184 msgid "Greek" msgstr "" #: view/Brute.php:185 msgid "British English" msgstr "" #: view/Brute.php:186 msgid "Spanish" msgstr "" #: view/Brute.php:187 msgid "Persian" msgstr "" #: view/Brute.php:188 msgid "French" msgstr "" #: view/Brute.php:189 msgid "Canadian French" msgstr "" #: view/Brute.php:190 msgid "Hindi" msgstr "" #: view/Brute.php:191 msgid "Croatian" msgstr "" #: view/Brute.php:192 msgid "Hungarian" msgstr "" #: view/Brute.php:193 msgid "Indonesian" msgstr "" #: view/Brute.php:194 msgid "Italian" msgstr "" #: view/Brute.php:195 msgid "Hebrew" msgstr "" #: view/Brute.php:196 msgid "Jananese" msgstr "" #: view/Brute.php:197 msgid "Korean" msgstr "" #: view/Brute.php:198 msgid "Lithuanian" msgstr "" #: view/Brute.php:199 msgid "Latvian" msgstr "" #: view/Brute.php:200 msgid "Dutch" msgstr "" #: view/Brute.php:201 msgid "Norwegian" msgstr "" #: view/Brute.php:202 msgid "Polish" msgstr "" #: view/Brute.php:203 msgid "Portuguese" msgstr "" #: view/Brute.php:204 msgid "Romanian" msgstr "" #: view/Brute.php:205 msgid "Russian" msgstr "" #: view/Brute.php:206 msgid "Slovak" msgstr "" #: view/Brute.php:207 msgid "Slovene" msgstr "" #: view/Brute.php:208 msgid "Serbian" msgstr "" #: view/Brute.php:209 msgid "Swedish" msgstr "" #: view/Brute.php:210 msgid "Thai" msgstr "" #: view/Brute.php:211 msgid "Turkish" msgstr "" #: view/Brute.php:212 msgid "Ukrainian" msgstr "" #: view/Brute.php:213 msgid "Vietnamese" msgstr "" #: view/Brute.php:214 msgid "Simplified Chinese" msgstr "" #: view/Brute.php:215 msgid "Traditional Chinese" msgstr "" #: view/Brute.php:226 msgid "reCAPTCHA V2 Test" msgstr "" #: view/Brute.php:228 view/Brute.php:267 msgid "Next Steps" msgstr "" #: view/Brute.php:230 view/Brute.php:269 #, php-format msgid "Run %sreCAPTCHA Test%s and login inside the popup." msgstr "" #: view/Brute.php:231 view/Brute.php:270 msgid "If you're able to login, you've set reCAPTCHA correctly." msgstr "" #: view/Brute.php:232 view/Brute.php:271 msgid "" "If the reCAPTCHA displays any error, please make sure you fix them before " "moving forward." msgstr "" #: view/Brute.php:233 view/Brute.php:272 msgid "" "Do not logout from your account until you are confident that reCAPTCHA is " "working and you will be able to login again." msgstr "" #: view/Brute.php:234 view/Brute.php:273 msgid "If you can't configure reCAPTCHA, switch to Math reCaptcha protection." msgstr "" #: view/Brute.php:242 #, php-format msgid "%sClick here%s to create or view keys for Google reCAPTCHA v3." msgstr "" #: view/Brute.php:265 msgid "reCAPTCHA V3 Test" msgstr "" #: view/Brute.php:282 msgid "Max Fail Attempts" msgstr "" #: view/Brute.php:283 msgid "Block IP on login page" msgstr "" #: view/Brute.php:291 msgid "Ban Duration" msgstr "" #: view/Brute.php:292 msgid "No. of seconds" msgstr "" #: view/Brute.php:300 msgid "Lockout Message" msgstr "" #: view/Brute.php:301 msgid "Show message instead of login form" msgstr "" #: view/Brute.php:313 msgid "reCAPTCHA Test" msgstr "" #: view/Brute.php:327 msgid "Manage whitelist & blacklist IP addresses" msgstr "" #: view/Brute.php:332 #, php-format msgid "Use the %s shortcode to integrate it with other login forms." msgstr "" #: view/Brute.php:335 msgid "Learn how to use the shortcode" msgstr "" #: view/Brute.php:352 view/Mapping.php:31 view/Mapping.php:168 #: view/Mapping.php:243 view/Tweaks.php:184 view/Tweaks.php:300 #: view/Tweaks.php:460 #, php-format msgid "First, you need to activate the %sSafe Mode%s or %sGhost Mode%s" msgstr "" #: view/Brute.php:362 msgid "WooCommerce Support" msgstr "" #: view/Brute.php:363 msgid "Activate the Brute Force protection on WooCommerce login forms." msgstr "" #: view/Brute.php:374 msgid "Activate the Brute Force protection on WooCommerce sign up forms." msgstr "" #: view/Brute.php:398 msgid "Brute Force Login Protection" msgstr "" #: view/Brute.php:399 #, php-format msgid "" "Protects your website against Brute Force login attacks using %s A common " "threat web developers face is a password-guessing attack known as a Brute " "Force attack. A Brute Force attack is an attempt to discover a password by " "systematically trying every possible combination of letters, numbers, and " "symbols until you discover the one correct combination that works." msgstr "" #: view/Brute.php:405 view/Log.php:120 view/Overview.php:63 msgid "Features" msgstr "" #: view/Brute.php:407 msgid "Limit the number of allowed login attempts using normal login form." msgstr "" #: view/Brute.php:408 msgid "Math & Google reCaptcha verification while logging in." msgstr "" #: view/Brute.php:409 msgid "Manually block/unblock IP addresses." msgstr "" #: view/Brute.php:410 msgid "Manually whitelist trusted IP addresses." msgstr "" #: view/Brute.php:411 msgid "Option to inform user about remaining attempts on login page." msgstr "" #: view/Brute.php:412 msgid "Custom message to show to blocked users." msgstr "" #: view/Connect.php:17 msgid "Activate Your Plugin" msgstr "" #: view/Connect.php:22 msgid "Licence Token" msgstr "" #: view/Connect.php:23 #, php-format msgid "Enter the 32 chars token from Order/Licence on %s" msgstr "" #: view/Connect.php:34 msgid "Activate" msgstr "" #: view/Connect.php:43 msgid "Activation Help" msgstr "" #: view/Connect.php:45 #, php-format msgid "" "Once you bought the plugin, you will receive the %s credentials for your " "account by email." msgstr "" #: view/Connect.php:48 #, php-format msgid "Please visit %s to check your purchase and to get the license token." msgstr "" #: view/Connect.php:51 #, php-format msgid "" "By activating, you agree to our %s Terms of Use %s and %sPrivacy Policy%s" msgstr "" #: view/Connect.php:55 #, php-format msgid "%sNOTE:%s If you didn't receive the credentials, please access %s." msgstr "" #: view/Dashboard.php:84 view/SecurityCheck.php:41 #, php-format msgid "" "Your website security %sis extremely weak%s. %sMany hacking doors are " "available." msgstr "" #: view/Dashboard.php:87 view/SecurityCheck.php:44 #, php-format msgid "" "Your website security %sis very weak%s. %sMany hacking doors are available." msgstr "" #: view/Dashboard.php:90 view/SecurityCheck.php:47 #, php-format msgid "" "Your website security is still weak. %sSome of the main hacking doors are " "still available." msgstr "" #: view/Dashboard.php:93 view/SecurityCheck.php:50 #, php-format msgid "" "Your website security is getting better. %sJust make sure you complete all " "the security tasks." msgstr "" #: view/Dashboard.php:96 view/SecurityCheck.php:53 #, php-format msgid "" "Your website security is strong. %sKeep checking the security every week." msgstr "" #: view/Dashboard.php:120 msgid "Last 30 days Security Stats" msgstr "" #: view/Dashboard.php:128 msgid "Brute Force IPs Blocked" msgstr "" #: view/Dashboard.php:134 msgid "Alert Emails Sent" msgstr "" #: view/Dashboard.php:140 msgid "Activate Events Log" msgstr "" #: view/Dashboard.php:153 msgid "Urgent Security Actions Required" msgstr "" #: view/Dashboard.php:169 msgid "Run Full Security Check" msgstr "" #: view/Firewall.php:36 msgid "" "Most WordPress installations are hosted on the popular Apache, Nginx and IIS " "web servers." msgstr "" #: view/Firewall.php:37 msgid "" "A thorough set of rules can prevent many types of SQL Injection and URL " "hacks from being interpreted." msgstr "" #: view/Firewall.php:45 #, php-format msgid "Learn more about %s 7G firewall %s." msgstr "" #: view/Firewall.php:46 #, php-format msgid "Learn more about %s 8G firewall %s." msgstr "" #: view/Firewall.php:63 msgid "Firewall Location" msgstr "" #: view/Firewall.php:64 msgid "Where to add the firewall rules." msgstr "" #: view/Firewall.php:68 msgid "On website initialization" msgstr "" #: view/Firewall.php:69 msgid "In .htaccess file" msgstr "" #: view/Firewall.php:86 msgid "Remove PHP version, Server info, Server Signature from header." msgstr "" #: view/Firewall.php:99 msgid "Block known Users-Agents from popular Theme Detectors." msgstr "" #: view/Firewall.php:124 msgid "Add Strict-Transport-Security header" msgstr "" #: view/Firewall.php:125 view/Firewall.php:128 view/Firewall.php:131 #: view/Firewall.php:134 msgid "more details" msgstr "" #: view/Firewall.php:127 msgid "Add Content-Security-Policy header" msgstr "" #: view/Firewall.php:130 msgid "Add X-XSS-Protection header" msgstr "" #: view/Firewall.php:133 msgid "Add X-Content-Type-Options header" msgstr "" #: view/Firewall.php:190 view/Firewall.php:220 view/Mapping.php:66 #: view/Mapping.php:79 view/Mapping.php:201 view/Mapping.php:214 #: view/Mapping.php:258 view/Mapping.php:267 view/Permalinks.php:904 #: view/Permalinks.php:919 view/Permalinks.php:1030 view/Permalinks.php:1045 msgid "Remove" msgstr "" #: view/Firewall.php:194 view/Firewall.php:224 msgid "default" msgstr "" #: view/Firewall.php:244 msgid "Add Security Header" msgstr "" #: view/Firewall.php:261 msgid "" "Changing the predefined security headers may affect the website funtionality." msgstr "" #: view/Firewall.php:262 msgid "Make sure you know what you do when changing the headers." msgstr "" #: view/Firewall.php:264 msgid "Test your website headers with" msgstr "" #: view/Firewall.php:291 msgid "" "Geographic Security is a feature designed to stops attacks from different " "countries, and to put an end to harmful activity that comes from specific " "regions." msgstr "" #: view/Firewall.php:298 msgid "Block Countries" msgstr "" #: view/Firewall.php:299 msgid "Choose the countries where access to the website should be restricted." msgstr "" #: view/Firewall.php:321 msgid "Select all" msgstr "" #: view/Firewall.php:329 msgid "Block Specific Paths" msgstr "" #: view/Firewall.php:330 msgid "Add paths that will be blocked for the selected countries." msgstr "" #: view/Firewall.php:331 msgid "Leave it blank to block all paths for the selected countries." msgstr "" #: view/Firewall.php:341 msgid "e.g. /post-type/ will block all path starting with /post-type/" msgstr "" #: view/Firewall.php:349 msgid "Selected Countries" msgstr "" #: view/Firewall.php:350 msgid "" "Here is the list of select counties where your website will be restricted.." msgstr "" #: view/Firewall.php:379 view/Permalinks.php:204 msgid "Whitelist IPs" msgstr "" #: view/Firewall.php:380 msgid "Add IP addresses that can pass plugin security." msgstr "" #: view/Firewall.php:390 view/Permalinks.php:215 #, php-format msgid "" "You can white-list a single IP address like 192.168.0.1 or a range of 245 " "IPs like 192.168.0.*. Find your IP with %s" msgstr "" #: view/Firewall.php:394 view/Permalinks.php:219 #, php-format msgid "To whitelist your website IP address, add: %s" msgstr "" #: view/Firewall.php:401 view/Permalinks.php:226 msgid "Whitelist Paths" msgstr "" #: view/Firewall.php:402 view/Permalinks.php:227 msgid "Add paths that can pass plugin security" msgstr "" #: view/Firewall.php:412 msgid "e.g. /cart/ will whitelist all path starting with /cart/" msgstr "" #: view/Firewall.php:418 view/Permalinks.php:244 msgid "Whitelist Options" msgstr "" #: view/Firewall.php:419 view/Permalinks.php:245 msgid "" "Chose what to do when accessing from whitelist IP addresses and whitelisted " "paths." msgstr "" #: view/Firewall.php:423 view/Permalinks.php:249 msgid "Allow Hidden Paths" msgstr "" #: view/Firewall.php:424 view/Permalinks.php:250 msgid "Show Default Paths & Allow Hidden Paths" msgstr "" #: view/Firewall.php:425 view/Permalinks.php:251 msgid "Show Defaults Paths & Allow Everything" msgstr "" #: view/Firewall.php:443 msgid "Blacklist IPs" msgstr "" #: view/Firewall.php:444 msgid "" "Add IP addresses that should always be blocked from accessing this website." msgstr "" #: view/Firewall.php:454 msgid "" "You can ban a single IP address like 192.168.0.1 or a range of 245 IPs like " "192.168.0.*. These IPs will not be able to access the login page." msgstr "" #: view/Firewall.php:460 msgid "Block User Agents" msgstr "" #: view/Firewall.php:461 msgid "e.g. acapbot" msgstr "" #: view/Firewall.php:462 msgid "e.g. gigabot" msgstr "" #: view/Firewall.php:463 msgid "e.g. alexibot" msgstr "" #: view/Firewall.php:478 msgid "Block Referrer" msgstr "" #: view/Firewall.php:479 msgid "e.g. xanax.com" msgstr "" #: view/Firewall.php:480 msgid "e.g. badsite.com" msgstr "" #: view/Firewall.php:495 msgid "Block Hostnames" msgstr "" #: view/Firewall.php:496 msgid "e.g. *.colocrossing.com" msgstr "" #: view/Firewall.php:497 msgid "e.g. kanagawa.com" msgstr "" #: view/Firewall.php:507 msgid "Resolving hostnames may affect the website loading speed." msgstr "" #: view/Log.php:35 msgid "Go to Events Log Panel" msgstr "" #: view/Log.php:37 msgid "Search in user events log and manage the email alerts" msgstr "" #: view/Log.php:45 msgid "" "Activate the \"Log Users Events\" option to see the user activity log for " "this website" msgstr "" #: view/Log.php:46 msgid "Activate Log Users Events" msgstr "" #: view/Log.php:62 msgid "Events Log Settings" msgstr "" #: view/Log.php:73 msgid "Track and log events that happen on your WordPress site" msgstr "" #: view/Log.php:80 msgid "Log User Roles" msgstr "" #: view/Log.php:81 msgid "Don't select any role if you want to log all user roles" msgstr "" #: view/Log.php:113 msgid "Monitor everything that happens on your WordPress site!" msgstr "" #: view/Log.php:114 msgid "" "All the logs are saved on Cloud for 30 days and the report is available if " "your website is attacked." msgstr "" #: view/Log.php:115 msgid "" "Please be aware that if you do not consent to storing data on our Cloud, we " "kindly request that you refrain from activating this feature." msgstr "" #: view/Log.php:122 msgid "Monitor, track and log events on your website." msgstr "" #: view/Log.php:123 msgid "Know what the other users are doing on your website." msgstr "" #: view/Log.php:124 msgid "You can set to receive security alert emails and prevent data loss." msgstr "" #: view/Log.php:125 msgid "Compatible with all themes and plugins." msgstr "" #: view/Mapping.php:36 msgid "Text Mapping only Classes, IDs, JS variables" msgstr "" #: view/Mapping.php:37 msgid "" "After adding the classes, verify the frontend to ensure that your theme is " "not affected." msgstr "" #: view/Mapping.php:92 msgid "Add New Text" msgstr "" #: view/Mapping.php:98 msgid "Add common WordPress classes in text mapping" msgstr "" #: view/Mapping.php:103 msgid "Add" msgstr "" #: view/Mapping.php:120 msgid "Text Mapping in CSS and JS files including cached files" msgstr "" #: view/Mapping.php:122 view/Mapping.php:141 view/Permalinks.php:885 #: view/Permalinks.php:1011 view/Permalinks.php:1116 view/Tweaks.php:367 #: view/Tweaks.php:549 msgid "not recommended" msgstr "" #: view/Mapping.php:126 msgid "" "Change the text in all CSS and JS files, including those in cached files " "generated by cache plugins." msgstr "" #: view/Mapping.php:127 msgid "" "Enabling this option may slow down the website, as CSS and JS files will " "load dynamically instead of through rewrites, allowing the text within them " "to be modified as needed." msgstr "" #: view/Mapping.php:139 msgid "Optimize CSS and JS files" msgstr "" #: view/Mapping.php:144 msgid "Cache CSS, JS and Images to increase the frontend loading speed." msgstr "" #: view/Mapping.php:145 #, php-format msgid "Check the website loading speed with %sPingdom Tool%s" msgstr "" #: view/Mapping.php:173 msgid "Add a list of URLs you want to replace with new ones." msgstr "" #: view/Mapping.php:174 msgid "" "Be sure to include only internal URLs, and use relative paths whenever " "possible." msgstr "" #: view/Mapping.php:176 msgid "Example:" msgstr "" #: view/Mapping.php:178 view/Mapping.php:187 msgid "from" msgstr "" #: view/Mapping.php:182 view/Mapping.php:191 msgid "to" msgstr "" #: view/Mapping.php:185 msgid "or" msgstr "" #: view/Mapping.php:226 msgid "Add New URL" msgstr "" #: view/Mapping.php:237 msgid "CDN URL Mapping" msgstr "" #: view/Mapping.php:248 msgid "Add the CDN URLs you're using in the cache plugin. " msgstr "" #: view/Mapping.php:249 msgid "" "Note that this option won't activate the CDN for your website, but it will " "update the custom paths if you've already set a CDN URL with another plugin." msgstr "" #: view/Mapping.php:276 msgid "Add New CDN URL" msgstr "" #: view/Overview.php:45 msgid "Security Status" msgstr "" #: view/Overview.php:74 msgid "Search" msgstr "" #: view/Overview.php:78 msgid "Could not found anything based on your search." msgstr "" #: view/Overview.php:113 msgid "start feature setup" msgstr "" #: view/Overview.php:117 msgid "see feature" msgstr "" #: view/Overview.php:147 msgid "already active" msgstr "" #: view/Overview.php:151 msgid "activate feature" msgstr "" #: view/Overview.php:161 msgid "help" msgstr "" #: view/Permalinks.php:33 msgid "Levels of security" msgstr "" #: view/Permalinks.php:40 view/Permalinks.php:54 msgid "Deactivated" msgstr "" #: view/Permalinks.php:44 view/Permalinks.php:55 msgid "Safe mode" msgstr "" #: view/Permalinks.php:48 view/Permalinks.php:56 msgid "Ghost mode" msgstr "" #: view/Permalinks.php:171 msgid "More options" msgstr "" #: view/Permalinks.php:171 msgid "Load Security Presets" msgstr "" #: view/Permalinks.php:178 msgid "Simulate CMS" msgstr "" #: view/Permalinks.php:182 msgid "No CMS Simulation" msgstr "" #: view/Permalinks.php:183 msgid "Drupal 8" msgstr "" #: view/Permalinks.php:184 msgid "Drupal 9" msgstr "" #: view/Permalinks.php:185 msgid "Drupal 10" msgstr "" #: view/Permalinks.php:186 msgid "Drupal 11" msgstr "" #: view/Permalinks.php:187 msgid "Joomla 3" msgstr "" #: view/Permalinks.php:188 msgid "Joomla 4" msgstr "" #: view/Permalinks.php:189 msgid "Joomla 5" msgstr "" #: view/Permalinks.php:205 msgid "Add IPs that can pass plugin security" msgstr "" #: view/Permalinks.php:228 msgid "e.g. /cart/" msgstr "" #: view/Permalinks.php:229 msgid "e.g. /checkout/" msgstr "" #: view/Permalinks.php:262 msgid "Help & FAQs" msgstr "" #: view/Permalinks.php:294 msgid "More Help" msgstr "" #: view/Permalinks.php:299 msgid "Troubleshooting" msgstr "" #: view/Permalinks.php:317 #, php-format msgid "" "Copy the %s SAFE URL %s and use it to deactivate all the custom paths if you " "can't login." msgstr "" #: view/Permalinks.php:332 #, php-format msgid "" "Your admin URL is changed by another plugin/theme in %s. To activate this " "option, disable the custom admin in the other plugin or deativate it." msgstr "" #: view/Permalinks.php:336 #, php-format msgid "" "Your admin URL can't be changed on %s hosting because of the %s security " "terms." msgstr "" #: view/Permalinks.php:339 #, php-format msgid "" "The constant ADMIN_COOKIE_PATH is defined in wp-config.php by another " "plugin. You can't change %s unless you remove the line " "define('ADMIN_COOKIE_PATH', ...);." msgstr "" #: view/Permalinks.php:346 msgid "eg. adm, back" msgstr "" #: view/Permalinks.php:361 msgid "Hide /wp-admin path from visitors." msgstr "" #: view/Permalinks.php:371 msgid "Hide \"wp-admin\" From Non-Admin Users" msgstr "" #: view/Permalinks.php:372 msgid "Hide /wp-admin path from non-administrator users." msgstr "" #: view/Permalinks.php:382 msgid "Hide the New Admin Path" msgstr "" #: view/Permalinks.php:383 msgid "" "Hide the new admin path from visitors. Show the new admin path only for " "logged users." msgstr "" #: view/Permalinks.php:389 msgid "" "Some themes don't work with custom Admin and Ajax paths. In case of ajax " "errors, switch back to wp-admin and admin-ajax.php." msgstr "" #: view/Permalinks.php:393 view/Permalinks.php:569 msgid "Manage Login and Logout Redirects" msgstr "" #: view/Permalinks.php:407 #, php-format msgid "" "Your login URL is changed by another plugin/theme in %s. To activate this " "option, disable the custom login in the other plugin or deativate it." msgstr "" #: view/Permalinks.php:420 view/Permalinks.php:469 msgid "Hide \"wp-login.php\"" msgstr "" #: view/Permalinks.php:421 view/Permalinks.php:470 msgid "Hide /wp-login.php path from visitors." msgstr "" #: view/Permalinks.php:435 view/Permalinks.php:481 msgid "Hide /login path from visitors." msgstr "" #: view/Permalinks.php:447 view/Permalinks.php:492 msgid "" "Hide the new login path from visitors. Show the new login path only for " "direct access." msgstr "" #: view/Permalinks.php:456 msgid "eg. login or signin" msgstr "" #: view/Permalinks.php:510 msgid "Hide Language Switcher" msgstr "" #: view/Permalinks.php:511 msgid "Hide the language switcher option on the login page" msgstr "" #: view/Permalinks.php:522 msgid "Custom Lost Password Path" msgstr "" #: view/Permalinks.php:523 msgid "eg. lostpass or forgotpass" msgstr "" #: view/Permalinks.php:533 msgid "Custom Register Path" msgstr "" #: view/Permalinks.php:534 msgid "eg. newuser or register" msgstr "" #: view/Permalinks.php:545 msgid "Custom Logout Path" msgstr "" #: view/Permalinks.php:546 msgid "eg. logout or disconnect" msgstr "" #: view/Permalinks.php:557 msgid "Custom Activation Path" msgstr "" #: view/Permalinks.php:558 msgid "eg. multisite activation link" msgstr "" #: view/Permalinks.php:573 msgid "Manage Brute Force Protection" msgstr "" #: view/Permalinks.php:592 msgid "eg. profile, usr, writer" msgstr "" #: view/Permalinks.php:610 msgid "Don't let URLs like domain.com?author=1 show the user login name" msgstr "" #: view/Permalinks.php:611 msgid "Hide user discoverability from API calls, sitemaps, oEmbed, and more." msgstr "" #: view/Permalinks.php:628 msgid "eg. ajax, json" msgstr "" #: view/Permalinks.php:644 #, php-format msgid "Show /%s instead of /%s" msgstr "" #: view/Permalinks.php:645 msgid "(works only with the custom admin-ajax path to avoid infinite loops)" msgstr "" #: view/Permalinks.php:658 msgid "" "This will prevent from showing the old paths when an image or font is called " "through ajax" msgstr "" #: view/Permalinks.php:673 msgid "eg. core, inc, include" msgstr "" #: view/Permalinks.php:683 msgid "eg. lib, library" msgstr "" #: view/Permalinks.php:694 msgid "eg. images, files" msgstr "" #: view/Permalinks.php:703 #, php-format msgid "" "You already defined a different wp-content/uploads directory in wp-config." "php %s" msgstr "" #: view/Permalinks.php:710 msgid "eg. comments, discussion" msgstr "" #: view/Permalinks.php:726 msgid "" "Hide the old /wp-content, /wp-include paths once they are changed with the " "new ones" msgstr "" #: view/Permalinks.php:733 msgid "Hide File Extensions" msgstr "" #: view/Permalinks.php:734 msgid "Select the file extensions you want to hide on old paths" msgstr "" #: view/Permalinks.php:766 msgid "" "Hide wp-config.php , wp-config-sample.php, readme.html, license.txt, upgrade." "php and install.php files" msgstr "" #: view/Permalinks.php:773 msgid "Hide Common Files" msgstr "" #: view/Permalinks.php:774 msgid "Select the files you want to hide on old paths" msgstr "" #: view/Permalinks.php:810 msgid "Disable Directory Browsing" msgstr "" #: view/Permalinks.php:813 #, php-format msgid "Don't let hackers see any directory content. See %sUploads Directory%s" msgstr "" #: view/Permalinks.php:814 #, php-format msgid "" "Normally, the option to block visitors from browsing server directories is " "activated by the host through server configuration, and activating it twice " "in the config file may cause errors, so it's best to first check if the " "%sUploads Directory%s is visible." msgstr "" #: view/Permalinks.php:826 msgid "Plugins Settings" msgstr "" #: view/Permalinks.php:833 msgid "eg. modules" msgstr "" #: view/Permalinks.php:848 msgid "Give random names to each plugin" msgstr "" #: view/Permalinks.php:857 msgid "Hide All The Plugins" msgstr "" #: view/Permalinks.php:860 msgid "Hide both active and deactivated plugins" msgstr "" #: view/Permalinks.php:869 msgid "Hide WordPress Old Plugins Path" msgstr "" #: view/Permalinks.php:872 msgid "" "Hide the old /wp-content/plugins path once it's changed with the new one" msgstr "" #: view/Permalinks.php:883 view/Permalinks.php:1009 msgid "Show Advanced Options" msgstr "" #: view/Permalinks.php:887 msgid "Manually customize each plugin name and overwrite the random name" msgstr "" #: view/Permalinks.php:926 msgid "Customize Plugin Names" msgstr "" #: view/Permalinks.php:955 msgid "eg. aspect, templates, styles" msgstr "" #: view/Permalinks.php:971 msgid "Give random names to each theme (works in WP multisite)" msgstr "" #: view/Permalinks.php:981 msgid "Hide WordPress Old Themes Path" msgstr "" #: view/Permalinks.php:984 msgid "Hide the old /wp-content/themes path once it's changed with the new one" msgstr "" #: view/Permalinks.php:994 msgid "eg. main.css, theme.css, design.css" msgstr "" #: view/Permalinks.php:1013 msgid "Manually customize each theme name and overwrite the random name" msgstr "" #: view/Permalinks.php:1052 msgid "Customize Theme Names" msgstr "" #: view/Permalinks.php:1080 msgid "API Settings" msgstr "" #: view/Permalinks.php:1086 msgid "Custom wp-json Path" msgstr "" #: view/Permalinks.php:1087 msgid "eg. json, api, call" msgstr "" #: view/Permalinks.php:1094 #, php-format msgid "" "Update the settings on %s to refresh the paths after changing REST API path." msgstr "" #: view/Permalinks.php:1094 msgid "Permalinks" msgstr "" #: view/Permalinks.php:1102 msgid "Hide REST API URL link" msgstr "" #: view/Permalinks.php:1105 msgid "Hide wp-json & ?rest_route link tag from website header" msgstr "" #: view/Permalinks.php:1114 msgid "Disable REST API Access" msgstr "" #: view/Permalinks.php:1118 msgid "Disable REST API access for not logged in users" msgstr "" #: view/Permalinks.php:1119 msgid "" "The REST API is crucial for many plugins as it allows them to interact with " "the WordPress database and perform various actions programmatically." msgstr "" #: view/Permalinks.php:1128 msgid "Disable \"rest_route\" Param Access" msgstr "" #: view/Permalinks.php:1131 msgid "Disable REST API access using the parameter 'rest_route'" msgstr "" #: view/Permalinks.php:1140 msgid "Disable XML-RPC Access" msgstr "" #: view/Permalinks.php:1143 msgid "" "Disable the access to /xmlrpc.php to prevent Brute force attacks via XML-RPC" msgstr "" #: view/Permalinks.php:1144 msgid "Remove pingback link tag from the website header." msgstr "" #: view/Permalinks.php:1153 msgid "Disable RSD Endpoint from XML-RPC" msgstr "" #: view/Permalinks.php:1156 msgid "" "Disable the RSD (Really Simple Discovery) support for XML-RPC & remove RSD " "tag from header" msgstr "" #: view/Permalinks.php:1201 msgid "Safe Mode" msgstr "" #: view/Permalinks.php:1210 msgid "Safe Mode will set these predefined paths" msgstr "" #: view/Permalinks.php:1219 view/Permalinks.php:1273 msgid "Login Path" msgstr "" #: view/Permalinks.php:1220 view/Permalinks.php:1275 msgid "Core Contents Path" msgstr "" #: view/Permalinks.php:1221 view/Permalinks.php:1276 msgid "Core Includes Path" msgstr "" #: view/Permalinks.php:1222 view/Permalinks.php:1277 msgid "Uploads Path" msgstr "" #: view/Permalinks.php:1223 view/Permalinks.php:1278 msgid "Author Path" msgstr "" #: view/Permalinks.php:1224 view/Permalinks.php:1279 msgid "Plugins Path" msgstr "" #: view/Permalinks.php:1225 view/Permalinks.php:1280 msgid "Themes Path" msgstr "" #: view/Permalinks.php:1226 view/Permalinks.php:1281 msgid "Comments Path" msgstr "" #: view/Permalinks.php:1229 view/Permalinks.php:1284 #, php-format msgid "Note! %sPaths are NOT physically change%s on your server." msgstr "" #: view/Permalinks.php:1232 msgid "" "The Safe Mode will add the rewrites rules in the config file to hide the old " "paths from hackers." msgstr "" #: view/Permalinks.php:1238 view/Permalinks.php:1296 #, php-format msgid "Click %sContinue%s to set the predefined paths." msgstr "" #: view/Permalinks.php:1239 view/Permalinks.php:1297 #, php-format msgid "After, click %sSave%s to apply the changes." msgstr "" #: view/Permalinks.php:1242 view/Permalinks.php:1300 view/SecurityCheck.php:237 #: view/Templogin.php:299 view/Templogin.php:453 msgid "Cancel" msgstr "" #: view/Permalinks.php:1243 view/Permalinks.php:1301 view/SecurityCheck.php:238 msgid "Continue" msgstr "" #: view/Permalinks.php:1255 view/SecurityCheck.php:224 #: view/blocks/ChangeCacheFiles.php:59 view/blocks/ChangeFiles.php:9 msgid "Ghost Mode" msgstr "" #: view/Permalinks.php:1263 msgid "Ghost Mode will set these predefined paths" msgstr "" #: view/Permalinks.php:1272 msgid "Admin Path" msgstr "" #: view/Permalinks.php:1274 msgid "Ajax URL" msgstr "" #: view/Permalinks.php:1287 msgid "" "The Ghost Mode will add the rewrites rules in the config file to hide the " "old paths from hackers." msgstr "" #: view/Permalinks.php:1290 #, php-format msgid "If you notice any functionality issue please select the %sSafe Mode%s." msgstr "" #: view/SecurityCheck.php:24 msgid "WordPress Security Check" msgstr "" #: view/SecurityCheck.php:61 view/SecurityCheck.php:95 msgid "Start Scan" msgstr "" #: view/SecurityCheck.php:76 msgid "Passed" msgstr "" #: view/SecurityCheck.php:77 msgid "Failed" msgstr "" #: view/SecurityCheck.php:83 msgid "" "Congratulations! You completed all the security tasks. Make sure you check " "your site once a week." msgstr "" #: view/SecurityCheck.php:101 msgid "Last check:" msgstr "" #: view/SecurityCheck.php:104 #, php-format msgid "" "According to %sGoogle latest stats%s, over %s 30k websites are hacked every " "day %s and %s over 30% of them are made in WordPress %s. %s It's better " "to prevent an attack than to spend a lot of money and time to recover your " "data after an attack not to mention the situation when your clients' data " "are stolen." msgstr "" #: view/SecurityCheck.php:113 msgid "Name" msgstr "" #: view/SecurityCheck.php:114 msgid "Value" msgstr "" #: view/SecurityCheck.php:115 msgid "Valid" msgstr "" #: view/SecurityCheck.php:116 msgid "Action" msgstr "" #: view/SecurityCheck.php:139 msgid "Info" msgstr "" #: view/SecurityCheck.php:143 view/SecurityCheck.php:314 msgid "Fix it" msgstr "" #: view/SecurityCheck.php:146 msgid "Undo" msgstr "" #: view/SecurityCheck.php:158 msgid "Are you sure you want to ignore this task in the future?" msgstr "" #: view/SecurityCheck.php:159 msgid "Ignore security task" msgstr "" #: view/SecurityCheck.php:196 msgid "Show completed tasks" msgstr "" #: view/SecurityCheck.php:197 msgid "Hide completed tasks" msgstr "" #: view/SecurityCheck.php:199 msgid "Show ignored tasks" msgstr "" #: view/SecurityCheck.php:250 msgid "Admin Username" msgstr "" #: view/SecurityCheck.php:257 msgid "" "If you are connected with the admin user, you will have to re-login after " "the change." msgstr "" #: view/SecurityCheck.php:265 msgid "Change" msgstr "" #: view/SecurityCheck.php:276 msgid "Fix Permissions" msgstr "" #: view/SecurityCheck.php:285 msgid "WordPress Default Permissions" msgstr "" #: view/SecurityCheck.php:287 msgid "Directories" msgstr "" #: view/SecurityCheck.php:288 msgid "Files" msgstr "" #: view/SecurityCheck.php:289 msgid "Config" msgstr "" #: view/SecurityCheck.php:302 msgid "Quick Fix" msgstr "" #: view/SecurityCheck.php:303 msgid "Fix permission for the main directories and files (~ 5 sec)" msgstr "" #: view/SecurityCheck.php:309 msgid "Complete Fix" msgstr "" #: view/SecurityCheck.php:310 msgid "Fix permission for all directories and files (~ 1 min)" msgstr "" #: view/Templogin.php:33 msgid "Activate Temporary Logins" msgstr "" #: view/Templogin.php:48 msgid "Temporary Login Settings" msgstr "" #: view/Templogin.php:57 msgid "Use Temporary Logins" msgstr "" #: view/Templogin.php:71 msgid "Default User Role" msgstr "" #: view/Templogin.php:72 msgid "Default user role for which the temporary login will be created." msgstr "" #: view/Templogin.php:94 msgid "Default Redirect After Login" msgstr "" #: view/Templogin.php:95 msgid "Redirect temporary users to a custom page after login." msgstr "" #: view/Templogin.php:99 view/Templogin.php:255 view/Templogin.php:409 msgid "Dashboard" msgstr "" #: view/Templogin.php:114 msgid "Default Temporary Expire Time" msgstr "" #: view/Templogin.php:115 msgid "" "Select how long the temporary login will be available after the first user " "access." msgstr "" #: view/Templogin.php:133 msgid "Delete Temporary Users on Plugin Uninstall" msgstr "" #: view/Templogin.php:147 msgid "Add New Temporary Login" msgstr "" #: view/Templogin.php:158 #, php-format msgid "" "Create a temporary login URL with any user role to access the website " "dashboard without username and password for a limited period of time. %s " "This is useful when you need to give admin access to a developer for support " "or for performing routine tasks." msgstr "" #: view/Templogin.php:172 msgid "Edit User" msgstr "" #: view/Templogin.php:186 view/Templogin.php:340 msgid "First Name" msgstr "" #: view/Templogin.php:195 view/Templogin.php:349 msgid "Last Name" msgstr "" #: view/Templogin.php:208 view/Templogin.php:362 msgid "Website" msgstr "" #: view/Templogin.php:209 view/Templogin.php:363 msgid "Set the website you want this user to be created for." msgstr "" #: view/Templogin.php:227 view/Templogin.php:381 view/Tweaks.php:85 msgid "User Role" msgstr "" #: view/Templogin.php:228 view/Templogin.php:382 msgid "Set the current user role." msgstr "" #: view/Templogin.php:250 view/Templogin.php:404 msgid "Redirect After Login" msgstr "" #: view/Templogin.php:251 view/Templogin.php:405 msgid "Redirect user to a custom page after login." msgstr "" #: view/Templogin.php:270 view/Templogin.php:424 msgid "Expire Time" msgstr "" #: view/Templogin.php:271 view/Templogin.php:425 msgid "" "How long the temporary login will be available after the user first access." msgstr "" #: view/Templogin.php:286 view/Templogin.php:440 msgid "Language" msgstr "" #: view/Templogin.php:287 view/Templogin.php:441 msgid "Load custom language is WordPress local language is installed." msgstr "" #: view/Templogin.php:298 msgid "Save User" msgstr "" #: view/Templogin.php:319 msgid "Add New Temporary Login User" msgstr "" #: view/Templogin.php:331 msgid "Email" msgstr "" #: view/Templogin.php:452 msgid "Create" msgstr "" #: view/Tweaks.php:42 msgid "Redirect Hidden Paths" msgstr "" #: view/Tweaks.php:46 msgid "Front page" msgstr "" #: view/Tweaks.php:47 msgid "404 page" msgstr "" #: view/Tweaks.php:48 msgid "404 HTML Error" msgstr "" #: view/Tweaks.php:49 msgid "403 HTML Error" msgstr "" #: view/Tweaks.php:61 msgid "" "Redirect the protected paths /wp-admin, /wp-login to a Page or trigger an " "HTML Error." msgstr "" #: view/Tweaks.php:62 msgid "" "You can create a new page and come back to choose to redirect to that page." msgstr "" #: view/Tweaks.php:70 msgid "Do Login & Logout Redirects" msgstr "" #: view/Tweaks.php:73 msgid "Add redirects for the logged users based on user roles." msgstr "" #: view/Tweaks.php:81 msgid "Default" msgstr "" #: view/Tweaks.php:99 view/Tweaks.php:130 msgid "Login Redirect URL" msgstr "" #: view/Tweaks.php:100 view/Tweaks.php:131 msgid "eg." msgstr "" #: view/Tweaks.php:110 view/Tweaks.php:141 msgid "Logout Redirect URL" msgstr "" #: view/Tweaks.php:111 view/Tweaks.php:142 msgid "eg. /logout or" msgstr "" #: view/Tweaks.php:120 view/Tweaks.php:151 #, php-format msgid "" "Make sure the redirect URLs exist on your website. %sThe User Role redirect " "URL has higher priority than the Default redirect URL." msgstr "" #: view/Tweaks.php:127 msgid "redirects" msgstr "" #: view/Tweaks.php:165 msgid "Redirect Logged Users To Dashboard" msgstr "" #: view/Tweaks.php:168 msgid "Automatically redirect the logged in users to the admin dashboard." msgstr "" #: view/Tweaks.php:194 msgid "Hide Feed & Sitemap Link Tags" msgstr "" #: view/Tweaks.php:197 msgid "Hide the /feed and /sitemap.xml link Tags" msgstr "" #: view/Tweaks.php:206 msgid "Change Paths in RSS feed" msgstr "" #: view/Tweaks.php:209 #, php-format msgid "Check the %s RSS feed %s and make sure the image paths are changed." msgstr "" #: view/Tweaks.php:218 msgid "Change Paths in Sitemaps XML" msgstr "" #: view/Tweaks.php:221 #, php-format msgid "Check the %s Sitemap XML %s and make sure the image paths are changed." msgstr "" #: view/Tweaks.php:230 msgid "Remove Plugins Authors & Style in Sitemap XML" msgstr "" #: view/Tweaks.php:233 msgid "" "To improve your website's security, consider removing authors and styles " "that point to WordPress in your sitemap XML." msgstr "" #: view/Tweaks.php:242 msgid "Hide Paths in Robots.txt" msgstr "" #: view/Tweaks.php:245 #, php-format msgid "Hide WordPress common paths from %s Robots.txt %s file." msgstr "" #: view/Tweaks.php:260 #, php-format msgid "First, you need to activate the %sSafe Mode%s or %sGhost Mode%s." msgstr "" #: view/Tweaks.php:270 msgid "Change Paths for Logged Users" msgstr "" #: view/Tweaks.php:273 msgid "Change WordPress paths while you're logged in." msgstr "" #: view/Tweaks.php:282 msgid "Change Relative URLs to Absolute URLs" msgstr "" #: view/Tweaks.php:285 #, php-format msgid "Convert links like /wp-content/* into %s/wp-content/*." msgstr "" #: view/Tweaks.php:310 msgid "Hide Admin Toolbar" msgstr "" #: view/Tweaks.php:313 msgid "Hide the admin toolbar for logged users while in frontend." msgstr "" #: view/Tweaks.php:318 view/Tweaks.php:498 view/Tweaks.php:565 #: view/Tweaks.php:619 view/Tweaks.php:683 view/Tweaks.php:737 msgid "Select User Roles" msgstr "" #: view/Tweaks.php:319 msgid "User roles for who to hide the admin toolbar" msgstr "" #: view/Tweaks.php:341 msgid "Hide Version from Images, CSS and JS" msgstr "" #: view/Tweaks.php:344 msgid "Hide all versions from the end of any Image, CSS and JavaScript files." msgstr "" #: view/Tweaks.php:356 msgid "" "Add a random static number to prevent frontend caching while the user is " "logged in." msgstr "" #: view/Tweaks.php:369 msgid "" "Hide the IDs from all <links>, <style>, <scripts> META Tags" msgstr "" #: view/Tweaks.php:370 msgid "" "Hiding the ID from meta tags in WordPress can potentially impact the caching " "process of plugins that rely on identifying the meta tags." msgstr "" #: view/Tweaks.php:382 msgid "Hide the DNS Prefetch that points to WordPress" msgstr "" #: view/Tweaks.php:394 msgid "Hide the WordPress Generator META tags" msgstr "" #: view/Tweaks.php:406 msgid "Hide the HTML Comments left by the themes and plugins" msgstr "" #: view/Tweaks.php:415 msgid "Hide Emojicons" msgstr "" #: view/Tweaks.php:418 msgid "Don't load Emoji Icons if you don't use them" msgstr "" #: view/Tweaks.php:427 msgid "Hide Embed Scripts" msgstr "" #: view/Tweaks.php:430 msgid "Don't load oEmbed service if you don't use oEmbed videos" msgstr "" #: view/Tweaks.php:439 msgid "Hide WLW Manifest Scripts" msgstr "" #: view/Tweaks.php:442 msgid "" "Don't load WLW if you didn't configure Windows Live Writer for your site" msgstr "" #: view/Tweaks.php:473 msgid "Disable the right-click functionality on your website" msgstr "" #: view/Tweaks.php:479 msgid "Disable Click Message" msgstr "" #: view/Tweaks.php:480 view/Tweaks.php:535 view/Tweaks.php:601 #: view/Tweaks.php:655 view/Tweaks.php:719 msgid "Leave it blank if you don't want to display any message" msgstr "" #: view/Tweaks.php:492 msgid "Disable Right-Click for Logged Users" msgstr "" #: view/Tweaks.php:499 msgid "User roles for who to disable the Right-Click" msgstr "" #: view/Tweaks.php:524 msgid "Disable Inspect Element" msgstr "" #: view/Tweaks.php:527 msgid "Disable the inspect element view on your website" msgstr "" #: view/Tweaks.php:534 msgid "Disable Inspect Element Message" msgstr "" #: view/Tweaks.php:548 msgid "Blank Screen On Debugging" msgstr "" #: view/Tweaks.php:550 msgid "Show blank screen when Inspect Element is active on browser." msgstr "" #: view/Tweaks.php:551 msgid "This may not work with all new mobile devices." msgstr "" #: view/Tweaks.php:559 msgid "Disable Inspect Element for Logged Users" msgstr "" #: view/Tweaks.php:566 msgid "User roles for who to disable the inspect element" msgstr "" #: view/Tweaks.php:591 msgid "Disable View Source" msgstr "" #: view/Tweaks.php:594 msgid "Disable the source-code view on your website" msgstr "" #: view/Tweaks.php:600 msgid "Disable View Source Message" msgstr "" #: view/Tweaks.php:613 msgid "Disable View Source for Logged Users" msgstr "" #: view/Tweaks.php:620 msgid "User roles for who to disable the view source" msgstr "" #: view/Tweaks.php:645 msgid "Disable Copy" msgstr "" #: view/Tweaks.php:648 msgid "Disable copy function on your website" msgstr "" #: view/Tweaks.php:654 msgid "Disable Copy/Paste Message" msgstr "" #: view/Tweaks.php:668 msgid "Disable Paste" msgstr "" #: view/Tweaks.php:669 msgid "Disable paste function on your website" msgstr "" #: view/Tweaks.php:677 msgid "Disable Copy/Paste for Logged Users" msgstr "" #: view/Tweaks.php:684 msgid "User roles for who to disable the copy/paste" msgstr "" #: view/Tweaks.php:709 msgid "Disable Drag/Drop Images" msgstr "" #: view/Tweaks.php:712 msgid "Disable image drag & drop on your website" msgstr "" #: view/Tweaks.php:718 msgid "Disable Drag/Drop Message" msgstr "" #: view/Tweaks.php:731 msgid "Disable Drag/Drop for Logged Users" msgstr "" #: view/Tweaks.php:738 msgid "User roles for who to disable the drag/drop" msgstr "" #: view/blocks/ChangeCacheFiles.php:29 msgid "Custom Cache Directory" msgstr "" #: view/blocks/ChangeCacheFiles.php:36 msgid "Set Custom Cache Directory" msgstr "" #: view/blocks/ChangeCacheFiles.php:41 msgid "Change the WordPress common paths in the cached files." msgstr "" #: view/blocks/ChangeCacheFiles.php:42 view/blocks/ChangeCacheFiles.php:66 #: view/blocks/ChangeFiles.php:16 msgid "" "Note! The plugin will use WP cron to change the paths in background once the " "cache files are created." msgstr "" #: view/blocks/ChangeCacheFiles.php:47 msgid "Change Paths Now" msgstr "" #: view/blocks/ChangeCacheFiles.php:65 view/blocks/ChangeFiles.php:15 msgid "Click to run the process to change the paths in the cache files." msgstr "" #: view/blocks/Debug.php:7 msgid "Debug Mode" msgstr "" #: view/blocks/Debug.php:16 msgid "Save Debug Log" msgstr "" #: view/blocks/Debug.php:17 msgid "Activate info and logs for debugging." msgstr "" #: view/blocks/Debug.php:24 msgid "Download Debug" msgstr "" #: view/blocks/FrontendCheck.php:8 msgid "Check Frontend Paths" msgstr "" #: view/blocks/FrontendCheck.php:11 msgid "Check if the website paths are working correctly." msgstr "" #: view/blocks/FrontendCheck.php:19 view/blocks/FrontendLoginCheck.php:19 msgid "Frontend Test" msgstr "" #: view/blocks/FrontendLoginCheck.php:23 msgid "Login Test" msgstr "" #: view/blocks/FrontendLoginCheck.php:74 #, php-format msgid "Run %s Frontend Test %s to check if the new paths are working." msgstr "" #: view/blocks/FrontendLoginCheck.php:75 #, php-format msgid "Run %s Login Test %s and log in inside the popup." msgstr "" #: view/blocks/FrontendLoginCheck.php:76 msgid "If you're able to log in, you've set the new paths correctly." msgstr "" #: view/blocks/FrontendLoginCheck.php:77 msgid "" "Do not log out from this browser until you are confident that the Log in " "page is working and you will be able to login again." msgstr "" #: view/blocks/FrontendLoginCheck.php:78 #, php-format msgid "" "If you can't configure %s, switch to Deactivated Mode and %scontact us%s." msgstr "" #: view/blocks/FrontendLoginCheck.php:89 #, php-format msgid "Your login URL is: %s" msgstr "" #: view/blocks/FrontendLoginCheck.php:93 #, php-format msgid "" "Your login URL will be: %s In case you can't login, use the safe URL: %s" msgstr "" #: view/blocks/FrontendLoginCheck.php:102 msgid "Yes, it's working" msgstr "" #: view/blocks/FrontendLoginCheck.php:109 msgid "No, abort" msgstr "" #: view/blocks/FrontendLoginCheck.php:118 msgid "Frontend Login Test" msgstr "" #: view/blocks/Install.php:11 view/blocks/Install.php:23 msgid "Advanced Pack" msgstr "" #: view/blocks/Install.php:14 msgid "" "This amazing feature isn't included in the basic plugin. Want to unlock it? " "Simply install or activate the Advanced Pack and enjoy the new security " "features." msgstr "" #: view/blocks/Install.php:15 msgid "Let's take your security to the next level!" msgstr "" #: view/blocks/Install.php:23 msgid "Install/Activate" msgstr "" #: view/blocks/Install.php:27 msgid "" "(* the plugin has no extra cost, gets installed / activated automatically " "inside WP when you click the button, and uses the same account)" msgstr "" #: view/blocks/SecurityCheck.php:7 msgid "Check Your Website" msgstr "" #: view/blocks/SecurityCheck.php:10 msgid "Check if your website is secured with the current settings." msgstr "" #: view/blocks/SecurityCheck.php:16 msgid "" "Make sure you save the settings and empty the cache before checking your " "website with our tool." msgstr "" #: view/blocks/SecurityCheck.php:20 msgid "Learn more about" msgstr "" #. translators: 1: Deprecated function name, 2: Version number, 3: Alternative function name. #: view/wplogin/js/password-strength-meter.js:66 #, javascript-format msgid "" "%1$s is deprecated since version %2$s! Use %3$s instead. Please consider " "writing more inclusive code." msgstr "" #: view/wplogin/js/user-profile.js:52 msgid "Confirm use of weak password" msgstr "" #: view/wplogin/js/user-profile.js:83 msgid "Show password" msgstr "" #: view/wplogin/js/user-profile.js:83 msgid "Hide password" msgstr "" #: view/wplogin/js/user-profile.js:86 msgid "Show" msgstr "" #: view/wplogin/js/user-profile.js:86 msgid "Hide" msgstr "" #: view/wplogin/js/user-profile.js:482 msgid "Your new password has not been saved." msgstr "" #. Plugin Name of the plugin/theme #. Author of the plugin/theme msgid "WP Ghost" msgstr "" #. Plugin URI of the plugin/theme #. Author URI of the plugin/theme msgid "https://wpghost.com" msgstr "" #. Description of the plugin/theme msgid "" "#1 Hack Prevention Security Solution: Hide WP CMS, 7G/8G Firewall, Brute " "Force Protection, 2FA, GEO Security, Temporary Logins, Alerts & more." msgstr "" models/compatibility/Abstract.php000064400000002634147600042240013160 0ustar00hookAdmin(); } else { $this->hookFrontend(); } if ( HMWP_Classes_Tools::isAjax() ) { $this->hookAjax(); } } /** * Hook the ajax call * * @return void */ public function hookAjax() { } /** * Hook the backend * * @return void */ public function hookAdmin() { } /** * Hook the frontend * * @return void */ public function hookFrontend() { } /** * Find Replace cache plguins * Stop Buffer from loading * * @param $content * * @return mixed * @throws Exception */ public function findReplaceCache( $content ) { //if called from cache plugins or hooks, stop the buffer replace add_filter( 'hmwp_process_buffer', '__return_false' ); return HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rewrite' )->find_replace( $content ); } /** * Echo the changed HTML buffer * * @throws Exception */ public function findReplaceBuffer() { //Force to change the URL for xml content types $buffer = HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rewrite' )->find_replace( ob_get_contents() ); ob_end_clean(); echo $buffer; } } models/compatibility/AioSecurity.php000064400000002222147600042240013646 0ustar00find_replace( $output ); } else { echo $content; } exit(); } } } models/compatibility/Autoptimize.php000064400000001254147600042240013724 0ustar00cdn_enabled ) && $smush->cdn_enabled ) { return; } } } add_filter( 'autoptimize_html_after_minify', array( $this, 'findReplaceCache' ), PHP_INT_MAX ); } } models/compatibility/Breeze.php000064400000001472147600042240012630 0ustar00findReplaceCache( $content ); }, PHP_INT_MAX ); } } } models/compatibility/Cmp.php000064400000001650147600042240012131 0ustar00'; HMWP_Classes_ObjController::getClass( 'HMWP_Models_Clicks' )->disableKeysAndClicks(); } }, PHP_INT_MAX ); } } models/compatibility/ConfirmEmail.php000064400000001407147600042240013757 0ustar00 HMWP_Classes_Tools::getOption( 'hmwp_login_url' ) ) { $url = ( isset( $_SERVER['REQUEST_URI'] ) ? untrailingslashit( strtok( $_SERVER["REQUEST_URI"], '?' ) ) : false ); $http_post = ( isset( $_SERVER['REQUEST_METHOD'] ) && 'POST' == $_SERVER['REQUEST_METHOD'] ); if ( $url && ! $http_post && function_exists( 'is_user_logged_in' ) && ! is_user_logged_in() ) { if ( ! isset( $_COOKIE['elementor_pro_login'] ) ) { $login_tck = md5( time() . wp_rand( 111111, 999999 ) ); setcookie( 'elementor_pro_login', $login_tck, time() + ( 86400 * 30 ), "/" ); } else { $login_tck = sanitize_key($_COOKIE['elementor_pro_login']); } add_filter( 'site_url', function( $url, $path ) use ( $login_tck ) { if ( $path == HMWP_Classes_Tools::getDefault( 'hmwp_login_url' ) ) { return add_query_arg( 'ltk', $login_tck, $url ); } return $url; }, PHP_INT_MAX, 2 ); } } } } models/compatibility/FastestCache.php000064400000001046147600042240013746 0ustar00 HMWP_Classes_Tools::getOption( 'hmwp_login_url' ) ) { $_SERVER['REQUEST_URI'] = '/wp-login.php'; } } ); } } models/compatibility/Hummingbird.php000064400000001363147600042240013660 0ustar00cache_identifier ) && $wphb_cache_config->cache_identifier ) { $wphb_cache_config->cache_identifier = false; } } } models/compatibility/iThemes.php000064400000001422147600042240013005 0ustar00 '' ) { defined( 'HMWP_DEFAULT_LOGIN' ) || define( 'HMWP_DEFAULT_LOGIN', $settings['hide-backend']['slug'] ); HMWP_Classes_Tools::$options['hmwp_login_url'] = HMWP_Classes_Tools::$default['hmwp_login_url']; } } } } models/compatibility/JsOptimize.php000064400000001177147600042240013513 0ustar00wp_content_dir() . 'cache/mycache/' ); } add_filter( 'jch_optimize_save_content', array( $this, 'findReplaceCache' ), PHP_INT_MAX ); } } models/compatibility/LiteSpeed.php000064400000014054147600042240013272 0ustar00checkWhitelistIPs(); } } /** * Check and handle LiteSpeed media optimization scan. * * @param bool $status The current status of the scan. * * @return bool The updated status of the scan. */ public function checkLiteSpeedScan( $status ) { // Check if the scan is starting manually via cron or AJAX if ( HMWP_Classes_Tools::isCron() || HMWP_Classes_Tools::isAjax() ) { // Check if the action is Wordfence scan if ( 'async_litespeed' == HMWP_Classes_Tools::getValue( 'action' ) ) { $status = false; } } return $status; } public function hookAdmin() { add_action( 'wp_initialize_site', function ( $site_id ) { HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rewrite' )->flushChanges(); }, PHP_INT_MAX, 1 ); add_action( 'create_term', function ( $term_id ) { add_action( 'admin_footer', function () { HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rewrite' )->flushChanges(); } ); }, PHP_INT_MAX, 1 ); // Wait for the cache on litespeed servers and flush the changes add_action( 'hmwp_apply_permalink_changes', function () { add_action( 'admin_footer', function () { HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rewrite' )->flushChanges(); } ); } ); // Only if the litespeed plugin is installed if ( HMWP_Classes_Tools::isPluginActive( 'litespeed-cache/litespeed-cache.php' ) ) { if ( ! HMWP_Classes_Tools::isWpengine() ) { add_action( 'hmwp_settings_saved', array( $this, 'doExclude' ) ); } } } public function hookFrontend() { // Don't load plugin buffer if litespeed add_action( 'litespeed_initing', function () { if ( ! defined( 'LITESPEED_DISABLE_ALL' ) || ! defined( 'LITESPEED_GUEST_OPTM' ) ) { add_filter( 'hmwp_process_buffer', '__return_false' ); } } ); // Change the path withing litespeed buffer add_filter( 'litespeed_buffer_after', array( $this, 'findReplaceCache' ), PHP_INT_MAX ); // Set priority load for compatibility add_filter( 'litespeed_comment', '__return_false' ); } /** * Excludes specific login URLs from LiteSpeed caching configuration based on * the current and default hidden login URLs set by the plugin. * * @return void * @throws Exception */ public function doExclude() { if ( HMWP_Classes_Tools::getDefault( 'hmwp_login_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_login_url' ) ) { $exlude = get_option( 'litespeed.conf.cache-exc' ); // If there are already URLs in the exclude list if ( $exlude = json_decode( $exlude, true ) ) { // Add custom login in caching exclude list if ( ! in_array( '/' . HMWP_Classes_Tools::getOption( 'hmwp_login_url' ), $exlude ) ) { $exlude[] = '/' . HMWP_Classes_Tools::getOption( 'hmwp_login_url' ); } } else { $exlude = array(); $exlude[] = '/' . HMWP_Classes_Tools::getOption( 'hmwp_login_url' ); } update_option( 'litespeed.conf.cache-exc', wp_json_encode( $exlude ) ); } if ( HMWP_Classes_Tools::getDefault( 'hmwp_wp-json' ) <> HMWP_Classes_Tools::getOption( 'hmwp_wp-json' ) ) { $exlude = get_option( 'litespeed.conf.cache-exc' ); // If there are already URLs in the exclude list if ( $exlude = json_decode( $exlude, true ) ) { // Add REST API in caching exclude list if ( ! in_array( '/' . HMWP_Classes_Tools::getOption( 'hmwp_wp-json' ), $exlude ) ) { $exlude[] = '/' . HMWP_Classes_Tools::getOption( 'hmwp_wp-json' ); } } else { $exlude = array(); $exlude[] = '/' . HMWP_Classes_Tools::getOption( 'hmwp_wp-json' ); } update_option( 'litespeed.conf.cache-exc', wp_json_encode( $exlude ) ); } } } models/compatibility/MainWP.php000064400000001672147600042240012551 0ustar00getLoginPath(); if ( $login ) { defined( 'HMWP_DEFAULT_LOGIN' ) || define( 'HMWP_DEFAULT_LOGIN', $login ); if ( HMWP_DEFAULT_LOGIN == 'login' ) { add_filter( 'hmwp_option_hmwp_hide_login', '__return_false' ); } add_filter( 'hmwp_option_hmwp_lostpassword_url', '__return_false' ); add_filter( 'hmwp_option_hmwp_register_url', '__return_false' ); add_filter( 'hmwp_option_hmwp_logout_url', '__return_false' ); } //load the brute force if ( HMWP_Classes_Tools::getOption( 'hmwp_bruteforce' ) && ! HMWP_Classes_Tools::isPluginActive( 'memberpress-math-captcha/main.php' ) ) { $this->hookBruteForce(); } } public function hookBruteForce() { if ( HMWP_Classes_Tools::getOption( 'brute_use_math' ) ) { //math brute force add_filter( 'mepr-validate-login', array( HMWP_Classes_ObjController::getClass( 'HMWP_Controllers_Brute' ), 'hmwp_failed_attempt' ) ); add_action( 'mepr-login-form-before-submit', array( HMWP_Classes_ObjController::getClass( 'HMWP_Models_Brute' ), 'brute_math_form' ) ); if ( HMWP_Classes_Tools::getOption( 'hmwp_bruteforce_lostpassword' ) ) { add_filter( 'mepr-validate-forgot-password', array( HMWP_Classes_ObjController::getClass( 'HMWP_Controllers_Brute' ), 'hmwp_failed_attempt' ) ); add_action( 'mepr-forgot-password-form', array( HMWP_Classes_ObjController::getClass( 'HMWP_Models_Brute' ), 'brute_math_form' ) ); } } elseif ( HMWP_Classes_Tools::getOption( 'brute_use_captcha' ) ) { //recaptcha V2 add_filter( 'mepr-validate-login', array( HMWP_Classes_ObjController::getClass( 'HMWP_Controllers_Brute' ), 'hmwp_failed_attempt' ) ); add_action( 'mepr-login-form-before-submit', array( HMWP_Classes_ObjController::getClass( 'HMWP_Models_Brute' ), 'brute_recaptcha_head' ) ); add_action( 'mepr-login-form-before-submit', array( HMWP_Classes_ObjController::getClass( 'HMWP_Models_Brute' ), 'brute_recaptcha_form' ) ); if ( HMWP_Classes_Tools::getOption( 'hmwp_bruteforce_lostpassword' ) ) { add_filter( 'mepr-validate-forgot-password', array( HMWP_Classes_ObjController::getClass( 'HMWP_Controllers_Brute' ), 'hmwp_failed_attempt' ) ); add_action( 'mepr-forgot-password-form', array( HMWP_Classes_ObjController::getClass( 'HMWP_Models_Brute' ), 'brute_recaptcha_head' ) ); add_action( 'mepr-forgot-password-form', array( HMWP_Classes_ObjController::getClass( 'HMWP_Models_Brute' ), 'brute_recaptcha_form' ) ); } } elseif ( HMWP_Classes_Tools::getOption( 'brute_use_captcha_v3' ) ) { //recaptcha v3 add_filter( 'mepr-validate-login', array( HMWP_Classes_ObjController::getClass( 'HMWP_Controllers_Brute' ), 'hmwp_failed_attempt' ) ); add_action( 'mepr-login-form-before-submit', array( HMWP_Classes_ObjController::getClass( 'HMWP_Models_Brute' ), 'brute_recaptcha_head_v3' ) ); add_action( 'mepr-login-form-before-submit', array( HMWP_Classes_ObjController::getClass( 'HMWP_Models_Brute' ), 'brute_recaptcha_form_v3' ) ); if ( HMWP_Classes_Tools::getOption( 'hmwp_bruteforce_lostpassword' ) ) { add_filter( 'mepr-validate-forgot-password', array( HMWP_Classes_ObjController::getClass( 'HMWP_Controllers_Brute' ), 'hmwp_failed_attempt' ) ); add_action( 'mepr-forgot-password-form', array( HMWP_Classes_ObjController::getClass( 'HMWP_Models_Brute' ), 'brute_recaptcha_head_v3' ) ); add_action( 'mepr-forgot-password-form', array( HMWP_Classes_ObjController::getClass( 'HMWP_Models_Brute' ), 'brute_recaptcha_form_v3' ) ); } } } /** * Get the options * * @return false|mixed|null */ public function getOptions() { return get_option( 'mepr_options' ); } /** * Get the login path * * @return false|string */ public function getLoginPath() { $options = $this->getOptions(); if ( isset( $options['login_page_id'] ) && (int) $options['login_page_id'] > 0 ) { $post = get_post( (int) $options['login_page_id'] ); if ( ! is_wp_error( $post ) && $post->post_status == 'publish' ) { return $post->post_name; } } return false; } /** * Check the reCaptcha on login, register and password reset * * @param $args * * @return void * @throws Exception */ public function checkReCaptcha( $args ) { if ( class_exists( 'UM' ) ) { $errors = HMWP_Classes_ObjController::getClass( 'HMWP_Controllers_Brute' )->hmwp_check_preauth( false ); if ( is_wp_error( $errors ) ) { if ( isset( $args['mode'] ) ) { switch ( $args['mode'] ) { case 'login': UM()->form()->add_error( 'username', wp_strip_all_tags( $errors->get_error_message() ) ); break; case 'register': UM()->form()->add_error( 'user_login', wp_strip_all_tags( $errors->get_error_message() ) ); break; case 'password': UM()->form()->add_error( 'username_b', wp_strip_all_tags( $errors->get_error_message() ) ); break; } } } } } } models/compatibility/MMaintenance.php000064400000002517147600042240013754 0ustar00 HMWP_Classes_Tools::getOption( 'hmwp_login_url' ) ) { add_filter( 'csmm_get_options', function( $signals_csmm_options ) { $signals_csmm_options['custom_login_url'] = HMWP_Classes_Tools::getOption( 'hmwp_login_url' ); return $signals_csmm_options; } ); if ( isset( $_SERVER["REQUEST_URI"] ) ) { $url = untrailingslashit( strtok( $_SERVER["REQUEST_URI"], '?' ) ); if ( strpos( $url, site_url( 'wp-login.php', 'relative' ) ) !== false ) { add_filter( 'csmm_force_display', "__return_false" ); } } } $headers = headers_list(); if ( ! empty( $headers ) ) { $iscontenttype = false; foreach ( $headers as $value ) { if ( strpos( $value, ':' ) !== false ) { if ( stripos( $value, 'Content-Type' ) !== false ) { $iscontenttype = true; } } } if ( ! $iscontenttype ) { header( 'Content-Type: text/html; charset=UTF-8' ); add_filter( 'hmwp_priority_buffer', '__return_true' ); } } } } models/compatibility/Nitropack.php000064400000002317147600042240013345 0ustar00 HMWP_Classes_Tools::getValue( 'action' ) ) { add_action( 'hmwp_login_init', function() { //Add compatibility with PPress plugin $data = get_option( 'pp_settings_data' ); if ( class_exists( 'WP_Query' ) && isset( $data['set_login_url'] ) && (int) $data['set_login_url'] > 0 ) { $query = new WP_Query( array( 'p' => $data['set_login_url'], 'post_type' => 'any' ) ); if ( $query->have_posts() ) { $query->the_post(); get_header(); the_content(); get_footer(); } exit(); } } ); } } //Compatibility with Smart Slider if ( HMWP_Classes_Tools::isPluginActive( 'smart-slider-3/smart-slider-3.php' ) || HMWP_Classes_Tools::isPluginActive( 'nextend-smart-slider3-pro/nextend-smart-slider3-pro.php' ) ) { add_filter( 'hmwp_priority_buffer', '__return_true' ); } //Compatibility with Fluent CRM - tested 11162021 if ( HMWP_Classes_Tools::isPluginActive( 'fluent-crm/fluent-crm.php' ) || HMWP_Classes_Tools::isPluginActive( 'fluent-smtp/fluent-smtp.php' ) ) { add_filter( 'hmwp_option_hmwp_hideajax_paths', '__return_false' ); } } public function hookAdmin() { //Compatibility with Breakdance plugin if ( HMWP_Classes_Tools::isAjax() ) { if ( HMWP_Classes_Tools::getValue( 'action' ) == 'query-attachments' || HMWP_Classes_Tools::getValue( 'action' ) == 'breakdance_load_document' || HMWP_Classes_Tools::getValue( 'action' ) == 'breakdance_image_metadata' || HMWP_Classes_Tools::getValue( 'action' ) == 'breakdance_image_sizes' ) { //Stop the plugin from loading while on editor add_filter( 'hmwp_process_buffer', '__return_false' ); } } } public function hookFrontend() { //don't hide login path on CloudPanel and WP Engine if ( HMWP_Classes_Tools::isCloudPanel() || HMWP_Classes_Tools::isWpengine() ) { add_filter( 'hmwp_option_hmwp_hide_login', '__return_false' ); } //If in preview mode of the front page if ( HMWP_Classes_Tools::getValue( 'hmwp_preview' ) ) { $_COOKIE = array(); @header_remove( "Cookie" ); } //Hook the Hide URLs before the plugin //Check params and compatibilities add_action( 'plugins_loaded', array( $this, 'fixHideUrls' ), 10 ); //Check if login auth check is required add_filter( 'hmwp_preauth_check', array( $this, 'fixRecaptchaCheck' ) ); //Compatibility with CDN Enabler - tested 01102021 if ( HMWP_Classes_Tools::isPluginActive( 'cdn-enabler/cdn-enabler.php' ) ) { add_filter( 'hmwp_laterload', '__return_true' ); } //Compatibility with Comet Cache - tested 01102021 if ( HMWP_Classes_Tools::isPluginActive( 'comet-cache/comet-cache.php' ) ) { if ( ! defined( 'COMET_CACHE_DEBUGGING_ENABLE' ) ) { define( 'COMET_CACHE_DEBUGGING_ENABLE', false ); } } //Compatibility with Hyper Cache plugin - tested 01102021 if ( HMWP_Classes_Tools::isPluginActive( 'hyper-cache/plugin.php' ) ) { add_filter( 'cache_buffer', array( $this, 'findReplaceCache' ), PHP_INT_MAX ); } //compatibility with Wp Maintenance plugin - tested 01102021 if ( HMWP_Classes_Tools::isPluginActive( 'wp-maintenance-mode/wp-maintenance-mode.php' ) ) { add_filter( 'wpmm_footer', array( $this, 'findReplaceBuffer' ) ); } //Compatibility with Oxygen - tested 01102021 if ( HMWP_Classes_Tools::isPluginActive( 'oxygen/functions.php' ) ) { add_filter( 'hmwp_laterload', '__return_true' ); } //compatibility with Wp Bakery - tested 01102021 if ( HMWP_Classes_Tools::isPluginActive( 'js_composer/js_composer.php' ) ) { add_filter( 'hmwp_option_hmwp_hide_styleids', '__return_false' ); } //Patch for WOT Cache plugin if ( defined( 'WOT_VERSION' ) ) { add_filter( 'wot_cache', array( $this, 'findReplaceCache' ), PHP_INT_MAX ); } //For woo-global-cart plugin if ( defined( 'WOOGC_VERSION' ) ) { remove_all_actions( 'shutdown', 1 ); //Hook the cached buffer add_filter( 'hmwp_buffer', array( $this, 'fix_woogc_shutdown' ) ); } //Compatibility with XMl Sitemap - tested 12042023 //Hide the author in other sitemap plugins if ( HMWP_Classes_Tools::getOption( 'hmwp_hide_in_sitemap' ) && HMWP_Classes_Tools::getOption( 'hmwp_hide_author_in_sitemap' ) && isset( $_SERVER['REQUEST_URI'] ) ) { //XML Sitemap if ( HMWP_Classes_Tools::isPluginActive( 'google-sitemap-generator/sitemap.php' ) ) { add_action( 'sm_build_index', array( HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rewrite' ), 'findReplaceXML' ) ); add_action( 'sm_build_content', array( HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rewrite' ), 'findReplaceXML' ) ); } if ( HMWP_Classes_Tools::isPluginActive( 'squirrly-seo/squirrly.php' ) ) { add_filter( "sq_sitemap_style", "__return_false", 11 ); } //Yoast sitemap if ( HMWP_Classes_Tools::isPluginActive( 'wordpress-seo/wp-seo.php' ) ) { add_filter( "wpseo_stylesheet_url", "__return_false" ); } //Rank Math sitemap if ( HMWP_Classes_Tools::isPluginActive( 'seo-by-rank-math/rank-math.php' ) ) { if ( isset( $_SERVER['REQUEST_URI'] ) && strpos( $_SERVER['REQUEST_URI'], '.xsl' ) === false ) { if ( $type = str_replace( array( 'sitemap', '-', '_', '.xml', '/' ), '', strtok( $_SERVER["REQUEST_URI"], '?' ) ) ) { if ( $type == 'index' ) { $type = 1; } add_filter( "rank_math/sitemap/{$type}_stylesheet_url", "__return_false" ); add_filter( 'rank_math/sitemap/remove_credit', array( HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rewrite' ), 'findReplaceXML' ) ); } } add_filter( "rank_math/sitemap/remove_credit", "__return_true" ); } //SeoPress if ( HMWP_Classes_Tools::isPluginActive( 'wp-seopress/seopress.php' ) ) { add_filter( "seopress_sitemaps_xml_index", array( $this, 'findReplaceCache' ), PHP_INT_MAX ); add_filter( "seopress_sitemaps_xml_author", array( $this, 'findReplaceCache' ), PHP_INT_MAX ); add_filter( "seopress_sitemaps_xml_single_term", array( $this, 'findReplaceCache' ), PHP_INT_MAX ); add_filter( "seopress_sitemaps_xml_single", array( $this, 'findReplaceCache' ), PHP_INT_MAX ); } //WordPress default sitemap add_filter( "wp_sitemaps_stylesheet_url", "__return_false" ); add_filter( "wp_sitemaps_stylesheet_index_url", "__return_false" ); } //Change the template directory URL in themes if ( ! HMWP_Classes_Tools::isCachePlugin() ) { if ( ( HMWP_Classes_Tools::isThemeActive( 'Avada' ) || HMWP_Classes_Tools::isThemeActive( 'WpRentals' ) ) && ! HMWP_Classes_Tools::getOption( 'hmwp_mapping_file' ) ) { add_filter( 'template_directory_uri', array( HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rewrite' ), 'find_replace_url' ), PHP_INT_MAX ); } } //Gravity Form security fix add_filter( 'wp_redirect', function( $redirect, $status = '' ) { //prevent redirect to new login if ( HMWP_Classes_Tools::getDefault( 'hmwp_login_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_login_url' ) ) { if ( HMWP_Classes_Tools::getValue( 'gf_page' ) ) { if ( strpos( $redirect, '/' . HMWP_Classes_Tools::getOption( 'hmwp_login_url' ) ) !== false ) { if ( function_exists( 'is_user_logged_in' ) && ! is_user_logged_in() ) { $redirect = home_url(); } } } } return $redirect; }, PHP_INT_MAX, 2 ); } /** * Fix compatibility on hide URLs * * @return void */ public function fixHideUrls() { $url = ( isset( $_SERVER['REQUEST_URI'] ) ? untrailingslashit( strtok( $_SERVER["REQUEST_URI"], '?' ) ) : false ); //Compatibility with iThemes Security, Temporary Login Plugin, LoginPress, Wordfence if ( $url && function_exists( 'is_user_logged_in' ) && ! is_user_logged_in() ) { //if the /login path is hidden but there is a page with the same URL if ( $url == home_url( 'login', 'relative' ) && get_page_by_path( 'login' ) ) { add_filter( 'hmwp_process_hide_urls', '__return_false' ); } //If there is a loopback from itsec if ( HMWP_Classes_Tools::getValue( 'action' ) == 'itsec-check-loopback' ) { $exp = HMWP_Classes_Tools::getValue( 'exp' ); $action = 'itsec-check-loopback'; $hash = hash_hmac( 'sha1', "$action|$exp", wp_salt() ); if ( $hash <> HMWP_Classes_Tools::getValue( 'hash', '' ) ) { add_filter( 'hmwp_process_hide_urls', '__return_false' ); } } if ( HMWP_Classes_Tools::getValue( 'wtlwp_token' ) && HMWP_Classes_Tools::isPluginActive( 'temporary-login-without-password/temporary-login-without-password.php' ) ) { add_filter( 'hmwp_process_hide_urls', '__return_false' ); } //?aam-jwt=value if ( HMWP_Classes_Tools::getValue( 'aam-jwt' ) && HMWP_Classes_Tools::isPluginActive( 'advanced-access-manager/aam.php' ) ) { add_filter( 'hmwp_process_hide_urls', '__return_false' ); } if ( HMWP_Classes_Tools::getValue( 'loginpress_code' ) && HMWP_Classes_Tools::isPluginActive( 'loginpress/loginpress.php' ) ) { add_filter( 'hmwp_process_hide_urls', '__return_false' ); } //If Ajax if ( HMWP_Classes_Tools::isAjax() ) { //?action=backup_guard_awake on backupguard scans if ( HMWP_Classes_Tools::getValue( 'action' ) == 'backup_guard_awake' && HMWP_Classes_Tools::isPluginActive( 'backup-guard-gold/backup-guard-pro.php' ) ) { add_filter( 'hmwp_process_hide_urls', '__return_false' ); } //?action=hmbkp_cron_test on backupguard scans if ( HMWP_Classes_Tools::getValue( 'action' ) == 'hmbkp_cron_test' && HMWP_Classes_Tools::isPluginActive( 'backupwordpress/backupwordpress.php' ) ) { add_filter( 'hmwp_process_hide_urls', '__return_false' ); } } } } /** * Fix compatibility on brute force recaptcha * * @param $check * * @return bool */ public function fixRecaptchaCheck( $check ) { global $hmwp_bruteforce; //check if the shortcode was called if ( isset( $hmwp_bruteforce ) && $hmwp_bruteforce ) { return true; } $url = ( isset( $_SERVER['REQUEST_URI'] ) ? untrailingslashit( strtok( $_SERVER["REQUEST_URI"], '?' ) ) : false ); $http_post = ( isset( $_SERVER['REQUEST_METHOD'] ) && 'POST' == $_SERVER['REQUEST_METHOD'] ); //check the brute force if ( $check && $url && $http_post && ! HMWP_Classes_Tools::getIsset( 'brute_ck' ) && ! HMWP_Classes_Tools::getIsset( 'g-recaptcha-response' ) ) { if ( HMWP_Classes_Tools::getDefault( 'hmwp_login_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_login_url' ) ) { $paths = array(); $paths[] = '/' . HMWP_Classes_Tools::getDefault( 'hmwp_login_url' ); $paths[] = '/' . HMWP_Classes_Tools::getOption( 'hmwp_login_url' ); //add lostpass path if ( HMWP_Classes_Tools::getOption( 'hmwp_lostpassword_url' ) <> '' ) { $paths[] = '/' . HMWP_Classes_Tools::getOption( 'hmwp_lostpassword_url' ); } //add register path if ( HMWP_Classes_Tools::getOption( 'hmwp_register_url' ) <> '' ) { $paths[] = '/' . HMWP_Classes_Tools::getOption( 'hmwp_register_url' ); } //integrate with woocommerce only when Safe Mode or ghost Mode if ( HMWP_Classes_Tools::getOption( 'hmwp_mode' ) <> 'default' ) { if ( $post_id = get_option( 'woocommerce_myaccount_page_id' ) ) { if ( $post = get_post( $post_id ) ) { $paths[] = '/' . $post->post_name; } } } if ( ! HMWP_Classes_Tools::searchInString( $url, $paths ) ) { return false; } if ( HMWP_Classes_Tools::getValue( 'ltk' ) && isset( $_COOKIE['elementor_pro_login'] ) ) { $login_tck = sanitize_key($_COOKIE['elementor_pro_login']); if ( HMWP_Classes_Tools::getValue( 'ltk' ) == $login_tck ) { return false; } } } } return $check; } /** * Fix compatibility with WooGC plugin * * @param $buffer * * @return mixed */ public function fix_woogc_shutdown( $buffer ) { global $blog_id, $woocommerce, $WooGC; if ( ! class_exists( 'WooGC' ) ) { return $buffer; } if ( ! is_object( $woocommerce->cart ) ) { return $buffer; } if ( class_exists( 'WooGC' ) ) { if ( $WooGC && ! $WooGC instanceof WooGC ) { return $buffer; } } $options = $WooGC->functions->get_options(); $blog_details = get_blog_details( $blog_id ); //replace any checkout links if ( ! empty( $options['cart_checkout_location'] ) && $options['cart_checkout_location'] != $blog_id ) { $checkout_url = $woocommerce->cart->get_checkout_url(); $checkout_url = str_replace( array( 'http:', 'https:' ), "", $checkout_url ); $checkout_url = trailingslashit( $checkout_url ); $buffer = str_replace( $blog_details->domain . "/checkout/", $checkout_url, $buffer ); } return $buffer; } } models/compatibility/PowerCache.php000064400000001053147600042240013427 0ustar00getConfFile(); if ( $config_file <> '' && $wp_filesystem->exists( $config_file ) ) { $htaccess = $wp_filesystem->get_contents( $config_file ); preg_match( "/#\s?BEGIN\s?rlrssslReallySimpleSSL.*?#\s?END\s?rlrssslReallySimpleSSL/s", $htaccess, $match ); if ( ! empty( $match[0] ) ) { $htaccess = preg_replace( "/#\s?BEGIN\s?rlrssslReallySimpleSSL.*?#\s?END\s?rlrssslReallySimpleSSL/s", "", $htaccess ); $htaccess = $match[0] . PHP_EOL . $htaccess; $htaccess = preg_replace( "/\n+/", "\n", $htaccess ); $wp_filesystem->put_contents( $config_file, $htaccess ); } } } } catch ( Exception $e ) { } } } models/compatibility/SiteGuard.php000064400000011404147600042240013277 0ustar00 HMWP_Classes_Tools::getOption( 'hmwp_login_url' ) ) { $siteguard_config['renamelogin_enable'] = 0; } return $siteguard_config; } ); if ( get_option( "siteground_optimizer_combine_css", false ) || get_option( "siteground_optimizer_combine_javascript", false ) ) { if ( HMWP_Classes_Tools::doChangePaths() ) { add_filter( 'hmwp_process_buffer', '__return_false' ); add_filter( 'hmwp_process_find_replace', '__return_false' ); add_action( 'init', array( $this, 'startBuffer' ) ); add_action( 'shutdown', array( $this, 'shutdownBuffer' ), PHP_INT_MAX ); } } } /** * Start the buffer listener * * @throws Exception */ public function startBuffer() { ob_start( array( $this, 'getBuffer' ) ); } /** * Listen shotdown buffer when SiteGuard is active * * @return void * @throws Exception */ public function shutdownBuffer() { $buffer = ob_get_contents(); $buffer = $this->getBuffer( $buffer ); if ( $buffer <> '' ) { echo $buffer; exit(); } } /** * Modify the output buffer * Only text/html header types * * @param $buffer * * @return mixed * @throws Exception */ public function getBuffer( $buffer ) { //Check if other plugins already did the cache try { //If the content is HTML if ( HMWP_Classes_Tools::isContentHeader( array( 'text/html' ) ) ) { //If the user set to change the paths for logged users $rewriteModel = HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rewrite' ); add_filter( 'hmwp_process_find_replace', '__return_true' ); $buffer = $rewriteModel->find_replace( $buffer ); } } catch ( Exception $e ) { return $buffer; } //Return the buffer to HTML return apply_filters( 'hmwp_buffer', $buffer ); } /** * Create the WP-Rocket Burst Mapping * * @throws Exception */ public function cacheMapping() { if ( HMWP_Classes_Tools::getDefault( 'hmwp_wp-content_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_wp-content_url' ) ) { //Add the URL mapping for wp-rocket plugin $hmwp_url_mapping = json_decode( HMWP_Classes_Tools::getOption( 'hmwp_url_mapping' ), true ); //if no mapping is set allready if ( HMWP_Classes_Tools::isMultisites() ) { global $wpdb; $blogs = $wpdb->get_results( "SELECT blog_id FROM " . $wpdb->blogs ); if ( ! empty( $blogs ) ) { foreach ( $blogs as $blog ) { $original_path = '/' . HMWP_Classes_Tools::getDefault( 'hmwp_wp-content_url' ) . '/' . HMWP_Classes_Tools::getDefault( 'hmwp_upload_url' ) . '/sites/' . $blog->blog_id . '/'; $final_path = HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rewrite' )->find_replace_url( $original_path ); //mapp the wp-rocket busting wp-content if ( empty( $hmwp_url_mapping['from'] ) || ! in_array( '/' . trim( $final_path, '/' ) . '/siteground-optimizer-assets/', $hmwp_url_mapping['from'] ) ) { $hmwp_url_mapping['from'][] = '/' . trim( $final_path, '/' ) . '/siteground-optimizer-assets/'; $hmwp_url_mapping['to'][] = '/' . trim( $final_path, '/' ) . '/' . substr( md5( 'siteground-optimizer-assets' ), 0, 10 ) . '/'; } } } } else { $original_path = '/' . HMWP_Classes_Tools::getDefault( 'hmwp_wp-content_url' ) . '/' . HMWP_Classes_Tools::getDefault( 'hmwp_upload_url' ) . '/'; $final_path = HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rewrite' )->find_replace_url( $original_path ); //mapp the wp-rocket busting wp-content if ( empty( $hmwp_url_mapping['from'] ) || ! in_array( '/' . trim( $final_path, '/' ) . '/siteground-optimizer-assets/', $hmwp_url_mapping['from'] ) ) { $hmwp_url_mapping['from'][] = '/' . trim( $final_path, '/' ) . '/siteground-optimizer-assets/'; $hmwp_url_mapping['to'][] = '/' . trim( $final_path, '/' ) . '/' . substr( md5( 'siteground-optimizer-assets' ), 0, 10 ) . '/'; } } HMWP_Classes_ObjController::getClass( 'HMWP_Models_Settings' )->saveURLMapping( $hmwp_url_mapping['from'], $hmwp_url_mapping['to'] ); } } } models/compatibility/Squirrly.php000064400000001655147600042240013251 0ustar00postRequest( $url ); if ( $response ) { header( "HTTP/1.1 200 OK" ); if ( ! empty( $response['headers'] ) ) { foreach ( $response['headers'] as $header ) { header( $header ); } } //Echo the html file content echo $response['body']; exit(); } } } }, PHP_INT_MAX, 1 ); } } models/compatibility/UltimateMember.php000064400000011662147600042240014332 0ustar00getLoginPath(); if ( $login ) { defined( 'HMWP_DEFAULT_LOGIN' ) || define( 'HMWP_DEFAULT_LOGIN', $login ); if ( HMWP_DEFAULT_LOGIN == 'login' ) { add_filter( 'hmwp_option_hmwp_hide_login', '__return_false' ); } add_filter( 'hmwp_option_hmwp_lostpassword_url', '__return_false' ); add_filter( 'hmwp_option_hmwp_register_url', '__return_false' ); add_filter( 'hmwp_option_hmwp_logout_url', '__return_false' ); } //load the brute force if ( HMWP_Classes_Tools::getOption( 'hmwp_bruteforce' ) ) { $this->hookBruteForce(); } } /** * @throws Exception */ public function hookBruteForce() { add_filter( 'um_submit_form_login', array( $this, 'checkReCaptcha' ) ); if ( HMWP_Classes_Tools::getOption( 'hmwp_bruteforce_register' ) ) { add_filter( 'um_submit_form_register', array( $this, 'checkReCaptcha' ) ); } if ( HMWP_Classes_Tools::getOption( 'hmwp_bruteforce_lostpassword' ) ) { add_action( 'um_reset_password_errors_hook', array( $this, 'checkReCaptcha' ) ); } if ( HMWP_Classes_Tools::getOption( 'brute_use_math' ) ) { //math recaptcha add_filter( 'um_after_login_fields', array( HMWP_Classes_ObjController::getClass( 'HMWP_Models_Brute' ), 'brute_recaptcha_head' ), 99 ); add_filter( 'um_after_login_fields', array( HMWP_Classes_ObjController::getClass( 'HMWP_Models_Brute' ), 'brute_math_form' ), 99 ); if ( HMWP_Classes_Tools::getOption( 'hmwp_bruteforce_register' ) ) { add_filter( 'um_after_register_fields', array( HMWP_Classes_ObjController::getClass( 'HMWP_Models_Brute' ), 'brute_recaptcha_head' ), 99 ); add_filter( 'um_after_register_fields', array( HMWP_Classes_ObjController::getClass( 'HMWP_Models_Brute' ), 'brute_math_form' ), 99 ); } if ( HMWP_Classes_Tools::getOption( 'hmwp_bruteforce_lostpassword' ) ) { add_filter( 'um_after_password_reset_fields', array( HMWP_Classes_ObjController::getClass( 'HMWP_Models_Brute' ), 'brute_recaptcha_head' ), 99 ); add_filter( 'um_after_password_reset_fields', array( HMWP_Classes_ObjController::getClass( 'HMWP_Models_Brute' ), 'brute_math_form' ), 99 ); } } elseif ( HMWP_Classes_Tools::getOption( 'brute_use_captcha' ) ) { // recaptcha v2 add_filter( 'um_after_login_fields', array( HMWP_Classes_ObjController::getClass( 'HMWP_Models_Brute' ), 'brute_recaptcha_head' ), 99 ); add_filter( 'um_after_login_fields', array( HMWP_Classes_ObjController::getClass( 'HMWP_Models_Brute' ), 'brute_recaptcha_form' ), 99 ); if ( HMWP_Classes_Tools::getOption( 'hmwp_bruteforce_register' ) ) { add_filter( 'um_after_register_fields', array( HMWP_Classes_ObjController::getClass( 'HMWP_Models_Brute' ), 'brute_recaptcha_head' ), 99 ); add_filter( 'um_after_register_fields', array( HMWP_Classes_ObjController::getClass( 'HMWP_Models_Brute' ), 'brute_recaptcha_form' ), 99 ); } if ( HMWP_Classes_Tools::getOption( 'hmwp_bruteforce_lostpassword' ) ) { add_filter( 'um_after_password_reset_fields', array( HMWP_Classes_ObjController::getClass( 'HMWP_Models_Brute' ), 'brute_recaptcha_head' ), 99 ); add_filter( 'um_after_password_reset_fields', array( HMWP_Classes_ObjController::getClass( 'HMWP_Models_Brute' ), 'brute_recaptcha_form' ), 99 ); } } } /** * Get the options * * @return false|mixed|null */ public function getOptions() { return get_option( 'um_options' ); } /** * Get the login path * * @return false|string */ public function getLoginPath() { $options = $this->getOptions(); if ( isset( $options['core_login'] ) && (int) $options['core_login'] > 0 ) { $post = get_post( (int) $options['core_login'] ); if ( ! is_wp_error( $post ) && $post->post_status == 'publish' ) { return $post->post_name; } } return false; } /** * Check the reCaptcha on login, register and password reset * * @param $args * * @return void * @throws Exception */ public function checkReCaptcha( $args ) { if ( class_exists( 'UM' ) ) { $errors = HMWP_Classes_ObjController::getClass( 'HMWP_Controllers_Brute' )->hmwp_check_preauth( false ); if ( is_wp_error( $errors ) ) { if ( isset( $args['mode'] ) ) { switch ( $args['mode'] ) { case 'login': UM()->form()->add_error( 'username', wp_strip_all_tags( $errors->get_error_message() ) ); break; case 'register': UM()->form()->add_error( 'user_login', wp_strip_all_tags( $errors->get_error_message() ) ); break; case 'password': UM()->form()->add_error( 'username_b', wp_strip_all_tags( $errors->get_error_message() ) ); break; } } } } return $args; } } models/compatibility/UsersWP.php000064400000002170147600042240012760 0ustar00brute_math_form(); }elseif ( HMWP_Classes_Tools::getOption( 'brute_use_captcha' ) ) { // recaptcha v2 echo HMWP_Classes_ObjController::getClass( 'HMWP_Models_Brute' )->brute_recaptcha_head(); echo HMWP_Classes_ObjController::getClass( 'HMWP_Models_Brute' )->brute_recaptcha_form(); }elseif ( HMWP_Classes_Tools::getOption( 'brute_use_captcha_v3' ) ) { // recaptcha v3 echo HMWP_Classes_ObjController::getClass( 'HMWP_Models_Brute' )->brute_recaptcha_head_v3(); echo HMWP_Classes_ObjController::getClass( 'HMWP_Models_Brute' )->brute_recaptcha_form_v3(); } } } models/compatibility/W3Total.php000064400000005111147600042240012703 0ustar00find_replace_url( $js_url ); $fireEvent = 'function(t){var e;try{e=new CustomEvent("w3tc_lazyload_loaded",{detail:{e:t}})}catch(a){(e=document.createEvent("CustomEvent")).initCustomEvent("w3tc_lazyload_loaded",!1,!1,{e:t})}window.dispatchEvent(e)}'; $config = '{elements_selector:".lazy",callback_loaded:' . $fireEvent . '}'; $on_initialized_javascript = apply_filters( 'w3tc_lazyload_on_initialized_javascript', '' ); $on_initialized_javascript_wrapped = ''; if ( ! empty( $on_initialized_javascript ) ) { // LazyLoad::Initialized fired just before making LazyLoad global // so next execution cycle have it $on_initialized_javascript_wrapped = 'window.addEventListener("LazyLoad::Initialized", function(){' . 'setTimeout(function() {' . $on_initialized_javascript . '}, 1);' . '});'; } $embed_script = '' . ''; $buffer = preg_replace( '~]*)*>~Ui', '\\0' . $embed_script, $buffer, 1 ); // load lazyload in footer to make sure DOM is ready at the moment of initialization $footer_script = '' . ''; $buffer = preg_replace( '~]*)*>~Ui', $footer_script . '\\0', $buffer, 1 ); } return $buffer; } } models/compatibility/Woocommerce.php000064400000017220147600042240013671 0ustar00hookBruteForce(); } else { //Check if WooCommerce login support is loaded if ( HMWP_Classes_Tools::getValue( 'woocommerce-login-nonce' ) ) { add_filter( 'hmwp_preauth_check', '__return_false' ); } } //If Login/Signup Popup is active and logged in through it if ( HMWP_Classes_Tools::isPluginActive( 'easy-login-woocommerce/xoo-el-main.php' ) && ! HMWP_Classes_Tools::getOption( 'brute_use_math' ) && HMWP_Classes_Tools::isAjax() && HMWP_Classes_Tools::getValue( 'xoo-el-username' ) && HMWP_Classes_Tools::getValue( 'xoo-el-password' ) ) { add_filter( 'hmwp_preauth_check', '__return_false' ); } } public function hookBruteForce() { if ( ! HMWP_Classes_Tools::getOption( 'brute_use_captcha_v3' ) ) { add_filter( 'woocommerce_registration_errors', function( $errors, $sanitizedLogin, $userEmail ) { //check if the registering process is on woocommerce checkout //if woocommerce nonce is correct return $nonce_value = HMWP_Classes_Tools::getValue( 'woocommerce-process-checkout-nonce', HMWP_Classes_Tools::getValue( '_wpnonce' ) ); if ( wp_verify_nonce( $nonce_value, 'woocommerce-process_checkout' ) ) { return $errors; } return HMWP_Classes_ObjController::getClass( 'HMWP_Controllers_Brute' )->hmwp_check_registration( $errors, $sanitizedLogin, $userEmail ); }, 99, 3 ); } if ( HMWP_Classes_Tools::getOption( 'hmwp_bruteforce_lostpassword' ) ) { add_action( 'lostpassword_post', array( HMWP_Classes_ObjController::getClass( 'HMWP_Controllers_Brute' ), 'hmwp_check_lpassword' ), 99, 2 ); } if ( HMWP_Classes_Tools::getOption( 'brute_use_math' ) ) { //math recaptcha add_filter( 'woocommerce_login_form', array( HMWP_Classes_ObjController::getClass( 'HMWP_Models_Brute' ), 'brute_recaptcha_head' ), 99 ); add_filter( 'woocommerce_login_form', array( HMWP_Classes_ObjController::getClass( 'HMWP_Models_Brute' ), 'brute_math_form' ), 99 ); if ( HMWP_Classes_Tools::getOption( 'hmwp_bruteforce_register' ) ) { add_filter( 'woocommerce_register_form', array( HMWP_Classes_ObjController::getClass( 'HMWP_Models_Brute' ), 'brute_recaptcha_head' ), 99 ); add_filter( 'woocommerce_register_form', array( HMWP_Classes_ObjController::getClass( 'HMWP_Models_Brute' ), 'brute_math_form' ), 99 ); } if ( HMWP_Classes_Tools::getOption( 'hmwp_bruteforce_lostpassword' ) ) { add_filter( 'woocommerce_lostpassword_form', array( HMWP_Classes_ObjController::getClass( 'HMWP_Models_Brute' ), 'brute_recaptcha_head' ), 99 ); add_filter( 'woocommerce_lostpassword_form', array( HMWP_Classes_ObjController::getClass( 'HMWP_Models_Brute' ), 'brute_math_form' ), 99 ); } } elseif ( HMWP_Classes_Tools::getOption( 'brute_use_captcha' ) ) { // recaptcha v2 add_action( 'woocommerce_login_form', array( $this, 'woocommerce_brute_recaptcha_form' ), 99 ); if ( HMWP_Classes_Tools::getOption( 'hmwp_bruteforce_register' ) ) { add_action( 'woocommerce_register_form', array( $this, 'woocommerce_brute_recaptcha_form' ), 99 ); } if ( HMWP_Classes_Tools::getOption( 'hmwp_bruteforce_lostpassword' ) ) { add_action( 'woocommerce_lostpassword_form', array( $this, 'woocommerce_brute_recaptcha_form' ), 99 ); } } elseif ( HMWP_Classes_Tools::getOption( 'brute_use_captcha_v3' ) ) { //recaptcha v3 add_action( 'woocommerce_login_form', array( $this, 'woocommerce_brute_recaptcha_form_v3' ), 99 ); if ( HMWP_Classes_Tools::getOption( 'hmwp_bruteforce_lostpassword' ) ) { add_action( 'woocommerce_lostpassword_form', array( $this, 'woocommerce_brute_recaptcha_form_v3' ), 99 ); } } } /** * Fix the admin url if wrong redirect * * @param mixed $url * @param mixed $path * @param mixed $blog_id */ public function admin_url( $url, $path, $blog_id ) { if ( HMWP_Classes_Tools::getDefault( 'hmwp_admin_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_admin_url' ) ) { if ( strpos( $url, '/wp-admin/' . HMWP_Classes_Tools::getOption( 'hmwp_admin_url' ) . '/' ) !== false ) { $url = str_replace( '/' . HMWP_Classes_Tools::getOption( 'hmwp_admin_url' ) . '/', '/', $url ); } } return $url; } /** * Show the reCaptcha form on login/register * * @return void */ public function woocommerce_brute_recaptcha_form() { ?> '' && HMWP_Classes_Tools::getOption( 'brute_captcha_secret_key' ) <> '' ) { ?>
'' && HMWP_Classes_Tools::getOption( 'brute_captcha_secret_key_v3' ) <> '' ) { ?> wfIs2FA() ) { //Add compatibility with Wordfence to not load the Bruteforce when 2FA is active add_filter( 'hmwp_option_brute_use_captcha_v3', '__return_false' ); } } // Adding actions for handling Wordfence scan add_action( 'wf_scan_monitor', array( $this, 'witelistWordfence' ) ); add_action( 'wordfence_start_scheduled_scan', array( $this, 'witelistWordfence' ) ); //Add local IPs in whitelist add_filter( 'hmwp_rules_whitelisted_ips', function ( $ips ) { // Set known logged in cookies $domain = ( HMWP_Classes_Tools::isMultisites() && defined( 'BLOG_ID_CURRENT_SITE' ) ) ? get_home_url( BLOG_ID_CURRENT_SITE ) : site_url(); if ( filter_var( $domain, FILTER_VALIDATE_URL ) !== false && strpos( $domain, '.' ) !== false ) { if ( ! HMWP_Classes_Tools::isLocalFlywheel() ) { $ips[] = '127.0.0.1'; //set local domain IP if( $local_ip = get_transient('hmwp_local_ip') ){ $ips[] = $local_ip; }elseif( $local_ip = @gethostbyname( wp_parse_url($domain, PHP_URL_HOST) ) ) { set_transient( 'hmwp_local_ip', $local_ip ); $ips[] = $local_ip; } } } return $ips; }); } /** * Retrieves the configuration value for a given key from the wfconfig table. * * @param string $key The key for the configuration value to retrieve. * * @return mixed The configuration value if found, otherwise false. */ public function wfConfig( $key ) { // Make $wpdb instance available global $wpdb; // Check if the configuration for the given key already exists in self::$config if ( isset( self::$config[ $key ] ) ) { return self::$config[ $key ]; // Return the stored configuration value } // Define the table name by concatenating the base prefix and 'wfconfig' $table = $wpdb->base_prefix . 'wfconfig'; // Check if the wfconfig table exists in the current database if ( $wpdb->get_col( $wpdb->prepare( "SELECT TABLE_NAME FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME=%s", $table ) ) ) { // Query the table for the row that matches the given key if ( $option = $wpdb->get_row( $wpdb->prepare( "SELECT name, val, autoload FROM $table WHERE name = %s", $key ) ) ) { // Check if the value exists in the result if ( isset( $option->val ) ) { // Store the value in self::$config for future use self::$config[ $key ] = $option->val; // Return the value return $option->val; } } } // If the value is not found, return false return false; } /** * Checks whether the 2FA (Two-Factor Authentication) table exists and has at least one entry. * * @return bool Returns true if the 2FA table exists and contains at least one row, otherwise false. */ public function wfIs2FA() { global $wpdb; $table = $wpdb->base_prefix . 'wfls_2fa_secrets'; // Check if the 2FA secrets table exists $checkTableQuery = $wpdb->prepare("SELECT TABLE_NAME FROM information_schema.TABLES WHERE TABLE_NAME = %s", $table); $tableExists = $wpdb->get_col($checkTableQuery); if ($tableExists) { // Check if there is any record in the 2FA secrets table $checkRecordQuery = $wpdb->prepare("SELECT id FROM $table LIMIT %d", 1); $recordExists = $wpdb->get_row($checkRecordQuery); if ($recordExists) { return true; } } return false; } /** * Check and handle Wordfence scan status. * * @param bool $status The current status of the scan. * * @return bool The updated status of the scan. */ public function checkWordfenceScan( $status ) { // Check if the scan is starting manually via cron or AJAX if( HMWP_Classes_Tools::isCron() || HMWP_Classes_Tools::isAjax()){ // Check if the action is Wordfence scan if('wordfence_scan' == HMWP_Classes_Tools::getValue( 'action' )){ // Whitelist Wordfence and disable hiding URLs $this->witelistWordfence(); $status = false; } // If scan is running or hiding URLs is disabled, update status if ( $this->isRunning() || get_transient( 'hmwp_disable_hide_urls' ) ) { $status = false; } }elseif( ! $this->isRunning() ){ // Delete the transient if scan is not running delete_transient( 'hmwp_disable_hide_urls' ); } return $status; } /** * Temporarily disables URL hiding in the Wordfence plugin * * @return void */ public function witelistWordfence() { set_transient( 'hmwp_disable_hide_urls', 1, HOUR_IN_SECONDS ); } /** * Check if a scan is currently running. * * @return bool True if a scan is running, false otherwise. */ public function isRunning() { $scanRunning = $this->wfConfig( 'wf_scanRunning' ); $scanStarted = $this->wfConfig( 'scanStartAttempt' ); return ($scanStarted || $scanRunning); } } models/compatibility/WpDefender.php000064400000001263147600042240013435 0ustar00disableKeysAndClicks(); } }, PHP_INT_MAX ); } else { add_action( 'admin_footer', function() { if ( HMWP_Classes_Tools::getOption( 'hmwp_disable_click' ) || HMWP_Classes_Tools::getOption( 'hmwp_disable_inspect' ) || HMWP_Classes_Tools::getOption( 'hmwp_disable_source' ) || HMWP_Classes_Tools::getOption( 'hmwp_disable_copy_paste' ) || HMWP_Classes_Tools::getOption( 'hmwp_disable_drag_drop' ) ) { if ( ! wp_script_is( 'jquery' ) ) { wp_deregister_script( 'jquery' ); wp_register_script( 'jquery', includes_url( '/js/jquery/jquery.js' ), false, null, true ); wp_enqueue_script( 'jquery' ); } HMWP_Classes_ObjController::getClass( 'HMWP_Models_Clicks' )->disableKeysAndClicks(); } }, PHP_INT_MAX ); } } } } models/compatibility/Wpml.php000064400000001313147600042240012325 0ustar00 HMWP_Classes_Tools::getOption( 'hmwp_admin_url' ) ) { $_SERVER['HTTP_REFERER'] = esc_url(HMWP_Classes_ObjController::getClass( 'HMWP_Models_Files' )->getOriginalUrl( $_SERVER['HTTP_REFERER'] )); } } } } models/compatibility/WpRocket.php000064400000016121147600042240013147 0ustar00 HMWP_Classes_Tools::getOption( 'hmwp_login_url' ) ) { $path = wp_parse_url( site_url(), PHP_URL_PATH ); $uri[] = ( $path <> '/' ? $path . '/' : $path ) . HMWP_Classes_Tools::getOption( 'hmwp_login_url' ); } return $uri; } /** * Create the WP-Rocket Burst Mapping * * @throws Exception */ public function burstMapping() { //Add the URL mapping for wp-rocket plugin if ( HMWP_Classes_Tools::getDefault( 'hmwp_wp-content_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_wp-content_url' ) || HMWP_Classes_Tools::getDefault( 'hmwp_wp-includes_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_wp-includes_url' ) ) { if ( defined( 'WP_ROCKET_CACHE_BUSTING_URL' ) && defined( 'WP_ROCKET_MINIFY_CACHE_URL' ) ) { $hmwp_url_mapping = json_decode( HMWP_Classes_Tools::getOption( 'hmwp_url_mapping' ), true ); //if no mapping is set allready $blog_ids = array(); if ( HMWP_Classes_Tools::isMultisites() ) { global $wpdb; $blogs = $wpdb->get_results( "SELECT blog_id FROM " . $wpdb->blogs ); foreach ( $blogs as $blog ) { $blog_ids[] = $blog->blog_id; } } else { $blog_ids[] = get_current_blog_id(); } $home_root = wp_parse_url( home_url() ); if ( isset( $home_root['path'] ) ) { $home_root = trailingslashit( $home_root['path'] ); } else { $home_root = '/'; } $busting_url = HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rewrite' )->find_replace_url( WP_ROCKET_CACHE_BUSTING_URL ); if ( $busting_url = HMWP_Classes_Tools::getRelativePath( $busting_url ) ) { foreach ( $blog_ids as $blog_id ) { //mapp the wp-rocket busting wp-content if ( HMWP_Classes_Tools::getDefault( 'hmwp_wp-content_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_wp-content_url' ) ) { if ( empty( $hmwp_url_mapping['from'] ) || ! in_array( '/' . trim( $busting_url, '/' ) . '/' . $blog_id . $home_root . HMWP_Classes_Tools::getDefault( 'hmwp_wp-content_url' ) . '/', $hmwp_url_mapping['from'] ) ) { $hmwp_url_mapping['from'][] = '/' . trim( $busting_url, '/' ) . '/' . $blog_id . $home_root . HMWP_Classes_Tools::getDefault( 'hmwp_wp-content_url' ) . '/'; $hmwp_url_mapping['to'][] = '/' . trim( $busting_url, '/' ) . '/' . $blog_id . '/' . HMWP_Classes_Tools::getOption( 'hmwp_wp-content_url' ) . '/'; } } //mapp the wp-rocket busting wp-includes if ( HMWP_Classes_Tools::getDefault( 'hmwp_wp-includes_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_wp-includes_url' ) ) { if ( empty( $hmwp_url_mapping['from'] ) || ! in_array( '/' . trim( $busting_url, '/' ) . '/' . $blog_id . $home_root . HMWP_Classes_Tools::getDefault( 'hmwp_wp-includes_url' ) . '/', $hmwp_url_mapping['from'] ) ) { $hmwp_url_mapping['from'][] = '/' . trim( $busting_url, '/' ) . '/' . $blog_id . $home_root . HMWP_Classes_Tools::getDefault( 'hmwp_wp-includes_url' ) . '/'; $hmwp_url_mapping['to'][] = '/' . trim( $busting_url, '/' ) . '/' . $blog_id . '/' . HMWP_Classes_Tools::getOption( 'hmwp_wp-includes_url' ) . '/'; } } } } $minify_url = HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rewrite' )->find_replace_url( WP_ROCKET_MINIFY_CACHE_URL ); if ( $minify_url = HMWP_Classes_Tools::getRelativePath( $minify_url ) ) { foreach ( $blog_ids as $blog_id ) { //mapp the wp-rocket busting wp-content if ( HMWP_Classes_Tools::getDefault( 'hmwp_wp-content_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_wp-content_url' ) ) { if ( empty( $hmwp_url_mapping['from'] ) || ! in_array( '/' . trim( $minify_url, '/' ) . '/' . $blog_id . $home_root . HMWP_Classes_Tools::getDefault( 'hmwp_wp-content_url' ) . '/', $hmwp_url_mapping['from'] ) ) { $hmwp_url_mapping['from'][] = '/' . trim( $minify_url, '/' ) . '/' . $blog_id . $home_root . HMWP_Classes_Tools::getDefault( 'hmwp_wp-content_url' ) . '/'; $hmwp_url_mapping['to'][] = '/' . trim( $minify_url, '/' ) . '/' . $blog_id . '/' . HMWP_Classes_Tools::getOption( 'hmwp_wp-content_url' ) . '/'; } } //mapp the wp-rocket busting wp-includes if ( HMWP_Classes_Tools::getDefault( 'hmwp_wp-includes_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_wp-includes_url' ) ) { if ( empty( $hmwp_url_mapping['from'] ) || ! in_array( '/' . trim( $minify_url, '/' ) . '/' . $blog_id . $home_root . HMWP_Classes_Tools::getDefault( 'hmwp_wp-includes_url' ) . '/', $hmwp_url_mapping['from'] ) ) { $hmwp_url_mapping['from'][] = '/' . trim( $minify_url, '/' ) . '/' . $blog_id . $home_root . HMWP_Classes_Tools::getDefault( 'hmwp_wp-includes_url' ) . '/'; $hmwp_url_mapping['to'][] = '/' . trim( $minify_url, '/' ) . '/' . $blog_id . '/' . HMWP_Classes_Tools::getOption( 'hmwp_wp-includes_url' ) . '/'; } } } } $cache_url = HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rewrite' )->find_replace_url( WP_ROCKET_CACHE_ROOT_URL ); if ( $cache_url = HMWP_Classes_Tools::getRelativePath( $cache_url ) ) { if ( empty( $hmwp_url_mapping['from'] ) || ! in_array( '/' . trim( $cache_url, '/' ) . '/background-css/' . trim( HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rewrite' )->getSiteUrl(), '/' ) . '/' . HMWP_Classes_Tools::getDefault( 'hmwp_wp-content_url' ) . '/', $hmwp_url_mapping['from'] ) ) { $hmwp_url_mapping['from'][] = '/' . trim( $cache_url, '/' ) . '/background-css/' . trim( HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rewrite' )->getSiteUrl(), '/' ) . '/' . HMWP_Classes_Tools::getDefault( 'hmwp_wp-content_url' ) . '/'; $hmwp_url_mapping['to'][] = '/' . trim( $cache_url, '/' ) . '/background-cache/'; } } HMWP_Classes_ObjController::getClass( 'HMWP_Models_Settings' )->saveURLMapping( $hmwp_url_mapping['from'], $hmwp_url_mapping['to'] ); } } } } models/compatibility/Wpum.php000064400000012143147600042240012341 0ustar00getLoginPath(); if ( $login ) { defined( 'HMWP_DEFAULT_LOGIN' ) || define( 'HMWP_DEFAULT_LOGIN', $login ); if ( HMWP_DEFAULT_LOGIN == 'login' ) { add_filter( 'hmwp_option_hmwp_hide_login', '__return_false' ); } add_filter( 'hmwp_option_hmwp_lostpassword_url', '__return_false' ); add_filter( 'hmwp_option_hmwp_register_url', '__return_false' ); add_filter( 'hmwp_option_hmwp_logout_url', '__return_false' ); } //load the brute force if ( HMWP_Classes_Tools::getOption( 'hmwp_bruteforce' ) ) { $this->hookBruteForce(); } } public function hookBruteForce() { //remove default check remove_action( 'authenticate', array( HMWP_Classes_ObjController::getClass( 'HMWP_Controllers_Brute' ), 'hmwp_check_preauth' ), 99 ); if ( ! HMWP_Classes_Tools::getOption( 'brute_use_captcha_v3' ) ) { add_action( 'authenticate', array( $this, 'checkLoginReCaptcha' ), 99, 1 ); } if ( HMWP_Classes_Tools::getOption( 'brute_use_math' ) ) { //math brute force add_action( 'wpum_before_submit_button_login_form', array( HMWP_Classes_ObjController::getClass( 'HMWP_Models_Brute' ), 'brute_math_form' ) ); if ( HMWP_Classes_Tools::getOption( 'hmwp_bruteforce_lostpassword' ) ) { add_filter( 'submit_wpum_form_validate_fields', array( $this, 'checkLPasswordReCaptcha' ), 99, 3 ); add_filter( 'wpum_before_submit_button_password_recovery_form', array( HMWP_Classes_ObjController::getClass( 'HMWP_Models_Brute' ), 'brute_math_form' ) ); } if ( HMWP_Classes_Tools::getOption( 'hmwp_bruteforce_register' ) ) { add_filter( 'submit_wpum_form_validate_fields', array( $this, 'checkRegisterReCaptcha' ), 99, 3 ); add_filter( 'wpum_before_submit_button_registration_form', array( HMWP_Classes_ObjController::getClass( 'HMWP_Models_Brute' ), 'brute_math_form' ) ); } } elseif ( HMWP_Classes_Tools::getOption( 'brute_use_captcha' ) ) { //recaptcha V2 add_action( 'wpum_before_submit_button_login_form', array( HMWP_Classes_ObjController::getClass( 'HMWP_Models_Brute' ), 'brute_recaptcha_head' ) ); add_action( 'wpum_before_submit_button_login_form', array( HMWP_Classes_ObjController::getClass( 'HMWP_Models_Brute' ), 'brute_recaptcha_form' ) ); if ( HMWP_Classes_Tools::getOption( 'hmwp_bruteforce_lostpassword' ) ) { add_filter( 'submit_wpum_form_validate_fields', array( $this, 'checkLPasswordReCaptcha' ), 99, 3 ); add_filter( 'wpum_before_submit_button_password_recovery_form', array( HMWP_Classes_ObjController::getClass( 'HMWP_Models_Brute' ), 'brute_recaptcha_head' ) ); add_filter( 'wpum_before_submit_button_password_recovery_form', array( HMWP_Classes_ObjController::getClass( 'HMWP_Models_Brute' ), 'brute_recaptcha_form' ) ); } if ( HMWP_Classes_Tools::getOption( 'hmwp_bruteforce_register' ) ) { add_filter( 'submit_wpum_form_validate_fields', array( $this, 'checkRegisterReCaptcha' ), 99, 3 ); add_filter( 'wpum_before_submit_button_registration_form', array( HMWP_Classes_ObjController::getClass( 'HMWP_Models_Brute' ), 'brute_recaptcha_head' ) ); add_filter( 'wpum_before_submit_button_registration_form', array( HMWP_Classes_ObjController::getClass( 'HMWP_Models_Brute' ), 'brute_recaptcha_form' ) ); } } } /** * Get the login path * * @return false|string */ public function getLoginPath() { $settings = get_option( 'wpum_settings' ); if ( isset( $settings['login_page'][0] ) && (int) $settings['login_page'][0] > 0 ) { $post = get_post( (int) $settings['login_page'][0] ); if ( ! is_wp_error( $post ) ) { return $post->post_name; } } return false; } /** * Check the reCaptcha on login * * @param $validate * @param $fields * @param $values * * @return void * @throws Exception */ public function checkLoginReCaptcha( $user ) { return HMWP_Classes_ObjController::getClass( 'HMWP_Controllers_Brute' )->hmwp_check_preauth( $user ); } /** * Check the reCaptcha on register * * @param $args * * @return void * @throws Exception */ public function checkRegisterReCaptcha( $validate, $fields, $values ) { //check the user if ( isset( $values['register']['user_password'] ) && isset( $values['register']['user_email'] ) ) { $validate = HMWP_Classes_ObjController::getClass( 'HMWP_Controllers_Brute' )->hmwp_check_registration( $validate, $fields, $values ); } return $validate; } /** * Check the reCaptcha on password reset * * @param $validate * @param $fields * @param $values * * @return mixed * @throws Exception */ public function checkLPasswordReCaptcha( $validate, $fields, $values ) { //check the user if ( isset( $values['user']['username_email'] ) ) { $validate = HMWP_Classes_ObjController::getClass( 'HMWP_Controllers_Brute' )->hmwp_check_registration( $validate, $fields, $values ); } return $validate; } } models/geoip/ControlByte.php000064400000005332147600042240012111 0ustar00type = $type; $this->size = $size; return $this; } public function getType() { return $this->type; } public function getTypeName() { return $this->mapTypeName( $this->getType() ); } public function getSize() { return $this->size; } public function is( $type ) { return $this->type === $type; } /** * @throws Exception */ public function consume( $handle ) { $byte = $handle->readByte(); $type = $byte >> 5; if ( $type === self::TYPE_EXTENDED ) { $type = $handle->readByte() + self::EXTENSION_OFFSET; } $size = $byte & self::SIZE_MASK; if ( $size > self::MAX_SINGLE_BYTE_SIZE ) { $bytes = $size - self::MAX_SINGLE_BYTE_SIZE; switch ( $size ) { case 30: $size = 285; break; case 31: $size = 65821; break; default: break; } $size += HMWP_Classes_ObjController::getClass( 'HMWP_Models_Geoip_IntegerParser' )->parseUnsigned( $handle, $bytes ); } return HMWP_Classes_ObjController::newInstance( 'HMWP_Models_Geoip_ControlByte' )->init( $type, $size ); } public function mapTypeName( $type ) { switch ( $type ) { case self::TYPE_EXTENDED: return 'TYPE_EXTENDED'; case self::TYPE_POINTER: return 'TYPE_POINTER'; case self::TYPE_UTF8_STRING: return 'TYPE_UTF8_STRING'; case self::TYPE_DOUBLE: return 'TYPE_DOUBLE'; case self::TYPE_BYTES: return 'TYPE_BYTES'; case self::TYPE_UINT16: return 'TYPE_UINT16'; case self::TYPE_UINT32: return 'TYPE_UINT32'; case self::TYPE_MAP: return 'TYPE_MAP'; case self::TYPE_INT32: return 'TYPE_INT32'; case self::TYPE_UINT64: return 'TYPE_UINT64'; case self::TYPE_UINT128: return 'TYPE_UINT128'; case self::TYPE_ARRAY: return 'TYPE_ARRAY'; case self::TYPE_CONTAINER: return 'TYPE_CONTAINER'; case self::TYPE_END_MARKER: return 'TYPE_END_MARKER'; case self::TYPE_BOOLEAN: return 'TYPE_BOOLEAN'; case self::TYPE_FLOAT: return 'TYPE_FLOAT'; default: return 'UNKNOWN'; } } public function __toString() { return sprintf( '%s(%d) of size %d', $this->getTypeName(), $this->getType(), $this->getSize() ); } }models/geoip/Database.php000064400000015372147600042240011356 0ustar00handle = $fileHanle->init( $resource, $closeAutomatically ); $this->loadMetadata(); return $this; } private function loadMetadata() { $this->handle->seek( 0, SEEK_END ); /** @var HMWP_Models_Geoip_FileHandle $fileHanle */ $fileHanle = HMWP_Classes_ObjController::getClass( 'HMWP_Models_Geoip_FileHandle' ); /** @var HMWP_Models_Geoip_DatabaseMetadata $databaseMetadata */ $databaseMetadata = HMWP_Classes_ObjController::getClass( 'HMWP_Models_Geoip_DatabaseMetadata' ); $position = $this->handle->locateString( self::DELIMITER_METADATA, $fileHanle::DIRECTION_REVERSE, $databaseMetadata::MAX_LENGTH, true ); if ( $position === null ) { throw new \Exception( "Unable to locate metadata in MMDB file" ); } $this->metadata = $databaseMetadata->parse( $this->handle ); if ( $this->metadata->getMajorVersion() !== self::SUPPORTED_MAJOR_VERSION ) { throw new \Exception( sprintf( 'This library only supports parsing version %d of the MMDB format, a version %d database was provided', self::SUPPORTED_MAJOR_VERSION, $this->metadata->getMajorVersion() ) ); } } private function computeNodeSize() { $nodeSize = ( $this->metadata->getRecordSize() * 2 ) / 8; if ( ! is_int( $nodeSize ) ) { throw new \Exception( "Node size must be an even number of bytes, computed {$this->nodeSize}" ); } return $nodeSize; } private function getNodeReader() { if ( $this->nodeReader === null ) { /** @var HMWP_Models_Geoip_NodeReader $nodeReader */ $nodeReader = HMWP_Classes_ObjController::getClass( 'HMWP_Models_Geoip_NodeReader' ); $this->nodeReader = $nodeReader->init( $this->handle, $this->computeNodeSize(), $this->metadata->getNodeCount() ); } return $this->nodeReader; } private function getDataSectionParser() { if ( $this->dataSectionParser === null ) { /** @var HMWP_Models_Geoip_DataFieldParser $dataFieldParser */ $dataFieldParser = HMWP_Classes_ObjController::getClass( 'HMWP_Models_Geoip_DataFieldParser' ); $offset = $this->getNodeReader()->getSearchTreeSectionSize() + 16; //16 null bytes separate the two sections $this->dataSectionParser = $dataFieldParser->init( $this->handle, $offset ); } return $this->dataSectionParser; } /** * Retrieve the metadata for this database * * @return HMWP_Models_Geoip_DatabaseMetadata */ public function getMetadata() { return $this->metadata; } /** * Search the database for the given IP address * * @param HMWP_Models_Geoip_IpAddress|string $ip the IP address for which to search * A human readable (as accepted by inet_pton) or binary (as accepted by inet_ntop) string may be provided or an instance of IpAddressInterface * * @return array|null the matched record or null if no record was found * @throws Exception if $ip is a string that cannot be parsed as a valid IP address * @throws Exception if the database IP version and the version of the provided IP address are incompatible (specifically, if an IPv6 address is passed and the database only supports IPv4) */ public function search( $ip ) { /** @var HMWP_Models_Geoip_IpAddress $ipAddress */ $ipAddress = HMWP_Classes_ObjController::getClass( 'HMWP_Models_Geoip_IpAddress' ); if ( is_string( $ip ) ) { $ip = $ipAddress->createFromString( $ip ); } elseif ( ! $ip instanceof HMWP_Models_Geoip_IpAddress ) { throw new \Exception( 'IP address must be either a human readable string (presentation format), a binary string (network format), or an instance of Wordfence\MmdbReader\IpAddressInterface, received: ' . print_r( $ip, true ) ); } if ( $this->metadata->getIpVersion() === $ipAddress::TYPE_IPV4 && $ip->getType() === $ipAddress::TYPE_IPV6 ) { throw new \Exception( 'This database only support IPv4 addresses, but the provided address is an IPv6 address' ); } return $this->searchNodes( $ip ); } private function resolveStartingNode( $type ) { /** @var HMWP_Models_Geoip_IpAddress $ipAddress */ $ipAddress = HMWP_Classes_ObjController::getClass( 'HMWP_Models_Geoip_IpAddress' ); $node = $this->getNodeReader()->read( 0 ); if ( $type === $ipAddress::TYPE_IPV4 && $this->metadata->getIpVersion() === $ipAddress::TYPE_IPV6 ) { $skippedBits = ( $ipAddress::LENGTH_IPV6 - $ipAddress::LENGTH_IPV4 ) * 8; while ( $skippedBits -- > 0 ) { $record = $node->getLeft(); if ( $record->isNodePointer() ) { $node = $record->getNextNode(); } else { return $record; } } } return $node; } private function getStartingNode( $type ) { if ( ! array_key_exists( $type, $this->startingNodes ) ) { $this->startingNodes[ $type ] = $this->resolveStartingNode( $type ); } return $this->startingNodes[ $type ]; } private function searchNodes( $ip ) { $key = $ip->getBinary(); $byteCount = strlen( $key ); $nodeReader = $this->getNodeReader(); $node = $this->getStartingNode( $ip->getType() ); $bits = ''; $record = null; if ( $node instanceof HMWP_Models_Geoip_Node ) { for ( $byteIndex = 0; $byteIndex < $byteCount; $byteIndex ++ ) { $byte = ord( $key[ $byteIndex ] ); for ( $bitOffset = 7; $bitOffset >= 0; $bitOffset -- ) { $bit = ( $byte >> $bitOffset ) & 1; $record = $node->getRecord( $bit ); if ( $record->isNodePointer() ) { $node = $record->getNextNode(); } else { break 2; } } } } else { $record = $node; } if ( $record->isNullPointer() ) { return null; } elseif ( $record->isDataPointer() ) { $this->handle->seek( $record->getDataAddress(), SEEK_SET ); $data = $this->getDataSectionParser()->parseField(); return $data; } else { return null; } } /** * Open the MMDB file at the given path * * @param string $path the path of an MMDB file * * @throws Exception if unable to open the file at the provided path */ public function open( $path ) { $handle = fopen( $path, 'rb' ); if ( $handle === false ) { throw new \Exception( "Unable to open MMDB file at {$path}" ); } return HMWP_Classes_ObjController::newInstance( 'HMWP_Models_Geoip_Database' )->init( $handle, true ); } }models/geoip/DatabaseMetadata.php000064400000004507147600042240013015 0ustar00data = $data; return $this; } private function getField( $key, $default = null, &$exists = null ) { if ( ! array_key_exists( $key, $this->data ) ) { $exists = false; return $default; } $exists = true; return $this->data[ $key ]; } private function requireField( $key ) { $value = $this->getField( $key, null, $exists ); if ( ! $exists ) { throw new \Exception( "Metadata field {$key} is missing" ); } return $value; } public function requireInteger( $key ) { $value = $this->requireField( $key ); if ( ! is_int( $value ) ) { throw new \Exception( "Field {$key} should be an integer, received: " . print_r( $value, true ) ); } return $value; } public function getMajorVersion() { return $this->requireInteger( self::FIELD_MAJOR_VERSION ); } public function getNodeCount() { return $this->requireInteger( self::FIELD_NODE_COUNT ); } public function getRecordSize() { return $this->requireInteger( self::FIELD_RECORD_SIZE ); } public function getIpVersion() { return $this->requireInteger( self::FIELD_IP_VERSION ); } public function getBuildEpoch() { return $this->requireInteger( self::FIELD_BUILD_EPOCH ); } /** * @param $handle * * @return HMWP_Models_Geoip_DatabaseMetadata|null * @throws Exception */ public function parse( $handle ) { /** @var HMWP_Models_Geoip_DataFieldParser $dataFieldParser */ $dataFieldParser = HMWP_Classes_ObjController::getClass( 'HMWP_Models_Geoip_DataFieldParser' ); $offset = $handle->getPosition(); $parser = $dataFieldParser->init( $handle, $offset ); $value = $parser->parseField(); if ( ! is_array( $value ) ) { throw new \Exception( 'Unexpected field type found when metadata map was expected: ' . print_r( $value, true ) ); } return HMWP_Classes_ObjController::newInstance( 'HMWP_Models_Geoip_DatabaseMetadata' )->init( $value ); } }models/geoip/DataFieldParser.php000064400000012735147600042240012644 0ustar00handle = $handle; $this->sectionOffset = $sectionOffset === null ? $this->handle->getPosition() : $sectionOffset; return $this; } public function processControlByte() { return HMWP_Classes_ObjController::getClass( 'HMWP_Models_Geoip_ControlByte' )->consume( $this->handle ); } private function readStandardField( $controlByte ) { $size = $controlByte->getSize(); if ( $size === 0 ) { return ''; } return $this->handle->read( $size ); } private function parseUtf8String( $controlByte ) { return $this->readStandardField( $controlByte ); } private function parseUnsignedInteger( $controlByte ) { //TODO: Does this handle large-enough values gracefully? return HMWP_Classes_ObjController::getClass( 'HMWP_Models_Geoip_IntegerParser' )->parseUnsigned( $this->handle, $controlByte->getSize() ); } private function parseMap( $controlByte ) { $map = array(); for ( $i = 0; $i < $controlByte->getSize(); $i ++ ) { $keyByte = $this->processControlByte(); $key = $this->parseField( $keyByte ); if ( ! is_string( $key ) ) { throw new \Exception( 'Map keys must be strings, received ' . $keyByte . ' / ' . print_r( $key, true ) . ', map: ' . print_r( $map, true ) ); } $value = $this->parseField(); $map[ $key ] = $value; } return $map; } private function parseArray( $controlByte ) { $array = array(); for ( $i = 0; $i < $controlByte->getSize(); $i ++ ) { $array[ $i ] = $this->parseField(); } return $array; } private function parseBoolean( $controlByte ) { return (bool) $controlByte->getSize(); } private static function unpackSingleValue( $format, $data, $controlByte ) { $values = unpack( $format, $data ); if ( $values === false ) { throw new \Exception( "Unpacking field failed for {$controlByte}" ); } return reset( $values ); } private static function getPackedLength( $formatCharacter ) { switch ( $formatCharacter ) { case 'E': return 8; case 'G': case 'l': return 4; } throw new InvalidArgumentException( "Unsupported format character: {$formatCharacter}" ); } private static function usesSystemByteOrder( $formatCharacter ) { switch ( $formatCharacter ) { case 'l': return true; default: return false; } } private function parseByUnpacking( $controlByte, $format ) { //TODO: Is this reliable for float/double types, considering that the size for unpack is platform dependent? $data = $this->readStandardField( $controlByte ); $data = str_pad( $data, self::getPackedLength( $format ), "\0", STR_PAD_LEFT ); if ( self::usesSystemByteOrder( $format ) ) { /** @var HMWP_Models_Geoip_Endianness $Endianness */ $Endianness = HMWP_Classes_ObjController::getClass( 'HMWP_Models_Geoip_Endianness' ); $data = $Endianness::convert( $data, $Endianness::BIG ); } return $this->unpackSingleValue( $format, $data, $controlByte ); } private function parsePointer( $controlByte ) { $data = $controlByte->getSize(); $size = $data >> 3; $address = $data & 7; if ( $size === 3 ) { $address = 0; } for ( $i = 0; $i < $size + 1; $i ++ ) { $address = ( $address << 8 ) + $this->handle->readByte(); } switch ( $size ) { case 1: $address += 2048; break; case 2: $address += 526336; break; } $previous = $this->handle->getPosition(); $this->handle->seek( $this->sectionOffset + $address, SEEK_SET ); $referenceControlByte = $this->processControlByte(); if ( $referenceControlByte->getType() === $controlByte::TYPE_POINTER ) { throw new \Exception( 'Per the MMDB specification, pointers may not point to other pointers. This database does not comply with the specification.' ); } $value = $this->parseField( $referenceControlByte ); $this->handle->seek( $previous, SEEK_SET ); return $value; } private function parseSignedInteger( $controlByte, $format ) { if ( $controlByte->getSize() === 0 ) { return 0; } return $this->parseByUnpacking( $controlByte, $format ); } public function parseField( &$cByte = null ) { /** @var HMWP_Models_Geoip_ControlByte $controlByte */ $controlByte = HMWP_Classes_ObjController::getClass( 'HMWP_Models_Geoip_ControlByte' ); if ( $cByte === null ) { $cByte = $this->processControlByte(); } switch ( $cByte->getType() ) { case $controlByte::TYPE_POINTER: return $this->parsePointer( $cByte ); case $controlByte::TYPE_UTF8_STRING: return $this->parseUtf8String( $cByte ); case $controlByte::TYPE_DOUBLE: return $this->parseByUnpacking( $cByte, 'E' ); case $controlByte::TYPE_BYTES: case $controlByte::TYPE_CONTAINER: return $this->readStandardField( $cByte ); case $controlByte::TYPE_UINT16: case $controlByte::TYPE_UINT32: case $controlByte::TYPE_UINT64: case $controlByte::TYPE_UINT128: return $this->parseUnsignedInteger( $cByte ); case $controlByte::TYPE_INT32: return $this->parseSignedInteger( $cByte, 'l' ); case $controlByte::TYPE_MAP: return $this->parseMap( $cByte ); case $controlByte::TYPE_ARRAY: return $this->parseArray( $cByte ); case $controlByte::TYPE_END_MARKER: return null; case $controlByte::TYPE_BOOLEAN: return $this->parseBoolean( $cByte ); case $controlByte::TYPE_FLOAT: return $this->parseByUnpacking( $cByte, 'G' ); default: throw new \Exception( "Unable to parse data field for {$cByte}" ); } } }models/geoip/Endianness.php000064400000001314147600042240011730 0ustar00> 8; } public static function get() { if ( self::$SYSTEM === null ) { self::$SYSTEM = self::detect(); } return self::$SYSTEM; } public static function isBig() { return self::get() === self::BIG; } public static function isLittle() { return self::get() === self::LITTLE; } public static function convert( $value, $source, $target = null ) { if ( $target === null ) { $target = self::get(); } if ( $target === $source ) { return $value; } return strrev( $value ); } }models/geoip/FileHandle.php000064400000004340147600042240011636 0ustar00resource = $resource; $this->close = $close; return $this; } public function __destruct() { if ( $this->close ) { fclose( $this->resource ); } } public function seek( $offset, $whence = SEEK_SET ) { if ( fseek( $this->resource, $offset, $whence ) !== 0 ) { throw new \Exception( "Seeking file to offset {$offset} failed" ); } } public function getPosition() { $position = ftell( $this->resource ); if ( $position === false ) { throw new \Exception( 'Retrieving current position in file failed' ); } return $position; } public function isAtStart() { return $this->getPosition() === self::POSITION_START; } public function isAtEnd() { return feof( $this->resource ); } public function read( $length ) { $read = fread( $this->resource, $length ); if ( $read === false ) { throw new \Exception( "Reading {$length} byte(s) from file failed" ); } return $read; } public function readByte() { return ord( $this->read( 1 ) ); } public function readAll( $chunkSize = self::CHUNK_SIZE_DEFAULT ) { $data = ''; do { $chunk = $this->read( $chunkSize ); if ( empty( $chunk ) ) { break; } $data .= $chunk; } while ( true ); return $data; } public function locateString( $string, $direction, $limit = null, $after = false ) { $searchStart = $limit === null ? null : $this->getPosition(); $length = strlen( $string ); $position = $searchStart; if ( $direction === self::DIRECTION_REVERSE ) { $position -= $length; } do { try { $this->seek( $position, SEEK_SET ); } catch ( \Exception $e ) { //This assumes that a seek failure means that the target position is out of range (and hence the search just needs to stop rather than throwing an exception) break; } $test = $this->read( $length ); if ( $test === $string ) { return $position + ( $after ? $length : 0 ); } $position += $direction; } while ( $limit === null || abs( $position - $searchStart ) < $limit ); return null; } }models/geoip/GeoCountry.mmdb000064400030206150147600042240012077 0ustar00A@@@@?      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQ?RSTUVWXYZ[\]^_`a bhcd9e%f ghi]jKklmnopqxrstuv*w*y!!z{!|!!}~!!!!!!!!!!!******!*!*a!a!I9FS     **9!!,! !!!"!#!$!%!&!'(!!)*!!+!!-!.!/0!1!2!3!4!5!6!7!8!!!:;!<!!=>!!?!@A!B!C!!DE!!F!G!H!JLPMNOaQR*STUVWXYZ[\^*_`rabcdefghijklmnopqstauvw|xz*y*{*S}~*S**S!***S*S*S*OCCCCCCCaaa   OQOOOOOOOOOOOOOOOOOOOOLN`hz )55:     IWfWt WgL> *!"%#$zz&'z(z)z+2,/-.zz01zz3645zz7:8z9z;<=zz?@GADBCzzEFzzHIJKzMNWOPTQRSUVX_Y\Z[]^`cabdef@i|jskolnm:5pqrW=twuv55xzy { }~ W           GW 5WW5  W:tW WW:(W     F 3) !$"#%&'(*+/,-.012456=7:89;<>A?@BECDHSIPJMKLWNOQR TYUV WWXZ_[]\W^W Wabcndief@W)gh jmklopqsrtuv wxyz}{|WW~WWWWWWWWW>LWI5WZW 5 5Wz(ddEZCWWWWWWWWWWWWWWW  WW W W WWWWWW<+$! WW"#WW%(&'WW)*WW,5-2./W01W34WW6978WW:;WW=>?@AWBWDFGH(ILJKRIMOP~QkR_SXTU5V(WYZ\[]^(5`fab:c:de  :gihfJXfj WlwmsnqopW :rWtuvx{yzWW|} LWWv 5  55f55W:f~fWW )W      :W5-IW"WW~W !~@#*$'%&f5():+,W:.@/:06132545798;?<=>zACB DGEFWHJIK M}NOmPdQYRVST5 U5WX)(Z_[\ W ]^q`abcW:eflgkhijZ5 nopqrstuv{wxyz|}~5)5 5)       ::::::::::::)t5 K    :W55 5Z) @5  W@ /!*"'#%$W&~()z~+,W-.b01I2:3456E7>8;9:::<=::?B@A::CD::FGH:JLmMUNSORPQW T VkWX5YZ[b\]^e_b`acdfighjlWno: pvqt rstuw|xzy:{  ~]:W5WW5            W:5::W(((((  :5We  W@>W=;&      #!"$%'()4*+0,/-.WWW123WW56978WW:W<f)W?IAFBDCE5GTHNILJK  WMWORPQ55SUZVXWYW:[\5W^~_h`a5becdWzfg ivjkqlnmop5WWrtsWWuWw}x|y{zf( WI:5WfJ@)WJWWW .m|m6Qv%O4CCQ%^m|p~~~~%%4B4P R a oO  }       v%     Q _ } n n } |   %!'"$B#B %& ?%% N(+)* ] l  |,-    /l0L1@2837456% 9>:=;<4 7 7 F U d s?  AGBFCDE HI }J KMVNQOP ! ORST% nU WZXY  }[\%]!^_`abgcdefhijkmnxorpqOswtuv4%4 }yz{%||}~Ie5 }  Qw 6Q$3 d R%$$$$$$$$$$$$$$:%I   ]%BB4 %%$O  S          ..  d d 7  s  !     %$          $   " . # - $ % & ' ( ) * + , | / 4 0 2 1 3 % 5 7 d 8 O 9 C : ? ; = < >)7 @ B AFm% D G E F%B% H J IUd K M L N  ' P W Q T R S OO U V% X ^ Y ] Z [ \6FF6 s _ c ` a b }Uv e f g j h id% k nO l m o r p q s% t u v | w x y z {% } ~   %    |z|mO   Q BB O        Q  m               C m  % %% %Q q R O N                        H  U    H     $1>  wK 1     w    Ygg u     H  . ! ) " # & $ %uUwH ' ( Y * + , - / > 0 8 1 5 2 4 3$ 61 7$ 9 = : ;w <gw$ ? G @ C A B  D FH EH H K I J   L M1 Kg  Pw Q  S _ T U$ V$ W X Y Z [ \ ] ^ ` a b c d e f g h i j k l m n o pw r s t u vgw w xH yH zH {H |H }H ~H HH H H H H H HH H 1                                                      g                            $  (   6   j  F   -                 &     ! " # $ %g ' ( ) * + ,g . / A 0 3 1 2g 4 5 6 7 8 9 : ; < = > ? @ B C D E G H I J K L M N O c P \ Q R S V T Ugg W X Y Z [g ] ^ _ ` a bg d e f g h ig k l m s n o p q rg t u v w x y z { | } ~                          g          g                     1                  g     g             g                  %      ! " # $  & ) ' (g * + , - . / 0 1 2 3 4g 5g 7 8 9 m : ; T < D = > ? @ A B C   E F G H I J K L M N O P Q R S  U V ^ W X Y Z [ \ ]  _ ` a b c d e f g h i j k lg n o p | q r s t u v w x y z {g } ~        g          g                H   w        g g      $$ H      H11 ww w w ww  w   ggg    1 H 1$$       H   g$      K K K KK    w g      H1$    H  $ " !g # % & 'w )@ * + , -  .% / R* 0 1% 2 = 3 4 < 5 6 9 7 8 : ; > I ? B @%% A:% C F D%% E%: G% H%:% J Kv L% M P N Ovvv Qv S T U X V W Y Z ~ [ f \ ] ^ _ ` a b c d e g q h i j k l m n o p r s t u v w x { y z | }  %               %4 | CCp      p B|   PB _           O % % %W % O        %  IXI XIXI           } S% O     i  2 %     c  9, !"'#$%&()*+-./401235678:;R<J=>?D@ABC EFGHI  KLMNOPQ S[TUVWXYZ \]^_`ab dheQfgQQ%j klm|nyorpq)8G8sVt8u8v8w8x8e8zt){8}~)88888888888888t8G88888t8O  % %%gm% &% S !  !*  !%!$!!!!CCC! !" "oQ  N% N%% N N% N%3DO"~OO OOOOO" O OO  O"OOOOOOO"OOOOO"O?,O' O!$O"O#O"%O&O"OO(O)*OO+"O-3O./O0OO12O"O4O59O67OO8"O:OO;<O=O>OO"@OOABOOC"OEFrGWHKOIJOO"LOOMNOOUOPQSRO"OTO"OOVO"XhYcZ`[OO\O]O^_O"OaObO"OdOeOfOOg"OinOjkOOlmOO"OoOpOqO"sOtOOuvOOwOxy|zO{O"O}O~O"OOOOOO"~OOOOO"OOO"#OOOOO"OOOO"OOO"OOOO"OOOOOOO"OOOOOOOO#OOOOOOO"~O"~OOO"OOOOO"OOOO"OOOOOOO##OO"OOOOOO## OOOOOOO"OO"OOOOOO"OOOOOO"OOOOOO"OOOO"O" O"O )  OOOO"OOOOO#2OOOOOOO"O O!O"O#%$O"OO&'O(O"O*O+O,OO-O.O/0O1O2O"OO45n6]7EO89OO:;?<O=OO>##OO@OAOBCODOO"FSOGOHIMOJKOLO"ONOOOOPQORO"OTZUOOVOWXOOY"O[OO\O"^bO_`OaOO"~cOdjeOfOOgOhOiO"klO"mO"Oopq~OrOstzOuvxOwO"yOO"{OO|}OO"~OOOOOOOO"OOOOOOO"OOOOOOOO"OOOOO"OOOO"OOOOO#O#A _O%#P#_#_#_#_#_#_#_#_#_#m#_#_#_" %O#    #O%OO% s#'#   ##AS"$$pC    v %%%$ mOQQ }3$bW !S#V$0%'&%(,)+* 7O3-.$/$$1423$56K7A%89%%:;%%<=%>%?%%@$%%BC%D%%EF%%G%H%IJ%%$L%M%N%%OP%%Q%RS%T%U%$%WaX[UYZ }%\%]^__`P bcdef!htOij klmpn oqrsvuvwxyz}{|%~O%m   %%_%W %m%2%v&>IQ&K&K&Y&h&h&K&w&K&K&&K&K&&h&&K&h&h&h&&h&h&h&K&K&h&h&K&K&Y&h&h&h&h&K&&$&K&Y&h&&Y$&K&&h&K&h&K&&&K&h&h&&K&&)   &#P     &%% s%&" ''!'!#$%%'(v*+,}-@./;01 Q$2'0'>3456789:'0<>= Q? QABCxDMECFGHIJKL'MNoO'\P'\QcRX'\STWUV'\C'\C'\CY^Z['\'j\]'\'j'j'\_a` Q'\ Qb Q'\ Qd'\ejfhg'\i'\kml'y'\'yn'y'\'yp'\q'\r'\s'\'\tu'\vw'\'y'\'yyz{|}~ Q#P Q Q Q Q Q Q Q' Q'' Q' Q'M''M'M#P=L''(](](())))* * ****++++,,,,,,,,,,------.t.t/P/P//0P0P1.1.112222223M3M3344 445 5 55666[66  77 77 89N9N99::;;;(;(;7;7 5!*"%;#$>+0,.-?K?K/??132@c@c4@@6A7<8:9AeAe;AA=?>B)B)@CCBGCEDDDFDrDrHJI Q QK Q QM{NgO[PWQTRS Q QUV#P#PXYZ Q\a]^ Q_` Q Qbced Q Qf''hiujokmlDDnEZ QEZprq Q Qst Q Qvwyx Q Qz Q Q|}~ Q;(1 Q Q'(] Q(]((]( Q) Q)*  Q* * Q** Q*+ Q++ Q+, Q,, Q,, Q,, Q,, Q,- Q-- Q-- Q-.t Q.t/P Q/P/ Q/0P Q0P1. Q1.1 Q12 Q22 Q23M Q3M3 Q34 Q44 Q45  Q5 5 Q56 Q66[6 Q67 Q77 Q79N Q9N: Q:; Q;;7 Q;7; Q; Q>?K Q?K(? Q?@c Q@c@ Q@Ae QAe#! A QA"B) QB)$&%C QC'D QD)-* Q+ Q,Dr QDr. Q Q/0#P Q#P2 Q37 Q45 Q6 Q'8 Q9; Q: QD< QEZ Q> ?@AnBWCLDGEFFFHJIGXGXKGGMRNPOGGQGGSUTGGVHHXcY^Z\[II]II_a`IIbJJdiegfJJhJJjlkK K mKKop{qvrtsKKuKKwyxKKzLGLG|}~MPMPMMNhNhO>O>OOPlPlPPQ Q QQQQRnRnR}R}SSSSTTTTTTTTTTTT22UcUcVVVVVVVVVVVVVVVVWGWGWVWVWWWWWWX[X[XXY`Y`YoYoY~Y~YYYYZuZu'M'M'M'M'M'M;('M;('M'M'M'M 'M  Z'MZ k<%FFGXGXGG GGGG!#"GG$HH&1',(*)II+II-/.II0JJ27354JJ6JJ8:9K K ;KK=T>I?D@BAKKCKKEGFKKHLGLGJOKMLMPMPNMMPRQNhNhSO>O>U`V[WYXOOZPlPl\^]PP_Q Q afbdcQQeQQgihRnRnjR}R}lmnyotprqSSsSSuwvTTxTTz{}|TT~TTTTTTUcUcVVVVVVVVVVVVVVVVWGWGWVWVWWWWWWX[X[XXY`Y`YoYoY~Y~YYYZuZuZZ[t[t'[[[[\\]]]"]"]]^^^|^|^^__` ` ``aaauauaab b bbbbbbc1c1    cc ccd`d`EEeeeffff" gg!g!g!#%$ZZ&gg(W)@*5+0,.-gg/h-h-132hh4i+i+6;798jBjB:jQjQ<>=jj?kkALBGCEDkkFk|k|HJIkkKllMRNPOlllQ Q QSUTllVllXoYdZ_[]\ll^mm`bammcmmejfhgn!n!innkmllln Q Qpwqtrso$o$o3uvooxy{zoo|p{p{~qqqqr rr+%%:%r: %rH%%%:  g %rV Orf|   _%   %  _Wm%%%%% sO J,%%O    rtr_   _r _C CC     _r   " !%#$%&)'(%rr*+|rr-m.B/5012v3r4rs 6?789<:;sst s=>t tst@uuAuuCDGEFvHI%KL?M}NmORPuQSkT_U[VXWuYZ1 \]^g u`va  bucudueufguuhiuju ulO%ntopq*%r%s%uxvwO  }yz {|uu~!! ur s  r! s s vs s  s vs v$vv3vs v$s v$!vBv$vv$!!s s v$ v$ s v$vQs r s v   v$rvQs  !v$!!s ! s v$ v$vvQv!v$v$ v$ !v$! v$ s   !v$ v$    s      !s  + v$v$ v$ !v$! %!$"#   &)'(v$ v$!*v$,6-3.0/v$!12v$vv` 45 v`7<8:9vo;vo=>v$ A=BCeDEFGOHIJ } }K }L }M }Nv~ }PnQWRUST#SVXaY\Z[O]`^_JbhcdvefgvBimj%kl%Ovvou#pqrsv tv vwQxyzQQ{|Q}Q~QQQQQvQQQQvQQQQvQQQQQQQQvQQQQvQQQQQvQQQvQ$ %v$ s _vwO2 * *w[OOOOOOO"OOOOO"~OOOOOOO"O"OOOOOOOO"O"~OOOOOOO"OOOOOOOO"OOOOOO""OOOOO"OO  O  O OOOOO"OOOOO""O-O""OOOO O!O"~#)O$O%O&O'O(O"O*O+O,"O.8w!/05w!1w!2w!3w!4"w!w!6w!7w!"~9Hw!:w!;w!<w!=>Cw!?@w!Aw!Bw!#w!Dw!Ew!w!Fw!G#w!IPw!JKw!Lw!Mw!Nw!w!Ow!"~QUw!RSw!w!T"w!w!VWw!w!Xw!YZw!w!"\{]q^iO_O`OabOOcOdeOfOgOhO"OOjkOlOOmnOOoOpO"OrswtOuOvO"OxOOyzOO"|O}~OOO"OOOOOO"OOOOO"OOOO#OOOOOOOO"OOOOOOOO"OOOO"OOOO"OOOOO"OOOOOOOOOOOOO"~OOOOOOOOOw0OOOOOOO"O/OOOOO"OO"OOOOOOO"OOOOO"OOOO"OOOO"OOOOOOOO"OOOOO"OO O OO  O OO"OOOOOOOOOO""OOOOO OO!"OO#$*%O&O'O(O)O"OO+,O-OO."O0F1@2:3OO4O5O6O7O89O#OO;<O=OO>O?"OAOBOCOODOEO"G\HTOIJOKPOLOMNOOOO"OQOROS"OOUOVWOXOYOOZ[O"O]O^OO_O`aOObcOOdO"fgh%iyjokmvlvnpqtrs OuvwxwEzv{v|}~v %%%lvvvv#|uwT O s%wbwqQ swE#P; QQ: $rHvv3#v     !!!w!!^v*'%#vw" %%!%#&$%v%()4*.+-,%2#%/10%23596Q78%#:ww<=>?{@dANBHCED!!wFG!!!!ILJK6!!!!M!!O^PSQR!6!!TUww^VwWXwYwZw[w\ww]ww_b`a!wx6c!w!eqfkgixh!xj!!!lomn!w6!p!!6rxsvtu!x#!m!w!!y6z6!!|}~x2x2%OVO } % s %%xA|      &    &       xP%%x_(2vQ     Ixn!I'x}x} #!"x}x}$%&x})*@+3,0 N-./ N% N%1245?6<7:89xxx;x=>xxA|BZCLDGE%F%:%HJI%:%%K%xMVNPO%x%QS%R:xTU:y%y%W%XY::%[_%\]%%^:%`jac%b:%%d:e%fg%%h%iy$%ktlnm%:y3o%:pqrs%u{v%%wx%%y%zyB%:%}~%%:%:%:%:%%%:%%%%%%:%%yQ%:%%%%%%$%%%%%:%%:%%%%%%%%%%%%y` $yoy}$y}yy !Qy'4y3 sm sQO%%O%^.Qyy }BvB yyyz    yO:%% N#%%%%z%1 "W !yyy%$)%(z &'&K*-+v, }/I0<1423vx59678%:: ; '=@>?|AFBuCDIE=z.GH Qz JTKNLM%ORPQ Q#PS  UZVWXY y[\z=]%_`~asbjcfde Qz  sghizJzYzhzwkolmnzz#PRnpqr|z|%txuwvz z!y}%z{|Obz zr%Bz%W % 7 7 d d d d d 7 d d d d d d d d 7 7 dz 7 F{ {v~m{&{5{C8{CO{Q ]{` u{o {~ {% o R or:  }{{8{{ o{&L'%{~%:B{B%:{|||% |*   C C CCCCC|8C%  umS%|L 74|[!&"$#|i% |w(8)0*-+,m|O./O%O132O45%67||9E:>;%<=||?D@ACOBO""~|FIGH| }%JKvOM~N\OUPRvQSTO%2VYWX|%Z[% ]d^`_%ab%c %e{fzghqijklmnop|rstuvwxy O|}  O%Bm} } Q Q#P{5O%6% }W   }Om  Qv}<& }%}5%}E}Tp }b}p}C} }}}}} }%}    |r}% B }p!|C  |}p}E   }CC}} % "}5}} !4}b #%$C}5'%()7*2+,/-.}b}}01%}3C456|} 89~:C;C $>!?!@!pAB!]C$D EFSOGHOOIJOKOOLMONOOOPOQORO"OT}UwVmWdX^OYZO[OO\O]"O_O`OaObOcO#OOeOfOghOiOOjOkOlO"OnOoOpqsOr"~OtOOuvO"OxOOyzOO{|OO"~OOOOOO"~OOOOOO"OOOOO"OOOOO"OO"OO"OOOOOOOOOOOOOw0OOOOOOO"OOO#OOOO"~OOOOOOO"OOOOO"~OO~OOOOOOO"OOOOOO"OOOOOOOO"OOOOOOO"OOOOOO"O OOOOw!OOOOO Ow!   O OO" OO  OO O O"~O  f  9     OO  OO  OO" O OO "O  ( OO   % OO !O " # $O"O"O &O 'O"~ ) 4 *O + 0 ,OO -O .O /"~OO 1 2O 3OO"O 5 6OO 7 8OOw! : X ; J < C =OO > ?O @OO AO B"O DO EOO F GOO HO IO" KO L R MO NOO O PO QOO" SOO T UOO V WOO" YO Z _ [O \OO ]O ^O" `O aOO b cOO dO eO" g h  i s jOO k lO mOO nO oO p qO rO"~O t u"OO v w z xOO yOw! {O |OO }O ~"O O O OO "O O OO O O OO"O O O" O O O O O"O OO "OO OO"O O OO "O OO O O ~ O O O O O O O"O O"O OO O O O" O"w! O O O O#OO O O "O ! O O OO O O OOw!O O OO O O O" O OO O O O#O O OO "O O OO"O OO O O"O O O""O O O O OO" !!!O!!OO!O!O!O"!O!!! O! O! O! O! ""O!OO!O!!OO!"O!O!O!O!O"~O!!2O!O!O!!!$O!O! O!!O!"!#O"~O!%!&""O!'!(!-!)O!*OO!+O!,"OO!.!/OO!0!1OO"!3!T!4!?!5!:!6OO!7!8OO!9O"O!;O!<O!=O!>O"!@!N!AO!BO!C!GO!DO!EO!F"O!H!KO!IO!J"OO!L!MOO"O!O!POO!QO!R!SOO"O!U!VO!W"!XOO!Y!ZOO![O!\"O!^!f!_!`!c!a !b }O!d!eUd!g!h!m!i!j%!k%!lU!n!o%!q!}!r!|!s!{!t !u !v!w!x!y!z~/  !~!!!!!!!m }!~5!!!  ! !!  ! !!  ! ! ! !! ! !  ! !!  !  ! !!%!~! ! ! ! ! % !"!"!!!!!!!!!O!!Q!~*!!!!!!v!v!!vv!!v!vv!v~!!!!!!!~~!~!!!"!!!%!%!!!!!!!%%!!%%!%%!!!%%!% N%!%!%!%%:!" !"!!!%!!!%%!!!!!%!%!:!%!%!%!%!!%!% N!!!%%:!!%::!!:!:!::""::":":%"%"%%"%"" %" %" %" %r:%"%"%"%%""%:%""}""[""V""?""("""%:""%"%"%:%" "&"!"%""%"#%"$%~%%"'%%")"0"*"/:"+","-".~%"1":"2"6"3%"4%"5%~%"7%"8%"9%:%";"<%"=%">%~%"@"L"A"H:"B"C"G"D%"E%"F%~%%"I%"J"K%%"M"T"N"O%:%"P"Q%"R%"S%:%"U%%~"W%"X%"Y%"Z%%"\"v"]%"^"a"_%"`% N%"b"i%"c"d%"e%"f%"g%"h%y$%"j"u"k"p"l%"m%"n%"o%yB%"q%"r%"s%"t%%%$"w%"x"{"y%:"z%:%"|%:%"~%"""%"%""%%:%"%"%"% N"  "" " "  ""  "" " " "   ""Q""""""""""""v""%":$"%% N"'""6"6"6"6"  """ ""%$""Q"#"#"""""""""" }"""""C!"""}5PES""""" !" !" !" !" !" !"" !" ! !"b !"O$"""""" d" d""|Lq4"" dO""""%"""x"6x%"# """"""QvO""#"#"""" F d"#" ""  "" # # #   ## ### y# ## ###### o{## ####%#2%#:### #J#!#7#"#*###&#$#%%%*#'#)#(* $ #+#2#,#/#-#.  n#0 #1 #3#4#5#6C#8#B#9#<#:#;Sq#=#>#?%#@#A 5(#C#E#D #F#I#G#H#P s#K#f#L#V#M#S#N#OO#P#Q#R#T#UO#W#a#X#Y#Z#[#\#]#^#_y#`y#b#c#d#eY#g#q#h#n#i#j% d#k#l#m />#o#pv }#r#{#s#z#ty#u#v (#w#x#yzMz N#|#%#}#~#%$###$$#$%#:#:#:#:#:#:#:%:#$ ############## Q Q Q#P#P##P##P#####P##Pz###P Q Q#P####4#P#P#4#P Q## Q# Q## Q Q######ccz##cz Q##c#c# Q'M#P#########c Q#######P##P#P#####P#Py##Pc#P#P###P##P#P###P#Pc##P#P###P#P##P##P##Pc###Pc Q### Q#P Q# Q######z Q#Pz## Q#P#P Q#c#P Q##c## Q##P##P###P##P#P##PQ ##### Qc##cc Q#P## Qc#$ ##$Q$$ }$ }$ }$ }$ } }$ }$$  }$  }$  } }Q$$$$rt$$$$$$v$$xn$$$xn$$$$$$$\$ $1$!$)$"$#$$$%$&$'$($*$+$,$-$.$/$0$2$G$3$:$4$5$6$7$8$9$;$A$<$=$>$?$@$B$C$D$E$F$H$U$I$O$J$K$L$M$N$P$Q$R$S$T$V$W$X$Y$Z$[$]${$^$l$_$`$f$a$b$c$d$e$g$h$i$j$k$m$t$n$o$p$q$r$s$u$v$w$x$y$z$|$$}$~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$}$$$$$}$$$$$$$$$$$$$$$$$$$$$$$$u%,%,%,%+%+V%)%%%%s% %]% %U% % % %G%%B%%%>%%%%%%'%%%%%%%%%"%%% %!%#%$%%%&%(%4%)%.%*%+%,%-%/%0%1%2%3%5%6%:%7%8%9%;%<%=%?%@%A  %C%D%E%F1%H%I%J%K%L%M%N%O%P%Q%R%S%T%V%W%X%Y%Z]%[%\]]R%^%j%_%`%a%b%c%d%g%e%fg%h%i %k%l%m%n%o%p%q%r%t%}%u%v%w%x%y%z%{%|`%~%%%%%%%%%%%%Y%%%  % %%%%%%%%%%%%%%%%%%%%%g%& %%%%%%%%%%%%%nH%%%%%%%%%%%%%%%% %%%%%%%U%%%%%%%% %&%%%%%%%%%%%% w%%%% %%%%%|%%%%%%%%%%%%%%%% %%%%%%K%%& &&&&&&& K&&& & g& & &&&K&&&&&&&&&&&&&&H&!&]&"&A&#&1&$&(&%&&&'g&)&*&+&,&-&/&.w&0|&2&:&3&4&5&6&7&8&91 &;&<&=&>&?&@&B&Q&C&H&D&E&F&G&I&J&K&L&M&O&N&P &R&S&T&U&V&Z&W&X&Y1&[&\&^)&_&}&`&v&a&k&b&c&g&d&e&fw &h&i&j&l&q&m&n&o&pH&r&s&t&uH&w&x&y&z&{&|H&~'b&&&&&&&&&&&&&&&&&&&&&  &&&w&& &&&& &g1&& g1&&&&&1 &&&&&&& && g&&1&&&&1&&&&  && H&&&&&&&&&& & u&&& & &&&&&&1  &&H &&&1&&&&&&&&&&u && g1&&&&w &&Hw |&&&&&& 1&&#&&&&|*u && H&'+&'&'&&&&&&Hw && H &w'w'' ''''1 H'' w' ' ' ' 'H''''''' ''$ ''''1'' w''&' '#'!'"H'$'%  ''')'( 1'* ','E'-':'.'4'/'2'0'1 g'3'5'8'6'7  '9';'@'<'>'='?1'A'C'B'D 'F'T'G'M'H'K'I'JH 'L1w'N'Q'O'P 'R'S uw'U'['V'Y'W'X  'Z|*'\'_']'^|*$'`'a| 'c'd'e'f'g'h(@'i'j''k''l''m'x'n'q'o'p  'r'u's't'v'w 'y''z'}'{'|1 '~'1'''1'' ''''''' 'H'' ''''''1 '' ''' ' ''''''''' '''''1H'''''''1 ''g'''' H''g''''''''K1''w'''' $H''wwU'''''' ''''' H '( ''''''''w'w ''''H '''''$''1 ''''w1''HH'('''''' w1'' '''' '(((((( 11 ((( ( Y( 1H( ('((((((( ((nH((((Y w((("(( ((w$ (! (#($g(%(&$w(((5()(/(*(-(+(,gw(. (0(3(1(2H (4 (6(=(7(:(8(91 (;(<g1(>(?$|*(A)(B((C(s(D(Y(E(P(F(J(G(H(I|*(K(M(L(N(O&u(Q(T(R(S (U(W (Vu|*(XH (Z(e([(_(\(^w(]gg(`(b (ag(c(d 1(f(m(g(j(h(iHH(k(l  H(n(pH(og(q(rg(t((u((v({(w(z(x(y H (|(~(}w(u((((((g1( (( ((((((((w(( (((( (((((((1 ((  (( ((((((((((( ((((gw ((w|g((((( ((|H((((((w (((((((H ( (((g(g((((((wT (( >(((( gg(H((((((((( ((((1 Y( ((((((Hg ((w((((H (()(((((($ (U())) )))) )) )1) ) 1) )g))))I)),))))))))|*g)) uu)))wTY) )%)!)#)")$)&)))')(w )*)+gw)-);).)5)/)2)0)1Hw)3)4wH4)6)8H)7Y )9):wwTg)<)C)=)@)>)?1)A)BH)D)G)E)F>1 )Hg1)J)f)K)X)L)S)M)P)N)Ogw)Q)RwH )T)V)U )W|*)Y)_)Z)])[)\u)^ )`)c)a)bHw)d)eH1 )g)s)h)o)i)l)j)kUH)m)n1 )p)q )r1)t)z)u)x)v)w11g)y1){)~)|)}#1)B)))))))))))P) ))))g ))uP)))) ))u ))))^wu)w))))))) ))))g )|*)))) )) ))))))))))g ))ww))))1 ))Y  |*)))))) g)) ))))HK ))$H))))))))$)) u ))))1u))w))))))g))))) ))lz)))))))))+J)*)*=)* )))))********** *  * *(* ********H$1**********#** *!*"1*$*'*%*&*)*0***+*,*-*.*/*1*7*2*3*4*5*6K*8*9*:*;*<>*>*b*?*J*@*A*B*C*D*E*H*F*G   *I|*K*S*L*M*N*O*P*Q*R1*T*U*V*W*X*Y*Z*[*\*]*^*_*`*a*c*r*d*e*f*m*g*h*i*k*j*l$*n*o*p*q1*s**t*~*u*v*z*w*x*y*{*|*}w******>#**************ww**&**** z*+**************4**K ******u*************************  **********+*********wT*******************u*P**** * * *  * * * Y****+|*++ +++++++ + + + ++++|^++6++,++++'+++++++lu+g+ +!+"+#+$+%+&+(+)+*g++n+-+.+0+/+1+2+3+4+5g+7+B+8+9+:+;+<+=+?+>+@+Agg+C+D+E+F+G+H+I+K+L+M+N+O+P+Q+R+S+T+U+W+l+X+Y+Z+[+\+]+^+_+`+a+b+c+d+e+f+g+h+i+j+ku+m+n+o+p+q+r+s+t+u+v+w+x+y+z+{+|+}+~+++++++++++++++++++++++++++++  ++g++++++++++"++/+++=JX"F+++++++++++++++++++++++++++++++F+++++JXf++=++=t+++++F+++++++++++++++++++++++++++++J9F++++++=Jt+F+, ,,,,,,,,,, u, , ,q, ,,G,, ,,, , , ,,,,, ,,  , ,,,,!,-,",',#,$,%,&,(,+,),*,, ,.,3,/,2,0 ,1,4,=|,5,6,7,8,9,:,;,<,>,?,@,A,B,C,D,E,F,H,Z,I,R,J,M,K,L,N ,O,P,Q ,S,T,V,U|||,W,X|,Y|,[,d,\,`,] ,^,_,a ,b,c,e,o,f,g,h,i,j,k,l,m,n ,p,r,,s,,t1,u,,v,,w,x,~,y,z,{,|,},,,,,,,,,,,,$,,,,,,,,,,1,,,,, ,,,,,,1w,w,w,w,w,w,w,ww,w,w,,w,ww,w,w,,w,w,,,,,,,,,,,,,,,,,,v,v,v,vv,,v,vv,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,5,-,-l,-,-,,,,,,,----g------ - - - - ----------D---/----'--- -!-"-#-$-%-&-(-)-*-+-,---.-0-:-1-2-3-4-5-6-7-8-9-;-<-=->-?-@-A-B-C-E-F-V-G-H-I-J-K-L-Q-M-N-O-P-R-S-T-U-W-X-a-Y-Z-[-\-]-^-_-`-b-c-d-e-f-g-h-i-j-k-m--n-o-w-p-q-r-s-t-u-v-x-y-z-{-|-}-~---- ------------------------------------------------------------------------------------------------------------5-/-.-------------......./|./i.  . . . . ...}..E..,..!...........w1... .H.".&.#.%.$.'.).(H.*.+g.-.;...7./.0.1.2.3.4.5.6.8.9.:$.<.?.=.>H.@.B.A .C.D1.F.b.G.T.H.N.I.L.J.KwU.MU.O.Q.P w.R.S.U.Z.V.X.W1.YK.[.\.`.].^U._H.aU.c.v.d.m.e.h.f.gH.i.jH.k.lH.n.q.o.p .r.t .s  .u .w.z.x.y .{.| .~.............H  . U...w..U  .u.u........ww... .H........1HK. ........H .......  .. K..11K.....K...H.H.........H$1.. ........1. ./;./.......Y .HY.. .....H1.H...H$.H ........ .H....... H ////Ug//K H//#/// // / / Hw/ / K /////w////// g//g1g // //!/"H11/$/0/%/)/&g/'/( /*/-/+/,g/.// /1/6/2/5/3/41 /7/9/8/:/</=/Y/>/M/?/F/@/C/A/B /D/EK1/G/J/H/IH/K/LKH/N/T/O/Q/P/R/S /U/W/V/Xw/Z/b/[/^/\/]/_/a/`gg/c/d/f/e>>/g/h>/j /k/l  /m/n  /o/p  /q /r/s /t /u /v /w  /x/y /z  /{ /}//~/w/////////////// / //  / //  / // / / / /  / ////wwH//1g////////w////1w ///w/ 1/w////w/1//// /// / / // ////  //// /    /// ///////g/ /// / / /5//4/3k/1/0o////////1/////g// 1 $// $/$/$/$//0g/0I/0>/0+/0 /0 000$000$0 0 $0 $0 00 00 00 000H000001wg0$0$w00#00 0$0$0!0"10$0'0%0& H  0(0)0*  0,080-020.0/ 00 01 0307040506$$090=0:0< 0; $$ 0?0B0@ 0A$0C0F0D0E  0G0H w0J0X0K0R0L0O0M0N1w 0P0Q   0S0V0T0U   0W  0Y0`0Z0]0[0\ H0^0_$H 0a0d0b0c  0e0f >0h0i0j0k0m0l 0n 0p1,0q00r00s0y0t0x0u0v0w $ 0z0{ 0|0}0~000g000000000000000  00   0000H010001 00   g000000g00000H00g00w00 0$H000000000 w 0 000000000000wH0000000H00 10000#00K1g000000$00w00000##00101&01000000000011 000 H00wU00000000  00g1111  11 11111 1 1 1 41 1 1>1111uu11u11|* 11 1111# 11g1!1$1"1#  1% 1'1(1)1*1+$1-1O1.111/10 121D131<141915 161718g1:1;w1=1B1>1A1?1@g1C 1E1J1F1H1G1I 1K1L11M1N$g1P1T1Q1R1Sgw1U1X1V1W w1Y1Z1v1[1j1\1c1]1`1^1_HH1a1bH1d1g1e1f  1h1iH 1k1p1l1n1mg1o 1q1s1r1t1ug  1w11x1~1y1{1zH1|1}  1111 H111111 $11H 111HH111212111111111w11   111111111111g11 1111 11  1111 1 11   1111  1111111111w111111$1w 1 1111111 w111111  111111 1H111111  111H1111 111111 1  w1w11H11211111  2 22 2 2222;22(2 22 22 2 22 22222w2222222 22!22$2 $2"2%2#2$$ 2&2'2)262*2+2/2,2.2-2024212322HH25H 2728292:>2<2W2=2K2>2D2?2A2@2B2C  2E2H2F2Gww2I2J  2L2S2M2P2N2OHw2Q2Rww2T#2U2VHg 2X22YH2Z2\2[ 2]2l2^2_2e2`2b2a 2c2dw H2f2i2g2h2j2kw2m2z2n2u2o2r2p2q 2s2t$gH 2v2x2wg2yg2{22|2~2}22 2222  22 H$2222222222222$222$$22222H2HH222222222222222222222222222222 2  2222222222222uu2>2>2222> 2K2  K2222222YY22Y1211Y22Y2K2K2K222222K2K2222#22#2#22#2#2u222H22 u23I2322323Y$3>33633!3333 33 3 3 Y3 g3333 H31 H3333u333  3333H33 $$g3"3,3#3)3$3'3%3& 13(13*3+3-303.K3/$ 31343233Y35Y37383D393?3:3=3;3<KKuu3>u3@3B3A3C3E3F3G3H 3J3K3c3L3N3M#3O3PuK3Q3R3b3S3T3U3\3V3Y3W3X  3Z3[wK 3]3`3^3_H H3a13d3i3e3h3f3gH3j3l33m33n33o33p3}3q3sH3r13t g3u3v3w3{3x3z3y   3| 3~3 1333331gH333g33ww333333 333  333$$33333333333 33>3333g33w3 33333333 33    333333333 3333313333333333w133w13333333ww333333333333333g3 333333H33333>3333 1331wg334U3333444!44 4444444 4 4 44 4444444  4 u44444HY444u44 ww4"494#4+4$4)4%4'4&  4( 4*4,434-404.4/ 4142  H44474546w  4814:4G4;4A4<4> 4= 4?4@H$gY4B4E4C4D$4F4H4N4I4K4JwYw4L4Mg114O4R4P4Qg#>4S4T 4V4W4X4Y4Z4[44\4v4]4h4^4a4_4` $4b4e4c4d14f4g4i4o4j4l4k4m4n4p4s4q4r g4t4u  4w44x4~4y4|4z4{H 4} 44H4 44444 4 44444$444444444Hg444444444444uK44K1K4444#u44444u 4Y 444 414444444444444444444444 4 44444  4 44444444444444444 444444 444444444444444444ww1141444545  555551511515 15 5 115 5 151155115151515151515$H555#5555H5 5!5"w1$5$5\5%595&585'5(5)5*5+5,5-5.5/5051525354555657$15:w5;H5<5LH5=H5>5?H5@H5AH5BHH5CH5DH5E5FH5GH5HHH5I5JH5KHHg5MH5NH5OHH5P5QHH5R5SHH5T5UH5VH5WHH5X5YH5ZH5[HgH5]5^5_5`5a5b5c5e15d5f5s5g5h5o5i5l5j5kHu w5m5n11U5p5q5rYg>5t55u5|5v5y5w5x15z5{ w5}55~5 H55wU555555 15H5555 55g5656 555a5555a555555a55555a55555 55.;I5555W55555*5555555555555f5t5t5]55uuH555555wwu5ww5w5555t5tff555555555*55555555555a555555555555555*5$555555*566666u6 6666 6  6 6h6 6S6666666a6a66666W!66D66C66656*W6 6!6.6"6)6#6&6$6%3AO36'6(O]ky6*6,6+]36-36/606261k636433666B676>686;696:6<6=Ft6?6@6A*a6E6F6G6H6I6J6K6L6M6N6O6P6Q6R6T6U6V6W6X6Y6Z6[6\6]6^6_6`6a6b6c6d6e6f6g6i6j6k66l66m6n6o66p6~6q6w6r6u6s6t6v6x6y6}6z6{6|!!*66a6.6**66a!66666666666666666166666666==6=#666666666666666666666666 6H67x67&6666666666666661g666666666666666$66U6U666 6666666666 6  6 6H6 6666HF666Ku676766666 676 7u7H7H77 77 7 7 7 H7 H7 7 777U7U777777H 7 777w7wu77 7$7!7# 7" u7%7'7.7(7+7)7*K$7,7-17/7d707\717273747:757776 78791w7;7T7<7F7=7?7> 7@7C7A7BH 7D7E$1 17G7M7H7J7Iw7K7Lg7N7Q7O7P K7R7SU H>7U7V7W7Z7X7YwuY7[g7]7^7_7`7a7b7c 7e7f7g7h 7i7j7s7k7q7l7p7mY7n7oY>g>g7r7t7u7v7w7y8 7z77{77|7}77~7777777777H1w7 777g$777777777777777777777777777777777 77777 H777777777777=77g7777777777u#77u#7 7777H777F7F777777H77777H7H77H777777777777 7w777 777g177777  K788888w 88888 18 98 9s8 8888888888  88888888}88t88A88,8 8+8!H8"8#8$8%8&8' 8(8)  8* 8-8@8.8/8680818283848587888=898;8:8<8>8?U8B8W8C8V8D8E8N8F8G8K8H8I8J  8L8M 8O8P8Q8R8S8U8T  8X8Y8Z8i8[8\8]8e8^8b8_8`8a8c8d8f8g8h8j8k8p8l8n8m8o8q8r8s8u8z8v8x8w8ywg18{8|8~88888888 8888888H 888188$Y8888888 8 8  88888888888U8U8888888H8H  8888888 8 88$81$18888K8K11888wwg8g888888$ 88 88g88  88888881888 888888 8 8888H 88888888ww8g888K89;898988888818898899K9999999 9 9 9 9 9999www99911 9  99$99991999 9 9!9"9# 9%949&919'909(9)9*9+9,9- 9.9/ U92931959796K989:99  9<9[9=9J9>9D9?9A9@H9B9C$ 9E9H9F9GH9I$9K9P9L9N9Mww9OH9Q9T9R9SU 9Uw9V9W9X9Y9Z9\9]9d9^9a9_9`9b9cH9e9p9f9gw 9h9i9j9k9l9m9n9o9q9r H 9t99u9v89w9xTT9y9zTT9{T9|T9}T9~9TT99TT9T9Tb 999999999999999999999999  9 999 9999999 99 9999 9 999 9 9999999$9H1w99H9H 99H9H 99H$$H9w9w9w991w99 H 999$Y>999g9999 9999999999999999w99 99 YY99C9B_9:9:R9:L9:F9:?9:999999999999 w91H:::::: ::::: :  : : :::::::H::::::::::H: :!:":#:$:4:%:/:&:*:':) :( g:+:-:,Y:.Y :0:1:2  :3 K:5:;:6:7H:8:9H>::>:<:=g:>gK:@:C:A:B:D:E:G:H:J:Iw:K:M:N:O:P:QU:S:|:T:U:V:{:W:i:X:Y:Z:[:\:]:^:_:`:a:b:c:d:e:f:g:h:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z&:}:~:::::::::::::H1:w:AF:;:;t::::::::::::::::::::::: :: :::: :: :::::::::::::w::::::::::::::::::::::::::::::H:::::::::::::: :::::::::::::::::::::::H;;E;;;;; ;;;;;g; g; ; ;; ;;gg;;g;;);;;;;;;g;g;g;;$;;!; g;";#gg;%;'g;&g;(gg;*;+;,;:;-;.;/;3;0;2;1gw;4;5;7 ;6 ;8;9$;;;<;=;>;?;@;A;B;C;DH;F;U;G;H;M;I;J;K;Lg;N;Q;O;Pg;R;S;Tg;V;g;W;X;c;Y;_;Z;];[;\gg;^g;`;a;bgg;d;e;fg;h;i;j;k;l;q;m;n;o;p;r;s1;u;;v;;w;x;y;z;{;|;};~;;;;;; ;;;;;;;;;;;;;;;;g;;;;;;;; ; ;;;;;;;;;;;;gg;;g;;;gg;;;;;;;;;;g;g;;;;g;;;;;;;;;gg ;;;;gg;;;;;;;; ;;;;;;;; ;;;;;; ;;;;;;|;@T;>E;<;<;;;<;<;;<;;;;; ;;;;;;;;<<<<<<| << << <   < << <<    <u< Y<<uY<<<*<<"<=?^=A=B^H=D=F=E=G =I=O=J=KP=LH=M=NK|=Q=U=R=SH=TYY =W==X=_=YY=Z=[=\=]=^ =`=Y=a=b=q=c=n=d=j=eY=f=g=h=iYY=kY=l=mY=o=pYY=r=x=s=u=tYY=v=wY=y==z=={=|==}=~Y===Y=Y=====YY=Y====Y========YY=Y=YY  === ==Y== ============ = ====u   ====uu======| == |*====^u ======  =Y==== YY = ====== = ===== =Y======== =u==>===========|*====|*==uu ====== =>>>> >>>>>>  > >   > > >>>>> > >> >  >> >>4>>>>+>>$>>!>  >"># >%>(>&>'uKu>)>* >,>/>->.|*>0>3>1>2>5>6>7>8>?>9><>: >;>=>> >@>C>A>BuK^>D>F?J>G>>H>>I>Q>J>K>L>M>N>O>P>>R>>S>m>T>Z>U>V>W>X>Y>[>d>\>a>]>_>^>`>b>c>e>h>f>g>i>k>j>l$>n>>o>v>p>s>q>r>t>u>w>z>x>y>{>}>|>~>>>>>>>>>1>>>>>>>>>>>>>>>>>>>>>>>>>$>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>1>>>>>>>>>>>>>>1>?>>>>>>>>>1>>>>>11>1>>?>?>>>>>>>??????w?w? ? ?w? w? ? ??w?ww?w?ww??2??$??????11??1??!? 1?"?#11?%?1?&?'?(1?)1?*11?+1?,1?-?.1?/1?0111?3?B?4?51?6?7?@1?8?911?:?;11?<?=1?>1??11?A1?C?D?E?F?G1?H?I1?K??L??M?N??O?Y?P1?Q1?R1?S11?T?U1?V1?W1?X11?Z?s?[?h1?\?]?g?^?f?_?`?a?b?c?d?e1?i1?j1?k1?l11?m?n11?o?p1?q1?r11?t??u??v1?w1?x11?y?z1?{11?|?}1?~11?1???1?1?1?11?1?1?1?1?11?11????1?1?1??????????????????????????w?ww??w?w?w>??w???????1??????????????$???$??????$???$?????????$???$1?1$???$??11#??????$1??#1????$1??$?@.?@?@??@?$?@$@$@@ @@@@>@ @ U#@ @@ ##@@@@@@@@@@@@@@@@@ @&@!@$@"@#@%@'@+@(@)@*@,@-@/@0@P@1@2@3@4@5@6@D@7@8@9@:@?@;@<@=@>@@@A@B@C@E@F@L@G@H@I@J@K@M@N@O@Q@R@S@U@c@V@W@X@Y@Z@[@\@]@^@_@`@a@b @dA @e@f@n@g@h@i@j@k@l@m1@o@@p@@q@@r@}@s@t@u@v@w@x@y@z@{@|g@~@@@@@@@ @@@g@@@@@@@@@g@@@@@g@@g@@@@@@@@@@@@@@@@@@@@ @@@@ @@@@@@u@@@@@@@@@@@@@@@@@@n@ |*n@@|*@@@@@@@@@@@@@@ @@@ @@@@@@g@@@@@@@gg@@ @@@@@g@@ @@@@@w@A@A@@@AAAAA A|A|*A A A |*A nAAAA"AAAAAAAAAAAAAA HAHA A! A#A$A<A%A2A&A/A'A*A(A)A+A,A-A.A0A1A3A4A8A5A6A7wA9A:A;1A=AAA>A?A@nABADAC |*AE|AGAfAHA\AIAJAKALAMANAOAPAQAXARASAVATAU1|AW AYAZA[1A]A^A_A`AaAbAcAdAe AgAhAAiAjAkAAlAqAmAoAn  ApHArAAsAtAAuAv AwAxAyAzA{A|A}A~AAAHHAAAAHAAAAAAAAAAAHAAAHAAAAAA AAA|AAAAAA1wAYAAAAAAAAAAAAAAAAA AAAAAAHwAAAAAAAAA1HAA1AAAAAA AA |wAAAAAAA AAAAAAA1AA|AAAAA| AAw1AAAAA AA AA A A  AAA#ABDAAAAAAAA BB;BBBBBBBBBB B B B B HB Bg BBBBBBw BBB BgBBBB*BB$BB!B 1wB"B#1 B%B'B&B(B)w11B+B2B,B/B-B.   B0B1 | B3B7B4B5 $#B6B8B9B:w B<B=B>B?B@BABBBC|BEBFBGBHBIBJBKBRBLBMBNBOBPBQ BSBYBTBUBVBWBXBZB[B\B]B^1B`CBaBBbBgBcBdBeBfHBhBBiBBjBkB}BlBmBnBoBpBqBrBsBtBuBvBwBxByBzB{B|B~BBBBBBBBBBBBBB4B|BBH|BBHBBBBBBBBBBBBwHBHBB BBBK BBBBBKBKBB^BBBBBB|*BBBBBBBBBB BBBB1BBBBgBg gBgBg gBBBBBBBB1B1BBBBBB  BBBB>BBBBBB HBBHBBBBBwBBBBHBBBBBBBBuBKBCpBCBCBBB B BBCCCCCCCCC C C C C CCCCCCCCCC\CCYCCCCC;CC,CCC C!C"C#C$C%C&C'C(C)C*C+C-C.C/C0C1C2C3C4C5C6C7C8C9C:C<C=CKC>C?C@CACBCCCDCECFCGCHCICJCLCMCNCOCPCQCRCSCTCUCVCWCX CZC[ 1C]C^C_C`CaCbCcCdCeCfCgChCiCjCkClCmCnCo CqCtCrCsCuCvCCw Cx CyCz  C{C|  C}C~  CC  CC  C CC  CC C  CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCKyCKKCFCFCDCCCCCCCC CC wCCCCC wCC CDCCCC CCC>CC>C>>C>C>CC>C 1CC11C1C1CDCCCCCCCCCCCCCC  >uKCCY#uDDDDDD  DDD DD D DD D DDDDDDDDDDDD 1DDw D ED!DD"DD#D$D%DWD&D'DAD(D3D)D0D*D-D+D,  D.D/  $D1D2HD4D;D5D8D6D7HD9D:  D<D?D=D>  D@HDBDPDCDJDDDGDEDF  DHDI  DKDNDLDMDOHDQDRDUDSDT HDVHDXDDYDvDZDhD[DbD\D_D]D^KYuD`Da  DcDfDdDe Dg>DiDpDjDmDkDl wDnDo gDqDtDrDs1H$DuDwDDxD~DyD|DzD{ H D} DDDD YDDwuDDDDDDDDwuDDDDgDD DDDDDDDDg  DD 1DDD1$DDu DDDDDDDwwDDwwDDwD 1wDDDDDDDDDDDDDDuY#DD#>KDDDu>DDDDDDDD  DDDDwDDg1DDDDDg HDDDDDDH g DDw DDDD  DDDDww DDDDg DD $1$DD$ D   DEDEDEDEDDDDHD DH HDDwDw1DD1  wE wEE$HEEEwE EE E g 1E wE HEEEEEEEEHE$1EEE EE wEE'EE#E E! E"w1E$E&E%1  E(E)ETE*E?E+E5E,E/E-E. E0E3E1E21 E41E6E9E7E8 E:E<E;E=E>  E@ELEAEGEBEEECED wwEFw EHEJgEIHEK$ EMEQENEOEP HERES HEUEiEVE`EWE^EXE[EYEZ1E\E] E_HwEaEeEbEc  Ed gEfEhEg$gH EjEtEkEqElEn Em1EoEp1 ErEsEuE|EvEyEwEx  EzE{ E}E~wHEEEEEEEE1g EE  EE E EEEwEEEEEEEEEEE EEEE E wEFE EEEEEEEEEEEEEH EE1 EEEEEE$ E E EEEEEEw EEgE$EEHEEEEEwEEEHEuYEEEEEEuuEw>EEEE>1HwE uEEEEE ##E1EEEEEEEEEE EEEgEEEE E EEEE EEH1EEEEwEE1 EF EFEFFF $FFFFF wF F H F FF FFHFFFFFgFF1 Fg1FFFF,FF$FF!FF  F"F# w F%F)F&F' F(  F*F+  1F-F3F.F1F/F0 F2 F4F7F5F61 F8FIwF9F: F; F<F=  F>F?  F@ FAFB FC FD FE  FFFG FH  FJFKF{FLF]FMFWFNFOFTFPFRFQgFSgFUFVgFXFYgFZF[F\gF^FpF_FiF`FfFaFdFbFc    Fe FgFh   FjFkFmFl  FnFo   FqFrFwFsFuFt   Fv FxFyFzK F|FF}F~FFFFFF1 HFFFFFH1F$HFFFFwFwFFwFFFwFFFFFFFF FFFFFFF  FFFFgF F FF F FFFFFFg FFFFF FFFFFFHF FIjFHFGFGOFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFF FGFFFFFFFFFFFGGGGGG.GGGGGG G G G G  $ $GGGGGG HGHHGGGw1wGGGG&GG"GG G gG! G#G$G%HHG'G+G(G*HG)H11$G,wG- $ G/GCG0G:G1G5G2G4 G3  G6G8G7   G9G;G?G<G=G>G@GB GA ggGDGEGIGFGGGHGJGLGKGMGNuYYGPGyGQG[GRGSGTGUGVGWGXGYGZG\GlG]G^G_G`GaGbGcGdGe Gf  Gg GhGi Gj  Gk GmGnGtGoGpGqGrGs>GuGvGwGxHGzG{GG|G}G~GGGGGGGHGGGGGGGGGGGGG uGGKGGuuGGKYuGGGGGG G #G>GGGG>  G1GGGGGGHGH%GGGgGGGGGGGGGGGG Gg$ GG 1w$GGGGGGgGG  HGGGGGGGH GGgGGGGGG GGGGG  g GHG GGGGGGGG GGGGGG GHGGGGGGHGwGG gGGGG  G GHGHGG  HH1HHwHHHHH H H H HH HgwHHHH1HHHH  HHHHHHgH HHwwHH"H H!  H#H$wH&H/H'H(H)H*H+H,H-H.K1H0H1H2HH3H^H4HHH5H:H6H9H7H8wgg1H;HBH<H?H=H> H@HA   HCHEHDgHFHG  HIHTHJHOHKHMHL HN1HPHRHQ wHS HUHYHVHWHXg HZH\H[1H]H_HnH`HdHaHbHc HeHhHfHgHHiHkHjHlHmHHoH}HpHwHqHtHrHs HuHvwH1HxHzHywH{H|1H~HHHHH g HHHHHH g HHHHHHHHHHHHH  HHHHHHHH$wHH$ HHHHHH1 HgHHHHwHH   HHHHHHHHgHHHHHuY HH##HHHHHHHH HHH #HH# HHHHHHHH#HHH YHHHHKHH>HHuHHHHHuHH wHHHHHHw   HHHHHHHH1uw HH HHHHHHHHK>HHHHHH1uHH  HH>KHI IIIIII  IIwII I I I  gIIIIIIIIIIIIIII#II IwII1 I!I"1I$IfI%I'I&wI(I)IBI*I6I+I.I,I-I/I2I0I1 gI3I5I41w I7I?I8I=I9I<I:I; $ HH I>$I@IAICIPIDIKIEIHIFIG ggIIIJ11wILINIM w IOH  IQIXIRIUISITH  $IVIW$IYI\IZI[ I]Ia I^I_I`wwIbIdIcHIeIgIhIiw1IkKIlJiImIInI~IoIqHIpwHIrIs$1ItIyIuIvIwIxIz I{ I| I}  IIIII$ $I HIIHII I  II I I  II  I I I II  Iu IJZIIIIg$ IIIIIIIIIIIY#Y I III>I>HIIIIHI>II11IIIUUIIII IJJIJIIIIIIIIIIII   I     I IIIIII$H1III11IIHI1IwwIIIIIIIII1wIIwwIIII HH  1II I1IIII11II11IIIIIIII1 IIII II IJIJIJ JJ JJ1JJ5J J#J JJ JJ JJ J JJ JJJJ J JJJJ JJ JJ  J!J"  J$J0J%J,J&J)J'J(  J*J+  J-wJ.J/  HwJ1 J2J3J4 11J6J;J7J8J9J:J<JAJ=J?J>J@$JBJE$JCJDH HJFJHJG HJIH JKJLJMJNJOJPJQJRJSJTJUJVJWJXJY J[JdHJ\J]JaJ^J_J`wJbJc JeHJfHJgJhHHJjJJkJJlJJmJnJJoJJpJJqJxJrJuJsJt JvJw   JyJ|JzJ{11J}J~ JJJJJJJ##$JJJJ  JJHuJJJJJJJJg>gJJ  >JJJJK KJJ uJJJJJJJ JJJYJJKJJJJJJJJJJ  YJ>JJJ#JJ#w JJJJJJwJJg1HJJJJHJJJJJJJJJ  JJ wJJJJ Y JJJ JJJJJu JJ 11 JJJJ JJ$1wJJJwJJJJJJJJJJJJJJJ$uJK JK JK J J KKKKYKKYKYYYKK K YK YYHKKg1KK9KK1KKKK  KKwwKK KKKKKK K*K!K'K"K&K#K%K$  >uKK(K)Y#uK+K.K,K-K/K0 K2K6K3K4 K5H K7K8 K:KEK;KAK<K@K=K>K?1KBKCHKDKFKIKGKHw$KJ KLKMKcKNKOKPKQKRKSKTKUKVKWKXKYKZK[K\K]K^K_K`KaKbKdKeKfKgKhKiKjKkKlKmKnKoKpKqKrKsKtKuKvKwKxKzKK{K|K}K~KKKKKKKKKKKKKKwK\KWKO!KN&KLKLMKKKKKKKKKKwKKKKUKKKKKHKgKKKKKKKUUKKKKKKUUKUUKUKUKUUKUKKKKKKwKK >KKKKwKK KKKKKKKKKK|*HK1KKHKKK KKKKK1KKK1KKKKKKKHKKKKwKK KL KLKLKKKKKKK1KKKUKKKKKK1KKLLLLL1 LL  L LBL L*L L)L LLLLLL1LLLL!LLLLL   LL L LL  L"L#L&L$L%  L'L(  L+L8L,L4L-L0L.L/H1L1UL2L311HL5L6L7L9L:L>L;L=L<1L?L@LA1ULCLJLDLILELFLG LHLKLL LNLLOLwLPLULQLR LSLTLVLWLXLYLZL[L\L]L^L_LpL`LeLaLbLdLc11LfLiLgLh11LjLmLkLl11Ln1Lo1LqLrLsLvLt1Lu11LxL}LyL{Lz L|gL~LLLLLL  LLLLLLL LLgLLLLLLLH gLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLHLHLLLLLLHLLHHLLLwLLUHHLLLLLLLL1H LuLLHLLLKLLLL L MMMMMUMM#UMM MUM MM MM M MMMMMMH>MMMMMHMgMM?MM,MM%M M"M!wM#M$wK M&HM'KM(M)M+M*M-M3M.M1M/M0KM2M4M9M5M6M7M8KM:M;M<M= M>M@MqMAMhMBMHMCMDMEMFMGHMIMg MJMKMOMLMMMN MPMRMQMSMTMUMVMZMWMXMYM[M\McM]M`M^M_MaMbMdMeMfMiMoMjMkMlMnMmuuMp>MrN MsNMtMMu>MvMMwMxMyMzMM{MM|MM}1M~M1M11M1MMMMM11M1M1MMMMM1MMMMMM11MM11MMM1M1MMMMMMMMMMMM>M>>MMM>>MM>M>MM1$1MMNMMMHHMMHMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNMNMNNNNNN NN NN N NNuNNHNNNNNN  N NNNNN HN N!N%N"N#N$N'NMN(N;8N)N*N+N,N-N.N2N/N0N1N3N4N5%N6%%N7%N8N9%%N:%N<N=N>N?N@NANBNCNDNENFNGNHNINJNKNLNNO NONPNNQNNRNiNSNTNaNUN[NVNYNWNX1NZN\N_N]RN^N`NbNfNcNdNeNgNhNjN|NkNsNlNpNmNnNoNqNrNtNwNu1NvNxNzNyN{N}NN~NNNNNNN NNNNNNNNNN NNNNNNNNNNNNNNNNN HNNNNNNNNN NgNNNNNgNNNNNgNNNNNNNNNNNNN11N NNNN1NN1NNNNgNNNNNN1NNNN NNNNNNNNNN NN NNNNNNgNgNNNN NNNNNNNNuNNgNNNN1NOOOOOOOOOwO O O OO OO8OOOOOOOOOOOOOOOO O"SvO#Q1O$P6O%OO&OtO'OVO(OHO)O<O*O4O+O1O,O/O-O. 1O0wO2O3 K1O5O8O6O7wO9O:O;HO=OAO>O? O@ OBOCODOFOE$HOGwOIOSOJOOOKOLOMONOPOQOR1HOTOUHOWOcOXO_OYO[OZO\O]O^O`OaObHOdOhOeOfOgKOiOmOjOk1UOlOnOqOoUOp$OrOs1OuOOvOOwO~KOxOyOzO|O{ O} OOOO11OO1OOKOOOOOOO OOOOKOOOOOHOOOOOOOOO OOOwOuOOOO OOOOOOUuOOOO OHOOHOOOOOOOOOOOHK1OH|OOO1OOOOO O O O O O OOOOOO OO  OO  O O OO  OOOOOqOH1OOOOOOO>1O1O O OOOO OOOOgOOOwOOOHOPOPOHHPPPU1PP PHPPP P 1P P 1P P$1PP(PP%PPPPHPPPPPPPP PPP"P P!  P#P$  P& P'P)P1P*P+$P,P-P.$P/P0$P2P3P4HP5P7PP8PP9PP:PP;PP<PP=P>HP?P@PdPAPBPSPCPLPDPIPEPHPF1PG11PJPK11PMPPPNPO11PQPR11PTP[PUPXPVPW11PYPZ11P\P_P]P^11P`PcPaPb111PePfPzPgPqPhPkPiPj11PlPm1PnPoPp11PrPwPsPt1PuPv11PxPy11P{P|P~P}1PP11PH1PPPPPPPPPPPP1PPu#PPPPPPUPPPPPPPPP  PPPPPHPYPPPPP$P1PPPPPPPP PU# PPPPPPPP  PPPPPPP1PPPPw1u PPUPHPPPPP PQPPPPPP1  HPPPP1PPPPPPPPUPPP PPPP1PPPPw PPPPPPwPHPPPQPPPU$QQQQQQ QQQQQ Q QQ Q g QQuQ QKQQQ#QQQQQYQQQ QQ1Q!Q"UQ$Q, Q%Q&Q)Q'Q( 1Q*Q+ Q- Q.Q/ UQ0UQ2QQ3QQ4QiQ5QNQ6QAQ7Q8 Q9Q>Q:Q;$Q<Q= Q?Q@QBQEQCQDwQFQKQGQJQHQIw|QLQM  gQOQ^QPQVQQQS1QRKQTQU11KQWQXw1QYQ[QZQ\Q]Q_QcQ`QaQb11|QdQeQhQfQgHQjQ}QkQwQlQvQmQrQnQoUQpQq  QsQuQt1H1QxQy1QzQ{Q|wK Q~QQQ# QQQQ1QQ QQQQQQQQwHKQQHQQQ QQQQ Q QQQQQQQQ1QQ1#1QQQQ QQQQQg Q1 QQQ1 wQQQQQQQ 1QQQQ U>QQQwQQQ Q Q QQQHQQQuQQQQ QQQQQQgQHQ$QQQ$QQQQQ$QQ$$QQ$$Q$QQQQ$$QQ$$QQ$QKQQQQQQQgQQ1U1QR~QR9QRQR QRQQRQQ1R1HRRwRwRwRR R1R 1R RR R  RRRRRRRR&RRRRRRKR R R R!R#R"wR$R%1$1R'R/R(R*R) R+R.R,R-R0R1R6R2R4R3$R5  R7R8HR:R_R;RHR<RAR=R>R?R@1H RBRFRCRDREHRG11RIRSRJRLRK RMRNRORQRPHRRRTRURXRVRW1RYR\RZR[Y KR]R^KR`RrRaRiRbRfRcReRd1u1RgRh 1RjRmHRkwRl RnRqRoRp>HRsRxRt RuRv#Rww RyRzR{ R|R}>RRRRRRRRRRRRRR HRRR11HuRRRRR 1wRRRRuRR#RR FRRRR1RRRRR RR1RRRRRwRRRHRRRRRRR1R1HRRRRR1R1RRRRR1RR  RS[RRRRRRg#uRSRRRRSQRwRRSRRRRRRRRRRwwRRwwRRRRwwRRwwRRRRRRwwRRwwRRRRwwRwRRRRRRwRRRwwRSRRRRwwSSwSwSS SSSwwSwS S S wwS wSS<SS%SSSSSSSwwSwSSSwwSwSS SSwwS!S#S"wwS$wS&S1S'S,S(S*S)wwS+wS-S/S.wwS0wS2S7S3S5S4wwS6wS8S:S9wwS;wS=S>SGS?SBS@SAwwSCSESDwwSFwSHSMSISKSJwwSLwSNSOSPww>SSSTSU 1SVSXSW1SYSZ1HS\SnS]Sf1S^S_ScS`Sa1SbHSdSe>SgSjShSi SkSl|*SmSoHSpSuSqSrUSsSt SwUSxTISySSzSS{SS|SS}SS~SSSuSS1S SSSwSS1SSSSSS1SwSwSSSSwSYSHSSSS SSSS1uwSSSSS1 SSSS>wSUSSSSwSSSSSSSSS1wSSSSSSSHHwuHSSSHSwSSSSSSS SSSSS$SS>SSSgK S#SSSS11SSSSSSg$ SS1wwSSS|*1S1ST-STSTSSSSS$SSUSSSSuSSSS   STSTSSSTTT1TTT1TTT T T T 1T TT111TTTTTTTUTT$TT$TKTKTT#T T!T"H T%T&>T'HT(T*T)#T+T,T.T@T/T=T0T9T1T41T2T3HT5T8HT6T7$>T:T;T<K1T>T? w TATDTBTC1 1TETHTFTG uKTJTTKTTLTqTMTYTNTSTOTPTQTR1TTKTUTV$KTWTXTZTfT[TdT\TaT]T_T^T`TbTcHHTe>TgTnThTkTig TjgTlgTm1ToTp  TrTTsTzTtTuTvTxTwTy T{TT|T}TT~11T1TT uTwTgTgTTTTTTTTTTTT$TgTTTTUTTTTT$T$wTTTH TTTTTw1TT1TTTTHwTT1 TTTT1T1T1TTTT$TT$wTTTTHwT T1TTTTTTTTTTTT wHTHTwTTTUH1TTTHTTT11TTTTTT1TTTTTT TTTTT TTTTTHTTTTTHTT1 TUTUTTwHTUTTTTwUUUU1UUUUU UU UU11U U 11U UUU11UU11UUUUUU11UU11UUU1U UnU!UDU"U3U#U*U$U'U%U&U(U)U+U.U,U-U/U0U1U2U4U;U5U8U6U7U9U:U<UAU=U>U?U@UBUCUEU\UFUSUGUNUHUKUIUJULUMUOUPUQURUTUWUUUVUXUYUZU[U]UfU^UaU_U`UbUcUdUeUgUjUhUiUkUlUmUoUUpUUqUzUrUwUsUvUtUuUxUyU{U~U|U}UUUUUUUUUUUUUUUUUUUUUUUUU  UU1UUUUUUUUHUUHUU  UUUUU UUU1 UUUUUU11UUUUUU UUwUUUUUg1UUHUwUVUVUUV7UVUUUUUUUU1U1UUUUUUUUwTUHUUUVUUUUUUUUU11UU11UUUUUU111UU11UUUUUU11UU1UU11VVVV1V1V1VV1V V VV V V V  VVVVVV  VV  VVV V V VV(VV V!V%V"V#V$1V&V' V)V/V*V+V,V.V-  V0uV1V4V2 V31V5V6 UV8VSV9V@V:HV;V<V= V>HV?1VAVOVBVLVCVHVDVFVEwVGHVIVJHVKHHVMVN K1VPVQVR1HVTHVVVVWVnHVXVYVeHVZV[V_V\V^HV]>gV`VbVa$VcVdH HwVfVgVh ViVkVjHVlVm1gVoV{VpgVqVsVrVtVxVugVvVw1  VyVz1uV|V}VV~ wVVVVVVV|1VVHVVVVVV VV$VVVuVV11VVVVV1VVVggVVVVVVwVVVV VHVHVVVgVVVVVVVV1 VVVV V VV  VV1V VW"VVVVVVVVV1VV  VVVVVVVVVV VVV 1VVVVVVVwUV1VVV1VVVHV1HVuuVVVVVVVVVVV$VVV1VVVHV  VV VWVWWWW>WKWWW WW W 1gW W W 1WWWWWWWWW11WWWW11WW11WWW1W!1W#WqW$WIW%W>W&W2W'W/W(W+HW)W*1W,W.W-w1HW0HW11W3W5W4HW6W;W7W9W8W: W<W= W?W@WAWEWBWC WD HWFWHWG1UWJWXWKWRWLWMWO WNWPWQgwWSWTWWWUuWV$1uWYW`WZW[ W\W_W]W^>WawWbWoWcWmWdWeWfWgWhWiWjWkWlWnw$WpgWrWWsWzWtwwWuWvWxwWwwWy W{WW|W}WqW~W H WWWW HWWWWWWWWWWWHWWWWWUgW WWw1 WW[ WY>WXWWX5WWWWWWWWW WWWHWWu WWWWWHWWWWWWWWWWWWWW HHWWuHWuWWWWWWWWWW|$WHWWWuWWHWX0WW WWX-WWWWWWWWWWWW11W1WXWWWWWWWWW11W1WWW11W1WWWWW11WWW11WX WXXXX11X1XXX11X1X XX X X 11X1XXX11X1XXX"XXXXX11X1XXX1X X!11X#X(X$X&X%11X'1X)X+X*1X,1X.X/$X1X2 X3 X4 X6XXX7XJX8XDX9X?X:X<X;1 X= X> X@XAXBXCXEXFXGXHXI XKXRXLXMXNXPXOXQXSXTXUXVXWwXYXvXZXqX[X\X]XgX^XaX_X`XbXdXcHXeXf1XhXlXiXjXk$HXmXoXnXpXrXsXt1Xu XwX}XxX|XyXzX{HX~XXX XXXXXXXXXXXXXXXXXXXXXXXXXX XX  X  XXXXXXXXXXXX  XXX|XXXXXXXXu XXXXXXXX  X XX XXXXXXXXXXX$XXXXX uXXXXXXXXXX XXXXXXXXXXX XYXYXXXXXXX>XXXXXXXXX$HX>XXXXgXX YYYYYYYYY wY Y  Y YY YYYYY |YY1YYYKY1YY|YY+YY!YY |Y"Y'Y#Y$Y%Y&1Y(Y)Y*Y,Y/Y-Y.KY0Y1Y2Y9Y3Y4Y6Y5Y Y7Y8wY:Y;Y<Y=$ KY?YQY@YAYGYBYCYDYEYFYHYIYNYJYKYMYLYOYP{C8YRZYSYYTYW%YUYVYXYyYYYZYlY[Y^Y\Y] Y_ Y` Ya YbYgYc  YdYeYf Yh Yi YjYk YmYnYoYpYqYrYsYvYtYu YwYx YzYY{YY|YY}YY~YYYYYYYYYYYYYYYYYYYYYY1YYY1YYYYY1YY1Y1YY1Y$YY$Y$YYYYYYYwYYYYYwYYwYYYwYYYwwwYwYYHYYYYYHYYYYHYYHYHYYYYYYYYYYYYgYgYYYgYYYYgYgYYYYgYYYYYYYYYgYgYYYgYYYYgYgYYYYgYZ^YZBYZZZZZ ZZZZ ZZ Z Z Z Z"ZZZZZZZZZZZZZZZZZZZ Z!wZ#Z7Z$Z%Z.Z&Z'Z(Z)Z*Z+Z,Z- Z/Z0Z1Z2Z3Z4Z5Z6Z8Z9Z:Z;Z<Z=Z>Z?Z@ZA ZCZPZDZEZFZI ZGZH ZJZK  ZLZM ZNZOuuOZQOZROZSZTOOZUZVOOZWZXOOZYOZZZ[OZ\OZ]OO|Z_ZZ`ZaZb8ZcZdZZeZZfZoZgZhZiZjZkZlZmZnZpZqZ~ZrZxZsZtZuZvZwZyZzZ{Z|Z}ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ8Z8ZZZZZZZZZZZZZ!Z!w!Z! !Z!Z!Z8ZZZZZZZZZZZZZZZZ[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ ZZZZZZ ZZZ  ZZZ ZZZZZZZZ ZZ Z[ ZZ[ZZZZ[[[[[[[[  [ [  [ [ [[[[[[[[[[+[[[[[[[ [!\["\?[#[F[$[3[%[& ['[)[([* [+[, [- [.[/ [0[1 [2  [4[C[5[6[7[8[=[9[:[;[< [>[?[@1[A[B1[D[E[G[][H[S[I[R[J[M[K[L [N[P[O1[Q[T[Z[U[X[V[W[Y [[[\ww[^[g[_[a[`1[b[c[d[e[f[h[i\[j[[k[[l[[m[u[n[o[p[s[q[r[t [v[[w[[x[[y[|[z[{[}[~ [[[ [[[ [[[[[[[[[[   [  [[ [[[[[ [[ [[[[[[[[[[[[[[[$11[[[[[[1[[[[[[[HH[$[$[[[[w[[[[[[[[[[[[[  [[[[[[[[[[ [[[[[[[[[[[[[[[[[[[[gg1[[[[[[[[ [[[[[[[[[[[[\\\\\\\\\ \\  \ \ \ \ \\\\\ 1 1\\\ww\$\\\\  Hg\\ $H \\ \3\!\(\"\%g\#\$H$\&\'\)\.\*\,\+ \- \/\1\0u\2YK\4\5\;\6\8\7u#\9\:#>U\<\=\>>H\@\u\A\E\B\C\D{C\F\G\a\H\L\I\J\K\M\V\N\O\R\P\Q\S\U\T\W\]\X\Y\[\ZII\\II\^\_\`II\b\e\c{\d{{C\f\g\h*\i\j\t\k\l\m\n\o\p\q\r\s\v\\w\\x\\y\z\{\|\}\\~\\\\\\\\I\\\\\\\\X\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\8\\\\\\\\\\\\\\\\\\\\\\\w6\l\d\`\^\]\]N\]\\\\\\\\\\8\\9\\\\C\\\R\\\\\\\\\\\\]\\\\\]\\]88]]]] ]] ]]] ] ]] ]]]]]/]] ]]]]]]]]]]]]!](]"]%]#]$8]&]'C])],]*]+]-].8]0]?]1]8]2]5]3]4]6]78]9]<]:];]=]>]@]G]A]D]B]C8]E]F8]H]K]I]J]L]M]O]]P]n]Q]`]R]Y]S]V]T]U]W]X]Z]]][]\8]^]_]a]k]b]h]c]d]e]f88]g{C8]i]j\]l]m]o]]p]]q]r]s]t]u]v]]w]x]~]y]{]z]|]}]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] ]]]]]]]]]]]]]]]]]]C]]]]]]]]]]]]g]]]]]]]]]]]]]]{C]]]]  ]^]]^]]]]]]]]]]]]]]]]]]]]]]]8]]]]]]]]]^]^]]]^^^^^^^^ ^ ^ ^ ^ ^^^^^^C^^>^^/^^)^^^^^^(8^^ee^e^ e^!^"e^#^&^$^%e{C{C8^'eGe{C8^*^-^+^,C^.^0^7^1^4^2^3^5^6k^8^;^9^:^<^=^?^N^@^G^A^D^B^C^E^F^H^K^I^J^L^M^O^V^P^S^Q^RP^T^U^W^Z^X^Y^[^\8^^^^_^^`^t^a^e^b^c^d^f^i^g^h{C^j^k^l^m^n^o^p^q^r^s ^u^^v^}^w^x^y8^z^{88^|{C8^~^8^^^^^^C^^^^^^^^^^C^^^^^^^^^^^^8^^8^^^^^^^^^^^^^^^^^^^^^^^^^^^\^^^^^^^^^^^^^z^^^^^^^^^^^^^^_^_a^_^^^^^^^^^^^^^^^^^^^^^^^^^1^^^^^^C^^^_^_^^^________ _ _ _ _ ________D__$_________!__ _"_#C_%_,_&_)_'_(8_*_+_-_0_._/8_1_2_3_4_;_5_6_7_8_9_:_<_=_>_?_@_B_A_C_E_S_F_L_G_I_H8_J_K8_M_P_N_O_Q_R_T_Z_U_W_V_X_Y_[_^_\_]___`8_b__c_}_d_s_e_l_f_i_g_h_j_k_m_p_n_o_q_r_t_x_u_v_w_y_{_z_|_~________88__8_8{C8___________________8__C____________________8_________________8___________w_w___g_g_g_gg_g_g_g_`Q_`____________C___________8______8___` _`__```````` ` ` ` `` ````````8````9``*``#`` ```!`"`$`'`%`&`(`)`+`2`,`/`-`.8`0`1`3`6`4`5`7`8`:`E`;`?`<`=`>`@`B`A`C`D`F`J`G`I`H`K`N`L`M8`O`P`R``S`k`T`\`U`V`Y`W`X`Z`[`]`d`^`a`_```b`c`e`h`f`g`i`j`l`x`m`q`n`o`p`r`u`s`t`v`w8`y`}`z`{`|8`~`````````````````````8`````````````8``````````8```````````````````````b`a`a2```````````H``````````````````````````{C8````````P``````C```a`a `a`a`aaaaaaaa a a aa aaaaaaaaaa$aaaaaaa!aa a"a#a%a+a&a)a'a(\a*a,a/a-a.8a0a1Oa3aoa4aSa5aDa6a=a7a:a8a98a;a<a>aAa?a@aBaCaEaLaFaIaGaHaJaKzaMaPaNaOaQaRaTaaaUaYaVaWaXaZa^a[a\a]8a_a`abaiacafadaeagahajamakalPanapaaqa}aravasauatawazaxaya{a|a~aaaaaaaaaaaaaaaaaaaaaaaaaa8aaaaaaa8aaaaaaaaaaaa a aa a  aa t a a a  aa  a taaa aaa  aa a t  a a a at aaaaaa a a a ta  a at  a aa a  t a aa a a t aaa a  aa a a  at a a  a a a aaa tt aaaPabbab(ababaaaaaaaaaaaabbbbbbbbb b b b 8b bbbbbbb8bbbbCbbCbb#bb bbb!b"8b$b%b&b'b)bGb*b8b+b1b,b.b-8b/b0b2b5b3b4b6b7b9b@b:b=b;b<b>b?bAbDbBbCbEbFbHbWbIbPbJbMbKbLbNbObQbTbRbSbUbVbXb_bYb\bZb[b]b^gb`babcbbdbbebsbfbmbgbjbhbibkblbnbqbobp8brbtb{bubxbvbwbybz#b|bb}b~bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb8bbbbbb8bb8bbbbbbbbbbbbbbbbbbbbbbbbb8bbbbbbbbbbbcbcGbcbbbbbbbbbb8bbbbbbbbbbbbbbbb8bbbbbbbcbbbbbb`8cc{Cccccccc c c c c c8cc,ccccccccccccccc%cc"c c!9c#c$c&c)c'c(c*c+c-c9c.c5c/c2c0c1c3c4c6c7c8c:cAc;c>c<c=c?c@8cBcEcCcDcFcHccIcecJcVcKcOcLcMcNcPcScQcRcTcUcWc^cXc[cYcZc\c]c_cbc`cacccdcfcscgckchcicjclcpcmcnco8cqcrctc{cucxcvcwcycz8c|cc}c~cc8cccccccccc8cccccc8cccccccccc8cccccccccccccccccccccckccccccccccc8cdDcccccccccccc8ccccccccccccccccccccccccccccccc\ccccccccccccccccccdcd cdcddd\dddd dd{Cd d d ddddddddddddddd+dd$dd!dd d"d#d%d(d&d'd)d*d,d3d-d0d.d/d1d28d4d6d5d7d8d9d:d;d<d=d>dAd?d@ dBdCgdEd~dFdadGdVdHdOdIdLdJdKdMdNdPdSdQdRdTdUdWd]dXd[dYdZd\d^d_d`8dbdodcdgdddedfdhdldidjdk8dmdn8dpdwdqdtdrdsdudvdxd{dydz8d|d}dddddddddddddddddddddCddddddddddddddddddddd8dddddddddddddd8dhdfdede4dddddddddddddd8ddddddddddddddddd ddddddddddddddddddddddCdddddddedededddd8ddeeeeeeeee e e e e eeeeeeee%eeeeeeeeee"e e!e#e$e&e-e'e*e(e)\e+e,e.e1e/e08e2e3e5ene6ePe7eCe8e<e9e:e;e=e@e>e?eAeB1eDeJeEeGeFeHeIeKeNeLeMeOeQe_eReYeSeVeTeUeWeXeZe\e[e]e^e`egeaedebec\eeefehekeiejCelemeoeepeeqexereueseteveweye|eze{e}e~eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeef"eeeeeeeeeeeeeeeeeeeeeeee8eeeeeeee8eeeeeeeeeeeeeeeeeeeeeeeeeeeeeef eeeeeeeeee8eeeeeeefefeeffffff8ff f ff ff f8ffffffffffffffff f!f#fjf$f@f%f1f&f-f'f*f(f)f+f,f.f/f0f2f9f3f6f4f5f7f8f:f=f;f<f>f?fAfPfBfIfCfFfDfEfGfHfJfMfKfL8fNfOfQfXfRfUfSfTfVfWfYf\fZf[f]f^f_f`fafbfcfdfgfeff#fhfi1fkfflfxfmfqfnfofpfrfufsftfvfwfyffzf}f{f|f~fffffffffffffffffffffffffffffffffffffffffffffffHfufffffffgfg+fffffffffffffffffffffffffffffffffffffffffffffffffffff8fffffffffgfgfgffff8ffggggggg gg g g gg gggggggg8ggggggggg g'g!g$g"g#g%g&g(g)g*g,ggg-gIg.g:g/g3g0g1g2g4g7g5g6g8g9g;gBg<g?g=g>\g@gAgCgFgDgEgGgHgJgXgKgQgLgOgMgNgPgRgUgSgTgVgWgYg`gZg]g[g\g^g_gagdgbgcgegfghggigwgjgpgkgmgl8gngogqgtgrgsgugvggxggyg|gzg{g}g~gggg8gg8ggggggggggggggg\ggggggggg{Cgggggggh&gggggggggggg8ggggggg#1g\ggggggggggggggggggggggggggggggggggggggggggggggghgggggggggggggg8ggghgggggghhhhhh8hhh hh h h h hhhhhhhh8hhhhhhhhh h#h!h"Ch$h%h'hdh(hEh)h7h*h1h+h.h,h-8h/h0h2h4h3h5h6h8h>h9h;h:h<h=h?hBh@hA8hChDhFhUhGhNhHhKhIhJhLhMhOhRhPhQhShThVh]hWhZhXhY8h[h\h^hah_h`hbhchehhfhthghmhhhkhihj8hlhnhqhohp8hrhshuhyhvhwhx\hzh}h{h|h~hhhhhhhh8hhhhhhhhuhhhhhhhhhhhhhhjhihi$hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhihhhhhhhhh8hhhhhhhhhhhhhhihhii8iiii ii iii i i iiiiiii\iiiiiiiiii!ii i"i#8i%iai&iBi'i3i(i/i)i,i*i+i-i.i0i1i2i4i;i5i8i6i7i9i:i<i?i=i>8i@iAiCiRiDiKiEiHiFiGiIiJiLiOiMiNiPiQiSiZiTiWiUiV8iXiYi[i^i\i]i_i`ibiiciridikieihifig8iiijilioiminipiqisizitiwiuiv8ixiyi{i~i|i}iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiij?iiiiiiiiiii8i8iiiiiiii  iiiiiiii#giiiig iHiiiiiiiiiiii8iiiiiiiiiiiiiiiiiii{C8iiiiiiiiiiiiiiiiij ijijiiii8ii{Cjjjjjjjjj j j j 8j jjjjjjjjjjjjjjjjjj!j0j"j)j#j&j$j%j'j(j*j-j+j,8j.j/j1j8j2j5j3j4j6j7j9j<j:j;j=j>j@jjAjhjBjYjCjRjDjGjEjFjHjIjJjKjLjMjNjOjPjQjSjVjTjUjWjXjZjaj[j^j\j]j_j`jbjejcjdjfjg8jijxjjjqjkjnjljm8jojpjrjujsjtjvjwjyjjzj}j{j|j~jjjjjjjjjjjjjjj8jjjjjj8jjjjjjjjjjjjjjjjjjjjjjjjjjjj8j8{Cjjjjjjjjjjjjkjk9jjjjjjjjjjjjjjj8jj8jjjjjjjjjjjjjjjjjjjjjjjjj8jjjjjjjjjj8jjjjjjjkjk jkjkjkkkkkkkk k k kk kkk8kk8kkkk8kkkk*kk#kk kkk!k" k$k'k%k&k(k)k+k2k,k/k-k.k0k18k3k6k4k5k7k8k:kwk;kZk<kKk=kDk>kAk?k@\kBkCkEkHkFkGkIkJkLkSkMkPkNkOkQkRkTkWkUkVkXkYk[kjk\kck]k`k^k_kakbkdkgkekfkhkikkkqklkokmknkpkrktkskukvkxkkykkzkk{k~k|k}kk8kkkkkkkkkkkkkkkkkkkkkkkkkkkkkukkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkl8kkkkkkkkkkkkkkkkkkkk1kkkkkkkkkkkk8kkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllll llll8lll l l l llllllllllllll\lll l,l!l%l"l#l$l&l)l'l(l*l+l-l4l.l1l/l0l2l3l5l6l7l9lsl:lXl;lJl<lCl=l@l>l?lAlBlDlGlElF8lHlIlKlQlLlNlMlOlPlRlUlSlTlVlWlYldlZlal[l^l\l]l_l`lblclelllflilglh8ljlklmlplnlo{Clqlrltllullvl}lwlzlxlyl{l|l~lll8lllllllllllllllllllllllllllll  lllllllllllllll8llls!lplnlmlmClmlllllllllllllllllllllllllllllllgll glll  ll8lll8l8llllllllllllllllll8lllllllllllmmm&mmmm mmmmm m m m mmm8mmmmm8e88m8{Cm{Cmmmmmmmm m#m!m"{Cm$m%m'm4m(m-m)m*m+m,m.m1m/m0m2m3m5m<m6m9m7m8m:m;m=m@m>m?8mAmBmDmmEmjmFmSmGmLmHmImJmKmMmPmNmOCmQmRmTmcmUmXmVmWmYmZm[m\m]m^m_m`mambmdmgmemfmhmimkmzmlmsmmmpmnmo8mqmrmtmwmumvmxmym{mm|mm}m~mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm8mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm8mnDmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmgmmmmmmmmCmmmmmmmmmnmmmmmnnnnnn1nn'n nn nn nn n nn nnnnnn nn nnnnnn{Cn!n$n"n#n%n&8n(n7n)n0n*n-n+n,n.n/gn1n4n2n3n5n6n8n?n9n<n:n;n=n>8n@nA8nBnCnEn}nFnenGnVnHnOnInLnJnKnMnN1nPnSnQnRnTnUnWn^nXn[nYnZn\n]n_nbn`nancndnfnrngnknhninjnlnonmnnnpnqnsnwntnunvnxnznyn{n|n~nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn8nnnnnnnnnnnnnnnnnnono+nnnnnnnnnnnnnnnnnnnnnnnnnnnn8nnnnnnnnnnnnnnnnnnnnnnnn8nnnnnnnnno nnnnnnnnnnonooooo8oo oo8o o  o ooooooooo8oooo8oooo$oo!oo o"o#o%o(o&o'o)o*8o,oko-oLo.o=o/o6o0o3o1o2o4o5o7o:o8o9o;o<o>oEo?oBo@oAoCoDoFoIoGoHoJoKoMo\oNoUoOoRoPoQoSoT8oVoYoWoX8oZo[o]odo^oao_o`obocoeohofogoiojoloomo|onouoooropoqosotovoyowoxozo{o}oo~ooooo8oooooooooooooo\ooooooooooooooooooooop'oooooooooooo8oooooooooooooo8oooooo8ooooooooooooooooooooooooooooooooop ooooooooooooooooopooooppppppppp pp pp pp ppppppp\pppp!pppppp Pp"p$p#p%p&p(pfp)pHp*p9p+p2p,p/p-p.p0p1p3p6p4p5p7p88p:pAp;p>p<p=p?p@pBpEpCpDCpFpGpIpWpJpQpKpNpLpM8pOpPpRpTpSCpUpVpXp_pYp\pZp[p]p^p`pcpapbpdpepgpphpwpipppjpmpkplpnpopqptprps8pupvpxppyp|pzp{p}p~8pppppppppppppppppppppppppppp8pppppppppqpqopqpppppppppppppp8pppp8ppppppp8ppppp8pppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqq q q 8q q qqqqqqqqqqqqqq8qqJqq8q q/q!q(q"q%q#q$q&q'q)q,q*q+q-q.q0q4q1q2q38q5q6q7q9qAq:q=q;q<q>q?q@qBqFqCqDqEqGqHqIqKq^qLqUqMqQqNqOqPqRqSqTqVqZqWqXqYq[q\q]q_qhq`qdqaqbqcqeqfqgqiqlqjqkqmqnqpqqqqqrqqsq|qtqxquqvqwqyqzq{8q}qq~q8qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq8qqqCqqqqq8qqqqqqqq8qqqqqqqq8qrqr?qrqr qrqqqqqqqrrrrrrCrrr 8r rr rr rrrrrrrrrrrrrr,rr#rr r!r"8r$r(r%r&r'r)r*r+r-r6r.r2r/r0r1r3r4r58r7r;r8r9r:8r<r=r>8r@rcrArTrBrKrCrGrDrErFrHrIrJrLrPrMrNrOrQrRrS8rUrZrVrWrXrYr[r_r\r]r^r`rarbrdrwrernrfrjrgrhrirkrlrm8rorsrprqrrCrtrurvrxrryr}rzr{r|r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr8rrrrrrrrrrrrrr8rrrrrrrrrrrrrrrrrrrrrr8rrrrrrrrrrrrrrrrrrrrr8rrrrrrrrrrrrrrrrrrrrrrsrsrssss8sssss s s s s ss\sssssss sssssssss 8s"uYs#tHs$ss%sls&sIs's:s(s1s)s-s*s+s,8s.s/s0s2s6s3s4s5s7s8s9\s;sDs<s@s=s>s?sAsBsCsEsFsGsHsJsYsKsTsLsPsMsNsOsQsRsSsUsVsWsXsZscs[s_s\s]s^8s`sasbsdshsesfsgsisjsksmssnssosxspstsqsrsssusvswsys}szs{s|s~ssssssssssssssss\ssssssss8sssss8sssssssssssssssssssss\ssssssssssss8ssssssssssssssssss8sssssssssssssssssssssssssssssssssssssssssssssst"ttttttt8tttt t t t t tttttttttttttttttt t!t#t5t$t,t%t)t&t't(t*t+t-t1t.t/t08t2t3t4t6t?t7t;t8t9Ct:Ct<t=t>t@tDtAtBtCtEtFtGtIttJttKtjtLt[tMtVtNtRtOtPtQtStTtUtWtXtYtZt\tet]tat^t_t`8tbtctd8tftgthtitktztltutmtqtntotptrtstttvtwtxtyt{tt|tt}t~ttttttttttttttttttt\tttt\ttttttttttttttttttttttttttt8ttttttttttttttttttttttuttttttttttt8ttttttttttttttt8tttt8tttttttttttCtttttutttttttuCuuuuuu"uuu uu uu u u uuuuuuuuuuuuuuuu u!u#u2u$u-u%u)u&u'u(u*u+u,u.u/u0u1u3u;u4u7u5u68u8u9u:u<u=u>uGu?u@uAuDuBuC11uEuF11uHuTuIuLuJ1uK1 uMuNuOuPuQuRuSuUuVuW uX uZvYu[uu\uu]uu^u|u_uhu`uduaubucueufuguiujukulumunuuuoupuqurusutuvuwuxuyuzu{u}uu~uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu\uuuuuuuuuuuuu\uuuuuuuuuuuu\uuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuu\uuuuuuu1uuu8uuuuv vvvvvvvvvv v v vv vvvv8vvvvvvvvvAvv*vv%vv!vv v"v#v$v&v'v(v)v+v<v,v8v-v.v/v0v1v2v3v4v5v6v7\v9v:v;v=v>v?v@vBvNvCvJvDvHvEvFvGvIvKvLvMvOvTvPvQvRvSvUvVvWvXvZvv[vv\vxv]viv^vdv_vcv`vavbvevfvgvhvjvsvkvovlvmvnvpvqvr8vtvuvvvwvyvvzvv{v|v}v~vvvv8vvvvvvvvvvvvvvvvvvvvvvvvvvvv8vvvvvvvvvvvvvvvvvvvvvvvvvvvvPvvvvvvvvvvvwvvvvvvvvvvvCvvvvvvvvvvvvvvvvvvvvvvvvv8vvvvvvvvvvvvvvvvvvwwwwwwwww www w w w wwwwwwww8wwwwww'ww"ww!ww 8w#w$w%w&w(w1w)w-w*w+w,w.w/w0w2w3w4w5w7~w8zw9xw:x w;ww<wtw=wOw>wBw?w@wA1wCwDwEwJwFwGHwHwIwwKwMwL wNHwPwjwQwZwRwSwYwTwVwUwWwXw[wbw\waw]w_w^ w` 1wcwfwdUwe  wgwhwi wkwlwmwp wnwowqwrH  wswwuwwvwwww|wxwyw{gwz #w}ww~wwHwwwH1wwHwwwww>w wwwww1wwwwwwwwww$ ww|w1wwwww11w1w1wwwwwwgUwwUwwwwwww wu 1wwww1wwuw1wwwwwwwww1uwwwKwwwww 1ww1www ww  wwwwwwwwwwY1wwKwUwU wwwwwww wwHww11wwwwwuw ww$Uwwww1wxw wxwx1x1x1xx1 Uxxx x UHx x xbxx2xxxxxxxxxxHxxxwx xx$xx xHKx!x"x# $x%x)x&x'x( x*x1x+x.x,x- x/x0Hx3xPx4xEx5x=x6x:x7x8x9x;x< x>x?xCx@xBxA1$xD1xFxMxGxH xIxKxJUxL1xNxOuxQxVxRxS $xTxU1xWx_xXxYxZ x[x]Kx\>x^wx`xaxcxxdxxextxfxqxgxnxhxk>xixjHxlxm xo xp xrwxswxuxvxwxxx#xyxzx{xx|x}x~xx>>xxxxx>x>x>xxxxxxx>x>>xx>>x>x>x>>x>xxxxxxxxxx xxxxxxxxx1#xxxxxx#xxxxx11x1xxxxxxxxH xxwHwxxxK|xx>Hxx>xx xxxx1Hxxxx xyxy]xy$xyxxxxxxxx>x1xx1xxxxxxxx xxH1xyxxxxxquxxx$xHxxxxx x  xxyyyyyyy yy yyUy y wy yyyy y yyuuyy yyyHyyK y yyHy!y"y#Hy%yKy&y@y'y/y(y)w#y*y+1y,y-y.y0y9y1y4y2$y3$y5y7#y6#y8Hy:y=|y;Hy<Hy>y?$HyAyB yCyFyDyEHyGyIyHHyJyLyRyMyNyOHwyPyQ1U>ySyTyZyUyYyVyWyXHgy[y\ Hy^yy_y|y`ykyayb ycygydyeyfyhyiyjylyqymynyoypyrywysyvytyu$Uyxyyyz#y{y}yy~yyyyyy wyy yyygyyyyyyyyyyyy yy  yyyy  yy  yyyyyyyy   yy  wyyyyyyyHyyyyHyyyyyyyyyyyyyyYy1y yyy yyUyy$yyHyyyyw1yzUyzyyyyyyyyywyy1yyyqyq qyqy yyyyyyyyy yy$yyyH1 Hyyyyyyyy yyy1wy zzzHzz;zzzzz zz z z z 11zKzzzzzwzzU1zzz zzH1zzzH1zz#z z!z"Hz$z*z%z(z&z'##wwz)H1z+z9z,z8z- z.z/ z0z5 z1 z2z3 z4 z6 z7  >z: z<zEz=z@z>z?`zAzBzC zD#zFzNzGzHzKzIzJ1HzLHzMHzOzP zQzRzSH1zT gzVzzWzfzXz_zYz^zZz]z[z\ 11z`zbza    zczd ze zgzvzhzizpzjzkzmzl znzoH$zqzrzszt#zu Hzwzzxzzyz}zzz|z{wgwz~H Hzzzzzzzzz1wzzzU1z>zzzKwzzzY1KzzzzzzzzzwU z z zHHzzHzzzz1zz$Uzzzzzzzz z zzHz}z{z{,zzzzzzzzzzzuzzgg zzz$zzz zzwzzzzzzH zz#zzzg11zzzzzzu zzzzzzzzzzzzzzz! zzzzz HzH1 z{z{zzzz zzz1zzzzw1{1{{{{ {{{{H1{K{  { { { /{{{1${{{{{{H{#{1{{q{{1{ { {({!{"{#{'1{${%{&wUU{){*{+H H{-{f{.{K{/{={0{9{1{5{2{4{31{6{7 1{81{:{;{<$1u{>{J{?{D{@{A H{BH{C1H{E{Gw{F{H{I>H{L{N{Mw{O{Z{P{T{Q{R{Su1{U{X{V{W#{Y11{[{^{\{]1#{_{b{`{aH{c{d{e  {g{{h{t{i{o{ju{k{l {m{n1u{p{q{r{sH{u{xu{vu{wu{y{~{z{{ {|{}H{{{{{1{w$1{{{{{{H{{{{H{{{H{H|{{{{{{11 KH{{{{{H#{ u{{{{{{1{1 {{>1{|{|M{|1{| {{{u{{{{{1{{{{{{{{{  {{  {{{{  {{ { { { {{HH{{H{{H{H{{HH$u{{|{{{{1H1 {{H{{{{{{{{{{{111{{11{{{{11{{11{{{{{{{{11{{11{{{{11{{11{{|||1|| |H||#H| || | |  |U|||||wHUU|||0||||&||!|||   | | |  |" |#|$ |%  |'|(|+ |) |* |,|-|. |/ |2|C|3|6U|4|5 |7|=|8|<H|9|:|;H |>|?1|@|A |B |D|G|E|F|H|K|I|J  H|LH|N|m|O|k|P|c|Q|X|R|U|SH|T1 |V|WH$|Y|\|Z |[ |]|`|^|_ |a|b  1|d|i|e|fu|g|h11|j H|lH|n||o||p|q||r||s||t|u|v|w||x||y|||z|{ww|}|~ww||||ww||ww||||||ww||ww||||ww|w11||||||||H||g|w1>||||||| ||1H#|||||||gg| |w| || | |||||||w||||||| ||1g|U||||H||wH1||||ww|1|||w| || ||| |||1U|| ||||U|w1K|}|}|||||||||H|||H||g|||||||11U1|w}}}}1}1}}}}} w} } } }  w}ww}}}}H}H}}}}H}  1}~3}}}}Q}}=} }3}!}+}"|}#}(}$}&}%g}'1})}* 1|},}-}0|}.}/w}1 }2}4w}5};}6}8}7>}9}:}<}>}J}? }@}D}A}C}Bw}E}F}H}G1H}IU$}K}P}L}M}N }O }R}r}S}b}T}Z}UU}V}W }X}Y#}[}\ }]}`}^H}_g}a1H}c}d}o}e}k}f}h}g }i}jw}l}n}mH}p}q1}s}}t}}}u}|}v}z}w}y}xg1g }{ H}~}U}}}w 1} }}}}}}1}}}}} }}}}1}}}}}}}}} 1} 1}}>g}w}}}}  }}}H}=H}}}1}}}}wU}}}}}}H}>}H}}}}}}} }}}}}}Kg}}H}}H}}}}}}$}}}#}}1 }}}}}}}1} w1}} }}}}w}}}}}}}}}}}}}}}}}}}}}}}}U}U}}1}1}~,~~~~~~~g~~~~~~~ ~ ~ ~ ~ ~~~~~~~~~~ ~~~~ ~ ~(~!~#~"g~$~&~%1~'~)~*U~+UU~-~.~1 ~/~0U~2w~4~~5~m~6~J~7~8w~9~E~:~A~;~>>~<1~=1~?~@w~B~DH~C1Hg~F~G~H~I>g~K~Z~L~Q~M~Nu~O~Pgg~R~T~SU~U~Y~V~Wg~X ~[~b~\~]~^#~_~ag~`g~c~d#H~e~h>~f~g1~i~k~j1~lKHK~n~~o~~p~vg~q~r~t~sw~uYY~w~|~x~yH~z~{ ~}~~H~~wU~~~~~~1~1H~~Y~~~~~~K#~~~~~H~~~~~~~~ ~~~~~ ~~~Ug~~~~~ ~~~~~>~~~~~~~~111~~~   ~~~ g~~~~~~H~~~~~~~wg~w~g~~~~~~g~~HH~~w~g~~Kuu~~ U~g~~~~~H~~~~~ ~~wg~~~ w ~~~~~H~H1~I~~?~~ ~~~~~~    1'" !#$%&()*+.,-g/0g24385;6789:g<=8>8@ABCDoEYF{CGWHQI{CJ{CKNL{C{CM{CKO{C8P[{C{CRS{C{CT)UV{C{C){CX{C8Zl[j\a]{C{C^_{C{C`{C8b{Cc{Cd{Ce{C{Cfg{C{Ch{Cij{Ck{C8{C{Cmn{C8{Cp{{Cq{Cr{Cs{Ctuxv{Cxw{Cx{Cyz{C{Cx|{C}{C~{C{C[{C{C{C8{C{C{C{C8{C{C{C{C{C{CwwPPPggg q#qqg gqBBBBB    g  Y Y p^ 8!">#0$-%*&('2)22?+22,2M2.2/[1:2534268729?;<=2?Q@IAFBDC22hE?GH2JMKL2NPO2MRSWTUVvX[YZ\]M_`lajbcdehfgwik8mno qrstvuwxyz}{| 1~## {C{C{C8{C{C{C[[[[[[{C[{C{C{C{C8{C{C{C8{C{C[{C{C{C[{C{C{C{Cj{C{Cx{C[{C{Ct{C{C{C{C{C{C88888{C8{C{C{C{Cx{C{C{C{Cx[{C{C{C[[[[[[[{C[gggggg    1 $ u1!#"8$@%:&0'-(+)*~~,~~./~162534~~~789~~;<=>?gABECDFGHJKlLMN]OPQRSTUVWXYZ[\^_`abcdefghijkmnopqwrsut vx{yz1|}~uK      8\{C{C{C[\ g8   8= 88$1 U#U 11111 8gggg88  "   gg !g#:$'%&()/*-+, .0413257689 1 U;<8>^?@YACB8DREFKGHIJLOMNvPQST{CUWV88{X8{C8Z\[]8_`ajbcdefghigktlmnopqrsuvwxyz{|}~g ggggLUu*88 % %%% % %% %%%%%%%%%%%%%%!"#$SS%S&'Su()SuS+R,?-5.28/0183486;79888:8<=>8@IACB8DG8EF88H8JNKM8L8OPQ8ST8VWr8XY8Zm[8\]_^8`abcdefghijklnopq88styuvwx88z{|}~$8888 888M288%28888888888    888+&33!3 C3"#Sb$3%qq'()8*8,-.8/80813945678:;<=>?@ABCDEFGHIJKLNOPQc8RS88T8U8V8W8X8YZ88[8\8]^88_`8a88b8diefg8h8jklmnyovptqrsgugwxgz{|}~     uYK    ququ u88888(888O8888******88\888 wH1wH $ww HH1  #H1Hww!   |   "%#$&'|*)9*+5,1-08.8/88234867888:;<=>?@ABCDEFGHIJKMNyOdPQRSTUVWXYZ[\]^_`abcyefghijklmnopqrstuvwxCz{|}~ QwER a*$aH*a*$**!**$  *  " !#$P%;&5'(3),*+-.0/W12 a4*6:789*<O=a>a?@JADBC*EIFGHKL!MNwaQ[RSTUVWXZ*Y*\g]^_`abdc*ef hnijklmWo|ptq$r*s Wuavx*wy**z{**}~*a$*$*a*aaaa*F aaa a*$W*a.-*$*!W<IVVVVIcIII$r%E>a6!9    X "&#$%'3()*+,-./012457*8$9<:;$$=$$a?@AB*CDFNGHaIJMK*LOP*Q*SpTnUgVWX!YZ_[*\]$^!`adbc*ef$hijk!lmaoaqrtsauvwyWx*!z{|}a~aaaaaaaaaaaaKa1  !^m% &vO%:: n mzzK |u   |P      s{     } % _ & & &OL*F v!"D#)$%'& (!$*!$+,5-!$.!$!$/!$0!$12!$!$3!$4!$!$6!$78>9!$:!$;!$!$<!$=!$!$?!$@A!$!$BC!$!$EGH &vIJKOyMN\OPSQ%R & }TUZ VWXY%Q[]^b_`aQ scdxejfhg{5{5i{5kml s snwo spqrstuv{5 yz}{|*9G~Veue{5 s{5 s s s s s s s s QS%%x2 o   O }   %%2 Q%  O''6ES a * w    ow~!"+#'$%&O%(Q)QQ*Q,.-%/0 2[3E%4%5%67%%8%9:%;%%<=%%>?%@%%AB%C%D%%FGHIPJNKML %OQTRS%QUWV#PX|YZ\]^_`gadbcvefhiqjQkQQlmQQnQoQprrsvtuOvwx{yz|}~%&y5ETc% %% !3  ! '0OO     r               vvm%%QS s   v % %%O   vm~ rtQ% Ot +!("#'$ %&& &v)*,S-J.>/;01:23456789<=?F@CABDEGHIKQLMNOPRTkU[VZWvXYwT v\`]^_~ yQazbcdefghijzlomn o vpqrsuvwyxz{|}~ Q O&>'$3% 0 )8GVeu *:IXhx.=L[jzv% ,;K.=L\kz  #  3BRa(7G!We x")#&$%'(*-+,+;JY./gv1p2Q3B4;5867~9:<?=>-=@AL[jyCJDGEFL[kHIzKNLMOP"RaSZTWUV0@P_XYo~[^\]_`bicfde% +gh:IXgjmklvno /qrsztwuv>L\kxyz{~|}#3C%3BQ (7EUdt *9IYi!y   |O OOIv# ]OQ#A# %% _Q '! [ )  &|C !"#$%%'(*:+.,-/201  !3645rq789K K;N<G=E>@? oACB!D!FHILJKyM3OXPSQRTUVWmY !Z\]|^x_u`cabvdqepfghijklmno rstQvw  _yz{}~rr  ! { v^^^^ #A&K&K&K&K&K&K&&K&K&&K&K&K&K&K&K&K&K&K$&$&K&,&K&K&&K&K &K &K&&&K &$&K&K&K&K&K&K;% "#4$3%&'()*+,-./012Wv5n6E789= :;<O>?@VABCDMJ$F^GUHNILJK sO3QM  !OPTQ%_RSY:V]WX\YZ[ %$$_`ia bgcdIefLWvhhjmkl vopq%rs%t%uzvxwy~{}|Y~Y~CCCCCCCC|OOOO#O%% Bw|wm#%%%%%%%%%%% w%" %u#Pyyyyyyyy#P% "   $ y %: N: N%r:$%% !#$%%&%(%)*s+,-N.? /0=123456789:;<&Y>@ACQBDMEGQFvQHJICKLC%O[PVQRSUT OWX*YZ \h]^_` } abecd fg iojkQvl sm sn spqmrQ|"~tuv}w sxy{z|~I|&4BBO]Qp4kQQQQQQQQQQQO|%yI LI\OvvzKQQQQQQQQ}QQQQQQQ%%   %Q%E1"O      !#$'%&()*+,-./02A3;485679:%<%=>@? BCDQFGQHIJ%%LM|NOkPfQ\RVSUT% WZXY[ %]`^%_ %adbc e$gh i%j%:lvmqno%p% %rsu%t%%wyx% % {|}~OOOOOOOO|Qvl ~O lQ%|##A sQQQ#AOO|OO|OOO|OOO||OOOOOOOO|OO  }|O s*%SL3%$%%%%%%%%$$~r:~  yQ% ~ %~~ NrH%$$x!%% %%%% % % %% $%%%%%%%%%$%%%%%%%%%% %%$"%#.$%%%&%%'(%)%*%%+,%%-%$/10 2 4F567%89<:;%S=%>?@ABCDEuGHIJKMNOPQR QTUgVbW\X[YZv]^_`a,cde;f;hiljOk Qm|nuorpq$$stJ n}vywx3Jz{]X}~HgC#SBuO#3W;|*[E                               0# " !   $'%& (+)*  ,.- /  1>25 34 6:789  ;=<  ?@A BCD  FrG^HOIJKLMN  PZQUR ST   VWX  Y  [\] _`dabc emfig h jk  l noqp  stuvw{xyz  |~}                         HHHHHHHHHHHHHHH  <* !"'#$&%()+,8-1./012346511719:;1=>?M@AEBCwDwwFHGwIKJwLwwNwOPUQSRwwTwVWXYZw\]^_`|apbcdefigh jklnm o qrst uvwxzy { }~                                     eO2-*#               !    " $)%&('   +,  ./013G4567C8@9; :  < =>? A B  DEF HI JKLMN PQ]RSTUVZWYX[\^_`abcd fmghijkl nopq~rsxtwu v  y}z| {    |           gHw1   K:.& !$"#   % '()*,+w1-/501234 6789g;<=>?@ABCDEFGHIJ1LMNfOPQRSTUV\WXYZ[gg]^_cg`abgdgeggshijklmpnogqrgtuvwxy|z{gg}~ggg>    1          uu|uuK || n      , #!  " $%&'()*+  -./023456789:;<= ?@ABC^DJEFGHIKXLMNOUPR Q ST |VWYZ[\g]g_w`abcldhefwgHik1j1$wmsnqopH>#HrH1Htuv#>xyz{|}~  Y  K |u^^uun|*   11w1w11g g gWnK             & K #!"$%':(3)/*-+,   .021Kn 4756Y89;D<>=u?B@AuuCEHFGIJLkMdNWOSPQR|TUVX`Y]Z\[^^_abcehfg  ijlm opwqrstu v xyz{|}~       KKK    |u   n        A1                               )         #   u   u   ! " $ % & '  ( *  +, - .  / 0 26 34  5  7  89  :;  <=? >  @ B CaDYEL F GH I  J Ku MS NO  PQ  Ru  TU  V W X  Z[  \ ] ^_  ` bucjd e  fg h  i|*  k lmqn o  p  rs  t  v}w x  yz {  | ~      K Kn |O   KK|*     *# !"|*$%&'()+,5-1./0234 6B78=9:;< > ?@  A CIDEFGHKJKLMN|PQRbYST[UYVYYWXYYYYZ YY\Y]^YY_Y`Ya YcxdqekYfYgYhiYYjuYlYmYnYoYYpuYrYsYYtYuvYYw YyzY{|YY}Y~YYYYYY YYYYY YYYYYY YYYYYYuYYYYYY YYYYYYYYYYY YYYYYYY  n      ;*$ !"#%&'() +3,-./012|*456789:<E=>?@ABCD FPGNHIJKLM|O QRSVTU XpYZg[\]^_`abcdefhijklmnoKqrs{tuvwxyz|}~ i 111wwwwHHHHw#ww11$>111ww11w#11 g D  31+!1 "(#$%&'1)*1,-./01214;56789:w<=>?@ABC1EF]GHUIJKPLMNO1QRSTwVWXYZ[\w^_`abcdefhijklmunoHpqrst1Hvw|xyz{}~6wH>11####11111111     w1#' !H"#%$w&w(/)*+-,.ww01243w5w78H9:A;<=>?@BCDEFGIZJKLQMNOP1RVSTUWXY[b\]^_`a1cdefghj~kulmnopqrstvwxyz{|}wHH$H g              YM= !-"#$%)&'(1*+,1.7/0142356189:;<w>?@ABCDGEF1HIJKL1NOPQRSHTUHVHWHXHH1Z[ \]^_`abcrdelfghjiHkHmnopqs~tyuvwxz{|}1wwH                       H\9.%  !$"#   &'+()*,-/201 37465  8 :O;@<=?>  AGBECDF HLI JK   MN PZQVR S T  U W XY [ ]^_z`lagbcfdewwwhji1k1mwnqoprstuvxy{|}~HH1www 11H1wH1 *gg ggg gggggg !"#$'%&  ()+,-./0123456789: <=>?g@XABCDSEJFIGHHwg Y$KLKuMNuOPQRHTUVW qYZ^[\K]g_b`agcde$f$hi|jpkml n oqrs{tuvwxyz   }~wg $$$$$  # 11w                              Hg       ! 6 14#1$11$   % "!H|H#$HH|&-'*()U>+,.1/0U>2356o7h8Zw9w:;<C=>?@ABwDQEFKGHIJwLMNOPwwRSTWUVwXYw[\w]gw^_`abcdefwwiljk&mnpwqvrts |u |gx{yz|}~  4 n^Y   KumPu|*quu'!wT  "%#$4&(/),*+n^Y-.Kum0312Pu45|*q789H:_;T<>= ?@  ABKCDEFGHIJ LMNOPQRS UYVW|XZ\ [  ]^|`abcdefzgrhimjklnoqpstuvwxy{|}~g1HHUUUUUUUU_' UUUUUUUUUUUUUUUUUUUUUUUUUUU>>>>>>>>>>>>>>>>> > >             w!&   "%#$   & |(D)+*g,-.C/01=29346578:;<>?@ABESFHGIJKLMNOPQR TUVWXYZ[\]^ `alb0cudefghiyjrkplnmoqsvtuwxz}{|~/wT YuYY Y  u YYYYuYuu(#|* |*!"|*$%'&|*|*|*)*+,-. 13245467Z8S9I:E;C<A=?>@BDFGHJPKLMNOuQRuTUVWXY[\d]^_b`aucuefhguuiujkumnzopqrstuvwxyu{|n}n~nnnununnunununnnnnnn^YKumP     uza|*quuu   uuuu                         uuuuuuuu            L3%  !   "$#  &+'()*  ,/-.  02 1  4<567:89  ; =B>? @A CFDE GJHI  K MN\OTPQR S UYVXW   Z[ ]^_`  becdwT fwgvhijpklmnouqrstuuxy4{|}~n^YKumPu|*quwT uuuumuumummmuuuuuwTwTuwTwTwTwTwTYYYYuYYuYuu|*|*|*u|*|*q|*q|*qqqq1 11  g   wHugHw   "2#$'%&uw(u)g*+,-0./K134567G8<9;:g =A>?@wHBDCugEFHw HIJ_KULMNOPQRSTVWXYZ[\]^`{arbjcdefghiklmnopqustqquvqqwxqyqqzq|u}~uuuuuuuuuuuuuu        1gwH 1 1mTwUwgg wgggH#   1   ww  gHUg q  H H K S8) $!"# K%&'  (u*21+,0-. /H1 Y34576KK9C:>;<= K?@A1 BuDL1EFJGH IHK YMNOQPKKRUgU_V\WYX Z[uYq]^u`ab cdefgjhHiklqnopqrstuvwxyz{|==}~====== 1UwH   H$1 wK1gu KH   > !                K ".#g$g%g&gg'g(g)*g+g,gg-gg/g01g2g3g4g5g6g7gg8g9:gg;g<=gg?\@EABC#D#FJGHIKLNM#1OPQRSTUVWXYZ[>]~^_|`nwabwwcdwewfwwgwhwiwjwkwlwmwo p q  rs t  uv w x y  z{  }1#1&#1u w  1H#wHg   # #H 1w  g   $1 U  K$#  !# wHg 1"1%#1'x(2)*,+#-./0 113t4E56789:;<=>?@ABCDFhGbHI#JV#KL##M#NO#P#Q##R#ST##U#=W#X#Y#Z##[\##]^#_##`a##ce d fgHwgimjkl # nopqrsuuvw#yz{|}~  # wHg11              11Hw                 aa $*I,*     1%" !*!#$$*$&)'(*$+-;.3$/012$48576$9$$:*<D=@>?$*$AB$C*$EG$F$H$J`KTLOM$N$P$QS*R*$U[VYWX$$$Z$\$]_^$aqbicf$de*$ghW$jnkl$$m$$op$$rxsvtu$wy{z$$|}~$$$$$$$$$$$$$$$$$$$$$$0>**LZhv* <j9Q%"v  s   WyO  ! #$&6'(4)*+,-2./01#P3g5%7t8:9;L<G=C>@%? N%AB5: ND%EF~HOIJ"KOO"~MRNOPQSgTVUWZXY .=L[_[\j]^yjy`cabydefhsijkolmn pqr/>uv#Pwxyz{|}~$ QOO%SO#   BO !%M IIJXIW %::rH% :q %b    7'% }O !%"&#$%zMq~r()2*+ ,-/.#P01'\'\34U56%vQ89:x;a<K=@>?ZABCDEFGHIJL[MYNOPQRSTUWVXZ\_]^`!bjchdfegiOkln%m$opqrstuvwyz}{|~!q Qy Q Q sO2Q  2 s s s s sGO Q'M#Pz Q'\'\'\'\'\'\'\'\k$J Qyy' Q''4 Qyll Qz0%%O%O &q$~5 s &QO _% W W W WWWWWWW WO~~~~~&~~~~ ~!~"~#$~%~~%'~(~)~*~+~,~~-.~/~~%12834567mm:;<=K>?@C A BODE$F GHIJ%LWM|NPuOQRVSTUxuuXYgZ\[O2]c^b_`a{wdefhkij~5lvmmnvovvpvqrzsuvtvvvwyx{|}v~vvv||||||||||||||||||rr%U Q |3:1 }O r:m% s!  %qqq):Qv(5I0%$    * *!"##A%%&*'m()%& +,Q-O./1234;5O679 !8:% <=K>O?OO@AOBOCOODEOOFOGOHIOJOOLOMmN]OOPWOQROSOTOUOVO"~OXOY\ZO[OO"~"O^eO_`OOabOcOOdO"fOgOOhiOOjkOlO"On~owOpqOrOsOOtOuOvO%xOOyzOO{O|}OO"OOOOOO""OOOOOOO#OOOOOOO"~OOOOOOOOO"ZOOOOOO"OOOOO"OOOOOOO"OOOOOOO"OOOOOO##OOOOOO"OOO"OOOOOOOO#OOOOOOOOO"OOOOOOOO4OOOOOO"OOOOOO"OOOO"OOOOOO"OO O OO O O"OK;"OOOOOOOOO##OOOOO !OO"#,$O%OO&'O(OO)*OO+"O-O.O/7O0O1O2354O"~O6OO"~O89OO:O"<C=O>O?OO@AOBOO"DOEGFOO"OHIOOJw!OOLMONUOOOPOQROSOTOO"VOOWOXOY"O[\]s^iO_`eaObOcOdOO"f""g"hO"jOkOlOmqnOoOOpO"OrO"tu|vOOwOxyOOz{OO"O}~OOOOOO"OOOOOO"OOO"OOOOOOOO"OOOOOOO"OOOOOOOO"OOOOOOO"OOO"OOO"OOOOw!OOOO"OOOOO"OOOOO"O"OOOOO"~OOOOOO"OOOOOO"OOOO"OOOO"OO"OOOOOO""OOOOOOO"OOOOOO"OO OO O OO Ow!w!OhE%OO%"!#A  SO#$m%O&('%)*5+,-./01234$6789:;@<=>?$ABCD$$FGKHI% !J }L^MRN NOQP% N%% N%S%T%U%V%W%X%Y%Z[%\%]%% N_g`adbc}b ef% }O i kl%OmnopqxrustvwyOz{|}~yIOJ%C  !!x#!!Rdm  }US SOW 2  %<+mmOOx2 ap % xxxxxxxx x xx x xxxxxxxxxxxxxxxx x!x"x#($&x%xx'xx)*xx,-.:/01 2834Ovv5 s6 s7 s9;=J>?@AIBEC%DF%GHOd$ KLM%NOPtQeR_S\T[UVWXYZ{]^ ow`ba owcd Rx2 fmgjhi oklx2{ onqop{>rs/ ou%v%%w%xy%z%{%|%%}~%%%%$ Rx2w o{{{{w{/ o>w o  ox2 R { oy%QSO: }mU%%#PyQ~IIIQ a# @vm s~~%        %v !" %%$]%& %'(T)1 *+,-/.{02;3:4576*89*8*<S=H>?@ABCDEFGIJKLMNOPQR"UVW\XYHZ[XfQ^_`awbcgdefhipjmklt }nok~qtrst }uvk~xyz {|}~{mIO b |4 J)%O% 7 7 dt   }  %%3 55$.t%O OUQ !  v    OQOv~ 7 2`M    7  v  " %    1!$ "#  %* &'() +, -./$0&$2BQ345 67@8&9:;<&=&>&&?&A'CGD EF"~HL IJK NUOPRQmOST%OVZWXYO|[]\ _^_O%bwcd"OeOfOgOOhOiOjkOlOmOnOoOpOqOOrsOOtuOOvw!Oxy z{|} _~y } }OOOOOOOOOOOOOw0OOOOOOOOOOOOOOO"OOOOOOOOOOO"~OOOOOOOOOOOw!w!OO"O"~OOOOOO"OOOOOOO""O"~"O"OO"OOOOOOOOOw!OOOOOOOO"OOOO4OOOOOOOOOO"O EQ7 %   %v%% N%! U% ")##$%(&'3C3 s*+5,.- s/0312m!mw!4!F6v89:;B<?=>#@A OC#ADmF_GrHyIUJyKOQLMN# O PRQ ST%%VWZXYv[]\^_`labc%defughi%jkImno|psqrOt{2uvwyxppCzRU}~ ``%vO%Qg o oW on%  Q<  }% s%%wwwwwwwwwwwwww%  %%%%%%%%%  %|%% W55   4If5III!+"&#$%')(*,5-2.0/13467:89;=>a?@ A BC_D^EQFQQGQHIQJQKULQMPNO#2Q#vRTSAvQP_VZWXn}YAP[Q\]_n}`dbcdvelf ghj }i }k }mno }psqr }tuwzxyO{|}~&&"$$&h1$#A              $@Q%y$%%%%%%%%% N%%%%%%%%%yB%%%%%%%yQ%vQww%  !    $ $RnOO$ _ %"&v#$%  }'F(>)*<+7O,#-.#/#0#14#2#3O#5#6#O#8^9#:;O#2##"=O#O?B@An} _CDEU%GSHNILJK}v~MORPQ }v~ } }T[UXVW } }YZ\_]^v~{ }` }bΑcdefg|h&ijokmlngpqgrs7tuvwxyz{|}~ggggg        g          g  gg  g g        g        g     g       ww w wwwwwwwg wwwwgg g   gg              g!( " # $ % & ' g)0 *+w ,-w ./w ww1w2w3w4w5w6wg89i:Q;Bw<=g>g?g@gAgwgCJgDgEgFgGgHIgKLMNOPgRZSTUVWXYg[b\ ] ^ _`a  c d e f g h gjkylr m no  p q   s t u v w x gz{  | }~     gg  g  gggg         g                    g  gKKKKKKKKKKgKgwwwKwwgwggggg        gu u  u uuuuuuuugu u u u u uUUUUUUUgUUUU" !#$%g'3()*+,-./012 4Y5N67C8?9<:;1=>1@AB11DEKFIGH11J1LM1OQP1RSTUVWXZl[`\]_^ab,`cdhegUf`|ij`k |m{nouptqrsu` ` vyw xzu  }~`w  u   `|H`  ,   U H:``    |H ``gK`F `ggggggg2 ggggggggggggggggggggg   gg %gg11gggggggg g!"gg#g$g&'()*+,-./01g3q4a59678gg:?;g<g=gg>g@CAggBgDggEFgGPgHIJKLMNOgQYRSTUVWXgZ[\]^_`gbmcdkefgih1j11lgnopgrstuzvwxgyg{g|g}g~ggggggggg|g111111ggggggggggggg<1 ggggggggggggggggggggg g g  !gggggggggggggg g",g#$)%'&gg(gg*g+gg-gg.g/g0g23456789:; =n>d?@ABUCHgDEggFGggIMJggKgLgNRgOPQggSggTgV_W[gXYgZggg\]g^gg`ggabgcgefghijklm opqrstu|vwzxy{}~ggggggggggggggggggggggggggggggggggKgggg|K H `  :g u H  `   |g `````````|go6-%` !g"|#`$u&'#(`),*`+./0512|34u`7S8=g9:;`<>?G@CAB# #DEF# HIJKLMNOQP1R1TZUVWXYg[d\`]^_ abc#eifgggghgjklmnpqxrstuvwyz{|g}~gggggg1111111UUU>U5wgU##> #q  W`u`K`   ``` ` `    `g ``` ,# !" F$%(&')*+ ` -.0/142f3|6[78A9:;<> =?@BOCFDE,GKHI`JLgMN `u|PQWRSUT V `:XY`Z`\]^_}`tahbdc>efgis jklmnopqruzvwxy {|4n~q$| 1 1  qU uq  1>#>qF u>  gwI8 K   ` `>U  `||||| |||||| || |  `||YYY g! g"6#$%*&'w()w+0,-./11243  5 79:;=<gg>?E@A BDC  FGHJKgLdMNOXPSQR|TVUWYZ[\]^_`abcefwgphji knlm  oqtrsuv xy|z{  } ~U  $ U U>   q1########uuuuuuunu $ 14 gg      gggggg`R2ggg     ,#ggggggggg gg!gg"g$+%(g&'ggg)g*ggg-g.g/g0g1g345B6789:;<=>?@ACIDEGFHJOKMLNPQSTUVWXvYkZf[g\g]bg^_g`aggcgdegggghggijgglrmggngopgqgggsgtuggw{gxyzgg|~g}gggggggggggggggwgggggg       KKKggggg gggKg  ggg  gg  g   g gg       gg          g,#gg!gggg gg"gg$%)&g'g(ggg*+gg-.H/0B1=2:354 6789 ;< >?@AgCDEFG IYJKLMNOXPQVRTSUWZ[\]^_abrcfdegghijmklnopq swtuvgxyz{|}~!gYNHgggggggggggggggggg ggggggggggggggggggggg  gggggg     $g !"#g%&6'()/*g+gg,g-.gg0g1g24g3g5gg789>:;<=g?@EACBgD FGgIJKLM&OaPQZRSTXUVWYY[\]^_`bcdejfghikltmnospqrgg uvwxyz{|}~gpsggggggggggggggggggggggggggggggggggggggggg ggggggggg g gg g gggggggggggggg`9( !"#$%&'g)1*+,-./0g2345678g:P;<I=C>?@ABgDEFGHgJKLMNOgQRYSTUVWXgZ[\]^_gabcdefgmhijklHnopqr1tuvwxyz{|}~  gg gg :&! gg gg gg g ggggggggggggggg g"g#gg$%gg'()*+,3-./012g456789g;<=>?|@^APBCJDEFGHIKLMNOgQRSYTUVWXgZ[\]g_n`gabcdefghijklmopvqrstuwxyz{g}~gggggggg *  gg g g g ggggggggggggggg%gg #g!g"gg$g&gg'g()gg+U,@-./0;1523g4g67:89ggg<=>?ABCODJgEgFgGgHIgggKgLgMgNgPQRSTVZWXYg[]\^_|`pajbcfdegihklnmoqurstvywxz{}~gggggggggggggggggggggg ggggggg`D  7 -  ggggggg$g! g"#gg%&*'g()g+,g./gg0g12g3645gg8A9?:>;g<=gg@gggBgCgEFZGHIJYKXLUMgNQOPgRSTggVgWggg[\]^_ ab½cd›evfngighggjgklgmggopqgrggstuggw‹xgyzƒ{|g}~g€‚g„ˆ…g†‡gg‰ŠggŒŽgš–‘“’gg”g•gg—˜™gggœ žŸgg¡²g¢g£¤¬¥§¦gg¨g©ª«gg­®g¯g°±g³´gµ¶·¸¹gº»g¼gg¾¿` gKggg=gKKKg gww^^|*|*    ``uu||&  g g         g #!" $ % '.(,)*+  -/904123  576   8  :; < >G?B@gAgCDgEFgggHIgJggLM[NSgOgPQ R g TUVWXYZg\]g^_ggabcdefghijoklmnqŃrstĹuvijwxyúzì{Ç|}Â~ÀÁgÃÄÅÆgÈ×ÉÒgÊËÏgÌÍÎgggÐgÑggÓÔgÕggÖgØàÙgÚÝÛggÜgÞgßggáåâgãggägæégçègggêgëgíîôïðñòógõö÷øùgûüýgþgÿgggggggggggggggggggggggggggggggggggggggggggggggggggg Z -  ggggggggggggg!gggg g")#&g$%ggg'(ggg*g+g,g.A/;g0172g35g4g6ggg8g9g:g<gg=>gg?g@gBQCHDgEgFgGggIgJMgKLggNgOPgggRSgTWUgVggXgYgg[~\l]c^gg_`gagbggdgeifggghggjgkggmnsoggpgqgrgtzugvxgwgygg{gg|}ggęĀďāgĂĆăggĄgągćČĈĊĉgggċggčĎggĐgđĕĒgēggĔggĖėggĘgĚĢgěgĜĝggĞgğgĠgġgģĨgĤĥgĦggħgĩįĪgīĭgĬggĮggİgıIJggĴgĵgĶgķgĸggĺĻļĽľgĿggggggggggggggggggggggg/ggggggg g g    ggggggggggg!#g"g$g%$&+'(g)*gg,g-.g0@152gg34gg67g8g9:=;<g>?gggABCgDłgEFcGRHMIJKLgNOPQS[TWuUVuX YZ  \_]u^uu` a b u dueqfmgj hi kl nop rstv~wx{yz|}HŀHŁHHgńƔŅŻņŗŇňʼnŊŋŌōŎŏœŐőŒgŔŕŖgŘŸřŚŵśŴgŜŝťŞŢşgŠggšggţgŤggŦŧŨūũŪgŬŭŮůŲŰűgųggŶŷ&ŹźgżƊŽcžſgggggg g ggggggggg>  g g g ggggggggggggg-g& #!gg"g$gg%g'*g()ggg+,gg.9/50g132ggg4gg67g8gg:g;g<g=gg?@AB[CQDMEJFHGIKLNOPRVSTUWYXZ\]^a_`bdpefghigjkglgmggnoggqrƁstu{vwxyzYg|g}~gggƀgƂƃƄƅƆƇƈƉgƋƎƌƍƏƐƑƒƓƕƖƸƗƞƘƙƚƛƜƝƟƪƠơƢƣƤƥƦƧƨƩƫƬƴƭƮƯưƱƲƳƵƶƷƹƺƻƼƽƾƿ gg 3Wggggggg gggg    gg7*g )!"#$%&'(gg+.,-gg/012534u6g8K9@:;<=>?YABCDEFJGHILMNOPQRgSgTUgVgXmYZ[\H]^U_i|`adbc|eg|f|h|jklwTnopǟqǒrǀstuvgwx|yggzg{gg}~gggǁǂNJǃDŽDždžLJLjljgNjnjgǍǎgǏgǐgǑggǓǔǕǗǖgǘǙǚǛǜǝǞǠǻǡDZǢǣǤǥǫǦǧǨǩǪ1ǬǭǮǯǰgDzdzǴǵǶǷǸǹǺǼǽǾǿgggggggggggggggggggggggggggggggggggggggggggvk @  1 * ggggggggggg gggg g!&"g#g$%ggg'(gg)g+,-./029345678g:g;g<g=g>g?ggABXCDREJFGHIgKLOMNgPQgSTUVWgYZ`g[\gg]g^_ggafgbcgdgeggggghiggjglmnopgqgrgsggtgugwȱxȜyȂz{|}~Ȁȁ ȃȋȄȅȆȇȈȉȊgȌȓȍȎȏȐȑȒ ȔȕȖȗȘȚșgțgȝȞȦȟȠȡȢȣȤȥȧȨȩȪȫȮȬȭgȯȰgȲȳȴȵȶȼȷȸȹȺȻ ȽȾȿggggggggggggggggggggggg J4gg     1gggggg21' !"#$%&()*+,-./03g5:6789g;<=E>?@CABD1FGHI>KɖLnMNcO[PUQRSTgVWXYZ gg\g]^`g_g a bdefjgghgiggklgmgopɇqrwstugvgxyz{|}~gɀɁɂɃɄɅɆgɈɉɊɋɎɌɍ   ɏɐ  ɑ ɒɓ ɔ ɕ   ɗɾɘəɰɚɣɛHɜɡ ɝɞɟɠU ɢ  `ɤɥɩɦɨ ɧ ɪɫɮɬɭ ` ɯ Uɱɲɳɶɴ`ɵ ɷɺɸɹ` ɻɼɽ`ɿg`|``||  `g``Y ````̃gg  :  2g'gg%g g!g"g#gg$g&g(),*+  -g.0 / 1g3^4S5?678<9:u>;H=>`@MABHCED|F G gIJKU`L `NgOQP:RTUVWX[YZ1\]1_b`agćdreaf˒gEhiʨjwklmrno p q s t u v gxʐyʅzʀ {|} ~   ʁ ʂʃʄ ʆʇʋʈʉʊ  ʌʍʎ  ʏ ʑʛʒʓʗʔʕgʖggʘʙʚgʜʝʡʞgʟgʠgʢʥgʣʤgʦʧgʩʿʪʸʫʬʴʭʱʮʯʰʲʳʵʶʷʹʺʻʼʽʾg   ####g4&  w w  gg ggg  u``u u    H  HHHKKKKBB  "    !|*|*  # $ % g'-()* +, ./0123g5=6789:;<g>?@ABCDgFiGXHPIJKLMNOgQRSTUVWgYaZ[\]^_`gbcdefghgj{kslmnopqrgtuvwxyzg|˄}~ˀˁ˂˃g˅ˆˌˇˈ ˉˊˋ  ˍ ˎwˏwːwˑg˓;˔˕˖˗˘˫˙˝˚˜˛g˞ˤ˟ˢˠ gˡg  ˣ ˥˨˦˧HH˩ H˪H ˬ˼˭˶ˮ˳˯˱˰ ˲uu˴˵ u ˷˻˸˹ ||˺| ˽˾˿    >uUwKHH g |*w        g        g        g  w ww w www          g.KKK 'K!"%#$K & (+)*,-/5012346789:g<F=>?@ABCDEgGPHIJKLMNOgQYRSTUVWXgZ[\]^_`gbgcdefghimjk l  n o p q stu|vywxnz{|K}̀~|*uŵḡ"̖̗̘̙̅̆̇̈̐̉̊̋̌̎̍̏̑̒̓̔̕ ̵̨̢̛̜̝̞̠̟̚4 ̡1̣̦̤̥  ģ̩̰̪̭̫̬ l^̮̯|Ḵ̳̲ u1̴  ̶̷̸̻̹̺̽uu̼̾̿uuK    |   lu^^^^^^^^^   1#U# HHH    ` H|U u``   !`#,$%)&'g(g*+|-./0`12H4~5x6I7:89g;<=>C?F@AB DEGF `HgJRKLMNOPQSTUVWjXdY_Z][\1^1 `cab11efighklrmnpoqstvuwyz{|}̀́͂͏͇͈͉̓̈́͋͆͊ͅ1g͍͎͌g͐͑͒Ͳ͓ ͔͕͖͙͚ͧ͗͛ͣͤͥͦͨͩͪͫͬͭͮͯ͘͜͟͢͠͝͞͡Ͱͱͳʹ͵Ͷͷ͸͹ͺͻͼͽ;Ϳ |   ||    g      U>"W`Y     |  ! #/$)`%&( ' |*+,-.u051|23 `4` 67;8: 9u ` <=`H?Sg@ANBJCGDFEuHHIK`L`M| YOPQ  R |TFUVjWhX_YZ\[ ]^``acb`de f giUHkΐl|ms|nopqr| twuv xyz{   }Ή~΀ ΁΄΂΃ ` ΅ΈΆ·`n`|Ί΋|Ό΍  ΎΏnuΒΨΓΡΔΕaΖΗaΘΙΚΛΜΝΞΟΠ*΢ΣaΤΥΦΧΩ$ΪνΫάέήίΰαβγδεζηθικλμξοt)W 1 111lЋ}{Hq6 $     H H  H H  ! "#g %2&,')(1Hw*+w-/. 01gw34$5H7S8F9?:<w; g=>gH @CAB DE 11$GMHKIJ$L HNQOP HRTbU\VYWXw wZ[ ]_^`a cjdgefHHhi#uYknlmu>Kop#rstuvywx>HUzY|~πφρ ςστυww χϳψϨωϥϊϤϋόύϘώϕϏϒϐϑ ϓϔ g ϖϗ1ϙϞϚϝϛϜ1$HϟϢϠϡww ϣ  Ϧϧww ϩϬϪϫ1 ϭϮ ϯϰϱϲ$ϴϻϵϸ϶Ϸ1wϹϺ wϼϽϾ  Ͽ                  g1              1G      &!"#$%'?(.),*+-/4012356>798:<;=@ABCFDEHYIJKWLMHNTORPQ SUVXZ[`\^ ] w_ 1abЀ1cdgef  hviojnkml ps qrHHt u w{xyz 1|}~HHHЁЇЂЄ1ЃwЅІwHH ЈЊgЉ H$ ЌЍЎЯЏХАОБМВЙГЖДЕ  ЗИ   КЛ$gH1HН ПУРСТ$1Ф$gЦЫЧЪШЩwH ЬЮ Э 11Hабвмгздежикйwл1ноп $gw wgg 1wHH g $)  1  g $1w     wHw1!1      "%w#$&'(w*+,ћ-g.T/D0>182534g 67 1 9<:; $=?B@ACEQFKGH wIJw LNM OPw RS $UcV\WXZ Y [1]`^_  ab def  hсivjpkl mo n qtrs1Huw~x{yz gg|}wHр $тэучфхцwшыщъ  ь  юѕяёѐw1ђѓw1є іљїј  њgќѝѵўѩџѢѠѡ  ѣѦѤѥ ѧѨ  ѪѱѫѮѬѭ ѯѰ Ѳ ѳѴwѶѷѼѸѹѻѺ1ѽѾѿww  wg  1  w1$g  $  1  ҅UEuu  g   $ w2&   !$"# %  '-(*)+,$1.1/0 3?4856 17H>19<:;gg1=> @CAB $KDYuFGHKIJ LOMN$1HPRwQST$VsW\XYZ[g]^k_e`cab u d#  fhg#1ij YlmpnoYuqrt~uvw|x{yz1HH }w$Ҁҁ҂҃҄҆҇҈қ҉ҒҊҋҎҌҍgҏҐґ1ғҔҕҙҖҗҘ$$ҚgҜҝҬҞҥҟҢҠҡңҤ   ҦҩҧҨ  Ҫҫ    ҭҴҮҰ ү  ұҲ ҳ ҵһҶҹҷҸ  ҺH ҼҾҽ  ҿ    1w$$$$$$$ H $$11HH w$$1$$1$\)  u u$gg$#  !"$$&%'( w*G+9,3-0./ 12 4756 8 :@;><= $?1ADBC EF HVIPJMKLw NO 11>QTRS1HHgU1WZXY K[Yu]^_b`a cfde$1Hgiwh>jk$mEn)opxqcrsVtuӲvӒwӇx}yz{|~ӄӂӀӁӃ$$Ӆӆ$ӈӍӉӊӋӌӎӏӐӑ ӓӣӔәӕӖӗӘwӚӟӛӝӜgӞgӠӡӢ ӤӪӥӦӧөӨ   ӫӯӬӭӮ ӰӱӳӴӵӿӶӺӷӸӹ ӻӼ$ӽ$Ӿ$gggg g  >(g g             !"#$$$%'&$>)E*>+6,0-./1324578<9:;=?@ADB1C111FOGHMIJLK1w1N1PQRSTU1WXYZ[\^]_`abdefqgmhijkl  nopgrstuvgwgyz{ՠ| }~ԛԅԀ1ԁԄHԂԃHH$H1ԆԑԇԋHԈHԉHԊ HԌԍ HԎ ԏ1ԐHԒԗ1ԓԔ1ԕԖ 11$1Ԙ1ԙ ԚHԜԵԝԬԞԥ ԟԠԣԡԢH$1HԤH>ԦԪԧԨ1HԩHԫ$ Hԭ԰Ԯԯ$ԱԲ$H$Գ1Դ1$ԶԷ1ԸԹ1$ԺԾ$ԻԼԽ1$$$Կ$111$1$1111$$H1HHHH1H1111$$1$11$1$111$11$11$HHH1H11$1$11H 1H1 G , 111 111H1$H$HH11H1!&"%#11$1$$1'+($)*1$1>1>-51./3101$121$141Y6=7;8$Y9:$YY<Y>BY?@A1$CD$11EF>1>HgIRJMK$L>>$NQ1OPH1$$HSYTVHU1$1WX$$Z_[$\$]$^$1`a1$bf$cde$  H1HhՈizjskoHlHmHnH HpqHHr Ht1uxHvwHH11y 1{Հ1|}H1~H1 ՁՄՂ Ճ H  Յ Ն Շ HՉՎՊHՋHՌHՍH HՏՖHՐՑՔՒHՓ1H1HՕH1՗՝՘՛ՙH$՚$1՜>H>>՞՟1>1աgբգդլ1եզիէ>1ըթ>ժ>1>>$խսծյկղհ$$ձ $$ճմ>$>նռշպ>ոչH>HHջH11HվHտHH   HHHH1>1111H1$$111$11$$11$1$>$>11$1$$111$$ 1$  $1YYY$1$5 H$$>>1$$11>  >>H H H HHHHHHH11HH1$111$ +!&$"$#$$$%$>>'(1)1>*>1,$-1.>1/101>>23>>4>$6Q7B8=9H:H$;<H$H>1?1@1HAH1CLDHE>F>G>1>I$>JK$>$$M$N$OP>$>R`S[>TUYVXW1>1$>ZH$H\1]1^1H_H1ae1b1cd>1>>f>1hiֈjykwlpm$n$o$1$qt$rs1$11u1v1HHxH1zւ{|~}H1HH1ր$1ց1$>փքօ>1ֆ$և$1$։֖֊֑֋֌$1֍1֎֏1>>֐>11֒֓1֔֕1֚֗֨֘֜֙ ֛  ֤֝֞֡֟H ֠ HH֢֣>H>֥ >֦>֧> ֵ֪֮֩֫1֬1֭1 1ֲ֯1ְֱ 1  ֳ ִ $ֶַָֺֹֽ>HH$1ֻ>ּ>1־H1ֿ1#HH$H$H$#####1 gg 1$111M8wg                          -#     ! " $(%&  ' )*  +,.4/0123 5 67 9F:;C<=@>?ggABggDEgGHIJKLNOגPmQ^R[SWT  UV    XYZ   \]   _d`abc ejfghi k lnׇo{pvq rus t   wxz y  |ׂ}~ ׀ ׁ  ׃ׅׄ ׆  ׈׌ ׉׊  ׋  ׍ב ׎׏א    דױהןוכ זחטי uךu למuםu u נרספע ף   ץ  צ ק  שװת׭׫  ׬ ׮ׯ    ײ׿׳׺״׵ ׶׸׷ ׹   ׻  ׼׽ ׾ u          ggggggggggؚ؄e #   >>w>1wH>$$1H1 H!"HY$D%/&'+()*,.1-1  01$2;36$4$5$7$89:$$<A$=>?$@$B$C$$EQ$FGPHLI1J1K1M1NO1R^SYTUVWXZ\[ww]w_b`a$ c d Hfgh}isjnkmHlHYoqpY#r#>tyuv>wx#>Hz{HU|U~؀؁Hw؂؃w$$؅؆ؑ؇؊؈H؉H؋؏،ww؍w؎wؐ11ؒgؓؔ ؕ ؘؙؖؗ ؛؜؝ط؞إ؟ ؠءآؤأ  ئح ابةثت   جخدشذزرسصضظعغػؼؽؾؿ         uuKK    1g     uu  # ٍ h D -    & #!" $% '*() +, .4/0123 56=7:89 ;< >A?@ BC EF_GRHKIJLOMN PQ SYTWUV XZ\[]^ `abecd fg iـjkl{mtnqop rs uxvw yz |}~ فقهكلمنوىيًٌ َ ُِٶّْٰ١ٕٖٓٚٔٗ ٘ٙ ٜٛٞٝ ٟ٠ ٢٩٣٦٤٥ ٧٨ ٪٭٫٬ ٮٯ ٱٲٳٴٵ ٷٸٹٺٽٻټ پٿ                    !       "w$%&'(w*+L,-./0H1B2;345867g9:g<A= >?@wCFDE1G IJK MNڢOwPsQgRaS^TU VW  X YZ [  \]  _`bdc  ef hnikj lm orpq KYtuvuxڇyځz~{|g}uڀuڂڃڅڄ$چ$ڈړډڌڊڋڍڐڎڏ wڑڒw ڔڛڕژږڗ 11gڙښg1ڜڟڝڞ  ڠڡڣگڤڥڦڬڧک$ڨڪګ$ڭڮwH1 ڰڱھڲڹڳڶڴڵڷڸ  ںڼڻ ڽ  ڿ1H$$$>H H1$     $gw$      w   '  w1   !$"#   %& ww(6)0*-+,1./  132 45117>8;9:  <=?B@Aw CD w FۆGrH^IZJKY>LMNOPTQR Sw UWV HXH []\  _o` a b cd  e f g h ij  k lm  n p1 qwswtuvxy zۄ{|ۀ}~ ہۃۂHۅ  ۇۈۉۊۍۋ ی  ێۏ۾ې۫ۑۢےۚۓ۔ە>ۖۗ>ۘۙ>ۛۜK۝K۞K۟۠KۡK ۣۤۥۦۧۨ۩۪۬۵ۭۮۯu۰۱۲u۳u۴u۶۷۸۹ۺۻۼ ۽ ۿ  #Yuuuu    >/  g1w  $ HH $     gg11w w H  !H  $ $"%#$ &* '()ww+-,H.w01w2 3845 679;:<=HH ?H@FABwCwDwEwHwwGwIJKLMNOPQRSTUV4XܔYZj[^\]_`a Qb Q Qc Qde Qf Q Qgh Qi Qz Qkl~m1n1o1p11qr11st1u1v1w1x1y1z1{1|11}1܄1܀܁܃܂1Y1H11܅܆11܇1܈܉11܊܋11܌܍1܎1܏1ܐ1ܑ1ܒ11ܓ1ܕܖܶܗܧܘܟܙܞܚ11ܛ1ܜܝ1gܠܦܡ1ܢܤܣܥ#1ܨܴ1ܩܪܯܫܬ ܭܮܱܰܲܳ ܵ Kܷܸܹܻܼܺܿ ܽ ܾ   u|*^ unq    K    u    1111 1 1 1111H1111111111111111 11 11 11          % #!"g$ &'(g*ߑ+ݩ,9-66./66061266364656667866:6;<_=^6>?[6@ABCDGEF$6$/HIRJKLMNOPQ$STUVWXYZ?6\]J/U`ݎa݆bicedgueufhueujpkulmunouuqyruseutuuvwuxuuz{|}~݂݄݀݁݃݅u݇6݈6݉6݊66݋6݌ݍ66ݏݐݧuݑݒݚݓ6ݔݗ6ݕݖݘ6ݙ66ݛݣݜݟݝ ݞ ݠݡݢ (7F6ݤ6ݥ6ݦ6ݨVfvݪpݫ ݬݭݹݮݯݲݰݱ6ݳݸݴݵݶݷ/ݺݻݼv6ݽݾݿ////'  u  6&6/6U//////////FU/Vffvv rV U  666fv"f !/6#%$6&/U(ޏ)L*7+2,/-.J016H635/4/6668?9<:;6/=>6@BA6/6CD6E/FffGHfIfJffKfMZNTORPQuf6S6/UXVWf6Y![i\f]`^_1a6bdcH@HeH@Hgh/Pjތkol6mn`pދqrނst{uvwxyzk|}~ހށkރބޅކއވމފkvލގސޑޒުޓޚޔޗޕޖ6/ޘޙv6ޛިޜޝ6ޞޟޠޡޢޣޤޥަާީޫ޲ެޯޭޮUްޱ//޳޴޿޵/޶޷޸޹޺޻޼޽޾k66/U/6v6/66/666//6f6!16/U666/HHAHf6/6 66 /6U6P/6V6!vP6UUQ!P"#a$>%:6&'9()7*5H+,H-H.HH/H01H2HH3H4&H6&H&8&&q6;<=6V6?F@CAB6DE/U6VGNHI/JKHLHHMHO6!fQTRSUoVm!WX`Y\Z[]^_agbecdfhlijkUnJqr6s66tu6v66wx6y߅6z6{6|}6~666߀߁66߂6߃߄666߆6߇6߈6߉6ߊߋ66ߌߍ66ߎߏ66ߐ6ߒzߓ߯ߔߩߕߖ6ߗ!ߘߙH!ߚߧߛߢߜߝߞߟߠ6fߡV6ߣߤ/ߥߦߨ6ߪ߫߮߬6߭6߰߱ߺ߲߹߳ߵߴH߶߷H߸HHH߻߼߾߽H߿HHHHHH@HHHHqH@HHHHHHHHHHHH@H@AAHHHHHAHAHAHAHAHAAAAAAAAAAAAAAAAAAAA HH H@H @HH@A06/)6$ 6!6"#66%'6&66(7*66+6,6-6.6V61423/65@6978fU6:=;</6>?v-AXBNCD/EVFKGJHI=HLMvVOPQRUSTvfVWfYkZ[b\_]^f`aV6cfdegjhiuuS6lm6nsopqrHfPtu&vywxJ{L|}~66666666666666666666666c666666s666666666666HHHH@HH6J6/66fU6/vV!/66fH 6HHU/J'6rV rV rVrV rV rV rVrVrVrVrVrVrVrVa6 v!$"#H%&(:)9*H+,1-./023645786%;<a!=>A?@uBCDE6FIG/H1vKLMNZOUPVQRST uVWXYH[|\]6/^_v`kajbc(d((e(f(gh((i((7lum77no7p7q77rs77tF77w{xz6yT((76}6~f///b!v/6U/6VrVVVVVaV//UU&U6/66666v6666u6/6U//UH616666/6666UVvv/6v6vv#U666v/P   16/fHV vv!"u6$=%,&)'(//f*+/v-0./v61<2U3456789:;>E?B@AfCDHFIGHUJK6V6MtNaOPQRSTUVWXYZ[\]^_`bcdefghijklmnopqrsuvwxvyz{}|rV~/6/6Pf%6H 66!rV^:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa)a7*$a0    *[[ '!"#$%&@()@+,-./MV123456789;R<G=>?@ABCDEFHIJKLMNOPQSYTUVWXZ[\]*_z`ahbcdfegijklmnopqrstwuvcqxy›©·{|w}-~9999F=====tttttFFFFF"""""9""""FX  =F F"tF9====tFF9" !#$(%&')*+,./k0i1g2e3W4E5?6:789J;=< >@CABDFKGIHJLOMNPTQRS//UVXY^Z\[]F_b`a9=cd"tf=hFj9lomntprq"svtuxyz{}|~F'$H1>U}A$44A*'*aWP$-W **_ * * $znqa7$! _="#*%1&'()*+,-./023*$456 }8>9<:;W=?@B]CPDLEFJGIH*W KMNOQRUSTWVW\X<YZ[Ë^u_e`acbdfgih*jtkalmrn4op4q4s4a*v~w{xyz$|}!AÙAPçööa$!IV}a$!*~!!aa!!!$$N# a$ $$=  *& aa **!"$D%,&)'($S*+$-0./11C*23456>789;:<=F?@ABJEFIGH JMKL!aOcP[QXRUSTVW*YZ\`]^_*abdoejfgh$iklmnpwqtrsW* uv x{yz|~CWWWW1W!o8W*$&*!* %$5a! > K K KKK*!a ".#)$&%!'($S*,+X-*/3012*4567$$*9e:M;C<?=>g@AB*DGEF*HKIJLaNZOTPQSR$UWVXY[_\^]`bacd*fguhpikj*lomnWWSqsrStWv~wyxz}{{C|{CGSu*~*ċ$$ċ$aWĚ*a*M* ***w.**W*  *!*S*W**$*$ S-  !!!!! ! ! !Ĩ! !!!!!!!!!Ķ*W$?% !#"$&2',(*)+a-/.01a!3946578:=;<*>@\AOBICFDE$GH$JL$KMN!PVQTRS*U*WYXaZ[**]k^e_b`a*cdfghiWj@hlmnapqrstu{vxwyz$|~}**$'! @!V!#1W!!*~~~~$AWW$PG!***$* '   '' '' ^"3#)$'%&*(a*0+,-./'12$4<5:678*9*l;=B>? @*A*CDPEF**HhIXJRKNLMOQPaSVTU*W *Y_Z][\a^`cab$*dg*ef'aijrknlm_op*q*lsxt%u~v*w~zyz{|H1}~###*!~**$P *W$*Ň*$**ŕ**$$$!$$$A*2WŢŢŢŢŢŢŢŢŢŢċ$  $$( '!!&"#$%')/*,+-.01a3T4G5<6879:;W=@>?**ABCEDŰ}Ű!F!ſHMIJKL<NQOP=SRS UiV_WZXY**[\]^IV`cabWdefgh1jokml$nprq-sa!u!^vwxyz~{|}ggg1w g 4ug www^?"11111            !u#5$4% &'()-*+,w.1/0w23w6789:;<=>@ABCDEFGHITJKLnMnNnOnPnQnRSn nUVWnXnY]Znn[n\ nn _}`rabkcdefghij lmnopq sutvwxyz{|~ w    8 x8833333333333b3333 33333$3S'3333 36 E  T TTTTTTTdTTTTTTdt!T33 363"#3b%/&*3'()33+-q,3q.q3q033132Ƅ34U5E6A7;839:33<>3=S?@3363BC33D3FKG3H3IJ336LO3MN33PSQR333TƓƢVjW^X[3Y3Z36\33]36_e`ba363cd33fhg333i3kpl3m3no3q6Ʋqt3rs33uvw33yzv{|}~XfI~ s%  }L@fBB%ff!  %%$C#_yQ%QBB4 % |  + 9yGy~y~ y yVx  {~ fBBOvy ! y+t  yDŽǒDŽǒ  u%   %vwxx%W dOOmm|m m"W#M$'%&%(: )ǡ*+ǰ,3ǰ-ǰ./ǰ0ǰǰ1ǰ2ǰǿ4ǰ5ǰ6ǰ7ǰ8ǰǰ9ǿǰ |;<=E>?@ABCDwbFGHIJKLwbNQOPvRST$UVW X_Y\Z[OO]^f }`eabvcdOfgOh iujklpmnoqrstw>x2wwxyz{|~}v~Oy$%CO2%%}%BO1 }u N%$$%vz vOW z Ou 11W % 7B%OW    }{C s  L&      1  # "! $%';(2)/*, +-.011 136451 789:<E=A>@?#1BD1C1FIGH11JKMyNfOXPVQTRSUwTW1Y_Z][\u|K^`cabldeu^ggshmikjl$4npoqr1tuwv xz{|~}1111v _,OzOZ s|W :;~JX&g&%u3ȄO%OBBȒv%%%%%%:%%%%%:%%%:% u |ȡȯȽB! .O%:$y$ v =% Pm } %m   v% {`  % }%| K%vN50- "!YKYY#$h%'h&hh()+h*hh,h.~h/h~14~23~~m6D7C89:;<=>?@ABv~%EKFHwGɅuIJW LOMO"~OlPfQT%RS UdV%W%%X%YZ_[%\%%]%^%`%%ab%%c% Qeɓghijkw{mpnoOqrstu:ɢwxyz}{|%~ %%O OOT%ɱJ ɱ Q%3 OW O ! !  OOW ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^w)8:%v%u%$%%m4 n g 2  Q#v)" % !Y#&$% ':(%*-+,% .1/Q0 %3I4<59687vm:;|O=C>B?@AfɢGV%DHOEFGW %J^KXLWMɱNOPQRSTUV%YZrH[\]W _b`a%cfd$e$#PhijknlmmIop}qrQsztQuxvw#2etyQAv{|~ oQ } b$ }O%BBv%%%%ʃʒʃʃʃʃʃʃʃʃʃʃyy _yyʡʡC~~~~~~~~ʱCGGʡʡʡʡʡʡʡʡʡʡʡʡʡGtt }tv#P#P#P#PwE#P#P OOWW%O|B% ] T  S /a+11g11 1!1"#11$%1&1'1(11)1*1#,-9./012345678g:V;E<=>?@ABCDgFGHOIJKLMNgPQRSTUgWXYZ[\]^_`gbhced f g wijklmwnopqrstuvggxyz{|}~gggggggggggggg ggw1    & !$"#  % K'.(),*C+8-80?18234567 9:;<=>$@GABCDEF HINJKLM OPQR$TUVgWXYaZ][\Y^_`Ybcedgfhixjukplnmo qsrtvw>yz{~|}>>> U wTwT wTwTwTwT   wT1g1wT1wTwTguwTgwTwTgwT1wTwT|u wTwwTwT# i 0 (  81HH8 $!"# %&'1)*+/,-.-;1D2C3=4;56879:j8<8>?B@ACERFGNHKIJwLM OPQ#S^T[UYVW8XwZ8\]8_c`a8bdefhg 11jk|lymvntoqp8r8s8u8wx8z8{8}~8Hu1Wet˃R{C˒Ƚˢ\88{C˱888888 ,/8##$H1#1 1 1  1'' Q4 !" Q$8%8&'J(5)-*+,.2/018 34[6F7889D:; <=>?@ABCgE88GHIKQLMNOP18RS8UhVWXYZ[\]^_`abcdefgi2jkl{mnopqrstuvwxyz|}~Kw H8   uPH wK1H#H u 18g88    g   u88 P  P &||we :=H!$"#V%',()*+ems-1./0̠̰́̐8345T6L7889@:=;̿<>?\\ABCDEFGHIJKgMRNOgPQ`SgUVqWdXYZ[ \  ] ^ _ `a b  c epfghijklmnoH r|sytvu wx z{ }~R59\\\\8{C{C{Cggg* 8!FsT+bp~88888888888888wgggg g    g 1  b !"#a$G%2&+'($)*,/-.*$01W*W3;4856*7!9:!<A=@>$?$$͌BFCWDE͚ͩ͸ HWIPJMKLaNOa*aQTRSaUV!X[YZW\_]^`!$bczdjefgWh* i|kxlmnopqrstuvwy*{|}~wmmO d 7 d333qqqqqqqqqqq363333E333q33q3ST3|v %&h&Y  !%%O%  Q|& |  vO    v vS1$ f!#" }%%*&)'(|C }+/v,-. o{0.2J3645O%%7IO89:;yQ<yQ=yQ>E?ByQ@yQAyQ yQCDyQyQ yQFyQGyQHyQ mKPLMNOf=QRTgU`V[WXu%YZ\_]^adbc s }ef sh|iojkKl%mn$ ] ptqrsZ  uv%w{x%yziu$ }~%XXOObqwwTqqSb333333333333333q3333333333333q333T33333333333333q333333~8  gg8 gg }g{a&    !#"||*$% w'Z(?)*+,9-5./20134678:;<=>@QABCLDEHFG.IJK.MNOP..RSTUVWXY[^\] K_`wPbpcidfegghHw jmkl PnoHqwrust>>v xyzg |88/ogg            |1ggggggggggg1w     1Y%g !"#$g&8'(0)*+,-./g1234567g9B:;<=>?@AgCKDEFGHIJgLMSNOPQRgTUVWXgZ[e\]^_`abcdgfghijklmngpq|rxst1u11vw11yz{w  }~ ggggg1 g1-gggg"g g    gg !g#$%&'()*+,g. w09172534{C{{{68{C888:];I<=>?@ABCDEFGHJWKLMNOPQRSTUVXYHZ[\gHw^y_l`abcdefghijkmnopqrstuvwxz{}|w~ >OQQAOvOO#PyOmm·Ζ3ΥδQ:%Om%%2Qv% }r:%:K}|| }b}BO 7 74!$ } %    4 f% !&YO'vO   u K1O(% Q Q8{C #" !  uO$%&'A+)0*,O+OO-%./W 1423%% }5:6978f: }%;<=IKXy?@jAWBNCIDEfFGH#_!pJKLM|}OTPQvR4S.XUV|X`Y[Z \_] ^{ gv#ahbfυcdeϓ}zϢgui%klvmpno qrstuϲ&Kwx~y|z{| }E } Q#P%O%u }O%yQ't y)zzIWz'>wE'>yQ%vz o%%%%%%%%%%%$$P"oP$ 9IIVV$%:Y Yh%5WQO  %   } T4&`# !"%$$%$$'.(*%)_ɱ+,- 1Y /0O123fWI5>6978%%:;4<=fw?D@COAB|%'EP|FG~5H~5I~5J~5~5KL~5~5M~5N~5O~5QRS o RЇ RUgV^W[XYZ N%\] } _b`a:cfd%e!hxiqjpkmlGno%uЖrustvwy|z{Х}~г  } }q o{ } }  O%O%O%BBQOvWLv{ % R#AI WO!z OIqv~%%%% u uWWɱ:ɱR  QmFmyvIOx 2- ----;;;JZ  *%   i OQ }%2%%v%$%%% %%!"%%#%$%&-'*( })$%+B,Bw./013E4@56 } 7O8?9ц:ц;ц<=цц>цWAB QvCDFLGKHIJѕѤѳMQNOP!!%S~TmUdV\WX YZ[M]a%^_`II#Abc:WIehfg ijOkl nuorpq%v st n% vywxz{|}#_2%%%CCf  ] ] ] ] ] ] ]  ] ]O%XX }{ oB#A s!!  6kPPPPPPPPPPP"o F|[44 7 W W11Of: dff    7 |%II+:/! }O' "&#$Z%Z'*() }+-,I5%.%0<17243Ж56}89B%:;ɱ=B>A?@ %CE }DFGHIJKLMNOQRkS_TWUVv }X\YZ[)]|^I|`faebcd W Wyghij}!YlsmpnoxOqr%t|uyvwxDŽgDŽ z{}~O}%% %rH%r:O%%y$% o!OCCDŽDŽDŽDŽDŽDŽDŽDŽDŽDŽ % BqҀ%  d d 7 d|L d Fҏ'%!$5ҝ }ҫ% }  }SҺSf%  %O o{ o %O  s  O QxxTTTTTTT:T!$"#Or:%&' (d)L*@+0,-.%/1?2<3 Q456789:;=>5: e }ADBC'O }EKFHIGIfIJ4z%MYNSORPQ%TU Qy VWX#+tZ][\%^`_IaObcIIefrgmhi>j kl lnqOo(p( %sztwuvBBxuy{|}~%%w66!v$vvpp }% }if: WQ88{C{ Q#P Q%OO} ( (*f *'vvz%|%ǒ*$%"ǒǒ"!BB%O% ""O }%vI5wFxO@#       p0O4>M4.4! ~~%[" $1%(&'%)0*-+,j./ ev263%45%7?8 }9:;y<y=yy>ӈy$ARBKCFDEӗGJOHIILPMONZQ%%S`TYUVWBXBZ][\p^{_ oadbc'Q%ehQfgӦ% }jklmynqoprsOBtwuv KIxIz{|w}~ %ӵ%%%rH s%v|L%OOY1  }q %I % %a%|uu % %O4. d4 j d d4Űkҏ..%%.qBdOy%v!Oyy.% }A    w =L } }<% N#A#A&#A #A#A#A#A#AZ!#A"#A##A$%#AZ#AZ'-#A(#A)#A*+#A,#AZ#A.3#A/#A0#A1#A2#AZ485#AZ6Z7Z#A#A9#A:#A;#AZ=>$?@ BSCHDEF%GxxoIOJLKmMN{~  ]PQR5()T\UXVW  %YZ[{~p]a^_`:~cd>eofghiujokmlnpsqrŇtWv}wzxy!{a|%a~aO$!aaaHHc**W*aaŕԍ !*S@z=z=*}$* *{aԛ͌$ԩQ aa ~*~    *{*8-Q6- !*",#$%r&'()*+0.1/02534!*7H8E9D$:*;*<=*>**?@**AB**C*ċFG  ILJKMPN*O!R_SZTWUV*$XYa[]\^ `gadbcef hlikjԷ*mnpqrst|uyvwxz{}~**$!*SSa*WS~*~$!c* $AW     ' !$"#W%&%(1).*,+ -a/02835467*9;:<=?>@ABeCRDHEFGINJMKL*OPQz}zS_T]aUVWXYZ[\4^`cab*dWfgqhkijlmnoprstuvwxyz{|}~XXz$$!PS*a*+9V<$ !$$     **) !$"#*%(&'H*7+0,.-$/132456V89;:<=W?@AiBWCJDGEFHIKTLMN**OP*Q*RSd*d*UV*X^Y\Z[]_f`baacde5ghjukolmnpsqr*tv{wyx*z*|}~"VV$*!q!W!aK|y|*$*$g$'W$_a$F$*! z     !*' $_ !$"#*%&S*(4)/*.+,-H$0123;5679:O;< =t>|?@yA_BNCGDEFr:%HJIvK }LMӵՍՍ6OWPTQRS ow/x2OUV~՛ժX[Yչ~Z~չ\]^չʒʒ`lagbcʒdef!whkij#P%msnro%pqfXfXtuOvwx#_z{|}~}Ѥ h  !#P QWIЖ } }%Q'X}T JW~6EE%LZ  }                             %OQ}Q> Ri#% !"wbvwb$'%& W W%(yB)*6+%,:-:.3/1:0:%:2օ:4:5:%:%7%8%9%:%;<=%օօ:?F@CAB֋֋DOE&YGH% IJK֚m!MjNZOWPTQSRLRLWUV_֪_XY%[d\a]^`_b dc{qef%gQhiCCktlqmOnopC rsmOuzvwvxyBBq%{}~$O| %OIw$44v }eb:ItQ%S%xxx5eBzֹF!6~:WWWWWWW>W(BB{B %%:!Or:r:r:r:r:r:r:r:r:r:%O 8^%_ } %BB   B BZe.+(&%%%%# :::%!"% N~~$%%%$%')5*5,-B/501234$%%$67#% _9T:E;?<>=ҝ@ABCD%% FMGLHJ!I K֋vNSOQPR>.vQU^VYWXIZ][=\֚F_b`aŰW%csdevfvgvhvivjvknvlvmvoqpvrvvuvwxyz{| }~O&h( }B%C  }!Q% }v~ }%^~2K %Zi%(If%k&&h&K%% &!k*IwBB 7%% f)IQ%%%%%%%%%%$O<Iff% e  eQ  B ?y$I Q +  }O!% N!*" }#)$%y&yy'(yly#P,0-./'׆ _123456789:;I=]>H?D@ABCEFG%IQJKmLOMNו|[ d 7 dP F dR\SVTUף dW[XYױZ a{%^j_d`cazb$POefFgmhiBB dkrlmnpvovBq Qz sztwuvxyww{}I|I~II 8 } }%kɓ Qf54BBBO%%Q oQ%'w8{C{%%QvII Q' Qy00 m%% I%ӵ֚O%S%'MO4:  %%%%  % %%  %$%%   }     W WB  FB  9  )       4   W W  %  &  #     ! "!w  $ % ' (1% * 1 + . , -mO / 0 2 4 3% } 5 8 6 7 Qz z% : g ; U < O = K > A ? @4 dBv BB Cv D E F G H I J  L M N K P T Q R S%% V ] W \ X Y  Z [B 7% ^ a _ `{ B b e c d:% fy$% h o i l j k%% m n } p  q u r s t  }b v xB wq  y0 z { | } ~                 %     %& />                  {{|    ::%    m   MM     }          [q 7  %O    %B            !   vv  vv v v  v vvej   Q  'M#P'y    %$% ww  %i#A         4z Jc B %B   %   W W       ӵ66I>   Bu z   B 7B >>        >  F  +       }     ؉  ؘK&O  d  "     !=ww= # ' $ % &ا|L% ( ) *ww , : - 1 . 0 /%% 2 9 3 6 4 5Fx6 7 8Fwx#!% ; @ < ? = >|| x A Bص C D E|L dq G a H W I L J KX M QO N O Py } }  R TB SB% U V dҏ X [ Y Z !% N \ ]O~ s ^ _ `vBB b q c n d h e f g%$% i l j k N$ mI o pQ3v~ r u s t v  w% x y% z% {% |% }%% ~% % %#A  \             I  C               Nh6  77M0P    5D6(]  ,,p{      eT]"Y`  C15     2=h?Km  Ae*DZ      * *KY~  ?1.Gb    49N-ɓ  k|Vlg!    }       (  ((  (( j(   (( (  (j(  (  (( (j ( ( ((j(     (  (( (j( ( ( j( ( (( ( j(5 &I    '%  %%      8    wx   W W     K|        } }{  O%   7  , ! $ " # Q % ( & 'BB 7 ) * +BR}T - 2 . / 0%َ 1َ 3 6 4 5 v ! 8 I 9 ? : ;O < = > Nٝ٬$ @ F A C B{{ D Eٻ G H&& J Y K V L Mw Nww Ow Pw Q Rww S Tww Uw W X6 Z [rH ]  ^  _ v ` p a f b e c d d4~* g h o i& j n kK lK mKKK&  q rO s t uXq d[ w } x | y& z { W W& ~               C  } &      $O  x#                %$ I  f6   6 6  6 6 666 6  6 6 66       %v  %   %$%rH      5  B d)         %%   I         '\   W Wy   sQ%  ц7    Y  "         H B   W  !m   OB B F  &    y%  #P&     % BBX         L C   W W     Qz      v vzO% !% # D $ 2 % , & + ' ( % ) *W  - 1 . } / 0V]% 3 > 4 8 5 6 7y4 9 ;B :B U < = dҏ4B ? @% A B C%% E Q F K G J H' IFrH L O% M N Wv P  R T  SU U X V W  Z  [ x \ g ] ` ^ _ a d b$ c%$ e f>IW h k i j%% l s m p n o W W q rv t v uc } wWI y  z } { | N ~   B Ȓ    vBQ  O%  : N           rH  ss   }    o          ځڐ    O Oڞ   %  wmw %  Bҏ%      B                       (  ((  ((j( (    (j( j(j  (    (j(    j(j(( (j (   ( ((j( (j  (  ((  ( ((j   ((  ( (j( ((  (( (j rH      wbڬ    } y&    P  !       %#A   OO  %  wx      C{  % } " , # & $ %B ' + ( ) *_ںں - 3 . / 0O 1 2%~ $ 4 K 5w 6% 7 C 8 ? 9 < :% ;%$%% =$ >%% @ A%% B%% D E% F% G%% H% I% J%$ L N Mxx O %  Q o R \ S V T U_ W X% Y Q Z [ ] b ^ a _ `LLO c n% d% e f% g%% h% i j%% k l% m%%$  p  q z r sU t w u v  n n x y W W {  |  } ~C   %    v   |U   }    8             %rH%             %5E P  | |  ||  | ||  |  % }    y     ( (       }u%   r:    B    U  v        %    dBҏ      v                         44O  %%      II _    r sv#A% &y"P4 *!&"%#$ s'( O{ )$+1,/-B.B d0R23u5I6F7B8 }9:;<=>?@AxCDEv~yGH }ŰOJMKL%%INO QQ QwRnS^TUZ%VWXYZ[\]c_`akbcdefghijlm W Wotpsq>r QuvB%xy|z{I }} }~uusIۂz#P'0 Q QIB dBC%^4444OOɓwEwEɓ%%%%%(ې 7 d4_ӵ!!w Q }mB 7B OO IIiгA  Oq 7|[۟Bu  yI }gu1%8|%% % ! 5#$U%<&0',(+)*X(S%-.%/1723Oۮ456BB8;Q9:I(=H>A?@BEC%D   lF%G֚IOJK|LMNQi۽PSQѳRIT o{VqWaX^Y]Z%[\%_`bjcgdef ]$h%Bi%BknlmwopWrsxtvu w: yzO }{|}w ~l1111l1llll1B% !%BB F%Owow%v% 1S |*  QO!v~ '|w%wEB&BBOv%%54|L4 Ku dB{b8%  s#QQZ o R    Q}vQ[(fI''$%v !"#f&/',(+)I*-.051423::EO67%v9Q:G;B<? }=T>v@AXCD EOFO~ HNIMOJKL F4 dOP%%RYSVTUQWX%%Z_[\%]v^u`aB cd{epfmglhkij(b %Ino Űqtrs }Ouxvw%Oy dz4 7|}~  44|Lfrڞ܀ ܏܏ ::Q}B% dBmOFO y4|L Q Q !'{` }:=Q%7ܞ6vXf9ܬ/Iܻ d.vX &4 7 dҏB d F%$ Q-]Q ((   }%   kk%Z%>% %" !Q Qy#$%yC&/',(+)* -.0312 Qz$48567wT#wTO:{;U<H=C>B?@AvuODEO%FG|INJOKLM&'&'OPQTRS% NVkW]X\YZ[I^`_va%bfcdefghijwlumqn^opQrstww6vywxWWz%|}~ Qy%BB%%%%%%%%%%$$%%O|y }OvO%W5fO%I5 }~% }%I[    !%%Ck{%%wuI%Q Q o ox2O$ !%!m 6w6 BqvB  %BB 7%|  ]J3'!  ' '"&#$%wow#%(+)*%,2-/.v.01BqvB%v4>5867vBm9:%;O<=v%?E@A1BCDGfFG%QHIuuKeLSMPNOv }QR% ?TYUX$VWwE.tOZa[%\%]%^%_%`%y$bcd n  nhfuglhijOkImnM _orpqo#st Q Qvw}xzy 7{| F% 7B~u%%%v0Zs%>QQɓ%O! Q Q Q) Q) QJJTJOJTJ Q Q Q Q Q\ Q Q Q Q\ Q66 % s %  &4( k& &B UBO v' Q   v % z555555f!O =zm".#$%&'(#P)-*+,#P#P/k1k2L3=495867C: s;'<' >D?@ ATBC[EIFGHzVVlJKqBMcN^OSPQ{~ R66TU]vVWZXY[\v_`%ab݉dgefQ%hi Rj Rlm~npo%_qrQst}u4v4w4x4y44z4{4|4 F4q uuO%O } {5! QO0 }~~%$~%p mݗ11ݤ~wu%%&Y&  s%Oݲ||mB[B II5%  O   OOOv~ }# E (  '%% N N N N% N%%$!W W5"# %&'vO)5*2+0,-.x/xx1|*34%!6;7:8٬(9 <D=@>?( ABO"C|wF^GUHRILJKIMPNORn:(QCST% V[WXmYZ\]%|%v_j`eabOcdW5figh%kml%vno% Oqrstuzvwxy  l|{2|8}~88888888{C8 }{ } %B4B$ ]  ]%Oy| s l| sS  % s!6! mu&h%:Q2Q% %O _! uu& :0- $  I I Ie5~/!Ze e"I#I)%Z&Z'(>)>Z*+>,>Z>./^ Q1423S s59%6788GVe_h;D<A=@> 5?5BC%%EG%FHK%I(J (LMN !|PQRSTyUeV`W]X[YZ333\3^3_3C3a3b33cd3foglhji33E3k33m3n3pvqtrs33u33w3x3Ʋ3z{|}3~33'333333333333333333C3q33333333q3qq'333333q3333333C3333E33333qq33333333633E333C333333/333S3t6t63333336  363 33b 33 6S333ނ'3336%!3333 C33"3#$33&3',3(3)*3+b3-33.30V1C26333453Ʋ37?8<39:;3=>33@3AB3636DKEH3FG333IJ33LO3M3N63PSQ3R3'3TUb33WmXbY3Z][\'336^a_`3E3cf3d3e63ghi63jk3qlqnxor3p3q36su3t3v3w363yz}{|E633~33T333ޑ3q6W333333333q33333Ʋ3E333636333tTt33T333Tq3ޟޭ޽33C333Ʋ3333333S33363333q&333'33T333CƲ33q33Cqqqqqq q qqq   qq q'qqqqqq6qFV336333Ƅ3'3 !q6"$6#6t%6t6'B(/3)*,+33-3.33091523b33463637383:<3;3=@>3?q3A33CNDIEGF333H36JLK3TM33qOTPR3Q33S3U3V33XYZg[a\3]_3^T3`3bd3c36e33f3hsinjl3k3mS33oprq3qqtz3u3vwy3xqq{}|3C3~3qqqq33333q33'33qT333333333333ƲTƲb33333333Ʋ333336663663633663363333336333336636qfq333qƲ333Ʋ333S333 3q3C33  3  33Ʋ36336N/ 3333333!)"%#33$3q&(3'SCS*-+,S33.330E1423333576338C933:;33<3=>33?@3A33B3ޑ3Dp6FKG3H3I3JqL33Mq6OlP`QYRTS3S3U3VTWXC߀C߀Z\3[63]33^q_qߏafbdc3e3gjhi33q3k3mvnsoqp33r333tu36w}x3y|3zT{63C~3333qq333Cq6336333333333Ʋ3333T333333Ʋ33333333333333C333qƲ3C'b3q333q3ߞ߮߮߮߮߮H363q߾333q3333333q33q3C3 33 3 3 3 3C333633'62&!3 33'336"33#$6%6b'/(-)*33+,3Ʋ.333031Ʋ3>4957633383q:<;333=3q?B@33A3qCED3Ʋ3FG3Ʋ3IwJaKWLP3MNO33Q3RS3TT3UV3q3EX[3YZ333\]`^_3bpcid3efC33gƲhƄ3jkl3mn3oqqt3r3s3u33v3xyz{3|33}~ 3TƲq33C333T3T33333336333q33b333333qF33333333'ƲC336333S3C333Ʋ333Ʋ)338q3333E3333333Ʋ3333ƲT33333633S333333b'336 3   3 3Ʋ33Ʋ3Ʋ3333T,& 33Ʋ!$"#336%3q3'3(*3)33+Ʋ-<.3/:01323333435363738393G;336=A3>?3@3'3B3CD3E33GH~IaJVKPLNM3b3O333QRS63T3Ub3W\XZ3Y363[36]_3^363`36bocid3ehWfg3363jmkl633n3px3qrustfv3Ew3y|z{333}3333Ʋ3633333T3TTq3636333T33336Ʋq33633333333363Ʋq63C333ƲƲv333ƲT336C33S633636333qVF33q63333qC3T3333333343333T3q333b  0  !   "=#$1%+'&6'(*D)Sbp~p,-./0pH'23645p7:89;<>?@hA\BHCFDEpG&IJ[KSLMNOPQRTUVWXYZ#]^'_p`HaHbHcHHdHeHfgHHiuHjHkHlHmHnoHpHHqHrHstHHvwHxHyHzHH{H|H}H~HHHHp2AP _o}bHbpHH'HHHHHHHHHHHHHpHpHHHH6HHHH6HpHDbHHHHHHHHHp666Hp'HDppppDb6ppHppHHHHHDp H  HH H 6HpHpppp~pppp"H' !H#.$-%b&H'H(H)H*H+H,HHH p/p1p2a3W4I5?67;89D:D<=>@AEBCD6}FGHJKLSMRNPObQ/?TUDV}XoYZ_o[\p]^poop`ppblchdpepf'pgpip6j6k6mpnpo6pqrstzuvwxy{|}~bpppppp    HHpHHHHNHHHDDDDDDDbDHppppppppppHHHH^H'HHHum!66$6PU6\ 6v6H66{ {   6  V6U66666/6 #I0(% "3!3#$333&'333)*-+,3./331>283534367T393:;<=3q3?D@33AB33CEEGF333H3JfKVLQMON333P3R33STUW`X^Y[3Z\33]3_adbc33e33gthqimj33kl3nop3ߞ3r3s3uzvx3w3y3{}|3q33~333S33333333333ET333q33333bC3q33333333q3T33333333333333333E333333T3333363C336ƢƢ 3C3333  3 3 33333333b35+$! 33"#33%(&'Sb)*3,3-13./3q03233346G7A8=9:b3;3<33>33?S@3EBD3CC3EF33HNI3JMKqL333OPS3QREEUVsWhX_Y[3Z\33]^`eadbc3q3Ʋfg33ipjmkl33n3o33q3r36tx3uv33wƲ6yz}{|3T33~S333T336T33E33TT3T333S633333633q333343363333h333333333333T33E33T333S33T333333363333qbq33333336 333  " 33 q3333339(33333Ʋ$3 #3!C"C33%&'3)4*-3+3,3.2/10)333333563783:T;C<?=33>3@3AB3q3DG3E3F3HJI333KL3CMCNOCPCCQRCCSC2U]VZW3XY633[33\36^a3_`33bfc3dSe33g36ijkltmp3n3oƲq3rs3Tu3vwx3yz{|}~BP_n~n3333Ʋ333333T333333T333C333C3S333)33333T33333333Ƅ33C3333333q33q3363q3333 363T33C33      E636  3q    3    33q      3q     3 33 3 33 33  ! "33 $ %  &  ' U ( B ) 8 * - + , . 4 / 1 0 2 3H 5* 6 7*z 9 ? : = ; <a* > @ A8 C N D J E G F* H I K L M O P Q R* S TVV V } W d X [ Y Z \ ` ] ^ _ a c b  e l f h ga i j k1 m { n p o q r s t u v w x y z |* ~          a       $$ $͌    $                 Q           $                \ !      a  aa           1          $              $                    !!2!!!!!!!!!!!! ! ! ! !! H!!!!!!xn*!!!zK!!!!!*!!&!! !#!!!"!$!%W!'!,!(!)!*!+*!-!.!/P!0!1!3!K!4!=!5!6!9!7!8!:!;!<!>!?!@!B!A!C!G!D!E!Fu!H!I!JI!L!S!M!N!O!P!Q!R!T!Z!U!V!W!X!YH![!\!]!_1I!`)!a&!b$Z!c""!d!!e!!f!g!h!i!!j!u!k!s!l!n!m!o!p~!q!rB!t !v!~!w!y!x!z!}!{!|!!QQ!!QQ!!!!!!!!!!!ٻ~!!!!Q!!!!!!!!!!!!!!!!!!!!!k,!!!Q!Q!!!%%!!%!%!%!%!%!%!%!%%!%!!%:% s!"!"!!!!!!!!!!!&K!!&h&h!!&K!&K&K&K!!!!&K&K&!!&K&K&!!!!!!&K!!&K&K&!&K&K!&&K!&K!!!&K!!!!!!!!&K&K&K!!!!!!S:!$H&K!!&K&!!!S!SS!" !"!!&K!!&K!&K&K!!&K&!&K!&K&&K&h"S"""""""" " " " &h"""&K""""&K"VeS":S"&hS"$t&K"&K""""&K&K&&&Kd" "!v"##"$""%""&"S"'";"("4")","*"+"-"3".O"/"1"0"2"5"8"6"7%"9":2"<"I"="A">"@"?3 v"B"H"C"D"E"F"G"J"M"K"Lv%"N"OQ"P "Q "R "T"f"U"["V"X"W"Y"Z s"\"_"]"^OPO"`"e"a"b%"c"dxww!2"g"p"h"k"i"j2"l"o"mQ"nr:ЖQ"q"w"r"s"t"u2"v2Q"x"y }n"z"{%"|"~"}BBvB"Bv""""""""""S"" %""""$"O" Q""O"""""b""%!$O""""""O !"""~%""""OO""O% """""""" O"" %""""""C"!%"" _OO""""""O"""""{"""""""""{"""""{{"3%"""v"z O""""_3 s""m"#H"##"""""" }%""""""""""""""""O""a"""SS"#v#### v###v#v#zvv#v# v# vz# ## vv#v#zv##v#zv#vv#v####vv#v#z##!#vv#v# vv#"v>#$#/#%#(#&#'%vm#)#* #+O#,QQ#-#.QvQ#0#:#1#9O#2#3#6#4#5  #7#8 #;#B#<#=O#>O#?O#@O#AO"O#C#D#EB#F#G#I#f#J#]#K#N#L#M%v%#O#\#PO#Q#X#R#U#S#T 4#V#WFw#Y#[ #Zw  Q#^#c#_#b s#`#a%2#d#eO$#g#~#h#k#i#j%3#l#r#m#n#o#p#q#sU#t#z#u#x#v#wyo$yo#yy$#{#|#}yo######%#O%###################################################%# 3#### %##r%######SQ ##O%####v#######v$######### !#xn###*:## }%####%##%O######## &|##########C#C#!##!!!#$/$$$$$$$$%%$$$$CC$ C$ C$ $ CC$ $CC$C$$C|8C%$$$$%%$$%m$$&$$$$$ $!wT$"$#uO$$$%%$%$'$-$($)%O$*$+m$,mIm$.$0$G$1$8$2$5$3$4m$6$7O$9$D$:$C$;$B$<$?$=$>OI$@$A% $E$F%$H$O$I$L$J$K#A$M$NO$P$S$Q$ROqO%$T$Y$U$V$W$X  ,$[&$\&$]%$^$$_$f$`$c$a$b mU$d$em$S:$g$$h$i$j$k$$l$~$m$s$n$o$p$q$r $t$u$v$z$w$x$y${$|$} $$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$ $ $$$$$$$$ $$$$$$$$$$$$$$$$$ $$Oy$$$$$$$$$$$$$$~~$$$$$$$$$$$$$$^$$ $$$$$$$$$$$$$$$$$$$$$$Y$YY$Y$$YY$Ym$$$ $$$$ $$   !$%%%O%rt%%#%%%%% % % % % %%%%%&}%&Z%%%%%  _%% #%%&Y%%m% %%!%%"%X%#%?%$%3%%%,%&%)%'%(%*w%+w%-%0w%.%/w%1%2%4%8%5%6%7%9%<%:%;%=%>%@%L%A%E%B%C%D%F%I%G%H%J̿%K̿%M%T%N%Q̿%O%P̿%R%S%U%V%W%Y%r%Z%f%[%b%\%_%]%^%`%a%c%d%e%g%n%h%k%i9%j99%l\9%m9\\%o\%p\%q\%s%%t%x%u%v%w%y%|%z%{ %}%~ %%%%%%\\%\\%%%%%\%\%\%%%%%%%\%%%%%\\\(%3(%(3\%%\%\%\%%\%\%%9\%\9%%%%%%%=9=%999%9%9G%%GQ%%%\Q\\%%%%%%%%%[%[\%%e\e%%%eoo%o%\%%%%%555R%yR%Ry%%%%\%%%%9\99%%%%%%%%%%%%%%%%%%%&%& %&%%%%%%%%%%%%%%%%%&%&%%&&&&&&& & & & &&&&&&&&&&&&&G&&8&&*&&"&&5& v5&!5v&#&&&$&%$$&'&($//&)/&+&1&,&-:&.&0&/D:DDN&2&5&3XN&4NXb&6&7lbl&9&:&@&;&?&<&=l``&>`ww&A&D&B&CRR&E&F&H&T&I&Q&J&O&K&N&L&MH&P&R&S&U&V&W\&X\m&[&z&\&]&^&_&l&`&g&a&d&b&c4C Qy&e&f Q#P Q&h&j&iy&k#Py&m&t&n&q&o&p;(&r&s Qy Q&u&w4&v4y&x&y44z &{&|&~&&&&&& &%&%&%&%&%&&%&%&%%&%&&%%&%$&&&Q&&&&&&&&&&2*&&%& &&&&&&&&&&&&&&&&& &&S&&&&&&&&&&&&&&&&&&&&& &&&& & &&  & && & &&&&&&&&& && &&&&&&  s&&9 s&&{5 s&&&&*r&&d&&&&r& }*&&*Q%&&&S&&%&''%'''' _'' }%')' '~' '' ' ' '~5~5'~5''~5~5''~5'~5~5''~5'~5~5'~5''~5'~5'~5~5''B '' '% '!'"'# '$  '&'4'''(')'*'+','-'.'/'0'1'2'3K'5'6'7'8'9':';'<'='>'?'@'AK'C'D'T'Ew'F'G'P'H'L'I'J'K%'M'N'O 'Q 'R'S"~'U'n'V'^ 'W'X'Y'Z']'['\ } '_'e'`'a'b'c'd 'f'k'g'i'h'''j Q 'l'mu'o'p'w'q'r't's o'u'vv 'x'y'}'z'{'|'('('''O''''''OO''O'O'O'OO''OO''O'O#O'''''''OO''OO''O'O'OO'Ow!O'O''O'O'OO'"O'''OO''O'O"~OO''OO'O"''O'O''OO''OO''OO'O'O#O''O'OO'O'O'O'#OO''O'O'O'OO''O'O'OO'O''OO"'('(7'''''O''O'O'O'O'O"''O'O'"OO'"~O''O''''OO''OO''OO"'OO'"OO'O'O''O'OO'##'###'("'('( '('O''O'O''OO"'OO'O((OO("~O(OO((O(OO("O( (O( ( OO( (O(O""O((O(O(O(O(O(O"O(O(O(OO(O((O(O( OO(!"OO(#($(1(%(+(&O('OO((()O(*OO"O(,O(-(.OO(/O(0O"(2O(3OO(4(5OO(6O"(8(](9(J(:(DO(;(<O(=OO(>(?OO(@(AO(BO(COOw!(EOO(FO(GO(HO(IOw!(K(S(LOO(MO(N(OO(POO(Q(ROO"(TO(U"O(V(WO(XOO(Y(ZOO([(\O"~O(^(j(_OO(`O(aO(b(cOO(d(eOO(fO(g(h(iO""O(k(s(lOO(m(nOO(oO(p(qOO(rO"(t({(uOO(v(wOO(x(yO(zO"O(|OO(}(~O(O"O((O(((((O((OO((OO(O(O"O(O(O(O((O(O(O"OO((OO(O((O(O(O(OO"(((OO(O((((O(OO(O"((O(O(O(O"(OO(O(w!O((((O(O((O(OO(O((O"O(OO((O(OO(O(O"((((((((O(O((OO(O"(O(OO((O"O(OO(O((O"O(((OO(O"(O(((O(O"OO((OO"(O(O(O"O(((((((((u(((((((((((((((($((3())3))))))))) ) ) ) ) ));))))%)) }v)+))))F))#)) ))% _)!)")$)A)%)@)&)')? s)( s)))* s)+ s s),)-)6). s s)/ s)0)1 s)2 s s)3)4 s s)5 sB)7 s s)8 s)9 s): s);)< s s)=)> s sB s)B)Cv%)D )E )G))H)I)J))K)h)L)^)M)P)N)O )Q)R)S)Y)T)W)U)V!!)Xs)Z)\)[!!)]!s)_)b)`)a)c)d)e)f)g)i))j)m)k)l)n)p)oC)q)r))s)v)t)u)w)x)y)z){)|)})~))4))))%O))%)))))))))})L,))[LLi)))L#L)w))))))))))))) !)))))))C))))) o))))))))) a)))))))))) !)))))) 2)))))#A)))))))))) }))))'\' Q)) QZ Q)))))+)*)*G)* ))))))y)))))))))})pC))))`p)*rt******** **I*fW* * IWf* *&**%*Q******vv***  **  ** ** * us * *!*#*"*$!O _*'*F*(*A*)***+*,*1*-*/*.*0*2*?*3*<*4*5*6*7܀*8*9*:*;*=*>*@*B*C N%*D*E% N N%*H*v*I*L*J*K *M*NO%*O*P*]*Q%%*R*S%*T%*U%*V%%*W*X%*Y%*Z%%*[*\%x%*^*j*_%*`%*a%%*b*c%*d%%*e%*f*g%%*h%*iyQ%*k%*l%%*m%*n*o%*p%%*q*r%*s%%*t*u%$%*w**x*y*z*{**|*}*~******************U**%* %**************************y****** o**/*****************2***!********#A*#A** ************* !*v****%******************% !*)**r*++e++ +++9++*++#+++ + O s+ %+ + %%+%+%+%+%+%++%++$%$%+++O+  + r++++ +!+"#P+$+'+%+&O+(+)+++3+,+/+-+.%%+0+2+1 _ +4+7+5+6 QO+8%+:+P+;+B+<+?+=+>Q+@+AO%O+C+K+D+E+F+G+I+H Y+Jq q+L+O%+M+N sV+Q+`+R+Y+S+Tm+U%+V+W+X  +Z+[+\+] }+^+_7FUӈ+a+c+bd+dO+f+m+g+j+h+iU+k+l|+n++o+p#A+q+r++s%%+t%+u%+v+w%+x%%+y%+z+{%%+|+}%+~%%+yB%+++%+%+%%+%+%+%+%+%+:%%+%++%+%%++%+%%+%++%+%+%٬%++r+-Y+-3+-1+-.+-O++,+,+,.+O+,++++++++O+OO+O++++O+OO"O+O+Ow!++O++++OO++O+OOw!+O+OO+O+O"O++OO++OO+O+"O+OO++O+O+OO+O++OO"~++++O+O+O++O+++"+"O"+O+O"O+++++O+O+O+O+OO"~+O+O+OO++OO"~O+O+++O++OO+O"++O""+"+"O+,#+,+, +,+,+,+","O",O,O"OO"",",",", "#, ,, OO, ,O,#O#O,,#O,O,O#,,,O,O,O#,#O,, O,O,,w!Ow!w!,!,"Ow!OO,$,%OO,&O,',(OO,),*O"OO,,O,-|OO,/,0O,1,t,2,Y,3,;O,4,5OO,6O,7O,8O,9,:OO"~,<,Q,=,I,>,C,?OO,@,AOO,BO"~O,D,EO,FO,G,HO"#O,JO,KO,LO,M,OO,NO",PO"OO,R,SOO,T,UO,VO,W,XO"~"~OO,Z,[,gO,\,],b,^OO,_O,`,aO"OO,cO,dO,e,fOO#,h,n,iO,jOO,k,lOO,mO"~,oOO,pO,qO,rO,sO",uO,vO,wO,x,O,y,zO,{OO,|,},~"~O"O,,O,O,,O,O"~O,O,,O,O,"OO,,OO",O,O,O,OO,,OO,,OO,O,O,,O,O"OO,,-,O,-,,,,,O,,,O,,,O,OO,,O"O,,O,,","O",O,,,O"OO,O"O,,,O,O,,","O",,,"",""",",","O,O,O,,,,,,,,,","O"",",O#,,,O#O,#O,"#,w!,,,O#O,w!O,O#,O,,w!,,O,Ow!O,O,O,OO",,,OO,,O,OO,O,O,,OO"O,,,O,,,O,,OO,O,"OO,O,O,O,O"O--O-O-O---OO"~O-O"~- O- O- O- O- O--O-O--OO-O"-OO--O-O"O"~--"~"~--"~O"~Q-Q-Q- -!QQ-"-#Q-$QQ-%-&QQ-'-(Q-)QQ-*Q-+-,Q--QQs-/-0-2 }-4-K-5-H-6-7 -8-9-:-;-<-=->-?-@-A-B-C-D-E-F-G -I-J*-L-O-M-Nr &O-P-X }-Q-R-S-T-U-V-Wv%-Z/-[.-\- -]-^--_--`-q-a-d-b-c-e-f-g-h-i-j-k-l-m-n-o-p-r-u-s-t%-v-wO%-x-y-|-z-{-}-~W%------OQ-- _q----%---------------------O----Q-O%--%v------%-----3 ! ----%--v_-----------V--VV-V-V---------------Y-KK-K$--% !----%-%------I-- !------- R---#A--#----Q--QQ-. -.-.-....%.. ..%. .  ! . .....O%O..%....%vO..%.O....f..Q. .5.!.0.".(.#.$.%.&.'.).*.+Q&>.,...-QQ&>./&>Q.1.2.3.4Q.6.=.7.:.8.9.;.<v%.>.C.?.@.A.Bu.D.E%.F.G%.H%.I%.J.K%%.L%.M%.N%.O%.P%$.R.e.S.X.T.U.V.WG.Y.Z.[.a.\.].^._.`44'>.b.c.dwE..g..h..i.w.j.kvv.lv.mv.nv.o.pvv.qv.r.svv.t.uv.vvv#A.x.y.}.z.{.|&Y.~..$............yO%......z v..... .  ..2............^.......... ......................%......,v.....   ........B..n..K....|*...O..%...Q%......Q%..%./.......}}...}}}/}/}//#Q ////// / / 2 _/ / ////////P// ///O///% !%// }%/ /K/!/>/"/4/#/%/$W/&/)/'/(/*/+Z/,/-/.///0/1/2/3/5/=/6/7/</8ې/9ې/:ې/;ې%/?/F/@/C/A/B /D/E/G/J/H/I}T/L/w/M/`/N/O/Q/PW/R/SI/T/UI/VII/W/X/\/YI/ZII/[4I/]I/^I/_I4I/a/p/b/m/c/l/d/e /f /g /h  /i /j /k C#_4/n/o4I/q/t/r/s)Zr/u/veW/x//y//z/|/{SI/}/~G///////eW/f4////IJ//////%///////////W////bS///////5(//5//I/  ///////vQ//%v//// } s%O/8////////QQ//QQ/Q/QQ///Q///Q/Qv}/QQ//Q//Q//AQ}Q/////v/QQ////Q/////Q//Q/QQ////////O/O/"///////%~O"/O"/%~ }O/0|/08/0(0000 00"000 Q000 Q0  Q Q0 0  Q0  Q0  Q0 Q0 Q#P Q0 Q Q0 Q0 Q0 Q00 Q0 Q' Q00000000 0!qU0#0$0%0&0'wE0)050*0+0,0-030.010/00**02*04 *0607090a0:0=0;0<0>0?0@0J0A0B0C0D0E0F0G0H0I0K0L0M0W0N0O0P0Q0R0S0T0U0V0X0Y0Z0[0\0]0^0_0`0b0h0c0g0d0e0f20i0j%0k0l0w0m0q0n%0o0p % %0r0tr:0s:%0u0v %%0x0y0z0{%%0}00~0000000000Q00Q00Q000Q0000Q0Q000QAAQ0Q0QQ0AQ000Q000QAQQ0AQ000Q00AQAQQ000AQAQQ00000Q0000QAQ0QQA0Q0Q0QAQ000Q000QAQ0QAQ0Q000QQAQ0QAQ0Q0000%0 N%% N%0%0% N00000%O000$00$$0$%000000%%00%S%00000%00000000%0000000I000I00%000ٝ٬ v00Q%01!0101111Q111 111{C1 11 1 11 1 11IR%111111%1111111 O" 1"1:1#1-1$1'1%1&1(1,1)1*1+O1.111/10v1213141518161719 1;1B1<1?1=1>O s1@1AOvO1C1F1D1EO 1G1H 1J21K11L1g1M1S1N1O1Q1P1R1T1U1V1W1X1Y1Z1[1\1]1^1_1`1a1b1c1d1e1f1h1|1i1j1k1l1m1n1o1p1q1r1s1t1u1v1w1x1y1z1{1}11~18K1uu1111111111K111KK11KK11K1KK11KK1K11K1KK1K1K1K1K1K1KK1K11K1KK11K1KK1K11111w11111111111111=11111111111111111111111111111111111111111111111 11 11211111111111111111122 22 222222#K122 2 2 22H22H22222221w 22222222 2v2!2D2"232#2$2%2&2'2(2)2*2+2,2-2.2/2021222425262728292:2;2<2=2>2?2@2A2B2C2E2V2F2G2H2I2J2K2L2M2N2O2P2Q2R2S2T2U2W2X2g2Y2Z2[2\2]2^2_2`2a2b2c2d2e2f2h2i2j2k2l2m2n2o2p2q2r2s2t2u2w22x2y2z2{2|2}2~22222222222222222222222222222222222222222222222222222222222g222222222222222222222222222222222222222222222222222222222222222222233N3333333333 3 3 3 3 333333333313333H33133(33%33"3 3!3#3$13&>3'U3)3,3*3+3-3.>3/30F$u>323=333634#35#373:3839ww3;3<uK 3>3D3?3B3@3A  UH3Cq3E3G3F$U3I3K3J3L3M3O3Q3P>3R3T3Sw3U3V>3Xj3YM3Z43[3b3\3]3^3_3`3a3c33d33e33f33g33h3i*3ja3k3{3l!3m3r3n3p3o*$3q$W3s3t3u3x3v3w1w3y3zwHH3|33}3~33=a33%33%3%%3%33%3%%33%3%%3%3%33%%33%%3a3aa33a3a3aa33aa33aa3a33a3!3333333a3a33a3$$a3W33WW3!33333'333'3'333'3'333333''33'3'3''33333*34F34E34%343333433333333*33333333333333333333333333333344&444$a*44a4 a4 a4 a4 4 4#44*W444444<444444<44444 4!4"4$4&4'4(4)4*4C4+454,414-4/4. 40**$ 4243$44464748494:4;4<4=4>4?4@4A4B4Da*4G4S4H4I*4J4R4K4L4M4N4O4P4Q4T4m4U4VW!4W4X4f4Y!4Z4[a4\4a4]aa4^a4_a4`a4b4e4c4d$*4g4j4ha4ia4k4la4n4u4o4p4q4raa4s4t4v44w4x4y4z4{4|4}4~4444444444a444*44*4**44*l4*l444**4*4*4*4*l4**44*4**l464645454544544444444444444444444444444444444444444444444444444444444444444444444444 444u44uu44u4u444uu44uuu4u44uu44455"555555555 5 5 5 5 555555555555555555 5!5#5$5]5%5K5&575'5/5(5,5)5+5*  u5-5.15054515352 5556 u585?595<5:5;  5=5>|*45@5E5A5B5C5D5F5H5G5I5J1 5L5S5M5N5Ru5O5P5Q 5T5U5[5V5Y5W5X  5Z  5\ 5^5v5_5q 5`5a5b  5c5p 5d 5e5f5k 5g 5h5i5j  K5l 5m 5n5o  1 5r 5s5t 5u 5w55x5~5y5{ 5z  5|5}   u5 55u   555  5  5555   u55wT5 5555555555A85555885855555555555g5555555551555515555 5 5u 5151555555585558555858555g5555558555555555555555555858585855g58g58558gg5g85656W556H5656565555556666H16666 66 6 6 66 66 6666666U  66666KU6616 6#6!6"6$6'6%6&6(6-6)6,6*6+uguu6.u6/60uuu626B636>6468656667 696<6:6; H6=H6?6@6AH6C6D6E6F6G#6I6P6J6K6L6M6N6Og6Q6S6R86T6U6V6X6q6Y6i6Z6[6\6]6^6_6`6a6b6c6d6e6f6g6h6j86k6l6m6n6o6p 6r6s6t6u6v66w6x6y6z6{6|6}6~666666666666666666666666666666666666666666666666666666H666666666666666666666666666666  66 4uK66666666666666666666666CH6;;68-68(66666666666 6 %6777%77y7777777 7 7 7 7 77F7F777777777Y77;77'O7O7O7O77O77#7 OO7!O7"O"O7$7%OO7&O"O7(7)O7*71O7+7,OO7-7.OO7/O70O"72OO73O747578O7677OO"O79O7:O"7<7O7=7F7>O7?O7@O7AOO7B7COO7D7EOO"7GO7HOO7IO7JO7KO7LO7MO7NO"O7PO7QO7RO7SO7T7UO7VO7WOO7X"O7Z77[7y7\7p7]O7^7iO7_7`7e7aO7bO7cOO7d"OO7fO7g7hO"O7jOO7k7lOO7m7nOO7oO"7qOO7r7sO7tOO7u7vO7wO7xOO"7zO7{O7|O7}77~O7OO7O77O"O7OO777O77OO"7OO7O"7O7O"OO7O77OO7O77O7O7O7OO7O7O7Ow0777OO7O77O77O7OO7O7O(O787OO777O77O7O7OO77OO77O7OO7"O77777777777OO7O77O7OO"7OO7O7O7O7"O7O7O7OO77O7O"O7OO77O7O7O7O7OO"7O7OO77O7O7O7O7OO"77O7O77OO7O77OO7O7"O7OO778777777O7O7O"7O7O"O7O7O7O"O7O777OO7"O8OO8O"88O8O8O88O"O8 O8 OO8 8 8 "O"OO8888O8OO8O88OO8O88OO8O88OOw0O88O8OO8 O8!8"OO8#8$O8%O8&O8'Ow0O8)8*8,Y8+% 8.;-8/;(8082818384 s8586:~878_88O898K8:8BO8;8<O8=OO8>O8?8@O8AO"O8CO8DO8EO8FOO8G8HOO8I8JO"O8L8UO8M8NOO8O"8P8QO8ROO8S8TOw!OO8V8W8X"OO8Y8ZOO8[O8\8]O8^O"O8`9f8a88b8r8c"~"~8d8e8k8fOO8g8hO8iOO8jO"~8l8oO8m8nO"~OO8pO8q"~O8s88t88u8{O8vO8w8x8yO"~8zOO"~O8|8}8~O"~O8O88O8O8O"~O88888OO8O8O"~8OO88OO"~8O888O888OO88OO"~8O8OO8"~OO88O8O8OO8O"~88O88O8888O8O88O8OO"~O"~8O8O"~O8O88O88O8O8OO"~O8O8O88O8OO8O"~8988888"~888OO88O888O8OO"~8O8O"~O8OO8O88OO88OO"~8O8OO88O8OO8O8O8O"~88888888O8"~OO888O88O8OO"~8OO8O8O"~O88O8O8OO"~888O8O"~OO8O8O8O"~898O898OO8O88O9O"~OO"~99 O9O99OO9O99 OO"~9 9O9 9 O99O9O9"~O9O9O"~O9O999O9OO9O"~9O9O9OO"~99J9 959!9(O9"9#9%9$OO"~O9&O9'O"~9)9.O9*9+O9,OO9-"~O9/OO90O9192O"~9394"~"~O969F979<98OO99"~9:9;O"~OO9=9>O9?O9@9CO9AO9B"~OO9DO9EO"~"~9G9H"~9I"~""~9K9T9L"~9MO9NO9OOO9P9QOO9R9SOO"~9UO9V9[O9W9XO"~9Y9ZO"O9\9`O9]O9^O9_"~O9aO9bO9cOO9dO9eO"~9g99h99i99j9s9kO9lO9mOO9nO9o9pOO9q9rO"OO9t9uO9v9|9wO9xOO9yO9zO9{"O9}OO9~9O9OO9"O9O999OO9O9"O99O9O9O9O9O"99O99O9O"O"O9999O"999O9O9OO9O"O99OO99O99"OO"999O99O99OO99O9OO9O"O99O99999OO9"O999OO"O9O"9O9O"9O"O9O99O9OO999O9O9O"99O"O9O"9:&999O9O999O9O9O9OO9O9"OO99O999OO99OO"9OO9O9"O9:99999OO"9"9O99O99999"O"O99"OO"9O9O99O"O"9O999O9""9O9O9O"O:O:O:O:"O:::::: :OO: : OO: : OO"O::O"O:OO::O::O:O:O":O:O"OO::O:O:O::"O: O:!O":#O:$:%O"O":':^:(:::)OO:*O:+:,:1:-OO:.O:/O:0"O:2:6:3OO:4O:5"O:7OO:8:9O"O:;O:<:S:=O:>:I:?:CO:@O:A:BO"OO:D:E:G:FOw!O:HO"O:JO:K:P:L:N:MO"O:OO#O:QO:RO"O:T:X:UOO:V:WOO":YO:ZO:[O:\O:]OO":_:hO:`:aO:bO:cOO:dO:e:fOO:gO"O:i:j:w:k:q:lO:mO:nOO:o:pOO":rO:sO:tOO:uO:v"O:xOO:yO:z:{O:|O:}O"O:::::::::::::OO:O:O::O:OO::O"O:"O::O:OO::OO::OO"::O:":O::O:O:O:OO:"O:::::OO::OO::O:O"O::O::OO::O:OO":OO:O::O:O"O:O:OO::O:OO::O"OO:O:O:O:"O:O:O::O::O:O:O:O:O:O:O"OO:O:O::OO:O::O:OO":O::::O:::"O:OO::OO:O":OO:O":::OO::OO"O:O:O:O::O:OO:##O:;::O::O:O::"O:OO:O:O:O";;;OO;O;O"O;;OO;O"O; ; ;O; ; OO; O;;OO;O;O";;O;O;;OO;;O;O;O;;O;O"~;O"~O; ;&;!OO;"O;#O;$O;%"O;'OO";);+;*;, ;.;8;/;1;0;2;37;47;5;6;77s;9;:;<C;=?M;><;?;@<;A;B;;C;v;D;V;E;J;FOO;GO;HO;IO"O;K;LO;M;O;NO"OO;PO;QO;RO;S;TOO;UO"O;WO;XO;Y;Z;eO;[O;\;];`;^O;_O"O;aO;b;d;cOO"~"O;f;p;g;l;hO;iOO;j;kOO"O;mO;n;oOO";qOO;rO;sO;t";u"O;w;;xO;y;};zOO;{O;|"O;~OO;;O"O;O;O;O;;;OO;;OO;;OO";OO";<";;;;;;;;;;O;;;;;OO;;O;OO;O";O;OO;;O;OO"O;O;O;O"";;O;OO;O;;OO;;O"OO;O;O;;O;OO;O;O;O;"O;;O;;O;O;;O"O;;OO;O";O;OO;;O;OO;O;;OO;O;;;;;;;;O;O;;OO;O;O;O;O";O;O;O;O;OO;O;O";O;O"O;OO;;OO;O;;OO;O;O;"O;<;<;;;OO;O";O;;O;O;;OO";O;OO;O;O;O"<< <O<O<OO<<O<OO<"OO< < OO< O< O<<O"<"O<O"<<O<O<OO<<OO<O<O"<<<OO"~<@"~O<<<=<=Q<<<<<((<<((<(<<(<(<(<((<<((O<(<((<<((<<((<<(<((<<(O(<= <<<<<<O"<<O<<O<OO<O<O<O<"OO<<OO<O<O<<O<OO"<<O<<OO<<O<OO"O<O<<O"O<O<= <=<<O<<O<OO<<O<"O"O<O<<O<O<O<<O"O"===OO==OO==O=O"OO= = OO""O= =0=====O=OO==O"OO=O==OO=O==O=O=O"O=='=O= O=!OO="O=#O=$O=%O=&"OO=(=)O=*OO=+=,OO=-O=.=/OO"=1=H=2=;O=3O=4"=5O=6O=7=8OO=9=:O"O=<O==O=>O=?O=@=D=AO=BOO=CO"=EO=FOO=GO"=IO=JO=KO=LOO=M=NO=OO=PO"O=R==S=_=T"=U"=V"=W"=X"=Y"=Z""=[=\""=]"=^"E=`"=a==b=iO=cO=dO=eO=f=gOO=hO"=j=u=kO=lOO=m=nO=o=r=pO=qOO"O=s=tOO"=vO=wO=xO=y=}=zOO={=|O"OO=~=O=OO"===OO====OO==OO==O"O==O===="O="OO==OO"O=O=O=O="O==O==O=OO==O=OO=O"O=O==O=O=OO"=O===O=OO=O="~O=OO===O""O====O======O===O=OO==OO==OO=O"O==O=OO=O==OO"O===O==O=OO"=O=O=O=O=O"O===O"O=O=O=OO=O=O==OO=O="O"~===O=O=O==OO==O"~O==O=O==OO"=OO=O"O==O===O=OO==OO==OO"=O>>O>>OO">OO>"O>?K>> ?> >2> "> > > >>"">>""">">>">">>"">>""">"">>">">">"""">!>">/>#">$>*">%">&>'"">(">)#">+"">,">->."""">0>1""">3>>4>X>5>F">6O>7>8O>9O>:>@>;OO><O>=O>>>?O"O>AO">BO>C>DOO>EO"~>G>V>HO>I>QO>JO>KO>LO>MO>NO>O>POO">RO>SO>TO>UO"O>WOO">Y>s>Z>i>[>eO>\>]O>^>a>_O>`O"OO>bO>cO>dO">fO>gOO>hO">jO>kO>lOO>m>nOO>oO>p>qOO>r"O>t>O>uO>vO>w>x>~>yO>zO>{OO>|O>}O">O>O>OO>O>O"~O>>>O>>O>O>O>OO">O>OO>O>O>O""~>>>>>>>>O>OO>>OO"~>O>OO>O>O"~>>>OO>>>>O>O>OO>O>"~OO>>O>>>OO>"~O>OO>O"~>>O>>>O>O>>OO>O>O"~O>>O>OO>>O"~O>OO>O>>OO>O>O>O"~>?>>>>O>>>O>O>"~O>>O>O>"~OO>>>>>O>O"~"~>"~O>O>>O"~"~O>>>O>OO>O>O>O>"~O>>>>>OO>O>O>"~O>O"~OO>>OO>>O>O"~O>OO>>>O>O>>O"~O?OO??OO"~???? O??O?O"~O? OO? ? OO? ?O?O?O"~O?O?O?OO?O??OO"~O???$?O?OO?O?O?O? ?!O?"OO?#"O?%?F?&O?'O?(?.O?)O?*?+OO?,O?-"~O?/?>?0?4?1O?2OO?3O"?5?;O?6?7O?8OO?9O?:O"~?<O?=OO"~O???@O?AO?BO?CO?DO?EOO"~?GO?HOO?I?JOO"?L8T?N@s?O@q?P?{?Q?_?R?S?T?U?V?W?X?Y?Z?[?\?]?^ ?`?a?b?o?c?d?e?f?g?h?i?j?k?l?m?n?p?q?r?s?t?u?v?w?x?y?z?|?}??~???O????O?OO"~O?O?O?O?O?O?O?"~O??O??O??O?OO?O"?O???OO?O?O?O"O?O"?OO?O????OO??O?O?OO"~O??O"O??"?????O??O???O?OO?O?O?O?O?"OO?O?O?O?O"?????O?O?O?O??O?O"O??O?O"OO"O?"OO???O"???O?O?O?OO?"OO??O?O?O?O"O?@???O???OO?"??OO?O??OO?O?O"O??O?O?O?O?O?O??O?O""?"O?@?@ ?@O?O??OO?@OO@O"@OO@O@@O@O@O"OO@ @ "@ O@ O@O@O@O@O@O"O@O@OO@@OO"@@a@@C"@@@-@@%@OO@@ OO@!O@"@#O@$OO"O@&O@'@(O@)OO@*@+OO@,O"@.@;@/O@0@4O@1O@2O@3"O@5@6"O@7OO@8O@9O@:"OO@<O@=@>O@?OO@@O@AO@BO"@D@NO@E@FOO@GO@H@I"O@J@KO@LOO@MO"@O@X@P""@Q@ROO@S@TO@UOO@VO@WO""@Y"@Z@[OO@\O@]@^O@_O@`O"O@b@f@cOO@d@eO"O@g"@h""@i"@j@k"@l""@m@n""@o"@p"O@rY@tC@uB@v@wBY@xA@yA@z@@{@@|"~@}"~@~@"~@@"~"~@"~@"~@"~"@"~@"~"~@"~@"~"@@@"@@@"~@"~"~@@"~@@"~@@"~""~@"~"~@"~"@@@"~@"~""~"~@@@@@@"~@"~"~@"~"@@@@"~@"~"@"~""~"~@@"~""~"~@"~@@"~@@"~"""~@@"~@@@@"~"~@"~@"~@"~"@"~"~@@"~@"~""~@@"~@"~@@@@"~"~@@@"~"""~@"~@"~@"~@"~""~"~@"~@"~@"~@@"~@@"~@"~"""~@@@@@@@@@@@"~"~@@"~"~""~@@"~@"~@"~"~@""~"~@"~@@"~"~@@"~"~@"~@""~"~@@"~"~@@"~"~@@"~"~@@"~"~""~@"~"@"~@A @A@"~"~@@"~@"~@"~""~"~AAAA"~"~A"~A""~A"~A"~"~A ""~"~A A AA "~A"~"~AA"~""~"~AA"~"~"AAUAA4AA$AA"~A"~A"~A"~A"~""~A"~AA "~A!"~"~A"A#"~""~A%A+"~A&A'"~A("~A)"~A*"~""~A,"~A-"~A."~A/"~"~A0"~A1"~A2"~A3""~A5ABA6A7"~""~A8"~A9"~A:A;"~A<"~A="~A>A@"~A?"~""~AA""~"~ACADAGAE"~"~AF"~"AHAO"~AI"~AJAK"~"~AL"~AMAN"~"~""~APAQ"~"~AR"~ASAT"~"~"AVAgAWA_"~AXAY"~"~AZA["~"~A\"~A]A^"~""~A`AfAa"~Ab"~"~AcAd"~"~Ae"~"""~AhAx"~AiAjArAk"~Al"~Am"~"~AnAo"~Ap"~Aq"~"~"As"~At"~"~Au"~AvAw""~"AyAAzAA{"~A|"~"~A}A~"~""~"~AA"~"~AA"~"~A"~A"~A""~AA"~AA"~"~AA"~"A""~AAA"~A"~"~O"~A"~A"~AA"~"~"AAAAAA"~A"~A"~A"~AA"~"~A"~A"~A""~AAAAA"~A"~A"~"~AA"~A"~"~"""~AA"~"A"~AAA"~A"~A"~A"~A"~"~A"~"A"~A"~A"~"~AA"~A"~""~AA"~AA"~"~AAAA"~A"~AAA"~""~A"~"~""~AA"~"~A""~AAA"~A"~A"~"~AA"~""~"~A"~AA"~"~AAA"~AA"~A"~"~""~A"~A"~AA"~""~AAAAAAA"~"~"AAA"~A"~A"~"~A"~A""~"~A"~A"~A"~AA"~""~A"~"~AA"~A"~A"~"~A"~"ABA"~BB BBB"~"~B"~B"~""~B"~BB"~"~B "~B "~B "~B ""~BBB"~"~B"~BB"~B"~B"~"~B""~"~BB"~"~B"~BB"~"~BB"~"~"BB6B B-"~B!"~B""~B#"~B$B%B)B&"~"~B'"~B("~"B*"~"~B+"~B,""~B.B3"~B/"~B0B1"~"~B2"~""~B4"~B5"~"B7BNB8BFB9"~B:"~B;"~B<B@B="~B>"~B?"~"~""~BABBBD"~BC"~"BE"~""~BG"~BH"~BI"~"~BJ"~BK"~BL"~BM"~"BOBSBP"~BQ"~BR"~"~"BT"~"~BUBV"~"~BWBX"~""~BZBB[BB\BsB]BhB^B`"~B_"~"Ba"~"~Bb"~Bc"~BdBe"~"~Bf"~Bg"~OBi"~"~BjBk"~Bl"~Bm"~"~Bn"~BoBp"~Bq"~"~Br"~ZBtB|Bu"~"~BvBw"~"~BxBy"~Bz"~"~B{""~B}"~B~"~"~BB"~"~B"~B"~BB"~B"~B"~Z"~BBB"~"~BB"~"~BB"~B"~B"~B"~B"~"~BB"~"~ZBBB"~"~BBBB"~"~B"~B"~B"~B"~""~B"~BB"~"~BB"~"~""~B"~B"~BB"~B"~B"~"~B"~B"~#B"~BB"~B"~B"~B"~B"~B"~B""~B"~B"~BBB"~"~BBBB"~B"~B"~#"~"~B"~BBB""~"~""~BBB"~B"~B"~BB"~"~"B"~"~"BBBBBOBBOBBBOOBBOO"BBBOBO"OBOOBO"BOOBBBOBOBBOOBOBBOBOBOOBOB"OBOOBBOO"BCOBBCOBBOBCBOBOOBOBBOOBOBBOO##OCO"COOCOCOCO"COC OOC C OC OC OCOCOOCOCOC"OCuCC;CC&CCCCCyCɓCCɓC ɓC!ɓC"C#C$C%ɓC'C8C(C1C)C,C*C+VVC-C.C/C0yC2ɓC3C4C6ɓC5ɓC7ɓɓFC9C:C<CBC=C@C>C? CA#PCCCECDFCFCGCIEACJDuCKCeCLCQCMCOCNCPCRC^CSCVCTCUCWCXCYC\yCZC[VyyC]VC_CcC`CaCb QCd QCfCkCgCjChCiClCnCmvCoCpOCqCCrCCsOOCtCuOOCvCwCCxOCyOOCzC{OOC|C}OOC~OC"OOCCOOCOCCOCOCOCOO"OCOCCOCOOCOCCOCOOCOCOCOCOCw0OCD@CCOCCCCCCCCCCOOCCCOCCOCOCO"OCOCOCOCOO"CCCCCOCOOCOCOCO"COCOOCCOOCO"OCCOOCCOCOOCO""COCCCCOOCCOOCCOO"COOCCOCOCOO"OCCOOCOCCOCOOCCCOC"OCC"OO"CCCO"CCOOCCOOCOCOCCOO"COCOOCOCOCOCOCOCCO"OCDCDCCCOOCCOCOCOCOCOCOOC"OCOODODODODDOODDODOO"D OD OD DD OD ODODODODODO"OODODODDOODDOOD"ODD5DODD'DOD OD!OD"OD#OD$OD%OD&O"OOD(OD)D*OD+D0OD,D-OD.OOD/"OOD1OD2OD3D4O"OD6OD7OD8OOD9D:OOD;D<OD=OD>OD?OO"DAODBODCDFDDOODE"ODGODHDtDI"DJDmDKDQODLDMOODNDOODPO"ODRDdDSD\DTDXODUDVDW"O"ODYD[DZ"O"O"D]D`"D^D_""O"DaDbDc"O"ODeODfDjDg"DhDi"OO"DkO"Dl"ODnODoODpODqODrODsO"O"ODvDDwDDxDyD{Dz8oD|D}*D~DDDDDDDDDDDDDɓDDDɓDDDDDDDWDDD sDE>DE=DDE<DDDDDODODODOODDDODDODOOD"O"OODDDDDDOODODDOODOD"~OODODOD"ODDODDODOODODDODOO"ODODODDOODDOODODDOODOw!DDDDODDDDDDODO"OODDODOODODDO"ODOODOD"ODDDDDDDODOODDOODDO"OODDODODOODODO"DOODDO"OODODDODODOODDOO"DE%EE EOEOEOOEEOOEOEOEO"E EOE E OE OEOOEEOEOOEO"OEEEOEOEEOOEOEEOEOEOw!OEOOE E!OOE"E#OE$O"OE&E+E'OE(OOE)OE*##OOE,E-E0E.OE/O"OE1E:E2OE3OOE4E5OOE6E7OOE8OE9O##E;O"OE?E@EBJECJYEDEEJTEFEGEHGEIFEJEEKEELEyEMEfENE]OEOEPOEQEWEROOESETOEUOOEV"OOEXOEYOEZOE[OE\O"OE^E_OE`OOEaOEbOEcOEdOEeO"EgEpOEhEiOOEjOEkOElEmOOEnOEo"OEqOErOOEsEtOOEuOEvEwOOEx"OEzEOE{OE|E}OOE~EOOEOEOEEO"OEEOEOEOEOEOEEOEOEO#OOEEOOEEEOE""EO"OOEEEOEEEOEEEEEOEEOOEEOw!OO"EOEOEOEO"EO"EOEOEOO"OEEEOEO"OEEOOEEOOEO"EEEEEEEOEOEOEOEOEOEOOEEO"OEEEEEEOEOEOEEOOEEOO#OEEOEOOEEOOE"OOEEOEOEOEOOEOE"OEOEEOEEOOEO"OEOEOE"OE"EOOEOEOEEOOEOEEOEOO"EEOEOEEOEOOEEOOEEOOEO"EFEOOFOFOFO""FFOFF FOOFOF F OF OOF "OOFFOFOFOFOFO"OFFFFwFFPFF1FF$FFFOOFOF"~OFOF OF!OOF"F#OO"OF%F&OF'F+F(OOF)OF*%OF,OF-OF.OF/OOF0"OF2FHF3F9OF4OF5OF6F7OF8O"OF:FAF;OOF<F=OF>OOF?F@OO"FBOFCOFDOFEOOFFFGOO"~FIOOFJOFKOFLFMFOOFNO""OFQFeFRF_FSOOFTFUOFVOFWF\OFXFYFZO""F[O"F]OF^O"OF`OFaOOFbOFcOFdO#FfFmOFgOFhOFiOFjFkFl##O#OOFnFoOOFpFqOOFrFsOOFtFuFvO""OFxOFyFFzF"F{F|OF}OOF~"OOFOFOFFOFOFOOFOFO##FOOFOFOFOFOFOFO"FFFFFFFOOFFFFOFOFOO"FOFFFOOFFOFO"OFOFOOFF"O"OFOFOFFOOFOFOFOFOF"OFOOFOFFOFOFOFOOFOFFO"OFFFFFFOFFFOFFOFOFOFOFO"OFOOFFOOFFOOF"OOFFOFOOFFOFOFOFOO"FFFOFOFOOFOFFOOFOF"OFOFFFOFOOFOFFOOFO"OFOFOFOFFOFO"OFGFGFFFOFOFFFOFOO"OFOF"OFOFOOGOGGO"OGG OGOGOGGOOG OG OG "OOG GOOGGOO"GGOGGOOGOGOGGO"OGG"O"OGHGH#GGG GQG!G7G"G(OG#G$G%O"~OG&OG'"~OG)G+G*"~O"~G,G2G-OG.G/"~OG0OOG1"~OOG3OG4G5OOG6""~G8GDOG9OG:G;G>OG<G=OO"~OG?G@GBOGA"~OOGC"O"~GEGFOOGGGHGNGIGMOGJGK""GL"""~OOGOGPO"~OGRGGSGwGTGkGUG\GVOOGWGXOGYOOGZOG["~OOG]G^GcOG_OG`OGaGbOO"~OGdGeGhOGfGgOO"~GiOOGjO"~OGlOGmOGnGoGsGpOGqOOGrO"~GtOOGuGvOO"~GxGGyGGzGOG{OG|G}OG~OOG"~OOGGOOGOGGOO"~GGGOOGOGOGOGO"~GOOGOGOGGOO"~GGGOGOOGGOOGGO"~OOGOGGGGOGOGOO"~OGGOGO"~OGGGGOGOGOGGOO"~GGGGOGGOOG"~O"~GGGOG"~O"OGOGGOGG"~OG##G"##GOO"~GO"~G"~GG"~G"~G"~"~GGG"~""~"GGGGOGOGOGOGGO"~OGG"~GGGOGOGGOGGGOGOO"~GOOG"~OGGGGGGOGGOGO"~OGOOGGOO"~GOGOGOOGO"~GOOGGOOGGOO"~GO"~GOGGOOGOGGOOG"~OHHHH HHOHOHOHHOO"H"~H "~H "~"~H ""H HOH"~OOHOHOHHOO"~HH "~HHHHOHH"~OO"~HOOHOH"~HO"~OH!H"O"~OH$HnH%HCH&H+OH'H("~OH)OH*O"~H,H3H-OH.H0H/OO"~OH1OH2"~OOH4H5H<H6H:H7OH8OH9OO"~OH;"~OH=H@H>OH?OO"~OHAOHBO"~HDH`HEHUHFHOHGOOHHHIHN"~HJHKOHLOHMO"~OO"~HPOHQHTHROOHSO"~"~OHVH]HWOHXOOHYOHZH[OOH\O"~H^OOH_"~OOHaHbHfOHc"~HdHeO"~OHgOOHhOHiOHjOHkHlOHmO"~OHoHHpHHqOHrOHsHzOHtOHuOHvOHwOHxHyOO"~H{OOH|OH}H~OHOOH"~OHHHHHOHOHOOHHOHOHO"~OHHHOOHOH"~OOHHOOHO"~HOH"~HHHOOHO"~HOOHHOHOHO"~OOHHHHHHOOHOHHOOHOHHOO"~HOOHOHHOHOHOHOO"~HOOHHOOHHOHOOHHOO"~HIzHIHHHHHHH"~HOOH"~OHHOHHOHOOH"~OOHHOOHOH"~OHHHOHOHOOHO"~HHHHO"~"~OHHOHHOHOHOOHOH"~OOHHOHOO"~HHH"~HHOHHOHOOHHOOHOHO"~HOHOHOHOOHHOHOO"~HIHIHHOHHOO"~IOIO"~OOIOI"~OIIIOIOOI OI OI OI I O"~OIIO"~IO"~OIIMIIKII/IIIIOIOIIOO"~OIIO"OOII I)OI!I"OI#I&OI$I%"~O"~I'OI(O"~OI*OOI+I,OI-OOI."~OI0ICI1I<OI2I3OI4I8I5OI6OI7OO"~I9OI:OI;O"~OI=I@OI>OI?O"~OIAIBO"~OIDOIEO"~IFOIGIHOIIOOIJ"~OOILO"~INIhIOI_OIPIQIXOIROISITOIUOOIVOIW"~OOIYOIZI[OI\OOI]I^O"~O"~I`OIaOIbOIcOIdOIeIfOOIg"~O"~IiIjIrIkOOIlOImInOOIoOIpOIq"~OOIsOItIuOOIvIwOIxOOIy"~OI{II|II}II~IIIOIOIIOIOOIOIOIO"~IOOIOI"~OIOIIOIOI"~OIOIO"~OIIIOIOOIIOOIIOOIIO"~OIIOIIOIO"~OOIIOIOIOO"~IIIIIOOIIIIOIOIOIOOI"~OOIIOIOIOOI"~OOIIIOIOIOIOIOIIO"~OIOOIOIIOOIIO"~OIIOIIOIOIOOIOIO"~IIIIOIIOIOIOIOOIO"~OIIOIOIOIO"~I"~OIOOIIOOIIOOIIO"~OIJ IIIIIOOIIOIIOIOIOIIOO"~O"~"~IOIOIOIOIO"~II"~OIJOIJO"~OOJJOJOOJOJJOOJO"~J JJ OJ OJ JJOJOO"~JOJOJOOJ"~OJJ.JJ&JJJOOJOJJOJOOJ"~OOJ OJ!J"OOJ#J$OJ%OO"~OJ'OJ("~J)OJ*OJ+J,OOJ-O"~J/J:J0OJ1OJ2OOJ3J4J7J5OJ6O"~OOJ8OJ9"~OJ;JHJ<JBJ=OOJ>J?OOJ@JAO"~OJCOOJDOJEJFOJGO"~OJIOJJJOJKOJLOJMOJNOO"~JPOJQOOJROJS"~OJUJVJWVJXVJZJJ[J\J]J^JfOJ_J`OOJaJbOOJcOJdOJeO"JgJJhJxJiOOJjJkOOJlJmOJnJuOJoJpOJqOJrOJsOJtOw0OOJvJwOO"JyOJzJOJ{J|OJ}OOJ~"OJOOJOJJOOJOJJO"OJJJOOJJJJOJO"OOJOJJOO"JOJOJJJOOJJJOJOJOJOJJOOJO"OJJOw!"OJOJOJOJOJOJJO"OJJJJJ8JJ8J8J88J8J8JJ8J88JJ8J8J8J88J8}JJJJJJJJJJJJJJJJJJJLJKJK>JKJJJJOJJOOJ"OJJJJJOJOO"JOOJJOJOOJOJ"OJJOJOJJOJOOJ"OOJOJJOO"JK JKJJJOJ""J"J"JJ"J"J"""JOKOOKOKKOOK"OOKOKKOOK "OOK K OK OKOOKKOOK"OOKKK$KK OKKKOKOKKOKO"OKOKOKO"~OK!OOK"K#OO"K%K-OK&K'OOK(OK)OK*OK+K,OO"K.K7OK/K0OOK1OK2OK3K4OK5OK6O"OK8OK9K;K:O"OK<OOK="~OK?KK@KiKAKUKBOKCKLKDOKEOOKFOKGKHOOKIKJOOKK#OKMKSKNOKOOOKPOKQOKRO"OKTO"OKVOKWKXK`OKYOKZK[OK\OOK]OK^OK_O##KaKfKb"KcOKdOOKeO"KgOKhOO"~KjK|KkKuKlKoKmOOKnO"OKpOKqOKrOKsOKtO"~OKvKwOKxOKyOKzOK{OO|K}KOK~KOKOO"OKKOOKKOKOOKKOOKKO|OKKKKOKKOKOKOOKOKOKOKOKKO#OKKKOOKOKOKKOKKOKOKOKOw!KOKOw!OKKOKOK"OOKOK"OOKOKOKOKKOOKOKOKOKOKOK#OKL0KKOKKKKKKKKKOKO"KOOKOKKOKOO"~KOOKKKOKKOO"OKKOO"OKKOKOOK"~OKOKKKKKOO"OKKOKOOKOKKOOKO"KKOKO"KOOKOKKOKOKOKOO"KLKLOKKOKKKOKOKKKOOK"OKOKOKOK#O#KOOLOLOLLO"OLLLLLL LOL OL OOL "OOL O"LOOLLOLOLLLO"##OL"OLOLOOLO"LL+LL#LOOLL OL!OOL"O"L$OL%OL&OL'OOL(L)OOL*"~OOL,L-OOL.OL/O"L1L>OL2L3OOL4L5OOL6OL7OL8L9OL:OL;OL<OL=OOw!L?L`L@LNLALFOLBOLCLDOOLE"OLGOLHOOLILJOLKOOLLOLM"OOLOLPLWLQOLROLSOLTOOLUOLVO"~LXOLYOOLZL[OL\OL]OL^OL_O"OLaL{LbLhOLcLdOLeOLfOLgO"~OLiOOLjLkLrOLlOLmLnOLoOLpOOLqO"LsLwOLtOLuOLv#OLxOLyOLzO"OOL|L}OL~OLOLOOLOLO"LMLLLLLLLLOLOLLOLOOLO"OLOLLOLOOLOLOLOLOLLOO##LLLLOLOLOLOLLOLLLOLOLOOw!OLOLLOOw!LOOLOLOLOLLOLOO"LLOLLOLOOLLOLOLOOLLO"OOLLOLOL"OLOLLL#LO#LO#OOLLLOLLOLOLLOL"O"OLOOLLLOLLL#OOLLOO"LOOL"LL"L"L""L"OOLLLLLLLLOLLOLLOOLOLOLO"~LOO"LOLO"OLOLLOLLOOLOLOLLO"OOLOLO"LM OMOMOMMOOMMOOMOMMOM O"OM MM OM OOMO"OMOMOMMOMOOMMOOMOM"~OMMnMMVMMEMM8MM%MOOM OM!M"OM#OM$OO"M&M+OM'M(OM)OM*O"OM,M6M-M/OM.O"M0M4M1OOM2OM3"OOM5O"M7OO"M9OM:OM;M@M<OM=OM>OOM?"OMAOMBOOMCMDOO"MFOMGMQMHOOMIOMJOMKOMLOMMOMNMOOOMP##OOMROMSMTOOMU"OMWOMXMcMYOOMZM[OM\OM]OOM^OM_OM`OMaOMbOw!MdOMeOOMfOMgOMhOMiOMjMkOOMlMmOOw!MoMOMpMqMMrOMsMzMtOMuOOMvMwOMxOOMy#OM{OOM|M}OM~OOMMOOMOMO#OMMMMOOMO"OMMOOMO"MOOMMOMMMOOMOMMOMOMOOMMO"~OMOMOOMMOOMMO"OMbMbM`MNEMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MN-MMMM MNMNMMNMNMMM MNNN NuNN NN N1HN N $1 N NNN4#wNN1#1 NN&NNN$NN#NNNNNNNN N!N"  N%N'N*N(N)N+N,N.N/N0NCN1N2 N3N4N5N6N7N8N9N:N;N<N=N>N?N@NANBNDwgNFQ+NGNrNHNnNINKwNJH NLN]NM1NN11NONP1NQ1NR11NS1NTNU1NV1NW1NX11NY1NZ1N[1N\1N^N_N`NaNbNcNdNeNfNgNhNiNjNkNlNm NoNqNp$NsNNtNuNvNwNxNyNzN{N|N}N~NNNNNNNNNP@NNNNNNONNNNNNNNNNNNNgNNNNNNNNNNNNNNNNNNNNNNNNNNwNNYNNNNNNwNNNNN NgNNNNNNN NNNNNNNNNN1 NNHNNNNNNNNNN1NgNNwwHNNNN NNN1NNNNNNNHNNNNNNNHNHNO%NONONNNOOO1OOO OOOO O O 11O 1OOOOOO11O1OOOOOOOO OOO O!O"O#O$ O&O:O'O(O3O)O.O*O+O,O-KO/O0O1O2 O4O5O6O7O8O9K O;O]O<OCO=O>O?O@OAOBODOMOEOFOJOGOIOHwwOKOLONOTOOOPOROQKOSH OUOXOVOW OYO[OZHO\ O^OwO_OfO`OaObOeOcOd OgOmOhOkOiOj OlOnOqOoOpOrOtOsOuOvKHOxOOyOOzOO{O}HO|HO~OOOO11OO1OOOOO O1O1OOOOOOOg$OOOOOOOOO1O11OPOPOOOOOOOOOOOOOOOOKOOOOOOOOKOOOOOOOOOOOKOOOOOOOOOOKKOKOOOOKKOOOOOKOOOOOKKOKOOOOOOOOOKOOOOOOOKOOO 1$OHOOOOO OOOHOH1 OOOPPPPPPPP PP P P P P  PP P PPPPPPwPP'PPPP$PPPP P!P"gP#gP%P& P(P3P)P*P+P,P-P.P/P0P1P2 P4P;P5P7P6P8P91P:$P<P>P=1$P? PAPPBPePCP\PD PEPQPFPJPGPHPI$ PKPNPLPM1POPPwg PRPYPSPVPTPU K1PWPXHPZP[P]PbP^gP_gP`PagPcPd PfP}PgP|PhPiPjPmPk PlPnPoPpPqPxPrPsPtPuPvPw1PyPzP{w P~PPPPPPPPPPPPPPP PP$HwPPg PPPP1PPPPPPPw PPPPPPPPPPPPP PPw1PPPPH$P gPPPPP KP1PPPPPPUH uPPPPPPwYgP>PPPPPPPPP1PPPPwP1P1PHPPPPHPP$PQPPPPwPPPuPu PPPPPg g P KPPK P1 1PPPPPPP  wPPPwPPPPPPUUP11PQHPH  Qg QQ$QQQQQQQ Q Q Q K1Q QQQUQ QQQQQQ w1QQQQQHgQQ $  Q!Q"Q(Q#Q&Q$Q% w1Q'Q)Q*Q,]Q-[Q.Y Q/TQ0R Q1QrQ2QUQ3Q<Q4Q5Q6Q7Q8Q9Q:Q; Q=QDQ>Q?Q@QAQBQCQEQFQSQGQMQHQIQJQKQLHQNgQOQPgQQQRgQTgQVQ\QWQXQYQZQ[gQ]QgQ^Q_Q`QaQbQcQdQeHHQfHQhQlQiQjQkHQmQnQoQpQqgQsQQtQQuQvQwQxQyQzQ{Q|Q~Q}ggQgQQQQQQQQQgQQ$QQ$QQQQQQQQgQggQQQQQQQQggQQQgQQQQQgQQQQggQQQQQQQQQQQgQgQQQggQQQQQQQggQQQQgQQQQQQQggQQQgQgQgQgQQQQQQggQgQgQgQgQQQQgQgQQQQQQQgQQgQQQQQQgQQQQQQQggQggQggQggQQQgQQRRRRRRgRRR RR R ggR S,RRRRMRR!R R RRR R R   RRRR  R    RR  RR    R"R- R#R$R( R% R&R'    R) R* R+ R,  R.R>R/R6R0R1  R2R5R3  R4    R7 R8R:R9   R;R=R<     R?RC R@RA  RB  RDRHRE  RF RG  RIRJ  RK RL   RNRRORuRPR_RQRW RRRS  RT RURV   RX RY RZR\R[   R]  R^  R`RfRa  Rb Rc RdRe   RgRpRhRlRi  RjRk    RmRn Ro    RqRr  Rs Rt  RvRRwRRxR}Ry Rz R{ R|   R~  RR R   RRR  R R  RRR R   R  R R  R RRRRR R R    R R R  R  RR R   RRRRRRRR RRRR R   R R   RRR  R R   RR  R  RRRR R R R   RRRR      RR R R RR1 Rw RRSRRRRRRRRRRR   RRR R  RRR RRR RR   R RR RRRRRRRR  R R R  R R RRR  RSRSRSRRRR RSRR SS S SSS S  S SS S S  SS  SSS SS  S SS  S  SS&SS$SS#SS S!S" S%g>S'S)S(wS*S+H$S-SS.SnS/SRS0SAS1S3S2  S4S6S5 S7S; S8S9  S: S< S=S? S>  S@ SBSH SCSD SESF SGSISNSJSK SLSM  SO SPSQ SSS_STS[SUSZ SVSWSXSY  S\S^S]   S`SjSaShSbSc SdSeSf  Sg Si SkSl  Sm SoSSpS{SqSsSr StSu  Sv SwSxSy Sz S|SS}SS~SSSS SS  S  SS SSS SS  S SS SS SSSS SS SSS SSSSS    SSSSSSSSS  SSSS  SSS SS    SSSSSS    SSSS S SSSS SSSS  SSSS SSSSSS  SSSS  SSSS S S SSS  STESTSSSSS  SS  S S SSS   SSSSSSSS S S   SS   SSSSS  S  TTT TTT   TT   T T/T T T T T T T  T T  TT!TTTTT  T T   TT T T T  T   T"T) T#T$T&T%    T'T(   T*T+  T,T.T-   T0T=T1T4T2T3  T5T9T6 T7T8    T:T;  T< T>TCT?T@  TA TB TD  TFT~TGT_THTNTITLTJTK   TM TOTXTPTTTQ  TRTS  TUTVTWTYT^TZT[T\T]  T`TrTaThTbTgTcTdTeTf      TiTq TjTkTnTlTm  ToTp   TsTyTtTu Tv Tw  Tx   TzT{T|T}  TTTTTTTT  TTT    TT  T  T TTTTT T  TT TT  TT TTTT T T T  T TTTTTT   T T  TT TTT    TXTVaTUeTTwTTUTTTTTTTTTTT$ TT 1TTT$T  TT THTTT HHTTTH>1TTTTHT>TTT1T$T1$T$TT>$1$TTTTTTTTT$TT1>T1>TTTTTTT>1T11T>>TH1T1$TTTT$TT$TTT1TT$>11UUUUUU11U11U1UUU U U $$U 1U $>UU $U1$U1UU4UU$UUUU1U1U1>1>UU"UUU U1U!$>$U#$>U%U/U&U*U'>U($U)$>$U+1U,U.U-1$>$U0U3U1$U2$$U5UMU6U>U7U:U8HU911HU;U<HHU=H1U?UEU@1UAUCUBH1UD11UF1UGUJUHUI1HHUKUL>11UNUU1UOUPURUQ11 USHUTHHUVU[UWHHUXHUYUZHH1U\U_HU]1U^>1U`Ua1$UbUcUd$1$1UfUUgUUhUUiUUjU{UkUlUt1UmUnUqUoUp1H1>UrUsH1>UuUxUv>Uw11>1UyUz1>U|U}1U~UUUUUU1$>UU>$>$UUU$>$UU$>$1UUUUUU>$$1$U$1U>1U1UU11UU1$UUUUUUUUUUUU1U$U1$$U1U>UUUU$U$U1$1U1U1>U1U111U1U$UUU$1$1UUwUU1wU1U1U1UU>UUUU U$UUUU$U$U$UUUUUUU11U1U11UHUUU $UU1U1UU11$UU$UUUH$1$U1U$UUUUHU1UUU1UU111UU111UU 1>UV&UVUUUUUUUVVVVV1V$VV1$1HV VV VV VHV V V>V$1$>1VV$V>$V>1VV VVV1V11VV1V V11HV!V#V"1  V$V%1 1V'VGV(V<V)V4V*V0V+1V,V-1$V.$1V/$HV111V21V31$V5V81V61V71$1V9$V:V;$1V=VBV>V?>V@1VA1>1VC1VD11VEVF11HVHVOVIVK1VJ1HVLHVMHVNH$VPV]VQVU$VRVS$VT$$VV>VWV\VXVZVY11HHV[1$>HV^HV_1HV`1HVbW6VcVwVdVeVVfVzVgVp VhViVkVj  VlVoVmVn  VqVvVr  Vs VtVu   VwVy Vx   V{VV|VV}VV~ VV    VVV   V   V VVV V V  V V  VVVVVVVVVVV   V VV V VV VVV V V  V VVVVVVVVVV VV VVVVVVVVV VVV V V V   VV V  V V  VVV   VVVVVVVV  V VV VV    V VVV V   V V VVV    VV V  VW0VWVVVVVVVVVVVVVVVVWVVVVVV VV WW  WWWWWWW WW WW W W  WWWW W W W WW  WW%WW"WW WW W  W!  W#W$ W&W*W'W(W)W+W,W.W-W/W1W3W2 W4W5 HW7WW8WW9WTW:WGW;WAW<W@W=W>W?   WBWF WCWDWE    WHWL WIWJ WK WMWOWN   WP WQWR  WS WUWbWVWXWW   WYW]WZ W[ W\W^ W_W`Wa  WcWsWdWlWeWhWf  Wg WiWj Wk WmWnWpWo Wq Wr  WtW}WuWxWv Ww  WyW{ Wz   W|  W~  WWWWWWWW WWW  WW  WW WWW W  WWW WW    W W WWWWWW WWW     WWWW W   WWWW W WW   WW   WW W WX9WWWWWWWW WW  W  WWW W   W W WWWWWW W WWWW WWWWWWWW W WW  WWW  WWWWW W WWWWWWWWWWWWWW WXWWWWWW   W  WXWXWW XXX  X X X  XX X X  X X  XX XX X X XX(XX#XXXX XX XX XX  X!X"X$X%KX&KX'KKX)X.KX*KX+KX,KX-KX/X4X0X3X1X2   X5X6X7X8X:XX;X]X<XNX=XBX>X?X@ XA  XCXFXD XE   XGXIXH XJXLXKKKXMKXOXUKXPXQXSKXRXTKXVXZXWXXXY  X[KX\K KX^XsX_XhX`XdKXaXbXcK  XeXf Xg  XiXoXjXkXlXmXnXpXqXrXtXXuXXvX{XwXyXx  Xz X|X}X~XXXX  XX X XXXXXXX  X XX XXXXXuXXXXX X XX XuXX  X uXXXXXXXuXuXXXXuXXXuuXuXuXXXXXXuXuXuuXXXXXXXuXXXu  XXXXXXXuXXuXXXXXXXXX X X X X X XXXXXXXXXXXXXXX XXXXXXXXXXX XXXXXXXYYYYYYYYYY YY YsY Y&Y YYYYYYYYY$YYYYYY  YY YY Y#Y!Y"Y$Y%uY'YMY(Y9Y)Y2Y*Y/Y+Y-Y,uY.$Y0Y1$Y3Y4Y7Y5Y6ggY8KY:YAY;Y>Y<Y=Y?Y@ YBYFYCYD  YE$YGYJYHYIwwHYKYLH11$YNYhYOY]YPYWYQYTYRYS$ YUYV  wYXY[YYYZ Y\ Y^YbY_YaY`w 1YcYeYdH>1YfYggg1YiYjYqYkYnYlYm YoYp KYrYuYtYYuYvYYwYYxY}YyY{YzY|  Y~ YYYYYY uuYu YYYY Y Y ##YY1#Y#1YYYYYYYYYYYYY1HH YYYYHYH Yw wYYY$w$YY$1 YYYY YYYYYYKYYuuYYYYggYYYYYYYYg Y YYYYYH H1#YZYZYYYZ_YZ YYYYYYYYYYY YYww YYYYY1 YYYY1HH>YY wwYY YYYYYYYYYYYYYY1Y1H1YZYZYY1YY1YgYYg1ZZZgwZZ ZgZZwZZ 11Z ZZ Z $HZZZZ$H  Z ZZZZZZZZZZZ Z!Z=Z"Z*Z#Z'Z$Z% Z& Z(Z) Z+Z7Z,Z2Z-Z0Z.Z/Z1Z3Z4 Z5Z6 Z8Z; Z9Z:gZ< Z>ZRZ?ZIZ@ZBZAgZCZFZDZEH$$wZGZHwH1gZJZPZKZNZLZM1gw1ZO w1 ZQZSZTZUZV ZWZ^ZXZ[ZYZZuuYZ\Z]Y$YZ`ZaZuZbZjZcZhZdZgZeZfYuu Zi$ZkZoZl Zm Zn ZpZq Zr  Zs Zt  ZvZZwZZxZZyZ}ZzZ|Z{K KKZ~KKZZZZ ZZZZZZZZZuZuuZ uZuZ ZZZZZZZZZ#ZZ##Z#Z#Z#ZZZZZZZgZZZZZZZ ZZ u  ZZ#Z#1Z ZZZZZZYYZZuZZZZZZZZZZ1HH Zw$ZZZZZZZZZgZZZZZZZ ZZu   ZZ#Z#1Z ZZZZZZYYZZuZZZZZZZZZZ1HH Zw$Z[ZZZZZZZgZZZgZ[ Z[[[[ [[u   [[#[#1[  [ [[ [[ [YY[[u[[[[[[[[[[1HH [w$[ \_[!\["[g[#[$[H[%[2[&[+['[([*[)g[,[/[- [. [0[1 [3[=[4[7[5[6[8[:[9g[;[< g[>[E[?[B[@[Ag [C[Dg$g[F[Gg[I[\[J[Q[K[N[L[MH[O[Pg[R[X[S[U[TH[V[W  [Y[Z[[  [][a[^[_[` [b[c[e[dg[fg[h[[i[j[[k[y[l[r[m[p[n[o  [q [s[v[t[u[w[x  [z[[{[~[|[}   [[    [[ [  [[[[[[  [[[[  [ [[[[[[     [  [[[[   [ [[[[[[[[[[[ [ [[[[  [  [[[[[[  [[  [[[  [[ [[[[[[[ u[[[[u  K[[[[[ K[u [[[[  [[ 1[[[[[[[[H 1[[H[H[ww[[[[[[w$w1[H1[[[11[1w1[[[[[[w1[w[[[[1HHw[[wHHw[[[[[[w11[[H1[\\\YY## \\\ \\\\ \ 1\ 1\ \\\3\\"\\\\\\\ \\\\Ku  \\ \\\ \!\#\)\$\%\&\'\(gg\*\-\+\,1w\.\/\1#\0>w\2>\4\M\5\E\6\8 \7\9\< \: \; \=\B\>\@ \?\A\C\D \F\G\H \I\L\J\K  u\N\R\O\P\Qg\S\Z\T\V\Uw\W\XwH\Y$HY\[1\\1\]$\^$\`]\a\\b\\c\p\d\f\e \g\l\h\i \j\kwgH1\m \n\o$  \q\\r\{\s\u\t \v\y\w\xHw\z\|\\}\\~\  w\\gH1$\\\\  \\ Hw\\\\\\\\  \ \  \\\\\ \\\\YKH\\H>\\\\\\\\\\\\u\u\\\#  \\\\\uKY\u\\\\\ \   \\\\\\\\w \\\\\\  $1\\\\\\\\\\Hgw\\\\\w \\ \\\\\\ $1H\gw\]\\\\\\ \\ \ $\H$1\\\\\\H  \\\\K g\\\\g\w\ Yw\]]] ]]]w1]] ]]u] u] ]  ]] ]]P]]]]]/]]]]]]  ]]]]] ]$]!]#]" 1 1]%](]&ww]'$])],]*]+  Hg]-]. $H ]0]1]D]2]9]3]6g]4]5$H]7]8]:]?];]=]< ]> ]@]B]Au]CYK]E]F]L]G]I]Hu#]J]K#>U]M]N]O>H]Q]R]S]g]T]b]U]\]V]Y]W]XYK$]Z][u]]]_]^u]`]a   ]c]d]e]f]h]v]i]p]j]m]k]lw g]n]o ]q]s1]r$]t]u]w]~]x]{]y]zH  ]|]}H ]]w]wg]H ]_]^]^]^]]]]]]]]]]]]g] ]]]]  ] ]]]]]]g]]]>]>K]]YH]]]]]]]]]g]]]11]]]] 1]]]]]]]  ]]u  ]] ]]]] ]]]]] 1 ]]]]] ]]]]]]]]  ]]  ]]]  ] ]]]]] ]]]]]]]]  ]   1]1]] ]^]^]^]^]]]]]]  ]]  ]]]  ]^] ] ^^ ^  ^ ^  ^  ^ ^^ ^ ^   ^ ^   ^ ^^^^ ^ ^^^ ^^  ^^p^^A^ ^6^!^"^/^#^)^$^&^%^'^($^*^+w^,^-^.^0^3^1H^2 $^4^5 w1H^7^8^9^?^:^<^;1^=^>ww^@  ^B^e^C^W^D^U^E^Q^F^L^G^I^H^J^K$^M^Nw^O^P^RH^S ^T$1^Vw1^X^d^Y^a^Z^`^[^]^\1^^^_ww ^b^c  1wH^f^g^k^h^i^j1w^l^n^m1^o$^q^^r^s^{^t^u^x^v^w  ^y^z 1H ^|^}^^~1 $H^ ^^^^^  ^^ ^^^^^^^^^^wH^^1^H$^^$^^^ww^^^^^ ^  ^^ ^^^ ^^^^^^g^^^^^^^ w  ^^^^^^1^^^^^^^^^^^^^^ ^^ ^^^^^^  ^ ^^^^^^^>^>^^^^^1^^^^^^1^w^$1$^^ ^1^^^^ ^ ^^^^^^^  ^^^11 ^^^HH^H^^^_ _______\__{C_ _K_ _ _ _________1_w_____`__V_ _,_!_"_)_# _$_% _&_'_(w_*_+  _-_E_._7_/_5_0_4_1>_2>_3>H _6 _8_< _9_: 1_;1_=_A_>_?  _@w w_B_C1_DH1H_F_T_G_I_H1_J_O_K_N1_L1_M>1$_P_Q_R$  _S_U_W_|_X_i_Y_d_Z_^_[_\_]  ___b_`_a1$1_cw _e_g_f _h _j_n_k_l_m _o_v_p_s_q_r1_t_u1$$1_w_z_x_y1 w>_{>_}__~_______ __11_____ _>__________  __  ____ _ ______ __   ____w__H1___1$$H____H__  g__g_______ _u__________>g__u##_w_>U______ ___ _ _ ____ ____ u___ ___  _1_____g_____w__wH_$H__1_1_$_$___ g_`_Y`Kw`````8`` `` 8` ` ` 88`8```8``````` `a`aQ````>`` `!`,`"`*`#`$`%`&`)`'`(gC`+`-`.`/`9`0`4`1`2`38`5`8`6`788`:C`;`<`=8`?`Y`@`T`A`R`B`Q`C`DH`E`F `G`J`H`IH  g`K`N`L`MHwg`O`P 1  `S `U`W`Vgg`X`Z`_`[`]H`\H1`^$```c`a`b  `d`e  `f`g`h`t`i`o`j`l`k `m`nw`p`rw`q `s`u`{`v`y`w`x `z `|`} w`~  `a"`a`a``````````8`````````` ``````````g`````gg```````````````   ```` ``  ``` ` ``````` ```K`````````````````````````HH``a````````w``11```$$```````w```HH$`w1`a``1`aaaaaaaa a a aa a a1aaa1aaawa1$aaaaaa a a a! a#a)a$a%a&a'a(g1a*a2a+a0a,a.a-g1a/wa1  a3a6a4a5wa7a8a9aEa:a;a<a=a>a?a@aAaBaCaDaFaGaHaIaJaKaLaMaNaOaPaRaaaSaYaTaVaUaWaX aZa\a[a]a^H a_a`1abaxacatadaeafag ah  aiaj ak al  aman ao ap aq ar as  auavawHayaaza~a{a|a}1aawaaawaaaa1aaaaaaaaaaaa1aa1aa1aaaa$a$HaaaaaH1aaaaaaaaa1aaaa$a$11HaaaaaH11aaaaaaaa1a1a$1$aaaa aaaaKab/aaaaaaagaga$aaaaaa aaaaagwaaaa$a aaaaaw1a1aag aa a a  aa  aa a  aa a  aa   aagabaa aagwbbbb)bbbbbb bb bwwb  b b H H b1bbbbbg$bb bbbbbbg$bb$b$b!b"b%b#b$ Hb&b'Hgb(g$b*b+b,b-b.$b0b[b1b8b2b3b5b4gb6b7w1b9bUb:b;b<bGb=b@b>wb?gbAbDbBbCg1bEbF bHbObIbLbJbK HbMbNH1bPbRbQH$bSbT$   bVbWbXbY1bZgb\bab]b^b_b`Hbbbbcbdbgbebf1bhbbibjbwbkbqblbnbm 1bobpbrbtbsbubv$$bxb~byb|bzb{b}Hbbbb  bHbbbbbHbbg bbbububbbbbuubbKbK##bbbwb%%b%b%b%bb%%bb%%b%bb%b%b%%bb%b%b%b%%bb%b%%b%b%bbhbhbbbbbbbbbbbbbbbbbb bbbbbbbbbbubbbYubbbbfbdbcmbc"bcbbbbObbObO"ObOObObbObbbOObObbObOO"ObObbObOObO"bcObbObOObObbOObObObOcO#cc OcOc"ccOOccO"OOc c OOc c cOccO"OcOO"cOOccccOcOOccOOcOccOcOOc"Oc OOc!O"c#cTc$c3c%c/c&Oc'Oc(c.Oc)Oc*c+Oc,OOc-"OO"Oc0c1OOc2"Oc4cGc5c?c6Oc7Oc8OOc9c:Oc;OOc<c=OOc>O#c@OcAOcBOOcCcDOcEOcFO"OcHOcIOcJcKO"OcLcMOOcNcOOcPOcQcSOcRO""OcUOcVcaOcWcXOOcYcZOc[Oc\OOc]c^OOc_c`OOw0Ocbccclcd"OcecfOOcgchOciOcjOOckw0OO"cnccoccpccqc~crctOcsO"OcuOcvcwOOcxcyOOczOc{Oc|c}OO"cOOccc"OcOcOcOcOOcO"cccOcOOcO"cOcOOccOcOcOOc"~Occcccc"~ccccOcOcOcOcOcOOcO"~OccOcOOccOOcOcO"~cc"~ccOcOcOOcOcOcOcO"~"~OOccccOOcOccOcOcOOcOc"OcccOcOOccOcOOcOcO"cccOcOOcOccOcO"OcOcOcOOccOOcO"OccOccOcccOccOO""OcccOcOcOOc"OOcO"cdcccccOcOOcOccOcOcO"OcccOOc"OOccOcOOccOcOO"OdddddOdw!OOdOd"OdOOd d Od Od OOd OddOOd"OddddAdd#ddddOdd"~dO"~OOd"~Od"~OdOdd OOd!d"O"~Od$d,Od%d&d+d'Od(OOd)d*O"OO"~d-d<d.d:Od/d0d5Od1Od2d3Od4OO"~d6Od7Od8Od9O"~Od;OO"~d="~d>Od?OOd@O"~dBd`dCdZdDdOdEOdFdMdGdLOdHdIOdJOdKO"OO"dNOO"dPOdQOdROdSOdTdWOdUdV"O"dXOdYO"Od["d\Od]Od^OOd_"OdadkOdbdcdgOdddeOOdf"OOdhdiOOdj"OdldOdmdndxdoOdpdtOdqOdrdsO"OduOdvOdwOO"OdydzOd{d|O"d}Od~OO"ddddOddOOdO"OddOOd"OdddO"OOdOdOdOddO"OddddOdOd"OdOOddOdOdOdOdOdOdO"OdOdddOOd"OOddOOdOddOO"dededddddOOdOddOOddOOddOOdOdOd"~OdOdOddddOdddOddOOddOdO"~OOdOdOdOddO"~OOddOOddOOddOOdO"~OdddddOddOdOdOdOO"~dOOddOdddO"~OdOO"~OddOdOdOOddOO"~ddOdOdOdOddOOdOdddO"O"OddOdOOddOdOeOOeOe"Oeeaee1Oeee eO"Oe eOe Oe Oe OeOeeOOeOeO"eeeOeOOeOeeOeOeOO"ee*ee$OeOe Oe!Oe"e#O"Oe%OOe&Oe'Oe(Oe)O"Oe+Oe,e-OOe.Oe/Oe0"OOe2e3eMOe4e5e@e6e=e7Oe8Oe9Oe:Oe;OOe<"Oe>OOe?O"eAOOeBOeCeDOeEeHeFOOeG"OeIeKeJOO"eLOO"eNeWeOOOePeQOeROeSOeTOeUOeVOO"OeXeYOOeZOe[e\Oe]OOe^e_e`O""Oebe|ecetedemeeegOef"OOehOeiejOekOelOO"OeneoOepOeqOerOOesO"euOevOOewexOOeyOeze{O##Oe}eOe~eOeOeOOeOeOe"OeOOeeOO"eeeeeOeeOeOeeOeOeOOeOeOeOeeOO"eOeOeOeeOeeOOeOeeOOeO"eeOeeOOeeOOe"OeOOeOeOeeO"OeeeeeOeeOeeOeOeOOeeOO"Oe"OeeeO"OeOeOO"eeOeeOOeOeOeOeOeOeO"eOeOOeOeeOOeeOO"efGef=efeeeeeeeOOeeOO"OeOeOeeO"e""eeeeeOeOeOeOeOeOO"eOeeO""~OeeeOOeO"OeOeOeOeO"eOeOOeOeOfOfOf"Off6ff-ffffOff ff Of OOf f O"OOffOfOfOO"fffOfOOf"OOffOfOOffO"Off&Of f!Of"Of#OOf$f%OO"f'Of(OOf)f*Of+Of,OO"f.f3f/Of0OOf1f2OO##Of4f5O"OOf7Of8f9OOf:Of;Of<"OOf>Of?f@OfAOfBOOfCfDOOfEfFOO"fHfnOfIfJf]fKf\fLfTfMOfNOOfOfPOfQOfROOfS"OfUOOfVOfWfXOOfYfZOOf["O"Of^feOf_f`OOfafbOfcOOfd"O"ffOfgOfhOfiOfjfkOOflfmOO"foOfpffqf"~frfsftO"~fufzfvfyOfwOfxO"~O"~Of{Of|Of}f~OfOO"~ffOffOfOO"~OffOOffOfOfOfO"~O"~ffOfOfOOffOOffOfOO"~fhfgPffffOfOfOfOffOfOOffOfOO"Offfffff"OfOOffO"OfffOOffOOffOOfOffO"OfffOfOOfOffOOffOO"OffOOfOfOfOffO"Offff"OfffOOffOfOfOOfOfO"fOfOfffOfOfOOfO"OfOf"OfffffOfOfOfOOffOfOO"OffOOfOffOOfOfO"OfOffOfOOfO"fg<fOOffg(fgfg fOOgOgggOgOggOO"~gg gOOg O"~Og g O"~OgggOgO"~O"~ggOgOgOgOgO"~O"~gggOggO"~OgOgOg g$Og!Og"g#O"~Og%OOg&g'OO"~g)g3g*g2Og+Og,Og-Og.Og/Og0g1O"~OO"~g4"~g5Og6OOg7Og8g9Og:OOg;"~OOg=g>gAOg?g@O"OgBgIgCgGgDOOgEgFO"OgHOO"gJOgKOgLOOgMOgNgOOO"gQggRggSgogTg^gUgYOgVOgWOgX"OOgZOg[Og\Og]O""g_Og`gaOgbOgcgigdOOgeOgfOggghOO"OgjOgkOglgmOgnOO"gpggqggrggsOgtgguggvOgwOgxg{OgygzOO"~Og|g}g~O"~"~OggO"~"~OOggOgOOgOgOgO"~gOgOOgOggOOgOgOgO"~gggOggO"~gOOgOgOgOggO"~OgggOOggOO"~ggOgOggOgOgOOgO"~OgggO"~gOgO"~Og"gggggggggggOgOgOgO"OOgOggOgOO"gOgOOgOggOO"gOgOOggOgOOgO"g"OgOgOggOgOgO"O"OgggOggOggOOgOgOw!gOOgO"gOOgOgOggOOgOggOgOOggOOw0ghghgggOgOOggOOggOgOgOgOgOO"ghgOOgghOhhOOh"O"OhOOhh""Oh hsh h.h hOh Oh hOOhhOOhOhOhO"~hh!hhhOOhhOhOOhhOO"~OhhOh OO"~h"h+h#Oh$OOh%h&Oh'h)Oh(O"~Oh*"~Oh,"~Oh-"~Oh/hMh0h9h1Oh2OOh3Oh4h5OOh6h7h8O"~O"~h:hCh;h>Oh<h=O"~Oh?h@O"~hAOhBO"~OhD"~OhEhFOhGhJOhHhIO"~OOhKhLOO"~hNhVhOOOhPOhQhROOhSOhTOhU"~OhWh^hXOhYOOhZOh[h\Oh]O"~Oh_hiOh`haheOhbhcOOhdO"~OhfhgOOhh"~OOhjhkhohlOhmOhnO"~OhpOOhqhrOO"~hthhuhhvhhwOhxh~OhyhzOh{Oh|Oh}O"OOhhOOhhOhO"OhOhOhhhOhOOhhO"OOhOhO"hhOhOhOhOhO"OhOhOh"hOhO"hOhhOhh"OhOhOhOhO"OhhOhhOhhOOhhO"OOhhOhOhOO"hOhhOhhOhOO"hOOhhOO"8hh8h8h88hh88hh88hh88hh8h8{C8hhhhhhhhh11hh1h1h1h1h1h11h1h1h1h1hh11h1h1whhwhhhhhh1hhhhhhhhhhhhhhh 1hiBhihhihh1iiiiiwiiii i i i i iiiiiiii ii=iii+i1iiiiii i!i"i#i$i%i&i'i(i)i*Hi,i-i.i/i0i1i2i3i4i5i6i7i8i9i:i;i<gi>i?iAi@1$iCiQiDiLiEiIiFiGiH1iJiKw iMiNiOiPiRiiSiUiTiVihiW iX iY iZ i[ i\ i] i^i_  i` ia ib icid ie  ifig  ii1ijikiiliimiinioipiqiriisiyitiviuiwix 1wizi}i{i|i~i$H iiiiiig K1iiiiiiUH iiuwYiiiiiiiiii$ii1iiiiiiiiiii1 ii$i$iiiiiiiiiiiiiiiiiuiiiiiiiiiiiii ijpijfiiiiiiiiiiiiiiiiiiii iiiiiiiii iiiiiiiiiiwii iwii1wiijbiiii1ijjjjjBjj#jjjj jj jj KKj j KKjjjjKKjjKKjjjjjjKKjjKKjj jjKKj!j"KKj$j3j%j,j&j)j'j(KKj*j+KKj-j0j.j/KKj1j2KKj4j;j5j8j6j7KKj9j:KKj<j?j=j>KKj@jAKKjCjDjSjEjLjFjIjGjHKKjJjKKKjMjPjNjOKKjQjRKKjTj[jUjXjVjWKKjYjZKKj\j_j]j^KKj`jaKKjcjd jejgjhjijjjkjljmjnjojqj1jr1jsjtjujvjwjxjyjzj{jj|j}j~jjjjjjjjjjjwjqjp jjjjjjjjjjjjjjjjgjjjjjjjjjjjjjjjjjjjjjHjmjjjjjjjvjjjvv  j  sjjvjjvv svjv jjjjjjvjv svj vvjvjv jvjvjvvjmjljkjkjjvjkAjkjjjjjjjBjjj sjjjjj s sjj sj sjjj sjjjBj sj s sj sjj sBB s sjjj sBB sjk sj sjj sj sjBkBBkkBkBBkBkBkk  sk sk k  s s sk  sk  sk sk skk sk sk s skk s skk;kkkkkkkBkk k$k!k"k#Bk%k0k&k'k(k)k*k+k,k-k.k/Bk1k2k3Bk4k5BBk6k7Bk8Bk9Bk:BBk<k=k>k?k@*kBkLkCkDkEkFkGkHkIkJkKkMkekNk]kOkXkPkSkQkRkTkVkU{5kWBkYkZk[k\Bk^k_k`kckakbBBkdBkf skgkhkl skikj skk s skmk| sknko s skpkqkvkrkt sks s sku skwky skx skzk{ s sk} sk~ sk sk sk sk sk sk s sk skkkkkkkkk sk s skkk skk s sk skk sk sk sk sk s s{5 sk sk skk s sk s{5kk sk s{5 s{5 skk s{5kkkkkk sk skkk sk s{5 sk skk sk s s{5k s skk sk sk sk sk s s{5{5 sk s{5 skkkkk kkkkkkk#2kkAP_nkkkk}kkk}k skkkk_An2kkP# sklbkl,kkk9kkkkkkkkkkkkkkkkkkkkkkkkkk /kk>Lk s[jklkklllllllllll l l l l lllllll&lull#lyyllyyllllll l!l"yl$l%yl'l(l)l*l+l-lSl.lFel/l0l7l1l4l2l3 l5l6+:el8l?l9l<l:l;IXgvl=l>l@lClAlBlDlE elGlH*lIlM:lJlKlLJZjzlNlOlQlPlRlTl[lUlWlVlXlYlZG3l\l_l]l^=l`lavlcl}ldle{5lflg slhlu slilj s slk sll slmln s slolp slq slr sls s slt{5 slv slw s slxly slz sl{ s sl| s{5l~lllGG sllllllll%lllll%%l4%CCl%lmll{5llllllllllllRbrbllllllllllllllll"2BRllbrBlllllllllll"2BRlllllblrlllllllllllllllll"l2Al sP sll_lrnll}ll sl2 sll sl s sll sl s sllllllllll-0ll@_~vlllvvlvElllllmlmlmllllmBmmmmmmmm m m m Bm mmmmmmmmm!0mmmmm! sm s? sm mnm!m3m"m/m#m)m$m&vm%Ivm'm(vvm*m-m+m,vgvm.v\m0vm1vm2v vm4mbm5mPm6mJm7m;m8Vm9 s sm: sNm<mHm=Vm>Vm?VVm@BmABmBmCBmDBmEBBmFmGBVB]mIl{mKmNmLmMlmO?mQm^mRm]mSmVmTmUmWmZmXmY />m[m\M\k s*zm_mam` smcmimdmfmev)vmgmhvvvmjmkmlvmmvvmommpm}mqmwmrmtms s s/mumv  smxmzmy sm{m|j s sm~ smmmm[km sMmm m  mmmmmmmmm smmmmm s sm9 sm s smm{5m{5e*mm smmmmmmnmbnm smoSmnmnmnmn_mOmnOOmmnAmn!mmmmmmmmmmmm"~mmmm"~mmmmmm"~mmmmmmmmmmm"~mm"~"~mmmm"~mmmmm"~m"~mmmmmmmmm"~mmmmmmmmm"~mmmmmm"~"~mmmmmmm"~mmm"~nn nnOnO"~nn"~On"~OnnOn n "~On "~O"~n nnOnOnOOnOnOnOnOnOnO"~OnOnOnOnnOOnOnOnOn "~On"OOn#n$n.On%On&On'n(OOn)n*OOn+On,On-O"~n/n8n0OOn1On2On3n4On5On6OOn7O"~n9On:On;OOn<n=On>On?On@OO"~nBOnCOOnDnEOnFOOnGnHOnIOOnJOnKOnLnMOnNOO"nPOnQOnROnSnXnTOnUOnVnWO""OnYn\nZOOn[O"n]On^O"On`nnanbnncnwndnm4nenfwEwEngnhwEniwEnjwEnkwEwEnlwE4nnnoɓnpɓnqɓnrɓnsɓntɓnuɓɓnvɓ#Pnx4#Pny#Pnzn{#P#Pn|n}#P#Pn~#Pnn#P#Pn#Pn#P4#P8nn snvn sn snnnnnnnnnnnnn n#nn1nn nnnng  nnn n$nnnnnnnwn111KnnH>nnnn#Uwnnnnnnn 1nnnn sn sn snnnnnnnnnn n{5nnn{5nn snnnn{5nenn{5?nnn9nJnnnnnnGn{5{5nnnn{5nn{5{5Vn snnnn{5{5ne s snnnn1vnno,nvn n nono nononon n o o   oooo oo "o o  1@ooooooO _ooo~  oo%oo!oo ooo o o o   o" o#o$ o&o'o)o(  o*o+ o-oDo. o/ o0 o1 o2 o3 o4  o5o6 o7 o8 o9o=o:o;o<o>oAo?o@oBoCoEoNoFoJoG oH oI  oK oL oM  oO oP oQ oR  oTooUooVooWoYoX svoZoo[o\oqo] s so^ so_o`ok soa sob socod soe sof sog s sohoi soj s{5 solon som{5ooop{5 soros s sot souov s sowox soy soz so{ so| so} so~ s so s sooo s soo so sovovovovovovvoo soo so soo soo s so soo s soo so so s so soo so soo s s so soo so s soo so s so so soo s soo soo s sooooo so s soo so s soo s soo so so so so s so so so9 s so so soo s soo s so soo so so so s so soo so s so s sooo sooo soo s so so s soo so s so s soo so s soo so s{5 soooovovo voooov  voo v vooovoov  vop ppvpv p p p pp  pp   v p pp p{pp0ppp)ppppp*pp(!pp!p!p!!p!p!pp!!p!p p!!!p"p#!p$!p%!!p&!p'!p*p+p.p,p-p/Wap1pep2pDp3ap4p?p5p6p7!p8p:p9ap;p<p=p>$*p@pBpApCpEpFpJpGpHpI!pKp`pLpMp]pN*pOpWpPpTpQpRpS3pUpVpXp[pYpZWap\W*p^*p_Wpapbpcpda*pfpxpg*phpwpipupjpm*pkpl*!pnpoprpppq_u pspt  upvapyapzp|pp}pp~pppa!pppapppapppappp*ppp$pppppppppJXpppppppa!pppppa$p*ppppp*ppapp!ap*ppapppppppp7papppppappapapapaapapappapapaappaapappaappaappaapppppppppa*pppp*pp*ppppqeppppppappappqdpqpqpq pppqpppp݉pqqqrqqqqĚqq q qq q Sgqqaqqqqqqqqqqqqq#q q@q!q2q"q*q#q&q$q%*q'q(Wq)$q+q0q,q-q.q/ q1q3q9q4q6q5q7q8$q:q=q;q<q>q?qAq]qBqUqCqFqDqE$ċqGqOqHqIqJqMqKqLqNqPqQqRqS,qT:qVqWqXqYqZq[q\q^q_qbq`qaqc!*qfquqgqtqhqrqiqjqkqlqmqnqoqpqq}qs*qvqwqxaqyqzq{q|q}q~qz*q*qsqrqqqqqqqqqqqqqqqqqqqaqq*qqqWqqqq*q*qqqqqqqqqqqqqqqqqqqHqqqqqqqqqqqqqqqqqqqq>qqqqqqqqqqqqqqqqqqqaqa$qqqqqqqqqqqqqqqqqqq1qqwqqqqwHqqqqqqqqqqqrrsrsWrsrrrrrrrr rr rr r r rrrrrIIrar$rrrar-rrr_!r r?r!r:r"r9r#r6r$r4*r%r&r-r'r(r)r*r+r,Vr.r/r0r1r2r3Vr5*$r7%r88*r;r<r=r>r@rBrArCrDrcrErbrFrPrGrMrHrLrIrJrK9*~~*rNrO9*~rQr^rR9rS~rT~rU~~rVrWrXrYrZr[r\r]~~r_99r`ra99*rdrrerrfrrgrrhrprirjrkrlrnrm[ro[rqrrr}rsrtrurvrwrzrxrycr{r|cr~rrqrrrrrrrrrrrrrrrrVrMMVrrrrVrrrrrrrrrrqrrrrrrrrrrrrrr[rrrrrrrrrrrqrrr[r[rrrrrrr[rrrrrrarrrr$rrrrrrr!rrrrrrrrrrrrrrr**~rr**~r*r**rrrr*r*rd*r**rrrr*rrr*r**r**rrrsss ss sssssss s ss ss$ssVasassssssss*sssUssHss7s s)s!s&s"s%s#s$====s'=s(=s*s0s+s-s,==s.s/==s1s4s2s3=s5s6==s8s<=s9=s:s;=s=sBs>s@s?=sA=sCsEsD==sFsG==sIsOsJsNsKsL=sM==sP=sQsTsRsS===asXsjsYs\sZas[*s]sdas^as_s`sasbsc[sesgsf!*sh$si*skstaslasmasnsoaaspasqsraassasusvswsxsyszs{s|s}s~sMsssssssssssssssssssssssssssssssssssssMsssssasssssssss*sPaasss$assasass*szsy^st]st(st ssvsstsssssssssswE ]tsstItssss%sssiz rHJss ssssss _{~ssĚsssss~:s tssssssssOssssss%  %ssQ }stssss&h Ist sttttItt  t Qt t t't  tttytOOtOtOttOtOtOOttOtOOtOtO"%ttt#tt t!t"&&t$t%t&t)t;t*wEt+ st,%t-t.O%t/t0t4t1t2t3t5t8t6t7t9t:t<t=tUt>vt?tRt@tAtGtBmtCtEmtD!mmtF0mmtHtItQtJtKtNtLtM QtOtP Q QtStTQtVtWtXtY }tZt[ } }t\ }t^yAt_tt`ta stbtftctdteS*tgtzthtitjtktltm?tn?totptu?tq?trts??tt??tvtw??tx?ty?t{t|t}t~t?ttQtttttttttttttmmttmmtmtttmtvtutu ttttyttytyyttyytty#Pyytyttytttttttt'>t'>yytɓytttyytt'>yt'>t'>tt'>#Ptt#Pt'>#P'>#Ptttttttɓyɓytt'>yt#Py#Pttyttty'>tttɓɓytuytttytyttyytytyt#Pyytttttttttyty4z4ttytywEttyzytttt#Pztɓy#Pttɓ'>ɓttttttttty'>ɓɓt'>ɓttɓtɓyytɓtutuɓtɓyɓuɓuuɓu'>yuy#Puyyu u yu zyzu u`yuuyuu4uyuu%uuuuu44uy44uu44yuu"uuuu4y4yu u!y44yu#4u$4y4u&u-u'u*u(4u)4y44u+4u,y44u.u/u2u0u1y4y4u344yyu5u6uJu7uBu8u<u9u:#Pu;yu=u@u>u?y#P#PzuAzzyuCuGuDuF'>uEy'>'>#PuHyyuI#PwEuKuUuLuQuMuOuNywE#P#PuP#PuRuSyuTwEwEuVu[uWuY#PuX#PyuZywEu\u^u]yy#Pyu_4wEuaujyubucyudyyueyufyuguhyuiyyzyukulyumuunu}uouyupusuq'>'>ur'>utuwuuuvy'>y'>'>ux'>'>uzu{'>u|'>y'>u~u'>uuuuu'>'>yu'>uuu'>'>uy'>u'>u'>'>uuuuyuuuyuɓVVuɓluuuuyuyuyyuuu#P#PyuyuuuuuuuuwE#Pyyuuu#P#Pyuuuu#Puyyuuy#P#Pu#Puuuuuuyuyuuyuuuuuuuu'>u4ɓ4ɓu#P#Pu#Pyuuuu#Pu'>#Puuyɓy4#Puuu#Py4#Puuuuuuu#Py#Puu4y#Pɓuu#Puy'>uy'>#Puuuu#Pu4#Pyɓuuuu4y'>u#P#Pyyuuyuuuyyuuuuyuyy4uyuyyyuyuuyuy#PyyuuyuywEyuvpuvyuuv vvvyvyvyyv#Pyyvyvvyyv yv yyv v yyvyv#Pyvv1yvyvyvvv$vvvvvv.yy.yvvy.vv!vv y#Py.v"..v#.v%v*v&v(.v'.yyv)y.v+v-.v,y..v.v/v0..v2yv3vJv4yv5v?v6v9v7Vv8VVyv:v<Vv;yVv=v>VyVyv@vEvAvCvBVyVVvDyVvFvHyvGVvIVyvKv^vLvVvMvOvN#Py#PvPvSvQvRy#Py#PvTvUy#P#PyvWvZ#PvXvY#Py#P#Pv[v\v]#Pyy#Pv_vhv`vevavb#Pyvcvdy#P#Py#Pvf#Pvg#Pyvivj#Pyvkvnvlvmy#Py#P#Pvo#Pyvqvtyvrvsyyzvuv|yvvvwyvxyyvyyvzv{yyyv}yv~vyvyvyvyyvɓyvwvwvwvwvvvvVvvvvvvvvvyvyvyvvvvyyvyvvvvvyvvyyvvvyvvyyvvvvvvyyvvyvvvvyyyvvyyvvvvvvvvvyvywEvvwEywEyvvwEywEvywEvvvvvvwEyywEvvywEwEyvvvvvyywEywEvvwEyywEvvvvvvwEvyvywEwEvwEywEvvwEywEvvyvwEvywEvvvwEwEyvvwEyywEvvwEyvyvwvvvvvvvwEywEwEvyvwEywEvvvwEyywEvvvvywEvywEyvwvwEwEyywEww ww wwwEwwEywwywEywEw wEwEyw ww wwwEywEwEywwwwwEyywEwwwEywEywwwwwyywEywyywEww/w w'w!yyw"w#yyw$yw%w&yyw(yw)yyw*w+yw,yw-yw.yy4w0wRw1wJyw2w3w?w4w8w5wEwEw6wEw7wEyw9w<wEw:yw;wEyw=w>wEywEyw@wGwAwCwBwEywEwDwFywEywEywEwEwHwEwIywEwKywLzwMzwNwPwOzz#PzwQz'MwSywTywUwjwVw`wWw]wXwZzwYyzw[w\yzzyw^zw_zyzwawewbwcyzzwdyzwfwiwgwhzyzyyzwkwtwlwozwmwnzzyzwpwqwszwrzyzywuwywvzwwwxzyyzwzzw{w}zw|zyyw~yzwwwywyywywwyywwywy#PywwwwwywE4ywy4wwwwyz4ywwwywwwwww4w4wy4www44y4w4yww4wy44ww44ywwww4w4wy4www4y4w4w4y4w4wwww4y4wwy44ywywwwwwwwwwywEyywEwwwEwywEwwEywEwEwwwwwEywEwEwywwEywwwwwwywEwwywEwEywEwwwEywEwwwwwEwywEwEwywEwwwywEywwEwEywxwwwwwwwwywwywyywywy#Pwzwzwzwzwzwywywywyyw#Pywwyw#Pyywywx xx#PxwE#Pxyyxzxzxxzxzz#Px x#Px x yx yxyyxyxy4xywEyxxExxxyxyyzxx-yx#Pxxx&xx"xx xy#Pyyx!y#Px#x%x$yy#Py#Px'x*yx(yx)#Pyx+yx,yy#Pyx.x/#Px0x;x1x8x2x5'>x3x4'>'>yx6x7'>y'>yx9'>x:'>y'>x<x@'>x=yx>x?'>'>yxAyxBxDxCyy'>'>yxFxrxGxjxHyxIyxJxYxKxP#PxLxM#PxNxO#Py#PyxQxWxRxUxSxTy#P#Py#PxV#Py#PxXy#PxZxcx[x_#Px\x]x^y#P#Py#Px`#Pxa#Pxby#Pxd#Pxexg#Pxfy#Pxhxi#Py#Pyxkxlyyxmyxnxoyxpyxqyyxsxxtxxu4xvxxwxxxxxyx{wExzywEx|x}ywEwEx~wEyxxxwEywEwEyxxxwEwExywEwExxwEwEyxxxwExwExwEwEyxxxxywEwExwEyxyxwEywExxxxxxxxxxx#P#Pyx#P#Py#Pxxyy#P#Pxxxxx#Pyy#Px#P#Pyxxxxxx#Px#Pyxxy#Py#Pxxxx#Pyy#Pxxy#Pxy#Pyxxx#Px#Py#Pxx#Px#Px#Py#Px#Pyxxxxxxxxxx'>y'>yx'>y'>xx'>x'>yy'>xx'>x'>xy'>xx'>yxyy'>xxxxxxyxy'>x'>y'>x'>xxyy'>xxxxx'>y'>xxy'>y'>xxxx'>yy'>xy'>yxyyxxxxx'>xxxxy'>yx'>y'>x'>x'>x'>yy yyyy'>y'>y'>yyyy'>y'>y y'>y y y '>y'>yy'>y'>yy'>yy8yy"yyy#Pyyy#P#Pyyyyy#P#Pyy#Py#Py y!#Pɓy#Py#y,y$y)y%y'y&#Py(ɓɓ#P#Py*y+#Pyy-y1y.y/yy0#Py2y5y3y4yɓy6y7#Pyyy9yy:yy;y?y<y='>yy>'>'>yy@#P'>#PyBy[yC%yDyHyEyFyG%yIyJyKyMyLyNyOyPyQyRySyTyUyVyWyXyYyZz y\y]y_zy`yyayybOycydyeykvyfygyhyiyjWylyvymyqynyoyp yrytys yu ywyxyyyyzy{y|y}y~yyyyy  yyyyy yOyz yyyy }yy% syyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyy yyyyy yyyyyNyyyyy yyyyyyyyyzyyyyyyyyyyyyyy yyyy yyzzzzzzzz z z  z  }zzzzzm}zzTzzJzzzzzzv%vzzz:zz1zz)z z!z"z#z$z%z&z'z( z*z+z,z-z.z/z0z2%z3z4z5z6z7z8z9z;z<8z=8z>8z?z@8zA88zB8zC8zDzE88zF8zG8zH8zI[8zK%%zLzM%zN%zO%zP%zQ%zR%%zS%:zUzszVzWzXzYzbzZz_z[z\z]z^z`zaazczezdAzfzgzrzhzizjzkzlzmznzozpzqqaztzzuzzvzwzzxz~ zyzzz}z{  z|  z&zzz gz g& zgzzz   gzzzzzmz%z%z%z%z%z%z%zzz%%zz%z%%z%%z%z%z%z%z%zz|Ozz3Qz~z}cz{z{zzzzzzOzzzQzQzzzQzQzQzzQQzQzQzzQzQQzQQzQzQzzQzQzQzQzQzQzQQzv !mzz{/z{zzzzz#Pzz#Pzz#P#Pzz.#P.z#Pz#Pzzzzz#P#PO#PzO#P#Pz#Pzz#P#Pz#POz#Pzzz#Pz#Pzzzz#Pzg#Pz#P#Pzzz#P#Plzz#Pz#Pc#Pz#PJ#Pz#Pzz#P#Pzz#Pz#PZ#P{{{{{{ Q#P{{{{{ { { { { {{{y{{{#P{#P{#P{#P{{%#P{{{ {#P#P{{#P{#P#Pg#P{!{"#P#P{#{$#P'M#P{&#P{'#P#P{({)#P{*#P{+{-#P{,#PF#P{.F#P{0{Iz{1z{2z{3{4{C{5{:{6zz{7z{8z{9gz{;z{<{@{=z{>zz{?Zz{Az{Bzzgz{Dz{Ez{Fz{G{H4z4{J{K{h{L{W{M{U{N{T{O{P{Q{R{S#P#P{V#P{X{b{Y{Z{[{\{]{^{_{`{awE{c{d{e{f{g'M{i{t{j{k{q{l{m{n{o{p#P{r{sz{u{v{w{x{y{z{{{|{}{~#P{{{{{{{{%rV{#{{{{{{{{(O(Q{{W({{{{(y%{{(O#{{{{{{ |(%l{l{{{{O({{({{{{{[{{C[C[{[{ }{{ }{{{ }v~ }{{v~ }v~ }{{{{{{{%m{{{{{{{{{}{}{|{|%{%{{|M{|{{{{'>{{{'>{'>{#P'>{'>'>{{'>#P'>'>{'>{{{{'>'>{'>{'>{'>'>{'>{{{{{'>{{'>{{'>'>{{{'>'>{'>'>{'>'>{'>{{{{'>'>{'>'>'>{{| {|{{{{{'>'>'>{'>'>|'>|'>|||'>'>|'>||'>| '>'>| || || '>'>|'>|'>|'>'>||'>|'>|'>||'>'>|||C||4||/||%'>|| |#|!|"'>'>|$'>|&|,|'|)|('>'>|*|+'>'>|-'>|.'>'>'>|0'>|1|2'>'>|3'>|5|:'>|6'>|7'>|8'>|9'>|;|>|<'>'>|='>'>|?|@'>|A|B'>'>'>|D|E'>|F|J'>|G|H'>|I'>'>'>|K'>|L'>|N||O|a|P|[|Q|V'>|R'>|S'>|T|U'>'>|W'>'>|X|Y'>|Z'>#P'>|\'>'>|]|^'>|_'>'>|`'>|b||c|x|d|q|e|m|f|j|g'>|h|i'>'>'>|k|l'>'>|n'>|o'>'>|p'>'>|r|s'>|t|v|u'>'>'>|w'>|y||z||{|~'>|||}'>'>|'>|'>||'>||'>'>'>||'>|'>'>||'>'>|'>|||'>'>||'>'>|'>|'>'>||'>'>|'>|||||'>||'>|'>||'>'>|'>'>|'>|'>|||||||'>'>|'>'>||'>'>'>|||'>|'>'>|'>|'>|'>'>|'>|||||||'>|||'>'>|'>'>||'>|'>'>|'>|'>|'>|||'>||'>'>'>|||'>|'>||||'>|'>|'>|'>'>|'>||'>'>|||'>|'>'>|'>'>||'>|'>'>#P|||||||||||||| |||| ||||||OO||O(O}}}}}}}}}} } } } } }.} N N} N}} N} N} N} N} N} N% N}}]}}T}}#}}}} }!}"}$},}%}&}'})}(}*}+}-}.}/}H}0}3}1}2&h1&K}4}G&K}5&h}6}7}A}8&h}9}=&h}:};&h&h}<&K&h&h}>}?&h}@&h&h&K}B&h&h}C}D&h}E&h}F&h&K&hC}I&K}J}S}K}L}M}N}O}P}Q}R&C}U}W}V}X}Y s}Z}\}[ &2}^m}_}`}a}b%}d~}e}~}f}m}g}h}j%}i%}k}lQ}n}o}p}q}r}s}t}u}v}w}x}y}z}{}|}}}~}~}}}}3 _}}C}}%}~}~8}}}}}}}}}}}}.}.}}}.}}}}}}}.}}}}}.}}.}}}}}}#P}}#P.}}}}wE}.}}}}}}}}#P}}}}.}}}}}}}}.}}#P.}}}.}}}}}}}.}}..}}}}.}}.}}}}}.}}}#P}~}}}}}}}}}.}.}}}}.}}}}}}}.}}~}}.~~~.~.~~ ~#P~~ ~ ~ #P~ ~/~~~~~~~~~wEwE~wEwE~wE~wE~~~wEwE~~~wEwE~ ~(~!wE~"~%~#~$wEwE~&~'wEwE~)~,~*wE~+wE~-wEwE~.wE~0~4~1~2~3#P~5~6~7.~9~~:~A~;~<~=~>~?~@#P~B~o~Cz~D~[~E~R~F~K~G~I~H#P#P~J#P#P~L~O~M~N#P#P~P~Q#P#P~S~V#P~T#P~U#P~W~X#P~Y~Z#P#P~\~h~]~d~^~b~_~`#P~a#P~c#P~e~g~f#P#P#P#P~i~j~l~k#P#P~m#P~n#P~p~~q~{~r~t#P~s#P~u~w~v#P#P~x~z~y#P#P~|~~}~~~~#P#P~~#P#P~~~#P#P#P~#P~#P~~~~~..~~~~~~~~~~~~~~~.~.~~~~~4~4~4~44~4~~~~~4444~4~4~~~#P~#P~#P~#P~#PV#P~~~~~~~~~W~~.~~~~~~.~~wE~~~.~~~~~~.~~~~~.~~.~3~~O~~~~~~~ Q~~~ _~~%~~~~ww%~~~~~~ }%~~%~~%%~~%~%yQ%~Q%) ]'#P  #P#P #P #P #P#P#Pz#P#P #P#P#P#P#P#Pɓ#P#P#P#P.z#P#P!"##P$#P%#P#P&wE#P(#P#P)*#P+#P,C-:.5/201#P#Py344'>#P68#P7#Py9#Py#P;>#P<=y4?B@Azyy4#PDQEJFGy#PHI#Pɓ'>KNLMwE#P#POP#Pɓ#PRWSUT#Py#PVy#PX[YZy#Py#P#P\#P^{_o`#Pahb#P#Pcd#Pe#Pf#P#Pg#Pz#Pi#Pj#Pkl#Pm#P#Pn#Pp#P#Pq#Prs#P#Ptuxyvw#Py#P4yz#P4#P#P|}#P~#P#P#P#P#P4#P#P#P#P#P#PwE#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#Py#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#Pz#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#Py#P#P#P#P#P#P#P#PwE#P#P#P#P#P#P#P#P#Pz#P44444444444444wE444wE4444444wE4 }O   W  I5IWWIWQ2# Q%O!I"'%#$%&(m)O*+,;-4.1/0 Ny23 5867OI%9:O&<B=?I>by@AuvCFDEJIGHv J'KULOMN%2PTQRvvSvQVuW%XYqZ_Q[Q\Q]^QQ`jaQQbcQdQeQQfQgQhiQAQQkQlmQnQQopQQQrQstQQvwxyz{|}~WIWWWWWWXWXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW    W WWWWWW$W !"#WW%&W(%*+,g-b.Y/X0C1>23=456789:;<)  ?yB@AByB  D%%E%F%GH%I%J%%KLP%M%NO%%~QUR%ST%: NV%W%%%Z_[\ Q]^C Q'jk`aRced#f%hijQklmn|oQpQQqQrQstxuQQvQwQQyzQQ{QQ}~QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQAQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQivQ}A}eQeQQQQQQQQAQQQQQQv}nAaeQQQQQQQQQ+QQQQQQ QQ  QQ Q QQQ}Y&QQQQQQQQQQQ QQ!"Q#Q$Q%QQ'Q(J)>*7+1Q,Q-Q.Q/Q0Q}Q2Q34QQ5Q6QQ8Q9Q:;Q<Q=QQ+?Q@QAQBFQCQDQEQ+GQQHIQQ+QKQLMSNQOQQPQQQReQTQQUQVWQQX}QZbQ[Q\]Q^QQ_`QQaQctdQelfQQghQQijQkQQomQQnQopQqQQrsQQuQvQQwQxyQzQ{Q|QQQ~QQQQQQQQQQQQQQQQAQQQQQQQQQQQQQaQQQQQQQQQQQQQoQQQQQQQQQeQQQQ~~e~QQQoAQQQQQQQQQQQoQQQQQQQ}QQ }%mQ%QQQQQQQQ(vm  O3 }      am  '$~I $!"#C%'&O)Q+K,-.p/01234%56E798(:D;<=>?B@ACFkGiHISJRKMLNOPQT`U_V[WXYZ\]^acbdgefhjlmnopqr}swtuv(xzy:{|((~((b::W(:((((b::W  % :  %%%%%OOK5/)% !"#$&'( *+,-.  012346I789@:<;$%=>? oABBCFDEvQGHC~}JLoMYN#P#POPU#PQ#PRST#P#PV#P#PWX#P#P#PZ[#P\#P]#P^h_#P`#Pabcdefg#P#Pij#Pk#P#Pl#Pm#Pn#POmqrstwu% Nv%:x%y}z{% N N| N%~%% N N% N N N% N }#P#P#P#P%%%T%% O%%%%%yQ%|||||||||||||||||||||%     ~~~ !"#$~&/'()*+,-.~0?18234567~9:;<=>~@MAGBCDEF~HIJKL~NOPQRS~UzV%WrXoYZ[\ewE]wE^_wEwE`awEbwEwEcdwEwEwEfgwEhwEwEiwEjkwElwEwEmwEnywEpq% !%s%t%uv%w%x%%y%{%|%%}%~%%%%%%:::::%O &v !Q %% !v%%%%%%%%%%%%%%$d/G% !% }(#P#P#PwE#P#P#PQ%QQQ Q QQ Q  QQQQF0QvO%O * !"#$%&'()+/,-. Qy%1>253426:7|8m9 m;v|<|=|?A@QBCDEmmHIJLMNOPQR{SzTUfVcW\ɓXYɓɓZɓ[#Pɓɓ]^ɓ_ɓɓ`aɓɓb#Pɓdɓɓeɓgjhɓiɓɓkuɓlmrɓnɓopɓɓqɓ#Pɓsɓtɓvɓɓwxɓɓyɓ#P|}~OOOX%֋myQ  l  NyQ Q% OO2 % !IIII)7)FUds}}}}}Q}v_ 55))W WW G ; ' zz@$! @@@"#@@%&@()4*+0,-./W123W567W89:W<=>?@ABCDEFHIVJKLMRNOPQSTUWXYZ[\]^Z`abicdefghqjklmn{orpqZsvtuZwyZxZzZ|}~ZWQO%b nmQQ}O$% Q'lII Ov% 3%~q4y4OOvQQQQQQQQ QQ QQ Q QQ QQQQQQQQQQQQQQUGO OO!"=O#$5%OO&',O(O)O*+O"O-1.O/O0O"O2O3O4OO"6O7OO8O9:OO;<O"OO>?OO@AOOBOCODEOFOO"HOIOJOOKOLOMNOOOOPOQOROSTOO#VOWdXOOYZOO[\O]"~"~^"~_`"~"~a"~b"~c"~OeOOfgOOhiOjOOkOlOmOnoOOp"Or}sztwuv Oxy }${| O%| o o a a a a a a a a a a a a a a a a{%'\'\'\'\'\'\'\'\'\'\'\z '\'\'\'\'\ Q'\%WWWWO%$ } } } } } } } } s% vQ &4%% %N*%%%%%%% %% % %  %%%%%%% |* Pu u!%"#$&(' s)+L,K-./ 01<293645I V Q78I:;|=D>A?@RBC EHFG4IJlJ MOoPeQmR_SVTU2rVW^XY]Z } }[ }\ } }vO`caObdfngkhiOjl%m%Qpzqxrstvu }wy!{|}~VVVgRb  Cg8>8 C   6r. $!"#%(&'z)+*g,-Hg/012345 7T8E9:;<A=?%>i@ BDC%%iFGHI8J8K88LM8N8O88PQ8R88S8{CUVW]XYZ[\^_`acdsefghijklmnopqr tuvwxyz{|}~11$1g=Kg g ^     Y-& !"#$%'()*+,g./0123456789:;<>?U@AQBCDEFGHIJLKgMNOPqRSTVmWXYaZ[\]^_` bcdefghijklnopq|rstuvwxyz{}~g*f( g$wTg     !"#$%&'l)S*6+,-./012345g78F9:;<=>?@ABECDgGHIJKLMNOPQRnTUVWcXYZ[\]^_`abdeghxijklmnopqrstuvw4yz{|}~g8H` ( $      !"#$%&')u*K+@,-./0812345679:;<=>?ABCDEFGHIJLMYNOPQRSTUVWXZj[]\^_`abcdehfgiklmnopqrst#vwxyz{|}~ # =====      u $1       b=$# !" u%&'7()0*+,-./12345689:;<1>J?@ABCDEFGHIHKZLTMNOPQRSKUVWXY#[\]^_`a1cdhefg#ijklmntopqrsu{vwxyz|}~*   *| U>1w  M2 u        #  !"  $%&'()*+,0-./n1345=6789:;< >?@ABCDEFGHIJKLN OYPQRSTUVWXZ[\{]j^g_`adbc:ef!hi!kulomn!pqrstvwxzy3|}~g|:A| u   %1wTl }W(5               W WWW55 (   (( !U"F#7$%&28'(11)*+,-./0  35u468898:;8<8=8>C8?8@8A8B{C8D8E8{C8GHKIJ LQMNgOP RST VaWXYZ][\Q^`_bcdefg*ijUklm nHoplqr4stuv~wx}yz{|88888gggggggg+   |u       uH1ww $!   F"#u K%&)'( *H,-2.0/*8183856|7\8R9P:N;C<>=g?@gABgDHgEgFGgIJLKgMggOQSTUVgWgXYggZ[gg]x^`_8aob8cdefghijklmnupqrstuvw yz{g}~8888)8{C8w w  H gggggggg Q.S88[{C888{C8{C {C888888 8{C88 8 8 88{C(8{C{C{C{C{C{C{C{C{C{C{C8{C{C {C!{C{C"{C#${C{C%{C&{C'{C8),{C*{C+{C88-8{C/401235;6789:<F=>?@CABDE GH8IJKLNM%OP%3RSyTUaV]WXYZ8[\ ^_`gbjcidefgh8klm8nopqrstuvwxz{|8}~8 sww ow o o o s s s s s s s s s s s s s{5 sgg888 gg8{C{C{C{Ce8  Q )    8888& 88!"8#8$8%88{C'(8*+j,;-.7/0g1423ggg5g6g8:9ggg<=e>X?@ABC DRE FLG HJI  bK b  MNPO  bQ b  ST U  VW b YZ[\]^_`abcdUUfghikm1no,pqrstuvzwxyK{|~}|:*`U 8{Cg{C{C{C{C{C{C{C{C{C{C{C{C{C8888 1   gggg1g8 8  8 88  8888888{C8{C*#ggg gg!g"g$g%g&'gg()gg+8-B.8/0128345867H9:;<=>?@ACD~EhF^GUHMIJKLNSOQPRTVYWXZ][\_e`ca|b|d|fg |ipjlk | mn o qtrs|uvywxz|{}{CguY8O\gggg ggggg88ggggggggggCC8   C8   **8!  ",#'$%&Q()* + -./0823e4\58678{C9P:K;={C<8{C{C>?{C{C@{CAB{C{CCD{CE{C{CF{CG{CHI{CJ{C{CL{CM8N8O{C8{CQYRTS88{C8UV{CW{C8X8{CZ{C[88{C]^_H`c ab    d  fmghik1j1lwH1nopqrvstuvwxyz{|}~$118wgggg88w 18888^8b 88   g  ggZ88. !"#$'%&(+)*,-/01d2F3=456789:;<g>?@ABCgDEgGQHIJKLMNOPgR[STUVWXYZg\]^_`abcgefqgmhijklgnop rvstugwxyz{|}~gFgOOOOO"O-a8N 8#P4'M Q'0#P,'M#P QyyywEF'Mg4444wEzz4z#P4zɓgɓgzɓɓ Q,ɓ#P8  C   !6"#1$%+&'()*>,-./0234578;9:<=>?@ABDEFGHIJKLMOP`QTRS8UVW\XYZ[|A]A^_hAh8bzctdlefghijk1mnqoprs8uvxwy8{|}~ g  1uY $8C888C8Cggggggggggg8|888 a# %   O O88! %" $'%&8()*+,.|/g0:123456789R;Y<C=>@?8AB88DVESFGHIOJLK1MN11PQR11TU8WX8Z[\]^_c`ab8def8hij=klmnoypqrstuvwx z{|}~ug     #        !" $%'&8()8*+,2-.1/0345679:;<>j?@ZAXBNCDEFGHIJKLM1OPQRSTUVWY8[\]^`_abcdefghi klmwnopqrstuvxyz{|}~           g     %g !"#$&l'F()3*+,-./0124=56<789:;  >?@ABCDEGWHIJKLRMNOPQSTUVXYZ[a\]^_`bcdegfhijkmnorpqgstuvwxyz{ }~ 8m8H8888  H8Q888mvg 8!x8888888888888t8  H 8  8 a" 8!8#8$6%&2',(*) + -0./1345789A:;<>=?@ 8BCDEzFaG1HSIOJMKL$>1N1PQR>1TYUXVW11Z][\^_H1`1bcqdjehfgi1knlm1op1#1rvstuw1xy1{|}~1>#H1111111111#1$HU>w11H111111111w111>w11111111111111111(  1  1 11111111 #!"H1$&1%'1)C*,+-.8/3011245679@:=;<1>1?1A1B1DKEFGHIJLXMSNOQP1$RTUVWY]Z[\1^_`1bzcydesfghijklmnopqrtuvwxC{|}~#P88888{C888888888W8Cw 88   HHww11gu KHH H11HH 1|*1     H    ggw8 3!1"#8$%&'()*+,-./0284C56789:;<=>?@ABDEFG8I$JKLNMHOP{QRkSbTUVWXYZ[\]^_`avcdefgih jwlmnopqrstuvwxyzU|}~~ HuC8888{C8{C88E8C8O88888888888{C8{C88888888{C8{C88{C{C8{C8{C8888{C8H:"     gg !#$%&'()*+5,-2.0/U1U34U6789U;D<=@>?{C{CA8BC{[{CEF8G8{ITJKNLMOP QRS UVWqXkYcZ[\]^_`ab defghijlmnoprstuv wxy z{}|   ~      $>w888u88n885     &! "#$%'.(+)*,-/021346a7J8E9:;<=>?@ABCD1FGHI2KLMNOP1QYRSTUVWX1Z[\]^_`1bcQQdeQfQQgQhiQQjkQQlmQQopq~rstuvwxyz{|}~~~~~~~~~~~~~~~%~~~~~~~~~~~%~~%8   ggggg88n g     gw !"#w% &'L()*;+,-./0123456789:<=>?@ABCDEFGHIJKMNOPQRSaT`gUgVWgXgYgZg[g\gg]^_gg bncdefghijklmopqzwrstuvwxyw{|}~wggg'$|1  |    8!"#$%&()v*W+:,-./0123456789w;I<=>?@ABCDEFGHuJKLMNOPQRSTUV XgYZ[\]^_`abcdefhijklmnopqrstuwxyz{|}~u *5ggggggggggggggg  g  g gg&g g!#"g$%gg'/(+)* ,-.g021g3467y8]9L:D;B<?=>g@AggCgEHFGgIJKggMQNOPgRZSWTVUggXgYg[\g^h_c`abgdefggisjpkmlggnogqrgtuwvggxgz{|}~gggg gggggggggggggggggggggggggg gggggQ,ggg   g g gg %g# "!g$g&'*()+-H.6/04123gg5g7>8;9:g<=?D@AgBCgEFGgIJNKLMgOPgR{SeT_UZVWX Y[\]^g`abcdggfpgkhijglmnogqwrsutgvgxyzg|}~ggg gggggggggggggggw1ww:w>w>ww8 Q    M( !"#$%&'3)*?+7,-./0123456g89:;<=>@EABCDFGHIJKLNOPQRSpTbUVWXYZ  [\  ] ^ _ ` a cdefghijklmnoHqrsytvu1wwx z{|H }~  u   HwKHHH18 8   j !"(#$%&'8)+*8,-,./0=1273456g89:;< >`?L@HADBCEFGgIJKgMWNQOPgRUSgTgVgX]Y[Zgg\^_gaqbjcgdegf hi knlmgopgr|svtugwxygz{}~gggggggggggggggggggggggggg ggggg ggg    g ggggg! g"'#%$g&g(*)g+g-./r0Y1@2734g56 89=:<;gg>?g AKBGCED F HIJggLSMPNOQRTWUVgX Ze[`\]^_ggabcgdgfmghjigkl|gnpogqggstuv{wyxggzg|}~gggggggggggggggggggggggggKgggggg gg.ggggg    g |gg  g%"! ggg#$g&*'()g+,-g/0M1@273456gg8=9;:g<>?AFBCDEgGHJI KLgNZOVPSQR:TUgWXYg[a\]_^g`gbecgdgfgghiggklmn6o{pqSrzstwuv xy |}~~~888868  88(X88888888888888888888/gg      1%!  "#$&'(),*+-.0N123@4:56789;<=>?ABGCDEFHIJLKHM OgPQ11R1S1TU1V11W1YuZm[`\]^_8ab8chdefg ijkl`nopqrstvwx8y88z{8|8}~g8g8{C{C{C{C{C{C 1gggggggggggg     g8\\' !&"#$%g8)*V+C,B-./0123456<789:;g=>?@Ag8CDEPFNGIH8JKLMO8QTRS88U8WXlYZ[h\a]^_`  becdfgwijkmunotpqrsgvwxyz{|}~g8 u8888888888888{C888888888888{C8K8 gq>K >  u 8GPH w3    qq q(qqqqqq7q7-(#! 8"8$%&'8)*+,8./0128456B7;89:<=>?@ACDEFHIJKLMaNWOSPQ R  TVU  |X\Y[Z|   ]_^` bkcgd ef1hj i lqmon1p rstvwYxyz{|}~8 :|:!nggH8TpK  ewT  FHUd sg f/$88888mSS{CPG9=&&  (     g"| !Y &#&$%u t')4*1+.,-ug/0235678u:8;<88=8>8?@88AB88C8D8EF88HJI8KLMNOQSR8TXUVW8{CZ[\]^w_j`abcdefghiklmgnopqrstuvgxyz{|}~888    gw8{C8gg 884>88C8T8PPPPPPPP88  3n  8   888MA868+(88 8!"88#8$%88&'88{C)*8q%88,-88.8/801882838458{C87889<8:;88=8>8?8@88{CBCIDEFGHJKL\ONO_P^QRSTUVWXYZ[\]g8`abcdefghijklmopqrstu8vwxyz{|}~nn8{C8{C{C88{C{C88{C8{C{C8{C8{C[{C{C888888888G8{C{C{C8{C[8[[{C{C888888888G888888G88888G88888G{C8{C8888811#    1|H HU>www  4uWR2 !"#+$%&'()*g,-./01g34C5A86789:;<=>@?gB8DE8FGLHJI K MPNO  Q STUV8XqYZa[\]^8_`8bmckde8fghO\ij\l8nop88rst8vwxyz{|}~ d 88888gZ8888888888888888}8$$8uU |*8u8     88(' !"#$%&g8)*-+,8./012 145+6789X:;=<8>?@AJBECD FGIH KSLQMN OP RTUVW YZ[u\g]a^_` wbdc efhoiljk u1Kmn uprq1st vw|xzy{}~H  KHggggg8888{C888{C8            w .=88    88 888 8!)"(#$%&'8*8,N-6./03128458789H:G;@<=>? ABECDFC$IJ8KgLgMgO`PQRYSTUVWXZ[\]^_awbcdhefg8ij8klmnopqrstuvxy8z{{C|}~{C{C{C{C{C{C{C{C{C{C81g1 11g888CC1 8$88{C{C{C*-888  8  ) gg '!"#$%&g(g*,+ 8g./r0>1234;56978g:g<=?_@ABCDUEFGHIJQKNLM#OP#RST#VW XY  Z[ \ ]  ^ `fabcdeghiojlkmnpqstuvwxyz{|}~ggggggggggggggggg68g88~>1        - !*"(#$%&'g)8+8,8./9061234587888:<;8=8?U@ABCDLEFGHIJK  MSN8OPQRT8V[WXYZ8\f]^_d`abc e8gxhijklmnopqrstuvwyz{|}8 |  RGg        (&" 8!#$%8 s'8)@*+7,/ -. 021 34w56uw8<9:; =>?AB3C8DEFkHIJxKLM\NOPQRSTUVWXYZ[]^k_`abcdefghijlmnopqrstuvwyz{|}~`B"8w1Iw16"  1 $  w |1 !w 1#%$w&-'+()*>,11.2/0w11345>78H9=:;<w1>B?@Aw1wCDE1FG1JKLfM[NTORPwQ1wS1wUXVW1Y1Z1w\b]`^_11a#$c1dew>1guhniljk1morpq1 1stv{wx1yz11|}~11111w1 11|w$11>11H1w>1w w w1w1H $wH >>ww>1    1>L1 1>w1!   #.$'%&8(,)*+8-C/40218385<67C89:;8=>?@A CDEYFLGH8IJKMVNOPQ8RSTU $W X{CZo[i\^]_`eac{Cb8{C8de{C{Cf{Cgjh8jjmkl88ngpqrst8u{vxwgyzg|}~K 881111111188uu*   88 gwgCC8828{C wH8{C     {C88&wwwww w!w"ww#w$%wwZ'(-)*+,{C8{C./01883Y4R586789P:; <=j>G?@ABCDEFHIYJPKML1NOQURTSH1VW1>X1Zb[_\^]U1`aHchdfeg1iwklmwnsorpq1>>tuvwx}yz|{H~111H11w11H11>1HH11$1HHww1HU>H>>#111$111111>1H>1H1ww1w1#1 HH>11$1 >1H >  w>1>H1>Hw!"H#9$%,&)'($*U+$-3.1/01214756181>:;D<?=>@ABCwE FGHIJK>LMNO>QSVTU8WX8Z[^\8]8_8abcdqepfCghi8jklnmgog8r{s8tu88vwxyz8|}~gK*8{C8ggg8,1      !")#$%&'(*+,-./02345u6[7N8D9:;<A=?>w@HBCEFGHLIJKMOPQURSTPVXW**YZ \h]^_g`adbc efg8ijk8lmrnpovqmsmtvvwx{yz8|}~8\\8888vvvv8gw 8H  88888888̐8  {C $ g8 !"#%9&'(8)*+,-./0152w3w4ww678w:;<88=8>?8@8ABCDEFG8IdJRKLQMNOPHH8S8TU[VYWX  ZH\^]_`gabcH efghijklmnopqrstuvxyz{|}~ ww u8   g HHggg8|{L{C%!      {C{C{C{C{C{C{C{C{C8 "#$&7'()d*+,-./012345618?9:;<=>@JABCDEFG H I  K8MNiO_PQRSTUVWXYZ[\]^ `agbcfgdegggghggjkl~mnr8op88q8e8st8u8v8w88xy8z8{8|88}8{C88888 Q|K88 88 1w8     wwww www  ww  wwwwwww8_9+ !*"#$%&'(),-./0g12345678g:S;@<=>?ALBGCEDgFHJIKMPNOQRggTY8UVW{C8{CX{C88Z[\{C8]^8{C{C8`jabcdegf hikylmnopqrstuvwx z88|}~8wggHHuu888{C8{C8Rg8 &8888 88!            1"#$%8'[(F)*-+,8.8/04123C5679:8;A<=>?@BECDGHIYJKTL{CM{CN{CO{C8P{CQR{C{CS{C8UVX8W8gZ8\c]^a_`8b8dtefghijklmnopqrsuyvw8xz{8}~g111w8688888 Q Q Q Q8p      [!>"#$7%&*'()+/,-  . 041235689:;8<8=8?M@ABCDEHFGIKJLNOPRQSTUXVWYZg\]y^l_`akbchdfeg|ijU8mnopqtrsuwvxz{|8}~8{C8{C888{C888{C{C888[{C{C8{C8{C8{C8{C88{C8$$݉V݉11  i     8 ?>+8 8!"%#$OO&('8[)*,6-./012345 789:;<=?@bA_BTCHDEGFggINJLKgM OPRQ SUZVWXYƢ[\]^`a8csdjefghiukl8mpno1qr1t88uv88wx88yz8{8|8}88~888888gggggggggggggg gggggg gggg* gg    ggggg% g #!"g$g&'(g) +9,-5.2/01gg34g678g:;<=>g@oAXBQC8DEFGJHI KNLM   OPwTwTRSTUVW1YaZ[\]^_` bicdhef8g8{888jklmngpqrtsuwv88xyz{{C8|8}~88888888{C888888{C8{C{C88{C8{C{C88{C8{C88ggggg     w  wH1!I"#8$%6&'()*4+,-./01235789:;<=>?@ABCDEFGHJKLMVNOPQRTS U1W`XYZ][\ 1^_ abcdfegh 1jklmnopqrstuvwHxyz{|~}11111111111111111g111 8{C888 u$ |        gg  wwu1       w% !#"$&'(*)+-.N/&0Y123E4885868788988:8;<88=8>8?8@A8B8C88D8GF8G8H88I8JK8L8M88NO88PQ8R8S8T8UW8V8GX88GZ%[\]p^f_`abcde|*gh8ijl8k{C88m{Cno{C8[qrstuv wzxy {~|} KKuuuuuuuuuuuuC888{C88)81 w8 $ggg#gggggg wu  gwu        ggg g!g"gg$8'8()*8+,=-./0123456789:;<>?@ABCDEFGHIJKLMOPQRSTUVWXuYhZa[^\] _`Hbecd1|fg  ipjmkl K1no HqsHr#t wvw|xzy{ }~1  1 $1www—Z18    8 >8 !/"8#$%&'()*+,-.082F3456789:;<=>?@ABCDEGHIJKLMNOPQRSTUVWXY[„\p]^_`abcdefghijklmnoqrstuvwxyz{|}~€‚ƒ…†‡ˆ‰Š‹ŒŽ‘’“”•–8˜²™š›¤œ žŸ¡¢£¥«¦§©¨ª¬­®¯°±H³´µ¶·¸¹º»¼½¾¿     ӋrE/ā+B/ ,!("%#$8&8'8)*8+-.80:123456789 ;<=>?@AC^DIEFGH8JWKL8MNO8P88Q8R8ST88UV8{C8XYZ8[\] _h`eadbc88fg8ijvklmrnop$q$Kstu8wÊx}yz{|>8~ÀÁÂÃÄÅÆÇÈÉËÌÍÐÎÏÑÒÓÔÕâÖÙ×Ø KÚÜÛZuÝßwTÞ àán uãäòåëæè çéê|ìïíî4ðñ|^óúô÷õöz,Yøù&Pûþüýÿ|*ql HU1w|>u$/# g `:|wH$#H1UHH1     wH$#1H>U(88 8!"8#88$8%8&8'{C8)*8,e-?.0/172345689:;=<{C>8@XAJBCDEHFG1 I KLPMNO8QRSUTVW YZ[\]`^_acbdftgjhi8kqlmnop rsuv~wxyz88{8|}88gĀ8ĂăįĄđąĆćċĈĉĊgČčĎďhĐĒ8ēĔĕģĖėěĘęĚKĜĝĞğĠġgĢgĤĥĦħĪĨĩgīĬĭĮ İıĸIJĶijĴĵ3ķ8ĹĺĻĿļĽľP8 8CCC{C{C88{C888{C{C{C8888{Cv,)     K!   "#$%&'(H8*+88-.80123456789:;<=>?@ABCDF~GIH8JKhLVMNOHPHQ1RSUT111WXYZ[\]^_`abcdefgisjklmnopqrgtuv{wx8yz8|}8ŔŀŁłŃńŅņŇňʼnŊŋŌōŎŏŐőŒœŕŖ,ŗŘřDŚźśůŜŤŝŞšşŠHŢţ1ťŬŦŧũŨgŪū $ŭŮŰŶűųŲHŴŵŷŸŹ$Ż-żŽž ſ Y11111H  111111111111111 11   11 111111'1!111 11"#%$1&1()*+,11./01234567?8=9: ; <   > @ABC EƗFRGJHIKOLMNPQHSƑTUVWXYyZ`[\]_^11aibecd11fgh1joklm1n1puqsr11t1vwx11z{Ƃ|}~11ƀƁ11ƃƈƄƅ1ƆƇ11ƉƎƊƌƋ1ƍ11ƏƐ1ƒƓƔƕƖƘƙƣƚƜƛ1ƝƟƞƠơƢuƤƧƥƦ gƨƩƪƫ ƬƭƮƯƼưƷƱƴƲƳƵƶƸƹƺƻƽƾƿ11111111111   11  1111111u%K "!uK#$w&(')*+g-^.L/0123K4H5g6g7g89g:A;><=gg?@ggBECDggFGggIJgCM8NOPQR] ST U V W X  YZ [ \   _m`abjchdefgiklnopqstǜuvwxNJyz{|}~ǀǁǂǃDŽDždžLJLjljNjnjǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǝǞǟǠǡǢDzǣǤǥǦǧǨǩǪǫǬǭǮǯǰDZdzǴǵǶǷǸǹǺǻǼǽǾǿm1      !"#$%&'()*+,-./02Y3F456789:;<=>?@ABCDEGHIJKLMNOPQRSTUVWXZ[\]^_`abcdefghijklnoȕpqȃrstuvwxyz{|}~ȀȁȂȄȅȆȇȈȉȊȋȌȍȎȏȐȑȒȓȔȖȗȘșȩȚțȜȝȞȟȠȡȢȣȤȥȦȧȨȪȹȫȬȭȮȯȰȱȲȳȴȵȶȷȸȺȻȼȽȾȿI_     88:8{C{C{C87("{C{C{C{C !#$%&'K)*8+-,.8/80182883488586{C88988;<=>X?@ABRCLDEIFGH J K MN1OPQSVTU  WwYZ[\]^1`$abcdɬefɞghɄiujnklmUorpq$st4 v}wzxyu {|K~ɁɀɂɃ>ɅɑɆɋɇɉɈ1ɊwɌɏɍɎ|Uu ɐ ɒɘɓɕɔɖɗgəɜɚɛg ɝwɟɥɠɡɢɣɤ8ɦɧɩɨɪɫɭɮɯɰɱɽɲɳɴɵɶɷgɸɹgɺgɻgɼggɾɿ 888{C88{C8w{Cwwg    8C u!  Y"#Y %9&'()*+,-./012345678:˛;ʳ<x=S>H?B@A8CDFEG8IPJKLM8N8O8QRTdU\VWZXY88[8]a^_`88bcPemfkghij l8nsopqr{Ctuvwyʡzʍ{ʇ|ʄ}ʃ~ʁʀ ʂH8ʅʆhʈʊʉ8ʋʌ8ʎʙʏʖʐʒʑ8ʓʔʕ{C8{Cʗʘ8ʚʞʛʝʜ8ʟʠʢʬʣʨʤʥʦʧgʩʪʫʭʮʯʱ8ʰ8ʲ8ʴʵʶʷʸʽʹʺʻʼʾʿu 1 88  8888k8      8>!88 8"1#,$%&)'(  *+  -./02:354{6789  ;<=8?T@NAFBDC8ECGHIKJ LMOQP8RS8UˌVˊWXY[Z\c8]8^_8`8ab{C88{C8de˃fGgvhoilj{Ck{C8{Cm[{Cn{C[ps[qr[tu{Cw|{Cxy{z{C8}ˀ~88{Cˁ˂G{CGG˄G˅GˆGˇGˈGˉG8ˋ8ˍˎˏːˑ˚˒˓ ˔ ˕ ˖ ˗ ˘ ˙  yX˜˝˞˟˲ˠ˨ˡ˥ˢˤˣ8C˦˧8˩˫˪8ˬ˭ˮ˯˰˱˳˺˴˵˶{C˷˸˹˻˾˼˽8˿888 {C1g88kggggw8888   8  C88̮̍, !"#($'%&Hg)+*w g-7./5031#2 4 689P:;B<?=>1@AHCJDGE FHIKLOMN   Q̌RkS_TXUVWY\Z[u ^]^K `gadbcu|* ef|hij ulzmsnqopr|utwuv ^xyK u{̂|}~|* ̀́  ̃̆̄̅̇̈̊̉Y̋ H̢̡̧̨̛̞̜̖̗̘̙̝̟̠̣̤̪̥̦̩̎̏̐̑̒̓̔̕̚ ̷̴̫̬̭̯̰̱̲̻̳H̵̶̸̹̺ ̼̽̾̿#88 Q Q'ѩ8Ρ  ͘ 5 ' gggg" !g#$%&()*2+/,-.01g34g6a7K8@9:;><=?HAEBCDFGHJIgLQMNOP RVSTUgW]XZYg[\^_`b̓cpdoeifghggjmklgngqzrustvxwgy{|}~gg̀́͂ g͓͉͇͈̈́͆ͅ ͎͍͊͐͋͌gg͏g͑͒g͔͕͖͗g͙͚͛ʹͯͦͤ͜͟͢͝͞͠͡gͣgͥgͧͫgͨͩgͪgͬͭͮͰͱͲͳg ͵;Ͷͺͷ͸͹gͻͼͽ:Ϳgg ggg g  ggg     gg|1gg '!%"#$&g(.),*+g-g/0g2X3945678:K;B<?=>@AgCHDFgEgGgIJLSMPNOgQRTUVWgYvZj[c\_]^`abdehfgggigkplmnogqtrsgugwxyz{g}~Ο΍΀Ή΁΂΅΃΄gΆ·ΈgΊ΋ΌgΎΖΏΐΓΑΒ ΔΕ ΗΘΜΙΚΛΝΞΠg΢ΣDΤΥΦηΧαΨέΩΪΫά ήίΰgβγδεζgθικνλμgξοggggggg:g gggggggg     g$gg  !g"# %3&*'()g+,/-.g021g 4<59678g:g;g=>A?@gBCggEύF_GMHIJKLgNVOPSQRgTUgWX\YZ[g]^ `sanbicfde ghgjklgmggopqrgtσuvywxgz{}|~gπρςgτωυφχψgϊϋόgώϥϏϕϐϑϒϓϔϖϗϝϘϙϚϛgϜgϞϡϟϠggϢϣgϤgϦϷϧϬϨgϩϪϫgϭϱϮϯϰgϲϳϵϴg϶gϸϹϽϺϻϼggϾϿggggggMgggggggggggggg-     :gggg#gg !"g$(%&'gg)+*g,g.>/60312gg45g7:89g;=<ggg?C@ABgDIEGFgHgJKLgNЉOpP\QTRSgUYVWXggZ[]i^e_a`gbcdgfghjmklgnogqЁrvstu|w|xyz{g}~ЀgЂЃІЄЅgЇЈЊОЋЌЖЍГЎБЏАggВggДЕgЗЛИЙКgМН ПиРЬСХТУФggЦЩЧШgЪЫgЭеЮбЯаgвдгg жзgйколнмgпgg'g gg ggggg gg g g  g ggg g!&"#g$%ggg(b)<*+/g,-.06132g45gg798g:;g=M>E?B@gAgCDgFJGHIgKLgNVORPQggSTggUgWZXYg[^\]g_` agcыdveofjghigklmgngpsqr gtugwхx~y|z{g}gср gтуgфgцшчgщъgьљэюєяђѐёgѓѕјіїggњѡћўќѝgџgѠg ѢѦѣѤgѥgѧѨgѪѷѫѬѭѮѯѰgѱѴgѲgѳgѵѶggѸѹѺѻѼѽ8Ѿ88ѿ8{C8{C8 8{C88 8g#    8 8 g!  "$%&(4)0*H+1,$-./$123 5E67=89:;<>@? ABCD FGHuJaKvLaMNOPQRSTUVWXYZ[\]^_`bcdefghijklmnopqrstuwxҜyz{|Ҍ}~Ҁҁ҂҃҄҅҆҇҈҉ҊҋwҍҎҏҐґҒғҔҕҖҗҘҙҚқgҝҞҟҰҠҡҢңҤҥҦҧҨҩҪҫҬҭҮүұҲҳҴҵҶҷҸҹҺһҼҽҾҿGgg88111w 11     w:(&     !"#$%>')*+,-6./0132u45  789;<=>?@ABCDEFgHIJKLM`N[O%%P%Q%RS%%T%U%V%WX%Y%Z%$%\]^_88bced8fghizjklmnopqrstuvwxy{|}~ӀӁӂӃӄӅӆӇӈӉӊӌӍӎ/ӏӐӸӑӤӒӓӔӠӕӛӖӗәӘӚ8ӜӞӝ8ӟ8ӡӣӢ88ӥӦӧӨөӪӫӬӭӮӯӰӱӲӳӴӵӶӷӹӺӻӼӽӾӿl8888888888888888888BC>)Ֆa,  g ggg  g  Kgg" !g#*$(%&' ) +K-E./:04123g576K89g;@<=>?gABCDggFZGPHLIJKHMNOQURSTgVWXYg[\]^_`gbԲc{demfghjigkl nuorpqgstgvwyxgz |Ԧ}Ԍ~ԂԀԁgԃԆԄԅg|ԇԉԈ|ԊԋgԍԝԎԔԏԑԐgԒԓԕԚԖԘԗgԙgԛԜgԞԢԟԠԡggԣԤԥggԧԨԭԩԪԫԬgԮԯ԰ԱgԳԴԸԵgԶgԷggԹԺԻԾԼԽgԿggggg gggggg=5$ggg  g   gg  !g"#g%&0',()*+ -./g1234 678g9:;<g>u?I@ABCDEFGH JK\LWMNTOPSQRggUVggXYZ[gg]j^f_c`a  bgdegghigkolmngpsqr tvՀwxyz}{|g~gՁՂՃՈՄՅՆՇgՉՒՊՎՋՌՍՏՑՐՓՔgՕ՗`՘ՙ՚ժg՛՜դ՝՞ա՟ՠgբգgեզէըթgիլչխմծձկհgղճgյնշոgպջռտսվgggggggg gggqP"     gg g!g#;$.%*&'()+,-g/071523g46g89:g<K=F>@? ABDgCgEgGHIJgLMNOgQRS[TUXVW YZ\]^g_ abցcudeofkghijlmngpqrst vw|xyz{g}~րgւִփ֞ք֐օֆ֌և֊ֈ։gg֋g֍֎֏֑֚֒֗֓֕֔ ֖g֘g֙g֛֜֝g֦֢֟֠֡g֣֤֥g֧֪֮֨֫֩gg֭֬ggְֱֲ֯ggֳggֵֶַָֹֺֻּ ֽ־ֿgggggggggggggg     gggggggg "!g#%$g&'g(g*1+,8{C-0.{C8/8{C{C82:3648858{C7{C8898{C8;=8<8{C8{C?@88A8CbD]ESFRGHILJK8MON8PQ88T[UVXWYZ\C^_a`8cdefghijgkgmסn׀opqrstuvwxyz{|}~ׁׂ׃גׅׄ׆ׇ׈׉׊׋׌׍׎׏אבדהוזחטיךכלםמןנעףפץצק״רשת׫׬׭׮ׯװױײ׳׵׶׷׸׹׺׻׼׽׾׿      !"#$%&'()*+,-.01X234F56789:;<=>?@ABCDEGHIJKLMNOPQRSTUVWYZ؞[\c]^_`ab8de؏ftghijklmnopqrsu؂vwxyz{|}~؀؁؃؄؅؆؇؈؉؊؋،؍؎ؘؙؚؐؑؒؓؔؕؖؗ؛؜؝؟ؠءآرأؤإئابةتثجحخدذزسشصضطظعغػؼؽؾؿ H1  g>K٫"% %% % % % %%%%%%%%%%%%%% N%!% %d &#ه$X%+&'m(O)O*v,U-A. /;0312 o475689:x2< o=>? o@/BCPD%ELFIG%%H%J%K%yQ%%M%NO%%%Q%RS%Tɱ%ɱVW3YhZ\[]g^__%%`%ab%ced%%&f%&%iljk*mn2%op}qyrvstuu wx rz{|( ~كـفقrلم نو٪ى٧يًٌٍَُِّْٕٖٛٓٔٗ٘ٙٚ6ٜ١ٟٝٞ٠&Y٢٣٤٥٦&Y٨٩Qv٬٭ݟٮھٯڨٰٲٱ%ٳٴmٵٶٷٸٽٹ ٺ  ٻ ټ Kپٿ                                     K     uu |                   u    K       u  I4,$ &H!#" KP%(&' )*+Ku -2./u0  13K 5<678:9 ;  =D>A?@KuKBC uEGF  HKJ}KRLMNOPQHSpTjUZVWX Y [c\_]^ `abdefghiuklmnoqwrstuv xyz{|l~ڏڊڀڄځڃڂڅچڇڈډڋڌڍڎ ڐښڑڒړڔڕږڗژڙ ڛڜڝڣڞڟڠڡڢ ڤڥڦڧuکڻڪںګmڬڭڮگڰڱڲڳڴڵڶڷڸڹKڼڽdڿp%z|`|Omv sO ICQ% }v%Q  N3 3ooo3 %     }    sv%G/%" !v#$r v&)'( v *+v },-.091423Q%|5867vv.>:>;=<O?F@%ACB##DE#OvHZISJK }LMNOPQRTWUVOm_XY sv[b\_]^`amcfde%gohiljk% smnOI s%q݌rust%vw x#y}z{4|4~5ۀہ۸ۂۘۃۉ ۄۅۆnۇۈ   ۊۑۋێیۍ ۏېے۔ۓ ەۗۖ  u|*ۙ۫ۚۢۛ۟ۜ۝u ۞u ۠ۡ  ۣۧۤۦ ۥ  u ۨ۩ ۪u|*۬۱ۭۯ ۮ۰  ۲۵ ۳۴ ۶۷uuu۹ۺۻKۼۿ۽۾u     K  44 ^ u    KY     uu4  Kuuu   nu          u u Y  ^ K u A # Ku  !"  $,%)&'K( *u+u -0. /K 13K2 KK4 67z8Y9I:K;B<@=? >  A CEDK FG H4 JNKB LMB OUPS Q R KTVWuX Z[j\c]`^_ abu dhefug  ikslpmnu o qrtxuwv|*u  KyHu{ܘ|$}܋~܂܁ ܀   ܃܈܄܆܅|*  ܇ K܉܊|* |܌ܓ܍܏܎4ܐܒܑKPܔܕܖ Kܗ ܙܩܚܞܛ ܜ ܝ ܟܦܠܤܡܣ ܢ   ܥ   ܧܨ ܪܸܫܱܬܰܭܯܮu   ܲܵuܴܳ  ܷܶ u Kܹ ܼܻܺ uܾܽܿu   u  |       u K       K    4            u        K[ @!/"(#%$ nK&'u )-*+uK, u  . 0815243K67 n 9=:;< u>?nYAOBHCFDEuu G IMJK  LuNuPVQTR S   UWYX K Z |\{]m^f_b`auce d    gjhi    kl  nuoqp  rs u t vyw x  u z  |u}݅~݃݁݀ gu݂   ݄u ݆݈݉݇ ݊݋  ݍݜݎݚݏݐݖݑݒݔݓ Nݕݗݘݙ ݛ#%ݝݞݠޱݡމݢݣݤ }Qݥݦݴݧݯݨݩݪݭݫݬ ݮQ ݰݱ$ݲ%ݳvOݵݶݷݺݸݹ 7ݻݽݼ%ݾݿ  g& X   oKx2 Q   $ R  R  R  R R R R R R R RR5*"! dB4 4 d#)$'%&r&(+1,/%-.0 2436D7<8;9H:uuBm=A>@B?BBBCBqEMFIGsH!J }KL4 d d4NQOPpSdT]UXVW%YZ[\{^a_`bc%Cbetfognhkij klm4CRfpqOwr s1uwv%Oxކy|z{  p}p~ހށނރބޅއވ  l ފދOތލގޣޏޕސޓޑޒ sޔ%ޖޙޗޘޚޛOޜޝޠޞޟlQޡޢޤުޥާަvިީq%ޫޮެޭwTޯް%%޲ߘ޳޴޵޶޷޸޹޺޻޼޽޾޿G%,#%%%!%%%::: N N% N%x%x ?axa rHrH  o   ~%&zi ~$z %5"%%$(%%&'%~$%%)*+%:%-<.5/201 yByB~34%~6978:; %r:=B>@?%% %A%CE%Dr:%F:$:HߐIJ|KYLRMONPQSVTUOWXOZv[\e%]%^_%`%%ab%c%%d%4fng%%hi%%j%k%l%m%4o%%pq%r%%s%t%u%4wzxyIXhw{}߄~߁߀h߂߃߅ߋ߆߉߇߈ߊ,ߌߍ<ߎߏK<SߑߒߕߓߔQߖߗ%OߙߪߚߣߛߞߜߝߟߢߠߡY ߤߧߥߦ3ߨߩ߫߬߭߮߳߯ ߰ ߱ B߲B ߴ߼ߵߺ߶߸߷߹h߻}T߽߾߿Oa%O%Qvw s _uoIO     &   Q Q Q Q      Q Q Q Q!2"'#%$ Q Q& Q()*+,-./01'\3645 Q Q789AwE:;wEwE<wE=>wEwE?wE@wEBCDEFGH'\JUKL2MQN22OP2w2R22S2Tw2VQWhX\YCZ[]^_`abcdefgijkmln~prqstQ svwxyz{|}~V     vvvvvvvvvvvvvvvvvvvvvQ______________??????????????????????????????????????????O  vv m  } }:" !#+$%*&'(),-./0123456789;<=>?@ABCDEFGHIJLqM\NOOOPXQORSTUVOWOOOYOZ[OO]%^_`abcdefghijklmnoprstOuOvOOwOxOyzO{OO|O}O~OOOOOOOOOmQQQQQQQQQQQQQQQQQQQQ } } }% %#my%% }^WQQQQQQQQQQQQ#Q#_#_#_#_#_#_#_#_#m#_#_#m#_% o   O  m(%$#%$$&"$ !$v&'m !)T*S%+,-8./01234567 n9C:;<=>?@AB nDEFGMHIJKL nNOPQR n }UV_%QXyYeZb[\]^a_%`O%O%cdfigh } #Ajk vlmwn%oups%qrIժt%xЖ%vrHx%x%z{|}Q~  VVVyyy##v# Q QOQ3 3xn}3  }m.vm2d B~mQ#P Q#P#P#P#PT#P     '>#P#P#P#P#P#P#PP#P'>D /!("%#$Qv&'%$),*+a-.Q }0>1;23Uv%456789: <= ?B@AOvC EnFYGVHIJKQLOMNnnnPnRTSJUOWX_OC%Z_[^v\]z`eabcڬdffghkij  lmopqrstu~vwxyz{|}   m%%2O o Q2 %a !Y f#A s    sOѤѤѤѤѤѤѤѤѤѳѤѤѤѤѤѤѤѤѳ///>|2   O   m&%q O wTwTwTwTwTu!'"%#$#3& (+)*2,<-5.2/10%M34mO6978%:;=J>@?AFB%CDEGHIyKaLQMNQ%%OP|RSVTU*WX\ sY sZ[ s s s] s^_` s sbdc emghxiwj%kl%m%n%%op%q%r%%s%tu%v%%~ yz%{|}~ &OQOvvvvvvzzvO   OO\_k }pz ,,,,,,,,,/_%O  }O }O !O%O%%%QO$%%%%%%%%%%%%%%%%%:%     v?,QQQQQQQ Q!"Q#Q$Q%Q&QQ'Q()QQ*Q+QQ-Q./Q0QQ12QQ3Q45Q6QQ78QQ9:Q;QQ<Q=Q>Q@GADBCQEF3HcIRJ|KL|M|N|O||PQ||STUVWXYZ[\]^_`abdefg%h%%i%j%kl%m%%n%op%q%%r%st%%u% NwOx|yz !y{}~ }QQ_88888888888888888888888888888% %$% _O2  mOdQ* v % $%e%P|}5   P}5|m ? ? ? ? ? ? ? ? ? ? ? ?x  C & '-  }d#A su u!"uu#$uu%u&u'(u)u*u+u,uu./L0F1234?56978pL]:=;<iL}>L,@ABCtDEpGKHrtIJ% sMNOtPbQYRVSuTU&WXW~Z][ }\wg^`_wTawcjdeufhgiOknlm}oqpOrs%uxv%%wyB$y{ Nz N%|%}%~ N%%% N %%%%%%%%% %%%%%%%x%%%%%x%!r !|    }ff }$% $!!~I m#P#POOOOOOO'MOO'MOOO'MOOOOOO'M#P'M'M'M'M'MZ'M'M'M'MZ'M'M 'M 'M 'MZ'M s u Q!#P#P zz"#$%&l()*o+Y,W-V./F0?129345678WW:;<=>I@ABCDE:GNHIJKLMIOPQRSTU }X sOZ][\%^n_m`jadbcOehfgi klmp sOpvqtrs u|3wzxyvy*{|O}V~VVVVVVVVVVVVmz Q & m l#P s O%|OwO      !"#$%'OO()<*"+"","-.""/0""1"2"34""5"6"7"8"9:";""O=G">"?"@A""B"CD""EF""OH""IJ""K"LM""NO"P"Q"R"S"T""UV"W"X""OZs[\p]O^W_Q`a$bcdesflghji k mpno qr tzuvxw y {|}~                                                        !"# %|&V'=(/)*+-, .  091423 576 8 :;< >I?E@BA CD FGH JRKOLMN  PQ STU WXkYdZ_[]\ ^ `ba c ehfg ij lsmpno qr tyuwv x z{ }~                                {^5                    *"!   #&$% ')(  +/,-. 0132 4  67F8?9<:; => @CAB DE GNHKIJ LM OYPQRSTUVWX Z\[ ] _`|asbicfde gh jpknlm  o  qr txuvw yz{ }~                                                  ]8'#!  " $%& (1).*,+ - /0 2534 67 9H:D;A<>= ?@  BC EFG ITJPKNLM  O QRS  UXVW Y[Z \ ^_o`fabdc e glhji k mn psqr twuv xzy  |}~                                  /          %  !"#$  &+'() * ,-. 01?2:34756 89 ;<=> @OAHBECD FG ILJK MN PQTRS UV X^Y3QZ[\]^p_h`eacb d fg  imjlk  n o q|rvst u wzxy  {  }~                                                               "     ! #+$%(&' )* ,-0./ 12 45V6O7D89@:=;< >? ABC EJFGHI KLMN PQRSTU WXYZ[\] _`abcdefghijklmnoq1rstu svwxy|z{O}~rOOYuvm%QO &% % %OQ Q 2QQQQQQQQQQQQQQQsQQQQQQQQQQQQQQsQ! r/fV R o o=OIfK%2 wb[  Q Q QQQQQQjQQQQQQ '!$"#I&4%&II(+)*v,-O./0z243x25<6978:;=K>J?@IABCFDEwbGH s &LM & NOPjQ]RVSTUy Q QWZXY' Q Q[\'M Q Qɓ^d_a`#P',bc'\,yehfg#P QT Q Qi Qklmpno'>z #Pqr\'\ Qt%uvmwxyz{~|}O3O$%$%~%$%$%%yQ    %%y$%%%%y$$$}E  }%$} }} |  C UUUUUvvvvvvv vd%3QQQQQQQQQQQQy:- OO"OO"OOOOOOO""OOO "~O '  OOOOOOOOO"~O"OO"OOOOO OO!w!OO#$O%OO&O"(O)O*OO+,OO".4O/O01O2"3OO"5O6OO7O89O"O;I<O=OO>?HO@AOBOOCDOEOFOOG"OO"JaKYLVMONOOOPOOQROSOOTOUO##OWOXO"~ZO[O\OO]O^O_O`O"bqcmdOeOfOgOOhiOjOOklO##OnOoOpO"OrOsOOtOuvOwOxO"Oz{|}~C  CCCCCCCCC|8CCCCCCCCCC|8CQ O%% sy% s O|VyVyv & fwq /wb Cf  O*3)####% ($)q: "!I:#:)%&'  *0+,v-./ #%12QmQ4Q5J6;789 :$<=D>A?@ } }BC }y }EG }F }HI } }KPLMN O KyRjS]TUYVWXIIZ [\II#^%_`%%ab%c%d%e%%fg%h%i%%$kl sOnopqrstuvwxyz{|}~~.Qq:Or2mOa }OO s% s% BBmmmmmmmm%%QU#P#P#P#P#P#P#P     %Ʌ }O %%m -( $!2"22#2"2%2&2'2w2)*22+,221 /B0123456789:;<=>?@A@CDEFGHIJKLMNOPQRSTV;RWX wY{Z[1\]^_`caObOdzekfighOOOOjOOOlOOmnOOoOpqOOrsOOtuOvOOwOxOyOO{|OO}~OOOOOOOOOOOOO|OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO|O|O|O|O|O|OO||OO|OO||OOOO|OOOOOOOOO|OOOOOOOOOOOO.     ! "#$%&'()*+,-/0m2345[67x8h9T:S;<=@>?^mBvARBJCDEFGHIBKLMNOPQBBUVWXYZ[`\]^_abcdefgiljk }|%mqnopdW%rvstOuO}Owyz{|}~%# QOq% }`C%      i   َ1                 i    %%$%!$!$!$6QQQQ N% N% N N N% N%5/  I5  5I  !("%#$&'),*+-.0312)4 7X89Hv:Q;FO<O=O>?OO@AOOBCODOEOOw0OGHOIOOJKOOLMONOOOOPw0ORUOSTOOw!OVOWOw!YZQ%\]y^c_a`bQdveufgnhkij%llm }orpqQstp|l%wxz~{}|%$%%%Qm3O*%QOOO}2d88888888888{C8md mJ q I%xx'@Q!$!$!$!$!$!$!$!$!$!$!$!$!$!$ffff%m%%%Q%%     Q  aO'#! %"O$&v%2(/),* } +%-.v021O3 }v45:687̿9;=̿<>?̿ABtCoDmE[FG!$H!$I!$JKL!$MVNR!$OP!$Q!$!$!$S!$T!$U!$W!$X!$!$YZ!$!$\d]a^_`w!bceifghf+wjklB dBnpsqrQyuvwxy|%z%{%:}%~%% mmmmm||m:mmm|mmmm| Q Q QQQQQQQQvQQQQQQQQQQQQQQQQQ &_d%OO%%%%%%%%yQ:%HQ%wE_Q%i     S?'!.....#P...#P..... #P."..#$..%.&#P.(5)0.*.+.,-/....1.2.3..4..67;.8.9.:..<=..>.@G.AB.C.D.E.F..HM.IJ..K.L.N.O.P..QR...TU].VW.X.Y.Z[#P..\..^_v`kagbd.c.'>e.f'>.'>hi.'>'>j.'>lsmp'>no'>.'>.q'>r'>.t.u'>'>.w|.xy..z.{.}~...#P..#P....##AQ~5v }vvvv%3'\'\yy'\_  1% !%]]]]]]]]]]]]]]]]m%%Ov_%QeQ2 %Q?!%    Q      m~|y#PyJ#P%"4#&$%%'3(1)*+,-./0W2 dQ58679:%;<= F>@XAMBECD%8FQGHKI NJ N% NL N% NNUOPQ%%RS%T%%y$VWv _ !Y^Z\[Q]%_b`a%chd !efgCO#jklmn{ozp%qvrt6suu/wxy/v/6|Q}%~%mmBiQL%3 }OQ////////////v%|%%U!pC: muuuuuuuuuuuuuuuuuuu%m  V]z$O% 1 o%QQQQQQQQQQQAQQ Q QQ  QQ QQQQ_)%%%%| }! Q "(#}$%&'yX*K+H,G- s.2 s/ s01 s s{53 s s45 s6@7:8 s9 s s{5; s< s= s> s? s sADB sC s{5 s sEF s{5 s }IJOLOMNdP2QRXSVTU}5|W%Y\Z[}|]^ | `abecd !fgrhijklmnopqsut%vywx(z{|}~%vrOQr6%/w{ o ox2 w{ a o } }O } } } } } } } } } } } } } } } }} } } } } } } } } } } } } } } } } } }Ox%%%%%%%%%%%%%%%%%% % % % %%  %%%%%%%%%%%%%%:>%-%% %%!"%%#$%%%&%'%(%)%*%+,y$yQ%.%/%%01%%2%3%45%%6%78%9%:%;%<%%=%?f@Q%A%BC%%D%EF%%G%HI%J%%KL%M%N%%OP%%R%S%%T%UVbW%X%%YZ%[\]^_`a%c%%de%%g%hpi%j%%kl%%m%no% N%q%r%s%t%%uvwykmz{W|V}~$W4#P....z4#P     zVVVVVV"'> !wE#N$7%+&'>')('>'>*'>,2-0./'>'>1'>35'>4'>'>6'>8B9=:'>;<'>'>>?'>@A'>'>CFD'>E'>'>GLHJI'>K'>'>'>MOS'>PQ'>R'>'>T'>'>U'>V'>XYYZp[h\]^d_z`zacbzzzzezfzgzijwEkwElwEmwEnwEowE#PwEqr4stuv|wzxyzz{z}~zzzzzzzzzzzzzzzzzzzzzzzzzzzzz#P4444444444444444444444444444444F'>'>'>'>'>'> '>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>    '>'>'>'>'>'>'>'>44+444%#! 4"4$4wE&)'(444*4,;-5.1/044243444697844:4<@=>4?44ADBC44E44GOHIJKLMN#PPQRSTUWV4X4Z[u\h]b^_`a4cVdeVfVVgViojzkzlzmznz#Ppqrst#Pv}wwExwEywEzwEwE{|wE#PwEwE~'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>wEwEwEwEwEwEwEwEwEwEwEwEwEwEwEwEwEwEwEwEwEwEwEwEwE#P4#PwEwEwEwEwEwEwEwEwEwEwEwEwEwEwEwE wEwEwE  wEwE wE wEwEwEwEwEwEy !"#4%&'|(9)/*+,-.051234#P678V:x;r<m=W>L?G@DABVCVVEVFVHJIVVVKVMRNPOVVQVSUVTVVVXdY_Z\[V]^VVV`acbVVehVfgVVikVjVVlVnVVopVVqV#PVsVtVuVvwVVVyVzV{V}~#Pyy#P..#P..wEwE#P#P#P.#P{V#Py+444444444'>    '> '>'>'>'>'>'>'>'>'>&#! '>'>'>"'>$'>%'>'>'()*'>'>,-d.</603V12VV4V5V7V8:9V;V=O>F?CV@ABVVDVVEVGLHJIVVVKVVMVNVP]QWRUSTVVVVVX[YZVV\V^aV_V`VbVVcVefsglhjiVVkVVmpnoVVqrVVtwuVvVVxzyVV|}~4wEwEwEwEwEwEwEwEwEwEwEwEwEwEwEwEwEwEwEwEwEwEwEwEwEwEwEwEwEwEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVɓwEwEwEwEwEwEzVVVVVVVVVVVVVVV V  V  VVVVVVSɓ4$44 !44"#4#P44%&:'4(.),*+44-4/140423444568744494;H<D=@>?4AB4C4E4FG44INJK4LM44OQ4P44R4TUQ%XZY[\]^_`abcdefghijmlnmopq|Or%stu%%vwz%x%y%{~|}%%%%%%%%%% mmmmmmmmmmmmmmmm| mmmmmmmmmv%%%m%%  m'!OQv@Q%%e8[[[  [[[[[e[[[[[[[[G[[[[.  .[G[G "[[[[.[[[[[[[[[[[[ [![.[#/$*%[&['[([[)=[+[[,[-[.G[0[14[2t3[5[[67G[9E[:;[[<=[>[?[@[AB=[[CD[=[FTGLH[I[J[K[G[MO[NG[P[Q[R[S[L[[UV[W[X]YZ[\^[_[[`acb[[d[fgvh[i[j[k[lsmon.\.p[.q.r.[t[u[.[wx[y[z[{[|[}[~[[tj[[[[[[[[[te[[[[[[[[[[[[[[[[[[[[[G[G[G[[z[t[[[eeeee.e.e[[[[[[[[[[[[[t[[t[G[[[[[[[[[[[[[[[[[[[[[[[ [   [[ [.[[t[t[tt[R6*&88$[ [!["[#[8[%[8'8()8.[88+,8-8.8/880182838488587G889=8:8;8<8[>8?88@8AB88C8DE88F8[HI8J8GKL8MPN88OG8Q8G8SqTcU]8V8WX88YZ[8[8\88^_8`a8b88doegf88hi88jk8l8m8n888p[8r[st[u{v[w[[xy[[z[|[[}~[[[[[[333333333 s3O %% N%uQQQQQAQQQQAQA2QQQQtA}AAQAAA}AvAeAAQQAeAQ2evA2e2A2eoQeAvvvABQ   Q Q  QQeQQeeQeeeeeQteQ!-Q"A#$*%'t&2t()2Q2+Q,t+.Q/903Q12A+}45867QAeA:=;e<}A}>@o?}eA2e2C]DPEQQFGJHI++KML_NO2Q2QQRTeSQAQUVYWXQQZ\[aQe^`_QAQQabQciQdQeQfQghQjqknlmQQopQQrQsQQtQvQwxyQzQ{QQ|Q}Q~QQQ2QQQQQQAQQQQQQQQQoQQQQQQQQ+QQQQQA QQQQQoQQ2nQAQAo2Q}AQ#A#QvQQQeQQQAQQQQ QQ}#QtPeQeQQQPtQQeQQ_A~+eoQv2Q}veon AtQQ QQQAQQQQQQ AQ  K &Ae+eee}env% #!"voe$eeAve'4(-)e*e+e,eno.1t/0ttv2te3#t5>69t7t8v:<;#o#=A#v?F@CA2B2oDE2v#AGIAHAAJA2LrM^NSOePRQAQeTXeUVWetteY[ZQt\]tAA_c`AaAAbodkehofogvijvenlpmne}o}v2q }esQt|uv}AwzxyvAAt{v}~eQAevA2AQe#Ae+Qe2eAvQAvAQQQeQQ#QQQQQQQQQQQQQQQvQQQQA QQQQAQ2QQQQQQQQtQQQQQQeQQQQ#2QQQ#QQQ .QQQQQQQQ2Q2QQQ22222Q22Q2Q22Q Q Q  QQQQQQQQQQ%Q AQQeQQ2!#Q"eQQ$QAQ&'8(4)0*-+,Q}}Q./Q}}Q1Q23Q}}QQ567Q}Q}9Q:=;<Q}Q}>?Q}Q}AdBCDfE`FHGIJKXLRMON =}bPQPSVTUPOWY]Z L[\PM|} L^_}5 ZacbO 2de& }ghwij  } kl%mn%o%%p%qr%s%%t%u%v%$xyz{|}~     v!$ %   !B 7B#%v %mmm· }%v }gw2st QQ%%O                           %2m%aa% }dQ<0 .!'"#$%&%( N)*, N+ N%-%% N/|%142356789: i; x=C>A?@OBDbEaFT|GHRI| JK%L%M%%NO%P%%Q% |S| U^V|W]|XY[Z|| \|| | _|`|P|cOefghniljk/ morpqQstOu!$vxw!$!$y{!$z!$|!$}!$~!$!$!$!$!$!$!$Q*r % }O     s!3%  !%OOw!x6llllll4lllll4llll#Plllllll4llllll4llll4lllll4ll4l44l4lllll4ll4llll4 lll  l l4l4 44444wE#P#P#P#P#P#P4#Pi"4lll !ll4#T$:%1&,')(l*+ll-/.l0l2534ll687l9l;I<C=@>?llABllDFEllGHlJPKMLlNOllQRlSlUdVZlWXlYll4[a\_]^4l4ll`4llbcll4ellfglhl4lj4klmunr4opql44ls4t4l4vzwyxll44l{}4|4l4~l4l4l4l4l4l4ll4l4l44l4l4l4wEllwElwElwElwEwEllwEwEwE4wEwElwEllwElwEwElwEwEwElwElwElwElwEwEwEl{CQQQ}Qy$%QQvy#PV #ArtO%   vGvdAv%&                !"#$% '()1*|+,-./0|234<56978:;=>?@BC3DQEFQ$HjIgJaKLZ%MNU%O%PQR%~%S%T%%VW%%XY%yQ%%[\%]%%^_%`%yQ%bfcde#PV Qhivkylmn|o||p|qr|s|t|u||v|wx|| z | }~R!::::OK nnu  u YuYY Y Y Y YYY YYY  u n% }  }\v %m v% %  % %%%%%r:%Q }%  v O% "<#$q%T&;'8(+ _)%*$,%- }. }/ } }01 }2 } }34 } }56 } }7  }9: } <N=F> }?@ oADBC } }v~EB dQGHJI%%KL1M OSPQR UbVZWX{Y[\$%]%^_%`a%acfde gh%i sjmklnpݲo r~sytwuvv 2x%z|{O}O  } ~~~~~~~~ʱ4m  %%.4%%" OkUUUUU &U:$ }QQK.      $%#"! ! !!!$*%)&' s(YO+,-/50312O4v687m9:;=>r?O@GADBC%EF%HKIJLMN2 sP]QTRSU\VQW[XYZҏwB 7B^a_`|Q%bqc }dmefyghijklynopwEstyuvwx6z{|}~ 5 5%QQOq%%m%& rf|%OU }O%yX&& DlOPlxx'xx'xxxy5 r%?=<-                             ! "'# $ %  & ( ) * +,  .2 / 01  3 45  67  89 :  ; >m@BA yCKDJEIfFGHڬ$O s LMQNO %PxP S STOUVOWOOXYZO[\O]iO^O_`OaOObcgOdOefO|OhOO|OjkOlm~nuorpqO|O|stO|O|vywxO|O|z{O|O||}O|O|O|O|O|O|O|O|OO||OO|O|O|O|O||OO|O|O|OOO|O|OO|OOOOOOOOOOOOOOOOOOOOOOOOOOOOO"v O OWe ( Q%%O ! qv% !%%Q%%% _        %          v '\  Q  %     Q %rt  O  %  %  ! "   # $r  & 'V )  *  + W , L - K% . / ; 0% 1%% 2% 3% 4 5 8 6 7y$$yB N 9 :~~yQ <%% = > E ? @ A B C D aM~ F~ Gɱ H I Ju~Ж՛ M NQOv O  P  Q R   S T   U  V  X a Y Z [ \% ]% ^%% _% `y$% b y c s d j eQ  f g  h  i|*|*  k l m n o p q rO t uQ v w p  x   z  {  ||| } ~  | |}||  | | |%|| |  || |  | ||  ! }    O # %  Q         y  O        # }Q v   Q 3        %% % % %     :$% %yQ~%  |                 W   vm                                         ~  8  !              Q                  "  # } $ k % K & '% ( ? ) 5 * - + o , . / 0 1 3!$ 2O ! 4# 6 7T 8 ; 9 :m < = > }m @ A B C D G E Fff H I Jffwb L Y M U N S O P Q R} T !@ V W X Z c [ ^ \ ]  _ b ` a3 d g e f h i j%v  l m n o p q r s t u v w x y z { | ~             \     'jy %    Q QQ  Q QQ         I:I  II  II I I I I      :  W          %          $  s u   'y'y  'y        v vv            W            %     -                         &        Ї    o   o o    > o{   ow o/         ! # " o/ o $ % R ' ( ) * + ,  . 5 / 0O 1 2 3 4Q 6 7  } 9  :  ;  < ? = >!O @ A B J3 C D33 E3 F3 G3 H I33  K  L e M b N Z O P Q  R S T U V W X Y [ \a ] _ ^w ` aHK  c d f  g h i p j k l m n o  q s r t u } v w x y z { |  ~              a    a               a           O  %        pp !QO  %      %                        5 5    %O  vQ%             Q              Q )Q  %  % % %  % %%  % % %%  %% ~% %% %  %%u  %         8      } Q QQ Q Q   }QQ  Ov }Q     F  5 !O " - # ( $ M % ] & l l ' ]O ) l l * + l , lO l . / 3 ] 0 1 ] 2 ] ]O 4 ] ]OO 6 7OO 8 9OO : ;OO < =OO >O ? @O AOO BO C DOO EO G fO H I cO J K N LO MOO} O bO PO Q ROO S T [ UOO V WOO X YOO ZOO \OO ]O ^ _OO `O aOOOOO dO eOOO gO h iO jOO kO l mOO nO oO p qO rO sO tO uO vOO} x yH z  {  |  } ~                                                                                O                      %     *      W       % Q  Q Q Q Q Q Q Q Q QQ  Q}QO  O%%    *         |   = {            )  O%   ' % %  ! & " # $ %' (%y * V +Q , B -Q . 6 /Q 0Q 1QQ 2 3QQ 4Q 5Q 7 >Q 8Q 9Q :Q ; <QQ =Q ?Q @Q AQQ C LQ D EQ FQ GQQ HQ I JQ KQQ MQ NQQ O PQQ QQ R SQ TQQ UQ  X b Y _ Z [Q \%* ]* ^* ` aO/ c  d  e f g l hQ i j k QQ m  n | o { p4 q v#P r s#P t#P u#P#PO w#P#P x y#P#P zwE#Py'> } ~.wEFJ    ɓ'\ FwE4  Q  QS   }m >                       #P  "   _   wb  wEwE    wE wE   wEwE wE ywE wEwE wE #PwE wEwE  wEwE wE wE wEz    %       ~5  rt           ** * * *%  Q Q          Ou    %%yB  wxw6      %           !$ Q     LB#_4L4&>&>4  2   #|||6%$%# sQ!"# Q}Q &-'( }) }*+ } }, }./0312 45w7:89% !;<%= !?OO@OAOBC MD ME MF MG MO MI9JHKLMNOPQR{ScT\UXuVWu|Y[Zu ]`,^,_4,abudoelfgh ij kumn  pqrstuvwxyz | }~      v#Am%vQQQQQQ*                      %%|% sO m%% Q %  L <4 '!"#$%&(.)*+,-/012356789:;=>? @FA B  CD E   G H IJ K  MNpObP[QRSWTUVXYZ\]^_`acdjefghiklmnoqyrstuvwxz{|}~6ڬwq _vmR y }%%T%%%VVzzzzzzzzzzwEyy Q }%OG m 4   \\O0 !"#.$%wE\&\'()*+,-K/\1723456\\8=9:<; Q7>C?A@\B QDEFy\\IJKLMNOqPZQRTSOUYVWXu *[m\a]^uS_`bjcdefghi'>Vlkl4yno 9upmrstuvmwxyz{|}~ G L V e = t  m u#PVyO4'>'MOy#P uzuu%%%%%%%%%%%%%%~%%%%%%%%%%%%%%:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%:     Q !#"%m$ %5&*')(a+1,.ɱ-yB~/0yQ$$~234r::$687a%T:O; <=>T?N@KAFBC }D }E } }pGHIJ%LMm%vOQP3wTRSQ#A%UeVbWX$YZ%%[\%%]%^%_`%%a%$cd }figh%j sklm|nopqsr Qtu{v Qwxyz/P/2 Q}~ Q Q Q Qn! Q Q Q)+',,-.t Q Q Q\9N;;EZCb oIJGɓ'MoQ Tvn O'0QQQQQQQQQQQQQQ?%%% sssssssssss t t t t t t t  t  t  t t   +!tttttttt tttttttt t t"t#tt$t%t&t'(tt)*tt ,s-6.s/s0ss1s2s34s5s s7ss8s9s:;ss<=ss> s@mAHBF:CD::E$:G% N%IaJYKvvLMQvNOvPvvRvSvvTvUVvWvXvvZv[vv\]v^vv_`vbvvcvdevvfgvvhivjvkvlvvQopqrsztwuvxy{|}~ % s%WWWmW%%%:%%%%%yQ%%%%%%%%%%yQ%%%%%%%%yQ% _ vS%%%44%%%  v#P#P#P#Pj#P#P#P#P#P#P#P#P#PFF#P#P#P#P %  ? $ ! %&h2"#Qr%6&(O' )%*%+,3%-%./%012%4%5%%7>89%%:;%<%=%%yQ m@FADBC%U %ESGxHSQIJOKLMNݲPݲQRTU]V%WZ%XY%%%[\%%^m_b%`a%%%c%d%ef%g%h%i%j%%kl%ɱ%n%oq%p:%r%s%%tu%vw% Nyz{v|}~v%v% vvOvvvvvO }v                                               * 9  H59 } sO }|vQvmvvvvvv  vv v v vvvvvvvvmm)mmmmmm m!mm"m#$mm%m&m'(mm Wm*m+m,-m.m/m0m1m2mm34m5m6mm78mm:;<=w>N|?@ABCDEFGHIJKLMOPfQ`RSTUV_WXYZ[\]^aeb%cd%OgphoijlkOmn vqrmsvtuvzIxy|z{}~v|3O!O  %%%%%~%~~%%%~%%%%%%%%%%%%~%%%%$:E#A% %[@ } s%%m%%3OO s % "~O~|r: Ou)Qyyyyyz     wEV.ɓwEv% } f &!"%v#$%%%%yQ'(% }m*9+6,0-./1243 u5|i78%%:=;<>?O" AXBWC%DFE sGHIPJMKLb BNO v }QTRS %OUV% YZ _#A\]^|_q`QQaQbcQQdekQfQgQhQijQQlQmQQnoQpQQrwQsQtQuQvQAQxyQzQ{QQA}~QQQQQQQQQQQQ}QQQQQQQQQQQAQQQQQeO% sQ%v%Ovd%/ sfXv!mX %'M'M#P QO'Ov&OQQQQQQQQQQQQ Q  Q QQ QQQQQQQQQQ QQ!"#$Q%Q(*)+?,-7.1/0~ҝ 243~565Y8;9:~~<=~>ҝ s@AI BCD xPEGF X  H gJL K& MN& &PeQTRSUdVWXYZ[\]^_`abcf|ghvQijtknlm *op q4rsfVVfuzvwxy7{uO}~%%ym.uuOO"Oz }Qv o o o``OOOOOOOOO"OOOOOOOOOO"OR!  !QQQ2QQQttttttttQQQAAAAAAAAQQQQQ } } } } }}Q}}Q}QQQQ O N N%%%%% N%%"-#$%%&+'()*l,3./%01@2=34_56: N789    a;< >?O|ANBMCQDEFGHIJKLC%OPvQ%SoT^U]VQWXYZ[\w v_` OavbcvvdvevfgvvhvivjkvvlmvvnvpwqrQst suvxy }{|}~QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ  Q   QQQQQQQQQQQQ%"QQQ QQ!QQ#Q$Q&A'QQ(Q)*Q+6Q,Q-Q.Q/0QQ1Q23Q4Q5QQQ78Q9Q:Q;QQ<Q=>QQ?Q@QBDQCQQFGpHgOIOJKOL\MNWOSPQROTUVOXYZ[O]^c_a`ObOdefOhOOiOjkOl lm l lno lO lqxrustQ svwO }yz{|}~ }Q }%}    Jyq%Q }v%% G }Q%%%%$ s%%mv%|vv#Q%3%%%%%%%%%%%%QHv% B}}    2 QOO  !"#$w2&7'0(-),*+ }B. /132u456 }R8C9?:=;<b>brw@ABr }rDEFGIJKLvMjNTOPQRS4UhVWaXYZ[\^]ɓ#P_`y'>4bcdefgi#Pklmnopqrstu..wxyz{|}#P~#P#P#PwE#P#P#P#P#Pc#P#Pz#P#Pc#P#P#PɓQ%Q3QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ%%|OQ%%%3%O } }SVV%1;'>##[ \4O33     33 !"/#$%&'()*+,-.01235867Q%9:Q;S<t=>$?I@yAyByCyyDyEFyGyyHyJK[LwEyMNUVOPSQRyVVyVTyVVVWYXyVyVZVy\]b4^4_`4a44ycsdjeg4fy4h4i44yknl4m44yoq4py44r4yt{uyvw4y4xy44z4y4|}~4y4y44ywEywEwEwEywEwEwEywEyywEwEyywEwEwEyywEwEwEywEwEy#P#Py#P#Py#P#Pyy#P#Py#P#Pyy#P#P#Py#Py#Py#Py#P#P#Py#Py#P#Py#P#P#P#Py#P#Pyy4444y4y444y4y4yy4y4yy44y4y44y444y444yy44y4ɓyyɓɓɓyɓɓyɓɓyɓy VV V Vy V VVyVVyVVyVV yVVyyVyyy!V"V#VV%z&q'=(y)y*3+0,.-y/y12y4:5867yy9y;<y>D?@yAyyBCy4yEF\GPHMIKJyLyNOyyQVRTSyUyyWZXYyy[y]h^b_a`yycedyfgyyinjlkymyoypyyrysytuyvyywxyyy{y|y}y~yyyy4yyyyyyyyyyyyyywEyy#Pyy'>yyy#Pyyy#Py#Pyɓ#P#Py#P#Pɓ#Pz#P#Pɓ#Py#P#Pɓy#PjYyyzzzz4zzzyywE? yyyyyyy#P#Py#P#Pyy#P#Py#Py#Pyyy#P #P#Pyy#P  #Pyy#P 7&#Py#Pyy#Py#P#Py#P#Py #Py#Py#P!#"#Py#P$%y#Py#P'3(-)+y*y#P,#P#Py.1/0y#P#Py2#P#Py#P45y6#Py#P8y9<:V;VyVV=>VVy@yA4BKCHDFEwEwEyGywEyIwEyJywELSMPNOywEywEQRwEyywETXUWVwEywEywEywEZy[cy\y]y^_yy`yayb'>yyde#P#Pf#Pgh#Pi#Pz#Pkyylmyynoypyyqyrsy#Pyuvwxyyyz{yy|}y~yyyy4yyyyyyyy#Pyyyyyyyyyy4yyy4yyyyy#Pyyyyyyyyyyyyyyyyyyyyyyyyyy4yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyF0y z yyz  zy zz#Pzzyyzyyzzyz&!yz#Py zyyz"$#z#Pyz%zy'.(+)*yzyz,-y#Pyzz/zy1y2=364ɓ5ɓyɓ7:89ɓyyɓ;<yɓyɓ>C?A@yyɓByyɓDɓEɓɓyGMHyIyJyyKLy#PyNyOyPyyQRy#PyTUXVWYZ[]^ P_ `arbhc !defgivjkvvlvmnvvopvqvvstuvwxy.z.{|}~........................#P............#P................ɓ.........#P#P.......................l.4.4.44..44..4.4.444..4 44..4.4 .4  . .44.44.444.>)!.VV..VVV .V"$#VV.%'V&V.(VV*6+1,.V-V./0V..V243V.VV5V.7;8V9:V.VV<=VV?S@FA#PBD#PC.#PE#P.#PGNHKIJ.#P.#PLM#P..VOQP#P.#PR#P.#PT_UYVX#PW#P.#P.Z][\.#P#P.#P^.#P`fac.b#P.d#P#Pe.#Pgjhi#P.#P.#Pk#P.mno|puqsr#P.#Pt#P#P.v#Pwzxy.#P#P.#P{.#P}~.#P.#P#P.#P#P..#P#P#P.#P.#P..#P.#P..#P.#P.#P#P..#P..#P.#P#P.#P#P#P..#P..#P.#P#P#P#P.#P.#P.#P.#P#P#P.#P#P.#P#P#P..............................  .   ..kA)#P..#P#P#P.#P.#P"#P #P!.#P.#&$%#P.#P.'(#P.#P.*5+0,.-#P.#P#P/#P.132#P.#P4#P.#P6<798.#P.:;#P..#P=?>#P#P.@#P#P.BVCLDGE#PF#P#P.HJI.#P.K#P.#PMRNP.O.#P#PQ#PST#P.U#P#P.WcX_Y[#PZ.#P\].#P^#P.#P`a#P.#Pb.#Pdieg#Pf#P.h#P.#P#Pj.#Plmnwosɓpqr.ɓ.ɓtvɓu.ɓɓ.xy|z{ɓ.ɓ.}~ɓ.ɓ.ɓɓ.ɓɓɓɓ.ɓɓ.ɓɓɓ.ɓɓ.zzzz.zz.#Pzzz#P.zz.z..z.zzz..z.zz..zz.z..z.'>'>'>'>'>'>'>'>'>'>........%'M Q'\z  Qy Q#PɓOz wEy'M4 Q%  %%%%%%%% %%  %% %Q      UU     %  O %  %Q Q  Q QQ  Q QQ    QQ #o  # ! "Q $QtQ &Q ' E ( @ ) 1Q * +QQ , -Q .QQ /Q 0Q 2 9 3QQ 4Q 5 6QQ 7Q 8}Q :Q ;Q <QQ = >QQ ?QQ A BQ CQQ DQ FQQ G HQ IQ JQ KQQ LQ M NQQ% Q  R r S b T a Uv V Z W X Yu [ \ ] ^ _ `u c d } e f g h i j k l m n o p qV s | t { u v w% x%% y z%% }  ~      ~ rH        % f  %   w!!w      ~5  O O OO O       &>    %  Q% "< ! !G !F !,               z       ||U   ]  ]         l     '  | | |  |           f    ]  ]   |         $                    ]    |   ! !           !!!!  !  !! !!!   ! z! !  ]!!!!!!!|!  !!! !! ]  !!%!!"!!!!!  &  ]  ] !#!$  !&!) !'!(  !* !+ !-!@!.!/!0!=!1!:!2!6!3!4!5x!7!8!9x!;!<!>!?!A!B!C!D!E!H!W!I!JOO!K!LOO!M!NO!OOO!P!QO!RO!SO!TOO!UO!V"~O!X!!Y!b!Z!_![!^!\!]!`!a% }!c!z!d!y!e!f3!g!j!h!i3d!k!ld!mdd!nd!o!pd!q!wd!r!s!ud!t"d!v"d"!xd"d!{!~!|%!}%!!!!!!!! !!!!O !!!!!!!O!!!!!!!!!!!!%!%!!!!!!ɓ!ɓ!ɓ!ɓɓ!ɓg!ɓ!!!!!!!Rn!y!ɓ!ɓɓ!ɓ!ɓ!!ɓ!ɓɓ!!!!!!!!!!~yQ~!%!!! !! }!!!!!*%! s!"!"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!ݲ!!!!!!!!!!!!!""""""" "%" "%" " "" """"'|"""""" "|""" ""   !" "! ""","#"&"$"% 5"'"*"(")"+/"-"1"."/"07"2"7"3"5"4 5"6"8":"9";"=%">"V"?"Q"@"A"B"C"D"E"F"G"H"I"J"K"L"M"N"O"P"R"S"T"U s"W#,"X"["Y"Z"\"]"^"_""`""a"c"b"d"f"eZ"g""h"i""j"y"k"r"l"o"m"n"p"q"s"v"t"u"w"x"z""{"~"|"}""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  ""  """"  """"   """"""" "  ""  """""  "#%"#"""""#"""""""""""""""""#"#"######## # # # # ################## #!###$@#&#)#'#(5#*#+5#-#X#.#W#/v#0#9#1#6#2#3vB#4#5F#7#8B#:#L#;#I#<#?#=#> xe#@#A#B#C#D#E#F#G#HC#J#Ky#M#S#N#Pf#OU#Q#RB dB#T#U#V~||O#Y#ZQOv#\##]##^#q#_#`#a#b#c#d#e#f#g#h#i#j#k#l#m#n#o#p#r#sv#tvv#uv#vv#wv#xv#y#zvv#{v#|v#}v#~v##v#v#vv#v#####O### }##%###########################d%##$#$ ########%%##%#%%#%#%#%#y$%###%#%%##%#%##%$$%#########C## s########O######%#%######:##%#%~~ɱ###%%#%##%%##%#%#%#%%#~%#%#%%##%#%%#%##%%#%#%$$$$:$$$$ %$%$%$$$ %$%:%$ %$ %:$ %:%$$%::$$::$:$:$$$$)$QQ$$QQ$$Q$Q$Q$Q$ QQ$!$"Q$#Q$$QQ$%Q$&$'Q$(QQ$*$+$$,$i$-$F$.$@$/$8$0$4$1$2$3wE$5$6$7wE$9$:$=$;$<wE$>$?wE$A$B$C$D$EwE$G$c$H$T$I$P$J$K$N$L$MwEwE$OwE$Q$R$SwE$U$_$V$\$W$Y$XwE$Z$[wE$]$^wE$`$a$bwE$d$e$f$g$hwE$j$$k$$l$q$m$n$o$pwE$r$y$s$v$t$uwE$w$xwE$z${$|$}$~$$$$$wE$$$$$wE$$$$$$$wE$$$$$$wE$$$$$$wE$wE$$$wE$$$$$$$$$$$wE$$$$$$wE$$wE$$$$$$$wEwE$$$$$$$$$wE$$$$$$wE$$$$$wE$wE$$$$$$wE$&1$$$$v$%$%$$$$$$$$$$$$$$$$$%K$%$%$$$$ $  $ $$ $  $$  $ $ %  %% %%%%%%%  % % % %%%%%%%%K%%K%%4%%%%%%%%% %!%"%#%$%&%'%(%)%-%*%+%, %.%/%0%1%2%3 %5%A%6%7%<%8%9%;u%:uu%=%>%?%@ %B%I%C%D%E%F%G%Hu %J %L%%M%n%N%V%O%P%Q%R%S%T%U4%W%`%X%Y%Z%_%[%\%]%^  %a%b%c%j%d%e%f%g%h%iu%k%l%mu%o%p%q%z%r%s%t%u%v%w%x%yu%{%|%}%~%%%%% %%% % %%%%%%%%%%%%%K%%%%K%%%%%%%% %%%%%%%%%% % %%% %%%%%%K%%%%K%%%%%%%%%%%  K %%m%%%%%%%%%%%%%ss%%s%%Qv%%%Q%v%%tQve%%%%3%%m%%%%%%%%%%%%%%%O%&%%%%%% o o%%% o% o&&& o&& o&& o& o&&  o&  o&  o o& &  o o& o&&%&&&&& o& o&&&& o 5 o&& o& o&&& &!&"&#&$&&&.&'&*&(&) o o&+&-&, ow&/&0 o&2&&3&K&4&@&5&>&6&=&7&8&9&:&;&< &? v&A&H&B&G&C&D&F&E% }S&I&JQ&L&Y&M&P&N&OQ&Q&X&R !&S&T:&U&V:&W::5%3&Z&&[&p&\&]&f&^&_%|&`Q&a&d&b&c!BI&ellX&g&o#A&h&i&l&j&kOl&m&n#Pl%&q&w&r&u&s&tQ&v&x&{&y&zqO&|&&}vO&~O&O"m%&&&&&&&&&&O&yC&&&&&&&&&&( (&&&&&&&&&&&{& &&&&&&u }"&&&&&&&&& o{&&& o{&{&&&&&&&&&& a=&&&&{{ o& o&&&& o R o&& o&%&%&&%&%%&&%&%&%&%%&%&%&%&ɱ%&&'&'&&&&&&&&&&&&>|&pxm&&&u&u&&/>&&&&&& s&&#AU&&& !&&M\k%&&&' ''v'';'' ''' %vv%' ' '(' '''''''{xx''''''c''x''!''' '"'%'#'$(8'&''HXhx')'7'*'0'+'.','-'/'1'4'2'3x'5'6R''8'97':'<'=dm'?+j'@('A(_'B''C'gv'D'E'V'Fvv'Gv'Hv'I'Jvv'K'Lvv'M'Nvv'O'Pv'Qv'Rvv'S'Tvv'Uvv'W'Xv'Yv'Zvv'['\v']vv'^v'_'`v'av'bvv'cv'dv'ev'fv'h''i''j''k'lQ%'m'n'w'o't'p'q%'r'szaI'u'vvv'x'{'y'zv '|'~Q'}B''  K''' '''''''''''''Ga'''''\'#A'%'%''%%''%%'%''%''%'yQ%%'%'%yQ''Q'Q'''''wb''''''''''IO'' }%''''O%'' 3''''''%''%'('(''mQ''''' N N''''' N%'% N%'%% N''''' N''' N N%'' N%% N%'% N''''''% N' N N% N' N' N% N'' N' N N%'''' N' N' N' N'% N' N N' N' N' N%'( N'(( N(( N% N N(( N N%((  N((  N N( % N(  N( (% N(( N% N%((  m((:((7((0(("((((B(Bi(( ( (!&> (# ($ (% (& (' ((()  (*(+  (,(-  (. (/\ (1(2(3(4(5(6~(8(9 (;(>(<(=Q &Q(?(T(@(L }(A(B(H(C(DO(E(F(Gkf(I(J(KwT(M(R(N(O(P(QH(S3O(U(](V(Y(W(XO!$(Z(\([O%%O(^%(`(l(a(b(c(d(e(f(g(h(i(j(k(m(n(o(p(q(r(s(t(u(v(w(x(y(z({(|(}(~(Y()(((((((((((((((((((((((zO(((m((mm((m(mm(m((mm((mm((m(mm(m(m((m m()()J()>((((% ()=(()((((((((l(l((l(l(ll#P(l(l(ll(l4l(l(l(l((ll#P((((l(l(l(l4(((ll(l4((l((l4l((l(l4l((l4l(l(((l(l(ll4l(yl(l((l(((l((ll(lO(ll4(((((ll(4l((l(4ll(l(l4()l((l)ll)l4l))ll))l4l)))) )) )) )l) l) l))l)ll4l)l))l)l)l4ll)4)l)) )ll)l)l)#Pl)!)%l)")#ll)$4l)&ll)'l)(4l)*)6)+)3),l)-l).l)/)1l)0l)2ll4l)4l)54l)7l)8ll)9):l);l)<ll4)?)B)@)AQ)C)D)E)Fmm)Gm)H)Imm)K)h)L)O)M)Nv)P)Q })R)e)S)Z)T)Y)U)W|)V|)X|)[)a)\)^)])_)`||)b)d)c| )f)g)i)|)j)n s)k)l)m8)o)p)u)q)r)s)t)v)y)w)xw)z){)})~ ))))))))))))))))))))))))))%))Cp)))))) )))))I)))))))W#))))))))%))));%%)%%y)%%))%~%)%)) N)%%)% N)))|)|))||))||)|))|)||)|))||)))))#Ay))#|))))))))4))4)O))))))))))))))))))))))*)*y)*E)*)*)*_**QO%****%*S* * * * * 1*****3******"******W W*W * *!W *#*?*$*( *%*&*'55*)*.***,*+*-*/*7*0*3*1(*2z*4W*5*6*8*;*9(*:z*<W*=*>*@W*A*C)*Bv*DWW*F*M*G*J*H*I#AS*K*L% *N*m*O*l%*P*Q*_*R*Y*S*V*T*U QO*W*XwE*Z*\*[ Q*]*^4Fl*`*e*a*c*b'\*d Q*f*i*g*h#P#P Q*j*ky'>z3*n*o*p*q*u*r*s*tѳ*v*x*w%%*z**{**|**}*~O **%****  **OQQ*****mB*****:$%*******O*O*O**OO**O*OO*O**O*OO*"~O ***********% }****Q v**%********v***********W*****************K**d******Q N**%O ****%% ****v*v*vv*v**v*vv**v*vv* }*+@*+ *+****++++++++  o+ o+ +  ox2w+ +"+++++++++++w ow +++++++ o w+ +!w{+#+*+$+%+&+'+(+)+++0+,+-+.+/ Rx2+1+8+2+3+6+4+5ww+7 o+9+:+=+;+< a a+>+?/ o w+A+B+K+C+D+E+F+G+I o+H{ o+J{+L+M+\+N+S+O+Q +P x2+Rx2+T+W o+U o+V o+X+Y o+Z+[ o+]+f+^+d+_+b+`+a Rww{ o+c o o+e R o+g+h+i o{+k-+l,+m++n++o++p+r+qm+s++t+u+v+w+x+y+z+{+|+}+~+++++%++++$++%+++++++ ++ +  & ++++  %+ K  ++ +  + K++++ ++  +K ++ + + K+ ++ K &+++++ +  K ++ & +++ +  %++ +% +  &++ s !+++++++++!++!!++++!+!RR+R++!+!}T+++++!+}T++}T+++++++++++++++++++++++,"+,!+++, +,+ѳ++++ѳѳ+ѳ+ѳ,,,,,ѳ,ѳѳ,ѳѳ,ѳ, , ѳ, ѳ, ѳ,,,ѳ,,,ѳ,ѳѳѳ,,ѳ,,ѳ,,,ѳ,ѳѳ,,ѳ,ѳѳ, ѳ,#,$,g,%,8,&,2,',+,(,*%,)OvOv,,,-#,.,/,0,1,3,6,4,53,7O ,9,U,:,R,;,M,<,=,>,G,?,@,A,B,C,D,E,F,H,I#P,J#P,K#P#P,L#P,N,O,P,Q$,S,T%,V,Y,W,X% ,Z,[ }v,\,],^,_,`,a,b,c,d,e,f,h,{,i,o,j,m,k,l% s ,n,p,q,r,s !,t,u,x,v,w ,y,zy },|,,},,~,,O,,, U,,,,,,,,,%,,,,O%,,,,,, ,,,,,S,,,,, O,,d,,d,,,.,,,d=Ld[m,,,,qq,,,,,Sv%v,,,,,,,,,,,,,,,,,,,,,,88,,,,,QQ,m,,%,,,,,O,OO,O",O,,,,,,"~,"~Ow!,w!O,""~",O"~w!,,,,,,,,,,%rH%,%,%%,,,,,,%%rH,,%:%,%,%,%%%,,-,-%---Mi%-- N N-u-- - - - ~%~~- : N%--%%-zrH-/s-.C--h--T--@--/--.------C--!- C-"-,-#-$C-%-&CC-'-(C-)CC-*-+CC--O-0-=-1-2 -3-9-4-5-6-7-8-:-;p-<p->-? } }-A-Q-B-CQQ-D-E-I-F-G-H-J-N-K-L-Mm-O-P%m-R-SQ%v-U-[-V-Y-W-X%-ZQ -\-e-]-d-^-` -_ -a-b-c -f-g }%%-i--j-k -l--m-|-n-p-om-q-{m-r-s-z-t-w-u-v%~%-x-yB{ vB%_2-}--~-------KB- U-----R- N--%-x-m-O-------->------------t-(-(-(-(-(-(-((-------( :--X-X------F--w77--7-)----7-7-7]7-5--(--------W--W(---:)W@--I--II-.B--.-----------O--O--------%%----%-.- -.--yC....| .v.... . %. .  . .......m..ww..+..&..!.. .m.C. m.".# .$.%C.'.*.(.)u.,.3.- .../.1.0mC.2.4.5.<.6.9.7.8.:.;1'.=.?.>'.@.A.D/8.E/..F/.G..H.w.I.Z.J.O.K.M.L|.N%.P.T.Q.R: s.SQ.U.Y.V.W.X%:%.[.h.\.c.].`.^._OO".a.b4 F.d.gQ.e.f.i.q.j.m.k.lY.nz.o.p+y.r.v.s.t.u ~|.x..y..z..{.|%.}.~.kffX..O...Al.%.... }. }. }. }. }. } }. }....Q }..%O%......O_....O....%..%% ............xwxB#A... }.  ........ %.... %.%........ {C%....#..B..m.v.v./..........!)fv...}T....y..v.%.%.%..%.%.%.%..%.%.%%.....|L 74..%%//%/%/%/%yQ%//// //  %/ / / // KY /|////O/// {` |/////// /!/"/#/$/%/&/'/(/)/*/+/,/-F//%/0/1/2/3/4/5/6/7K/9/\/:/Y/;/<% !/=/>/S/?/K/@/G/A/D/B/Cf/E/F/H/I/Jwb/L/P/M/Nv/Ov /Qv/Rg/T/Uv/V/W/X/Z/[vm/]/`/^/_ %/a/r/b/c/l/d/i/e/h/f/g /j2/k22#A/m/o/n%O/p/q/t0Q/u/v//w//x//y/|/z/{% }/}/~d//%/ }///m/ // ////////////////////////C//3 ////'////Q/////%//#v///////////////////////////M}/0y//////%m//m/////mm·/m·m/mm W/////d% }/0f// }//////%/%/%r:%//%/%//%~rHz/0/O/0 //O/////O/O|O|/O|OO00000|O000||O|0|O|0 |O0 O0 O0 000|O00|O|0O|0O00|O|O00?00+00"0O0O0O00 O0"~O0!O"~O0#O0$O0%O0&O60'"~0(0)O0*O"#O0,0-O0.O0/O00O01O02080305O04DT0607dt090<0:0;^0=0>O0@O0AO0B0C0`0D0J0EO0FO0GO0HO0IOO|0K0L0T|0M0N0Q0O0P"10R0S@OO^0U0\0V0Y0W0X4m|0Z0[#2O0]O0^0_(0aO0b0e0c0d||O|O0g0h0i !0j0s0k0n0l0m0o0q0p'0r 0t0u0w0v 0x0z00{0~0|0} 000 }0000%%000%0%0%%0%00%0%0%0%r:%0%%Q0%0%0%0000|000000000000} %00000ڬ00wb 0000000000000 !0001 0000000000030300333030003  300300003303000330300303 3000000033300CC03C03000 0303 0003030301000003030003 0333030313 11 1113133 11 331 31 1 3(311311,11+w111&1111%u11111117GWg11w11"1 1!b1#1$z1'1)1( = 1* =u1-1131.1/10O12x214181516 }17s 191: 1<41=4k1>2L1?1g1@1A1T1B1C1D1E1F1G1H1I1J1K1L1M1N1O1P1Q1R1S1U1V1W1X1Y1Z1[1\1]1^1_1`1a1b1c1d1e1f1h11i11j1k#Ay1l1m 1n11o1p1z1q1v1r1s1t1u&|1w1x1y{~1{1|1}11~ 1|11111111|11111 11111'|1111  11  l11111111   1111 11 1 1{~ 1111111  1111U|1|1|111 51 1 s111 s1 s1 s s11 s1 s s1 s1 s11 s1 s1 s1 s s11 s s1 s s1 s1 s11 s1 s1 s s1 s1 s1 s11 s s1 s11 s1 s1 s s12 12121111111111%111 N%~y$111r:rH 1mm1m%1m1m1mm@112111111W(22 2222>2 2 m 2 2(2 2222 }2%2%%22%%2%2%2%2%2%22%%2%2%2% r2 2'2!m2"2#m2$2&m2%mm }2)2,2*2+2-2G2.2F2/202<21242223v%2526B2729m28mD2:2;V y2=2@2>2? }2A2E2B2C2D ^ o y2H2I2J2K3O2M2NO2O4@2P2T2Q2R2S%2U32V32W22X2}2Y2q2Z2p2[2i2\2b2]2_'2^2`2a2c2f2d2eg2g2hCxnS2j2n2k2m2ly2o Q2r2x2s 2t2w2u2vCg 2y2z2{2|2~22222222Q222S2222"~S22222Q222y22222222222222222 Q222 22 Q2u2" 2222yɓO22222222222222b Q22q'222C22'22222222 x222O222uQ2222 222222222222 2222222z=22u23222222222232232O2O2O2OO33O3OO3O"33%3 33 33 33 3 33 Q Q3333333% 33O n3333\3323 3!3%3"3#3$43&3,3'3)3(x3*3+ R3-303.3/Q31333F343:35363837393;3@3<3>3= 53? o3A3D3B3C{3E S3G3R3H3M3I3K3Jm{3L3N3P3O R3Q3S3X3T3V3U'3W }3Y3Z3[ o3]3|3^3p3_3k3`3f3a3c3bq3d3e3g3i3h Q Q3j  o3lO3m3n3oɓ3q3uQ3r3s3t Q3v3{3w3y3x3z } n3}3~ 333333 333S33>33w333333 33333Q33w o3333333 3333 Q3333333 73Q{Q3333 a 33 '3333  3333 333333 R3w3333OO%333 33333  n33O33A3333U33333 3333333333333  }33%34 3433333%3%%33%3%%3%y$333333333444 444 !444 44 44  }4 4444 } }3 }44344v4%444$4444444 4!4"4# Q4%4&4'4(4)4*4+4/4,4-4. Q404142 Q444;45464748494:·4<4?4=%4>I%4A4e4B4T4C4D4E4F4G4H4I4J4K4L4M4N4O4P4Q4R4S4Uvv4V4W4^4Xvv4Y4Zvv4[v4\v4]v4_v4`v4avv4bv4c4dvv4f4g4h4i4jx24lO4m4n4o4p44q4r4s4t4u4v4w4x4y4z4{4|4}4~444 Q4444444444444444447444 s4m44m444m4mm4m4mm444444 44m4%4%444 444444444444444444#PO4545454444Q444444444444444wb4545!4444444444444444444444444444444444445444555555555 55 5 5 5 555e5e555555555W55555 W5"50O5#O5$5%O5&OO5'5(OO5)5*O5+O5,O5-O5.O5/OO"O51525653"54"55"O"575k585S595RO5:5;5FO5<O5=5>5B5?O5@O5AOO"O5C5DO5EOO"O5G5H5MO5IO5JO5K5LOO"O5NO5O5PO5QO"O"O5T5UO"5VO5W5d5X5^5YOO5ZO5[5\OO5]O"O5_O5`O5a5bOO5c"OO5eO5f5gOO5h5iOO5jO"5l55m5vO5n5oO5pOO5qO5r5sOO5t5uOO"~5wO5x55y5O5zO5{O5|O5}O5~O"~O5O5O55OO5O"~5O5OO55OO55O"~O55555OO5O55OO5O5O5Ow!5OO55OO55OO5O5w!O"~O5535555O55555855555{555{ ow o55v5555m5 55555%%5%5%55%5%5%%5%5%55%%5%5%y55%5%5%5%55%5%%5%5%55%5%%5 N%%5%5%55%%5%555%55%5%%5%5%~%55%%5%55%~%%5%55%55%55%~%%5~%555353535533553533 67$6666666m26666 6 6 6 6 v6v66C66B6%666!%6%6%66%6%6%6%%6%66%%6 %$6"62%6#6$%6%%6&%%6'6(6-%6)%6*6+%%6,$%6.%6/%%60%61%$63%%6465%66%67%686=%69%6:%6;%6<$%%6>6?%6@%%6A%$6D76E6F7 6G6H 6I66J6w6K6`6L6X6M6T6N6Pu6O  6Q6R 6S K^6U6V 6W  6Y6Z6]6[6\ K6^u6_ 6a6n6b6i6c6h6d6g6e6fuu   6j 6k6m 6l u6o 6p6t6q6s6ruu 6u6vK 6x66y66z66{6}6||u6~666 uK|*^6 |*66 6 u66u6  666666u6 6 | n6666666||6K 66 6uK66666|666u^| 666 Y66666 ^6 6666  6u 66 |K 666666666666  666  6 6 6666666   66  666666u 6u 66u^666  666666 u 66K K 666 u66^6 66666666u4 66^ uu66 6K6| 66 6K  667 6K7|u77 K7u777777 7 7 7 7 7 4477777777777777"7%7 %$7!$ N%7#% N7%77&%7'77(7V7)7<7*7/7+7,7-7.707671747273X75 s77787:%79 7; 7=7L7>7A7?7@%7B7G7C7D%7E7F7H7J7IX7K%:7M7N7P7O7Q7S7R7T7U7W7k7X7^7Y7]7Z7[7\w%7_7e7`7a7b }7c7d {7f7i7g7h7j%7l7}7m7v7n7q7o7p7r7t7s|7u|%7w7x7{7y7z7|7~77777777%}77 s77  s777 7777777777777777777777777 %7777777}7 77777777 P77777777777wb*7777%f*7777777 777777777777|7777777777777777%7O7777 77f%77* s777!78#78%77%%7%77%7%8%%88%%88%8%8%8%8%%8 8 %%8 %8 %8 %8%%8%8%8%8%8%8%8%88%%8%88%8%%88%%88 %%8!%8"~%8$8I8%8H8&858'828(818)% s8* s8+ s8,8- s8. s s8/80 s s8384 ! s868788898:8;8<8=8>8?8@8A8B8C8D8E8F8G۟8J98K8w8L8b8M8_8N8^8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8\8] Q%8`8a3Q8c8f8d8e8gO8h8i8p N8j8k8m8l% N%8n%8o% N%8q%8r8t%8s% N8u N8v N N%8x88y88z s8{8| s8} s8~ s8 s s8 s8 s8%8%8%8%88%%8%8%88888%89888888888888888O 8 8888*OQ88 }|8888888888888W!l888888888fW8888e8eWe8f8fe8e8ef88*888 8888v8888 K8K8K88KK8K8K88K K88K  88U88888888 88 8%888%88%89 8888" Q888v%88888W88W8WWe(%9999999999 9  9 99 92Q9%99%%9%v99<99"999999 s999%%9 %9!%x9#959$9'9%9&UvO9(949) 9* 9+9,  9- 9.9/  90 9192 93  O%96999798%~59:9; m9=9n9>9g9?9B9@9A9C9D9E !9F9G9Hӈ9Iӈ9J9K9X9L9Tӈ9M9N9Q9O9Pӈyv~9R9Sv~ӈ9Uӈ9Vӈ9Wӈӈ9Y9^9Zӈ9[ӈ9\9]yӈ9_9bӈ9`9aӈӈv~9c9eӈ9dӈӈ9fӈv~9h9k9i9jm9l9m9o99p9r%9q9s9t 9u9v9}9w9x9y9z9{9|P9~#Pɓ9999vv99v99999y.9:]99999999O|999Q99wE999999wEwE9wE9wE9wE99wEwEz9wE9wE9wE9wEwE99wEwE9wE4wE99wEwE9wE99wEwE9wE9'>wEwE9wE99wEwE999wE999wE99wEwE9wE9wE99wE9wE99wEwE9wE9wE9wEwE _9999999 9   }9:@9999"  !99%v99:*99l9:999999z99999z99999z99999999zz9z9:99999z99zz9:99zz::zz:: :: ::z:z: : zz: :z::)::::"::::::OO::OO::::OO: :!OO:#:$:%:&O:':(O#P:+:7:,:-:.:/:0:1:2:3:4:5:6$:8:9:::;:<:=:>:?z:A:I:B:H:C:D:E:Fwb:Gwb3:J:K :L:Y:M:V:N:S:O:P#:QB:RB 7:T:U B:W:X    }:Z:[:\O::^;:_::`::a::b:c:d:e:rV:f:g:p:h:i#P:j:m:k:lOO:n:owEwEV:qV:sV:t:v:u:w:z:x:y:{:}:|#P:~#P::::::::::: &xP&: %k:::: <K  : K:::: :K : &  ::: kK :::::: K : :u: ::::  ::: :::::::::p:::::F:::F::Q:::::::'M::#Pz Q'M::: QV Qy::::::2#::::::: ::::::}:;:::::::xn::xn:vxn::I::;::::::pp:::::::::`::::C;;;;; Q;;5; ;,; ;; ; O; ;;;;S;%;%;;#A;r;;;;;;$;;;; ;!;";#;%;&;';(;);*;+;-;0;.;/ Q;1;2%;3;4%O;6;K;7;:;8;9q|;;;<;=;>;G;?;D;@;B;A;CY;Eg;Fg;H;I;J;L;O;M;N;P;QOQ ;S;T\;UJ=;VD;W;g;X;Y;Z;[;\;];^;_;`;a;b;c;e;du;fu;h;%;i;j;k;;l;;m;;n;~;o;};pQ;q;rQQ;s;tQ;uQ;vQQ;w;xQQ;y;zQQ;{Q;|sQ;;;;;;U;; ;;  ;; :; !;;; N N;; N N%;; N; N;% N N;;;% N% N;;;; s;;C;;;;;; !$;;%;;;;Qm;;Q;;;;;;;;v;;;; N;;;;%;%;;%;%:%%;%:%;%;%;;%%;%yQQ;;;;v &;;;;;;;;*;;;;;;;rHyByB N;: N;%~;;;;: ;; $ɱ~;;O;;;;;; s;D;<#;;;<;<;<;;;;;;;;;;;';< Q'<<<<<<< << < < << <wE<<y<%%<<%%<<%<%%<%<%<%<%<%<< % = =.=!=)="=%=#=$ =&='=(  =*=+=,=-  =/=3=0=1=2 =4=9=5=7=6 =8 =:=<=; == =?=D=@=A=B=C =E=L=F=I=G=H =J=K =M=R=N=Q=O=P   =S =T =V=W=X=^=Y=Z=\=[ =] =_=d=`=b=a =c =e=f =h>=i>=j==k==l==m=w=n=s=o=q=p  =r =t=v=u   =x=|=y=z ={ =}==~  = ====== = ==  ====  = =====  ==  ====  ==  ========= ==  == === === = ===== =====  === ==  ===========  =  === = =====  ==  === ====  ==== = ====  =  = == = =  ===  ======= = = == =  = =>>>>   > >  > >>>> >"> > >> >>  >>  >  > >> > >> >>>>>>  >> >!  >#>6>$>+>%>( >& >' >)  >* >,>0>->/>.   >1>4>2>3  >5  >7>8>; >9 >:  ><>= >?>a>@>V>A>O>B>G>C>E>D  >F  >H>K>I>J  >L>N>M   >P>T>Q >R >S  >U >W>[>X>Y>Z >\>]>_>^ >` >b>}>c>r>d>l>e>i>f >g >h >j>k  >m>p>n>o  >q  >s>w >t>u>v  >x>{>y>z   >| >~>>>>>>>  > >  >>> > >>>>>>  >>  >>>  >?0>>>>>>>>>>>>   > >> >>  >  >>>>>>>>  > > >>>>> >> >> > >>  > >>>>>>>>>   > >>>>   >>>> >  >  >>  >>>>>>>>   >>> >>  >>>>>   >>> > >?>?>>>>>>>>  > >>  >> >>  >?  ?? ?????  ?   ? ?   ? ? ?? ? ??%????? ?  ??? ? ??   ?? ?"?!  ?#?$  ?&?'?+?(?* ?)  ?,?.?-  ?/ ?1?s?2?W?3?@?4?5?;?6?9?7?8  ?:  ?<?>?= ?? ?A?O?B?I?C?G?D ?E?F ?H ?J?L ?K  ?M ?N ?P?T?Q?R?S  ?U?V ?X?^?Y ?Z?[ ?\?] ?_?i?`?d ?a ?b ?c ?e?g?f  ?h  ?j?o?k?m ?l ?n ?p?r ?q  ?t??u??v??w?|?x ?y?{?z  ?}??~?  ??  ??? ??  ? ??  ????????  ?  ???  ?  ??  ???????? ?  ? ????   ? ?? ?? ???   ? ???????  ???  ?  ????? ?  ????  ??  ?B6?@?@9????????? ??  ???  ??  ?????   ? ???  ?  ?????? ??  ?? ?  ? ???  ? ?? ? ?  ?@"?@?@ @@@@@@  @@  @@ @  @ @   @@@@@ @ @ @ @@@ @@  @ @@ @ @  @! @#@$@.@%@+@&@(@'   @) @* @, @- @/@6@0@3@1@2  @4@5   @7 @8 @:@@;@i@<@S@=@F@>@C@?@A@@   @B @D  @E @G@L@H@J @I @K  @M@P@N@O  @Q@R  @T@^@U@[@V@Y@W@X  @Z @\@] @_@f@`@c@a@b  @d@e  @g@h @j@|@k@v@l@q@m@p@n@o   @r@t @s @u  @w @x@z @y  @{ @}@~@@@@@@@@@ @@@@@@@@@@ @  @@@  @ @@@@@@@  @@ @ @@ @@ @ @@  @@@@ @@@  @@@@   @ @  @ @@@@@@@@@@  @ @@@@   @ @@@@@   @@@@   @ @@@@ @A@A6@A@@@@@@@ @  @@@@   @ @@@@ @ @@ @@@ @  @@  @A@@@@@@  @@  @@ @@  AAAA  A  A AAA AA AA A  A   AA A A A AAAAAA  A AA A  A A+A!A&A"A# A$A%  A'A)A( A*  A,A0 A-A.A/  A1A3A2  A4A5  A7AgA8ANA9AC A:A;A?A<A= A> A@AA AB ADAJAEAHAF AG AI   AKALAM  AOAZAPAUAQASAR  AT AVAXAW  AY A[AaA\A^ A] A_A`  AbAeAcAd  Af AhA|AiArAjAnAkAl Am  AoAq Ap  AsAvAtAu AwAzAxAy  A{ A}AA~AAAA  AA  AAAA   AAAAA  AAAA  AA  AAAAAAAAAAAAA A AAA  AAA  AAA A  AAAAA AA  AA A  A AAAAAA  A  A AA AAAA  A  AAAAAA AA  AAA   A AAAAAA   A AAAAAA A A  A A AAA A  AA A A ABABAAAAAA AA  AAA  AA  AAAA  BB B BB BB B B B   B BB BB  BB  BB B BB  BB#BBB BB BB!BB   B" B$B0B%B+B&B(B' B)B*  B,B- B.B/  B1B2B4B3 B5 B7CB8BB9B~B:BQB;B<BIB=BCB>B@B?  BABB  BDBGBEBF   BH BJBMBK BL BN BOBP  BRBgBSB^BTBZBUBXBVBW   BY  B[B\B]  B_BdB`BbBa Bc   Be Bf BhBvBiBoBjBlBk  BmBn  BpBsBqBr  BtBu  BwB{BxBzBy  B|B}  BBBBBBBBBBB  B BBBB  B BBBBBB  BB  BBB B  BBBBBBB  B BBB  B B  B BB BB BBBB   B BBBBBBB  BBBB  B BBB BB  BB B  BBBBBB BB BB B  BBB BB  BBBBB  BB  B  B B BC>BCBBBBBBBBBB   BB B B  BBBBBB  B BB BCBCBB B  C  CCC  CC CC  C  C C C  C CC%CCCCCCC  C C CC CC C CC  C!C# C" C$ C&C3C'C,C(C* C) C+  C-C1C.C/ C0 C2 C4C:C5C9C6C8C7   C; C< C=  C?C[C@CECACBCCCD CFCTCGCOCHCL CI CJ CK CMCN  CPCR CQ CS  CUCX CVCW  CYCZ  C\CuC]CkC^CdC_CbC`Ca  Cc CeCiCfCh Cg   Cj ClCoCmCn  CpCsCq Cr Ct CvC}CwCzCx Cy  C{C| C~CCC CC  CC C CC  CD0CCCCCCCCCCC C CC CCCC   C CC C C CC C C CC  CCCCCC C  C CCCC  C  CCCCC  C  CC C CC  CCCCCCCC  CCC CC  CCC C CCCCCC C CC  CCC  C  CCCCC C  C CC C CC C CC CD CDCCC CCC  C CCCC C  C CC C  C DDDDD   D D D  D  D  D  D DDDDD DDD  DD&DDDDD D  D  D DD$ D D! D"D#  D% D'D+D(  D)D* D,D.D-   D/ D1D|D2DcD3DLD4DAD5D:D6D8D7   D9 D;D>D<D=  D?D@  DBDE DCDD  DFDIDGDH  DJDK  DMDVDNDQ DODP DRDT DS DU  DWD[DXDZDY   D\D`D]  D^ D_ Da Db DdDoDeDfDlDgDiDh DjDk  DmDn DpDuDq Dr Ds  Dt DvDyDw  Dx Dz D{ D}DD~DDDDDDDDD  DD  D DD  DDDDD  DD  DDD   D DDDDDDD  DD  DDDD D   D DD D D DD D DD  DDDDDDDDDD  D  DDDD  DD  DDDDD   D D D DDDDDD D  D D D DD  DDDDDD   D DDD  DD  DOD }DDDDDDDDDz DExDODEDODDDD%Q%DQDQDDQQDDQDQQDED%EE%E%%E }E }%%EEEEE E E  E EE EEEEEEE  mEEEEg EKgE3EEsEE3E E1QE!QE"E#QQE$E%QE&QE'QQE(E)QQE*E+QE,QE-QQE.QE/E0QQE2E4E7E5E6 E8E9%E:E^E;EPE<EFE=EE sE>E?EBE@EA~{~}ECED}Ol sEGEIEH EJEKENELEM..EOEQETERES% } sEUEVEWEXE[EYEZE\E] E_EfE`EcEaEbvEdEeQ EgEpEhEoEiEjEmEkEl$$En$EqErO EtEu%EvEwEyJEzFNE{EE|E}EE~ E%EE%%EE%E%%EE%E%%EE%E%E%E%%EE%$%EF<EEEEEF;EEEEEEEEEEEEExEEEExEEEEExxEEEExxxExEEEEEEExEx'xEEExxEEEEEEEExEEEEERxEEEEEEEExEEEEEEEEEExxExExEEEEEEx8xxExEEEExHxEExxEEEEEEEExRExEEExxEEEEE#XEEExEFFFFFF FFFFFF F  QF F FFFFFFFFFFF QFFFF QFF'FF F!F$F"F#F%F&uuF(F)F:F*F+F,F-F.F/F9F0F1F4'0F2'0F3'0F5F7'0F6'0'0F8'0'0OdF=FKF>FJF? F@FAFBFCFDFGFEFF]g&=FHFIpp%FLFMQ#A|FOGFPFFQFFRF[FSFZFTFUFVFWFXFY%F\F]%F^F_FsF`FlFaFfFbFdFc.FeFgFjFhFi3BFkPFmFnFpFo^lFqFr^FtF|FuF{FvFxFwzFyFzҫF}FF~FFFFFFFFFFFFFFFFFFFCFCFFFCCCFCFFF Fz|F FFFFFFFFFFFFFFF#PFFFVFFFFFFFFFFFFVFFFFFF !mFFFFOFOFFFFFFvFFOFFFFfFGFFFFFFFFFv%FFF%F %%FFFFFFF F F%%F%FFFFFFFFF Q QFFF QFF Q QFFFFF$F$GG%%GGGGTG%GG5GG!G GG G G  G G GG U {oGGGGGG G GG | G G   ]GG|GG $ fG"G+G#G&G$G% G'G(G) G*  | G,G-G2G.G0G/ ܏ G1 &  G3G4  G6G@G7G9G8 G:G;G<|G= G>G?' 'GAGPGBGFGCGDGE  | GGGJGH GI {o GKGMGL GNGO||GQGSGR z ' GUOGVGGWGwGXGdGYG\GZG[OG]GaG^QG_G`X% KvGbGc!GeGuGfGqGgGoGhGnGiOGjOGkOGlOGmO"OOGp s sGrGsGtLIGvp }GxGGyG{GzfG|GG}%G~GGGGOGG  KG%YGGGGGGvv Y  GGGGGGGG2_GG GGGG%G~G~CIGGmGGG`4GGGGGG% GGGTGGOFGG%GGGG%OGwGwuGGGGG FBvBGGGI#GHGGGGGGGGGGGGGGGGGGGG   GGG G GG GGGGGGG G G  GG G GG:G5G:GGGGI:WGHDGGGGGGGGGGGWWGGWGGH.GHGH HHHHHHWWWHH HWHWH WH WH HHHHHHWWWHHHHWWHWHWHH&HH!HHWHH WWH"H%H#WH$WWH'H,H(H+H)H*WWWH-WH/H<H0H9H1H4H2H3WWH5H6WH7H8WWH:H;WH=H>HAH?H@WWHBHCWHEHF5WHHH|HIHNHJHKHLHMWHOHUHPHRHQZHSHT:WHVHzHWWHXHYH`HZH[H\H]H^H_HaHiHbHcHfHdHeHgHhHjHsHkHpHlHmHnHoHqHrHtHwHuHvHxHyH{H}HH~H:5HHH@ H5HI HHHHHHHHHHHHHH HHH H H H HHHHHHHH  HH  HHHH  HH  HHHHHH  HH  HHH H HHHHHHHHHH  HH  HHHH  HH  HHHHHH  HHHH   HHHHH  HHHHHHH  HH  HHHH  H HHHHHHHHHHHHHHHHHHIHIHHHHHHHIHIII IIIIII II I I IIIIIIIIIIIIIIIII!I"WI$ICI%I<I&I8I'I(I*I)I: I+WI,I-I.I/I0I3I1I2I4I5I6I7I9II: I; I=IBI>I?WI@WIA 5WIDIIEIIIFIGIH IJIQIKINILIM(qIOIPIRIISIITI~IUIxIVIgIWI`IXI]IYIZ:I[:I\:I^I_::IaIdIbIc::IeIf::IhIoIiIlIjIk::ImIn::IpIsIqIr::ItIwIu:Iv::IyIzI{I|I}::IIIIIIttIIIItIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII5IJJJ)JJJJJJJJ J J J J JJJJJJJJJJJJJJJJJJ J!J"J#J$J%J&J'J(J*J+J,J-J.J/J0J1J2J3J4J5J6J7J8J9J:J;J<J>U(J?R9J@LJJAJWJBJMJCJL%JDOJEOJFOJGOJHOJI ]JJ lJK lOJN%JOJPJQJRJSJTJUJVJXKJYJJZJzJ[JsJ\JaJ]J`J^J_t st  sJbJc% }JdJeJiJfJgJh#PJjJkJnJlJm#PyJoJp4JqVJrVJtJwJuJv#AJxJy J{JJ|JJ}J~#A sJJ3JJJJJJJJJJJJ  JJ 7.XJJJmJ 7 d 7 sJJJJJJJJJJJJJJJJ%JJJpJpCJCJJJJJJJJJJJJJ  &JJJJJJJJJJJJJW%J%JJJJJJɓɓJmJJJJJJJJJJJJJJJJJ s%JJJJJJJCJCJJJJJJJJJJJJKJJKJJ2J2JJJ22wJKJJwJ2JJ2wwKKK21K2w2KKKK KK CK KK K CCKKCKKKKCKKK#_KK$ OKmKK%KK!K K"K$ }K#,%K&K8K'K7K(K)K0K*K-K+K, %OvK.K/%K1K4K2K3UK5K6%K9LK:LK;KK<K\K=KMK>OOK?K@OKAKHKBOKCOKDO"~KEKFKG"~O"OKI"~KJOKKOKLO"~OKNKSKOKQKPO"~OKRO}OOKTOKUOKVOKWOKXOKYOKZK["~OK]KvK^OK_KhK`KaO|KbOOKcOKdOKeOKfOKgO"~KiKmOKjOKkOKlO"OKnKoOKpKtKqOKrOOKsO"~KuOOKwKzKxO"~Ky"OK{K|6OK}K~"~OKKOKOKKKO\OOKKKKKKK|KO;OOKKKO|OKKKK"~OKKKKKKK"OOKKOKKOIIOOKKOKK"~OO"~OIOKKK"KOOKKKKOKO"OOKO"~KKKKKOKKKOKKO"OKK"~OK"~OKKKKKKKOKKOK"~OKO""KO"~OKOOKOKOK"OKO"~OKOKKOKKOKOKOKKKK"O"OO"O"KKKKKKO"KOKKOKKK"""OOKOKKOO"~OKKKKKOKOK"~KO"~KOKKOKOKO"~KOKO~OKO"OKKOKO"KL KOKLOKKOKOKOOLLO"~OLOLLLO"LO"LOL OWOL OL LOL LOLO"~O"OLLLLL,LLLLLL%LLLL L"L!L#L$L%L&L)L'L(et }L*L+L-L4L.L1L/L0 }%O &L2L3 sL5L<L6L7L8L9L:L;(:L=L>L?QL@LALBLCLDLELFLGLHLILKQLLOLMMLNLLOLLPLcLQLY LRLSLXQLTLULVLWq QLZL]L[L\Q L^L_L`LaLb yLdLyLeLmLfLjLgLhLiwLkLlLnLrLoLpLqLsLtLvLuwLwLxwLzLL{LL|LL}L~ LLLLuLLCLLL L LLLLLLLLLLLLLL  LLLCLLLL %LLLLLLLL *LLLLLL HLLLLLLLLL LLL LLLLLLLLLLQLLLLOLLLLLLwLLLL LLLLLL o'LL' LL*LLL LLLL LLuLLLLLLLLLMXLM-LML LLLLLLLu2%LLuwLMLMLM MMMMMMMMM M M  M M MMMMMM  MM MMMMMMMM  M!M*M"M%M#M$M&M(M' 7M)qM+M,fM.M? M/M0M;M1M4M2M3*M5M7 M6M8M:M9UM<QM= M>M@MKMAMEMBMC MD 7MFMGMJMHMIMLMWMMMSMNMP oMOMQMR o oMTMUMVQ MYMMZMuM[MbM\M^M]% M_M`MaMcMjMdMeMhMfMgMivMkMqMlMnMmMoMpcMrMtMs MvMMwM} MxMyM{MzqM|vM~MMCM8MMOMMMMMMM s M MMUMMMMMMMMMMM|L 7 MOMMMMMMI MXMMMMMMM%MM &M)|MMMMMMMM MMOMMMMMMMvMMOMMMq2MM Mz=MNiMNMMMMMMMMMMM M MMMWMMMMMMMM MM{MMMM R MMMMMMMMMM QMMMMMM MMM MM{o# MMvMMXPPMN NNNNNN NNg NN xxN NN NN NN NN  NN N]NN>NN)NN N$N NN N N$$N!N"N# N%N&N(N' CN*N3N+N.N,N-N/N0  }N1N2yN4N5N:N6N8N7yN9 N;N<N=ON?NVN@NONANMNBNGNCNEND 'NFNHNKNINJ R%NL4% NN NPNTNQ NRNSɓQNUNWNaNXN]NY|NZN[N\ N^N_ N`  Nb NcNfNd NeNgNh'NjNNkNNlNNmNrNnNoNp NqNsN~NtNwNu%NvWNxN{NyNzݤN|N}|NNNNNN NNNNNNNNNN >NN%NNNNNNNNNNNNy~ } nNyNNINNxNPN NNN  NNNN N NNNNNNNx2 oNNNN NNPNPNPNPNPNPNP PQONN N  QNNNNNNN NNNNNNNNNNNNNNNN%NvNNNNNNNNNNm{`N FNNNNNN%NNN2NNNNNNNNNN}55NNNNN OO OOOOOOOO O O O O OOOOOOyOOOOwOPOOOOOObOOBOO6OO,O |O!O"O#O${~O%O&O'O(O)O*O+O-O0O.O/O1O4O2O3O5_O7 O8O=O9O;O:O< O>OAO?O@%OCOYODOQOEOLOFOIOGOHCOJOK FOMOOONOP OROUOSOTOVOW OXWOZO_O[O\ O]O^  O`OaxxxOcOOdOpOeOnOfOjOgOi Oh%OkOmOluOo OqOzOrOwOsOuOtyOv OxOy _O{"~O|O}O~ wOOOOOO OOOOO o oOOOOOOWOO 7OOO OOOO$OOOOOOOOOOO  $ OOOOO o'OOOOOO %  OOO OOOOwOOOOO }OO**OOQOOO}|OOOO R OO OOOOOOZ |OP2OPOOOOOOOOOOO$O2OOOOOOOO %OOOOO OO OO OOOO O  OOPOOOO OOOOO owOP oPP PPPPCP PP PP PP PP P PQPPP P'PPPPPCP PPCP P)P!P$P"P#  P% P&P'P(P*P+P.P, P-P/P0P1'P3PpP4PWP5P9 P6P7P8 P:PDP;P@P<P>P=$y P?wPAPBPC R(wPEPSPFPQPGPPPHPICPJCPKCPLCPMCPNCPOCCPRPTPUPV 7PXPcPYPaPZP\P[ P]P_P^wP`Pb PdPl PePfPiPgPh }}5PPjPkB |ZPm%PnvPovPqPPrPzPsPyPtPuPvPwPx o o OP{PP|P} P~CPPP P PPPPPPPPPPPPLPP  P QPQKPPPPPPPPPQPP PP%PPPPPYPPPPPPP"~PPPPPP PPPPPPPPPPPPPPPPPPPPP PPPPPPgPPPOPPPP Pw PPPPPPPP PPPPP PPP|P  PPP PPPPPPPPPP}P}PP rP}PPP PPz=PPPPPPPPPPwPQ PPPw7PQ2QQQQ QQ QQQ oQ aQQ QQ  Q  QQQQwQQ{QQ.QQQQQQ%S QQQv QQ Q+Q!Q" Q#Q$ o oQ%Q& oQ' oQ( oQ) oQ* o oQ,Q- oQ/ Q0Q1 Q3Q=Q4Q6*Q5 Q7Q8Q9Q;Q:Q<Q>QCQ?Q@QBQAQDQJQEQQFQIQGQH oQA QLQQMQQNQjQOQYQPQXQQQWQRQUQSQTױ oQVwQQZQfQ[QaQ\Q_Q]Q^  Q`PQbQdQc 7 &QeW QQgQh Qi oQkQvQlQmQsQnQqQoQpAQAQQrQQtQu QwQyQxOQzQ}Q{vQ| oQ~QQQ% }Q2 }%QQQQQQQQQQQ uuQQQQQ QQQQQQQQQQPE^ QQP PQQQQQQQQQQQQwQQQwmQQXQQQQQQQQ 7 Q2Q QQQQ 7QQQQQQ Q*QQQQQQQQQQQQ oQQ QQQQQ{oQQQQQQQQQQQQ  QQQQQ{QQQQQQ Q%QQ%%QQ%Q%Q%QR %QQRQ%QR%QQ%%Q%RR%%RR%R%y$%R%R%R%R %R %%R R %%R $%R%%RR%RRR%%R%RR%R%R%%%RR%%R%RR%R%$%R!R-%R"R#%R$%%R%%R&%R'%R(%R)%R*R+%%R,%$R.%%R/R0%R1%R2%R3%R4%%R5%R6R7%R8%%$R:ROR;OR<R=R>R?R@RARBRCRDRERFRGRHRIRJRKRLRMRNRPSRQRTRRRS sRUSRVR~RWRpRXRmRYRZ }R[R\RdR]R`R^R_vRaRcRbCReRhRfRgCRiRkRj aRlCRnRo mRqRtRrRsRuRv }RwRxRyRzR|R{IR}IRRRRRR%RRRRRR s%RRORRRRRRRRRRvRRRRRRRRIRRR>zR(  }%RR  RSRSRRRRqRRRRRICRl|RRRRRRRWRWRRRRSRSR RRRRRRRRRRR RRR RRRRR RRR RR  RRRRRRR  RRRR RRRRRRRRR RRR RRRRRR R RRR RSRSRRRR RR SSSS SS SS S S S  S S  SSQS SS(SSS SSSSS SSSS S S!S"S%S#S$ S&S'  S)S7S*S/S+S,S-S. S0S1S4S2S3 S5S6 S8SHS9S=S:S;S< S>SCS?SAS@ SB SDSFSE SG SISMSJSKSL SNSOSP SRSSSSqSTSeSUS\SVSWSXSZSY S[ S]SaS^S_S` SbScSd SfSlSgShSiSj Sk SmSnSoSp SrSSsSxStSuSvSw SySzS}S{S| S~S SSSSSS SSSSS SSS SSSSSSSSSSS S SSSSS SSS SSSSSSS SSS S SSSSS SSS SSSSSSSSSS  SS SSSSS SSS SSSSSSS SSSS SS SSSSS  SSSS%S SSSSSSS !SS%O%SSQSSSSSSSS_SSSSSC%2SS3#TU'TTTTTTT<TTTT T|T T T T T | TT TzTz T T l TT&TT#TTTTTT ܏TT  ] T T!T" || T$T%&T'T1T(T.T)T,T*T+|5 T-'|T/  T0 'T2T6T3T4T55  T7T9 T8 T:T;f&{~T=TnT>TVT?TMT@TGTATDTBTC $TETF5  THTJTI  |TKTL{` TNTRTOTP {~TQ' TS TTTU z TWTdTXT_TYT\TZT[ 'T]T^{~5 T`Ta| TbTc  TeTkTfTiTgTh $ Tj ܏Tl TTm{~ ToTTpTzTqTvTrTt Ts  Tu| Tw TxTy 'T{TT|T~T} TT  l l  TTT  5TTTTTT lz'$TTTT |T  TTTTTT {~ T  TTTT5  TT  |TTTTTTTTTTTTTT |{~ T l TT T TT ܏| TTTTTz lUTT  T|T TT lT 'T TTTTT TT T{~'TTTTT  &TT {~TTTT 55|T ܏TTTTTTT܏ ܏T{~  T T|TTTTTT{~55{~{~T5TTTT ܏ ] TT {~TUTTTTTTTTT T |TTTT| 5 TTTT  TTU 5UU UU UUUc{oUU{~U U 5 5U U U UU 5 UUUUUUUU5 'UrUUUUUU 5 UU$U U"U!U# UU%U&  sU)XmU*VU+U0U,U-U.U/U1VU2UuU3U?U4U7U5U6%  }U8U9%U:U;U<U>U=vvU@UCUAUBv#%UDUtUEUJUFUGUHUIUKUL2UMUrUNOUOUPUbUQ URU[US  UT UU UVUWUYUX    UZ   U\U]  U^U_ U` Ua   Uc UdUk UeUf  UgUh Ui  Uj  Ul Um  Un UoUp  Uq  Us*T$UvVUwUzUxUyU{UU|U}UU~UUU oUUUUUU o{ oUwUUU R{ oUUUUUUUwUUUUUUUUUUU oUUUUUUUU oUUUUU oU{ oUUU{U oUUV"UUUUUUUUUU U  UVUUUUUUUUUUUUuuKUu UU U|Uu^UUUUUUuU  UU KUUUUu   UUUUUUUUU1 UUU  UUUUK  ^UU  UUUUUU4gUUUUUKKUUu  UUVUV VVVV^V |VVKV uVV  V  V B V VVVV   VVVVVV VK VVVVV V V! V#V$V`V%V&V.V'V(V) V*V,V+V- V/VFV0V<V1V:V2V7V3V5V4|*V6 u V8KV9uKV; V=V@V>V?uVAVDVB VC uVE VGVXVHVUVIVNVJVLVK  VMw VOVRVPVQu   VSVTu wVV VW  VYV\uVZ V[ V]V^V_uK|*VaVbVVcVVdVuVeVkVfVh VgViKVjuVlVnVmuVoVsVpVqVr Vt  VvVzVwVxVy  V{V~V|V}  VVV   VVVVVVVVV| VV|g|*VVgVVg VV V V VVgV VVVVVVVVV |VVVV  VV   V VV VVVVVVVV KVKVuVVV VV  VVVVVmVVVVV VVVVVVVVVVVVVVVVvVVGmVVVVVVVVVVVVVVVVVVVVVVOOVVOOVVVOVO ]VVV lV ]V ] ] l ]VVV ]V ]OVO lOWWDWW5WWWWWQ WWWW %W %%W %W W %%W%W%WW%W%W%%WW%W%$%WW#AW WW%%WWW/WW W!W"W-W#W,W$4W%W&W'W(W)W* QW+V Q#PW.yW0W1W2W3W4VW6WAW7W@W8W=W9W:AW;eW<t2QW>W?OWBWC#A !WEWYWFWGWH%WIWJ%WK%WL%WM%WN%%WO%WPWQ%WR%%WS%WTWU%%WV%WWWX%%WZWW[WW\WcW]W`W^W_ swTWaWbmwWdWWeWoWfOWgWkWhWiWjv$WlWmWnr8Wp }WqWvWrWsWtWu||kWwWWxWy WzW{W|W}W~WWWW&>WWO &WWWWWWWW%mWWWvv%WWWWWWWWWWv(WW(WWWW WWW(( WWWWWWWWWWWWWWWW6WWWWWWE:W&$WWW$$W$$$W$WWW%%_WWWWWWWWyWWm }mWWWWWWrtWQWWWWWWWWWWWWWWWWWWWWW%WWvWWW  WWWW s%3WWXaWX,WX WWWW QWX WXWX QXXX QXXX QX Q QX X  QX X&XXXXXX QX QXXXXX Q QX QXXX Q Q'X QX QX X!X$X"X# Q QX% QX'X(X)X*X+ QX-X1X.X/X0X2X3XSX4X;X5X6X7X9X8 QX: QX<XGX=X>X?X@XAXDXBXCTo$lXEXFVVVVXHXKXI QXJ QXLXRXM QXN QXOXPXQ Q4' QXTX[XUXY QXVXWXXXZ' QX\X]X^ QX_X` QXbXcXiXdXgXeXf pXhpXjXkXlpXn[rXoYXpXsXqXr  XtYpXuXXvXXwXxX}XyXzX{X|%X~XXXXvXXMXXXX3#AXYo%XXYXXXXXX XXXXXX  X XX  X X X  X XX  XX  X X  X XX X  XXXXXXXX XXXXXX XXXXXXXXXKXXKXXXXXXXXXXX|XXXXXXXXXXXuXXX|*XXXXXXXXXXXXXXXKXXKXYXXXXXXXXXXXKXXXXXYXYYYYYYYYY YY Y Y Y YYYYYYYYYYYYYYbYYEYY7Y KY!KY"Y/Y#Y(KY$KY%KY&Y'KK Y)KY*KY+KY,KKY-KY. KY0KKY1Y2KY3KY4KY5KY6KK Y8Y>KY9KY:Y;KY<KKY=K KY?KY@YAKYBKYCYDKKYFYVKYGYHKYIYNKYJKYKKYLYMKK YOYPYQYRYSYTYU YWKKYXYYYZKY[KKY\KY]KY^Y_KY`KKYaKKYcKYdKYeKYfKYgYhKKYiKYjYkKYlKYmKKYnK|YqYYrYYsYtYu% s sYv sYw sYx sYyYz s sY{ sY| sY} sY~Y s s &YYYvYYYYYYYYYvY Y Y sYYYYYYYYYYYvvv }YY }v~ }YYYYYYYY }YYYY% YYOYYYYYYgYYyYYYYYYYYYOYYYOY %YYYYy%YYYvvYvYYvYYYYYYvYYYYYYIvvYv3%YZTYZ YZYYYYYYYYYYYYYYYYYCYYY YYYYYYYYYCYCYYYYYYYC{CZZyZyyZyZyZyZyZyZ ZSZ Z ZZ ZZZZZZz Z'ZZZZZ'z ZZZ8ZZ+ZZ$ZZ!Z  QZ"Z##P#PyZ%Z(Z&Z'\yyZ)Z*#Py'CZ,Z2Z-Z/Z.CZ0Z1Fy'\Z3Z5Z4'\y'\Z6Z7y;Z9ZGZ:ZAZ;Z>Z<Z=#P'yZ?Z@#P;ZBZEZCZDyy QZFZHZNZIZK'\ZJ'\z ZLZM'\C Q'\ZOZQZP#P#PyyZRyZU[(ZVZW2v ZXZYZaZZ Z[Z^Z\ Z]  Z_$Z`$ $Zb Zc[ZdZZeZZfZZgZyZhZuZiZjZqZkZnZlZmZoZpZrZsZtZvZwZxZzZZ{Z|Z}Z~ZZZZ$ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[ZZZZ[[[[[$[[[[[ [ [ [ [ [[[[[[[[[[[[[[$[[ $[![%["$[#[$$$[&$['$$[)[H[*[+[2[,[/[-[.%[0[1 3[3[5[4m[6[>[7[8[9[;[:Y[<[=B[?[C[@[A[B'6[DQ[E[FQ[GQ[I[O[J[K[L[M[N[P[Q[b[R[S[^[T[Z[U[X[V[W  v[Y [[[][\ [_[`[a [c[p[d[h[e[f[g[i[j[m[k[lE T}[n[o }}}b[q [s[[t[uO[v[[w[[x[[y[z [{[|[}[[~[R[[}[%[[[[[[ 1[1Q[[[[ s[[O[[O[O[O"O[O[[OO[O[O[O[O[O[O[O[w0O[[ [[[[[[Qvv[[%[[[[%[[[[[[[[[[['M[[[[[[[[[[[[[[[[[['M[[[[[4[[[[[['M'M['M[['M'MW[[[[[[V[[[[Sm[[%[\i[\5[\[[[[[[v[[[3[O[[[[b#A[[l[\ [\ [!$[!$\!$\!$\\!$\!$\!$!$\!$\!$\!$\ !$\ \ O\\\\\\)\\\\mv\\\\\\Kv\\(\\ \$\!\"\##P#P\%\&\'#P'>#A\*\-\+\, }\.\/_ _\0\1\3 _\2 _\4 _\6\G\7\=\8\:\9\;\< \>\D\?\@%\A\B\C  \E\F\H\^\I\[\J\Z\K\Q\L\P\M\N\O((*\R\W\S\U\T \V \X\YO\\\]|\_\b\`\a%\c\h\d\e\f\gv\j\q\k\n\l\m\o\pQ\r\t\s3\u\v\w\x\\y\zv\{\|\~\}I\\IfIQ\Q\\\\\\^\]\]]\]\]O\\\O\\O\\O\O\O\O\\O\O\OO\O\\O\O\OO\\OOO\O\\\\OO\\OOO\\\\\\O\OO\O\O\\OO\\OO\OO\O\\OO\O\\OO\OO\\O\\O\\O\OO\\OO\O\OO\O\O\O\\OO\\\O\OO\\O\OO\O\O\O\O\\O\OO\O\O\\OOO\\\ ]\\\\\\ ]\ ] ]\O ]\ ]\O ]O ]\\\ ]\ ]O\ ] ]O\\\\ ]\\ ] ]\\ ]O ]\ ]\ ] ]\ ]O\ ]\ ] ]]] ] ]OO]O]O]O]O]]O] O] O] OO] O] O]O]O]]O]O]O]OO] MO]]I]]#O]]O]O]O] ]] ]] ] ]]  ]]! ]]"O ]]$O]%O]&OO]'](];O])O]*O]+O],]-O].O]/OO]0]1]6O]2]3O]4O]5O"~O]7O]8O]9OO]:O"~]<O]=O]>O]?O]@O]AO]BO]CO]DOO]EO]F]GO]HOO"~O]JO]K]LO]MO]NO]OOO]P]QOO]R]SO]TOO]U]VOO]WO]XO]Y]ZO][O]\O"O]^]]_]i]`]e]a]c]bOOO"]dO"]f]gO"]hOO"]j]]k]]l]y]mO]nO]oO]pO]qO]rO]sO]tOO]u]vOO]w]xO}O]zO]{O]|OO]}O]~ ] M]O]O]]]]O]O]]OO]]O]OO]]]O]]]O]O]]|O|]]O]O|O|]]]]]]O]]|O|O|]]O|O]|]O|]]]]O]]|O|O|]OO]]|O|O~ O]]]O]4O4OO]O]"4]OO]]OO]"O]^]^]^P]^]]]]]Q]QQ]]]Q]]]QQ]Q]Q]Q]]QQ]]QQ]]Q]QQ]Q]Q]]Q]Q]]QQ]]]]]]]]]]]]]]]]]AQ]]]]]]]]]]]]]]]]]]^ ]^Q]^QQ^Q^^^^^^^ ^ ^ ^ ^^Q^^2^^.Q^^^#^QQ^^Q^QQ^^Q^QQ^Q^Q^Q^^ Q^!QQ^"Q^$Q^%^+^&^)^'QQ^(Q^*Q^,^-Q^/^0^1Q^3Q^4^5QQ^6Q^7^8^D^9Q^:Q^;Q^<Q^=Q^>Q^?Q^@Q^AQ^BQ^CQQ^EQ^FQ^GQ^HQ^IQ^JQ^KQ^LQ^MQ^NQ^OQQ^Q^[^R^Y^S^X^T^UQ^VQQ^WQ }^Z^\^r^]^o^^^n^_ }^`^a^g^b^c^d^e^f^h^i^j^k^l^m.%*^p^q^s^t^^u^v^y^w^xv^z^|^{v^}^~^^^p!p^^^^^^^^ !^^m%^^^Q^Q^Q^Q^QQ^^QQ^^QQ^^Q^Q^Q^Q^QQ^^Q^Q^QQ^a<^^%^%^%^^%%^^%%^%^^%^%%^^%^%^%%^^%%^^%^%^%%^%^_^^^^%O^^^^^ ^^^v^_^^O%^O^^^^^^^^Q^^^^^^^%^^O^^^^^cr ^^^^^^%^^^^^^^v%^^^3^^^^^^^f^^^^ v^r_____M__"____ ___ _ _ :ځ_ %_____O__ s________Kwbwb_uf__ _!wb_#_*_$_%_&_(_'u_)v_+_@_,_-_/_. _0_?_1_2_3_9_4_5_6_7_8_:_;_<_=_>_A_J_B_C_I_D_E_F_G_Hxn __K _L   _N_o_O_g_P_Z_Q_T_R _S   _U_X_V_W _Yv_[_f_\ _] _^ ___`_a_b_c_d_e v _h_l_i_k_j  _m _n _p_|_q_x_r_w_s_u _tf_vv  _y_z _{:_}_~_v_ _  Q_`_`__%_ %__m_m__mm_m_m_m_m_m·__________%__|____y____ sm_______w________%|___2___^v_____$____zwTu____v__2|O_`______ s__%%_%_ __________W_____WW_______~__~%_%ɱ_u~_O__O_OO_O_O_O_O_O_O_6O _____>d_`_ `%O`` `` ````` ` ` ```:``O%` _```6xz``N``'`3````$``#``!` "o3`"3M`%`&%`(`:`)`0`*`-`+%`, `.U`/%%`1`2`8`3`4Q`5`6`7v`9`;%`<`B`=`>`?`@`A`C`F`D`E`G`H`K`I`J  `L`M `O`P`{`Q`a`R%`S`W`T`V`U`X`]`Y`Z`[`\`^```_`b`i `c`d`e`f!`g!`h^!`j`m`k`l#P Q#P Q`n`t`o`p'0sy`q`r`sy'0y'0`u`x`v'0`w'0yz'0`y'0`z'0`|``}``~``%` N`:: N````  O````O```*`````````#P`` }` }`a5`a&````OO`O`O``OO`O`O``OO``O`O`OO`"~OO```O`O``O``O`O`O`O``OO`O``Ow!OO```O`O`O``O`O`OOw!O``OO``OO`O`w!O`a```````O`O`O`O`OO``O`O#O```O`OO`O"```O`OO##`O`O"OO``OO``OO``O```#O`O#`O#O```O`OO`O``O```O"O`O"O`OOaaOaOaOO"~aaaOaOaOa a Oa a OO"a OaOaOOa"OaaaOOaOaaaaOaOOa"OaOaOaOO"aOOa Oa!Oa"Oa#a$Oa%OO"a'a(a/a)a,a*a+Wfa-a.3vOa0a2a1a3a4Q sa6a7a8 !a9a:a;a=ea>d/a?ca@cWaAaLaBaHaCaEaDQQaFQQaGQQaIaJaKQaMaaNaaOaaPadaQaXaRaVaSaUaTx2%'aWaYa\aZa[|Oa]aaa^Qa_a` F Fabac**aeasafajagahai%akaoalaman  %apaqar#}atayauaxavaw2Oaza|a{/a}aa~ Qaaaaaaaa@a@aaw o>a%aa%a%a%a%%a%a%aa%%a%$aaaa 4QaaQvaaaaaa$aaaC%aa&Kaaa%aaaaaaaa4OvaaOa aama }a } }aa } }a }v~acBab.abaaaaaaaOOaOaaOaOO"OaaaOaaOO"aOaOaOOaOaOaaOOa"OaaaOaOaOaO"OaOaaOaOaaOOaO"aaOaOaaOaOaOO"aOOaOaOaaOaOaOO"OaaOaOOaaOOaOaabaOOaaOObO"bOObbObOO"ObObb bb Ob bOb Ob bOObbObObbO""OObbObObOO"bb"ObObbOObbOb Ob!O"OOb#b$OOb%Ob&b'OOb(b)b+Ob*Ow!b,OOb-Ow!b/bb0b{b1b=b2OOb3b4OOb5b6OOb7Ob8Ob9b:Ob;Ob<OOw!b>b\b?bRb@bIObAObBObCObDObEObFObGObH"~OObJObKbLObMOObNObOObPObQO"ObSObTbUObVObWOObXbYOObZOb[O"b]bqb^bhb_Ob`bebabcbbOO"ObdO"ObfObg"ObibpObjbkOOblbmbnOOboO"O"ObrbsObtOObuObvObwbxObyObzOO#b|bb}bb~bbObOObObObObbOObbO"ObObObObbObObOb"ObOObbOO"bbbbbbObObbO"~ObbbbbOObObObbO"OObbObOObbO"ObOOb"ObbbOObbOObbObOObO"ObObbOO"ObObbbO"O"bbbbObbbObObObObObbObO"ObOO"bObbbObOObO"bObOOb#ObObbbOObO"bObb"ObOObO"~bc bbbbbObOObO"bObOb"~bObObOO"bObcObbbObbOObbObOO"~bOObObObObbOcO"OcccOO"cOOccOcOc Oc OOc cc cccOcOccOO"OccOOcO"OccOccO"OcO"cc(Occc%Oc Oc!Oc"Oc#Oc$"Oc&Oc'OO"Oc)c*c;c+c2Oc,Oc-c.OOc/c0c1O"O"~c3c8c4OOc5Oc6Oc7O"c9"c:OO"c<Oc=Oc>OOc?c@OOcA#OcCcPcDcFcE3cGcOcH3cIcLvcJcKvvvcMcNvWvcQcTcRcS }OcUcV $cXc_cYc\cZc[8%%c]c^vc`cjcacicb|cc|cd|cecf|cg|ch|| }ckcclctcmcpcnco3 }|cqcscr sQcuccvccwcxccyc|czc{c}c~ccccm#Acc%cc sccccc% }mccccc2%cdcccccccc*mccQcccccccc:ccccc   c cccc  ] ccc2cdcccc !2ccccccck{cccccccWcccWccccccIccccQrcccccccccccccccccc H cccccccc c Hcccc'cdccccccc ccc Hdddddd dd2d md dd dd d%OddOdddOdddd %dd_dddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.Od0 d1d2dgd3dQd4dHd5d9d6d8@d7%$  d:d;%d<d=d@d>d?pdAdFdBdDdCpdEdGdIdLdJdK 2dMdP dNdOdRd`dSdVdTdU%dWdX }dYUdZd]d[ d\ S Kd^d_&u&dadddbdc~5dedf2dhddiddjdmdkdl3Odndovdpd|dqdydrdsdtdwdudv } }fdxLfdzd{_d}dd~dBddddddVVddddddd ddQdddd sddd QddOddddddddddddddd%mdddddddddv3ddd ddddddd W dZJdWd Wdddddd3Q%dddddldddvddCOddddddddddd% |d%%dd# !ddddQdddOdOdOddO"OOdOddOdOO"ddd%dBddddBvBdd{BBd$dddddddddew(elheiOefeeeeXee9ee#e ee ee e e ee% %e%ee%%ee%e%%ee%e%%:eeQee ee%e!e" }me$e1e%e(e&e'%e)e0e*e-e+e,$e.e/W e2e6e3e4ve5e7e8Qe:eFe;e@e<e>e=e?eAeCeBeDeE_eGeOeHeLeIeJeK%eMeNePeUeQeTeReS &eVeWQeYeeZewe[eke\ebe]eae^e_e`ww{{ecefedvwbee4fegejeheiaO Rx2eleqemeneoepOCereuesetvev exeeyeeze{3e|e}e~%eeeevOeeee$eeOeeeeeee%%ee%e%e%%ee%% eeeeeeeeeeeeeeeeee meeeeeeee$ seeeeeeeebeeeeeee v eeeeehhefPef eeeeeeeeeee  eee'eeeeQeeQeeeeeemQeeeeeeweeeveeOeeeeeeeQeeeeee2% ee%mefefOfO|ff%f3vff ff%f f %f f1ff ffffffO|%f fffvffffvf }Bffmf!f)f"f'f#f&f$f%'f(f*f.f+f-f,O3%f/f0Qf2fAf3f:f4f6f5vf7f9f8  f;f>f<f=Of?f@2%fBfJfCfFfDfE%fGfH%fIfKfMfL#AfNfO }y$fQffRfpfSfbfTfZfUfWfVfXfYf[f_f\f]vf^,f`fafcfjfdfgfeffQ2fhfi }fkfm%fl%fnfomfqffrfxfsfuftfvfwQ%fyf|fzf{f}f~ }fffffffff%;ffff }ffffffffffBff%vffff%ffQffffffOff sffff2ffvffffffff }ffOffff sQfff% }%QffffffQ %yffvff%fff _fgZfgffffffffffff4ff }ffff _ffffffffff%%vfffffffgffffffr$%ff%fff %fffmgg ="~ggm%gg ggg% !g g g g ::ggggggmmKgQgg=gg.gg"gggg3gggOOg g!%g#g'g$g% oQg&_g(g+g)g*xg,g-g/g6g0g3g1g2g4g5g7g:g8g9 g;g<yg>gLg?gFg@gCgAgBOgDgEgGgJgHgIOgKgMgSgNgQgOgPgRgTgWgUgV sgXgYmHg[hPg\gg]gg^g}g_gng`gggagdgbgc%gegfvghgkgigjvvglgmvgogvgpgsgqgr%Qgtgu%Qgwgzgxgy } g{g|Og~ggggggg%%gggggm%ggO }ggggggOggggggvYgg% gggggggggg ]%gggvgggz%vgggggg%gg%ggggO3ggQ }gggggggggg ggggO _gggggg%%zggggggOzggO|ghgggggggggg }gg|Qgggg%~m%gg }ggggggmgg }ggggvgg3%Oghghgggg%ggQ:hhmhh%vhh hh hh h h hhhh%%hh%Ohh1hh$hhhhhh%Q }%hOhh!hh Q h"h#mh%h*h&h(h'h)h+h.h,h-#A#h/h0BQh2hAh3h:h4h7h5h6%mh8h9%vh;h>h<h=h?h@m%hBhIhChFhDhE }% hGhH shJhMhKhL%hNhOm%%hQhhRhhShrhThchUh\hVhYhWhXOhZh[ }Oh]h`h^h_% Ohahb hdhkhehhhfhg2 hihj %hlhohmhn hphqu  !hshhth{huhxhvhwhhyhz __h|hh}h~wOhh#Ahhhhhhhhhhhdhh }hhhhhhhhhhQ%vhhQ }hhhh s%hhv#A#Ahhhhhh% qhh}bv3hhhh%hhhhhhhhhvhhOhhhhhhhhhhhh hhhhhhhhmhh#Phhhhm%hh !vhihhhhhhhhhhhh hhhhhhhhhh }vhhhhhhOhh%hihhhhhh%hh%hiii|%iiz }ii ii ii Oi i iiviiVmii1ii"iiiiii%iviiii }i i!i#i*i$i'i%i&m1i(i) s%"oi+i.i,i-mvi/i0Oi2iAi3i:i4i7i5i6% _i8i9v &i;i>i<i=OOi?i@Q%iBiIiCiFiDiE%OiGiH%iJiMiKiLiNOiPjiQiiRiiSisiTidiUiYiViWiXiZi\i[i]i^i_ibi`iasicieilifiiigih3ijikimipinio%%iqiritiiuiivi{iwizixiyx2i|ii}ii~ivݗii! !QiiiiiiiiO3iiiiiifdOiis aiiiiiii  %iiiiiiiiiii3i iii !iiiiiivQiiiiii |iiiiiiii %iiiOiiCiiiiiiii%2 iiviiiiiiim* }iiiiiiiiiii _iii$iiiiiiiiwTiiiv  iiiiijCijijiiiiiiiijjj %jj%jj jj jj j j jjjjj }vjj"jjjjjjjQjjjjj j!j#j9j$j4j%j&j'j(j)j*j+j.j,j-j/j0j1j2j3 j5j6j7j8 lj:j>j;j<j=j?jBj@jAjDjqjEj`jFjYjGjTjHjSjIjJjKjLjMjNjOjPjQjRjUjV jWjXvjZj]j[j\OQj^j_jajgjbjejcjd3jfOjhjnjijj%jk%jljm%jojpjrjjsjjtjvju%jwjjxjyjzjj{j|j}j~jjjjjjjjjjjjjjQvjOjjjj%jj%jjjjjj%j jjjkAjjjjjjjjjjjjQ%%jjjj%jvvjjvjvjvjvjvvjjv>vjjjj%%jjj2j % jjjjjj3 jjjjj% sjjjOjjjjjjjjjjjjj%jj _jjjjjjjj } }jj }jjjjjjvjjjkjkjjjjjj%jj%jkjj%kkkOkk%%Qkkkk k k #%k k kkkkk NkkkOvkkk%Qkk*kk%kkk _ _k k!vk"k#k$Ok&k(k'%k)k+k7k,k1k-k0k. _k/k2k3k4k5k6Ik8k>k9k=k:k;k<wIk?k@kBkkCkkDkmkEk^kFkNkGkKkHkJkI kL }kMOvkOkQkPkRk\vkSkTkUkVkWkXkYkZk[k]%k_kek`kckakbkd%kfkikgkhOvkjklkk%knkkokxkpkukqkrkskt$kvkwkykkzk{k|%k} k~  kk  kk  kk  kkkBkkkkkkk% }kkvkkkkk }kkk%kkkkkkkkkkkk s%kkkkqkk%Okkkkkkk|mkkkfQkkkkkk%k% Nkkkkkkkk }Okk } }kkkkk9 s%kkPkkkkkk }kkOmk }kkkkk kl$kkkkkkkkk{5mkkk %kkkk%O#Ak%kkkkkmkkkkkkk'>2kl klklll%ll%lll lQl l l %%lllllllll }llllllll!llQl %ml"l#l%lFl&l4l'l-l(l+l)l*%!$ }l, l.l1l/l0l2l3l5l?l6l:l7l8%l9v>l;l<l=l>{ ol@lDlAlBOvlClElGlXlHlPlIlLlJlKlMlNlOl!vlQlUlRlSOlTm  lVlWlYl`lZl]l[l\ml^l_laldlblclelglf%Oliqljo lkn_llmblmllnllollpllqlxlrlulslt sQlvlw% }lyl|lzl{Ol}l~ %llllll s%% sll s llllllv%llllllllll %lllO !l%%llllll% llCllll }%llllllllllll%ll% mllll%ll _vllllll }Qv%llOllll2llllllllll_ }:ll#AOQllll%llllllll#Alllllllllm&lm lllllllv#Allllll#Allmlmlmll mm#Ammmm%m%mm mm mm mm m% mm mmmm }mmOvQ RmmmmmmvOm m#m!m"m$m%Q%m'mEm(m6m)m/m*m,%m+m-m.m0m3m1m2 }%|m4m5Om7m>m8m;m9m:WO m<m=%OOm?mBm@mA }mCmD QOmFmUmGmOmHmKmImJOOvmLmNmMWmPmRmQWmSmTOmVm\mWmYmXmZm[%m]m_m^m`ma#mcmmdmmemmfmumgmnmhmkmimjQ }vmlmm#AmomrmpmqmsmtIOmvm}mwmzmxmyOm{m|m~mmmO%mmvmmmmmmmm#A !Omm _mmmmmv%mmO }mmmmmmmm%vmmmmOmmmmmmmmmmmmmmmmm s }mmOmmmmmm%mmvmmmm }mm%mmmmmmmm vmmOmmmmmmmmm  sOmmvmmmmmm }mmOmm%mmmmn"mnmmmmmmm mm mmm#AmmmmmmmmmmmnmOnnmv%nnnn nn nn%  d{ n n m#An nnnvvnn|Onnnnnn nn nnnn % n n!mOn#nAn$n2n%n,n&n)n'n(n*n+n-n/n.n0n1v !n3n:n4n7n5n6 !%n8n9 !n;n>n<n=#A }n?n@nBnPnCnInDnGnEnF !$OnH{  QOnJnMnKnLQnNnO nQnXnRnUnSnTQ nVnWO !nYn\nZn[U%n]n^%n`nnannbnyncnindnfnengnhnjnlnk _nmnnnoQmnpmnqnrmnsmmntmnumnvnwmnxmmnznn{nn|nn}n~n4v%nnnnnnnn nnnQnnnnnnnn }nnnnnnn%nnnnnfnf nn !nnnnn }nnnn% snnnnnnnnnnnnnnv%nnnnnnnnnnnnnnnnn }%nnnnnnnOnnnnn nnsnnnnnqnnqnqnqqnnqr qnnnnnCnnnnnnnnnnnnnOQnnnononn }o]ooooooo o  }o qo pooooLoo/oo ooooooU_%oo#%ooooQOooO2o!o(o"o%o#o$ Oo&o'Oo)o,o*o+Oo-o.mv#Ao0o>o1o8o2o5o3o4!Oo6o7mIo9o;%o:vo<o=#A }o?oEo@oCoAoBmoD%oFoIoGoHOoJoKݗ3oMokoNo\oOoVoPoSoQoRoToU2 _oWoYoXvoZo[vOo]odo^oao_o`|L%oboc%%oeohofogvvoioj%olozomotonoqooopO#Aoros!Souoxovow% oyvo{oo|oo}o~ !%ooOvOoooo%(!oovooooooooooooOm%oo oooo }oo%oooooo%Ooooooo"%oo%O%ooooooo%ooooooroo }oooooooov%oooo % }oQoooooooooo%oovoooovOooO%QooooooQOoo ooooUoo%opoooooom ooQoooooooo*oooo*opoovppOOpp pppp%p p %#Ap pp pp ppppXpp2pp$ppppppQvppv }pp!pp p"p#Op%p+p&p)p'p(%v%p*%p,p/p-p.vOO%p0p1%vp3pBp4p;p5p8p6p7vBp9p:%xp<p?p=p>Op@pApCpRpDpOpEpF%vpGpHpIpJpKpLpMpNBpPpQ }pSpVpTpU%%pWpYpvpZphp[pbp\p_p]p^p`pa%mpcpepdpfpg }OpipppjpmpkplO pnpo#AwE pqptprpsO%pupwppxppyp|pzp{%{p}p~vO%pppp33pppppppppp%4pppppppppppppppppvpp }vpppvppppppppOOppO pppppp vpppppppppp pppvpp pppppp%QppOppppOppppppppppppvpp%ppppvpp }%pppppppppppppppp84pppp% }OpqpqppppvpqOqqqq%% }%qOqqq q q q Oq qQ qqqqQ3qq%qqqqUqq2qq+qqqq%qq*q q!mq"mmq#q$mq%mq&mq'mmq(mq)mq,q/q-q. q0q1q3qGq4q9q5q8q6%q7 N$q:qFq;q<q=q>q?q@qAqBqCqDqEQ%qHqKqIqJ#AqLqQqMqOqNOOqPqRqSqTB %qVqrqWqhqXqeqYqdqZq[q\q]q^q_q`qaqbqcqfqg|qiqoqjqkvqlqmqn s qpqqsqsqzqtqwquqvqxqyq{q~q|q}qq%qqqqqqqqqqqqqqqqqqqqqqq%qqqQqqqq %qq%qqqqqqqqq qq q q q  qq q q } qqqqqmqqrqqqqqqqq!!qq!!q!qq!q!!qq!!qqqqqqq }qt[qsqrqrPqrqqqqqqqqqqQ33qq  sQqqqq } Oqq%mOqqqqqqOqq %qqqqQOqqOqrqrqqqqQ%%qqvvOrrrrv O%rrr rr r r r rrrr sOBrrQrr1rr$rrrrrrQOrrr!rr r"r#r%r+r&r)r'r(vvr*r,r.r-%r/r0 }r2rAr3r:r4r7r5r6r8r9m mr;r>r<r=yOr?r@%OQrBrIrCrFrDrErGrHmrJrMrKrLOrNrOrQrrRrprSrbrTr[rUrXrVrW%rYrZ$r\r_r]r^z r`raOrcrjrdrgrerf  !rhrirkrnrlrmddro%rqrrrryrsrvrtrurwrxrzr}r{r| r~rrrrrrr rrmrrrrhrr| rrrrrrrrrrOrr%rrrrOrrbrrrrrrOrr1rrr%rrOrrrrrrrrmrrOv }rrrrO%rr s rrrrrr sv~%rr% }rrrr% }rrrrw rr rs&rrrrrrrrrrrrr2r2r2r2r22r2rr22Qrrrrr%rr%rrrrrr !% }rrOrrrrr }rrrsrsrsss ss`swxsssss xs s s s ssssx%ss sOsssssssss"ss Os!Os#s$ Qs%ns'sls(sFs)s7s*s1s+s.s,s-v%s/s0m%s2s4s3ys5s6O%s8s?s9s<s:s;M ?s=s>vs@sCsAsB3OsDsE _sGsUsHsOsIsLsJsKsMsNO%sPsSsQsROvsT%O }sVsesWsbsXsa%sYsZ s[ s\  s] s^ s_ s` }scsdQssfsisgshQsjsk%Qsmssns}sosvspsssqsr%stsu%swszsxsyms{s|%!$s~sssssQssO%ssssOsssssssss }ss }%ssss%Oss(ssssssssvssssW%ssstssssssssss _sssss$%ssssssssvssvvsvsvssvvsUvss 3sss$ssssss%ssWssssssss ssssssssssssSKssssaas2s2vsssss _sQssssssQsssttt Qtttt*ttttt t t t %t ttttttt!rtttttt!tt$tt!tt  }t"t#t%t't&t(t)t+tCt,t3t-t0t.t/ !t1t2mt4t6t5t7tBt8t9t:t;t<t=t>t?t@tALtDtUtEtGtFtHtTtItJtK o a otLtM{tN{{tO{tPtQ{{tR{tS{QtVtYtWtX}tZt\ut]uVt^tt_tt`t~tatptbtitctftdte }tgthmtjtmtktl%tntotqtxtrtutsttQtvtwvtyt{tzOt|t}tttttttt%tt%ttttv3tt sQtttttt%Otttttt%Qtvttttttttttv%tt tttt%ttv ttttttBttjOtttt }۟t &tttttttt%Qvttv tttttt  tttttt ttOQtttttt%ۮtuttttttttttv%tt%tttt  dtttttttttt%Qtttt ttB%tu tututuvuuuuuuu u u uu uuu }uuuuuu%yuu uu8uu*uu$uu!uu Q sUu"u#Ou%u'u& QOu(u)Bu+u2u,u/u-u. }u0u1u3u5u4$u6u7%u9uHu:uAu;u>u<u= sQu?u@%BuBuEuCuDuFuG ! }uIuPuJuMuKuL uNuO%OOuQuTuRuSOruUQuWuuXuuYufuZuau[u^u\u] !u_u`%d%ubuduc3ueuguxuhuluiujukBumuwunvuovupvuqvurvusutvuuvvuv>vuyu|uzu{mu}u~% _3uuuuuuuuuuuuuuuuuuuuuuuu(vuu|uuuuuuu }uu%| !uuuu !uv&uu%uuuuuuuuuu|2uu }muuuuOuuuuuuuuuuuuuu%uum uuuuuuuuvmuu%muuuuuu2|uRuuuuuuO% _uuu&uuuu Ouu%Ouv,uv uuuuuuuu2:uuuuuu%wuOuuuvvvvvvvv  }vv vv % !v v vvvvvvvvvv'0'0vvvvv vv%vv&v v#v!v"  v$v% v'v*v(v)%v+v-vv.vmv/vNv0v?v1v8v2v5v3v4%v6v7Ov9v<v:v; sv=v>v@vGvAvDvBvC:vwTvEvF% OvHvKvIvJ#AvLvM#AvOv^vPvWvQvTvRvSOvUvV }vXv[vYvZO%v\v]Qv_vfv`vcvavbQvdve vgvjvhvivkvlOvnvvov~vpvwvqvtvrvs#Avuvv !Ovxv{vyvzOv|v}OvvvvvvvvvOm svvvv }vvQvvvvvvvv%%vv }%yvvvvvvvvvvv%vv vvvvvvvO%vvvvvvvvvvvv%OvvvvvvOvv%vvvvvv% }vvO%vvvvvvvOvvvvvvvvq2vv3vvvvvv !vvvvvvvvvvvvvvvvvw vvvvvvvv vv%vvvv }Uvv%Ovwvwvv !%ww_wwwwQww w ww ww www%wQwwwwQmww ww!wwwwOww  %w"w%w#w$ }#Aw&w'Ow)w*{iw+y w,ww-ww.wiw/wNw0w?w1w7w2w5w3w42Ow63w8w;w9w: %w<w=wTw>w@wGwAwCwBQwDwFwE !x2wHwKwIwJwLwMwOw\wPwWwQwTwRwS } }wUwVwXwYwZw[vw]wdw^waw_w`wbwc wewgwf swhwjwwkwywlwswmwpwnwowqwrbwtwvwuOwwwx%wzww{ww|w}Ow~ }%wwwmwwww wwwwwwwwwwwwwwwwwwwwwwmwwwwwwwww%OwwwwQww2wwwwwwwwwwwww }O|%wwww wwwwwww wwwwwwwwwwwwwwwwwwwwwwww ww w w w  ww w  w wwwwwwwwwwww6Xwwwww wwwxwx@wx&wxxxxxxxxxx#A _x x x x O &x xOxxxxxxQxxQ%xxxxxxxxyyx yx!x"yx#yyx$x%yvQyx'x3x(x0x)x*x+x-x,x.x/x1x2%x4x;x5x9x6x7x8Ox:x<x? !x=x>QxAx^xBxKxCxFxDxExGxJxHmxI }xLxSxMxPxNxO%xQxR#AxTxYxUxWxV xXQxZx]x[x\x_xox`xixaxdxbxcOxexgxfvxhxjxlxkOxmxnxpxwxqxtxr xs%xuxv _xxx|2xyxzx{#AHx}%x~xxxxxxxxxxxxxvxxxxx%xx xxxxxOxxyxxxxxxvQx }xxxxxxxxxxxxx%xxJ xx xxxxxxxx%x3xxxxxxxxxxxxxxxxxx }x }mxxxx xxxxxxxxxmx'x'x'x'x'xx''x'zxxxxxmxxx |%xxxxxxxxxx%Oxx }xxxxQ xyxy !xx } }yyyy }y yyy v| y z#y yy yGyy+yyyyyyyy yuyy2y2 yy syyy$yy"y y! y#y%y'y&%y(y*y)vy,y7y-y1y.y/xy0y2y3y4y5y6Qy8y=y9y<y:y;%%y>yCy?yAy@myByDyEyFyHyiyIyWyJyOyKyNyL yM%yPyVyQySyR%yTyUvyXy_yYy\yZ !y[y]%y^%%y`ycyaybyydygyeyfyyh%O yjy|ykyuylyoymynQ Qypyryq&hysytyvyyywyxyzy{yy}yy~yyyyOyy yyy%yyyyyy% !yyyy 2y2yyyyyyyyyyyyy%yyy RyyyOyyy !  !yyyyy !y yyyyyyyyy }yyyyyyyyy%yyvyyByy Oyyyyyyvy4yyyyy ByyyyyyyyyyO/ yyyOyvQyyy yyyyyyyvyvy%yyOyyyy%yyyyyyyyz yzyzyz% szzzz zzzz  |%z z zzzzzzzz% !OzO%zzzzzm`zz zzz%%Sz!z"%z$zz%zz&zSz'z8z(z.z)z,z*z+O }z-z/z4z0z2z1z3%z5 z6z7%z9zJz:z>z;z=z< Bz?zAz@ / !zBzCzD%zE%zF%%zGzH%%zI%xzKzQzLzOzMzNzPzRzTzizUz^zVzYzWmzXO zZz\z[ Qz]Qz_zez`zczazb] }%zdzfzhzgzjzzkzozlznzmzpzrzq3Qzszt%zuIzvz|zwIzxIIzyzzIz{IIx =z}z~ = =zz = =z =%zzzzzQzzzzzzzzQzzzQ }zv }zzzzzz }zzzzzzzz%z%O zzzz z zzzzOzzzzzzzzzzzzz|zzzz &zzzzzzzzWzzzzOzzmzzzzz }z#P&zzzzvz{zzzzzzzzzzzz zzzzdzzzzzzzzzzzzOzzzvzzQz{z{zzzz z3{{{{{2O{{ {{ { { %{  {{{{O{{I{{${{{{{{O{{{{{m{ {"{! sQ{#2O{%{-{&{){'{({*{,{+O{.{4{/{1{0{2{3Cb{5{8{6{7 Lv{9{:&&K{;{<{={C{>{?{@{A{B&{D{E{F{G{H&{J{Z{K{Q{L{M _{N{O{Pv{R{U{S{T{V{W{X{Y%{[{c{\{`{]{^{_O{a{bv{d{h{e{f{ga{j}{k|{{l{{m{{n{{o{|{p{s{q{r{t{y{u{w{v{x%{z{{ {}{{~{{{{{{vO{{{{%{{/{QQ{{{{{{ { { {{{{{{|{{{{{{%{O_{|{{2{{{{{{{{{{{{{{{{{ {{{{{{{{{{{{ }{{{{{{{{{{{{O{{{{{{{{ {2{{{{ { ! !{{{{{{{O{!${{ }{ 2{{{{{{O{{{{{{m{m{mm{{mm{{m!m{ {|E{|#{||| |||| o|| }%| }|? | || | | | [||%2|||||||%#A%|||||QO| | |!|"$|$|4|%|,|&|'|*|(|)mO|+O|-|1|.%|/|0|2|3|5|:|6|7|8|9|;|>|<|= O|?|B|@|AO|C|Dv|F|b|G|S|H|N|I|K|J|L|Mm|O|R|P|Ql|T|[|U|X|V|W|Y|Z|\|_|]|^v|`|a }|c|o|d|l|e|h|f|g|i|k|j |m|n3|p|w|q|u|r|t|s }|v|x|y|z !;||||}||~|||||||||O||||||wb||||%||||||%||#A%||||||| %||||||||||||||O|||||||||||2||||||| |m o||||||v||%||||| }|||2v|||||||||O&|||| ||||| ||%||v%|||||||   }||||$||OO%|||||Q|%|| FB|}L}}}} }} }}}}}} %} } } }}}}a}}}}}%%}} !}}8}}4}} }}}}!}"O s}#}$ s}% s}& s}'}0}(}-})}+ s}* s s}, s}. s}/ s s s}1}2 s}3 s s}5}6}7}9}A}:}> s};}<}=m}?}@}B}H}C}E}D%}F}G s}I}J}K}M}}}N}n}O}g}P}b}Q}R}S}T}[!}U}V!!}W}X!!}Y!}Z!!}\}]!!}^}_!}`!}a!!}c}eC}dOm}fO}h}k}i}j}l}m}o}y}p}s}q}r}t}w}u}v%}x}z }{}|}~}}}}}}}}}}%%}}%}}}v}}}}}}}}}mB}%}}}}}% }~}~1}}}}}}}}}}}}}}}}}}}}}m}}}O}m}}}}}}#A}}v}}}}}}}}}}} !}}}/}v}}}} !} o}}}}}}%}}}}}} }}}%m}}~}}}}}}}}}}}}}O}}}}}}} }O} }}}}}~~~m~3~~~~~~ ~~ y~ ~ ~ ~Q~~~~Qm~Q ~~~v~~#~~~~~ Q~~ ~!~"_O~$~&%~% ~'~(O~)O~*~+O~,O~-O~.OO~/O~0"O~2~w~3~N~4~=~5~7~6~8~<~9~:~;~>~G~?~D~@~B~A~CO~E o~F3O~H~M~I~K~JS~L~O~d~P~Y~Q~T~R~SQ }~U~V~W~X~Z~^~[~\~]~_~a%~`Q~b~cQ~e~n~f~j~g~i~h3 }%~k~l~m[Q~o~t~p~q~r~s%~u~v~x~~y~~z~~{~~~|~}~~~~~~~ _~~~~~~~~ ~~ !~ !~~~~~~~~O~Q~~~~~~~~~ o~~~~~~~O~~O%O~~|~~~~~~~~~~~ ~U~~~~~~~~~~~~ O~2%~~~~~~~O }C~~ ~~~~~~~ ~~~w~~~~Q~~~2O~~~~~~~~~~O~~~~~~#P~~%~~~~~~~~~y%     OvO# !"% N$&;'0(+)*,.-/m15234m6978 } :O<M=I>?@ }ABvCvDvEvFvGvHvvJKL%qNPOQSRTVWXhY`Z\ o[O]^_  }aebcd% _Cfgpisjnkl%mm }oqprtxuvwv!Oy|z{O jy}~|v%%%m   }#Am#P s z2#P%$   N %ٻ, Ї /B }%rQz82 vv$    OB% 2 +#QeA_! O"O%$%_&('m)*%,3-/.012O4567  }9_:I;@<?=>v%AFBDCESG oHJTKPLN%M%O%QRSѳUYV WXZ\[mm]^m`raibfcdeQgh:jlkmon%pqs}tyuwvx z|{~O3%Q   O%#AJOP3%  %yyyB$ yyyyyyyy GGGGGGGG G  GG O !%#%w! :~"$3%,&)'(OkC*+ QX-0./I12 QYm4;5867$9:Zb }<?=>$:@AICnDOEFLGH}IrJKMNr~PbQ[RWSTUV%XZY$O }\]_^`a|Zcdjegf hiO&kml !2 oyp qrust vwxk{|}~  %%wbg OOwv ow 32%%v  dB |* |*U s_ o{ a;($| I'lI Q     x    % *JlQ! I Q"#I%& ' ).*+-, o/0612345x2%789:<Q=E>?C@{~ABD%FGHJI  KNLM3OOPRvSWTUV%XgY`Z][\%l^_ladbc efI  hoiljkvmnlpsqrb%tuIw|xyz{ Q}~v%%%%%%%%%%%%%%%%% % N N% N% N%Q w%%%%%%%;%%%%; !!OZjsQQQQQQQQQQ#!&K&K&K&&K&K$&K&K&;&;&K&K&K&K1&K }p|||  }5||     |    }|  B }p  C"2#'$%Q%Q&kL()$*+0,-%./%%~1%~%3B456 s }7 }89 } }: }; }< }= }> }?@ } }A }v~CDqEFmGOOH"IJOKOLOMONO"OPOQUOROSOTOOVWcXOY\OZ["~O"~]`^O"~_"OaOOb#OdOeiOfg"h"O"jOkOlO"OnOOoOpOqrOOtuvwxyz{|}~%O }x% Q N } }v~ } } } } }Q|v%O%v2:Q%mm  }%%%%%%yQ%mO _ m ,vmO  3st st t s %IIIpC$  J s N N%% N% ! &     ܀! Q  & o1*' ! }" !#$%%$&$ ():+.,-m/0 s%22K3645 }7=89O:;!/<!>L>?D@BAҫ!MҫCEHFG!\!M!MIJ!\!kLOMNOQO P] sQR }S }T } }UV }W }X }Y }Z } }[ }\ }^k_`abcdefgih Lj Llmn pq~rust }vw%xyz%{|}!z!_vm!3 }B%!BBB }!v+%    uuu          Pu|*Ku|   7OOOOO O!O"O#OO$O%&OO'O(O)*OO",0-/.Ov1n2d3456N7?8 9:<;=>2Q @HAGBECDqFSIM JKL 7COY PQVRUSTWXbZ[^\]_a` bc%efghisjokl m n %prq_ Qtu svwx oyz o{ o| o o} o~ o o o o{ o$:!!!!4O"y!%%"4f|L4 d 7C%.t9N;4Dr;^|-%   Nu  }""""""""""""!""!vO"%%  Q q 7Ivv s   u   O%  k % }||% !V#X$8%*&)'(B"0.+,-./ 01 2  3 4 5 67  |9@:>;%<=C? QAGBECD o RF uHIJ|K|LR|M|NO|P|Q||S||TU||V|W|YdZa[_\^]pwbf`vO4bc%ekfjghiB4B%Olmvopqrstuvwxy}z{|~XI'ttI5 z WWWWWWWWWWWWWWWWWWWZZZZZZZ ZZZZ    ZZZW:5@@~W5! "#W$%&5()r*+,5W-q.`/0U1@293645WW78WW:=;<WW>?WWAJBECDWWFGWHWIWKPLMWNWOWQRWSTWWVWX[YZWW\]^_WWWabcdjegfWhiWWknlmWWopW~ sxtuvw  yz|{"@]}~        :::::::WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW W     5  55(WW) #!"5$'%Z&Z5)*+m,j-./]0E1:273645WWW89WW;@<=W>?WWADBCWWWFPGMHIWJKLWWNOWWQVRSWTUWWWZXYWW[W\W^_f`cabWWdeWWghiWWkl npoqrstu|vywxWWz{WW}~WWWWWWWWWWWf5                          55WW W:WWWt::::::: :    ::::5W(!;"%#$WI:&'5@()*+,-4.1/02358679:<=>?@AHBCDEFGIjJSKOLMNPQRT_UZVXWY[]\^`eacbdfhgiklwmrnpoqsutvx}y{z|~ WWWWWWWWW1OOOOOOOOOOOOOOOOOOOOO|OO M M M M M MO"P"P"PO"P"P"PO"P"P"P"P"POO"P"P"P"PO"POOOO l l l lO l l l l l l lO l l l l l lO!OOOOOOOOOOOOOOO O  O|O OO O"OOOOOOOOOOOOOOOOO "O",#%"$"O&O')4(OO"`*+O"`O-/."O"0"O"23s%456%7r8T9H:>;< N:= N% N?B@A N% N%CD%E%F%G%%IQJLK%M NN NO NP N% NR NS N$%U]VZ NWX N$Y N%[ N N\% N^o_m`la Nb Nc N Nde N Nf Ng Nhi N Nj Nk N"o N%n N N%p%%q N%%tu%%vw%%xy%%z%{|%%}%~%%%%%"% OOOOOOOOOOO#OOOOOOOO#O"OOOOOOOOOOOO"OOOOOOO"OOOOOOOO"OOOOOOO""~OOOOO"~OOOOOOOOw!OOOOOOOO"OOOOO"OOOO"OOOOOO"OOOOOOOOOO"O OOOOO"OOw!OO"~OO O  O"~ORD#OOOOOOO"OOO"OOO O!O"O"O$1%,&O'O(OO)O*O+O4O-.O/OO0"OO2O34<O5O67OO8O9O:;OO=O>OO?@OOABOOC"OEIFOOGHOO"JOKMLO"~OONOOPOQOO"STuUnVcWOOXOYOZO[\O]`O^O_"OOabO"OdjeOfOOgOhOiO"~OkOlmOO"oOOpqOOrOsOtO"vOwx{OyOzO"O|}O~OOOOOO"OOOO"OOOOOOOOOOO"~OOOO"O"OOOOOOOOOOO"OOOO"O||P|}5}5 |||| r  |r B"||}b||} %SB  "}b|}} }5||}b}}  ||}|  | |  }bP     1+%%%%%%%% %!%"#%%$%%&%%'%()%*%%,-./0r234Z5Q6978#3v:A;<=>?@((B !CJDEGF!&>HI=&>"pKNLM&>$OP&>RUSTU VW#XmYQm[\]f^_c`abdeghsijklmnopqrtuvwxyz{|}~_ F44" #AO }7" }"  }% } }PmQ2Q !%O !m{%%%%%%%%%%$% _ _   ,  } B FBz }"H1O 2ff ^ +  |||||}|||||}|||||P|| |!"|#|$|%|&|'|(|)|*|%|d s-D./%U012&K3>4:56978&K&K&K;<&=&K?&K,@ABC&K&KEFQGHWINJKLM OPQTRS UVXaY]Z[\ ^ _`bcdefghiklmOn7opqr|stuvwxyz{}~wTwT }r22222222222222222"/%$  v%v% L Lh Lѳ LѳѤѳѤѤh smv 7m%Q%#P     #P#P('%%%% %!%"%#%$%%%%&%),*+-.01b2S3J4G56Q s7<8:9 ; i =>?@ABCDEFZHI%KMLNOOPQ%R.BT]UZVW%X NY% N[\ }^`_a2cdmejfi sghklO|nopqrstuvwxy|z{#n}~#n}}#$#2#@#@ UOO2 %t 0B%1%vvvvvvvvvvv%  s%OQQ _v   }yO O &  sJI#L %   U %6O &           ! "  # $%   ' (/)  * +,  - .  0  12 3  45    8[9T:Q;<=>?D@ABC&YEFGHIJKLMNOP6RSUXVW% sYZ  }\ ]^_`avbhcdefgirjnklm  wopq#[sutw}xyz{|~>% _#jw* F{{ o/#y#y#y#y###y##y#y##yO%% 2O> U`cccc Q Q R#P   R)     n$     RO(' !"#$%&c o*1+0,-./*25346:789{ ;<=?@bASBMCHDFEyG2ILJKNOQ nP ny nR nhT\UVYWX%Z[S]^_a`c{dfeglhji#c#kc#Pmnopqrswtuvcxyzc|}~O2O  Q   v |  ov    %*O$       s  ױ o %  0 / + o{  o ow o& !"#$%)')(x2*, o- o.{ o}12%34Q5L6D78:9%;v<=>?@ABCEHFGIKJ MNOP#R\SXTUVW6YZ[v]{^a_`%bxcdefgohiljkmnptqrsuvwyz |}~r_ %%%%%r:%%%5#%#Awb#ڬwb#ڬ#ffwbڬ##wb##wbGڬ v%vRlBll  }#%%%OOOOO"~OQQQQQQA# #A%    !!>%BmZ8/*$ !&K"#&K&K%'&&&K()&K&K+,;-.&K0412&&K3;5&K67&K9C:?;<=&&K>&K@BA&K&KDUE&KFG#&KHI&KJ&K&L&MQ&NO&P&&&KR&&ST&$&VXW&KY&K&K[{\n]^a_`bc&Kdme&K&Kfg&Kh&Ki&K&Kjk&K&Kl&K;otpqr&Ks&Kuwv&K&K&xy;z&K&|&K}~&&K&K;&K&w$&K;&K&K;&K&K&K&&K&K&K&K&&K&;&K&K&K&&K&K&K&K&K&K&K&K&K&K&K&&&K&K;&K&K#;&K&K&K&K&K&KS&K&K#&K&K&#&K&K &K&K&K&K &K   &K6"vO|] !#*$'%&O() s !v+-,./01423 Q'\5 Q'\798:=;<>?@AmCDEmFNGMHmIJst KLtst tOlPQ^RXST%OUVW oY\ZO[QO]1_e`aTbcd}TC!pfhgijkr 3nqopmrstQu{vyw$$x$$z $|}{C{C~${#%mv#%%% N%%%uuuuQOYg#gg[C\SvO%2 ! ! ! ! ! ! ! ! ! ! ! !%%m     $ _ _ }4&>ZCz_+%   22  2$ 2$# !"%%*& '%(%%)~%,I-?.</0,123 456789:; =>O%@CABDHEFGv%JTKOLNMCP _QRSUYVWvvXZ[ N2%]^_n`gadbcQ %efwT%hkijvvlm%op|qxrsutvwuK Oyz{}~O!666% }|z|z|vx2%,%rvQ O%v%4VRBvmm2QO%% !O%|Ovr    sm % WUO" $$%O QvE%2% %!%"#%$%%%%&'%(%%)*%%+,%%-%.%/%01%%3%4%%5%6%78%%9%:%;<%=%%>?%@%%A%B%C%D%%FG%H%%IJ%K%%LM%N%O%%PQ%R%S%%TU%V%%WX%%Y%$[\]S^_`Nabcddve~f }gshl }ijkv~ }mpnot } }v~qrev~ }tzuwv } }v~xy }# }{ }|} } }% }v~$* } } } } } } } } } }v~ } } } } } } } } }v~ } } } } } } } }  } } } } } } } } } } } }  } } } } } } }  } } } } }v~ } } } } } }  } } } } } } } } } }v~ } }m$OOOOOOOOOOOOOOKJOOOOOOOOO"OOOOOOOO"OOOO"OO O O OO  OOOO"OOOOOOOOO"@#+$## ##!#"###"%#&#'#(#)##*#",3-##./#0##12#"##4#56<7#8:#9"#;##"#=>#?#"#A#B##C#DE##FG##HI#O#""LMtNYOOPOOQROSTOw!OUVOWOXOO"Za[OO\O]O^_O`w!"ObhOcOdeOfOgO"OimOjkOlOO"nqOoOp"#rOsOw!"uvw}xOyOzOO{O|O#~OOOOOO"O"OOOOOO"OOOOOOO"OOOOOO##OO"OOOOOOO"~OOO"OOOOOOOOOO"~OOOOOOO"~OOOOOO"~OOOOOOO"~OOOO"~@O""~"OOOOOOO"OOOOOOO"OO""OOOOOOOOOOO"OOOOOO"OOOOOOO"OOO O O OO O OO"OOOO"~OOOOO"OO"'OOO !OO"O#O$O%&OO"O()O*/+OO,O-.O$80;16243O$GOO5$V$e798O,OO:O$t<?=OO>@m"OAOBOCOODEOFOGOOHOIJOOKOLMO"~OOPiQRS_TY U VOWXOZ^[\]$$ }`ea bcdf ghjklymtnoprqsuvwxz{|} ~#wbSrt|3%Vyy#PNM $   " " """""""%*(" Q,!QQ%#$Q%&' Q)?*<+0,Q-./QQ182534 Ku67  9 :;u  => v@HAFBC DvEy G IJKQ LQQMQORPQTUViWXYZ[\]^_`abcdefghjklmnopxqu%rstvw#yz%{%|}~u  S=   & & vuuuuuuu%$$x =3     222Q22 2 22 2  22222"% & %vO %6 %!"#0$)%'&(O*-+,./15234%yQyB%7:89  ;<m3 >`?U@OABCDEFGHIJKLMNPTQ*RS* }V]WX YZ[\^_ s%yablckdef{gjhi Q]$]3mtnorp Fq Fs FvuvwOxyfzf{|}~EO%y xB!'`]Q|( (%%%% x:~$x%%y7wE4V*O%$ }%%O !s st t  s%t O# %   q qq$$$q$qq$qq$$q%" O! $0%,&+'(*)%O-./1423|%56y8d9P:E;><=mv?D@A%BC  FIGH%QJOK%L }MN }v~ }OQXRUST VWmYaZ`[\^] _kQbcQvexfmgjhi2O%klQmnuotpqrsWvwyz|{}~U%|||||||||||||||||%%%%%%%%%%%%%%%~%$% %%'%6$%6%E%T%'%c%c%r$$,$%%%%'%$%%%%%%%%%%%%%$&&%% %E&+%6%6&:$%. }:Q } !%%%Q QO &I{   ٻ&W&e m%md&%%" w !O u#$ '( ) *+,-!/l0\1Z2A3Q4:586O789 };>< }=?@ } WB3CDOE33F3GH3I33J3K3L3M3N3&r3PQ33R3ST33U3V3W3X3Y3&[ ]e^_v`abc _dfg*h ijk  mnopUqrsvtu~wxyz{|Y}~Y x6wx  }%%QQ%4vmOw{OvO*Q       \%O&{~lmOm%m<"%%OO% vvOv     u%2 QIrO% !&%I Q#$-%(&'C% F)*%+, Q.5/0fv1324f6978:;=>?l@\AMBICFDEGHJKL sNYOTPSQR6%UW V X}Z[ ]c^_%`ab}%dekfighJ}jwbmnyorpq svt su wx+z{~|}Uv s s &wb%O vvO&d  #Pyy ~+   K%  $W   %   Ow%y}%v$ !"# F4w&%Q'()*z,g-M.C/602134 }5 7=8:9#P;< !' >A?@BODEHFwGIJKL NUOTP QRS|V\WXvYZ[]b^`_#j  }aced~fhyijskqlomnBpu%rvtuwvO{ x2xz{|xx}xx  O:%%Q_|O|u &&m2f&#gQt`> o% zzzzzQ s }O      sst t tsO!}T8v5,) (!"%#$ &O&'O&a*+-/.%0412 }3O6U7R8Q9P:@;<=>? AHBCDEFGIJKLMNO OST }VYWX%Z[ s\] N^_ N%% Na%bcdefghijklmnopqrsIuv  wxyz{~|} _v !%pvC~#_#_#_#_#_#_#_#_#mpOOOOOOO'OOOOOOOOOO"~OOOOOOO"~2* !2%%% s2vvvvvvvvvvvvvvOOvm _ }yOyO  Oz 10!v "'#$%& (+)*%,-./f*3Q2O34567Q8;9:'<=G>?@ABCDEFHIJKLMNOPRSTvUlVWX_YZ[\]^`fabcdeghijkmnopqrstuwxyz{|}~'    S&xP  S%& o|'v'%QV ɓɓV V Vɓ  VzyVyVyzzVVV } !"#$%&(N)M*+:Q,Q-.Q/3Q0Q12QQQ45QQ67Q8QQ9Q;>Q<=QQ?QQ@AGBQCQDQQEFQQHQQIJQKQLQQOPaQ[RSTUYOVWOOXO"OZO"\`]^%%_yQ% sbcd efpghijklmno#Pqrstzuvwxyq{|}~q% IW% Q Q Q Q Q Q Q }OQO2vO22U%%:%%%:%%%% N%%%% N%: N:%%%%:%%%%%%%:##A%4|*#AQQy '3    %  s|G-$; &K&K!&K"#&K$%&*')(&K&&K&K+&,;.3/012&K&K4>5867&K&K9<:;&K&=&K&K?B@&K&KA&KCD&KEF&KHoI`JVKLM&&NO&P&Q&R&&S&T&U&K&WZX&KY&K[]&K\&^_'B&Kanbc&Kd&Ke&K&Kf&Kg&Kh&Ki&Kjk&K&Klm&K&K&Kpxqtr;&Ks&Kuvw;yz&{;}~&K&&K&K&K#&;;&K&K;&K&K&K;&K$&K&K&K&K&K&K&K&K&K&&K&K&K&w&K&K&&K&KC&K&K&Y&K&K&&K&&K&K ;&K&&KC&K&K&K&K&K&K&K&K&K   &K &K&K&K&K )&  |!$"#3%'(*+^,E-0./Q 132 % }4O5O67O89"O:;}OO<=O>O?O@DOAOBOC"OO"FLGKH *IJ**MNOQP s sR sS s sTU sV sWXYZ[\] s_`bacdje f g h i  k'Qlzmsnp|o|BqrPz%4twuv}E}b%xy}p}5 {~|$$}$ }B}5|B|2 &~5 &2~5 &$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%xH !)  ~f  W:W(55:z@:t 3        #      !  " $)%&'(  *.+-,  /10  2 4b5K6?7:8 9 ;=<  > @EACB  D FHG IJ  LVMRNPO  Q STU  W\XZY  [ ]_^ `a  cxdoejfhg  i kml  n psq r tvu  w yz{}| ~ :f   5W)55 C W v :  55fW)5!t "#$W%&5'.(+)*,-/201346=7:89;<>?@ABDEFG5HJIKLMNZOPQURSTVXWY[q\g]b^`_acedfhkijlomnpr}sxtvuwy{z|~W:  55;1.W: ,WWWWWWWWWWWWWWWWW   WW  WW$WWWWWW #!"WWW%&'*(W)W+W-:W/0:52734I5::68:955<@=5>?@AWBE CDFWGI^JMKL  !NOPQRSTUVWXYZ[\]_b`aQcdefg"~hk'ij'`Yl%%m%n%op%q%r%s%t%u%v%w%$%%z${k|}.~%mvOOOOOOOOOOw0OrOv Q|O &%y̿%#A%%% }%O%%3  QrS% }O%|vm {b% %   O  :%3%' !O,,, ,!,",#,,$,%,&$,(+)* },-dO/W0B1A23O4OO5O6O78O9O:OO;O<O=O>?OO@"O CDSEFGHIJKLMNOPQR'nTUVmXYZp[e\]O^_b`aVcd#PfoQghlijkmn*2q{rzstxuvCwpypCQ|} _~uK K _O UuuuuC%a'~b'~''''''''bb'b''b''''b':OOOOOOOOOOOOw0C v }OOOOOOOO""%QQQQQQQQQQQQs }  A    v!2"1m#$%&'()*+,-./034y5Q6789:;<=>?@WBdCbDE &#FGWHQINJL%K%%M%O%P%RU%ST%%'V% X^%YZ\[ %  ]%_`  a:cO%ehfgij*lmnopqrs|tuyvwx'z{}~           ]   %{C%r''%$%,%(((#%T%%%',(2$%E(A%%(P%&$%,$%$$(2',%$$$$%E$$$$(_%6$$$% $$$mmP=-O#A"%      !o#$%&'()*+,&Y.1/0{C23%456978:<;>C?AO@B !DGEFHIO JK }LOM }N } }QR~S{TUVWrXgYZc[\]^_#P`#Pab#P#Pdef#Phij#Pklmnopq Qstyuvwxz#P|}U%Ow{ R #%%Ov1OO#AOO     2 &$$!!{C$|O(n(~(ܬ(((($  &K&K&K&K&K&K&h&h&&K                    uuuuv !"#(%&:Q'(QQ)*Q+QQ,Q-.QQ/0Q1QQ23Q4Q5Q6QQ78QQ9QA;<=C%>Q?@QQABQQDEFGdHVIOJLKxMNhxPSQRxxTU(xW^X[YZ())\])&)&_b`a)&)5'c'erflgihxxjkxxmoxn)D)SpqR)b7sxtvuwRyz{|}~x)rxx(x'!x''x'!x)'x'x)xxxxxxx)DR))#)b7)SR(xxxIII II  II  IIIIIIIIIIIII*{Q92 -!"#$w%w&'()*+,w./z0 1f3746O5O8:J;A<=>?@ BFCDE1GHIuu|KNLMOPRjSZTWUV% XYv)[b\^%] %%_`a#cidfeJ&kghktlomn%O%2pqv_r%~syBuxvw%%yz "!|}~$O%33333333&33333333&3 sv OSSw %  %O%~~~~~~~~~~~~~~~~%~%x }8 ww||||  HH      QI  H!"#&$%1'G ()*+2,-.1/0   3?4:576 89  ;< =>  @CAB  DE F HJOKLMN P| RSTUV\WX[YZ11]^_`agbcdef hiyjrknlm  op q svtu  wx  z{~|}            UgwU1 11g  1#11 8<<<< ge8-1  u        u u$   )!%"1#$H&(' *+,  ./301 2#4_56\789:K;<C=>@?ABDGEFHIJLVMQNOPRSUTWXYZ[]^`abdcefgnhijklm11oxpqrsvtu11w1yz{|~1}111111111111111111 \NuuuuuuuuuuuuuuuuH11111111111115     * %!#"$&(')+0,.-/1324678C9>:<;=?A@BDIEGFHJLKMOUPSQRTHV[WX YZwHw]d^_b` aHc fxghijklmnopqrstuvwyz{|!8~8888t81Hwu    Y P@+                           %        Y "  ! u #  $ & '  ()  * ,9-3 ./  0 1 2  4 56 7 8  K:  ;<  = > ? YAgBIC D E F  GH    JK  L M NO  QgRgSeTZUwVwWwXwwYw1[`\w]w^w_wwwawbwcwdwwfglhwwijwkwwmwnqowwpwrwswwuvwzxyg{}| ~ {C888888888%888gg8{C{C{C{C{C88888888{C{C{C{C{C{C8{C{C{C{C{C {C8{C !  {# !"$%X&'8()*+,-./012345679:I;<=>?@ABCDEFGHJKLMNOPQRSTUVWYZ[k\]^_`abcdefghijlmnopqrstuvwxyz|}~    H 0gR8*ggg{C88{C8  1>w$$$#1#U       K  uulu"  !  #-$'%&(*) +, q./q1234568789:G;<=>E?@ABCDFHNIJKLM1OgPUQRSTVbW_X[YZ1\]^U`>a>cdefH>1hiujkplnmHoqsr1Ht 1vywx Lz}{1|~ gggggggggggpQHH{C{C88){C8{88)G888888 g ) )  P)* 811 9 !"'#$%&*()*+2,/-.|||013645u/78U:;<8=O>?@AHBECDFGILJKֹ*mMNAPQoRSbT\UWV|X::YZ::[|:]^_`acide*f*g**h*jk`l``m`n` qrstuvwxyz{|}~  |      "3#$s%L&9'()*+,-./012345678:;<=>?@ABCDEFGHIJKM`NOPQRSTUVWXYZ[\]^_abcdefghijklmnopqrtuvwxyz{|}~   uuu1  K11$wH g  K1Yg UHw$11K  gw$1wUUU(1 H      $ 1gwHw1&# !"1$%'w)*+,-0.H/HH1245n678J9:;<=>?@ABCDEFGHIKL[MNTOQP$RSw 1UXVW KYZ1H \d]^a_`uwbc efighgH$Yjk>glmopqrstuvwxyz{|}~88883 g18*%8 \   #  *$aa* !P"*$%&'(U)L*E+8,-./012345679:;<=>?@ABCD7FJGHIFKFMONPQRS=TVWtXkY_Z][t\t^`eacbJFdfhgijXlomnpqFrs9u}vzw9x9y999{|9~9*3݉*A9Xffff'!$$a1Wa*P *P   Aaaaaaa*^*^X O!2",#)$%&'(*+*W-.0/&1&3F4=W56W789:;<>a-?@ABCDEG*HIJKLMNP!QRSTUVWW*YZ[]~^j_`iabcde$fgh*k*l**m*n*o*pqy*r*stwuv**~x*z*{|~}*~'a$a******~*a;$~ff66666/6/66*k6  *{/////////*/  vu  $6/666/666rV6U}!6 %"H#66$%;&/'*()/a6+6,/-.va051423//v66:/789v6<B=@>6?66$A6CFDEv/6G6I6JUK6LQrVMNrVOrVrVP*rV6RST6/6VWVX`YZ][\*^_*apbicfde**gh**jmkl++++.no+=+M+\+kqwrust+z+++v++xzy+++{|++++!!66!/6/v6Uv666666/////////////,/66v66!6u6/666!666vU6/U6$66,/66HH6/frVu,!6v66/66rV6/H66U66v 6 6V6   666/6/!HBdc{/# 6!6"$/%'&66(-)66*+,!wӵ!.6*{0615$23646/67\8E9>:;<,,=F?@BA7CD7FQGLHJI6K7MON6P,:RWSUT6V6X[YZ,J6T6]h^d_a`6bc7,Xefgirjokml6n7,,p6q7svtu7wyx66z6|}~6/66/ {{{{{{{{{66vvvvvvv,g66,!u/66666666666,w66666666666,w6v666//666v/H 666666$6$66666666,66/66666f!6/6666f6f6{,, 6    6v6/%%%%66!,!a H!1"$6#6%.6&'*6(6)6F+-,FF6F6/0/6,2436H5;6789:<=>?@ABCDEFGIMJ6K6Lf66NOZPXQR6STUVW{Y6/[6\]6^_`6//6buefHghijkw6lmq/no/p,rts{uv,6xy}z6rV{|rV*rV~66a616  ,76-6776,X7676676,:67776,:667ܞ-666666/6f66/6!vU-<HHHp6HP6666/66  6 U 6 6*{926,X6666-,7F$FFFFF !F"#6FF6%F&,'F(F)F*F+FF6F-.F/FF0F16FF34576-;-J8-;:;=A>?@6CDXEFGHIJKLMNOPQRSTUVWYZ[\]n^_e`ba6cdU!fkgjuhiulmvopzqs6r6twuv-Yx6yf{|}uv~/vv6vU66//U6!6/6v6/66fvHrV66U6/66v-iU6/6U6/fH-y 66U/6v6frV6vv,g6//rVU6Pv66v/666U6~:6-y6v6666/666 -y66   6 U/{6//UU6%66rV/6"66/6 6!/#$u6&.'+6(-)*//!,-/vv/7046123//5689/ /;Y<M=D>@6?%vACB6U/6EHFGvUrVILJ1KvUNUORPQ6-y6/ST6//vVWX6v6Zk[a\^6]666_`6,6becd66fjgrVhi6VrVltmpnov6qsruxvwVrV6y}z{|v/6v6/66UUvU/U666-/HrV6-6v/fvVUV66rV66666a6V6666v/6V/f6-U66v/*--/-*66/V6V6H66V6V6V66UUv6/vv 6rV6/6  %/  1666Ed@/'6/!#6 !"6/6f$6%&6Uv(-),/*6+6vv.vU07126364568;9:/6<?6=>!6ASBMCJDIEG/FU6H/6rVvKL6/NQOP6VvUR66/T\UXVW/6/Y[vZu6]a^_66`/bcvUvefsgnhkij//lmv6666oprq6t{uxvwU6yzU66|}~6--v-6v6666666/v66/6//U66/-*-666/-y666U6-y666U//vv/6 /66HPH!P66Uv.rVv66rV/6666P6U,!6/66H6U6v6666/ 66 6f   v/U666/66Uv1$",! 6!66#/6%*&'66().U+/,-6.{v0/2<394656/67U8f:;/U/=B>A?66@vrV6CD6$6FGHzIeJ_KXLM66NOPQRSTUVW.!Y^Z\[.1]`cab6/6dv6fmgi6hU66jkl{nsor/pq66 6tw6uv6xy6!H{|}~6U/rV6u//6U/v /66/666$666rV6/U666/6vrV6666/6//66v*{v6/6U66/6/66/6v66H/66.A666rV6/6S656f6v66JHU$6.Q6  6/6{xx{   U6.av/6H66/6$6-666"66 !f#6!6%+&(6'6)*6!V,0-.v/6J12663rV4,!66d7K8D9A:@;><=U/6v6?UU6BCU1EGF6/HI /6J6LWMRNO6a{P6Q6,ST6UVX`Y]6Z[\/66^_6acb{.q6.|6eyfngjhiv66kl6mrVotpq6rsuwvv6x1z{|} 66~Hv6666/6ǻƒ9****A*$**~*.*.*$!*Pc*ŰŰ****A*aa.a!*W=$PP**-**      a$$!$$*! *"(#&*$%.')!+1,/-.*$0*$2734.56$*8&:;<{=R>I?A@$BC*D.EFGHJMKLNQaO$P$**S[TXUVAW$YZ$*\k]i^h_`abcdefg$jlnmoqp**Wrstuvwxyz7|}~*$WaW!*$*$a_$*!!**$!W*$'*WW**W*W*$ !aa$W**~$W I!$* *W*$$*$$q     aaHa**$$ "7#)$&%'(W*2+1,.-!/0!$a3645.$*8@9;:$<?*=W>$**AEBCD}.FGH*JpK_LWMSNROQ$P*$TU! VX[YZa\^*]$!`haebdc!.*fg$*imjlk&W*$noqr~sxtwuvS*y}z{| **W$$$$*a$.$$$*a!5$W *$*$$$W$WS$a$!**W*$*$!$$*aW*$ $W**$a$W$***.*   .  W$$%a$$** $/ !"#$ &,')(*W+-3.2/X01.$4*67f8N9C:@;<=>?**ABDIEH*FGqJK*L$M$$OZPUQS$R$*TVYW$X*a[`\]$$^_$*ab$cde<*gwhniljk$$$motpqrs$$uv$xy}z|{$~a$!*W $*!$$a$Pa*a*$$$Wa$**$/********~**********d$W$*$** $Wa$X-*2**$$*$$ *    */$% $!"$#*$&*')(***+,$.C/80312*4567*9?:> ;<=$*$@BA*DNEIFG*H$JMK_LI$ORPQ$SaTVU$$*WYzZl[c\a]`^$_Wb!diehf$g$Wjka*mtnrop*q*sAuwv*xyW{|}~$a$*$*$!u**!$z=z=*/1$W!$$5!* W$****WWWWWWW$9t9.*@$$W!**  $$  yW <*$*$ ~*dV8) #!"$$%&'(*/+.,$-01234567/?9C:?;<=*>W@ABDQEFGHIJKLMNOP!RS.TUWWnXcY^Z[*\]$_`!*Wabdiegf$*h$*jklm**owprq*su*t$vx~y|z{$}€$‚$„…†;‡ˆ·‰§Šž‹‘ŒŽ.’“W”•–—˜™š›œnŸ¢ ¡£¦¤$¥* ¨°©®ª«*¬­$$¯*±µ²´*³$¶_¸¹º¾»½*¼$*$¿*.WW$*$$!*$$$݉y/M/M*_$-$*$*$$    & !$*$* $$!"#$$%2&0'/(*)$+,-.1* 3645**78$9*:*$!<É=]>M?E@BACD$$FIGH$**$*JKLWWNTORPQ$S*UXVW$*Y\$Z[W$*^v_j`cab$Wde$*fhg*$ŰiŰknlm_orpq$st$u$$*w~x|yz*W{/Z}$ÃÀÁÂ$$*ÄÈÅÆÇ$**ÊðËàÌÖÍÑÎÏWÐWÒÕÓÔ×ÜØÙÚÛ$ÝßÞ$*áèâäã$åçæ$*éìêëW!$íî*ïañòùóöôõ÷ø*$úþûüý**$ÿ$*l*K$$z**$*Ĉ2 *$***$_*͌$*. $$$*$$a!     W $O$& $*!!"*#$%*$',(*)+.-1./0***3`4N5D6>79*8*:;<=?B@*A*!CEHFGIL*JKM*OXPTQSR$UWV$$Y^Z][\*_aqbjcg*defhi**knlmPWopar~sytxuvwWW$a$z{$$|}{TăĀĂ$ā$.%ĄćąĆw.ĉĊĐċČčĎď$đĦĒěēĘĔėĕ$Ėt$ęĚ*ĜģĝĠĞ$ğ$ġtĢtĤĥ!*ħķĨıĩĭĪ*īĬ |rĮ$įİ11IJĵijĴ**Ķa$ĸľĹļĺ*Ļ*~Ľ$WĿ$W$*W$$$$!-**WVa/h$/v$*$!y W$$**$*$  $$   W *$$$$*/uŭiF 4!+"'#$a%$&*(*) W,1-. W/0*23$$5?6<79*8$:;$=>@CAB$DE-*GWHPIMJWK*LNO$QTRSUVXbY]Z\[$^_*$`a݉cfde$gh*jŊkzlrmpnoqasutvywx$**{Ł|~}ŀ łŅŃń!$ņŇ*WňʼnŋŚŌŒōŏŎ.ŐőœŗŔ*ŕŖ$$Řř*$WśťŜŠŝş$Ş$šŢ$*ţŤ$*ŦŪŧŨ.ũūŬWŮůŰűźŲŵųŴ$$ŶŷW!ŸŹ$ŻžżŽſ***ċ$$A$ $8z z z z C'\z z kkC'\k'0'\'\'\C'0'\k*$!$ /$   W$*D1(% $!"#*$&'*).*-*+,*$W/0W2;384567*9:W*<?=>!@ABCWEUFMGJHIa1KLSa*NSORP*Q~**T*VcW[XY$*!Z$\]W^_a` b dpeofh*g*liljkJ=tXmn=JXtqr$s$tv(wxƪyƓzƃ{~|} $ƀƁ$Ƃ$*$ƄƆƅ*Ƈƒ*ƈƉƊ$Ƌ$$ƌƍ$$Ǝ$Ə$ƐƑ$$/$aƔƢƕƜƖƙaƗƘ ƚƛ$*Ɲƞ$ƟƠơ$*$ƣƨƤƥ!Ʀ$Ƨ$$$Ʃ!ƫƬƶƭƲƮƱ*Ưư/ƳƵƴ$ƷƽƸƼƹƺƻ*$$ƾƿ$$$*$*$$! V/$$W****F*******$  $-   $****$/$!**$$* $!"!$#%&W')w*M+=,6-1./$02435*7:89;<$>D?B@AC$$EHFGaIJċK!L$*N_OVPSQRTU$aW\XYaZ$[$*]^$*`ladbc$ aekfhg}ij$**$mqnop*rs$/tuvIIxǙyljzǃ{|}~ǀǁ*ǂ*DŽDžLJdž$$Lj$$NJǐNjǍnjǎǏ*ǑǖǒǓǔǕ$$Ǘ*ǘ$ǚǪǛǢǜǟǝǞ $Ǡǡ$ǣǦǤǥ$ǧǨaǩǫdzǬǯǭǮ$ǰDZDzǴǷǵǶ$$ǸǺǹ$$Ǽ(ǽǾǿ**W!**$$M$y$$*$ȀA+   * $ *$$$$1%"! $*$#$&)'( *,:-.3/201*W*47.56*89<;<=>@*?$BfCVDNEKFIaGH/J*LMORPQSTU*W_X[YZ*\]S^*`cabd*e$grhkij*lnm$opqsxtuvwWy~z}${|$*$ $ȁȂȣȃȔȄȍȅȊȆȇȈȉ**ȋȌaȎȐȏȑȓȒȕȝȖșȗȘȚțȜȞȠȟ$$ȡȢ *ȤȻȥȱȦȩȧȨȪȯȫȭȬȮȰȲȵȳȴWȶȸȷȹȺȼȽȿȾ$W$aWaW7$$***$$*W***$    * **FəQ5$$ *!%"$#$*&)'*(W$+2,/-.'01$*34!$6E7=8:9!!!;<>C?A@BD!!FLGIHJKMNOP*RvSbT[UYVWXZ\^]_`a!cldhefg$ij!kmrnopq*$$sut$wɊxɁy~z}{|'ɀ*ɂɇɃɄɅɆW$$Ɉɉ$ɋɒɌɎɍ$$ɏɑ$ɐ*ɓɕɔɖɘɗ$$ɚɛɜɴɝɪɞɣɟɡɠWɢɤɧɥ*ɦ*ɨɩɫɮɬɭ$ɯɲɰɱ*ɳa*ɵɽɶɸɷɹɺɻɼ0ɾɿ*$$**'a*W!$_!**$$/$$ $$*$$$a     4A~*~*00**a!2"+#($%$&'*!*)*.-,0-/.$*13:47560,W89;A<@=>?!BCDE**GʟHʎItJ^KULOMN$PSQR$T*$V[WX*$*YZ*!W\]n_i`faebcdFCgha$jrkolmn$*[pqWsuʂv~wyxz}{|*$$ʀʁWʃʊʄʅʆ!ʇʈʉWʋʌʍ*݉ʏʓʐʑʒʔʕʖʘʗʙʝWʚʛʜuʞ*ʠʡʧʢʣʤʥʦ$$ʨʶʩʲʪʰʫʬʭʯ:ʮrVʱʳʴʵ$ʷʸʽʹʼʺʻ$ʾʿ*A***l**W$$S! $0;0;II *   $**'% !"#$&**)ͥ*d+,t-W.H/>06132W45*!$798*:<;$=?E@CABgDFGIPJLKMNO*QRVSTU WXgY_Z][\$a^`cabdef0Ihpimjkl!*n*o*qrsuˡvˋw~x{yz*|}*$ˇˀ˃ˁ˂*$˄a˅ˆ 0W0d ˈˊˉ$ˌ˔ˍˑˎ!ˏː$˒˓*&˕˚˖˘˗˙$*˛˝˜˞˟ˠ*ˢˣ˽ˤ˶˥˵˦˨˧0q˩ˬ˪˫˭ˮ˯˰˱˲˳˴˷˼˸˺*˹!˻$*˾˿ W $$W.S$$$FFFFFFFF*$* a*  $*   $$F1$" !!#%+&'($)***,.-/0*2:3645!*798W;B<@=>$W?$A$CD*E$GXHSINJMKL*$OPQWR$*TVUa%WaaYaZ\a[a$]^_`*bac!%ef̮g̋h}isjpkolnm$*$qr$txuwv$yz {$|0~̂̀$́c̃̆̄̅!$̇̊̈*̉$$̝̖̌̍̎̓̏̒̐̑$̔̕$W̗̘̙̚*$̡̢̛̜̞̩̟̤̠̣ *aW̨̧̥̦͌$ԍ̪̬̫ ̵̴̭̯̰̱̻̲̳$S@̶̷̸̹W$̺$̼̿̽̾$/*a*W!.$$*$*~~*K% $    ag*aa$$" !*#$ r&9'2(/),**+$-.01374$56$8:A;><=?@$BICGDFE$W$*H*JLxMiN\OXPTQS!R!0UVW<Y[*Z$$]c^b_$`a*$*a*dfċe*!g$h*!jqknlm*op *rtsuwv**y͒z͇{͂|}~**̀!́$̓̈́*͆ͅ$͈͍͉͌͊͋*$͎͑͏*͐XWa͓͔͖͕͚͙͗͘͞*͛$͜͝$**͟͢͠͡$vͣ$ͤͦοͧ7ͨͩͪͻͫͳͬͯͭͮ*ͰͱͲ*ʹͷ͵Ͷ͸͹ͺͼͽ;Ϳ$*$g$$$$* $$$*$*$a *QQ} **   S$! *"#%,&)'($*+-2.1/0.3456{08w9]:J;A<>=O?@cBCFDE**$GHI*{0KQLOMNPRWST$$UV$XY[Z\*^i_c`ab!$dfe$ghjqkml*$n*opWWrstWuv*xΣy΃z{|}~$00΀΁A΂I΄Κ΅·ΆΈΉ΋Ί$Ό$΍Ύ$$ΏΐΕΑ$Β$Γ$$Δ$0Ζ$$Η$Θ$Ι$0ΛΞΜΝΟΠΡ΢0ΤεΥάΦΩΧΨΪΫaέβήΰί$αγδ*ζκηθιλμνξ$dt**$$$**$*W**a **444*$!    a**$B2)! $"(#$$%&'*/+,-.**$013;495678W*$:<?=>*@A$CSDLEHFG*IJKMPNOQRTZUXVWY[`\_]^$*$acb$eϘfρg|hoiljk0mn*pxqwrust*~d*v**~yz{<}~πςϋστφυχϊψωόϒύώϐϏ$ϑ*$ϓϖϔϕaϗϙϯϚϣϛϜϝϞϟϡ$Ϡ$XϢHϤϧϥϦWϨϭϩ$ϪϫϬ*$0*ϮϰϾϱϸϲϵϳϴ϶Ϸ*ϹϺϻϼϽA* $Ͽ!*$Կ$'$!u**$$*$*.     $*" *$!$W#%$W&*(p)N*?+2,-./*0113948567$*$*$:=;*<$>$@HACBg$DGEF$ILJKMWObPYQURS!*TVXWZ^[\]*_a`wackdgefa$hij*lmnoAqКrЉs|tvuwyx*z${}Ђ~Ѐ$Ё$ЃІЄЅ$ЇЈ*a ЊЗЋВЌЏЍЎ**$АБ$$ГДЖЕ$$WИЙЛаМСНОПР*ТЪУШФХЦЧ**ЩЫЮЬЭ$*Я$бмвзгдежийкл$$ноп0$*0*с#$ W*a*WW1 w* $aa**** * **  *1*'W$***$* !W"$$Z%7&0'+()**1(17,-./*124356$8D9?:; <>*=1F@BACELFHGIJ*$KMNOPUQSRTVXWY[m\e]b^a_`0;cdgfjgih*kl$nwouptqrs$*vx}yzW{|$W*~*р$туѫфјхэцъчш!щыь$8Wюёяѐђѕѓєwі*їљѥњѡћўќѝ*$*џѠ$ѢѣѤ$WѦѧѪѨѩ$ѬѿѭѵѮѳѯѰѱѲ1TWѴѶѹѷѸ*ѺѾѻѼѽI**!a!$$*1c$/  $     $$*c $! $"#$%l&ұ'h(H)5*/+,.-012341r16A7<8;9:1=>?@.*$BCDEFG$*I[JSKNLMORPQ'1TXUWVYZ*\]e^b_a`cd**fgW*iҊjvklpmon*qrgs$tu**wҀx{y$zw|}~1**ҁ҄҂҃*҅҆*҇҈҉*$*ҋҚҌҒҍҎҏҐґ$ ғҖҔҕ OҗҘҙқҥҜҡҝҠҞ$ҟ*ҢңҤ1ҦҫҧҨWҩҪ$Ҭҭ'ҮүҰz z ҲҳҴҵҿҶҽҷҺaҸҹ$$һҼ$Ҿ*  ؉*$$*$** gg1   *W$*W**!F5 ,!'"#*$%&K(+).**$-0./132$$4$6>7;89$L:<=$?@$AEBCD1{{oGYHRIMJK*L$NQOP$SWT$UVXZc[`\]^*_*dab$؉dief$$gh0$jkm#noәpӄq{rwsvtu1T$$x$yz$|}~*ӀӃӁӂ$*ӅӍӆӈӇӉӊӋӌ*$ӎӒӏӐ%$ӑ$ӓӕӔӖӗ$Ә*$*ӚӺӛӮӜӨӝӞ$ӟӠӡӢӣӤӥӦӧөӪW$ӫӬӭ**cӯӴӰ$ӱӲӳl*ӵӸӶ!*ӷ$ӹӻӼӽӿӾ!$$W/Z**WW*W*.O$P*$a!$*** **$ *  $  *$$*c* $!"$w%K&6',(*)$+$-2./$0$1345*$7<8:9$;$=E>@$?$!AC$B$г*D$!FH$G!IJ#HLdM[NTOQ PaR$S$*UV$WYX*Z$\_]^`abc*enfjgh$i*$$k$lm*orpq$stuv$*!xԠyԉzԃ{~|}*ԀԁԂ**WԄԆԅԇԈ$ԊԓԋԐԌԍ Ԏԏ**ԑԒ*$ԔԚԕԘԖԗ$$*ԙ*ԛԟԜԝԞ8*ԡԳԢԫԣԦԤԥ$aԧԨ$ԩԪ*ԬԮԭ*ԯԲ԰Ա*ԴԷԵԶԸԽԹԼԺԻW*$Ծ$ךMՐ1*w**!W$/Z1$$$!*!1* *!**$* $ '  $W*! !"#$%&(+)*$$,-$*.0/**2X3C4;58679:<>=*?B@*A*$DKEJFG$HI*LSMPN$O*QR$TWUV*YyZg[e\_]$^`cab$vdAfhmiljk!nuoptqrAsAÙAvwx1zՃ{|~}$ՀՁ$*Ղ$*ՄՊՅՉWՆՇՈՋՎՌ*Ս$Տ$$ՑՒՓհՔթՕէՖզ՗՘$ՙ՚՛՜ա՝՞՟ՠբգդե$ըժխիլծկAձղսճմյնշոչպջռ'0վտ$*$*2**$$!$ $$$$.!/$ $$*2 .2 $  *  $*$$$* $!"0*#*%6&-'+(*)$,.3/201 $45$7D8A9@:=;<HH>?.$!BC*EKFIGH*J$LNOְPsQ^RVSTU$$WZXY*[\]_e`cabdfngkhji*lmorp$'0q'0'\2/t֝u֓v֎w{xyz*|$}~ֆրցւփքօևֈ։֊֋֌֍֏֐$֑֒1֚֔֕֘P֖֛֗֙֜*֧֤֞֟֠֡$֢֣$$֥֦$֪֨֫֩*$$֭֮֬֯*$ֱֲֳִֵֶַW$$ָֹֺWֻּֽ־ֿ*$$$a$$$*$W2>'g*$w*F1    V $*a!*#2L1 !*"$$+%*&(2Z'2h2v$)*$,-*$./02 022B3:4$576$8$9$*;><=$*?A@*CDEGnHUINJLKPM$OSPQR*$T$VbW]X\YZ$[$$$$^_`a*cidefgh1jkalPmoׂpxqtrsuwv$$y}z{$|*~$׀ׁ׃׏ׄ׊ׅ׆$ׇ׈׉$$*׋׌*׍׎**!אובג$דהWזחטי*כלםמ׾ן׭נץסףעפצתקרש׫׬׮׸ׯ״װױײ׳*.׵׶׷$$*׹׼׺׻W׽׿**$*  *$**$$$W$  $$$**W$*.$**$  $   $$$$$$$ o!K";#0$-%*&('*)$+,W$./*$15243w!697*8*:$*<H=E>A?@$$*BCD$WFG*IJL]MSNPO*QR TYUVWXWZ[\W^j_d`a$bceifgh*a$*kmln$ap؛q؁rxsvtu$$w$$y|z{$$}؀~$؂ؐ؃،؄؅؆؇؈؉؊؋ ؍؎؏$ؑؔؒؓؕؗؖ.ؘؙؚ؜ز؝ب؞أ؟ؠءآ$ؤاإئ$ةحتث*جWخدذ!ر*سؾشعصظضW*ط!!غػؼؽ*ؿY*$**$!P**2 $*$$/     *$$($*" *!*#%$*&'$)+**,-.$0E1=27$3465*8;W9:**<*$>C?B$@$A!*D$FOGIHJNKML$*PT$Q*R$S$*UV$WXZ٧[w\i]e^`$_$abcd*fgh**jpknlmoWqur$stv$xِyقz}{|$~*ـف*Vكولهمن$*$ىٌيًċ2ċٍ$َُّْٕٖٛٗٓٔ*٘ٚ*ٙ$ٜ٢ٟٝٞ١٠11r$٣٦٤٥$$٨٩پ٪ٲ٫ٯ٬ٮ*٭$$ٰٱ$Aٳٹٴٸٵٶٷ*$ٺٽٻټ$Wٿ***$$**u $$***!VکG( ****   $* 2WF*# !"W$$'%&$$WI)4*+2,/-..*01*3$58679A:>;<P=?@BDCEF*H{IdJMKL$NSOQP'RTXUVW~l~*YZ[\]^_`abceqfhg$injlkm2opzrysvt$u$wx$z|ڑ}ڇ~ڂڀځ$ڃڄڅچ$*ڈڎډڊڋڌ**ڍڏڐڒڟړڙڔږڕ$ڗژ$jښڜڛڝ*ڞ**ڠڥڡڢڣ$ڤ*$ڦڧ*ڨd$ڪګڬڭڻڮڵگڱڰڲڴڳڶڹڷIڸں$ڼڽھڿ.$*$$$$*g**$0!*$$ċ$     2#*c''$* #!$"2%+&*'()P*,/-$.* 1G2937456$8:A;<$=@>?22?.BDC EF*HNIJMK$L*OSP*QR/hTU*WXۨYZl[e\a]^_`.*bc**dW$fgjhi*~*k*mtnpoqsr$Wu|vy$wxWzW{*}~*ۀ۔ہۊۂۅ$ۃۄ!ۆۈۇ*ۉ[ۋێیۍ$ۏۑې$Wےۓە۠ۖ۞ۗۛۘ*ۙۚ$*$ۜ۝ۣ۟ۡۤۢ*ۥۦۧ$۩۪۫۵۬۰ۭۮۯww۱۲$۳۴۶ۻ۷۸۹$ۺWۼۿ۽۾$$ 7*$$$***$2 $ $***1$.$ *$$*$c<z < )   $*$2*$# !"$(%&$W'$W*$*/+-,.071243*56W8;$9:*=f>G?B@A$CFD$E$$HcIJaK1LSMNOPQR1T[UVWXYZ1\]_^1`1*b$de$*gmhjikl*nsop*Oq*rtwuv*xu$y${ܨ|ܓ}܈~܄܃܀܂܁*$܅܆$$܇$܉܍܊܋܌WW܎܏ܐܑܒJܔܞܕܚܖܙܗܘ!*ܛܜ*ܝܟܢܠ*ܡWܣܧܤܥܦ*$ܩܪܲܫܯܬܭ$ܮ*ܱܰ$*ܹܴܷܸܳܵܶ$ܻܾܼܺܿܽ1$.*$''''*ԛW''   '  '*wެ ݣ!p"P#G$D%A&'0()*+,-./'192345678':;<=>?@'B$$C$EF{HLIKJ*$MN~O$Q[RVSTUWZ*XYa\m]`^_$acb'defghijkl*Pnoq݉r|sxtwu$v$$y{z$*}݃~*݂݀݁0'݄݈݆݅݇a$!݊ݖ݋ݑ݌ݏ2ݍݎݐ$*ݒݓݔݕݗݝݘݜݙݚݛ **ݞݠݟ*ݡݢ ݤݥݷݦݮݧݪݨݩ$ݫ$ݬWݭݯݱݰ$ݲݶݳ$ݴݵ Q Q$ݸݹݽ$ݺݻ$ݼ!ݾݿ$$$$$*W$;*W$*aa23 *$$-$$*$$*$R+ X3.!$**    W $$$$**W& *!"W#W$W%WW'*$()$,>-5.0/a1423*$$6978*$:=;<K?H@EABC DFG$IOJNKLM{13(8PQSރTnU`V[WX$YZ\_]^$*ahbecd*fg*ikjlmozpuqtr$s!$vyw$x$V{~|}$ހ$ށނ$ބޚޅސކފއވ*$މ$ދޏ$ތލގ$*$.ޑޔޒޓޕޗޖ$*ޘޙ$*ޛޢޜޝޟޞ*~ޠ$ޡ$*ޣަޤޥ*ާޫިުީ/Z$*$ޭkޮޯްޱ޺޲޸޳޵޴޶޷$޹$$޻޾$޼޽޿!**$$*$Wa*$*$$$$*$W*$$ $*    * *~*$*$J)# $!"*$$&%'(!*4+0,-a./*1325D6A789:;<=>?@36BCEF*AG$HI$W*KZLVMQNP*O**R$STU$$WXY$[a$\]^_`*$$becd*fjghi$WW$lmߢn߆oxpuqtrs$$vw*.y߀z|{$}~$$߁߅߂߃*߄߇ߓ߈ߎ߉ߊߋߍߌ$$ߏߒߐߑ*$ߔߝߕߗߖ$ߘߛߙߚzzߜ*ߞߟ$ߠߡߣߴߤ߬ߥ߫ߦߩߧߨ.*ߪ*߲߭߯߮߰*߱߳$ߵ߶߻߷ߺ߸߹*߼߽߾߿$ 3I**$$$3W3gW*2L$$*$$$U$$*$$$$**$*Hw $$ $ $W$  $tH-" $!#($%ċ&'$)*+,.9/50312*4*678$:D;A<?=>1'@**.B*C EFG$3vIcJUKPLOMN3$QTR$SV[WYX$Z\_]^*`ab*$$Adkeg$f*hij!$lrmon$p$q$s $uvwx~y}z{|*$!$$$W!$$Iy$$$$$*!3W$$ *$*&***$*$$$*a3Х$$ $$$a $*A$*$*$' *    r$*!*W  *!$"#$%'X(@):*4+0,.-/*13 2 *59678$*$;<=$>?$$AIBDCEGF.H*JUKQLOMN$P11rRTS$VW*YzZm[h\]!*^_`3a3b3c3d3e3f33g33iljkntos*pqr$* uv$w*xy3 31T{|}~&**$**$W*$W*$!3!$'$3$$$*$Kc$*$W*$$WWWWW$*$$*$1 a  $$  $*$*#" !$!$,%)&(*'$*1**+*-0./2G3>495678:;!<=$?B@AW3CFDE*$HNILJK$MOQPRSUTĚVXY~Zo[f\b]`^_$a*Ucedgkhji* lmnWpxqsrtwuv$$yz{$|}*$*$**$͌$$$$$$*$$$$*        4  144"$$!$$$ W$*$$*g:$   **  2 2 *l *$!"#*%0&-'*$()$+,$*./16234578! 9$;N<I=E>B? @AK WCD$*FGH$JK$LMOZPUQRS41T͌$VWX*Y$*[`\^]_$abdcef$!hijqknlm$oprxswtuv!$Wy{z$|}~*$*$$$*$*$$$$$$1$ $$$A*1$4?*$$*$5 $*$$$$W!WO4M;OO4[4j4yI44O*$$.$*$$*!*$* !   a$*. a"-#($%&'$)+*$*,.1/0234**46q7S8J9>:;<=$.$$?@B$A*C݉DEFGHIKPLOMN$QR$T]UY$VWXZ$[\2L$^n_j`I$ab$c$d$$ef$$g$h$i$$klm$Wop$rstuxvwyz{|}~1$$WW$$-$$$M$$$*$$$a $H1W$$$$4$$$$$$$$$$$$     !$!/v$a$7-! 2"#*$%W&W'W(W)W*W+W,W4W.1/0$243$5$6*8D9=:;<*$$>?B@ALXfLWC*$EHFG44ILJK**NOxPeQ\RVSUT$WXY$Z[*$*]a^_`bc*$dfogjhiaknl$*m$psqrtu$vwW$*yz{|}~1w*$d**4**$$*W*$$a$!$$**$$*!.$$**a$$$$$*.$$$a$*4 !fjHC^4    $ $$$$$$!$" $!$#%$$&)'(A*+,-./012345M6H7:89W;<$=@>?$*ADBC55EFG5IKJ$LaNVOUPQRST$$W[XZ*Y$\]$_`anbjchde$f*gi$klm$oxpuqtrsWWvw$y}z{|*~$$$ Ҁ*$5v3W5!$$$$$$$*$*$$!*W$X$!/ŕ*$$$$W$$Fa**W*!*$***$$K&      $$a$$"! W#$%*$':(0),*+$-./1623;45$789;B<A=>?$@*CIDFE$G$HWJ*LzMfNZOUPTQRS**$VY$W$X*$[a\`]^_$*bc*d$e$grhmij$klnpoOqW*sut*vwx$yW{|}~$$****!$*a*$*$*$*$$$3$$S$*$ *$$$*$$$*$$F  $ *$  *$$**ŕ!.!5"5/5" 1!)"&#%$'($*,+-.$/0*28354 67$$9>:=$;<*?B@A*D$EFGqH\IQJOKL$M$$N*P$$ RWSTUV XZ!YW$[]i^c_b`ag$def$gh*jmkl*npo *rs{txuvw*yz*|}~$$!0W$***$.$$I!**$!$$$$*$$AW$*$$WW*c$$$$$$!!     W$*WQ0"$$ **!#)$'%*&*$($*.+,$-$ /v$/$1D2>34$5<6789:;=$?A1@ *BC*EKFIGH$JLNM$OP$RoSbT[UXVW*WY!ZA$\^]_aW`cgdef$hk!ijPlnmWp|qvrts u$*wzxy*${}~* a$*W**0$  $*$$$*$* **$W$a$*$*W_5<!$a$*$FFF$*$$$$W$$  $   $aa**$ "!*#*%A&'l(L):*3+/,.-T021a475$6$89;C<@=>*$?$AB DHEFG$IJ*KWM[NTORPQ$S$$UYVW$X*$Z*\d]a^`_$W*bc$$ehfgik8jmnoxptqr$s*uvwWy}z{|*~W**.$5J5X$PW*$*$a**a*$ A**a$! *$u$W$$$k$W$$*! $$$*$   $  $$*$W$a,%!$$ *"#$&*'(*)*+$-9.4/2015fW3$$5867!*$$:=;<$>?*@$$BCDgESFNGKHI*J$ LM$OQP$RT]UZVXW*$Y*[\*^c_a`P*b*de$$f$hvisjokml5uz=zn1pq*rt$uwx{yz.|}$~$W0W*W*$$*$$$ $$w*$*~$$$5$ $$$$*$a*w$$*$$a**$$$$*$$ 1 +  $X$$*$ Wċ!"$#%(&'a)$**,8-1$./02534*6$*7$9@:=;<$>?$ADBC$EF*GI~JTK=LMNmO\PVQTRS$U$WZ$X$Y$*[a]d^`_$abc$!$eifhg$jklPnovptqrsu$$wzx$y$*{}|$0;~***$$*W$$$P$$*$$$$8$$$$$$$$$$$ $*.$$$$A.$$$$$$1$I*$ %   $$ $$*$$ "$!$*#$&1',(*)$W$$+-/.$a0$$2735$46*8:$9$;<>?@`AOBICGDEF*HJLKM$N$*PYQURS$T$*VW X*Z][\^$_$asbkcfde$gih$jlpmno*qr't~uzvywxJ*{|}$**W$$$$$*!*$$a$W*$$.$*$*$$$$$$$*$$*****~~*$$*$$$$$$$$$ '    $$$$$$!$t "%#$*&(@)/*-+,c.04132/v؉$56$$7$8*9:*;**<=**>?**5AIBFCD$E$GH$JOKMLW$N$$PRQ$S$$U]VWXxYiZa[_\^]$*1`bfced$*$gh$$jpknlm*o$qtrs$cuvw*yz{}|~$$$$W$$$$*$W52$ċ$$$** $*$$*W*$$$$$$$*$$ $$$*    *$$$*$>," !$$#($&%'')+*$-7.4/10u23$3v568;$9:$<=*a$?P@GACBDFE*$*HKIJ$$LOMN**$!QXRUS$$T$*$VW$*Y[Z\^_`atbjcgdfe$$h$i1kolm$n$*pqrs*Hu|vy$wx*z{$}~*$a*A.*$$$$$$$$$!*$$*$aa$W*$*$$H$$$*a*'$$$W****$: $$$$$*$$*1!W* $ (  ****5*5*5*!$$A*l$ "!*#**%$&'$$)2*.+,$$-!/01$37465 89T8;_<N=F>B?A@$CED1$GJHI*$KML$OVPSQR$$TU*W[XZY$W\^]W$`oahbecd*$fgimjlk$$n$$pwqurs*$1t!vxzy${}|*!**$$.5B*$$-*$$$!*$*$$*$$$$55$$'$W*$$$55WW*W*W*  $ $ $ $**Z;*!$*4MO* "&#$**%$'()*$+2,/-.$$0a1*3745668$9:**<I=A>?@BFCED$$GH*$JRKNLM$WOPQ.*SWTUV!*XYW$[\o]f^b_a`$$cd$egkhiW$j$lm*n66pxqurst*vw$y|z{ }$~$$$**$**$$$ $*$*$W!$$$$$$!$$$$$$$*$$$6+X*6:$$$$6D*L+     *!06R$$$"* !$$#($&%'*)*,:-4.2/1$0!357689;C<A=?>*@$BDHEGF.$$IJ'K$MlN]OVPRQSUT*W[XZY$\$$^d_a`$bc$eifgh*jk$$m|nuoqp$$rs$tvxwyz{$}~$ W$$y$$a*6`$$$*$$$$!$$$$$*$*$$!*$*$W*W*$$$$W$$$$$C!  $   *$$$$$ $*$"1#+$(%&$'*)$*,/$-.*02=3946$5W78* $*:;**<>A?@$$BD]ETFMGIHJL*K16n*NQO$P$ RSaUYVWX* Z[\$^k_f`cab$degjhialqmnoprust*vwxWz{|}~*$$*$$6{6**$*$$*$*$W*$$$$W$W$$$$W$$$$W*$*$$4 !$$$  /  $%$"! *W#$$$&-'*()$+,$.1/0$$235Q6C7=8:9;<>A?@$BDKEHFaGIJLNMOPR`SYTVU$$WX$$Z^[\]$_$afbdc$$$e*ghikl6m^nbopqr~sytvuw$x$z{|$}$$$$$H*$$$$1**$$*$$!$$$$W$*$$$$$$$$$$#$a*$*$     $$$$6$ !"$$$@%5&-'+(*)$$ԛ$,$W.2/0$1$34W6;79$8$:<>=?$$APBHCF$DE$*$G$ILJKMNO*QYRWSUT*V$*X$Z^[]\*_`!a*$cdefsgohlij$kmnpq$rt{uxvw$$yz!$|}~Wa$$$$_$*$*$W$!$W$$*$$$$*$Wa$*$$$$$$*$$*$*$$$$$*W$$*   $ $ $;,$$$$$ !"+#$%&'()*r-3.1/0$ 2W$48576$9$:IW<P=@>?WACBDNEFGHIJKLM6OLXQWRUS$T$!VX[YZ$\]_#`ab~cpdkeifhg**j$$lnm$$o*qxrustvw$y|z{ $}$$a$*$$!A$$$$$$$$*$$*$$$$$$$$$$$$$*$$* !$$z6$3*$!$ $$$$$$$    W**$$$$$ $!$$"$$%c&D'5(-),*$$+*$.1/0*23$$4$6=79$8$:;!$<$>@?$AB**C$EUFLGI$HAJK$MQNPORS$$T V[WZXY.$\`]^*_ab$$devfmgkhi**j$*l$nsorpq**$*t$uJw~x{$yz$*|}r$!$$$$$$$3a$$*X$*$̿$$$*$$$$$$*$.W$0**$$$*$$*$$$i63$    $ $>* '!" !6z#%$$$$&$(1)-*,+a./$03IХ2354*789:r;^<L=D>B?A@uCEJFHG*I$$K$MVNROQP3ST*U$$*WYXZ\[]6>_k`dabc ehfg*ijVl$mpnoq$$stu{$vwx$yz5|~}$*$4$$$$$!$!Z$*$$$$$$$$*$W$$$$=$$*$$$$$$**$$*$$*$$$$$$* $$$$    63$M/$* $!#$"1*$%+&'($)*?Х63,-.0>16234'5~*7:896u;=<$?E@CAB$$*D$FJGIH$KLNfOZPVQTRS!U*WXY Q[_\]^_`bacd$e$*gvhnilj$k$*morpqstuw}xzy{|1$$w~*$$$$$$z/Z$$$$$z*$$$*a*$ $$$^' $$$.$$$$$$  !*  $**$*$ "!$$#%$$$!&4(J)9*5+0,.-/*132W*4**678$:B;><=?@ $A*$CFDE$GH$IKWLRMPNO$$Q$SUTVX[YZW$\]$ _`{anbjcfde*gihklmotpqr.Wsuwv$xzy-*|}~*$$$g666$$$$*$$$z* $$$$*W*[W**A$$$$$**$$$*$  1  $  $$>5 !W"'#$%&W(.)+*6,-7=7/2011 7!7/7>34#7M7\7j6978$*$:;=<$!?N@GADBCEF*3*HLIK$JM$OWPTQSR**$U$V$XYZ\]w^j_b`acgdfez=h$iFkrlpmn*o$q$.$sut$vxyz|{}~7y$$$'7$*!ċ.$$$$$$$$a$$$*$61ċ$$$$$$**$$$$$$**$ $ k   $$#$$! ċ*"*$+%)&('$*,.-/0$2l3P4A5:687$$9$;?<>=$@BHCFDEGILJKMN$O$QbR[SWTVUXZY6\`]^_*a$$ce$d$fighOjkmn}ovprqsut$wzxy${|$*~*$$*$ $$$3IT$$$$$$ 77|a$$7W7u$a$$W$$$$6 z$$ $c$6 $!$   $؉$aA$ $!"#$$%<&9$'(*)*1*+,.*-*/0**25*34**~6*787*:;0z=?>@$BQCHDG$E$F$$ILJ$K$MO$N$PzuRWSTVUz>X^Y[Z\]~$3_`ub}csdleifgh$*$jk3mpno4qrtyuxvwz${|$$~'0*!$$y3$$777777777W$$$r7$$$$uy?zХ7*w$ $$W *  uz w$$$T7- '!%"$#*~?&(+)*W,.2/01*3456F8E9>:=;<3Iu$?@BA$$CDz7y6FLGIH*JKMPNOuQSR*UoVcW^X\Y[Z*$$]$_b`a|dlehfgijkzmn$pqxrwsut$vuy|z{}~*$$*$$*$$$$$*$$aa$***$$$$$$$$$$$$$a$$$$$*$$ $$$  $$   *W!W$ $$".#'$%&(),*+z6-*/041235$*$789:h;Q<H=C>@?*A$BDF$E$G$$IMJLK*$NOP$$R\SUT$VYWXZ[]c^b_`$adfe$gijvkrlomn$pqstuw}x{yz$|*~$$*W$$$$$$$!$$$ $R$$$*$*$$$$$W*$ $    03&$ #!"$%*',(*)$+$a-0./$$12!4A5;68$7$9:$<@=?>$$͌$BJCFDEGIHKNLM*OQPSTpUcV]WYXWZ\[$^`_abdkeifhWgaj*lnmoqryswtuv$xz|{$$}~3*$*a$$*$****$$$$$$$$*$$$$$$**U7$$*$$$$a$$*$$*     z '\$$N 3!)"#&$$%'*(1*-+,.1/0$2$$4A5:678$9;><=3?@$BHCED$FG$$ILJ$$K$$MOjP\QXRUSTVW!$Y[Z]b^`_$$acfde*gih k{lsmqnoWp$$r$$txuwv**yz$|}~$$$u*$$$$$!*$$$$$&$*8$W**$8a$$$*$$*$$$$1$$  * W$  $$$$"!*$$ $!$#,$'%&(*)*+$-/.$0$2P3?4:576$89*$;<$$=>$@IAEBCD$FH$G$JNKL$MOQ\RXSUT$VW$Y[Z$]`^_acbde$$g #hij|klmnuopsqrtv~wzxy{|}*$W%*$*<**W48!W*$Wg***$S[W$$$uI *7*$* *     a8/8=K8K8Z**) $!&"#$$%'(*.+,-/40312*56a8]9J:C;><=W*?B@A$*$DFEGIH*$*KSLQMNO**P͌$R$TWUVXYZ[\^q_h`eab*cd$fg$imjk$l$*nopz=rwstuv*xzy{}9~!$wW$8i*W*$W*$$S*$$!$$$*/h%WWW*r$*$*   *  *!$*)! "#*$%&'(*,+*-.!/01*2345678:;l<X=I>D?B@A*$CEGFH*JTKOLMN***PQRSUWV*YdZ][\^a_`bc*$ehfgW*ikj$*$$mnyouptqrs$*$vwxz}{|~ċWW8|W$**Wya*8υ$8888$*6n!Sww8$5 *t$8    8  $$$!/"&#$%',()+*-.012436O7>89:;< =  ?C@AB8DJEFG*HI*KLNM$PeQYRSVTUWXZb[^\]$$_`a$cd'fygnhkijlmotpsq$r$*uv }wx*W$z{~|}*$$$*W***$8W*$*$V*$*$ %**W**W 1A*;(W$$*$    *݉݉݉݉݉݉݉݉݉ %!$"!#&'()$+1,.-*/0$2534*67*9:`;K<G=?>@BA8CED!F*0HIJWSLTMQNOP$aRSUZVYWXS[]\^_arbicdefghjnk$lmopq$*sztwuv !xy{~|}*$$W*W*$*$ *$ P)***$!ċ *P*P8WWWWWWWWWW8*$$ W$!   * $***$!*( !"#$%&' *]+C,9-5.2/10*$*$3*$4$678*:=;<*>A!?@.*BDPEKFGHIJh81T9LMNO$QYRWSUT$V!!9XZ[\*7^r_h`dacb$efg*injk*lmo$pq*st~uvWwSxySzSS{S|S}9!SW9/**$@[[[[[[[[9>$*9L9\9k9z*$$$*$$$*P***!***$W$9W$*$*$*$*W$$*$ $݉    $FW***$g&# $!"11$%*'()+C,6-3.0/112$*4578*99:;<=>?@AB9DKEHFG$IJ*LM*NOwQRSTeUXVW&Y_Z[!\]^.*$`aWbcdfpgkhji*lmno 5qq|rstuvwxyz{9}~**9a*W8K!$$W*$*a$$$*aa.99*$*$!*$*$* M  Kz=0a*      *  $          1  ag     $ *$  WW   $ $ ! 2 " ( # % $ & '  ) - * + , . 1 /% 0$$ 3 ; 4 8 5 6 7W* 9 :** < I = H > ? @$ A DO BO CO EO F GO;;6$ J K Lq$ N s O ` P Z Q W R SS T U V*$* X Y$*$ [ ] \ ^ _$ a j b f c d*$ e$ g h* i. k n l m o r p q t  u  v z w y* x* { |a } ~$    *  $ 9  $            4}p}E     t !                             $     !Ě $           W**  !      S  *$W        U UH  ** a   ~*             $  * $     8z80     *W  *           $     *  <ĚI $*      $$   $    *  ww  P  1  ' ! " # $ % & ( ) . * + , -$ / 0 2 F 3 9 4 7 5 6 8a : @ ; >a < =$$ ?a A E B C  D$ G J H I K N L M O Q u R _ S Z T X U V W$* Y [ \ ] ^* ` m a g b c$ d e f$g h i j k l\ n p o q t r s$W*a v  w  x { y za |  }* ~                    $!$    *     $  q   *$  $$              'Q  $   $ *$         $            $      94      H99>     **          gg:       * *           6    *               $  $       $        * ! "* $! %  & u '  ( z ) X * = + 4 , / - . 0 3$ 1 2  5 6 7 < 8 : 9** ; > I ? D @ A$ B$ C*$ E F** G H J P K L_$ M N O*W Q R* S V T U*~*~$ W* Y m Z ` [ \ ]W$ ^$ _* a i b f c d e*W* g h j$ k l*$ n u o q p r t* s*2 v x w y {  |  }  ~   W   $ $!      $ $          $* $y      $       *$$               ˃*  $*  *   !$$ :$   $        $W *    **   * $  V V  &          * *   .       W W *l*  $   *$       aW*      a*  W $   *         *$   *   $ *        * $*  ! $ " % #* $*W ' R ( @ ) 7 * 3 + 0 , . -$$ /$ 1 2$W 4 5* 6*$ 8 ; 9 : < = >* ?* A J B D C* E I F G Ho) K O L M N*$ P Q S e T ] U Z V W X Y$$ [$ \$ ^ b _ ` a *W c d*$ f m g j h i* k l$ n s o p q r** t$$P v & w  x  y  z  {  | }! ~ $     *$$$     12          2   $         $w$  A  w  $ K:           w*     *  *       *  *    g$$  A $             * **$     =    O    *      $ $          W    *           W$  *a  $     $ *         h9$ 0  !     " # $ %W '  ( [ ) B * 5 + 2 , - . 1 / 000 3 4 6 < 7 : 8 9 ; = ? >z=$ @ A:. C Q D J E I_ F G H *W K O L M N*$$a P R X S V T U$ W Y Za! \ q ] h ^ e _ a `! b c dK > f g* i l j k* m p n oP*$ r x s u t v w y | z { }  ~ $         :<                                    V       $ *l     S$  $ $ $ċ        a      W*      *$         $$*       $     (  D                   ݉   < $2$*$!    $*A*W**.&!* II :J*"#V$W%W*'+(**)**O,-W/;0412 *3W58*679*:*<@=>?WA*BC$$EhFTGNHKIJLM*W*OQPRSWU^V[WXYZ*d\]ŕ$_d`cab$$$efgijqkolmWn$p$$*rsutvw{x%y%z%rH%|%}%~%r:%!!*W***a**$$$q.* *$**$$!W2**$$$%*$*$*a$**$$$   *  *$* $*$$*!"&#$%*')*f+7,-.2/01$3645*8K9B:>;=<ċ$$?@A$$:XCHDFE$*G$IJ$LaM\NQOP$RS*TU$$VW$$X$YZ$[$/$]`^_41$bced'ghuiljk*ampno$WMqtrs* vwzxy{|~}**$*$*W*W*W ċ*<$3W*$$$aW$*$ ****S*Wa$*    *$ $$*Wa a"#$%p&N';(2)/*.+-,$01a37456*89aW:!<H=@>?$AEBCDIIFG*IKJ$LM O`PYQVRUST**WWXWZ][\z=^_/Wakbgcfdehij*lm*noAqrs~txuw*v$*yz{!|}$P!W*%:g:uW:aWWW  7aWz=z=}*$$$*$*****$l*W W* SW$$$$$*$$!$.$*     $$W$$*W*X.+& !"#$$%'*(a*)<$,-$/O0J1I23>456978:<;=:?C@ABDGE<F<7H<<KL*MNW*PVQSWRWT$U*WYlZa[^\]_`*bfcdWeWgkhij*$$!mtnqopa:rsu{vwyxz*|~}$%$$aW$*$$a1*  $W**$WW$c:$ $$$$ $**!$$****$   A!!Ù W$ $$$***:/#" !$$*$!&'R(:)/*,+$*-.!!*051*234*697W8!*a;G<D=?>@BA$C$$EFHM*IJKL$NO$PQ!SjT]UZVYWX**$*[\V^b_`aa$cgd*efIh!$i*kslnmopqrtyuv wax**z{|}~ o*$*$$$$$$PW!*W*$$**$$*KKW$**W$$$a*$݉݉a*$$$W*y)**$**:$S **$*a *    $*W*$W$*# "!$%S&'($*Q+<,4-0./'132$a57689*:W;$*=H>E?D@A$*BC* *:FGILJKMPNO*ReS]TWUV*X\YZ[*l*^`_adbc*dfrgmhj'ikl*nqop$*svtu$wxz{|}~1$*$**W**7W*$W $JXt=W$W*2$WWW*$*$*$*$**$a*/***$   * *W $ Y!7"*#'$%*&$*()$+2,-.0:/z=13645$$*8C9<:;=@>?$!$A%B N%DHEGF$*IWJKLMONPVQRSTUFXZm[b\`]^_a*cidhefg$$jkl$*nyosprq*tuvwx z}{|a~*W$:tt Wa*$!$*8$$*W!$*$!W$ WWl$$!$a$ HW**$$*$ 1   * **$$$^, *WW!)"(#%$H&'$*$*+-@.;/01W23$456789:<?=>!AFBEACWD*AGaIsJ`KXLRMONPQ$$!ST*WUVW$*Y\Z[]_*^$*aibgcedf*hjnkml$$op $q$rtu}vywx$z{|$~$$*!$**jc b;SYKEI?I&>?*  ; ; ;;www;%w;%;3;3||88||  4  t tU;AU;A  || ;O;O %   !#"||;]$;]f&g'(f)+U,L-:.2g/g0137456  89;B<>=  ?A @ CGDFEHJI#K#3MNOSPQ3fRBfBTVtWfX]YZ[;l\|;l|^b_`| a` `cedgohmikj;{l;{;nu;uupqsuruu v w{xyz;;|~};;        ! !;;;;;;FVFVFFnn;n;::RR..;;^U^UUUYYYֹHHHHֹHHHLHL,,ZZzKKzKK**111111==;< ;< $ww$$$u*u*    m m//  <<&&PPWW+!b b"&#$%AA')<+(<+*,5-1./0]]24s3sˢˢT6;798T:u<=uH>H@ABvCWD ENFIG>H>JLK>M<:OSPQ<:>u./1u0|*3:456879##;<=#?K@ABCDEFGH  I J LMNsOwPXwQRUwSwTw<VUWUUYkZ_U[U\]^Uww`dabcwwehfgwwtijtwwlwmwnqop<<:rw:wtuvzwwxwyww{|w}~w<<<:Ƚ=?K;VAXBOCHDEKFGWILJKW<+<+MNˢˢPVQTRSUW)>H>>+,.>-u/0F2@3945u678:;=<>?>->>>uu '!#"uȡ$%&<<@&BFCDuE||uG|HJKLrMbNZOSPQRfftTWUVtXY< < =![_\]^=!  `ackdgefhij<<lomnHHpqwT?wTACDRE FLGJHI; ;K;MON |*P Q STY U VWX *Z[\]*ֹֹ_w`ajbec d fg h i kslomnmprq P  tuv xyz~{g|g}gggg;;~~ggggggggg;;~~       |  ||  f @SAI BCFDE ##;GH;  !JPKNLM!VV.O.QRˢTZUXVWp˃Y[ \ ^_`fabdc e gzhriljKkKmpnoKmmPq P svt u wxy;3;3{|}~WW  f  f            ;;<<  "A|| u;;==&&wTwT ||||||LL/###  H H HHHHHHHHHHH-)$HH "H!H1#H1HH%&UH'(UHU*1U+,1U11.1/061124315$1$7;8$9:$11$<>$=$1?@1$$1BCyDhEJ$F$GH>$I$KV>LMP>N>O>uQTRSu$Uu$uWaX^Y[Z$u$\]$ȡȡ$_`$becdfg<$ijoklnmpqtrsuwvxz{|}|~|||||/######HHHHHHHHHHHHHHHHHHHHUHUHU1U1U111111$$$$$$$$$ $$$$$$$$>$>>>>uuuuuȡȡ <   3 !/"(#%$&'9g:g;=<g?F@BgAgCD `E`GNHKIJ;FFLM;ORPQg;%;%STggwVWXYZw\]^_c`abdefhijkplgmgnoqxrtgsguv `w`yz}{|FF~;%;%ww![  O ; ; ; ||444tt<<< < =!=!B;n;lHHHZZZ,,,,Y,,,Y,YYu= WHF ddq     q q    qqq q     q q  qls   eH  e<< <   =  -  (  #<  ! "<ee  $ &  %  '   ) + *= ,wT . 6 / 3wT 0 1 2wTwTwT 4wT 5wT 7 8 : 9wTwT ; <wTAA > ? F @ B A C D E G M H K I J L N$ P  Q    > > $$    $$  $ȡ      ȡ  $  $ $ $   $$    g    g]g!?|*|*!A!G!B!E!C!D|*|*!F|*|*!H!K!I!J|*<!L!M<˃!O!S!Pu!Qu!Ru˃u!T!Wu!Uu!Vu!Xu!Y!Zu!\"!]!!^!!_!!`!!a!o!b!h!c!e!d!f!g#< !i!l!j!kU !m!nu;!p!}!q!v!r!sV!t!u<+!w!z!x!y<+ˢˢ!{!|uu!~!"C"?"A"@w 3"Bp;"D"E"Fbs"H"O"I"J"K"M"LT"N"P"T"Q"R"S+"U"V"W"Y"Z"["\"]"^"_="a""b""c"r"d"k"e"f"i"g"h8"j*"l"m"o"n"p"q "s""t"{"u"y"v"x"w` `"z"|""}"~!F:"""":..""""""""""";%|"|""""""""wp"""""""""""""""""$"#"#]"#"""""""""""""#" <U " " """K"";VKK"K""""""""""""WW<+""<+ˢ""""ˢ""  ""#5#6#:#7#8#9R#;#<#=#?#M#@#E#A#B#D#C1]1##F#I#G#1#H1###J#K#L#;;1#N1#O#R#P#Q1#S1#T111#V1#W1#X1#Y1#Z#[#\11#^##_##`$#a#g#b$#c$#d$#e$#f$$#h#|#i#o$#j#k#m$#l$>>#n>#p#v#q#s#r$$#t#u$$#w#z#x#y$ȡ#{ȡ#}$#~###$#########1##1#####1#1#####1#1######;;1#1####1#1#111#1#1#1#1###11###$###$#$#$#$#$$####$###$#$>>#>#####$$##$$####$ȡ#ȡ#$####$####g##g#$########g##g######|#;#####;;3##$w#$:#$#$####; #; ##; |#|#######44$$4$4t$t$$$$ $$ $$ $ B$ $$$B;$$;;l;l$$$$$nn$$n^^$$$ZZZ,$$)$ $$$!,$"$#,,$%$',$&,,$(,Y$*$/$+$-$,YK$.$0$3$1$2u$4$7$5$6u  $8$9F$;$Q$<$G$=$C$>$A$?$@F$B$D$E$F$H$M$I$K$Jd$Lq$N$P$Oqq$R$e$S$\$T$Wq$Uq$Vql$X$Zl$YlH$[eHe$]$`$^<e$_e<$a$c<$b<e$d e $f$n$g$l$h$k$i$j   $m=$o$q$pwTwT$r$twT$swT$u$vwTwT$x$y$z$${$$|$~wT$}wTwT$wTA$$$$$$$$$$$$$$w$$$$$$$$g$$$$w8$ggg$g$$$$$g  F$wFw$$$$$$$wwww$$w~~$$$$$$w$$$$$$g$g$g$g$$$%$% $$$$$$ $$ $$$$ $$ $ $$  $  $ $ $$ $ <$$%$$%$$$$$$$$4$$$$^^m$$$$$$$umu$u$$$u$u$$$$$$$ll$$$$l%%wTwTA%%%%%A% |% %% % %% %%%%   % % %%%|%|%%| %9%:%;%<%=g%?g%@g%Ag%Bg%C%DRRg%F%i%G%Z%H%I%Q|%J%K%N%L%M|||%O%P||%R%V%Sg%T%ULLg%W%Yg%Xg/%[%_%\%]%^g%`%d%a%c%bgg%e#%f%gg#g%hg#%j%t%kH%lH%m%q%n%o%p#gg%rH%sHH%u%v%zH%wH%xH%yHg%{%~%|H%}HgHH%H%Hg%%%%%%%%%HH%%H%%HggH%UH%H%H%HU%1%1U%U%U11%%%1%1g%%%%%%g%%gg$%%$%$g%$g$%%$%%%$gg$%%%%$gg$$%$g%%%%%%%$%%$%$$%%$%$%$%>%>>%%>%%%%%%%>uuuu%uu%%%uȡȡ%%%%%<%%%%%%%%%%%%%%%%&%&N%& %&%%%%%|%%%%%|||%%||%%%%%%%/%%%%%%&&&&&#&&#&#& && H& H& && &&#&H&HH&&&H&H&H&H&&&H&HHH&H&H&!&3&"&.&#&)&$HH&%&&H&'&(HH&*UH&+H&,H&-HU&/1&01U&1U&2U11&4&5&71&61&8&C&9&>&:&;&<&=$&?&A$&@$&B$$&D&H$&E&F&G$$&I&L&J&K$$$&M$&O&&P&t&Q&^&R&W&S$&T&V$&U$$&X&[$&Y$&Z$&\>&]>>&_&k>&`&a&g&b&e&c&d>uuuu&fu&h&i&jȡȡ&l&q&m&o&n<&p&r&s&u&v&|&w&x&y&z&{&}&~&&&&&g&&&g&&gg&&&&&&&&g&g&&&w&&&&&w&w&www&&&&&<'F'?'B'@'Ann'C,'D'En^^,,'G,'H'I'J,,'L'['M'T'N'Q,'O'PY,Y'RK'SKYK'U'XK'VK'WK'Y'Z'\'a']'`'^'_ u'b'e'c'd'f'gqq'i'}'j'u'k'p'l'n'mlq'oe'q's'r<e<'t<wT'v'w'zwT'xwT'ywTA'{'|A'~'''''''''''''|'|''44''4''u''B''''''^Z''''Z,,u''u,,u',',',u,''''''','',YY,'''Y,Y'Y'''''u'u'u '''u''&u''u'u'u'''''''''l<<'''''wTwT''wT'wT'wTwT''wT'''wTwTwT''wT''''''(!'( ''''''g'g'gg''g'g'g'g;''';';~'~'g'('('''g''gg'''g(gg(g(g(g(g(g(g( gg( (( g( g((((((g;;~(~((((((((gg((( g("(#($(0(%(,(&()(' ((  (*(+ (-K(.(/KK(1(2(8(3(6(4(5mP(7(9(:(<((=(>(?((@(\(A(W(B(O(C(J(D(G(E(FgU(H(I wg(K(M(L$H$(N$(P(T(Qg(R(S##(UHg(VgH(X(YHH(Z([KH (](q(^(c(_(bH(`(aHK(d(j(e(h(f(gu(i(k(n(l(mw(o(p (r(~(s(y(t(v(u (w(x K (z({ (|(} (((H(((H(H (H((((((((H(H( (((((|*( (((8(((((((((((U((  (((( (((    ((( (  ( (((((((((U( (( ()a()7((((((((((( ((Y (( ( ((((( (((KK(( ( (((((( ((   (( F(((((1u(1(1(((((|(((>()()()(((((1(1))) ) 1)11)))) ) ) 1) 1)  )))q |)) K)))))     )) ))*))&))!)) )")$)#)%)')()))+)0),)-)/).  )1)4)2)3   )5)6 )8)L)9)@):);)<)=)>)? )A)G)B)C)D)E)F)H)I)J)K)M)N)Y)O)S)P1)Q1)RK)T)U)Wu)V )X )Z)^)[)\)])_)` )b)t)c)d)e)f)m)g)h)j)i,)k)l >|)n)q)o)p)r)s)u))v))w)|)x)y)z){)})~))))))))) ) )) )))))))HH),})*))))))))) ))))) ) ) ) ))))) )))))))|)| |) )|)) )) ) )))) ) ) )):))))))))))))))))))g)g))))g)g)))))))).!))))))g)g)))g))g)))g))ggg)g)g)*_)*)*)*))*) ))  * ** ****** |*|** * * u|*uu*ug*** ***g*gz* *  * * ** **>**3* ***!*$*"*#f*%*'*&*(*)d*+*0*,*.*->***>**>*****||*****+*****|++++++||+$#+#+ #1+ +B+ +++ ++++1+++$ $+1$R++1+1+1 +1 + 1++"++ + 1+1  +! 1+#+&1+$1+%1+'+)+(H+*+,+8+-+3+.+1+/ +0$ +2   +4+5  +6 +7   +9+=+:+;+<   +>+? +@+A` +C+f+D+V+E+O+F+L+G+I +H +J+KU,+MH+NH,4+P+SH+QH+R,+T#+UH&+W+[+X+Y+Z#+\+`+]+_+^u   +a+d+b+cn  F+e +g+v+h+r+i+l+j+k+m+o+n+p+q11 +s+t+u  +w+|+x+y+z +{ +}++~ + ++++ Uw+,#++++++++++ ++  n+ H+H +++ +    + +++++++++u^++++++++++$++11++++++++11++uH +++++uH+1+w+++++ 1 ++++ u++u ++++++ ++, + ++++++++++++ ++++++u+++++++   + w+++H++H  +++++1 +u++++  u+1+,+, ,,,,, ,7,8 ,:,<,;,=,@,>,? ,A ,C,H,D,E,F,G,I,M,J,K,L ,N,O,P,R,e,S,],T,X,U,V,W,Y,Z,\,[###,^,c,_,`,a,bU K,d  ,f,s,g,h,m,i,k,j ,l ,n,q,o,p  ,r ,t,x,u,v,wH,y,z,|,{H ,~-,,,,,,,,, ,,,,, , , , ,,, ,,, ,,,|,| |, ,|,,,, , , ,,:,,,,,,,,,,,,,,,,,,g,g,,,,g,g,,,,,,,,.!,,,,,g,,g,,,,g,,w,-8,,,,,,,,,,,,,|*|*,,,u|*uu,ug,,,,,,,g,gz, , ,  ,,   ,,, , ,   ,, ,-,- ,-,,,,f,-,--d-- ----@-? ,-A-Bu/-DH/H-F-J-GHH-HH-IHH-K-LqHq-N-b-O-Z-P-V-Q-S-R q-T-U,,u-W-Yu-XF|-[-_-\-]|H-^HHH-`H-aH-c -d-gH-e-fHH|-h-ju-iu|-k-m--n-y-o-s -p-qK -rKK-t-u-wK-vK-xP-z-{-|-}-~ ---- -- --- - ---.Y-------------------^^--||--u-u--u------wTwT-wT&-------&----- K-- -------------->>--->-->-----||-----------|------||-$#-#-#1-.-----1-1---$ $-1$R1---1-1-1---H--. -.-.. .$ .. .  ...  . H. H . ..... H  .. ..` ..:..+..$..!.. . .. U,."H.#H,4.%.(H.&H.',.)#.*H&.,.0.-.../#.1.4.2.3u  .5.8.6.7nF.9 .;.I.<.E.=.@.>.?.A.C.B11.D1 .F.G.H  .J.P.K.L.N.M.O.Q.T.R.SH.U.W.V.X Uw.Z..[..\..].m.^.g._.d.`.b.a  .c n.e H.fH .h.k.i .j    .l .n.x.o.t.p.r.q.su^.u.v.w.y.|.z.{.}..~1$.1H1......1.. uH...HH.....u H.1.w..... 1 .... u..u ...... . ,. ............ .......H.u.......   . w...H. H .....1 .u....  u1.H1......... // /////// / |*//+//"////|*/ /! /#/&/$/%8/'/)/(/*/,/7/-/4/./1///0 /2/3U/5/6/8/9/:/</X/=/M/>/H/?/B/@/A/C/F/D/E /G /I/J/L/K### /N/V/O/R/P/Q /S/T/UU K /W   /Y/o/Z/f/[/`/\/^/]    /_  /a/d/b/c  /e   /g/l/h/k/i/j     /m /n /p/w/q/t/r/s /u/vH/x/{/y/z/|//}/~UH ///01/0///////////// //Y /////   //// //KK //// / /  // /u1////////|//F/////// /q |//////// K/   /// ///>//////////1///////////////// ///////////////////Ku////u / //// 0000000 000 0, 0 0 >|0 0000000+00000000&00"000 00! 0#0$0% 0'0(0)0*0,0-0.0/00H02g03g04g050Q060L070D080?090<0:0;gU0=0> wg0@0B0A$H$0C$0E0I0Fg0G0H##0JHg0KgH0M0NHH0O0PKH 0Rg0S0X0T0WH0U0VHK0Y0_0Z0]0[0\u0^0`g0a0bg0d<0e60f30g10h1C0i00j00k00l0{0m0v0n0s0o0q0p 0r0t0u0w0z0x0yggg0|00}0~00 0 0 000000 00uu00u0u0u  0 wT0000wT00wTs000s0HH000000000H0 0  00 0 00 00 0 |0001|0|10H101H000000H00H000#0#0g#0#g0000g0000000   010000000H000   H1000000 0 0 00001010000000 101 01 1000 1 000H HH00000000011111#111111 11 1 ,,1 1 1,1111111111111111||HH1H11 1u1!u1"u1$131%1-1&1+1'1)1( 1* 1,1.101/<11<12<141;151816$17$19 $1:$ 1<1?1=1> 1@1A1B1D11E1m1F1Z1G1R1H1O1I1M1J1K1L1NH1P H1QH 1S1V1T1U 1W1Y1X 1[1d1\1c1]1a1^1` 1_ ||111b1  >1e1l1f1i 1g 1h 1j1kgg11n11o1{1p1t 1q1r1s zz=1u1x=1v1w$=$$1y1z$1|11}1~111111111111111$$11$11$1Z1Z11111KZKL11 L 11 UU111111111111111111111g1gg1H 1 11H H111111H1H1H|1,|,111,11111111111111111111HH111111 11 1 11111111111111111111111111212_12*12122221211222u1uu222 2 2 2 2 2; ; 22;   22 22!2222222222uu2 u2"2)2#2&2$ 2%  2'2(2+2F2,282-212.2/20222523|24|2627;%292?2:2<;%2;;%2=2>2@2C2A2B2Dq2Eqq2G2R2H2L2I2K2Jww 2M2P2N 2O 2Q2S2X2T2V2UK2WK2Y2\2Z2[2]2^$2`22a2y2b2m2c2i2d2e2g2f$$$2h$2j 2k 2l 2n2r 2o 2p2q+ +2s2u2t+2v2x2wu2z22{22|2}u2~2H22H2H2H;;22;222222222222222222HH22||u2222u2u22 22 2 FF22uFu2222222u2u22<<2<2222222222>2>222>2>22  2 23223222222222#22  #2H#2#H222uH2Hu22u22222wT2wTwT22$2$2$2$222222g2g2g112121 22 22 222222  22 222333333 333|3|3 |3 | 3 3 3 $ $33$333333333<<3H3H<H33(33"3 3  3! H 3#3%3$ 3&3'  3)3,3*3+ HHg3-3/3.g3031333h343O353A363=373:38393;3<3>3?ˢ3@ˢ3B3H3C3F3D3Eˢ3G3I3L3J3K3M3N 3P3Z3Q3W3R3T 3S ;l3U;l3V;l3X3Y  3[3a3\3_3]3^ 3`3b3d3c;33e3f;3|3g|3i3~3j3s3k3o3l3m3nHH3pH3qH3rH 3t3z3u3x 3v3w=! =!3y=!3{H3|3}<:<:33331333gg3333q3q3 33  3534X3333333333 # 3 33 33333333333331133313H3H33333gH3Hg33g3333 333333 33 3 33 333 3334?4AwTwT4C4G4D4F4E wT  4H4I4K4R4L4O4MH4NHH4P4Q*H**4S4T4V*4U*ll4WlH4Y44Z44[4r4\4e4]4a4^4_4`l4b4c 4d  4f4l4g4i 4h ||4j4k|4m4o4n4p4q  4s4{4t4v4u 4w4z4x4y4|44}4~B444B4H44H44  44444444 =41=4=14>441414444K4KK4444444g4gKg4g5<5=5?15@15B5E5C15D115G5_5H5Q5I5N5J5K1;O5L5M;O5O5P5R5Y5S5V5TU5UUU5W5X5Z5\5[5]5^5`5e5a5b5d5cgg5f5n5g5i5hw5j5l5kw5m5o5r5p5q5s5u5t5v5x55y55z55{55|55}5~555555wTwT5wTuu5u5u8555 5 858 >5555555555555HH5H5H5555555555;;;5;5555555555555 5  555555>> 5551 5 15 151 55555g g555#g##5#5556.56555555555555;;,,551,1555515515uu55u555555,5 5 ,5, 55555;5; ;;55515115516666 66 66666g6 6 6 g666w6wU66U6U116166&666666116161$6 6#$6!$6"$6$6%d6'6)6(d6*6+6,6-6/6a606G616:62686367646665696;6A6<6@6=6>HH6?H6B6D6CwTwT6E$6F$wT$6H6V6I6M6J6K6L6N6S6O6Q6P=6R~=~6T~6U~6W6^6X6[R6Y6ZHRHH6\6]H6_6`116b6|6c6p6d6i6e6f 6gg 6h g6j6m6k>g6lg>6nK>6o>K6q6u6r 6s K6tK 6v6y6w6x6z6{6}66~6666  6:6: :66 6 6 63666663636 6  H666696867V666666666666u6u6u6u666666>6>>6 6 6 > 6666666 6>6>>666|6|>|6H6H|H66666H666g6ggg6g666666666ww666w6w6gg66666g6g666666;;66666666<<6<6< 6 6 6H67!6767666666|6|6F66UFU7777U11$77$7$7 77 77 77 7 KK7 K7K  7777 777777777@7?www7Aw;A7C7N7D7J7E7H;A7F7Gt;At7Igtg7K7L7Mg7O7P 7Q7S 7R 7T7U7W77X77Y7q7Z7c7[7\7`7]7_7^  7a7b1 17d7k7e7h17f7g>1>>7i7j>7l7n7m7o 7p 7r7y7s7x7t7v7u 7w  7z7{/>7|7 7} 7~ uu77777777H77H7H777777˃7˃77m777777m7mKK;777 7 ; q7q7q  77777777777777777777 77; ; 77; |*7$|*$77777H7H$H77H77 7 7 77777777,7,7w,w77777777717117777717778777777777777777  7777 7 7 77777,7,7 , 88 88 888 88 8uu8  u 8 88 88H8H H8H8H8888g888888L88588*88"g88 H8!HgH8#8'8$8&8%YHYY  8(8) 8+8/8,8-8.808281ff83f84f868A878;88898:8<8?8= 8>   8@ b8B8F8C8Db8E118G8I8H18J8K8M8d8N8X8O8R8P8QwT8S8V8TwT8UwT8WUU8Y8_8Z8\8[$$8]8^g$g8`8c8ag8bge8e8q8f8j8g8h8ie8k8nY8l8mUYU8oU8pU8r8y8s8tu8u8w8vu8x18z8}18{18|1HH8~H8HY8888888888  88< <888,<8<,88,8888881888 8  888888ww88w8888U888888888WU8UW888tWtt8t88H8HH88888H8888ww,8,8,1888888181818888888UUT8888T888888888|*|*|*8|*U89C8989888888888|*|*8|*88   88   88888 88<<8<g88g884g49 4 99 99 999 99 ֹ9 ֹ9 9 ֹ99999-9999999999;9;99%99"9 Z9!ZZ9#9$Z9&9+9'9)9(|9*|  9, 9.969/9190  9295 9394    979=98999:9<9;ȽȽ9>9?9A9@   9B 9D9~9E9a9F9S9G9L9HP9IP9J9K  P9M9P9N9O9Q9R 9T9Z9U9X 9V 9W gg9Yg9[9^9\9]9_9`9b9q9c9j9d9g9e9f9hH9iH9k9nH9l9mH9o9p9r9x9s9u9t9vH9wH9y9|H9z9{H9},,999999999U9U,U9999$9999$99HH9H99H999999H9H9H9H99991911999 1  9 9;59:f9:99999999999 9   99 919 19191 9999 9 999999499999 4 99g9g g9999H9H9H9H9999999999999999999999  99 999999HHȡ99ȡ9999999;;9:;  : : ::6:::::: :: :  : :: :ww:1w:w1:::::1:1:::::::(: :!:":%:#:$:&:':):/:*:,:+:-g:.g:0:3:1g:2g:4:5:7:M:8:G:9:@:::=:;>:<>>:> :? > :A:D :B:CH HH:EH:FH:H:L:I:J:KU:N:X:O:S:P,:Q,:R,:T:U$:V$:W$:Y:]:Z:[K:\K:^:c:_:a:`:b:d:e:g::h::i::j:x:k:s:l:q:m:o:n:pHHH:rH:t:u:v  :w  :y:} :z :{ :| 1:~:1:1:1:::::::ll:l::::  : ::::^:g:g^g::::gqq:q>::::::::>U:HU:UH:::wH:Hw::.w.:::::::::::::: : : :::::::::::::WW:W::H:::|:|:::;:::::::::::::::::: :::: ::::::1::::: 1 :::|:| |:H:H|H:;:::::H:  :; ;;HH ;;;;;; ;; ; < <;  ;  < ;; ;; ;;$$;;;;$;;u$uu;u;u  ; ; ; ;,;!;%;";#;$;&;);';(;*;+;-;1;.;/;0;2;3U;4UU;6<;7;;8;h;9;O;:;C;;;?;<;=;>;@;A!;B!;D;K;E;G;FHH;H;IH;J  ;L;M;N ;P;\;Q;V;R;U;S;T   ;W;Z;X;Y<<<;[<;];a;^;_;`;b;c ;d;f;e ;g;i;;j;t;k;o;l;m1;n11;p;q;s;r1;u;{;v;x;w;;yH;zH;H;|;;};~H;;;;;;H;;;;;;;;;;;;FFF;FKKȯ;;;;ȯ;wTwT;wT;T<=<=)<<<<<<<<<<<<<<<<<<<<ggg<<<<<< < < <<<<<< <<uu<<u<u<u  < wT<<<<wT<<wTs<<<s<HH<=<=<<<<<H< <  == = == == = |= = = 1|= |1= H1=1H======H==H===#=#=g#=#g==#== g=!="=$=%=&='=(  =*=]=+=A=,=3=-=2=.H=/=1=0 H  H1=4=;=5=8=6=7 =9 =: =<=>===?1=@1=B=P=C=I=D=G=E 1=F1 =H1 1=J=L=K 1 =M=O=NH HH=Q=X=R=U=S=T=V=W=Y=Z=[=\=^=}=_=o=`=h=a=e=b=d=c,,=f=g1,1=i=l1=j=k1=m=n=p=w=q=u=r=t=s||HH=vH=x=z=yu={u=|u=~======== = ====<=<=<=====$=$= $=$ ==== ===================H= H=H ==== === ======== = ||11=1  >==== = = ==gg1====== === zz======$=$$==$===================$$==$==$=Z=Z=====KZKL== L == UU===>)=>=> =>>>>>>>>>> > > g> gg>H > >>H H>>>>>>H>H>H|>,|,>>>,>> >$>!>">#>%>'>&>(>*>:>+>2>,>/>->.>0>1HH1>3>6>4>51 >7>8 >9 >;>H><>B>=>?>>>@>A>C>D>F>E>G>I>P>J>M>K>L>N>O>Q>R>S>U? >V>>W>>X>n>Y>a>Z>]>[1>\11>^>`>_u1uu>b>i>c>f>d>e>g>h; ; >j>k;   >l>m >o>{>p>v>q>s>r>t>u>w>y>xuu>zu>|>>}>>~ >  >>>>>>>>>>>>>>|>|>>;%>>>>;%>;%>>>>>>>q>qq>>>>>>>ww >>> > >>>>>>K>K>>>>>>$>>>>>>>>>>>>$$$>$> > > >> > >>+ +>>>+>>>u>>>>>>u>>H>>H>H>H;;>>;>>>>>>>>>>>?>>>>>>HH>>||u>>>>u>u>> >> > FF??uFu???? ???u?u? ? <<? <? ?????????>?>???>?>??  ? >?!??"?Z?#?@?$?4?%?-?&?*?'#?(?)   #?+H#?,#H?.?1?/uH?0Hu?2?3u?5?<?6?9?7wT?8wTwT?:?;$?=$?>$??$?A?O?B?I?C?Fg?Dg?Eg11?G1?H1 ?J?M ?K?L ?N?P?V?Q?S?R  ?T?U ?W?X?Y?[?v?\?k?]?d?^?a?_|?`|?b |?c| ?e?g?f$ $?h?i$?j?l?p?m?n?o?q?s?r<<?tH?uH<H?w??x?|?y ?z ?{ H ?}??~ ??  ???? HHg???g???? ????????????????ˢ?ˢ??????ˢ??????? ?????? ? ;l?;l?;l??  ?????? ????;3??;3|?|?????????HH?H?H?H ???? ??=! =!?=!?H??<:<:????1???gg????q?q? ??  ?Ak?@?@A?@?????? # ? ?? ?????@ ?@?@?@@11@@@1@H@H@ @@ @@ gH@ Hg@@g@@@@ @@)@@@@ @@ @ @@# @ @!@" @$@&@% @= $$@?$@@ @B@~@C@c@D@T@E@M@F@J@G@I@H@41@14@@@K@KK@A@@@@@g@gKg@gAA&AA!AAAAAAAA A  A AA  A"A# A$A% A'A2A(A+A)A* A,A1A-A/ A. <A0<A3A9A4A7A5 A6 A8AAAAAAAAAAAAAHHAHAHABABABBBBB;;;B;BBB BB B B B BBBBB B  BB!BBBB>> BBB1 B 1B 1B 1 B"B*B#B%B$g gB&B(B'#g##B)#B+B,B.BB/B\B0BGB1B<B2B4B3B5B9B6B8B7;;,,B:B;1,1B=BCB>BA1B?B@1BBuuBDBEuBFBHBOBIBKBJ,BL BM ,BN, BPBUBQBTBR;BS; ;;BVBYBW1BX11BZB[1B]BrB^BiB_BeB`BaBcBbBdgBfBgBhgBjBmBkwBlwUBnBpUBoU11Bq1BsBBtB{BuBxBvBw11By1Bz1$B|B$B}$B~$BBdBBBdBBBBBBBBBBBBBBBBBBBBBBBBHHBHBBBwTwTB$B$wT$BBBBBBBBBBBB=B~=~B~B~BBBBRBBHRHHBBHBB11BBBBBBBB Bg B gBBB>gBg>BK>B>KBBB B KBK BBBBBBBBBBBBB  B:B: :BB B B B3BBBBB3B3B B  HBBBBFBDuBCBCNBC&BC BCBBBBuBuBuCuCCCCCC>C>>C  C  C  > C CCCCCC C>C>>CCC|C|>|CHCH|HCC CCCHC!C$C"gC#gggC%gC'C@C(C3C)C-C*C+C,wwC.C1C/wC0wC2ggC4C<C5C8C6gC7gC9C:C;C=C>C?;;CACLCBCICCCFCDCE<<CG<CH< CJ CK CMHCOC}CPCdCQC\CRCXCSCWCTCU|CV|CYFCZC[UFUC]C`C^C_U11$CaCb$Cc$CeCrCfCmCgCjChCiKKCk KClK  CnCoCqCp CsCvCtCuCwCzCxCy1>>CC>CCCC C CCCCCCC C  CC/>CC C C uuCCCCCCCCHCCHCHCCCCCC˃C˃CCmCCCCCCmCmKK;CCC C ; qCqCq  CCDDDDDDD>DD#DDD DD DD D D  DD; ; DD; |*D$|*$DDDDDHDH$HDDHDD! D D  D"D$D1D%D+D&D)D',D(,D*w,wD,D.D-D/D0D2D6D3D41D511D7D<D8D:D91D;D=D?D\D@DNDADHDBDEDCDDDFDGDIDLDJDKDM  DODVDPDS DQ DR DTDUDWDZDX,DY,D[ , D]DgD^Db D_D`Da DcDeDduuDf u DhDoDiDlDjHDkH HDmHDnHDpDrDqDsDtg DvEADwDDxDDyDDzDD{DgD|D}HD~HgHDDDDDYHYY  DD DDDDDDDDffDfDfDDDDDDDDDD D   D bDDDDbD11DDD1DDDDDDDDDDwTDDDwTDwTDUUDDDDD$$DDg$gDDDgDgeDDDDDDDeDDYDDUYUDUDUDDDDuDDDuD1DD1D1D1HHDHDHgDEDDDDDDDDDDU  DD< <DDD,<D<,DD,DDDDDD1DDD D  DEDDDDwwEEwEEEEUEE#E EE EE EE WUE UWEEEtWttEtEEHEHHEEEEEHEEE Eww,E!,E",1E$E2E%E+E&E)1E'1E(1E*E,E.E-E/E0E1UUTE3E8E4E5TE6E7E9E<E:E;E=E?E>|*|*|*E@|*UEBEECEpEDE`EEEREFEOEGELEHEJEI|*|*EK|*EMEN   EPEQ   ESEZETEVEU EWEX<<EY<gE[E^gE\E]4g4E_ 4 EaEjEbEf EcEdEe EgEhֹEiֹEkElֹEmEnEoEqEErE|EsExEtEvEuEwEyEz;E{;E}EE~EEZEZZEEZEEEEE|E|  E EEEEE  EE EE    EEEEEEEȽȽEEEE   E EEEEEEEEEPEPEE  PEEEEEE EEEE E E ggEgEEEEEEEEEEEEEEEHEHEEHEEHEEEEEEEEHEHEEHEEHE,,EEEEEEEEEUEU,UEEEE$EEEE$EEHHEHEEHEEEEEEHEHEHEHEEFF1F11FFF 1  F FGF FF F_F F6F F&F FFFFFF F   FF F1F 1F1F1 FF!FF F FF F"F#F$F%4F'F.F(F*F) 4 F+F,gF-g gF/F0F3F1HF2HF4HF5HF7FNF8FBF9F<F:F;F=F@F>F?FAFCFGFDFEFFFHFKFIFJ  FLFM FOFVFPFSFQFRHHȡFTFUȡFWF]FXF[FYFZF\;;F^ ; F`FFaFzFbFnFcFgFdFeFf FhFkFiFjwwFl1wFmw1FoFuFpFsFq1Fr1FtFvFyFwFxF{FF|F}F~FFFFFFFFFFFgFgFFFgFgFFFFFFFFFFF>F>>F F > FF FFH HHFHFHFFFFFUFFFFF,F,F,FF$F$F$FFFFKFKFFFFFFFFFG+FFFFFFFFFFFFFFHHHFHFFF  F  FF F F F 1FF1F1F1FFFFFFFllFlFFFF  F FFFF^FgFg^gFFFFgqqFq>FGFGFFFF>UFHUFUHGGGwHGHwGG.w.GG GG G G :G :GGGG: G G GG"GGGGGGGGGG GWWG!WG#G$HG%G(G&|G'|G)G*UG,G`G-GHG.G=G/G5G0G4G1G3G2G6G;G7G9G8G:G< G>GDG?G@ GAGCGBGEGGGF1GIGSGJGLGK 1 GMGPGN|GO| |GQHGRH|HGTG]GUGZGVGXGWHGY  G[G\ G^G_HH GaG{GbGpGcGiGdGfGe< <Gg Gh < GjGm GkGl GnGo$$GqGxGrGu$GsGtu$uuGvuGwu  Gy Gz G|GG}GG~GGGGGGGGGGGGGGGUGUUGH\GGGGGGGGGGGGGGG!G!GGGGGHHGGHG  GGG GGGGGGGG   GGGG<<<G<GGGGGGG GGG GGGGGGGGG1G11GGGG1GGGGG;GHGH;HGGGGHGGGGGGHGGGGGGGGGGGGFFFGFKKȯGGGGȯGwTwTGwTGH(H3H)H-H* HH+HH,H H.H0H/wT wTH1H2wTH4H;H5H8H6H7KKH9H:KH<H= H?HMH@HGHAHD HBHC HEHFHHHKHIHJHLHNHWHOHRHPHQHSHUHT<+<+<+HV<+HXHYHZH[H]HH^HH_HzH`HjHaHdHbHcHeHhHfHgHiHkHsHlHpHmHoHnHqHrHtHwHu1Hv1Hx1Hy1H{HH|H}HH~gHgHHgHHHHHHHHHHHHHHH H HHHw wwHwHwHH#w#HHHH#HH#HHHHHHHHHgHggHgHHHHHHHHHHHHHHHHHHHHHHHHHHHHHwTHwTHwTHHHHHHHH$H$H$HHHHH&]H]&HHH#&#H#HHHHHHHHHHHHHHHHHHHHHHHH,,HHHu,uuHuHHHHHHHHwTwTHwTuHIHHHHuHHHHHHHHHHHHHHHIHHHsII|s|II II IIII I   I IIIIKIK KIHIHKHIIIIIAHAA$$IIIIII I!I"I6I#I$I%I*I&I'I(I)I+I,I-I0I.I/ I1I4I2I3w1 I5 I7I8I9I:I;I<I=I>I@IAIIBICIDIjIEIQIFIIIGIH8IJILIK{CIMIOIN8IP8IRI\ISIWITIUIV88IXIY8IZI[g{CI]I^I_I`IaIbIcIdIeIfIgIhIiIkIIlIImIyInIwIoIpIrIqwIsItwIuIvnn;lIx8IzII{II|II}mI~mImmImmII I8IIIIII8II88{CI8II8IIIII8II8II8IIIIII II I1IIJIJIJ4IIIIIIIIIIII I IJIIIIII IIIIIIIIIIIIIIIIIIIIIIIIIIIIIII1IIIII  IIIIIw wII$ IIII1IIIIIII1HIIIII ggwIIw HIJIJIJIJ1JJJ1H$JJJJ J J ggwJ J w  HJJJJJ0JJJJJJJJ(JJ1JJ#JJ JHHJ!J"  J$J%J&wHJ'HJ)J*J-J+J, J.J/J1J2J3J5J6JuJ7JNJ8J@J9J:J>J;J<J=wJ?JAJBJCJFJDJEgJGJIJHgJJJKJLJMJOJfJPJQJ[JRJVJSJTJU JWJXJYJZ  J\J]JaJ^J_J`w1wJbJeJcJd1  JgJkJhJiJjHJlJrJmJnJqJoJp11JsJtwJvJwJxJJyJzJ{J|J~J}ggJ g JJJJ H JJ JJ JJJJJJJ JJJwJJwJJ11JK*JJJJJJJJJJJJJ JJ JJJJJ JJJ JJ JJJJJJJJJ JJJ   JJJJ JJ 11>JJ JJJJ$JJJ JJ$JJJJJJJJJuJJ  JJ$JJKJJJJJKYYuJJJJJJJuJ JJgJKJKJJJJJJJJJwJKJJJJJJ KKHKg1KKKK1K KK K K K  K K K1KKKKKKHK$KKK1KK#KwKK K!K"K$K'K%K&>K(K)$ K+K,K<K-K.K0K/HHK1K2K3K8K4K5 K6K7K9K:K;K=K>K?K@KAKBKCKDKFOKGMKHKKIKlKJK_KKKWKLKQKMKOKN KPKRKTKSKUKVuKXKZKYHK[K\K]K^K`KgKaKbKcKdKfKe  KhKjKiKkKmKKnKrKoKpKqwUKsKvKtKuKwKzKxKyK{K|K}K~1KKKKKKKKKK11KKKKKKK$KKKKKKKKKKHKKHK1K1KKKKKKKKKKuKKKKKKKKKKHHKKKKK1KKKKw1K11KKKKKK KKgKLRKKKKKKKKKKKKw KKKKKKKKKKKKKKKHKK KKL6KL/KKKwKKKKwwKKKKKK#KLKKLKKKKKK11KK11KLLL111LL LLL1L11L L 1L L 1LLLLLLLL11LLLLLL1L1LL&LL!L 1L"L$L#1L%11L'L,L(L*L)1L+11L-L.1L0L1$L2L3L4$L5$L7LFL8L?L9L>L:$L;L=$L<$$$L@LALBLELCLD/LGLMLHLILJLKLL1LNLO LPLQ LSLLTL}LUL_LVLZLWLXLY$$L[L\L]L^$L`LlLaLbLcLdLgLeLfYLhLjLi1Lk1Lm>LnLvLoLuLpLsLqLrLtLwLzLxLyKL{L|L~LLLLLLLLgLLLLLLLLLLLLLL$$LL##LLLL LLLLLLLL LLL1LLHwLLLLLLKLLLLLwLYLL|wLLLLLLLL1LLLL 1L11LL LLL 1LLL1LLLLLLLLL11LLLLLL11LL11LLL1L1LLLLLLL1LLLLL11LL11LLLLLL11LL11LL1LMLMLMLLLL11M1M1MMMM M M MM YM MM YYM Y MNMMmMMEMM(MMMMM MMM  HMMM&M M#M!M" M$M%M' wM)M4M*M1M+M,HM-M.M/M0uuM2uM3M5M<M6M7M8M9uM: M;M=M>uuM?M@MBMAuMCUMDwMFMTMGMNMHMIMMMJMK ML  MO  MP MQ MR MS MUMdMVM]MWM\MXMYM[ MZuuM^KuM_M`MbMaKuKKMcKMeMfKMgMlMhMiMjuMkwwwMnMMoMMpMyMqMxMrMswMtMuMwMvu MzMM{M|M}MM~MMMMMMM MMMMMMM  MK MMM  HMMHMMMMMMMMMMMMMMMM11MM1MMMMM11MMMM11MM11MMMMMMM11MM11MMMM11M1MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMwMMMMKuMNMNMMNNNN NNNNN N N gN  N HNNNNNNNN N1NNuNNN1NNNNTN N6N!N'N"N#N$N%N&N(N-N)N*N+N,HgN.UN/N0N3N1N2N4N5 N7NGN8N<N9N:N;1 N=N>NCN?NAN@NBNDNFHNE NHNMNINJ NKNL|*HNNNPNO NQNRNS  NUNoNVNgNWNaNXNYN_NZN^ N[N\N]HHHN`NbNcNdNeNf NhNiNjNkNlHNmNnuNpNNqNzKNrNsNuHNtHNvNwuNxNy HN{N|NN}HN~ NNNNNNNNNHNNNNNNNNNN1NNNNN1NNNNNNNNNN#N1NNNN NNHNUNNNNUNNNNNNNNNN N N NNNN NN  NNNN  N N NNNNN  NNN N|UNNgNNNNgNg NNNNNNNNNNN|H|NNNNNNNNuH|NNNNwNNN$NNNNNNNNNHNN|NNNO|OOHOQOPOOOOxOO4O O&O O!O O O OOOOOOOOOOOOOOOOOOO O"O#O$O% O'O/O(O)O*O,O+O- O.O0O1O2O3 HO5OrO6OdO7OaO8O_O9O: |O;O< O=O>OUO?OF O@OAOC OB ODOE  OGONOHOKOIOJ  OLOM  OOOROPOQ  OSOT  OV OW OXO[OYOZ  O\  O]O^  O`HHObOcHOeOfOlOgOh OiOjOkHwOmOpOnOo Oq1OsOtOu OvOwwOyOOzOO{OO|O}O~OOO wHOOOHOOO OOOOOgwOw wOOOOOwOOOOOwOOOOOOOUUwwOOOOOww OOOOOOO OOOOOOOOHOO >OOOOO>1OOOOOOOHOOOOOOOOOOOKO1OOOOOOwOPlOOPjOOOOOOOOOOOOO>>OOOOOO>>OO>>OOOOO>>O>OP1OPOPOOOO  OOO O P P PPPP P PP P  P  P P   PPPPPP PP PPPP  PP  PP'PP#PP!P   P" P$P% P& P(P-P)P+P*  P, P.P/P0  P2P^P3PJP4P>P5P8P6P7  P9P<P:P;  P= P?PDP@PBPA PC PEPHPFPG  PI PKPTPLPOPMPN  PPPRPQ  PS PUPYPVPW PX PZP\P[ P] P_P`PaPfPbPdPc  Pe PgPhPi  PkgPmPrPnPqPoPp PsPt Pu PvPxPw PyPPzP{P|PP}PP~PPPPP  PP  PPPP  PP  PPPPPP PP PPPPP  P PPP  P PPPPPP  PPP  P PPPPP  P PPP  P PPPPPPPPPPP  P PPP  P PPPPP  P PPP  P PPPPPPP  P PPP  P PPPPP  P PPP  PPPPP  PPPP  PPP nPQCPQ PQPPPPPPPPPPKKHPPQQ QQQ  QQH QQ Q QQ QQ QKQQQQKK|QQQQQUUQQ;QQ4QQQ#QQ Q!Q"Q#Q(Q$Q%Q&Q'11Q)Q0Q*Q-Q+Q,11Q.Q/11Q1Q2Q31Q5Q6Q9Q7Q8 Q:1Q<QAQ=Q>unQ?Q@QBQDQQEQjQFQeQGQHQIQJQKQLQMQNQOQ^QPQWQQQTQRQSQUQVQXQ[QYQZQ\Q]Q_Q`QaQbQcQdQfHQgQhQiHQkQuQlQmQpQnQoHQqQrQsQtQvQQwQxQyQ|QzQ{1Q}Q~ QQQQ$Q Q QQQQQQQQQwQQQQQQ QQQQ Q QQQQRQQQQQQQQQQQQQQ11QH QQQ QQ Q QQQQQHQQQQQQQQHQQHHQQQHKQuQ QQQQQQQQHQQHHHQQQQH>qQQQQqQQQ QQHQHQQQQQQYw  QQQQQQ1#Q#QQ##QR!QRQQQQQQQQQ# QwwHwQQwQw QwRRwRRRRRwwRwwRR R RR R R #R  RRRRRRR:RRRR RRRRR w R"RR#R|R$RvR%R&RsR'R(R)R*HR+RUR,RFR-R6R.R1R/R011R2R4R31R51R7R?R8R<R9R:1R;1R=R>11R@RCRARB11RDRE11RGRHRORIRLRJRK11RMRN11RPRSRQRR11RT1RVR_RWR[RXRYRZ1R\R]R^1R`RgRaRbRdRc1ReRf11RhRoRiRlRjRk11RmRn11RpRqRr1RtRu 1RwRxRyRz1R{UUR}RR~RUURRRRRRRRRRRR RRwRRRRR RR RR1RSRRRRRRRRRRRR1RRR H HKRRRRRHRRRHHR RHRRRR R HRwRRRR RRRRwTRwTRRRRRRRRRRRRRRRRRRRRRRRHRRHR|HRRRRRRRRHRRRRHRRRHRHRHRRRRnRRRHnHRHRS RSRRR RR RR$R SS SSSSSSgSS  HS  S SSSHSSSSSHH#SSGSS2SS,SS(SS#SSS SSS!S"gS$S%S&S'HS)S*S+ S-S. S/S0 S1 S3SAS4S;S5S6S7S:S8S9 HS<S=S>S?S@uSBSCSDSESFHHSHSRSISJSOSKSLSMSNSPSQ SSSTSWSUSV  SXSZYS[WS\VXS]US^SS_S`S}SaSrSbSdScSeSf{CSg{CSh{CSiSj{C{CSkSl{C{CSm{CSnSo{C{CSpSq{C{CSsS{StSu8SvSwSySx88Sz S|8S~SS8SSSSSSSSg8SS8SSSSS8{CSUiSTST SSSSSSSSSSSSuSSSS S SSSSSSSSSSSSSSHSSSS |*SS uSSSSSSSS$wSSYSSSS #u SSSSSSS>& SSYSSSSHSSUgSSSSSSSSS  S SSSgHSSSS# SSSSS|*wS>SSSSSSu SSSSSSSSSg$SSSuS TTTTT1TT   TT TT HT TDT T(TTTTTTT>TTwwTTTTKuTTT"TT TTK1T!# T#T%T$$ T&T'1gT)T4T*T.T+T,T- uT/T1T0 T2T3wT5T=T6T;T7T:T8T9n T<$HT>TAT?T@g  TBTC^uHTETaTFTVTGTPTHTKTITJ## TLTMH TNuTOTQTTTRTS1 TUTWT]TXTZTY|T[T\#T^T_T`TbTrTcTkTdTiTeTfTgThYTjTlToTmTnHKTpTq#TsT~TtTwTuTvwTxTyKTzT{T|T}TTTTUHTT1|*TTTTTTTTTTTTHTTg#TTTTTT##TwTTU|*TTTTTHTYTTTT|*TqHTTTTTTTT|* |TTT|*TYTTTTTTTT  TT1TTTTTT>uYTTuTTTTTu TTTTTTTT$|T UTTTYTUTTTTT$ TT gTTTTgw#TTU*TUTTTTTTTHTTH1TTTT|*TTH1 TTTTT1TTTgTggTUT UUHUUHUUUUUU U U gHU U  UUUUUUUUUU UUHwUU#UU UUY1 U!U" wU$U'U%U&gHU(U)HuU+UOU,U8U-U1U.uU/U0uuKU2U5U3U4uKU6U7uU9UEU:U=U;U<1 U>UAU?YU@gUBUCUDHYUFUMUGUHKUIUKUJgULHgUNuUPU\UQUWURUTUSUUUV#>HUXUZUYKU[ U]UcU^UaU_U` Ub uUdUfUe UgUh|*|UjUUkU}UlUmUnUuUoUrUpUq UsUt#HUvUyUwUx UzU{U|H#U~UUUUUUUU UU UUUUU|UUUU U UUUUUUUU UU  UUUUUUUU1gUUUU  UUUUUUUUUUgU UUUUHUUgUUUUUUwUUUU YUUUUUUUUUUUUUUwgUUUUU Hg UUUUqUUUUUUUUUUUUU   UUUUUUUUUU   UUV UUVUUUUUUVUUV V  VVVVVV V V 8V V VVVVVVVV VVVVV VVKuVVV1V!VCV"V0V#V(V$V%V&V'8V)V*V-V+V,1V.V/1V1V>V2V3V;V4V5V6V7V8V9V:V<V=$V?V@VAVB VDVEVOVFVJ\VGOVH\VI=0VK\VLVNVMOOVPVTVQVRVS Q QɓVU QVV4VW#P QVYVVZVV[VV\VV]V{V^VgV_V`VaVbVcVdVeVf VhVpViVjVkVlVmVnVo VqVrVsVtVuVvVwVxVygVzgV|V}V~VVVVVVVVgVVggVVVV8VVVVVVVV\VVVVVgVVVVVVVVVVV VVV VVVVVVVVVV VVVV VVVVVVVVVV VVVV VVVVVVVVVVVV VVVVVVuVVV1V%VVVVVV8V8V8V8{C8VWFVW:VWVVVVVVVV8VVVV4VVV8VW VW VWVVVWVWWWWW WW uW 8W 8W 8WWWW8WWW8WW)WWWWWW8WWW88W W#W!W"IW$W%{CW&W'W(W*W3W+W-W,8W.W/W2W0W18W4W7W5W68W8W9W;W<WCW=W>W?W@WAWBWD#WE#WGWWHWWIWWWJWK8WLWMWPWNWOWQWTWRWSwK WUWVKHWXW`WYWZW^W[W\W] W_8WaWgWb\Wc\WdWeWf\\=:WhWiWtWjWkWlWmWnWoWpWqWrWsgWuWvwWw1WxWyWzWW{W|W}W~WgWWWWWgW88W8W8W8W8WW8W8W8W88WW88WW8W8{C88WWW8W8WWW{C8{C{C8WYWYpWX4WX3WX'WWWWWWWWWWW!Ww!!Ww!!W!wWWW!W!!!W!W!=E!{CWXWWWWWWWWWWWWWWW WWWWWWWWWWWWWWWWWWWWWWW WWWWWWWWWWWWWWWWWWWqWX WWXWWWWWWWWWWqWXXXXX XXXX X X X Xw8XXXXX8XXXXXXXXXXX{C8X X#X!X"8X$8X%X&{C8{C8X(X)X+X*1X,X-X.wX/wX0X11X2Hw8X5YX6XX7XVX8XKX9X>X:X;X<X=X?X@XFXAXCXB XDXE wTXGXIXHwTXJ XLXQXMXNXOXP=XRXSXTXUwTXWXuXXXfXYX]XZX[X\=X^XcX_XaX` Xb XdXe XgXnXhXkXiXj XlXm XoXrXpXq XsXtwXvXwXXxX{XyXz X|X~X} X XXX XXXXXXXXXXXXX XwTXXXuwTXXXXwXXwTXXXXX=XXXXXXXXXXwTXwTXXXXXwTwTXXXXwTwTXwTXXXXXXwTXXXwTXwTXXXXwTwTXXXXXXXXXXXwTXwTXXXwTXwTXXXwTXXXXXXXXwTwTXXwT XXXwTXXwTwTXXXXwTXwTXXXXXXXXwTwTXXwT XXXXXXwTXXwTXYXXYwTwTYwTYY=YYYYYY Y YY YY YY Y YY{C=T=dx8YYYHYYYYYYgYYY.Y Y'Y!Y&Y"Y#  Y$Y%  Y(Y)Y*Y+Y,Y- Y/Y5Y0Y2Y1 uKY3Y41 Y6Y7Y;Y8Y9Y:Y< Y>YKY?Y@YAYHYBYEYCYD QYF QYG'YIYJYLYMYXYNYSYOYPYQYRYTYWYU8YV{C8YYYjYZYiY[Y^Y\Y]qY_Yh8Y`Ya=tYb=tYc=t=tYdYe=t=tYfYg=t{C=t{CM8YkYoYlYmYnˢ88YqYYrY{YsYtYuYvYwYxYyYz Y|Y}YY~Y8YYYYYYYwYYYYY8Y88YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY\ Y[(YZYZbYZEYZYYYYYYYYYYYYYYYYYYYYYYYYYYYY8YYYY8YY8YYYYYY8YYYYYYYYYYYYY=YY88YZYZ YZYYYZY88YY88Y8YY8Y8Y8{C88Z8ZZ8Z88Z8Z{C8ZZ 88Z Z Z 8ZZZ$$ZZZ8ZZ8ZZ2ZZ ZZZZZ Z88Z!Z/Z"Z#8Z$Z%8Z&Z'Z(Z)Z*Z+Z,Z-Z.Z0Z18Z3Z@Z4Z7Z5Z68Z8Z:Z98Z;Z<Z>Z=Z? ZAZBZDZC=8ZFZaZGZTZHZSZI8ZJZNZKZLZM{CZOZP8ZQ8ZR {CZUZ[ZVZWZYZX ZZZ\Z]Z^Z_Z`w8ZcZdZiZeZfZgZh11ZjZqZkZlZpZmZnZoZrZ#ZsZt##Zu#Zv#ZwZx##ZyZz#Z{##Z|Z}#Z~#Z#w##Z#ZZ#ZZ#Z##ZZ#Z#Z#Z#Z##ZZ##ZZZZZZZZZ8ZZ8ZZZZZZZZZgZgZgZgZgZgZZZZZgZZggZZgZgZgZgZggZgZgZZggZgZZgZZ ggZZZZZZ ZZZ ZZZ8gZgZgZgZgZgZZgZZZZZZZZZZZZZggZggZZZZZ ZZZZ ZZ ZZZZZZZZZZZZZZZZZZZZ[ Z[[[[[[[[[[ [ [ g[ [[[[[[[[[[[g[[[[["[[[[ [!g[#[$[%[&['g[)[M[*[F[+[>[,[.[-[/[0w[1[2[3[4[5[6[7[8[9[:[;[<[=w[?[D[@[Aw[B[C[EHH[G[H[K[I[J 1[L1[N[[O[P[[Q[b[R[W[S[T[V[U88[X[^[Y[[[Z[\[]88[_[`[a8 [c[h[d[e[f[g[i[y[j[w[k[l[o[m[n1g[p[v[q[r1[s1[t1g[ug1[x$[z[[{[|[}[[~[[[| [[ ` u8[C[[[[[[[[8[C[8[[[[[ Q[[[8[8g[[[[[[8[8[[8[[[[[88[[[[[[[[[[[[18[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[8[[[[[[8[[[[[\[[[\[\[[9\O Q[[[[ Q[[[[[[[[u\O\[[[[O\[[\u[[[\\\\\ \\\\\  \ ^\ \\ \\\\A\\<\\0\\\\\\\\|\\\\\*.8\\+8\ \!\"\#H\$H\%H\&H\'H\(\)HH\*H\,\/8\-{C\.==8\18\2\3\6\4\5u\7\:\8\9 \;  \=\>{C{C\?\@{C{C\B\U\C\H\D\E\F\Gg\I\N\J\K\L\Mw\O\P\S\Q\R \T\V\[\W\X{C\Y\Zg\\\\]\^\_\`\a\n\b\c\d\i\e\f\g\hg\j\k\l\mg\o\p\v\q\r\s\t\ug\w\x\|\y\z\{g\}\~\g\\{C\\\\\\\\\\\\\\\\\\g\\\\\\\\\g\\\\\\\\\g\gg\\\\g\\\\\\g\\g\ \\\\\\\\g\\\\\\\\g\gg\g\\g\gg\\gg\\\\g\]\] \\\\\\\\\8\8\\\\\\8\\\\\g\\g\\\\\\\\#P\ Q\\#P\\'\#P\ Q\\\\]\]\1]1]]]]]]]] ] ] ] ] 1]]]]]1]]]1]]]]]]]]]11]!]"]]#]U]$]<]%]1]&],]'])]({C{C8]*]+{C88]-].{C8]/]08{C{C{]2]8]3]5]4{C{[]6]7{8{C88]9]:];{C8{C8]=]I]>]C]?]B]@]A{CG8{C8{C]D]F8]E{C8]G]Ho{C8]J]P]K]N]L]M8T=8]O{C{C]Q]S]R{C8M8]T{C ]V]l]W]c]X]]]Y][]Z8G 8]\{Cj]^]`]_8{C]a]b={C8o]d]h]e]g]f8t88{C]i{C]j]k8. 8]m]y]n]s]o]q]p8 {C8]r{C{]t]v]u88=]w]x{8j]z]}{C]{]|8{C8]~]]]{C8{C]]8]8=8][{C[]]]]]]]]8]]]8{C8]]]]8{C8{C]8{{C8]]]]8{C88{C]]]]{C]]{C8{C]]]]T{C{C]8]]88]]8]8]8]]8{C{C8]jj8]]]]]]{8{Cj]{C8j]]]88{C]]j {C8]]]]]]]]8]8{C]{C8{C]]8{]{C8T]]]]8]8 ]]{C8{C8]]8]8{C]8{C8]]]]]]]] {C8{C]{C{C8]]]88{C]88{C]]]]8]8{C]8 8]]{C]8[]{CG{C]^ ]]]]]]=]]]]$=̿]^]]]]]]]]]^^^^^^^^^ ^ ^}^ ^&^ ^^^^^^#P^O^)^^^ Q^'0^^^^'0^'0^^#^ ^!^"^$^%1^'^r^(^i^)^5^*^+^,^-^.^/^0^1^2^3^4g^6^^^71^8^H^9^:^A^;^<^=^>^?^@g^B^C^D^E^F^Gg^I^Q^J^K^L^M^N^O^Pg^R^S^T^Y^U^V^W^Xg^Z^[^\^]g^_^`^a^b^c^d^e^f^g^hg^j^n^k ^l^m1^o^q^p  ^s^v^t^uC^w^x^y^{C^z8^|^~^^^^^^^^^g^^#P^'wE^^^ Q,^'^'^^,^^^^^^^^^) Q#P^ Q^^^^ Q^'0^'M^^^wE,wE^ Q^^^^^^'0^^y Q^^^y Q^^ Q^ Q^` ^^^^^^8^^^^^^^^^^^^^^^^^^^^^^^^8^8^8^^^^^{C^^88^^^^^^^^^8^^^^^^Hn^^^^^^^^g^_^_^_^^^^^^^_8^^_F__*____ P_P_P__P_PP_P>_ P_ P_ P_ PP__P>P___PP__PP__PP_P>__$___PP__P_P>PP_ P_!P_"P_#>P_%P_&P_'P_(P_)PP>_+_>_,P_-_8_._3P_/_0PP_1P_2P>P_4P_5_6P_7PP>P_9_:P_;P_<P_=PP>_?PP_@_AP_BPP_C_DPP_E>P_G_c_H_PP_I_JPP_K_LPP_M_NPP_O>P_Q_XP_R_SPP_T_UP_VP_WP>PP_Y_ZP_[___\P_]P_^P>P_`P_aP_bP>P_d_rP_e_f_lP_gP_hP_i_jPP_kP>P_m_nPP_o_pP_qPP>_s__tPP_u_v_zP_wP_x_yP>P_{_~_|PP_}>PP__PP>P_P__PP__P_P>P{C______8_____8___ ___8_______8____1 ___{g_k_____8__k Q_______st t s__t sst ______8__8_88__88_8_8__88_8__8_{C_____8__>___ ___8___8_`_________\\___\_____\_____8___8C_8_8____8_````{C{C``8``8` `` `F` `` ``````` ```g```` `` ``.` `!`(`"`#`$`&`% Q Q`'O Q`)`+`* Q`, Q`-4 Q`/8`0`6`1`2`5`38`4 8`7`=`8`9`;`:1`<`>`C`?`A`@`B`D`Es`G``H`|`I`d}`J`K```L`M`N`Z`OII`P`Q`T`R`SII`U`X`V`WII`YI`[I`\I`]II`^I`_I`a`b`c8`e`f`g`h`z`i`jU`k`l`s`m`n`o`p`q`r`t`u`v`w`x`y`{w`}``~````````g``n g````  `KP`````` ```````  ` ```u`wT````w`````8```````u````u8````````w````1`a`aG`a``````````` ```wT```wT``````````&````wT`wT```````wT```wT````````wTwT` ``wT`a```wT`wTaawTaa&wTaa'aaaaa aa a a wTa &aawTaaaawTwTaaaaaawTawTawTaa"a a!wTa#a%a$wTa&wTa(a6a)a0a*a-a+a,&a.a/&a1a4a2a3&a5&a7a@a8a;a9a:wTa<a>a= a?wTaAaDaBaCwTaEaFwTaHaaIajaJaZaKaUaLaOaMaNwTaPaRaQwTaSaTwTwTaVaWaXaYwTwTa[aca\a`a]a^a_wTwTaaabwTadaeahafagwTwTaiwTakawalasamapanao aqaratauavaxaaya|aza{wTa}a~awTwTaaaaaaaaaaawTawTaaaaawTawTaa wTaaaaaaa wTaawTaaaawTaawTaaaaaaaaaawaawwTwTaaaaaHawTaaawTwTaaaaaaaaaaaaaaa8aaa8a8aaa8aaaaPaaaaaaa  )a)Paaaaa8aaaaa8aaaa8aaab&ab#aaaaa88a{C8aaaaa8aa8aaaabbbb bbb bbb11bbHHwb b b wHbbbbbbUUbUbUbbbb1$bHHbbbbb!b wwb"1Ub$b%b'b/b(b+b)b*8b,b-b.C>$>3b0b6b1b2b38b4b5b7b9b8b:$b<bb=bb>bb?bS6b@6bA6bB6bCbD66bEbF66bG6bHbI66bJbK6bL66bM6bNbO6bP66bQ6bR6bTbbUbbVbxbWHbXbqbYbdbZb`Hb[b\b^&b]Hb_>BbaHbbHbcH>RbebkHbfHbgHbhbibjHbl&bmHbnHbobpHbrHbsbvbtbuH>Bbw>Rbyb}bzHHb{Hb|Hb~HbHHbHbbHbbb&bbb>a>Bbbbbb>RbHHbbHbHHbHbbbbbbHbbHbbHHbbHbH&bbHHbbbbHbbHHbbbbbbbb&bbb&&bbbbbb&bbb&bb&&bbbbbbbbHb>BHbHbHbb&bbbbbbbHbbHb>RHbHbb!/bb!bbbvbbbbbb66bbb6bb6b66b6b6>q6bb66bb66b>q6bbbb6!bb6b6bb6b6bc ccV6ccccccH6cc /c 1f6c c:cc7cc-cc(ccc$cccc!ccccccc*cc cc!c"$c#c%c&c'ac)c*c+c,c.c4c/c0c2c1*c3c5ac6c8c9ac;cjc<c=c>c?c@cAcBcCc]cDc[cEcNcFcG8{CcH8{CcI8cJ8cKcL8cM8{C8cOcRcPcQ8{C8{CcScT8{C8cUcV88cW{CcXcY{CcZ{C{C8c\c^c_cgc`cbca cccecd  cf  ch ci ckjclfcmccncocpcqcrcsctcucvcwcxcyczc{c|c}c~cccdxccccccccccccccc1ccccccc1cccccccccccccccccccccccccccccccccccccccccccc1cdTcd>cccccccccccccccgcccccc!ccc!!c!cc!!!c!ccc!x !ccdccccccccccccccccccc cccccddddddddddd d d dd d dddddddddddddd5dd&dd d!d"d#d$d%d'd.d(d)d*d+d,d-d/d0d1d2d3d4d6d7d8d9d:d;d<d=$d?dMd@dAdIdBdDdCdEdGdFdHdJdKdLdN8dOdPdRdQ dS dUd]dVdWdXdYdZd[d\d^did_ddd`dadbdc dedfdgdhdjdqdkdldmdodn1dpdrdsdudtdvdw1dyedzeTd{dd|dd}dd~ddddddddddddd8ddddddddddddddgdggdddd ddddddddddddgdggdddddddddgdggdeddddddddddd2dd2>?dd2ddddd2dd?2ddddddd?ddddd22d>ddddd22d>ddd2d22ddddd2dd>2dddddd>ddddedddd>2>ddd2d?2eee2eee22e?e e/e ee ee ee e2ee2e22eeeee>e2ee2e2ee&ee"e e!22e#e%e$22e'e,e(e*e)>2e+2e-e.22e0e?e1e9e2e4e32e5e7e62e82e:e<e;2e=2e>2e@eHeAeDeBeC22eEeF2eG2eIeMeJeKeL?M?MeNeQeOeP?M?MeReS?2?MeUeueVeWegeXeYeZe[eee\e]e^e_e`eaebecedefeheneiejekelem eoepeqeser etueveeweexeeyeeze~e{e|e}eee1e1eeeeee wuee Uee eeeeeeUUeUeUeeUUeU>ee$1#eUeUeUeUeHUeeeeeeeeU$Ue$eeHeeUeeUUeeUUeeUUe$UeHUeeeeeeeeeeeeeeeeeeeeeeeeee#eeHeeeeeeeeeeeegeeeeeeeeeegewueeeeeee eee eeeee#ee8efefefff ffffff f f f ff fffff fh(fg<ff8fff"ffffff f!1f#f/f$f,f%f&8f'f+f(f)8f*88{C8f-f.88f0f1f7f2f3f4f5f6{Cg Qf9g f:ff;fyf<fSf=fHf>fAf?f@ fBfEfCfD fFfG fIfJfOfKfMfL1fN fPfRfQ  fTfefUfZfVfWfXfY  f[f`f\f] f^f_ wTfafcfb fd fffnfgfjfhfi fkflfm  foftfpfrfq fs fufwfv fx fzff{ff|ff}f~f fff ffffff f fffff wTffffffff f ffwTffff ff fffff f ffffffffffff ffBfffffBfBffBffffffffffffffffffKffffKfKffffffKffffKKfKffffKfffKfKffffffffff#f#fffKffff#fgfgffg1ggg#gggg g g wTg gg*gggggggggggggggggg g!g"g#g$g%g&g(g'Hg)Hg+g-g,#g.g/g08g1g2g3g4gg5gg6gg7g8ggg9g:ggg;gg=gg>gg?gg@gvgAgcgBgOgCgNgDgIgEgHgFgG̿̿=gJgLgKO\\gM\\gPg[gQgVgRgUgSgT5\\gWgYgXOgZ\Rg\g`g]g^5g_gagbgdgmgeghgfggugigjgkgl\\gngrgogpgqugsgtgu5gwggxgyggzg}g{g|\9g~ggg\gg\ggg\ggggggg\\g\ggggg\gggRgggggggggggg\\gggg\g\gggggg\gg\ggggggg\gggggg\g/ ggggggg\gggg\g\gg\gggggg\ggggg\ggggg\g\ggg\g\g8gh gggggggggggggggggggggggghhhhhhhhhh h h hh hhhhhhhhhhhhhhhhhh h!h"h#h$h%h&h'h)h{h*h5h+h,h4h-h.h/h0h1h2h38h6hYh7h=h8h9h:h;h<h>hAh?h@\hBhChPhDhKhEhHhFhG QhIhJhLhOhMhN' QhQhRhVhShTghUg ghWghXghZhzh[h`h\h^h]{Ch_hahlhbhkhchdhhhe\hfhg ghihj{Chmhnhohphqhrhshthuhvhwhxhy |h|ih}hh~hhhhhhhhhhhhhhhhhhhhhhhhhh>hhhhhhhhhhhhhhhhhhwThhhhKhhhhhKhKhhghhhhhhhhhhghhhghhgghhhwThhhhhhhghghhghhhhhghhgghhghhhhhhhhwThh>hhhhghhhghhgghhhhhghhghhhhhhhhhiiiigijiijii i ii iTi i i PPiiiiPiPiPPiiPiPP>iPPiiPiiiPiP>PPiPiP>i!i<i"i.i#Pi$Pi%Pi&i*Pi'Pi(i)P>Pi+PPi,Pi-P>i/Pi0i6i1Pi2Pi3PPi4Pi5P>Pi7Pi8Pi9i:Pi;PP>i=iEi>PPi?Pi@PiAPiBPiCiDP>PiFiMiGPPiHPiIiJPiKPiLP>PiNPiOPPiPiQPiRPiSP>PiUiiVitiWPiXi_iYPPiZPi[Pi\i]Pi^P>Pi`ikiaifibPicPPidiePP>PigihPPiiijPP>PilimPiniqioPPip>PPirPis>PiuiPiviwPixi}iyPPizPi{i|PP>i~PPiPiPiP>iiPiPiiPPiPiPiP>iPPiiPiPPiPi>PiiiiiPiPiPiPiPiPPiP>iiPiiPPiPiiiPiP>iPP>iiPiPiPiiPiP>PPiPiiiPiPiP>iiPiP>iiP>>PiiPiiiiiPiPPiiP>PiiPiiPPiP>PiiPiPP>PiiPPiiPPi>PiiiiiiPiiiPiiPiPPiPi>PiPiPiPPiPiP>iPPiPiiPiPPiPiP>iiiiPiiPiiiPPiiPP>iPPiPi>PPiPiiPPiPiiP>PijjPPjjPjPjPjPP>jj jPj Pj PPj Pj >PPjjPjjjPjPP>jPjP>P8jj8jjjjjjjnjj j=j!j"j,j#j$j%j&j'j(j)j*j+gj- j.j/j6j0j1j2j3j4j5gj7j8j9j:j;j<gj>jYj?jIj@jAjBjCjDjEjFjGjHg1jJjKjLjMjSjNjOjPjQjRgjTjUjVjWjXgjZjdwj[j\j]j^j_j`jajbjcgje 1jf1jg1jhji1jj1jk11jljm11jojtjpjqjrjs sjujvjjwjxjyjzj{j|j}j~jjjjjjjjjjjj1jj}jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjju%jmjjkjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj8jkjjjjj8jj8jk%jjkjkjjjjjkkkkkkgkkk k k k k kkkkgkkkkkkk wukK kkk |kk"kk k!  k#k$ 1k&k<k'k(k,k)k*1 k+ wk-k/k.1 k0k1w1k2k; k3 k4k5 k6 k7  k8k9 k: t k=kek>kTk?kAk@  kBkC1kDkEkFkMkGkHkIkJkKkLgkNkOkPkQkRkSgkUkakVk`kWkX kY  kZk[  k\k] k^  k_ wkbkckd 1kfkwkgktkhkrkikjkkklkmknkokpkqgks kukv kxkkykkzk{k|k}k~kkkkg1kkk1wk  8kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklll1l8ll ll l 8l 8l ll8llll llllllll<ll8ll,l8l 88l!8l"l#8l$88l%l&88l'l(88l)l*88l+8l-l1l.l/l0l2l5l3l4l6l9gl7l8wl:wl;wl=l>l?88l@8lA8lB8lClD8lE{C8{ClGllHlIllJl]lKlLlTlMlQlNlOlPUlRlSlUlZlVlXlWlY$l[l\ l^lql_lfl`lclalb>ldlelglllhlkliljHlmlouln1lpHlrl}lslwltlulv $lxl{lylz>1 l|l~llll$Ulll 1Ulllllllllll>#llll ll 1$llll#llll#>lllll1llulllllllll lll>llllll>>llug>lglllll llllK>llllllUlllll8lll8lll8lllllllll|  llg1llllHllH8lllllll8lll88lllll8llllllgl8mmmmmmm8mmm/m m!m m{Cm {Cm m {C{Cm{Cm{Cm{Cmm{Cm{C{Cm{Cmm{C{C>{CmmmmmmM{TM{Cmm{Cm {C\jm"m(m#m'm${m%m&o[ t{{C{Cm)m*m,{Cm+{C8m-m.=tm0m7m1{Cm2m5m3m4{C {Cm6{CT{C{Cm8{Cm9{Cm:m;m={Cm<[{C{Cm>j{Cm@mUmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmVmWmXmYmZm[m\m]m^m_m`mambmcmdmemfmgmhmimkpmlmOmmmnmmomp%mq%mr%ms%mt%mu%mv%mw%mx%my%%mzm{%m|%%m}m~%%m%mm%%yQmmmmm}mm}mm}m}m}m}Qm}mQ}m}m}}m}m}m}m}Qmmmm#Ammmmmmmmmmmmmmm#PywEmm. Q'Mmmmm4#P'M Q Qmlmvmmmmmmmsmt tt msmt smmmsmt mmsmtsmmsmmt mtst st msmt smsmmsmssmmsmsmssmmss>mmmmmmmmmmmmmmmmoimomnmmn<mnmn mnmmmmm:%mmmmmmmmmbmmmmBrmm"nnnnnnnn#Pn n % } _n nn nnnnn nnnnn" %nn%ann-nn#nn nn!n" &Pn$n'n%n&%n(n,%n)n*n+yn.n5n/n2n0n1vn3n4 } On6n9n7n8O n:n;| }n=nzn>nan?nEn@nBnAOnCnDqmnFnKnGnJnHnI /nLn`nM }nNnO }nP }nQ }nRnZnS }nT }nU }nVnXnW  }  nY  }n[ }n\ }n] }n^ n_  } vnbnoncnlndnfne ngvnhnjni#Pnk#PnmnnOnpnsnqnr% s%ntnynunvnwnx>  }%n{nn|nn}nn~%nn mnnnn !n%nnn svnnv%nnnnOnnnn|nnn%nn%n%n snnnnnnnnnn2nnynnnnnn8n nnnun!nnnn8n nnnnnn%%nn3nnnnn }nn%n%nOnOnOnOnOnOnnO"w!OnnnnnnCnnCCnnnnnnnnnnnnlnnCCnnCCnnCCnCnnnSnnfnnfnfnfnononnnnQnnn QrtnoaOoooo !oo  o oo o o o % _aoo_%%oooo%oo%oooo%oo%o%o  o o  o!o"  o# o$ 2o&o'oFo(o0o)o*Oo+o,22o-#o.2o/2o1o<o2o3o4o5o9o6 o7o8lvlo:vo;%$%o=oEo>o?oBo@%oAB dwoC4oD4 d2oGo\oHoOoIoLoJoKoMoNm oPoSoQoR oToUoVoW4oX4oY4oZ4o[4|[.o]oco^o`o_oaobodofoeogohojpGoko~olomonooopoqorosotouovowoxoyozo{o|o} oopooooooooQ%:oooooooobob? ooo{Coooooooo? ooooomoomommom·ooo|o|o|o|o|ϓoooo#oooo?.o?<ooo?<?J?X?<#oo?f##ooooooovoooooo 7j dyBoovOO sooo2o$or:ooooopooooooooooQ oo?tv?oooo oo llboooooolloooɱyBooooVoo:oooooooo`oCoopCoppppUppppp p p p p p pppp% pppp%p%p%x%pp1pp,pp3p_p p!p"p#p$p%p&p'p(p)p*p+p-p.?p/p0rr|p2pEp3p7p4p5p6p8p9p:p;p<p=p>p?p@pApBpCpD?pF2pHp\pIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp[??p]pp^pp_php`pgpa|pbpc|pd|pe|pf|%|pip{pjpuwpkpl2pmpqpnwpopp?w2?wprpspt?w2w2pv2pw2px2py2pz2 }p|p}pp~pp\pp\pp\ppppp2ppppppp!p upp%p%pp%%p pppppp &ppkXX ppppK ?&pp?&?&pppppp%  &p ?&pp p&?pp  &pppppppppp#Pppp#Pppppppp%pr:p $prHpppppQpp s% pppp }rpp$pqpq ppp  p pp p p p pp p p pp p  pp p p  p p ?p p  pp  p pp  pp  pp  ?pppqqqqqqqqqHq qq q@q q.q qqqqqqqqqqqqqqqqVqqfq q! q"#q#q$q'q%q& q(q-q)q,q*q+ Rq/q2q0q1v#q3q?q4q5q<q6q7q;q8 oq9{q:{ o q= q> qAqaqBq^qCqDqEqFqXqGqHqTqIqJqKqLqMqNqOqPqQqRqSKqUqVqWqYqZq[q\q]l Qq_q`qbqqcqqd qeq}qfquqgqkqhqiqj@qlqrqmqo}qn}qpqq  &>qsqt&qvqzqwqxqyt@]q{q|@$q~qqqqqqL}qqqqqqCqCCqqCqCqCqCCqCqqCqqq@2qq#qqq}qqqq&&@Aqq#qqqqqqqqqqqqqwEqqqqqqqqqqqqqqqqqqqqqqqqqqqqIqqq#PqqqqqqqqOqs"qOqrMqrqqq%q%%qq%q%q%q%%qq%%q%q%q%q%qq%q%%qqqqqqqqqqqqqqqqrr/rrrr rrrrrr rr r $r rr@PB orBrB drr rrrrrQrrrrrrOr!r)r"r#r(r$r%r&Qr'%Or*r,r+3r-r.Or0r5r1r3r22r4mr6rJr7r8r9r:r;r<%r=rGr>%r?%r@%%rA%rBrC%%rD%rErF%$%rHrI%%rKrL%rNrrOr~rPr`rQrUrRrSdrTmrVrWrtrXrYr]rZr[r\:5r^r_IfLrarcrb  rdr}re%rfrgrrrhrirjrkrlrmrnrorprqrsrtrurvrwrxryrzr{r|rrrrrrrrrrrrZqrrmvrrrrvOrr rr&r&rr&rK&rr g @_rrrrrsrt sst rssrt srrrrrrrrrrrrOrrrnr}rrrrr#$rrrrrrrr}rnrr# rrrrrbrrrrrrOrr3rrrrrrr$v%rrrrrl@nIrrl@} yrrrrvrQrr$rrryo$rrrrrrrrQrsrrrr 2rr rrrrrPOvrrrsss@s&s fssss ss 2s ss s s }sssssssssss R Rswss@ss s!vs#ts$srs%s:s&s3s's0s(s)s*s+s,s-s.s/%s1s2Q s4s7s5s6%s8s9#As;sEs<s?s=s>yQs@sBsAsCsD 3sFsosGsJ !sH sI%sKsLsfsMsXsNsTsOsQ sP%sRsS%%~sU sVsW %%sYs`sZs]s[s\ }%s^s_%sascsb%sdse  %sgshslsiskr:sj % sm%rHsn spsq8sst3stssussvssws~sxs{sysz s|s}ssssmssO%ssssss%sss%sSssssOssOsssssssssssssssssss_ ssssssssssssssssssssss  ssssss%%s$%sssssvsvvs2w2ssssssBsvBs%stssssssssOsss Fs FC FssssssssOssWvss s% %ssssss }ssO%sss%sssss Q%tttt tttttt%%t t t t Ottttttttt%ttQtt%t$ttttt t!t#t"$t$$t&t2%t'Ot(Ot)t*OOt+t,OOt-Ot.t/OOt0t1O"Ot4tft5tHt6tAt7t>t8t9t:t;t<t=yBt?t@ !tBtFtCtD %tEmtGOtIt_tJt\tKt[tLtMtZtNtOtTtPtQtRtSWtUtVtWtXtYW #vt]t^$t`tctatb%%tdteUOtgtthtstitltjtkOmtmtrtntotptq!tttxtutvQ*tw @]tyttzt{tt|t~t}Q@~tttt&>L!ttR@2 tttttt $ ttt%t%t N%ttt% N%t%% NttOtttttOtttt%tt%tttttttttttttttttttttttt2 Qtu"tu!tttt&Kttttttt&Kt&Ktttttttttt&Kttt&Kttttttt&Kt&Kt&K&@t@Ettttt&Kt&K&&Kt&K&Kt$ttt&K&Kt&Kt&Kt&K&Ktuttttt&Kt&K&Kt&K&t&tt"t"##$t&K&Ktt&K&Kt&&Kuu uuu&K&Ku&K&uu &uu&&K&u u &Ku &K&Kuuuuuuu&K&KC&Ku&K&uu&&Ku&K&&Kuu&Kuu&K&Kuu&Ku&K&Ku &K%u#u$ su&vu'uu(uu)u=u*u;u+au,u-u.u3u/u0au1u2u4au5u6u8u7*$u9u:X*u<*u>uu?uyu@*uAuButuCuIuDauEuFuGuHaW*uJujuKu^uLuSuMuPuN!!uO!/uQ!!uR!ŕuTuYuUuWuV!!/!uX!ŕuZu\!u[!/!u]ŕ!u_ufu`!uaudubucŕ!ŕ!ueŕŕ!ugŕ!uhŕui!ŕuk!ulupum!un!uo!/!!uqurŕus!!/uuaauvuwaux$cuzu{au|au}uu~uuauuuu uuuK8u*Wuuu@uauuuu$uuuuu!uuuuuuu*uu$uuuuuuuuuuuuuuuuuuuuuuuuuauuuuuu uuuuuuauuuuuuu*a$u!uuu*!!uuuuuuauuuuuWauuuu$uuuuuuuu$*auaauv3uvuuu$*uv*u*u*uu*u*u*u*u**u*uu*u**uu**uv*v*v**vvvvvv v v vv !!v v!v!!v!vv!v!v!v!!vv!v!!v!v/!vvaa!vv *v!v*v"v)v#av$v&v%v'v(v+v.v,v-v/v1*v0Wv2*v4vIv5v6v7v8v9v:v;v<v=v>v?v@vAvBvCvDvEvFvGvH'vJvKvLvMvvNvfvOvPvUvQvR$vSavT*vVvcvWv\vXvZvY*v[W*v]v^vbv_v`va~**vdve*vgvvhvyvivuvjvqvkvnvlvmFvovpvrvsFvtvvvwvxvzv}v{Fv|Fv~vvvvFvFvvvFvvvvvvv  vvvvvvv*rtvvvv*Avv*Avvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv=v=*v*vvvv*v*tvv*v8v*v*8 vwvvvvvvvvvvvvvvvvvvvvvvvv'vvvvvvvvvvv'vvvvvvvv'v'vwuvw9vvwvwvvavvWwwwwwww*ww*w**ww **w w **w w *w*w*w**l$w wwaawww2wwwww$ww1w w(w!w$w"w#w%w&w'w)w.w*w,w+w-w/w0$w3Ww4WWw5w6WWw7w8WWw:w=w;w<!w>wLw?w@wAwFwBwCwDwE wGawHwIwJwKwMwfwNwOwPwWwQ$wRwSwT*!wUawVwXwcwYwZw[w\w]w^w_w`wawbwdwe$wg$wh$wi$wj$wkwl$$wm$wnwo$wp$wq$$wrws$wt$͌$wvwwwwxwywzwaw{w|w~ w}*wwwww*w*lw***wwwwwwwww@w@w@wwww[[@wwwwwwww*wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwawwwxwwwwwwwwwwwwwwwwwwwww@wwaww*wwwwwwwwwwwwwwFwFwwwaw$w*wwwwwwwwwww!wwwwPwx*xxx$xxxxx x xx x x xxxxxxx**xx*xx~x{<xxxxxxXxx.x x!x"x#x$x%x&x'x(x)x*x,x+'x-'x/x0xEx1x2x3x4x5x6x7x8x9x;x:'x<x=x>'x?''x@xA''xB'xC'xD'xFxGxHxIxJxKxLxMxNxOxPxQxRxSxTxUxVxW@xYx{xZx[x\x]xox^xfx_xcx`axaxbaaxdxexgxhxjxi''xkxl'xm'xn''axpxqxrxyxsxvxtxu$xwxx$$xzx|xx}x~xaxxaxxxxxax$xxxWxxWWx*Wxxxx*W*xW*Wxxxxxxxxxxxxxxxxxxxxxxrxxxaxxa!xxxaxaxxxxPxaxaxxxxxaxxxxxxxxxxxxxxax!x*xxaxaxxaxx$*xxxxxxxxxxxaxxaxxxaxx*xxaxx*Wxa$xzxzzxzQxyxxxxxxaxxx$xx$x*xxyy*.yyDyyyyy3yyy yy yy y*y y y*$yA-yA-cyyyyy$*yyyyy"yy ay*y!-y#y.y$y%y&y'y(y)y*y+y,y-y/y0y2y1W!y4y5y6y7y8y9y:y;y<y=y>y?y@yAyByCAyEyFz:yGyHz0yIyyJyyKyyLyjyMyYyNyOyQyP1yRySyTyUyVyWyX1yZy`y[y\y]y^y_1yaybycygydyeyf11yhyi1ykyylymy~ynyuyoyrypyq1ysyt1yvywy|yxyyyzy{1y}1yyyyy1yy1yyyyyy$yy1yyyyyy1yyyyyy1ywywyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyywywwyywwyywwywyyywwywywyywyywywwwyywwywyyywywwywywwyyyywywywywywwywywywwywywywyz wyywywyzwywzwzw1wzwzwzwzwzzww1z zz wz wz wzwwzzwzwzwzwzwzwzwzwzwzwzz,zz%zwwzwz wz!z"wz#wz$wwz&wz'wwz(wz)wz*z+wwwz-wz.wz/1waz1z2z4az3*z5z8z6z79*z9 z;az<z=zIz>zCz?z@zBzAuKzDzEzFzG%zH zJzNzKzLzM%zOzP*zRzTzSzUzhzVzWzX!zYz\zZz[*z]zdz^z_zaz`a*zbzc*azezfzgzizqzjzkzlazmPznzozp$zrazsztzuzva*zwzx*zyaz{z|z}z~zzzzzzzzzzzzzzzzzzzzzzzzzzazazazzzW zzzzzzzzzzzzzzzzzzzMz{9z{zzzzzzzzazzzzzz$zz$$zzz$$zz$zzzzzz$z$zz$zzzzzzzz*zzzzzazWAz*zzWz$zazazzzzz z zz  zz  z zzzzzzzzz6z662zzz6zz6{{ {{{{{6{{{{ { { { 6{{A{{7{{{{{{{{{6{{1{{{-{{+{{)S{{ $${!{"${#${$${%$${&{'$${(A-$*{*{,*{.${/{0*{2{3{4{5$*{8a{:{;{=|{>|8{?{{@{{A{U{B${C$${D{E${F$${G${H${I{J$${K${L{M${N$${O${P${Q${R${S{T$A7${V{Y{W{XW{Z{[{{\{d{]{^{_{`{a{b{ca{ea{f{g{{h{{{i{o{j{k{l{m{nF{p{y{q{r{s{t{v{u{w{x{zF{|{{}{{~{{F{F{{{{{FF{{FF{F{{{{FF{{F{{{F{{FF{{{{{{{F{F{{{{{{F{{{{F{F{{{{FF{{{{{FFF{{{{{{{{{9F{9{F{{{{F{9{{{{{{{a{{a{a{*{$*{{{{a{{{*{a*{{{{{{{*{*{*{**lW{${{{{{{{{{{{{{{{{{{{{{{{{a{|{|||||||||| ||| | | ''| '|a|||||--*|*|*||$||0||||!|!a| a|"|+|#a|$|%|'|&$a|(|)$|*WW|,|.|-a|/a*|1$|2|4|3|5|6|7|9||:|;|<|Z|=|H|>|G!|?|@|F|Aa|B|E|C|D$A*a!|I|J|K|L|T|M|Q|NW|O|P|R$|S|U|VW|WW|X|Y |[|\|]|q|^|_|i|`|ca|a|b$a|d|g|e|f$*|hA1|j|ka|l|p|m*|n**|ol*|r|s|t&|u||v|w|x||y|z6n|{|||}|~6n|6n6n||$*|||a||||*|||||||||||||||||AF$|aa||$|$|||||||||||36|}||||a|a|||||||||||a|||'*!|||||a||||||*||||||||||||||||||||||||7|}O|}|}||||*!||a|||*||a||W|||$|a|*|**||**||*|*|**}*}}**}*}*}}**}} } } } } }}}}}}}}}}}}}}<}}};}})}} A}!}(}"}#}'a}$}%}&$}*},}+$}-}.a}/}0}1}5}2}3**}4*}6}:*}7}8}9*a!}=a}>aa}?}@aa}A}Ba}Caa}D}Eaa}F}Ga}Haa}Ia}Ja}Ka}La}Ma}Na}P}w}Q}R}S}T}U}V}W}X}Y}Z}[}u}\}d}]}^}_}`}b}az}cz}e}f}l}g}h}i0}j}k0}m}o}nK}p}q}rK}s}tK}v0}x}y}z}}{}|}}}}~}*}}f$}}}}a}-}W}}}~}}}}}a*}}a}}}}*}}}}}}}}}aa}}}}}}}}}*a}}}}*}$}}}}S}}}}}}}}}}}}AV}}}}1TA1T}}}}}}}}}}}A}A}}}}}}}A}}}}}}}}}$}}}}}}}}}}I}}}}<<}}<}}}<}}<}}<*}}* a}$!a}}}*$}~}}~~*~*~~ ~~~~ ~~a~ $~ $~ W~a~W~~S~~~~~~~V~~~M~~~~~~#~ ~!~"$*~$~%~@~&~4~'~-~(~,~)~*~+~.~/~0~1~2~3~5~>~6~=~7~8~9~:~;~<F~?9~A~J~B~C~D~E~F~G~H~I~K~L~N~O~P~Q~RP~S~T~U$Wa~W~X~t~Y~Z~[~\~]~^~k~_~`$~a~b~c~d~e~f~g~h~i~j ~l~m~n~q~o~pKz=K~r~s0zz~u~v~w~x~y~{~z~|!~}$~ ~~~~~~~~~~~~~*~~~~~~01~~~~$~I~I~I~I~~I~I~I~I~II~I~~*Wa~~~~~~&a~~~~~!$~~~~~~$a$~~~~~a~~~~~~~~~a~W~~~~~~~~~~~~~!~~~*~~~~~W*l~~~~W$~$~~~$a~ ~~~~~~~~[~~~~~~~~~~[~~<~~~~~~~~~~a aW  a*L1" !a#.$(%!&'),*+$-*$/W02>3456:78$*9;<=V?@ADBCaEKFW$GHIAe*J**MNa%OtPQRdS]TZUY$VWXW[\*^a_`abc!enfkgjh }iAtlmPoqprs$uvwxy}z${$|~ P$$$g#**4!!*WQWP*$$*$*$Pa*$$* *$*$ 7* **WWW    $$*a(rdaTA1 "!$#+$%(&'F)*,.-/0243*59678Q:>;<=h?@BCDEFGJHI*~*K*~LM*N*O**P*Q*RS**UVWXYZ[\]^_`abcAefgqhlij*k$mona*p &astuvwxyz{|}~!'a$aaaaaaaaaaAaa*$W*$aQh1*a**$$*$$$$$$8$$$*WI$a&*  **~  d*  *******~*W*!$$ !"#~%*~'a)*+?,-./0123456789:;<=>@ABCDEFGHIJKLMNOPQRT<UVWaXYZ[\]i^b_`acdefhg*3Ajk|lpmnoqrstuvwxyz{}~*aW W$*v*Wa$a$W$$$*!*a_FFF*a*S*a*H =   aa aaaaaaaaaAa$**az !"2#$%&'()/*+,-.I01݉3456789:;<>?W@ABCDEFG$*$I^J]KLMNOPQRSTUVWXYZ[\A!_f`abacde-gzhijkqlmnoprwstu'v'xy'{}|'~/0I*3݉݉Ia*!9==J9 FFF F   FFF9 "+#&$%')(J*=,-.08142356a79:;=>?H@AKBCDEFJGHI$$*$!LMN{OaPVQRSTUWX`YZ[\]^_bhcd*Aefgijxkmlnopqrstuvwyz|}<~<<*$*$****v****!* A** *H*W ***W*W*$aa**a**$ 0 0 0 0 116n1Wa!= !"0#%$0&'/M()*+,-./z=132K456789:;<z=>?@*aABECDa.A.FGAaaIsJKcLSMNOPQR*TU^V!WX[YZ*$\]*_b`aad!efghji$klo*mn*W*pqW*rW*Wtuvxwayza{|!}~!a**aaa!**afa**$$ $$$!_ a  *  a*aL(_%" !!!#$!&W')*G+*,A-5.1/0aA2a3a4a6=7:8a9aA;a<Aa>?a@aBaCaDaEaFa*HIKJMNOPQRSTUVWXYZ[\]^ca`a{bicde*WfghW*jzklmunropP$qWcst'Qcvwxa$ya$|~}**$$$****.********************a$Kz=>z0K*$aaa ****    W$*.-,aW  W!W"#W$%W&'()*+W/0123W45i6K7?8:*9*;**<*=>*@*AIBHC*D*E*F*G*~**J*LXMSNO*PRQ*~*TddUdVWddYbZ*[\*]*^*_*`*a**dc*dge*f*h**jktlpmn9o9qr**s*u*v*w*xyz}*{|1F~****~~~9~~~~**9**9~~~9~~~~**************44**2*******z*VVaaa$$$$$$$$$$$$$$$$$$$$ԛ$  aa* a  ;(*$"! #%&'*)`*J+,->.a/<0a123456789:;=$?G@B$ACDEF\Ha*I*KSLa$MNPO$QR*T]UVa*WXZY[\'^_aa&abckdefhgij$l|mtnopqrs0uvwxzy0{0}~aWa*Wal* ****A**=Wa$$7$**$aaaaa* Q Q\ Q. Qa*a*a****aaa   a !a B<8,(' '!"#$%&'')*+''-'.1/0''2435'679:;A="=>?@AC~DGEFH_IRJOKMLJNXPFQ=STUVWXYZ[\]^`hadbcefgXinjklmXtoxpqrstuvw=y{3z|}taWa**$$2*Ka***aa**$$͌$$**W*B gaa$a*$$*$a*a%   $! ** '0$'0'0'0'0'0 '0'0'0'0!"'0#'0'0'0&'!(a).*-+,a/0S1>243[5:6789V;<=?@MABCJDEFGHIMKLVNOPQR[TU`VWXYZ[\]^_Vabcdefhij|klmnopqrstuvwxyz{}~a*a$*$*$*Wc*Ě<aaa**<#$VMV[ @////// / // / /////// /////// *@ )!"#$%&'([@+4,-./0q123q56789:;@=M>?E@aAC*BWDwFLGJHIH*WK WaNzOaPQlRjS^TBUBVBWBXBYBZB[B\B]BZB_i`abcdefghZB(ZB6kB6mnopyqrstuvwxZB{P|}~*aaA**ݗĚIVI*3a*aaW**a*Q***a aa$$*~*$*   a W a4#a *!"$%&'()*.+,-/10X23*$5I6G7;89:a<F=>?A@a*B*CDE**H*aJPKOLaMNP$Q[RST*U!VWYX!Z\^]aa_`abc{djegf$hi$kxlwmnopqrstuvBE*yzW!|}~$*z $W*1aW**W$%$$$aa*W*$aaa9tFWP*aaa!$Pa*     a$aa\[ED2/ "!* #c$%&'()*+,-.01 3>4;5I678I9:<I=?@I<ABIICIFGWHIUJ!KLMNOPQRSTV! $*XYZa]^`!_!bcdfeagyhmijlka*no*pqrxstuvw*Wz{~|}a$WFF=!W**$**'a$aaWaaaWaa aa.a* Wa*VP*a000000000!a     74a# !"$%.&)'(=*,+F-/021F3568;9:aa<L=G>?@EABCD**2F$HIKJaM*N*O*QRSTUWeaXYa$Z[\d]*^*_`**a*b*c*lfghivjknlma$aopa*qarasatauBXawxyz{|}~6$*!*PWaaaaaaaaaaAaaqVVVVV[[[V=********!*    x;.QSWU[Q>+*m !"#$%&'()I,8-3.1/0x %2c46579=:;<?F@AmBCDEBfGL%HIJKMON }r:rHP%RXSVT%U% WYZ%\]^i_e`acbdfgh1jkzlomnpq$#rstuvwxy{|}~#1> U ##1#$ 11HH#HH#U11HU$'      ##U## >!"$%&U(=)1*.+,-/0 273456>18:9 ;<##>J?E@CAB#UDFHGI KQLNM OP RTS V%XYZ[u\d]^_`abc enfjghiklmoqprs tv|wxyz{ }~ #8kr%# }%   %vOmm)4n^umPPqwT>U>/H|    wHw 1 g&u|*!$u"# | %&   ' ( *W+A,9-2./01374658:;  <=?>  @#|BQCJDGEF#11HHIHwwKOLMKNKPURVSqTUuY$XYZ[\]^_`gadbcefhijl|mn{opqrxsut Q Qvw Q Qyz Q}X~=1 $ u|*#zu$$$$$$$;$g$YHq 1$##$$   1    #w R 3!("%#$  &'   ).*,+ -/0|12|uu4C5<6978KK:;P4=@>?|*uABwT&D#EGFmHQIJKLMNOPmSTUVWYZO[\]^_`ualbgcedFfhjikAmrnpAoA9qBus9t9*Avw|xy*Az{/B}~BBAAFB8u 1HH     u   w 111 1 H 1  u    * %Ov%v%(: !"#%$:&:':)+,DO-./$0C1B23>48567B9;:B<=BB?@AIEFGQ%HIRJ  KL M  N O PQ B  TUrVnW\XZY }8[a]_^`mav%bcgdfOeOhkij%lr vopq8stuvwxyz{|}~11v%g*8'\'\ QC33333333333S333E33333333' }OO8+     $%% %%!"%#%%%%&%'%(%)%*%%,.-*/012A3947568888:;<?=>u @BJCHDE8FGI8KLPMNOw w8R STkU^VYWXZ\[]%_e`cabQ/dOfhg% }ijlmnozpqrstuvxwggyg{|}~u ggggggHwg /%%%*OƲww* *88O%%% %%  %% rH%O%vvvvvvBv*!"#=$7%'&8v()v*+,-./012345 Q6 Q8:9;<m%>p?@cASBGCD E wF HPILHJ$K wMNHOQR $ TU\VX W YZ  [1]`^_ab KYdgefhmiljk H  no  qrsvtuKwzxyg{|}~ gwwH$w$H   H YH8OQO*OOOO""OOOOO"%/vuK==wO6/66f%%%'    8;A ! Fbs ssb;As !Fsg!g"#%$&(,g)*+g |g-g.g0123M45678I9:D;><=?B@A<UH$C$EFGHHgJKLgN_OVPTQSRUWYXZ[\]^X`sajbc9tdefFghiklqmnpJoJJrFJt}uvwzxFyJ{|~=FF= HU  %6% uu u    uw-! H"#$%>&>'>>()>>*>+,>>a/ 0]1v2T3M4I5678B9=:;<$%>O?@ }%AOCDGEFOQH*lJKL8NORPQSQUJVW_XYZ[\]^ `abwcdeifgh jtklmnopqrsuvxyz{~|}=@=wH|HHU>g |   unu^ wT|*PuKqm4YuuwTqYP u^nuq|*^n|HHwgm, g |       unu^ wT%" !|*P#$uK&)'(qm*+4Y-^.V/<0512u34un6978u^:; =D>A?@wTBC|*PEHFGuKIJqKmLMPmNmOmQTRSm UmFmWXY\Z[4Y]u_f`abcdU>e>gk hij&lnopsqr |txuv wy z{| }~   K    KK  KK     K        KuK uHwgKuu|*  //|  Kuuu |*nqPY^4wTumHHH|Kuuu |*n qPY^4wTKu    uU>    wwwD -!&"#uU$%'(*u)4|*+, Y.A/102345K67K8=K9K:;<KK>K?K@KKBCEaFWGNHKIJmqLMP4ORPQnwT^STUVuXY`Z][\|*uY^_K uHbnc dhwefgwikj&lmowpr q| st uv |xgyz{}~wKuu |*nqY^u H | ww >U&H|gY YguuK  >> Hwuwwu ^qn4wTuYPmu ^q | K 9      |  |  w*# n!"4$'%&wTuY()Pm+2,/-.u ^01q3645u 78^q:;H<u>?ABCDEFGHI8KhLfMNOZPQVRTS8U8WXY[b\_]^8`a8cde8gisjr*klmnopq vtuv8wxy~z|{O}%%Ov%OvOO*ggOQ* W8F*P~V                u K|u     K4   u      u   u      6' u u  !$"#n %& 4 (/),*+  -. u 0312  45| 7G8?9<:;  =>u@CABu DE uFuHOILJK    MN PRQ  ST  U4 WsXgY`Z[\]^_ abcdef hijoklmn pqrtuvwzxywT{|}wT                                            6                               +! u  u  uuuuuuuuu uuuu"#$)%&u'(uuu*u,u-1u.u/u0uu2u3u45u78@9:; <= >? AMBG CDE  F  H IJ  K L NO  QReSTU V W X`Y^Z\[ ] _ abcd fhgiqjkplmnorst u~v{wyxz|}PKKKKKKKKKKKKK u      u           *(&! "%#$')  +,-.;/601423u5 789: <=A>?@KBECD GHIJKLMNOPQRSTUV X[YZOW\v^_`sagbecdw* Qf%hijklmnopqrmtuvwx%%yz%%{|%}%~%%%%%%%%%%$*  $ wFggutY1 > $HH$K^ n HHHKK       H KwK| $$H\ :!,")#&$%Ug'(g1*+u-4.1/0>235867 Y91w;H<C=@> ?AB HDFEuG INJKL MOSPQH  RTUH1VYWX11Z[]^_h`dacbegfwiqjokml 1n1prsK 8vw%x*yz|{O}~2w2ww2%% %%:%% 7 F Fqm!!!w!\O|OO$wfwbwb Om" &y %666OO$ |2 %% _*WWWW   WW*W w! #h$0%& '(-)+*,./#1234H56C789:;<=>?@AB=DEFGI_JKULMNOPQRSTVWXYZ[\]^`dabcqefg ijWkl*vnwotprqmmsmQuQvQx|Qyz{Q}~ w sGz * s s0z=KBz88888888q88T88.lu%%% Q(kCx%  ;  2!333333"33E333 ")#&$3%q3'33(q*/+-,33.33Ƣ033163456789)D:x<q=>?@AB[CID3EGF333HCJXK3LW3MN3O33P3Q3R3ST3U3V3ޑ3)3YZ33\f]c^a_`3q33b3d33eƲ3glhj3i3k36mon6p33rstwuvQ%xyz{|}~33CCAtC33C/3)33333333333ޑ3q333333333333'3)33C3v833C:33E3333n3333333q33C33333SQQv$%rtQOgggT 8 }8 8   RQv3 l+! "%#$l&)'(uK*w,1-0.l/uu2wK4:56789 ;L<=>?@AHBECDFGIJKMNOPS%UVW}X|YZh[`3\3]^_363ae3bcdCI3f3g33Tiqjn3klm333o3p3rwsu3t33v3xy3z{363C8m~|%**%%%%%%%%%%%%%%%%%%%%%~%%%%%%%$6**$11KKK%@8333EEEEEEECXEEEEEEEEWEEWEECg333333333333ޑޑ33    3C3q33 6368WQ*% !7"0#*$'%&S3()3)+3,-3q.3/3ޑ14233333563Ʋ3839=3:;<3Cv3>3?33A6B0CDEFGHIKJ8L8MNOPQvRYSTUVWX|Zh[d\_]^`bac efguirjmkl:npoq|stuw}xyz{|~KK`  |*W gggggggggg/YYgggCC'  I    ~fI, X!")#&$%Xf'(ۂL>*X+XX-.=14238%85*7<8:9**;%=@>?ABCjDE\FGHIJUKQLOMNPRSTVWXYZ[]^c_`abdefghiklmznvospqr tuwxy {|}~gw gw   w        O3333qƄq3333333Ʋ3333T333333T33333#       $g18O! "8T$^%9&'(OO)O*+O,O-OO.O/0OO12OO34O5O6O7O8O|O:<O;=>?@PABCDFEGHIJKLMNO QRSTUVWXYZ[\]g_f`cab%de%Wgih%Tjkl~m{nopqrgsgtgugvgwgxgygzg|}T%%888888O1$ H $ $ %* > 1    Q  x'! "#$%&(T)<*1+,-./027345689:;=G>C?@ABDEFHNIJKLM OPQ RS U_VZWXY[\]^`mahbcgdfeijklntopqrsuvwyz{|}~   11111111111         wwwwwwwwwww   F   4      )$ "!#%'& (*.+ , - /2 01 356?7;89:<=>@ADBCEGJHI KtL`MNYOTPQ RS UVW X Z^[\1]1_$agbcdefHHhoijkml  n pqrs uvw}x{yz|$~  866TTT%63T333q333333633333C33333333ޑ33ޑ333ޑ33ޑޑ333333333ޑ3333'3333[<7 %%% Q%*r*% ! $vQ %% /  %rt -8 !"#)$'%&*( *+,<.0312 465 O%89:;Z<=>H?D@A BC  EFGIYJKXLMQNOmPQRSTUVW 8 [\]r^c_`ab dkehfg gHij1 wlomn$q wpq1gHstzuxvw$   y {~|} KYu a%%8%% #O}6v%%%% Q*8%%% N%%% N%%%% N%% N% N%% N%%% N%%% N N N% N% N N N%%%% N%% N N%g  6     FF# !"F$%&'(/)*+,-.012345789:;=A>?L@GABFCDE%HJIKMyNvOXPQ*R*S*T**UV**W7*Y%Zd[\]^a_`mbcWefqgkhijmlnmoprstuwx*z}{|8%~OO<V*3V*3*3*3*3<*3*3*3*3*3*3*3*3*3*3*3*3*3*3*3*3*3*3*3*3*3*3*3*3*3*3*3*3*3*3*3*3*3*3*3*3*3*3*3*3*3*3*3I*3<<*3- <<I<I    I##%"! III<#$II&'+()*,<.C/;01263457:8I9<<<B=>?@AI<DpEZFVGRHMIKJ<L<<NPO<Q<STUIIWXY<[j\d]`<^_<<ab<cehfg<<iI<klmno<qr{stuwv<xyz<<|}~<<<u$<<<<<<<V<V<<<<I<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< <<<<<<< <<<  < <<<<<<<<<<<<<<<# !"<<<%N&0'<()*<+<,<-/<.<<1B283<4<5V6<7<V<I9:>;<<<=<<?A@<<CMD<E<F<GI<H<J<K<L<<Oh<P<QR<S^TX<U<V<W<V<YZ<[<<\<]V<_<`<a<bec<<d<Vf<<gV<i<<jknl<m<V<o<ptqrV<s<V<V<vwx{y<<zI<|<<}~<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< %%               %*   82O* !"#$%'&O()OO+,-./01#P38465V79<:;V=?>@B9CDE}FGH]IRJKPLM8NO8Q8STXUVWYZ8[\{C^s_i`habcd e f g 8jn8kl8m8op8qrtyuwv8x8z{|8~!8CCCCCCCCCCCCO  H    *OCCCCCCCCCCCCCCCCCCCCCCCCCCOH     # !" $%&0'()*+,-./12345678:';E<=D>?@ABC  sOFGH!IJGKLMjNVORPQ#1S1T11U$1W]HXYZH||[\|^a_`HbcdefghiHklpmHHnHoHqzrstuvwxy{|}~UU>UUUUUUUUUUUU>>wwwwwww&&         uuunnnu uuu^    wTwT - $  wTwTwT|*|*|*|*|*|*# !"P%(&uP'Pu)Ku*+Ku,uK.;/6041K2K3K5789:<D=@>?qqqABmqCqmEFm44HIJmKXLUMQNYOPYYRYSYTYVuWuY`Z_[]\u^ albjc  de f  g hi  k | nxoqpgggrsvtuw yz{~ | } ||  |        ggggmYu wTuq4uwww  |  wHHHHHwHwHwH1gwg  H   K^ uu|*uwTnH"u|*u !#&$%nKPg(4)*3+%,-./012O%57689:;><=?J@DA %B CrHE%FH%GC%I%KLXMPNOQWR S%T%U%V%z% %Y% Z\]^_`eacb8d Q Qfpghijklmno qzrs8t8u8v8w8x8y8{C8{|}~H Q88 Q88\8888{C89\\0u      Qww Q  11   Q   Q  Q4O'O#OOOOOOO O!OO"w!O$OO%&O"OO()O*O+O,0-O.OO/O"1O2O3O"O567MO89CO:O;O<=OO>?O@OAOBOO"DOEOOFGOOHIOJOOK"L"ONOPlQYROSOTOUOOVOWOXO"ZO[f\aO]O^_O`O"OObcOdOe"O"gOhOOiOjOkO"mOnOOopyquOrOst"O""v"wxO"OzO{|O}~O"O"OO"O"#OOOOOO""OOOOO"OOOOOOOOO"OOO"O"OOOOOOOOO"OOOOOO"OOOOOOOO"OOOOOO"OOOOOOOOOOOO"OO"OOOOOOOOO"OOOOOOOOO"OOOOOO"OOOOOO"OOOOOOOO"OOOOOOOOO"A% OO  O O O"OO"O""OOOOOOOO"OOOO O!"OO#$O"O&O'/(O)"*OO+O,-OO."O041OO2O3"O5O6O7O8=9O:OO;O<"OO>O?O@O"BC[DOENF"GOOHIOJOKOLOMOO"OOOPOQROSWOTOUOVO""XYOZO"O\v]fO^_""`"a"b"c"d"e"EgohOiOOjkOOlOmOn"OpOOqrOsOOtOu"OwxOyOzO{O|O}O~OOO"OOOOOOOO"OOOOOOOOOO"OOOOOOOO"O"OOOOOO"OOOOO"OOOOOOOOO#OOOOOOO"OOO""OsbbbbbbbF! ;A8sbF?@A CDEFGHIJKLM OPQ QSiTcU`V_W Q QXY QZ Q[ Q\ Q Q]^ Q Qz  Qab Q Q Qd Qefghjk{lmnospqrz tuwv'\'\xy'\'\z'\|}~ Q QC Q''0CgwHwHHHHHHHHHHHHHHHHH Q Q Q Q Q QzvQgg g1|*      wT wTwT|*?0'$ "!|*#|*%&|*(+)*,.-/152346;798:<>=@DABCwTELFIGHJKMNOPwTwTRSTUlVWfXYZd[\]^_`abc=e=ghijkmnopsqrtuwyxyz{|}~ 1wggggg|u;  nzK |*|u;  nzK |*|u; nzK |* |u; n zK    |*?=r?  -,%" ! ;l#$;{H&)'(;L;*+Ws| ./K0182534*ֹl67A9<:;e=>YuP@C A BDdEUFGNHKIJF;ˢLMqVwT=ORPQTST;A<;VKW^X[YZU;\]e_b`aW=4cHefughoiljkYmn&pqns{tv u wywx  z|~ } w  <Ƚf?X@KgABGCEDw  F uH IJu KLRMgNOg1PQ$#g1SgTUg1VW$#g1YZ|[x\v]l^z_f`cab;{Hde;L;gjhiWYBkummqunuoup;3rusutu<<;]uwu Kyuz{u Ku}~<:ȯ<=;#<<+; F;ˢ qVwT=T;A<;;Y|*uKuu uuunKu K @ABkCTDLEFGHIJKMNOPQRSUcV\W[X11YZ11#$1]^1_1`1a1b1ȡ1d1eg1f#$h11ij11lmsnopqrtuvwxz{|}~un4 RRRRRRRRRRRRRRRRRRRRRRRR RRR  RR #RRRRRRRRR !R"R$)%&R'RR(R*/+-,R.R021R3R5_6I7?8<9:;RR=>R@DABCRREGFRRHRJUKQLNMRROPRRRSRTRVZWXYRR[]\RR^R`uambhceRdRfgRRikjRlRnqopRrstRRvw}xzyR{|RRR~RRRR88*CXeXIv( vXIXICI              1wy#PwEVɓgg**Q%#P8i    Q 3%||||||||| 2!$"#8%-&+'(8)*8,8./08183K4:58678898;=<8>?I@ABCDEFGHJ L`MYNOPQ RSTUVWX Z][\\^g_ aebcdCDCfghjklm*oypqtrs%uwv sx sz{|}~VVVVVVVVVVVVVVVVVV ggg       K  uHHH1#HHwHHHHHHHHHHHL&uunn^^     wTwTPP! mm4"$#4%'9(/)+*,.-//05132>4>678:B;><=?A@CHDFEGIJ&K&MvNaOWPTQSHRH||UHVHX\Y[Z  ]_^   ` blcgdfe||hji k mqnportsuwxy}z|{ww~wwuu|*u|*uKK  ||  ::    ggYY##1111$$HHUUwwuuggggqq      w  1YYYK $gw 1w $  !"#8%v&2'()*+,-./013e4F5E6=789:;<|>?@ABCDGRuH I J K LM NPO| | Q  STUVW[XYZ4\b]`^_44a4cd4figh Kjuk ulumunuopuqsru&t&uwx}y{ zg|H# ~w  g1g%%%%%%%%%%%%%%%%%$   ck8v s     OQ. D$a!'"$#*%&(+)*,-!$/E0>12=3456789:;<z=?B@A$*CD*FJGIH*KMLN*QPvQRSTUVhWXYZa[\]^_`bcdefgijlEm8n|oqprsatuvwxyz{=}6~"OOOOOOOOOO"OOOOOO"OOOOOOO"OO(OOOOOOOOOOO"OOOOOOOOO#OOOOOOOOO"OOO"OOOOOOO"OOOOOO"OOO"OOOOOO"OOOOOOOOOO"~OOOOOOOOOO"~OOOOOOOOO"O!OOO"OOOO"O O  OO  OOO"OOOOOO"OOOOO"OOOO O"~")O#O$%O&OO'(O"O*O+2,O-O.O/O0OO1O"~3OO4O5"O79A:;8<=g>S?K@GADBCEF8DHIJ8LMPN8O8QR8TbUYVWX}Z][\8^_8`a cdef}hijxkqlomnuKgp g rustgw vwuHyz|H{$}~1w  1  1 w#g  g111444n^nn^Y^YKKYKuuummPmPPuu|*|*u|*qqq uu u   wTwTwT   wG1%! "#$&+'()4*4,.-4/029374568n:@;><^n=n^?Y^YADBKCKYKEFuHbIUJPKMuLummNOPmPQRPSTV\WYXuuZ|*[|*u|*]`^_qqaqcldiehfguujkumtnqowTpwTwT r s uvxyz{|}~444n^nn^Y^YKKYKuuummPmPPuu|*|*u|*qqquuuwTwTwT   HuuuuYwTu     YY  Y   YYYYYYY       =qwT< !." #($ % & '   ) * +,-   /0:142 3   59 678       ;  >?@  BCD*8FSGMHKIJLNPOQR**T_UWVXY^Z[]\  `abO8defghjiOk~lmnxopuqrD,D<stnvwyz{|}DKwv*8*v*6* *8g8 s%O 1K#H1># 1 H1  K8 }6* !")#%$8&'(*q+f,C-.6/012345g789>:;<=g?@ABgDUEMFGHIJKLgNOPQRSTgV^WXYZ[\]g_`abcdegghijklmnopgrsgtu}vwxyz{|g~gggFFFFFFFFFFFFFFFFFFFF%%%8%%Vi23333qqqqqqqqqq3333q3333q33333333333      1  $   QQvQQQAQ*8Q .!#"$-%O&'()*+,  }/0*1345{6S78?9:;<=w>w@FABCDEGHLIgJKUMPNOwQR=TUsV]WXYZ[\g^m_f`abdcgegghjgigklgnopqrgtuvwxyzg|}~33S3333q3333333333T633333333%a%aa18* 83ƲƢ3EEEEEEEEEDZE)333T33333Ʋ33E33C333333C333O2+ *  %  "K !K#$   &'() ,/-.801*3i4756*v889:a;<=J>C?@DoABD~DD~DE~D_FDGDHIDDDKRLOM~~ND~P_QDDDS_TXU_V_W_D_Y[Z_DoD~\]DE^EDE_`_Dbcde8fghKjpklmn1oqrst|uyv3wxq333z3{E33}3~3333363b3333333333333ޑ333)'EbO333q3333q333'333ƄƄE'6333333333S333'33E63Ƣ333C33EEEUEeEuEUEEEEe3336߾߾33'33EEEEE333SOQQQQQQQQQQQQ     C'\Q> A!"#*$8%88&'8(88)18+18,8-8.8/08827384858868889<8:;88=?8>8)@8)8BtCD\EOFJGIH3Ƅ3KM3Lq3N33PVQTRS33U33qWZXY33q[33]k^e_b`a3qbcd33f3ghT3i3jqqlom33n3p3q33rEsEbu8vwx{y33z63|~}333333E33b333333E33Ʋ33333q3qqqqqqqq63333333E33q333333q33333333Ʋ3E333633336333C33633q3363E36H)U zLvv     . .RR:/!,, "&#%$LLL:'(,U*6+/U,U- .z0312zL45v7?8;9:<>= .@CABRDF:E:G//I\JOKLM%N%vPQXRUSTv%mvVW Q-$ QYZ[ Q$$]^v_a`vbecdfhg//j)klmnopqr~sytuvwx z{|} gggIuz Q#P Q'0H{C{C{C{C{C{C{C{C{C{C{C>{C*v>v363333ƄƄEƲ33333Ƅ33T333333E33633E3v 3Ʋ3q36333C633T33 3363 3  3EfEE3333Ʋ33q% 363!$"w#EF33&'(3'*Ø+8,-/.*O0I12A3456789:;<=>?@BDgCgEFGHggJK%L·MeNUOSPQ'M Q'Rɓ QT QyVcWaX#PYOyZ[y\yy]y^_y`yy'bɓd'\yfˆg…hyix Qj Qk Ql Qmntorp'0q'0 Q'0s'0'0 Qu Q'0vw Q'0 QZ Q#Pz#P{|}~€ƒ‚F„F Q†wE‡'\y‰¥Šš'‹Œ Q QŽ Q Q‘–’”“ Q Q; Q• Q/P— Q˜™-;,\›¤ QœccžcŸ cc¡c¢£cTcwE¦©§¨'M''Oª¶«'\¬'\'\­®'\'\¯°³'\±'\²'j_´'\µ'\'\b z ¸¹Tº¾»¼R½R¿R̿̿%  33TdF03333333333333333ޑ3333F@33333633 33qqFO 3  vvvvvvvWvvvvv+#vvv v!vv"v$v%(&v'vv)v*vv,3-vv./vv01vv2Wv46v5vv7v9?:<;W=>8Q@ÎAB*8CDxE[FKGIHC'J33LOMN3633PQRSTUVWXYZn\k]i3^_3`abcdefghF^j333l3mn3opqrstuvwFmyÃz{}3|33~3'À3ÁÂ33ÄÈ3ÅÆÇ33ÉÌÊË333Í3ÏvÐvÑvÒvÓvÔvÕÖvv×vÙÚ÷vÛÜövÝÞçßáà8âæãäå8èéêëìíîïðñòóôõOøûùú }QWüýþÿ%%v333363333~B336 33'333 33 3 3 SF|pIĻ\Y%$%%%4$" !$#*%,&)'(**+8z-1./0;23*W*5J6=7:89&;<!$$A>A?@W*BGCDEFHFIFFKTLQMNOPIRSUWVaXZ%[%%%]^`%_%%aĺb%cĊdyerflgk%hijϓ  2mno%pqFFFFsvtuvvwxv%ză{~|}OĀ|ā%Ăi%ĄćąĆvĈĉċĞČĔčđĎďĐ  Ēē%ĕĘĖė  |ęĝĚěĜ a oğįĠĨġĢ ģĤĥQĦħĩĪxnīĮĬĭ o R{wxİķıĴIJ ijuĵQĶFFĸĹv%O3%ļĽľĿ\m s{5{5 s{5{5 s{5{5 s{59 s s sɓz$%8%6O* 8Q    " !#$%&'()F+H,-6.2/01834587@8=9:;<w>C?8AFBCDEHG{CJ KłLMmNlOPQZRUST8VWXY  [b\]`^8_8 8a8ckdg8efuhij18%nopqrsxtuwv1wHy|z{H}~HŀŁ%ŃŻńŴŅųWņŇšňŕʼnŎŊŌŋ ōUŏœŐőŒ`>ŔŖŝŗśŘřŚŜ11UŞwşŠ|wŢŧţťŤ  Ŧ Ũūũ ŪŬŮŭůűŰ1/Ų3ŵźŶŷHŸŹw*żžŽ ſWWWW: WW::@W W5   W W a30T"ooooooooooo oo!oF#o$o%o&oo'(o)o*oo+o,-oo.o/Go12O8456Y7@89:;<>=?ABTCDGEF HRIJK L  M N O PQ  S UVWX Z[\]^_`bcndefghijklm:oOqrst~uxvw*yz**{|}ƀƁƂƖƃƄƅƆƇƈƏƉƊƋƌƍƎ1ƐƑƒƓƔƕwƗƘƙƸƚơƛƞƜƝHw ƟƠ1ƢƭƣƨƤƥƦƧƩƪƫƬ ƮƳƯưƱƲƴuƵƶƷƹƺƽƻƼ gƾƿwul |8Hgwww      vaO     '')"O*XLW ! #&$%*'(8%*ǖ+p,O-.1/02=3;4586719:><>@?gABICFDEu> GH JLK MN UPQVvRS }TU 1WXY]Z[\#$^_`eabcdwflghji k mno1$qǕrǍs~tWuv{wxyzK0|}8ǂǀwǁwǃDŽ1DždžLJNJLjlj gNjnj1HwǎǏǐǑǒǓǔǗǥǘǜǙǚǛ ǝǞǟǠǡǢǣǤǦǧ*ǨǩǪǾǫǷǬǭDzǮǰǯDZdzǵǴǶǸǻǹǺAVAVǼǽAAVǿAAAS1T1T1T$**$$$$$$$$$$$$$$$41$*$ӥRɜ$  O }* Ȅ J 8A'"g !  #$%&()*+2,/-.I<01<*3>4=<56<<7<89<<:;<<<<VV?@<B*CG*DE~~F* H**I~*KOLQQMNQQGPQpRiS`T\UXVvQWQvvYZ[vQvQQ]Q^_QQvaebdQcQvvQvfgvhQvQjkvQlQmQnQvovQqvrQQsQtQuvQwy#x#zQ{~Q|Q}AvȁȀQAQȂȃAvAQȅȆȇȈȮȉȟȊȐȋȌȎȍ  ȏgHȑȘȒȕȓȔ1 wȖȗ$q wșȜȚț1gHȝȞ$  ȠȡȨȢȥȣȤ  Ȧȧ KYuȩȫȪ Ȭȭ ȯȰȾȱȷȲȴȳȵȶ gH1ȸȻȹȺ w$ȼȽ1q ȿwgH$      KYOOɉi(wKKKKKKKKKwTKKKK KK                   1 !  "%#$ `&'   )B*3+/,.- u0u1u2u 4958u67uuu:=;<uu>@?uu A CMDH E FG  ILJK  N_ORPQgSUTVWgXgYggZ[g\gg]^ggK`eadbcgwg1gfghwggjklnm opq>rstuzvwwxyu{|}~ ɀɁɂɃɄɅɆɇɈɊɚɋɌɍɎɐɏ8ɑɒəɓɔɕɗɖ ɘ 8ɛɝɞɴɟɥɠɡɣɢɤɦɱɧɨɩ6!ɪQɫɬɭɮQɯɰɲɳ*ɵɶɼɷɹɸ8ɺɻQ8ɽɾɿ******W %84.8 s gH1 w$1 1q wwggH$ H   $           KYu  $!"#%&+')(u *,-/0213$5[6I7:89;H<=>G?@ADBCgEFg8%JLKMNOPRQ $1SVgTU HWXwYHHZH \]}^_`aubcpdefnghijklmo|qrstvwxyz{| =~ʀOʁNʂʃʄ8ʅˈʆʇʾʈʑʉʊʋʌʍʎʏʐBʒʳʓʔʕʮʖʡʗʝʘʛʙʚ;%8;OʜʞʟBʠ ʢʩʣʦʤʥ!::.ʧʨ*bʪʫʬʭ+pʯʰʱʲʴʵʶʷʸʻʹʺ3ʼʽ;ʿHHHH||//>>KKKmWwTwTwTW    n n4nn,A "#$%&'.(+)*|,-<:/201t:ȯ35s6n7W89J:A;@<>=?uu BE C D FIGH;FVFYKLPMONKYֹK QTRS<+1ˤ1˦˨˧$$˩1$1˫ˬ˭˻ˮ˷˯˴˰˳˱˲; ;3|4˵˶˸˹˺˼˽ ˾˿;l;  n;n^YY,Z&PPW Auuul<B<hG; ;3|44tB   | |;l |;n;3(!n^ Y^Y"%#$,ZZ&'=).*,u+ -& m/1P0P2W4>5;6978A : <u=uu?Cu@ABDEFllHI]JQKLOMNqePRYSVTUWXs<<eZ[\=^_e`bawTwTcdwTWfgiwjklpHmHnHoH|qrust|//uvu|xyz{|}̗̀́̽̂̃̏̄ ̅̌̆̉̇̈Ů̋f ̍ ̎#; ̐ ̑̒̓̔̕V̖nņ̴ֹ̡̛̘̙̞̜̝̟̠̚Lzz*̢̤̣< <̥̦<+ˢ̨̮̩̬̪̫H̭|*Ƚ̯̱|*̰dq̲̳˃H<̵ ̶ ̷̸̺̹<̻̼$;̾ ̿uu    ;FVFY KYֹK <+=|*?|ABg1DJEHFG  I KLM 1PQ*S@T΂U%VpW;XʹY%Z[͟\]^͙U_`yaG$bjcG$G$deG$G$fG$gG$hiG$G$krlG$G$mG$nG$oG$pqG$G$G$sG$tG$uG$vG$wxG$G$z}{͏|͈}}~̓}̀}́}͂}}̈́}ͅ}}͇͆}G.}͉}}͊}͋͌}͍}͎}}͐}͑}͒}}͓͔}͕͖͗}}͘}}͚͛͜͝%% N%͞% Nͩͣͨͤͥ͢͠͡ ͦͧ  OͪͫͬOͭͮͯͰͱͲͳW%͵Ͷ%%ͷ%͸͹%ͺ%%ͻ%ͼͽ%:%Ϳ%%d}p!|~`}Y}T! P%%0O|OO|OO6O4y|OOIOO"OO,"O    OG=|O """OOGKOOOOOO||I4(% #!"O||w!|$"||&|'O|O)*-+,O"|O./"I;I1U2;3846|5"|7I|6|9:G=|<L=?>O|O@J"ABI"CD""EF"G""H"I"IK"~IMQNOO|OP"OROST"O"|V_WZX|Y|w!4M[]|\|"~^I"~`haebc"OOdOfg"||"injl|k|"m"O"o4yO%q%rs%%t%uv|%wx%y%%z{%y%%}~%%%΀΁%y%΃%΄΅΋ΆΈ·%%QΉΊ%%%Ό΍ΗΎΏΐΑΒΓΔΖΕΘΙΩΚΡOΛOΜOΝΞOΟOOΠO"΢OOΣOΤΥOOΦOΧOΨO"ΪOΫθOάέOήγOίΰOOα"~β"OδOOεζOOηO#OικOλOμOνOξOOοOOO"OϽϏ?O|OOOOOOO"OOOOOOOOOO"OOOOOOO"OOOOO"OOOOOOOOOO"OO"OO OOO"O"O"OO OO"  O""O OOOO"OOOOOOO"O,"OOO"O (O!O"O#$O%OO&'O"O)OO*+OO"-<.7/OO0O12OO3O45OO6O"O8O9:OO;"O=OO>O"@mA`BC"ODMOEOFOGOHIOOJOKLOO"NOOOOPQVROSOTOOUO"WZOXY"O"[O\^"]"O_O"OaObOcOdOOefOgOhkOij"O"lO"OnψOopOqyrOsOtOuOOvwOxOO"zρ{OO|}OO~OπO"OςOOσOτυOφOχOO"ωOOϊϋOOόύOώOO"ϐϪϑϘOϒOϓOϔOϕϖOϗO"OϙϡϚϟϛOϜϞϝOO""OOϠ"OϢOOϣϤOϥOϦOOϧϨOϩOO"ϫϷϬOϭOOϮϯOOϰϱOϲOOϳϴOOϵO϶O"OϸϹOϺOOϻOϼ"OOϾOϿOOOOO"OY %fffmGZGZ> %v UQT d F d    O8(#" U!1 %$%%&'  ')2*.+,F-Go/O01C37456IyByQ39J:?;>< = %@GADBCEF$HOIKQLM }NQOP rQRUSST VWXQ}QZ%[\І]a^%_O`O"b|ckdgef    hji  lomn$$1pzqrstuvwxyu{1}~ЂЀ Ё ЃЄЅЇпЈШЉВЊЍBfЋЌЎАЏG~БГКДЗЕЖvИЙIЛЦМХНОПРСТУФGIIЧGЩлЪзЫдЬЭb)ЮЯBfBfаBfбBfвгBfBfGежIIIийкt>мноU_O s{ G8  %r:% % %r:%O 88*/($ !"# %&' )*+,-. 0123456789:;<=>?AbBCѱDIEGF%H *JѝKчLQM#ANmOZPQ3 &RTgSgUWVgXYgg[g\b]_^''`a''ced''f $ !hij*GklG:5* _noцp{qrstuvwxyz|}~рстуфхuшщэ#Aъы ьOюєяђѐёOѓ_ѕіїјdљdњddћќd.dўѢџѠѡѣѤѥѦѧѭѨѩѪѫѬ ѮѯѰ ѲѳѴѵѶѷѸѽѹѺѻѼ Ѿ ѿ                  1q1H wTPD= 3   -  %g#w !"$&'*()1+,gH./012H4<56789:;>?@AB CAEMFG*%HvIJK#LONOOQURSTVWXYZ[\]_^`a  cdefgҷhtijklomn.pqrs..uҗvҊw҃xy}z{8|8~8Ҁҁ҂!҄҆҅C҇҈҉ҋҒҌҐҍҎҏ1ґғҔҕҖuҘҤҙҚҟқҜ\ҝҞҠҡҢң83ҥҫҦҧҩҨ8Ҫ8ҬҰҭҮү8ұҴҲҳҵҶ8ҸҹOҺOһOҼOҽOOҾOҿO}v8 u H% } }Hasp`Lz     Q uG)$" !uGu#%%'&(*+1,-.u/0uGu 2835467 G =9:u;<=>C?@ABDHEFGIJKMONOO]P[QORSO|TOOUVHWHHXYHZHHO\O^O_O|OabcdekfighjClmnoqrtzuxvw*y }{~|}vӀ ӁӂӃӄӢOӅOӆӇӑӈOӉOӊOOӋOӌOӍӎOӏOOӐOw0ӒOOӓӔӛOӕOӖӗOOӘәOӚOOw0OӜOӝӞOӟOOӠӡOw0OӣӤ{ }QӦYӧHӨԦө>Ӫ8ӫ;Ӭӭ8Ӯ8ӯӰӷӱӲ8ӳӴ88ӵӶ88{CӸӹӺӻ38Ӽ8ӽ8Ӿ8ӿ888888H88888H88888H88gH888 #uHF#w|H| #uu       ##  HHH8( 88888888{C8!8"8#8$8%&8'88{C8)*8+3,88-8./88081828H'4858867888898:8H'<88=8?ԑ8@AJB8C88DE88F8GH  I8 K}L8MnNSOQPe8ROTaUVWXYZ[\]^_`gbcdefghijklm8o8pq88rs88tu8v88wx8y8z88{|88}8~88Ԁԁ88Ԃ8ԃ8Ԅ8ԅ8Ԇ8ԇ8Ԉԉ8Ԋ8ԋԎ8Ԍ8ԍ8ԏ8Ԑ88Ԓԣ8ԓ8Ԕԕ8ԖԞԗԘԝԙԚԛ)Ԝ)* 8ԟԠԡԢԤ8ԥ88ԧԨԩԪԫԳ8ԬԭԮ ԯ ԰ԱԲ  8Դ8ԵԶ88ԷԸԿԹ8Ժ88ԻԼ8Խ8Ծ8[88888888{C8880q0q0q0q888888888{C{C8{C88gw88888 88      gH 888888; 5!("#$&%wTwT'wT).*+,-/201346789:<=B>?@AgCDEFGwTwTIJշK{LxMaNO88P8QRX8S8TUWV88{C{C8Y^Z88[8\8]{C88_`8{C8bdc88%e88fgm8hi88j8k8l8gns8op8q8r88g8tu88vw88gy8z88|ը}ե8~8ՀՁՑՂՇՃ8ՄՅՆ88ՈՉՎՊՌՋ88Ս8ՏՐ8ՒՠՓ՛ՔՖՕ8՗ՙ՘8՚8՜՝՞՟88{Cաբ{Cգդ$8զ8է88թ8ժճ8իլ8խ8ծ8կ8հ8ձ8ղ88{Cմ8յն8ոռ8չպ88ջ8{C8ս8վ8տ86+88888888 8{C8\8}8)88888  88  8 88888%8 88888{C!88"8#$8{C8&88'(8)8*88[,88-8./0812345 7@88988:;8<=>?AD8B8C8EFGH8IJKPLMNOQRSTVU WX1 gZ׉[0\֡]փ^_`abucg3de3f3H63hoiljk33mn33qp3qtƲrsq'qv{3wx3yzE3)3|}ր3~3ցւ3T3քօ֐ֆևֈ։֊֋֌֎֍֏֑֖֛֢֚֒֓֔֕֗֘֙֜֝֞֟֠ ְֱֲֳִֵֶַָֹֺֻּֽ֣֤֥֦֧֪֭֮֨֩֫֬֯־ֿ gw1                  sG s{5   s  s s }3&% !" #$%'()*+,-g.g/gg1K29345678:;><=?J@%ABC*DEFHGI!L_MQNOPW%RS3TU3VWYXZ\[ H]^gH`{abzcdjefghiklmnopqrstuvwxyHHQ*|~}׀Oׁׂ׃ׅׄ׆ׇ׈H׊4׋׌׍ץ׎׏א6  }בגפדהוזחןטילךכgםמgנסעףgצק9רש׹תׯ׫33׬׭׮3Ƅ3װ׳3ױײ3S3״׷׵׶q336׸33׺׻׾3׼׽3TE׿33333)33333  6 }%%                 g  g *v * %!"#$U>&*'()+/,- 11.1 012|3q 56ؗ7h8>9:;<=?@OABTCEDgFGHIJKLMNOPQRSUcVWXYZ[\]^_`abdefg  iؕjklm؀nwotpr3q3s3u3v33x}y{3z363|3~333؁؋؂؈؃؅3؄؆؇36؉3؊3E3،ؒ؍ؐ؎؏6ؑ3C33ؓ3ؔ3Ƅؖ }ؘظؙؚط؛؜ج؝ب؞ء3؟ؠ33آإأؤ33ئاb3ة3ت3ث3q3ح3خرد3ذ33Tزصسش3SE3ض33bعؼغػ*Qؽؾؿ  www  }Q* s } Q'M'\' Qll Q Qy'M Q'0H       a(!33E633 63"%3#$33Ʋ&33'3)2*/+-3,C3.301333843356373ޑ3393:3<0|=_>?R@ AۥBڈCOD-E!FGHIPJvKLMNOHQ`R^STXUVWIWIY\Z[fI]X_abcdgef hٖijyklmnuorpq stK uvwx  Yzو{|}ل~فـ قكK uمنه  Yىيًٌٍَُْ ِّK uٕٓٔ  Yٗ٘٧ٙ ٚ ٛ ٜ٣ٝ٠ٟٞ  ١٢K u٤ ٥٦  Y٨ٶ٩ ٪ ٫ٲ٬ٯ٭ٮ  ٰٱK uٳ ٴٵ  Yٷ ٸ ٹٺٽٻټ  پٿK u   YH1HHHHHH HHHHHH HHHHHH H w1 w1 w1 1111  HH 1H1 111HH1H1111HH1H1 s ",#$%&'()+* *./012B3;4586719:<=> ?@  A CIDEFGH JKLMN PgQSRTcQUV_WYQXvZ[\]Q^QQ`QaQbQQdEeHEfHEHEHUhiڇjkmHelHsHnoHHp}qHrstuvwxyz{|H~HHڀځڃڂڄڅ چHQډڊڋڏڌڍڎ{Cڐڑڒڥړڙڔڕږڗژښڠڛڜڞڝڟڡڢڣڤڦڼڧڲڨڮکڬڪګڭگڰڱڳڴڹڵڸڶڷںڻڽھڿ%  ۋۈ7$2*aK     1 waga(!0;0;  *"%#$**&')/*-+,.0312 *S45*68b9:;<D=?>@A BC1 E[FQGKHIHgJ$LOMNw  P$RSWTU V XYZ\a]^Y_`YYcmdefghijklnzopqrstwuvH1xygw{|ۄ}~ۀہۂۃۅۆۇۉۊ**یۣۍOێۏۜې۔QۑےۓQQەQۖQQۗۘۚۙQۛQQQ۝Q۞Q۟Q۠ۡQQۢQۤQۦۧ۰ۨ۬۩۪۫ }Wۭۮۯ%۱۲۴۳۵۶v۷۸۹ۺ۽ۻۼ8۾ۿ88%mHWIJe**c   H    ************%!ܘ"%#$O&\'()7*+,5-2.0/g1134 6{C88?9:;<=>gg@NAFB CD gEgGJHIKLMOPZQSRgTUgVWXYg[g]^_8`a܁btcdeqfg hijknlmoprs uvwxyz{|}~܀  ܂܃܄܅܆܇܈܉܎܊܋܌܍܏ܓܐܑܒܔܕܖܗܙܚܛܫܜܝܞܟܦܠܡܤܢܣ}ܥܧܨHܩܪG$ܬܭݹܮݯܯݩܰiܱܴܷܸܹܻܼܾܲܳܺܵܶܽܿgggggg ggggg ggg  wwggIB           $ u uu          !4"+#($K%&  'K K) K*K ,0-./ 1 2 3  5 6=7:8 9  ;  <  >? @ A  CDEFGHHJK1wL\MVNTOwPRQwSwwUwwwWwXwYwZw[w]w^w_f`cabwwdwe>wgwhwwjwklmsnop qrYHHtuvw1xyݣzݏ{|}݉~݄݂݀݁g݆݈݃݅݇gg݊݋݌ݍݎ  ݐݛݑݘݒ  ݓݔ ݕ ݖݗ ^ ݙݚ H  ݜ ݝݞ ݟ ݠݡ   ݢ ݤݥݦݧݨ1wݪݮݫݬݭH1ݰݱݵݲݳݴvݶݷݸv4ݺݻݼݽݾݿWZZZZZv/W88888888H      1111    HwTv !T"#$I%7&'/()*+,-.g0123456g89A:;<=>?@gBCDEFGHgJKLMNOPQRSgU>VWޫXލYuZb[\]^_`agcdoejfghigklmngpqrstgvޅw~xyz{|}gހށނރބgކއވމފދތgގޟޏޗސޑޒޓޔޕޖgޘޙޚޛޜޝޞgޠޡޢޣޤޥިަާgީުgެޭޮ޽ޯ޶ްޱ޲޳޴޵g޷޸޹޺޻޼g޾޿ggggggggg gg ,   gg$ !"#g%&'()*+g-.6/012345g789:;<=g?@ABKCDEFGHIJgLMNOPQRSgUVO*X߻Y߸Zߦ[\r }]^h_`a8bgcd8e8fg8j8ij8kn8lOmu\opq\\$ }stߜuz }v }wxy }H{ߗ|ߍ }} }~ } }߀߁߆ }߂ }߃ }߄߅ } }v~ }߇߈ }߉ߋߊ } }v~ߌ } }v~ }ߎ }ߏߐv~ߑv~v~ߒv~ߓv~ߔߕv~v~ߖv~ߘߚߙ }Iߛ }Iߝߢߞ } }ߟߠߡ } }ߣ } }ߤߥUߧߨ߯ߩߪ߫߬߭߮1߲߰߱߳ߴ߶ߵ  ߷u߹ߺ߼ ߽ ߾߿88888888888888{C888888888888}8888{C8888{C88888{C8888888888{C8888{C88888888888{C888  88 8{C*g '!"#$%&()*+,-.gg081234567 9E:;<=>?@ABCD FPGH IJKLMNOQ S'TUVWjXYZ[\]^_`abcdefghi~kulmnopqrstWvwxy~z}{|Q#P#P#PyywE$y'MH%T% a%"$%:$%v% }****I *I }Q $$ gw  v%        I/     mW# !"%$%&(>)*+,-./0123456789:;<=Z?D@ABCEFGHIJKML%vNmORPQ  S\TWUV XYuKZ[nu]d^a_` |bc|*elfigh njk wT$noypsqr tvuunuwxKz{~|}K|*&^4 |||*u^4&n  KuwTwT  u |*u| K%%%%%%%O%OvvQ3OnGAO"OOOOOOO"~OOOOOO"~OOOOO"~OOOOO"~OOOOOOO"~O"~OOOOOOOO"~& "OO"O"OOO  O O"O OOOOOOOO"OOOO"!OOOOOO "OO"O#"$%O"O'O(7)1*OO+O,O-O./O0O"OO2O3O45OO6O"8"O9O:O;O<O=>O?@O""OOBCOODEOOFO"HIO"JeOKLOMVNOOOPOOQROOSOTUOO"~W]OXOYZOO[\O"O^O_OO`aObOOcOdO#fjgOhOOi"OkOlOOm"OopqOrOstOOuvOOwOxOyz}{OO|"OO~O"OOOOOO"OO"OOOO"OO"OOOO""OOOOO"OOOO"OOOOOOOO"OOOOOOO"OOOOOOOO"OOO"OOOOOOO"O"~"~"~"~"~"~"~"~""~OOOOOOOOO"OOOOOOOOO"OOOOOOO"~0OOOOO"OOO"O"OOOO"OOO"OO OO O  OO O"OOO"'OOOOOO"OOOOO"OO O!O"O#$OO%&O"O(O)O*O+O,OO-.O/O"O1<O23O4OO56OO78O9O:O;O"OO=>e?V@OAGOBOCODOEFO"~OHOOIJOKMOL"~OONO"~OPQOROSOTOUO"~OW^OXOYZOO[\OO]O"~_OO`OaObcOdOO"~ftOghniOOjkOOlmOO"~oOOpqOrOOsO"~uOv|OwxOyOOzO{"~O}O~OOOO"~OOO"~OO% }vOOOOOOO"~OO"~!C|~!vQv%%%m  !%1S %O%%%%~ s |%OO"OO| ||%%%%|v *   P0!*J N% Qy  y")#&$%O'( |*-+,y ./ XIy1>273456II> 8;9:Ib%'<=y?F@CAB ytDE } QGIH JK'MLOMNr:y~QrR`SYTV'MUIWX'M>Z][\OJ^_IN%akbhcg}def ijCx lomnpq I\st{uxvwOmyz%u|}~ 'p~pIp%%pI% O" 3 IvIlp!vy'*%wEITI'jex~bɱ~% O%Iz'I%~IIIo$bF% 'a~$J ! !  I>CJ `z  %IIyI    I }  U } C / QC  Q!"3#.$%*g&'()+-w, ww/012 4<568719:w;w=J>H?E@BACDw1FGw1 I  KQLMONPRUTU[VYWXhZ%\.]k^_j`fa b@cde g h i  lmnxopqOrs|tOuOvOOwxOOyOz{O"O}~OOOOO"OOO"OOOOO"OOOOOO"OOOOOO"OOOOOOOOOO"OOOOOOOO"OOOOOO"OOOOOOOO"OOOOOO"OOOOOOO" OOOOOOO"OOOOOOO"OOOOOOOO"OOOOOO"O"O"OOOOOOO"OOOOOOO"OOOOO"OO O O"O  OOO"OOO"YN=-%OOOOOO"O OO!"OO#O$"OO&'OO()O*O+O,OO"O./60OO12OO34OO5"OO7O8O9:OO;O<w0O>O?O@GAOBOOCODOEFO"OHOIOOJKOLOMO"OOOPOQOORSOTOUOOVOWXO"OZlO[\OO]^e_O`OaObOcOOdO"fOgOOhOiOjOk"OmOnuoOpOOqrOsOtOO""vw""~"yz{OO|}"~OOOOOOO"OOOOOOOO"OOOOOO"OOOOOOOOO"OO"O"OOOOOO"O"OOOOOOOO"|IIIIII"IIIIII|IOOOO"OOOOOOOOOOO"O"OO"OOOOOOOO"OOO"~OOOOOOOOOO"OOOOOOOOO"OOOOO" OOOOOO O  O"O OOOOOO"O!OOOOOOOOOOO OO""OO#$OO%&OO'O()OO*O+O,-Ow0O/0%2/3456768v9b:>;<= ?H@D QA QB QC QEFG'\I[JM QK QL QNXOPQRSTUVW'\YZ Q Q\_] Q^ Q`a Qcldef Oghkij$PPPmtnospqr o ou%vQwxQQyQzQ{|Q}Q~QQQQ~  aIII oI{x2 ow{>{ o RI o o o o  o oI o oJw owx2{{ a>/ R o o oױwwwwwww>w o{) R Rw{ a o>           w o L*x2ЇwJ{{ R) o$! /> o"# o%(&'/ o) o+9,3-0.//ױ12 o oܬ4756 o R{ o o8 o R:F;C<=  o>?@AB RDEx2w oGIH o oJK MrNdO^P[QRS oTUVWXYZ{\]{_b`a{ oc{ekfh Rg oij oױ olomn o o{pqЇ{stxu ovw awwy{ oz|}8884 >K$K U |*1F|<:t:ȯ||R;]uR&'u).*,+u<:-FȽA?@<<:B#ȯDJEHFG#IKLM;OPuQlR^SYTV U WX|Z\[|]_f`cab=de< uugiPhPjkT  umunroupquFFuusutqv{wyx=z;|u}uu   ;l  ;KF,Ku  //ˢFF=U ? ; ABHCE DFGVIKJzֹLLM*O P Q RUST111 11"6#w$w%2&,'*()<:tȽ+? ||ADBCE  G=HIJXKPLMgNgOgQRgSgTgUgVgWg;~YwZj[1\1]d^a_1`111b1c1$e1fh$g$#i#1k1l1mpnHoH|Hq1rtsuH?P@ABICDEFGHJKL M NO QnRfSTUVbW\X[YZ8 `]_:^`aw*cdeghijklmso~pqrst{uxvw;yzFF/|}/~3;%w;!p` +3;O.T . * **** * *** *!!!!!0a&%**~* "!*W#00$0',() *\+̿9-0{1f25346c789`:S;G<=>?@ABCDEF*3HIJKLMNOPQR*3TUVWXYZ[\]^_*3ab*3de  gjhi%kzlt }m }no }p } }qr } }s }uvvvwvxvvyv|N}K~11uu  |H1 u  gw1K  g w g   | uuK Y11Hw  H1  w H|K  1gw     H|     u g wH gK.!   wgg")#&$%1 w '(H|K*,+u-/=071423K56  8;9:w H|<g>E?B@Agg1CD FIGHwJ LM**OPQRtScT^UY&KVWX;;Z[&K\]_`;ab#di&Ke&Kf&Kg&h&Kjok&Klnm&K&Kpsq&Kr&K&K&K&uvy;w;x&&Kz{~|}&K&&K&&K&K#;&K&&K&&K&K&K&K&K&K&K&&K&&K&K&K&&K83v%6*v&K&K&K&K&&K&K&K&K&K&1&K1&&K&K 3    WQ *6OV32/ v!$"# %&'()*+,-. 01_O v% 45?67: 89};><=P}}@CAB}DHEGFBILJKϓ|}%M NCOPCQCRCSCTCCU|8CWhXYZ[\]^_`abcdefg#Pijskplm noHqrtyuvwxgz~{|} g**$$$w                   gH }v*|||||||J"|6v6%   %     x! "#$ &'(:)6*-+,v.2/ s0 s1]q34qq5r+q7%89QO;<R=>?I@ABCDEFGHJKLMNOPQS\TUVWXYZ[]v^d_`abcnelfghijkmnopqrstuwx~yz{|}6vO%U  gg Bn:^zֹgYuw g%&$ } &% s%%%%%%%%%%#OױC   k% w       a*$ Q!"# %}&')(*j+b,1-0./ %Q2K3=4856 7u9:<; >D?A@wBC1gEGFuHIJwL\MSNQOP1gR  TXUV HWKY[KZ$]^_`a cmmdmemfgmhmmim l~monpsqr*atauvwxyz{|}p#_!8%vvvvJ1vvvvvvvvvvvvvvWvvvvvvWvvvvvvvvvvvvvvvv  3|******J;*J;JJJJ**N                 wg     11111q 111 0v!")#&$%i'(" *-+,zr: y3./zrHJYI2?3;45 67 8 9 : <=>u@AGBECD$ HHFHHKIJ LM gYOP*QR{SiT`U]VZWXYH= [\ Q^_%ymafbc }OOd_e_ںgh !jpknlmxvmo%qurtsf %vw%x%yz|{~|}~%اvO#A.QO !O%vzvQ $  }vv2 8COOO* w       q w6z 5555555  } 8O  8*- !"#$%&'(),*+.s/?O0172OO3O4O56O"OO89OO:;OO<O=O>"O@]ANBFCOODEOO"OGOHOIJOOKLOMO"OOZOPQORVSOTOOU"OWOXOOY"OO[\O"O^O_o`OOaObcidOOefOOgOhw!OOjkOlOOmnO#OOpOqOrO"t}u{OvwOxOyOzO"O|O"O~OOOOOO"OOOOOO"OOOO"OIWHU% D><888$%vzzzzzzzzzv     I vzzz..*'! Y"#$%&()vv+,-v/502134z6978vv:;:v=v?A@OBC%O !EnFYGHIJQKLMNOPHRSWTUV   Xw1Z[Q\]^`_gabcdefghijklmopqrsytuvwx8z{|}~(wY8%% 8&88888 88Q%%%%%%%%%%%%%%  gg S%3vJhJwJwdd=J88 *%*O** !OQ      g !!I"#$%,&'}(v)N*;+3,0-/.1\2\47568:9'\ Q<C=A>@? Qz'0OB#P'\DIEGF'0H'0'\JLKzMOfPYQURsSTC'0sVXWssZ`[]\'^_C'0acb Q'de Qz gohkij QkJlnJmypsq Qrtuwxyz{ Q| Q~V Q QV Qɓsz '''0zz Q Q Q'0'0y#P'y#P'ysssss Q Q'''''' Q Q', Q, Qsz   Q Q'\ QzzCɓ#P Qzz#PC QCCɓ Qy Qy#P QCs Q4' Q '\   '>#P Q Q# $l#PF!"'y$%)&'('\#P*+ Q'\'0-./q0P1>27354 Q'l Q6 QwE89O7:<';' Q='M QC?H@DABC'C'EGz Fz  QILJ Q QK'07MON'>'Q`RYSWTVU#P'\XwEZ^[\'07]4_''Magbecd'MwE Q;(fwE'hmik Qj Q Ql QnpCo'' Qrst}uyvw\x'z|C{' Q~' Q''' QwEC Qck Q Q Q Q Q Q Q Q Q Q Q Q Q Q' Q Q Q Q' Q' Q QC'0 Q Q Q'0'\' Q' Q Q Q Q Q'''''' Q's Q Q'\'0 Q Q Q Q Q7 Q\C Q Qz zF Q Qz'\' '0C Q   '0C'jm )m,', , Q8&  Q Q'F'\'!"' Q#$% Q',(+)*#P Q#P Q-3.2'/01''0 Qy'0 QC456Cy7F9> Q: Q;< Q Q= Q'\?D@A Q'\BC Q QEH QFG Q Qy' QJUKTLMNOPQRSOV sW8X8YZ[\]^ `)$abcdefgjhiSQklmnoptqrs u{vxwyzwH|~}1 %88838* s88{C8888888888̿\̿98OiZHwHHHqH KH|q ggK    8  A  8 88*$! "#%&'()+,-.M/I0G1F2<3456789:; =>?@ABCDE  $H$JK L$NOPVQSRTU WXYlgg[f\]^_`abcdewghjkplmnSoSTJqrstuvw}xzy{|~                      MMM|88jjjjjjjjjjjjjjJ8*1  QQ     O* !"\#6$-%*&'()U+ ,.3/102 457J8;9:<H=G>?@ABCDEF IKVLTMNOPQRSUWZXY[]p^e_a`HbcdHfjgihknlmHoq{rwsvtu  xyz|}~Q{C88{C8#A   >>O8  ==H*v     1' !"#$%&=()=+Y,6-3.0/*12v }46566676869:6;F<B=?>6*6@66AG6C6DEGPH6I6J6KOJLMNJnn__n6QRVSqTqUqJqWXJ66Z6[\k6]6^_%`%a%%b%c%d%e%f%g%hi%j%%lmunopqr ss st svwOxyz{ |}~|||| ||| |||||}|||}|}|%||%|% ||}||||| ||||}||| }b||||||| >$  u|#  #   US&(U@w  _O }# Y E "     K    nK    ! #@$6%1&*'()+,-/.024357;89:<=>?ABCD F GUHIJKQLNMOPRST VWXZ[\q]j^ _e`c ab  d  f  gh i  k  lm  no p  ru st  v w  xy}z {|  ~                                                    uuu              !"$%&'d()*r+a,E-6.2/ 0 1   3 4  5  7= 89; :  <   >A ? @  B CD    FQGMH IK J  L    NO P   RZSWTVU    X Y K[^ \ ]  _ ` K blchd e f  g  i j k  mn o p  q s tuv~w{xy z |}                                         u     K      KKKKK KK KKKKKKKKKKKKKK&               %" ! #$  '?( );*3+0,.- uu/ uu1u2u 485u67u  u9 :uu < =u>uu@]APBKCHDFE G IJ LNM OQWRUST V XZY [\ ^ _`ba   c efgzhniujuukulmuuoupuqwrvsutuuuxuyuu{|}u~u uP l u K 4uuuuu uuu u    uu uuu uuu uu  uuuu uuKuuu uuu uu uuuu u uuuuuuuuuu                      KQ'uu#u !u"u$%u&uu(F)7*2+.,-u/10uu345u6u8?9<:uu;u=uu>u@CABuuDEuuGMHKuIJuLuuuNOPuReSuT_U\VWZXYuu[u]^`uadbcuufgzhrinjlkumuuoqpuusxtvuuwuyu{|}u~uuuuuuuu  u u u  u u    uu   uuuuuuuu u u u u uuuuu uuuu uu444u4444444u`"uuuuuuuuu PPPPuPPuPPuP    PPuPPuuPuPPPuPPuPPPP PP!P#F$5%-&4'*(4)4u4+4,44u.2/04u14u434u4u46>748:494;=<44u4u?C@4AB4u4uD44Eu4GXHTIOJLKuuuMNuuuPuQuRSuuuUuuVWuuuY]uZ[u\uu^u_uuazbqcudnei fg h u j kl Pm  u o p urusutwuuuvuuxuyuuu{u|u}~wTuwTuwTuwTuwTwTuwTuuwTwTuuuuuuuuuu uuuuuuuu uuu uuuuuuuuuuuuuuuuu uuu uuu uuuuuuuuu44uuKKuKKKKuKuKKuKuKKuu      u uuuuu u uu uh; uuuuuu uu u  u u u  uu u uuu  u u uu u u!)"u#u$'% & u (u u*6+,3-1./0u2u457u89u:uu<K=E>u?u@uAuBDC  u uFuGuuHIuJuuuLMbNWOSP  QR  u TUV  X^Y[ Z \]  u _`au  ucudge fu u uijukl mvnro p  qu  s t uu w}x y{ zu | u~   u uuuuuuuuuuuuuu   u    u  u      u  u    u  u  u  uu  u   u    u   u u u  u   u  u u u u u  uf/E)                                         #  !  "   $%'&    (  *?+6,2u-.0u/u u1u 3uu45uu 7:u89uu;u<>u= uu@uAuBuuCDu uFMG H I J uKL  uNpO]PTQRS UZVXW Y[\ ^i_d`ba c efg h jmkl no q~rzswtuv xy {|}       | | |||||||  |||| ||| |||  | |||                              %!    "#$P& ',(*) +- . 012J3;4 58 67 |*  9 : <B =>@?  A  |*CFD E   GHI |* |*KoL_MWNQ O P uRUSTu  V  uX[Y Z  u\]  ^u `d ab  c ueif ghu u jlk  umnu pqwrt s  u v  x|y z{    }  ~                                                                        uu u uuuu uuu u  u uu uuuu  u uuu u uuu uu uuuu uuu uuuuuuu  ? 8 %  KKKK K KK KKKK KK!K K KK"#$K K &1'.(+)K*K KK,-K K/K0KK26K34K5KK 7KK 9 :;  <=  > @YA BMCGD E F  H IKJ  L  NWORPQ SU T V  X  Z [e\`]^_ acb d  ghij}ktlp mn o   q r s uyv  w x  z { | ~                                                       K 8-"      !#) $ % & ' ( * + , ./051^2^^34^^^6^7^9:r;V<I=A >?  @ BGCE D  F H  JRKOLN M  P  Q S T U  WaX\Y  Z [ ] ^_  ` bjce d fh g i  kplomn   q  st~uzvx w  y  { | }                          wTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTuuuuuuP      A                     ("  !  # $ %&' ):*1+,0- ./   2734 5 6 89   ;< =>  ?@ BM CDL EFGIH JK   NO  QYRWSVTUuuXZ[{\s]e^c_ ` a b d f glh  ijk  mp no   qr  tu v w xzy   | } ~   KKKKKKKKKKKuuuuuuu  !H  (De@KK K K K   K K  K KK K KKKKK KK (K K!$K"#KK K%&KK'K )K*3+/,KK-K.Ku0K1K2KKu48K56KK7Ku9>:<;KuK=KuK?KKuATBLCKDKEKFIGHKKJKKKMKNKOKPKQKRSK^^KUKVKWKXbY\KZ[KK ]_K^ K`aK  KcKd K fgKhij~ktlrmonuupquKKuusuKuyvwuKKxKuz|u{Kuu}uKuuuKKKuuuKuKuuKuuKKuuKKuKKuuKKKuuKuuKKuKKKKKKKKKKKKKKKKKK K  K  K K  K K  Y  YK    K    K      K    K K   KK + KK   KK'  !$ "# K  %&  K(K )*K K,6-K.K/3 01  2 K 45K K7K8K9K:@;=<K >?K  KAB KCK KEFGY HI  JKRLO MN  P Q  SVTU  W X  Z[~\n]h^e_b`a  cd  f g iljk m owptqrs u v x{yz |}            g                                                                        KKKKKKKKKKKlKKK      K wTwT wTwTK K KwT wTKK     K  K!KK  K   K K"K#K$K%KK&'KK) N*+,o-h.H/:05132  4  6  789  ;B<?= >  @  A CFD E  G  IWJPKN LM O  QT R S U V  XaY\ Z[ ]_ ^  ` b cfde  g ijknl  m  pyqrsvtuuwxuz{|} ~                nnnnnnnnn       4     2                          *  #u u ! "uu $ ' %uu &u ( )uu + , - 0 . /uu 1u 3 E 4 5 C 6 ? 7 < 8 :  9  ;   =  >   @ A   B  D  F G H I J L KwT MwT O  P v Q e R ^ S  T  U  V \ W Z X Y  [  ]   _  `  a  b   c d  A f p g  h  i  j n k m  l     o    q  r   s t   u  w  x  y  z  {   | }   ~                                                                                                                         n nn     n nn  nn                     n   n n  n n n n  nn      n  n nn nn  n nn n n n      n  nn n n      nn nn  n   n nn  n n n                n  }      T  -                     !  " * # ' $ & %    (  )   +   ,   . 5 /  0  1   2 3  4   6 L 7 B 8 = 9  : <  ;      > ? A  @     C I D G E F      H  J   K   M  N Q O  P     R  S   U j V ] W  X  Y  Z   [  \  ^  _  ` d  a b c   e h f   g  i   k  l z m v n s o q  p   r  t   u  w   x y    {  |  }  ~                                         u  u    u u          u u    u                                                                                          U                                                                                                              ! 7 " . # * $ ' %   &   ( )   +  ,   -  / 3 0  1   2   4  5 6   8 G 9 B : >  ; < =    ?  @  A   C  D  E F    H P I L J  K     M N O    Q  R   S T    V p  W X f Y a Z [ ^ \ ] _ `  b c d e g l h i j k m n o  q  r  s  t  u z v x  w uu y uu { | u  ~           u  u uu uu u                                                                    P                                                                                         K KK K                                                                                                                    " ? #  $ b % = & +  ' ( ) * , - . / 0| 1 : 2 3 4| 5 6 7 8|| 9| ; <| > Y ? O @ L Au B G C F Du Euu Hu I Ju Ku M N  P Q R S T U V W X ^^ Z ^ [K \K ]KK _K ` aK c  d g e fK h p i j  k l m n o  q  r { s t  u y v w x  z  |  } ~                                u               u u u u    uu  uu                        4 44   u uu  uu   u  uuu  P   P    P PP  P                                           u     uu  uu uu                 (    K K KK                          ! " # $ % & ' ) * + 4 , - . / 0 1 2 3 5 6 7 8 9 : ; < = > @ A8 B C  D  E z F Q G H I J K N L M  O P  R s S _ T Xu U Vuu Wu Y \u Zu [uu ]u ^u ` j a g b e c duu fuuu h iuu k p l nu mu ou q ru t u v w x y {  |  } ~                                                  &  &&   && &   &&&    &  &&                                       Q                                                                               . (!"#$%&')*+,- /H0=1623457:89;<>E?@BACDFGIJKLMON  P  R{SkTcUV_WX[YZ\^]g`abdefgihjlumnopsqruutuvwPxPyPzP|}~   g                                                      K *                                      ! " #($% u&'u u )  u+9,2-./013 4 5 6 7 8 u :a;P<E=B> ?@  A   C D FJ GHI    KNLM    O   QZRWSU T  V   X Y   [`\^ ]  _     b c  de f  hijklmvnsuopuqru u utuuu w{x yz uu |~} u   u       u     uuuuuuuuu                 |*       | |                                                                           .$     " !  #  %,&)'(    *+   -  /502 1   3 4  6  7  9D: ;<r=D> ? @ A B C A EYFMGKHKIKKJKKLKNUORKPQKK SKTKKVKWKKXKZc[_\K]KK^KK`aKKbKdmeKfKgjhiK K klK K KnoKpKqK syt u v w x K z{|}~                                                                                                      6&"  !#$%4'.(+)*,- /3012 4578@9<:;=>? ABCEFyGbHNI J K L M l O PYQU R S T V  W X Z^[  \ ] _  ` a cld e f g hi4 jk4 4 m n o pvqtrsKK Ku Kw KxK z{|}~                                                                   u       u   llll    l Q>!uuuu uu"/#+$'%uu&uu()uu*u,uu-.uu041u2u3uu586uu7u9<:;uu=uu?u@uALBHCEDuFGuuIJuKuMPNOuuRpSaT[UY V W X Z  \ ]  ^ _`  ubkcgd  ef   h i j l  m n o uqurusutuuuvuuxryz{|}~uuu  u > u  u    H wg|g     gW1HK$1Yg8 %%%DDDDD_DDDoD~    3!'0   |"E#6$2% &'()*+,-./01 3u45   7 89  :;  <= > ?  @ A BC D  FkGbHYIRJNKLM  OPQ SVTUHWX>Z^[\]_`agcdehfgHijlmnopq#stuvw}xyz{|H~    w <1gggggggg  g   ggw ,!"#$%&'()*+g-b.I/@081234567g9:;<=>?gABCDEFGHgJKZLSMNOPQRgTUVWXYg[\]^_`agc}dmefghijklgnovpqrstugwxyz{|g~gggK                K K    K K       K   K   K    K KKKKKKKKK KKAKAKKwTwTKwTwTwTKwT   wT wTwTK KwTwTKKwTKKKKKwTKKKKK5 ,!(K"#%$KK&'KKK)K*K+K-1.KK/0KKK2K34K K6KK78K9K:;KK=>?AAB+CDEFGuHuIJuKuLMyN`OUPTQRSKKK V\WZX Y [  ]^u_u ualbhcdu  e f g ijkmrnopqsutvwxz{|}~KKK     uu uu     K   gKKKKKKKKKKKKK       uuuu      $!"#%&'()K*K,-./@0 132  u45:687 9;=< >? BCDEFGfHI JuKWLPMOwNw1QTRS1 UV 1X_Y\Z[1w]^11`cab   dewgih jklsmpno 1qrKtuv|wxyz{~|}  g    :9888888888888{C888888888888}8888888888888}88888{C88888888{C8888888888 888888888{C8888 8 88  88 8888\86(u#!   "u$&%g'g)0*+- , ./13w2  45u78 ;<=N>?@MAGBECD{5F%HKIJ 7.4L  %%OPRQOSTVCWXYcZ[\]^_`abudefqgn hijuKkl mu uopu rvstuuw}xKyz K { | ~ K                     K uK ! ug|*  w1 g       gg         F"#<$1%&',(*) 4+u u-/.u0 2u348 567   9:;u  =>?u@AB D<EFhGgHXIJKLMNOPQRSTUVWY`Z[\]^_acbgdegfg8ijkzlmnsopuuqrtuuwvuxyuu{| }~  H   &KK  u                                     uKwT4u n H(#1U$    >   w !"#u$%'u&uu)*UU+,5-./01234HH6789:;H=%>%?@UAxBeCUDHEFG8IOJLKMN8PRQ8ST8zV]WZXYO[\^a_`8gbc8dfsgohkijlnm88pqr8tu8vwvyz{|}~v8ggg1q %!ggguug     gf@'" !#%$&(4).*,+-/10235:6879;=<>?AXBMCHDFEguGIKJLuNSOQPRTVUWgYbZ_[]\^`acdeghyirjpkmlnogqsvtuwxz{|~}ugggg:ggg     'u #!"$%&(1),*+-/.02534g6879g;x<T=K>G?D@BACgEFHIJuLPMNOQRSUgV^W[XYZ\]_b`acedfhoiljkmnpuqsrtvwyz{|}~gggugG gugu   ) g&! "#$%g'(*7+/,-.03124568=9:;<>D?A@BCEFgHIfJWKOLMNPTQRSUVXbY^Z\[]g_a`cdeugvhmijlknsoqprtuwx}y{z|~gguggggbgg```````    `` ```9) ````!$"#`%'&`(`*/+,-.gg0312`465`78``:N;D<A=?>`@`BC`EHFG`IKJuLM`gOXPSQR`TVUWY\Z[]_^g`agcdezfmgjhiklnuorpqstgvxwy{|}~ug||||||||||||gU|||||g|||g     |||g||4" ! #,$(%& ' )+*  -1./ 0u23 5F6>7;89:  <=?C@AB  DE GNHKIJ L M OPRQ ST gVWxXiYcZ][\g^`_gab  degf hujnklm oupsqr  t vw yz{|~} gggggggW!g:::::: ::    ::::gggu :"=#-$%(&':)+*:,u.5/021:34::6:789::;<:>H?@CAB:DFE::G:IOJKML:N:PSQRTUVgXYkZb[\_]^`acgdefhijl~mynsoqprtwuvxz}{|ggggg  < gggg          g                      -  ( ! $ " # % ' & ) * , + . 2 / 0 1 3 9 4 7 5 6g 8 : ;g =  > Z ? N @ G A D B C E F H I L J Kg M O T P Q R S U X V W Y [ m \ f ] b ^ ` _ a c d e g j h iu k l n w o t p r q s u vg x } y { z | ~                             g        u                                   g !N !           g                g                     g    g !!!!!g!!(!!!!! !! ! ! g! g!!!!!!!!!!!!!!!!$! !"!!g!#!%!&!'!)!;!*!2!+!/!,!-!.!0!1!3!6!4!5!7!9!8!:u!<!E!=!B!>!@!?!A!C!D!F!H!G!I!L!J!K!Mg!O!!P!r!Q!^!R!Z!S!W!T!U!V!X!Y![!\!]!_!i!`!c!a!b!d!f!e!g!h!j!o!k!m!l!n!p!qg!s!!t!}!u!z!v!y!w!x!{!|!~!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!g!u!!!!!!!!!u!!!!!!!!!!!!!!!!!!!!!!!!!g!%/!#!"!"g!"#!!!!!!!!!!!!u!!!!!!!!!!!!!!!!!!!!"" """"""""" " "" "" """g"""""g""""""""!"" g"""$"J"%"9"&"1"'","("*")"+"-"/"."0"2"4"3"5"7"6"8":"C";"@"<">"="?"A"Bn"D"G"E"Fn"H"Ign"K"]"L"V"M"S"N"P"Og"Q"Rnn"T"Un"W"Z"X"Yn"["\g"^"b"_"`"an"c"d"e"fng"h""i""j"{"k"t"l"q"m"o"nn"p "r"s "u"y"v"w"x u"z "|""}""~"" """ """""  "" """""""" g"" " """" " " "" " """"""" "g"""""" "" """"""""""" " ""g""""""""" """"  " """" """ " """""""""  "" """"" " """"  " """""" "" """""  """ "g"###=## #### #### ## # g # ## # ################!#4#"#+###&#$#%#'#)#(#*#,#1#-#/#.#0#2#3#5#9#6#7#8#:#;#<#>#`#?#S#@#J#A#D#B#C#E#H#F#G#I#K#N#L#Mg#O#Q#Pu#R#T#X#U#V#W#Y#]#Z#[#\g#^#_#a#r#b#k#c#h#d#f#e#g#i#j#l#o#m#n#p#q#s#z#t#w#u#vg#x#y#{#~#|#}####g#############u####g##########g#######g###g#g#######g#g##g#####gg##g###########g#####gg##gg#######g###g##g#######g#g###gg#####g#g####gg#g#$#$n#$6#$#######g### # #$$$$$g $$ $$ $$ $ $ g $  $$ $$!$$$$$$$$u$$$  $ $$ $  $"$+$#$&$$$% $'$)$( $* $,$1$-$/$. $0 $2$4 $3 $5g$7$P$8$D$9$@$:$=$;$< $>$? $A$B$Cg$E$I$F$G$H $J$M$K$L $N$O $Q$a$R$W$S$T$U$V  $X$\$Y$Z $[ $]$_$^ $` $b$i$c$d$f$e $g$h  $j$k$l $mg$o$$p$$q$$r$x$s$v$t$u$w $y$~$z$|${ $}$$$ $$$$$$$ $ $$ $$$ $$$$$$$$  $$$$gg$ $$$ $$$$$$$$ $$$u$ $$$$ $$ $$$$$$$$$ $g$ $$$$ $$$  $$$$$$ $ $$$$$$u $$  $$ $$$$$$$$ $$$$ $$$$$ H$H$$$$$$H$H$$g$%'$%$%$%$$$$$$H$$H$%%%%g%%%H%% % % % H% %%%%H%H%%H%%%%%g%%%"%%% %!g%#%$%%%&g %( %) %* %+ %, %- %. g%0%t%1%U%2%G%3%:%4 %5%6 %7 %8%9 %;%A%<%=%>%?%@g%B%C%D%E%Fg%H%I%O%J%K%L%M%Ng%P%Q%R%S%Tg%V%l%W%X%^%Y%Z%[%\%]g%_%d%`%ag%b%cg%e%hg%f%gg%i%j%kg%m%n%o%p%q%r%sg%u%~%v%w%x%y%z%{%|%}g%%%%%%%%%g%%%%%%g%g%%%%%%%%%%%%%%gg% %%%%%%%%%% %% Y%%%% %%u%%%%%%%%%%%%%%%%%%%%%%%%%%%#%#%#%#%#%#%##H%%%%%%%%$%%%%%g%g%%gg% g%%& %%%%%%%%v%%% 1%v %%%%%%%%%%   %%  %SJ%$&&&&&%&&&&&&&& & & `& & `&&p&&&&&&&&&&&&&&!&"&#&$&%&&&'&)&&*&&+&x&,&X&-&M&.&C&/&0&B&1&2&59&3&4&6&7&8&9&:&;&<&=&>&?&@&A7t&D&E&F&L&G&H&K&I&J   &N&Ov&P* &Q&R  &S&T  &U &V&W  &Y&c&Z&b&[&\&]&^&_&`&a&d&e&f&g&h&i&m&j&k&l &n&s&o&r&p&q &t&u&v&wnֹ|*z&y&&z&}&{&|*|&~ }&&&& s&&&&&&&&%O&& }& &&&%& }&&& }v~&&&J&J&J&&J&JJ&J&&J&JJ&J4&& (A% & s&&&&&&*&&&*&&%&&&&&*&&&&&&&&&&&(E&(<&&&&&&&&&&&&&H&&& &&&&(1&&&%U&%&'&'7&'*&'&'&&&&&OO&O&O&"~OO&&OO&O&O&O&&OO&"O&'O&&O&O&&&&O&"~O&O&OO&Ow!&OO&&O'OO"O''O'O'O'O"OO'' O' O' O' 'O' O'O""O'''''OO'O'O'O'O"O'O''O'OO"'O''$O' '!O'"O'#O"OO'%'&O''O'(OO')O#O'+',OO'-'.OO'/'0O'1O'2OO'3'4OO'5O'6#O'8'W'9O':'E';OO'<'=O'>OO'?'@OO'AO'BO'C'DOOJO'FO'GO'H'I'PO'JO'K'LO'MOO'N'OOOw0'QO'RO'SO'TO'UO'VOOw0'X''Y's'ZO'['dO'\O']'^OO'_'`O'aO'bO'cOO"'e'm'fOO'g'h'kO'iO'j#O'lOO"O'n'oOO'pO'q'rOO"~'t'}'u'yO'vO'wO'xO"'zO'{O'|OO"'~OO''OO''O'OO'O"''O''''OO'O'O'w!O''O'"O'O''O"''O"'O'O"OO'O'O'O'O''OO"'''O'''''O'O'OO"''''''''O'O''O'O"~OO'O''O'OO#O''OO''O'O"OO'O'O''OO''O''O'O""'"OO''OO'O'O"''''O'O'''O''O'OO''O'OO"O'O'O"O''O'OO''OO''O"O'''O'OO'O''O'O'O'OO'"~O''O''OO'O''O'O'OO'"O'OO'O'O''O"OO''(((O((O(OO(O(O("O((( O( O( O( OO( O((OO"(O(O(OO("~O((((((OO(O((O(O(OO"(OO( O(!O("O(#O($(%O(&O('OO"()O(*(/O(+(,OO(-(.O"O(0O"~O(2%(3%(4(5(6(7(8(9(:(;(=(B(>%(?(@%(A%%(C%(D%(F({(G(T(H%%(I(J%%(K%(L(M(O(N%r:%%(P%(Q%(R%(S%(U(v(V(_(W%%(X(Y%(ZO([\(\(](^\O(`(a(e(b%(c%(d%%(f(o(g(h(i(j(l(k(m(n*(p(q(r(t(s3(u3%(w(x%(y%%(zr:(|((}((~%%%(%(%((%%(%((%(%u%()()(%()(((((((((((((((((g((((((((((((g(((((((((g(g((((((((((((g((((((((((g(8(8(((g(((g(((((((((g((((g((g(g((((g(gg(g(g(gg((gg(g((((((((g(((((g(g(ggg((g(g(gg)g))))888%O)) ) )) )) ) )))))  ))v)v)vv)z)v)))))!)$) Ol)")#!$)%+)&))')3)()-)))*)+),).)/)0)1)2)4)E)5)6)7)8)9):);)B)<)=)>)?K )@)AK K )C)D)F))G)J)H)I*)K))L)M8)N)O)k)P)\)Q)W)R)U)S)T !)V!)X)[)Y)ZW*)])b)^)a)_)`a*a)c)f)d)e$$)g)h)i)j8| )l)w)m)s)n)p)o$$)q)r$)t)u)vWW)x))y)~)z){)|)}z)!))))K)7w))$$))))))))9)))))=)))9))=FX)9F9))))))))))))))))))) ) ) ) )*)*)))))))))))))))))))*)) )$)))))$))))))))*)))))))))))))$)$))))))))))a)))))) ))Y)Q)))) )*)****a****** * * * * 333****O******a***ƲƲƲ****** +D*!*A*"*;*#*9*$*%*&*'*(*)*2***/*+*-*,g*.*0*1g*3*61*41*5q*71*81 1*:a*<*>*=**?*@vW**B*F*C*D*Ev*G*I*H*J*K*L**M**N*h*O*b*P*U*Q*S *R*T *V*Y*W*XH *Z*[ *\*]*^*_*`*a1*c*d*f*e*g  *i**j*v*k*m*l*n*r*o*p*q  *s*u1*t1 *w**x*}*y*{*z $*|$*~***w*gwg*******  w* * *w*********K*K**1*1UU *****u uH*H ** *ww****Y*Ygg**********  **  ***w**1*****wH**H*1***********1*g******wHH**$w***H*+**********1 ***********1w**************+++++++++ ++++ + + + ++ ++++++H++ ++++H+H+ +*+!+%+"+#+$ K+&+(+'H+) +++,+;+-+.+/+5+0+1+2+3+4 +6+7+8+9+: +<+=+>+?+@+A+B+C+E+a+F+^+G+I+HQ+J+K*+L+M+W+N+U+O+S+P+Q1w+Rg +Tq1 +V1 +X+Z+YH1+[+\+] Hq$+_+`Q+b++c++d+e+f+g++h+t+i+n+j+l+k+m+o+r+p+q*W+s+u+}+v+x+w+y+z+{+|{C{C{+~+++ċ+++++++++Wa*+a++++$+++++++++++++++++++ + + + + +++++  +++++++++++g +++S++++++w++++www+++1+1++   + + + +.J++++++++++++++++++++++++++++++++++++-++++++,+,T+,3+,-O+,,,,O,O,,OO,,OO",, O, O, , OO, O",OO,,O,O,O"~O,,#,,,OO,O,O,,O"OO,O,,O,,!O, O"","O"O,$,%O,&,),'O,(OO",*O,+O,,OO"~,.O,/O,0OO,1O,2O",4,K,5,@,6O,7OO,8O,9O,:,;OO,<O,=O,>O,?O",AO,BOO,CO,D,EO,FO,GOO,HO,IO,JO",LOO,M,N,QO,O,POO",RO,SOO",U,,V,q,WO,X,e,Y,^O,ZO,[O,\O,]"O,_O,`O,aOO,b,cOO,d"O,fO,gO,hO,iO,j,l,kO"OO,mO,n,oO,pO"O,r,wO,s,tOO,uO,vO",x,,yOO,zO,{O,|O,}O,~O"O,,OO,,O,O"O,,O,,OO,,O,OO,O"O,,,O,O,O,O,O,O,,OO",O,O,OO,,O,,"OO,O",-?,,O,,OO,,O,OO,,O,OO,O,O,O,Ow0,,,,,,,,O,O,O,,OO",O,O,,O,O",O,O"O,O,OO,O,,OO,O,"O,,,,O,,,,,O,,OO,Ow!O,"OO,O,O"~,,,,O,O,O,O,"O,,,O,O","O,O,,O,O",O"Ow!O,,O"O,,OO,,OO,"O,-,,,OO,O,O,,OO",-,O,O,O,,Ow!w!O-OO--OO--OO-O"--+- -- -O- - OO- -OO"O----O-O"~-"O---OO-O"O-O-"O--#-OO-- OO-!O-""O-$O-%OO-&-'O-(O-)OO-*#OO-,--O-.-:-/-6-0-3-1O-2O"OO-4-5O"OO-7O-8O-9"O-;O-<OO-=->O"O-@--A-`-B-WO-C-D-K-EO-FO-GOO-HO-IO-J"O-LOO-M-N-R-OOO-P-QO""-SO-TO-U-VO""O-XO-YO-ZOO-[O-\O-]-^OO-_"O-a-y-b-m-cOO-d-e-hO-f-gOO"-iO-jO-kO-lO"O-nO-o-sO-pO-q-rO"O-tOO-uO-vO-w-xO4O-z--{--|O-}OO-~O-O-O-O-O-O"-----OO--OO-O"O--O-O-O"O-OO-"O-O-OO-O--OO-O-O"~--O-O--O--O--O-O-O"~OO--O-O-O-OO"---OO-O-O--O-OO-O-O-O-O"O-O---O--O-OO-"O-OO-O--O-O"O-.------------------w--- - -----1--w1 ----ww1-- g--------ug H----- -----g ----1- K... ...... .. ..  ..   .  .   . . ..1..1.1.1...F..w.ww..wK.!.".% N.#%.$r:.&.(.' .).*.+., ...2./.0.1Oy.3.5.4v.6.I.7.8.9.:.;.<.=.?.> .@.A.B.C.D.E.F.G.HwO.K/0.L..M..N.W.O.T.P.Q*.R.Sw.U.V.X.Y.Z%.[.\..].|.^.n._.f.`.c.a.bg.d.e .g.j.h.i1.k.l.m1.o.x.p.w.q.s.ruK.t.v.uwgw .y.z.{ .}..~...u.. ..u  K....w..1w..... wg1.. ..........1$..ww....uKu..g .......1.1..........g.1Y........w..  ..................1w..$ .....Q..............Q*..v./....././../....1.1HH.1..H. H /////Y//$Y$/ / / // // //Y$//!///////////// g/"/#/$/+/%/(/&/'1H/)/*w /,/-Y//%/1//2//3/>/4/5/6/7/8/9/:/;/</=/?/@/A/B/C/`/D/E/H/F/G Q/I/J/K/[/L/S/M/OC/NC/P/Q'\s/Rsl/T/X/U/W/VVy/Y'0#P/ZOɓ/\/] Q/^ Q/_' Q/a//b/u/c/l/d/g/e/f'\'\s/h/i/jlC/kC/m/r/n/oC/p/qVV/s/tyVy/v Q/w/{/x#Py/y/z#Py#P/|/~O/}Oɓɓ Q/// Q/// Q/ Q'' Q//'0 Q'0//////W/////K&/////̿/K+/̿ /̿ /K& /R//RR/K&K&/0 //////////////////// Q // ///////// }/ }/ }/yv~//////v~//{//// }yp/////////// Q  ! &////////////K58/K58///G//////////8/0/// /////0!0!0w00!0!!0!00 0 % 0 0 0D00C0070v00$00000Q0Q0Q00QQ0Q0Qv0%000 0"0!Z0#ZZ0%0-0&0)0' o0({ o0* o0+x20,x20.0/00010203040506KD08;090:0A0;0<0=0?0> 0@0B0E0F0G0x0H0c0I0^0J0K0L0M0S0NQQ0OQ0PQ0QQ0RQv0T0YQ0UQ0VQ0WQ0XQ0ZQ0[Q0\Q0]QQ0_%v0`%0a0b%%yQ0d0e0fS0g0h0v0i0j0q0k0l0o0m0n#P0p#P0r0s0t0u#P0w#PQ0y0z#A0{#A%0}Yz0~30202+00000000S000000000000000000000Ě00VV*3000I0000ݗ0ݗĚ*00000000000A*3A000A00000000000000000ݗ0IݗI000I0000000݉݉00000000000000000000 }000000000000 00000=000000101801-0111 1111111 111 1  YH1 1111H w11 H$111111w111$111'11#1 1! 1"$1$1&H1%1$11(1)1*1+ 1,$w$1.151/1410m111213 1617*O191?1:1=1;1<O*1>31@11A1v1B1C1l1D1S1E1L1F1I1G1H| 1J1K ! 1M1P1N1OS 1Q1R1T1e1U1b1V1W1X Q1Y Q1Z1[ Q Q1\1] Q1^ Q1_ Q Q1`1a Q Q1c1dv%1f1i1g1hO%1j1kO~1m11n1u1o1r1p1qO1s1tOS1v1~1w1{1x1y1zw1|O&1}11%O1111111111u 1111111111 $111 Q Q111 Q11 }1111111111zz1111 }1%111111111KS11%11 1z 11:1%%11%%1%*113m12"121111v*a121111111111111I1111111II1111111I101111I11111111111011111212121n222I22 222I2 2 2 2 II222222226226H26226262662 2!6 62#2$2'2%2&6m2(2*2)$2,2G2-2A2.252/2023212224%262<272928*2:2;a2=2?2> W2@Ƣ2B2C2F2D2ES2H22I2J22K22L2M2N2h2O2_2P2Q2W2R2S2T2Uu2Vu|2X2[2Y2Z 2\2]2^| 2`2a2d2b2c   2e12f12g2i2~2j2v2k2o2l2m2n1  2p2s2q2r 2t2uH2w2z2x2y2{2|2}22222222 H 22H 2H2222222 2w2w 2222Uu22222222222222222222222222 22222u22#2K2 K22 2222222 222222222u2 q2qKh232322222222OO2O2O22OO2O22OO2O22O2OO2O2"O22E2222qƄ2323232222222222222%23333333333 3 3 3 3 333333333333333333 3!3"3$3#Q 3%3z3&%3'3U3(3F3)343*303+3,3/3-3.ӗӗ 3132%3335}%36373:3839z 3;3<'0z 3=3>3?3@3A3B3C3D3Ez z 3G3P3H%3I%3J3M3K3L%:~yB3N3O NyQ~O3Q }3R3S%3T~$3V3v[3W3X3g3Y3`3Z3]3[3\%$y$:3^3_u~ ~3a3d3b3c~3e3fɱ%:3h3m3i3j%3k~3l՛%3n3o3r3p3qyQ~3s3tyB$3ux ?3wO%3x3y  3{33|%3}3~3%|%3%%3%3%33%3%%333333%3 3%333*v3W33333Q3333Q3Q3Q3Q3QKwQ33Q3Q3333Q3QQ3Q33Q3QQ33QQQ3Q3Q3Q3Q3Q3Q3Q3QQ33QQ33QQv33333333333333333333333333333[3333333333K 33333333333333[333[333333333V33U4R"4O4Hx4Dt4444I444444 4 4 64 f4 4444 4V444U6444144*44 44444!4'4"4#4%4$4&4(4) 4+4,4.4- 4/40g424>434:44g45 4647 4849  4;4=g4< g 4?4@4D4A4B 4C4E4F4H4G u4J4K84L44M4p4N4c4O4`4P4Y4Q4T4R4S 4U4W4VU4Xu4Z4[4\4]4^4_4a4b 4d4e4k4f4h4g4i4j4l4m4n4o4q44r44s4}4t4w4u4vwT4x4{4y4z  4| 4~4444444444444wU4w4444444B44144444444444444444444 4 444444  4 444444 444444444444g444u4 g 444Y454544444444444444 g44 u444gg44gg44444 4 444g4g4444444 4 4 444444  4555a85555Z55455$5 55 5 55 55 u 555gg5g5g55!g55gg55g5gg55gg5g5g5 g5"g5#gg5%525&5'5/5(5)5* 5+5,5-5. 50 5153 555H565@575>58595:5;  5<5=  5? 5A5Bg 5C5F5D5E5G15I5M5J5K5L 5N5O5P5Q5R5S5T5U5V5W5X5Y5[5}5\5o5]5^5m5_5l5`5j5a5b5c5d5e5f5g5h5ig5kg  5ng5p5z5q5s5r g5t5w5u5v 5x5y  5{5|g5~55555555g5 5u55 u555 55555 5555555 55g 55uY 55 5v5>5:58^57S565655555555555555z5555555555555~5555555555555555555z55555555v55655555555z55z5555555v5z5555555z55555:5566z:6666 66 66.:z6 6 6 666G66666!666666v66z66666.6 :6"6+6#6&6$6%6'6)6(R6*Lz6,606-6/6.6163z62z6465z67686@696<6:6;6=6?6>z.6A6F6B6D6C 6Ev6H6`6I6S6J6Q6K6M6L6N6O/6P6R6T6Z6U6Vv6W6Y6Xz,6[6\:v6]6_6^6a6p6b6j6c6e6dz6f6i6g6h6k6m6lz:6n6o:z6q6z6r6w6s6u6t6vz6x6y6{6|6}66~:6:66666666666666.6666666666666v6666v 6v66666v:v66666666666v66666666 v666v666666zz66.v66666v666666666v6.666666z66z6zz6666>6.67"676666666666z666666666666666666z77v 7777z77 77 7 7 7 z7 7vz7.77777777>7777777 7v7!v7#737$7,7%7)7&7'7(7*7+7-7.7/717072:v747G757@76797778z7:7=7;7<v7>7?v7A7E7B7CU7D7F:7H7N7I7L7J7K 7M7O7P7R7Q7T8>7U77V77W7y7X7k7Y7_7Z7\7[7]7^7`7g7a7b7c7d.7e7f7h7j7i7l7r7m7o7n7p7qR7s7v7t7u7w7x7z77{77|7~7}>7777777777777777zv77z7777z77z77777z77777L:777.7777777z7z777777:77z777777777777777777777z778 7777777777vz777777777777777v7777z:77777777z:77z7777777777:88 8888>888v88 8&8 88 888 888:z888z888888zzz888 8#8!8"8$8%v 8'868(8.8)8,8*8+zzv8-z8/828081.v838584z87888:898;8=8<8?8V8@8G8A8B8C8D8E8F8H8I8O8J8K8L8M8N8P8Q8R8S8T8U8W8X8Y8Z8[8\8]8_88`88a8tv8b8c8i8dv8ev8fv8gv8hvvv8j8k8ov8lv8m8nvvv8p8q8rv8sv8u8|8vv8wv8xv8yvv8zv8{vv8}8~vv88v8vvv888888888888:8v888888 v88>88888888888888z8888888:z88888888v88888888888888v8888z88I88888zz88:8888:888z88888888888z88v888888888888888.8989H89$898988888vz8/89999 999z999 9 9 9 9 99999999:99999999!99 9"9#z 9%9&949'9,9(9)9+9*::9-919.90z9/:v9293z959?969;979998z9:9<9>9=9@9C9A9B:9D9F9E9G9I99J9f9K9Z9L9R9M9O9Nz9P9Q9S9W9T9V9Uv9X9Y9[9b9\9^9]9_9a9`z9cz9d9e9g9v9h9n9i9l9j9kz9m:I9o9rz9p9q9s9t9u9w9~9x9}9y9{9zz9|v999999z9v999999999999999999999999z9z99z99999999999z9z99:999999:.z9z99999:999999999v99999vz99999.999 9z99>9999999999z999z9999999v999999.99:99999999v99999z9::::::::: :: : : :: z::::::z::::L::6::&::":::v:: :!::#:$:%  :':/:(:,:):+:*U:-:.R:0:4:1:2v:3v:5I:7:D:8:>:9:<:::;:=:?:B:@:A:Cz:E:F:I:G:H:J:Kv:M:i:N:\:O:V:P:T:Q:R:S.:U:W:Z:X:Y:[z:]:c:^:`:_:a::b>:d:f:ev:g:h:j:y:k:s:l:p:m:o:n:q:r:t:v:uU:w:x:z::{:}:|:~::::::::;:::::::::::::::;|:;::::::::::::::R::::::::v:::::::::::::::v:::::::::::::::::v:::::::::::::::::z::::::::::v::::v::v.z:::::::::::::::::::::;;;;;v ;;:;; ;; :; ; v; ;;;A;;,;;;;;;;;;;;;v;;;%; ;";!;#;$v;&;(;';);*:vv;+v;-;5;.;1;/;0;2;3;4z;6;9;7;8z;:;>;;;<v;=;?;@;B;_;C;P;D;J;E;H;F;Gv;I;K;N;L;M:;O;Q;W;R;T;S;U;Vv;X;];Y;Z;[;\;^;`;n;a;g;b;d;cv;e;f:;h;k;i;j;l;m;o;u;p;r;q;s;t;v;x;w.;y;z;{.;};;~;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;= ;;;;;;;;;;;;;;R;;;;;;z;;;;<<2<<<<<<<<<< < < < < <<<<<<<<<<<<%<< <<<<=E=?z=@=C=A=Bz=D=F=P=G=L=H=J=I:=Kv=M=Nv=O=Q=U=R=S=Tv=V=Wv=Y=c=Z=_=[=]=\v=^z=`=a=b=d=m=e=i=f=h=gvv=j=l=k=nv=o=pv:=r==s==t==u=y=v=w=x>=z=}={zv=|v=~=Uv============v====================v=v==U===z==v==========.============::=====v===v==v==========z=v===zzz=z=z=>K=>==============zz==========zz===z=v======v>>>>>>->>>>>> > > > > v>>>>>>>>v>z:>>:>>%>>!>>>> :>">#z>$>&>*>'>)>(z>+z>,>.>B>/>:>0>6>1>3>2>4>5z>7>8v>9>;>>><>=>?>@>A>C>I>D>F>E:>G>HRv>J>L>>M>m>N>`>O>W>P>R>Q>S>U>T>V>X>\>Y>Z >[>]>^>_>a>g>b>d>c>e>f>h>k>i>jzz>l>n>z>o>s>p>q>r>t>w>u>v>x>y>{>>|>>}>>~v>>>>>>>z>>>>>z>>>z>>zz>>>>z>>>>>>>>>>>>:>>>>>>>>>>>>>>>>>z>>>>>>.>> v>?>>>>>>>>>>>>>>>>>>>>>>>?->>>>>>>>>>>>>>>>>>>>>z>>>>>>>>>? >>>>>>>>>>>>:?????>????? ? ? >?  ???????????????!????? ?"?&?#?$?%I?'?*?(?)?+?,?.??/?w?0?I?1?D?2???3?:?4?7?5?6z?8?9z?;?<?=zz?>z?@z?Az?B?Cz?Ez?Fz?Gz?Hzz?J?]?K?Pz?Lz?Mz?N?Ozz?Q?Y?R?U?Szz?Tz?V?Xz?Wzz?Zz?[zz?\z?^?k?_?d?`?az?b?cz:z?e?hz?f?g?i?jv?l?u?m?p?nz?ov?q?sz?rz?tzv?vv?x?z?y?zz?{??|z?}?~zz?z?z???z?z?zz?z????z????z?zz?z?z?????z???????zzz???zz??z??????z?z?zz?zz?z????z??zz??zz??z?z??zz?z?z??zzz?z?z??????zz???z??zzz??z?zz???z?z?zz?z???z?zz?z??z??zz??z?z?@?@?@B?@?@????????????zz?????? ?@????@@@@@@@@@ @@ @ @ @ @@@U@@@@@@@@@@@v>@@*@ @!@"@%@#@$:@&@(@':@):@+@7@,@1@-@.@/@0::@2@3@5@4@6@8@>@9@:@;@<@=@?@@@A@C@j@D@b@E@P@F@G@H@L@I@J@K@M@N@O@Q@X@R@S@T@U@V@W@Y@]@Z@[@\@^@_@`@a@c@d@e@f@h@g@i:@k@@l@u@m@q@n@o@p@r@s@t@v@z@w@x@y@{@|@}@~@@@@@@@@@@@@@@@@I@@@@@@@@@@@@@z@@@@@@@z@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@z@@@@@@@@@@@@@@@@@v@@@@@@B@A@Aa@A"@A @@@@@@@@@@@:@@@@,@@A@@@@A@:AAAAAvAAvvA AA AA AA AA:AAAAAAA:AARAAAAzvzA A!A#AKA$A5A%A-A&A)A'A(A*A, A+vA.A1A/A0 A2A4A3.A6A@A7A<A8A:A9A;A=A?A>AAAEABADvACAFAGAHAIAJALAYAMASANAQAOAPAR:.ATAW:AUAVzAX AZA[A]A\::A^A_A`vAbAAcAAdArAeAjzAfzAgAhAiAkAnAlAmAoApAq:AsAzAtAwAuAvAxAyvA{A|vA}A~RAAAAAAAvAvAAAAAAALAAAAAAAAA  AAAA:AAAAAAAAAAAAAAAA:AAAAAA :AAv:vAv AAAA,A:AAAAAAAA:AAAAAA.R:AA A, AAAAA,A:AAAAvAAA.AAAABLAB AAAAAAAAAAAAAvAAAAvAAAAAAAAAvAA:AzAAA:ABBBBBBBBBB B B :B B+BBBBBBB:B.BvBBBvvBBBvvBB%BB"vBB B!vB#B$vvB&B'B)B(:B*RvB,B7B-B0B.vB/vB1B5B2B4:B3:B6::B8BBB9B<B:B;:B=B?B>zB@BAvvBCBHBDBFBEBGBIBKBJ.BMBBNBdBOBPBZBQBVBRBTBSBUBWBXBYB[B`B\B_B]B^:BaBcBbv.BeBtBfBmBgBiBh.BjBlBkBnBqBoBpBrBsBuB~BvBzBwBx.ByB{B}B|v:BBBBR BBBB:BBBBBBBBBBUBBBBBB.BBBvBBBBBvBBvvBBBBBBBBBBBBB.BBBv>BBBBBvBBvBBBBBBBBB:BBvBBBBBBBvBCBCGBCBBBBBBBBBBBvBBBBBBB.BBBBBB:B,BBBBBBBBBBBBBBBBBBBBBBBCBCz:CCvCC2CCCCCC C C C C CCC..CCC:CCURCCCvCC'CC CCCC!C$C"C#C%C& C(C.C)C+C*C,C-C/C1C0:C3C<C4C5vC6C7C9C8vC:C;C=CDC>CAC?C@::CBCCCECFCHCCICfCJCYCKCSCLCPCMCOCNCQCRCTCVCUCWCXCZCbC[C^C\C]:C_C`vCaCcCdCeCgCvChCmCivCjClCk:CnCsCoCqCpCrCtCuCwC~CxC{CyCzC|C}CCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCvCDCCCCCCCCCCCCCC:CCCCCCCC::CCCCvCCCCCCCCCvCCCvCCCCzCCCCCvCCDCCCCCCCCvCCCCCCCCCCzCDCCCCCvDDDDvDDDD vDD D D DD D.DDDDDDDDvDDvDD7DDD*DD'D D$D!D":D#D%D&D(D)D+D2D,D0D-D.D/vD1D3D5D4:vD6 D8D]D9DMD:DCD;D?D<D=D>vD@DBRDADDDGDEDF.DHDJ:DIvDKDL/DNDVDODRDPvDQDSDUDTvDWD[DXDYDZD\D^DdD_D`DbDaDcDeDmDfDiDgDhDjDk:DlDnDpDoDqDsDrR.DuGDvFDwEDxEWDyEDzDD{DD|DD}DD~DDD6DD67DDDD6,,DD67DDDDDD6T6D6DD6D7D6DDDDDD6D67DD6DDDDK7DD6T6DDDDDD6F6DDDDD,J,:DD66DDDD7D7D77D7DD767D77D7D7DD7D767DDDDDDDDDDF,,DD6DDDD76DDDDDDDK,,6DD6DܞDDD66D66DDDDD6D7DD6DDDDDDKDDDDDDDKDDD6DDDDDDEEE7EE-EEEEEE EE 7E E E EE67EEEEEEEE,,EE$EE EEEE6E!E"E#E%E)E&E'E(KE*E,E+E.ECE/E8E0E3E1E2E4E6E5E7E9E>E:E<E;KE=E?EAE@EBEDENEEEIEFEHEGEJEK6ELEM,J6EOESEPEQER66ETEUEVF6EXEiEYE]EZE[E\gE^EdE_EaE` EbEc  EeEfEgEhEjEEkEyuElEmEsEnEqEoEp 1gErEtEvEu1 EwEx u EzE{ E|E E}E~EYP EEEE 1uEwEEEEEgEEEgEEuEEEg EFEFEFeEF-EEEEEEEEEEEEEEE1EE1E111E1E1E1E11E11EEEEEE111E1E11E1EEEEEEEEEEEPEEE EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEuEFEFEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFF $F $F $F F $$FFFF#FFFFF###F#FF'FFF1F1F11F1F 1F!F$F"11F#11F%1F&1F(F)1F*F+F,1F.F/F^F0FWF1FIF2F<F3F7F4F5F6F8F9F:F;F=FAF>F?F@FBFEFCFDFFFGFHFJFPFKFLFMFNFOFQFUFRFSFTFVFXFYFZF[F\F]F_F`FaFbFcFdFfFzFgFwFhRFi1Fj1Fk1FlFmFpFnFo11FqFr11FsFtFu11Fv1Fx1Fy1F{F|FF}FF~FFFFwFFFwwFwwFFwwFwwFFwFwwFFFwwFwFFwwFFwFFFFwwwFwFwFFFwFFwFwFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF#FFFFF1FFFFFFFF<FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF#FF1FG]8FFG/FGFGGGGuGG GuGG G GG G  gG GG uGGGGGgGGGggGGGGGGg GG-G G+G!G" G#G$G%G&G'G(G)G* G,uG.uG0GDG1G=G2G3G:G4G5G6G7G8G9   G;G< G>GCG?GBG@GA ggGEGVGFGGGTGHGJGI GKGLGMGNGOGPGQGRGS GU GWG\GXGYGZ G[ggG^GG_GG`GaGeGbGcGd GfGGgGsGhGlGiGjGkggGmGpGnGoggGqGrggGtG{GuGvGyGwGxggGzgG|GG}G~GGggGGgGGGGGGGGgGgGGGggGGGGGGG GG G GGGGGGGGGGGGGGGGGGGuGGGGwGGGGGGHGGGGGGGGGG GGGGGGGuGuGGGu GG GGGG 1u Gw  GGGGGGGGGGGGuGgGgGGGGG GG GHGHGGGGGGGG  Gg GGuGGGGGgGG  H uHHHHH HHH1 H H H H uuuH uHKH HHHHHHuH H HHsHHOHHJHHDHH$H H!H"H#wgH%H&H5H'H.H(H+H)H*dH;H,H-FfH/H2H0H1<<H3H4sˢ;lH6H=H7H:H8H9; e=H;H<=,|H>HAH?H@u< HBHC<;:HEHHHFgHG gHI HKHL HMHNHPHQHbHRH[HSHVHTHUgHWHYHXgHZggH\H`H]H^H_ggHagHcHiHdHgHeHfggHhgHjHoHkHmHlgHngHpHqHrgg HtHuHvHwHyKHzI$H{H~H|H}HHHHHHHHHHuHHHHH| HHHHH HHHHHHHHHHH HHHHuHHH1  H HHHHu uHuuHHHHHHHHHgHHuHHHHH  H H H H H H H H H  HHHHHHHHgHHHHHH gHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIHIHIHHgI1IIIII IIII I I I IIIIIIIIIIIIIIIII I!I"I#I%II&IyI'IAI(I0I)I*I+I,I.I-1I/#1I1I6I2I3I4 I5 I7I8I9I:I;I<I=I>I?I@KIBIRICIDIEIFIPIG IH II IJIK ILIMIO IN  IQ ISI`ITIUIVIWIXIYIZI[I\I^I] I_ IaIlIbIfIcIdIeIgIjIh  Ii Ik  ImIqInIo HIp  IrIuIs  It UIvHIwIx& IzII{II|II}I~IIIIIIIIIIIIIIIIIIIIIIIIII   I  IIIIIIIIII I IIIII IIInIIIIIIIuIIuII IIIIIIIIIIIIIIIIIIIIIIII III44I4IIIII IJ|IJIIJIIIIIIIIIIIuIIIIIIuIuuII IIIIII I IJIIIJJJ J JJuJuuJ J J J J AJJFJJ:JJJJJJJ  J JJ.JJ"JJJJJJ J! J# J$ J% J&J+J'J*J(J)   J,J- J/J0J8J1 J2 J3J7J4 J5J6  J9 J;J<JDJ=J>J?J@JAJBJCJEJGJHJmJIJZJJJRJKJLJMJNJOJPJQJSJTJUJVJWJXJYJ[JfJ\JcJ]J^J_J`JaJb Jd  Je JgJhJiJjJkJl  JnJ{JoJxJp Jq Jr JsJvJtJu  Jw  JyJz  J}JJ~JJJJJJJJ JJJJJJJ   JJJJJJJJ JuuJJuJJuJuJJJJJJJJJJJJ JJJ JJ    JJ  JJJJJJ J KJJKJKJJJJJJJJJJJJJgJJJ J1JJJJ1JJ1J1J1K1JJ1J1J1J1KJ1J1J11K1J1JJ11JJ1K11JJJJ JJJJJJJ JJJ JJ J JKJ JJJ  JJ JJJ   JJ J JJ  K K KKKKKuKK uK K K K uKKuKKKKKKKuKKKMJKLSKKKKUKK0K K*K!K"K#K$K%K&K'K(K)K+K,K-K.uK/uuuK1K2K3KNK4KFK5KDK6K;K7K8K9K:K<K=K>K?K@KBKAKCKEKGKHKJKIKKKLKMKOKPKRKQKSKT KVKnKWKXKjKYKZK[KhK\Kc K]K^KbK_ K`  Ka  Kd KeKf Kg  Ki KkKlKm  KoKwKpKrKq KsKtKuKvKxKKyKKz K{ K|KK} K~K  KK KK K K KKK  KKK K K FsKKKKH   KKKK KK K K K K K K K K KK   KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK KKKKKKKKK KKKKKKLKLKKK KKK K KKK K  KKKK KK KK KKK  KK    K K K K  KK K  K K   KKLKLL L L LL  L   L L L L LL LL LLL  L  L  LL LL:LL  L LL LL L! L"L4L#L.L$L,L%L' L&  L(L* L)  L+  L- L/L1L0  L2L3 L5 L6L9 L7L8  L;LPL<L? L=L> L@LJ LALBLHLCLD LELF LG LI  LKLL LMLNLO  LQLR   LTLLULLVLLWLLXLmLYLdLZL_L[L] L\ L^ L`LbLa   Lc1 LeLjLfLhLg   Liwg Lk Ll LnLLoL|LpLyLqLrLsLxLtLuLvLwLzL{L}L~LLLLLLLLLLLLLLLLLLLLLLLLLL LLLL LLLLLLLLLLLLLLLLLuLLuuLLLLLLLLLLLLL LLMDLMLLLLLLLLLLLLLLLLgLgLLLLLLLLgLLLLgLLLLLgLLLLLLLLLLLLL LLLLLLLL LMLLMLMMMMMMMwwMM M M M M MMMM MMMM7MMMM"MMMMMMM M! M#M$M%M&M'M2M(M-M)M+M*1M,1M.M1M/M01M3M4M5M6M8M@M9M:M=M;M< M>uM?uuMAMB MCAMEMFMGMIMH 1MKN?MLMMMMMNMrMOM[MPMUMQMRMSMTMV MWMZMXMY     M\MkKM]M^ M_MdM`  Ma MbMc  MeMf Mg  MhMi  Mj  MlMmMqMnMpMoMsMMtMyuMuMvuuMwMxuuMzM{M|M}M~MMMMM  M MMKMMKKMKMM M MM   M MMMMMMMMMnMnMnnMMMnMMMMnMnnnMM MMM M uMMMMMMMMMM MMMMMMM MMMM M MM  MM  MM   MMMY M MMM MM  MM MMMM  M  MMMMM MMuMuMMuMuMuMuMMMMMMMMMMMMMMMMuMuuMMMM M MMM  MNMN NNNNNNN NNN  N NN N NNNN  NN NNN N N   N N N NN;NN N7N! N"N- N#N$ N%N,N&N(N' N)N* N+  N.  N/N0N1N2N3N4N5N6 N8 N9 N:   N<N=N>N@NNANnNBNcNCNI4NDNENFNGNHuNJNTNKNQ NLNM NN NO NP  NR NS NUN_NVuNWNXuNYNZN[N\N]N^N`NaNb NdNjNeNfNgNhNiNkuKNlNmKNoNNpNvNqNr  Ns NtNu  NwNNxNNyN~ NzN{N| HN}  KNNNHH HNNNNN HNNN KN NN  NN  NN NNuNuNuNuuNNuuNNNNNNN  N N N N N  NNNNN NggNN  N NN N NN N   NNNNlNlNNNNNNNuuNNNNNNNNNNNN NNuNNuuNuNNNuNNuNNuuNNN NN  NNNN& &NNNNN  N NNNNN   N N  N N NNNNNNKKNuuNNuuNO NOuNNOOO O O OOOO O O O uOuOOuuOQ{OOOOwOO\OO;OO OOOO1OOOO1O!vO"O9O#O)O$O'O%O&6/H6O(VO*O+aO,O8O-6O.O/O0O1O2O3O4O5O6O7K6O:6O<%O=OH/O>O?OB6O@OA6vOCOFODOEvOG6OIOLOJOKV66OMOQ6ONOOOP6OROTOSUHOU6OVOYOWOX&>ROZO[>a&O]ObO^6O_O`Oa/ 6OcOtOdOgOeOfOhOnOi6OjfOkOl6Om6Oo6Op6Oq!6OrOsKKOuvOvHOxOyUOzOO{OO|OO}OO~OOO66KOOOUOLOO/OOOOO66O6LO6vUO6OOL,OO6OOOOOOOO6O/OO6vrVOOOO6f!OOOrVOOOOOOL<mOLLL\!O.OOLlPOPOPOPPOOPOPOPOPLlPOOOOOOUO766OOfOOOO6!rVOO OO\6OOOOOOrV66OOOO O O OO O O  OO  O OL| UaO66OOO66OOOOOOOOOOOkOO6Ou6OO6O,XOPOPSOPOOLOP OOPO!PPPPPP P!PPL!L!P P P 5wwPPLPLPLPPPwӵLwPP:P!PPP)PPPPP!PP P$P!P#P"!!P%P(P&P'!!!P*P2P+P-P,!P.P1P/P0!!!P3P6P4!P5!P7P8!P9!!P;PRP<LP=PLP>PEP?PBP@PA9PCPDPFPIPGPHPJPKLPMPNPOPPPQ!!!PTPPUPyPVPcPWPX!PYP]PZ!P[!P\!!6P^!P_PaP`!!!Pb!Pd9PePo!PfPgPk!PhPiPj00Pl PmPn!ՍLPpPuPq!LPrPsPt!M6Pv!!PwPx!PzP{PP|PP}P~PP6PMP!PP!!P!P!PP!!P!P!PP!P!!PP!!PPPPPP9PLPPLPPP!PwPPՍ!!PM#PwmP!PPPPPPPwPQPPPPP!PP!P!PPP!!P!P!P!!PPPPPPPPP5LPPՍ0PPPPLPPP!!P!M2PPPPPLLՍPPPoLLPPPLPPPPPPPPPPPwM@PPPPPLPPPPPPPPP{PPPPPPP{{PP{!PQPQPQPQQQ!QQ9MOՍxQQwLQ Q Q LQ LQ M^wQ!QFQQQQQQQQՍQxQQQQQQ[Q Q7Q!Q"Q/Q#Q$Q(Q%Q&Q'LQ)Q*Q-Q+Q,{LQ.LQ0Q1wQ2Q3Q5Q4x6x6Q6MmQ8Q9!Q:QEQ;Q?Q<!Q=Q>!Q@QA!QBQC!QD!w!QFQPQGQKQHQJQIM|xMOwQLQMQNQOo֚0 QQQUQRQTQSM QVQXQWՍQYQZwm Q\QoQ]!Q^QiQ_!Q`QfQaQdQbwQc! !Qe!!Qg!!Qh!LQjQkQlQmQnLQpQq!QrQwQs!Qt!Qu!mQv{!Qx!Qy!QzmQ|Q}Q~QQQQQQQ/Q/Q//QQ//Q/Q/QQ//QQ/Q//Q/Q/Q/MQQ66QQQaQQQQQQQQQQ$$QQ$$QQQ$QQQQ$QQQQ$QQQ$$QQQQQQQ$QQ$QQQQ$$Q$Q$Q6$QQ$QQQQQQQQ$$QQQQvQQ/6!QQ/Q6QvQQQUQQ66QQQQ!6Q6QQQ666QQQQQQ/QQQfQfQffQQffQfQQQfQfQfMQfQfMfHAaQQQfQQ6UQvQRURVRRRRRRRpMpRpRpR ppR pR R RpR RppRpMpRRRpRMpRpMpRRRRqRR&&RRpDpR R!rV6R#R2R$R1R%R&!R'!R(R)!R*!R+!R,!R-!R.!!R/R0!M!R3UR4S*R5RR6RkR7R8LR9RbR:RaR;R\R<RFR=RDR>RAR?!R@oRBLmRC^!!RE!RGRRRHRORIRLRJRK!w!RMRN ww!!RPRQ!!wRSRYRTRV!RU!RWRXx^!6!RZ!R[!R]wR^wR_w!R`!wLRcRjRdRiRe!RfwRg!wRhLw!ww!RlRRmRyRnRoRuRpwRqwRrRsRt!MRv!wRwwRxw!RzR{RR|RR}RR~RRRL!RRRNRRRRRRwLLRRRRRRRmRRRRRRR֚RRՍRRRR=ER6RRRLRR!RRRRRL{,oRRR!R!R!R!R!R!R!!RR!!RR!!R!R!RRRRRR!R!R!RR!!RRR!!RRR!RRR!R!RRRRRՍ!RNՍ! !RR!R!!RR!!wRRRRLRRRRRR!RRRRRRRRR!!R!RRRRRR!!RR !RMLRS RSRSRSR!RSSS5NSS!SSSSS SS S S S   mSSmS!S!#SS#SSw#S#wwSSSSS!S!S#S"!S$S%S&S'S)S(! S+TS,SS-SUS.S;S/S0!S1S2S3S4S8S5S6S7 MOS9S:ՍS<S=S>S?S@SASBSC!SDSK!SE!SF!SG!SH!SISJ!!{SL!SM!SN!SO!SPSSSQSR{!!{ST!!{SVSvSWSoSXSaSYSZS[S^S\S]S_!S`!SbScSdSeSfSgShSiSjSkSlSmSn!SpSqSrSsStSuSwSxSySzS~S{S|S}6SSSS#STSSSSSS!S!S!!SS ! SSSSSSSSՍMSSSSSST+SSSSSSSSSSSSSSS!SSSSSSS!SSSSSSSSS!SSSSSSS!SSSSSSSSSSS!SSSSSSS!SSSSSSSSS!SSSSSSS!STSSSSSSSSSSS!SSSSSSS!STSSSSSSS!TTTTTTT!T TT TT T T TTTT!TTTTTTT!TT#TTTTT T!T"!T$T%T&T'T(T)T*!T,TsT-TPT.T?T/T7T0T1T2T3T4T5T6!T8T9T:T;T<T=T>!T@THTATBTCTDTETFTG!TITJTKTLTMTNTO!TQTbTRTZTSTTTUTVTWTXTY!T[T\T]T^T_T`Ta!TcTkTdTeTfTgThTiTj!TlTmTnToTpTqTr!TtTTuTTvT~TwTxTyTzT{T|T}!TTTTTTT!TTTTTTTTT!TTTTTTT!TTTTTTTTTTT!TTTTTTT!TTTTTTTTT!TTTTTTT!TTTTTTTT!T!T!!M2TTTTT!TTT!TTTTTT#TTTTTTTTTTՍTUvTU$T!TTTTTTTTUTTTTTTTTF5mTT^mTTTTF5mTT^5TTTT5TmTTm^5^UUUUFFmUU^5UUUUU U U U FmU U5^mUUUU^F5U5m^UUUUUU^mF^UU5^mUU!UU F^U"U#5mFU%UmU&U1U'U(U)U-U*U+U,U.U/U0#U2U3UPU4UBU5U;U6U9U7U8mFU:5U<U?U=U>^FU@UAmm5UCUIUDUGUEUF^^5UHm5UJUMUKUL^55UNUO^mFUQU^URUXUSUVUTUU5m^5UWFmUYU[UZm^U\U]m^FU_UfU`UcUaUb5mUdUe5F^UgUjUhUi^5UkUlmFUnUuUoUp!Uq!Ur!!UsUt!N&!UwUUxUyUUzU{U|U}U~Uwm!UUUUUUUUN5UUUUUUUUUUUUULUUUUU!ND!UU#NDUUUMOUUUUUUUU##ULUUUUUU!UUUUUUUUUUUNTUUUUUUUUUUUUUUNdUUUUUUUUUNrUUUUUUUUUUUNUVUVUUUUUUUUUu8UUUUUUUUUUU8UUUUUU8UVHUVUUUWUVV VVVVVVVVV V V V VVVVVVV*VVVVV%VVV$VVV!VV  V"V#V%V;V&V.V'V)V( V*V+ V,V-  V/V3V0V1V2V4V8V5V6wgV7*V9V:  V<V=VCV>V?VAV@ VB VDVEVFVGwVIVLVJVKVMVqVNVp%VOVPVQVRVkVSV_VTVUVVVWVXVYVZV[V\V]V^HV`VaVbVc=Vd=VeVf=Vg==VhVi=Vj==VlVmVnVoWVrVs*VtVuVvVwV|VxVyVzV{V}V~VVHVVVVVVVVVvVV*VV }VVVVVvVVVVVVVVVVVVV VwVwVVwVVwVwVwwVwVwVVwwVVwVwwwVVwVwwVVV/6VVVVVVVVuVVVVV VVVVVvVVVVVVVVVVVV=VVVVVVXVWVWVW9VVVVOVVWVWVVVVVVVV~% V~ VV~V ~VVV%V%V%V%V%V%V%VV%~~%~VWVVV~ ::%W~ }%WWWWW WWW:~W W :~x;W WW %~% W%WWWW~WyQ%WW~~%W~W%%yQWWOWOWW"O"W W(W!%W"%W#W%W$W&W'JW)W-W*W+W,uW.W3W/W0PW1W21uW4W7W5W6  |W8W:WW;WCW<W=W>W?W@WAmWBQWDWEWFWGWHgWIWJWKWvWLWlWMWcWNWVWOWPWQWRWSWTWUgWWWXWYW^WZW[W\W]gW_W`WaWbgWdWeWfWgWhWiWjWkgWmWnWoWpWqWrWsWtWugWwWxWyWzW{W|W}W~WWgWWWOW"~O*WWWW*WvWvWWWWWWvWvvWWWWWWWWWvWvWvvWvvWvWWWvvWWWWWWWWWWWW*WWWXtWXLWWWWWWWWgWWHHWWWWW W  WW W W  W  WWWWW W W W W  WW W  $YWX!WXWWWW WWW W  W W W W WP WWWWWWWWPWWW YWXWWWWWWWWWW|W|W||WW||W|X|XX X X  X X XXX X   PX  YX XXXXXXXXXu KXuXX X  XX X X X   YX"XEX#X21X$X%X&X'X(X-X)X*X+1X,$1X.X/1X0X11X3X41HX5X=X6wX7wwX8X9wwX:X;wwX<wX>wX?wX@wwXAwXBXCwXDwwXFXIXGXH  uXJXK XMXhXNX]XOXVXPXSXQXR XTXU  XWXZXXXY1X[X\1 w X^XeX_XbX`XawY$XcXdH1XfXgH1XiXjXoXkXmHXl KXnuXpXrXq|XsXuX}XvXwXxXyX{XzX| X~XXXXXXXXu1XX XXXXX XX XXXXg|XXw1wXXXXXXXXK XXXXuH X1 gXXXXXX1HXHXX XXXXXXXXXXXXXXXXXXXXX 18XXXXXXXX*XXXeXeXeXXXXXXXXXXXXXXIIXXXXXXXXXXXIXXXXXXXXXXXXXXXX3XXXY XYXXXXYvaYY6Y6YY66YF6Y66Y YY Y Y 6YYY,YYYYYYY1YY uYYYggHY%YY%Y %Y!%Y"%Y#%Y$%%Y%Y&%Y'%Y(%%Y)%Y*Y+%%Y-Y.Y/Y0YPY1Y@Y2Y6Y3Y4Y58Y7Y9Y8 QY:Y<Y;Y=Y>Y? Q8YAYBYIYCYGYDYF\YE99NYH=YJYLOYK\YMYNYO\\YQY\YRYTYS8YUYYYVYXYWYZY[Y]YnY^YbY_Y`8Ya|YcYgYdYeYf89YhYkYiYjB;YlYmYoYtYpYq8YrYsu; 1YuYv8YwYxYy|&Y{nY|`WY}]&Y~ZYYYYYYYYYYYYYYYY6Y6YY6F6YYv6YYYYYYYY6ܞK7YYNܞ7YYYY ,,ܞY7(6YY7YYܞ76Y6YY6Nܞ6YY6YYYYYY6Y6YvYYY6V6YY6YY6YY6/Y6Y /YYYY6Y8Y8Y8Y8YY8Y8[YYYYWWYYWYWYWWYW1 YYYYYY*OYYYYYYYYY*YYYYvYYYYYYYYYYYYYYYYYOY_YN_YZ3YZ%YYY8YZ YZZZZZZZ ZZZ Z  Z Z Z6ZZ$ZZZfZfZZ rVZZrVZrVZrV*ZZ**ZZ**Z*ZZ*rV*Z!rVZ"rVrVZ#*rVZ&Z(Z'Z)Z*8Z+Z,Z-Z.Z/Z0Z1Z2 Z4ZAZ5Z8Z6Z7Q*QZ9Z@Z:Z;Z<Z=Z>Z?ZBZZCZTZD8ZE8ZFZG88ZH8ZIZJ8ZK8ZL8ZM88ZNZO88ZP8ZQZR88ZS8 }ZUZVZZWZcZXZ[ZYZZFZ\Z]9Z^Z`Z_X=ZaZbZdZxZeZuZfZrZgZhZiZjZkZlZmZnZoZpZqZstZtXJZvZwZyZ|ZztZ{JZ}ZZ~ZZJZtZZZJZZZZXZZZZZZZZZtJZtZZZZZZZZZ=ZZZZZ99FZZZZZZZZ=ZZZZZZFZZZJZ=ZZZtZZZZWZ[Z[ZZZZZZZZZZZZZZZZ%ZZ ZٝvZ%Z%Z%%ZZZ%Z%vZZ%%ZZZZZZ%ZZ~~%ZZ~%ZZ%$~ZZZZ~ZZZ%$$%ZZ~Z~%rH%ZZ~ZZrH~rHZZZ~~rHZZ~~~%ZZZ }%ZZW[[[[[[[[[ [ [ [ [ [[[[[[[[[] [[`[[[[[T[[#[[[ [!["1[$[.[%[*[&[( [' [) [+[, [- [/[0[5[1[3[2[4[6[7[@[8[9[:[;[<[=[>[?[A[B[C[I[D[E[F[G[H[J[O[K[L[M[N[P[Q[R[S[U[V[[[W[X[Y[Z[\[][^[_ [a\[bv[c[d[[e[[f[j[g[h[i[k[[l[w[m[n[o[p[q[r[s[t[u[vw[x[y[z[{[|[[}[[~[[[[[w[w[[w[[[[[[w[w[[w[[[[[[[w[w[[w[[w[[[[[[w[[[[[[H[[H[[[[[HH[[[[[[[[[[[[H[H[HH[[[[[[H[HH[[[[[[[[[[[[[[#[[[[[[1$[[[[>[[[[[U[U1[[H[[\[[\-[[[[[\$[\[\[[[[[[[#[[[[$1U[[>\\\1\\\ \\\\ \ #$\ \\ \1U>\\1\\\ \\\\\#\\\\$1U\\>\!\"\#1\%\&\'\(\)\*\+\,\.\/\0\1\M\2\?\3\4\8\5\6\7#\9\<\:\;$1U\=\>>\@\A\G\B\D\C\E\F#$\H\K\I\J1U>\L\N\O\P\T\Q\R\S#\U\X\V\W$1U\Y\Z>\\\\]\e\^\_\`\a\b\c\d\f\m\g\h\i\j\k\l\nw\o\p\q\\r\|\s\t\y\u\w\vw\xw\z\{w\}\~\\\\w\w\\w\\\\w\\w\\w\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\ nu\\^\\\\|\u^\\\\\\\\wT|*\\\\  u\\K\ \\\\\\ uK\\Y\\\\uP\  \\\\\\\\\\\\\\\\ \\\\\\\\\\\]\\\\]]]]]]]]] |] ] ]] ]]]v]]]]]f]]O]]]]]]]] ]!]"]#]$]%wT]']](])]1]*].]+],]-|v]/]0$]2]O]3]L]4]5a]6]7]8]9]A]:]=]; Q]<'M#P]>]@]? QZwEz  Q]B]H]C]E Q]Dl Q]F]Gy Q QJ]I]J'\ Qz]Kɓy]M]NW]PU]Q]R6]S]~]T]\]U]V]W]Z]X]Y ][]]]t]^]n]_]j]`]a]b]c]d]e]f]g]h]i]k]l]m  u]o]p]r]q ]su]u]z]v]w]x]yww]{]|]} ]]]]]]]]]]]]]1#H]]H]]]]]]]]]]]]]]]]]]]]]]]^]^>]^]]]]]]]]]]]!]]]]]]]]]]]]]]]!]!6]]]!6]5^m]]]]]]]0L]]L!]]]]!,o!]!]]]]]]!Ս]]]]]]]]]]]]]]Mx]]]]]]]]]]]]]]]]]]]^]]]^]^^^^w^LՍ^^^^^ ^ ^ ^ ^ ^!^!^^M2LL^^^^^w^Fww^^^M^!^^^ ^2w^!^"!^#!^$^(^%!^&!^'!!w^)^-N^*L^+^,!^.^1^/w^0!6!^3^4^5^6^7^8^;^9^:!^<^=w^?^r^@^P^A^E^B^C!^D!!^F!^G^H^I^L^J^K!!^M^N ^OL^Q^a^R^S^T^U^V^W^X^Y^Z^[^\^]^^^_^`^b^c^h^d!!^e!^f!^g!#^i^p!^j!^k^l^n!^m!L^o!!^q!!^s^^t^^u!^v^^w!^x^^y^{^z!M^|^^}^~w^^^^^^^^ 9L^w^^^ӵՍ6^^^^^^^^^^^^^^^^^!^L^^^^!!^!w!^^^^^^^!^^^!!9!!^^^^^^!^^^^!w^^wm!^^^{9!^!^^)z m^^^^^!^!^^^^x^^LՍL!!^^!!^!^^^Ս^Ս^ՍՍ^^ՍՍ^Ս^Ս^!^!^6^66^!6^^^^^!^^!^!!^!!^^!!^!^6!^^^!!^!^^!!!^_^_*^_^_ ^^^^^^^N^L^______w___Lw_ _ _ 9_ ________6LL__"_!_!__!__!_{_,o_ !_!!o#_#w_$_%!_&!_'!_(!_)!!_+_E!_,_-_._/_0_>_1_8_2_5_3_4NMO_6_7LwN_9_<_:_;6LL_=L_?_B_@_AL_C_DL_F__G!_H__I_`!_J_K_]_L_M!_N_O!!_P_Q!_R!_S_X!_T_U!!_V!_WM!!_Y_Z!!_[!_\M!_^!__!N!_a_p_b_i_c_f_d_eFm_g_h^F^_j_m_k_lmF_n_o^5m_q_x_r_u_s_t5F5_v_w5m^_y_|_z_{5^_}_~Fm_!_!!_______!_9_____________!5______________O_____5___O__________!O5__5_______5_5__5_______O______O_`5_____!__!_!_!!_____!##_#!_Ս_______!_!!_!_!__L6!!___{_{_{_{_{_{__m{L___!__!_!!_!!``` !`!``!`!`!!`!`` !!` !` !` !`!!```!```!`!``!``!!``!!`!`!`!!`!!` `!`&!`"`#!!`$!`%!`'`,`(!`)!!`*!`+!`-`1!`.`/!`0!!`2!`3!`4!!`6`M`7`D`8!`9!`:!`;`@`<9`=`?`>!!L!9`A!!`B`C!o!`Ew`F{`G{`H`I`J`KՍ`LL6`N`O`P`Q`R`V`S`T!`Uw6!m`Xdy`Yc`Za`[``\`_`]`^````a`b`c`d`|`e`o`f`j`g`i$`h$$`k`m$`l$`n`p`v`q`t`r`s`u`w`y`x`z`{`}`~```$$```a````````````````````y```````a`a````` Q`````` Q``` Q QO``y`#PwE``4zɓ.``````zF'0``\ Q` Q Q,````` Q Q, Q` Q'` Q``gJo$g` Q` Q` Q Q` Q` Q)` Q`````` Q``` Q QO``y`#PwE``4zɓ.``````zF'0``)'` Q Q,````` Q Q, Q` Q'` Q``gJo$g` Q` Q` Q Q` Q` Q)`a``a`a`a`````O``y`#PwE`a4zɓ.aa aaaazF'0aa'>la ,a aa aa ,aaTaaaagJo$gayaaaaa)aa6aa(a a"wEa!wEa#a%ya$#PwEa&a'4zɓ.a)a2a*a-a+a,zF'0a.a/'>la0a1yTa3wEa4wEa5wE'wEa7aGa8aDa9a@a:a=a;a<wEFla>a?yJo$aAwEaBaCggTwEwEaEwEaFwEaHaUaIaNaJaLwEaKywEwEaMwEaOaRaPaQgwEgwEaSaTlwEFwEaVa[aWaYaXwEwEaZwETwEa\a_a]a^o$wEJwEwEaaz abaacanadahz aeafagz z Oaiakyaj#PwEalam4zɓ.aoa{apataqarzFasC7auaxavaws;(kayaz'jz ,a|aa}aa~z z ,z az 'az aagJo$gaz az az z az az )aaa'0a Qaaaaa Q Qaa Qa Q QOaa Qa Qaa Q Q,aaaaa Q Q, Qa Q'a QaagJo$ga Qa Qa Q Qa Qa Q)'\aaaa Qa'\a'\aaaa'\aaaa'\O'\aaaay'\aa#P'\wE4aa'\az'\aaɓ'\.'\aaaaaaaaz'\F'\aa'\'\7aaaa'>l'\aak'jsaaaaaa;('\y'\aaT'\'a'\aagJo$glaaaavaaaaaaaa a aabaab6aab/aa8ababaaaaag aa  bb bKbb bbbbb b  Kb b b bbbbbbbwbUbbbb1 4b bb-bb*bb b!Hb"b#b$b'b%b&b(b)b+b,$ub.b0b1b2b3b4b5b7b8bb9bb:bjb;b<bNb=bEb>bBb?b@bAbCbDbFbGbLbHbIbJbKbMbObabPbZbQbVbRbS bTbU  bWbXbYb[b`b\b]b^b_ bbbcbhbdbgbebfbibkblbmbybnbrbobpbq bsbtbubvbwbxbzbb{bb|bb}b~bbbbbbb bbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbcubbbbbbbbbbbb bbb bbbbbb bb bbbbbbbbc%bbbbbcbcbbbbbbbb bb  bbbb  bb   bbbbb  b bbbb cc  cccgccccc cc c $c $c c$ccc1cccccc$$Hc1ccwH1ccc c#c!c"$wc$wc&csc'c(c^c)c=c*c2c+c.c,c- c/c0c1c3c7c4c5c6>c8c9c; c: c<$c>cPc?cGc@cCcAcBw cDcEcFcHcJ cIcKcMcL cNcO  cQcVcRcScUcTHg1 cWcZcXcY$ c[c\c]c_coc`clcacjcbcgcccecdcfchci ckcmcncpcqcrct cvccwcxcyczc{cc|cc}c~wccwcccccwcwccccccccccccccccccOcccccccc*3cccc%cccd ccd cd cccccccccccccccccccccccccccccccccccccccc c%ccccc }c%c%c%c%cc%yB$%ccccccvc%c%%ccIcc@IZIccccccOccci%ccvcvccd ccc%d%d%d%d%d%d%d%%d%d~%Od ddRdddddddddddO#ddd9dd-dd%dd dd!d"d#d$ d&d*ad'd(d)d+d,$Wd.d4d/d2d0d1d3d5d7d6 d8d:dDd;d>d<d=d?dAd@dBdCA dEdIdFdGdH$dJdOdKdLdMdNĚdPdQdSdwdTdvdUdVdWdXdYdez dZd['0d\d]d^d_d`dadbdcdd[df'\'\dgdhdpdi'\djz dkz dlz z dmz dnz doz dq'\z drdsz z dtz duz dxdzmd{dd|dd}dd~ddd*ddddddddddddddddddddddddgdddddddddddddddOdddvdOdOdOdOw!dddddddddd*dd Odkdkddd%vdd ddddddddd ddd deMdedddddddddCCddd*-dd/P/24dddddd9N+,O2dd3M:;@cddddDrEZs'0ddKkOBmddddddddWV'j_ddY~]7;(dddd91.OQddYo.OeeeeeeyRnW#PeelV[ee e e l'oze e IJo$Pee.eeeeeeee'MTwEeeY]^ceeeegZgGeeGmGGe e'e!e$e"e#'Q TVe%e&VVVWe(e+e)e*Z`ab e,e-bfh-e/e>e0e7e1e4e2e3ɓoGXR}e5e6TPlVX[e8e;e9e:[\]"^|e<e=auek|Fe?eFe@eCeAeB(])* *eDeE+,,O`eGeJeHeI.t34;eKeL'>Jf/f0JGGOf2f9f3f6f4f5OɓɓKf7f8KPP'Mf:f=f;f<'M#P#P.f>f?.ooRnfAfPfBfIfCfFfDfERnQ Q 4fGfH4zzyfJfMfKfLyTfNfOTTTTfQfXfRfUfSfTTo$o$fVfWVVfYf\fZf[CCVf]f^VOQOQwEf`ffafpfbfifcfffdfewEVVVfgfhVVVWfjfmfkflWYoYofnfoWW^|fqfxfrfufsft^|YY[fvfw[\\^fyf|fzf{^auauf}f~FFaffffffffaOOlfflbbcffffcggffffgffffffgZZk|ffk|yylfffflll Qff Qn!fVfVfVfVfVffn!nnVfg&fffffffffffflloffozzGffffG'>'>JffJGGOffffffOɓɓKffKPP'Mffff'M#P#P.ff.ooRnffffffffRnQ Q 4ff4zzyffffyTffTTTTffffffTo$o$ffVVffffCCVffVOQOQwEfgffffffffwEVVVffVVVWffffWYoYoffWW^|fgffff^|YY[ff[\\^gggg^auauggFFaggg gg g g g aOOlgglbbcggggcggfggfggggggggZZk|ggk|yylg g#g!g"lll Qg$g% Qn!g'g(g)g*g+g,g-n!nng/gg0gg1gpg2gQg3gBg4g;g5g8g6g7#Pllog9g:ozzGg<g?g=g>G'>'>Jg@gAJGGOgCgJgDgGgEgFOɓɓKgHgIKPP'MgKgNgLgM'M#P#P.gOgP.ooRngRgagSgZgTgWgUgVRnQ Q 4gXgY4zzyg[g^g\g]yTg_g`TTTTgbgigcgfgdgeTo$o$ggghVVgjgmgkglCCVgngoVOQOQwEgqggrggsgzgtgwgugvwEVVVgxgyVVVWg{g~g|g}WYoYoggWW^|gggggg^|YY[gg[\\^gggg^auauggFFaggggggggaOOlgglbbcggggcggfggfggggggggZZk|ggk|yylgggglll Qgg Qn!g#Pg#Pg#Pg#Pg#Pggn!nn#Pgh7gggggggggggg Qlloggo))zggggz'0'0GggGGG'>gggggg'>JJGggG++'gggg'* * *gg*''OggggggggOɓɓ,gg,KK'ygggg'y,,-gg-PP'Mgggggg'M#P#P.gg..t.toggggo/P/PRnggRnQ Q 4ghgh ghgggg4zz1.hh1.yyhhhhTTThhTTT2h hh hh h 2z z 4hh4o$o$hhhh'j'jVhhVChh(hh!hhhhCVVOQhh OQwEwE4h"h%h#h$4VVh&h'VVKh)h0h*h-h+h,KssVh.h/V,,Vh1h4h2h3VWWh-h5h6h-YoYoh8 Qh9hXh:hIh;hBh<h?h=h>WW^|h@hA^|YY[hChFhDhE[\\ZhGhHZ\\hJhQhKhNhLhM^^auhOhPau6[6[hRhUhShTFF hVhW 9N9N;hY QhZ Qh[h^h\h];99;(h_h`;(b b  Qhbi@hchhdhhe'\hf'\hghhhhwhihphjhmhkhl'\'0'0GhnhoG'y'y1.hqhthrhs1.z huhvz 'j'jChxhhyh|hzh{CKh}h~KssVhhhhVh-h-ZhhZ hhhhhhhh 99;(hh;(b b '\hhhh'\kk7hh7 Q Qmh'\h'\h'\m'\h'0h'0hhhhhhhh'0h'0GhhG'y'y1.hhhh1.z hhz 'j'jChhhhhhCKhhKssVhhhhVh-h-ZhhZ hhhhhhhh 99;(hh;(b b '\hhhh'\kk7hh7 Q Qmh'0h'0h'0m'0hi h'h'hhhhhhhhhh'))+hh+''* hhhh* **'hh',,,hhhhhh,--.thh.t/P/Phhhh224hh4CC4hihhhhhh4,,\hh\6[6[9Nhhhh9N;;;ii;::/i'iiii/B)B) Qii  QDrDr'i i i i,iiiiiiii'0'0GiiG'y'y1.iiii1.z iiz 'j'jCii%ii"i i!CKi#i$KssVi&i)i'i(Vh-h-Zi*i+Z i-i<i.i5i/i2i0i1 99;(i3i4;(b b '\i6i9i7i8'\kk7i:i;7 Q Qmi=i>i?miAjiBixiCCiDCiEidiFiUiGiNiHiKiIiJC'0'0GiLiMG'y'y1.iOiRiPiQ1.z iSiTz 'j'jCiVi]iWiZiXiYCKi[i\KssVi^iai_i`Vh-h-ZibicZ ieitifimigijihii 99;(ikil;(b b '\iniqioip'\kk7iris7 Q QmiuCivCiwCmCiyiizii{ii|ii}ii~iiilloiiozzGiiiiG'>'>JiiJGGOiiiiiiOɓɓKiiKPP'Miiii'M#P#P.ii.ooRniiiiiiiiRnQ Q 4ii4zzyiiiiyTiiTTTTiiiiiiTo$o$iiVViiiiCCViiVOQOQwEiiiiiiiiiiwEVVViiVVVWiiiiWYoYoiiWW^|iiiiii^|YY[ii[\\^iiii^auauiiFFaiiiiiiiiaOOliilbbciiiicggfiifgiiiiiigZZk|iik|yyliiiilll Qii Qn!iiiiiiin!nnjjjjjjBjj#jjjj jj jj 4lloj j ozzGjjjjG'>'>JjjJGGOjjjjjjOɓɓKjjKPP'Mjj jj'M#P#P.j!j".ooRnj$j3j%j,j&j)j'j(RnQ Q 4j*j+4zzyj-j0j.j/yTj1j2TTTTj4j;j5j8j6j7To$o$j9j:VVj<j?j=j>CCVj@jAVOQOQwEjCjbjDjSjEjLjFjIjGjHwEVVVjJjKVVVWjMjPjNjOWYoYojQjRWW^|jTj[jUjXjVjW^|YY[jYjZ[\\^j\j_j]j^^auauj`jaFFajcjrjdjkjejhjfjgaOOljijjlbbcjljojmjncggfjpjqfgjsjzjtjwjujvgZZk|jxjyk|yylj{j~j|j}lll Qjj Qn!j4j4j4j4j4jjn!nn4jk jjjjjjjjjjjjyllojjozzGjjjjG'>'>JjjJGGOjjjjjjOɓɓKjjKPP'Mjjjj'M#P#P.jj.ooRnjjjjjjjjRnQ Q 4jj4zzyjjjjyTjjTTTTjjjjjjTo$o$jjVVjjjjCCVjjVOQOQwEjjjjjjjjjjwEVVVjjVVVWjjjjWYoYojjWW^|jjjjjj^|YY[jj[\\^jjjj^auaujjFFajjjjjjjjaOOljjlbbcjjjjcggfjjfgjkjjjjgZZk|kkk|yylkkkklll Qkk Qn!k yk yk yk ykykkn!nnykkkkkkkkUkk6kk'kk kklklokkozzGk!k$k"k#G'>'>Jk%k&JGGOk(k/k)k,k*k+OɓɓKk-k.KPP'Mk0k3k1k2'M#P#P.k4k5.ooRnk7kFk8k?k9k<k:k;RnQ Q 4k=k>4zzyk@kCkAkByTkDkETTTTkGkNkHkKkIkJTo$o$kLkMVVkOkRkPkQCCVkSkTVOQOQwEkVkukWkfkXk_kYk\kZk[wEVVVk]k^VVVWk`kckakbWYoYokdkeWW^|kgknkhkkkikj^|YY[klkm[\\^kokrkpkq^auauksktFFakvkkwk~kxk{kykzaOOlk|k}lbbckkkkcggfkkfgkkkkkkgZZk|kkk|yylkkkklll Qkk Qn!klklklklklkkn!nnlkkkkmOQkkkk kkkkkk }!kk%kkkQkQkQkQ%kkkkkQk%kk;[k%QkQ%kQ%k%kTQklklkkkkk8kk8k8kk8{Ck8{Ckk8k8k8k88kk8{C8kkkkkkkk{Ckkkk8{Ckk88k8k8k{C88k8k8k8kk8k8{C88{Ck88kk8k88k8k8k8k8k{C8k{Ck88{Ck8klk{C{Ck{Ck8kk{Ck88k8ll88{C{C8l sllllll lHl l l l ll+ll!lllllllgllllllllll gl"l#l$l%l(l&l'gl)l*gl,l>l-l3l.l/l0l1l2gl4l5l6l9l7l8l:l<l;l=gl?l@lAlBlElClDglFlGglIlJlKlLlMlxlNl`lOlUlPlQlRlSlTglVlWlXl[lYlZl\l^l]l_glalllblcljldlglelfglhliglkglmlnlslolrlplqltlulvlwlyllzll{l|l}l~lgllllllllllglllllllllgllglglllllllllllllllllllllllllllgllllllllllglllllllllgllglllglllllllllllllllllllllllllgllllllllllglllllllgllglmmllllllmmImm&mmmmmm mmmm|m m m  m  mmmmm m mmm mmm$mm mmmmm!m"m#m%m'm<m(m3m)m.m*m,m+m-|m/m1m0 m2 m4m7 m5m6 m8m:m9 m;m=mGm>mCm?mAm@mBmDmEmFmHmJmKm`mLmWmMmRmNmPmOmQ|mSmUmT mV mXm[ mYmZ m\m^m] m_mamkmbmgmcmemdmfmhmimjmlmnmxmompmqmrmsmtmumvmwmymzm{mm|m}m~mmmmmmmmmmmm|mmm m mmmm mm mmmmmmmmm|mmm m mm mm mm mmmmmmmmmm|mmm m mm mm mm mmmmmm mmmmmmmmm mammmmmmmmmmmmmmmmmmmmmmm8mmmmmm*mnDmnmmm*mmmmn mmmmmmmmmgmmmnnnnnnnnnn n nn n nnnnnnnnnnn=nnnn7nnn n!n"n#n-n$n%n&n'n(n)n*n+n,1n.n/n0n1n2n5n3n4   n6 n8n9n>n:n;n<n=n?n@nAnBnCFnEnnFnnGnnHnInfnJnKnLnYnMnSnNnPnOHnQnRunTnVnUw4nWnX nZn_n[n]n\Hn^Hn`ncnanbndne1ngnpnhninjnmnkqnl nnnoqnqnnrnnsnzntnwnunvH nxny |Hn{n~n|n}|  Kn nnnnnnU1nn|* $nnnn nn  nnnnnnnnwT  FnKnnnn:4nn>HHnnnnnHunn nnnOnn8nnnnnnnnn  nn Hnnnn }nnnnnnnnqnnnnnnnnH`nHnnnnnnnnHHnnnn|*  nnn1nnnnnn1nnn ns`nqEnono nnnnnnnnnnnnnnnnggnnnnnoooooo   o ooo o w>Ho oQo o"ooooooooooo#o#ooooooo o!=o#o+o$o**o%o&o'o(o)o,o-a*o.o/o0oHo1o9o2o4o3~#o5 o6o8po7p#o:o=o;o<&eo>oCo?oAo@toB&oDoEwoFoG}{oIoJoKoLBoMoOoN [ oPL oRooSooToUoVo^oWOOoXoYOoZOOo[Oo\o]OO|o_oo`onoaohobofocodoe8og8oiokoj8olom88oooxopotoq8oros{Couovowoyo}ozo{o|1o~ooo8{C8ooooo8o8oooo{C8o8ooooo oooooo%ooO ooooooooooooooooooopRopEop8oooo|ooopoooo8oooo8o8ooo88oo88{C8oo8o8o8o8{C88oo8o8o88oo88o8o8{Cooo88o8o8o8o8oo8o88{C8oo8o88{Cooo88oo88oo88oo88o8oo8ooo{C8{C{Co{C8oo8o8oo8o88oo88o8o8{Co88o8oop8p8pp8p8p88p8p{C88pp 88p p 88p p 88p8{Cpp2pp(pp8p8pp88{Cp88pppp88pp8p88p{C8p 8 p!p"  p#p$  p%p& p' 8 8p)8p*p+88p,p-88p.p/8p08p188{C8p3p488p58p6p788{Cp9p;p:p<p=p>p?p@pApBpCpD1pFpKpGpHpIpJgpLpOpMpN*pPpQ%pSpnpTpapUpXpVpW6pYp`pZp[p]p\1p^p_1 qpbpkpcpdQpepfpg8phpi8pj8plpm!popppppqprpsptpupvpzpwpxpy$p{pp|p}p~ ppp pppppppppppppHppp ppppppppppppppppppppppppppppppppp ppppppppppppppppp=p=pp==p=p=pp=H=pppppppppppHppp^p^p^p^p^p^p^p^p^p^p^^pppppYYppYpYpYpYYpuYppppppp pppppwpq*pqpqqqq qqqqqqq q wq qq qq q q=qq*qqq q|qqq&qq"qqqq q!q#q$q%q'q(q)q+Qq,q-q.q?q/q7q0q1q2q3q4q5q6q8q9q:q;q<q=q>.q@qAqBqCqDqFr{qGqqHq]qIqOqJqMqKqL8qNvqPqQq\qRqSqVqTSqUSqWqX$*qYWqZWq[W*q^qpq_qmq`qaqbqcqdqe sqfqgqjqhqiwqkqlwqnqoqqq|qrqsqtquqvqwqxqyqzq{q}q~Oqqqqqqqq_8|qqqq|qqqmqqOoqqqqqqqqqqqzqqqqqqqqqqqqqqqqqq  qqq  qqqqqqqq qqqqqqqqqqq qqqqqqqq qroqrYqr6qqrqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrr r r r r rrrrrrrrrrrrrrrrr-rr r&r!r"r#r$r%r'r(r)r*r+r,r.r/r0r1r2r3r4r5r7rFr8r9r=r:r; r<wYr>rA r? r@ rBrCYrDrErGrPrHrIrOrJwrKrNrLwrMFK1urQrSrR$1rTrUurV$rWrX FrZrnr[rhr\rar]r`r^r_w $rbrcrdrerfKrgKri%rjrm%rk$rl%%vrprzrqrrrsrtrurvrwrxryOr|rr}rr~rrrrO ! !r !rrrrrrrrrvvrrvvWrvrvvrvrrrr%rr }vr%rrrrrrrrMxrr՛ЖO%rrrr $$yQ$rM$rrr:r:r::r:rr::r:rr:r:O::rr:r::r:rr:r::rr::r:Orrrrrrrrrrr!r!wrrwwrrr!r5rrrrr8rs%rrrrrr%%rrrrrrrrwrrs$vrrrrrrrrrrrrrrOrrrs rrrsrOrOrsrsO. sOOsss sssO. s s s O. sssssssssssssOss. Ossss s!s"s#. s&s9s's(s)s*s8s+s1s,s-s.s/s08s2s5s3s4gs6s7 s:s>s;s=s<6s?s@sAsSsBsHsCsEsD !sFsG3sIOsJsROsKsLsOsMsN% sPsQO msTsUs]sVsWQsXsZsY }{ }s[s\ }v~s^s_ !sausbtTscssdssesksfsisgsh8sj8Qslssmsnsosp  sq sr ss st  susv sw sx  sysz  s{s| s}  s~ wssssvsvssvvsssswsss1s1ww*ssssss68ssssssssssmO#ds ssssss8s8s8s88s8{Cs8s8s8[8s8s8ssssso8o8s8Gs8j8vssss%ss8sssvsOssssss8ssQsssssssssssssssssssssssssssss }TT%%sss%$O%ss*s8sssssss ssssstsssssststtt|*uttHHtt t t t t t2t tttt$ttttttttttttttt t t!t"t# t%t&t-t't(t)t*t+t,t.t/t0t1 t3t4t5tJt6tCt7t8t9t=t:t;t< t>t?t@tAtBtDtEtFtGtHtI1tKtLtMtNtOtPtQtRtS tUttVtttWtjtXthtYtZt[tbt\t_t]t^  t`ta tctetdHtf tg ti%tktltstm*tnQtoQtpQtqQtrQ2Qtut{tvtxtwtytzOt|tt}tt~ttttttgttttttttttttttHtttttt Ʋttt Otttttttttttttttwttttttttt%t%ty$%Otttvttttttttttttttytytttttttttttttt Qt Qtt#Pt Q Qtttttttttt Q Qtt QCltttt Q#Ptt7z ttt Qvtttt QvtttQtu-tututttutu u u uuuuguFu u u u uu 83uuuuuuWuuWuuWWuuuuuWu u!u)u"u&u#u$u%u'u(Wu*u+Wu,Wu.uu/u0u1u2u3 u4u{u5uWu6uTu7uJu8uIu9u:u@u;u<u=u>Ku?KuAuBuCuDuEuGuFuHKuKuLuRuMuNuOuPuQKuSKuUuVKuXujuYuZu^u[u\u]Ku_u`uguaubucudueufKuhuiKKukuluwumKunuousupuqurKutuuuvKuxKuyuzKu|uu}uu~uuuuKuuuuKuuuuuuuuuKuKuuKuKKuKuuuuKuKKuKuKuuuuuuuuKuuuuuuuuuuuKuuuuuuuuuuuKKuuKuuuuuuuuuguwuvuvuuuuuuu suuu%uuuuuuuuuuuuuwuuuuuuuuu uuuuuu uuuuuuuuuutu*AuvuuvvAvA/vvJOv="vv v{v vv v vv vvzvvv2vv"vv3v3vv33v33vvv3v3v3vv 3vC33v!3v#v(v$3v%3v&33v'3v)v-3v*3v+v,333v.3v/v0v133v3vZv4vGv5v>v6v:v73v8v933v;3v<v=O33v?vC3v@vAvBO333vDvEvF33vHvPvIvMvJvL3vK33vN3vO33vQvWvRvUvSvT33(vV3(3vX3vY3O3v[vgv\v`3v]3v^v_333vavbvevcvd333vf3vhvrvivlvj3 vkO3vmvo3vn3vpvq33vsvwvtvvvu33(3vx3vy3(3Ov|vv}vv~vvvvv vvvvvvYvvvvvvv uvv>  vv vvvvvvvvvvvvgvgvvvvgvvu vv1vv vvvvvvvvvwvvvwH$vvvvg%vvvvvvvvvvvvvvvvvvggvvvvvvvvvvvvvvvvvOvvvvvvv 8vw|vvvv8vvwovvwVvw>vwvwvvvvvvvRRvvRRvRvvRRvwvwRwRwRRRwRwRwwwww w w w RRw wRRwRwwRRwRwRwwRRww,ww wwRwwwRRRw!w%w"w$Rw#RRw&w)w'w(RRw*w+RRw-w6w.w2w/w0Rw1Rw3w4RRw5Rw7w;w8w:w9RRw<Rw=Rw?w@wMwAwEwBwCwDy QwFwHwG Q Q QwIwJ#PwKwL QwNwRwO QwPwQ Q QwSwTwUz '\'0wWwnwXwawYw]wZw[w\ Qw^w_w` Qwbwcwdwewfwgwhwiwjwkwlwm#P Owpwqwrwywswtwuwvwwwx  wzw{ w}w~Qwwwwwwwwww!QQmw*wwwwwwwww%wwgww8*wwwwww8wwwwwwwwww wwwwwwww1wwwww wwwww ww wwwwOwwwwwwwwwwwwwwwwwwwwwww wwww wwwwwww wwHwwwwwwwwwwwwwwwwwww www  www  wxwxwxwwxx8xxxvxx xIx x.x x vx xx xxxxxxxxxxxxxxxxx'x!x"x#x$x)x%x' !x& !'x( !'~ !x*x,'x+b ! !x- !'x/x0x1x2xEx3x@x4x5x6x7x8x9x:x;x<x=x>x?xAxBxCxDxFxGxH QxJxTxKxLxMxNxOxRxPxQ$$xSUxUxwxVxWxixXx_xYx^xZx[x\Qx]Qx`xbxamxcxd !%xexfxgxh`xjxpxkxlxmxn;xoxqxs:xrQxtxvxu sxxxyx}xzx{x|x~xxxxxxxxxW }xx#Avx%xxxxxxx<x|Exzxyxy1xxxxxxxxxxHxHxxHxHxHxHHxHxHxHxHPax6=xx sxxxxx x   xy,xxxxxxxxxxxx$xxxx63xxxxxx$xx x6rVxxxxx6xxxxx3xxx6xxxxxx6xx0x3xx$6xy+xxyxxxxxxxxz=x63xxxx3xxxxx3x*xx33xyxyQ }yyyyy yyy%py y y y 3363y3yy3yyyyy yyyƲy$yy"yy!yyyy %8y#y(y$y%3y&y'Py)$ Qy*y-y/y.y0y2yy3yly4yjy5ySy6y;y7y88y9y:y<yCy=gy>y?y@yAyB>yDyEyFyGyHyIyNyJyKyLyMgyOyPyQyRgyTyUyVyXyWwyYyayZy]y[y\wy^y_y`wybycyfydyewygyhyiw  Hykymyoynyp%yq%%yr%ys%yt%yu%yvyw%yx%yy%%yzy{%%y|y}%y~%%yy%%yyyyy%y%%y%y%yy%%yy%yy%%y% }yyvyvyvyvyvyvyvyvvyyvvyvyvyvyvyvyy%y%vyy%vyvyyyvyvyyyyvyyvyvyvyvyvyvvyyvvyvvyyyvyJ1yyJ1J1yJ1yJ1yyyJ1yJ1vyvvyyvvyyvyvyvyvvyyvvyvyvyvyvvyvyvyzyyyyyyyy*yy%yyyyy!yyyyyyyyyy yyy !yz yzyyyyyyy yyyyzzzzzzzzvz z z z !!zOzzzzzzzzv2zz%Ozzz!8zzzz!zz 6z"znz#6z$zNz%z3z&z,Kz'z(z+z),:z*P+,:,:z-z0z.z/,:,:Fz1z2,:,:z4z;z5z7,:z6,:z8,:z9z:,:,:z<z?z=z>,:,:z@zKKzA,:zB,:zC,:zD,:zEzF,:,:zGzH,:,:zIzJ,:,:FzLzM,:F,:zOz_zPzZzQzWzRzS,:zT,:zUzVK,:,:KzXzY,:,:z[z],:z\,:z^,:,:z`zizazdzbzc,:,:zezf,:P9zgzhKKKzjKzkzlzm66zozpz6zqzrzzsz~ztzxzuzwzv{!zyz|zzz{!wz}!6zzzL<zz6zz6/zzzzzP6zzV6zzzzzz6z/,!z{zz666zzzvz/z6z66z6z6z6z6zz6z6z6,w6zzzzK6zzz66zz66zz6z6z6ܞ6z{Mzzzzzz/zzzzzz z z z  zzzzz z z z  zz z z  z z z z  zzzz  z zz zz  zzz z  !zz{Fzzz!z!z!!z!z!z!zz!!zz!!zz!z!!z!z!zz!M!zzRzz{zz{ z{z{{{PGPQP[5{5w{{{{PePoO={ PyC/P{ { {{ {̿K+P{{{,{{!{{{{{yP{{P=0{{{{uNP{{ PPP{"{&R{#{${%R  P{'{*{({)PP{+P8{-{<{.{5{/{2{0{1PP{3{4"4={6{9{7{8P$H{:{;QQPG{={C{>{A{?{@8QQ%[{B23{D{EQ/Q9{G{K{H{J{I{L{N{{O{{P{Q{{R{S%{T{U{u{V{W{\{X{Y{Z{[Q${]{`{^{_ ${a{b{c{t{d{j{e{f{g{h{i݉݉{k{l{m{r{n{o{p{q{s݉{v{{w{{x{{y{|{z{{ {}*{~{{{{{{{{{*P{{{{aa{a{{{{{{*{{*{*{{*{{{QC{{{{*QQ{**{{{{{ %{{v{{{{{{{{Y{{{v{{*{{{{{{{{8{{{{{8E{|){{{{v{{/{{66{6{{{{66{{{O{{{O*{{{{{{{{|{|{{{{{{{{{!{{{/Z{{%3{3{{{{{{{{{ Ni{{{|{O6|||||| Q|| | | | | W|||3||||_|||||33|3||3|33|C3| |%|!|#3|"3|$333|&|'|(3Ʋ3|*|?|+|,|-|.|>|/|8|0|6V|1|2V|3V|4|5VVQ_|7rQoV|9V|:Q|;V|<VV|=VQ|@|B|A|C|D\|F|G}X|H||I||J|c|K|a|L|`|M|N|Y|O|S|PƄ|Q|R |T|W|UH6|V|X)Ƣ|Z|_|[|]J|\JQ|^)O|b }|d||e||f|g||hF|iww|j|kw|l|vw|mw|nw|ow|pw|q|rw|sww|tw|uww|w|x|z|yww|{ww|||}||~|||w|||||w||w|w|||w|ww|w||||w|wq|||||||qg||v||||||Ʋ3||||3||W||||||||| Q||||| Q|||||||||||||||s||||F||| Q| Q| Q Q| Q|| Qs Q|||||| ||s|}'|}#|||||||||| | ||||| ||||||||||| ||| }}Q}}}}%}}}} }}} 88} 8} } 8}}}}3}}8}}}}}}8}} }}}*}!}"C}$}%}&%*}(}R})}O}*}4O}+},}-}1}.}/}0}2}3*}5}6}H}7}A}8}>}9}: };}<}=}?}@w}B}C}D}E}F}G%}I}J}K%}L}M}N%}P}QQ#AQ}S}V}T}U }Wv}Y}Z}[}\}_}]}^WW}`}a}m}b}i}c}d}e}f}g}hg}j}k}l }n}o0}p}y}q}r}s}v}t}ug  }w}xH1}z}{~-}|}}}}~}} }}}}}} }}}}} |u}}|*^}}}}}}}}n}}}} q}} l}}}}}}}}Y|q}}u|*^}}}} u}}  K}}}}}} }}n}}}}lY}} u} } } }}}}  K} }}}}}}}}}}}} |}}}} }}}}}}}}} |}}}}} }~}}}}}}}}}}}}}}}}} |}}}} }}}~}}}}}} |~~~~~~ ~1~ 1~ ~~ ~1~ 1~ ~~1$#~~~~~~   ~~qH~~~~Hw~1w1~~'~ ~$~!~#~"U> ~%~&$#H~(~+~)~*|uw~,11~.~~/~v~0~W~1w~2w~3~H~4~9w~5w~6~7~8w$#~:~A~;~>~<~=   ~?~@qH~B~E~C~DHw~F~Gw11w~I~Q~J~N~K~M~LU> ~O~P$#H~R~U~S~T|uw~Vw1~X~Y~Z~h~[~\~b~]~_~^~`~a |~c~f~d~e ~g~i~j~p~k~m~l~n~o |~q~t~r~s~u w~w~x ~y ~z~~{~ ~|~}~~  ~~~~ ~ ~~ |~~~~  ~ ~ ~~~~~~ ~~ |~~~~~~  ~~~~~~~~~~~~~~~~~~~ |~~~~ ~~~~~~~~~~ |~~~~~~ ~~~q~~~~q~~~q~ ~~~~~~~~|u~~ n^~~~~YK ~~u|*~q~q~~~~lq~~ q~q~~~~q~~~q~ ~~~~~~~~|u~~ n^~~~~YK ~~u|*qqlq qq           |  g    ' !"$ #%&  (-)+*|,. / g 1 23q4,56c7M8191:A1;<>1= w?@|UH1BICFDE$>uGHqJ1KL#1N1O1PW1QRT1S wUV|UH1X_Y\Z[$>u]^q`1ab#1def~gohiljk|umn|*^pwqtrsuvnx{yz q|} lY|qu|*^ u  KnlY u  K   |u|*^n q lY|qu|*^ u  K nlY  u     K u#uu|u|*^n q l   Y|q  u|*^ u  Kun! lY"u $u%u&u'*()  K+u-./ 0h1I2: 34756 |u89|*^;B<?=>@AnCFDE qGH lJYKRLOMNY|qPQu|*^SVTU uWX  KZa[^\] _`nbecdlYfg  ui j k lomn  Kp rstuv wx yz| { }~|u n^YK u|*  lq      |u n^YK u|*  lq  E |u n^YK u|*lq  |u n^YK u|*lq #      |u n^YK u|* lq!" $%<&-'(*) +,.5/201|u34 n^6978YK :;u|*=>?B@AlqCD FGiHKI`JQKKLNKM OPRYSVTU|uWX n^Z][\YK ^_u|*aKbKcfdelqgh KjKklsKmnpKo qrt{uxvw|uyz n^|}~YK u|*KKlq K |u n^YK u|*lq  |u n^YK u|*lq FHHHH w|UH1$>uqH#HHHHH w|UH1$>uqH#H$         |u n^YK u|*  ! lq"#  % &='. ()+ * ,-/60312|u45 n^7:89YK ;<u|*> ? @CABlqDE  GH IkJ KbLS MNP O QRT[UXVW|uYZ n^\_]^YK `au|*c d ehfglqij  l mnu opr q stv}wzxy|u{| n^~YK u|*  lq  wwww w|UH1$>uqw#wwwww w|UH1$>uqw#wwwww w|UH1$>uqw#wwwww w|UH1$>uqw#ww8$#   qHHww11  U>   $#H |uw111)111$##    !"qH$'%&Hw(1w1*2+/,.-U> 01$#H3645|uw7119X:;<J=>D?A@BC |EHFG IKLRMONPQ |SVTUW YZ[i\]c^`_ab |dgef hjkqlnmop |rustv xyz{|}~ |  |     |u n^YK u|*  lq      |u n^YK u|*  lq  1111 w|UH1$>uq1#11111 w|UH1$>uq1  #1 \ d='$$$$ w|UH1# $>u!"q$$%&#$($)$*1$+,.$- w/0|UH1293645$>u78q:$;<#$>Q? @ AH BCE DFG  INJLK|MO P g R S T[ UVX WYZ  \a]_^|`b c g ef|ghipjkml wno|UH1qxrust$>uvwqyz{#}~ w|UH1$>uq#  |g  |g(    |u n^YK u|*  lq      |u n^YK u|*  lq         |g   %!#"|$&'g)n*L+,C-4./10 235<6978|u:; n^=@>?YK ABu|*DEFIGHlqJK MNeOVPQSR TUW^X[YZ|u\] n^_b`aYK cdu|*fghkijlqlm opgqgrygstvguwx  zg{}||~gggg  g|   |u|*^n q lY|qu|*^ u  K nlY  u     K  w|UH1$>uq# w|UH1$>uq#/11 1 1  w  |UH1$>uq1#111#1 1 w!"|UH1$+%(&'$>u)*q,1-.#10F1H2H3:H457H6 w89|UH1;B<?=>$>u@AqCHDE#HGHHHIPHJKMHL wNO|UH1QXRUST$>uVWqYHZ[#H]^_{`abcodeifgh |jmkl npqwrtsuv | xyz|}~ |  |  |  | $#   qHHww11U> $#H|uw1 | |       | |iB/& !#"$%  ',(*)|+-.g0129346578  :?;=<|>@AgCVDEFMGHJIKL  NSOQP|RTUgWXY`Z[]\^_  afbdc|eghgjklwmwnuwoprwq wst|UH1v}wzxy$>u{|q~w#wwwww w|UH1$>uqw#w  =H 11111v3!/%%%%%%OOgg }     HaD,!NF,:N N"(#'$N%&QNF,:N)QN*+Q-8.5/0312-NQQ4LQ767L9>:;<=?@BKAKCRE_FGOHLI,:JK(MRNRNQPS,:QTRcT,:UVW7X7Y7Z[7\77]^767`tahb,:cfdeR&R6gTREinjlFkmK-,oqpRTrs,,uzvw7,:xyRc,,{|~},XܞNRrR"8$$8{C88 888888T%Ʋ8*  *3*     g88 !# $%i&4'*()g+,-./012356Ʋ78H9B:;<?=>8@A CDEFG{CIWJQKMLNOPRST8UVXdY`Z[8\^]8_PabcPefgh8jkl!mno1pq}rstuvwxyz{|~11111111111111111111111  1 1 1 111111111Ʋ8%!+"&#$%')(Ʋ*,5-3./0124!6978:;|Ʋ= >?@ABXCVDE8FGMH8I8JKL$NTOPQRS  U8WYrZ[j\]^e_`acbHdHfghiHklmnopqz stuvwx|yzv{}~OC*CCCCCCCCCCCCC'''''''''''zw     ODOOOOO"OO"OOOOO""OO"OOOOOO"OOOOOOOOOO"OOOOO"O$ OOO O O OO" OOO"OOOO"~OOOOO"O"OOO O!OO"#OO"%0O&'O(O)O*OO+,OO-O.O/"OO12O3;4OO5O67OO89OO:"O<O=@O>"?w!OAOBOCO"OEdFOOGHROIOJOKOLOMONOOPOQOO"SOT\UOOVWOOXOYZO[OO"]O^OO_O`OabOOcO"etfqgOOhOiOjkOOlmOOnoOpO"OrOOsO"uOOv"Oxyvv{|} }v~% s8 8888OAlunH w8%""""""""""X"""""" "    p88#vvvv v!vv"v$%g&'()X*A+6,1-./023457<89:;w=>?@1BMCHDEFGHIJKLNSOPQR TUVW Y`Z[\]^_uabcdef hijklmno qrstuv~wxyz{|}u   8Wa QJ gggggggggggg    ,ggggg '!"g#$%&()*+-5./0123g4g6=789g:;<gg>E?@gABCDFGHIK|LdMVNOPQRSUTggWX]YZg[g\g^_a`gbcenfghijkmlggopuqrgsgtgvwyxgz{}~gggggg)gggggggg||||gggggg      !"&#$%'(*+b,G-.=/4012359678:;<>C?u@|A|B|uuDE F HIXJOKLMNPTQRSUVWY^Zu[|\|]|uu_` a cq1dekfigw1h1wj$w$l#$mn#o#$p$#1rsytwuw1v1wx$w$z#${|#}#$~$#u||||uuuuuu     u||||uuuuuu     11w11w1ww$w$w$$$#$###11w11w1ww$w$w$$$#$###Fggg   g  gg.1w11w11w* %!$"$#$$$w$&#$'(#$)$#+1#,#-1/6101w12134w151w7B8=9$:$;$<$w$>#$?@#$A$#C1#D#E1GrH]IJUKPLMNOgQRgSTggVWXY[gZg\^_j`eabcdgfgghiggklmnpgogqst u vywuxu|uz~{u|u}u       K KKzKK  K       uu|uuuu       K KKzKK  K               K    KzzK KK  K             tI' K        K zzK KK  K     !$"#%&(8)/ *+ ,  - .  0K 125 3 4 6K7KK9:C;?K<= > K  @ AB DEFGHJlK[LR MN O  P Q  SK TUX V W YKZKK\]f^bK_` a K  c de ghijkmno#pqrs#uv~wxy#z{|}#Ʋ  12111 88888**8# w1|:$u  >>FFH UHHH H  u 4   :,u | " !11g$ %6&/'*K(|)|+-,$.u013g2g45|789;:<}=>Q?E@ABCDwFGMHIKJwLwNOPwRdS[TUVXWwYZww\`]^_wabcwesfmgjhiwklwnoqpwrwtuxvwwy{zw|w~wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww  H  > uKH=8?@A6CGDE8FHI%8KQLMN8O8P8{CRS8UvVfWaX[YZ8\_]^8C`8bcdePgrhnijklmRop8q8stu8wx}yz{|8~888{C }8888{C{C88R888!S8$88{C88H  8888 }?$g8888888 8   8{C{C8 888{C88 !" # %4&'0(*)8+,.{C-{CG{C/8G1238\59678:;<8=>8 Q@wAlBKCHDEF)GP)IJ8LiMNRO8PQ1#wSVTUuW`X4YZ[\]^_Yabc d ef g h  jk8mntopqrs   uvxyz{8|}~88{C888{C{C{C{C{C8{Co8[888 88 Q88*8 8 C   8>8I-!1 8")#$&8%R'(*,+C8.;/50218348867:889#a<B=>?@A CGDEFPH8J_KSLNM8OQP8R8TUWV8XY8Z][\88^8`gaebcd8f*hi8klmnopqrstuvwx|HyHz{HH}H~HHHu8Cg8I88C88{C88$8kI88 8\888C  ` * ' 88$$$$$$$$# $!"$$$%&$()8+_,]-./:0123456879;<M=G>?C@ABDEFHIJKLNOPWQRTSUVX[YZ\^88aebcd8fkghijglm8noptgqrsggv~wxyz{~|}88C88888888I88888 K888888PR{CCM88-     ! "#&$%'()+*,./601 23457?89;: <=> @KAE|BCD FIGH|J L NOPQqRS`TZUVWXYg[\]^_gagbcdefghimjklgnopgrstuvzwxyg{|}g88888g8R8888888g88$$$$$$88{C8{C{C{C{C{C{C{C{C{C{C88888R   8*3   8P88 {C{C888!"R#$%&(')*+`,;-2O.O/O01OO|374OO56OO"~O8O9O:O"<L=G>B?@O"~OA6OCED66O6F6OOHIKJOO66OMTNROOPQ6O"~6OSO|UZVXOWO"~OY""[^\]"O"~OO_|OabsckdgeOfO|OhOijO"O4yloOmOn"OprOqO""OtuzvxOw|OyO"|{|O"}~"~"O"O"O""O""6"O"""~""O"""OO"~"O"~O|O"~|OOO||OO~O lO|OO6|6O"O"~|IOO|W*O VK ~ ***l******8****W*Wl**W* W**    W* WXJ=**WW-WW-*!M"#$%3&.'+()** ,-*/021*4?5;6879:*a<=>$@FACB$ DEGJHI**KL*NPOQOS}TOUtVXOWOYZOO[\ s] s^j_d`ba{5c{5y{5egf syhi{5kplnmo sqsr s: suwvOx{yzOO sO|O~OOOOO  OO OOOOO{5{5{59 s s s{5  g wH1O9F:`:`;O;Oggggggg~g~g      :`!"2#*$%'&():`+,/-.01;%8*F3A4;5867sb9:;%8*<?=>Fs@bBCDEGzHlIJ`KLXMNQOPRUST:VW:YZ[^\]_`abchdefg`ijkmnopuqrstvwxy{|g}g~gggggggggg~~gg     |*|* ֹ P$ֹ P  $*  *     |* |*    ֹP       ֹ  P     e C1  $   $f 4 569 7 8ֹ:<;  =  ֹ? @  AB z DEmFGYHMIJKL&NSOQPRTVUWXu4Zi[b\_]^n^`awTcfde&ghujklnopwqrts4uvn^xy|z{wT|}~|B lB lAA,,ee    $  $uF  d       uFd       =#&&|||;3zu uuu|*u|*uuu uB   B  uuuu;uuu;uuuuu! uˢˢ<"u<u$%YY&'5Y().*,+YYY-Y/201Y|34|6Y7Y8;9:YY,<Y,Y>?@VKABNKCDGKEKFKHKIJKu4LMn^OKPKQTRSwTUKKWXhY`KZ[]K\K^_u4Kabecdn^fgwTixjqknlmBop lrust$vwByz}{| ~l$KKKKKK&&||PP     |*|*B $B    $       |*  |*   PP  ;  ;      |* |*  ֹP     $     ֹP $  *  * !S"#4$%&-'*()u4+,n^.1/0wTu234n56E7>8;9:^<=wT?B@AKYCDlKFMGJHIYlKLNQOP;3R;3TU\VWXYZ[u]w^j_c`ab4dgefn^hiwTukplnmo4qtrsn^uvwTxyz}{|B~ lB lAA$$f ?Z@TwABGwCwDwEFdelfigh>jkmnoqrsztuwv|xyu/|u{|~}/U12>475689uu;<=>@JHAHBCFDHEHGHHHIH=!HKHLHMHHNOHHPH=!wRS11T1U1VWZ1X1Y1[^\]$#$_1#1asbqcpde11fg1h1ilj11k1m1no1wHrHwtvuHwxyz##{|#}#~###U#>U>###U>U>##ȡȡ^Z                  :`|:`|;O;O;                 ||>          !||"|#$2%+&(|'|)*,/-. 01:`3:4756|89 :;|<=`?F@  A BC D E GHIJVKOLMN:PSQR`TU:`WXY[\] _`abcdeufkghij;3;3lqmonprts4v}wzxy| {|n^YK~P ulwT u|*;%8*Fsb;%8*Fsb;;3;!bp+;A8|w1H *88u1888*     a8,ɓ% Q!Q"Q#Q$QAQQ&Q'Q(Q)Q*Q+Q-./x0Z1C2;3645RR79R8R:RR<@=>R?RABRRDMEHRFRGRIKRJRRLRNUORPQRRSTRRVRWYRXRR[d\`]R^RR_RRabcRepfkgihRRjRRlnmRRRoRqtrRsRuRvwRRyz{|}~RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR&RRRRRRRRRRRRRRRRRRRRRRRRRR     RRRRRRRRRRRR!RRR RRR"#R$%RR'](@)7*0+.,-RRR/R1423RR56RR8=9;:RR<RR>RR?RAQBNCLRDEFGHIJKRRMRORPRRRXSUTRRVWRRY[RZRR\R^u_j`facbRRdeRRghRiRRkplnmRRoRqsrRRtRv~wzxyR{|R}RRRRRRv   %,v $1$$UU    uwTKu    |*UUUUu  UUwHHH HHH HH H HH HHHHH U#  !"$&%')(*+-.O/a0Jy12>y3y45yy67yy8y9:y;yy<y=Ryy?y@yAByyCyDyEyFGyyHyIyyKyLyMNyOXyPQyRySyyTUyVyWyyYyyZ[yy\]y^yy_`yybcyd{epfygyyhiyyjkyylymynoyy]"yqrysyytyuyvwyxyyyyzGy|y}y~yyyyyyyyyyVyyyyyyyyyyyyywEEaHHHHHU>$1UUU1U1uK >  >UU>> 1  88*E<96 6 ܞ 6  66,:F66767-;6,6"6,:,: !6K6K#)$'%&7666(76*6+66-6.0/61273456678K6:;=@>?aACBDaFyGuHsIJK\LVMNROPQSTUWXYZ[]^c_`abdlehfgijkmpnoqrtavw*xaz{}|%~>HHH8a? OO } } } } } } } }QQQQQQQQQQQQQQQOQQv %%%%%%%%%%% zzrHrH%r: zzrHrH%r:%%%%%%%%% %% Q    3 % !Q%#% &C h!#"Q$%*&f'L(@)1*0+.,-00/;243;5?6789:;<=>0AHBFCED0G11I1JK10M\NTOQ1P;RS0UZVXW06nY00[0]d^a_0`bc00e6n06ngikj%lu%m%n%op%%qr%s%%t%vwxyz~{|}U||,%Ƣ**O36ܞܞܞ6ܞܞܞ66      +)  !"#$%&'(* -8.5/201*34867*9=:;<*!>a@A>BkCCDOENvFGOHOIOJOKOLOMOO}OPBQ%R3STUyVdOWXaYOOZO[\OO]^O_OO`"~ObOcOO"eoOfgOhOiOjOOkOlOmnOO#pOqOOrsOOtOuOvOwOxO"~z{|}O~OOOOOOO#OOOOO"~OOO"OOOOw!w!OOOO"OOOOOOOOO""OOO"~OOOOOO#OOOOO"OOOOOO"OOOO"OOOOOOOOO"OOOOOOOO"OOOO" OOOOOOOOw!OOOOOOOOO"OOOOO"OOOO#OOOOO"OOO"OOOOOO"OO O OO O "OOOOOO"OOOOO"O OOOO"O"~!%"OO#$OO"&O'OO(),O*O+"O-OO.O/0O12O"O"456l7P8AO9:O;@O<=O>OO?"OO"OBOCDIOEOFGOHO"OOJKOLOOMNOOO"OOQRcS[OTOUOVOWXOOYOZO"\OO]O^O_`OOaObw!OOdeOOfgOOhOijOkO"OmnoOp~OqrxOstOOuvOwOO"OyzO{OO|O}"OOOOOO"~OOOOOO"O"OOOOO""OOOOOO"OOO"OOOOOO"OOOOO"OOOOO"~OOOOOOOO"~OOOOOOOOOOO"OOOOOOOOOOOO##OOOO|OOOOOOOOw!OOOOOOOO"OOOOOOOOOOOO"OOOO"O OOOOOO"OOOOOO O  OO"~ OOOO"O.OO#OOOO"OOOO"O !O"OO"$&O%O"O'(OO)*O+O,OO-O"~O/0<14O2O3O"O5O67O8O9O:O;OO"=O>O?OO@AO"~OQDhEQFGHIJKLMNO'\P'\R%S`TZUWV XY O[]\^_  abecd%fgOijlm6n6opqrstuvwxyz{|}~4 l88  *gggggg[[[[[[[[[8GGGGGGGGgggggggggggggggggggH     gg3(g $!"#g%&'g)*+,-./012Hgg56789:;<=ܞܞ?@ABsCD`ETFMGJHIKL66NQOP66RSv66UZVXW6%Y661[^\]V_66aobkchdgef,!.|VijrV6$lm$6n-yprq/%tuvw{x33yz3߾|~3}333333333333336T333333T8Or%  $6K     aH#11$g|  gwT     wwHHH|&U>       |4n^YKumP .!("%#$u|*&'q)+u*wT,- /:04123586749n^;B<?=>YKu@AmPCFDEu|*qGuIZJNKLMKuuOYPSQR uTV|*U^WXwTn[^\]wwH_`  b{cjdgefHw1hi kml$ nwopqrstuvxyz|}~H|HU>&4n^Y^umPu|*quuwT 444nn^^YYKKuummPPuu|*|*qquuuwTwT   \-     "44444444 4!4#($%&')*+,.E/:0512346789;@<=>?ABCDFQGLHIJKMNOPRWSTUVXYZ[]^u_j`eabcdfghikplnmnnnonnnqnrnsntnvw|x^y^z^{^^^}^~^^^YYYYYYYYYYKKKKKuuuuKuuuuuuK8mmmmmmmmmmPPPPPPPPPPuuuuuuuu|*|*|*|*|*|*|*|*   q q qqqqqq%! "#$&/'+()*,-.041235679:g;N<E=A>u?u@uuuBuCuDuFJGuHuIuuuKuLuMuO^PWQTRuSuuuUuVuX[YuZuuu\u]u_c`abdefh{irjnkwTlwTmwTwTwTowTpwTqwTswt u v   x y z |}~uuuuuu|*|*|*|*|*|*qqqqqquuuuuuuuuuuu|*|*|*|*|*|*wTwTwTwTwTwT       ( $  ! "#%&')3*  +,-./0124n5B6 78=9:;<>?@ACO DEJF G H I    K L M N  PcQYRVSTU WX Z[^\] _a` b diefgh jklm opq|rwstuv xyz{ }~|||| ||||||                       ||| |||||   E     *ww %!"#$w&'()ww+,9-3./012w45678w:w;@<=>?wABCDwFIGH$ |J{K`LSMHNHOHPHQHRHHTZU|V|W|X|Y|||[|\|]|^|_|anbhcdefgijklmoupqrstvwxyz|}~HHHHHHHHHHHHHHHHHHHHHHHHH|||H|||||HHHHHg &&&&&&&&& & & &# K-   $  !"# %)&'( *+, .A/804123 567 9=:|;|<| ||>|?|@|  BCGDEF HIJ LaMWN OSP Q R    T U V  X Y]Z[\ ^_` bcrdkehfg ij lomn pq sztwuv xy {~||}| ||||             777777766*rV66U6  HgF*u6\'*$              6 666kkk\k/   6 6 6666666666,w6666!#"666%&()*+3W,-.0/ 129\94567]8H9@1:;><H=H|HH?H ABCFDE>GIQJKOLMN/wPwRZuSTWUV&XY[\u|*^s_d`ab c   elfgjhi4kmnpon^qrumPtuv}wzxyq{|wT~ | gK    |gHUwg Y 1u|*$ $  H$  uUgg\ uwHw>  1Hu q4wTPum 1wg /1H    HgK|*uH:.$!H | " #%(&1')+*,-ww/N0?182534n4679<:;q^P=>wT@GADBCumEFn4HKIJLMq^POQPRUSTVYWX>Z[U/]^j_b`1aucgde:f1Uhi1gkslomn wHpqgrwgt|u$vwyx>z{/}~uu|*KKH | UuYgwwu|*YUuH  | uK   |wg u  |K/ >/*hF3    Ku   |u n            gg  11&111 #!"w#1$%11w',(*)1$11+1-/1.1w0112g4756g89:;C<@=?g>ggABggDEgGZHIJKLMTNQOP RS UXVW  Y [\]^c_`ab gdefgi|jklmnsoq1pwrtxuwvwyz#H{HH}~   uuK n   6%666/Ƅ 8*   w        HMh-, !"#$%&'()*+a./g0a1O2?364587:898{C8;<8=>8@AFBC8DE8GHIJKL MN u P\QXRVSTU{CW8YZ[C8]d^_c`ab|8ef\8*6ik6j6lmnopq{rvstuV*IwyxIz|}~݉ĚI݉A݉V*V݉݉*3I0*3ݗĚI0*3ݗXXXJJXĚtX9F=J9/J=X=H) 6    %%%%%%%%%%%%%%%% !"#%$*&'(**G+,-.4/60216366566@7=689;:666<K6>66?6ABQ6C6DEF66HKIJ8a*L*NOPQ|R{SUT1VWXYeZ[\]^_ `abcd fmghi j kl ntopqrs uvwxyz a}~ Wg K>1$#HHa %8unun  u K nu u n, K   uK  uKKu  u &K   KKK|*  uK   uBu  nKBuK!  u uuu n  nu"u#u$% B |*u'|*()*un +u-5.K/K0u1u23|*K4uK 67KuK9q:];?<=K >K@EACKB KDuKFIKGHKuKJPKMuL KNO KunQWRT S UVKu XZYK K[\KK ^p_K` aubicfde uuughuKjmklKnno |*u KrstxuvK  w y~z{ n|}n  uKuu KKuu uuu|*uuKKuKuKKKuKKKKK Kuuu|*uuuuu Kuu    uu u   KK uuuuu K|*nuuuuu  KKuKnuu  KKBKuK|*u BKKuunuuKW|*un^KK uuuKnu  u u uu  uuuu uuuuuuvOB= !-"#$%&'()*+, .:/0 12 3  4 56 7  8 9 ;<  >c?Q@FADBC|EG HIJKLMNOPR_SU T uVWKXYZ[\]^K`bauduejfh1gwi#Hklm1n11op1q11rs1t11vwxwyz{|}~wHHH|          K ugg w$w  g *a !=E!!!!!w!  !  wm6x#+!!!!!!!x!!!!x%"! !!!!w#!w$w!&)'!!(!{!*{!,<-7.3/10!!!2!!!4!56!!!!8!!9:;!!=9>@F?F!AF!FCDE6FLGIH JK  MNHPWQTRS*aUVaaXZY" [\p]i^_`abcdefgh jklmno q6r66st6u6v66w6xy66z6{|6}66~66{[dWOuuuuuuuuH  g    #gHuuH #       u            uK       1 $         !   "#  %-&('  )+*  ,   ./02C3:475689 ;><=>?B@ADKEJFHGILMNPQvvRvSvTUVvvXYZ[\]^_`abcgefghir8j8k8lmqn88op8{C8{C8 stuvwxy|z{ɓywE}~y4y'>'>'>'>'>'>'>'>'>#Py4#P444444l4ywEywEyyyyyyyɓwEy4F#Py4#P#P4yVyV'M Q#P#P#P#P#P#PO#P#PZV'>#P'>y.ZyyF.yyɓ.V Q4y4#P#P#Pɓ yyyFF wE 4y'M y yy4yyzzzzzzzF'>yO73 $!"#ɓ#P#P%2'>&ɓ'z()z*/z+,z-.zFz.0z1zzVyy45y6yy Q8D9>:<;=wEV?A@#PBC#PzEIFGy#PyHy#PJLK'>MN#Pzz#PPQ|RoSaT`4UV'>W['>X'>Y'>Z'>'>\]'>^'>_'>'>4ybc4#P4de4fkg4h44i4j4ll44m4nl4psqr4#Py4OtuFvyywyxyyzy{yy4}~4444444l4wE#Py#P'>Fy4#PyyywE4zyyyɓ#P8*Wa*3*3VV*3*3VV*3W6>>     $   wT@1 .!"#$%&*'()+,-/0a2534a6?78O9:;<=>AVBDCEFGHIJKLMNOPQRSTUWYX*Za\l]^_`abcdefghjikmnopqrstuvwxyz|}~q88*88Ƣ              H8 PAHw1 |   g   ww  u 0!'"#$%&(),*+=-./1<237456189:;w=>?@BC%DEKFGHIJ:L%M%N%O%%QmRST_UYVW88X8Z[\]\9^OO\`af8bcde ghj8i8{k8{l{8no8pqrs|txuvwyz{}~888888!)8888C  Q   g  8 K**d*dd*dd~d~d~****d~****** d*   ƢE%88888888 !8"8#88${C8&8'2(*)8{C88+,88-.88/80188{C38848586878898:;8<8=A>88?@88{C8BC88Dt8FcGSH8I8J8K8L88MN88O8P8QR88{CT8U[V88WX88YZ8{C8\88]^8_88`a88b8{Cde8fp8g8h8i8jk88lm88no88{Cq8r8s8tz8u8vw8x8y8{C88{8|}88~8{C88888888888{C8888888{C8888{C888888{C8888888888{C888888888888{C8888888{C888888888{C8\Ƣ*8ggggg8*Ʋg18- ,   + &vvvv!v%v "$#v%'*() ./0M1=2934576g8g:;<g>?I@DACB EFGH JKLNvO\PU Q RST VXWY Z[K]i^c_a`  bdgefu|*|h|jpkmulno Ynqsr^tulwxyz}{|~#1U>H$wv  1   W0   2  z= *! WWHWWa>HHH1/ Q'\$*       " Y YYY Y!Y#-$)%&'(F*+F,FF.0m16243857b8E9%:;<=A>?@=BCDFRGHIJNKLMQOPQ S%T%U%%VW%X%%Y%Z[%%\%]^%_%%`%a% Ncdef ghijklnopqrstuvwxyz{|}~ggg>> >=83T33'3Ʋ3q33333363333333633333C3Ʋ333633q33333333  E33T  3b 333Cɗe <!-")#&$33%3T3'3(3*33+,33CI.23/30313384536733639:33;qw=>w?@AZBRCDKEFGHIJwwLMNOPQwwSUTwVWXYw[\]^_`abwcwdwwfgxhijklmnopqrstuvwyz{|}~                         6a<!!6x!w!=E55!9w!ww9w!x95     !9!!6666666666!w!9 !"/#)$&%!'(!!*,+!-.!!061423!65!7:89!L!;LL!=e>X?K@GACB!!9DEF6!!6HJI!L!LRMN!9OPQ5ST!U!VW!x!xY`Z][\6!9w^_!wacb!d!ftgmhkij!l!nqop!!rs!u~vx!w6y}z!{|ww!6!!!!5!9%w6H333q36333Ʋ333'3333333C333333633REE)#[#j388u   KuuYwuw      `]G 6)# !"H$'%&w1g( *0+-,H./w1g1423w 5H7C8>9;:w1<=g ?A@ B$g$DEFHOIJKLNM 8PQVRTS1U WZXY1[\^_abpcdaeflghijk mno qr%st%%u%vw%x%y%%z%{%|%}~%%%%$%!33TT3633w33333333Ƣ333T33T363&a7K7K6666676Q766666666666*a**w1gwH   1 *6f g 1Hw  1u$# 1K    g  HHHHH Hw>HUwHHw8!"A#<$4%)&'8(8*0+-,8./1238858679:;=>?@BRCODHEFKGBILJ KMNPQSZTUXVuWu Y[`\^]_uacb deg~h}*ij*kql*m*n*o*p**d*rsy*tuw*v*x*z*{*|**a6Hu Y   66fBBBBBBBBBBBBBB sBBBBBBB sB==============6  !q3T333333336363333   3E3  333333333 "5#*$%|&,'|(||)*||+||-.|/2|0|1||3|4|6a89:Ý;¹<M=>?@ABCDEFGHIJKLN}OcPYQTR3S363UWV33X33Z_[]3\b33^63`3ab3T3Ʋdoejfh3g3i33km3l3n33pxqvru3stB33w3y{3z3|3C3~©Ÿ3€ƒ‚33„…3†3‡™ˆE‰EŠE‹‘ŒŽEEfEfEf’•“”EfEf–EE—˜EfEšR›EEœžEߞES  £¡33¢3¤¦3¥3§¨3)Eª±«®¬3­333¯3°3²¶³´363µw3·3¸3C3º/»¼½¾¿333333333333S33333333333333E6E6E6E6E6E6E6SE6E6E6E6E6E6E6E6S+E6E6E6E6E6E6E6E6S:E63 336 33   33q33EJ3CI36#333E3333 !"SH$+%(&'33)*333,-.33*01Ï2o3P4C5<6978W :;W =@>?W ABW DIEHFGIIJMKL NO Q`RYSVTU WX Z][\ ^_ ahbecdW fgW iljkW mnW IpqÀrysvtu wx z}{| ~ ÁÈÂÅÃÄW ÆÇW ÉÌÊËW ÍÎW Ð×ÑÔÒ5Ó55ÕÖ5ØÜÙÚÛfÞàßáâãöäéå3æ3çè63êðëîìíE3z33ï3ñóò33ôõ33÷øûù3ú33Tüý3þ3ÿ33333366*aggO[/  Y1   3q3'3333F@333633q3 '!3"%#$b33&33(+)33*33,-.3q30R12@3:345736389E633;<>3=3q3?3qAHB3CFDE33G33ILJ3K33MPNO3S33Q3STUVWXYZ \]ę^ā_r`iad3b3c3Eegf3V'h3'3jokm3l3b3n3p3qSs}tyuw3v3x3E3z3{|333~33Ā3ĂăđĄĉąĆćĈwĊĎċČčwďĐ ĒēĖĔĕ ėĘbĚěĜĝĞĵğĪĠġĢģĤĥĦħĨĩ>īĬĭĮįİıIJijĴĶķĸĹĺĻļĽľĿ8888888888888j8''''8'888888a ***** ** *  6/6%%%6/66`1 6!"6#6$6%6&6'6(66)6*+6,66-.66/6062ŝ3_v45>6vv7v8v9:<;vv=vv?W@AHBCDEFGHHRIJKLMNPOHHHQHSTUVHvXvYZvv[\v]v^vv`bavvc|defghpijklmnogqrstuvwxyz{g}ō~ŀŁłŃńŅņŇňʼnŊŋŌ ŎŏŐőŒœŔŕŖŗŘřŚśŜ ŞşƄŠšvŢţŤťŸŦŭŧŨũŪūŬgŮůŰűŲųŴŵŶŷgŹźŻżŽžſgzA%            !"#$ &/'()*+,-. 012<3456789:;  =>?@ BlCDUEFKGHIJ LMNOPQRST V^WXYZ[\] _f`abcde ghijk mnopuqrst vwxy {|}~ƀƁƂƃ ƅƱvƆƇƈƉƊƟƋƔƌƍƎƏƐƑƒgƓgƕƖƗƘƙƚƛƜƝƞgƠơƫƢƣƤƥƦƧƨƩƪgƬƭƮƯưgƲƴƳgƵƶƷƸƹƺƻƼƽƾƿuggggN>$1111111111111    1 1111111$5$ !"#%&'()*+,0-./13246789:;<=?@ A  B C D EF G  H I JK  L M  OPQRSTUVWXYZ[\]^_1aȋbcdqefgkhijlmnopFܞrstuǩvwǐxǀy{z|~}ǁNJǂDžǃDŽ"džljLJLjNjǍfnjǎǏǑǞǒǕǓǔǖǘǗ"ǙǝǚǛǜǟǦǠǣǡǢǤǥǧǨǪǫǿǬǷǭdzǮDZǯǰDz"ǴǶǵǸǼǹǺǻ"ǽǾ""""""a`g     83 !C".#''M$%&ɓ'c(+)*'M#P Q,-' Q#P'\/=0;12#P3456789:#P<)y>@ Q?'AB' Qz DQEJFHG QI Q, QKNLM Q#P QOP QJRYSVTUɓo$'\WXc#PZ][\ Q'^_T Q Q#PasbkcdefghijglmnopqwTr  tu}KhvKhwxKhyKhKhz{Kh|KhSWKh~/6Ȁȁ6Ȃvȃ6Ȅ6ȅ66Ȇȇ6Ȉ66ȉȊ66RȌȍaȎȏȐȑȥȒȠȓțȔȕȖșȗȘ1HȚwȜȝȞ ȟȡȢȣȤ ȦȵȧȨȩȱȪȭȫȬȮȰȯ Ȳȳȴ  ȶȷȸȿȹȾȺȼȻCȽ88{C8 8C*6. U66/{6v6/66vv6rV 6v  1rV 6 v{6{aH{v666/)' !/"$m#m%&!{!(66v*+6/,-6/0123_4F5>6;78696:<=66?A6@/6BCUD6E6,GNHKIJv6LMfvOQPRSU6T/UVvSaSaWvXvYvZ[v\v]v^vvSa`nahbecd6fg6 ikj6H6lm!/Uvotpr6qvs6/uxvw66/6yzɏ{ɂ6|6}6~66ɀ6Ɂ6Ƀɉ6Ʉ6Ʌ6Ɇ6ɇ6Ɉ66Ɋ6ɋ6Ɍ6ɍ6Ɏ6Kɐ6ɑ66ɒ6ɓ6ɔ6ɕ6ɖ6Kɘ$ə~ɚɛɜɝɞɟɺɠɡɮɢɩɣ3ɤɧɥɦ3q6ɨ3CI3ɪ33ɫɬɭT3ɯɳ3ɰ3ɱɲ3'3ɴɵɸɶɷ36T3ɹ33)ɻɼɽɾɿ1 W%~%~%8 1w  w         v  6o%g !#"OO$O&'N(<)4*/+.,-8803128P576889:;8 =D>@?8ABCELFJGH8IK8M8OXPSQR8TVU WYeZ`[\8]^8_abcd88fjgih88klmngpqʪrxstu vwyzʚ{ʐ߮|߮}߮~ʏʀʁʂʃʉʄʅʆʇʈʊʋʌʍʎ߮ʑʕʒ߮ʓʔ߮ʖ߮ʗʘʙ߮ʛʜʧʝʡ߮ʞʟʠʢ߮ʣʥʤ߮ʦ߮ʨʩʫʮʬʭ8ʯʰʻʱʲʷʳʴʵʶʸʹʺHʼʽʾʿ v 1181$*('w        "   !#$%&3)6+˾,˹-.˜/e0T1<23;456789:=J>?A@BCDEFGHIuKRLM NOPQ S UcV]W  XY Z[ \  ^_  `ab wd1fˆg{hwiujokHlHHmHnHpHqHrsHHtHvHHxHyHHzH|1}˄~ˀˁ˂˃˅ˇ˕ˈːwˉwˊˋˌwˍwˎˏwˑ˒˓˔ ˖ ˗ ˘˙˚˛ ˝˞ˣ˟ˠˡ   ˢ ˤ˰˥˩˦˨˧ ˪˭˫ˬ1wˮ˯1˱˶˲˴H˳ ˵˷ ˸1˺˻˼˽8˿8w q8833q3q3333333333333363q33633333C/ 333 3  3T3 33q33333633S33333 "3!33#3%&'v(P)?*1+3,.3-q3/0Ƅb6273534336E8=9:q33;ߞ<Sq>33@FADB33CE33GJH33IS3KML33NO63J3QaR]SXTV3US33WqY[Z3E3\33%3^3_3`3bjc3dh3ef63g3i3Ʋ3kplnm33o33qsr33tuT33qw̡x̊ȳz{}|333~S3̀3́̂3̃3q33̅̆̈̇3T3̉33̋̌̒̍̏̎̕33̐̑C333̓3̔3̖̚3̗̘̙)3)3̛̝̜33̞33̟̠3̢̨̺̣̰̤̥3̧̦3E3̩̫̪33̬̭3̮33̯q̴̱̲33̳3Ʋ̵̷3̶3̸̹33̻̿3̼3̽̾333J3333C333)3333333E333ƄƲ33C3363333%333F|E    uK         /&$ !"#g%8'()*+,-.  02\3L45768<9Q:;Q=>?@ABCDEFGHIJKMNOPQRXSTUVWYZ[]^w_`abjcdegfqhiqkplmnoqtrHsHHuvHxyz{|}1ỳ*́͂Ϳ͇͈͉͍͎̓ͪ̈́͆͌͊͋͟ͅ͏͑͐ ͓͚͔͕͖͒͗nK͙͘u͛͜  ͝ ͞ ͣͤͥͦͧͨͩͫͬͭͮ͢͠͡%ͯ;ͰͱͷͲʹͳ  ͵Ͷ    ͸͹wͺ1ͻͼ1ͽ18g%==w       3633b 333 E  333Ʋ3333!333363 33"3#3$33&(')*+O,J-7./012345689:;<=>?@ABCDgEgFgGgHggIgKML6N8P_QR^STUVWXY[Z K\]1w`nabcdgefghki1jglmHwHopqrstuvwx  z{|Χ}Ά~΀΁΂΄΃ ΅ ·Έ8ΉΊ΋8ΌΟ΍ΚΎΕΏΒΐΑwwΓΔg1 ΖΘΗ Ι ΛΝΜΞΠΣΡ΢8ΤΥ8ΦΨθΩβΪΫάέήίΰα γδεζηggικλμvνξοC818Hwϝ g33333333T33333333T333333 3633 3 2 33333S333333 (!%3"#$T333&'33)/*,+33-.3C3033133<v45vv67vv8v9v:;v =h>U?K@GADBC33EFC3H3IJ33LPM3N3O3qQS3R33T3V[3WX33YZ3q\a]_3^3`36bfced33q3qg36iςjvkpln3m3J3o3qsr33tu3b3w}xzy33{|33~π33T3ρ3σϑτϋυχφ33ψω36ϊ3qόώύ3SϏϐ33ϒϘϓ33ϔ3ϕϖϗSSϙϛ3Ϛ3'Ϝ33Ϟ^ϟϧϠϡϢϣϤϥϦ ϨϩϪϫϲ3Ϭϭϯ3ϮS3ϰϱƲ3ϳ3ϴϵ϶S3ƲϷϸϹϺϻϼϽϾϿS3363633333E3333333333333ƲSz3333336333C3333q3S336333333E32  333    33T333ƲƲ3Ʋ33E3q3!+"&3#$%3EƄE'*())333,/3-3.3301333G4;586373q3393:3<B=?3>3@A3CED333F3HUINJL6K3M3ORPQƢ6ST6336V\WY3X3Z[3Ʋ]363_`ЋaЄbocdjefhgiklmnp~qxrsvtuHwy{z|}ЀЁЂЃKЅІЇ8ЈЉЊ8ЌЍЮЎЛЏЖАГБВДЕЗИЙКМЪНОПРŰСТУФХЦЧШЩHЫЬЭЯалбдвгеижзйкмноп |*Kgu8  3q3333333   3S33 6333333Ʋ33 333C3!3"#3qT3%0&*'(+)*!,->./O%0172O3OO4O56""w!8O9O:O;OO<=OG=O?H@AmBmmCmDEmmFG|m|IJьKhLaMPNOOxvQUR#STwb VWXYwbZ[\]^_`becd F sfg%KirjoklQwbmn  zpqs{tx !uvwf yzGoGo|щ}~;Go;рY;ст;;уф;х;ц;ч;ш;;ъGYыYGэѲюѥяѠѐѝёћSђѓSєSSѕSіїSSјSљSњSќ S ў џ ѡѤѢѣOO%OѦѬѧѫѨѩѪ%ѭѯѮ,ѰuѱKYѳѽѴѺѵѹѶ|ѷѸ%ѻѼ|Ѿѿz N|S%vQ%QQQQsQQQQsQQQsQsQQQsQQQQQQQs%O3     |% m  vQvO"! O%#$%&'()Sځv+.,-/!1ң2;3456789: <=Җ>?ҍ@ABCRDEFGHIJKLMNPOQSToUVcWXYZ[_\]^`abdefghijlkmnpzqrstuvwxy{|}~Ҁҁ҂҃҄҅҆҇҈҉ҊҋҌҎҏҐґҒғҔҕ җҘҙҚқҜҝҞҟҠҡҢ ҤҰҥҦҭҧҨҩҪҫҬ ҮүұҲҳҴҵҶҷҸҹҺһҼҽҾҿwOuԡӥEw   |   H  B n,H2#w|f^!  |"H$+%'& ,()w1*w,/-./01u3;485|*67qq9:#U<@=1>?   AC3B1DwHFӀGlHQIMJuKL;lBuNOPHRiSTUwVwWXYbZ^[\]w_`awcdegfwhwjkHlUmwnsorpq  |Htuv|gBx|yz{  }~4 ӁӖӂӍӃӇӄӅӆKӈӋӉӊ/uӌ ӎӑӏwӐwӒӔӓ| ӕ| ӗӝӘӜәӚ^ ӛ|wTӞӟӠӣӡӢuAӤ ӦӧӨӺөӳӪӭӫӬ ӮӰӯ  ӱӲӴӵӸӶӷ>ӹ ӻӼӽӿӾ  n<:&, UH  , q ,n H qmULGY2  w   wwww,' !$"#w%&w()*+w-./01w3:456789w;A<=>?@wBCDEFwHJI  K  MQNOPz8 1RSTg!|VbW^X[YZw/\]_`a  cgHdefuhjikl&|* nԈo{pvqsr  tuR wyxH zg|ԁ}~,KԀgg ԂԅԃԄg|||ԆԇP# ԉԕԊԐԋԍԌ>ԎԏԑԒ1ԓԔFHԖԛԗԚԘԙ ԜԞԝԟԠdԢԣԤ԰ԥԦԨԧ ԩԭԪԫԬ11uԮuԯUHԱԷԲԳԴ  ԵԶ HԸԹԽ$ԺԻԼ , ԾԿ H .1     qHq  ||HHHHH  ,1Yq1HH`11Y HY *          |f>  ",,  !w#($'%  & $) K +;,2- ./01,#384567UH 9:   <D=B>?HH@A#CELF GJHI Hu KuMN P,QRՉST UoVcW^X\Y8Z[]8_`ab8denfjgih1kl1m1pqՇrstu vwxyՂz~{|}ՀՁՃՄՅՆՈ8ՊդՋՌՔՍՎՒՏ8ՐՑ8Փ8ՕաՖ՝՗՚՘ՙ{C՛՜՞՟ՠ բգ8եզշէծըթլժի8խ կմհgձղճg gյն8ոչջպ8ռսվտ88888j88888C8 n>U8  8 P     gggg 8888* !"#$%&'()=+8-.U/0A1<2838456C78C9:8{C;8=>8?@8BOCDIEFGHgJKNLMPQRST1VWX֒YsZe[b\_]^ `a gcdfmgjhi  kl npo1qr tւu|vywxgz{|}~gրցggփ֌քևօֆ ֈ֋։֊ ֍֏֎ ֐֑Hָ֢֖֓֔֕֜֙֗֘|g֛֚u֝֟֞  ֠֡ 1֣֪֤֧֥֦ wT֨֩wֶ֭֮֫֬֯^^ְֱ^^ֲ^ֳִ^ֵ^^ַFֹֺֻ־ּֽwwֿ|wHww    |  g4444444444444444www gٸ׽3$ {C{C88     {CgC8 !#"{C{C{{CT%8&,')(8*8+8-0.=/=\1284׋5k6W7H8D9:;<=>?@ABCgEFG8IJVK8LMQNOP  RSTU   8XYaZ^[\g]gg_`gbfcdegg gigh gjgl׆mn8o|pvqsr1tuuuwyx z{1uuY}ׁ~׀q ׂׄ׃uׅ ׇ׈׉׊g׌ו׍׎׏באג8דה8{{Cזשחמטליכך8{Cם8{Cןפנס8עףgץCצקר   תײ׫װ׬8׭8׮ׯ88ױ8׳׷״׵׶8{C׸׺׹8׻׼8׾׿8P\R5 Kw  uw8$$$$88uQA !   1 H "&#$gH%g'/(w)*-+, .1101=12134115161718911:1;1<K1>?1@HwBeCVDEFPGHIJKLMNOQRSTUWXYZ[\]^_`abcd fؙgxhijuklmnopqrst vwy؇z{|}~   ؀ ؁ ؂ ؃؄ ؅؆    ؈؉؊ ؋، ؍ ؎ ؏ؔ ؐ ؑ ؒ ؓ   ؕؖ ؗ  ؘ  ؚس؛إ؜؝ؠ؞؟ءأآ$ؤئداتبة#ثحج خHذرزuشصؾضغطظع $ػؽؼ1 ؿ 1w1 1w   1u $uu  $#888888 8     \60!  ")#${C%(&'w *-+,8.8/ 123457~8a9R:A;><= ?@gBPCDKEFGHIJMKLNO Qg SZTWUV 1XY [^\]  _`   bqcjdgefgwgKhiww knlmHoprxsut gvw ;%y{z |}1 ٜـَفوقمكل نه ىٌيً1 ٍ wُِّْٕ ; ٓٔ  ٖٙٗ٘  ٚٛ uٝ٫ٞ٤ٟ١٠ ٢٣8*٥٨٦٧g٩٪wg٬ٲ٭ٰٮٯٱ ٳٶٴٵwٷ ٹٺٻټٽپٿwTuuuuug  Q    V'\9 +!)" Q#% Q$ Q Q& Q'( Q Q Q* Q,/ Q- Q. Q\061 Q23\45 Q7 Q8 Q:O;<=L>F?C@BAWVcD#PEalGKHIJVJOMNO#PP`QRSZTXUVkW;(sY k[_'0\]^'0'0abcdef,\\,hoi Qjmklɓɓlnl Qpqr Qs Qt'\vڼw*xy{z Q Q|~ }V Qڀڎځچڂڄ Qڃ Qڅڇڋ QڈډڊwE Qڌ Qڍ Qڏڐ8ڑڒړڔڕږګڗڢژڜڙڛ ښwwڝڟڞHHڠڡ   ڣڦڤ ڥڧکHڨUڪ ڬڵڭڱڮگ  ڰڲڳ#gڴ#ڶںڷڹgڸgڻ ڽ8ھڿ+ 1Hw1#wwHuu|| uuK|*K     gg  K     11  1$K0$  u ! "#  %*&(' )1 +-,1./ 1=26345w#g7:89g u;<   >E?B@AHCD1>FIGH |*g J LM۳NۍOZPQ R SW T UV X Y ;[j\d]>^$_c>`>ab>$>$>e>HfgihLH>>k}lvmpnotfqr;stuwzxy< <{|Hd~ۅۂۀہH<<ۃۄ<=!ۆۉۇۈ$ۼ۾>>1>|||Ku   sKKK K$1$#s@ q ;     z)" !#$%|&|'(b*6+,3-0./Bm1245789:;?:<=>AܫB܂ChDTELFIGH;A `JKF:.MPNOwbQRTS`U_V\WZXY4[&]^wT`fabc4dewTwTgwTwTitjqknlm|op&wTrwTswTwTuvzwxy^{܀|}u~uu,u܁wT܃ܠ܄ܓ܅܌܆܉܇܈܊܋^,܍ܐ܎܏mAuܑܒlwTܔܗgܕgܖgRܘܚܙgggܛܜgܝgܞggܟgRgܡܢܣܥܤ1Rܦܧ1ܨ1ܩ1ܪ1R1ܬܭܷܮܲܯܰ11ܱܴܳܵܶ#ܸܹܼܻܺ#ܾܽܿ 11111$$> =1$]u>ȡ#$#$##$#|]ȡ##ww<:<wwwwww@XAKBECUUDU1FJG H I1; |L1MQNOP |U1RS11TUW1V$UUYa1Z[^\]u>F_`<bhcfde ; ||gU|ikj$Ulm/oݡp݃qurstv|wzxy    {} ~݁݀   ݂  ݄ݜ݆݅ݍ݈݇݊݉ ݋݌ |ݎݖݏݑݐ ݒݓ|ݔݕ  ݗݚݘ ݙ  ݛ ݝݞݟݠK @GADBC WEFbA<+;FVY@CAB<+ˢDE|*eGuHOIJsuKuLMNuYY|*PUQRYS|*T|*uuWXYZa[_\]|^|`&bcedeg߷hߋiqjknlm;ֹopz* r߁sztwuvU#xyu;{~|}Fˢ|*߀|*˃<߂|*߃߉߄߅<߆߇߈|*u|*ߊ|*|*ߌߦߍߙߎߔߏߑߐU|Uߒߓu/ߕߗߖ>Fߘ<ߚߠߛߜߞߝ>UuߟHߡߢHߣHߤHߥH>ߧ߭ߨߪߩ;߫߬;=߮ߴ߲߯߰߱߳ߵ߶߸߹߿ߺ߻߼߽߾HH YZP uP uH      YY, | Y,ZrB$    #  !V  |*˃ p  |* |* |*. !"#%9&2'-(+)*;;;,;.z/0ֹZz1Z34756˃<<8:;<=R>?@ARCaDYEOFJGHHI; |=KMLeqN=PVQ$HRS$THHUH$WHXHuHZ[\]^_`bfcde;gkh  ij  lpmn*P o  q  stuv|w|x|yz|{||}~    |;;&|||wwwUw<w|*|*uU#u;Fˢ|*   ˃H |HUHHHH;uHHH|H |fUULH< u/<HuF?Z*P A BICDGEFHuuJLKuu ZPN[OUPRQwwSTw;VX;WtYZȽ?$11$>$/u>F<11gggu<uw  ; ;  ``;A.+` s*4!: :".#$+%(&' b)*sT+p,-/0123T5;6789:$=R>H?A@  BGCDEF IOJKLM  N˃PQS]TWUV X\YZuu[#u^d_` abcef  hijkwltmn opqrsuv x}yz{|~1w    ; |g#g ; 11111 11uH KKKKKUUUUUUUUUUUUSU               11111uuuu 1*" ! #%$1&'()+, - . / 0 234H5H6H7H9m:P;<=I>D?A@BCEFGHJKLMNOQORSTYUVWXZ[\]^_`agbcdefhijklnopqrstuvwxyz{|}~o>wT wT wT>wT1wu111 $ 11uU1H@ 1     H11w U wwHu- $!"#$H%(&' )+*,H.7/201354w 6 8=9;H: <H>?HA_BOCFDEUHGJHIwHKM LHwNPVQTR S U1HW[XZ1Y1\]1g^#`hacb dgeHfHwimjklH$nupq{rystu8vw[8x{C8z|}~u!8g88               HH1111111O\==\==\\=\ gg     88gg g"f#7$%&'()*+,-./01234568S9:;<=>?E@CAB$D FMGJHIK1HKLw NQOP g1RTUVWXYZ[\]^_`abcdeghijsklmnopqrtvywx8zH{_|}~  #  #H888888  | 11  ^   gg g     ggggg g=& !"#$%g'4(.)+* ,- /201g3g59678 :;< >J?E@ABCDgFGHI KYLQMNOPRUST VWXZ[\]g8`abtchdefgimjk8l8no8pqrs{Cuv8wxyz{~|}u 11gg  KC88%u818CH HHHK g> 1#w4 K 1,     wK  >H+g !"#$%&)'(* -:.3/021 $4596 78 Hw;@<H=>?#ABECD$FGHIJoK^LMUNQOPRTS88VWXYZ[\S]S_h`abCcdefgiljk8mn8pqrstuvwxyz~{|}uu22222222* 888888 |||u/Uֹ*mAH     > F*' !"#g$%g&g1()8+5,3-./1088G28j8486789D:;<=>?@ABC E1GjH^IPJOKLMNHQRS{C{CT{CU{CVW{C{CXY{CZ{C[{C\{C]{C{C_a`8bcdgefhiktlnmopCqrsIuvwx}y{zgg|gg~g88# :|w88 111111    w1$888888 ) '  %%%%%%%%%%%%%%$ !"#&$% (8*7+,-8./0123456g89>:<;8=8?i@aA`BUCDEMFGJHI KL NOPQSR T V^WXYZ[\] _" 8bcdegfnhjklmnopqrstuvxyz{}|8~8888g   KK    48811"      !#{$`%Q&2'()8*+,-./0134@5<69788:; =8>?1AMBCDEFGHIJKLNOP8RUST{CV8WXYZ[\]^_ abmced fgjhi  klgHnpo88qrws tuv1xyz|}~811g8x  ag1T Tgg11*IT);AAT7*^..TETS.*7****l***l* *   *l** l*a**a$Tb**********Tq!"a#>$%9& '(.)*+,-/016243I578:;<=$*?K@AHBCaDEGF$*$*IJa*LMbNrtOPVQRSTUWX\YAZ[AT]`^_AVaAVcqdfeagjhi$kplomWn$$$$rstuvw*yaz{|}~Pa$*-a$**W!*$$j6%%Q  !% vvvvvvvvvv~ mmmm.UU  N%% N% N%% N N%%  N%   $VnA&OOOOOOO"O"OO !O"O#OO$%O"O'-O()OO*O+O,"~O.5O/0OO1O2O34O"O6O7<O8O9:O;OO"=OO>?OO@O"BSCKDOOEFOGOOHOIJO"OLOMONOOOPOQOOR"OTdU[VOWOXOYOOZO"\OO]O^_O`OaOObc%"%OeOfOgh"OiOjOklOmO"OopqrysOtOuOvOOwxOO"zOO{|OO}O~OO"OOOOOOOO"OOOOO#OOOOO"OOOOOOOO"OOOO"OOOOOOO"OOOOO"OOO"OOOOOO"OOOOOOO"OOOOO"OOOOOO"OO"~OOOOO"OOOOOOO"I"OOOOOO"OOOOO"~OOOO"OOOOOOOOO"~OO"~ "~"~"~"~"~"~ w!"~ O O OO"OOOO"OOOOOO"OOOOOO OO!O"#>O$%2&,O'O()O*OO+"O-OO.O/O01O"O384OO5O6O7"OO9O:O;O<=OO"?O@OAOBOCOODEOFOGOHOO"JOKOOLOMONOOOPOQROSOOTOUTOWXYtZO[gO\]cO^_OO`aObOO"OdeOOfO"hOirjOOkloOmnOO"pOOq"OOs"Ou{OvwOOxyOOzO"O|}OO~OOOO"OO"OOO"OOOOOOOOOOOOO#OOOOOOOOOOO##O##OOOOOOOO"OOOOOOOOO"OOOOOOOO"OOOOOOO#%9{5 s{5{5 s{5 s{5 _:% s s99999999999999 sv& &&T&& &&    &&    & &&& E*%*A*A*A*Aҝ !%"O#$O4"~"&(%' sO)%+,B-:.4/3O012~5%59678v;><=B4v?@ABCDFGHfIUJKLTMSNPOQRT#%VdWX Y^Z[\P]_a`bcly%eQg|huUijkO3lrmpnoUTUTq stv{wyx#OzQ}~%%%%%%%%%%rH%%%%%rH%%%%rH%%%%%%%rH%%rH%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%QCp OCS'       t                                            &r s !  }!%"!#$!!#A'(+)#A*#A,1-0./   2534m789c:Q;D <=B>?S@A|C %  }EFSGJH3ISKS LMONP O lQR uT_OUV^WX\YZ#P[yy]y6m2`ab8def ghvi jskrlmpno'0 Qq Q dtuOv%wxyz{Q|}~6%!!1 o } o/v%N }&K&K&&K&K&K&K&K&K&K&K&&K&K'\l'0Rn'Mcl }OOI$$1&&IlI$O lI%%%%%%$%%%%% %% %$  P%J Jl *!| "%#$%&'  () +,0-.d/23S4@567?%89<:; =>O ] ANBCEDFIGHpJLKMCORPQTU}VtWXYcZ[\]^_`abydefmghiyjklynyopyqrsy u vwzxyT U {|TGTe~% ! ! ! o% /7 n332%rr o2 }Q ' $Ug&ghv  O KK 3S3233 !     !A3$ #!2"# %0&(')*+.,-/124:56879 !;@<>=2?%B_CYDEFQGJHI%KNLMOP%IRVST RU|W X Z\[]^ o`palbdcefighjk|mnoqyrstu ovwxgwz|{}~O%O o !gQ|[% o{x2Bwb o oI>w  _a o4wTN7$ C'\lV 'jI !$    !%%'j";xJCxU o ! ! !%"u#*%,&'()8*+-/.01423 o568L9A:;<=?> @BJCHDFrE!GlOI v$rK%MOPcQ_RUSTV^WX[YZWI\]4U `ba o !dsehfgrinjmkBlBwOop%qrgutu&Kvwx yz }{ }|} }~ } } } }  } } } } }  }xzxu %%#PB$vPQ_%!$|#O Q SI _ _ _ _ _ _ _ _ _ _ _U#:U2UA3UPyO }Sv }},      {C{C{C{C{C{C{C{C{C{C{C{C{C{C'$ !"v#%&2 ()*+->. /20rt13495867%% }:<;#A=O?C@A BD%E2FGHJKLpMdN[OPQRSTUVWXYZ\a]`^%_ZObczejf gw hikl _mnoOqrzsvtuwxyQ{}|~CCCCQ sQOU_Uo#yU~|Ufv s }%$$::::::::"%rH~%%%:%%%%%$~%t%ZJo bCX CI b%%Q"fw     %Uy/OOOOOO O!O"OO#$O%O&O'O(OO)O*+OO,O-.OUO017243%56y8A9:;<=>?@BCVDE FRGLHIJ~~KU MQN%O%P% NwESTU 2QWXYbZ\[#A]^_`acdmQeQfQghQiQjQkQlQQ}QnoyQpQqrQsQtQuQvQwQQxQQz{QQ|}QQ~QQQQQ OmI   {o{o{o{o{o{o{o{o{o{o{o{o'qɓO   QUx'!a a:UO%OOOO""~w!OO""~w!  n G 63 )33333q333333333 3!"%3#3$633&3'3(3C*3+3,13-.33/303323334353733839:A3;3<3=3>3?3@33BC3D3E3F33HSI33JK33LM3N33OP3QR33T33UV3W_3X3YZ33[3\3]^33S`e3a3b3c3d3fjg33h3iT3k33lm33opqr|3s3t3u3v3w3x3yz33{T3}3~33333333333333333333333333333q33333T333333q3333q3333333333333333333333333333333333333333T333Eq333333'Q3333333333333333333333 33333633 3 3 33 ޑ3333336333333qU3TS H!>"5#3$3%3&+3'3(3)*33,0-3.3/33132333433T637383933:;33<=333?@3A3B3C3D33E3FG3633I3JK3L3M3N33OP33Q3RTsUa3VW3X3Y33Z3[3\]33^_`3S3b3cdn3e3fg3h3il3j3k3m3T3o3p3qr3Ot6uv6wx36yz{3|3}~366666666666666666666666666666666666q6C'%%%%%%%%%%%%%%%%%%%%>q3%% O sQO2#AUUUU     UUO%0)&% #!I"I$IO'( !*-+,% }O./%172534O %68;9:O<=%%?@rAbB[CF%DEGHIOJOKOLMTNOOOOPQOROSOw0OUOOVOWXOOYOZw0O\_]^O s%`a%cjdgefhi2Ukolm2nm  pqOstuxvw%yz {|}~V QmQQQQQQQQQQQ}%w OOvmO44%%%%%%B%%%%%B%% I Qv v OO OQ2Oy%O % } !% Ovm  #AOB  Xbm%QQQQQQQQQQ QQ!Q"#Q$QQ%&QsQ()*+,w-$./{0W1@2;O3475OO6O"8O9O:O"~OO<=OO>?O"OAKOBCODOEOOFOGHOIOJOO"LOMRNOOOPOQO"OOSOTUOOVO"XoY`OZ[O\OO]^O_OOw!aObOchdOeOfOgO"OiOjOOkOlmOnO##OpuOqOrsOOtO"vOwOxOyOOz"O|O}~OOOOOOOw!OOOOOOOw!OOOOOOOOw!OOOOOOOw!OOOOOOOOOw!O"~"~"~"~"~"~"~"~"~"~"~O"~OOOOOO""OOOOO"OOOOO"OOOOO"OOOOOO"OOO"OOOOOOOOOO#OOOOOOOOOO##OOOO"~OOOOOOOO"OOOOOO###OOO O O  OO OO"OOOOOOO"OOOOOOO"O !O"OO#Ow!%&'k(1)O*OO+,OO-O./OO0"O2T3<O4O5O6O78O9O:O;OO"=L>EO?O@OAOBCOODO"OFGOHOIOOJKOO"MOONOOOPOQOROS"OUOV^OWOXYOZO[O\O]OO"_O`OafObcOOdOeO"OgOhOiOj"OlmvnOoOpOOqOrOstuO"O"wxy~Oz{OO|O}"OOOO"OOOO"~OO"OO"OOOO"OOOO"OOO"~OOOOOOO"OOOOOOO"OOOOOOOOO#OOOOOO"~OOOOOOO"OOOOOOO"OOOOOOO"OOOOOOOMOOOOOOOOOO"OOOOOOO#OOOOOO"OOOOOO"OOO"OOOOOOw!.O OO O O O OOO"OOOOOOOOOOO"O)OO O!#"OO"~O$O%O&'OO(O"*O+O,OO-O"/[0G1BO2374OO56OO"8O9O:OO;<?=OO>"~O@OAOO"COODOEOF"OOHIPJOKOLOOMNOOOO"QSOR"OTOOUOVWOXOYOOZ"O\oO]^hO_`eaOObOcdOO"OfgOO"iOjOkOlOmOOn"OpOOqOrOsOtuOOv"~Oxiyz{|O}~OOOO"OOOOOOO"OOOO"OOOOOOO#OOO"OOOOOOOOO"OOOOOO"OOOOOOO"~OOOOOOOO"OOOOOOOOOOO"OOOOOOOO"OOOOOOO"OOOOOOOO""OOOOOOOOOO"OOOOOOOOOOO"OOOOOOO"O%OO OOO  O"OO O "OOOOOOOOOO"OOOO"OOO "O!"O#O$O"O&>'/(O)O*OO+O,-OO.O"071O2O3OO4O5O6O"8OO9O:O;<OO="O?M@OOAOBCODJEHFOGO"~OIOO"KOOL"OONOPhQOORSOOTUaOVW\XOOYZOO[O"~]O^O_OO`O"~bOOcdOeOfOOg##O"Oj,klmno|pvqOOrsOtOuOO"wOOxOy"~z{O"O}OO~OOOOO"OOOO"OOOOO"~OOOOOOOOO"OOOOOOO#OOOOOOO""OOOOOO%"%OOOOOOOO"~OOOOOOO"OOOOOOO"OOOOO"~"""""""""""OOOO"OOOOOO"~OOOO"OOOO"OOOO"OOOOOOO"~O OOOOOO"OOO O Ow! O OOOOOO"OOw!OO%OOOOO"O O!O"O#OO$"OO&O'(OO)O*+O"O-w.?/OO0182OO3O4O56O7OO"O9:OO;O<O=O>O"@]ARBOCIODOEFOGOOHO"~JNOKOLOMO"OOPQO""OSOOTUOOVWZOXYOO"~[O\OO"^d_OO`OabOOc"~OelfOOgOhiOOjOk"OmsnOoOOpOqOr##OOtuOvOO"~xOyOOzO{O|}O~OOOOOO"~Ov ! *|   $|%  QmQ _OQQQQQQ$%%%%%VV%%%%############## N%% N%U _Q2  K  K       K K  v r }  !V"2#$*%(&' )+/,.-  01g 3 4N5rt6=789:}|;<V/V>V>>A?C@&>BHCEDVMFGL4IK4J4|LM|}OPSQSRSUTCWXYiZ_[]\O ^`cab%Qdefhg N~;jklmnopqyrstuvwxz{|}~~5~5m%Q _% ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! 2yr}m% } w!w!Ow!OOw!{{C{ owv% %% n% }> omrkk !r    #A  _|%r } s0-r !"#$%&'()*+,./V\12E3OO45A6OO78OO9:O;O<O=OO>?OO@Ow0OBCOOD"OFfGWHQIJKNLMVkIOPVzWRVSTU5X^Y[Z\]_a`bcdegvhniljkmoqprtsu!wx|yz{}~*}~t]V>R`&Q}T4V!]~&>i&> &eQk ~4ٻ}CCV$ii]r  ~~*~~** *vQ~5YUVU   U  Uy%V }!v %"D#$L%?&3'(O )%*,+CCC-C./0C1C2C4>5 67;8:9 < = > @JAG#BCvDvEvFvvHs IKmMaNPO%QVRST#U%WX[YZ\]_^`!\becdfghwipjmkl !no qtrs(uvlxy|z{q }~ Wv  } v  }$ K K%O%y%2%%%%;( m{~$ oI> o o  |$3v%3O%% _wS      S%ffff%VV !V"#$V&5'0(,)V*+VV-V./V12V3V4VV6?7;V89V:V<V=>V@AVBVCVE2FGoHYISJLKMNO!PQR!w!TVUWX sZd[^\]v_c`abehfgQ%ijk lmnOpqwrust2 vx}yz{|Oq~%%KKKKKKKKVQ#A#A#A#A#A#A#A#A#A#A#AZ#AvQ*222w2 _ J9     s   ~*Q#     # !"3$/%+&)'(V6n*'V','-.'005132p4pp678pp:D;A<=>?@BC$vOEGFHI2K^LXMUNTOPQvORS QVW Y[ZvU\] %_k`hagbced f{~vij%lwmn optqrsɓuvxyz~{|}WW; Q wEwE Q Qaa% OOO%k%% %3m% K   q &%QO||z 'M QwEyyyyyy[ly^|y''M%O%vv~%O s%v2%  o o  o3O3o3o3Co.O%-%" m%!O#$%&)'( }O%*+%,v.4/10Q23|5867O 9:%QO<=@>? AB*CSDP E FG H I J K L M N O & Q  R  zTUXV W g SYZ [m\bX]^&X_X`a&X&&cdh&efKgK&KKiKjKkKlK n{ouKpKqrKsKtKvw%xy%z%%|}X%~%X%%XXXX   g & !222221222W22w2222w|%%%%%%%%%%%%%%$222W22n222n22W#2%W2'WAWPW_Wn% QCOQO% } }tOO   s     V8heca !\"?#:$7%.&('),*+qqf-q/0E14233Cq56)q833933;<3=>T6Ʋ3@QAMBFCDE3GJHIqKƢL~3NOP33RSETWU6VbXZYE[3qq]^q_`qTVbT'dq3fƢgƲ3qijlkq3mƲnopqv3r3st33u3w3x{3y3zq|}33~3q3q33q333OTqTS{{{{{{{{{{{W}{{{{{{{{{{W}W}{W}{{W}{{{{{{{{{{{{W}{{{{{{{W}{('33333T3333333EEEEEEEEEDZE3T333T3q3333333q qEEEEEEEEEEE  E E EE'qS33S33T33$"3 !EJ3#3%&3S3)*+,X-2.0/q13J4>5736389;:Eu<=WWEuE?IE@DABFDCDDDEDEDGHEDEKSLQMPNOTR)TVUbWqYmZ`[F|\S]^_~albcdefghijkS qnop|qvrts 7ҏ F 7uXwy4x 7|[z{|L 7 7}~ 7444 7 74 7{  7444 74 7 F 7 F4 d 7|L 7"0 7 7. 7 7 7 74& 74 dWWWWWWW44. d4 d4 74.4|LWG.|L4 F 74444WҏWW F444G4zh Fq|[ 74 7|L$  3T 3C C CCCCCCCCW333Ʋ33 333!3"#33Ʋ%.&)3'(33*,3+33-3q/20135436739:33;<N3=>33?@33A3BC33DE33F3G3H3I3J3KL3M33O33PQ33R3ST3U33CW33X3Y3Z3[\g3]3^3_`33abc3deCfqE3hinj3k3l3m33o33pqyrv3stu3W33w3x3ޑz{}ޑ|3G~X XX+ނޑX:XIޑXX  a\a00 000z=z=z=z=/Mz=00Xhz=z=z=z=/M/M/Mz=/Mz=z=/Mz=/Mz=Xh0000z=z=0z=0z=z=0zz0000z0e' 00000 >>>>  :u:u>>:u2 0000002#"222 !22$%&22(<),*+-20.0/0010634586709:;0=I>H?z@CAB00DEFGz=0JYKTL2M2N22O2P2QRS2002UVWXz=Z[\a]_^0`zbcdzfghitjkpl00mno:u8q8>r0s600uv~w{x0y0z0|0}0B00000z=000000z=z=z=KKKzz=Kz=z=z=z=z=z=000000z=00(z=>KKz=00z=>z=>>00000z=0KKKK 0000z=z=z=z=/M/Mz= z   0zzzzzzz">>>! >>>#$%&'z)E*C+5,z=-./02z=1z=z=34z=670z=89?:;z=<>=z=z=@Az=Bz=z=D0FIGH0KJ[KZLQMNPO00RUSTz=0VWX0Y 00z=]i^_d`abc1efgh1jzklomanptqrs*uyvw*x**$a{|}~*a$$$*$W*@****  )a!a$$A *W*a  rPr }S}4 Z       *O  *     K z  ' * *   a   & $ aa  a aa a ! "a #a $aa %aK ' ($. * K + , - . / 0 1 > 2 3 4 5 6 7 8 9 : ; < = ? @ A B C D E F G H I J L  M  N O P ^ Q R S [ T Y U V* W X Z$$ \ ]*  _ ` m a e b c d6 f g j h iA2 k l66 n { o u p s q r62 t6 v y w x66 z |  } ~    26  !  *                 w    w         w       w   w     w          w              w             w           w         wa!         *   a  *  a      * **ċaW          * *    *  *  l  <   &a    #  a ! "W! $ % 'a ( ) / * - + , .$ 0 1 2 3 4 5 6 7 8 9 : ;  = > I ? A @*- B E C D*! F G$ H$ J Z K L M N O P Q R S T U V W X Y [ \ ] ^ a _ ` b c d e f g h i j k m p n o* q r  s  t u* v x wW y  z } {# |#1# ~ ## #     1!W     !*   *    .$a  '  ' '''     '  '' ''  a  a         * a    * $        W*         *     $ * *   $ $ $$   t t  t tt t     t   tt tt t tt t tt   tt$ $ $    H             C   ƲƲ q    qƲS   C    EF| F|  F|F|  F|   F| F| F| F| F| F| F|XvF| F| F| F| F| F| F| F|XvF| ! * "3 # & $t %1HOo ' (Oo* )X* + , : - 4 . 1 / 04 F4 2 34g 5 7 6.g 8 94|L4! ; B < ? = >4 7 @ A44 C F D E G. I  J  K LTq M3 N O  P x Q _ R S Wf T Uf Vfff X Y \ Z [fX߮ ] ^fX"X ` m a e bf cff df f if gf hf j lf kf"E߮ n w o t p rX qX sXSq uSq vSqXXEE y z"X { | }f" ~ " XXE ESq  f   f  f      Sq f    Sq         C         C           C C CC C߮  C C C C   C CC C C  C        b               ߮       ߮ ߮   ߮   ߮     )   q         f        fff f   ff E߮   Sq  XXXX    EE  q   8       qb  /   #  C  !E "EEX $ %X &X 'X (X )X *X +X ,X -X .XƲX 0 3 13 23 43 5 6Tq3 73 9 C :Ʋ ;T < = >) ? @T A BEƲ D E \ F H) G I X J T K Q3 L M Nq O3q Pqb3 R3 SƲ3 U3 V33 W3Ʋ Y [b Z' ] ^ n _ e ` b3 a3 c3 d33 f k g i h3 j333 l3 m3 o y p u q s3 r33 t33 v3 w x63 z }3 {3 |3 ~   Ʋ33 636        E   q   3   33 33 3 3 3 3 3 3 3GE  E EE  EE ECg          T E6  Y   Y SqSqY q 3    Ʋ b  3    :            U   .       .  4 |L  |[4 U      Xҏ U  ҏ    W U   UW4         U F  .|L      |L|L  |L |L|L |L  |L4|Lҏ  |L.4      |[ҏ    F         7 4    444 4  '  4   |[ 4 44  !   4.4  4 74 " $4 #4 % & d44 ( 2 ) . * ,4 +4 7 -44 F /4 0 1ҏ& d4 34 4 7 5 6ҏ44 8 944 ; v < ^ = Q > D ? A4 @ҏ|L B C44 E O F4 GW H|[ I|[ J|[ K|[|[ L M|[|[ NW|[ P4 F 7 R X S V T U.44" W44 Y \ Z [4.qzh ]W4 _ j ` c a4 bҏ4 d g e f4|L h i 7ҏ k q l n d m4 o pו d d r t d s d u|[|L w  x  y  z |W {4. } ~44ҏ4   F     7 4 7 7 ҏ    4 U  44q       4 4 4 4 44  4 4 4۟44  7 4  4|L4     4  |[.  4 4  4             4 7  4|L   4   7zj      4  4     d  4         d 7   7X4     7  44 4   4  4 U4         4{  F ҏ4    U|L  4 4 4 U  4 4 44 U 4 4 444444I 0 & 4  4|L$44YGY,Y<jYKYZYi44!YxY zhY"0"#nYY% U 7'+(*)4ו4,.4-44/41>273544 U!!648;9:ҏ4ҏ<=4 U4?E@CAB d44D4FGH4 UJ^KSLRMPNO4q4Q4TYUW4V4X4Z\4[ 7 U] U|[_v`gadbc4W dXef|[ d^Whkij U U|[lumnopqrst4w}xzy44W{|4z4~4 d|[|[q33633qT363E33q3qY3T33STdT3TqƲqq'3333qKhqq333C3363ƲCS33333333T33T33333bq333Ʋ336C3S3T33qqTq3Cq    Ʋ3q3 33q߮߮߮!"#$X$%&U'9(5)!*+1,$-/.0W23$4687:;<K=$$>$?$@A$$BC$D$$EF$$G$HI$$J͌$LPMN$OWQRS*T*VWaYZ[u\b]^`_aW$cdmegfaahli!jkXnsopqrWXt$!vwxyz{~|}$JJYW**Yl:Y4~~~~~~~~~!&W*A*A*AYt*aP*WSa*aa     .a$ a!a"#%&a')(aa*ea+,M-./>0!!1!2!34!5!6!7!8!!9!:!;<!!=!!?@!A!B!!C!D!EF!!G!HI!!J!KL!!N^OUPQRSTW*V]WaXaY[Z*\a_`*abcdfgh{ikjaa$lm$n$$o$pq$$r$s$t$uv$w$x$$y$zZ$|}a~$!$JJZ\**aaa*c*$ a!a!   r  r$aH !"$#*%E&='-I()*+,<./I09162435I78I:;<>C?@ABDI<FG*IJKLMNAOPiQR_ST[UVWXYZ\]^`afbcdegh$kwlt mnopCqrust!vOwxyz{|u }~#gg|gH  gwKwH$g$HgKgH$H              11UHK1w1HHYHU1#g   H  1H#gHg11/"11>H !1w#$%'&H(,)*1+H-.0;15234H1678g91:H<L=E>@?HACB$DFIGHwJK MNwPQRSTaUZVXW Yw[]\^_w`1bgcedfghijkl1m{ntoq1p1rs11uxvw11yz11|}~111111111 u>$|Hg u1  |wHHwH U#uHH$>gw     1  +1Hw' !"&#$%ggg()*,;-9.8/7031245u6gw:<>g= ?@HA$B |DEFGHqI^JPKLMNHOQ[URSWTUVXYZ\] _a` #bfcdeUgnhkij lmwop  rstuvywxz{|1}~HH H  UK #gH11111111111111H|ug8888  88 8 8 888888}!rgH H!&"#$%w'C(Bw)*+w,H-;./0412 3 586 7 9:  <=>?@ A DGEFHgITJMKL#HNO PRQS|wHUjVWXHYwZ[\]e^a_`bdcfghiknlmgoqpHwstvu  w{xwywzw|}~ 1#  wHH$>Fuw HFw 11KF888w        !X"<#$.%&+')(u*,- /6012345789u:;u=>N?H@ABCDEFGI1JKLMOPQRSTUVWYZ[n\]k^_e`uuabucuudufghijulmopqrstvuxyz{|}~ g gg  8888888888888̰4     $888888888g8 8!g8"8#8g%&'()*+,-./0123|56Y8789F:;8<=>B?@ACDEuGHIJKPLMNOgQURSgT VWXgZ[{\_]^`acb8demfjgihkl ntorpq  Ywsu1uuxvwHH yz |}~8{C8  ggu8C,!e9n%%%% v vm%%v }q4 OS%    %O2O }("% !O#&$% }'%y)/*,+-.%0312mv%5S6E7>8;9:<= s2?B@A%CD QFLGJHIQK#AMPNOQOQRvTcU\VYWXZ[%]`^_vQab_ s%djegfhi%knlm &op% rstu|vywx|%z{y#v}~ Q"vO%%QyO%%O%%Oq%Q%%%% %%v%Qv% QQ !3S %%%v%, %% %v:&Y&Y V%O s %%%    :%%Q }'%I } &$! v"#%)&( 'Q*+y%O-O.</5021m34_O66978%|:;Q" =H>@?OAG%BCDEFwE ILJK%CMNY P_QXRUSTO!VWY\Z[ O]^% _`gadbc#AO ef  hkij%lmo pqrsztwuv Qxy O {~|}OO$Oz*%#PCly  }|mvwx2  s sRZ$m8)vZ4%O_% &%QvM#dv%%OO m% o%yQ     OS} sx!f"D#3$,%)&'Q(z|*+S &r-0./ sv12SO4;5867%9:O<A=>%#?@WBC%EXFLGIHOJK%_MPNOvQWRSVT  U 2Y_Z][\O^`cab|de%ghipjmklOOno }qr~sOt}u:vw:x::yz:{::|ZB:)#A%O%Ovxn OS }_O s%% vݗ Q QZWZe ZsO$E _%OO3OOQ%O_  s%%O% ] } svv% OO)    Qm% Oɓzm%Q!% "$#%Od%& !'(  }*7+2,/-.% }m01O354Q%68>9;:|<=%?B@A%CD|OFGHnIgJQKNLMOmPmIRfST]UOVOWOOXYOOZ[O\OOw0^O_O`OOabOOcdOOeZOhkij%#Almvoypvqurst%  wx%z}{|O }~ sQ2%O%2 mUmvrV%Ort%|vz s r } Q%#P4 Q%Ov OO%[Ov$OyO %# s%O K>10  $ v  vvvvvvvvvvvvvvvvv v!vv"v#v%(v&v'vv)v*+,-./2=354W6Q7:Q8Q9QvQ;Q<Qv s?H@GABCDEF#P#IJ" }zLUMPNO|QTR|SP|_VXWYZUQ\]l^e_b`a2cd %figh$OdjkmwnqopO%rvstu%O|xyzQO{y|}yy~yyyyO%%O _%Os  &#O%! P}b% }% % Z&sO| !O#OUv O  &OcQO%OO#AO"OO"##O#"O    #Om % Qm(!OOy  r"%#$&' %%)2*-+,%v.1/03645v }78%:;<=>k?O@IADBCq|#EFmGHJLKOMNO }%PbQVRS" %T }UZ }W^X[YZ%O\]Q_Q`auzuchdefgO%ij }l{mtnqopmrsmuxvwvyz% }|}~%QO  O_%xwx }%mOv&K&Kv%v2m%vmZSWO%OW9m 2%Y#A ! _OQ%O%  Qy Qy)%  # QOv }        !"%y#y$y&'(yy*2+.,-Q/0O 1R364578$v :v;N<C=@>?%ABvDKEJ%FGH%ZIɱ%LMO%%OXPUQTRS6 !|VWvYsZr [\i]^b_`aWcdefghjklmnopqtAtuUv*wxy|z{mO}~Ov%$  %' %SO%%QOC%vO%OQO#AO:%: u O sr% mv !%vmvvvvvvvvvvZYh%% }m %m{Q   O   } %  N%##O""OS%/&# mOW !B"Bv$%QO'*()%+,-.ZZ[[091423O5867sst:=;<%m }>?%@AB _[ _[DEdFUGNHKIJLM } ORPQ_%STOvV]WZXY %m[\2^a_`vbcOefmgjhiO%kl2% sn|o{pqzr[stuvwxy[Z[.Oo}~ !O !O%> } }%O *%OOO% ! OO[=%30[L*O_q%m%%    {-  Q'zOO2%v  :   }[Z p}UQ OOO mO& #!"O$%#'*()  s+,v .Z/B0;18273465[iUy9:v<?=>%OQ@ACPDGEFHLIJK Q QMNO%QWRS%TUVWXY }[l\c]`^_%mabdgef%d hkij mtnqopvrsmuxvwvyzz  ! |}~|rr|Q &G %m%%O%O2~ O%     }    }     } |2# $ }% O  } } O%mv% d!$ O%Qvm }      2 %    QQ   Q % :%v      m  %    O   wQ  Q% !  " m # N $ 7 % . & ) ' (% s * - + ,  !O / 4 0 3 1 2 QO 5 6 8 B 9 @ : ? ; = <'x >Iq% A C F D E% G K H I J%O L ! MZ O ^ P W Q T R SQ U V !% X [ Y Z% \ ]w%  _ f ` c a b s| d e% g j h i%O k l n  o  p  q  r s  t u  v ~#[ w#[ x y#[#[ z {#[#[ |#[ }#[[x#[  #[ #[#[  #[ #[#[ #[[x#[  Q%  O O  }      Om   }    2  Q%      xn          Ov !           u&%  O%%         %      *O  %O !             O    %_  O         $O    m   ! !    O   Q%      # 3#u   |P    !!!!!!!!OO! !! ! ! ! w!U !!5!!'!!!!!!O%!!!!!   }!!!!! 2O3!"!# }!$%!%!&c!(!/!)!,!*!+ m!-!.!0!3!1!2 sv!4 !6!D!7!>!8!;!9!:Q!<!=O!?!A!@!B!Cmv!E!^!F![!G!W!HQ!IC!JC!KC!L!M!RC!NC!O!PC!QCC!SC!TC!UCC!VC!X!Y!Z!\!]% }!_!b!`!a!c!dv!f' !g$k!h"!i!!j!!k!!l!{!m!t!n!q!o!pQ!r!s!u!x!v!w%$!y!z!|!!}!!~!!!!!O!! Q!!%!!O!!%v!!!!!!!! !! s!!!! #!!!!Y!!!!!!QQ!!OvOv!!!!r|!!% s!!!!!!!!!! }O!!|v!U!!y |O!!!!O!!!!!!!!!!!!fO! Q!!!!m!|!!!!!!!!!![!!!!S!!%%!!!!!!%!!!O!!!!!!O% !!!!v!!Qv }!"m!"9!"&!"!"""" m"""3>""" "" " OO" " O"O"O"O"O"OO"w0O"""" 7 U 7""""""" "#"!""Oyɓ#P"$"%'MwE"'"0"("-")","*3"+ %$"."/%2"1"6"2 s"3"4"5%v"7"8% s":"U";"N"<"A"=">m"?O"@'"B"M"C!$"D!$"E"F!$"G!$!$"H"I!$!$"J"K!$!$"L!$"O"R"P"Q&"S"T% s"V"\"W"Z"X"Y }P"[%"]"j"^"i"_"`"a"b"c"d"e"f"g"h["k"l"n""o"|"p"v"q"s"r%"t"u v"w"y"x"z"{ v"}""~""" N"""Q""""""%%""""""""""%""% }#""""  "" }"""""""O""""""""""Z""%%" """" %Q""%v"#"#A"# """""""" O"" }"""""""""""Y"""""""""""""" _%""""""""O#"""#""YoYo }""""%"%""#"""""""}""}"}n}""}#}##}n}#}##### # # }# #######%# R#/ R###### ##||m!##2# #/#!###"~$#$#%#.ҝ#&#'#(#)#*#+#,#-~#0#1Ov#3#9#4#8v#5#6#7  d#:#=#; #<#>#?#@%u2#B#g#C#V#D#O#E#L#F#H#G #IS#J#KO#M#N%2O#P#T#Q#S#R|mO#U #W#]#X#Z#Yv,#[#\m#^#d#_#cy#`#a#b[: }y#e#fV#h##i#|#j#y#k#l#m#w#n#o#p#q#r#s#t#u#v%#xQ}Q#z#{%%O#}##~#2######## }##wE###O#####I6|##|#OIO#|O|##6##O#O;O|######_## !%#$ ########## }%##Om_###### %%#3 s######v%##O####Q#2#K##########[##%##################[###### }#m#m#m##m#m#m#mm##mm###A# Wmy#$####O##uuu#$$$$$$$$$ $I$ $9$ $$ $$$#$%$$  }$$$%$h$$:ڬ$$$$v$$8%$ $!$*$"$#$$$%$&$'$($)$+$,$6$-$0$.$/ $1$3$2 $4 $5 $7 %$:$D$;$A$<$=%$>$?$@O%%$B$C%%v$E$G$F%$H $J$Y$K$R$L$O$M$NQO$P$QQB O$S$V$T$U sO }$W$X% $Z$d$[$a$\$]$^$_$`}C$b$cO%$e$h$f$gv6$i$j%$l%$m%5$n$$o$$p$$q$}$r$w$s$v$tx$uxw$x$|$y$z${ U$~$$$$m$$ }|$$$$$$ s $$$$$$$$O$$$%$$% $$$$$$$$$%$$%$%$%$%$%$%$%%$%yQ$$OO$$$$$$% }%$$$Qy$$$$$$S$$$$$$$$$$ Q$$_v$$$$O$$$ $$ %%$%$%$$$$$$ O%$$O$%$$$$$$$$$$$$$$$4y$V$$$$$$$$$$$#P'M$wE#P$$$$'M'>Oy$$VwEOV$$$%%y%%|%%8 8%%%% % % v% % *Q%%%%%%%%$%%%%%%v%%QO %%!%% Q%"%#O%%%-%&%*%'%($%)%+%,| %.%0%/ %1%4%2%3%6%%7%V%8%I%9%B%:%=%;%< !%>%?%@O%A& &%C%F%D%E &%G%H%J%P%K%N%L%M%O%Q%T%R%SaOO%U%W%q%X%_%Y%\%Z%[OQ }%]%^%`%n%a%b%c%d%e%f%g%h%i%j%k%l%m[[%o%pOO%r%y%s%v%t%u%w%x |%z%}%{%| &KO%~%vv%%%%%%%%%%% w }%%%%%%O %%%%OO%%O%%%%%%O%%%%%%%% Q%% !% %%%%%%%%m%%%%%U } %%%%%%%%%%%%%%%|$%%%%%% sv%%z%%%%%u s%%Ov%&p%&!%%%%%%%%%%%v%%%O%  }%|%%%%%%%%%#P Q Q%%% %%vzvO%%%% %% %%%[%[%&%%%%%%%|%%%_!$&&&&&&&%Q&&& && & v& && %%&%&%&%&%&&%%&%&%&  }&& }&&&& _&  &"&N&#&;&$&2&%&/&&&.&'&( s&) s&*&, s&+ s&- s&0&1%m&3&6&4&5O&7&:m&8&9  @&<&E&=&@&>&? &A&BQ%&C&D &F&I&G&H s%&J&M&K$&L$%Q&O&^&P&W&Q&T&R&SQ%&U&Vm&X&[&Y&ZO&\&]Om &_&i&`&f&a&e&b&c&d F4%&g&h&j&m&k&lO }v&n&o%%O&q&&r&&s&&t&z&u&w&v v&x&y&{&&|&}#Am&~&&&v&&&&&&&&&% s&&v&&&& &&&w&&&&&&&&%%&&|&&!&&&&&O &&&%H&& %&&&&&&&&&&vv &&&&O&&I&& s&&&&&&&&&&$3&&v &&&&&&&& ٝ&&  &&&&&&&  s&&O2&&&&&& &&%&&&&&&&&%&& s&&  &|r&&&&&&&:&&~5&'&'&&Q''2''''%'' O' ' ' [\ \')f'(/''''R''3''"''''''% ! ''''''O' '!O" '#'*'$'''%'&q'(')Q%'+'0','/'-'. Q%'1'2% s '4'B'5'<'6'9'7'8|%':';v %'='?'>#'@'Ad|'C'I'D'G'E'FO'H%%'J'M'K'L%v'N'O _%'PO !'Q !\*'S'u'T'c'U'\'V'Y'W'X'Z'[%O']'`'^'_:'a'b } s'd'l'e'h'f'g0%'i'k'j W'm'r'n'q 'o'pG 's't'v''w'~'x'{'y'zQ%'|'}v'''' '' } ''''''''Ov'''''''%O '''''''#P''|m''''''''''''#A'''''O Q''O#'''''OOy''|'''' s%''O%''''''''O*%''''''''''2v''''''m'' !v''''v }v'''O'!'( ''''''''Q'%'%yQ'' '''uu''''Q '''Z''''''v sm''%((((  s(((((y( (( (( (( ( }((Q(((( s((O%((#(( ((( }(WW (!("UO($(*(%()Q(&('((&$$&d(+(.(,(-l(0((1(u(2(T(3(D(4(=(5(:(6(9(7(8 (;(< }:(>(A(?(@OO(B(C(E(K(F(H(G(I(J O s(L(O(M(N(P(Q(RO%(Sy$%(U(f(V(`(W(](X(Y$(Z([(\zֹ=(^(_(a(d(b(c%(e }Q(g(n(h(l(i(j(k$(m(o(r(p(q*(s(t%(v((w((x((y(|(z({(}(~O((((((( s s%(((%((((((((Qr((O((h(((( }(( }((((((((O ((%((((Q((((((((((((% }O((((((%(%(Q((u((((%(((W(((((( ((((( }())((((((((((vO((((((O((_((((((%((v!((((_ s%((%%() ()(((((*(ݲ !((%)))))))Vk)Zv)) %) )) )) )Q)) }))&))% s)))$\8))\F)\F\F))) )\F\F)))\F\T\F\T\F)!\F)"\F)#\F\T'\b%)')(% %)*)H)+):),)3)-)0).)/ oQ)1)2"~ })4)7)5)6$)8)9);)B)<)?)=)>%%)@)A )C)F)D)EO%)G%%)I)X)J)Q)K)N)L)M o)O)PO%2)R)U)S)T }O)V)W%)Y)_)Z)\)[ s%m)])^mv%)`)c)a)b % })d)e%O)g*)h*>)i))j))k)y)l)s)m)p)n)o )q)rv)t)v)u)w)xOQ)z)){)~)|)}))))))))))))))6))))))))\p)))f))f)))))ff))))))))))) )))) m%))% }))))))%)\))%O)))))m))O)))")\\")))"6"m)))")"))\"4))))))\\\\))\w!W))))I"I$V)O|"))))))))))M))O))))))O))Q))2))))%))O &d)*)*)* )*)*%))*****Q@O**%* * * *  }O****** _ **W**Q%**** sQ s*UO**/* *&*!*$*"*#  Q*%O*'***(*) Q*+*, } }*-*. Q*0*6*1*3*2 *4*5" %O*7*;*8*:*9*<*=%*?**@*s*A*c*B*\*C*H*D*G*E*F%%yQO*I*V*J*K s s*L s*M s*N s*O s*P*Q s*R*T*S s s s*U s*W%*X%*Y*Z%*[%y$%*]*`*^*_%*a*b }m*d*k*e*h*f*g#AQ*i*j#*l*o*m*n  !%*p*r*q}Tp*t**u*|*v*y*w*xvQ*z*{Q%*}**~*%**O******_x*m****O s* **********O%*** **  ** *  ** *  * ****O**v****** _**#A****%m*** **mm**mm*m*m**m*mm]*******%****** * !****** %*******#P Q****m}**%3*+*+8*+********%O%*O**** %**v*+***%*+**uqO++++%O++ s+ ++ ++ ++ + Q ++'O++++O++Ov++%++++%+m+  + +!%+"+#+$ sz+&+5+'+2+(+)+*+++,+-+.+/+0+1s+3+4060+6+7%+9+a+:+I+;+B+<+?+=+> s%+@+A !S%+C+F+D+E%%+G+H_2 s+J+Z+K+N+L+M +O+P+Q+R+S+T+U+V+W+X+YV+[+^+\+]%rQ+_+`O%+b++c+n+d+i+e+f+g*+h!+j+kO3+l+my#P+o+r+p+qO+s+tO+uOO+vO+w+xOO+yO+z+{O+|+O+}O+~##"~+O++"w!""++++++S++++Q++++++++++++++ ++%++++\O+ ++++++%#A++v%++++v++2W++++++++++2++%++++ sv++O++++++3+AQ++ sO++++O ++%Q++++++++++ }%++++|$8|++++v++O++++++v+d+dd+++++%O+++++++++  v%+, +,+,,,%,,v !,, ,,O, , q, ,,,,,O%,,%,,,,v ,, },7,1#,.,-U, ,,!,q,",I,#,7,$,0,%,-,&,*y,',(,)d%,+,,u,.,/ s,1,4,2,3,5,6 }d },8,B,9,?,:,; Q,<,=,>W:,@,A &,C,F,D,E%,G,H%v%,J,\,K,U,L,R,M,NOv%,O,P,Q9,S,TqO }%,V,Y,W,X Q %2,Z,[  v,],c,^,a,_,`v|,b,d,g,e,f,h,p,i,j,k,l,m,n,o ,r,,s,,t,z,u,x,v,w|%,yO,{,~,|,}O3,,O*,,,,,,,,,m ! ,,,%%O,,O%,,,,O,,,vC#,,Om#,,,,,,,,,Q,vQ,,,r,,%Om,,,,,,3v,,,wE4Gl,,Q Q,,,,%,,,R,,%Q !,,,,O },,%O,- ,,,,,,,,,,m$,,,,,,,z , },,,,,,%r%,,,,,,|Ov,,,,,,,,,%,,gOv,,,,,,#P,,%m,,,,%,, !,,%,-  ,-%-]-]]--]]--]]-]-- O]O- - %%--4-- --------! -- s%----%--Q-!-(-"-%-#-$O-&-' O-)-,-*-+  }---.-/-1-0%-2-3 44%-5-E-6-?-7-=-8-9m-:-;-<XIXIO->O -@-B-A }-C-D~5 -F-L-G-Iv-H-J-K %-M-P-N-O }-Q-R-S-T&&K-V--W--X-y-Y-j-Z-c-[-^-\-] } -_-b-`-aBvB-d-g-e-fv%-h-iyv2-k-r-l-o-m-nv%-p-q6-s-v-t-u-w-x%-z--{--|--}--~#A-y%--O%---------%------v----O-v--%- }%-------------%O--3#----vQ-- !------O---v ---- ! ----------v---- ---- } - -QQ%-'Q-----%-- s|----|O }-- }O-.4-.-------- !r--% s----v- - --v  ------v --!$-.....%Q...... . . . . %.......O.....,.. .%...%... .!.".#.$x.&.'.(.).*.+].-%./.1.0_.2.3v%.5.`.6.S.7.>.8.;.9.:%v.<.=v.?.B.@.A%.C.R.D.E.F.G.H.I.J.N.K.L.M.O.P.Q|.T.Z.U.W.V.X.YP2.[.^.\.]._%v.a.v.b.m.c.i.d.e3rt.fS.g.h }v.j.l.kO} Q.n.q.o.p s }%.r.s.tO.uO.w..x.{.y.z .|.~.}}OI....O..W#A..% }././,............O..$V..v ....m........v....F]. }.. 3O.............Q }m...]=.]L]=... ..%......%3..m_...%v..ױ..........O.......... ..%......  ..%O......m ..%......v.. % %v./ .///////#A!$// // / / Y!//////mO///$}//'//&////QO //// /!/"/#/$/%][O/(/+/)v/*vO/-/k/./Q///C/0/9/1/4/2/3 }vO%/5/8q/6/7v/:/?/;/>/</=vzvO/@/Bm/A"~Iq/D/M/E/H/F/G%v/I/J/K 2/L]j2/Nv/O/POvv/R/Zv/S/T/W/U/Vv /X/Y%Q/[/e/\/_/]/^ !O/`/av%/b/c/d 'y/f/h/g%/i/j%|/l//m//n/v/o/r/p/q }/s/u/t%/w/z/x/yvQ/{/~/|/}/8//]y||]y//////O%////////O///////////ppO// s%v////%/ //%//!//////  //K }//////%3/////>/0U/0//////////O/R//Z4//OO%////%/////ww//////Q/ }//////%//O%O//////////// "o///% } }//%/%//_v%/0////O//O0000 s00pd 00,0 00 00 00 00 00v$ 00 0000 !$00!$ 00#00 00v0!0"v0$0)0%0(0&0' n % }0*0+O0-0D0.060/03000102p0405 !070A080@090:0=0;0<$$0>0?${`${`0B0CO0E0M0F0I0G0H _ wE0J0K 0L0N0P0O0Q0R0S }0T]0V00W00X0t0Y0`0Z0]0[0\0^0_ 0a0q0b0c0d0e%%0f0g0n0h0k0i0j$yB:u0l0m~ Ny$0o%0p%yQ0r0s%0u0~0v0{0w0x0y0z0|0}O0000000Irv00000000vO00 _ !O00000>0000000000tt%000QvQ00% %v000000000000000000500000005000000000500000005%.00000000]]00%0000000000 _00r%0000%00} 000000%%}0000]v000 00%01 0101000p1}Tp11O 1111 s%1 1 v1 11 11vO%11% %O1111v111v1111111 1!1"]1$41%21&2 1'11(1Q1)1;1*141+1.1,1-1/10OU111213151816178rt191:1<1F1=1@1>1?v21A1B 1C%1D1E } |1G1J1H1Iy U1K1M1L Q%1N1O1P|}]z1R1a1S1Z1T1W1U1Vrt1X1Y%/1[1^1\1] &%$1_1`O% }1b11c1j1d1f#A1e* 1g1h1i\[\[1k1lQQ1m1n11o1p11q11r11s1w1t1u1v1x1}1y1{1z1|1~1111111111111111111111111111111111111111111311 }Q111111111111ڞ1111m O113O2111111111 1$11 v1v.11111 1% Q111mwb111111111E114#P111111113_11%O1111111}O1121111O }111 }1 } }222$2222 #A22  }2 2y2 2H2 2222222%%2 2222_% s2222uv22&22#2 2! 2"W2$2%%2'242(2)_v22*22+22,2-222.22/2202122222322Q2526 }273283292:2A2;332<2=332>32?2@33&2B32C32D32E32F32G3&r32I2[2J2S2K2N2L2Mv 2O2PO2Q2R2T2Y2U2X2V %2W%2Z 2\2r2]2c2^2_2`v2a2b F F2d2g2e2f&2h42i42j2k442l42m2n442o42p2q44]2s2v2t2um2w2x s2z22{22|22}22~222O 2222 22 v222222] 22  Q2222Ov22 $22222222 $22222222  O222222 &22 22^2222222 I sO22 &23[232222222222v s2222222222y 2Q2^2Q2Q2Q2Q2Q2Q2Q2sQ222222*Q%m22222222 _v22%2222_22O%22^#23222222m22#23333^2 S333 33 33 v%3 3 vQ% 3333333 *33QQ s33933*33$33!33%m33>>3 >3"3#@ }3%3(3&3' }&Ym3)%3+323,3/3-3. } O303133363435Qv3738v3:3H3;3B3<3?3=3>% 3@3AvQ3C3F3D3EvO3G3I3P3J3M3K3L3N3O%3Q3T3R3SOvO3U3X3V#P3W Qv3Y3Z,3\33]33^3q3_3h3`3e3a3b3c3d3f3g  }v3i3m3j3k 3lwEO3n3o3p3r3{3s3v3t3um3w3xO3y3z3|3}3~QQ33333333Ou333333333333333333333&r333333((3(3(3(33(3(3(3((3(3(3(33(%3333_O%33O 3%3333 s33G s33 s3 s3 s s3 sG s3 sG s333333 _O3333 333333v3v33vv% &332O3333333333% "  !33 }%33333333333333?33x333 333333O%3Om3333O33v 34 343333%3 4'My44 44Q444_44 [xn[4 4 % s4444434%4444O44 }O }4444^45m4 44!4f4"4E4#454$4.4%4+4&4'4(4)4*O4,4-4/424041%4344 %464=474:4849v4;4<SS%4>4B4?4A4@}kO4C4DQv 4F4U4G4N4H4K4I4JQ4L4M% 4O4R4P4Q4S4T  4V4_4W4\4X4YO4Z4[4]4^%%4`4c4a4b%v4d4e% 4g44h4z4i4r4j4l4k4m4q4n4o4p  %4s4w4t4u%4v4x4y }%4{44|44}4~O s444_44444444!s44 44444444Od44v4444 }OO44v444444%vQ44"#A444u4444^@444&44%4 d44 &4v44 45 4444444444v44 }Q4444v }44m444^J^Y4gg444444m  s444444444444 }4444Ov44mS44444444%244v%4444% !_%44Q454444%44q5555%%5555SK*5 5L5 565 55 5555%d5d55d5dd55d5d5d5dd^h55%5545535 O }5!5"515#5*v~5$v~5%v~5&v~5'v~5(5)v~v~ }5+5.5,5-v~yt^w5/50^52 }v~ }%55%575B585?595=5:5;5<35>!5@5A }O5C5F5D5E_%5G5H 5I5J5K %5M5[5N5U5O5R5P5Q5S5T }#5V5Y5W5X }5Z5\5c5]5`5^5_% !&5a5b$O5d5j5e5fO5g5h5i t s 5k5l%5n6$5o55p55q55r5|5s5v5t5u  5w5xO5y*5z5{=We(5}55~5O 55 Q55 555555v5%55 _*5555 }555v#P55555555_55%5555% }%55%%555555  }%55555% |*l 5555$55Q55#A55m555555555555$51&h5555555555  }55 55555O55 H5555%% 55555555m555555255%v5655555%O55 s 5555Q555^%66666#P666 66 66y6wE6 6 6 44466464#P4wE%666666m^%66 }v66!66 66K%6"6#6%66&66'66(6s6)6,6*6+vQ6-616.6/60  62636>64$v~65v~66v~67v~68v~696:6<v~6;v~v~6=v~{6?6@6`6A6S6B6N6C6D6I6E6G6F6Hk6J6L6K6MQ6O6P6Q6R6T6Y6U6V6W6X6Z6[6\6^6]6_6a6b6n6c6j6d6g6e6fQ6h6iB6k6l6mB6o6p6q6r46t66u66v%6w6x6y6z6{6|6}6~6!  s66OQ666666666U((Q666"oP6666 v%6666666666Q 6O6|v6 !6666666ww666 6 666y66666666666666666JwE6#P s66O666666%6666666666|O@6666@66I6666% s66 666666666v  6Q%6666%#66%O67666666%66Q 666wbwb6766Q77 77 7777%7 7  }%v7 77 77p77_7=?7:l787777b77=77+77"7777%7 7!7#7(7$7'7%7&4{7)7*%7,767-707.7/Uv7175727374m:777:7879 }O*7;7<$7>7S7?7H7@7E7A7D7B7CC7F7GQQO7I7P7J7N7K7L7Moz=h7OC7Q7RmO7T7[7U7X7V7W%7Y7Z2%7\7_7]7^y|%7`7a Q7c77d7s7e7l7f7i7g7h%7j7k7m7p7n7oQ7q7r_ m7t77u7z7v7wS7x7ypp7{77|7}77~77777777777777B77777777777777777777777777Bu777Bu7B77777Bu7Bu_7777%z_77  77777777QSvO7777 L777777%7%7%7%7%7%7%7%7%~%777%7%yB%O77777O7777& 7777% s77%|7887877777777# #A77Ov7777m777p~77%%787888O }8 v8 %88 88m8 8 08 8  Ov88)888888OO%88v88888'88{588 s8 8!8"8# s s8$8% s8& s8(%8*818+8.8,8-Q_8/80 !U82858384U%8687%Q8988:88;88<8>8=#8?8C8@8A_38Bb8D'8E8g8F8b8G8I8H#PO#P8J8S8K8N8L8MywE'>8O8PV'M8Q8RFY`z.8T8[8U8X8V8WzlTc8Y8ZJo$8\8_8]8^gYoWRn8`8aP[ZOQ8c8d8e48fy8h88i8k8j48l8u8m8p8n8oywE'>8q8rV'M8s8tFY`z.8v8}8w8z8x8yzlTc8{8|Jo$8~888gYoWRn88P[ZOQ8888O8y88888_QS88 %%88888 }88y$ 88888*m s88Om 888888888888  8 8 8 8 88    s8r8%O888888%8Q888888888888O88% 888_^^_888888 8989w89@88888888O%88O8888_ 88%v89-8888  89,889x8888x8xx888x8x^8x^x898x8x8xx88x^x9xx99xx99xL\x99w99 w9 w9 w9 w9 w9ww999xx99xx99x9xx^999x9xx99x99^xx^9 9%9!x9"x9#x9$x^xx9&x9'9(9*x9)^x9+xx^9.939/92 }90919495969798999:9;9<9=9?9>''9A9f9B9J9C9E9D9F9G }9Hp9ICp9K9T9L9M%9N9Q9O9P9R9S Q Q9U9VO9W9X9Y9]9Z9[9\FT9^9_9`9c9a9b..y9d9eyy9g9p9h9k9i9j_9l9o9m^9n^^_9q9t9r9s 9u9v } &9x99y99z99{99|9}%!$9~99999 Q99 Q' Q99C99_9w!O9999999% 99!$%Q999999Ow99 sm%99999%9 Q99^99%v 999999999%9m99 }E9994 Fmv9999%9 o  o99O%999999999C44~99O9999 99 s%9:999999999999W }99Q9999Q9%999999% 99O999% |%9999Q%99}999 p29: 9:9:99 99xwx:: %:: ::O:II:I: : O: ::::::Q:_:$::::%: }: }_2::%%::L: :6:!:*:":%:#:$|_:&:'_:(:)#P:+:.:,:-%:/:2:0Q:1vA:3:4:5Lr:7:>:8:;:9::O:<:= _%:?:G:@:D:A:B:C#_ s:Ex:Fwx:H:K:I:J"~m:M:]:N:W:O:R:P:Q 2O:S:T !:U:VI:X:Z:Y :[:\  Q:^:d:_:b:`:a%Q:c#A:e:h:f:g%%:i:j  :kw6:m;:n;1:o::p::q::r:{:s:x:t:uv:v:wA:y:zv:|::}::~:%:y::::::::_%O::v%::::::qqr+|:::::pp:::::::::%::::Q:QQ::Q:Q:Q:QeQA:::::p#_~::::%|::OO_#:::::::y#P:#P:#P:#P:OYo'>:::::OQ::&h^ Qѳ:::::::::[4,%:: s:::: }  :: _:_x:wx:; ::::::::::::}44|::::_2:: }O::::%:}:p:: Q:;::::O::%x;;;; ;;C;; %;x; wx ; ;; ;;;;;vO;;v O ;;;; s;;m ;;;#P Q Q;;*; ;";!$;#;$;%;&;';(;);+;.;,;-a ;/;0Q%;2;;3;s;4;B;5;;;6;8%;7%O;9;:|;<;?;=;>;@;A };C;U;D;G;E;Fv %;H;I% s;J;K;Lw ;Mx;N;O;P;Q;R;S;T_A;V;];W;Z;X;Y  ;[ };\x;^;_;`;a;j;b;c;d;e;f;g;h;i F;k;l F;m F;n F;o F;p F F;q F;r F;t;;u;;v;|;w;{;x;y;z%vO ;};~ % ;;;;O%;;;Q;z % };;;;;;;_V_e ;;;;;;;O;;;; % ;;;%;;   }%;;;;;;;;;;%m;;2% ;;; ;;_% ;;;;;;;;;;;;;;;;y;;O@;;;;;;@;;;;;;;;;;;;;m ;;m;;;;;;%m;;  &%;;;;O;;;%;;  ;<;<3;<;<;;;;;%;;;;#_S;;_t;;;;O s;;%O<<<<<%<<<<< <  m< m< < w2<<<<Om<<#<<<<<< s<<T<< << %Q=@@(=A>=B>=C==D=r=E=V=F=M=G=J=H=Iv=K=LO2=N=P =O=Q=T!$=Rv=Sv=U&>p=W=k=X=^=Y=ZW%=[=\=]=_=`=c=a=bxowx=d=e=f=g=h=i=jx=l=o=m=nx=p=qQ%=s==t={=u=x=v=w vQ=y=z  %=|==}=~ %=======$rt ==m%= Q====O=============%== & 7 ==========%=" ==O  Q==v==== O !==O ======O===========================================Q }=% ========= =========Kp%=%====O%3==Q=>>>>>>>>>%> >> > > m> Z s>> s>>>>P>><>>'>>>>OO%>>&>y>> s>> s s> >! s>" s># s s>$ s>% s%>(>9>)>8>*>->+>,f(J>.>7>/:>0%>1%%>2%>3>4%%>5%>6%:%%m>:>; W>=>F>>>C>?>@>A>B >D>E_>G>J>H>IOQ>K>L>M%>N>Ou>Q>z>R>s>S>o>T>nO>U>V%%>W>X%>Y%%>Z>[>c%>\>]>`>^>_~% N>a>b%~x>d>k>e>h>f>g yByQ%>i>jy$:%~>l%>m%%:%>p>r>q%_>t>w>u>v s%>x>y >{>>|>>}>~%>>Y>>O>%>>%>%%>x%%>>>>>>>y>>*Q_>>>>>>>>>> d>>%>>>>>>%#A>>>>>>  >>%>y> Q>>>>_u>>> }>y>>>>>>>>>>> }>>yv~>>v~v~>v~>v~>v~ } >>!>>> > Q>>>>P %>>% }O>>>>>>>>>%:%>>>O } }|>> >>>>%>>>>v~>?>?P>?#>?>>>>>>m>>> >>%   }>>>>% ?????KO?? ?? ??  s ? ? O??????? }?? }v~O??"????????? ?!%Q?$?1?%?+?&?(O?' ?)?*m%?,?/?-?.  s?0mO?2?9?3?6?4?5 ?7?83%?:?M?;?<?=?G?>???@?A?B?C?D?E?F?H?L?I Q?J Q?K QzJ?N?OQ%%?Q?{?R?d?S?^?T?Y?U?X?V*?W%%$v?Z?]O?[?\y?_?b?`?aO }?cO %?e?o?f?k?g?h%?i?j F?l?m?nOC?p?v?q?u?r?s?tQ?w?z?x?ywww?|??}??~??? ??%x????%!$v??%?????? ??%???????? v?&?%????????????O% ??O%_???? Qm??$??????O3?? O????|%?????%???????? ??% ????2%??m??????%??%|_???? s?? }m?@???????? %??%O????%v? }?????????%??v%?@??Qv@@ } @@@@@@ @@%@ @  Q@ @  @@@@ } O:@@v@@@@@O@@@X%% @@@ @"@!@#@$ @%@&@' } }@)AE@*@@+@r@,@V@-@G@.@>@/@7@0@4@1@2@3 @5@6#@8@=@9@;@: Q#P Q@<v~ }_@?@D@@@C@A }@By@E@F%@H@O@I@L@J@K @M@Nv@P@S@Q@R@T@UO @W@k@X@b@Y@_@Z@[ @\@]@^@`@a%%@c@f@d@e   @gO@h@i@j%@l@o@m  @n  @p @q @s@@t@@u@|@v@y@w@xa@z@{Q@}@@~ }Q@@#A } m@@@@@@ !%@@ @@@@%@b@b@@@@@@@@@@ @O@z @@@@@@@O@m@  @@@@@ *@@@@%@#AQ@@%@@@@@@ _@@A@@@@@@@@@@%@@@@@@ @@@ } }@@v !@@@@@Qv@@ %_@@@@O@@Q@@@@@@@@ s@@''@@@@O@ Q@ Q@@%m@@@@@@@@@Wr:@@@@@v@@"  AA'AAAA AAAA%AA  A A OO"A AAAQAAAAA%AAAAAA OAAO%QAA$A A#A!)A" }A%A&A(A7A)A0A*A-A+A,vA.A/IA1A4A2A3A5A6 }rA8A>A9A;A: A<A= |A?ABA@AA%QACADAFBAGAAHAeAIAVAJAPAKANALAMAO%AQATARASAU%AWA_AXA]AYA\AZvA[%%A^A`AbAaAcAd %AfAtAgAmAhAjAivAkAl } AnAqAoAp ArAsAuA{AvAx%AwO sAyAz_O%A|AA}A~%%OAAA_AA{~%AAAAAAAAAA%AA vAAAA%AAAOxAxw2AAAAAAAAmAAAAAAAAAAAW %AAAAAA#AAAAAAAAA__AAAAv%AA2|AAAAAAKvCAA }vxmAB}AB|AxAB2ABAABAAAAAAAAAA%%~AA N$y$AAAAyQ:u~AAyBAAAAAA~ɱ~~%AAAA;xAAAAAAAyAAAA:~AA N$y$ABAAAAyQ u~AByBBBBB~ɱ~~%BBB B B B B ;xBBByBBBB&BBBBB% NBB BBB:BBB!B$B"B#_M_B%qB'B(B.B)B+B*B,B-_MB/B0B1_q%B3B4%B5BrB6BSB7BEB8B>B9B;%B:%~B<B= N$y$B?BBB@BAyQ:u~BCBDyBBFBLBGBJBHBI~ɱ~~%BKBMBPBNBO:BQBRyy;xBTBcBUB\BVBYBWBXuBZB[~B]B`B^B_yB~:~BaBb N$y$%BdBkBeBhBfBgyQ ~BiBjɱ~~BlBoBmBn;xBpBq%yyBs%Bt%BuBx%Bv%Bw;xBy%BzB{y%%B~   BBBBBBBB BBB  }%BBBBBBBO s B_ċBB m BBBBBBBBm^B Q QBBBB|UBBBB%mBBBB Qɓ#PBBBBBBBBB &B QBBABBBz '\ɓmB  BBB%BBBBBBBBBB BB }%vBBBBBOBBBBB\BB%OBBrBBBBBBBBBBOBB%BBBBBmBBBBBB _BBOmBBBmBBv%_BCBCBCBCBBBBBBBCCC|CCC CC C xvC C __CCCCCC%vCC%2CCCCQ CCOCYCNC HrC!EC"DC#CC$CzC%CXC&C=C'C4C(C.C)C*QC+C,C-wC/C0C1C2C3wC5C:C6C7C8%C9 C;C< C>CEC?CBC@CAO%mCCCD CFCTCGCHmCI%CJCK_xxCLCMxxCNxCOxCPCQxxCRCSxxwCUCV%%CW_ NCYChCZCaC[C^C\C] OC_C` CbCeCcCd vCfCg*v%CiCpCjCmCkClrCnCoB%CqCwCrCvCsmCtCu%OCxCy }C{CC|CC}CC~CCC$#ACCQCCCCOCC vCCCmCCCCmCmCmCCCCCmCmCmCmCmCmCmCmCmCmmCmCmCmmCmCmCmCmCCCCCCQCC %$CCCCCCCCCCCCCCC{C_CgCC C2C2wCCCCCCCC sACC3CCCC }O  }C %CCCCCC   CC  CCC  CC %%CDLCD)CDCCCCCCQ%% C#A%CDCC%ICCDCDC#[#[CCCC#[C#[#[CC#[#[EUC#[#[C#[CC#[[x#[D#[#[D#[DD#[D#[D#[#[D_#[D D #[D D #[D _#[` D#[DDDDD j`#ADD DDDD DDDDDmD!D&D"D#mD$D%hzhD'D(O2D*D;D+D2D,D/D-D.| &_vD0D1 D3D5D4mQD6D7D8mD9D:D<DFD=DCD>DBD?D@DA 7DDDE !DGDIDHDJDKQ }DMDxDND^DODVDPDSDQDR|vDTDUQ DWDYDXO_DZD]D[D\ |D_DhD`DfDaDeDbDcDd|z%Dg O DiDvDjDk Dl DmDnDoDpDqDrDsDtDu! Dw% DyDDzDD{D}D|  D~  DDDD  Du }DDDDDDO%DDDv%DDDDDDDD%DDE6DDDDDDDDDDDDDv%DDDD%DDDDD:r:%|DDDDDDOODD DDDD }ODDODDD z QDDDDDDDvDD2_DDDDyDDD#PDDDDDD|DD% Q%DDDD%ODDSDEDDDDDDD%DD%vDDDDDDD%3vDD%O !DDDDDDQDDDyDDODEDD%EE%OEEEE EE EEO#AE E  E EEE |%EEEE/EE)EE"EEE!E }E }EE }E } }EE } }E  }E#QE$E%E&E'E(E*E.E+E,E-vE0E3E1E2%E4E5 E7ExE8EXE9EIE:EAE;E>E<E=%QE?E@Q mEBEDEC%EEEFEGEHEJEQEKENELEM|EOEP%QEREUESET %EVEWEYEhEZEaE[E^E\E]#P*#PE_E`VOEbEeEcEdv EfEg_ !EiEqEjEnEkVElɓEmyɓEoEp !ErEuEsEt EvEw%mEyEEzEE{EE|EE}E~E  7E UEq 7EE }% EEEE%EE EE*%mEEEEEEEEEEEEEEEEOEEEEEEEEEOEZE N %EEEEE 7E 74E4EEEEOEEO1EEEOv EEEEEEUEOEEEE OEE|EG EFtEFEEEEEEEEE EE%EEED<6%EEEE _OEEEE|EEEEEEEE }EEEEE EEf&f&EE%mvEFEEEEEEEEE  %EE* NEF NF N FFF F  sFFFFF F  F F F $FF  } FFFF }FF sFFKFF7FF0FF!FFF 7F q 7F"F/F# sF$F&dF%\dF'\F(\F)\F*\\F+F,\F-\\F.\`' %F1F4F2F3 F5F6 F8FAF9F<F:F;OF=F>F?F@ 7 7FBFHFCFGFDFEFFO%xn FIFJmr%FLFfFMFYFNFSFOFP%FQFRFTFUFVFWFX%FZF`F[F_F\F]F^`5 }O%vFaFeFbFcFd%QFgFmFhFjFiFkFlFnFqFoFpOvFrFsOFuFFvFFwFFxFFyF|FzF{%$F}F~ }%FFFu FFFFFF%FFFFFFF@FFFFFFQFFFFFF %OFF sO }FFFFFFF%SFmOFFFFFFFK FF%FFFFFFFFFFFFFFFFFFFFFFFFFFFF 7 7FF_FFOFFF H`EFFFF FF FFFFF% xFFm%FFFF%mFF% FFFFFFFFOvFFQ%FFQFQFFvFFFFFF%FF }UFGGG !GGGmG 7G 7GG G O LOG GG GeGG6GG'GGGGGGm |GG !GGGGQ !OGG&GGGQTG G!vG"vG#vG$vG%vv+ G(G/G)G,G*G+OG-G. }v sG0G3G1G2*%G4G5QG7GIG8G?G9G<G:G;OO }G=G>G@GFGAGBGCGDGEGGGGHSGJGSGKGMGL%OGNGRGOGPGQz$ OGTGWGUGV GXGY GZ%G[GdG\G]OOG^OG_OG`GaOOGbGcOO`UܬGfGGgGzGhGqGiGlGjGkvOGmGnvGoQGpxGrGuGsGt GvGw 3GxGyG{GG|GG}G~%mQGGQGGGG% GGQGGGn %GGGGGGGGO GGG%mGmGmGGmGmGmGmGmmQGGGGGGG 7G 7GGG 7GG 7G 7G 7G 74 7 7GG 7G 7G 7 7G" 7 7 d GGGGGGGGG2GG QP%G }GG  GGGGG dGH GGGGGGGGGG%GGG sG 7 7GG4 d4GGGGG_GII_GG !OSGGGGGGQGGQ GGGGGGC|%GG% GHGGGGGGGPGOGGGyyGG HHH%H%OHHHH HHH H H H HHHHH Q HHH66HH6H66H6HH6H6H66HH!HNH"H<H#H+H$H&H%QQH'H*H( H)H,H9H-H.H/H0H1H2H3H4H5H6H7H8lH:H;(H=HGH>HDH?H@% HAHBHCwbwbHEHF%HHHKHIHJvHLHM2HOH_HPHXHQHSHR QHTHWHUQHVbbHYH\HZH[%%H]H^  } H`HiHaHdHbHc#A$ HeHfHg`dHh`rAtHjHmHkHl 7 OHnHqHoOHp ,mHsKcHtIHuI7HvHHwHHxHHyHHzHH{HH|H}H~HHHHHHH|%HHHOHH%OHHHHOv_OHH%HHHHHH HH%HHHHHHHHHHH'0HHHHHv sHHHHHHHHHHQOuHHHHH ! }H }H }HH }HH }HHHev~H }HHy^ӈ }HH 3%HHHHHHO%HHHHHH%HHOHI HHHHHHHH  }HHHHHOHHH 7|L 7HHHHHIHHHOHHHHHHHHHHHHHIIyQIIIIvII I }I I | I IIIIIII }IIvIII  IIII%II I I*I!I$I"I#%I%I&I'%I(I)' ] ] |I+I/I,I-*bI.%I0I4%I1I2I33mOI5I6uI8II9IlI:ISI;ILI<I?I=I> I@IK IAIBICIDIEIFIGIHIIIJ OIMIPINIO8%OIQIR%%ITIeIUIbIVIaIWIZIXIY2I[I\I]I^I_I`OIcIdvyIfIiIgIhIjIk$ImI|InIuIoIrIpIq*QIsItIvIyIwIxQIzI{  s sI}II~IIII% }%IIOIIII%I%IIIIIIIIIIxIII\pII|%IIIIIIIIIIO%vII|IIIIIIII  I IIIIIOu3IIIIIIOI%ImmI·mII IIII%IIIIIIIIIIB .ImOIIII %II vIIIIIIyOIIIII u%OIIII%OOQIIOIJtIJ(IJ IIIIIIIIIIBIIIIIIIJIIII%vIJ }JJJJ%JJ JJ```OvJ JJ JJ JJJ%vQJJ }JJJJO%JJ%JJ!JJJJ*2J J"J%J#J$Ov }J&J'O%OJ)JLJ*J:J+J3J,J.J-OJ/J0J1%J2IJ4J7J5J6QJ8J9%vOJ;JBJ<J?J=J>J@JA nvJCJFJDJEJGJHJIJJJK`JMJcJNJ\JOJSJPJRJQ$| _JTJ[JUJXJVJW````JYJZI%J]J`J^J_% |JaJbJdJnJeJkJfJjJgJhJi  QJlJm%OJoJrJpJq%m{CJsJuK JvJJwJJxJJyJJzJ~J{vJ|J}WJJJJJJJJJJJ>J oJ oJJ o oJJ o oJ oJ ovJJJJ%JJ%vJJJJJJmJJOJJJJ% JJQOJJJJJJJJ*JJJJJJJJJJJJJJJ#PywEJJ4J'>JJTlzJJJJJɓ.zFJJVOQSJJJJJJJJ#PywEJJ4J'>JJTlzJJJJJɓ.zFJJVOQSJJJJJJJJ#PywEJJ4J'>JJTlzJJJJJɓ.zFJJVOQSJJJJO _ sOJJJJJKJKJK#mKK| sKKKK#AK K O%OK KAK K(KKKKKK !QKKQ }KKKK KK%KOKOKOKOKOK OK!OK"OK#K$O"~OK& 7K' 7K)K0K*K-K+K,%OK.K/*mK1K4K2K3%K5K@K6 K7K8  K9 K: K;K<  K= K> K? KBKRKCKMKDKGKEKF#A %KHKLKI*KJKKeI'\B%KNKOvKPKQOOKSK\KTKYKUKVm%KWKX%%KZK[OK]K`K^K_ &KaKbKdLKeKKfKKgKKhKxKiKpKjKmKkKl sKnKovO !KqKuKrKs6KtKvKwO KyKKzK~K{K}K|`'M Q sKKKKKK%%KK ! KKKKKKKKKKKK wKrKK%KKKKOKKQKKKKKK8 !m%KK%%KKK%vQKK%KKKKKKKKKKQOKKOKKK KK &K K%~QKKKKKK% KK_%KKKKOvKKOKKKKKKKKKK %KKKKK}u`amQKKKKSKKKKKKK! ! KKKKKKaKKzKK QKKKKKKK% sKKOmKLWKL+KL KLKLLLLL%LL LLOv }L L L LLLLLm sLL }vvLL)LLv%LQLLQLL"LQLQQLLQL QL!QQsL#QL$QL%QQL&QL'QL(sQL*% L,L;L-L4L.L1L/L0O L2L3%OL5L8L6L7 yOL9L:m L<LEL=LBL>LAL?L@LCLDLFLTLGLSLHLIQLJQLKQQLLQLMLNQQLOLPQLQLRQ} }LULVm*LXL~LYLiLZL`L[L]L\ OL^L_vLaLdLbLcmLeLh !LfLg Q Q'%LjLqLkLmLlLnLomQLpOLrLxLsLwLtLuLvL%LyL}LzL{L|% 3 }LLLLLLLLmLLL|LLD<6LLmLLLL*OLLvLLL  v%LLLLLL%LmL FLL#A#AzLLLL#AL  _a$LLLMLLMLLLLLLLLLLvLL O%LLLLLLLsLLc'M Q'LL LLLLLL%LOLL!LL!LLL!!LL!!L!L&!!LL!!L!LL!!&LO%LLLLmL!L!a2LL%LLLLLLL !LL }2%LLLLLL LL RЇwLLLLLL s%LL_LvLaALMLL%vMM%MM)MMMM MM MM v M M m%%MMMM%d2MMMMMMMM vMMMm~M~%QMM$M M#M!%M"%:2mM%M&M'M(<vM*M;M+M2M,M/M-M.m% M0M1%%M3M8M4M7M5QM6vQQM9M:%M<MEM=M@M>M?OMAMDMBMCTQMFMIMGMH MJMKO }MMMMNMMOM^MPMWMQMTMRMSO%MUMV } }MXM[MYMZ*%OM\M]%mM_MfM`McMaMbMdMe#A*MgMlMhMi% 7MjO 7MkXMmMnMoMpMyMqMu" Mr" MsaPMtaPa_" Mv" MwaPMxaP" MzM|" M{" aP" M}" M~aPMaPM" aPMMMMMMMMMM 7 7MMMMM 7Xq%MMMMm MM% MMMMMM%MMM%mMMwT%rMMM% }MMMMM;$:%MMMMMMMMMMMMMMMMMMMMMM1OMM,vMMMM% sMMMMMM sM sM sM sGM sM s }MMMMMMM QM QMMMMhMzѳMM%MMM#AMMMMMMMMMMOOMMM%%MM%MNMMMMMMMM MMMvvMNNNNN UQNNN N NN N N N Q8 }vNN% NNNNNNNNN%:an NSNPNO|NNNNoN NMN!N7N"N,N#N)N$N%%N&N'N(O"O|N*N+%N-N2N.N/ON0N1N3N4ON5|N6|N8NDN9N>N:N=N;N<}%N?NCN@%NANBNENG%NF  !NHNLNINJNK  }ONNN]NONVNPNSNQNR NTNU%NWNZNXNY%N[N\ N^NhN_NeN`Na%NbNcNd  NfNg NiNlNjNk_2UNmNn%v%NpNNqNNrNyNsNvNtNu%NwNxvNzN}N{N| ON~N%NNNNNNNNZ}"!NNN{~mVNN%NNNNvNNNN NN NNN } INNNNNNNN%N%%NNN$1NNNNO !NN%NNNgK|*NNNNNNN%NNN!QNNNN$%a~NN }NNN NO!NNNNNNNNNNNNNN NNNN NNNNNNNЖ՛~u%NNNN ٝy$yQNNNNNNNNN !^NNONNN5NN5N5N5N5N5N5e5NNNNmNNNONOOOOOOOhhzmOOdO O O O*O OOO O|*OOOOOO &OOOO% %OOOO _OO COO  %O"ONO#O:O$O.O%O+O&O*O'O(O) E4T%O,O- }vOO/O2O0O1%O3O9O4O7O5O6 }vO8rHxOO;OCO<O?O=O>O%O@OBOAQ) vODOLOEOFOGOHOIOJOK%OMOOOO`OPOWOQOTOROSOOUOV }OXO^OYOZO[O\O]aabO_mOaOkObOhOcOdm OeOfOgUIOiOjIO*OOlOyOmOnyOOoOpOqOrOsOtOuOvOwOxOzO{O}PIO~OOOOOOOOOOO }mOOOOO#OOOOO^OO}eOOӈyOOHaaOO%OOOmwOOOOOOO  _OO%OOOO%_%OO }OOOO Q#P'\'0OOOOOOOO*OOv OOOOOOOO%hOOOC$ OOOOOOOOOOf* }OOOOOOO%OOO* OPOOOOOOO%OO% OOOO ! OOOWvOOOOOOOOOOOOOaaOO_$*OPOOOOOmOPQOOO ~rH~PPPP PP P P9P PP PP P v% !PPOPPPPPPWPWPWPWPWeWIP(PP3PPP QP!P*P"P#P$P%P&P'P(P)xaP+P,P-P.P/P0P1P2\pP4P5P6P7P8!P:PCP;P@P<P?P=OP> PAPBvPDPGPEPF#APH%PJPPKPyPLP[PMPTPNPQPOPPv%%OPRPS%PUPXPVPWQPYPZ&Ya P\PrP]P`P^P_PaPqvPbPcPdwɅPe PfPgPk PhPiPja PlPm  PnPoa Pp a|PsPvPtPuvO PwPx m2PzPP{PP|PP}P~PPPQPPP }a2 }PPPPOPP%PP%$%PPPPPPvPpP!%PQPPPPPPQPQvPyPPQ PPP#AQvPPPPPPPPPPOvvPPOPPPP &PP PPP PPPPP PPOPPvQPPPP  PPPP'0 PPPPPPPPOPP%%PPPPmPPQPPP sPPPPPP sPPPOPP _BPPPPPvvPP }OPPPO QPR\PQPQIPQPQ PQPQPP%P%Q%QQ2QQ Q Q QQ QQ #AOQ Q OQQQQQQQQQQ%yB%QQQQ }QQP#AvQQ7Q Q.Q!Q'Q"Q#Q$Q%Q&$$Q(Q,Q)Q*Q+%%Q- Q/Q4Q0Q1Q2Q3bQ5Q6mOQ8QBQ9Q>Q:Q=Q;mQ<#PQ?QAQ@p}QQCQFQDQE %QGQHm6QJQrQKQ`QLQYQMQVQNQUQOQRQPQQrH:%QSQT _ }mQWQX QZQ]Q[Q\ QQ^Q_y%vQaQkQbQhQcQdQQeQfQg%QiQjvOvQlQoQmQnQpQq%QsQQtQ{QuQxQvQw%QyQzOQ|QQ}Q~*QQ QQQQQQ%Q QQ Q QQQQQQ %QQO%QQQQ QQv2QQQ%b:QRQQQQQQQQQQQOQQ vCQQvO%mQQQQQOQQ44 FQQvQ8QQ F|L dQQQQQQQQQOQQQOvQQQQ'QQQQ%QQ%Q%Q%Q%%Q%QQ%Q%%$Q|b!|%mQQQQQQQQQmQz.QQQOQQQQQQQ%Qi%%QQQQQQQQQQ!$QQQQQQ~ n } QRQRQQZZ RR%RR1RRRRRRR R R OR R RRORRRR%RR R~5 RR&RRRR *%RR OR!R$R"R#uR%uR'R*R(R)%_R+R,OR-R/R. QR0R2RDR3R:R4R7R5R6S% !R8R9OR;RAR<R@R=R>R?OO RBRC#ARERURFRRRGRHmRI%RJRQRKRLRMRNRORPyyORSRT%RVRYRWRX%RZR[%R]S R^RR_RR`RrRaRhRbReRcRd  %ORfRgORiRmRjRlRkI%RnRoRpRq 7 FRsR}RtRzRuRyRv RwRx44*QR{R|~R~RRRv !R*RR**R*RR**R*RR*R* *RRRR%RRRRRRRRRRwx!RRRRRRRORRRRRRR }yRRRb0z RRRRRRR%vR RRRROO*RRRRRRRRRRRRQRRR# 7R 7RRRRR 7R Uҏ|RRR_RUb?URRRRRRO%RRvRRRRO RRORRRRRRR }RRRv  RRRRIIRRbMRRRR s *RR|RRuRSRRRRQO~5RRQSSSSS%%Si"SS %SS yyOS SxS SNSS>SSSSSS QSSSS8SS!$%SSS/SISS(SS$SS S!S"S#IS%S&S'eS)S*S+S,S-S.WS0IS1IS2IIS3S4IIS5S6IIS7)IS9S:%OS;S<S= 7q4 US?SGS@SCSASB %SDSESF SHSKSISJ  vSLSMmSOSgSPS_SQSYSRSVSSSTSU C RSWQSXxxwSZS[%S\S]S^w S`SdSaSbSc!SeSf w!ShSoSiSlSjSk   }SmSn~5vSpSuSqSr*Ss*St#PSvSw_Q SySSzSS{SS|SS}S~OSS }%SSSSSS*Sɱy$SSSSSSSSSw1 SSSSSO%SSSS'ySSOSSSSSSSS !S QSSOSSSSI sSS  !SSSSSSSSS }S:% SSSSS &>%SS USVSUSTzST SSSSSSSSSS s sSS%SQ!SSSS USSz 3SSSSSSO !SSSSS SSSSSQ sSS3SSSSSSSS8SS_O%S }%SSSS%OSSOQSTSTST%dTT_3TTTTv%OvT T T Q%T TBTT)TT#TTTTa ! ! &TT }TTTT }v~TTTv~Tv~Tv~TyT T!T"g&gT$T&T%OT'T(dvT*T8T+T2T,T-QT.T0T/T1uT3T7T4%T5T6v~T9T<T:T; _T=TAT>T?T@% N NmTCT\TDTUTETHTFTG% %TITTTJ:TKTLٝTM%TN%%TOTP%TQ%%TR%TS%Ж TVTYTWTXmQTZT[O_T]TpT^TkT_T`TaTb%%TcTd%%Te%Tf%Tg%Th%Ti%Tj%:TlTmTnTo_TqTwTrTvOTsTtTuw   pTxTy%mT{TT|TT}TT~TTTT }TTm%OTTTT%%TTT TT#Pv%vTTTT sT%OTTOTTTT %TTm%vQTTTTTTTTOQTT*TTTTTTQOTTTTTTTyQ%TTTTT%TC TTTTTT~TTOTTTTTTTTT TTv~5TTTT s TTy }TTTTTTd TTrTyTT"  '>TTTTmTTTa_d TTOTTTTTTTT2TTO%TTTT% TTTTT TUTUTUOTTUBBUtUUU U7! U xU  xU  xU  xU  xU  xU xU xUUUUUUUUU%UUUUkUUAUU1UU(U U%U!U"U#U$z QU&U'{Cv%U)U,U*U+ U-U0U. U/uuKU2U9U3U6U4U5  U7U8UOU:U>U;U<U=}U?U@UBUWUCUPUDUJUEUI UFUGUH>Ї !UKUOULUMUN "~UQUTURUS%qUUUVUXUdUYUaUZU`U[U^U\U]$1$hU_ѳzUbUcUeUhUfUg%xUiUj sOQUlUUmUUnUxUoUuUpUqQOUr%UsUtuUvUwm%UyU|UzU{QU}U~$UUUUUUUUUUUZUUUUUUZUUUUUU2OUUQUUUU%UU%UU%U%U%U%U%U%U%U%U%%UUUUUU%UUOUUUUvUUb% sUU %UUUUUU%vUUQmUUUU%UU UV(UVUUUUUUUU%UTyBUUvUU%UO%UUU }Uv~UUU }UUUb\Ub\Ub\UUb\Ub\Ub\Ub\v~Ub\Ub\Ub\v~b\U } }Uy }UUUUUUUUU:{o sUUUQ%U$%3UVUUUVV&OVV_ _VVVVVV V V V  }UV V VVVOVVVV2%OVV }VV!VVVVmVV   V"V%V#V$%V&V' OV)VdV*V=V+V2V,V/V-V.OV0V1%V3V9V4V5mV6V7bkV8bkbzbkV:V<V;yBuQOV>VWV?VCV@VAOVBVDVVVEVFVG %%VH NVIVJVP NVK NVLVM NVN NVO N N NVQVR NVS N NVTVU N NVXVaVYV]VZV[V\ FV^V_V`wwx2>VbVcO r%VeVVfVzVgVmVhVlViVjVk ||rOVnVoQ2QVpVq%%Vr%Vs%VtVu%%VvVw%%Vx%Vy$%V{V~V|V}VV%V:V:TvVVVVVVv%VVOOVVVVO !VVv &OVXAVWNVVVVVVVVVVVVOVvVVV !VVVV VVV  }VV VB|VVVVVV QVVVBBVV_QVVVV%*VVvVVVVVVVVV(V VV }VVVVVҏGҏV QVVVV%VVvVVVzWO%VVVVVV%VV%VVVVIW%V% VVVV%VVVVq V V VV  VV V  bVVVVaAVW!VW VWVWVWOOWW %WW WWvW W  W W WWWWWW*WW'0WW|WWWWmWWOWWW T:$W"W:W#W)W$W&W%W'W(}W*W7W+W,W-W.W/W0W1W2W3W4W5W6bW8W9_%W;WEW<W?W=W>%vW@WDWAWBWC#P Q Qy*WFWIWGWH vWJWK WL }WMWOWWPWWQWlWRWeWSW`WTWVWUWWWXWY  WZW[W\W]W^W_ WaWbwWcWd%%ЖWfWiWgWhQWjWk QWmWWnWwWoWsWpWqWr YOWtWuWvzWxWWyWz~5~5W{~5W|~5W}W~~5W~5~5WW~5W~5~5OWWWWWWWWW sWWWWVW s sW sW sW sW sV^WW%%WWWWWWWWWW % WWWWWWSWWWWWWWWr %WWWW%O%W WWW n nWWWWWWWWWW#WWWWW,V;(OWWWW WWWWWWWWW%WW W_WBWWWW WWvWWWWWWWW_#AWmWWWWOWWW%%WWW|Wb|WXWWWW*WBWBWXOWWWPOXX9XXvXX7X%XXXX XX XX X X :XXXXX%:X:%%X% N NXX~X~ N~XX&XX"XX~$$X$X $X!$~~X#X$z~X%~zX'X0X(X,zX)zX*X+xzxX-xX.xX/xxX1X3X2yQxyQyQX4X5%yQX6yQ%X8 Q QX:X@X;X=r:X<:X>X?O"|QXBXXCXXDXrXEXdXFXWXGXNXHXM%XIXJXKv~XLv~XOXSXPmXQXR%vXTXUXV XXX^XYXZ%X[vX\X]!X_X`%XaXbXcy8K:XeXkXfXiXgXh%XjOXlXoXmXn %XpXq %XsXXtX~XuXxXvXw% }XyX}XzX{X|S}5|}vOXXXXOOXXOXXxxw !XXXXX% vXXXXXXXQ !%XXXXx%%$XXXXXXXXXX%xXXOXQXX N%:XXXXX Q$X$VXX QXXQXXX QXXXXXX QXXX OXX }Q_XXXX%XXXXXXXЇ XXXXXXXX%XXvOXXXXIXXXBBOXXOXXXXXXXBXBXX  %XXXX%OXXBXYEXY#XYXYXXXXXXXXX XX X_XY  YY YYvYYY YY wEY YY %Y  } }v~YYYYYY% }YYYY }Y*3YYOOYY YYY!Y"vY$Y5Y%Y0Y&Y-Y'Y*Y(Y)~5Y+Y,%%Y.Y/Q2%Y1Y3Y2Y4Y6Y;Y7Y9Y8 s%Y: }Y<Y?Y=Y>%%Y@YAvYBYCYD fYFYfYGYUYHYOYIYLYJYKYMYN YPYRYQOYSYTOaKYVY]YWYZYXYYvb Y[Y\OY^YaY_Y` }YbYc%YdYe6YgY{YhYtYiYoYjYk8 }YlYmYnBBYpYsYqOYr"|O sYuYxYvYw~5YyYzY|YY}YY~YOYYYYYYYYYYYbbYYYYBvB% YYYY%{C vYYg Y_Y\Y[AYZsYYYYYYYYYYYYR YYYYY YQY&>Y&>Y&>Y&>Y&>YYY=Y=&>==YY&>=&>%YYYY  Q YY%_YYYb0YYYYYY%W%YY sYYYYY%Y%YYYBBYY YY_&wY#Aj#AYYYYYYYY%YYO sYYYY_Y%%yQYY YYYYYYv% YYvYYYY }|YYYBY FBYZ?YZ#YZYYYY _ZZZ%ZrHZZZZZZZZ  }Z  }Z Z  } }Z Z } }Z }Z } }ZZZ% ZZ"ZZZZZZZZZ Z!Z$Z/Z%Z*Z&Z)Z'Z(%%Z+Z,%Z-Z.!Z0Z3Z1Z2Z4mZ5Z6bZ7Z8Z9Z:Z;Z<Z=Z>bZ@ZaZAZWZBZJZCZD$ZEZHZFZGBBZIBZKZL%ZM QZNZOZPZQZRZSZTZUZV&ZXZ^ZYZ]ZZZ[Z\cvvZ_Z`UvZbZiZcZfZdZe }ZgZh  ZjZmZkZlv%mZnZrZovZpZq &ZtZZuZZvZZwZZxZ~ZyZzZ{Z|Z}%/ZZ }ZZ~ZZZZ%ZZZ%ZZZZZZ%* ZZOZ Z |ZZZZVZZu ZBZBZZZZgO*ZZZZZZZZO%ZZ }ZZ% %_OZZZZOZZZvZZ~|~Z Zw!ZZZZZZO"~""ZZ"Z%"ZZ"#~ZOZZZZ"##~ ZZw!#2$t@ZZZZZZaOZZZZx%ZZZZ$O%ZZ Z[ZZZZZZZZmZZx ZZZZ6ZZ QZZzz Z[ Z[Z[ZvZvZZZZvZvZvZZZvZZvvv[v[v[[vv[[vv [[ OQ[ [[ [ %[[%%[[%[[[[[[ [[[[%[["[[ s[ m[![#[$%[&[3['[-[([)v[*[+[,[.[/[0[1[2tv~#c[4[<[5[6[7[9[8QQ[:[;^ [=[@[>B[?BO[B\'[C[[D[n[E[\[F[S[G[L[H[K[I[Jz[M[P[N%[O%:[Q%[R[T[W[U[VQ[X[Y[Z[[O%_[][d[^[a[_[` !m[b[cvW[e[g[fv%[h[l[i[j[k FB[m6[o[}[p[w[q[t[r[svv*[u[v*  }[x[z[y[{[| }[~[[[[[[[[vm[[[[m[[[[[[[[mc,!c;[[ cJ[[[[cYch W[[cw·|c[m[[[[cccc[[:ccm[[[[[[[[[[mc,!c;[[ cJ[[[[cYch W[[cw·|c[m[[[[cccc[[:ccmm[m[m[m[m·v[[I[[[[[[[[[[[[[ }O[[[[[[[[[[ &[[[u[[f[:[[[[[[  [[ [ [ [ [ [  [ % }[[[[[[[ [[C[[OQ[[[[|O O[[ [\[\ \\\\\\\v,m\\ \\ \ vbO\ \\\3%m%\\U\\\%!$ sO\\\\\\\%\\\ \#\!\"Q%\$\%O\&%%\(\\)\f\*\J\+\9\,\2\-\.QQ\/\0\1%\3\4O\5\7\6%\8VV\:\?\;\>\<\= F d|[\@\A\BK\C\D\E\F\G\H\I\K\W\L\Q\M\P\N\O% }O\R\SQ\T\U\V\X\[\Y\Z\\\]\^\_\`\a\b\c\d 8\e 8 8\g\x\h\r\i\l\j\kO%\m\n %\o\p\q'>O(\s\v\t\u *\w\y\\z\}\{\|Q%v\~%\\\\OV }O\\\\\IfWO\\\\\\\\\\%\\\\\OO\\\\\\\\ %%\\ }\\\\\\~%\\2\\\\\\\\%Q%\\\\ }\\\\\\Q\\v O\\\\\\%O%\\\\  %\\\\\u{C\{CGm\\\*\{{C{|\^Q\]\]*\]\\\\\\\\#A%%\\ F\\\\\\%\\\\|L%\\\\\\\\\ % %m\\ s\\\\\\\ R\\]]]] ]]]]U%]]O] ]] ] O] ]B]]Q]]]xw!]] ]]]]OO]wEy]]]]!!v]!]$]"]#%J]%])]&]'](  ]+]n],]K]-]?].]2]/]0/]1r:]3]>]4]5I]6]7 ]8  ]9]: ]; ]<  ]=  ]@]H]A]B]C]F]D]E^]GB]I]J ]L]S]M]P]N]O]Q]R%]T]l]U]Vm]W]X%]Y%%]Z%][%]\]]]h]^]a%]_%]`y$:]b]e]c]d$yQ~ N]f]guyB]i%]j%]k%%]m]o]]p]{]q]v]r]sv$]tK]uK]w]z%]xY]yY }]|]]}]~%Q]]]]]]}]]w]]]]]w p}]]]]]]Q]]v]]]]]g%  !]]v]]]:b]^]]]]]]]]]]] }]] m]] s%Oy]]%]]wO O]]]]]]Q s#]]v]]rz]]ZZ]Z]]ZZ]]ZZ]cZ]]]]%]]] ]]]]A]]uJB]]]]O _]]]]]]]]]v]]] }]a]]a%]]]{C]]Q%]]]]]] }%]]Q]]~]]]]]]]]%]^]^ ^^$%~^^|^^0^^^ ^^ ^ ^ ^ m }^^#AO^^^^v^^%^^'^^!^^^*^^S^^  ^"^# }^$%^%^&Q^(^+^)^*^,^-v ^.%^/%^1^?^2^9^3^6^4^5v O^7^8^r^:^=^;^< O^>^@^J^A^F^B^E^C^D%^G^H }^Iu^K^N^L^Mmv^O^P^R_ ^S^^T^}^U^f^V^_^W^\^X^[^Y^ZxxwQ^]^^^`^c^a^bO^d^e_ &^g^p^h^k^i^j%^l^m**^n^o Q Q^q^z^r^v%^s^t^u%O^w^x^y^{^|mrO^~^^^^^^^% sO^^Q^^^^OqO^^ ^O^^%8xn^^^^^^^^^d OO^^O^^^^^^%mO^^^^^^^^^^^%^^^^^^O^^Q^^^3((3^^^^^^^^^dzOC^^% ^^^^%v^^v%^^^^^^^^#P^^%^^^^ s^^{C^^^( ^^^^^^^%^^^^%  ^^  ^^^%^^  %^8{C^^^^Q s ^^_ ^^_^ N^%^%^%^%^%^%^%%__%_%_%_%_%_%_%%_ _]_ _7_ _"______v" _____=6d!d0____ %__ __%_!Y_#_-_$_*_%_)Q_&_'_( }_+_,% _._1_/_0|%Q_2_3O_4_5_6m _8_H_9_@_:_=_;_<O_>_?%m_A_E_B_D_C$_F_Gv_I_P_J_M_K_L s%__N_O%_Q_Z_R_Y_S_V_T_U{_W_X %  _[_\v_^_____`_p_a_j_b_e_c%_d}_f_h_g*41F_i_k_o%_l_m_n_q_|_r_y_s_u_t Q_v_x_wd?b0_zO_{"O_}_~ %______ v__O____%_%_%_%____%_%_%_%%_$%_%%_%__%_%$%__v ________ _%______y____{______*_%%___ }v____%]%___%_c:_a_`l_` __________ s  }__v__%_O__QO______Q __mO____a__!$________ }O__ ___ |____%___ }_ #P__v _`_```%`m````` ` O~` `9` `#``````3y```v%`O````*``Y``"`O` `!OC`$`2`%`+`&`'%`(`)`*Y|`,`1`-`0`.`/Ov `3`6`4`5%S`7`8v%`:`K`;`B`<`?`=`>%O`@`A3%`C`H`D`G`E s`Fhzh }`I`JOO `L```M`Z`N`Y`O`PQ`Q#A`R`SA`TA`UAA`V`WA`XAA* }`[`\Ovm`]`^`_yB ~%`a`f`b`e`c%`d%%`g`k`h%`i`j`m``n``o`}`p`v`q`t`r`sv% }`u`w`z`x`y`{`|%`~```v```%````v%O``````````m``` 7v``r: }````````````m#%`````` {~``%`Q`` >`````` }`m`ݤ```````````````%%```1wgu``%O````` !`rH```u%`````y }y'%``````2```%``  v````%|`````  `a``````vQO``%v```````#_&`aaa aaaaam:aa  }%a aa a %|%a sababaaaa2aa&aaaaaaOaayaa%aa OOa!a"a$a#O""w!"Qa'a-a(a,a)%a*a+:{5 Q%a.a/ %{a0a1 ~a3a>a4a;a5a7a6 Na8%a9a:OdOOdOa<a=%a?aa@aAO }aB#%aCaDaaE%aFaaGadaHaVaIaOaJaL%aK%~aMaN N$y$aPaSaQaRyQ u~aTaUyBaWa]aXa[aYaZ~ɱ~~%a\a^aaa_a`:abacyy;xaeatafamagajahaiuakal~anaqaoapyB~:~aras N$y$aua|avayawaxyQ ~aza{ɱ~~a}aa~a;xaa%yya%a%aa%a%a;xa%aay%aaaaaaaaaaaaa%%~aa N$y$aaaayQJu~aayBaaaaaa~ɱ~~aa%aaaa:aayy;xaaaaaaaauaa~aaaayB~:aa N$y$aaaaaayQ ~aaɱ~~aaaa;xaa%yyaaaaaa;xaaayaaaaaaa daaaaaaaaPaaaaaaxxwaaaa aaaaw Rvavaaaav sababaa % bbmO_bbbb sObObOb b Ob b Ob ""bObb""~"bb b bbbLbb8bb.bb&bb%bbbbb b!b"b#b$z b'b*b(eb)b+b,b-~%%b/b5b0b1%b2b3b4%b6b7vb9bEb:b=b;b< 8O%b>bBb?b@bAbCbD$$bFbIbGbH%bJbK }bMbqbNbYbObRbPbQ% s }bSbV !bT:bU% bWQbXQAbZbnb[b\O b]b^b_YYb`babbbhbcbdbebfbgYbibjbkblYbmYbobpOP|brb}bsbybtbxbubvbwI 3vbzb{b|b~bbbv%bbbb#A #Ambbbbbbbbbbbb bbb Xbbbbbb bb2bObbbbbbbbbb_bbyb\bbbwb#Abbbbbbbb՛~%$bd^ obbb|dlbb%br:bbbbbbbbb%b bbvbbbbbbb yLbbb^bbbb }bbbbbb !wbbOObbb%O%bbbc bbbbbbbbbbbbvb OvQObb%O }bbbbbb _%bcbbbbO|%cc%#mcccc% scc cc c vv c c"cccccccucc88Occ{C %cccc %Occ!ccc %$%%c#c.c$c'c%c&Q }%c(c-c)c+~c* N }c,v~% Qc/c5c0c4c1 c2c3 Q Q%c6c9c7c8*mc;dc<dc=cc>cyc?c^c@cPcAcMcBcFcCcDcEXIXIcGcJcHcI }OcKcL  }cNcO !OcQcYcRcVcSOcTcU>ЇcWcXzcZc]c[c\c_cnc`cicacecbcccdfcfcgch%cjckwbclOcmOcocrcpcqOcscvctcu%cw8cx{Cczcc{cc|cc}c~*ccvcccOcQmcccc !cccc } }cc } }cc }c }c } }cc } }v~cccccccc*ccc%:%cc%ccc%%c%cccOccccccccccccc'\ cc cc sc sc sc sc sc s sc scc s s QcccccccO  %ccc%cFccc#PccI% ccccccwccc owcc%_ccccccccccWI c%WcWOcdccccccccc RPccc~OOvcc%Ocdcdccdv Qd*ddrH$dd% _ d dd dd d%d d xOddddddQd%OddddMdd7dd1dd#dd"dd d!BKd$d0d%d&d'|~d(d)~d*~d+~d,~d-~d.~d/~~Q !d2d5d3d4Omd6%vd8d?d9d<d:d; }d=d>mfd@dHdAdDdBdCdEdFdGm%dIdJ svdK%dL%rHdNdidOd_dPdX%dQdRdUdSdTfdVdWdYd\OdZd[ QOd]d^ud`dcdadb%Odddedfdgdhybsdjdxdkdudldpdmdndov% dqdsdrbdtOdvdw'0 Qdyd|dzd{Im{Cd}d~vOdddddddddddddOOddddddddBdddddddddd%ddddd %dd dddddddddddddd~:~dd %3ddddddd1 YOdd_Qdddddd%Odd%O%ddddOddO%v }df[dedeLdddddddd%Oddddd% N#A$ddddddxnvddddddddd owOdddddvvd3deGd%dde,dd%d%d%d%$de$dd%$d$e$e$%ee&eeee %eee e%$%%e $%%e e %%e%$eeeeeee$%$ee%$%$eee$%$$e$%ee#ee!ee $%%$e"$$%$e$e%$$%e'%e(%e)%e*%%e+%$e-e5%e.%e/%e0%e1$e2$e3$e4$%e6e7e>e8e9e:e;e<e=d{d{e?e@eAeDeBd{eCd{d{eEeFd{eHeKeI3eJ3> !_eMekeNeWeOeRePeQ2_eSeVeT%eU(veXefeYeZ*e[e\e]e^e_eee`eceaebZ WedIZegejeh$zei elevemeqeneo%3%epueres%eteu$ewe{exeyk%v~ez~e|e}xe~ }eeYdef+eeeeeeeeeeeemeeeemvee%eeev%ef!efefeefeeeeee%e%eerHeerHerHrHeeeeeezzee iaeeeedzrHe% %er:er:eeeer:er:eeer:izeeeeee% N:yeeyr:aeeeeazzrHeerH  r:eeeeeeezyzee iaeeeedzrHer: r:eee%e%ee ee eeee% N:e  eeeeeezzee iaeeeedzrHe%e%r:%e%e%efeer:er:eeer:izffffff% N:yffyr:aff f f azzrHf f rH  r:fffffffzyzff iaffffdzrHf% r: }ff  sOf"f(f#f'f$mf%f& Q Q%f)f* f,f?f-f6f.f3f/f2f0f1 %f4f5%f7f<f8f;f9xf:x%f=f>  f@fOfAfFfBfE fCfD~fGfH%fIfLfJfK  fMfN w fPfUOfQ fRfSfTO#P fVfZfWfXfY· cwmf\ff]ff^fuf_fkf`fcfafb }vfdfhfefffgfifj~flfrfmfnfo }fpfq]%fsft_؉Ofvf}fwfzfxfy%2df{f|O$f~fffffv %ffffffff }fyQf =%ffOffffffVffQ 8ffffffO%ffffff !v aff!ffrHf%$ff$%ffffffff Ny$% fffffffffQff }m%ffffffff%Offwffffff%Offffffhfhfhzhfff%ffwT _ffffffffvff%OfOff~ffffffff w$f }ffO fgfffffffifffgO gggg OgQggg %g %g m~g j*ghgggghggAgg2gg!gggggggg"""ggm s }ggg %g"g%g#g$Ovg&g'g(g)QQg*Qg+g,QQg-g.Qg/Qg0QQg1AQg3g:g4g7g5g6g8g9Og;g>g<g=g?g@% }*gBgRgCgKgDgFgE$gGgJgH%ygI%gLgOgMgNOgPgQ vgSg_gTgWgUgVV }gXg\gYgZg[$g]Pg^ Pg`gcgagb% gdge%vgfgg#giggjggkgglggmg{gngygogxgpgqҝgrҝgsҝgtҝguҝgvҝgwҝҝYgzg|g}g~gggggdbg &ggggg*QgggggggOggdgg  }vgggg }wgggS!gggggggggDrgDrgDrgDrDrDrggggDrggDrgggggggg%g%gy$% Ngg }gggggg gg Oggg(gggggggggggCgg Rgdgggggggggg%g ;gg gh6ghgggggggg &OggO|ggggO }ggOQgh gggggggyghhhhhhhhhh h h hh hhhhO %hh %hh*hh"hhhh  hh hhhr:%~r:h!h#h(h$h'h%h&} h)%h+h2h,h/h-h.h0h1% sh3h4h5%Oh7hnh8hJh9h@h:h=h;h<O%h>h?OvQhAhGhBhFhChDhE(hHhI8%vhKhdhLhYhMhX hNhOhPhQhRhShThUhVhWdQhZhch[h\h]h^h_h`hahbF }hehkhfhgrhhhihjhlhm% hohhphhqhhrh}hshthur:hvr:r:hwr:hxhyr:r:hzh{r:r:h|dr:h~*hhdvhhhvhh~h%hz hhhhv !hhhhhhhhhh s shhhh%OhhhyhiZhhhhhhhhhhhhT%*hhhO%h%Qhhhh } }hh hhhhh hhhhhhmhhh5dhhhhhhhhhhORhhhhhhhhhhhhh }%hh%hh }v~ }Ohhhhhh%hhhhhh hh !hhhhhOhh(:ݗ hh%hhhhi&hihihihi iiii & ii ii %i i i yQi$iiiiiiivixN6 &ii imivviiii i i$i!i"r:Ж%i#r::i% i'i<i(i4i)i/i*i.i+i,i-d  }i0i3i1mi2mm|mi5i8i6i7O%i9i:Oui;'Mi=iLi>iGi?i@iAiDiBiCOe  OiEiF iHiIiJiK iMiRiNiQiO iPY iSiViT%iU{C8iWiXiY%i[ii\ii]iui^iji_iei`iaOibicid$%%$ifiiigvih[QikinilimQ% ioiripiq5 &isuitzuivi}iwizixiy%Oi{i|%i~iiiOiiii|ii||i|i|i|i|i|eii%i%i%i%i%%i%i%:iii iiviiiimiix2w oiiiiiiii }iii%% NiiiiiiiO%ii%%ii%%ii%i%%ii%%iiiiuviiiiiiiii%·$vii }ii Qiiiiiiiiii$Iiii#P &i &e*ijiiiiiiiiv%iiOiOOi"~Oiiiii*iivi%ii#Piiiiiiiii  v }%iiQijij%Qvjjjj  j O%jjj jj j j 2%j j &jjjjOO*jj ! jj!jjjj4jjj~,jj %j"j(j#j$vj%j&j'%j)%j+kj,jj-jj.jmj/jLj0j=j1j5%j2j3j4r:j6j<j7j9j8j:j; R  oOj>jGj?j@%jAjDjBjC%jEjF%jHjIPjJjK0jMjajNj[jOjZjPjQ }jR }jS }jT } }jUjV }jW } }jX }jY }v~j\j]Ij^j_j` }*%jbjhjcjgjd%jejf }jijljjjk &Ojnjjojvjpjsjqjrmjtju sm jwj~jxj|jyjzj{'j}x)jj  }jjjjjjOO~j%jjjjOjjj|jjjjjjjjjjjjjj!!O jjjjjjjjjjjjjjjjjjO$jjO%mjjjjjjjvjj }jjj wjwxjjjjjjOjOjOjOjOOjjOOjOjOw0%jjjj$jjjjjjjjjjjj } sO j  jj }jjjj%jj s$j% jjjjjjjj  W jx6jj &j%jj jjjjjj%mjk^jk6jkkkkk kkkkkkkkk J SIk kvk k k~ kkkk%O%kkOkk|!O@ kk&kk#kkkk N[%k Ok!k"u k$k%OQk'k0k(k,k)k*k+OOk-k.k/%dUk1k5k2k3k4e8 k7kFk8k?k9k<k:k;%Ok=k>*k@kCkAkBkDkEkGkRkHkJkI% vkKkNkLkM=kOkPkQbkkSkVkTkUkWkZkXkY !k[k\k]k_kk`kxkakkkbkhkckdOke{CkfkgOkikj**klkrkmkqkn%kokpqksktm%kukvkw%Okykkzkk{k~k|k}OkkkOkkO%kkkkO kkQkkkkkkkkkkkk  kkkkhkkhkhkhkhkhkѳhhkhkhkkhhkѳhkkk }kkvkOkOkOkOOkOkOkkOOw0 }vkkkk[LkkvkkkkkkO !kkk &Okkm#AkkkbkkkkkkkkkbkkkkkkkbkkkkkkIkIkI%kk@kkk"  vklklCklklkkkkkkOkkk%:~%kkkk}Tkkkk Qkkk{5& }ll%ll Oll;(llll l  }!l ll l  } }  llll*ll%ll/ll%ll"lllllO ll l!O sl#l$ }%l&l)l'l( }%l*l.l+l,l-  }l0l:l1l7l2l3 l4_l5l6 ow>l8l9!$l;l@l<l=Ol>l?XyXlAlB%lDllElWlFlPlGlKlHlI% lJlLlMvlNlOeGlQlTlRlS%O lUlV slXl_lYl\lZl[%l]l^ l`llallblcldlelfltlglmlhliljlllkl'>lnlolplqlrls4lul{lvylwlyylxylzyyyl|l}yl~lyyѳvvlvmllllllll#%lll sr:$%lllllll  }ll%lll%Yollllllvll%l@"lllllllllllllllllyyllllllyll2l%l lzlm!llllllllllPOZvll %lll Q3llll }O llllllllll% llll }llllll }Olmllllllllll }ll {~ llleWleWllll% slmlmmwvmm mmmmmm m  Qm m %~%mmmmmmm5~mm m2mmm }m }m }m } }m }mm } }ӈ %m"mUm#m3m$m-m%m(m&m' m)m*%m+m,m.m0m/m1m2m4mLm5mIm6mHm7m>m8%%m9m:%m;%%m<%m=yQ%m?m@mAmBmCmDmEmFmG? smJmK%ymMmRmNmO  mPmQO lOmSmTmVmgmWm`mXm]mY mZm[m\YYm^m_ %vmamdmbmcmemfmhmqmimlmjmkOmmmpmn%%mo%Qmrmumsmt%mvm}mwmymx(mzm{m|mpmo9mnGmmmmmmmmmm%mmmImmmmO mmC%  }mmmmmmrt%mmm'\ Q Qzmmmmwmmmmmdmm%mO~m|mmmmmmmmmmffmm^efmm Ommmm%mmO smmmmmmmmQmmmy }mmmm% }mm%mmm mmmmmmmmmmOmmm mmmmm%mmmmmm% mmUmmmmmmmummvmmmmOmmm%mmOKmeunnnn nnnn sOnn nn%%%n nn n QQnOnn@nnnnOnn?nn=nn<nnn'nn!(n(nn((n(n j((n"(n#n$(n%((n&(j(n(n)n1n*((n+n,n.(n-j(n/n0j(j(n2n8(n3n4n6n5(j(n7(j(n9(n:((n;(j>n>)nAnDnBnCwbnEnFnHnnInrnJn_nKnWnLnRnMnQnNnOnP{ oЇOnSnVnTnU }nXn\nYn[nZ_ċn]n^ !vn`njnandnbncd%neni8nfngnhe3X nknmnl3 nnno%npnqnsnntn{nunwnvOOnxnynz&n|nn}n~nnnnn }"n !nn Onnnn%nvnnQ#AnnnwnnnnnQn   snn=nnnnnnnnn%nnnn"n0nnOn%n%~nnnnn%nnz nn nn Nnnnnnnv%nnnnnnIwnnnvOnnnnnnnnn%n%%ynn }nn~n~YnnnnOnOnnOnOOnnOOnOmOnnOOnOnOnOnnOOmnOnnnOOnnOOnnOnOO|nOOnnOnOOnOnmOnnnvnn }no/nonooo o%oo_ooof!ho o o o o&o ooooooooZoZoooZoo!oooooZo Zo"o#o$o%Zo'o(o)o*o+o-o,Zo.Zo0o3o1o2m%o4o8o5o6o7IIo:p'o;oo<oo=oko>oco?oDo@oAQoB%oC%oEoFOoGoRoHoQoIoJWoKoLoMoNoOoPeoSoZoToUoVoWoXoYWo[Wo\(o](o^(o_((o`oa((obe(odofoeog%oh oiojC}TolouomoponooOOoqor%os#Aot#Aeovo{owoxoyoz  ]o|o}v%o~oOoOoOOooOoOoOoOoOO"oooooooo ooo(eooooooooo%ooOoxoxoooooooooo%o%%oo%%ooo%o%o%o%$%oo%o%$%%*oooooo}be}Poo>/ ooo:I:ooooooom|oooOoo &vopooooooooooooo((m#AoomoooOI%ooo%oo%ooo%%~o%%%eooooo%moooooo }oooo ovoooo%o%o N%%mopfpppp pppOpp%p p p p v% pppp%ppppppOmQppOpppm%pp$pp#p p!p"HOOp%p&yB%p(pp)pJp*p9p+p2p,p/p-p.% p0p1O }Op3p6p4p5 sOp7p8 !p:pAp;p>p<p='Q*p?p@OpBpEpCpDOvpFpIpGpHҝ%pKpupLp`pMp[pNpZpOpPpYpQpRpSpTpUpVpWpXeJ }p\p]vp^mzp_zpapdpbpc upepfpgphpi6pj66pkpl6pm6pnpqpo66pp6pr6pspt66pvppwpzpxpyvp{pp|%p}p~O Q'Myppp#pppppm!$pppUpUppppefff%ppzpppppppppppp _vQppppCpppppO%pp spp%Oppppppvppp o opvpppOy ppppmOQppOpppuppppppppOpppp%kppppppppkpppppvpp }pppppppxp$$Qpp% Oprgpqpq=pqpqppppppOpppvppQppppp%pp  vpqqQ| sqq qqqqqq Qq q q  ::%qqqqqqO qq,qq#qqqqqqqv QW%qq"q%q q!kOQOq$q'q%q&v2q(q) }q*%q+~q-q3q.q0q/q1q2Oq4q9q5q8q6_q7q:q;q< Q'q>qbq?qSq@qIqAqFqBqEqCqD oqGqHOOqJqMqKqLOOqNqRqOqPqQWbIvqTq[qUqXqVqW% }qYqZq\q_q]q^%_q`qa% }qcqxqdqqqeqkqfqjqgqhqif4%TOqlqmqnqoqp%|qrquqsqt% qvqwOvqyqqzqq{q~vq|q}%%qqqqqq }qq Lqqqqqq%r:%qqvqqqPqqqqqqqqqqqqq !qq|q Yqqqqqq%qr::qqq%x%qCqqvqqqqqqOqq%%qqqqqqqqqqqqqq Q%qqO3%qqqqqqqqqqqqqYyqqqq%qOqqqqqqqqqqqq %%%q N Oqqqqvqq !% &qr%qrqrqqqqI%qq  qq }qrqqqq }%qrB Lrrr%rr rr rr r }Tr $rr%vrrrrrrrrrO% rrrrrr }%r r$r!r"r#   !r&rUr'r.r(r+r)r*O%r,r-8r/rEr0rDOr1r2r;r3!$!$r4!$r5r6!$r7!$!$r8r9!$!$r:!$!$r<!$r=r>!$r?!$!$r@rA!$!$rB!$rC!$rFrJ%rGrHrI%rK!$rLrM!$!$rNrO!$rP!$!$rQrR!$!$rS!$rT!$rVr[rWrZrXrY }r\rcr]r`r^r_rarbyrdrerfurhsOrirrjrrkryrlrrrmrornrprq rsrvrtru% }rwrxOrzrr{r~r|r}% }rrr r rrrr_rrQrrrrrrrrO%rrr%rxwxOrrrrfr%rrrfr'r &rrrrrrrrr~rrrrrrrrr Orrr O% }rrrrrr!bvrrI%rrr%x%rrrrrrrOr%r:%r%rr%%r%rr%%r$%rrvrsrsrrrrrrrrrrځyrr|r%rr OOrr }rrg V>rrrrOrrrrrrrrrrr4rrrrrOrsrrO }sQ3ss ss ssusss s mOs ssssss R{x2sssQ%ssUssss5ss&ss#ss Os!s" Qs$s%s's2s(s,s)s*s+fC ofRfas-%s.""s/"s0"s1""s3s4#As6sHs7s:s8s9vvs;s<s= s>s?s@sAsBsCsDsEsFsGbsIsLsJsKsMsN }sPssQs~sRshsSs]sTsWsUsV%OsXs\sY|sZs[ ]s^ses_sds`sb_sa_scsfsg%sisssjspskso oslsmsn   %vsqsrQstswsusv%O*sxsz%syvs{%s|s}ssssssssmQ }ssOvsssssss s  ss#A*ssssssss s  ss s s  s ss  fpssOssssv }ss% !#Assssssssssss u ss %sssO$>ssssfsss%s$ssssss% _rss%O sssssssy Qs#PsssssyQ$ssss#Paussf|sssssssssxyQs%smss%Osssmss{yssss =Wssss%stssssss   tt O_ttttyttt t %t vt ubttttttttuttWtt>ttqttttt3tttCttƄSt t:t!qt"t5t#t.qt$qt%t&Jt'qt(qt)qt*qt+qt,qt-qqt/t2t0t16Jqt3t4JqJqt6qt7qt8t96JVt;t<Jt=t?t@tAtStBtCtDtEtHtFtG F FtItJ FtKtLtMtNtOtPtQtRBCtTCtUtV3EtXStYt[tZEt\t]trt^tqt_t`thtatbtctdtetftgftitjtktltmtntotpfEtstttvtxtwƢtyttzt{tt|t}t~t߮߮t߮ƲEttttCtqƲttttƲƲtttt33t633Eqtttttttttttt'tEtEEttEtCgCgEttEEtt'ttSttttq)Ƣtu-tu,tu*ttu)tutEtututttS tS ttttttS ttS tS ES tS S tS tS EttS ttS S ttS tS S tES tttS tS S EttS tS ES tS EtS tS tttS tS ES tS tS ES tS tS tttttS tS tS S tS ttS tS S EtS S tS ttS tS tS S tS ES tS ttS S ttttS tS S tES tS tS S tES uuuS uS uu uS S uS uuS u S u S u S S u ES S uuS uS S uuS uS uS S uES S uS uS uS 3uuubuTu u!u"u&u#u$u%3u'u(3u+ƄqƲu.uDu/uCu0u?u1qu2qu3u86u4u5qu6EƲu7Ʋf6u9u:u<u;)F|F|u=F|u>3u@uAquBqquEuFuGuJSuHquIuKuYuLuVuMuSuNuOuPuQuRuTuU߮uWuX߮uZu[u_u\u]u^߮߮u`ua߮߮ucuuduueufuquguhuuiSujuoukulunumSupuqquruusuutuuTuvƲuwƲuxƲuyƲuzƲu{Ʋu|Ʋu}ƲƲu~fƲuuEfuu3SuubbuubbubububuEbuuquuuuuuuuu߮uuuuu߮u߮uuuu߮uEququuuuH6H6uH6uH6uuH6H6uuH6H6uuH6H6uH6uEH6uquuuuTƲquuuuuuEuEuEuuwuuuEqquuuuuuuuuuu߮uuuuu߮uu߮uuuuuu߮qƲuuuuuƲuuF|uuuuuuF|ubuJuuuuuuquuufuv0uvu3u33uuv3uu3vvv33v36v3v3q3vv3vv 3v 3v 3v vv v3ff33ޑ3v3v3vvv3v3v)3vv'v3v33vvv"3vv33v 3v!363v#v$33v%v&3v(33v)3v*v+3v,33v-3v.v/33v1vC3v2v33v43v5v=3v63v73v83v9v:3v;33v<33v>v?33v@3vA3vBޑ33vDvE33vFvG33vHvI3vJ33vK3vLvM3vNvvOvdvPv\vQvYvRvUvSvTfvVvXvWffvZv[Ev]v^v_v`Evavbvc"vevyvfvovgvjvh""vi"vkvmvl""vn""vpvwvqvrߞߞvsvtvuvvߞS vxS ߞS vzv{v~ߞv|v}ߞߞvvߞߞvvvvvvvEvvS vvvvvEvvvߞvvvߞvߞvvvߞEߞvvߞEvvߞvߞߞvwKvvvvv3v3v3v3v3v3v33vv33v33vvvv3v33vvvv3v3v33vv3vv3vv3v3v3v33v3v3E3vvv3vv33vv33v3v3vvv33vvv3v3v3vv3v6v33v633vv3v33v3v3Svwvv3vv3v3vv3vv3v3v33v3vv3v33v3vv3ޑ33vv33v3vv3q3v33vvw 3vv3v3v33vw3w3w33w3ww3w3w3w3w 3w 33w w3w ww3ww3w33Tw3w3w3w33w3w3w3w33w3ww336w wAw!w:3w"3w#w$w43w%3w&w'w/w(w,w)w+w*36w-w.T33w0w26w136w333w53w63w733w8w9633w;3w<3w=w>33w?3w@33wBwC3wD3wE33wFwG33wHwI33wJ36wLwV6wM6wNwOwP636wQ6wR6wSwT66wU636wW6wX6wYwZw6w[6w\w]6w^6w_6w`wzwawb6fwcwkwdgwegwfgwgggwhgwigwjggwlg.wmwrwn6wo66wpwq6g.66wswt6wu66wv6wwwx66wyg.6w{6w|w}pCvw~wg>gMg\66w63wwVw{wxAwwwwwwwwww%wwwwwwwwwwwwwwwwww#_wSww wwwwww gkwgkgk  wwwwgkgkwgkwwgkwgkgkwwgkgkw gkgk 2ww wOwwwwwww3www }wwwwwwwwwwwwwwwwwwwwwwwx2wwwwwwwwwwwwwwwwwVwx?wwwwwwwww%%wwwwwwwwx8wx x%x%xx%%x%xxx xx x%yQ%%yQx %yQ%x xxxxx| x xx|x||xxxx|rf||x xxx||xx0x x"|x!rf x#x$|}bx%||x&x'||x(|x)|x*x+||x,x-||x.|x/|rf|x1|x2|x3x4x6x5|| x7||x9x>x: }x;x<x= & %x@vxBzXxCypxDxxExxFxxGx|xHx\xIxQxJxNxKxMxL%xOxP%%xRxXxSxT xUxVxW HxYx[xZgzx]xqx^xkx_xjx`xaxgxbxcxdxexfxhximxlxpxmxnxoWgxrxvxsxt%xu }xwxx s Oxy%xzx{%%$x}xx~xxxxxxgxxxxxx }xx:Oxxxxxx%QxxxOxxxx%$ sxOxdxdxx\xxxg\gxxdg.gxxxx% xxxxxxxxxx xx2xxrrxx%xxQ_OQxxxxxxxxxxxxxx|xxxxxxxxxx$xxy|>xx%xx%x%%x%xx%%x%x%x%x%x%$x%xxx%%x%x%x%xx%%xx%%x%$x%x%%x%x%xx%x%%x%x%$xxxxxxyyyHyyEyyDyyyyy yy yy y y yyyyey:yyyyGWXy5Wyy9yy2yyyyWWyy1y by!y"y(by#by$y%y&bIy'bIbby)y*by+y.y,gy-gbggy/y0bgb$y3y7y4y5 y6 y8`y:yAy;y>y<y=!@y?y@Vk5yByC$yFyGO%yIymyJyK%yLybyMyWyNySyOyRyPwyQw owyTyUyVyXy[yYyZ>y\y_y]y^w{y`ya oycyhydyeyfygw{ oyiyjykyl oynyo yqyrysytyyuyyvyywyyxy~yyy}yzy{y|P3yy%vyyyyOy3y3yy33yyy3y3y3y3yyy3o3oy3y3yyyy3yo3yyo33oy3y33oyy%yyyyyyy%vyyQyyyy% yyvyyyyyy yyAl yyyP yyyy&^4 yy yyyyyyy syyyy N N%%y% NyyOyOyyyyy  yy y2yyyy~5Oyyyyyyyyyyyy  QyyQu yy|yyyyyy /%y }yzyzyyyyyyO%yyyzzzzzz%%zzzz z z  z vz zzz vOzzzzOzz%zz7zz"zz%zzzQz z!Zz#z4z$z,z%z&z)z'z(#Pz*z+%z-z.z1z/z0#A z2z3z5z6z8zRz9zOz:z;z<Kz=zMz> z?zFz@zCzAzB  zDzEu KzGzJzHzI  zKzLu K&hzN&YzPzQ2zSzUzTzVzWQ%%zYzZzz[z{z\zcz]z`z^z_ !3zazbvzdzrzezmzfzgzhzlzizj KzkuuOmznzoQzpzqzszz|ztzuzvst zwzxst zysts _z|zz}zz~zzzzzzzzzz^ {{zzz~%%~zzzzz }uzzVz zzzzzzzmzz Fmzzz%zz" %zzzz }%Oz}zzzzzzzp }z } }zz } }Fpzzzp }p }zzzz  % }zzzzzzzzzzvBzBzz%)%zzzzz Qzzzz F4zzpzzzzzzzzzwbzzwbwbzzwbzwbzwbwbzzwbwb%zz%z%z%%zz%%zz%%;zzzz%uwzzzzzzz ozzzww oz{Dz{#z{z{z{ !zz{{m2{{Q{{{{ { { { { {{{{{${{ {{{{{{$%{%${{$ N${{$ N$Q {!{"  ! O{${7{%{4{&{'{( {){/{*{,{+{-{.t{0{1{2({3~/{5{6Q{8{A{9{:O{; !{< !{= !{>{?{@ !g !{B{C U{E{s{F{T{G{L{H{K{I{J{M{N#{O{P{R{Q {S {U{o{V{W#A{XV{YV{Z{[{g{\{c{]{`{^{_yy{a{bzz{d{e{fcc{h{i{l{j{k{m{n44{p{r{qW{t{{u{{v{~{w{x{{{y{zV{|{}V{Q{Q{{{QQ{}Q{{%Q{{{{ #{{{{{{{{{{{{{z{{{{{{z{{{{{{{{{z{z{{{{{{z{{{{{{{{{z{{{{{{{{{{{z{z{{{{{{{{zz{{{{{zz{{~{|b{|X{|3{|,{{{{{{{{{{{{{{{{{{{{{{{{#A {|+O{{|{{{{{{{&K&K{&&K&K{{&K&&K&K{&K&{| ||||||&&K&K||bM&K&K&|| &K| ;&K| &K&K&| &K||&&h||||||&K&h&K||&h&h&K|&K|&K|&KbM||$|| E||SES|!&K|"|#&K&&K|%|(&K|&&K|'&&h|)&K&K|*&K|-|0|.|/*|1|2|4|Q|5|:|6|9%|7 |8 %|;|P|< N|=|> N|?|L|@|A% N|B N N|C N|D N|E N|F|G N N|H|I N N|J N|K% N|M N|N N|O N% N*|R|U|S|T sO|V|W|Y|[|ZQ%|\|]v|^ |_ |` |a |c~|d}|e|h|f|g*S|i}|j||k|||l|m|n|u|o|p|q|r|s|tV|v|w|x|y|z|{#P|}||~|| _||||||%|}a|} ||||||||O||OO||O|O|O|OO||OO##|OO||OO||||||OO||O##OO|O|O|##O|O|O|OO|O##|OO||O|OO||O"~O||||||||O|O|O|O||O|OO|O"O||O|OO|O|O||OO"O|O||O|O|O|O|OO|O"|O|O|OO||O|O|O|OO|O"|O||O||O|OO|O||OO||O#O|||OO||OO||OO||OO#O|O|O||O|O|OO|O|}|OO||OO|O||OO|O|O|}OO}"OO}O}O}}O}O"}} OO"} }9} }} OO}}O}OO}}OO}O}O}O"~}}1}}#O}O}}} O}}OO}O}O"~}!OO}"O"O}$}%OO}&}'OO}(})O}*}-}+"~},"~O"~}.}/O"~}0OO"~O}2}3}4O"}5OO}6}7OO}8O"~O}:};}P}<}B}=O}>OO}?}@OO}AO#}C}IO}DO}EO}FO}GO}HO"}JOO}K}LOO}MO}NO}O"O}Q}Y}RO}SO}TO}UO}VOO}W}XOO"O}Z}[OO}\}]OO}^}_OO}`"O}b}}c}}d}"}e}fO}g}pO}h}iO}jOO}k}lOO}mO}n}oO"O}q}yO}rO}s}tO}uOO}v}wO}xO"OO}z}{OO}|}}OO}~O}}OO"}}}}}OO}}}O}}O}O"O}O}O}OO}"O}OO}}"~}OO"~O}}OO}O}}OO}}OO}O}O"}}O}O}}OO}}O"~}"~}}"~}"~"~}"~}""~}O}}O}O}O}}O}O"O}O}O}O}O}OOw!O}O}O}O}O}O}}O}O}OO}}O}OO}"~O} ! }}}}}}  }  } }}}} }}}} }~}}}d}d}%}}} s}}}}}}}}} }# } }}} }}}}{_ }}}}}}}{}}}}y}} }y}~}~v~} }~ }~~v~ }~~  }~~~ }g~ ~ ~ ~ v~v~~~%~~#m~~m~m~mm~m~~m~m~mm~~m~mm~~ mm~!~"mmg~$~%v ~&~'~K~(~C~)~;~*~+~3~,~0~-~/vQ~.vQvv~1a~2a~4~7 ~5~6v v~8~9vrr~:rv$~<~=~@~>~?v !v~A~B~D~E~F~G~H~I~J~L~~M~s~N~o~O~P~[~Q~R~S~T~U~V~W~X~Y~Z~\~]~^~_~`~i~a~b~c~f~d~e~g~h~j~k~l~m~n~p~q~r~t~u~v~w~}~x~z~y v ~{~| S ~~~~~v ~~v  ~~~~~~~~%~~~~ ~~~~~~~ o~~~~~%~~~~~~~~~~~~~~W~~T~~~~~~~~~~~~~~~~~~~~|~4 W~  Q ~~~~~~~~~e{Q~~~ Q~~~~~~ ~ ~~~~%~~ w~ ~~~~~'O  ~~~'~'~~~~ ~ ~~ ~~~ ~'~~~%~~~& &w~~* ~~rt ~~S~~3$ %%% % %%  %V%%%%%%%%%%%%%%%%%    !"#  %&) '(*/+ ,-. 012 4=5 6  789<:;U>G ?@ ADBCcEF  HIPJKLNMOQQRS UVWxXkYcZ^[\][i%_`ab  d efhgijU lmrno pQq st uwv nyz {|}~(     '%uOOOOOOOOOO~ O(%O%   "O"O   $% 7U } Q  N%O$GOw!"""#|~ ""~""~C      w QO  O 7 !  " !#$@n&8' (-)*+,u o.1/0%x22534gu67hI>9E:A;<?=>u@B CDFLGJHI%KgMOPjQ_RYSXTVUWZ\[ ]^2`iahbecdSSfgqklumqnoprtswv}wzxyY|h{| ~ oSJu   2 h$ OSp!p II$ h2vSm *O|v%%$ 7|h@w QOɓrt      |(  Q2Q.#!  "2$+%)&'(U*  ,-hOh^Q/603f1245 8q9T:J;D<?=>@A4BCEHFGCIKOLMNPQS R yUfV^W]XZY[\#[_`cabghmdeglhijkmnpoɓ }rstxuvwy|z{w}~wIQ{ױ oQ         IP%m%K%O~#b '%I%I%2222222222222#             h|*UUUUUUUUUUUUU      #A$ ~*~ *A6$2" !w22n#2n2%2&2'5(2)2*2+0,22-.22/121222234221W#27=289;:22W#<22W#2>?2@2W#2BNCG2DE2F2"2HK2IJ2w22LM22W#O2PSQ2R2W#22TU22nWXYoZh[`\3]33^3_3a3b3c3d33e3f3g33i3jk3l3m33nOopqz3rs3t33u3v3w3xy333{|33}3~33333333333333qq33333363333333333'88'33336q3333363333333333333333ނނނނނނނނނ333333333333333333Ʋ666666666666666666666h666666666336363636H   +  qSƢbEqqJ%3 !h"$C#qE&'q()*3,o-f.e/a0Hh12=3bb45bb6b78b9b:bb;b<hb>@b?hbAGBbCbDbbEFbhbbhI`hJKVLUbMNbObbPQbRbbSTbhbbhWbbXYbbZ[b\b]bb^b_hbbhbdH6cEgihjk'lqmn3EpzquƲrKhstvwSqxy){|}q~qqqVqqqqqqVqqVqqqqqqqJqqE3E3SqT3ƲƲ3qC633333633E3qƲE3hT33636"SF|qqqq bbbbbbbbbbbbh""EE"  b  Eqq33ƲKhCqqƲT D!"C#9$6%(q&')*3+/Ʋ,Ʋ-Ʋ.fh0TT12T34TT5TtC78S:B;A'<=h>h?h@h'''EMF)bGHLI''JKE'NOnPmQdRqSYTWUqVqqXqZ^[]\hq_aq`qJbcqJqeqfqgqhqiqqjkqqlqFqopqr{sqqtuqvi wqxqqyzqqi|}q~qqqqqqqqq6qqqqqhi)i)i8i8'i)6'6i Ji8FqVqi qqqq'iGi8i8i8i qi i8i)'iGqqqqqqqqFqqqqFqqFqqqFqFq'`ƲqqƢqTES)333b333T33q36333CiV3q'%3333ƲTƲ3S3b3 3333333  33 3 3qqqqqqqqqqqqqJqJ #q!"JJqq$Jq&['0(+)*Kh,/-.{C1P27)34563EƲ8)9D:A;><=)ieieis?@is)is))BieC)ieEJFHG))ie)Iis)KM)L)iNO)i)iQVqRESTUC3CSWXYEEZXE\_S]^Ʋabcdseifqghjnkql)mH6orqpqqƲtrwuvwxyz{E|}~S ߞEfXSqXXiS EEߞEߞfߞߞߞߞߞߞߞߞߞߞߞߞߞߞߞߞߞߞߞߞߞߞߞߞߞߞߞߞߞߞߞߞߞffffffff""   " " ""ߞiiiiiWC0 ,!%"#$E&)'(EE*+EE-./E1238456EE7E9@:=;<EE>?EEABEDEFGMHJI"KL""NSOP"QR""TUV"XYZh[\]d^_`cab"""efg"ijknߞlmߞߞS ߞopqS ߞEߞsqtwu'v'xyz{~|6})ƢEbCI633CCCCCCCJ)8g gq)TqqƲƲiiiiiiiiiiiiqqqqqqqqVVqqq6qqJqJq333SS EC3!bF|iCEJ3hTf" ƄƄE3SWf5b   33 Khq333T3Ƅ H6"S#1$*%&Ƣ'3(T)Eq+,-/.EEE0E2Q3K4F5B6C79C8C:;CC<C=>C?C@CCAfCCCDCCECGHIJf3LMO3N33PqRiTrUhVeWcX6Y6Za[6\66]6^_66`6ib66idSqfgikjlmnopCqEs}tyubvbwbxbj z3{|Ʋ~3333333333TƢ33363C33ƢCES363ƲESEbCTE3fjj*CƲTbBB33Jq33Ev$ '3qJ 33 qJJJJJJJ j9JVq ƲEqCbjOj^hjmj|jOhjƲh! jOjOh"#hjOh%1&('S).*+,-'b/0Ʋ2j3a4V5=687639:36;<6jE3>?@UAJBFECEDEEjjGEHEjIjH6KjLjMjNjOjPSQRjH6jH6TjjH6H6jWX`Y^Z[\]j_SH6bgcdfe33Ʋ3Shi6kmlƲEnu3opsqrtwqxqyz{~|}ƲƄ3Sq3CIE3E3CƢqCqqqqqqqqq6qqqqqqqqqqq6qqqqqqqqq6ƲqbbbƄqbbbbbbbbEbbbbbbEbbbbEb'qb6T38q'qƲSqƲƲE  E   63q3S3!33k3Ƅ q"#B$,Ƅ%q&'(*)qE+3-./=CI0CI1CI2CI34CI59CI6CI7CI8CIk:CI;CI<CICIk#>?@3AE6TDESFƲGHƲIRJKLMJN3OPQfT|UyV^WXYZ[\]k1_`eabEcdEfqgphjiqklnmoCSrstuCvwx{k@]Lz{Ƅ)}~XEEf"ffXkOkOkOkOkOkOkOkOf"ffffffEXiXEXXET߮߮߮߮߮TqqEqqq'qi qqqqk_qi i qqi qqqqi qiqqq6qqi)qq1qq qqq qqi qiq qq qqqqqqiqqqi i)qi 'qi)i)q!q qi8"q#q$q%qq&i8q(i))qq*q+,q-q.q/qq0i8q2=364qi)5i)qq7q8q9:q;<iG6q>G?q@qA6BiGCiGknDEiGFiGkniGi qIJKgL]M33NOV3PQ3R33S3T3U33WX33Y3Z[33\33^3_3`3ab33cd3e3f3W3hti33jk33l3m3n3o3p3q3rs33u33vw3x33y3z{33|}~T36qq3q, 7 F UXXXX4&444|L|L|L|L|L|L|L|L|L|L|L|L|L|L|L4 7ҏ444444 744.444 U|[ d444444444"04 F4 F4 7 U44 F 44 U U F4k}44 U dq Uq4 !  7 "  F44{ 4 d4 d44444444 !4 7 d4#&4$% 7!')4( 7*+q d-g.O/B0;1423 Fg45:64g78gg9g d4 7<?=>4 d@A d 74CIDGEF4zh 7H44 dJL4K4MN FוP\QU4RSTW44 dVYWX F4 UZ[X U4]a4^_`|L4 7becd44ҏ dfzh4hi}jwkul4m 7nopqrst 74v4 dx{yzW dg4|4 d~ dX44ҏ.W444g4k44..44 F4 74gqƲTTSF@F@F@F@F@TTTTTTTTTdTSCqTbSƄƄƄƄƄ3:44"444 7 F d4 d dg d4|L4 d4WҏW444W44k4 7 d FW dX4W   7 7  7 7  7 4 7 7 U 7 7 7 7 7 7 U 7.( "! 7W 7# 7$%&' 7)+* 74 7,- 7 7/402 71 7 734 758674 79 7 7;s<]=R>L?J@A|L4B4CD4E4F44GH44I44K dMON 7PQ|Lҏ|LSWTVUg4{ XZ4Y4|L[\4 7|L4^i_c`4ab4ҏg 7dgef4|L|L44h4|[jokm4lgn4 d"p4qr!k4tuvzwyx4 7{}|44 7~4k d!ҏ|L d d|L4 F444 U F 7|L4|L F44qqEƄEqE6qqSqƄ333q333333333333X 3333333333333333333G33F333333333333ޑ333333333ޑ3#3k3333ޑ7& ޑf33f3ޑ 3 3  333333ޑ33!33333333ޑ3 3ޑ3"3#3$3%3#33'(33)*3+-3,ޑ33./303133233435336ޑ38<93:3;33ޑk=>A?k@3k33B3C3D3E3kGkHXޑIJޑKޑޑLMޑޑNޑOPޑޑQޑRSޑTޑUޑޑVWޑޑ3ޑYޑZ[b\k]3^`k_k3a3k3ch3d#efgk3f3i3j3k3l|mxޑnokpuq3rskktޑk3kvkwk3y{zޑ3ޑ3ޑ}ޑ~kk33kkk3#3ޑ333333333333333333333333333333333k33333333333333333ޑ|]-Pg/| 8u     l9%QQ "!O#$OO&+'()*a,-./08123456781:I;D<@=>?OABC8%EFGH }JVKNLM8OPQRSTUW[XYZ\i]_^`abcdefgh=jkmnuopqrst vwxyz{}~>wK wH888*%O8v3!8888vv     Qv"          ! &#  $% &  '( ) * +  , -.  K012s34V5P6@7<89;:1=>?1 AGBCED1 F|*HMIJKL u NO1QRSTQUQWlXaY]QZ[Q\QQ%Q^_vQ`Qvbfcvdvevghijk*m8n8opqr88tuvwxy|z{}~=g w1H#Y ==== L8 =C%     8vvvvvɓ !#"$&5'1(.)*,+-/02%34%6@7:89%;*<=8>?8ABE*C*D*FIGH*8JKy$ }MoN_OZPQWRSTUV  XY*[\]^`gaebcg$1dHgfqhlij wHkwmn wq1pqrstzuvxw y{~|}C8888=888888% Ow 8\%88O188Oo W  / " 6Ou  !#($%v&'vv)*v+.,-OOv0M1?2;3846579:O<O=OO>O@IAFBDOCOOEO8GHO\OJOKOLOvNOSvPQRTUV%XYZg[b\]`^_a8cde8fhwiujmkl8nopqrstgv8x|yz{Q}~8888  %%%%%%yQ%%%%8%%%Kv s% } }*nv7QQQQQ  Q QQ QQ Q}QQQQQQQeQQ' QQQQo!$Q"#QQ%Q&QQ(2)-Q*+,tQQ.0/QQQ1eQQ345Q6QQ8M9B:Q;><Q=QQQ?@AQ}QCHQDEQFGAQ2QIQJQKLQeeN^OWPTQSQRQQQUVQQX[YQZQQ\QQ]Q_dQ`aQbcQAeQeifQghtQQtjlkQQQmQmpqrstuxvway|8z{8}~ #AY8!!x#w8888888vvvvvv*%v8vv!8$O%qL%88vv*8**% %88  8  Q6O0$ !"#%+&(')*,.-/1@2374568;9:<>=?ABFCDEGJHIKM]NZOVPSQRTU%WXY*[\vv^e_v`abv8cd88fjghiknlmopvrstu|vywQxQQz{}~8vv**8***%O%OO%OOOO%%O%%%QQgH8Hwgl    v  v88wV1$ww!  "#%%&-'(*)%+,**./0C2<34856789:;%=B>?@A8CPDMEKF%GHIJL%NO8QRTS*U6WX`YZ[\]^_aibcedfghjnklmopsqrtuvxyz{%|%}~%%*8%%****8O %vgw< %%%2%%ɓ%%O%%%**m%m   m8v %%"O%Wv*%OOOO !OO#,$(O%O&'OOO)O*+%-1./0Q27354868:9;%=l>K?D@ABCEFIGHJLXMQNO>PHRUST%VW%YeZ_[]\*^`bacdfgjhi*kmnzovpqtrs8uwxy{|}~%8%*8*8*%\ug|8$Q88=<  \   B+!g8\̿98 } 888"#%$ &')(R*,:-38./0128{C456878898;<=?8>@A%C[DJEFGHIKVLPMNOQSR***TvUvWXYZ\y]n^g_d`ba*cef%hkijlmƲospqrtvuwvCx*vz{~|v}v*8*m s8*88%Q*%%*%%%%%% sw88l!%%% }% %    w888888 "O#5$.%*&('8)*+,-8/201:34%6B7<8:98;%%=?%>@ACIDGEFHJMKL8qN8P[QRVS%TU%WYXZ\f]c^`_ab8deghijk%mn{oxptqrs8uvwyz8|}~8 8{C888* 88%OOOOO  OOO%*%88%6*886 QQQtQQAQQAAQQQvtQQ}QQQQQeQQQQQQQQvQvQQ Q QQt 0 QQAQQQ}QQQvQvQQQ, &!#"QQKw$%Q .Q')(QQ*+tQQг-Q.Q/QQ1A26Q34QQ5eQ7<8:Q9Ql;Qt2=?Q>l.QQ@QBLCHDFQEQZQGQIQJKQ+QMQQNOPl=tQ+RQSQToUQVQWQQXYQQZQ[Q]^_n`gabcdefhijklmopqr{sxtvu8w8yz|}~W*v%vvv*gg ******888T888888888g888888888888888888888888888C888888888888888wO     %*%8'%%%%%$% $%!"#%%%%&%%(4)/*-+,%%.%~02%1%3%5679>:;<=w?C@ABwDJEHFG% }I% }%KML%NPlQcR_S[TWUVXYZv\]^`8ab8dge8f8hikj%munopqrtsvxy|z{8}~%%8H8vvvv%88838888 888%C888 8Q 8%>8    8 ,'8*6*! 8"$#%& } }()*+*-5./201346:789;<=%?W@FABCDEGHPIMJKL8NOQTRS*UV8XeY^gZ[\]_`acbOdfygrhlijk*mpnoq3st6uwvxvz{|~}*%***86 }1*#A#A#A#Av% }*8**%6%*     8$! 8"# %&'()+B,7-.3/10245689?:<w;%=>vO@ACDEFGQIJKLMcNOZPVQSRvTU%*WXY[`\^]_ }ab }dmefgjhiklWnyovpsqr%%tuwx%z}{|~g=*W=%Y1|g*Q8Q*QvQv3M>  O   s  }1+& #!"v $%')( }v* },-/.q02;37456C89:<=8?D@OAOOBCOO EOOFGOHOIKOJO|LO"~ONOPiQXRSTVUW }Y]Z[\*^c_a`8b8dgef }h*6juklrmpno*qst%vzwxy{}|~_mOmmWOO*6 }* W }668858{C888888{C8888888{C{C{C8888888{C888888{C88888{C8888{C888888{C8{C{C88{C8888888888{C8 8{C88888 8  88 {C88888888{C88888{C8-%88{C 8!"88#8${C8&88'8()88*8+8,8{C.8/880812838848{C67:898 ; =>?4@ABnC`DPEIF6G6H686J6KNLM666O6Q[RU6ST66VYWX66Z666\]_6^66aib6cd6egf666h86j6k66l6m6opqyru6s6t6vw66x6z}{6|666~666766666666666666666|Y8888888888888{C8888888{C88888{C8888888888{C88888888888}8888888{C8888888{C8{C8{C888888888{C88888888{C88888{C888 88  8  8{C{C88%8888888888t8888 88!8"#8$8{C8&88'(.8)8*8+,8-8{C88/0281{C838{C8567i8R9I:A;<?=>6a@BGCEDOF }H }JKNLMWOPQSbT\UXVWOYZ[!]^`_a8cdeg%f%h8jk~lumrnpo Qqstvywxz|{6}66663666636E6666q666663666636636666336633W%$%II*8C v=%%%%      *O.  }68 }!"#($&%!'T)+*%,-Wv/80412%3%%%567%9@:<;=>?AKBHCFDEOGIJ*LMN*8PxQlReS]TZUWV|XYO[\^b_`a%cd%fghji%kmrnopqstuvw{C8{Cyz{|}~{CTa8v**v% sO  OmvW%%   *W  *Ƅ sC! W"$#% }&F'2(.)*,+8-%8/0183>4756w8;9:W<=W?C@ABDEQGIHJPKLN }M%O%QRSUCVWXoYcZ[^\]%_a%`%b%dkehf%g%ij%%l%m%%n%pu%q%r%st%vw{xzy*|~}QQOO } ! ! ! ! ! ! ! ! !QQQQQQ!v }%%f%% %% %%%%%v%%%%vv%f%%%v%%%%%%%%%%%%%%%KK%%%K% g%%K%K% %%%%ڬOOID|I%O%% % % % %%%%%1%%*#% % %!$"#%%%&)'(%*+%%,%-.%%/0%%283645%%7%L%9=:<;6%>A?@%%B%%DJEFGHI8K|L\MNXOTPRQ*S sUVW%YZ[v]o^_j`abcdefghigkml8ngpxqurstWvvw }*yz{%}~gggggg33 }8 }m33Q%%v*v:lLlL     u% 5/ *!"%#$8&('w)w+,-.01234%6o7T8G9>:Q;Q<=Q2Q?B@AvQQACEDQQQFQ2HPINJLQKQ}MQQOQtQQQRQSQU_V[WQXYQQZQt\QQ]Q^Q `fadQbQcvQeQQgihQQjlQkt2mn2t}Qpq|QrsxtwuvQQeeQyQz{eQv}~QQvQ2+aAQQt}2vvQtQQQQQQtQQQQAQQ}QQQZQQQQAW*W8 s vWV***%%%8m      %%*.* }"&K !E#*$'%&:E&K()$$&K+,-$$/>07142356 8;9:<=?E@ACB%D%%FI%G%H%JTK%%LMNOPQRSg%U%XYZ`[\]^_afbcdehijklmn}ovpqrstu wxyz{|~%%%%;%%%%%%%%%%%%%%% }%*%KwQ***8888O[8w=88*C2%8     a83*" !#$8&+'()*,-.0/13459678:@;=<8>?aaABv*D}EhFUGMHIKJ!LNQOPRSTWVaW\XZY[]_^`8becdfgitjknlmopqrsguyvwx }z{|Q~68O%88%v88qvC8 }vvvvvv  O3* s8      jbR=(d"  !#%$8&'O)0*-+,.Ƅ/Ƅv182534678O9;:O<>J?@CABDEFGHIO.KOLMNPQ8ST^UYVWXZ[\]v_`a cdefghiklmvnopsqrtuw|xyz{}~*QQQQ88v }vW88888888888888988888888O888888888888888888888888888888888 8 8 8 8k<)333333$3# 3!"O33%3&3'q(3*1+,/-.*025346:798$**;*=W>K?E@CAB33D33FIGH3T6J33LQMON333P3RUS3T33T3V36XcY^Z\[3S3]33_b`a333df3e3gih33j336l6mnopuqrstQl[v~w|x{yzlk-lzlQP+},X7KT7Kܞܞܞܞܞܞܞܞܞ7lklF77Klllk766Ql,,(l,J,:(T76777777770t3%B4BBB B B B B BB dB o"!:J333333333 o3#$$#A&0',3()+3*OvO-/.6؉$3123q34e5F6=7:89O%;<!f>C?BO@A~ %DEvGSHNIMJKL*OO%P !QR yB%TYUXVWZ[%S\]dx2^_`abc>x2wfn6ghji$klmv/3opqr$suvwxyz~{|}#YHmO }W838O%W83*OOƢ** O      383' $!"#$%&*(+)**,.-/12v3N4:56Q7Q8Q9QQ;D<@=QQ>?QQ}QAQBCQELFIGHJK8M*8*O_*PQXRU*S*TVW6Y\Z[]^`qajbgcfdehiklnm8opW*rs*t*u*wxyz{|~}8 }QQQ*}O88OO888%& }j&gBQQ QQQQQ   Q QQ8*" !#$%b'@(5)0*-+*,***./123467:89;=<8>?%%AWBNCHDEFGILJK* }MORPQSTWUVX`Y\Z[]^**_adbc*egf!!hikrlmnopq8styuvw8xz{|}~ gd%O } }8%88v %8C8O88 }-     3  3v*!"(#%$&')+*3,.K/7012534668B9<:;E=@>? 6A } }CF }D }E }GIH8JQL[MRNOQPSVTUWYX8Z8\`]^_abcef~gxhsimjkl8nqopr8tuvwyz{|}88 88=u 6W |QQQQQQQQQQQlwwwwwww w w  w wwww{C{C88, %!#"$ }8 }&)'( }%*+8-6./0123457:89;<v6>e?V@AFBDC8EGSHKIJ LQMNOP=RwTUCWX\YZ[8]^_b`awYcd$ fgrhmijklnopq st}uxvw8y{z|~ % s83 sO88OI7 *|33% }*v86O3%   8  **CC3* +!("%#$W&' })* },1-/. 02435688C9>:;<=?8@AB DEFGHWJKL{MtN[OZPQRSTUVWXY\`]^_avbkvcdvevvfgvvhivvjvlvmvvnovpvvqvrsvvuxvwyz2|}~O%x3 % Rv sQy%%lB }QQQQ}tQQQQQQQ+QQQQQQtQQQtQQQQQQQQQQ#Q2QQQQQAQQQQ  Q Q Q QQQQQ*QQ2QQQQt'Q&QQQ Q!"QQ#Q$%QQlQ(QQ)Q+4,/Q-Q.Qe021QKwQ3Q5Q687QQ9Q:;Q<Q=Q>Q?Q@QAQQCD]EMFIG%%H%J%KL%NS%OP%Q%R %!TVU%WZXY [\^i_%`baOced%fhgO%6O%jk%lmOn%opw%qr%s%t%u%v%%lx%y~%z%{%|}%%l%%%%%lv } r: %%8H1#|#18%$%O8A8=\R\5P[9*8|8%W8W     gg   1!Hu 1"$#K &'()8+:,-1./082347 }56 }89g;<L=F>?D@CAB s 8E GHKIJvOM8N8PQRSTiUcV^QWQXY\Z[QA]QAQQ_Q`aQQbQQdQeQfQgQhQ}jzkplQQmnQoQQAqQruQsQtQ}vxwQQQy}t{|QQ}~Q2QQQQQ  wTwT  wT     wTH`wTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwT#HgHH K8=86{C   {C{C  {C{C8{C{C{C{C{C8{C{C{C8{C[[[{C{C[0%{C {C!"{C{C#{C${C8&+{C'{C(){C*{C8{C,{C-{C{C./{C{C81{C2{C3{C{C45{C8{C7{C{C89{C{C:{C;<{C{Cj>D?@ABC8EFGHIJLCMNObPXQRUST8VW /3Y]Z[\^_`aczdnekfhgOijWlmotprqsuxvw{Cy{|}~*** } s%*8m !$W* %u88W }*O886%{CC    +"% !*#$(%'&)*,7-2./01834*568?9<:;**=>*@AB%DEsF^GTHLIJK8MPNO8QSR86UYVWXZ[\]*_n`jagbecd*fOhi8klmopqrWtu|vwxzyOO{O}~****OOOO<~mw   1111111111111111111=    H/"8 W!W#,$)%'&(a**+a*-.30512346B7<8:9%;*=@>?ACDFEGIdJUKNLQMQORQPQQSTV\WXZY*[]`^_abc%esfoglhjik*mn8pqrWtzuvxwy3{|}8OOOOOOOOOO%888888888888888188888888888888888888g8888888888{C{C{C8{C{C8{C>88*88`  \O\O \u W (C !"%#$W&'8)@*7+.,-aa/20a1a354W689>:<;*6=?ASBKCHDFEG8IJ8LPMNO*QRWT\UXVWYZ[*]^_!abcdrenfjgh8i8klm8opq8st{uxvw\yz|}~88*8WW888*C{C!8*****8|****b 3  **3 6 3*u;& !"#8$8%88'()*+,-./3012 g 45678:9  <a=G>8?@ADB8C88E8F8HVIJKLMNOPQRSTU WXYZ[\]^_` bcqdiefghQjmkl8nop$rst8vwxyz{|}~88%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%O88888888888888888       1#88888 !"8$)%&'(8*+,0-./=123456789:;== >{?k@_ABCVDIEFGH8JKLMNOPQRSTUuWXY]Z\[8g^g`ca8b8defghijlm}nospq8r88tuyvwxCz{8{C8|{C8~8  11w HH   1 $ W̿\\\=̿\\$g$  U|>#HH148     *"8 }% C!8#+$(%&C' )*,0-.3/3C3123*5Z6G7@8;9:*<>=*?wADBCEFHQIKJ*LOMN*8P83RWSUT3VWXY8[m\c]`^_ab*diegfh*jklnropqUsvtu8wyxz6|}~=Y*8886888888*88 8vv8vv8  <    ` 7w1) !"#$%&'( *2+0,.-97\\/91\PeK+34\u56O89:O;E{C<={C>?8{C@{CA{C{CBC{C{CD8{CFKG{CHJ{CI{C8{C8{CLMN{C{C8PWQT{CRS{CG{C{CUV{C8{CX[Y{CZ{C8{C\^]{C8{C_{C[{Cambcdefghijklnzotpsqrwm%uxvw8y{C{{|}~8\\838****888W***W8aa88    \ 1PPPPPPPPPPPPPPm3P!    8"#$'%& ()*+ , -/ .  0 283S45a6Q7K89B:;<=>?@A CDEFGHIJLMNOPRT[UVWYXZ$8]^x_k`fabc88de8ghij=lmnopqrstuvwyz{|}~w HHHH888888*8888%!! 888g888w    w  #    C\\\5\\\\\R\\R0 !e"e#$% s&2'(*)(v+v,-/m.|c01m}%3U4C5;69783:3<?=>@AB ODJEIFHG m>KOLMCNWPRQ%ST }VbW[XZY%x\_]^wbwT`acqdkehfgv3ij3.lnmopv3rysvtumwxLz}{|%%~Q2mmmmmmCOٻOmv mm%mm%%%%%%%%mQmmmm%mmmmm }mI$I%%I'I IOmmm mmmm" % !mmmm R >1(vvv&vv # v J  m_JHHJmiHmiHmiHJm_m_HJ !JH"JJ$%&'}Tvv)v*-v+v,v.0/vvv273v4v5v6vL6v8v9:<;vv=vv!?J@vABvCFDE %GHI vKvLvMNPvOm6vQvS%TUX%VW%%Y%Zb[^\]O_`a4 7 7cdOSf=gQhijkslvmpno6q rv!vtyuvQmvwxvz|v{v}~vӵ$v v%$v$ !v !6 vO%Q6vvv6 vvOvjvv%vq  vWvv%vv%vv%OO%%%=OvOv=!v!vvvvvv QQvI  xJH  %  Ї  3vWv(||Qm6666 6!6"6#mx$6%6&6'6mx6m)*6+mm,m-.m/mm0m12m3mm45mm78;9:% }<·>O?DQ@AQBQCQQEIFQGQQHQQJKMLQQNQQP[QQRVQSQTQUQWYQXQQZQ\`]QQ^_QQaQbQcdQQfghZijk|lsm%nro%pq%%t%uv%wyxz{v%}~%.%%m }O%%O%O%v%%""~v%vO%%%%O }Ov } }%%%%%%O%%%%O%v%v%" v%j%UvW%vCQ    QO v%!$v $xO%r:-% "!%#$r&)'~(%**+,%%.L/>071423Ov56O%v8;9:vQ<=%mQ?F@CABOQDEGIHQ%JK% }MUN%ORPQST%%VWXY }%%[\z]^%O_l`facbdeSOmgihQjk }vmtnqoSp|rsIuwv|%xy }{|}~% Q%%fRױ ox2OO#A%%)%%%'0FyOɓV49N%O%Om% %%%#A% } }lO% }O'y#Py#P4.' Q]"lwEz C$%Q%%%%% OOSQvOT% ~ y % % %%QQv|%%%O{B{" !#&$%%'(%%*Z+K,4-1.%/v0%23QO5<687%:%9;%:%%v=D>A?@BCOEHFG%QIJ%L%MNTOQP RSQ%UXVWOOY%[|\n]h^bf_`a%cedfg%ij%%klmOQowps%qOr%%tuvQx%%yz{#A}%~%%%%%%O%Q%%O%6%66%%6%v,%%%%%v%%%%%%''Y %v% H%%d%%}Ut }%%% }%v%%OQ%%O%%&  O  O  }        O%  %%!#"fwf$%#A%'%()*+%-.f/N0%1@29364578v%Q:=;< }O>?O%AGBDCQEFOOHKIJ%LMQO%PQ`RISTUIVIIWX\IYZII[ImI]I^_IImadbc%O%%e%gh%iqj%knlmvopmrts%uv }w } }xy } }z{ }| } }} }~v~ }%%%m%Q%mO sO% 6 o%6%6%62% }vm%%%O>O%Q|OOOOOOOO"~Qvv%B_ }m%Qf"%d% ! }%%%  %%% %   d%%%%%% }%% %#P!%#D$4%%&-'*()yQm+,m%.1/0%23q%56=7:89;<% /O>A?@vBCv/EPFN%GHKIJ/LM }O%%O%Q`RYSVTUmmWX% }Z][\OO^_/%8%abd%c%eghi}jskplnm%%o%qrv%tyuxvwv%z{|%%~d%dK%O %$% %%  {~%%%OOOK % %%m%% O% _%w%%%5 %%%%%%%%%%%%%% s%_||%  s% %%%%%%%%%%$O   O%%%%%OQ%% } % !."#O$%&'()*+,-/2012346y7e8X9C:@;=<%%>?}T%AB }UDGE%F%~%HIJY KL MNSOPQRTUVWY_Z[\%]^ 7&`a% =bcd%'%fmg%hijkl|* nqopyrstxuvy wy3Y%z{|} ~qqqqqqqqqqqmq%%vo6QQQQQQQQm8%66 }    vvv }3 %m !$%yOOOe#% tB|rHrH mB v  %  |rH%r:%% rHamQ|mmmAv f!B"2#*$'%&()O+.,-%/01v }3:4756O89O;?<>=%B%@AO%CSDLEIFHGJKOMPNO!QRT]UYVXWZ\[v^a_` }vbdc%Oeghxipjmklvanoadvqtrsm }uvw%Qyz~{|}OO mC^ }% % }QO%|q vQ#%OO%QQQQQQQQQQ%%$2% g  %%%Ov2%Q| %d  O  %Q }%! %v }x" $w%a&R'-(+)*,.O/Sf01f23945678E:B;?<=>E@AECKDHEFGEEIJELMNEPQS\TWUV sXZY[]^_` bhvcdg%e f\ isjokmlOnOpqrtuv'\xyz{~|}OO%%%% |{~  n%O%vv% sO%O%{~* q &%v!| #%1~$ o% $}5ZO$$% } o{ R o/I$%z,     X IIIIIIIXIffff o!)"'#&$C%'%(O*O+O-K./=06132%45%7:89L;<>D?B@A }Ov%CO%EHFG%IJvL]MPNO )Q\RSTUVWXYZ[  ^g_d`bacPef hiljkIO om oo°pŒqrwsQtQuvex~y}z{|%O%v€‚ƒ F„…m†m‡mˆm‰mŠm‹mUm Žœ–‘O’•“”ɓ—˜™%š›IžŸ Q¡¢¥£¤p s¦ª o§¨©Q «®¬­~ N¯&&±²»³´µ·O¶¸¹ºm ]¼½¾¿%O%Q % QmQ6 O&>{C$%% |% !%OOm6( !xÍG'     %mQ Q!3%o } b 3Q"#v$%&m (=)/*.+,-! OO061423O5m7:89v;< }O>?@DACBӵ %QEF%z%H_IWJPKNL%M $Ov }QTRS%vUVm X[YZQ\^]O`xapbicfdevO3gh%jmkl% }no }qtrsQuwvmOyÇzÀ{~|}Q% }ÁÄÂà } ÅÆ%ÈÉÊ%ËÌmÎÏÐôÑâÒÜÓÖÔÕ%×ÙOØO%ÚÛ%ÝáÞßà2Q%ãïäêåçæfèé4wbfCëìmíîmðóñò;( Nõöý÷úøù~%$ûü>o3þÿBwB{@BBB F$vO%vQOxQxQ%| NmH!   O  QvQ%vQ  %"5#-$(%&'T N N)+*,./201 34v6@7;89:Z<>=#P?vADvBC%~EFG sIeJ_KTLNnMOQP }RS*U\VYWX*Z[*Qv]v^ }*`abcdvfoghlikjv }Omnm%psqr tuvw yđQzQ{|Q}Q~QQQĀQāĂQăQĄQQąĆčćĊĈĉQċČĎQďQĐQQĒēĔĩĕĞĖěė }Ę }ęĚ  } NĜĝ }%ğĤĠġ% }Ģ }ģ }ĥĦħ} }Ĩ%ĪīĹĬijĭİĮįıIJmĴķĵĶvĸv~ĺĻľļĽ%ĿO } } } } } }% s }%OO }y% } }% }3%rH%~%% }O }3 mmmmmmnm   qB BBBW8 f+#Om %O!"% }$v%(&'Om%)*O,v-v.0v/v%12%v4\5K6>v78;9: }O<=vOm?F@CABDE%GJHI%v } }LTMvNQOP%RS%QvUVYWXOm%Z[vm]b^v_v`vavOcfvdevgjhi#AkmlvvnvpOqrOOstuŔvŇwŃxy|z{8 }~ 88ŀŁ ł 8 ńQ Ņ ņ%ň ʼnŏŊŌQŋ vōŎ O ŐŒőQ~Qœ Q ŕŢ ŖŗŞŘśřŚ }vQŜŝQmşšŠ%ţŽŤźťůŦŧŨũŪūŬŭŮWŰŹű ŲųŴŵŶŷŸW Ż%ż2%žſ  %   B        % % UOO|OwT OOOOO;OO"OOO O O  O  O Q  OI OO%O7'OOO% % $!"# }Ob%&%%O(.)+*O%O,-%O%/0%1423OBBO56OO8E9@:=;<%O> }?%ADBCOO%OFMGJHOIOOKOLWNQOOPOORST/VƗWxXgY`Z]%[O\O^_IOOadbc%Oe _OfO%hriojmklOOnpqsutO%v%w%OyƉzƁ{~|O}OOƀOOƂƃOƄƇƅƆ|xAOƈOƊƓƋƎƌOƍO%ƏƑƐOvOƒOOOƔOƕOƖOƘƶƙƨƚơOƛƜƟƝƞ}p,YƠvOƢƥƣƤOOƦOƧOƩƲƪƭƫƬ{~ƮưƯƱ } QƳOOƴƵOƷƸƽOƹƺƼƻ QOO sƾƿa ! sOOO QOOO  OO"~OO         OO% m d4|[ d f%v n n' n'"~v   } $ O O  k ! !"~%% } }v#  O0!"OQ$*%(&'v%)O+-O,./#A%r1)234J56789:>;<=m?@ABCDEFGHImKPLMNO3QRSǝT|OUVeWbXOY\OZ[OO"]OO^O_`OOa"OOcdOO"fsgohOiOjOkOOlmnO""OOpOqOrO"OtOuvOwOxzyOO"O{"OO}~njOǀǃǁOOǂ"ODŽODžOOdžLJOOLjljONJOONj"OǍOǎǗǏOOǐOǑǒOOǓǔOOǕǖO"OǘOǙOOǚOǛǜO"OǞǿǟǼǠdzǡǩǢOǣǧOǤOǥOǦO"OǨ"OOǪw!ǫOǬǭOOǮǯOOǰODZDzOO"~OǴǵOOǶǷOǸOOǹǺOǻOO"OǽOǾO"OOOOOOO"OO"OOOOOO"OO"OOOOOOOOO"OOOOOOOO"OOOO"OOOOOOO"O"OOOOO"OOOOO"OO"O"O"    vv vvvvvvvvvvvvvv   != }"# }$:%9&.'()*+,-M/z 0'\'\12'\3'\4'\5'\6'\7'\'\8'\;<*>?@ȏAcB[CMDIEGF%HJKLNTORPQOS%UXVW vmYZ }\]^`_ Qab }%detfmgjhi }%klnqopOQrsuyvwx z}{|O%~ }%ȀȉȁȅȂȃȄOȆȇȈ' ȊȎȋȍȌ_ }_vȐȷȑțȒȓȘȔȕȖȗ(:%șȚȜȝȳȞȡȟȠ%Ȣȣ%ȤȥȬȦȩȧȨn6nFnUndȪȫnsnnnȭȰȮȯ>nnnȱȲnnno ȴȵȶ3ȸȹȺȾ%ȻȼȽȿ !m33| &%QOv   3v ! O%z   %  O O #PVF#P.v !#"$%%Q'( s*Ρ+ɐ,W-;.%%/%0162%3%4%%5%7%%8%9:%%<D=%%>%?@%%A%BC%%%EFLG%%H%IJ%K%%MR%NO%%PQ%%%S%TU%V%%XoY_%Z%[%\]%^%%Q`ea%b%c%%d%f%%ghli%%j%k%m%%n%pɀqy%rs%t%%uvx%w%%:%z{%%|}%~%%%%ɁɂɈ%ɃɄ%Ʌ%%Ɇɇ%%ɉ%Ɋ%ɋ%ɌɎ%ɍr:%%ɏ%rHɑ|ɒɓʩɔɕɖɵɗɦɘɟəɜɚɛ }%ɝɞɠɣɡɢ %ɤɥ%ɧɮɨɫɩɪ%Oɬɭ  ɯɲɰɱ%ɳɴ Oɶɷɾɸɻɹɺ% }ɼɽO OɿvmvO%O } _Ov }%2O }m%%%QQ Qm  vO  Q }R3$Qvm!  s"#,Q%,&)'(%*+v }-0./O%12O 4C5<6978QO:;v=@>?% mAB%DKEHFG&>vIJbLOMNv%PQSʍTqUjVYWX %Z[A\O]d^a_`Z#A}bc2etvehfgQiZZknlmmopOrʆsutevw QxyBzʀ{B|BB}~BBB sʁBʂBʃBʄBBʅ{5Bʇʊʈʉ%Qʋʌ%ʎʚʏʓʐʑʒmOʔʗʕʖ }ʘʙvʛʢʜʟʝʞʠʡmʣʦʤʥ%ʧʨ ʪ6ʫʬʭʼʮʵʯʲʰʱ%O ʳʴv ʶʹʷʸ_vmʺʻxʽʾʿ%O%#AOm%% N N N N N: N %Om%%%|% #POr     v }%O Q' %!$"#3% %&(/),*+Q-.m0312$457ˇ8a9S:L;><=OQ?@$ ABCDEFIGHeJKeMPNOv%Q%QRO !T[UXVW s%YZmO\_]^ }O3`bqcjdgefvO2hi 3knlm }op Rrˁs~t}uvwxyz{|ˀ }'˂˅˃˄ O%ˆmˈˮˉ˟ˊˑˋˎˌˍ#A }ˏːO˒˕˓˔d }˖ }˗˘˙˚˛˜˝˞ˠ˧ˡˤˢˣ˥˦ }˨˫˩˪ˬ˭m%˯˾˰˷˱˴˲˳OQ˵˶%˸˻˹˺O ˼˽ O˿%O s%/%O%M OmwT%aCm$ S     y yQ%{C{CG ^!M"@#)$%2&'(|*?+<,vv-.5o/0o1o2oo3o4oo+6o7oo89oo:o;vo=>#P!AGBCDEFKHLIJK O%ONXOUPTQRSO%VW Y[Z\]%O_l`facbde% }gihjk%mtnqoprsuwvx{Oyz}͚~ ̸̟̀́̒̂̃Q%̄̋̅̈̆̇% %̉̊O }̌̏̍̎̐̑3|O̗̖̘̙̓̔̚̕ }Q̛̜̝ ̞s  ̨̡̢̧̠̣̤̦̥̩̲̪̮̫̬̭ra̯̱̰v O̷̴̳G̵̶$&K̹̺̻̼̽̿̾P !Uv%O|3 Q%O vr%%%O%%3v||%QO O }O%%Qmv !Q  p P   O%vv v O4%" !#$  }x&-'*()yO+,wxQO.1/0 }23v5B6A%789:;<=>?@OCIDGEF%HOOJMKLONOO QoR]S[TWUV|%XZY% }O\ } }^a_`ѳ bcmdefuguhuuiujukul|*unp̈́qvrstuo1w~x{yz|3|}o@%|͂̀́̓%͓͍͇͈͉͆͊ͅ } }͋͌  }%͎͑͏͐ } %͒%͔͕͖͗%͙͘O͛ ͫͨͦͣ͜͟͢͝͞͠͡%ͤͥ3 }Qͧ% }ͩͪ%ͬͭͰͮͯ%ͱͲ͵ͳʹ }ͶͿmͷ͸v͹vvͺͻvvͼvͽ;vvm%  }v%v% } W%%O"%O%dW3m% } !|%m%     Z6$xaZO xxx!x!"#  sU%1&*'()%+.,-%/0% 23%45!!7M8?9<:;m=>%@GADBC sEF }HJI:KLv NQOP !%Q%RVST%U WXY{` ][r\a]^̿_`Q!bocjdgefm%hi#AQ%kl%mn%pq|s΂t|uxvw%y{zv%}΁~%΀/%΃ΐ΄Ί΅ΈΆ· %Ή%΋΍Ό vΎΏ  }%ΑΒ3ΓΔΠ%ΕΖΗΘΙΚΝΛΜCΞΟC΢CΣήΤΥΦΫΧΩΨ*Ϊ*άέ*ίηΰδαβ*γ*εζθ@ικλμνοξ         %%     %  %i C+%"% !~#~$~rH&(rH'rHr:r:)*r:,^-.ϑ/k0Z1K2?394756O#PO#P8O#Pz:=;<#POO#P>#PO#P@EACBO#POODOzFIGH#PO#POJ#POzLVMRNPOO#POOQO#PSUTOOzzOWOOXOYO.[e\b]_O^#PO`aO#PzOOcOd#POfhg#P#POOijOO#PlπmwntoqpOzOrsO#P#POOuvOzOx{yOzOO#P|~O}OzOzOρϊςυOσOτOzφψχOzOOω.OϋώOόOύO#POϏOϐO#PϒϓϱϔϭϕϢϖϜϗϚϘϙz#Pz#PϛczcϝϠϞczϟJccϡczϣϪϤϧϥϦOczcϨϩOczccϫϬcOccϮcϯϰczOϲϼϳϹϴϷϵ϶z#Pczzϸ#PcϺccϻzJϽϾcϿzOcczcccczcccOcOccccTOOO#POO'M#Pz'MOO'MOO'MOOzOO#PzOO'MO<  zz.zzzzzz.zzzzzz  zz. z zzzzzzzzzzz.z.z!0"'O#O$%&zO'MO(-)+*OO'M,O'MO.OO/Oz18z236z45z7zz.z9:z;zz=Z>P?Z@LAGBDCzzZEFZ'M'MOHJzI'MZKZOzMZNZOZ'MZQXRUSZTZzZVWzZ'MZY[zZZ'M\Z]zOZ_Ы`БaЅbzcqdhefgziljkzcmnzopczrswtuzvzxy'MzOz{|}~'MЀЁЃЂzЄzcІЇЈЋЉЊzZЌЏЍЎzzАzВОГКДJЕJЖJJЗИЙJzcJЛJJМНJzJПРШСcТХУOcФcOЦЧczOcЩOЪOcOЬЭЮЯалбзвд'Mг#P'Mеж#P'M'Mzикzйz'M#P'Mмнпо'MzZ'Mz'M'M'Mz'M'M'M'MZ'M'MOZ'MZ'MZ'M'Mz'MZ'MZZ'M#PzZ'M#P'M#Pz'M#P'Mz#P'M'MzZ'M'MZ'M'MZ'M'M'MO'MZ'M'MZ'M'MZz'M'MZ'M'MZ'Mz O OOzO  OO'M OOOOzOO'MOOOOz3&"OO'MzO !OO.O#O$%OzO'+(OO)*O'M#P,0O-./O#P'MOO1O2'MO48O56O7O'Mz9<O:O;#PO=>O#PO?O'MAB**DTEF s GLHIKJ q$MPNO   QSR1 $UVWѲXѓYzZn[a\_]^&K&YC`Cblc*&defghijk&K*m%oupsqr$oN&Kt#&Kvxw*$*y&K{щ|т}р~&K&Kс*уцфх&K&KчшVVъѐыюьэoN&K*я&Kёђ*&KєѦѕљіј&Kї**%њџћѝќ*ў*%ѠѣѡѢ$CѤѥ$"*ѧѨѭѩѫѪ&K&KѬ&K&KѮѰѯ*&Kѱ*V&KѳѾѴѽѵѺѶ%&KѷѸѹ%ѻ*Ѽ**xѿ**V$$**$o]&Y%S*~Kk/v     wEwEM$vv !v"vv# v%6v&'v(+)vv*v,vv-.v/v0vv12v3v4vv5v7vv89v:O;D<=>?@ABCEFGHIJKLNeO`P^QVvR%STUvWZvXYv[]\vv%vv_mvvavbcd%Of{gvhnikvjvBlvmvvospqvvrvvtuvvwvvxvyvz v|vv}v~v1Ҁҁ҂O҃҄Ҟ҅҆ҙ҇Ҍ҈Ҋ҉ }ҋD<ҍҏҎ%Ґ%%ґ%Ғ%ғҔ%ҕ%%Җҗ%Ҙ%$%%Қ%қҜҝv%ҟҽҠүҡҨҢҥңҤO%Ҧҧ%vQҩҬҪҫvQҭҮm3ҰҶұҳ%Ҳ%ҴҵҷҺҸҹ%"%һҼ }Ҿҿ% Q% }%X%m%%%%%%%%%% }m%%O%3vQOvvd@#    % %%%%#P%" !%%%$/%)&' (%*+-,%.p0;14%23%5867%%9:%<=?> AQBICDEGF%H%JKNL%M%OP%R_%S%TU%%V%WX%Y%%Z[%\%%]^%%`abc%efӦgӑh|iqjknlmop rwsut _vxzyO{}Ӆ~ӄӀӂӁӃ% ӆӋӇӈOӉӊvӌӎӍ;%ӏӐQvӒӓӜӔәӕӗӖ%Ә%ӚӛvӝӢӞӠӟӡӣӤӥ s%ӧӨөӫӪOӬӻӭӸӮӯӰ%%ӱӲ%ӳ%Ӵ%ӵ%%Ӷ%ӷ%$ӹӺӼӾӽӿ%OQ%$  m~ Qol %%%%%  %    % !("#%$%&'$)*,+q-.0g123{4b5U6G7B8=9;:<O>@ ?\ IA%CDEF{ ox2HOIKJLMN% !%PQ}TRSTv44VW]XY %Z[\ u^_O` acd%vefgjhIi%kxlumnopqrvsvvtvvvwvyz|Ԟ}Ԏ~%ԋԀ%ԁԂԃԄԅԆԇԈԉԊԌԍ Жwqԏԑ QԐVԒOOԓԔOԕOOԖԗOԘOԙOԚOԛOOԜOԝO}ԟԠԹԡԭԢԧԣԦԤԥm ԨԫԩԪmmmԬ6ԮԳԯԱ԰mԲmԴԷԵԶm*mԸԺԻԼԿԽԾ } }m8mm8Qm m m m  m } .%v % o{ !  m  BQ dQ "&!&#,$'%&%(+)* OWۮ }- }/P0?182534%679<:;%r%=>u }@IACB sDEOFGHOQvJNKLMOQ] RSXTVUWY\Z [ {o^_d`abc %ef%hji }%%l9mfn o'pqզrՉsՂt|uxvwOy{z }Հ%~ ՁՃՄՅՇՆՈ%Պ՘ՋՒՌՏՍՎ$uՐ>Ց 1Փ՗ՔՕՖ>yՙ՞՚՛՝՜ } ~O՟դՠբաOգЖեvէըսթոժմիխլOծկ հձղճWյնշO%չպջռ%վտQ{ B{ }%%%Q:~:%P%PPmmmmmmmmmmmmmmm !8     P%uQ%U Q!%v"#$vc&O(n)]*M+A,3-0m.m/mm12m4=57m6m|8mm9:m;m<mcmm>?@ BmCFDmmEmGJHI%mKL }NSOmmPmQmRovTmUYmVWX%m Zm[\%^m_m`magbecd oJfJhkij%lm%mmxop֓qփr|sxtvmuwbmyz{% }%}m~րttցւt!lIք֌օֈֆmmևOm։֊֋mIm֍m֎֐֏m s֑֒ }֖֔֫֕֟֙m֗m֛֚֘֝֜֞m_ !֤֠m֢֣֡v֥֦֧֨O֪֩Iְֲַ֭֮֬m֯OֱmmU#ֳִֵmmֶm ָֹֺֻֽmּm־ֿmb{`mmmmmmmm,m%mommmm%%OQGm%mII%3%mmmmm    m%!O% } v"#Q$Q&B'(3).*-+,%%/1024;5867v%9:OO<?=>O%@AO %CSDLEIFGOH!JKOMPNO3%QR sT`UWVO }X }Y }Z[]O\O^_Oadbc }v%eg/h }iױj׃k|lwmsn|orpq%||%t|u|v|rf|x{|y|z||ׁ}~O׀ׂ||ׄסׅך׆וׇ׊׈׉׋׌׍׎׏אבגדהזיח טO"Oכמלם!$ןנ)ע׬ףצפץr:ڬ%Oקרyvש ת׫O׭ׯ׮%x%װ%ײ׳״׵׼׶׹׷׸v׺׻%3׽׾׿O%OO%m%v%%O|vm| Q3 %   %%v M%!% !("%#$O&'),*+!-.}}0%12345678m:ڝ;7<=إ>n?[@MAHBCFDErQGIJ%KLNSOPQRTWUVU XYZ\c]_O^%`baOdkefigh* j8lm%%o؈p؀qurst' ]vzwxy~{}|o~7؁؂؅؃o؄7؆$؇ݗ؉ؒ؊؋؏، ؍؎OeJؐؑؓ؝ؔؗؕؖ%ؘؙؚ؛؜%؞ء ؟ؠ%آأؤئحابةتثجOخؿدشذزرس%صغضطعظOػؾؼؽO }% s s sO s s s s s~%Q s s%Q s sQQOOOwT }3Ov  }%     F } Fm3 }%|,3 & #!" } O$%'*()|+-4.1/02335689ً:P;D<Q=@Q>Q?AQQABQCQQQEQFGLHJQIQ+AK+QMQNOQt}Q]QRSWQTQUQVQXQY\Z[Q+KwQQA^c_QQ`aQbQQdgQeQfAQhمikQjQoAlmQn{oQpQquQrsQtQQovyQwxoQoozoQQ|Q}~QقQـQفoQكQQلQoنوAهoQىي2QQvٌٍٰQَُِّٞٗٓQQْQQٕٖٔQ}QAQٜ٘ٙٚٛQQٝQٟQ٠٣١Q٢QQt٤٦٥QQQ٧٨Q٩٪٫٬٭ٮٯtٱٶQٲQٳٴQٵQQvٷٽٸQٹQٺټQٻl.Q^QپQٿQQQKwQoQQQQQQQQQQQQQZZGQQvQQQQQAQQQQAQZQvQ:*Q%QQQQQeQeQQQQeQQQQeQQQQ  Q   QeeQQQeQQQQQQQQeQeQQQQQ Q!#Q"QeQ$Qe&'QA()Q}+4,1-/.AtQA0}QQ23QQ25Q68Q7QeQ9QQ;Q<=B>@?QQQAvQCEAD#QQFQHxI]JSKOLQQMNQQPQQQRQQTXQUQVWQQQYZQ[\Q##Q^t_o`lQaQbQcdQeQfQQgQhiQjkQ}QmnAQQpQqsQrvQQAuQvQwQQtyڗzډ{ڂ|Q}Q~Q}ڀQAځ}ڃچڄQڅQlQڇQQڈQڊڐڋڍQڌQ2ڎڏ2QQڑڔQڒQړQeڕQږQeQژQQڙQښڛQڜQ2ڞۀڟڠ=ڡ#ڢ }ڣڤ }ڥڦکڧڨ }%ڪ ګ }ڬڭںڮڱگڰڲڴڳo*ڵڷ?ڶ"ڸڹGڻڼڽھڿb V/0l]o s2Rbozr_uuMuu9/ sy   s s[u s{5e{5:*IZ  Jz % }  } } } } } }ӈ }O% } }!  m"$+ }%& }' }( })* },7-0./O1 }2534 } }6 } }8 }9 }:;<H%>a?M@FA%BEC }D }% }%GI%H% }J ! }KL_NVOSPQRTU%QW_X\YZ[!]v^k`> bwcpdkeifvgh$%$jvvlmnoqtmr$sC~uvx{y }z } } }| }} }~ } }%ہ ۂۃۖۄەۅ۔ۆۏۇیۈۊۉ8 QۋQvۍێe8ېۓ }ۑےCd|Uۗ۲ۘ|ۙۮ۪ۚ_ۛۜ۝_۞ۢ۟O۠ۡvQۣۧۤۥOۦۨ۩ۭ۫۬%_||ۯ۰۱|%Q%۳۴ۼ۵۹۶۸۷ %ۺۻQQ۽ } }۾ۿ } }pvvQO%O/ s%%%mIIIIIIIIIIIIIIBfIIBfBfBfBfBfm% eeeee%O%    %m O&  }{~O %!$"# }O%%U'%(J),*+ -<./0512346789:;=C>?@AB DEF GHI  LMNOP܋QpRmSlT^UVYWX%Z[]\%_e`ba|cd%fighQjk%%novqtrs"u܊vvw܂x}y{z|%z~܁܀ !V%܃܇%܄܅܆%܈܉% ܌܍ܦ܎ܙ܏!ܐܕܑ%ܒܔܓ%ܖܗܘܚܛܡܜܞܝ }ܟܠ }ܢܣ=ܤܥܧQܨܩܻܪܷܫܭܬ%ܮOܯOܰOOܱܲOܳOOܴܵܶ}OO}ܸܹܺv%ܼܽܿ%ܾ }%O } %#ABݞO }Ov } } !Qp  } Q|OmOO@2Qm       %O }OS5' %3 !$"#%%O%& } !(/),*+v-. w03122 s4%v6D7=8;9:%%<>A?@OBC%ELFIGH JKOMPNO vQRT݁UdV]WZXY%%[\v^a_`3Q#AbcmelfighQ%jkWmpno%qrvsvtzuxvw{5{5y se{~|}9 s{5݀ s s݂ݐ݄݆݃݉݅3m݈݇ }%O݊ݍ݋݌Oݎݏݑݗݒݔ%ݓݕݖݘݛݙݚ%ݜݝ%ݟݠݡݴݢݭݣݨݤݧݥݦO|OO|ݩݫݪIݬIݮݱݯݰQݲݳ%OݵݶݽݷݺݸݹvOݻݼOOmݾݿ }" O%3  OQ }O }}TpvC,pOQ %Q%%    v%Q+%" !#$&(%'%)* }%-9.6/1 0243I5%278 }:=;<%>?u@AHCފDހE]FVGKHIJOLSMPNO mQR%%T%U%WZXYIvv[v\v^h_d `ab cOOefOg sOiqjknlm%opmOrysvtu s swx%%z}{|O }~%O%ށބ%ނ%ރr:ޅކ!$އ!$ވ!$މ!$pދތާލޝގޖޏޓސޑ }%ޒ2 sޔ~ޕ:%ޗޛޘޙ%2ޚ2ޜU2ޞޣޟޢOޠޡ ޤަޥO !ިީު޽ޫ޶ެޭޱޮްޯwEwEwE޲޳޴޵wE޷޸޹޺޻޼wE޾޿yOBOUv% sy s%%%%%%%%%%%%%a }Y)mO }%%O }v- QQQQ    QQQQQQQQQQ% Q!Q"#$QQ&'*()Q+,Q.ߤ/}0E192%384657%O:;A<?=>( @BCDFQGKHIJ%LNMOOP%RYSVTvUWXvZx[^\]} }_`mahmbcmmdmefmgmmp)imjskolmmmnmmp)pmmqmrmp)mtummvmwp)my|z{O~ߍ߅߀߂߁߃߄%߆߇߈߉ߋ%ߊߌo{ߎߏߠ ߐߑߓ Qߒ%ߔߙ%ߕߖߗvߘQߚߛߜߞߝvvߟ%ߡ%ߢ%ߣ%ߥߦߧߨߩߪ߬߫%߭߮߯߰߾߱߷߲߳ߴߵy߶y߸߹ߺ߼߻y߽y߿%mmm }%q p>R pS  6  A# QQQQQKwQQv Q!"vQA$1%'&Ti(,)+*Q -/ .pc 0 Q QO23:475689vOQ;><=Q%Q?@m }%BC D EJFIG2H pKOL}MN }IP%vQQSToUbvVvWX[YZ \_]^%v`avcdekfhgffijvlmnvpqrsztwuvOxyO{~|}v*OQv#vvvvOvvvvvvvvvvvvv NvmvvvvOvvvmSv  advO }8% d%.Q_%O4OO 7%%vO%S QO%   3   } } }pm } Q }z=S| } }% " }!m }#$ } } &,'+ }()* } }v } }-.0 }/ }12 b4l5P6B7;89:4<?=> %OG@A } }QCJDGEF% }OHI }%%KNLM }OOQQdR_STUVWXYZ[]\^`ba } &cOeh%fg%Oi%jk }OO%mxn }ouprq }stvv }vw Q }y%z{~|}IW }bO#Av } k}T@2@2@2@2@2@2@2@2@2@2@2@2p|{C!QOOOOOOO'OOO OO O O  OO'#_c9(QQQQQQQQ^^ ^!"^^#^$%^^&'^^)Q*Q+QQ,-Q.Q/Q0Q1Q2Q36Q4Q5A7Q8Q+}:EQ;<A=QQ>?@QQtBQCQQDQFQGMHKQIeJQeLQeQQNOQPQR\SUTQtQVYWXQQeZ[eQet]`Q^t_QaQQbtvdefguhQikjQQQlQmnQQoQpQqQrQstQQvQwxQyQQz{QQ|Q}Q~QQQQQQQQQvQQQQQQ}QQQQQQQQQQAQv2QQQAQQtQtQQvQQQeQpvQQQQQQQQQQQQQQQQvQQQ}}}}}}}p}QQQQtQQQQQQvL%/%xC%     |%%%>'$ #!B"wv%&O }(1)-*+,v%./0%23m4567 8 9  : ; < = ?E@CAB$%mD33FIGH% }JKT%MoN^OXPSQRTU%vV%WY\Z[ }]m_h`cabOdefg a oiljkm%mnOpqrzswtuvxy{|}I~%v%vm% }OOOOOOOOOIOZOv ix }QQQQQQsQQQQQQQsQHO% }B0Q#PyOz$'M'>'> Q'>4$ɓ Q     FFy]H) !"#$%&'(wE*;+/,-.z04123yɓ5867'>9:'><=>C?A@'>BDFE4G4IWJPKLMNOyQRSTUVɓɓXYZ[\^l_e`abcdyfghijk#Pmtnopqrslu|vwxyz{V}~wEO#P#P#P#P#PV#Py#PO#P#PFzz444444#PwEɓ#PL yyyVVVV#P#P (   #P4% !"#$#P&'#P)8y*+4y,y-y./3y01y2y#Pyyy5y67VV9H:@;<=>?ABCDEFG#PIJK#PMNWOPVQRSTU#P#PXgY_Z[\]^#P`abcedyf#PhyiujmklOnoptqrs#PwEvwx#Pz{~|}#P4ɓyF#P#PwE#P#P4wEl$F#P#P#P#P4#P#P#P#P#Pyy#Py'>OO #PO#P#P $   yV.y !"##P%y&'(,)*+-./12]3<4O5O697O8OO:O;O"O=>O?N@GADBC EF QHKIJmLM sOVPSQR%TU? }WZXY%Q%[\ ^_o`gadbc }ef#AhkijlmnmpxqtrsuvwOy}z{|%QQ~ O$vOQm% QyO }%%2QQOIQ } ,    1   vvvvvvvvvvvvyvvv }vvvvvvv{C{v{vvv v vvvvvvvvv vvv2 vQ vv  v>vvvvvvvvvvvQ-#v v!v"vv$(%vv&'vv)vv*+,vv.>/70312v4v56Ovv8;v9:v<v=vv?vv@vAvCDbEOFOG]HOIPJMKL ]"POONOOO"PQWRUST"P M lOV"PO"PX[YZ"POO"P\O"PO^a M_` ]O ]O"POcOde|fygrOhOiOjkOlOmOOnoOOpqOO|svtOOuOpwOxOOpzO{O lO}O~OOpOpOOOOOOOOO lOOOOOO MOOOOOOOOOOOOOOOOO lO"P"PQ&>%%%%||%''%%%%%%%%%Q% }% }N%N  39D6      % 3O }%vm| } }!,"'#%$&O (*)| +m  !-0.3/3132Q45 Q }7>8;9:Q }<=#A%?A@ BC E}FbGUHOILJKMNm|Q%PSQR|vT%V\WYXvZ[%%]_O^m`a scqdkehfgm%ij%Olomn%pvrwsut%Ov%%x{yz%% |~zO sv% s%v%Q% }#AQ sQQɓ }Q%v s3 Q%O%O ! !'' !wb _Q ! }vvvvvz !%% Q !v ! QO  }%QQ !  !m !   ! vQ#AO%OOOOOOOOOO !OO"#OO$OO&'O(OO)*O+O,OO-O./40OO1O23OO"O56OO7O8"O:;c<U=L>C?vO@ABQOODFvEQGKHIJ~4, MPNOOOQSROOOTOVOW_XZYO[\]^O`Oab%xdef{gjhiknlOmOOozpq urstuvwxy1|}~O LI%I O%#A|OOOBOXJI#AO%beWv)OOOOvvOOv |U O~r:$$Ж*%O%OOO   O }O OOqO OqO  o ovv SSSSSSSSpO%%#d`Ov%%    S%  %Q%OQv % }!"Oy $%  &' ( ) *  + ,- .  /0 1  2 4i567n8\9G:B;@<>=3%3?333A3C3DEFQQHM3I3JKL3NUORPQ s}OST VYWX%% sZ[ }  }]%^f_b`acedOvgkhji%lm%ozpqwrvstu xyO%{|}~mmO%p%%%v vvv  }XO%Q m% Qvvv%%vv%%%%%3O s3 %J%%%%3% sOO"~"~"~}}}}}"~}OOOOOOOOOO}OOOOOOOO}&mv    O O }vv"mmmm ! #v$m%m'7(0)-*v%+,vvv./vv 15v23vv4% }v6v%8F9>:;f<v%=v!$?Av@vBDCvvEvvGXHTISJKLMNOPQROvUVvvWvY^Z\v[%]%_%`aO%bc%d%e%f%%gh%%jkslqmpnovvr%tu~vwx{yz O|}O%O%O%%%% %QQQeQQQQQ2QQQQ#QQQQtQQQQ#QQ2QQQQQQQQQQtQAQQKwQ}QQQQQQQQQoN#%%:$%Ty#P#P#PwElɓV#P#P#P#P    4ɓɓ#P #P#PTTuv%BBBBBBB B!"B%B%$%.&*'()g&&  o+,-:%yQ/K01B2:3456789K;'M'M<'M='M>?'M'M@'MAp'MC'\D'\EF'\'\GH'\'\IJ'\q'\LMOhPaQW%RSUT%%V%X^Y\Z[%O%]'_%m`chm%bcf%d%e%%g%ivjok%lnm%%psqr%Qt%u%w~xy2vz|{%}%%%QQQQQQQQQQQQQQQQQQ}}3Q`%vvvvvvvv }% N%O%#A%2X/ %&  v%%%ݗA݉  W %q Ol$   $O'O%%%I :!3"0#/$%$$&'$($),*$+$$$-.$$ 12V34756I689#_!;B<?=>Qx@A! CFDElQ%GH!JWKPLOMNl&KlJQTRSm |'UV%vYZ[\]^_ua bcdselfighjkmmqnoprtuwvxyz{|}~     @       XXXXXXXXXXQ2w2%uJpBmv% mO%OO }KwQ%%T%% Om ,  %%QmO%% " _!#$%v&)'(%%*+ }-l.P/:0%15243%#P _%6978 %;B<?=>@ACIDFEOGHЖr:%ЖJMKL|NO QbRZSWTVU%%*X%Y%[_\]%^%`a%%c%dhefg Qijk `vmnowpsq vr%Otuv xyz{|}E~E%EE%::$$%EEEEE%EEE%EEEEE%%EE%%E$# mpp'%m  %%fOv%%f%v%v%%%%v%%vKOv{('\ }y }y%%{4bzzW'BB4  QQ2Q   O  B! F|LXB%B ~"%#$&B'qv)h*I+<,4-.1/0.235867%9:;6=B>A?@6 QCEDwFGH6JYKSLPMNOQROTXUVWQ _Zb[^\ o]v _`a }cfde%g % ijpklomn vqrust vywx%vzQO|}~OU~ݤ~ad~O" v %  %% } } }% N~%B d Fm%~wEwE% !'QQQQ%%pB% F:%y$BvB    Q %%wzw%ɓ X!;"2#'$%& (.)+*%,- }O/01%~$3847564%#A9:% s<K=A>@? sBECDFHGIJOLSMONyPQR oTUOVWYuZa[_\]^O` }bncidgefhOjlkO&m &orpqxw%st F FvwzxyO{}|~O$%|  } } } } } } } }% } } o o } } } }OQ }% s b )O%vvv%%%O%% $  }%%O%% _%%% _%% %%%%% %%%%%%%%  %%  O% %%IO%N,vv vvvv!#v"v$)%'P& q+(%v*+v-v.F/:06132O%Q45ӵ789 Q'\;@<?m=>%#AB CED!% QvG HIMJKL5OPQgRS[TUXVWY%Z%\]_^v`abdc%efQ%mhiw jko l m n  p qr  st  u v   xy  z{  | }~    %|%%%%vv %%%%%% [%O%%%%%%%%mQ%%%m%%%%%%%%%%%%%%%% s   %  % s%Q sDjh* } } } }O } s & }! }" }#$%vV' }()vv }+?,5-/ }. }01%2 }34 Q6:78 }u%9 };< }=> } s@[AOBFCD|%%E .GJHI v sKNLQM PWQTRSUVQvXYZ%\^%] }_b`va% }cfdeff|g%i%jkwlqmpno%r%sut%v%yQxy%z{}|%~%%%%%% %f% }% }%%%%Oq4ҏ%% % }O%vO%m%vm%xO %%OO % |=~ )8GV    eu  *:IXhx. '!$"#%&.=L[(+)*jzv,-/6031245%7:89;< >]?N@GADBC,;KEFv.HKIJ=L\kLMzOVPSQRTU#WZXY3BRa[\(7G^m_f`cabWedegjhiklxnuorpqstvywx+;JYz{gv}~~-=L[jyL[kz"0@P_o~% +:IXgv />L\kz#3C%3BQ (7EUdt *9IYivv~Q3 }E&     v )8GVeu *:I #!"Xhx$%'6(/),*+-..=L[0312jzv457>8;9:<=%?B@ACD FeGVHOILJK,;KMNv.PSQR=L\kTUzW^X[YZ\]#_b`a3BRacd(7GfugnhkijWelmorpqstxv}wzxy{|~+;JYgv~-=L[jyL[kz"0@P_o~% +:IXgv />L\kz#3C%3BQ (7EUdt *9vIYiv% }     O< Q  }!/")#&$%%r%'(%*,+B -.v }071423yQ v56Q%8:U29%q:;%=Y>M?I@AHBC]LD]LE]LF]LG]LqI]LqXJKyLy NSOQPm RTWUV % XzZa[^\]z%_`bfc%deghiklsmnqoprtuv|wxyOz{}~xwx%b.O%%% 2 %% ox2 7 7 7 7# !1 8{8%Q%%|| QQ2%%%%%%%% %  %%v % %%q%%B5"%II%%% !%%#,$(%&'%%)%*+x2`-1%./0%%243f%%67>8<9:;fU=%?A%@%QB%C%EFGOHvIJvKvL#AMNOP]Qb\Rb\Sb\TWUv~Vb\b\v~XZYy[\yv~b\^zb\_`lafbdcb\b\v~b\ev~b\gib\hv~b\jkb\v~v~b\msnqopb\yb\b\rv~b\twuvb\b\xyb\v~yb\{|}~b\yb\b\yb\b\v~yb\b\v~v~b\b\v~v~b\b\yv~b\b\v~v~b\b\b\b\yv~b\b\yyb\b\yb\b\b\b\b\b\b\b\b\b\yb\Ov!$ b%vyvv%%vvOvvvv% v v%  YvO  NvmOmvvv1**&K &K#&KV$ &hV*   o]VC&C&K$&KSS&K$* *!"*S#%*Q&*'(S)&K*+,*-/.SS&KS0&KS2L3%4@5>6;78%9:% %%<=%4%%?AG%BCED% d%%F |%HI%QJ%K%MpNYOS%PQRz%%TUWyQVyQX%Zb[]%\r:Ж^`_ %a%%cjdgef } }%hiOknlmpٻo%%q{rust% o%vxw% yz%|}~X oO%v %Q s%CT%%  v  Om  s~&&KJh% }%rHu } &۟BO _ !|y*hZ % &vvvvvvv  v vv %Q8BB%v 2!'"#%$&(/),*+t {q-.%%01N3s456r78U9D:?; /< /= /> /qg / /@ /A /B /Cqu /EMFI GH /  /J /KL /NRqOP qQq Sq T qVeWaX]Y\Zq[qqqq,^[,_,`,[b /c /d /[ /fng /hk /i /j /^l /m /^ /oqgpqgqqg /qg6 tuvw|xyz{Nr}~ !%vI% Q svmOOO ! !' ! !m%OO% }%xv@}%%%%%% xxxxwx[.QQ#QQeQQQivQQQQQQQQQtQtQQQ QQQ  Q Q QQQQQQQQQQQQQQQQQQ$Q !QQ"Q#Q2%+&Q')(Q}QQ*Q},Q-QAQ/I05Q1Q2Q34Q2Q6:Q7Q89QQ;D<QQ=>?Q@BAQQQCQEGFQQHQQJSKOLQMQNQQPQQQRQTQUXVQWQQQYQZQ\]l^d_`Qacbv%vQejfhg%ikmn}oqpVrstyRnuRnvwxRnRnz{|RnRn~VVV%m'&e&W%vvOv s%OQQQQ2QQQQQQQQQQQQQ )QQQQnQQ^QQQQQ}QQQ2QQQQ2QQQvQoQQQ}i' %%%OO%{%v%% %%   ~%%%%C%%%%%% %%%!%"#$%~%& %(E)<*3+.,I-5/1 }0 }~%2%4:576%89%%;%%=A%>?@%%%BCD%FVGMHLIKJ%(%%QNQO%%P }%RUST%((%%WaX^Y\Z[~$%%]%v%_`( }bfcd%e%gh%jklumnopqrstv|wx{yz%%%%}~%%%%%%%%%%% %#P|2O%%|$$q: &K1 &KC   &K&K$C&K&&&$$_q$&K .!'"$$#q$%&1&K$V(+)*$,-&h&K&/402&K1&K3&Y576&K89&K$$q;S<H=C>A?@&&K&KB&KDE$FGo]IPJMKL&K$NO$oN$$Q&KRVTgUbV`W&KXYZ[\]^_&Ka&K&Kced&K_f&Khlij&Kk&q&mon$q&hp$rst~uzvxwVy&${$|}&$&K&K&K&K&K1$q11&KE&&K&h&wqq&K$V$$&K$$&Ko]&K&K&K&Kq&h&K&K&K$&K&K&K&K&K&K$$$$&&K&K$&K&K     &K&K&KV&K&K$&Kih !7"3#$0%+&)'(%* sm,/-. }v%%1%2%v45 68J9%:B;><=?@A|CGDEFSHIOKYLSMPNOv !vQRTVUvWXmqOZa[^\]%_`Qmbecd sOfg%Qj%klmnyotpsqBrB4%uxvwvBz~{}|u vvB d4B% }QQQQ%vv%vvv% }d }%OOOOO}OOOO}OqOOOOOOOO}OOOOOOOOOOOOOO}O %O%#yy }' %%%OO%%%%%%%%%%% }%% }%%%}5}b%%}5 %O%%x2/%   m% %%%%%%OJ|:! { R"1#($%&'|)-*+,{./023475689;Q<M=H>Q?BQ@QAQCFDEQQGQQIQJQKLQQQNOQPQQaQRS}QTUQVQQWX[QYQZQ\_]^}A`QQbcQeNfghitjkrlqmonvpu|sOu}vwzxyv{|OO~8%%%%IXL% %% O!`!'C` bk %dO3O% %O d s2 }B sO2  }   }   } } } }%" } } } }% } ! } } }#$+%(&')*Q,/-.O 01%3A495 }687 }% } }:?; }<>=wEC% }@ }BGC } }DE%F }ٻ }HLI } }JK } }M%OPQRSqTkU_V[WYXZ\]^X dB 7`eacbdfigh%jlmon prstzuwvxyOQ{~|} }~:uQ o/ OOv%r mr s %O%O$$%O2% Q }mO2| }UO`&nY }%!%% }ڬ%%%%%     %%%Y%%%%%%%% % %"=#2$+%%&(%'%)*%%,.%-%/01R }3%47%56% }8;9:% } }<% }%>J?B@%A%CFDE%%GHI%{~ ]KSLNMv% OQPR,TW%UV%%ݗX%%Z%[b%\]%%^_%`%%ax%cQdQejfghQir: %kQlmOopqrstzuwv%xyO{|~O}vQ }Omv%}vO%vnQOm } Q7m !% }, N%%%%%%QOOmO% }O W*%%ݗ%%   %  %%%%%%%"% !%%#'$%&%()%+J,7-1.W/0WW2W354Wr)WW6%W8B9<:;=?>%@A%CED%FHG%I%%KLSMPNO7QQR%TUV%XYvZg[c\`]^_%%ab%def$hlijk%mqnop%%|rust%'%wx|yz{%}~%%%    v'\ɓ}%  %%vvyҝ Qvvvv'vvv#Pvvv!$r7!$O%v|vvv$$v%$v$fv$$vvvv v  gvvg s  s s s s sOz3%!y"%#$_|&='3(-)_*|+,O%.1/0v s2O%4756 8<9:;bOz>\?M@GADBCmOg%EF%%3HJvIKL%NUORPQ%ST#A#AVYWXOvZ[m]k^e_b`a}cd%fhgm)ijO%%lrmon% spq%svtu }mwxz{|%}~%%%%%%%%%%% N%%%%%:%%%%% N%%%%%%r:%%%%r:%%%%rH%%%%rH%%%%rH%%%O%% !%* !%%Q% !%% !%%d%Q%%rE..rE%%%%{%{%{1{% }Q }%% }%%%Q }%%%%OO%O%O%%OO% &.   f 5 !QQQQQQQ2QQQtQQQvQ AQ#"'#QQ$Q%&Q}Q(,Q)*QQ+QA-1.Q/0QeQ2Q34QQг6W7DQ89;:Q^Q<Q=Q>A?QQ@QBQCQQQEFTGQHLQIQJQKQMQNPOQQQQRQSQUQQVQ2XQYQZQQ[Q\]Q^c_a`QQQbQdQeQQghrin j kl  m  o p q szt u vxw u y  {|}~&K&K&$C_&&K&K&Kq%*$&*%&$$%$%*%%%%%%%r:%%%%%%%%%mQ%%%%%%%%%%P%vO%    s   mQ%QQ% }- !("%#$O%&' )*+,3%/x0z1 23X4J5@6?7 8 9  :; < =  >  1ABECDOOFHOGO%%I%%KLMSNPOO%QR%  TVU%%W, YrZk[^ s\] }_d`cabOQ%%ehfg 2 ijvlomnQQpq }st|uxvw% }y{z !}~OO%%%%%%O%%%%% Nvvv O_u% WOWOO2OOOOO~OOQQQ#AvQ% 'O % _uQO }%O%vO9 O  {~ mm    OvvOv%$%)$ vO!$v|!"v&Kv#B%&B'|(B%B*4+/,.- QvO Qv021Bv"3B"586v7C_:S;K<E=@%>?vv%ABDCvrTK%vFJGHIC vOSLvMNv OQvP  }R%OvTdUWV!$v!$X]Y[vZv%\ ^a_`ubc | eofmgjhi }OklOvOvvnv%puqsrQvtvvxwQOyv{|}~vvvOvvO &OOOO"O%% %:       }rcI&~5IOOmm     vvn%%%%m+# v!"$(%'& d|L)*,3-0./ %%12O4756%v89v;l<R=I>?@ABCGD EF  HZJKZZLZMZNOZPZZQZST`UVWXYZ[\]^_mabcdefghijkmmnopqrstuZvwZZy z{|}~3%m%v }#A }QQ3%Q%OOQO }vvO s%%OO } }%%%% %%%mv%3v%v%O } Q }%>| !  ! ! ! ! ! !  ! !  !   ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !!"#i$8%2&,'+(%)*Bw%-.%/01O%wq%3475%6%%% 9S:C;?< !=>]@ABb:DE%FQGH::I:JK::L:M:NO::P:BR% 7TcUbV`BWXYاZا[ا\ا]ا^ا_ااa{deBfgBh jklzmy%noxpqrstuvw% {|~}%%%O%uv~{^O%O%%O%% Q%%O%%%%%O:T~ Q%%%#"dP                ! O$% }rv'H()f*4 !+,-./0123mm%56H7<89T%:%r:;r:=>@?%%AEB%CDrH xFG~%IdJW%K%L%MN%%OP%Q%%R%ST%U%V%%$%XY%Z%%[\%%]^%%_`%a%%bc%$%e%ghi{jrkql%mpn%o%%sut%vzwxy s%|~}%%BOOOrrQOmm%Ov#PO  }mmmq: U sQ }O.-#A%#A% B%vvSS#ABe^Br`5DrffO$#AOS s%v }O % O   %v%Q%& #!"OQ$%% }'*()O%+,/?%0182%3%%45%%67%%9%%:;%%<=%>%%@%A%%BC%D%E%F%G%%I aJK|LoMlNO%PQ_RXSUTSaVWY\Z[v ]^|v %`gadbcefvhj%i%kmnpyqrOsvtuOwxz{ }}~IIIIIIIIII %% }%%%%%%%%f$wb%%% s%%%r:%a%%%O%%%%%%%%%%%%|~ %%%%Q%%%%% %%O ?%y%%  %% %  $    m  m m m'!  Om x m  !m   v             :v% " #mm % ^ & ' ( ) = * 4 + / , -u .u 0 1 2 3 5 7 6 8 9 : ; <4 > W ? O @ I A B C D E F G H4 J K L M N4 P Q R S T U V  X Y ] Z [ \   _ ` }O  b  c d e  f r g k h i j% l o m nr p qQ s z t w u v%3 x ySv } {  | } ~                         3           %              % O  %%      O  %    O  %    y '>#P     '>                           v v v  vv  v vv v v  v vv v  vv        .     m m mm  mm m  m m mm  m m m mm  ** *     %  %   T   %%    r:~%   %% %Hw  * % %%  % !% "%% # $% %%% & '% (%% )%~ + ,%% -w /  0 1  2 g 3 Z 4 P 5 6 > 7 8 9 : ; < =W ? @ A B L C D H E F G  I J K  M N O  Q R S T U V W X YZ [ \ ] ^ _ ` a b c d e f h m i j k lm n o p q r s } t x u v w y z { | ~                            )                                              (       W  OO      OO  O OO O  O OO  OO OO O  OO ] O O OO  lO                    V               d v vv v  v v v v v v vv v!O  \  !   v  }  } }  }   }  }  }v~  }v~ " [ # $ Z % E & ' 6 ( / ) , * +%% - .%v 0 3 1 23 } 4 5%% 7 > 8 ; 9 :{% < =% ? B @ A% C D sO% F K G H I Jy L S M P N O%3 Q R ! T W U V Q X YOO ] _ ^Q ` z a b t c f d e g h i j k l m n o p q r s u v w x y#P { | ~* }*  * '\ '\       V                              v                     }           %  ~~% ?%  % %%    %% %%  %    %$ T %%~    %    r:             % %         u          Q m    ;    8  /       I  %W     }%  Ry  "      v }   }    m }mO  !OO # ) $ &% %|v ' (O * ,% +  - . 0 1 3 2Q 4 5O 6 7#_ 9 :O < =% > t ?% @ P A F B C D Er G% H O I J K4 d L M% N% Q _ R W% S T U% Vm X ] Y [ ZCC \%%_ ^ ` l a h b e c d%v f gOm i j k Q m q n p oq:v r s% u  v  w  x ~ y { z%Q | }v }      O        mO  O2    m  4 F }       _      }m  m              Oц  m2    O  O  }    Q}  Q  QQ Q} } } }} }  } } }}  }  }Q} }}  }}  }}    } k  F N    :           3      F  F  %         } s       }                   r           O }  -  %  "  ! # $3 & ) ' (* ! * , +pS . 4 / 1 0% 2 3% 5 8 6 7 9% ; % < = Y > ? @ H A C% Bm3 D F E  G !Q I L J KQ M W N% O P%% Q% R% S% T% U V%%$ X Z x [ \ i ] c ^ a _ `m  b d f ev g h s_ j q k n l m  o pv r u s tQ% v w }%O yO zO { |OO } ~OO  O OO O  OO O\O       s       }   mm            O OO  OO O  O OO O O O }O                u  u |*     u     V                    _   O         Q   v    %  v O       v 3    %%  O% }  % mv vo   v }O_^K'd`wE !"#$%&V(1)/*+,-.'>0ɓ2>34'>56789:;=<?.@ABCFDyEyyGyHIJyLMTNPOQRS4UWVXYZ[\]4|q`abqcjdgefd%hiknlm%op3y }mrysvtu%Qwxz}{|3d~vO%4  ! }QQQQQQeQeQ#eQQQQQtAiQQQQQQQQQnAvAvvieeieoAeeoo__}_}}}} ) )##l=vl=vvtAAtAnnAnnrooeeeee3  OOO%   Om Ov O%%LJ7)"O ! }OO#&$%%O'(m*1+.,-%/0Ov243%Q56O 89B:>;=<P?A@x|CFDEBGI }Hy svK%vMOvOPQRSqTU VWl%XYZcv[\]^_`abd%eyfygyhyiyjyky$ymn%op%rstuvwxyz{|}~#PTyy } B@2@2^$O%`v O | %%%3 ! } }% x }uv#Av }% OQ%"O% %  % %%%%%%%%%:%:%%%%%%%%% !%%"%#:%%&'4(0)*+,-./^1235U6L7>8=9:;< u?F@ABCDE GHIJKMNOPQRSTVWXYZ[\]_`uabQcdgefhijktvlmnopqrsvwxy|z{}~% %OWm%|QQm OOOOOOOOOO"~""w!~ #""" |I$Q }3Q & } VV#P#Pz    F#P#PE#A2  !!")#&$%$'( %*/+,-O.x01Q3D !45<6978| :;  =@>?ځAB%C _Ov%G2HcIJKL%MNOoP\QRSTUVWXYZ[m]^_`aibcdeWfghWjkmln5vzpqrstuvwx|yz{m}~mmWWWmmm%#v@%Q|v% } } } } }%%%%%%%%%%%%%%%%%%%%%%%%%%$% Q|S s%% OOQO% } }O3  O  v%$%O% %%%:%!%%"#%:%%:&8'7()-*+f,b.4/10823%O %56d9%%;<E=||>?B|@A||C||D|FTGNHKIJwTLM }ORPQS%U]VYWX%%Z[%\P^`_|%abvdefmghyOijkrlomn%pqQ }%Qsvtu%wx%Oz{|}~ OOm%Q }O%%%OPQ'>g%v|O _m%3%QP m }%P }OQ }v* s%%2 !O|mw%Q       }3 m#%3v !"Q3$+%(&'O3)*vI,/-.%01Q 34d5Mv6v78F9?:=;<O%~>%@CABQQDE !GIH JL%KmQNOcPQrmRST_UVZWXYz[\]^V`abɓ%ef%ghizjkrlomn%pqsvtuOwyx }O{Qm|}mm~mmmmmmmmmmQ L!%Fz  } %Q#A&K&K&&K$&K$&K&CqqqQ }VVVVVVVVV'MC,%% }Q _vQ sm Q }v     m } V/%Q%O# v!"%$)%&'(Bv*+3-<./0123456789:;=>?@ABD%E}FmGTHKIJLOMN !%PRQ }:SuUgVcWbXaY%Z%[%%\%]^%_%`%%$deO%f%hkijln%oupsqrQ OtQvywx% }vz|{ ~3Z"v } }%OVMl((lll(ɓ}Tv%vvQ }wTO2%%Q Q%3%% s%OO%v }Q }v%#Prm%Ox Oӵ%%v   y Q % !1#$%f&'(,y)*yy+4#P-wy./M0y1?2834wEy57y6wEywEy9=:;wEy<wEywE>wEwEy@GADBCywEwEyEFwEyywEHKIywEJywEwELywENyOcPWQTRSyUVyyX]Y[Zy\y^`_yyabyydnehfgyyikyjylmyyorpqysutyvyyxyyyzy{y|}yy~y'>yyyywEyyywEyyyyy@yyyy#P#P#Py#P#P#Py#P#Py#P#Py#Py#P#Py#Pyyyyyyy#Pyyyy#Py#P#P#Pyyy#P#Pyy#P#Py#P#P#P#Py#P#Py#Py#P#Py#P#Pyy#Py#Pyy#P#Py#Py#Pyy#P#Py#P#Py#P#Pyyyyyy#P#Py#Py#P#Py#Py#P#P#Py#P#Py#Py#P#Py #Py#P y#P  #P #Py#P#Pyy#Pyy(#P#Pyyy#P#P#Py#P# #P!"#Py#Py$&#P%#Py#P'#Py)3*.+,#Py-#Py#P/10#P#Py#P2y#P4;5867#Py#Py9:#Pyy#P<?=>#Pyy#Py#PAyB]CyDyyEFRGNHKIJ#Py#PyL#PMy#PyOQ#PP#Pyy#PSXTVyU#Py#PW#PyY[yZ#Py\#P#Pyy^_e`yaybycyydy#P4yghwipjmklO%no%qtrsS }uvx~y{Oz !|} !%%%OO''3 }%Qm b } }v }mvv%%v } } }v~ } }D !      % }O%mQ%Q%%   O  X%ӵ%% L2( $!"#5%&'5)*+,-./01)3J4567<89:;WW=>D?@ABCWEFGHIWKWMkNWOP\QRmSmTmUmmVmWXZYmmm[)]j^_`aebdcWWfhgWiWWlmynopvqrstuWwxWz{|}~WWWm:WWWW     'W" !W#$%&m(3)*+,-./01245678>9:;<=?@ABCEVFGHIJKLMNOPQRSTUWXYiZ[a\^#A]Q_`% ! }bfcd  }e gh%jzkrlomnpq|%swtvuOxy{|}~ } }Q%Q%%O%! !QO#4444444]4%m|v } %M+KKKKKKKKKKKKKKKKKuKKKKKuKuKKKKKK KKKKKKK|KKKKKKKKKKKK  KK K KK KKKKKKKKKKKKKKK|K% K!K"K#K$KK K&'K(KK)*KK ,B-6K./KK01KK2K345KuuK7K8K9@K:;KK<=KK>K?KAKCKDKEKFKGKHKKIJKKLKKNOxPpQbRZS  T UVXW   Y  [ \]  ^ _ `a   c dem f g h i j k l  n o q rts  u v w yz{KK|K}~KKKKKKK KKKKKKK KKKKK KKK  KKKKKKKK KKKK K          u                        O %%uu%%m }QFm%mOmv~mmmm1mmmm }   yy  m%myym|m }ymmQmmmm8 0!#"m$&%%mm'()*+,-./|14m23mm576mmm%9@:<m;m%=>m?mmABDC mEmGHgIXJQKNLMӵOPӵRUST%VWmY`Z][\%^_adbc%ef%%hvipjmklnoqsrtu%w~x{yz%|} OO8Xmm: W%  }2 }m%#A }%S _O%QO%Q% &Qv }O O  %v     2 |#P%I  }!  "$# _&'>()*3+,-./10y2zy456789:;<=wE?@ALBCDEFGHIJKVMNOPQRSTUV QXrYqZ[%\c]aO^_`'MbFdkehfgmijQlnmOvop%stu ! !vw ! !xy ! !z{ !| ! !} !~ ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !% s } %% }ymm }mm%% }%OCrt                     %v >"  OO  vO  %Qv%v4 !#/$)%'& }(*-+,O.m07142356 m8;9:Q<=%?M@FABDC7E܀GIHJL!K%NUORPQOSTmVWmXY[\]^_`cab }%deftgmhjiJ  |kl*nqop$%rs%u|vywx&>J^#_z{'M$Q}~O &>\%ݗV/m !O !%OO.mO%m%%%OO %Q %wE4g! }O+v%_3  %*WO%O|O %  Q   O }*v%OOOOOOOO (!"#$%&'W)*n,a-./H0@1?2333453633783393:3;<33=>33 AGB#P#PCD#P#PEF#P Q#PIUJPK }L }MNOOQ%RSST6VYWXSZ\[ ]_4^`%b%cd%e%%f%g%hi%%j%l%'m!n opqrst~u|vywx%_z{%}% }%%O }O%Iv _ }mI QQ# v }  }Q }3 }O8 8v%ODO3&K&K&K&KC&K$$q$oN&K$"$ &Kq&K $$  $ &K&K&K&K&K1&K&Y )!"&K#&$%$'(&&$*.+-,1&K/102q48567&KO9:A;><&K=_?@&KBCE}FHGIMvJKLONpO`PQVRSTU WXYZ[\]^_ abcdelfghijkmnoq{rstuvwYxyzY|Y~OOO"OO"OOO|O|%K5m%%3r%88%v|v m@rOmOOO|%Om%s s% N% Q %|%m } O%yyy OvOv  v  OQ%d%%%% 4v%&m } sO #!"yQ$%I%'.(+)*Q,-%/10%235N6E789:;<=>?@ABCD^FJGHIKLMOPQd R ST U V W[X Y  Z \a]_ ^K  `u b  c  eq fgih    jk  l m n op  r s}t  uv  wx y{ z |  ~     |        |  uuuuuuuu|*uu                                                                                  _  R % ! B " A #v $ 3 % , & ) ' (% * +Qv - 0 . /O 1 2Q% 4 : 5 7 6 8 9O ; > < =# ? @v%  C Dv E F G H I J K L M N Or Pr Qr S T ] U \ V  W ! X ! ! Y Z [g !g ^O ! `  a b  c d  e t f m g j h iO k l n q o p% } r s%m% u { v x% w% y zy |  } ~%         %%  Q%   =       v      %Q  dy      2  }  }                    *3     OO   O  O OO  O OO  OO  OO "OO O  O OO O  OO  OO  O"O OO O  OO  OO O  OO  OO O  O"O       dv%%  ! !    !!    r  sOsz ! s s!sosr!!%!!!!! ! ! ! ! !!!!!!!!!O%!!!!Om!!!w%! "!!!!"!!#!R!$!%!'O!&vO!(!8O!)!*!1!+!.!,!-% !/!0%3%!2!5!3!4Q !!6!7Ov!9!K!:!>!;!=!<% %!?!@!A!B!!C!D!E!F!G!H!I!J!L!O!M!N%d!P!Q%!S!u!T!s!U!d!V!W!]!X![!Y!Z%!\ !^!a!_!`!b!c %!e!f!n!g!k!h!i!jц!l!m3!o!p s!q!r)Sv!t !v!!w!x!y!z!{!|!}!~!!!!!!!!!y!y!!y!!!!yy!!!!!!!!!!!!z!!!!!!!!!!z!!!!!!!!!!!!!!!!!!!!wE!!!!g!g!!!!!!o$!!4o$!!!4!4!#P!!!!!!!!!O%O!"!!! !! !!! ! !! !!! !! ! !! !!! !! ! !! !s.!" !!!! }%!!!!!!!!!!vO!!O!!!! s!!v!"!"""""2"" ""%Q" Q" " """"""#p""""j""."v"v"v"v"v"vv"v" "!v""v"#vv"$"%"+"&"(v"'v")"*vv",v"-vv"/"A%"0"1":"2"5"3"4"6"7 "8"9 ";">"<"=O"?"@wT%"B"C"["D"K"E"H"F"G }"I"J%"L"X"M"N"O"POO"QO"RO"S"TO"UO"VO"WOO}"Y"Z"\"b"]"`"^"_Q"a%v"c"f"d"e "g"h }"i "k""l""m"|"n2"o"v"p"s"q"r%bM"t"um"w"y"x"z"{"}"~"""""3%"""f""""O"%"'"""Q"""" r " """"s=Q""%"%"%%""""%"""T$""""yB$""ir: T"%%""""""""%""%"%""""""""%"%%"%""%"%" "%"%:%%"%"%"%"%""%% """""""""'M Q"4"" Q"#P Q#P"""" !""%"#F"#3"#!"#""""""""%""Q }""""%"v""""""O%"""#"" }###### #### # m m# ## ###%#A3######%%##v }####%%## %#"###'#$#%#&#P#(#P#)#*#+#,#-#.#/#0#1#2#P#4#5#6#7#?#8#<#9#;#:s%#=#>Z#@#C#A#B2#D#Emv#G#[#H#I#J#K#L#M#N#O#T#P#Q#R#S5#U#V#W#X#Y#Z5#\#]#^#h#_#`#a#b#c#d#e#f#g#i#j#k#l#m#n#o:#q##r##s%#t##u#vm#w}#x##y#|#z#{vQ#}#~#######%#######################8#v#$########### }##Q ################ ######O 8##########sK##%####z##Q$########## sm#######vv##|#Q#######Q| }##% }%#####OQ##Q#$ #$#$#$ }$$ v &$$$$S$ $ $ $$ $$$$$m%$$$$$v$$v$$$$y$$;$$ $-$!$($"$%$#$$%O$&$'vOO%$)$+%$*#A%$, }$.$5$/$2$0$1 }m$3$4$6$9$7$8m }O$:mv$<$=$D$>$?$@$A$B$C$E$F$G$s$H$`$I$T$J$O$K$M$L Y$N $P$R$Q$S $U$Z$V$X$W $Y$[$^$\$] $_u$a$l$b$f$c$d$eu $g$j$h$i$k $m$q$n$o$p  $r $t $u$v$w$x  $z$${v$|$$}$$~$$$m  }$$!m%$$$$#AO% $$% }$$$$$$ %Q$$%Q$$$$mQO$$OQ$$$$$$$$$$$$%$$%$$$$% $$% s$$$$$$$$% $$$$$$$$$$$$$$$$%$ $$$$$$O%$$$$$$$$%4 _$$m }$$$$%$$$%$$$$$$$$OvO$$m$$$$$)v$$ _$%$$$$$$$$$$$$$$%O%%%%%% _v% %% %% %% % %%%%%%%Q%%%%%!%%%%%%%% %"%%%#%$vO%& }%()%)%%*%S%+%P%,%-%A%.%4%/ }%0 } }%1%2 } }%3 }v~%%5%6%8%%7 }%%9%;%:mO%<%=2%>%?m%%@%%B%I%C%D%E%F%G%Hm%J%K%L%M%N%OW%Q%RQQ%T%%U%%V%%W%j%X%Y%%ZO%[%c%\%`%]%^%_%%%a%bQ O%d%g%e%f%%h%i%k%lO%m%%n%%o%v%p%s%q%r%%O%t%u }%w%%x%%y%z %{  %|%}  %~% %  %%%%%%%%%O%%%%%%OvQ%%Q N%%%%%%O%%%sY%%%%|% &%%O%%%%%%O%%%%%%%%%%%%%%%%%% K%%u%%%K  %  }v%%% %%%%%%%%%%%%%%% }%%%%% owx2%  %%%I%%%%%%%%%z %%%%%%% %%%r ]%%%%%%3%%Q$%'%&%&4%&%&%&%&%&&&&&& && & & &   &  ~&&&&&&~&&&&&!&!B&&B&&%&& &!&"&#&$B&&&'&0&(&,&)&*&+p&-&.&/&1&2&3p&5&j&6&i&7&a&8&Q&9&A&:&=&;&<%&>&@&?%sh&B&E&C&Dvm&F&P&G%&H&I&J&K&L&M&N&O !&R&Z&S&W&T&V&UQ&X&YO &[&^&\&]% }Q&_&`%Q&b&c&g &d &e&f  u&h  &k&&l&&m&v&n&q&o&pv&r&s&t&u&w&{&x&y!$&z &|&&}&~&%U%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&Q&3&&&&&&&&&&&&&&&&&]&mv&&&&&&&&& s&&&&&'&&'J&'&&W&&W&&W&W&&W&WW&W&&WW&&&WW&&&&&&WWW&WW&&WWW&&WW&W&W&W&&W&WW&'W&&W&&W&&&&WW&&&WW&WW&W&W&WW&&'W&&'W&'W'''WW'WW''' ' WW' W' WW' W'''WW'WmW'W'W''WW''WW'W''WW'qW''5''.' I'!II'"'#II'$I'%'&II'''('+')II'*I',II'-I'/'2I'0'1III'3'4IIm'6'>'7II'8I'9I':';I'<II'=I5'?II'@'AII'B'CII'DI'EI'FI'G'HI'III)'K'k'LW'M'\W'N'OW'PW'QW'RW'SW'T'W'UW'VWBfWW'X'YW'ZW'[WWBf']W'^W'_W'`WW'a'bWW'cW'd'e'h'fW'gWW'iW'jWW'lW'mW'nWW'o'p'{W'qW'r's'x't'uzWW'v'wzzI'yW'zWzWW'|W'}W'~W''''zzWW'zW'''''''''%''O''v'v O'm'm'mm'm'm'm'm''mm'm''mm''m'mgm')t'''''''Qv''''''''%O''%'''CU#Iz|~''''''''O%'''''O'''yQ%''''''''v'' }$Q''''%''3%''''''O''''''O''%'''''|V'('(m'(''''''8'8''88t'8[8[8'( '( '8'('['(8'8'[[(([[[((8(8(([8[( 8[8( 8( (88sw((5((!(8(( ([((((([([[8[([8(88(8(8(8[[8("8(#88($(%(+8(&('8((()(*8(,(1(-(.8(/(08(28(38(4888(68(7(8(Z(9(R(:(C(;(>8(<8(=(?GG(@(A(Be.(D(H(EG(FG(G\(I(N(J(M(K\G(LG.eG(O8(P8(Q8(S8(T88(U(V(X8(W8(Y88([8(\(i(](c(^88(_8(`(a88(b8G(d88(e(f8(g8(h8e(j88(k(l88(n((o(G(p(q(x(rGG(s(tGG(uG(vG(w[GG(y(zG({G(|G(}GG(~G(Gs(G((G(G[G((G(((((((G(G(G(G(GGVG((GG((G(G.GG(G((((G(G(G[(G(((G(((((((G(G(((G((G(GG(tGG((G([G[(G(G(G(G(G(GG((((G(G(G(G([((([G[GG((G([(GG([G(((((GG((G(G(G(GG((G[G(G(((Ge(G(Ge(GeG(GtG()2() (((88(8(((8(8(8(8((88(((88(8((8(((((((8(88((88(88())8s8)) )88))88))8)888e) )8) 8) ))))[))))[)[)[)8[8)8[8[)8))8)88[H8))/) )')!8)"8)#[)$[)%[)&[e.8)(8))8)*)+88),)-8).8G88)08)1K58)3)r)4)>8)58)6)788)8)98):8);8)<8[)=[8)?)[8)@)A8)B)R)C)K)D)H8)E8)F[)G8[[)I)J88[)L8)M8)N8)O88)P)Q8[8)S8)T8)U)Z[)V)W8)X8)Y88[8)\)h)]G)^GG)_)`)f)aG)bGG)c)d8)e8G8)gGVG)i)q)j)o)kG)lGG)m)nGG)p8G8G8)s88[)u)~)vOO)w)xO)yOO)z){OO)|O)}O))))))#))))))))))))))))))))r)))))2 s)) })))s r %)+)*)*)))))))))))))))v))v)))))))v)))))))))))Om)))))))I  N))v)))))))))%v))%%)))) ))Q))))))%!$O))% ))))) }) _ ))%)%)))%v)* )%)*)*),,),)),),*,,*,**,*,,ss,,**,,s* |* ** ** *** }**%m****%****"**** P* *!O*#*&*$*%%*'*(Q ***U*+*,*-*.*P*/*0*M*1*2*3*4*;*53*63*733*83*93*:3*<*G*=*B*>33*?3*@*A33*C3*D33*E3*F33*H*I33*J*K33*L3*N*O3*Q*R*S*T3*V**W*}*X*^*Y }*Z*[*\*]&*_*`*o*a*h*b*e*c*d *f*gv*i*l*j*k   *m*n%*p*w*q*t*r*s%*u*v%v*x*z*y*{*| %*~* }****************xm*+?**************%*************~************ }**:%Q**** }#A** *b******** yB%O**Ovv****OOv** } O******%d* ****Q }**vP}*****v**** }**L ****** }*8%**wTrV*+1*+*+****%*3**%*+*+v%++++ ++ ++3 Q+ + %Q }+ +++%&m++ }++"++++++m v++++++ +!+#+*+$+'+%+&v%+(+)v%+++.+,+-  +/+0 +2+9+3+6+4+5%+7+8%+:+=+;+<v%+>O+@+A+B+n+C+U +D+E+K%+F+G+I%+H%+J%%+L+Q+M+O%+N%%+P+R%+S+T%%+V+e+W+^+X+[+Y+Z+\+]Q+_+b+`+a+c+dz+f+i+g+hO*+j+k+l+mu+o+w+p+q%+r+u+s+t%:+v+x+y++z++{+}%+|O+~+ ++++%++%+++++ ++ ++++O+Qv+,++++%++++Q++++++++%+2++++v++%++++%++%P++++P++m++++++++++mQ++v+++++O+++++++++++%vv+ }%++++ }y++ %v }++++++++O !++++ } ! !++% s++++++m%++++ɓ++++%OO++%+++++wE!$+,|,,,,,,,,,, ,,,,%Q, , % }, ,, , }O,,|,,,,v%,,3 %,,>%,,,/,,', ,$,!,#%,"% ,%,& !,(,,,),*,+%O,-,. s },0,8,1,4 ,2,3%q,5,6,7w d,9,<,:,;%,=%,?,@,_,A,P,B,I,C,F,D,E%m3 !,G,H,J,M,K,L,N,O !,Q,X,R,U,S,Tm,V,W,Y,\,Z,[!$%,],^ ,`,m,a,g,b,e,c,d },fv ,h,k,i,j !,lv,n,u,o,r,p,qQ  %,s,t% ,v,y,w,x,z,{%#A,},~,,,v,,,,,,,|a,,, F,,,, ,,Q,,%,,,,,,,,m,,,,,,,,,,3 ,,O%,,,,v,,3,- ,,,m,,,,O },,,,,,,,,3%,,,,,, }%,,,,,,,, s%,, },,,,%v,,v,,%,,,,,,,,r,,,,[,,,O%,,- ,- ,,%,,,,,,,, }%,,,,,,Ovv,v,-,,,,%%--v----%--Q _2- - --+-%--Q2%----- ---------- -!-"-#-$-%-&-'-(-)-* -,---.-O-/-?-0-8-1-5-2-3!$O-4-6-7-9-<-:-;vO-=->%-@-H-A-E-B-CO%-D_-F-Gm|-I-L-J-K-M-Nv }-Q@-R>-S7*-T6-U0-V/x-W.c-X.-Y--Z-[--\-o-]-l-^-i-_-f-`-c-a-bHC-d-eH6-g6-h6v6-j-kV66-m-n66-p-z-q-x-r-v-s-t-u||$-w666-y6a-{--|-a-}-~6a6---------Kh6-----6----6-6--/Kh---v--C-/--------------6-6-!-*6-6-!---HAHH-H-HA6---------C-C---------------- ---------------- -/-w$----------S-SkS---S- 6-V-6-----6S6-66H-.-.---)6)--)6.6.6Kh6..66..).6. .". .6. . 6. 6.6..........6...6..6.6. 6.!666.#6.$6.%6.&6.'6.(6.*6.+.<.,.2.-6..6./6.06.1666.3.4.8.566.66.76/6.9.:6.;66.=.C6.>6.?.@.A/.B6.D.T.E.L.F.I.GU.H6.J/.K6.M.P6.N6.O6.Q.R/.S66.U._.V.\.W.Y6.XHU.Z.[/66.].^666.`6.a6.b6v.d/.e.n.f66.g6.h6.i.j6.k6.l6.m66s.o..p..q..r.w.s6.t6.u6.v666.x.y.|.z66.{6.}.~66..6.....6F6F.66..66.6.6..6.66..6ܞ6...6...66.66..6.6.6.6.6...6..6....6.66.6..6.6.66..6..66.6.6...66...66/6..6.6....6.6.6...6.6s..s66....6..66.6..6.6....6.6.6!.6.6/66.6..66.......66.6.6.66.6..6.6.6.66./..6v...66.6.6....6.6.6/.66.v66.//66/6U//l//// /// 6C/ / uC/ V/!/C/////H//HH//7///6/6/6/6/6/66/ /!/-/"/&6/#/$/%6//'/*/(/)uU$6/+/,!vv//./1//6/06/6/2/5/3/46/666H/8/P/9/@/:6/;/>6/</=66U/?66/A/J/B/E/C6/D66//F/H/G66/I66/K/L/N6/MU66/O6/Q/a/R/Z/S/T/W/U/V6/X/Yv6/[/^/\6/]66/_6/`6!6/b/c/h/d/f6/e/v/g6/6/i/j/k66/m/n6/o/u/p/q6/r/s6/tssH6/v/w767/y0/z0k/{//|//}//~//!6!//////5!/!ND5//w!w!/////mF/!//6/!wx////!/!/!6!/!//!/wF!///////!6F/!/w!/5///ws!///!////!!!//!x!x//!///w!!/!//L!)!/////!/!//!/6F/////!!5//!w!///!Fs//!//!Mm/w//w!////!/!/!6////6!w!//w!/!wF////!//!/w!/5///Fw!w/!/!//!/L//w)L/04/0///!/!//w!w!/00!00!5000!ww5!000 0 !0 !0 !0 w0000!w!0L0w00!!050500,00$00!00!00!0 w!0"!0#L0%0(!0&0'w0)!0*0+^^50-!0.!0/020001!!w03!!050B060:07!08!!09w!!0;0<0@0=0>x#0?!!0Aw60C0I!0D0E0G0F!F!0H!!^0J0X0K0R0L0O!0M0N!60P!0Qw0S0U!0TNDM0Vz0Ww0Y0a0Z0^0[N0\0]^=^!0_0`!5w0b0h0c0f0d0eLw0gF5!0i!0jmL0l0u0m60nH0oV0p0q0r0s0t0v60w00x60y00z60{060|0}0~6/606060H06066000006060606006066006s60006600660066060t60/000000000gg0000gH000000060006006060606006$/60C0C00CC0C00C0CC00C00C0CC0CCC6060000060000/U6)00600v660606060s6010100060600000)0606600C0000v/!000600/6U60600066060060606606t61166116166161166161 61 61 1 61 661761111>1111E1E161/11/611<116U1611.1 1'1!1$1"1#$6v1%1&,!$1(1+1)1*6,1,1-Uv$v1/1610131112/61415/6U171:1819P*{1;/61=61?1A1@C61B1D61CU1E1F1c1G1U1H1O1I1L1J1K61M1Nv1P1S1Q1R61T1V1\1W1Y61Xv1Z1[6f/1]1`1^1_1a1bUv1d1s1e1l1f1i1g1h1j1kU61m1p1n1o//1q1r!1t1{1u1x1v1w61y1z/1|11}1~$/1`6111111116166111111t1111t,t11t<11V1U6161111116U/1611U11116vf61U6116161111111H11111111/v611116/16V1116vU11111Uu111111U61/61616u1116/11611/1H1111H11H11HssH614a13/131212c12$1211111111ss!!1s!1111xw!M^11^wx111111m w611w!222!!22{zww222222 2 2 NtKtZtj2 2 tytM|t22225M@t22t0tt222222ttu22uu!u022!22 u@)L<uO2"2#M2u_uo2%2D2&252'2.2(2+2)2*uuN=2,2-NDuuu2/222021u0uw2324uuNv 262=272:2829L֚Nv2;2<v*v:vJvZ2>2A2?2@vivyvR2B2CvMvv2E2T2F2M2G2J2H2IvvvMm2K2La9Lv2N2Q2O2PMOӵFNT2R2Swww#2U2\2V2Y2W2X,w2wA2Z2[wP N5w_2]2`2^2_wnw~ww2a2bM#wLLL2d22e22f2u2g2n2h2k2i2jwww2l2mww x 2o2r2p2qNxx)x82s2tvxGMxW2v2}2w2z2x2yxgxv=Ex2{2|L\ xx#2~222xLxx22xLxM22222222wxx22yyy-y<2222yKyZyiL22yy y222222yyy{22yyy2222yz#22,Սz222222222z%z4 9/22zCzRNo2222!zb [zr22zLz2222zz_2222222222222V!22Uv2222VH-22Uf22222222U2222f/22//22222222/22222Pa222222226U22UU222222/2323232322Pv3333v33 33 3 3 3 3333u/33 333333-y336!333.3 63!3*3"3&3#a3$/63%H63'63(3)U*{3+z3,z3-zz6303313323c333L343<3536393738\3:3;\3=3C3>3?3A3@\3B\3D3I3E3G3F3H\3J3K\3M3[3N3T3O3R3P3Q\3S\3U3V3Y3W3X\z\3Z3\3]3^3`3_\3a3b9\3d3x3e3k3f3g3h3i3j\\3l3m3n3o3p3q3r3s3t3u3v3w93y3z3{3|3}3~\\33333333333\3333\3333\\3\3333333\R333RR333R333=3̿33333333\3\\3333333333z33\3333\\33333\3\\/ 3333333333z333333333333333333\33333\\333333333\34+34$343433333\3333\333\34\\44 44444\\44 \4 44 44 44\44444445\4444z4\44 4!4"4#\4%4&4'4(4)4*\/ 4,4O4-4A4.4<4/4540414342\44\46494748\4:4;\4=4>4?4@\4B4G4C4D4E4F4H4K4I4J\4L4M4N94P4[4Q4U4R4S4T\4V4W4X4Y4Z\\4\4]4^4_4`\4b64c5t4d584e44f44g44h4v4i4o4j4m4k4lss!!4ns!4p4s4q4rxw!M^4t4u^wx4w4~4x4{4y4zm w64|4}w!444!!44{zww44444444NtKtZtj44tytM|t44445M@t44t0tt444444ttu44uu!u04444u@)L<uO44M2u_uo4444444444uuN=44NDuuu4444u0uw44uuNv 444444L֚Nv44v*v:vJvZ4444vivyvR44vMvv44444444vvvMm44a9Lv4444MOӵFNT44www#444444,w2wA44wP N5w_4444wnw~ww44M#wLLL45"4544444444www44ww x 4444Nxx)x844vxGMxW444444xgxv=Ex44L\ xx#4544xLxx55xLxM5555 55 55wxx5 5 yyy-y<5 555yKyZyiL55yy y555555yyy{55yyy5555yz#5 5!,Սz5#5$535%5,5&5)5'5(z%z4 9/5*5+zCzRNo5-505.5/!zb [zr5152zLz54555657zz_595_5:5I5;5@5<{5={{5>{5?!{5A5E{5B{5C5D{!{{5F5G{{5H{!5J5W5K5O{5L{5M5N{{!5P5T{5Q5R5S!{{!5U{5V{!{5X{5Y5\5Z{{5[{5]{{5^{!5`5n5a5e5b{!5c5d{!{5f5j!5g5h!5i!!{!5k!5l5m!{!5o!{5p5q{5r{5s{!{5u55v55w5{5x5y{5z5}5{{{5|!{5~{{5{!555555!5!5{!5!5!!{!55!!5{!{555{55{{!5{5{!{55{555{5{555{!{!55{55{!{{55{!{555{5{5{5{!{!55555!5!{!5!{5!!5!{5555555555{55{w{555{!{{5!{5{5{5{{!{5{5555{!{{!5555!55555{!{!5!{!55!555!{!{55!5!{5!!{{555{5{5!{{5{5{!56555555{555!{{!55{5!{5{{!{5{5{5!{555{55!{{5!{565!6!!{6{66{!!{66 {66{{6 6 {{!6 66 6{6{6{!{6{!{66{66!{!{6666u666C66(666$66"6 6!U6#f66%6&6'6)656*6.6+6,6-P6/626061a63646666=676:6869UU6;6<U6>6A6?6@/6BP6D6`6E6R6F6L6G6J6H6Iv6K66M6O6N!6P6Qv6S6Z6T6W6U6V6X6Y6[6]6\rV6^6_vu6a6k6b6d6c66e6h6f6g/ 6i6jrV6l6r6m6p6n6o6q-y6s6t66v66w6}6x6z6y6U6{6|666~66666{6vv66666\666\f/666!666\67)6!6!6!6!6!!6!66!6!666666666!6!6!6!6!6!6!z!6!6!6!6!6!6!6!z!666!6!6!6!6!6!6!z!6!6!6!6!6!6!6!z!66666!6!6!6!6!6!6!z!6!6!6!6!6!6!6!z!666!6!6!6!6!6!6!z!6!6!6!6!6!6!6!z!6766666!6!6!6!6!6!6!z!6!6!6!6!6!6!6!z!666!6!6!6!6!6!6!z!6!7!7!7!7!7!7!z!77777 !7 !7 !7 !7 !7!7!z!7!7!7!7!7!7!7!z!77!7!7!7!7!7!7!7 !z!7"!7#!7$!7%!7&!7'!7(!z!!7+7L7,7-7/7.70717273-y747<75-y76-y-y77-y7879-y7:-y7;-yz-y-y7=7>-y-y7?-y7@7A-y-y7B-y7C7D-y-y7E7F-y7G-y-y7H7I-y-y7J7K-y-y7M;7N;87O:7P7~7Q7g7R\7S7b7T7W7U7VHVf67X7\7Y7ZHU7[6H6H7]7^7_H7`7a7c7d67e/7fH7h7k7i7j7l7q7m7o7n7p7r7y7s7t7u7v7w7x7z7{7|7}H787877777777777777M^!!{77!!!{!777^wx77!7!7!!w7w7!w77777m7mm!77775M@t77t0tt777M^77w{{M^7M^7777ww!77!7!!{777777w79w!7!!77!7M^7M^777777,w2wA77wP N5w_7777wnw~ww77M#wLLL777777777777www77ww x 7777Nxx)x877vxGMxW777777xgxv=Ex7L\ !77!77F77777777777!x#!7777!w7!7!!!78787!8!8!!8!!!w8888B88#8 88 88 {8 8 ss!8888xw!M^88^wx888888m w688w!88 8!!8!8"{zww8$838%8,8&8)8'8(NtKtZtj8*8+tytM|t8-808.8/5M@t8182t0tt848;85888687ttu898:uu!u08<8?8=8>u@)L<uO8@8AM2u_uo8C8b8D8S8E8L8F8I8G8HuuN=8J8KNDuuu8M8P8N8Ou0uw8Q8RuuNv 8T8[8U8X8V8WL֚Nv8Y8Zv*v:vJvZ8\8_8]8^vivyvR8`8avMvv8c8r8d8k8e8h8f8gvvvMm8i8ja9Lv8l8o8m8nMOӵFNT8p8qwww#8s8z8t8w8u8v,w2wA8x8ywP N5w_8{8~8|8}wnw~ww88M#wLLL888888888888www88ww x 8888Nxx)x888vxGMxW888888xgxv=Ex88L\ xx#8888xLxx88xLxM88888888wx88yyy-y<8888yKyZyiL88yy y888888yyy{88yyy8888yz#88,Սz888888888z%z4 9/88zCzRNo8888!zb [zr88zLz8888zz_8989V898888888888ss!!8s!8888xw!M^88^wx888888m w688w!888!!88{zww89898888NtKtZtj89tytM|t99995M@t99t0tt9 99 9 9 9 ttu99uu!u09999u@)L<uO99M2u_uo99799(99!9999uN=99 NDuuu9"9%9#9$u0uw9&9'uuNv 9)909*9-9+9,L֚Nv9.9/v*v:vJvZ91949293vivyvR9596vMvv989G999@9:9=9;9<vvvMm9>9?a9Lv9A9D9B9CMOӵFNT9E9Fwww#9H9O9I9L9J9K,w29M9NwP N5w_9P9S9Q9Rwnw~ww9T9UM#wLLL9W99X9w9Y9h9Z9a9[9^9\9]ww9_9`ww x 9b9e9c9dNxx)x89f9gvxGMxW9i9p9j9m9k9lxgxv=Ex9n9oL\ xx#9q9t9r9sxLxx9u9vxLxM9x99y99z9}9{9|wxx9~9yyy-y<9999yKyZyiL99yy y999999yyy{99yyy9999yz#99,Սz9999999999z%z4 9/99zCzRNo9999!zb [zr99zLz999999zz_999w9{9{9{9{9{9{9{^{999!6w99{!{!99999!99!{{!99{9{!99{!{!99999!!9{!99!99!9{9{9{9{9{9{9{!{!{9:a9:9999999999!ss!!9s!9999xw!M^99^wx999999m w699w!999!!99{zww9: 9:9:9:NtKtZtj::tytM|t::::wM@t: : t0tt: :: :::ttu::uu!u0::::u@)L<uO::M2u_uo:::::+::$::!:: uuN=:":#NDuuu:%:(:&:'u0uw:):*uuNv :,:3:-:0:.:/L֚Nv:1:2v*v:vJvZ:4:7:5:6vivyvR:8:9vMvv:;:J:<:C:=:@:>:?vvvMm:A:Ba9Lv:D:G:E:FMOӵFNT:H:Iwww#:K:R:L:O:M:N,w2wA:P:QwP N5w_:S:^:T:]wn:U:Vw~:Ww~:Xw~:Yw~:Zw~:[w~:\w~ww~ww:_:`M#wLLL:b::c::d:s:e:l:f:i:g:hwww:j:kww x :m:p:n:oNxx)x8:q:rvxGMxW:t:{:u:x:v:wxgxv=Ex:y:zL\ xx#:|::}:~xLxx::xLxM::::::::wxx::yyy-y<::::yKyZyiL::yy y::::::yyy{::yyy::::yz#::,Սz::::::::::z%z4 ::9/:9/:9/:9/:9/:9/:9/!9/::zCzRNo::::!zb [zr::zLz::::::z::z:z:z:z:z:z:z!z_::!!:::!!:!::::::::!!:!!:!::w6::::::!5:!!:!:!w:;0:;$::::::::6:6:::::/6{/!:::v{U!:; :;::;:;:;:;6;;;H;AHAH6; ;; ; ;; ;;;{&{&;;;{2;{&;;-;;#;6;H;;H;H;H; H;!H;"HH&;%;&;';(;);*;.;+;,;-$;/6v;1!;2;3;7;4;5;6/6Ha6;9;:;;;;;<!;=;T;>;I;?;E;@;D;A;B/;C66V;F;G;HV;J6&;K;L&;M&;NH;O;PHH;QH;R;SH&H;U;h;V;\;W;Z;X;Y66/;[6;];e;^;b;_V;`;avUf;c66;d6;f;g;i;y;j;q;k;m6;lH/;n;o;p6V;r;v/;s;t;uH6;w;xvU;z;;{;~;|;}6;6U;;;;;;U;;v;6/;;//;;;;;;;;;;;;;;;;{B;;;;;;;/;;;66/;;/6;///;;;;;;;;;;;;;;;Hvu!;;UU;;6;;;v$6;;;;;Vv;6;;;;;6vu;6;;;;;;V;;!-;;;;Vf ;;6;6/;;;;6;!6;6;;6;;a;;;;;;;;;;;;;;{X;;;;;;;;;;{h;><=<=)<<<!!w<@$>%!>&!>'>(!{{>*>6>+>2!>,!>->.>/!>0>1>3!>4!>5!!>7>I>8>>>9>;!>:!v><>=!ssx>?>F>@>C>A6w>Bswv:>D>E{{>G>Hw^x#=E>J>S>K>N>L>MM#Mm5>O>P>Qww>Rw>T>W>U>Vwm>X>Y9x>Zx>[x>]>^>k>_!>`>e!>a!>b!>c!>d!{>f>h!>g!!>i!>j!>l>v!>m>n>s>o>pw6>q>rs>t>uw^x#=E>w>~>x>{>y>zM#Mm5>|>}M^w>>>>w>>>w!!wmo>>9x>6>>6>>>6U6>>v>vv>>v>vvB>>>>6>>{x>{x{x>>6>>>>>6>a666>6>H>>6>>>>>>>>>{>{v>v>>>v>>v >>>>> > >{>>{{>>>>>>>{,>,>>>,,>>>>>{>{>>>{>{>>>66>>>HV66>>>/6>>1>{>H>>66ܞ>?8>?>>>>>>>>>>>>>>>>>>>>>>{>>?????????? ? ? ? ? ????6???$?6?66??66?6??66?6??66?? 6?!66?"6?#s6?%?&?'?(?)?*?+?,?-?.?/?0?1?2?3?4?5?6?7?9??:??;?>?<?=!???r?@?H!?A!?B?C!?D!?E!!?F?G!!z?I?J?^?K?Xv?L?M?N?W?O?P66?Q?R6?S6?T6?U?V7676/vf?Y?Z?[?\?]J?_?`f/?aP?b?i?c?f?d?e ?g?h6v?j?o?k?l6?m?nLlPLl?p?qU6v,!?s??t?uU!-y?v?w?y6?x&66?z?{?|?}?~HA6??????6?-y?-y????-y-y?-yz?-y-y?z-y?/?/??/?/?//?/?/?/??//??/?/{/???6???????!v??v/6??????{??6????f????6??/?6??Kf??6???6U?V?v?6?@???????/?????/6??A??H?H??HH?H??H?HH?H??HH?AH?H?H?HH?H?H??H?HH?H?H?AHu???????1./?6???rV6??f?6?vU??v@@@ @@@@u@@@@ @ @ @ ,@@6@6@@6U@@R@@1H@6@!@@@@@@"@@ @@66@!H@#@*@$@'@%@&f6@(@)\@+@.@,@-rV6@/@0u!v@2@L@3@4V@5@6@B@7@9@8/6@:@>V@;@<V@=VVrV@?V@@V@AV6@C@D@F6@EfV@G@J@H@IU6@K{@M@N6@O@P@Q6@S@w@T@t@U@W@V-v@X@s@Y@j@Z@i@[@\@`6@]@^6@_666@a@b6@c6@d6@e6@f6@g6@h666/@k@o@l@m6@nH@p@r@qU6/V@u@v6!@x@|@y@zU@{@}@@~@!/@@@@@/@@@@6/@@/.|@@@6//@O@G@E(@B@@@@@@@@@@@@@@88@@@8@@@@@@@@@@@@ @@1@@@@@@@@@@@@@@g@@gg@@@@@@@@@HHu@@u@@@@ @ @@@@@@@@@@@@@@@@@@@@@@@ @@@1g@@g@@@@@B@Ad@@A@8@@@@@@@=@A A  AA  A AA AA  AAA  HA  A  uAAAAAA A u  AA  A  AAA AA  AAKAA1A A(A!A"A#A%A$A&A'A)A-A*A+A,8A.A/A08A2A:A3A4A7A5A67A8A9A;ABA<A?A=A>8A@AAACAIADAFAEAGAHAJ3ALAWAMARANAOAPAQ8ASATAUAVAXAYAaAZA^A[A\A]3A_A`3AbAcAeAAfAAgAlAhAkAi8Aj8 AmAnAoAApAzAqAs{CAr{CAt{CAu{CAv{CAw{CAx{CAy{C{CxA{AA|AA}{CA~{CA{CA{C{CxA{CA{C{CAA{C{CA{CA{CA{CA{CA{CA[{CxA{CAA{CAA{CA{CA{C{Cx{CA{CAAAAAAAAAAAA1AAAAAAAAAAAAAA8AAAAAA%AA*AAAAAA%%AAAA%A8AAAAAAA8AAAAA8AAAAAA8AA8AAAAAAAAAAAAAAAAAAAA A AAAAAAAAAAAAAAAAAABBBBBgBBBBBB B B B B BB BBBBBBBBB8BBBNBB*8B8B8B8B B!8B"B&8B#8B$8B%8{C8B'8B(8B){C8B+88B,8B-B.B=B/B68B0B18B288B3B48B58{C8B78B888B98B:8B;8B<{C8B>BG8B?8B@8BABB8BCBE8BD8{C8BF{C8BH8BI8BJ8BK8BL8BM8{C8BOBYBP8BQ8BR8BS88BTBU8BV8BW88BX8{CBZBtB[BpB\BeB]88B^B_88B`Ba8Bb8Bc88Bd{C88BfBgBk8Bh8BiBj88{CBl8Bm8Bn88Bo{C8Bq8Br8Bs8{C88Bu8Bv8Bw8Bx8By8BzB{8B|8B}8B~8{C8BBBBBBBBBBBB BBB BBBBB8BBBBBBBBCBBBBBBB8BBBB8BBBBBBBBBB BBBB B{C8BBBBBBBBBBBBBBBBBBBBBBBBBBB=BBBBB8BB8BBBBBBBBB8BB8BB8BBBBBB B B BC+BC"BBBBBBBBBBBBBCBCBCBC8CCCCCCC C C C  C CC CCCCCCCC|CCCCCCCHC C!PC#C$C%C&C'C(C)C*C,CC-C\C.C=C/C0C1C2C3C4C5C6C7C8C9C:C;C< C>CRC?CGC@CACDCBCCgCECFgCHCNCICMCJCKCL1COCP1CQ1CSCWCTCUCVgCXCYCZC[C]CwC^CsC_CnC`CaCkCbCcCdCeCfCgChCiCj=ClCm CoCpCq Cr CtCuCv CxCyCzC{C|:C}C~CC|CC.:CCCCCCCCCCCCCCCCCCCCCCCC8CDCD<CCCCC8CCCCWCCCCCCCCCCC8*WC*CCCCCCCCCCCCHCCCC*C8CCCCCQCCC!CCCCCCCCqC3CC{CCCCCCCCHECC8CCCCCCCC8C{C{CC{CC{CC{CC{CC{CCC{C{CCC{C{CC{CC{CC{CC{C>CDCCCCCCCCDDDDDDDqDD8D DD DD DD D D$8D8D8DD*DD%DDD8DD*DD!DD*D*D 8D"D#D$8D&D'D(D)D+D3D,D0D-D.D/WD1D2*D4D8D5D6D78D9D:D;8D=DOD>8D?DID@DADDDBDCDE8DFDH\DGO\8DJDKDLDMCDNgDPDDQDoDRDaDSD]DT6DUDXDV6DW66DYD[6DZ6D\66D^6D_6D`6DbDk6DcDdDhDe6DfDg66DiDj6DlDmDn6DpDDqD~DrDyDsDvDtDugDwDxs6DzD|D{6s6D}66DDDD6DD6DDD6D66D66D6D6DDDD6DD66DDD86D6DDD6DD66DDDDDDD666D6DDD66DDDD66D6D6DDDDDDCDDC8DDDD8DDDDDDDDDDDDDDDDDDDDDDDDDDwDD8D8DDD8DDDDDDDDD83DD3DDDDDDDDDDDDDDDDDDDDEDDDDDDEEEEEEEE8EE E E E E 8EEEEEEEE8EEE EEEEEEE8E!E"E%E#E$8E&E'8E)F1E*EE+EdE,E>E-E.E/E0E1E2E3E4E5E6E7E8E9E:E;E<E=E?EPE@EAEBECEGEDEEEFEHEIEJEKELEMENEOgEQERESETEUEVEWEXEYEZE[E\E]E^EaE_E`EbEcEeEfEEgEnEhEiEmEjElEk8g8EoEEpEEqEvErEsEtEu8EwE}Ex8EyE{Ez888E|8E~E8E8E8E88E8EE8EEEE88Eg88E8E8E8EEEE8E88EEEE8E8E8E8EEEEE8E888EEEEE888E8EEE888E8EEEEEE8E88EE8E8E8EEEEE8EEE8EE88EEEEEEEEEEEEEEEwEgEEEE EEEEEEEEEEEEEEEggEEEEEEEEE1EEEE=EEE8EEEEE8EEF EEFEFFFF8F8F8FF F FF FF FF F FFw1FFFwFFF8FFFFFFF }F!F0F"F#F)F$F%F&F'F(8{CF*F+8F,F/F-F.=88F2GF3GwF4G/F5FF6FrF7FLF8FIF9FDF:F=F;88F<8F>FA8F?8F@88FBFC888FE8FF8FG8FH8FJ88FK8FMFfFNFaFOFUFPFR8FQ8[FS8FT8[88FVFW88FX8FYFZ8F[8F\8F]8F^8F_88F`8}Fb88Fc8FdFe88FgFn8FhFiFk8Fj88FlFm88FoFp8Fq8FsFFtFFuFzFvFwFxFy F{F|F}F~3FFFFFFFFFFFFFFFF8F8FFFFF8FFFFFFFFFFGFGFGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8GGG8GGGG GG G 8G G GGG GG#GGGGGGGGGGvGGGG!G 8G"G$G*G%G&G'G(88G)vG+G,G-G.G0GVG1GNG2G3G4G5G68G7GBG88G988G:8G;G<8G=8G>88G?G@8GA8{C8GCGMGD88GE8GF8GG8GHGI8GJ8GK8GL8{C8{C8GOGPGQGRGSGTGU8GW8GXGYGlGZGgG[G\G]G^G_G`GaGbGcGdGeGfwGhGiGjGk8GmGtGnGoGpGrGq Gs8GuGv88GxGyGzG{GG|GG}G~GGGwGGGGG=GGGGGGGG#P QGGGGGGGGGGGGGGGGGGGGGGGGGG GG GLGIGHGHEGGGGGGGGGGGGGgGGGG8GGGG88GGGGGG8GGGGGGGGGGvGGGGGG8G8GG8GGGGGGGGGGGG8GHGGGGGGG8GGGGGHGGHGHGGGHH8HHHHH8H HH H HH H HH8HHHHH8HHH8HYH8HH3HH'HH#HH H!H"vvH$H%H&8H(H/H)H,H*H+8H-H.H0H1H28H4H<H5H8H6H78H9H:H;8H=HAH>H?H@8HBHCHDHFHrHGHHH_HIHRHJHKHLHNHM8HOHPHQHHSHYHTHUHVHWHXHZH[H\H]H^8H`HaHlHbHcHhHdHgHeHf8HiHjHk8HmHnHoHpHqHsHHtHuH|HvHwHxHyHzH{H}HH~HHHHHHH8HHHHH8HHHH8HHHHH*HHHHHHHHHHHwHHHHHHHHHHYHHHHHHHHHHHHYH HHHHHHH1H1uHHHHHHKYHHwuHHHH HgHIHICHI(HHHHHHHHHHHHHHHHHHHHHHH8HHHHHHHHHHHHHIHHIHHHHHHHHHI|IIIII8III I I II II IIIIII| II|IIII"IIII|HI I!||I#I% I$ I&I'I)I*I4I+I,I-I1I.I0I/  I2I3 I5I=I6I7I8I;I9I:I<8I>I?I@IAIBIDIeIEIFIGIXIHIIIPIJIMIKILINIO8IQIUIRISITvvIVIW*IYI]IZI[aI\*I^I_IbI`Ia8IcId8IfIgIhIrIiIjInIkIlIm6IoIpIqIsItIxIuIvIwIyIzI{I|I}I~IIIgIIIIIIIIIIIII=IIIIIIIIIIIIIIIIIII8IIIIIIIIIIIIIIIII8I8IIII IIIIIII{C{CI{C8{C{CIII{C[{CIII8IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII=IIIII1IIIIIIII1IIIIIIIIKmIJIJJJSJJJJ JJJJJJJ JJ JJ J JJ JJJJJJJJ8JJJJJJ J3J!J'J"8J#8J$8J%8J&88J(88J)J*J0J+J.J,J-8838J/88J1J28{C8J4J@J5J:J6J8J78J988J;8J<J?8J=J>88JAJFJB88JCJD8JE8JGJMJHJI88JJJKJL88JNJP8JO88JQ8JR8JTJxJUJhJVJ_JW8JX8JYJ\JZ8J[888J]J^88J`8JaJd8JbJcgJeJf8Jg88JiJjJk8JlJtJmJqJnJo88Jp88Jr8Js88Ju8Jv8Jw8JyJJzJJ{JJ|8J}8J~8J88J88J8JJ8JJ888J8JJJ88JJJJ8J8JJJ8J888JJJJJ88JJJJJ8J8J8J8J888J8J8J8J8JJ8J8J8JJ8J8J8J88J8{8JJJJ8JJJ8J8J8J88J8J8J8J88JJJJJJJJJ8JJUJJJ88J8{JJJJJ88J8JKHJJKJK JJJJJJJ8J8J8JJJJ8J8J8J8J8J88{CJ8J88J8J8J8J{C88J8J8J8JJ88J8JJ8J8J8J8JK8JKK8KKK8KK8K88K K 8K 8K 8K8K88KK&KK"KKK8KKKKK888K8K8K888K8K8K K!88K#K$8K%88K'K6K(K/K)8K*8K+K-K,888K.8K0K38K18K288K48K58K7K>K8K;K98K:88K<8K=88K?KDK@KB8KA8KC88KE8KF8KG8KIKJKKKXKLKPKMKNKO8KQKUKRKSKTHKVKWKYKZK[K\K_K]K^1K`KaKbKcKdKeKfKjKgKhKiKkKlKnLhKoKKpKKqKrKKsKKtKKuKvKwKxKyKzK{K|K}K~KKKKKKKKKKKKKKKK K1KKKKKKK  KK1HKKKKKKK KKKKKK%KKK%KK8KKKKKKKKKK1KKKKKKKK8KKKKKKK8KKKKKKKKKKKKKKKKKKKKKK KKKKKKKKK8KKK8KKKKKKK8KKK8KL8KLKKLKKKKKKKLLL{LLL LLLL  L L L L8LL+LL(L{CLLLHLLLgw{CLLLLgLgLL#gLL ggL!L"ggL$gL%gL&ggL'gL)L*8L,L2L-L.L/L0L1L3L4L5L6L78L9L[L:LFL;L<L=LAL>L?L@LBLCLELD1HLGLPLHLILMLJLKLLLNLO8LQLWLRLSLVLTLUgLXLYLZ8L\L]L^LcL_L`LaLbLdLeLfLg8LiLLjLLkLLlLpLmLnLoHLqLwLrLsLtLuLv3LxLyLzL}L{L| L~LLLLLLL8LLLLLL8LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLCLMLMULLLLLLLLLLLLLL8LLL LLLLLLLL8LL QLLLLLLLLLLLLLMLMLLLL8LLLLLLLL{{LL8LLLLLLLLLLLLLLL8LMMMMMMMM MMM M M 8M MMMMMMMMMMM8MM8MM*MMMM M!M$M"M#CM%M(M&M'C M)M+M,M2M-M.M/M0M1M3M4M5M6M7M9MNM:M;M@M<M=M>M?8MAMIMBMCMFMDMEvMGvMHvMJMKMLMM8MOMPMQMRMTMS8MVMMWMMXMMYMZMnM[MkM\M]M^MaM_M`Mb McMdMeMfMgMhMiMjMlMm$MoMMpM}MqMrMsMtMuMvMwMxMyMzM{M|M~MMMMMMMMMMMMMMMHMMMMMMMMMMM M MMMMMMMMMM8MMMMMMMMMMMMMMM8MMMMMMMNuMNMMMMMMMMMMMMMMMMMMMMMMMMgggMgMMgMgMggMMMgMgMMgMgMMggMMMMgMgMMMMMMMMMMMggMMMMggMgMMMMMNN NNN1NN#NNNNN NN N N N 1NNN NNwNNNNNNNwNN1 NNN N!N"8N$N%N&N'N(N)N*N+N,N-N.N/N0gN2N3NHN48N5NDN6N=N7N:N88N9888N;8N<{C88N>N?NBN@NA888NC8NENF88NG8NINkNJNONK8NL8NMNN8NPNhNQ8NR8NSNY8NT8NU8NVNW88NX8{CNZNcN[N_N\88N]8N^8{CN`8Na88Nb{C8Nd8Ne88NfNg8{C8Ni8Nj88NlNpNm88Nn8No88Nq8Nr8Ns8Nt8NvONwNNxNyNNzNN{N|NN}N~N NNNNvNvNNNNNvNNvvvNNvvNvNNNvvvNvNNNNNONNNNNNNNNNN*NNNNgNCNNNNN"~N"~"~N"~N"~NN"~N"~"~NN"~"~N"~N""~NN"~N"~N"~NN"~"~NN"~"~""~NN"~"~N"~NN"~""~N"~"~NN"~N"~"~N"~N"~N"~NN"~"~"NNNNN8NNNNNNNN{CN{CN{CN{CN{Cj{C{CNNN{CNN{C{CGN{C{CNN{C{CxNN{CN{CN{C{CNN{CN{CN{C{CNN{C{Cj8NONNNNNNCNNNNNOO8OOOOOCO O OO O OO O8OO8OOOOOOOOOOOOO O=O!O"O#O$O&O%8O'O(O)O4O*O+O,PPO-O.PO/PO0PPO1PO2O3PPO5O6O<O7PO8PO9PO:PPO;PO>OaO?O@OMOAOBOC8ODOEOI{COFOGOH{CT{C{OJOL{COK{C{{CTONOWOOOROPOQ8OSOTOUOV8OXOYO]OZO[O\ O^O_O`ObOc8OdOeOsOfOgOhOiOjOkOlOmOnOpOogOqOr 1wOtOzOuOvOxOwgOygO{O|OO}O~OOgOX OSDOQPOPOOP OOOOOOOOOOOOOOOOOOOOOOgOOOOOOOOOOOO|*OOOOOOOOOOOOOO8OOOOOO8OOOOO8OOOOOOOOOOOOOOOOOOOOOgOOOOOOOOOOOO O OOO1  OOOOOOOOOO{OOPOOOOO8OO8OOOCOOPP PPP PPPPC{8P P 8P P5PPPPPPPPP8PPPP8PPP+PP%PPP"P P!P#P$8P&P'P(P)P*8P,P-P1P.P/P0P2P3P4P6P7P8PGP9P>P:P;P<P=P?P@PCPAPB8PDPEPF8PHPIPLPJPKPMPNPPPPQPPRPnPSPTP_PUP[PVPWPXPYPZP\P]P^8P`PiPaPfPbPdPc8Pe8PgPh8PjPkPlPm8PoPpPPqPyPrPuPsPtPvPwPx8PzPP{P~P|P}8P8PP{CPPPPPP8P8PPPP88PPPPPuPggP8PPPPPPP2PPPPPP8PPPPz*P8PPP8PQ68PPPPPPPPPPPPPPPPP8P8PPPPPPPPPPPPPPP8PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPgPPQ-PQ'PPPQ#PQPQPPPPPPP|*QQQQQQQ QuQ QQ uQ uQ uQ uuQQuQQHuHQQHQuQQQQQQQQQ Q Q!Q" Q$Q%Q&Q(Q)Q*8Q+Q,8Q.Q1Q/Q08 Q2Q3Q4Q5Q7Q8Q9QFQ:QBQ;Q>Q<Q=Q?Q@QAQCQDQE\QGQJQHQI8QKQLQMQNQOgQQRQRQQSQQTQwQUQVQpQWQ\QXQYQZQ[Q]QkQ^QfQ_QcQ`QaQb QdQeQgQhQjQi88QlQm8QnQoQqQrQsQtQuQv QxQyQQzQQ{Q|QQ}Q~QQQ8*8QQQQQQQQQQQHQQQQQ8Q8Q8QQ8Q8QQQQQ88Q8QQ" QQQ8QQQQQQQQQQQQQQQQQ8QQQQQQgQQQ2QQ QQQQQQQQQQQ8QQQQQQQQQQ$QQ| Q$Q$Q$$Q$Q$Q$Q$Q|$QQQQ81QQQQR>QQQQQQQQQQQQ|+|+QQQQQQQ$QRQQRRRRRRRR$RRR RR RR RR R 88R RRR#RRRRRRRRRRR!R 8R"8R#88R%R+R&R)R'8R(888R*8R,R5R-R.R2R/R1R08R3R4gR6R7R;R8R:R988v8R<8R=8R?RJR@RARBRCRERD8RFRGRH8RI8RKRVRLRQRMRNRORP8RRRSRTRUwRWRiRXR`RYRZR^R[R\R]R_88RaRfRbRcRdRe RgRh8RjRtRkRlRpRmRnRoRqRr8Rs8RuR|RvRwRxRzRy R{11R}R~8RRRRRRRRRRRRRRRRRRRRR8RRRR8RRR8RR RRRRRRR8RRRRR8RRRRRRR8{CRRRRggRRRRRRRRRRRRwRvRSRRRRRRRRRRRRRRRRRR88RR8RRRRRRR8RRRRRRR8{C{C8RR8R8RRRRRRRRRRRRRRR8RRRRRR8RR8R8SSSSSSS S8S S4S S S!S SS 88SSS88SS888SSSS88SSS8SS8SS88S88S 88S"S#S(8S$S%88S&8S'8ES)S0S*S-S+8S,88S.8S/888S18S28S38S5S6S=S7S8S9S:S;S<=S>S?S@SASBSCHSEU0SFTsSGTSHSSISSJS\SKSLSMSNSOSPSQSWSRSSSTSUSVSXSYSZS[S]ShS^S_S`SaSeSbScSdSfSg1HSiSoSjSkSlSmSnSpS~SqSrSsStSuSvSwSxSySzS{S|S}HSSSSSS  SSS1SH SSSSSSSSSSSSS8SSSSgSSSSS" SSS8SSSSSSSSSS*SSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSUSHSHS8SSSS8SSSSSSS88{CSSSSSS8S8S8S8S88SSSSS88SS888S8SS88CS88SS88STSTSS8S8S88S8S8S88TTTT8T88T8TT {CT T T T 8T8T8T8T8TT9TT"TTTTTTTT8TTTT T!|5|5T#T$T%T3T&T'T(T)T*T+T,T-T.T/T0T1T2T4T5T6T7T8T:T^T;TOT<T=T>TKT?TAT@TBTCTDTETITFTGTHgTJgTLTMTNTPTQTUTRTSTTTVTWTXTYTZT[T\T]gT_T`TfTaTbTcTdTePTgTmThTiTjTkTlTnToTpTqTrTtTTuTTvTwTxTTyTzT}T{T|8T~TT3TTTTTTTT88T8TTTk8TT8TTTTTTTTT8T8T8T8T888TTT88TT8T88T88T8T8T8T8T8TTTTTTTTTTT88T8TT8T8T888T8T8T8T8TTT8T8TTT8TTT8T8{CTT8T88TT88TTTTT8TTCT88T8TT8TTk8TTTTT88TT8T88T8TTTTTTTT8TTTTTTwTTTTT8TTTTT8TTU TUUUUUUUUUU U U 8U UUUUUUvUUUHUUUUUUCU8UU)8U U(U!U"U&U#U$}U%}U'8U)U-U*U,U+88U.8U/8U1VU2U3UNU4U5U6UCU7U>U8U;U9U:8U<U=gU?U@UBUA8UDUHUEUFUGUIUJULUK8UM8UOV=UPVUQURUSUTUUUUUVUUWUtUXUfUYU_ UZU[U]U\  U^  U`Uc Ua Ub Ud Ue  UgUk Uh UiUj  UlUoUm Un  UpUr Uq Us  UuUUvUz Uw UxUy  U{U U| U}U~  U  U  UU U UU  UUUU UUU U UU  UU U UU  UU UUUUUUUUUUUUU UU UU UU  U  U U UUUUUU UU  UUU  UUUUUUU UUU U U U  U U UU U UUUUUU U U  UUUUU  U  UU U U UUUUUUUUUUUUUUUUUUUUUUUUUUUU|UU||UVVVV  VVVV VVV V V 8V VVVV8V8{CVVVVV##VV9VV3VVVVVV V!V0V"V+V#V'V$V%V&V(V)V* V,V-V.V/V1V2 V4V7V5V68{CV8|?V:V;V<8V>VYV?VIV@VFVAVBVCVDVEuVGVH8VJVSVKVPVLVNVM8VO8VQVRVTVVVU8VWVX8VZV[VqV\VdV]VaV^V_V`VbVcVeVfVgVhViVjVkVlVmVnVoVp'VrVVsV|VtVwVuVvVxV{VyVz|%%V}VV~VVVV8OVVVOVO%VVVVVVV%%V|NV }Vv%VVVVV V VWVVVVVVVVVVVVVVVVVVVVVVVVV88V8VVVVVVVVVVVVVVVVVVV|]VVVVVVV88VV8VVVVV{CV VWVVVVVVVVVVVCVVVVVVWVVVVVVwVwVVVwwVVwwVwVwwVVwwVVVVWV VVWl˃&WWWWW WW8W W W 8W 8 QWWWWWWWWWWWWWWWWWWNWW6WW/W W%W!W"W#W$W&W)W'W(W*W-W+W,W.W0W4W1W2W3W5W7WIW8W=W9W:W;W<W>WEW?WBW@WAWCWDWFWGWHWJWKWLWM1WOWeWPWbWQW_WRWXWSWVWTWU11WW1WYW\WZW[11W]W^11W`WaWcWd1WfWtWgWkWhWiWjWlWoWmWn#WpWrWq#Ws#WuWvWzWwWyWx#W{W}1W|W~8WWWWW8WWW8WC8WWWWWWWWWWWWWWWwWWWWW WWW1W11WW1W11W1W1WWWWWWWWWWWWWW8WWWWWWWWWWWWWWWWWWWW8W8WWW8WWWWWWWWWWWWWWWWWWWWWW8WWWWW8WWWWWWWWW8WWWWWWWWWW 8WXWXWW8XX8XX XXXX|lX X RX Z,XXXXXXXX?XX.XXX XXXXXX8XXXXX!X&X"X#X$X%8X'X(X+X)X*X,X-8X/X0X1X:X2X6X3X4X5X7X8X98X;X<X=X>X@X|XAXQXB8XCXLXDXIXE8XF8XGXH88XJXK88XM8XN8XOXP88XRXSXqXTXX8XU8XV8XW88XYXZ8X[XpX\XfX]X^X_X`XaXbXdXc  Xe XgXhXiXjXkXlXnXmXo8XrXv8Xs8XtXu88XwXy8Xx8Xz8X{8X}XX~XXXXX8X8{C8XXX8X8XXXXXX888X8XXXXXXXXXXXXXXXXXXXXXXX{CXXXXX8XX8XXXXXXgXXXXXXXXX*XXXXXXXX8X88XXX88XX8XXX88X88XXXXXXX8X88XX88XgXgXXXXX88XX8X88{CXXX8X8X88XXX88XX8X8X8%8XXXX888X8X8XYfXXY2XYXY XYXYXYY8YY8YYY Y8{CY Y YY YYUY8YYYYYYYYYYYY8YY Y-Y!Y"Y#Y$Y%Y&Y'Y(Y)Y*Y+Y,wY.Y/Y0Y18Y3Y4Y?Y5Y9Y6Y7Y88Y:Y;Y=Y<8Y>8Y@YKYAYEYBYCYD8YFYJYGYHYI 8YLYUYMYTYNYQYOYP|{YRYS88YVYWYXYcYYYZwY[Y\Y]Y^Y_Y`YaYbYdYe|1YgYYhYYiYyYjYqYkYlYmYnYoYpYrYsYtYuYvYwYx YzYY{YY|8Y}8Y~YY8Y888YY888YYYYYYY88YYYg8Y88Y8YYYYY8YYY88Y88Y8YY8Y8Y8YY8YY8Y88Y88YY8Y8Y88YYYYYYY8Y8YZYYYYYYYYY8Y8Y8YYYY8YY8YYYYYY8Y8YYYYYYYY88YYYYYYYYYYYY8Y8YY8YYYYY88YYYYZ YZYYYY8Y{C8YYYYYYYYYYYY#g1YZZZZZZ#Z#ZZ Z g8Z ZZ Z8ZZZ8ZOZ\ZZ"ZZZZZZZ ZZZ Z!||Z#Z$Z%Z&Z)Z'Z( Z*Z+PZ-[Z.[vZ/[Z0ZZ1Z[Z2ZDZ3Z8Z4Z5Z6Z78Z9Z<Z:Z;8Z=Z@Z>Z?8ZAZB8ZC$ZEZRZFZLZGZH8ZIZJZK8ZMZOZN8ZPZQ{CZSZWZTZUZV8CZXZYZZZ\Z]ZiZ^ZdZ_Z`ZaZbZc$1ZeZfZgZh8ZjZsZkZqZlZoZmZnZp8Zr8ZtZZuZZvZZwZZxZyZzZ{Z|Z}Z~ZZZZZZZZZZZZ8ZHZZZ8ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZgZZZZZZZZZ#Z#ZZZZZZZZZZZZ$ZZZZ8Z8ZZZ8ZZZZZ8Z88ZZgZZZZZZgZgZZZZZggZgZZgg[[gg[g[[I[[3[[[%[[[ [ [[ [ [ =[[[[[[[[[[[[[ [1[[[ [![#["88[$8[&['[,[([)[*[+8[-[.[1[/[0[2[4[5[A[6[<8[7[8[9[:[;g8[=8[>[?[@8[B[E[C8[D888[F[G[H8[J[K[L[d[M[_[N[[[O[P[Q[R[S[T[U[V[W[X[Y[ZK&[\[^[]88[`[a8[b[c8[e[l[f[i[g[h8[j[k8[m[t[n[o[p[r8[q88[s8S[uP[w[[x[y8[z8[{[[|[[}[[~8[[[8[888[8[88[8[[[[8'8[8[[8[[[8[88[8[88[8[8[[888[[88[8[[8[[[8[[[[[[8[[[[[[[[̿[[[[[$[K|[\][\[[[[[[[[[[[ [[[[[[[[H8[[[[[[[[[ [[[ g[[[[[[[[[[[[[HH[[g[[[[[[[[[ [[[[[[[[[gg[[[[[8[8\\\\\\\\\\/\\ \ \\ \\ \ \ \\H\\\|\\  \\\\ \\\\HH\ \!\"\(\#\&\$\%| \' \)\,\*\+  \-\. u\0\C\1\:\2\3\7\4\5\68\8\98\;\<\=\@\>\?\A\B8\D\Q\E\F\J\G\H\I8\K\N\L\M8\O\P8\R\S\W\T\U\V\X\[\Y\Z8g8\^]"\_\\`\z\a\b\o\c\k\d\e\h\f\g\i\j\l\m\nO\\p\q\x\r\w8\s\t\u\vw\y8\{8\|\}\~\\\\\\\\\\\\\\\\\\\\\8\\\\8\\\\\8\\\\\\\\\\\\\\\\\\\\=\\\\\HH\\\\\\\\\\\\8\\\\\\\8\8\\\8\88\88\\\\8\8\\8\\8\88\88\\88\8\\\8\88\\88\88\8\8\8\8\8\]\]\\\\\\  \\ \ \  \ \ \ \ \  \] \]\\\]]]]]]]]] ] ]  ] %]88]8]]]C]8]8]]8]]8]]]]]2>] ]![.>8!]#]]$]]%]J]&]']2](]-])]*]+],].]/]0]1]3]>]4]5]8]6]78]9]<]:];\]=]?]F]@]C]A]Bg]D]E]G]H]I]K]Q]L]M]N]O]P8]R]^]S]X]T]U]V]W]Y]Z][]\]]g]_]c]`]a]b8]d]]e]f]g]h]i]v]j]k]o]l]m]n]p]r]q]s]t]u]w]x]}]y]z]{]|]~]]]]]]]]]]]]v]]]]]]]]]]]8{CT8]]]S]]]]]]]]]]]8]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]=]]]]]]]=]8]]]]]]]]]]]]]]8]]]]]]1]]]]8]]]]]]]]8]]]] 1]]] }C]]]]]]]]]]8]^j^g^f^d^b^`^_H^^^^^ ^k^ ^G^ ^^ ^^ ^63^^^^^^KhJCIKh3^3^3^^^Fm3^^4^^(^^#^^"^ ^!3ƲƢ3^$^&^%3^'^)^/^*^-^+^,36^.Ƣ63^0^2^16Ƣ36^36^5^?^6^9^73^836^:^<6^;6T^=^>6T6^@^D^A^C6^B3T^E^F66^H^d^I^U^J^K^O^L^N^M66gM63^P^S^Q^R|Ʋ^TT6^V^[^W^XTT^YT^Z^\^a^]^_b^^3^`'^b^cq^e^f^j^g^hƢ^i3q^l^^m^s^n^o^pƲƲ^qƲ^rq^t^u^vq)^w^}^x^{^y^z3^|Ʋ^~^qq3^^^^^Ʋ^^w^SƄb^^^^^Ʋ^ƲƲ^^^qqTƲ^^^qCw3^^^^^^^Ƣ^Ʋ^^^q^^^3^Jw^^^^^^3Ʋ^^|Ʋ^^^^^P^^^^q^^q^qq^bq^^q)^^^^^^3q^T^^C^q^^T3^^^^^^^^^^6q6^6^^66^6^3^6^66^6^T6J^^^^^^Ʋ^^^CC^Kh^^C3C^E3ƲƲ^_^_^_^^^^^^^^^Ʋ^^^^^3^^3^33^3^3^__Ƅ__3____ b_ q_ __ 33_ 3H6__3___CI___33_3_C__"_____|_)_ Ƣ_!|_#3_$_1_%_0_&_'_/_(||_)|_*_+||_,_-||_.q||q|_2 _4_5_8_6_7w_9_:_;_=ߞ_<"_>_?_@_A_E_B_C_DE_F_GE_I`T_J_Ʋ_K_L_s_M_S_NE_O3_P6_QC3_R3_T_e_U___V_Y_W3_X33_Z_]_[_\qb3_^3_`_b_a33_c3_dq3_f_l_g_k_h_j_i33_m_p_n33_o_q3_r3_t__u__v_~_w_z_x3_y333_{_|_}33______33__3_q3____3__3___663______6_Ƅ6_3Ƅ__________Ƅ_3___333_____EE_3_3)_)_______3____________3__3b_`B__________3___q______________|3_3_|ƢT_`_______3T__q_3__CS6_____E3____q_3_`_`_`_`S``q``qb`` ` ` E3` 3` ```33``T3``+``#````3```66`` ``6`!`"Ƅ3`$`(`%6`&`'6`)6`*6`,`6`-`0`.C`/3`1`4`2`36Ʋ`53`7`=`8`;`9`:6b6`<663`>`@6`?T`AƲ`CƲ`D`P`E`K3`F3`G3`H`I`J3Ƅ'`LT`Mq`NT`OTTq`Q`R`S33`U``V``W`Z`X6`Yb3`[`|`\`q`]`g`^`d`_`b```a63`c`e`f3`h`k`i`jC`l`o`m`n3Ƣ`p6Ƣ3`rq`s`v6`t6`u6E`w`z`x`yq'`{'q`}``~````Ʋ``````````````)```````63`6```6`636``6`66``6`36`6`q`'```6Kh`````````6Ʋ```q``3`3`SKh`3```~Dn````````S````````B`3``q`````````~~```~``~```~`` `aG`a `3`3````6`T6`a``````E`q`q`q`qq`q``q``aaSaa3Ʋaaaaqqa a 3qa a a'aaa66a6a6a6a63aa aaaaa3a66Sa66a6qa66a66a!a"6a#a%6a$6qa&336a(a<a)a6a*a.6a+6a,a-66a/a26a0a1636a3a4366a566a7a8a9636a:a;663a=aCa>66a?6a@aAaB6E3aD6aE6aF63aHaaIaaJamaKaWaLaQaMqaNqqaOaPq33aRaSaU3aTƲ33aV3aXakaYTaZa[a\a]a^aga_a`adaaabachaeafhahaiajhalanaaoaapa}aqauqarqasathqi8avaxawV|aya{azq6qJa|qFa~aaaha6aJahqaaaaaaaaaqqaqaqqaaqqaqaqaaqqFqaaaaaaaaaaaqaqaaaqqaaaaqaqaaaaqaqaqaaaaaaaaqqaaqqaaaaqqaaqaFaFqaqaaaaaaqaqaaqqaaqaqqaqaaqqi aqqaJqaaaaahahaqqaaqaqqaaqaq} qqaqaqVqaqaaaaqaaaƲSCaaaaaXߞXaaߞߞXaa3aa3qabaaaaqabbbqbbMbbbqbb b b b b gb bb b:b bbb3bb*bbbbbbj bj }bbj hbbbb}hhb b!hhb"hb#b$hb%hhb&hb'b(b)hbbhb+b.hb,hb-bhb/b1}b0hbbb2bhb4bAb5b;b6b9b7b8bhhbb:hbj b<b?b=b>bhj }b@hhbbBbHbCbFbDbEhj b}bbGj hbIbLbJbKhbhbbhbNb~bOb}bPbQbxbRbubSbsbTbUbVblbWb]S bXbYS bZS b[S b\S kOS b^bgb_bcb`S baS bbS kOS S bdbeS bfS kOS bhS S biS bjbkS kOS bmS bnS boS S bpbqS brS kOS kObtXS bvfXbwXbyXbzffb{b|ffqTbbƲ'qbcrbc-bcbbbbbbbbbbbbbXbEkOEbbXbS EkObES bfbbbbbbbbbb66bb666b6bb6q66bb6b66b6'bbbbb6b66b6b3bbbb633b66Ebbbbb6b6366bb636bbbbbb663b6636bb36bbbbbb3663b6bb636b63bbb66bbb6b66bƲ66b6b6bb663bbbbb6b6b6b6b6b6q6bbbbb66b6bb66b6bb36b66b6qb36bbb6b6b636bbbƲƲqbƲccƲccc3ƲccƢbccc bc bc bj bc bc bj cccT6cccc63c3cƲcTc3c63cc336ccc$cc#6c 3c!3c"TS36c%6c&6c'c)3c(3c*c,3c+T3T3c.cXc/cTƢc0c1c2cDc3c;c4c5c7Xc6fc8c:c9XS fkOc<c=cBc>cAc?c@S fkOS "cCkOcEcOcFcHcGfcIcJXEcKcMcLS S XcN"XS EcPcQcRkOfcSXS cUcVcWScYcZƲc[c\c]clc^cec_cac`EcbccfcdfcfcicgchqfcjckEfcmcncoqcpcqfcscctccucTcvcwc{cxcy3cz3c|c}bc~cccT6S ccS cccccCccccccccccccccRcRccccc83cC3ccc3cccccccccccS ccccccc6c663ccc666c36cccc36366c36ccKhccccc6cccccccccccccccccccc ccƢqcqcSc36cccccEccccƲcccc3ccTcccccqccFcFcF},FcCccccƲcdcTcƄddddd dd ddd6d d d de(dd~ddTdd6dd6d66d6d63dd7dddd6dd5dd'd d!d"k sd#d&d$8d%k8kd(qd)qd*qd+qqd,qd-d.qd/qd0qd1qqd2qd3d4qFqd6d8d9dPd:d;Ƣqd<d@3d=d>d?33dAdC3dB36dDdEƲ33dFdGdHE6dIE6dJE6dKE6dLE6dME6dNE6dOE6E6ƲdQdRdSƲH6dUdpdVdadWdXd\VdYVdZd['d]d^d_d`Ʋ3dbdhdcdddeqƲdfƲdgEdidldjdkqqƲdmƲdndo3dqdx6dr6dsdt66du6dv3dw6dy6dzd{66d|6d}63dddddddddFdd36dddddd3qddddddddddddߞddddߞddddddddddߞߞdߞdddddddddddd}<dddkOdkOdddddkOdS dddddddEdddd}Kddddddd}<dddd3dƲddƲddddddC'd'd'd'd'}ZddddddkOddddddddddEƄqdedeSddededdTddTdTttddeTttTeqe'Sqee Ʋeee e e ee EeeEqee6eƲeqeeeƢee6e6e6e6e3eb36e e!e'6e"e#e%6e$633e&336e)e3e*e+efe,e5e-e.e3e/e0e1e2Ee4e6ePTe7e8eAe9e;3e:3e<e?e=e>36363e@3eBeHeCeEeD33q3eF3eG3eIeL'eJ'eK}Z'eMeNeOƄeQeZeReSeXC/eTeUeVH6eWEeY3Te[e\ece]ebƲe^e_e`eakOXX3edeeegeehƲeieejek)eleemeeneeoepeqewereseteuev"exeeye|eze{"e}ee~e"e"ee""e""e"eeeee""e"eEeETeeeeeeeeeeee"eeeeeeeeS eeeeeS eS eeeeeeEeeeeS eeeeeekOeeekOeeeeeeeee}<eeee}<eeeeeeeS eƢeeC3e3e6e3eƲeeeeeTeTee3e63eeeeFeeeFeFeFeFeFeqeee3eeeeeXefIef)efefeefqfqfJff fqfff f f bf ffffffffTCfEfff3Ƣfff333fb3fff f!f&f"f%f#f$qqJf'f(f*f;qf+f,f-f.f/f0f1f2f3f4f5f6f7f8f9f:qf<qf=f>fHf?fFbf@fAfDbfBbfCbEfEbEbbfGbEfJffKfLTfMf]fNfOqEfPEfQfREEfSfTEEfUfVEfWEfXEfYEfZEf[EEf\DZEf^f`f_TfafbffcffdfzfefgffSqfhfufifkfjߞ"flfmftfnfsfofpfqfrߞ""fvfwfx"fyEf{f}f|Ef~ffffߞff33Tfffffffffff3ff3S63fffffCƲqfbffffff363f3fffƢff}if}i}iƢƢfƢf}iƢffƢfffffff3ff)fS33ƲffffffffTfTfTfTfg,ffff3f3f3ff33f3f3ff33f3ff3f3ff33f3f3f3fff33f3f3f33ff33ff3ff3f3fff3ffG3G3ffX 3X 3ff33f3ffXX3XXfg fff33ff33ff3f33 Q3ff33f3f3f3fg3g3g3g3g3g3g33g3g3g 3g 3g 33g 3gg3gg6gg363gggg3gg33g3g3g3g333gg3g 33g!g"33g#3g$g%33g&3g'g(33g)g*33g+X 3g-gg.gog/gMg0gKg1g@g23g3g;3g43g5g633g7g83g9g:3Tq33g<3g=g>33g?3EgA3gBgC63gDgH3gE3gF3gG33gI3gJ3gL33 gN3gO3gP3gQg`gR3gS33gT3gUgV3gW3gX3gY3gZ3g[33g\3g]g^3g_3ޑ33gagb3gc33gdge3gf3gg33gh3gigj3gk33glgm3gn3}y3gpg|3gq3gr3gs3gt3gu3gvgwgzgxgy3TS33g{T3g}g3g~3gg3g3ggg3g33gg3g6g33g3g33gg33gg3ޑg3ޑggggggg3 gg3gg6g33g3ggg33g33gggg3g3Eggggggg ggg33ggggEg}EƲ3gg3g3gƲ33g3g3gggg3gg3g33gg33gTg3ggg3g3g3g33ggggggޑgޑ3ޑg3ޑgޑޑgޑ33g3ggg3g3363ggg633gggggޑ3ggޑ3ޑ33gg3ޑ3g3g3g3g3 g g 3gh}gh3ggh3g3g3gg3g33ggg3ggg36363hhhhShq3qh3h3h33h 3h h 3h hh 3h3q3h3hh3ShhphhfhhL3h3h3hhhGh3h3h3h3h3h Ʋh!h"h9h#h$h)h%h&h'h(}h*h5h+h/h,h-h.h0h2h1h3h4h6h7h8h:hAh;h@h<h=h>h?hBhChDhEhF}3hHhI3hJ33hK363hMhN33hOhP3hQhahRhVhS3hT3hU33hWhXh[hYhZ}h\h_h]h^h`3hbhc3hdhe63363hg3hh3hihj33hkhl3hm33hnho336hq6hr6hs6hthu6hv66hw6hx6hyhz6h{6h|66fh~ihirhihhhh6hhhh6hhh66hhhq3T3h66hh3h3hƲ63hhhhhhhhhh6hh663h66363hhhh6hh6Ehhhh6'hh63h6h6hh6SChhhhhhh3hhEƲƄThhh6bhh6Jq3hq3hhhhhhh36q6hhh6h3S6'hhhh6hqƄ6h6h'6Thhhhhh63h333h3h3qhh6h3h6Thh36366h6hh6h66hh66h6h6hf6hh6h6hhh6hh66hh33hh6hhh6h6363h66h63h6h66h6hii63i3i33ii96iii iii i6i 6i i 33i 3ii6ii33i3ii6ii33i33iE3i66i6ii3i363i!6i"i6i#i,i$i)i%i'6i&633i(36i*3i+3Ti-i06i.i/33'i1i4i2i3q3J3i5336i76i8636i:i;i>6i<6i=63i?iRi@6iAiJiBiFiCiD63iE363iGiH63iI3T6iKiLiQiMiPiN3iO߮636iSieiTi[iUiXiViW6636iYiZ63i\i`i]i^63i_3636iaibidic3}h36ifiligih63iiij3ik363imip6in6io6iq63isiitiyiu66iviw6ix6636iz6i{i|ii}ii~6i6i6iii66ii6i66ii6i6t6i66ii6i66iiiiiii6t6tii6t6ti6i66ti6i66ii66i6i6ti6ii6i636ii66ii66ii6i66i6i6i6ii6i66iiiiiiiiiiiiii33ii6'33ii33i3i3Eiiii3i3Ei3ii3i3i33iiiiii333i3i33iiii3i33Eii3q3iiqiiEiqijuEiiiƲiijFijiiiiqii3ii3i3iiiiOiiOO3i3biiCƢiqjjjjj+jjjj%jjj jj jj jj j jjjjjjjjjjjjjjj!3j 36j"j#3Ʋ6j$3j&j'j(j)j*}j,j?j-j=j.j/j0j1j2j3j4j5j6j7j8j9j;j:j<j>qj@jAqjBjCjDƢqjE3ƢjGjfjHjXjIjTjJjSjKqCIjLjMjNjQjOjPCEjRqEqjUjWjVKhjYjdƢjZ)j[j\j]j^Ʋ3j_jbj`jaqqjcSqjejgjhjijjjmƲjkjl33jnjs3jojpjqjrq6Cjtbjvjjwj|jxjyj{qjzF|STj}jqj~jjjjjjEjjjjjfjfjffXjjEEjEjEjjjjjjjjjjfjfjjjfjjffXjkOjfjjjEjqjjjƲ)jjjjjƲTqj'jƲj~jyjtjnjmjlWjkjk4jk jjjjjW*jjjjjjjjjjjj**jj*jjjjjjjjjj*jjjjjW**jj$j*$j*jjjjjjjj*jjjjj*$jj*jjjjjjj!!jjj!Wjjkjjkjkk*Wkkk**kk}-}-k k *k k(k kk.kkWkkk*kkkkkkkk%kkkkk k$k!k"k#k&k'<k)k*.k+k,k-6k.k/k1k0**k2k3$**k5kk6kDk7k>k8k;k9k:W*Wk<k=*k?}k@kAkBkC*kEkgkFkPkGkOkHkIkJkKkLkMkNVkQkRVkSkTk^kUkVkWkXk[kYkZck\k]ck_k`kakbkckekd kf khkikjkkklkmkknkokzkpkykqkxkrkukskt@kvkw@@@k{k}k|@@k~@kkkkkkkkk@kkk@kkk@kkkkkkkakk*k**kkk*$kWWkkkWkkk!kk**kkk*kk**kkk Kkkkz=K0zkkkkkkkk*kkk*kA*$kl kkkkkkkkkkkkk*k*kXXkXkXkX}*kkkkkkkkk$kk*kkk$kk*kkkkkk$kk**kkkk$$kk*$*k*kkk*kk.klkkkkkk*kk!*kktlltlt3lt}tll*lll l lFl l=l ll*l!llll*l*ll*lllllll*l*ll%l l"l!*l#l$Wl&l(l'!*l)al+l6l,l1l-l/l.!l0l2l4l3*!l5*l7l<l8l:*l9*Wl;W1*l>l@*l?lAlB$$lClDlElGlTlHlSlIlMlJlK*lLWW*WlNlOlPW lQW*lR/*lU*lV**lXllYllZll[ll\lsl]lpl^lil_lcl`lblaldlglelf 1lhWljlklnlllm*M$lolq*lrWltllul|lvlylw!lx!*! lzl{!*l}l~!ll*llll$lllllalllll*llllll*lllllllll*llllllllllll9*ll$ll$l*Al*llllll!ll$*llllW!*ll*Wllll*ll*$ll*lmllm lllllllllWWlllllll*ll*l_*l*lllllllll*W*lll!!$lll*ll*l*W*lmlllll!ll*llWl*lmW5mmmmm!!*mm*m *m *m *m mW*mmmCmmmWm*m*mm.mm#mmmmm*mmm!m m"m$m)m%m'm&W*m(Wm*m,m+a$m-*m/m;m0m7m1m4m2m3W*m5m6W*Wam8m9Wm:m<m@m=m>*m?*!mAmBmDmomEm^mFmQmGmLmHmJmI***mK*mMmOmN*WmPWmRmXmSmUmT**mVmW**mYm\mZm[**m]*m_mgm`mdmambmc!a*WmemfWmhmlmimkmj***mm*mn*mpm~mqms*mrmtmymumvmwmx*mzm|Wm{m}mmmmmmmmm*m*mmmm*m*mm*m*WmWmnmmn mmmammmWm*W*mmmmmmmmmmWm*.*mm*m*WmWmmmmmaWamammmWWmmmmmmmmWaWmmm$W!$mmmmmmmmammmmmmmmmmmma*mmm~ m~ m~ mmmmmmmmmmmmWWmWmmWmm!mmmmmmm!mmmmWmnmmmmmFmtFmmFmnmnnnnnn=tnn n nn n ann*!WnWnWnW$nn-n&nn-nnnnnnnPnn0n n(n!Wn"n#n%n$*Wn&n'**n)n.n*n+n-n,WWWn/Wn1nAn2n8n3Wn4n6Wn5Wn7Wn9n>n:n<n;Wn=WWn?Wn@WnBnInCnFnDWnEWWnGWnH!nJnOnKnNnLnMWWWWnQnjnRn]nSnYnTnWnUnVWWnXWnZn\n[WWn^nen_nbn`naWncndWWWnfWngnhniWWnknunlnnWnmWnonrnpWnqWWWnsntWnvn}nwnxnznyHn{n|W*Wn~nWnWnnnWnWW!anrnonnnnnnnnnnnMnononnnnnnnnWnlnn*l*WnWnnWWnnnnnWWnWnnWnWWnWnnnnSnnnnnnnnnSnnnnnnWnWnWnnnnWWWnnnnnWWnnnWWnnWnnnnWnnnnWWnnnnnnnnnWnWnnnWnWnnnnWWWnWnnnnnWnWWnWnnnnWnW*WnnWnononoWnnnWWoooWWoo oo ooWWo WWo o WWooooooWoWoWWooWoWoWoWooaoo7oo)Wo o!o&o"o$o#WWo%Wo'o(Wo*o/Wo+o,o-Wo.Wo0o3Wo1o2Wo4Wo5o6W*o8oKo9oBo:o<o;WWo=o@o>o?WWoAWoCoFWoDoE*oGoIoHWoJWoLoToMoRoNoPWoOWWoQ2oSWWoUo\oVoYoWoXWWoZo[WWo]o_o^W$Wo`WoboocolodokoeohofogWoiWWojWWomoxonotoooropoqWWosWouovowWWoyozo|o{Wo}o~WWoooooWoooWooWWWoooWooWooWoWoooWWoooWoWoooooooooooooooo*oooo*o*oo*ooooo*ooooKoooq?opooooooooo*oooooz=oooooooooooooooooooooooooooo*o*ooooooo*ooo*ooo!oooWooooo*oppppppp**pppkp pVp p,p p pp ppppppVpVVppVppppVpppVVpp#p p!Vp"Vp$p)p%p'p&Vp(Vp*p+Vp-pFp.p=p/p6p0p3p1p2Vp4p5Vp7p:p8p9Vp;p<Vp>pBp?p@pAVpCpDpEVpGpMpHpLpIpJVpKVVpNpPVpOVpQpTpRpSVVpUVpWpfpXpcpYp]pZp[p\Vp^p`p_VpapbVVpdpeVpgphpipjVplppmp}pnpvpopppspqprVVptpuVpwp|pxpzpyVVVp{VVp~ppppppVVpppppVpVpppppVpppVpqpppppppppppVppppVVppVVpppppppppppppppppMppppppppppppppppppppppppppppppppppppppppppppppp~pppppppppppppppppppppppppqqqMqqq$qqqqqq q q *q *q  !aqqqqqqq$q*$qqq**q$$qqq qqq!q#$q"$q%q/q&$q'q(q*q)**dq+q-*q,~~q.*q0q9q1q4Iq2q3Iq5q6Iq7q8Iq:q>q;q<1Fq=݉$q@qqAqiqBqYqCqIqDqE!!qFqGqH!WqJqRqKqLqOqM!!qNqP*!qQ*qSqWqTqUqV*!qX~%*qZ!q[*q\qfq]qbq^q`q_!!qa*!qcqeqd!!!qg*qh!qjqxqkqwqlqmqnqrqoqqqp*qsqtquqv**qyqzqq{qq|q}q~*qqqqqqqMqqqq*$*qqqqqqqqqq$qq$qqqqqqqqqq$q$qqqqq$q*q*q$$*Wqq$qqqqqqqqq*qq$qqqqqq$W*q*$q$q*qq*qqq*qqqqq&qqqqqqaqqqq$q$qq$qqqq$*$qq$q$$q!qrqrqqqqVqqqqqqqĚqqqĚqqqĚqqqqqqqqqqĚqqrĚrrrVrrĚIIrrr r r r r rVrrrrVrrVrsRrrrrxrrrKrr4rr"rWWrWr Wr!Wr#r,r$r)r%r'r&W*r(WWr*r+Wr-r0r.Wr/Wr1r2Wr3Wr5r=r6r8Wr7Wr9r:Wr;W%r<Wr>rBWr?r@rAWrCrFrDWWrEWrGrIWrHWrJWWrLrjrMrZrNrSWrOrPrQWWrRWrTWrUrWrVWrXrYWWr[r`r\r^Wr]Wr_WWrarerbrcWWrdWrfrgWrhriWWrkrsrlWrmrpWrnroWWWrqWrrWrtWrurvWrwWryrrzrr{rr|r}WWr~rrr~4rrrrrrrWWrrWrrWrrWrWrWrrrrrrrWWWrrrWWrrrrrWWrWrWrrWWrrrrrrrrWrWWrrrWrrrrWrWr{rrrrWWWr*rrr1 rWWrrrrrrWr*rW$rrWWWrWrrrWWWrrrrrrWrWWrrrWWrrrrrrr$rrr$~>$rrr*$r$rr|$rsErs*rs rrrrr$r!rsrrrrrr*rrrr*rs**ssss$s$s*$ss $s *s s)s s(ssssssss*$ss$.K*sss$$s*ss"sss$*s s!s#s&s$s%WWs'*$Ws+s2s,s0s-*s.s/s1s3sCs4sBs5s?s6s;s7s9s8s:s<s=s>s@sA WsD$*sFsGsJsHsIWsKsQsLsPsM*sNsO!$sSssTsrsUsfsVscsWsasXs[sYsZ Ws\Ws]s^s`s_*sbsdse$sgsish$!sjsksqslsmspsn0Wso0W sssstssussv*sws|sxsyszs{*s}s s~ssIIsIss$ssss sssssss$!ssssss*.$s$$sssssss*s*s**ssss**$ssss*$s*!1sssss*s*ssssss33s*sssss$ss$ssasssssss*W*ss*_ssssssss***ssss$stSsssssssssHss*ssssssss!stsssssss*sW*ssssss*sssW*st stttt$$$ttt$.tt*t tt t Wt t**ttt*$t$ttCttttt&ttttttt t#t!t"t$t%t't:t(t2t)t*t+t,t-t.t0t/t1t3t4t5t6t7t8t9t;t<t=t>t?t@tAtBtDtQtE }v~tFv~tGv~tHtIv~tJv~v~tKtLv~tMv~tNv~tOv~tPv~v~v~tR }v~tTtmtUt`tVt[tW tX$tY$tZct\At]t^ct_ctatb*tctdteti*tftgthWtjtktl*tnttottptqt~trtxtstutttvtw"tyt{tzt|t}"ttt"t*tttttttttt.txotvtutu7tu tttttttttttt[ttttttttttttttttttttttttttt[ttttttttttttttttttt[ttt[[ttttttttttttttttttttttttttttttttttAettt**t$ttttWtutttuuuuuurur$uu u0u uu u uuu0uu'uu uuuuuuuuuuuuru!u$u"u#*u%u&u(u)u*u+u-u,u.u/Iu1u2*u3u6u4u5$$u8u_u9uBu:u=u;u<**Wu>u@u?*uAauCuWuDuHuEuFuGuIuVuJuKuLuMuNuOuPuQuRuSuTuU36$uXu\uYuZu[!*u]u^P*u`uuaufubuduc$ue3uguuhutuiujunukum*ulW͌$uourupuq$$us**uuuvuwuxuyuzu{u|u}u~uuuuuuuu!uuu%u%*uuuuuu~M~Muuuuv9uuuuuuuuuuuuuuu*uuuuuuuu*u$uuuuuuuuuuuuuuuu18$u$uW*$uuuuzuauuW$uv+uv"uuuuuunuuuuuuuu*W*uWuuuuuuuu7uuu$uu*$uuuuuu*<Vuuuuu*uW*uuu*$uvu<uvuu<<uu<uvuV<uv<v<v<V<VvV<v<vvv v <<v ݉<<v <v <v݉<<vvv vvvVv<v<<v<Vv<v<v<v<v<<v<vv<V<<v!<I*v#Wv$v%v'Wv&$v(v)v**v,v3v-v1v.v/$v0v2$v4v5v6v7v8v:vv;vmv<vYv=v>vTv?vMv@vAvKvBvCvDvEvFvGvHvIvJnvL0vNvOvQvPvRvSIvUvVvWvXvZv[v\v]vlv^viv_v`vavbvcvdvevfvgvhvjvk9*vnvsvovp$$vqvr*vtvuvzvvvwvxvy*v{v|v}v~#vvvvvvvvvvvv7*vvWvvvvvvvv||%vv}PBvvvv}7 Pvv P}pvv$vvWvvvvvvvv vvvvvvvvvvw<vvvvvvvvvvvvvvvI.*vv$vvvvv**v!$vvvvv$vv*v*vvvv*vvvvvvvvvvvI*vv*v$vvvv*vvvvvvvvv#vvvwvwvwvvvvvvvv*vww ww wwwww#w w w w wwwwww*ww,ww"wwwwwwwaw*_*w*w Ww!*w#w$w&w%*w'w(w)w*w+*w-w4w.w2w/w0*w1**w3w5w7-w6*$w8w;$w9w:X$w=ww>ww?ww@wwAwcwBwUwCwLwDwIwEwGwF0wHwJwKwMwRwNwPwOIwQwSwTIwVwWwbwXwYw^wZw\w[w]w_w`waW.wdwewtwfwiwgwhwjwkwlwmwnwowpwqwrwsnwuwvwwwxwywzw{w|w}w~wnwwwwwwwwWwwwWw!ww#wwwwww*www$wwawIIwwW*ww$wwwwwwFFwwwFwFwawwwwwwwwww!wwwwwww**w*_wWw**WAwww*wwwwwwww$w$*ww*w*wwawwwwwwwwww$*!$www 8*wwwwwwww*wxwwwww*wwwwwwwww1Tw1T*wwwwww$*Ww*w*wxxxxxx$x x*a$!x*$x xx *$x x x xx* *xx_$x$x*xxLxx@xxx*xx1xx(xx#xx *xx!x"*x$x'x%x&*!!*x)x/x*x-x+x,$$x.x0/x2x3x4x5x6x7x>x8x;x97x:77x<7x=777x?7xAxJxBxCxDxGxExF!!xHxIzxK!xMxfxNxSxOxPxRxQxTxaxUxVxWxXxYxZ7x[77x\x]7x^7x_77x`7xbxcxdxexgxh$xixj.xkxlxmxnWxpxxqxxrxsxxtxuxvxwxxxyxzx{x|x}x~xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$x!xxxxxxxxx!*x$xxxxHxxxxxxxxxxxx&x&x&&xAx$xxxxxxxxxxxx *WxxPxxxxxx$xx**xxx*$x*$/x*xxxxx*x*xxxxx$x!*xxWx$*xxx*x$xx*x0xxWxx*yyryy yyyyyyyWy y *y *y *1Fayypyyybyy4yyyyyyyyyyyyyyy y,y!y)y"y&y#y$y%y'y(y*y+y-y.y0y/y1y2y3y5yQy6y;y7y8y9y:y<yFy=y>y?y@yAyByCyDyEyGyMyHyJyIyKyLyNyOyPyRySyWyTyUyVVyXy]yYyZy[y\y^y_y`yaycydyeyfygyhylyiyjykymynyoyqWysyytyzyuyxyvywWyy$y{yy|y}yy~yyyyyyyyyyyyyyyyyyyyyyyyy$yyyyyyyy*y~y|6y{Hyzyz yyyyyyyyy&y&y&&yy*yyyydya*yyy*yyyyyyyyyyyyyyyyyyyyy!*yy*yy$yyyyyy!yyyyyy*y$y*yyyy$cPyyy *yyy*yyy*W*yzyyyyyyyy*yy*yy*$yzzzzzz#zzz *zz **z *z z*z *z*z*z**ozzzzzzzzazz *zz&zz!z4z"z#z2z$z(z%z'z&a$z)z1z*z,z+z-z.z/z0~*!z3z5zYz6zGz7z8z;z9z:$Wz<z=zCz>z@z?*W*zAzBW*zDzEzF1rzHzWzIzJzKzLzMzNzOzPzQzRzSzTzUzVKzX*zZzz[zpz\zjz]zfz^zcz_zaz`zbzdzeVzgzhzizkzlzmznzozqzrzyzszvztzuzwzxzzz{z|z}z~qzzzqzzzzzzzzzzzzzz@zzzzzz@zzzzzzzz@zzzzzz@zzzzzzzzzzVzzzzzzzzzzzzqzzzzzzz@@zzzzzzzzzzzzzzz{zzzzzzzzzzzzzz7*zzzzzzzz*azzazzzAz*zzzz$*z*zzAz*zczz*zzzzzzW$z$W{{{{*{{*{*${{{*{ *{ *{ *{ *{ **{*{*{{*{*{*{**{**{!{{*{{*{**{*~{{.{ {){!{#{"{${({%{&{'{*{+{,{-*{/{9{0{5{1{2*{3{4{6{8{7*!{:{G{;{B{<{@{={>{?{A*{C{D{E{F!{I{{J{{K{]{L{Y{M{N{Q!{O*{P*A{R{S{T{X{U{V{W'5bW{Z{[{\${^{s{_{g{`{f{a${b{e{c*${d$** s{h{n${i{j${k{l{m*{o${p{r{q*{t{{u{{v{{w{{x{y{z{{{|{}{~{ {{{{{[{{{{{{{{{{{V{{{{{{/*{{{*{$${{{{{{{${{{a{{*{!{{*{{{{{{!$!{{${{{{{{{{{{{  {{{[V{{*$W{{${$a{{{{{{{{c{$!{{!{*{*&{{!{| {{{{{{{{{$${{$${${{$${{$${$͌_{{${${$${{{{{{{${{{{*{{{${$*{|{|$*||W|$$||$|*|| | *| *| |$||||||#||||!|| |*||||||||h|"|%|4$|&|'|)|($a*|*|+|,|0|-|.|/**|1|2|3*$*$|5*|7}|8}N|9||:|T|;|N|<|D|=|?_|>_W|@*|AW|B|C*|E|F|M|G|J|H|I$|K|LW|O|Q|P**|R|S|U|t|V|n|W|Y|X$|Z|b|[|\|_|]*|^*|`!W|a*|c|d|k|e|h|f|gX|i|jS9|l|mS|o|s|p|qW|r$|u||v|w|xQ|yQ|z||{A||||}Q|~QQ|i~W||||||vi|~Wiv|||||Q~ev||~e~sKw~|Qa||||~Wi~W|~sv||~W|Qi|i~QA|a|i||||||~W|i~s۽|vv۽i|v|iv|a||||||||||*||W|*||||$|||||$||a|||||*||~*|||||#||||||||||| |||||.||||||||||||||||||||-||||*|}*|}|}|||||||}|}}}}9}}} }} } } } }}}9F}}!}}}}}}}}}}}F}}} }"}#}(}$}&}%}'})}+}C},}>}-}.}3}/}1}0}2}4}5}6}7}8}9}:};}<}=7}?}@}A}B}D}Ea}F}J}G}H}I}K}L}M[}O}}P}}Q}}}R}j*}S}T}Z}U}V}W}X}Y}[}b}\}^}]}_}a}`}c}f}d}e~}g}h}i}k}z}l}m}n}o}p}q}r}s}t}u}v}w}x}y}{}|}~}}}}$}**}}}}*W$}}}}}}}c}}} }!}}}W}}}}8f}}}}$}}-*}}*}}}}}}}}}}$$}*.}a}}}}}}}}}}}}*}}*}! *}*}}}}}}}}}}}$$}}}}*}}*!}}}}}}}}}}}}W*}}}}}}W}W*Wa*}W}}}}}}}}}}}:}}}~W}}W}WW*}}}W}~}~<}~&}~}~}!}~~~~*!~~~ ~~ ~ ~ ~~ ~~*~~~~~[~~~~~~~~~[~~$~~ ~!~"~#[~%V~'~,~(~)~*~+ ~-~0~.~/~1~:~2~8~3~5*~4$W~6~7*a~9a$~;~=~p~>~I~?~C~@W$~A~B$~D~F~E~G*~H~J~[~K~S~L*~M~P~N~O~Q~R ~T~Z~U$~V~W~X~Y~\~j~]~b~^~_~`~a~c~d~g~e~f~h~i~k~l~m~n~o~q~~r~~s~u!~t$~v~wW~x1~y1~z11~{1~|1~}~~1~1~1~1~1~11K~~*$~!~~$~~*~~~~~~88o~8~8~8~~~881~8~88~~1~818~~~8~8~8~8~~~~~~~o~8~8o8o8~818~~~~~~~~*~~~~~~~~aW~~~~~~~~~~~~~~~~~~~~~~~~*~*~$W~*~*~~~~~~~~~~~~~~~~~~~x~~~Z~~~~P~*~~ ~~~~~**~~Z ***** *  * *********# !*"*$'%*&(**)*+J,C-8.1/0*2534*67*9?:=;<>*@*AB**DE*F*GHI**KL*M*N*OQ|RgS*T\UXVW*Y*Z[*]b^a_`*v*ced*$*f*htipjnkml**o*qrsuvywx*z{**}*~**************t*************************$****************x**w***!**** *  ** * ***********UC 7!+"&#$*%*')(***,2-/*.*01*354*6W8<*9*:;*=?>*@A*B*DIE**FGH**JKPLNM*O*QSR**T*Vf*WX\*YZ[]`*^_adbcOegrhli*j*k*mpno*q***stw*uv***y*z{|*}~*******$*******W***************$*8****r,******************* ***   * **"** *!t*#&$%*')(*+**-Q.;*/051o243****6798*:*<G=>B?A@**CFDE**H*ILJK*MN*OP**ReS\*TUX*V*W**YZ[**]^c_a`Vb@@ *d*f*gkh*i*j*lomn*p*q*st*uv|w{x*y**z**}~***************~************!************~*******~*****d; *$* * *  ***5******+$*" !**#*%(*&*')*,2-*.0/*139465*78**:*<K=F>*?B@**A*C*DE**G*HIJ*l*LXMON*PSQ*RTV*UW*Y_Z][*\^**`a*bc**0,ef}gp*himj*kl*noqrxsvtu***w*y|z{**~******************* *$W*********************9***$*$*********q******  * . *"******* !**#**$%'&**()*+,*-*/I0D1<26354**798*:;**=A*>?@BC*E**F*G*H*JKOLM*N*PUQR*ST**VXW*Y*[ \:]C^_~`*albh*cdgef*ij**kmtn*oq*prs**uyvxw*z|*{*}************************************$************~***************5* #    ***********!* "$,%*&*'()*+**-:.4/201*a3*576*89* *;>0,< =*?A@**B*DEFqG\HQINJK*LMO*P*RVST**U*WYXZ[*5*]d^_a`**bc*$ekfhgijlomn**W*p*r}su*t*vzwxy*{|*~***************9***********5***$A*********************!    *5* ********** "+*#$(%'&***)***,2-.*/01**364*5*78*9*;<=>V?E@ADB*C***FL*GHJI*K*MPN*O**QSR*TU**WlXbY^Z\[**]*_a`***cgdfe**hjik*mvnro*pq**sut**w}x{yz*|~**********W**2****l*******!*8***$******8******JJ~******r/ *****   * *!****** **"*#'$*%&*(*)*+-*,*.*0J19283*46*5*7***:D;@<>=*?ABC**EFHG*I*K_LWMSNQOP**R**TUV**XZ*Y*[]\**^*`fad*bc*e*gmhji*klnpo*q*stuvw}xzy{|**~***********************************{****************~***** ** * l 7_4#*** ****!"*$+%(&*'*)**,.-**$/201*3**5I6?7:8*9;=*<*$>*@DABCEG*FH*JTKM*L*PNQOPJY~YRS*UZVXW*Y*[]\^*`avbmchdgef***ikj*l*nroqp**stu*wx~y{z**|}********5******************************* ****** **** *   ****W*"*** !#/$)%'&*(**,+*-.*0*142356**89:];F<*=B>@?*A**CDE**GQHNILJK*M**OP**RYSVTU*WXZ[\^x_m`facb*de**gjhi**kl*ntoqpzrs*uwv***yz{~|}********************************************A$**W**********  *   *****W****** &!#"*$%**')(**+6,1-/.**0*23*~45**7<89*:;**=?>@***BCTDPEJFH*G*I**KNLM*O**QR*S*UbV\WYX**Z[**]`^_a**cfd*egjhi*k*mnopqrxstvuw**yz}{|**S~*************************!********8******************* *   *W ***b6%**!* *"#$$&*'(*)+0,.*-*/P132*45**7Q8E9?:=;<**>**@CAB*D*FKGIH**J**LN*M*OP**RZS*TWUV**XY*[_\^]**`*a*cq*d*efjgih***knlm*op*rsw*tuv**x|y{*z*}~******,*********************S*******8*****W*** ****   ** ***8**#**! *$"*$(%&*')*+$*-}.Q/@0:1624*3**5*78*9*;><=*?*AHBDC**EFG**INJMKL***OP**RhS_TYUW*V*X*Z][\*^*`fadbc**e*g*iujpkml*no* qtrs*vxw**y{z**|~*W$****************8******E***~********************** **   * ***P*0'!** **"#%$*&**()-*,*+**./**1*2<384657*9;:=@*>?AB*CD*FGrH^IRJOKL*MNP0Q0SWTUV**X[YZ*\]**_i`dabc*egf*hjmkl*npo**qst*u|vywx*z{**}~****************O**********W************ *!******D*****8****P* **-  * * *******1(" *!*#&$%**'*),*+P-/.*02>37465**8;9:**<=**?@BA*C$PEoF\GQHMIKJ*L*NPO**RYSVTUWX*Z*[*]d^*_b`a*cejfhg*i*kml*n*pqurst*v{wyxzW*|}~****************************S*** ***************5***********O*******P****** /   ********** '!$"*#%&*(+)****,-.**0C1:28354*67**9*;>*<=*?@*AB*DLEIF*GH**JK*MNPO*QR**T`U*VWXYmZc[`\^]**_**ab*dheg*f**ikj**l**nyospqW**rtwuv**xz{|}~**************************************<*******$** * *  ** ***,$* "!*#**%(&'*)*+*-5.1/02348687*9*:;*=G>**?@DABC*W**EF**HVIQJKNLM*OP***RST*U*WX[YZ*\^]*_*ab*c*dle*f*g*h*i*jk**mnoxpsq**rtvuw*y|z*{*!}~**********************g*0A*a*@[$$*!$:u8    W*$*$  0   0R< $-W*!!"3#$(%&'*)*+,-./01248 56*7 *9:;:=F>D?B@AaCEPGMaHIJ$KLNOPQ$SsTbU`V_WZXY[\]^**a*cid*efgh[jpk*lmo*naaqart|uvzwyx*.$${~%}~a**~ll**IW*Vc*$W*$III<<WaW**4*Oo**$**S!*W$*$*% a    * !"#$݉&1'()/*+*,-.023*5f67A89:>;<=*?@*W*BCD*EFRGIH[JKLMNOPQST]UVMMWMXYMMZ[M\MM^M_`MaMbMcMdMeMMgkhjiPW*lqmpno&rstuv w xy  z {|  } ~ ~ [WWWP*wW$**W******* **************************************************************$W     WW$!**X!IX*0, **!"#$'%&*$*()*+-.a/*W12Z34J58679:;<C=>?@ABDEFGHIKPLMNOQRSTUWVXĚY*\{]y^s_e`dac*b-fghmikjlFnqopFFrFtvuwx*z!|*}~WaWA***V***$r*<<<<<<<<<<<<~!*!!*tW   $$  P0)777 (!7"%#77$77&7'77*+,-./71<23!W4567;89: *=>\?M@IAEBCD*FGH*$*JKL*NTOPQRS$*UYV$WX$cZ[]k^b_`*a cgdef**hij*lnm**opq$sIt8uvwxyz{}|~     7!==== ="+#&=$=%=')=(==*=,1-.=/0==2534==6=*9;:**<E=C>?@A$$B*D**FHVGVa$JWKLTMSNORPQWUV*XpYZ`[\]^_7abcdefg77hi7j7k7ln7m7XXoX7qrstuvwJyz{#|}~$*aa0*a$**a*a11111111'5$!*a*![[[**W8T8{C8T888*a*a**$$*     *$$*aa*0, P*!*"*$g%T&A',(!)+**W -?.</071523$468:9;$$=>!@!BCL!DEH-F-G*I*JK**M*NO*PR*Q*S~*U!V`W!XYZ[]\$^_**a!bcf*d*e*ahi!jklm|nwor=pq==su=t==v=x==yz{==}~==============Wa* $*$!$$)!!a**$$P!!!!*!!!!!!XIXI>XII[@*!*$$W7a$a/*$***     *$*W$>#! "$2%&'()*0+,-./V1V3456789:;<=[?AB*CP*DEJFGgHgIgK*$LaMNO**$QWRSTXUVW/hYZ *\]s^h_a`*bcdefgijkplomna*qr$tu!vw*xyz!{|*}~!W*a*****WW*a*$*$W*!!!W*a$$$*W*a$$W***$*a**W*W W**$*W*'W!*!AA  *  * ************!* "!#$%&w(T)2*+!,-*.0/*13J4?56;789*:*<=>W*@FPA*BCD$E**GHI$*KN LMPOPRQSSUVWcX^Y[Za\]*a_b`$a$$defrghiojklmn݉pq݉stuv{w݉xyz݉݉|}~݉݉݉݉݉݉݉݉݉݉݉݉݉݉݉$$*W W*$!**$*.a**i=-!*qc "c     Vqc !c#$%&'()*+c,c.;/0123456789:r<*>`?*@A]BNCDEFGHIJKLMVOVPQRSTU[WXYZ[\^_$abc!defghW*jklm}n*o{pqrstuvwxyz|~*$M**$*$***c70r 10''''''*a$$W!|Q- *    W7!' !*"#$%$&$!(*)**+**,*l.I/021aa3*4D*56978**:C*;<*=*>*?*@*A*B***EHF$G*$JOKWLMNPRaS]T[UYVW*XZa\*a*^_`***bcld*efgkh&ij$$mynos~pq*r*Et*uwv**x**~az{}~a**a$W$*** $$*******************************~**********~******~**~******9****7******z********  ****** *2d **~ ********~***l***~* !d"N#4$.%*&**'(**)*+*,**-*/**01*2**35A6>7;*89**:*<*=**?*@9*BFC**D*E*GLHJI***K*M*OQ*P~*RXS**T*UV*W**Y\Z*[**]*^*_*`*a**bc*l*e{fugqh*i*jmkl*npo****rs*t***vw**xy*z*~**|}~*******Y*ĚĚ a$a**aaaaaaaaaaaaaaaaaaSa.a<i g g u  4"88     /v6u 8!{C#0$,%'&8()* + -./812385u6L78I9:;<=>?@AEBCDwFGHwJK8M[NYOPVQRTS\U\WXZ{C\r]^8_`haTTbcfTdeGTGgGGTij8ko{Clmn[{C{{Cp8q88st8vwxyz8{|}y$~%%%%%%%y$%yQ%8P8868888==\=8  C888h*z888g     888 !"#$%&'()g +,<-6.8/80318288848588788988:8;8=L>C?8@8A8B88DHE8F88G88IJ88K8MXNQ8OzP8RUS8T888V8W8Y^Z\[888]8_e`cab88d888f8g8i~jklqmnoprxstuvwyz{|}C8&{C888R88v*88888888H8\' H @    886 2!'" # $  % & (,)w*+-./01 34<56978 :;=>?ggAB[CHDEFG\OIOJKLMNPUQRSTVWYX8Z8\]f^_c`ab88de8gh8jklmnopqrswtuv8xyz{|}~u    PK     uug u 1 uPu    4u  1wT    K g    Ku   K K 8888 1-      w &!"#$%*'()*+,.I/70123456z8>9:;<=C?C@ABDEFGH8JKRLMNOPQSTjUaV\WYX%8Z[*]_^O`bfcedQ%%ghikwlqmonvvpv8rust% %vOx|yz{%%}~%Q%% OOOO|Ov%%%%8888686T888     886q2+g !"#$%&')(g*g,-./01g3:456789g;X<K=>?I@ABCDEFGHJgLSMPNOQRTUWV1 1YeZ^[\]_b`a1cd1fjghi1kolmn1p wrstuvwxyz{|}~   8gg888{C8888_  8   =ww -!"#$%&'()*+,.A/01234>56789:;<=g?@gBOCDJEFGHI KLMNPQRSTZUVWXYg[\]^g`azbckdefgjhiC6ltmnropq8s{uvwxy {|}~ 6S68   11wO18 u    KM<g1 u%     ===== =!#="=$==&'()*+,8-5.2/0134 67  9:; =E>?@ABCD\ FL GH`IKuJ `wNOxPbQZRVS8T8U888WX88Y[_8\]^g`agg8cldhe88fg888i8j8k8mtnq8op8r8s88u8v8w88y8z{|88}8~888888888888888C8$688 Z1V 1wK$     !6  "(#$%&'8)*-+,8./082J3<495678:;%=B>?@A8CEDFGHICKLQMNOPgRSTWUV XY[\n]b^_`a8cdefghijklmgopqr;Osxt u vw yz{`|`}`~````````  K    U ,||   `````|8888gg8888888888888888v8888888g888888888!*u       "M#$%=&/'8(8),*8+88-88.8\05818283848687:88898;8<88>G?8@8ADB8C88E88F88H8I8J8K8L8N8PQRSTyUVWXYeZ[\ ]^_`abcdfghiqjklmnoprstuvwxz{|}~88       ||||:V88888888888888888888888888888888888 !      8";#$-%&'()*+,g./0123456789:<G=>?@ABCDEFHIJKLMNOPQRSTU|WXYeZb[\]^g_a`H g cdKfghzisjnklmYw orpqwuK tv uPwxKyY{| }~wu  1    ug k&8888888838888888888888888888888888888888888888888888UU888888888     %   s!#"$% s'J(9)*-+,8./012345678g:;F<@=>6?6ABCDE s8GHI8KLNM8OP`QWRSTUV XYZ[\]^_gabtcldefighjkwmnopqrsgu|vwxyz{g}~gg gC8888888888888888888888888888888888{C88888  8u   ^     !("#$%&')*+0,-./123456789:;:=>?@AQBCDEMFGHLIJK8NOPRS`TUXVW`YZ[\]^_88ahbcdefgijklmnopqrst{uxvwyz|}~8w(g 8w ggggg   8 8888888888888888#8 !8"888$8%8&8'8)3*+,-./012456Z78M9C:;@<=>?wABwDEJFGHIwKLwNOPQRSTUVWXY[\]q^_`aibcdefghHjklmnopHr}stuvwxyz{|H~gg6889:g> 1  |w      (   $*# !"8$%&'6)3*+/,-. 0128456788:S;<=>?@ABCDELFGJHIKMPNOQRKTpU`VW]XYZ[\8^_8ahbcdefg8iljk8mno8qurst8vwxy|z{u}~81=11$88      uu g8188 A5     " !#,$%&'()*+-./01234678=9:;< >?@|B}CDcESFKG8H8I8J88L8MQNP8O888R8TY8UV88WX88Z_[8\^8]88`8ab88doejf8g88h8i8k8l8m8n88puq88rs8t8vy8w8x88z8{8|8~wZM88gR11111188 88g8$8 88 888 8  888888888888 88!8"8#88%A&4'.(+8)*888,-88/180828385=8678889:;<g8>?88@88BCGD8E88F8HJ8I88K8L8NOP^QRSTUV[WYX888Z8\]88_`a{bvcgd8e8f88hki8j88l8m8nopqrstu w8x8yz88|}8~888888{C888888888888888888888888888888888888888888888888888RR;/          ' !"#$%&(),*+-.0123456789:<R=>?J@EABCD1FGHI KL8MNOP Q STUVWXYw[\]^_`aybkcgdefhijlvmsnpoqrHHtuwx z{|}~1w1w1/8888888888888888S88888888888888{C888888888888888[888*88O 111g    11 !1 g"'#%$1&()+,-.01k2Z3C495868788888:;@<>8=88?8A8B88DQEMFI8G8H8JL8K88N8O8P88RVS88TU888W8X8Y8[a8\]88^_8`888bcg8de88f88h8i8j8l~mwn8osp8q8r8{C8tu8v88xy}8z8{8|8888888888 8#$H H  HH H HHHds d !]"S#6$.% &('  `)+* `, -  /021 34 5 7R89?:;< =>   @A BC DK EF G  HI  J  L M N OP Q  THUV WXZY`[\` ^_a`bc4efwgh88i8j8k8l8m8n8op8q88r8s8t8u8v{C8xyz{|}~qg   gggg8g gww 8 Q8   ggggu                     8888888g88888888{C!"#g$9%2&'*()+,/-.01345678*:J;?<=> @EABCDFGHIgKcLMbNOPYQRSTUVWXZ[\]^_`adef| hi|jkvlrm8npo8C8q88s8t8u8wxyz{88}~8888{C{C8{C{C88888)8881   8\1 |       4 l S. !"#$)%&'(*+,- /01:234568789P;<N=A>?@8BDC EFGHJIKLM OPQRT_U^VWXYZ[\]88`abcdefghijk mnopqvrstuwxy8z{}|~888{CPw8gYggggggggg88ww<<1wu1:::<<wwwwww:ww183  YYYYY   `  U u H`+$ "! `|# `%(&'  )*  ,-.0/^1`2 85u6M789:;<=>?K@AHBCDFEGIJLNXOPQRSTUVW3YZ[j\c8]^b_`8a8888d8ef8ghi88k8lmq8nop888r8s8t8vwxy8z{|}~11111*888888888888888g g   H           lw     )lll$lll "l!l#l%l&l'(ll$n+F,5-.2/0134867C89:;8<=>?@ABDE8GdHTIJK8LPMNO8Q$RS8UVW[XYZ8\a]_^I`kbc8efg8hkij 1lpwmno  Y qr tu`vwxyz{|}~88888888888888888888888888888888888O8888888    '#  www w ww ww wwwwwww Hwwgw!"w$%&(F)*+,-E.9/6012345g78g:=g;<g>?@ABCDggGHIJKLTMNOPQRSgUVWXYZ[\]^_a&bcdefighjklmtnopqrsuvwxyz{|~}==88 KK  CH 88888888g88888888888888 %8    8\8C 8!"#%$88'7(-)8*8+,8.3/01284568X9Q:;<=>?@JAB C D E F G H I KLMNOP8RSTUVWwYvZf[\8]^_`acb de8gnhkij  lm  oqpHrstu  wxyz{|}~ C{8*                        WW     %%%%%W5M& !"#$%';()6*+,-.8/8081283848858{C789:=<G=B>?@A8CDEFHIJKLNOPSQRgTUV8XlYZa[\]^_`becdfghijkwYm|novpqrstu8wxy8z{3}~^HH#88 8gg    ag  8  8  881# !"8$(%&'8)-*+,88./0q2J3=4<596788T:;688>8?@88A8BC{CD{CE{CFH{CG{C8I{C8{CKLOMN\PePS9Q\R\\TUVR9XYZx[\_]^`kagbcde }fQhij8lrmnopqustuvwwyz{|}~8    Yuw 1   K   w| u  Kug$#U1gw  >   VQ8>0 *!'"%#$&()+.,-/18253467 9:<;=?@MAFBDCEGJHIKLNOPRSTUWX[YZ\a]^8_`8bc8eofghij{klmvnopqrstu  wxyzg|}~88gggggggggggggg U{C8V 888888888 8 ^ ) g !"#$%&'(*?+,-2./013456789:;<=>@OABCDEFGHIJKLMN#PQRSTUVWXYZ[\] _v`abcldefghijgkgmnoqp rstu wUx'yz{|}~HgR  $w$w" 111111    11 !#$%&(9)*+,-.4/0123 5678 :T;<@=>?ABCDEJFGHI|*KOLMNPQRSg8WXY`Z[\]^_8abcd8efgvhoijklmn pqrstuwxyz{|}~18gg#*V2288w        g%     =\8{C  8!"}$.%+&)'(8*8,-8/801328456789T:;<=>?@ABKCDEFGHIJgLMNOPQRSgUVaWXYZ[\]^_`bcdheglf KlilqjwkmnKp8q<rstu8vwxyz}{|~H Hgq*8  "ggggggg     gg8w1118 !C#5$%&'()*+,-./01234K6798*:;{C=>Z?C@A8B8DE8FJGHICKYLM8NTOQP8RS8zUVWX88[m\e]^_`abcdwfghijkl nopqr}swtu8v88xy8z{| ~8C888C8  1w>U 1U> wggg8%8 8K  8 -8!\\ ̿"+#$)%&'(<<*,8Q8./05123433'67$9':;<Z=N>?@ABCDEFGHIJKLM8O8PQRSTWUV XY [\_]^g{C`ab{cjdgef hi kplnm o qrst$u$v$w$x$y$z$$|}~ugg8gC8ggg8 ww'\yo$#P Ql'>y88888888888888t8888t8                   |&|     "    !   # $%  ()*n+,-4./01235P67G8>9:;<=1?A@BCDEFHIJKLMNOQiR^STUVWXYZ[\]1_`abcfdeghjklm#opqr8stuvwxyz{|}~888{CK1|*P8g888gg87N88888888{C88%% }  }88,     gg !"#$%&'()*+g-./0123456 8c9^:6;\<A=6>3?@33BQCIDFE66GH66JPKML66qNO6Ƅ36RWS66TUV6b66XYZ[6T6T6]6_`ab8de8fguhkijlmonpqsrtvwxyzS{S}~=׌S8g A.    g  g !"#$%&'()*+,-g/0f1V2A3456789:;<=>?@BCLDEFGHIJKMNOPQRSTUgWXYZ[\]^_`abcde`gthji*klmnopqrsguvwxyz{|}~gggO<8gg     gg, !"#$%&'()*+-6./01234579:;8=>?@ABCDEFGHIJKLMNP6QRSoTaUVWXYZ[\]^_`1bcdefghijklmn pqrstuvwxyz{|}~gu               8  3883 !"#$,%&'(*)+-./01245C789:;<x=>C?A@YBwuDYEJFGHIg KRLOMN|uKPQKSVTUuwT4WX|*^Zi[b\_]^l`ancfdez ghwHjqknlm#1$opUqrust>vwFyz{|}~  w#U1HwY   uYgg   1Hw Y g H1wK$ W}£ P88888K8g88 88=8 8   888 88!_";#3$+%(&'8)*8,0-/.88128485679:8<R=J>@?8AHBCFDE  G1IKMLNPO8Q S[TUVWYX Z\]8^8`{asbkcid8efg8h8{C8j8lqmnozpr8tuxvw8yz8|}~88888Ķ8 888}}TT{88P88488888088888    1  1u8"8 8!8#,$)%'&8(8*+-./812P3@475668:9g;<>=88?8ANBCDEFGHIJKLM\O8Q\RSXTUV1 W YZ[8]^_`sajwbcdefghi1klmnopqr1tu1vwxy}z{| ~ € ‚˜ƒ‰„‡…†ˆ8Š‹Œ}Ž‘’“”•–—™Ÿš›œž8 ¡¢8¤ß¥'¦§¨»©­ª«¬8®¯8°±²³´µ¶·¸¹º\¼½¾¿C88888ChĶ888Cz88  8%88   g  8# 8C!"$%&8(U);*7+/,-.802135486889:<F=@>?uACB8DE8GQHNILJKM6OPRST88VoW]XYZ[\^b_`a8cidehfg 8jklmn pÆqyrust8vwx8z{|}~ÀÁÅÂÃ Ä ÇÛÈÒÉÐÊËÍÌÎÏwÑzÓÔØÕÖ8×OÙÚ ÜÝÞ8àáâãöäòåæçèéêëìíîïðñ'óôõ8÷øþùüúû8ýÿ88*888888{88g11 g    P 8B+888ggg $!"#8g%(&'8)*8,3-./01284?5<678;9:\\\=>8@A8CdDVELFIGH8JKMTNOPRgQgS4U8W\XY[8Z}$]`^_8abc ejfghiCkolmn8pqrstuvwxyz{|~4ĀƭāƛĂĎăĄ8ą8ĆćĈĉċĊČč:ďĐ8đĒGēĔĕľĖĤėĘĠęĜĚěggĝĞğggġĢģggĥĸĦİħĬĨĪĩgīgĭĮį:gıĵIJijĴgĶķ  ĹĺĻļĽgĿggg gggg  gggggggggg gg     g g4 )!$"#g%&'g(g*0+.,-g/g123g56=78;9:g < >D?B@AggCgEFgHIŬJsKhL^MVNQOPg RSgTU gWZXY[]\g_`cabgdegfggijoklmngpqrgtłuvw|xy{zgg}ŀ~gŁ ŃŘńňŅņŇ ʼnőŊōŋŌgŎŏ ŐgŒŕœgŔ Ŗŗ řťŚśŠŜŞŝ şg|šţŢ| Ť ŦŧŪŨũgū ŭŮŽůŷŰųűŲgŴŵŶgŸŹźŻżgžſ ggggg9gggg gggg     ggggg)$ gg!"#gg%&'(g*2+,-1./0g3645g78 :t;V<K=A>?@BHCDFEggGgIJ LSMPNOgQRgTUgW`X\YZ[g]^_galbhcfdeg ijkgmnqopgrsguƏvƃw~xyzg{}|ggƀƁƂ ƄƋƅƈƆƇggƉƊgƌƍƎ ƐƖƑƒƓƔƕgƗƘƙƚƜƞƝ8ƟƫƠơƤƢƣƥƦƧƩƨ8ƪ8Ƭ8ƮƼƯưƱ8ƲƳƸƴƵƶƷ8ƹƺƻ8ƽƾƿ}8         u  88g8     |888%!  g"#$&/'*() +-, .01g235ȸ6x7E89:;8<8=88>?8@8A88BC88D{C8FHG8IUJKLMNOPQRSTgV\WXYZ[]q^m_`abchdefgijklnop rstvuwyȰzȟ{ǎ|}lj~DŽǀǂǁ Qǃ QDždžLJLj Q QNJNjnjǍ QǏǐǽǑǒǧǓǠǔǚǕǖǗǘǙgǛǜǝǞǟgǡǢǣǤǥǦgǨǩǶǪǫǰǬǭǮǯgDZDzǴdzgǵgǷǸǹǺǻǼgǾǿgggg  gg g     gZE;gg(# !"g$%&'g)3*/+-g,gg.g021ggg475g6g g89:g<=@>?gABCD FNGHIJKLM|OPUQRSTgVWXYg[y\q]d^_`abc|efkghijlmnopgrstuvwxgzȂ{|}~ȀȁgȃȄȋȅȆȇȈȉ Ȋ ȌȕȍȎȒȏȐȑ|ȓȔȖȗȜȘșțȚggȝȞgȠȡȢȣȤȥȦȧCȨȩȪȫȬȭȮȯgȱȲȳ8ȴȶȵ8ȷ8ȹȺȻȼȽȾȿ 88888g8ɱɁU#uuuuuww|*|*|*|*|*|*wTK  K K  KKKKK4n^^umP !"uu$7%&.'u(+)u*uuq,-ummu/6031u2uuY45uuu8? 9 :; < = >  @HA BRCID  EF  G Hu  JKPL  MNO uu  Qu S T  VxWm1XKYZd[_\K]K^K`Ka|*bKc|*K|*eKKfKgKhKijKklKKn o upquursuutuuvuuwwTuy|z  { }ɀ~ uɂɃɒɄɅɆɇɈɉ1Ɋɏɋ1Ɍ1ɍ1Ɏ11ɐ1ɑ1ɓɢɔɞɕɖwwɗwɘəwɚwɛwɜwwɝwɟ1ɠɡɣɥ1ɤ ɦɧɪɨ ɩ  |ɫɭɬ ɮɯɰ ɲ ɳɴɵɸɶɷK^Kɹɺɻɼɽɾɿ|         gg gggggggggggg11HHH g  g   >  >( !&"#$%')1*.+,-/028354679;:<=?F@ABCDEGHQIuJKLMNOPRKT˯UʓVWbXYZ[\]^_`awcdmefghijklnwopqrstuvSxyz{|}~?gA{BoChDEFGSHPIggJKMLggNggOggQRggT`U\gVWggXYgZgg[g]^_ gabggcdgeggfgggijklmnpqrstuvwxyzg|ˏ}˅~ˀˁ˂˃˄gˆˇˈˉˊˋˌˍˎgː˗ˑ˒˓˔˕˖g˘˙˚˛˜˝g˟ˠˡˢˣˤ˥˦˧˨˩˪˫ˬ˭ˮg˰˱˲˳˴˵˽˶˷˸˹˺˻˼`˾˿HҾ̎8Gnn,      !"$#%&(')*+-?./0172345689:=;<>@ABECDFHIJ{K_LQM N  OP  RV S TU WXYZ[\]^`fa  b c de  gthijklmnopqrs uyv  w x  z |8}̍~̃8{C̀́88̂8[̄̋̅̈{C̆8̇{C8̉8{C̊8{Č88{C8!̛̬̞̖̘̗̙̏̾̐̑̒̓̔̕̚%̜̝8̡̢̟̫̠̥̣̤g ̧̨̦̩̪8̶̭̮̯̰̱8̲8̳8̴88̵{C8̷̸ ̹̺̻̼8̽̿888888888888^+%8888} 88{~8 886888   # " z ! $&'()*,C-1./08273645889:;<=>?@AB DIEHFG8TJVKLQMNOP{CRSTU#PWXYZ[\]g_Ͳ`abgcdfe88hkijlmnvopqrstuwzxy{|}~g8̀́͏͉͂̓̈́ͅ8͆8͇8͈8{C͎͍͊͋͌1͐͑ͱ͓͔͕͖͒ͬ͛͗͘͡HH#͙͚w͜͞H͝uͦͣͥͤ͟͢͠ Hͧͪͨͩu Kͫ 1ͭͮͯͰ %ͳʹ͵Ͷͷ͸͹ͼͺͻͽ;Ϳ1I R8888#      g88 !">$O%(&'8)A*+,7-2./01345689:;<=>?@HHBCD8ENFKGHIJ LMW8PΤQΜR8S|TZUVWXY[n\]^_`abhcdefgijklmoxptqrs uv  wyz{ˢ}΍~Ά΀΃΁΂ ΄΅ ·ΈΊΉ ΋Ό ΎΘΏΐ ΑΒΓΔΕΖΗYΙΚΛΝΡΞ8ΟΠ8΢Σ88CΥΦ ΧεΨγΩΪΫάΰέή8ί8αβ8δ)ζηθικλξμνgwοggg    8u gg uug8     88g88) '!"#&$88%{C8(8*+,8-.$/=0123495678g:;<g>ϝ?q@A\BMgCDGgEgFgHgIKgJgLggNVOQPggRSggTUggWgX[YgZgg]b^g_gg`aggcmdggegfghkgigjglggngoggpgrόstuzvwxyg{|}~gπρςωσφτυgχψgϊϋgύώϏϖϐϓϑϒgϔϕgϗϚϘϙgϛϜgϞϟϯϠϡϢϫϣϧgϤgϥgϦgϨgϩgϪggϬgϭggϮgϰϺϱϲϳϴϷϵ϶gϸϹ ϻϿϼϽϾ gg   gg gggggg `` gg   g ggggg g!"#% &Х'Ё()V*E+9,2-.0/g 1 3645 78 :A;?<>=  @ BCD FGKHIJ LPMNO  QSgR TU  WuXbY_Z[]\ ^ `ga cmdhegf gikj  lgnqop rst  vw}x{gy z | ~Ѐ ЂЃЊЄЅІЇЈЉ ЋЗЌГЍБЎЏА ВgДЕЖИМЙКЛgНОСПРТУgФ ЦЧШЩнЪйЫдЬЯЭЮ авб г езж иgклмgопgg gggggg#ggH g    m6)g # !" $%&'(*0+,-./ 12345g7D8>9:;<=g?@ABCE^FPGLHIJgKggMNOgQZRWSUTgVXY[\]_g`abdcgefhijklgnэop}qwrstuvgxgyz{|g~щрхстуфgцчшggъыьgюњя#ѐёђіѓєѕgїјљgћѹќѨѝѣўџѠѡgѢgѤѥѦ ѧgѩѱѪѭѫѬgѮѯѰ ѲѵѳѴgѶѷѸѺѻѼѽѾѿg ggggg gggg  8     qR%8888888888{C8 8!88"#88${C8&I'/8()8{C*+{C{C,-{C{C.{Cj80812A3:8485868788898{C8;<8=88>?8@8{C8B8C88D8E8F8GH8{C8JOKML{C{C8NG{CP{CQ{CSdTZUVW{C8XY8G8{C[^\]_b`a  c1wegf{C{Ch{C{Cij{Ck{Cl{Cm{C{Cno{C{Cp{CjrҘs҉t{uvywx{C{C3z8{C|g}{C~[{C{CҀ{Cҁ҂{C҃{C҄{C{C҅{C҆{C҇҈{C{CjҊҌҋҍҕ{CҎҏ{C{CҐґ{CҒ{C{CғҔ{C{Cj{CҖ{Cҗ{CҙҴҚҧқҢҜҟҝҞ[8Ҡҡ{C{CңҥҤҦ8ҨҮҩҪҫqҬҭүҲҰұ8ҳ{CҵҸҶҷ[ҹҼҺһ8[ҽ{Cҿ3Ӥ8g   ||| |          888Ӓӏq @!5"#,$%&'()*+-./012346789:;<=>?AfBTCDLEFGHIJKMNOPQRSUV^WXYZ[\]_`abcdeghijklmnoprwstuvgxyzӄ{|}~ӀӁӂӃgӅӆӇӈӉӊӋӌӍӎg 8Ӑӑ%8ӓӝӔ8ӕӖәӗӘ8ӚӛӜ88ӞӟӠӡӢӣ ӥӦӧӳӨөӲӪӱӫӬӭӮ8ӯӰ88Ӵӵ8ӶӷӽӸӹӼӺӻӾӿP88888+$     \ \8888 !"#8%&'()*R,-0./818234Է5ԭ6`7N8B9:>;<=g?@AgCDHEFGIJLKgMOVPQRSTUWgX\YZ[g]^_gaԆbcdetfkghijlpmnoqrsuzvwxy{|}~ԀԁԂԃԄԅԇԓԈԍԉԊԋԌԎԏԐԑԒgԔԨԕԛԖԗԙԘԚgԜԝԣԞԠԟԡԢԤԥԦԧԩԪԫԬԮԯ԰ԱԲԳԴԵԶԸԹԺԻԼԽԾԿ:g gg838 HHH8  .     1u %!"#$8&'(8),*+H1-/1082845a67?89:;8<=>8@fAUBLCDHEFGuIJKuMSNOP{CQ{CR{C{CT8VeWXYZ[\]^_`abcd 8gըhijklrwTmnpoHHUqU sxtwuvPzKuuy{zz|~wT}wTՀՏՁՈՂՅՃՄuՆՇ&^ՉՌՊՋ4=!lՍՎ'jձղճպ4մյչ4նշո4 Ql 4 Qջվռս Qll տ    88{C888{C8888{C888u688   88g8_YU.&    G   V V V /b>M Z  Z! Z" Z# Z Z$ Z% Zu'*() =\kz+-,:z/704132 t56@ 8;9: e<L=>E?B@ACD.=L[FIGHjyJKM jNOPQRST =VWX%Z[8\]^8`8bֺc֝def֏g|hwijlk8m8n8o8p8qr8s88tu8v88xzy8{}։~քցր8ւփ8օֆ>և8ֈ8֊֋֌88֍֎8֐֑֖֒֘֓\֔֕\\֗̿9\\֙\֛֚֜\֢֞֟֯֠֡6֣֤֥֦֧֩֨1֪֭֫֬w>֮$ְֱֲֳַָ%ִ%ֵ%ֶ%{Cֹ8ֻּֽ־ֿ8888Qg 1888O8883888     g8/SS !",#$%&+'()*4  -.#A01284[56?789=:<; >8@ABCDREFHGIJKLMNOPQST UXVW wYZwwg\]m^_`abcdefghijklgnso8pqr  tyuvwx8z{ׄ|}ׁ~׀ Q Qׂ׃ׅ׆׈ׇ8׉׋׊u" ׍׎V׏אב&גדצהסוטזח**aיך!כםל*מןנעףץפaק רש׭ת׫׬*a׮ׯ!װױײ׳׽״׵׶׷׺׸׹׻׼F׾׿FFFFFFFF9FWa**W<   c W**********$ "!#%*'`(V)S*E+D,-:./90*123456781;@<=>?;ABaCaFGMHIJKLNOPQRTU*WXYZ^[\]$._*abcd؀eufighjklrmnopqVstvw{xyz|}~؁ط؂ؚ؃؏؄؉؅؆؇؈؊،؋؍؎ؘؙؐؗؑؔؒؓؕؖV؛د؜ت؝؟؞ؠءآأؤإئابةVثجحخذرشزسصضظعغػؽؼؾؿJ*WW**W W*  **  d$<#݉! ݉"݉݉%=&3'*()<+1,-./0<2456789:;<>Y?P@HABCDEFGIIJKLMNOIQRSTUVWXIZc[\]^_`abeٛfلgqhijklmnoprstفu{vwxyz|}~ـقكمٙنه<وىْيًٌٍَُِّٕٖٜ݉݉ٓٔٗ٘݉ٚ݉٨ٟٝٞ<<٠١٢٣٤٥٦٧<٩ټ٪٫<٬٭ٮٶٯٰٱٳٲٴٵٷٸٹٺٻٽپٿ<a$VVVa *W !$$$$$$*$$*  $W $>a*M* $W!!"!#*%;*&'/($),*+*-$.$06142$$35798$$$:$<a=?a@aALBFCDEGHIJKMTNOPQRSU*aWۋXeYZ[\]^_`abcdMfgLhaiaj4kڽlmnڹoڧpڏq~rxst<u<vw<yz{|}ڀځڈڂڃڄڅچڇ݉݉ډڊڋڌڍڎ݉݉ڐڠڑښڒڕړ݉ڔ݉ږڗژڙ݉݉ڛڞڜڝڟڡڢڣڤڥڦ<ڨکڪڶګڱڬڭڮگڰIڲڳڴڵIڷڸ<ںڻڼ#ھڿVVVVVVIIIII݉݉! <<<<  < < <<<<<<<<<<<<<<<<< <",<#$<I%<&<'<(<)<*+<I<-<<./<0312<<<56D789:;<=>?@ABCrEFGHIJK##MNOۇPQnRgS_TUVWXYZ[\]^n`cabdefhijlkmopwqtrsuvx|yz{00}~ۀہۂۃۄۅۆnۈۉW*ۊیۍۣێ۞ۏې۝ۑ۔ےۓaەۖۗ**ۘ*ۙۚ**ۛۜ**۟a۠ۡۢ!ۤۥ۴ۦ۩۪ۧۨ۬۫$aۭۮ۳ۯ۱a۰$۲a۵۸۶۷!۹ۺ**ۻۼ*۽**۾*ۿ*~*aaaaaaaaaaAAa!W!**$*1F1F***1FM**aaaaaaaaaBXaa     2a;*" 1!#&$%'''()5+3,-./012456789:<aa>?@^ABC>DEܒF[GMHJ%I4KLNUOP%QRSTVWXYZ \h]`^_%%ab scd%e%fgiljkQ%mn3op'>q|'>r'>s'>t'>u'>vw'>'>xy'>'>z'>{#P'>}܋~'>'>܀܇'>܁܂'>܃'>܄'>܅'>'>܆V'>܈'>܉'>'>܊l'>܌'>܍'>'>܎'>܏'>ܐܑ'>'>Tܓܦܔܛܕܘܖܗvܙܚ% s%ܜܣܝ%ܞܟܠܡܢܤܥ !ܧܨ%ܩ%ܪܫܸܬܲܭܯܮm !yܱܰ|Oܳܵ%ܴ_%ܷܶ3vOܹܼܿܺvܻIܾܽOOmb%%%'>% F" % }%mO v    S *%!% &  "5#2$%&'()*+,-./0134S6;789:v<=#A%?@ݼAnBfCGDE } FHeIJVQKLQQMNQOQQPQQRQSQTUQQWQXQY_QZQ[Q\]^QQQ`aQQbQcQdQ%gih } sjmkl%oݩpݑqr%%st݁u|vywx4bz{Iy}~I Q݂݆݄݀݉݃݅ l݈݇ I݊ݍ݋݌$ݎݐ ݏ$ݒݓ%ݔݕݤݖݡݗݘݙݚݛݜݝݞݟݠݢݣOݥݦݧݨuuuݪݭݫݬ%ݮݯ Oݰݹݱݵݲݳݴݶݷݸ ݺݻIݽ;ݾݿ% 4  4%%%%%:%:%%%:%%%%%%%%%%V%%:%%%%%%%%%:%%%%%%%%%%%%$%  %   /wEwEwEwEwE+#wE !wEwE"wE$'wE%wE&wE()*wE,-.wE0162345wE789:wE<[=X>?@QAJBECDFHGIKLOMNPRSTUVWbYZ\ހ]^_c ` ab  drelf  gh  i j k Km  n op q  usy t uv w  x  z{  | }~   %ށޏ%ނރOOބOޅކOއOOވމOފOދOތOOލގOOސ޵ޑޞޒޘޓޕޔIޖޗ%ޙޜޚޛ| z ޝvޟޮޠޫޡޢޣޤޥަާިީުެޭ% ޯ޲ްޱ ޳޴Q޶޷޿޸ɓ޹ɓɓ޺ɓ޻ɓ޼޽ɓ޾ɓɓ#Pɓɓɓɓɓɓɓɓ#Pɓɓɓɓɓɓɓ#PɓɓɓɓɓɓɓɓɓwEɓɓɓɓɓɓɓɓɓyߑ }OI%||vQQ  !      }}O+%               !)"#$%&'( * ,-.{/T012K3>48567((9<:;((=(?E(@ADBC((FIGH(J((LMSNORP(Q(((UqVWX]YZ[\b^m_f`cabb(b(debgjhi::kl:((nopbrvstuwxyz|}~߀߈߁߂߃߄߅߆߇߉ߊߋߌߏߍߎߐߒߤߓߚߔߗߕߖ%%ߘߙvQ_ߛߜ%ߝߞߟߠߡߢߣmmߥ߻ߦߺߧ߹Cߨߩ߱ߪ߰߫߮߬߭ _ ߯ں߲߳_ߴ߶ߵ߷߸(6FO ߼߿߽߾ }Q4wEwEwEwEwEwEwEwEwEwE#PwEHQ }S U%%t _vU-'>'>'>'>'>'>'>'>'>'>y'>'>'>'>'>'>'>  '> '>'>  '>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>& '>'>!"'>'>#$'>'>%'>''>('>)'>*'>+'>,'>'>.`/T0P16'>2'>3'>45'>'>7'>8E9>:<'>;'>'>='>?A@'>BC'>D'>FKGI'>H'>J'>'>LO'>MN'>'>'>'>Q'>RS'>'>U'>VZ'>W'>XY'>'>['>\'>]^'>_'>'>abcdrenfi'>g'>h'>jl'>k'>'>m'>'>op'>q'>'>s{tw'>u'>v'>x'>yz'>'>|}~'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>cb%#P#P#P#P'>'>'>'> '>'>'>'>    '>'>'>'>'>'>'>'>'>'>'>'>'> !"#$V&Z'G()*:+2,/-.#P#P0#P#P1#P364#P5#P7#P89#P#P;@<#P=?#P>#P#PADB#P#PC#PE#P#PF#PHIJKTLQMON#P#PP#P#PR#PS#P#PU#PVXW#P#P#PY#P[\]^_`ay_def%goQhiQQjQklQQmQnQpQqr}sxtQuQQvwQQQyzQ{QQ|Q~QQQQQQQQQQQQQQQQQQQQ !Qm%O% } } } } } } } } } } } } } } } } } } } } } Qz Q QQQQQQQQ#OGX }O+v_%%%% N%%%%yBv     yv }%" !%#$v%&)'(|%*Ov,=-3.0/12%%O4:5678 9m%;<v>c?a@`ABQCJDGEF  HI  KNLM OP  RYSVTUOQWXOpZ][\  }^_ %&%bdkefghijSlm$vnOopqr}sz(tuv(w(xy({|~7":::(b:(b::((b:(((:     (:W(WW((b !:#.$)%'&(*-+,/03124568G9@:>;<=?ABCDEFI*JKLkMgNOP%QV:RS:TU N: N:WYX:: NZe[d\::]^:_:`:a::b:c%: N:f:: Nhijlmnopxqrstuvwyz{|}~{{{C{{{C%vO } vC' }$Q .xIbIJOٻ OllwE tJI   }% !m  Q Q Q Q"%#$&)'(v !+,f-^.4/0123%56d }78B|9:|;||<=@>?    |A |CIDFEP|PGHP|P|J|K|L|M|NT|O|P|QR|%S%||UV|W[|XYZ|%%|\|%]%|_d`cab !2egnhkij% lmopq%rstuvwxyz{|}~: V:T ecc1Hvv | sH }  m%% }2%O%%%%Q|ga%%%%%% dv %| %   !}TO: }E(!% ^" #$&% ' )>*;+,5-0.2/2rw13221w24w26:792822nn2<=?@ABCDgFRGOHNIJwKKLwwMmKyPQ3SVTU vW%XY_Z [W\WW]W^IW`  bcdefghitjklmnopqrs4uvwxyz{|}~% %Q _Qvyyyyyyyyyyyyyyyyyyyy4yyyyyyyyyWyyyyyyyyyyyyyyyyyyyyyyyOyyyyyOyyyyyyyyyyyyyyyy#P#Pv%Q % Z!$%y% a   O %#P`+'> &!"#$%#Py'()*'>,X-./0C162#P3#P45#P#P7=8;9:#P#P<#P>A?@#P#P#PB#PDKEI#PFGH#P#PJ#PLSMPNO#P#PQR#P#PTVU#P#P#PW#PYZ[\]^_'> sbe%c df%%hiijk}ltmsn o pq r  vuv%wzxy{~{|>z~ !rHY u_   %VVVVVJJlO%%%OOOOOOOOOOO"OOOOO"OO"OOOOOO"OOO O  OO O"O OOO"OOOOOOOOOOOO"5&$ !"# sO%%',(+)*Q-.O/04123OO6M7K89% :;G<C=@>?ABODFEHIJ%L%NQOP% RS%TUZVW~vXYff[f%\%]%^_`abcde%gڬhjkzlsmpno }mqr% }% twuv%xy% }% !{|}~%UP%v#AQ%O#A%m3vvvvvOO% }%%%%%%%%%%%%%$O%{U6 %%%}mmv_rO%%m%/Q v%%_B9 Qɓ'M Q Qz #P4 wEwE  wE wE wEwEwEɓwEwEwEwEwEwEɓ#P Q Q*#! %O"%$'%&#wb()+2,/-. }& 01'%%O3645%O$78v%:A;%2<=>]j?@%CRDQOEFJGH%Id%KNL% oMOy$P ЖvSTVWpXlY[Z\]^k_g`cabOdef~"|hvijPOQmno %qvrustSOwxyz{| =v%}~ $~OQ% }C%uuuuuuuuuuuuuv &%%  CCC%( s ( Q%%mmmmmmmmmmmm mQQQQQQQQQQQQQQQ     O    OO!%"%#$O%%&;'0()-*+,./ o12734v5 6Y89v2:K<=p>A?Z@BAuCID E  FG H   JQKNL M   O P  RS TWUV  X  Y [\]^n_e`a bc d flgi h ujku m   o{puqsr  |*ut uvxw yz  |}~   nK   n        n  K  K          ^              K     u       ^u^uu|uu||* |u^uPKKK  uPuu  uu&uuuu| 1&" !^^#%$|uu '-(+)*uu,.0/uuK2:37465K8KK9u;=<KP>?K@uuBMCDEFGHIJKL NVO  PQ  R ST U ; W`X Y Z] [ \  ^_   abjcfd  e g h  i  k lmon   q&rsut vwxyz}K{|~KuKuuKuuu^uuuuK uu^uKKuu|*uuu4uuu4u|uuKuuuu|*uuuuKKnKuu|*||*u^^uKK^^u     g" !|#$%u'y(5)*0+,-./u1234u67Z8E9A:>;<uu=u?@uuKBKKCDKuFNGJHuuI|KMLuKuOSPQKRTVUKuKWuXY^[k\d]a^_u`K^bcuKuehfg^^uijulsmpnKouqr|*tvuuwxuz{|}~KKuKuu|u KK uu^uKu|u uu4 ^  |*u u uKuK uuuu^K4uP uuuuuuu  uu uKuuKu uu u|n4 u uu               H                 :!2"%#$%Q&'(),* +  ]-].0 / ]1  ]37465$%v89|v;Z<J=IU>?B@ACCCDCEGFHKL%%MNOPQRSTUVWXY[\~]w^l_`abcdhefg4ijk.mnopqrstuvwEx|yz{Vz}QLv s s s sB s "~"~"~"~"~|O#P#P#P#P#P%z% %%wEwE'>wE'>#P#P#P#P#P#P'>y'>4'>'>#PwEwEwEwEwE4wE     '>'>#P'>N H!8"#%$5%.&*'() W+,-W /20I1I34Z(679: };<=>?@ABCDEFGILJK%%MOZPWQVR sS sT sU s }XYv% [\]%_ `akbJcdefgOhiOjk~luOmnOOoOpOqrOsOOt"OOvwOOxOyOzO{O|O}O"OOOOOOOOO"OOOOOOOOO"OOOOOOOOO"OOOOOOOOOO"OOOOOOOOOOO"O smmmmmmmmmmmmmmm m%6"yyyyyyyzyyyyyyyyyyyyyyFyyyyy.yyyyy$yyyyyyyJyyyyyyyyyyyJ y y yy yV yyyyyycyyyyyyyyyy'>yy yy!'>y#$+%&'()*,-./012345ɓ789:A;<=>?@4BCDFEOGHIYoYoKfLeM]NOPQRSTUVWXYZ[\m^_`abcdlghij3lmno%pvqrsOtu%%vwx sy sz s s{| s} s~ s s s s s s s s sB%%QQQQQQQaQ }Q OOOOOOOO}O &sjv..#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#Py#P4 U ) "  4444444444 !4##P$#P%&#P'#P#P('M#P*K+,3V-./10VVV2V4@5967V8V:>;<V=VVV?VAFBDCVEVVGIVHVJVLTMwEwENORPwEwEQwEwESwEy'>VWX^YZ[\]#P_`rajbgcezdzzfzhzzizkozlmnzzzpqzzs~twzuvzzx{yzz#Pz|}zzzzzzzzzzz4'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>n'>'>'>'>#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P* ɓɓɓɓ ɓɓ ɓɓ  ɓɓɓɓɓɓɓ!ɓɓɓɓ ɓɓ"%#$ɓɓ&('ɓɓ)ɓ+?,6-3.0/VVV12VV4V5V7;89V:VV<>V=VV@XAMBGCEDwEwEwEFwEHKIJwEwELwEwENSOQPwEwERwEwETUwEVWwEwEYdZ_[\wE]^wEwE`bawEwEcwEejfhgwEwEiwEklwEmwEwEopq4rstuzvxw#Pzyz{}z|#Pzz~zzz#Pzzzzzzzzzzz#Pzzzzz#P#P#PwEOzg#P4#P#Pc    .  Q Q Q Q Q Q Q.Q{CZ C!0"#$%&'z()z*+,-./z12e3e45ee67ee89>e:;e<ee=ee?@eAeBeeDTE|FMGJH||I| |K|L |NQO|P|4|R|S|P||UV|W|X|Y| |[^\ ] }_`abdc efhg i kplomnq%rtuvwxy{z|}m~mGQOOOOOOO} }% }VVlVJVVVVV      i ]OD(%!CV&h$C S&KS$"#$$&h&' )*8+.,-/4021&h$$3&$567E&9:@;=<$$>?$$A&BC&@$EVFGHRILJ$$K1$MPNOq$Q$C&KS$T$U$oNWXZY[\^a_ !` }ObOcOdOeOfOgOhO ]jkl2%%mnopvqyrɓsɓtɓɓuɓvwɓxɓɓ#Pzɓɓ{|ɓɓ}~ɓɓɓɓ%OQ%QQQQQQQQQQQQQQQ+Qv!Q%u2        K        uK|*K KKuu|uuKuu  uuuuuKKunnun|KK|*Kuu KuKuK4K     u  KK4 | Ku!*"'#$K%&uKu()lu+/,.-uuKK0K1K 3 45R6E7>8<9;u: |*=u|*uu?@CAB uDuuFNGIuHuJLKuu KMu OPQuScT^U[VYWXu KZ \] K_K`a| bK^dmehfgu|ijkl unpoPqsrut|uv w xy z {|  }~               K          KuKu|uu|u^uuKuK|K|KuKKuK&KuuK^uKuuK|Ku|KPPu  uK^4uuuuKuuunuu{%     P|#^   !  "#  $ & 'M(?)2*-+,.0/K 137456u |8<9:uu;|* =|>Ku@HKABECDFGu< IJLKuN\OWPSQRTVU4uu4XYKZ[uK]l^b _`KKaucgdfeKuuKhj|*i k|wTmtnqoprsK|* uxvw4yzKA|}  ~    Y   ֹ        YwT wT^uu  u|uK4KuwK ^ |*KKuu u uuu4u&uKuK KK uK  K KKi               1K"|*u4Ku! u^4#*$'%&()|K+/,.-u0KK2S3A4;5:68|7Pu9unuK<?=>Kuu@BICFuDuEuGHnuuJOKLuMNuuPQ|RuTbUZVXWu4YuK[_\] ^u`KanPucdgeKfuhujklm}nvospr4qKtuuuwzxyun{u|u~K^KKu^u|||uu|uuK|*uKuuu|uKuuKK 4KuuuuunnuKuKu^K^K||*u G      +"uu uu!u#'$u%&u()*u,1-./0|2>384657 9<:;uP=u?B@AuCEDuFuHI[JUKP LM N  O  Q R S T  V W XY  Z \]{^j_c`abdgef^KhikrlomnupqKsvtuw|wyxKuzK|}~KKKKuuuuuu|K||^uuKuuuKuuuuuKKKuuKuKuuuKuuKKKlKuKuK    Y      H            uu |u P   wT%R5(!| luK"%#$Kuu&'|*|K)0*-+,u<:./|K^132uu4|6F7=8;9:u<u>B?@^AKCDu|*EGJHIKKNLMluOPQu|SvTfU`V]WZXYuK[\|*|*^_KPKacubdeugmhjiKklK4nqopurtsuKKu|*uwx~yKz|{uuu}KKuun|*wTluuKwT          uu|*u|*|*uu^P^uuuu||uPuuuuul^uuK^u|*uuuKK^uKuuuuu|*uuuuuKuKuKu                  H Y9)$" K!K#KK%'u&^(n*2+.,-KK/10uKuK37465uuuu8uK:I;A<>=u?@^KBECuDFG^uuHKJQKOLNMK^PKuRUST^KVXW^u|Zs[d\u]a^`_|*Kuubcmuekfighuuujuulomnpqur|*utxuKKvwuyz~{||u}KKu|*uu4u      $     H z n             K      nP uPnu   B +  Ku|*u |*uu$" uuu!u#uu%'u&u(*u)uK,:-3.1/0^u2uu4756u89;K<>=?A@uC\DJKEFHGuKuIuKTLPMNuOQRKS UXVWu|Y[Z|P ]k^e_a`|bcud 4fighK&jP|*lrmonpqKKswtvuuxyu|{|}~uK||||P        ;    ;      ; 3Ku|K Ku KuKuKuKK^unKKu|*KKKuuKK|* uuKKu K  uK   u^^KKKKu-($ !|"#uKK%'u&K),u*+|uKuK./0u12uu4  56 7  89:    <t=>V?I@DABCuEFGHAJQKNLM|OP|RSTUWfX\YZ[Y]c^`_uab||de|gohkij|lmn||pqrsuvwxy|z{}~||Bu|uuuuuu4uKK| u^K&u^KJ=&u^KKuuu uuu uuuKu uKK4uK^KK uuluuu|uuu |* uuuK  u |K K K K |*|*n KKuKK|* uu|*u!#"KK$%nn'4(.)  *+ , - H /  0 123  5 6  7 8 9 : ; <  >?E@ A  B C D HF G H  I  KLMNkO^PXQURTuSKlVWuKY\Z[nu u^]_f`cab^degjhi|ulumpnuo^Kuqsruutuu v{wyx|zunu|}~|4K^uK4 uuuuuKuK|*uK^u uuKuuu^uuuKK|*unuKuKKuKu                      Y       Y       s     Y   Y               >"   u|*u  |*uKuuK|*nKnKKP !uu#1$*%'&K()P&+.,-|*nu/0uu293645^u78K:<;^K=K?W@MAGBECDKu|FuHKIJAALNTORPQKSUV|*uXeY`Z][\u^_4uacbdufmgjhiKuklunqopK|r|tuv w| xy  z{  } ~   ^             AKuK|*^|^uuA|||||^K|*u|u|uuKK|u|||K|uuK||u|u||u^uuKKu|KKK^uKuuu                            ^;-%!| K|"#uu$K&)'(|*+u,u .4/201K|*K3|u58679:u<L=C>A?@BuuDHEG^FKuuIJK^MWNSOQP4RuTVUuuK|*XZYu|[]\Ku_z`mahbecdfgKnnuikuj|lunsoqp|uruutwuvlxyluK{|}~4|KnK|u|Ku|*uKuunuKPKu|*|uP|KK^KuKu^u^|u|*u|*luKu&KPuuKuuuuu|uKKuuuKuKul4|#                 Y      Y      Y !"$%&_'F(7)0*-+,u./4u1423|K56^8?9<:;u=>|nK@CABuDE|*GQHNILuJKKuKMKuKOPRZSWTVUuKKXYuu[^\]uKKuuK`arbicfde|^|*^gh^uujpkluumKnoKqusztwuvu|*xy|*{~|}|*|*uK|*K|*u|uKuu           YKu|*K|*u4uuu^uKuuKPKPKKKu4Ku^ nKKu|*           }k% ,%%%%%%%%%% !%%"#%$% N%%&%'%()%*%+% N%-F.%%/0;%12%%3%45%6%7%%89%:%~%<%%=>%?%@%A%B%%C%DE%%~%GH_IT%JK%%LM%%NO%P%Q%R%%S~%%UV%W%X%%YZ%[%\%]%%^%`%a%%bc%%d%ef%%g%h%ij%%lmnopqrstuvwxyz{|~v ! }%                  O }mmQ%m2QvѤ2%m%  }%mvQQQQQQQQQQQQQQQQvvvvvvvvv      SSvR9& #!"$%m#A'7(6)*,+-./0123458:H;E<D=>A?@O%BC{~vFG ILJKMQNOPST_U^V%WXYZ[\]mO`abc~dmefghijkl#PntopqrsOuvwxywEz{|}wEwE%yyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'>yyyyyyyyyyɓyyyyywEyyyyyy %Q%333333%33 33 3 % %%%%%%xxxxxx%U84 !."4#44$%(&44'44)4*+44,4-44/40412443445446744#P94:K4;<4=E>4?4@44AB44CD44#PF4G44HI4J4#P4L4M4N44OP44QR44ST44#PVgWXYZ[\]^_`abcdefhxiOjk%%l%m%n%o%pq%%r%st%u%v%w%$%yz{|}~~OOOOOOOOOOOOOOOOOO"~OOOO"OOO"OOOOOO##OOOOO"OOOOO"OOOO"OOOOOO"OOOOOO"OOOOOOOOOOOO"~OOOOOOO"OOOOO"~OO%Q.#Pmz }|      QiO%ZD4/$     ! " #  ^ %&+ '(  ) *   , -.  u 0 1 2 3  56< 7 8 9:  ;   = >?  @A  B C  EN F GH  IJ K  LM  OWP  Q R ST  UV  X  Y  [\q]f^  _ ` a b c d e g  h i jk l  mn  o p ru s t v~ wx y z { |  }         u                      `_OI yyy#P#Py#P#P#Py#P#Pyy#Py#PwE#Py#Py#Py#Pyyyyyyy#Pyy#Pyyyyzzyyzyyzzyzyzzyzzyzyzyzzyyyyyyyyyyyyyyy V  yy yy4#P#P#P#P#P4yyyyyyy4yy !2",#)$'%&y#Py#P#P(y#P*#P#P+y#P#P-.0/#P#Py#P1#Py3=475#P#P6y#P8:#P9y#P;<y#P#Py>D?B@A#Pyy#PC#Py#PEG#PF#PyH#Py#PJKnLyMNy4O4P_QWRwESUwETwEywEVywEX]Y[ZwEwEy\wEwEy^wEwEy`ewEabdcwEwEywEyflgjhiwEywEyykywEwEmwEyoyypyqrs|twu#P#Pv#Pyxzy#P#Py{#PwE#P}#P~#Pyy#Py#Py#P#Pyy#P#Pyy#Py#P#P#Py#Py#Py#P#P#Pyyyyyyy#P#Pyyy44y4wE4yyzy#P#Pyy#P#P#P#Py#P#Py#Pyy#Py#P#Py#Py#P#P#Py#P#Py#P#P#Py#P#Py#P#Pyy#PyyyyyyyyyyyVVyyyVyVyVyyVyVyyyyyyyyy#P#P#P#PV#P5yy yy yy  y#Pyy #P#Py#Pyy#Py#P#Py#Py#P#Py#P) %!#y"y#P$#P#Py&'y#P#P(#Py*/+-,#Py#Py.y#P021#Py#P34y#Py#P6yy7y89y:L;D<A=?>#Py#P@#Py#P#PB#PCy#PEH#PFG#Py#P#PIJK#Py#PyMTNP#POy#PQ#PRS#Py#PyU\VYWXyy#PZ[#Pyy#P]#P#P^y#PabOcxdefghinjklmWopqrstuvwW }y }z{ } }| }} } Q  WWv%-yOOOOOOOOOOOOOOOOZ3BQQBQ%#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#PwE#P#P#P#P#P#P#P#PO#P#P#P#P#P#P#P#P#P#P4#P#P#P#P#P#P#P#P#P#Pɓ#P#P#P#P#P#P#P#P#Py #P#P #PwEwE#P #P  #P#P#P#P#P#P#Pɓ#P#P#P#P#P#P#P#Pɓ#P#P#P#P !#P#P"#P#$#P#P&'L(6)*+,-./012345W789C:;<=?> @AB DEFGHIJK MNOPQRmT DUVQWXpY%%Z[a\%%]^%_%`%%%bc%%d%e%fg%hijklmno%%qr%%s%tu%v%w%%xy%z{|}~%%%%%%%%%%`Q s   QQQQQQQQQQQQQQ}QQQQQQQQQQQQQQQQQQQQ}QQQ} !  m% L1%wEwEwEwE! wEwE"#wE$wE&-')(wEwE*,wE+wEwEwE.wE/0wE2534wE#P678B9>:<;#P#P#P=#P#P?@A#P#PCHDFE#P#PG#PIJK#P#PM|N`OP#PQRVVSTVVUVW\XZYVVV[VV]^_VVaubckdjehfg#P#P#Pi#P#Plqmo#Pn#Pp#Prs#Pt#Pvwxyz{ɓ}~zzzzzzzzzzzzzzzzzzzzzzzzzzzz'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>#P#P#P#P#P#P#PVVVVVVVV5 '>#P wE  3 444444444'! 444"$4#4%&44(.),*+444-4/14042444#P6A798#P:#P;#P<=#P>#P#P?#P@#PzBJCDEFGHIyKeLMN[OTwEPQSRwEwEwEUYVWwEXwEZwEwE\b]_^wEwE`awEwEwEcdwEwEfghxiqjm#Pk#Pl#Pno#P#Pp#Prus#Pt#P#Pv#P#Pw#Pyz}#P{|#P#P#P~#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P #P#P#P#P#P#P#P#P#P#P#P#P#P#PVVVVVV#Pc'>#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#PwEb< $   #P #P#P#P#P#P#P#P#P#P#P#P! #P#P"##P#P%2&+')(#P#P*#P,/-.#P#P01#P#P37465#P#P#P8:9#P#P#P;#P=O>D?B4@A4C4EJFHG44I4KM4L44N4PYQURT4S44V4WX44Z][\4^`4_4a4#Pdefgzhqilj#P#Pk#Pmo#Pn#Pp#Pru#Ps#Pt#Pvxw#P#Py#P{|}~#P#P#P#P#Py#P#P#P#P.#Pz#P#P#P#P#P#PVVVVVVVVVVVVVVVVVVVVV#P#P#P#P#P#P#P#P#P#P#P#Py#P#P#P#P#P#P#P#P#P#P 4444444444444444 4         #P#P#P #P #P  #P #P#P     #P#P #P #P  #P #P   #P#P#P  ]  -  ! " # $ (4 %4 & '44 )4 * , +444 . 3 / 1 0wE 24 4 U 5 6 K 7 E 8 @ 9 = : ; <'\ > ? A B C D'\ F G H I Jz  L M N O P S Q R Tz  V \ W X Y Z [#Pz ^ { _ c ` a b#Pz d e#P f m g h i j k l#P n o s4 p q44 r4 t x u44 v w4 y z4 |  }  ~ z        wE wEwE wE  wE wE wE   wE  wEwE    wE wEwE wEwE      wE wE wEwE   wEwEwE wE  wE  wEwE   wEwEwE      V  VV    V VVV  VV               wEwE wEwE  wE wEwE    wE wE wEwE  wE    wE  wEwE   wE wE    wE  wEwEwE    4        #P#P #P    #P#P  #P#P    #P #P#P    #P#P #P     Q  QQ Q Q  QQ Q  Q Q Q QQ   }O O#  1    +    ! " # $ % & ' ( ) *r , - . / 0r 2 4 3 s }% 5 6% 7%% 8 9%% : ;%% < =% >% ?%% @ A%% B% C$% E b F  G k H I J K L M N O P Q R ^ S T Y U V W XY Z [ \ ]aA _ e ` a b c d f g h i j l  m  n  o } p q r s t u y v w xQ z { |Q ~ Q           Q QQ            QQ               Q                  Q     Q Q   Q Q QQ Q Q Q Q Q   QQ  QQ Q   Q  Q QQ QQ   V           B   Q         O  Q !                  % x6  O       Q    )     # %    P        ! " $ % ( & 'vBv * D + ; , - 4 . 1 / 0% 2 3I  5 8 6 7(w  9 :IbI < B = >% ? @ A|[ 7 C E U F  G N H K I JwE&b L Mc _  O R P Q%$ S T$$y  W ` X Z Y3 [ \ ] ^ _j aO c Q d e  f g h i j k l m v n o p q r s t u  w x y z { | } ~   }              O % %  %%  % % % % % % %% %  %    m   }       y      xwq       UC  G    Q    QQ Q       Q%  %% % % %        m      Q Q QQ Q Q  QQ }Q  Q  QQ  QQ Q Q QQ  Q QQ Q Q Q QQ Q Q Q    |             y %  s  " v      Q    %   &%|    `  )  '  & Q Q Q Q Q !Q "Q # $QQ %}Q% ( * 1 + ,q -2 . / 0 2 _ 3 < 4  5   6  7 8_ 9  : ;  = R > ?ɓ @ K A B C G D E Fz H I Jz L M N O P Q#P S [ T U V W X Y Zy \ɓ ] ^ɓ% a k b e c dO% f g h i j l  m s nU o p q ru tO u w v N x  y~ z~ { | } ~    ~~  ~:~  %        4 &4  B  d%  b!    v  B dB   %v }             m      Q         Q }   v     m     v% $     }  %    G        %             v     O    % %  %%  % }  @    v % % % % % % % %% % % % % u%  ?   '                                      $  ! "   #  %  &  ( 3  )  * + / , - .  0 1  2   4 7 5   6   8 9 < : ;  = > % A D B C%#A E F } H h I \ J Y K X L M R N O P Q S W T U VJ% Z [% ] e ^ _#A% ` ay byy c dyy f g i  j z k l }} m n o p q r s t u v w x y*{ { |Q }  ~66v~ }      !O 5        O%           }%Q      $a      % 4     Q  Q QQ Q  Q Q QQ  QQQ      Q  QQ   Q Q  QQ  QQ QQ Q Q Q  QGQQ    A  QA Qet  Q  A Q QQ     Q Q      }eAn  tva    a2Q Q}Q     Q    QAoQ Q   AeQ   QQ  l.eQ  QeeQQ QQQQQeQQ Q Q Q QA*Q#QAQQavQAQQQQ !%Q"Q#Q$AtQ&Q'(QQ)QQ+,1Q-Q.Q/0QQ23QQ6\7U8;9:<T= Q>G?@OADBC }} EF }bz}5HNIKJBE}5LM }5}5OQPB}p RSE}|vVYWX% Z[ } ]d^a_`Q%bcvewfugohlijkOmnpqrst lvvx|yQzv{ s~E%v% !yV#P#POvO }%~5QO, } }% } } } }3 }%% }vc`_zzzzzz#Pzzzzz#Pzzzz#Pzzzzzzz#Pzz z z  z zzz#Pzzzzzzzz#P;#zzzzz!z z#Pz"z#P$-z%&*z'z()zz#P+z,z#Pzz.z/07142z3z#Pzz5z6ɓz8z9z:z#Pz<P=J>F?z@CAzzB#PzzDEzz#PzGzHIzzOzKLzMzzNzOz#PQzRzSZzTUzVXWz#PzzYz#P[z\zz]^z#Pz%ab%Qdse%fg__hi_j_k_l__mn__o_pq__r_tudwxyz|{|~}Bv%O%[ %OvO% % |Oef%.%Q8W%:%2v%&>L&$%6%  v  ~ IIOb }Qɓɓɓɓɓɓɓɓɓ ɓ!ɓ"#ɓɓ$%ɓwEɓ';(+)*%mO,-I. }/0123456789:<>=3?@_A%B%%C%D/%FGHfIZJWKL &MRNPO   Q ggS TUV  XY O[c\]^ _ ` a b? de gwhkij%%lvm%nqop%y rsOtu*xyQz{|}~ m%O%eIXIIIIIIeQ3vO   !%O%% }N]m}X^dlG#3%|z|||b0z|z` }z``z%%%d% OO@vvr Q% %%IW I $% zzzzzzzz#Pzzz zzzzzz#Pz!z"#zz#PQ&M'J(>).#A*+#A,#A#A-#A /5O01OO2O3O4"~OO6O7O8O9:OO;O<O=O"?@ADBCyEHFGyyIyKLUNQOP%RSQTU`VZWY XW2Wn&z[]\W_ ^_W2abc֋evfpgjhiv%koQlm}n}B}vqtrs|Quv wxyz{|v}~r:O{ }y }#A% OOOOOOOOOO"~t~w!%""O s%%%%%%%%%%%%$%%#A s(v6R666b666R           "!wEwEwEwEwEwEwEwEwEwEwEwEwEwEwEwEwEwEwEwEwEwEwE  wEwEwEwE  wEwE wEwEwEwEwEwEwEwEwEwEwEwE wE#'$%  & &);*8+7,0-./1624y3ynn5yn2#v%9:<|={>M?D@ABCyEFGHIJKL QNxO\PSQR4TUVWXYZ[c]p^_h`abcdefg#Pio#Pjklmn..qrsvtu#Pw#Pyzy2}~Q NzVzVzzVVVVVV'yVVVzVVVVVVVVVVV[@54     K  K $   !"#%.&'()*+,-/0123Qv6789:;<=>? ASBDC#Av sEF%%G%H%I%J%K%L%MN%%O%P%QR%%TUOV%WX%%YZ%$yB\c]`^Q__abOdegfvhi%jklmnopqrsztwuv^auFlxybcgf{~|}gZk|yjllW^|^Y   }%%%:%:%%%::% }nR#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#P#PwEwEwEwEwEwEwEwEwEwEwEwEwEwEwEwE+wEwEwEwEwEwEwEwEwEwEwEwEwEwE   ll ll llllll!ll4llll yl"'#%$l4l&4l()lOl*4,-.A/904132'>'>'>576'>8'>'>:=;'><'>'>'>>?'>@'>BKCG'>DEF'>'>HI'>J'>'>LOM'>'>N'>'>PQ'>ScT\UVWXYZ['>]^_`abdlefghijkm#Pop~qrsytuvwxz{|}'>wEwEɓ'>'>'>'>z'>#P%%%yQ%$$%%% %%::%:~%%r:~%%%%)r(r)xxr'xx)r %       e b a CQQQQQQQQQQQQQ'QQ Q!QQ"#Q$Q%QQ&}Q(:)-*Q+Q,Q.Q/05Q1Q23QQ4QQ67Q8QQ9QQ;Q<Q=Q>?QQ@AQQBQDWEQFJGQQHIQ}QKQLQMQQNOQQPQ}RQQSQTQUQVQXQYQZQQ[Q\]QQ^_QQ`Qcd  vfkgjhi% Qlsm !OnoOpOOqOr_#OtwEuvwEwxwEwEyzwE{|wE}wEwE~wE4wEwEwEwE4wEwEwEwEwEwEwEwEwEwEwEwEwE4wEwEwEwEwEwEwEwEwEwE4wEwEwEwEwEwEwEwEwEwEwEwEwEwEwEwEwEwE'>wEwEwEwEwEwEwE#PwE%%*BOl %d%O%W W  %%vv  OOOOOOOOOOOO  "P OOOOOOOOVF 7* } } }  }!" } }#$ } }%& }' }( }) }} }+ }, }- }. } }/0 }1 }2 }3 } }45 } }6 }8>9O:;<=?@AB sCDEAQeGlHfIJYKVLUMNT|OPQRS||OWXZ_[^\]BB`caBbBdBeBB%ghijkmnopq}rwsut }v~ }v }xzv~yv~{|v~~v~ }v~g$*^v~ } }O }4444444wE4444444#P444444444444lvv$ %mO% N%$fQ%O } } } } } } } }% v% O% mv!   RO %   R      s ! "# }%E&C'()*>+7,-./01234568;9:<=?@ABmDmFSGIHv%JQKLMPNO^QRTU s%WXYeZc[b\ }2]^2_2`2a2 &2%d%fghij{kwEwElmtwEnwEowEpwEqrwEwEswEwEuvwEwEwwExwEyzwEwEl|}~ɓɓz4yyyyyly4yyyyyyɓyyyyyyyyy4yyyy4yyyyyyyyy4yyyy4yyyyyyyyy4y4yyyyyyygyQOSO%'>F Qɓ 2    v%#P#P2QyrtO_E6 0!)"'>#&'>$%'>'>'>''>('>*'>'>+,.-'>'>'>/'>1'>2'>3'>4'>'>5'>7?'>89'>'>:;='><'>>'>'>@'>'>A'>B'>CD'>'>'>F'>GH'>IVJPKNLM'>'>O'>'>QTRS'>U'>W^X\YZ'>['>]'>'>'>`w'>abhc'>'>d'>ef'>g'>'>in'>j'>k'>lm'>'>os'>p'>q'>r'>t'>u'>v'>'>xy'>z'>{'>|'>}~'>y'>'>'>'>'>'>'>'>'>'>'>#P'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>wE'>'>'>'>#P'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>$'>'>'>'>'>'>'> '>'>'>'>'>'>'>'>'> '>  '> '>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'> !'>'>"#'>'>#P%H&0''>('>)'>*'>+-'>,y'>.'>'>/'>1B28'>34'>5'>6'>7'>'>9=:'>;'>'><'>>'>?@A'>'>C'>D'>E'>F'>G'>'>ImJ[K'>LUMPN'>'>O'>QS'>R'>T'>'>VX'>W'>YZ'>'>\h]d^a'>_'>`'>b'>c'>'>e'>'>f'>g'>'>ij'>'>k'>l'>nto'>p'>'>qr'>s'>'>'>u'>v'>wx'>'>z{|}~I| eeeeeeeeeeeeeeeeeQeeeeeeeeeAeeeeeeeeeeeeeeeeeeeeeeeeeeee}eeeeeeeeeeeeeeeeeQeAAAAAAAeeeeeeeeeeeeeeee++eeeAPeeee###vetee  e Ae  eee2ee}##vo+_eeeeeeQ!"#8$,%&)'(W *+W -4.1/0W 23W 567W 9`:H;A<yy=y>?yy@yBFyCD#PEyyyG'>yIZJOyKyLyMNywEyyPQVRyySTyyUyyWXyYy.y[y\y]y^yy_y4yabocidyeyyfgyyh4yyjykylymyn4yp{qvyrysytuyɓywyxyyyyzyzywE}~ uK K    O4' %%%%%%% % % % %~%%%%%%%%%%%y$%%%%%% %%!%"%#$%%%%&$%(3)*+,-./0125687%9:;h<T =>H ? @AD B CE F  G IK J L M NQ OP   R S U V` WX  YZ [ \  ]^ _  Ka  bc  de  fg  ij{klmunopqrst vwxyzu|}~K K /O } }*u }gu }<;'h X gg   g>  8  88L ;!%"$#8&6'(5)*+,-./0123487898:<=D>?@ABC8EFGHIJ8K8MQN8OPRSTVU8WYZ{[_\]^8`k8abcdehfggijglnm8oqp8rsxtuvwyz|}~8{C8{8888C8{CK888888%D  888  18C8g 2  $ 8  8!"#8%&,'()*+8-./0137456889B:<8;8=>?@A*C8E}F[GRHIOJKL8MNPQ8STUVWXYZg\j]^_`abcdefghigklomn8pyqtr8s8uwv8x8z|8{g88~8gg8 8DlL88DAgggg7g         & !%"#$uuP'()*0+,- . / 126345&89:;<=>?@g8BC8EFGHIJKMNO^PQR8SWTUV8X[YZ8\]_k`abcdefghijg8mnopq}rxswt uv yz{|~ 88             8g8#wg^ HK 81+88 8    %8{C)$ "!# %(&' 1 *{C,-.</0162345g789:;gg=>?@ABCgEFwGHRIJKLMNO8ePjeQe8S`TWUV8X^YZ[\]_3aebc8d8fghqilj8k*mon8*p*rsutuvxyz{}|8~88u88 8 88888'*888{C88{C8888888{C8                                            8  _ ! G " F # $ 9 % * & ' ( )8 + 1 , . -8 / 08 } 2 6 3 48% 5 7 88  : A ; < ? = >88 @8 B C D E 8 H8 I P J L8 K8 M N O8 Q R T8 S8 U Y V W X Z ]1 [ \` ^H ` a t b j c8 d e f g h8 i8 k l s m n8 o p q r 8 u v w x y z { | } ~ w  $e " ! !  !~ !s                    BB      | u Y|              B  !r !G              g          g     g      g           g      g       g ! !         g        g  !!!!g!!!g!!! ! ! ! ! !!g!!!!!!!g!!5!!&!!!!!"!! !!g!#!$!%g!'!.!(!)!*!+!,!-g!/!0!1!2!3!4g!6!7!8!>!9!:!;!<!=g!?!@!C!A!Bg!D!E!Fg!H!I!h!J!W!K!L!M!N!O!S!P!Q!Rg!T!U!Vg!X!`!Y!Z![!\!]!^!_g!a!b!c!d!e!f!gg!i!j!k!l!m!n!o!p!qgg!t!v8!u8!w!}!x!y!z!{!|888!!!!!8!!!!!!!!g!!!g!8!!!!!!!!!P!! !!!!!!!!!!!!!!  !! !!!!!!!!!!!!!!!!!!!!!8!!8!!!8!!!!!!!!!!!!"S!"$!!!!!!!!8!!!!!!!!y!8!!!!!!!!!8!!!!!!4!!8!"!"!!"!"!!!!!w"""w""" "" "w" " "" "w"w""""""""|""""" " "!"""#wg"%"&"9"'"/"(")"*"+8","."-888"0"1"2"3"4"6"5H"7"8H":"D";"<"=">"A"?"@8"B"Cw"E"Q"F"G"H"M"I"K"J\"L\"N"O\\"P\"R"T""U"g"V"e"W"a"X"Y"^"Z"["\"]8"_"` "b"c"d{C"f"h"j8"i8"k""l""m""n"w"o"r"p"q1"s"u"t "vH"x""y"{"zK"|"}"~""""""""""""""H"""""""Hg ""w""Q"""""{C"{C"{C""""8""*~"""""Q""""""""" "Y""w""""" "  """ " "#"""""""""""""""\"8"""""""8"""""8"""8"#;"#""""""8"""""""""""""g "g"" ""8### ######8## 8# # # ###g#w##+######8##!####II## {Cg8#"#(###$g#%#&#'g#)#*{C8g#,#8#-#.#7#/#3#0#1#2g#4#5#68#9#:8#<##=#o#>#?#A#@8#B#C#D#b#E#M#F#L#G#H#I#J#KW5#N#O#P#Q#W#R#S#T#U#V#X#]#Y#Z#[#\#^#_#`#a#c#e#d#f#ge#h#i#j#k#l#m#n#p#q#r##s#w#ty#u#vO Q#x#}#y#z' Q#{#|y Q Qo$#~#####P# Q# Q'M##\# Q#P##'M#P Q## Q#y Q###8#8#$############## 8##8###########g##########$#######8##8##8#8######g#P#####8###8####88#88#8##8#8#888######8##888####8#88#######8#88#g88#8#8v#8#8#88####88#88#$88$$$$$8$$8$$ $ $ $ 8$ 8$$$$Q$$$8$$$[$$L$$7$$$$$$$$ $!$"$#$%$0$&$'$($)$*$+$,$-$.$/u$1$4$2$3$5$6$8$I$9$C$:$;$?$<$=$> $@$A$BH8$D$E$F$G$H$J$K8$M$N$O$P$T$Q8$R8$S8{C88$U8$V$W$Y$X{C8{C$Z88[$\$]8$^$_8$`8$a8$b88$c8$d8$f%C$g$$h$$i$$j$k$l$m$n$o8$p$q$$r$$s$t$u$|$v$y$w$x$z${$}$~$:$$$$$$$$$$$$$$$$8$$$$8$8$$$8$$$$$$$$$$$$$$$$$$g$$$$$$$$$$$g$$$$$$$$$$F$$$8$$$$$$$$$$$$$$$$$$g$$$$$$$$$$$$$g$$$$$$$Q$$$$$$$$$$8$Q$+$%$%8$$%$$$88%%%% %% %%%%8z8% % 8% 8%%%%%8%%%$%%%%8%%%%%% %!%"%# %%%7%&%)%'%(g%*%-%+%,88%.%/%0%1%2%3%4%5%6g%8%?%9%:%;%<%=%> %@%A8%B8%D&%E%%F%k%G%[%H%O%I%J%K%L%M%N8%P%Q%R%S%T%U%X%V%W#1%Y%Z$%\%_%]%^8%`%a%b%c%d%e{C8%f%h8%g8e%i%jjej%l%~%m%v%n%o%p%q8%r%s%t%ug%w%x%y%z%{%|%}%%%%%%%%%%8%%%%}}%b%%%%%%%%%%%%8%%%%%8%%%%%%%%%%8%8%%%%8%%%%%%%%%6%%%%%% %%%%%% %%%8%&%%%%%%%%%%%%%%%g %%%w%%%%%%% % %%  %%  % %  % % % %%  %%%%%%%% g%%%%%wg%% %& 8%8%%88&&8&8&8&88&&8&88&8}& & & & &&&&&&&&&&X&&&$&&!&&&8&&& g&"&#8&%&:&&&'V&(&-&)&*&+&, &.8&/&088&18&28&38&48&58&68&78&88&9[8&;&<&=8&>&?&B&@&A1&C&N&D&E&F&G&H&I&J&K&L&M1&O&P &Q &R &S  &T &U &V &W  &Y&&Z&c&[&b&\&]&^&_&`&aUT&d&t&e&n&f&k&g&h&i&j&l&m &o&p&q&r&s&u&v&~&w&x&{&y&z3&|&}&&&8&&&&&&&&&&&&&&&&&&1&&&&&&&11&1&&&1&&&&&&&1&&&&&&&&&&1&gg&&g&&&&&g&g&g&&&&1&&&&&1&&&&&  && 1&&8&& &&&&&&&&8&&8&&&&&&&1&&&8&&&u&&&&8&&&&88&&8&8&'+&&&&&&&8&&8&'&'&'&''Q'''''W'' '' '' ' ' :'''''8'''''8'''''' '!'"88'#8'$'%88'&8''8'(8')8'*8{C','`'-'.'0'/8'1'>'2'9'3'8'4'5'6'7 v':';'<'='?'^'@8'Av'B'C'D'Q'E'K'F'G'Hg'I'J'L'M'Ng'O'P'R'X'S'T'Ug'V'W'Y'Z'[g'\']'_v'a'd'b8'c8'e'f'g'i4'j*'k*'l(H'm'%'n%'o%'p%'q'r%'s%'t%%'u%'v%'w'x%'y%'z%'{%'|%'}%'~%'%mQ%'''''''''''a%'''''''' ''''''''''''''''''':'''''%'' #'%''' ''Q''''''''%m%'Q%'''' s'''' s'''''''' v%' ''''%'a ' ' 'Q'%v'(&'( ''''''''''VVV''VV'V !''v'''m'( '''''!s''''!''''''''''('!((((((((( ( (( ((O((%(((% }((%Q(Q(Q((QQ((Q(($Q(( QQ(!("QQ(#Q(%QQ('(6(((/()(,(*(+(-(.v/$%(0(3(1(2%%(4(5#A }(7(B(8(;(9(: }(<(=Od(>(?(@(An(C(E(D% (F(G Q(I)(J((K(s(L(Z(M(S(N(Q(O(PO &(Rm }(T(W(U(V2%(X(YQ([(n(\(_(](^%(`(mQ(a(b(c(d(e(f(g(h(i(j(k(l2(o(q(p(r%(t((u((v((w((x(y(z({(|(}(~(('0('0(((%((((((((%O(O(((($ %((3(((%(((((vO(((((((((((((((%((((%y$O(((%C((O (((((((((((Q%(((((v*(((((( (((((rS(((a((:r:((&H&((((((((3 ((Q(((((((((( ((Q((((vd(%((((((U%(mr()()()))q))# !))P) ).) )) )) )) %%2))3O))))# %)%))'))))$Q ))&%)))!) )")$)#p)%p })()+)))*%%O),)-Q)/)@)0)4)1)2v)32)5)=)6)8)7O)9):);)<*)>%O)?2)A)F)B)D)C%)Ev)G)M)H)I)JQ)KQQ)L}Q)N)O%)Q*^)R*O)S)i)T)e)U)Wq)V8)X)d)Y|)Z||)[)\||)])^|)_|)`|)a||)b)c| |W)f)h)g%)j))k){)l)m)t)n)q)o)p| p)r)s s)u)x)v)wy)y)z)| )}m)~mm)m|))Q)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))()))())))))))()*)))))))))))))))))))))))))))))))))))))))))*)********G* *,* *#* ** * (***((***(*(******(*(**!*(** ((*"(*$*((*%(*&*'((*)***+((*-*B*.*6*/*0:*1*2*4*3:*5::*7*>*8*=*9*;*::*<:::*?*@:*A:*C:*D:*E*F:*H*I*J*K*L*M*N*P*W*Q*T*R*S%%*U*Vv*X*[*Y*ZU }*\*]6U*_**`**a*v*b*u*c*f*d*e{o *g*r*h *i *j *k  *l*m *n *o *p *q  *s  *t$ m%*w**x*y*z*{*|*}*~*****d***v**%******% !**|%**Q*%************ Q**%*** ********x***xx****%**%*m****%m**Q**%m**%*****m*m*m*m*m*m*m*m*m*m*m*mc;m*,*,n*+*+T*+2********$O%*6*wE*wE*wE*wEz*******Q&KO%**% ******%******uu**u*++/++.++++Q%+%++%+++ ++ + + +  |++|*++++ |+u|*++++++n|++|*u|++"+ +!n|+#+$|*u|+&+++'+*+(+)d |* +,+- u+0+12+3+B+4+9+5+7+6% +8O+:+A+;+<%+=+>+?+@&Y S+C+O+D+G+E+F !%+H+N+IQ+J+K +L+Mvv$v8%+P+S+Q+RvO+U+u+V+c+W+]+X+[+Y+Z%Q+\#A+^+`+_%%+a+bv+d+p+e+h+f+g O%+i+j3+k+l+n+m33+o3+q+t+r+sQ%|%+v++w+}+x+{+y+zQ+|O+~+++%%++O+O+OO+O+O~ ++%++++++++++++'>++++++m#++v%+++++++++ +++ ++++ ++ + ++++ ++ ++++d+++++++++++++++O%v+, +++++++++++Q+Q++++%%+ ++++++Q !%+%++Q++++%+++,++++++++% }++++W: s++QO++}+%+,%m,,,,,, sv !Q,, , O }, #, ,0,,,,,,,, _%,, Q%,,, },, ,,*,,",,!,  ',#,$,% ,&,',(,),+,-,,,.,/O%,1,O,2,B,3,6,4,5 sQQS,7,A,8,9,<,:,;,=,?,> Q,@'0v,C,F,D,E%%,G,H,I,J,L,KBB,M,N[euw,P,T,Q,S,R,U,Z,V,Y,W,X2%,[,`v,\%,],^%,_%%,a,b,c,l,d,e,f,h,g,i,j,k,mw,o%%,p,q%%,r,s%%,t,u%,v%,w%,x%%,y,z%,{%%,|,}%%,~%,%,,%%,2,,,,O,,-L,,,,#P,,,#P,#P,,#P#P#P,#P,#P,#P#P,,#P,#P#P,#P,#P,#P,,#P#P,#P,ɓ#P,-,,,,,#P,,#P,,#P,,,#P,#P#P,#P#P,#P,,#P,#P,#P#P,#P#P,,,,#P#P,#P,#P,#P,,,#P#P#P,#P,,,#P,,#P,,#P,#P,#P#P,#P,#P#P,,#P#P,,#PV#P#P,#P,,,,,,,,,,,y,,#P#P,,,#P,#P,,,,,,#P#P,#P,,,#P#P,,,,#P,,,,#P,#P,,,#P#P,#P,- ,-,#P,#P,#P,#P,#P-#P-#P-#P#P#P--#P#P--#P#P-- #P#P- #P- #P#P- -#P-#P#P-#P-#P-#P-#Py--9#P--#P#P---4#P--$-- --#P-#P-!-"-##P-%-0-&-+-'-*-(-)#P#P#P-,---.#P-/#P-1-4-2-3#P#P-5-7-6#P-8#P-:-C#P-;#P-<#P-=#P->-?#P-@#P#P-A-B#P#Py-D#P#P-E-F#P#P-G#P-H-I#P-J#P#P-K#P'>-M--N-u-O-a#P-P-Q#P#P-R#P-S-T#P-U-\-V-Y.-W-X..#P.-Z-[..-]-`-^.-_#P..#P-b-l#P-c#P-d-e#P-f-g#P#P-h#P-i-j#P#P-k#Py#P-m#P-n-o#P-p#P#P-q#P-r-s#P#P-t#P'M-v-#P-w-x-#P-y#P-z#P-{-|#P#P-}-~#P#P--#P#Py-#P#P--#P#P-#P--#P#P--#P#Pɓ#P--#P---#P-#P#P-#P--#P#P-#P-4#P-#P-#P--#P-#P-#P-#P-#Pz#P--#P#P--#P#P4-/-.R-. -----#P------#P-'>#P---#P#P'>-#P'>#P---'>-#P'>--#P-'>#P-'>'>#P-#P---#P--#P-'>#P#P'>'>--#P'>#P-#P4------.----..-..----F..-.-.--F..-F-F---...-.F--4--------4-4#P4-#P4-4#P----#P4--4#P#P4----4#P4#P-#P4#P-.----4-#P44-4#P.44#P....4.4#P#P.4#P.. #P. #P44#P. .H. y..B..6..$....'>....'>'>#P'>'>..'>#P'>...'>.#P.#P#P'>. .!#P'>.".##P'>'>#P.%./.&.).''>.(#P#P'>.*.-.+.,#P'>#P'>'>..'>#P.0.2'>.1#P'>'>.3.4.5#P'>'>#P.7.;.8'>.9'>'>.:'>.<.?'>.=.>'>'>'>.@.A'>'>.C'>.D'>'>.E'>.F'>.G#P'>.IywE.J.K'>.L.P'>.M'>.N'>.O'>'>.Q'>.S..T.U..V.v.W.e.X.\wE.YwE.Z.[wE#PwE.].a.^.`._wEwE#PwE#P.b.cwE#P.dwEwE#P.f.m.g.jwE.h.iwE#PwEwE.kwE.lwE#P.n.s.o.q.pwEwE#P.rwEwE#PwE.t.uwE#PwEwE.w.x..y..z.wE.{.|.~wE.}wE#P#PwE...#P#PwE..wE#P#PwE...wEwE#P....wE#P#PwE#PwE......#P.#PwE..#PwE#PwE.wEwE#P.wE....wE#P#PwE..#PwE#PwE.4...........4.#P4#P4.4#P.4#P4....4.#P44.#P4.4.4#P4......4.4#P..4#P#P4...44#P..4#P#P4..4..44#P....4#P#P4#P.#P4.........4#P4.44#P..#P.l4.4#P4......4#P#P4..#P4#P4..#P4.44#P..#P..44.4#P..4..44#P....#P4#P4#P4./y./O.4./$./ ./...4..4#P#P4////#P4#P4/44#P// 4/#P/4#P4/ 4/ #P4/ //////44#P/44#P//4/4#P//4#P#P4//4//44#P//!/4/ #P4#P4/"#P/#4#P/%/8/&/0/'/-/(/)4#P/*/,/+4#P44#P4/.4//4#P/1/4/244/3#P4/54/6/74#P4#P/9/C/:/=4/;#P/<4#P/>/A/?/@#P4#P4/B4#P4/D/I/E/G4/F4#P/H44#P/J/L#P/K4#P/M4/N4#P4'>/P'>/Q/R/h/S/^/T/W'>/U'>/V'>/X/\/Y/Z#P'>'>/[#P'>/]#P'>/_/c/`/b/a'>'>#P#P'>/d/e'>#P/f/g#P'>'>#P/i/r/j/o/k/m#P/l#P'>'>/n'>#P/p'>/q'>'>#P/s/v/t'>/u#P'>#P/w'>'>/x'>#P/z//{/|/}/~///y/wE/////////#P/#P/////#P//#P///////#P////#P#P//#P#P/////#P//#P#P//#P/#P/#P/1/0t////y/y////y/////#Pyy#P//#Pyy/#Py////#Py/yy#P///#Py#Py/y#P////y//#P#Pyy/y#P////#Py//y#Py#Py/y/#Py/0A/0/'>//////////#P'>#P//#P'>#P/////'>'>#P'>#P/'>#P'>//////'>#P#P'>'>/'>#P//'>/#P'>//'>#P'>/0/0///'>'>#P'>/'>#P'>000'>#P'>#P00 00 00'>#P#P'>'>0 '>#P'>0 '>0 '>00'>0'>00'>'>00-00!000000'>#P'>#P#P'>000'>'>#P00 #P'>#P0"0(0#0%#P0$'>#P0&0''>#P'>#P0)0+0*'>#P'>0,'>'>#P0.080/03000201'>'>#P'>#P0405#P'>0607'>#P'>090<'>0:'>0;#P'>0=0?'>0>'>'>0@'>0B0l0CwE0D0X0E0O0F0I0GwEwE0H#PwE0J0M0K0LwE#PwE#PwE0N#PwE0P0U0Q0S#P0R#PwE0TwE#PwE#P0VwE0WwE#P0Y0d0Z0^0[wE0\#P#P0]wE#P0_0`#PwE0a0b#PwEwE0cwE#P0e0j0f0h0g#P#PwE#P0i#PwE0kwE#PwE0mwE0nwE0owE0p0rwE0qzwEwE0s4wE0u00v#P0w'>0x0y'>0z0}'>0{'>0|'>0~'>'>0'>00000400000040#P40040#P440#P400000#P404#P00#P4#P40004#P40#P#P40000004#P#P0#P400#P04#P#P4000000#P4#P400#P44#P0040#P4404#P0404044004y4000400000004004#P4#P0004#P440#P4000404#P400004#P4#P044#P00000000#P44#P04#P40040#P404#P40000004#P0#P#P4#P400#P0#P4404#P040000000004#P404#P40440#P0#P4004000#P4#P40040#P440#P411 11#P1414#P1141#P4#P1#P41 1 1 41 44#P11414#P144#P1111z111wEwE#P11@1'>11211'11!111'>'>#P'>1 #P'>1"1$1##P'>1%1&#P'>'>#P1(1,1)'>1*1+'>#P#P'>1-101.1/'>#P'>11'>'>#P#P131419'>15161817'>#P'>#P'>1:1<'>1;'>#P1=1?#P1>'>#P#P'>1A1F'>1B'>1C'>1D'>1E'>1G1_1H1V1I1N1J1L1K#P'>#P1M#P'>#P1O1S1P1R1Q'>'>#P'>1T1U'>#P#P'>1W1[1X1Z1Y#P'>#P#P'>1\1^1]'>'>#P'>#P1`1l1a1g1b1d1c#P#P'>1e1f'>#P'>#P1h1j1i#P#P'>#P1k'>#P1m1r1n1q1o1p'>#P'>#P#P'>1s1w1t1u'>#P'>1v'>1x1y#P'>#P1{11|11}4#P1~114#Py#P111111111111#P44#P1#P#P1#P44111#P4#P41111#P1#P414#P4114#P144#P11111141#P4414#P114#P1#P#P41111411#P4#P114#P4#P4114#P441144141wE414141111111111144#P4#P4#P1141#P411#P4#P4111114#P4114#P#P411144#P#P14#P111111#P414#P44#P1111414#P1414#P4414#P12~1271211111#P11ɓ#P1#Pɓ#P1#P11#Pɓ#P1ɓ#P111#Pɓ11#Pɓ#P1111ɓ1#Pɓɓ1#Pɓ11ɓ1#Pɓɓ2ɓ#P22&2222 22 22#P2ɓ#Pɓ#P2 #P2 #Pɓ#P2 22#P#Pɓ#P222ɓ#P#Pɓ222222#P2#Pɓ#P2#P2ɓ#P#P222#Pɓɓ#P2 2#2!#P2"ɓ#Pɓ#P2$2%#Pɓ#P2'2,ɓ2(#P2)2*2+ɓ#Pɓ#P2-222.202/#P#Pɓɓ21ɓ#P2325#P24ɓ#P26ɓɓ#P282e29'>2:2O2;2E2<2?2=#P'>2>'>#P2@2B#P2A'>#P2C2D#P'>'>2F2K2G2J2H2I#P'>#P'>#P'>2L2M#P'>2N'>#P'>2P2[2Q2W2R2U2S2T'>#P'>#P2V#P'>#P'>2X2Y#P2Z'>'>#P2\2a2]2`2^2_#P'>#P'>'>#P2b2d#P2c'>#P'>#P2f2u2g2q2h2k#P2i2j#PwE#P2l2n2m#P#P2o2p#PwE#PwE#P2r#P2s2t#P#PwE2v2z2w#P2x#P2y#PwE#P2{#P2|#P2}wEwE#P22222'>222222'>222'>#P#P'>222'>2'>'>2#P#P'>22'>22#P#P'>222'>'>#P'>2'>#P22222222#P'>#P'>22'>#P'>#P222'>#P'>2'>'>#P2222'>2#P'>22#P'>'>'>2'>2#P'>222222222222.FF2FF.2222F.FF2.F2222F2F22.F.22.2.22.FF22222.F#P.2.22.F2..2.F2222.22FF222..2F.22222F.F2..F2222.F22.F.'>22'>22'>22'>2'>'>2'>'>2'>2323w23<2323232O33O3333333 33 3 %~%~%3 %3 %3%33%33%3%%~%3~% 33O33633&33  _3 _33 _ _0%3!3"3#3%3$3%3'353(31 3)3*3, 3+ ?3- 3. O3/30O?O 3233 34  _ }373938%3:3;O3=3a3>3S3?3P3@3A3B3I3C3F3D3E Q3G3H Qe3J3M3K3L o3N3O  Q3Q3R%Q3T3^3U3V3W3X3Y3Z3[3\3]3_3`%O3b3l3c3e3dQ%3f3k3g3h%3i%%3j% s3m3t3n3s3o%%3p%3q3r%% NO3u3v3x33y33z33{3}3|3~3 }%333 }3mm33333 /33%333333|3333333 N3 !333333vQ33333O33OO333O|O3|OO33O333OO3O|3OO3|O3O3O3O333OO3|OO3O3O3|O333333%33 !33333v333333303I3333 V33' QO%3233333333333333333333I3333333333II3333333444I4:!47~44d44 44 4 4 O4 44A44 44444;44,444444l#P44wE Q'M44*44&'4 4!4#'\4"'\z 4$4%K;(m4'ɓJ4(J4)Jy'04+ Qy4-444.414/40 QO'>4243'#P45484647#P Q4wE494:'MJV4<4=4>4?4@ Q4B4^4C4D4E4K4F4G4H4I4J%4L4MQ4N4Q4O4P Q Q4R4\4S4T4U4V4W4X4Y4Z4[4] Q'\4_4`4aQ4b4coQQv4e6L4f5L4g44h44i44j4w4k4lU !%4m4n4r4o4p4q Q4s4u4t4v4x4y4zO4{4~4|4}C 4444% _444444d m44%444444 !3444444Tv4Q44QQ44QQ44Q4QQ4444444444444444H4v~4}4}}44}}44}4}}4U444$*e44$*dI4444 }4 }4v~v~^w444 }v~ }44Iv~^v4444444%4vV44 O45 4444444SQ%44%44444%444%4444%%%%44% 444444%44%%444%%%4%4%4%%4%%4%44%4%%5%5555%%5% %55%5%%5 5 %%5 5=5 54555$55555555555555555 5!5"5#5%5&5.5'5(5)5+5*5,5-5/505152535559565758s5:5;5< %i5>5?Ov 5@5A5B5C5D5E5F5G5H5I5J5K#P5M55N5]5O5U5P5S5Q5Rv5T5V5[5W5X5Y5Z% o5\%5^55_55`5a5b5c55d5s5e5f5k5g5hI5i5jII5l5m5n5o5p5q5rm5t5u5{5v5x5wI5y5zI5|55}5~I5I5555555I55I5I55m5555I555I55555I5555555 }5 }55555555Q_5555%Q5Q5Q5Q55Q5Q5Q5QQ55Q5QQ5vQ5v565555O5Q55555*355555555555505555555555555555505*355`55555*35 557555555:J5[L555r)55*3565%56%%6%66%y$%6v6666 F6 F6 F6 F6 F666 %66Q%666666p!p66366!6%6%%6%66 %%6"6.%6#6$6(6%%%6&6'%6)6-6*6,%6+%%%6/%60%61%62% %64656F666>67%68%69%6:%6;%6<%x6=x%6?%6@%6A%6B%6C6D%~6E~%6G%%6H6I%6J%6K%%:6M6O6N6P7|6Qm6R6_6S6T6Y6U6V6W6X 6Z6[6\6]6^{w6`66a66b6v6c6d6n6e6f6g6h6k6i6jwEz6l6mF6o6p6q6r6s6t6uo'>'>T6w66x66y6z6{66|66}6~666y66gT66666^|F'M66Yo666666c4666666666y66W666666J66666o6666666666T66T6666666666666y66666666y66666y66666666#P6666c6c666W6766766666666666.'>y6666#P[wE664ɓ666666666$6$77777z77'77777 7 7 77 7 777#P77wEwE7'>77777'>7777!77 7"7#7%7$47&47(7/7)7*7+7,7-7.'>707172737475T777\78797M7:7@7;7<7=7>7?7A7B7I7C7F7Dɓ7E#P7G7H#P7J7K7Ly7N7O7P7W7Q7R7T7S.7U7V.OO7X7Y7[7ZYoRn7]7^7_7u7`7a7h7b7c7f7d7eff'M7g7i7p7j7m7k7l$7n7o$T7q7s7rz7tz7v7w7x7y7z7{VF7}7978J78H77777%77%77%7%777%~%%7%~%7%77%7%%77%%77%%7%7%77%%7~%777777777777777'>777777777#P7777777777777O777777777Ov77877777777777777777'07777#P777wE#P7#P77777777'>y78 7777777777777V777878888888l88 8 8 8 #P88888888888wEwE8888ɓ888 888!8(8"8#8$8%8&8'V8)8*8+8,8-8.838/808182l84858687l898:8;8<8=8D8>8?8@8A8B8CwE8E8F8G48IO8K88L8l8M8b8N8U8O8Q8Pv8R8SO8T 8V8Y8W8Xd$8Z8[8\8a8]8^8_x8`x8c8f8d8e8g8iv8h8j8k2O8m88n8r8o8p8q8s8v8t8u6%8w88x8y8z8{8|8}8~88888Z 888888O88%8888888 8  |88 8%888888888%8 8888 !888888 N%8% N%88 N8% N% N8 N8 N8 N%88888888888888V88V88V8V8VV8V8VV88V8VV8VV8V8V8V8V8V88VV88888VV8888V8VV8V8VV8VV8z8z88zz8zV8V#P88%88!$88888888 Q8888O8'Q89888898999 %Q99s99 }%9 9 %9 %9 9 % % 9%9999999199&9O999999999 9!9"9#9$9%<9'O9(O9)O9*9+9.9,OO9-O"9/90O"w!O92 s939949959o969\979W989I99O9:O9;9B9<9@9=O9>OO9?O"9AO"OO9C9DO9EO9FO9GO9HO"O9J9SO9KO9L9MO9NOO9O9POO9QO9RO"9TO9U9V"O"O9XOO9Y9ZO9[O"O9]9cO9^O9_9`OO9a9bO"O9d9k9eOO9f9gO9hOO9i9jO"O9lO9mOO9nO"9p9z9q9vO9rO9sO9t9uO"O9wO9xOO9yO"9{99|O9}O9~OO9O9O99O9OO"~O9O9O9999O9OO99O9OO9#OO9O9Ow!999OO999O9"9O9O99O9O9OO9O9O"O999O99O9"9O9OO9O9O"O9O99O9O9O9O9OO"999O9999O"~9OO"~O9O9O9"O999O9O9OO9"O9O9OO9O9O"9999O99OO9999O9OO"9OO"O99OO9999OO9O9O9O"9OO"999999O"9O9OO"99O9O9O9O9O"99O99O9O9OO99OO"99O9O9O9O9O9"OO999O"~"~O9::::: :::O::"O:O:O"OO: O: O"~O: : O:OO"~:OO::::O:OO:O::O"O:O"OO::O:OO::O: OO"~:";r:#::$::%:v:&:':d:(:::):8:*:+:,v:-%:.%%:/:0%:1%%:2%:3%:4:5%:6%%:7%:9%O:;:a:<:`:=:T:>:@:?:A:C:B%:D:E:F:M:G:H:I:J:K:L:N:O:P:Q:R:S:U:[:V:X:W } }:Y:ZY } }:\:^:] }:_ }:b:c%:e:k:f:i:g:h%O%3:j:l:u:m:t:n:o:s:p%:q:r %m:v::w:x:|:y:z:{PP:}:~T: :::: ::::::::::  % }::::::::C:#_:::: }v: &::::::Q::%::::::'::v::::a::::::::O:O:::::v#::::'\: Q:::U:v:::::::::Q::::Q:::::::l::ll::::O%d }::" % ::m3%:::::::::::::::::D<:3% }::::::%;;pQ;;Q;QQ;Q;Q;;;9;;!; ;; Q; QQ; ; QQ;;;;;Q;QQ;;QQ;QQ;;Q;Q;Q;QQ;;QQ;; QQQ;"Q;#Q;$;%Q;&;-Q;';(;*Q;)Qee;+e;,eQ;.;3Q;/Q;0Q;1;2eQe;4Qe;5;6;8e;7eQeQ;:;H;;;@;<Q;=Q;>QQ;?tQ;AQ;B;E;CQQ;D2Q;FQQ;G#Q;I;O;JQ;KQ;LQQ;M;NQQe;PQ;QQ;R;b;S;UQ;TQQ;V;W;[Q;X;Y;ZQQ;\;_;];^QQ;`QQ;aQQ;c;d;j;e;gQ;fQ;h;iQQ;kQ;l;mQQ;n;oQQ;q ;s%;t%%;u;v%%;w%;x;y%;z%%;{%;|;}%;~%;%%;;%%;;%%;;%%;%;7<=<<<a<<<<<<<<<<<M<V*<*a<aa<<<<<<<<a<<<<<<<<<<<<<<<<-<<<*<$<<<<<<<<<<<<*<<<<<<<<<W<W<<<<<<<< !<<<<<<<<<=7<<<<a<<<*<=6<=&<<<<<<<<<<<<<7<<<<<<<<=<======= ==== = = = =======[=========== =!=#="=$=%='*=(*=)**=**=+=,*=-*=.*=/*=0*=1*=2*=3*=4*=5**l*=8==9==:=;*=<=l===I=>=?=@=A=D=B=C=E=G=F0=H'=J=K=_=L=Z=M=S=N=Q=O=P''=R=T=W=U=V=X=Y''=[=\=]=^0'=`=a=b=c=d=e=f=g=h=i=j=k=m=n=o==p={=q=v=r=t=s'=u'=w=y=x=z1=|=6n=}=~'========='='==='5=====;'==============1*====P===4=W==$W===*========================*=== *===*====*=**=*=*l==>,=>&=a=>$=>===>==================================================>>>=>=>=>=>>==> >> > > > >>>>>>>>>>>>>a>>$>>"> >!aa>#*>%aa>'>+a>(>)>*a>->6>.>/>0>1>2>3>4>5*>8>v>9>F>:><>;>=a>>a>?>@>Ba>Aa!>C>D$>E>G>c>H>L>I>JW>K>M>N>O>P>Q>a>R>S>T>U>V>W>X>Y>Z>[>\>]>^>_>`>bP$>d>e>q>fa>g>h>n>i>j>k>l>m$*>o>pa>r>s>t>ua>w?+>x>>ya>z>{>}>|>~>>>!>>>>>>>>>>>>>>>$>*>!>>>*>>>>a>>>>>>W>>>>>*>>*>>*>*>*>>*>**>>*>*>*l*>**>*>*>*>*>>*>**>*>>>>*>>*>>>>>Lq>!>>>$>>>>hh>>>>>>>>>>>F>>*>>>a>>>A>>-> >>>>>>>>>>>>>>>>>*>? >>>>>>>>>?????????? ? b? ? ?$??????????????????? ?!?"?#?%?&?)?'?(?*?,?s?-?_?.?/?0?1?2a?3a?4a?5?6?\?7?8?9*?:?K?;?C?<?=?>???@?A?Bg?D?E?F?G?H?I?Jg?L?T?M?N?O?P?Q?R?S?U?V?W?X?Y?Z?[?]?^$*?`?aa?b?c$?d?ea?f?q?g?h?m?i?j?k?l3(M3*?n?oW?pW?rW?t??u?}?v?z?w?xa?y?{!?|?~??a?????? ???????????P?????a??*??*????????????????????????????a???$?*????*??????????????`????????????????????????????????????????????????@@@@@@@@@ @ @ @n@ @ @@@@@@@@@@@@@@@@@@@@@ @!@"@#@$@%@&@'@(@)@*@+@,@-@.@/@0@1@2@3@4@5@6@7@8@9@:@;@<@=@>@?O@A@B@C@D@E@F@G@H@I@J@K@L@M@N@O@P@Q@R@S@T@U@V@W@X@Y@Z@[@\@]@^@_@`@a@b@c@d@e@f@g@h@i@j@k@l@mO@o@p@q@r@s@t@u@v@w@x@y@z@{@|@}@~@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\@@@@@@@@@@@@@@@@@@@@@@@@@@@@O@@@@@AAAAAAAAAA A A A A AAAAAAAA̿AA PAM/AMALALALAAA L^A!A"KA#A$KA%;A&:ZA'3A(A)B;A*A3A+A,A-A.A/A0A1A2`A4AA5AA6AlA7AcA8A?A9A<A:A;A=A>A@AAABACADAEAFAGAHAIAJAKALAMANAOAPAQARASATAUAVAWAXAYAZA[A\A]A^A_A`AaAbAdAhAeAfAgaAiAjAkaAmAyAnArAoApAqAsAvAtAuAwAxAzAA{A~A|A}AAAAAAaAAAAAAAAAAAAaAAAAAAaAAAAAAAAAAAAAAaAaAAAAAAAAAAAAAaAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAaAAAAaAAAAAAAAAAAAAAAAAAAAAAAA*AAAAAAAAaBB BBBB BBBBBB *B BB B aBBBBBBBBBBaBBBBBBB!B3B"B,B#B)B$B%B&B'B(B*B+!B-B0B.B/B1B2B4B5B8B6B7B9B:B<XB=RB>QB?BB@BoBABHBBBEBCBDBFBGBIBLBJBK8BMBNBOBPBQBRBSBTBUBVBWBXBYBZB[B\B]B^B_B`BaBbBcBdBeBfBgBhBiBjBkBlBmBngBpBBqBBrBsBtBuBBvBw1BxBBy BzB|B{   B} B~  BB B B Y BBB1w11B1BBBBBBBBBBBBBB B1wBBBHBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBg  gBBBBBBBBBBBBBBBOBKBKBGBBBBGuBGmBEBCBCeBC@BC.BBBBBBBBBBBBBBBBBBBC BCBBBBBBBBBBBBBBCCuCCCCCCC C C C CCCCCCCCCCC&CCCCCCCCC C!C"C#C$C%C'C(C)C*C+C,C- C/C0C1C2C3C4C5C6C7C8C9C:C;C<C=C>C? CACSCBCCCDCECFCGCHCICJCKCLCMCNCOCPCQCRgCTCUCVCWCXCYCZC[C\C]C^C_C`CaCbCcCdCfCgCChCiCCjCkClCmCCnCoCpCqCyCrCsCtCuCvCwCxCzC{C|C}C~CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCUCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCgCECDkCCCCCCCCCCCCCCCCCCCC1CCCCCCCCCCCCCCCCCCCCCCCCCCC1CDPCCCCCD<CDCD CCDCCCCCCKDDDDDDDKDD D D D DDDDDDDDKDDDDKDD+DDD$DDD D!D"D#D%D&D'D(D)D*D,D4D-D.D/D0D1D2D3D5D6D7D8D9D:D;D=D>DGD?D@DADBDCDDDEDFDHDIDJDKDLDMDNDODQDRDSDTDUD`DVDWDXDYDZD[D\D]D^D_DaDbDcDdDeDfDgDhDiDjDlEDmDnDoDpDqDrDsE+DtDDuDDvDDwDDxDyDzD{D~D|D}DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD|DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEE EEEEEEE|EE E E E EEEEEEEEEEEEEEEEEE%E E!E"E#E$E&E'E(E)E*E,EkE-EUE.E;E/E0E1E6E2E3E4E5|E7E8E9E:|E<ENE=EHE>ECE?E@EAEBEDEEEFEGEIEJEKELEMEOEPEQERESETEVEWEdEXE^EYEZE[E\E]E_E`EaEbEcEeEfEgEhEiEjElE}EmEuEn|Eo|Ep|Eq||Er|EsEt||Ev||EwEx||EyEz||E{E|||E~EEEEEEEEEgEEEEEEEEEEEEEEEEEEEEUEEEEEEEEEEEEEEEEEEEEEEEEHEEEEEEEEEUEEEEEEEUEEEEEEEEEEEEEEEEEEEEEEEEEUEUEEEEEEEEUEEFEEEF?EEEEEEEEEEEEEEEEE|EFFFFF*FFFFFFFF F F F F FFFFFFFF|FF!FFFFFFFF F"F#F$F%F&F'F(F)uF+F5F,F-F.F/F0F1F2F3F4F6F7F8F9F:F;F<F=F>F@FAFBFCFDFEFpFFFfFGFHFTFIFJFKFLFPFMFNFOFQFRFSFUF\FVFWFXFYFZF[F]F^F_F`FcFaFbFdFeFgFhFiFjFkFlFmFnFoFqF{FrFsFtFuFvFwFxFyFzF|F}F~FFFFFFFFFFFFFFGZFFFFFFFFFFFFFFFFFFFFFuFFFFFFFFFuFFFFFFFFFFFuFFFFFFFFFuFFFFFGFFFFFFFFFFFFFFuFFFFFFFuFFFFFuFFFFFFFuFFFFFFFFFFuFFFFFuFFFFFFuFGFFFFGGGGuGGGGGGG G G G G uGGuGGGGuGGGGGGuGG0GG'GG G!G"G#G$G%G&uG(G)G*G+G,G-G.G/uG1GIG2G:G3G4G5G6G7G8G9uG;GBG<G=G>G?G@GAuGCGDGEGFGGGHuGJGRGKGLGMGNGOGPGQuGSGTGUGVGWGXGYwTG[G\G]G^G_G`GaGbGcGdGeGfGgGhGiGjGkGlGnGoGpGqGrGsGtGvGwGGxG}GyGzG{G|gG~GGGGGGGGGGGGGGGGGGGGGGGGGGGG GGGGGGGGGGGG GGGGGG GGG GGGGGGGGGG GGGGGGGGGGG GGGGGGG GGGGGG GGG GGGGGGGGGG GGGGGG GGGGGGG GGGGGKGIGHGGGGGGGGGGGHHHHHHH HH HH H.H H H HHHHHHHHHHHHH HHHHH&HH H!H"H#H$H% H'H(H)H*H+H,H- H/H0H1H2HH3HH4H~H5H`H6HEH7H>H8H9H:H;H<H= H?H@HAHBHCHDHFHSHGHMHHHIHJHKHL HNHOHPHQHR HTHZHUHVHWHXHY H[H\H]H^H_ HaHoHbHcHiHdHeHfHgHh HjHkHlHmHn HpHwHqHrHsHtHuHv HxHyHzH{H|H} HHHHHHHHHHHHH HHHHH HHHHHHH HHHHH HHHHHHHHH HHHHH HHHHHHH HHHH HHHHHHHHH HHHHHHH HHHHHHHHHH HHHHHHHHHHHHH HHHHHHHHH HHHHHHH HHHHHHHHHH HI(HHHHHI IIIIIIIIII I II I IIIIIIIIIIIIIIIIII I!I"I#I$I%I&I'I)I*I+I,II-I}I.IPI/I8I0I1I2I3I4I5I6I7KI9IHI:IAI;I<I=I>I?I@IBICIDIEIFIGIIIJIKILIMINIOIQIiIRIaISIZITIUIVIWIXIYI[I\I]I^I_I`wTIbIcIdIeIfIgIhIjIkIvIlImInIrIoIpIqIsItIuIwIxIyIzI{I|uI~IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIKTIJ9IIJIIIIIIIIIIIIIIII IIIJJJJJ JJJJ J J.J J$J JJ JJJJJJJ JJJJJJJJJ JJ J!J"J# J%J&J'J(J)J*J+J,J- J/J0J1J2J3J4J5J6J7J8 J:J;JVJ<J=J>J?J@JKJAJBJCJDJEJFJGJHJIJJ JLJMJNJOJPJQJRJSJTJU JWJXJYJZK J[JJ\JJ]JuJ^JmJ_JfJ`JaJbJcJdJe JgJhJiJjJkJl JnJoJpJqJrJsJt JvJJwJxJyJ~JzJ{J|J} JJJJ JJJJJJJ JJJJJJJJJJJJ JJJJJ JJJJJJJJJ JJJJJ JJJJJJJ JJJJ JJJJJJJJJJ JJJJJ JJJ JJJJJJ JJJJ JKJJJJJJJJJJJ JJJJJJJJJJJJJJJJ JJJJJJ J JJJ JKJJJJJJ KKKKKK KKK K K K K KKK KKKKKKKKK KKKKK K!K"KJK#KAK$K9K%K,K&K'K(K)K*K+ K-K3K.K/K0K1K2 K4K5K6K7K8 K:K;K<K=K>K?K@KBKCKDKEKFKGKHKI KKKLKMKNKOKPKQKRKS KUKKVKWKgKXKYKZK[K\K]K^K_K`KaKbKcKdKeKf4KhKiKjKkKlKmKwKnKoKpKqKrKsKtKuKv4KxKyKzK{K|K}K~KK KKKKKKKKKKKKKKKKKKKKKKwKKKKKKKKwKKKKKKKKKKKKKKKKKgKKKKKKKKKKKKKKKKgKKKKKKKKgKKKK^K^KK^KK^K^KKK^K^K^^4^K^K^K^^K^KKK^KK^^KK^wT^^K^K^KK^wT^KKKKKKKKKKKK KK KLKLKKKKKKLLLLLLL;LL1LL L LL L L L LLLLLLLLLLLLLLLLLL!L)L"L#L$L%L&L'L(L*L+L,L-L.L/L0L2L3L4L5L6L7L8L9L:L<LL=LdL>LUL?LNL@LHLALBLCLDLFLELGLILJLKLLLMLOLPLQLRLSLTLVL]LWLXLYLZL[L\L^L_L`LaLbLcLeLfLzLgLtLhLiLmLjLkLlLnLqLoLpLrLsLuLvLwLxLyL{L|L}L~LLLLLLLLLLLLMLMLLLLLLLLLLLLLLLuLLLLuLLLLLLuLLLLLLLLuLLLLLwTLLLLLLLLLLuLLLLLLLLLLLLLLLLLLLLLLLuLLLLLuLLLLLLLLwTuLLLLLLLLLLLLuLLLLwTLLLLLLLuLLLLLuLM LMMMMMMuMMMuM M M M MMuMMMMhMMGMM'MMMMMMMMMM!MMM M"M#M%M$ M& M(M1M)M*M+M.M,M- M/M0 M2M3M4M5M6M7M8M9M:M;M<M=M>M?M@MAMBMCMDMEMF MHMaMIMSMJMKMOMLMMMN MPMQMR MTM\MUMVMYMWMXMZM[ M]M^M_M`MbMcMdMeMfMg MiMMjMMkMqMlMmMnMoMp MrM~MsMzMtMwMuMv MxMy M{M|M} MMMM MMMMMMM MMMMM MMMMMMMM MMMMMMMMMMMMMMMMMMMMMMM MMMM MMMMMMMMMM MMMMMMMMMMM MMMMM MMMMMM MMMMMMM MNMNAMNMMMMMMMMMMMMMMMMMKMMMMMMMMMMMNMN MNMMNNNNNNNNN N N N NNNNNNNNNNNNNNNN3NN,N N&N!N"N#N$N%N'N(N)N*N+N-N.N/N0N1N2N4N5N;N6N7N8N9N:N<N=N>N?N@NBNNCNbNDNQNENKNFNGNHNINJNLNMNNNONPNRN\NSNTNXNUNVNWNYNZN[ N]N^N_N`NaNcNNdNjNeNfNgNhNiNkNlNmNnNpNoNqNrNsNtNuNvNwNxNyNzN{N|N}N~NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNO#NNNNNNNNNNNNNNNNN N NNNNNNNNNNNNN NNNNNNNNN N NNN NNNNNN NNNN NONONNONNNNN N OOOO OO OOO O O  O OOOOO O OOOOOOOO OOOO O!O" O$OgO%O4O&O-O'O(O)O*O+O, O.O/O0O1O2O3 O5OPO6OEO7O@O8O<O9O:O; O=O>O? OAOBOCOD OFOKOGOHOIOJ OLOMONOO OQOROSOTOUOVOWOXOYOZO[O\O]O^O_O`OaObOcOdOeOf OhO{OiOjOpOkOlOmOnOo OqOvOrOsOtOu OwOxOyOz O|O}O~OOOO OPOOOOOOOOOOOOOOOOHOOOOOOOOOO OOOOOOOOOOOOOO OOOOOO OOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOgOOPOOOOOOOOOOKOOOOOOOKOOOOOOKOOOOOPOOOOOOPPPPPPPP P P P P PPPPPPPPPPPQPPPPPPFPP5PP-PP&P P!P"P#P$P% P'P(P)P*P+P, P.P/P0P1P2P3P4P6P>P7P8P9P:P;P<P= P?P@PAPBPCPDPE PGPHPIPJPKPLPMPNPO PQPfPRP\PSPTPUPVPWPXPYPZP[ P]P^P_P`PaPbPcPdPe PgPPhP|PiPtPjPkPlPmPnPqPoPp PrPs PuPvPwPxPyPzP{ P}PP~PPPPPPP PPPPP PPPPPPP PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP|PPPPPPPPPPPPPPPPP|PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQ PQPPPPPPPPQPPQQ|QQQQQQ Q Q Q QQQQ[QQQ)QQQQQQQQQQ QQQ Q!Q%Q"Q#Q$gQ&Q'Q( Q*Q+QCQ,Q-Q.Q/Q0Q1Q2Q3Q4Q5Q6Q7Q8Q9Q:Q;Q<Q=Q>Q?Q@QAQBQDQEQFQGQHQIQJQKQLQMQNQOQPQQQRQSQTQUQVQWQXQYQZUQ\QwQ]Q^Q_Q`QaQbQcQdQeQfQgQhQiQjQkQlQmQnQoQpQqQrQsQtQuQvQxQQyQQzQQ{Q|Q}Q~QQQQQQQQQQQQQQQQQQQQQQQQQQ$QQQQQQQQQQQQQQQQQQQQQQQQQQ1QQQQQQQQQQQQQQQQQQQQQQQ1QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ8QQ8QQQQQQQQQQQ8QQQQQQRX,RVRV~RVwRVtRU3RS(RRR RR RR RR R RRRRRRRxRRnRRjRRRRRR\R\RRRRCRR R!R"RDR#R2R$R+R%R(R&R'R)R*R,R-R/R.R0R1R3R=R4R:R5R8R6R7 R9R;R<|R>R?RBR@RA w1RC RERZRFRPRGRMRHRJRI RKRLRNROwRQRWRRRTRSgRURVRXRYR[RfR\RcR]R`R^R_ KRaRbu$RdReRgRhRiRkRl\Rm\\RoRtRpRq\RrRs\RuRvRw\RyRRzRR{R|R}{CR~\R\RRRR{CR\\RRR\R\\R\R\RRR{CRR\{C\R\R\R\\RRR\R\R\\\R\R\RR\R\\RR\\RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSS S S S S S1SSSSSSSSSSSSSSSS S!S"S#S$S%S&S'S)SS*SS+S]S,SPS-S9S.S/S0S1S2S3S4S5S6S7S8S:SES;S<S=S>S?S@SASBSCSDSFSGSHSISJSKSLSMSNSOSQSRSSSTSUSVSWSXSYSZS[S\S^SkS_S`SaSbScSdSeSfSgShSiSjSlSxSmSnSoSpSqSrSsStSuSvSwSySSzS{S|S}S~SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTdST$STSSSSSSSSSSSSSSSSSSSSTT TTTTTTTT T T T TTTTTTTTTTTTTTTTTTT T!T"T#T%TIT&T2T'T(T)T*T+T,T-T.T/T0T1T3T>T4T5T6T7T8T9T:T;T<T=uT?T@TATBTCTDTETFTGTHTJTVTKTLTMTNTOTPTQTRTSTTTUTWTXTYTZT[T\T]T^T_T`TbTaTcTeTTfTTgT|ThTiTjTsTkTlTmTnToTpTqTrTtTuTvTwTxTyTzT{T}T~TTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUU$U U UU U U UUUUUUUUUUUUUUUUUU U!U"U# U%U&U'U(U)U/U*U+U,U-U.U0U1U2U4UU5U6U7U8U9U:U;U<U=UU>UU?UxU@UaUAUWUBUUUCUDUEUFUGUHUIUJUKULUMUNUOUPUQURUSUTUVUXU[UYUZ8U\U_U]U^88U`CUbUkUcUgUdUeUf88UhUi8Uj8UlUrUmUoUnUpUqk8UsUuUt8UvUwUyUUzUU{U|U~U}U8UUUUUUUUUUUUUUU8UUUU8UUUUUUUUUUPU8UUU8UUUUUUUUUUUUUUUUUU8U8UUOUUUUUUUUUU3(8U8UUUUUUVsUUUUVUUUUUUUUUUUUUUUUUUUUUUUUUUUUU UUUUUU8UUUUUUUUUUUUUVVVVVVVVVV V V V V VVVVVgVV!VVVVVVVVVVVV HV"V^V#V$VHV%V/V&V'V(V)V*V+V,V-V.gV0V1V@V2V9V3V4V5V6V7V8wV:V;V<V=V>V? VAVBVCVDVEVFVGgVIVJVUVKVLVMVNVOVPVQVSVRwVTwVVVWVXVYVZV[V\V] V_V`VaVbVcVdVeVfVkVgVhViVjwVlVmVnVpVo VqVrgwVuVvVxV{VyVz8V|V}VVVVVVVVVVVVVVVWVVVVVVVVVVWVWVWnVWRVWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVggVVVgVVVVVgVgVVVVVVVVgVVVVVgVVVVVVVVVVVVVVVVVgV VVVVgVVVVVVVVVgVVW VVVVVVVVVVVVVWWWWWWWWWW gW W W WWWgWgWWIWWW.WWWWWWWW-WgWWW W!W"W#W$W%gW&W'W(W)W*W+W,gggW/W0W1W2W3WFW4gW5gW6W7W8W9W:W;W<W=W>W?W@WAWBWCWDWEggWGgWHgWJWKWLWMWNWOWPWQWSWTWUWVWWWXWYWZW[W\W]gW^gW_W`WaWbWcWdWeWfWgWhWiWjWkWlWmgWoWzWpWqWrWsWtWuWvWwWxWyW{W|W}W~WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWgWWWWWWWWWWWWWWWWggWWWWWWWWWWWWWgWWWWWWWWWWWWWWgWgWWWWWWWWWWWWWWXX'XXXXX88X8X8XX 8X 88X 8X 8X 8X8X8X8X8XX8X8X8X88XX8X8X88XX8X8X88XX 88X!8X"8X#8X$X%88X&8X(X+X)X*X-XX.X:X/X3X0X1X2X4X7X5X6X8X98X;XX<XaX=X>X?X@XAXBXCXDXEXFXGXQXHXIXJXKXLXMXOXNgXPgXRXSXTXUXVXWXXXYgXZX[X\X]X^X_X`gXbXcXdXeXfXgXhXiXjXXkXlXmXnXoXXpXqXrXsXtXuXvXwXxXyXzX{X|X}X~XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX2XXY)XYXXXXXXXX%XXXvYY%Y }YvYvYvYvYvvYY vY vY vY vY vvYvYYvvYYvYvYvYvYvYvYvYvYvYvYvYvYvYvY vY!vY"vY#vY$vvY&%Y'Y(Y*Y/Y+%Y,Y-Y.Y0[uOY1Y2Y3Y4Y5Y6Y7Y8Y9Y:Y;Y<[.Y=Y>Y?Y@YTYAYBYCYDYEYFYGYHYIYJYKYLYMYNYOYPYQYRYSYUYVYWYXYYY|YZY[Y\Y]Y^Y_Y`YnYaYbYhYcYdYeYfYg YiYjYkYlYm YoYpYqYvYrYsYtYuYwYxYyYzY{ Y}Y~YYYYYYYYYYYYYYY YYYYYYg YY YYY YYYYYYYYY uYYPPYYYYYYYY YY4YYYYu1YYgKYYYYYYYYYY YYYYYgYYYYYYwY YYYY YYYYYYYuKYYKYYYYYZYZ8YZYYYYYYYYY YYY YYu YYYYY YYYYY wYY YZYZYYYY YY KZZZZ  Z ZZ ZZ Z gZ 1Z ZZZ  Z  ZZ"ZZZZZZ  ZZZZg ZZ Z Z! Z#Z-Z$Z(Z%Z&Z'AZ)Z+Z*Z,4Z.Z4Z/Z2Z0Z1uu Z3gZ5Z6Z7uZ9ZkZ:ZRZ;ZFZ<ZAZ=Z?Z> Z@gZBZDZC ZEgZGZNZHZKZIZJ  ZLZMKZOZPZQ ZSZ`ZTZZZUZXZVZW ZYZ[Z]Z\ Z^Z_u  1ZaZeZbZcZd  ZfZhZg ZiZj gZlZZmZzZnZtZoZrZpZq ZsgZuZwKZvZxZygZ{ZZ|ZZ}Z~  ZZ u ZZ Z   ZZZZZZ ZZ gZZZZZZ  ZZZZZZZZZZZZKZgZZZZZZZZZuZZZ ZZ  ZZZZZg gZZZZZZZZZ ZZZZgZZZ gZZZZZZZZZ uZZZ ZZZZZZZ  KZ ZZZ ZZ Z[ ZZZZZZZZZZZZZZZ   ZZ ZZZ ZZZZZZZggZZZZu Z[[[[[[  g[[|[[ [[ [[ [[ [1g[[[[ [[[[gu[[ [[$[[ [[u[![#[" g  [%[)[&['[( [*[,[+g[-[/[^[0[1[Y[2[3[4[5[6[7[8[9[B[:[;[>[<[=[?[@[A  [C[L[D[H[E[F[G gK [I[K[J [M[R[N[O [P[Qg[S[V[T[U  [W[X  [Z[[[\[] [_[`[a[b[c[d[e[fw[g[h[i[j[kw[l[m[n[o[p[q[r[s[tw[v[wg[x[y[z[{[|[}[~a:[^f[\[\:[[[[[[[[[[[[[[%v[[#P[[[[  3[[O }%[[[[[[[[m|[ }[[[[[[[ }[ }[[[[[[[[[[[[[[[[[[[[[[[[[[[[O[[[[[[[[[[[[[[[[[|[ [[[ [ [[[[[ ![m[[[m[3[\ [[[[[[[[[3[3[[[[[[[[[ ![[[[[ ![\ [\\\\\ }\\\%\Q\  \ \#\ \\\\\\%\%\\\\\\\\\\\\!\ 3\"\$\/\%\*\&\(\'v\)Q\+\-\,\.\0\5\1\3\2\4\6\8\7%\9\;\\<\i\=\R\>\I\?\D\@\B\A\C\E\G\F\H\J\M\K\LR\N\P\OR\Qv\S\^\T\Y\U\W\V\X\Z\\\[\] !\_\d\`\b\aQ\c\e\g\f\h\j\\k\v\l\q\m\o\n%\p\r\t\s\u\w\|\x\z\y\{%\}\\~O\}\\\\\\\\\\\%\\\\\\\\\\\\\\\\\\\\\\%\%\\\v\ }\\\\\\%\\\\Q\\\\\\\Q\\\\%\\\\\\\%\\\ }\\\\\\\\\\\v\\\\\\\\\%\Q\\\ }\\\\\\\\%\%\\\%\\\\\\\\\\\Q\]\]V\]'\]\]\]\̿\̿̿]]]̿r̿]̿v~̿]] ]] ]̿%̿] ̿ҫ̿] ]] ̿̿]̿̿]]]]]]]̿̿]̿̿]]]̿A̿]̿%̿]]"]] ]̿̿]!̿%̿]#]%]$̿̿]&̿̿](]?])]4]*]/]+]-],̿A̿].̿̿]0]2]1̿%̿]3̿%̿]5]:]6]8]7̿̿]9̿v~̿];]=]<̿̿]>̿$̿]@]K]A]F]B]D]C̿̿]E̿̿]G]I]H̿#P̿]J̿r̿]L]Q]M]O]N̿v~̿]P̿%̿]R]T]S̿̿]U̿̿]W]]X]o]Y]d]Z]_][]]]\̿̿]^̿̿]`]b]a̿̿]c̿̿]e]j]f]h]g̿̿]i̿̿]k]m]l̿̿]n̿̿]p]{]q]v]r]t]s̿%̿]u̿̿]w]y]x̿%̿]z̿̿]|]]}]]~̿̿]̿r̿]̿%̿]]]]]]]]]̿%̿]̿%̿]]]̿̿]̿#P̿]]]]]̿̿]̿̿]]]̿v~̿]̿#P̿]]]]]]]̿%̿]̿̿]]]̿̿]̿̿]]]]]̿̿]̿̿]]]̿̿]̿̿]^ ]]]]]]]%]]]]]]]]]]]]]]]]]]3]]]v]]]]]]Q]]]]%]m]]]]]]]]]%]]]]]]]]]]]%]]] s]%]]]]]]]%]]]]]%]^^^^%^^^^^^ ^7^ ^"^ ^^ ^^^^^^^^%^^^^^^^Q^^ ^^!^#^.^$^)^%^'^&%^(^*^,^+%^-^/^2^0^1^3^5^4%^6O^8^O^9^D^:^?^;^=^<^>%^@^B^A^CO^E^J^F^H^G^I^K^M^L^N }^P^[^Q^V^R^T^S^U%^W^Y^X^ZQ^\^a^]^_^^^`^b^d^c^eO^g_^h_^i^^j^^k^^l^w^m^r^n^p^o%^q2^s^u^ty^v^x^{^y^z%^|^~^}^^^^^^^^^^^^O^^^^^^^^^^^^^ !^%^^^^^Q^Q^^^%^%^^^^^^^^^^^^^^^^^^^^^%^^^^^^^^^^^^y$^^^^^^^^^^%^^^^^^^^^^^^^^^^%^^^^^^Q^^^^^^_^^^^^^^%^v^^^%^%^^^^^Q^%^__ }_%____ ___%_ %_ _ _ %_%_____%_%______x__K__4__)__$_ _"_!_#_%_'_&_(%_*_/_+_-_, }_._0_2_1v_3m_5_@_6_;_7_9_8_:Q_<_>_= }_?_A_F_B_D_C_E_G_I_HQ_J_L_a_M_X_N_S_O_Q_P%_R s_T_V_U_WQ_Y_\_Z_[_]___^%_`Q_b_m_c_h_d_f_e%_g_i_k_j_l_n_s_o_q_p_r_t_v_u%_w_y__z__{__|__}__~%_%___v_ ______%___%_%_______%____ }_%_____%______________ __________%_%___Q_%___________%_______S____%_`{_`1_`_________________Q_____________O_____`_`_````P```` `` ` ` ` Q`Q`````a`%```%```&``!```%` `"`$`#`%%`'`,`(`*`)`+`-`/`.v`0m`2`a`3`J`4`?`5`:`6`8`7Q`9%`;`=`<`>`@`E`A`C`B `DQ`F`H`G`I`K`V`L`Q`M`O`N`P`R`T`S`U`W`\`X`Z`Y%`[`]`_`^``%`b`y`c`n`d`i`e`g`f`h`j`l`k%`m%`o`t`p`r`q`s`u`w`v`x`z%`|``}``~`````````Q````Q`````````` ````````````m````` `Q``````````````v```v```````v````v```````%``````````````%`Q`a ``````````Q````%``````O```%``a``````````aaaaaOaaa aa a a#a aaaaaaaaaaOaaaaaaa%aa!a a"a$a/a%a*a&a(a'a)a+a-a,Qa.a0a5a1a3a2va4a6a8a7 }a9a;d7a<ba=aa>aa?aea@aWaAaLaBaGaCaEaDaF%aHaJaIaK }aMaRaNaPaOvaQaSaUaTaVQaXacaYa^aZa\a[%a]va_aaa`%abad%afa}agarahamaiakajalanapaoQaqasaxatavauaw%aya{aza|a~aaaaaaaQaaa%a !aaaaaa%aaa%a%aaaaaaaaaaaaQaaa aaaaaava%aaaaQaaaaaaa%aaaaa%aaaaaaaaaaaaaaaaaaaaaaaaaa }aaa%a%aaaaaaa%a%aaa3avaaaaa%aaaaQaabKab ab aaaaaaaaaaaaabbbb%bbbbvbb bb bb bb bbbbbbbbbbbbbbOb%b!b8b"b-b#b(b$b&b%%b'%b)b+b*b,%b.b3b/b1b0b2%b4b6b5b7b9bDb:b?b;b=b<mb>%b@bBbA%bCbEbHbFbG%bIbJ%bLb{bMbdbNbYbObTbPbRbQ%bSObUbWbVbX%bZb_b[b]b\%b^b`bbbabcbebpbfbkbgbibh#Abjblbnbmbo bqbvbrbtbs%bubwbybxbzb|bb}bb~bbbb%bbbbbbbbbbb%bbbbbbbbbbbbvbbbbmbbbbb%bbbbOb%bcjbc bbbbbbbbbbb̿%̿b̿%̿bbb̿̿b̿̿bbbbb̿̿b̿%̿bbb̿w̿b̿̿bbbbbbb̿̿b̿r̿bbb̿r̿b̿̿bbbbb̿%̿b̿%̿bbb̿#P̿b̿̿bbbbbbbbb̿%̿b̿̿bbb̿"̿b̿"̿bbbbb̿'̿b̿@}̿bbb̿%̿b̿A̿bcbbbbb̿̿b̿"̿bbb̿̿b̿H̿ccccc̿̿c̿̿cc c̿̿c ̿%̿c c;c c$ccccccc̿"̿c̿%̿ccc̿܀̿c̿%̿ccccc̿%̿c̿̿c c"c!̿%̿c#̿%̿c%c0c&c+c'c)c(̿%̿c*̿#P̿c,c.c-̿#P̿c/̿%̿c1c6c2c4c3̿%̿c5̿̿c7c9c8̿A̿c:̿r̿c<cSc=cHc>cCc?cAc@̿̿cB̿O̿cDcFcE̿#P̿cG̿%̿cIcNcJcLcK̿%̿cM̿%̿cOcQcP̿%̿cR̿%̿cTc_cUcZcVcXcW̿r̿cY̿A̿c[c]c\̿̿c^̿ ̿c`cecacccb̿r̿cd̿r̿cfchcg̿̿ci̿6̿ckcclccmccncycoctcpcrcq̿%̿cs̿̿cucwcv̿x̿cx̿#P̿czcc{c}c|̿%̿c~̿x̿ccc̿̿c̿%̿ccccccc̿#P̿c̿%̿ccc̿%̿c̿#P̿ccccc̿c̿cAcAcAcAcAcAcAcAcAcAcAcAcAcAAcAEc̿#P̿ccc̿%̿c̿̿ccccccccc̿̿c̿r̿ccc̿̿c̿r̿ccccc̿x̿c̿̿ccc̿v~̿c̿̿ccccccc̿̿c̿"̿ccc̿%̿c̿%̿ccccc̿̿c̿̿ccc̿%̿c̿%̿cdccccccccc̿C̿c̿̿ccc̿C̿c̿r̿ccccc̿C̿c̿̿ccc̿̿c̿̿ccccccc̿r̿c̿̿ccc̿̿c̿%̿ddddd̿̿d̿̿d̿d̿̿d d d dd dd dd ̿O̿d̿ ̿ddd̿̿d̿A̿ddddd̿x̿d̿̿ddd̿%̿d̿%̿d!d,d"d'd#d%d$̿̿d&̿̿d(d*d)̿̿d+̿̿d-d2d.d0d/̿H̿d1̿̿d3d5d4̿O̿d6̿̿d8ed9ed:dd;djd<dSd=dHd>dCd?dAd@dBdDdFdE%dGdIdNdJdLdKdMdOdQdPdR }dTd_dUdZdVdXdW%dY%d[d]d\d^%d`dedadcdb dd !dfdhdg%divdkddldwdmdrdndpdodqdsdudt%dv%dxd}dyd{dzd|%d~dd }dddddddddQddddddddd%d%ddddddddddddddddddd%dddddd !ddddd%dddddddvd _ddd%d%ddddddddddddddddd%dQddddddddddddddddddd%d%ddd%dddddddd%dddddddddddddddeeqee1eeeeee eeeQe Oe e e veeeeeeme eeeOe%ee&ee!eee%e e"e$e#e%e'e,e(e*e)%e+%e-e/e.e0'e2eIe3e>e4e9e5e7e6e8e:e<e;|e=%e?eDe@eBeA%eCeEeGeF }eHQeJeUeKePeLeNeMeOeQeSeReTeVe[eWeYeXeZe\eoe]e^e_ve`veavebvecvedveevefvegvehveivejvekvvelemenvzvep%ereeseeteeuezevexew3eye{e}e| e~eeeeeeeeeveveeeeeee%e%eee%e%eeeeeeeeeeeeeeeeeee }emeee eeeeeeeeee%e%eeeeeee%e%eeeOeeeeee%eeee%eSefefAefeeeeeeeeee eeeeOeeeeeveveeeveveeeeeeee3eee%eeeeeeeQefefff%f%f%f%f%f%f %f %f %f %f %f%f%f%f%$%ff*ffffffffvfffvff f%f!f#f"%f$f&f(f'%f)f+f6f,f1f-f/f.%f0%f2f4f3%f5Of7f<f8f:f9f;f=f?f>f@ fBfofCfZfDfOfEfJfFfHfG%fIfKfMfLfN fPfUfQfSfR }fTfVfXfW%fY%f[fdf\f_f]f^f`fbfaOfcOfefjfffhfgOfifkfmflfnfpffqffrfwfsfuftvfvvfxffyfzf{%f|%f}%f~%f%ffffff%f% Nff%%uffff:y$$f%yQffffffɱ%rHff%:~%f%f%ffffff%ffffyfQfffffff%ffffffffff%f%fff%ffgGfg ffffffffff%ffff sffffff%fff%f#AfffffffQfOfffffgfgff fff ff f f f f f f f f f f f   f f f f f f ffgf  gg  g%gggg g g"g gg ggggQg%ggg%ggggggggg gg!g#g<g$g)g%g'g&g(g*g:g+g,g-g.g/g0g1g7g2g5g3g4gg6gg8g9gg;g=gBg>g@g?%gA%gCgEgDQgFQgHggIgvgJgUgKgPgLgNgM%gOQgQgSgR%gT%gVg[gWgYgX%gZ%g\gtg]g^g_%g`%ga%gb%gc%gd%ge%gf%gg%ghgngi%gj%gk%gl%%gmZ%go%%gpgq%gr%gs%~%guvgwggxg}gyg{gzg|g~ggQgQgggggg%ggggvggggggggg !ggggg%ggggggggg%g3ggggggggggggggggg%ggggggggggygqgmgjgiAghgh&ggggggggggg sg%gggvggggggg%ggggQgggggggg%gggggggggg%ggggQghghggggg ghhhh }hh hhhh h h h h hhhhhhhh(hhhh hh!hhhh %h"h$h#h%h'hVh(h?h)h4h*h/h+h-h,h.h0h2h1Rh3h5h:h6h8h7h9vh;h=h< }h> h@hKhAhFhBhDhCQhEhGhIhH%hJ }hLhQhMhOhNhPhRhThSmhUmhWhnhXhchYh^hZh\h[vh]h_hah`vhb%hdhihehghf }hhhjhlhkQhmQhohzhphuhqhshrhthvhxhwhyOh{hh|h~h}h%hhhh%hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhh%hhh%h%hhhhhhhhh%hhhh }%hhhhhhhhhmhhhhhhhhvhhhhvhhhhhhvhhhh }h }hihhhhhhhhh }hmhhhhhhhhhQh%hhhQhQhihihihiiiii%ii i i i %i iiii }ii*iiiiiiiiiiii i i%i!i#i" }i$i&i(i'%i)i+i6i,i1i-i/i.i0%i2i4i3i5i7i<i8i:i9i;mi=i?i>%i@iBiiCiiDisiEi\iFiQiGiLiHiJiIOiKviMiOiN%iPiRiWiSiUiT }iVOiXiZiYi[ _i]ihi^ici_iai`%ibidifieigiiinijilikimvioiqipmirQitiiuiivi{iwiyix }izi|i~i} }iiiiii%i%iiiiiiiiiiivi }iiiviiiiii%iQiiii }iiiiiiiiiiiiiOi siiiiiiiiiQiiiiiiiiQiOiiiQi%iiiiiiiii }i%iiiiiiiii }iviiii%iiiiiiiii }iiiiiiiiiiiiiiiiii>i|iiivi%jj[jj.jjjjjj jjjj j j j %j %jjjjjj jjjmj%jj#jj jjjjj!j"j$j)j%j'j&Qj(j*j,j+ sj-j/jFj0j;j1j6j2j4j3vj5j7j9j8j:%j<jAj=j?j> }j@OjBjDjCvjEQjGjPjHjKjIjJjLjNjM3jO%jQjVjRjTjSjU%jWjYjXQjZvj\jj]jtj^jij_jdj`jbjajc%jejgjf%jhjjjojkjmjljnQjpjrjqjs%jujjvj{jwjyjxjzj|j~j}%j2jjjjjOjjjj sjmjjjjjjjjjmjjjjjQjjjjjjvjjjjjjjjjjjjjjjjjjj#Ajjjjvjl.jkrjkjjjjjjjjjjjj }jjjOjQjjjjjQjOjjjjQjjjjjjjvj%jjj%jjjjjjj%jjQjkjjjjjjjjvjjjQjjjjjjjjjjvjkk kkkkkkkk vk kk kk vkvkkk }kvkkEkk.kk#kkkkkk%kk!k Qk"k$k)k%k'k&k(Ok*k,k+Qk-Qk/k:k0k5k1k3k2%k4Qk6k8k7k9k;k@k<k>k=k?kAkCkBvkDQkFk[kGkPkHkMkIkKkJOkLQkNkO%kQkVkRkTkS%kUkWkYkXQkZk\kgk]kbk^k`k_ɓkaQkckekd"okfkhkmkikkkjvklknkpkokq kskktkkukkvkkwk|kxkzkyvk{k}kk~k%kkkkk%kkkk%kkkkkkkkkQkkkk%kkkkkkvkkkkkkkkkkkkkQkkkkkOkkkkkk3kkkkkkkkkkkQkmkkk%k%kkkkkkkkkQkrkkkkkkkkkkkkkkkk kkkkkk%kkkkkkkkkkkkkkkkkkkQkkkQk%llll llllllll l l %l llll3l%lllvlvll#llllll%ll!l l"%l$l)l%l'l&l(Ql*l,l+%l- }l/ml0ll1l^l2lGl3l<l4l9l5l7l6l8l:l;(l=lBl>l@l?lAplClElDlF~lHlSlIlNlJlLlK~lM/lOlQlP/lRplTlYlUlWlV~lX%lZl\l[:l]~l_lvl`lklalflbldlc/lelglilh(lj~lllqlmlolnlplrltlslulwllxl}lyl{lz~l|pl~lll:llllllll~lllllllllll%l%lllll lllll l llll ll  llllllllvlllll2llllllllOllllllllll%llllllllllllll%llllPllllll%lll%llllllllllQllllllllllllllllllmlmmmmmmm%m mhm m9m m"m mm mmmmm }mmm%m%mmmmmmmm mm!vm#m.m$m)m%m'm&m(Qm*m,m+Qm-m/m4m0m2m1m3 }m5m7m6m8m:mQm;mFm<mAm=m?m>m@mBmDmCQmEmGmLmHmJmIQmK%mMmOmN%mP%mRm]mSmXmTmVmU QmW%mYm[mZOm\m^mcm_mam`%mbmdmfmemgmimmjmmkmvmlmqmmmomnmpmrmtmsmuQmwm|mxmzmym{m}mm~%mmmmmmmmm%mmmmmvmmmmmmmmmQmQmmmmmmmmmm3mmmmmvmmmmmmm%m%mmmmmmmmmm|mmmmmpmoKmnmn!mmmmmmmmmmmmmmmmm }mmmmm%m%mmmmmmmmmmmm mmm%m%mmmmmm smmm%m%mn mmmmmmm%mmmm }m }nnnnn }n }nnn }n  }n nn nn nn%n%nnn%nnnnnnnnnnn %n"nan#nJn$n/n%n*n&n(n'%n) n+n-n,%n.n0n5n1n3n2On4 n6n8n7%n9n:n;mn<mn=mn>mn?mmn@mnAmnBnCmnDmnEmnFmnGmnHmmnImnKnVnLnQnMnOnNOnPQnRnTnSnUvnWn\nXnZnYn[%n]n_n^n`nbnyncnnndninengnfOnhQnjnlnk%nmnontnpnrnqOnsnunwnvnxvnznn{nn|n~n}nnnnQnnnnnnn#Annnn snnnnnnnnnnnnnnQnnvnnnnn%n%nnnn }nnnnnnnvnvnnnnnnnnnn }nnvnnnnnnnnnnnnnn%nnnnn%nmnnn3nnnnnnnn }nQnnnnmnnnnnnnnn%n%nononnnnnnnnnnn%nnonnnvnoooovoooo oo o vo vo oovovooooovooooooo4oo)oo$o o"o!mo#Qo%o'o&%o(Oo*o/o+o-o,%o.%o0o2o1o3o5o@o6o;o7o9o8 so: }o<o>o= o?OoAoFoBoDoC%oE%oGoIoH%oJ%oLp oMooNo}oOofoPo[oQoVoRoToS%oU%oWoYoXoZo\oao]o_o^%o`obodocoeogorohomoiokoj%olonopoooqQosoxotovouQow%oyo{ozOo|o~ooooooooo%oooooooooQo%ooo }oooooooo &oOoooo%oooooo%ooo%ovooooooooooo Qo Qooo'o Qooooo Qo'ooo Qo7ooooooo7oooooooooooooooooooooooovooooooooooo }oooo%opooooo%o%ooo%oppppp8ppp pp p pkp p<pp%pppppppp ppp%ppp pppp%p!p#p"p$ }p&p1p'p,p(p*p)p+%p-p/p.Op0p2p7p3p5p4p6p8p:p9p;p=pTp>pIp?pDp@pBpA%pCpEpGpFmpH2pJpOpKpMpL%pN%pPpRpQpSpUp`pVp[pWpYpXpZp\p^p]p_%papfpbpdpcpepgpiph%pjplppmppnpypoptppprpq%ps%pupwpvpxpzpp{p}p| p~ppp%p%ppppppp%p%ppp%p%ppppp%p%ppp%p%ppppppppp%p%ppp%p%ppppp%p%pppp ppppppppppppmppppppvpppp%ppqpq*ppppppppppppOppp%p%pppppvpppp%ppppppppQpppppppppppppOpqpqpqpqqqqqq%qvq qq q q q Qqqq }qQqqqqqqqqqqqqq q%q!q#q"q$q&q(q'q)q+qZq,qCq-q8q.q3q/q1q0q2%q4q6q5 q7%q9q>q:q<q;q=q?qAq@ }qB%qDqOqEqJqFqHqGqI%qKqMqLqNqPqUqQqSqRqTqVqXqWOqYq[qrq\qgq]qbq^q`q_qaqcqeqd%qfqhqmqiqkqjqlqnqpqo%qqqsq~qtqyquqwqv }qx%qzq|q{q}%qqqqq !q !qqq !qqqqqqqqqqqqqq%qqqQq8qqqqq%q%qqqqmqqqqqqqqqqq%qQqqqqQqq%qqqqqqqqqqqqq2q }qqqqq%qOqqqq%qqqqqqqqqqqq%qqqq%qqvqtqsAqrqr/qrqqqqqqq=#=q={=qqq=#=q=yQ=qqqqq=ɓ=q=v=qqqqq="=q=m=qrr=w=r==rrrrrr rr r= =r =v=r rr =ɓ=r=)=rrrrr=i=r=yQ=rrr=x=r=ɓ=rr'rr"rr r==r!=)=r#r%r$=cw=r&=ɓ=r(r*r)==r+r-r,==r.=#=r0rYr1rEr2r:r3r8r4r6r5=)=r7=#=r9=ɓ=r;r@r<r>r==v=r?==rArCrB=yQ=rD=yQ=rFrNrGrLrHrJrI=#=rK==rM=yQ=rOrTrPrRrQ=yQ=rS= =rUrWrV==rX=v=rZrqr[rfr\rar]r_r^=#=r`=ɓ=rbrdrc=#=re=#=rgrlrhrjri=#=rk=v=rmrorn=ɓ=rp=#=rrr}rsrxrtrvru==rw=#=ryr{rz==r|=v=r~rrrr="=r==rrr="=r=#=rrrrrrrrrrrrr={=r=r=rrr="=rrr==rrr=#=r=v=rrrrrrr= =r==rrr=v=r=ɓ=rrrrr=#=r=)=rrr==r=r=rrrrrrrrr=yQ=r==rrr==r==rrrrr==r=m=rrr==r=w=rrrrrrr=yQ=r=yQ=rrr= =r=#=rrrrr=yQ=r=#=rrr= =r=#=rsrrrrrrrrr=yQ=r={=rrr={=r="=rrrrr=#=r==r==rsrsrsr=r=s=yQ=sss==s=#=ss s s s ="=s =f=sss=m=s=ɓ=ss*sssssss=cw=s= =sss="=s=#=s s%s!s#s"=w=s$=r=s&s(s'=#=s)=yQ=s+s6s,s1s-s/s.==s0="=s2s4s3= =s5=m=s7s<s8s:s9=v=s;==s=s?s>=yQ=s@={=sBssCssDsXsEsSsFsQsGsLsHsJsIsKsMsOsNsPsRsTsVsUsWsYsnsZses[s`s\s^s] ss_msascsbsdQsfsisgshOsjslsksm ssoszspsusqsssrstsvsxswQsyvs{ss|s~s}s%sssOsmsssssssssss }s }sss }sOssssQsssOs%sssssss%sssss|sssssQssss%sssssssssss3ssssssssssssssssss%ss%sssss%s%sssmsst<st sssssssssvssssOssssssmsssssstsssss%sststQttttttt t t t  }tt%ttttttt#AttttOttt ttttOt!t#t"t$Qt&t1t't,t(t*t)t+%t-t/t.vt0vt2t7t3t5t4t6t8t:t9t;t=tjt>tUt?tJt@tEtAtCtBtDQtFtHtGtItKtPtLtNtMQtOtQtStRQtT }tVt_tWt\tXtZtYt[t]t^t`tetatctb%tdtfthtgtiQtkttltwtmtrtntptovtqtstutt3tvtxt}tyt{tzt|%t~ttQttt%t%t%t%t%%t%t%ttttttt%tttt }tttttttQttt }ttutu ttttttt%ttttttOtttt%tttttvt }tttttttt%tttttttttttttttQtQtttttQtttt%tttttttttttt tttttttttt%t }tutttttttt%ttututu }uuuQuQu%u uou u:u u#u uuuuuuuuuu }uvuuuuuu%uu!u u" }u$u/u%u*u&u(u'u)u+u-u,u.u0u5u1u3u2u4u6u8u7u9Qu;ucu<uGu=uBu>u@u?%uAQuCuEuDuF~uHuMuIuKuJ%uLuNuauOuPuQuRuSuTuUuVuWuXuYuZu[u\u]u^u_u`\ubudufueugujuhuiukumulunOupuuquuru}usuxutuvuuvuwuyu{uzu|%u~uuuuuuuuuuuuuu%u%uuuuQuuuuuuuuu%uQuuuQuuuuuuuuuuuvuuuuuuuuuuuQuQuuuuuuuuuuQuv%uuuuu%uuuuuuuuuuuuOuuuuu }uuuuuOuuuuuQuuuuuuumumuuu }uuuuuuQuuuuuQuvuvuvuuuvvvv%vmvv vv v v v vvvvvvvvvv#Avvvvvv vvvvv!v#v"v$Qv&vv'vSv(v<v)v4v*v/v+v-v,%v.v0v2v1v3 !v5v:v6v8v7v9v;Ov=vHv>vCv?vAv@vBvDvFvEvGvIvNvJvLvKvvMvOvQvPvR%vTvkvUv`vVv[vWvYvXOvZmv\v^v]%v_(vavfvbvdvc }veQvgvivh%vj%vlvwvmvrvnvpvomvqvsvuvt%vvvxv}vyv{vzQv|v~vvQvvvvvvvvvvvvvvQvvvOvvvvvv }vQvvvvvvvvvvvvvvvvvQvvvvvvvvvvvQvvvvvvvvvQvQvvv%vQvvvvvv%vvvvQvvvvvvvvvvvvvvvvvQvQvvvvOvyvxTvwvw=vwvvvvvvvvvv%v vvvvv vOvvvvv%vwvwvv wwwwww ww wQw  w ww  w ww&wwwwwwwwwww%wOww#ww!w w"%w$w%w'w2w(w-w)w+w*w, }w.w0w/w1Qw3w8w4w6w5w7w9w;w:Qw<w>wmw?wVw@wKwAwFwBwDwCQwEwGwIwHQwJwLwQwMwOwNQwPQwRwTwSQwUQwWwbwXw]wYw[wZw\w^w`w_rwawcwhwdwfwe%wgmwiwkwj%wl%wnwwowwwpwuwqwswrwtvwvwxw}wyw{wzw|%w~wwQw!$wwwwwwwwwww%w%wwwww%wQwwwQwQwwwwwwwwww wwQwwww%wwwwwQw&KwwwwQwwwwwwwQw%www%w%w }wwwwwwwwww%wwwvw%wwwww%wwwwmwwwwwwwwwwww%w%wwwwww }www%wwx%wxwx wwwww%wvwww%wwwQwQwQxQQxxQxQQxxQxQxQxQx QQx Qx Qx xxxx%x%xxx.x%xx#xxxxxQxxx!x Ox"x$x&x=x'x2x(x-x)x+x*%x,x.x0x/x1%x3x8x4x6x5Qx7x9x;x:x<Qx>xIx?xDx@xBxA%xCxExGxFxH%xJxOxKxMxLxNxPxRxQxSvxUxWxVxXxxYxxZxqx[xfx\xax]x_x^x`xbxdxcxexgxlxhxjxixkQxmxoxnxp|xrx}xsxxxtxvxu }xwxyx{xzx|Qx~xxxx%x%xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'Mxxxxxxxxx%xxxxQx%xxxxx }xQxxxxxxxxxxxxxxxx%xxxxxxxxxxxxxQxxxxxxxx }xQxxx%xxxxxxx }xxxQxxyxxxxxxxxxxx%xxxxxxvx !xyy%yyyyy yyyQy Oy y y yyyyyyQy%yyyyyyy&y|y zy!yy"yy#yRy$y;y%y0y&y+y'y)y(y*y,y.y-Oy/y1y6y2y4y3y5y7y9y8%y:y<yGy=yBy>y@y?yAOyCyEyDQyFQyHyMyIyKyJyLyNyPyOyQySyzyTyoyUyjyVyXyWyYyZy[y\y]y^y_y`yaybycydyeyfygyhyiykymyl%ynypyuyqysyr%yt%yvyxywyyy{yy|yy}yy~Qy%yyyvyyyyyyy }yyy }y%yyyyyyyyyyyyyyy%yyyyyy }yyyyy yyyyy%yyyyvyyyyyyyyyyyyyyyyy%yyyyyyyyyyyyyyyyyy%yyyyy }yyyyyOyyyyvyQyzEyzyyyyyyyy%yyyyyyyyyy yyyy }zz zzzzzzUzz zz  }z zz zzzQzzz%zzz.zz#zzzzz8z zz!z %z"%z$z)z%z'z&z(z*z,z+z-z/z:z0z5z1z3z2Oz4z6z8z7z9z;z@z<z>z=z?mzAzCzB%zDOzFzszGz^zHzSzIzNzJzLzK }zM%zOzQzPOzRzTzYzUzWzVzXzZz\z[3z]z_zhz`zezazczbzdzfzgziznzjzlzk%zmzozqzp%zrztzzuzzvz{zwzyzxvzzz|z~z}zzzzzzzQzzzzzzzzzzzzQzzzzzzzzzzzzz }zQz{]zzzzzzzzzzzzzOz }zzz }zzzzzz2zQzOzzzzzzzvzzzzQz !zzzzvzzzvz%zzzzzzzzz }zzzz }z !zzzzzzzzz%zQzzzzzzz }z%zzzrzzzzzzz%zzzz%z{.{{{{ {{{{{{{{ { { { {{{{%{{{{{O{{#{{{{{ }{O{{!{ {"Q{${){%{'{&{({*{,{+Q{-%{/{F{0{;{1{6{2{4{3Q{5{7{9{8Q{:Q{<{A{={?{>%{@%{B{D{C{E{G{R{H{M{I{K{JQ{L{N{P{Ov{Q%{S{X{T{V{U2{W%{Y{[{Z{\Q{^{{_{{`{w{a{l{b{g{c{e{d{fQ{h{j{i%{kQ{m{r{n{p{o%{q{s{u{t }{vQ{x{{y{~{z{|{{{}{{{ }{%{{{{{ }{%{{{%{{{{{{{{{{{{{{{{{{{{v{{{{{{{{{{{{%{{{{{{{{{{{{{{%{m{{{{{{{{{{{{Q{{{%{ }{{{{{{%{{{ }{O{{{{{{{{m{{{{Q{{{{{{{{{{{|{{{{{{{ }{{{{{m{|{{{{| }|||| |||O| | | | | |||||||||||}||||r||C||5||*| |%|!|#|"RR|$RCR|&|(|'R FR|)RvR|+|0|,|.|-RxnR|/R$R|1|3|2RyR|4RR|6|A|7|<|8|:|9RyR|;R'R|=|?|>RvR|@R$R|BR'R|D|[|E|P|F|K|G|I|HR$R|JRvR|L|N|MRQR|ORCR|Q|V|R|T|SRR|URvR|W|Y|XRR|ZRR|\|g|]|b|^|`|_RvR|aRR|c|e|dR'R|fR!R|h|m|i|k|jR!R|lRR|n|p|oRyR|qR'R|s||t||u||v|{|w|y|xR"R|zRvR|||~|}RR|RR|||||R'R|R$R|||RR|RR|||||||R$R|R!R|||R!R|R$R|||||R$R|RR|||RvR|R$R|||||||||RR|R$R|||RCR|RR|||||RCR|R$R|||RR|R'R|||||||RR|RR|R$R|||||RR|R$R|||R$R|RR|}|||||RR|||||||R$R|RQR|||R>R|RyR|||||RvR|R!R|||RvR|R$R|}|||||||RR|RR|||RvR|RvR|||||RvR|RvR|}|RvR}RR}}}} }}}RyR}RR} } } RQR} R$R}}}}}RR}RR}}}RCR}RR}}I}}2}}'}}"}} }R RR}!R RR}#}%}$RyR}&RR}(}-})}+}*R$R},R$R}.}0}/RR}1R FR}3}>}4}9}5}7}6R RR}8RvR}:}<};R"R}=RR}?}D}@}B}AR$R}CRR}E}G}FRR}HRvR}J}q}K}V}L}Q}M}O}NR$R}PRR}R}T}SRCR}URR}W}\}X}Z}YRCR}[R$R}]}_}^R'R}`R}aR}b!}c!}d!}e!}f!}g!}h!!}i!}j}k!}l!}m!}n!!}o}p!!}r}}}s}x}t}v}uRyR}wR"R}y}{}zROR}|R R}~}}}}RYR}R!R}}}R R}RyR}~m}~}}}}}}}}}}}RyR}RyR}}}R}R}"}"}"}"}"}"}"}"}"}"}"}"}"}"}""}RyR}}}}}RyR}RR}}}RhR}RR}}}}}}}R$R}RCR}}}R}R}v}v}v}v}vv}v}}v}vv}}v}v}vv}v}v}RR}}}}}RR}RR}}}RR}RCR}}}}}}}}}RR}RR}}}RvR}RyR}}}}}RvR}R FR}}}RvR}R$R}~}~ }~}R}R}v}v}v}v}vv}}v}v~v~vv~~v~vv~~vv~RR~ ~ ~ RCR~ RvR~~~~~RR~R$R~~~RCR~RR~~I~~2~~'~~"~~ ~RvR~!RR~#~%~$R$R~&RvR~(~-~)~+~*RR~,RyR~.~0~/R"R~1RvR~3~>~4~9~5~7~6RCR~8RR~:~<~;RR~=RR~?~D~@~B~ARvR~CRR~E~G~FRR~HRCR~J~V~K~M~LRR~N~S~O~Q~PRvR~RRR~TR~UR"R~W~b~X~]~Y~[~ZRR~\RyR~^~`~_RvR~aRR~c~h~d~f~eR$R~gR$R~i~k~jRR~lR'R~n~~o~~p~~q~|~r~w~s~u~tRR~vRCR~x~z~yR$R~{RR~}~~~~~R$R~RCR~~~R$R~RvR~~~~~~~R'R~RR~~~R%R~R R~~~~~R'R~RR~~~RR~RR~~~~~~~~~RR~R'R~~~RmiR~R$R~~~~~RR~R$R~~~RR~R$R~~~~~~~RCR~RR~R~RR~~~~~RvR~R FR~~~R R~R$R~~~~~~~~~~~RvR~RR~~~RxnR~R$R~~~~~RR~RvR~~~RvR~RR~~~~~~~R$R~RvR~~~RR~R$R~~~~~RR~R RR~R~RR~~~~R~~R·RRCRRvR R$R RR   R$RRRRvRR'RR'RRR!RyR RCR"$#RvR%R$R'.()*+Z,C-8.3/1024657O9>:<;=?A@%BDOEJFHG }IKMLN PUQSRTQVXW%Y[r\g]b^`_aOcedfhmikj%lnpoOqOs~tyuwvxz|{O}%%Q%%OOmQQQQQQQQQQQQQsQsQQsQ%m }Q }I%%%Q%Y, v    QO8O! }%% "'#%$&(*)Q+-D.9/40213O5768:?;=<yQ>@BAC%ENFIGH%JLKQMOTPRQSUWV%X%Z[o\d]b^`_3avcejfhgikmlOn%p{qvrtsu%wyxvz|~}%O }%QoQ%%Q%mO%% }O% vmm   O  m%@)OQ3$ "!#%'&Q(m*5+0,.-m/ }132 }4 6;798:Q<>=Q?AXBMCHDFEGIKJL%NSOQPQR%TVUW%YdZ_[]\m^%`ba$c }ejfhgi }kmlQnpqrs~tyuwvmx }z|{Q}O%Qv%OOQ }vQ !QQm%%%Q%%%% % QQ  % 3 QQQ%#v! "$)%'&(%*,+Q-Q/012[3H4?5:6879;=<v>v@EACBvDvFGQIRJOKMLvNPQSVTUWYXvZm\s]h^c_a`bdfe%gQinjlk%mQoqp%rtuzvxw y{}|%~%QQQQQ   !v ! _QQQ%%Q%%%%OQ %P    } %m  v!#"$&U'>(3).*,+v-/10%2v495768:<;=?J@EACBDQFHG%I%KPLNMOQSRTVmWbX]Y[Z!$\%^`_a%chdfeQgikjlnyotprq%suwvvxz{}|~Qy=% } }% % }vvQQ%%vQ%%%% }   O  %O&m%!% "$#%%Q'2(-)+*,.0/1384657%9;:< }>?l@UALBGCEDvFHJIK%MPNO%QSRTVaW\XZY%[#A]_^`bgced%f }hji !k%mnyotprq%s%uwvxz{}|Q~%v%QQ%vvvQ%Q %%vO }QQQQQQQQQ O     Q mO!"Q#$%&'()*.+,-/01345A6=7:89;<>?@BdCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcefghijklmnopqrstuvwxyz{|}~%O s%v QO%% s%|%S<[ %%OvQ }3 s%v2mQyv% #A%%%O !% } %Q  Q%  %%Q%-O%QO  }| sO & #!"%Q$%O%'*()Or+,.=/6031245!$7:89O;<O>T?R@A }SBC%D%E%F%G%H%I%J%K%L%M%N%O%P%Q%y%SUXVWYZ\]z^l_f`cabOdegiOhrjk }mtnqop%vrs _%uxvwO%y%{|}~%2% QQQOv%vQ_ sv &v %#vvvvvvvvvvvvvvvvQ%O%vQyO%O%OqQ& %%3% %vvQv v    Q !3S "v !%#$%%%'(7)0*-+,O%./1423mv56%v89:; }=>?@ABCDEFGHINJLKMOQP _RTUVWXYZ[\]^_`~aybvcudefghijklmnopqrsta$WwxWz|{*a**}*$*RQ}O% } }O% }m% }v2%v     fAOvO<OOOOO !OO"#O$O%O&O'O(O)O*O+O,O-O.O/O0O1O2O3OO45O6O7O8O9OO:O;Ow0O=>O?O@OOw!BzCwDbEFYGHQINJLK.M#POPzVRUST'>l4VWwEɓyXOZ[\]`^_cZzJa'Mcodiefgh Qjklmn'0pqrstuv'\z xy%{~|} }%mmmmmmmmmmmmmmmmmmm·wAg=|uKu      ^  K|*uwTu4          4 uuP  uK   u  K!0")#&$%   '(KwT *-+,  ./n  172534K  6 8: 9 ;<  >x?[@NAGBECD n  F HKIJu uLM OUPSQR  T  VYWXuZu\j]d^a_`  bc uegfAhikqlomn   wTp rustvwK yz{|}~u|AKul4K l n      -% !"$u#uu&'()*+, .L/012345I6 78 9 :;<=>?@ABCDEFGH JK MoNVOPQRSTU WXYZ[\]n^_`abcdefghijklm  p{qrstuvywx  z |}~                ^      KE3 !"#$%&'()*+,-./012 45>6789:;<=?@ABCDuFYGPHIJKLMNOQRSTUVWX Z[\]^_`adbc   ef ghijklmnopqrstuv   xyz{|}~uPPPu     ^C       ,*)  !"#$%&'(   + -./01=23;4 5 6789:< >?A@  B DEFGHIJKLMNOPQRSTUVWXYZ[\] _`azbjcdefghi klmnopqr stuvwxy {|}~nnu u;          !"#$%&'()*+ ,-./0123456789: <Z=P>?G@ABCDEFHIJKLMNOQRSTUVWXY[\]^_`abcdeghqimjklOnoprysvtuwxz{QQ|}Q~}Q Q }%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% }|%%%%O%%O~tB  y  Kb GJ z .z Fz $'M474! #P4"#wEy$%'>&'>''>('>)'>*'>+'>,'>'>-.'>/'>'>01'>2'>'>3'>56ɓz8?9<:;J'M=>4#P.@AFwEC\DQELFIGH44#PJK#P'>.MNwEOPFy'MJRYSVTUzɓWX$wEZ[]h^e_b`a4cd4#P#P'>fg'>iojmkl..#PnwE#PwEprqywEsgguvwx}y{zll'0|'0V~VTyQ  Qz m;(K7 QQ y Q%Pbg-     &#! "$%'()*+,::./0123E456789:;<=>?@ABCDFGWHIJKLMNOPQRSTUVXYZ[\]^_`abcdefhijklmnopqrstuvwxyz{|}~;     ) !"#$%&'(*+,-./0123456789::<=>?@ABRCDEFGHIJKLMNOPQSTUVWXYZ[\]^_`acdefghijklmnopqr~stuvwxyz{|}     B) !"#$%&'(*6+,-./012345789:;<=>?@ACDEFGHIJKLMNOQRSTUVWXYZ[\]^n_`abcdefghijklm(opqrstuvwxyz{|}(% }u |*  |QQm#A   s   TO4OO3O"""""" "!"""#"$""%&"'"("")"*"+,"-""./""01""2"""5O6R7OO8O9O:;O<OO=O>?O@OAOBOCODOOEOFGOHOIOOJKOLOMOONOOPOOQO"SO"OUVQWzX%Y%Z%[%\%]%^%_%%`%ab%c%%d%ef%g%%h%ij%k%l%m%n%o%p%q%r%s%t%u%v%w%x%y%$%{|~2!!a.*aagPD="      !#$%&'()*+,-./0123456789:;<>A?@$BCEIFGHJMKLNOaQ`RYSVTUWXZ][\^_aebcd$fhixjqknlmoprustvwyz}{|~*'*a$a*W*c**W*a $     * !"#$%&()Y*G+6,-./012345789:;<=>?@ABCDEFHIJKLMNOPQRSTUVWXZP[\]^_`abcdefghtimjkl$nqoprs!u|vywx$z{*$A*}~W$ XP&$*!.     4& !"#$%!'()*+,-./0123 5C6789:;<=>?@AB!DEFGHIJKLMNOQRSpTbUVWXYZ[\]^_`a.cdefghijklmnoqrstuvwxyz{|}~W2{{  =    9*U)WzWzz** $!"#P%'&(!W*8+*,3-0./*124756$*W**9G:A;><=*!?@$BECDWF*HOILJK**MN*WPSQR*T*WVWsXeY_Z\*[K*]^<*5`cab5K5d*5fmgjhi*K*klԛ*npԛoԛ5qrԛ ſ<tu|vywx5*ԛz{*<<5}~ԛԛ55<*5ԛԛԛԛ5ԛԛ*-K**5*ԛ*ԛ*ԛ5*5<5*55ԛz*5*ԛ<*K*5*5ԛ *5*ԛ55**K**5@*$****0,WW****$$$***$W$**$!*$*$ '    *$**W!**W*!* $*"%#$*&(4)0*-+,$W$./!*13$2*$59678$:=;<$*$>?*AoBRCDKEHFGa$IJ*LOMN*$PQ*SbT[UXVW*YZ$$\_]^**$`a*chdf*e$g$iljkWWmn$*pqrysvtuWwx*z}{|*~**9*$W$$*!$***$*$O*.*$*W*$$W*$*$*$$$W***$$     *, &!"#$%.'()*+-3./012*45678:;l<Q=J>D?@ABC$EFGHIċKLMNOPR_SYTUVWXZ[\]^`fabcde$ghijkmn{oupqrst$vwxyz$|}~$$;/>zzz//z>;  >  p?$$ !"#$%2&,'()*+*-./013945678:;<=>@UANBHCDEFGIJKLMOPQRST*VcW]XYZ[\*^_`ab$djefghiklmnoqrsztuvwxy{|}~!!*$$$C     (" !*#$%&')6*0+,-./$123457=89:;<>?@ABDzE`FSGMHIJKL*NOPQRTZUVWXY[\]^_ambhcdefgijklntopqrsuvwxy{|}~*$**?x*$*z*     $G,t &!"#$%'()*+-:.4/0123*56789;A<=>?@$BCDEFH]IVJPKLMNO$QRSTUWXYZ[\^k_e`abcd$fghijlrmnopqWstuvwyz{|}~*W$$$ $     !"#%2&,'()*+-./013945678:;<=> @ AByC^DQEKFGHIJLMNOP$RXSTUVWYZ[\]$_l`fabcde$ghijk$msnopqr$tuvwxz{|}~a$ $*$$   o 8# !"$+%&'()*$,2-./01345679T:G;A<=>?@BCDEF$HNIJKLM*OPQRSUbV\WXYZ[]^_`acidefghjklmnpqrsytuvwx*z{|}~$*$!$$9$$     *, &!"#$%'()*+-3./01245678:;V<I=C>?@AB$DEFGHJPKLMNOQRSTUW^XYZ[\]_`abcd*efq*ghmi*j*k*l**n*o*p**rxs**tu*v*w*~*y*z*{*|*}~7***7*~*~7*$*!$     *P "S#8$+%&'()*,2-./01345679F:@;<=>?$ABCDEGMHIJKLNOPQR$ToUbV\WXYZ[]^_`acidefghjklmnpwqrstuvx~yz{|}R $!$$     ** "7#*$%&'()+1,-./0$234568E9?:;<=>W@ABCDFLGHIJKMNOPQSTUpVcW]XYZ[\$^_`abdjefghi klmnoqxrstuvwyz{|}~$**$$*W  y B ' ! "#$%&$(5)/*+,-.01234$6<789:;=>?@AC^DQEKFGHIJLMNOPRXSTUVWYZ[\]_l`fabcdeghijkmsnopqrtuvwxz{|}~*$$W$$$F     $1$ !"#*%+&'()*,-./029345678$:@;<=>?ABCDEGeHVIJPKLMNOQRSTUW^XYZ[\]_`abcdf{gnhijklm*oupqrstvwxyz|}~$p*$*$***9     $, &!"#$%$'()*+-3./012$45678:U;H<B=>?@ACDEFGIOJKLMNPQRSTVcW]XYZ[\^_`abdjefghi!klmno-qrst{uvwxyz|}~*$ċ$$$$*$$$*     .! *"(#$%&'*)*+,-*/6012345789:;<>?z@ABCtD_ERFLGHIJKMNOPQSYTUVWXZ[\]^`magbcdef*hijklnopqrsuvw}xyz{|*~ $     ~G2+% !"#$&'()*W,-./013@4:56789;<=>?ABCDEFHcIVJPKLMNOQRSTUW]XYZ[\^_`abdqekfghij*lmnop$rxstuvw$yz{|}$$$D$     0# !"$*%&'()+,-./182345679?:;<=>*@ABCEvF[GNHIJKLMOUPQRSTVWXYZ*\i]c^_`ab*defghjpklmnoqrstu$wxyz{|}~$** !$   C (*" !#$%&'$)6*0+,-./*123457=89:;<*>?@AB D_ERFLGHIJK$MNOPQSYTUVWX*Z[\]^`magbcdef hijklntopqrsuvwxy{|I}~**$$8$$7 I    IX.! 7"(#$%&'I)*+,-/<0612345:g789:;1=C>?@AB6+DEFGH2JKLgMZNTOPQRS*UVWXY[a\]^_`bcdefhuiojklmn$pqrstv|wxyz{W}~**W*$*!   $  R7*$ !"#7!%&'()V+1,-./012345618E9?:;<=>@ABCDFLGHIJK6nMNOPQSnTaU[VWXYZ\]^_`bhcdefg2ijklmo|pvqrstu2wxyz{}~1f$*H$     .! "(#$%&'$)*+,-/<0612345$789:;=B>?@ACDEFG*IzJ_KXLRMNOPQ*STUVW*YZ[\]^`magbcdef$hijklntopqrs8uvwxy{|}~Q* $ *   O4'! "#$%&(.)*+,-W/01235B6<789:;$=>?@ACIDEFGH*JKLMNPkQ^RXSTUVWYZ[\]_e`abcdfghij*lsmnopqrtzuvwxy{|}~*W*W$     **6)# !"$$%&'(*0+,-./123457D8>9:;<=*?@ABCEKFGHIJLMNOPR#STUpVcW]XYZ[\^_`abdjefghiklmnoq~rxstuvw*yz{|}$$$W$$a**     $* !"*$k%I&;'.()*+,-/5012346789:$<=C>?@ABDEFGHJ_KRLMNOPQ*SYTUVWXZ[\]^`aebcd*fghijlmnuopqrstv|wxyz{}~ $vWAt@ $ %   * !"#$&3'-()*+,./0124:56789;<=>?AqB\CPDJEFGHIKLMNOQVRSTU*WXYZ[]d^_`abcaekfghij*lmnoprstzuvwxy{|}~* *W**$%$$!   C (" !$#$%&')6*0+,-./$12345*7=89:;<>?@ABDYERFLGHIJK$MNOPQSTUVWXZg[a\]^_`$bcdefhnijklm*opqrsu:vwxyz{|}~$$$$*$$$      -!'"#$%&$()*+,.4/012356789;<s=X>K?E@ABCD$FGHIJLRMNOPQSTUVWYfZ`[\]^_$abcdegmhijklċnopqr$tu|vwxyz{}~$$***$$ S W   o 8#* !"$1%+&'()*,-./0234567$9T:G;A<=>?@WBCDEF$HNIJKLMOPQRSUbV\WXYZ[]^_`acidefghjklmnpqrsytuvwxz{|}~*$W<$!     W$* "/#)$%&'(.*+,-.0612345*789:;=n>S?F@ABCDE$GMHIJKLNOPQRTaU[VWXYZ\]^_`*bhcdefgijklmop}qwrstuvxyz{|~*$s$*$*$*$<!     $ "/#)$%&'(**+,-.0612345789:; =X>K?E@ABCDPFGHIJLRMNOPQSTUVWYfZ`[\]^_$abcdegmhijklnopqr$tuvw~xyz{|}$$$$$$"$$$$$$$$$$$$$$//͌$͌$$$     $ !#>$1%+&'()**,-./028345679:;<=$?J@FABCDEPGHIKQLMNOP$RSTUVXYZ[\q]j^d_`abc*efghiklmnoprsytuvwx$z{|}~$*$ $   *  | Q!6")#$%&'(*0+,-./123457D8>9:;<=?@ABCEKFGHIJ$LMNOPRgS`TZUVWXY[\]^_abcdefhuiojklmn$pqrstvwxyz{}~*$W$$$$P*$     $ 5!."(#$%&')*+,-/01234$6C7=89:;<*>?@AB$DJEFGHIKLMNO*QRmS`TZUVWXY[\]^_agbcdefhijkl$nuopqrstv|wxyz{}~W*)W$$*$     *# !".$%&'(*[+F,9-3./01245678:@;<=>?ABCDEGNHIJKLM$OUPQRST$VWXYZ$\q]j^d_`abcefghiklmnop!rsytuvwxz{|}~!$Ab**$**+     $% !"#$&'()*,G-:.4/0123*56789;A<=>?@BCDEFHUIOJKLMN$PQRST$V\WXYZ[]^_`acdefsgmhijklnopqr$tzuvwxy{|}~$ X$$  &  $ !"#$%'4(.)*+,-$/01235;6789:*<=>?@BCD{E`FSGMHIJKLNOPQR$TZUVWXY[\]^_anbhcdefg$ijklmoupqrstvwxyz|}~**$*$$W      ~G, &!"#$%$'()*+-:.4/012356789;A<=>?@$BCDEFHcIVJPKLMNO*QRSTUW]XYZ[\^_`ab*dqekfghijlmnoprxstuvwyz{|}$*$*$*T#9       !"$?%2&,'()*+-./013945678$:;<=>$@GABCDEFHNIJKLM$OPQRSUVqWdX^YZ[\]!_`abcekfghijlmnoprsytuvwx*z{|}~$*$3*$$* $    *& !"#$%'-()*+,./012$4j5O6B7<89:;!=>?@ACIDEFGHaJKLMNP]QWRSTUVWXYZ[\^d_`abcefghiklymsnopqr$tuvwxz{|}~w*u$$$*$$$$*$    $ D)# !"$$%&'(*7+1,-./0$23456*8>9:;<=?@ABCEZFMGHIJKLNTOPQRSUVWXY[h\b]^_`a!cdefg*iojklmnpqrstvwxyz{|}~$*$$W$  *   $$.9, &!"#$%'()*+-3./012$45678:F;@<=>?ABCDEGMHIJKL$NOPQRTUVW0XYZu[h\b]^_`acdefgiojklmn$pqrstvw}xyz{|*~$$/$$*$$$     *#* !"$*%&'()X+,-./12i3N4A5;6789:*<=>?@$BHCDEFG$IJKLMO\PVQRSTUWXYZ[]c^_`ab$defghWjkxlrmnopqstuvwyz{|}~**WW$$b1 $    $ !"#%+&'()*,-./0*2G3@4:56789;<=>?ABCDEFHUIOJKLMN$PQRSTV\WXYZ[$]^_`acderflghijkmnopqsytuvwx$z{|}~**A $$  &  * $!"#$%'4(.)*+,-W/01235;6789:$<=>?@ByC^DQEKFGHIJLMNOPRXSTUVWYZ[\]_l`fabcde*ghijk$msnopqrtuvwx$z{|}~$$$$$$Dx*$     M2% !"#$$&,'()*+-./013@4:56789;<=>?AGBCDEFHIJKLNcOVPQRSTUW]XYZ[\$^_`ab$dkefghijlrmnopqstuvwyz±{–|‰}ƒ~€‚„…†‡ˆŠ‹ŒŽ‘’“”•—¤˜ž™š›œ$Ÿ ¡¢£¥«¦§¨©ª$¬­®¯°$²³´ºµ¶·¸¹$»¼½¾¿$$$$     )*# !"$%&'(!*7+1,-./0*234568>9:;<=*?@ABCEFõG~HcIVJPKLMNO!QRSTUW]XYZ[\^_`abdqekfghij$lmnoprxstuvwyz{|}ÚÀÍÁÇÂÃÄÅÆÈÉÊËÌÎÔÏÐÑÒÓÕÖ×ØÙÛèÜâÝÞßàá$ãäåæçéïêëìíîPðñòóôö÷øùþúûüý*ÿ$$$W$     $$āP ;!."(#$%&'*)*+,-/501234$6789:<I=C>?@ABDEFGHJKLMNO$QlR_SYTUVWX_Z[\]^$`fabcdeghijkmzntopqrsuvwxy{|}~ĀĂĭăĘĄċąĆćĈĉĊČĒčĎďĐđēĔĕĖėęĠĚěĜĝĞğġħĢģĤĥĦĨĩĪīĬ.ĮįļİĶıIJijĴĵ*ķĸĹĺĻ$ĽľĿ*ƑŸO *    *$4'! O"#$%&(.)*+,-W/0123$5B6<789:;*=>?@ACIDEFGH$JKLMNPŁQfRYS5T5U5V5W5X5*5Z`[5\5]5^5_5ԛ5a5b5c5d5e5K5gthni5j5k5l5m5K5o5p5q5r5s5K5u{v5w5x5y5z55|5}5~55ŀ5K5łŝŃŐńŊŅ5ņ5Ň5ň5ʼn5ԛ5ŋ5Ō5ō5Ŏ5ŏ5K5őŗŒ5œ5Ŕ5ŕ5Ŗ5ԛ5Ř5ř5Ś5ś5Ŝ5K5ŞūşťŠ5š5Ţ5ţ5Ť5t0dŦ5ŧ5Ũ5ũ5Ū5K5ŬŲŭ5Ů5ů5Ű5ű5ԛ5ų5Ŵ5ŵ5Ŷ5ŷ5*5Ź(źŻżŽžſ $*    *" !#$%&')`*E+8,2-./01*34567$9?:;<=>@ABCD$FSGMHIJKL*NOPQR$TZUVWXY$[\]^_$a|bocidefgh$jklmnpvqrstu$wxyz{}Ƅ~ƀƁƂƃ*ƅƋƆƇƈƉƊ$ƌƍƎƏƐ$ƒXƓƔƿƕƪƖƝƗƘƙƚƛƜ$ƞƤƟƠơƢƣ$ƥƦƧƨƩƫƲƬƭƮƯưƱƳƹƴƵƶƷƸƺƻƼƽƾ$**$! $$    $ "=#0$*%&'()*+,-./172345689:;<!>K?E@ABCDFGHIJLRMNOPQ$STUVWYZǑ[v\i]c^_`ab*defghjpklmno$qrstuwDŽx~yz{|}Wǀǁǂǃ$DžNjdžLJLjljNJnjǍǎǏǐǒǭǓǠǔǚǕǖǗǘǙǛǜǝǞǟǡǧǢǣǤǥǦǨǩǪǫǬǮǻǯǵǰDZDzdzǴ$ǶǷǸǹǺǼǽǾǿ$$*$     $#* !"$%&'()$+,-ș.e/J0=1723456$89:;<$>D?@ABCEFGHIKXLRMNOPQSTUVWY_Z[\]^$`abcdfȁgthnijklmopqrs*u{vwxyz$|}~ȀȂȌȃȆȄȅȇȈȉȊȋȍȓȎȏȐȑȒ$ȔȕȖȗȘȚțȶȜȩȝȣȞȟȠȡȢ$ȤȥȦȧȨȪȰȫȬȭȮȯ$ȱȲȳȴȵȷȸȾȹȺȻȼȽȿ$!*#e4    * $$ '!"#$%&(.)*+,-$/01235J6=789:;<>D?@ABC$EFGHIKXLRMNOPQSTUVWY_Z[\]^`abcdfɗg|huiojklmn*pqrstvwxyz{}Ɋ~ɄɀɁɂɃ*ɅɆɇɈɉɋɑɌɍɎɏɐɒɓɔɕɖɘɳəɦɚɠɛɜɝɞɟɡɢɣɤɥ$ɧɭɨɩɪɫɬ8ɮɯɰɱɲɴɵɻɶɷɸɹɺɼɽɾɿʨ9$*   $  $, &!"#$%W'()*+-3./012$45678:q;V<I=C>?@ABDEFGHJPKLMNOQRSTUWdX^YZ[\]$_`abc$ekfghijlmnop$rʍsʀtzuvwxy{|}~ʁʇʂʃʄʅʆʈʉʊʋʌʎʛʏʕʐʑʒʓʔ$ʖʗʘʙʚʜʢʝʞʟʠʡʣʤʥʦʧʩ ʪʫʬʹʭʳʮʯʰʱʲ_ʴʵʶʷʸʺʻʼʽʾʿ$*$.    D)*# !"$$%&'($*7+1,-./0*234568>9:;<=?@ABCE`FSGMHIJKL$NOPQRTZUVWXY[\]^_anbhcdefg$ijklm$oupqrst$vwxyz|}~~αˀˁM˂˃˺˄˟˅˒ˆˌˇˈˉˊˋ*ˍˎˏːˑ˓˙˔˕˖˗˘˚˛˜˝˞ˠ˭ˡ˧ˢˣˤ˥˦˨˩˪˫ˬˮ˴˯˰˱˲˳˵˶˷˸˹˻˼˽˾˿$"!$     $ !$#8$+%&'()*$,2-./01$34567$9F:@;<=>?ABCDE$GHIJKLN̫ÒPkQ^RXSTUVW*YZ[\]W_e`abcdfghijlsmnopqrtzuvwxy${|}~̵̴̡̢̧̨̛̖̗̞̘̙̜̝̟̥̠̣̤̦̩̪̬̭̮̯̰̱̲̳́̂̉̃̄̅̆̇̈̊̐̋̌̍̎̏̑̒̓̔̕̚$̶̷̸̼̹̺̻̽̾̿*$$$     $̈́M2% !"#$&,'()*+$-./013@4:56789$;<=>?AGBCDEF$HIJKLNiO\PVQRSTUWXYZ[$]c^_`ab$defghjwkqlmnopWrstuv$x~yz{|}̀́͂̓ͅͼ͇͔͈͎͉͍͆͊͋͌͡͏͓͕͖͙͚͐͑͒͛͗͘$ͯͣͩͤͥͦͧͨ͜͟͢͝͞͠.ͪͫͬͭͮ ͰͶͱͲͳʹ͵$ͷ͸͹ͺͻ*ͽ;Ϳ*$$Z#      !"$?%2&,'()*+$-./013945678:;<=>$@MAGBCDEFHIJKL$NTOPQRSUVWXY[Ά\q]d^_`abcekfghij$lmnoprystuvwxz΀{|}~$΁΂΃΄΅·ΜΈΏΉΊ΋Ό΍ΎΐΖΑΒΓΔΕ$ΗΘΙΚΛ$ΝΤΞΟΠΡ΢ΣΥΫΦΧΨΩΪ$άέήίΰβpγϒδ#εζηθξικλμνο$$$$$$     $$ !"$[%@&3'-()*+,$./0124:56789$;<=>?$ANBHCDEFG$IJKLM*OUPQRST$VWXYZ$\w]j^d_`abcefghi$kqlmnop$rstuvxυyz{|}~*πρςστφόχψωϊϋύώϏϐϑϓϔϕϰϖϣϗϝϘϙϚϛϜϞϟϠϡϢϤϪϥϦϧϨϩϫϬϭϮϯϱϽϲϷϳϴϵ϶*ϸϹϺϻϼϾϿ$$$$9     $$, &!"#$%'()*+*-3./012$45678*:U;H<B=>?@A*CDEFGIOJKLMN$PQRSTVcW]XYZ[\!^_`abdjefghi$klmnoqJrsФtЉuЂv|wxyz{}~ЀЁЃЄЅІЇЈЊЗЋБЌЍЎЏА$ВГДЕЖИОЙКЛМНПРСТУХЦгЧЭШЩЪЫЬ$ЮЯабвдкежзий*лмноп*$*W$     $/"$ !#)$%&'(*+,-.0=172345689:;<>D?@ABCEFGHIKѮLуMhN[OUPQRST!VWXYZ*\b]^_`acdefg$ivjpklmno*qrstu$w}xyz{|~рстфљхьцчшщъы$эѓюяѐёђєѕіїјњѧћѡќѝўџѠ*ѢѣѤѥѦѨѩѪѫѬѭѯѰѱѻѲѵѳѴ*ѶѷѸѹѺѼѽѾѿ$$$$ ; Ө  t =" !*#0$*%&'()+,-./1723456*89:;<>Y?L@FABCDEGHIJKMSNOPQRTUVWXZg[a\]^_`$bcdefhnijklmopqrsuҥvґw҄x~yz{|}*Ҁҁ҂҃҅ҋ҆҇҈҉ҊҌҍҎҏҐҒҙғҔҕҖҗҘҚҠқҜҝҞҟҡҢңҤҦҧҴҨҮҩҪҫҬҭүҰұҲҳ$ҵһҶҷҸҹҺҼҽҾҿ$@ *$ %   $*$ !"#$&3'-()*+,c./0124:56789$;<=>?WAqB\CPDJEFGHI$KLMNOQVRSTUcWXYZ[]d^_`abcekfghijlmnoprӍsӀtzuvwxy${|}~ӁӇӂӃӄӅӆӈӉӊӋӌPӎӛӏӕӐӑӒӓӔ*ӖӗӘәӚӜӢӝӞӟӠӡӣӤӥӦӧөoӪ ӫӬӭӴӮӯӰӱӲӳӵӻӶӷӸӹӺӼӽӾӿ$*    8# !"$$1%+&'()*W,-./0$2345679T:G;A<=>?@BCDEF$HNIJKLM*OPQRS$UbV\WXYZ[$]^_`acidefghjklmnpqԢrԇsztuvwxy${ԁ|}~ԀԂԃԄԅԆ$ԈԕԉԏԊԋԌԍԎPԐԑԒԓԔ$ԖԜԗԘԙԚԛԝԞԟԠԡԣԷԤ԰ԥԫԦԧԨԩԪ$ԬԭԮԯԱԲԳԴԵԶԸԹԿԺԻԼԽԾ$$!*$$$      $$W!."(#$%&')*+,-$/501234$6789:<= >է?v@[ANBHCDEFG$IJKLMOUPQRSTVWXYZ$\i]c^_`abdefgh$jpklmnoqrstuwՌxՅyz{|}~ՀՁՂՃՄ*ՆՇՈՉՊՋՍ՚ՎՔՏՐՑՒՓ$ՕՖ՗՘ՙ՛ա՜՝՞՟ՠբգդեզըթվժշիձլխծկհղճմյնոչպջռստ$*  t = "* !!#0$*%&'()+,-./1723456*89:;<>Y?L@FABCDE$GHIJKMSNOPQR$TUVWXZg[a\]^_`*bcdefhnijklm$opqrsu֦v֋w~xyz{|}օրցւփքֆևֈ։֊֌֙֍֓֎֏֐֑֒W֖֔֕֗֘*֛֚֠֜֝֞֟$ֵּ֢֣֤֥֧֪֭֮֡֨֩֯֫֬$ְֱֲֳִֶַָֹֺֻֽ־ֿ$׫B *$   ' ! "#$%&(5)/*+,-.W012346<789:;=>?@ACzD_ERFLGHIJKMNOPQSYTUVWX*Z[\]^$`magbcdef$hijklntopqrsuvwxy{א|׃}~׀ׁׂׄ׊ׅ׆ׇ׈׉׋׌׍׎׏במגטדהוזח*יךכלםןץנסעףפ$צקרשת׬׭׮ׯ׶װױײ׳״׵׷׽׸׹׺׻׼$׾׿$$$$$$$     $G,W &!"#$%'()*+-:.4/0123*56789$;A<=>?@BCDEFHcIVJPKLMNO*QRSTUW]XYZ[\^_`abdqekfghij$lmnoprxstuvw$yz{|}$؀۱؁؂M؃؄ػ؅ؠ؆ؓ؇؍؈؉؊؋،_؎؏ؘؙؚؐؑؒؔؕؖؗ$؛؜؝؞؟ءخآبأؤإئاةتثجحدصذرزسشضطظعغ$ؼؽؾؿ$*"W$$     $ !#8$1%+&'()*,-./02345679F:@;<=>?ABCDEGHIJKLNٱOـPeQ^RXSTUVWYZ[\]_`abcdfsgmhijklnopqrtzuvwxy{|}~فٖقُكىلمنهو$يًٌٍَِّْٕٓٔ$ٗ٤ٜٟ٘ٞٙٚٛٝ٠١٢٣٥٫٦٧٨٩٪*٬٭ٮٯٰٲٳٴٵٻٶٷٸٹٺټٽپٿ W    N3& !"#$%'-()*+,./0124A5;6789:$<=>?@BHCDEFGIJKLM$OjP]QWRSTUV$XYZ[\$^d_`abcefghi$krlmnopq$sytuvwxz{|}~ڀڷځڜڂڏڃډڄڅچڇڈ*ڊڋڌڍڎڐږڑڒړڔڕ$ڗژڙښڛڝڪڞڤڟڠڡڢڣ$ڥڦڧڨکګڱڬڭڮگڰڲڳڴڵڶڸڹںڿڻڼڽھ$$Q$*     *!6)# !"*$%&'(*0+,-./123457D8>9:;<=?@ABCEKFGHIJLMNOPRۀShT[UVWXYZ\b]^_`a*cdefgisjmklWnopqrtzuvwxy{|}~ہۖۂۉۃۄۅۆۇۈۊېۋیۍێۏ*ۑےۓ۔ەۗۤۘ۞ۙۚۛۜ۝*ۣ۟۠ۡۢۥ۫ۦۧۨ۩۪ۭ۬ۮۯ۰۲W۳܅۴۵۶۷۸۾۹ۺۻۼ۽$ۿW$$c     $$N3& !"#$%$'-()*+,$./0124A5;6789: <=>?@BHCDEFGIJKLM$OjP]QWRSTUV$XYZ[\^d_`abc$efghikxlrmnopq.stuvwyz{|}~܀܁܂܃܄܆܇ܸ܈ܣ܉ܖ܊ܐ܋܌܍܎܏ܑܒܓܔܕܗܝܘܙܚܛܜWܞܟܠܡܢ!ܤܫܥܦܧܨܩܪ$ܬܲܭܮܯܱܰ ܴܷܹܻܼܾܳܵܶܺܽܿ$$$  !  $  $$!<"/#)$%&'(*+,-.0612345$789:;=J>D?@ABCEFGHIKQLMNOP$RSTUV$X*YZݑ[v\i]c^_`abdefgh$jpklmnoqrstu$w݄x~yz{|}$݂݀݁݃$݅݋݆݈݇݉݊$݌ݍݎݏݐݒݭݓݠݔݚݕݖݗݘݙ$ݛݜݝݞݟݡݧݢݣݤݥݦ1ݨݩݪݫݬ$ݮݻݯݵݰݱݲݳݴ$ݶݷݸݹݺݼݽݾݿ$$$  *   *$ !"#%&'()$+ޔ,]-B.5/012346<789:;*=>?@ACPDJEFGHI$KLMNOQWRSTUVXYZ[\$^y_l`fabcde$ghijkmsnopqr$tuvwxzއ{ށ|}~ހނރބޅކ*ވގމފދތލ*ޏސޑޒޓޕޖޱޗޤޘޞޙޚޛޜޝ$ޟޠޡޢޣޥޫަާިީުެޭޮޯް$޲޾޳޹޴޵޶޷޸$޺޻޼޽޿$4$Pu>#     $ !"$$1%+&'()*,-./028345679:;<=W?Z@MAGBCDEF$HIJKLNTOPQRS$UVWXY*[h\b]^_`acdefgiojklmn$pqrstvߧwߌx߅yz{|}~*߀߁߂߃߄߆߇߈߉ߊߋ$ߍߚߎߔߏߐߑߒߓ*ߕߖߗߘߙߛߡߜߝߞߟߠߢߣߤߥߦߨ߽ߩ߰ߪ߫߬߭߮߯߱߷߲߳ߴߵ߶$߸߹ߺ߻߼߾߿$*H*$   $  $- !'"#$%&W()*+,.;/501234*6789:<B=>?@ACDEFGIzJ_KXLRMNOPQ$STUVWYZ[\]^`magbcdefhijklntopqrsuvwxy{|}~~$     !G,$* &!"#$%*'()*+-:.4/0123$56789!;A<=>?@BCDEFHcIVJPKLMNO$QRSTUW]XYZ[\^_`abdqekfghij$lmnoprxstuvwyz{|}***% !$  $  $$ !"#$$&A'4(.)*+,-*/01235;6789:<=>?@$BICDEFGHJKLMNOQRSTUjV]WXYZ[\^d_`abcefghikxlrmnopq$stuvwyz{|}~$$$$$$$$$*$$    * $ !W"<#/$)%&'(*+,-.0612345$789:;=J>D?@ABCEFGHIKQLMNOP$RSTUV$XsYfZ`[\]^_*abcdegmhijklnopqr$tu{vwxyz|}~$$$*$*$ a6     $)# !"$$%&'($*0+,-./*123457L8?9:;<=>$@FABCDEGHIJK$MZNTOPQRSUVWXY$[\]^_`bcxdkefghijlrmnopq*stuvw$yz{|}~**$*$*$$$*!$     $$ "Y#>$1%+&'()*,-./0$28345679:;<=?L@FABCDEWGHIJKMSNOPQRTUVWX*Zo[b\]^_`a$cidefgh*jklmnp}qwrstuvxyz{|~}$U!$*$*$ $     !"#%:&3'-()*+,*./012A456789;H<B=>?@ACDEFGIOJKLMN$PQRSTWVWXhYaZ[\]^_`bcdefgivjpklmnoqrstu*w}xyz{|~*$$$$$$*$       Q!<"/#)$%&'(*+,-.$0612345*789:;=D>?@ABC*EKFGHIJLMNOP$RmS`TZUVWXY$[\]^_agbcdef$hijkln{oupqrstvwxyz|}~***$$*$$a0$$     $#W !"$$*%&'()$+,-./$1F29345678:@;<=>?$ABCDEGTHNIJKLMOPQRS*U[VWXYZ\]^_`bcxdkefghijlrmnopqstuvw$yz{|}~*r6$     W$)# !"$$%&'(*0+,-./$123457n8S9F:@;<=>?!ABCDEGMHIJKL$NOPQRTaU[VWXYZ*\]^_`$bhcdefgijklmopwqrstuvx~yz{|}$$$ $!$*$$ A &  $ $!"#$%'4(.)*+,-/0123*5;6789:<=>?@BWCJDEFGHIKQLMNOP7u\RSTUVXeY_Z[\]^*`abcdflghijk*mnopqsDtuvwx~yz{|}*$W$$Q$     $$/" !$#)$%&'(*+,-.071234568>9:;<=?@ABCEF}GbHUIOJKLMN$PQRSTV\WXYZ[a]^_`acpdjefghi$klmnoqwrstuvxyz{|~$**$$$$  $   $ !"Y#>$1%+&'()*W,-./028345679:;<=?L@FABCDE$GHIJKMSNOPQRWTUVWXZi[b\]^_`acdefghjwkqlmnop*rstuvx~yz{|}$$$$$*$W  $    !<"/#)$%&'(*+,-.0612345789:;*=J>D?@ABCEFGHI$KQLMNOPRSTUV*XYtZg[a\]^_`.bcdefhnijklmopqrsuv|wxyz{$}~$*$v1W     $ !"#%+&'()*,-./02W3H4A5;6789:*<=>?@BCDEFG$IPJKLMNOQRSTUVXgY`Z[\]^_abcdefhoijklmn!pqrstuwxyz{|}~ $*$A.E*    $ $-& !"#$%'()*+,$.=/6012345W789:;<$>?@ABCD$F~G_HPIJKLMNO$QXRSTUVW*YZ[\]^$`oahbcdefg$ijklmn$pwqrstuvWxyz{|}$$$*$($$$$$*$$     ! $"#$%&'*)a*I+:,3-./012456789*;B<=>?@A*CDEFGH$JRKLMNOPQWSZTUVWXY[\]^_`bcrdkefghijlmnopqsztuvwxy{|}~$*$$In#$$$$*$$$$     $$ !"$$c%D&5'.()*+,-/01234H6=789:;<->?@ABCETFMGHIJKLNOPQRSU\VWXYZ[*]^_`abd|emfghijkldnuopqrst2vwxyz{}~22d**$$/     * !("#$%&'$)*+,-.0O1@29345678:;<=>?AHBCDEFG$IJKLMN$P_QXRSTUVWWYZ[\]^$`gabcdef$hijklm$odpqrstyuvwxz{|}~$$W*$$W&*$     $$ !"#$%'E(6)/*+,-.!0123457>89:;<=?@ABCD$FUGNHIJKLMWOPQRSTV]WXYZ[\$^_`abc$efghwipjklmno!qrstuv$xyz{|}~$*W*$$*$     . '!"#$%&$()*+,-/>0712345689:;<=$?F@ABCDEGHJ%KJLMNmO^PWQRSTUV$XYZ[\]_f`abcde*ghijkln}ovpqrstu!wxyz{|~*$$**!\ .$$$$$   + 1$ !"#V%&'()*V,;-4./0123456789:d<C=>?@AB2DEFGHIdKL|MlN]OVPQRSTU*WXYZ[\^e_`abcdfghijk$mnuopqrstvwxyz{}~*$*$$$$$*$     *$$ !"#$$&'(`)H*9+2,-./01A345678:A;<=>?@BCDEFG!IXJQKLMNOP$RSTUVWYZ[\]^_aybjcdefghi!krlmnopqstuvwx*z{|}~$$*$$$!**t<$     $$ !"#$%-&'()*+,.5/01234$6789:;-=\>M?F@ABCDEGHIJKL$NUOPQRSTVWXYZ[]l^e_`abcdfghijk$mnopqrs$uvwxyz{|}~!!W$$*$*$'U     $*$6. '!"#$%&$()*+,-$/012345$7F8?9:;<=>$@ABCDE$GNHIJKLMOPQRST$VWvXgY`Z[\]^_*abcdefhoijklmn$pqrstuwxyz{|}~$$$$$$L$WW     .* '!"#$%&()*+,-/>0712345689:;<=?F@ABCDEGHIJKMNmO^PWQRSTUVXYZ[\]_f`abcde$ghijkln}ovpqrstu*wxyz{|~PW**$7!$$$$ *    $*(! "#$%&'$)0*+,-./$1234568p9Q:B;<=>?@A*CJDEFGHIKLMNOP*RaSZTUVWXY[\]^_`$bicdefghjklmnoqrzstuvwxy*{|}~$$!$*6*$     *S4% !"#$*&-'()*+,./0123$5D6=789:;<*>?@ABCELFGHIJK$MNOPQRTlU]VWXYZ[\^e_`abcd$fghijkm|nuopqrst*vwxyz{.}~$H^*W$!*4     $$% !"#$$&-'()*+,$./01235F6>789:;<=?@ABCDEGOHIJKLMN*PWQRSTUVWXYZ[\]_`abqcjdefghi$klmnop*rystuvwxz{|}~*W$$$*$$**W     7(! "#$%&')0*+,-./$123456$8@9:;<=>?$ABCDEFG$I?JKLkM\NUOPQRSTVWXYZ[*]d^_`abcefghijl{mtnopqrsuvwxyz|}~A*.**!   $   $$$!0")#$%&'(**+,-./$18234567*9:;<=>$@AyBaCRDKEFGHIJLMNOPQ$SZTUVWXY$[\]^_`$bqcjdefghiklmnop$rstuvwx$z{|}~$$$$$$*$$     $ $!"#$%&$()* +,d-L.=/6012345789:;<$>E?@ABCD$FGHIJK$MUNOPQRSTV]WXYZ[\^_`abc$efugnhijklmopqrst$v}wxyz{|*~$*$$$$$$$$$$W$    G/ !("#$%&'$)*+,-.081234567$9@:;<=>?ABCDEFH`IQJKLMNOPRYSTUVWXZ[\]^_apbicdefgh*jklmno$qxrstuvwyz{|}~$$*$$$$*$$c+ W$$   $ *$$ !"#%&'()*$,D-5./012346=789:;<*>?@ABCETFMGHIJKL*NOPQRSU\VWXYZ[]^_`abdefugnhijklm$opqrstv}wxyz{|$~$*$$$**[#$     $$$ !"W$C%4&-'()*+,./01235<6789:;$=>?@ABDSELFGHIJK*MNOPQR*TUVWXYZ$\]u^f_`abcde!gnhijklmAopqrstvw}xyz{|~!$$*E$$$$$&     $* !"#$%'6(/)*+,-.0123457>89:;<=$?@ABCDFvGWHIPJKLMNOQRSTUV$XgY`Z[\]^_abcdef$hoijklmnpqrstuwxyz{|}~*$$*$&W     $ !"#$%'](@)8*1+,-./02345679:;<=>?APBICDEFGHJKLMNO$QVRSTUWXYZ[\$^v_g`abcdefhoijklmnpqrstu%wxyz{|}~*$$1d2222*$***     O0! $")#$%&'(*+,-./$1@29345678*:;<=>?$AHBCDEFG$IJKLMN!PoQ`RYSTUVWX*Z[\]^_$ahbcdefg$ijklmnpqxrstuvwyz{|}~* !$*$W***$    aM.* '!"#$%&$()*+,-$/>07123456*89:;<=$?F@ABCDE$GHIJKLNmO^PWQRSTUVWXYZ[\]$_f`abcdeghijkl$n}ovpqrstu*wxyz{|$~*  Md*$$$$$ W    $I1" !#*$%&'()+,-./02:3456789$;B<=>?@ACDEFGH$JiKZLSMNOPQRWTUVWXY$[b\]^_`acdefgh$jykrlmnopq*stuvwxz{|}~$W$*$*$$$*$:    $ $+$ !"#$%&'()*$,3-./012456789$;S<D=>?@ABC$ELFGHIJK$MNOPQR*T\UVWXYZ[]^_`abce \fghixjqklmnopWrstuvwyz{|}~*W$*$$   $                      *        =  .  ' ! " # $ % & ( ) * + , - / 6 0 1 2 3 4 5* 7 8 9 : ; < > M ? F @ A B C D EW G H I J K L N U O P Q R S T V W X Y Z [ ]  ^  _ ~ ` o a h b c d e f g* i j k l m n p w q r s t u v x y z { | }          $              $                  $              *                $      *        $      *                            $      W          $               .         *  ' ! " # $ % & ( ) * + , -$ / > 0 7 1 2 3 4 5 6$ 8 9 : ; < =$ ? F @ A B C D E* G H I J K L$ N " O ? P  Q  R q S b T [ U V W X Y Z$ \ ] ^ _ ` a c j d e f g h i k l m n o p* r  s z t u v w x y$ { | } ~                                          !                                    *              _      *                              *                '                $ ! " # $ % & ( 0 ) * + , - . / 1 8 2 3 4 5 6 7$ 9 : ; < = > @  A r B S C K D E F G H I J$ L M N O P Q R$ T c U \ V W X Y Z [ ] ^ _ ` a b$ d k e f g h i j* l m n o p q$ s  t | u v w x y z { }  ~     $                              c                    *      $              $          $              $                 $        W                      W        $      ! #  $  % ] & E ' 6 ( / ) * + , - .W 0 1 2 3 4 5 7 > 8 9 : ; < =$ ? @ A B C D$ F U G N H I J K L M$ O P Q R S T$ V W X Y Z [ \ ^ } _ n ` g a b c d e f h i j k l m o v p q r s t u* w x y z { | ~               $                            a                    *                $        *                                *                       *          U  6  '        $ ! " # $ % & ( / ) * + , - . 0 1 2 3 4 5 7 F 8 ? 9 : ; < = > @ A B C D E G N H I J K L M O P Q R S T V u W f X _ Y Z [ \ ] ^$ ` a b c d e g n h i j k l m* o p q r s t v  w ~ x y z { | }$              *                                 *                 $                                                       *       ps;     ,% !"#$*&'()*+-4./012356789:<[=L>E?@ABCDFGHIJKMTNOPQRS$UVWXYZ\d]^_`abcelfghijk$mnopqrtuv~wxyz{|}$$O     0! ")#$%&'(*+,-./1@29345678$:;<=>?*AHBCDEFG*IJKLMN*PQpRaSZTUVWXY[\]^_`bicdefghjklmnoqyrstuvwx$z{|}~$$*$,$!!W     *$* !"#$%&'()*+-^.F/701234568?9:;<=>@ABCDEGOHIJKLMNPWQRSTUV*XYZ[\]_w`habcdefgipjklmnoqrstuvxyz{|}~W$*$$*W$8      !*!)"#$%&'(*1+,-./02345679Q:B;<=>?@ACJDEFGHIKLMNOPRaSZTUVWXY[\]^_`bicdefgh$jklmnoq r?stuvw~xyz{|}!WW*$!*      *$!0")#$%&'(**+,-./182345679:;<=>@ABaCRDKEFGHIJ$LMNOPQSZTUVWXY[\]^_`bqcjdefghi$klmnoprystuvwxz{|}~****!****     !"#b$C%4&-'()*+,./01235<6789:;=>?@ABDSELFGHIJK*MNOPQR$T[UVWXYZ\]^_`a*c{dlefghijkmtnopqrs$uvwxyz|}~*!*$$$$$$$*|>&     $$ !"#$%W'6(/)*+,-.$012345*789:;<=?]@NAGBCDEF*HIJKLM*OVPQRSTUWXYZ[\^m_f`abcdeghijklnuopqrstvwxyz{}~*c**$#Dg)     ! "#$%&'(*H+9,3-./01245678:A;<=>?@*BCDEFGIXJQKLMNOP*RSTUVWY`Z[\]^_abcdefhijuknlmopqrstv}wxyz{|$~$$!T***     $5&* !"#$%'.()*+,-/012346E7>89:;<=?@ABCDFMGHIJKLWNOPQRSUVuWfX_YZ[\]^$`abcdegnhijklmopqrstvw~xyz{|}_*$$>W*$&     * !"#$%'/()*+,-.07123456$89:;<=?~@_APBICDEFGHJKLMNOQXRSTUVW$YZ[\]^`oahbcdefg$ijklmnpwqrstuv$xyz{|}!$W!$!$      _!@"1#*$%&'()W+,-./029345678$:;<=>?*APBICDEFGH*JKLMNOQXRSTUVW*YZ[\]^`xaibcdefghjqklmnoprstuvwyz{|}~$ $x**$$ *    $P8)" !W#$%&'(*1+,-./02345679A:;<=>?@BICDEFGHJKLMNOQpRaSZTUVWXY[\]^_`bicdefghjklmnoqrystuvwx*z{|}~$**$$$$:     *$+$ !"#$%&'()*,3-./012*456789;Z<K=D>?@ABC!EFGHIJLSMNOPQRTUVWXY*[i\b]^_`acdefgh!jqklmnop$rstuvwyiz{|}~W**$1     "* !#*$%&'()+,-./02J3;456789:<C=>?@ABDEFGHIKZLSMNOPQRTUVWXY*[b\]^_`a$cdefghjklm|nuopqrstvwxyz{}~$!$*    $ *,$* !"#%&'()*+-5./012346=789:;<$>?@ABCEFG HIJhKZLSMNOPQRTUVWXYA[a\]^_`bcdefgixjqklmnop*rstuvwyz{|}~$W *$$!O     $!"a#B$3%,&'()*+*-./012*4;56789:<=>?@ACRDKEFGHIJ$LMNOPQSZTUVWXY*[\]^_`*bcrdkefghijlmnopqsztuvwxy{|}~$!$*!*!$     $K3+$ !"#%&'()*,-./012*4<56789:;=D>?@ABCEFGHIJ$LdMUNOPQRSTV]WXYZ[\^_`abcetfmghijklnopqrsu|vwxyz{}~.!$***$C$     ! !"#%4&-'()*+,*./01235<6789:;=>?@ABDcETFMGHIJKLNOPQRS$U\VWXYZ[]^_`abdselfghijk*mnopqrt{uvwxyz$|}~ $W$!  g 6                  $        '        * ! " # $ % & ( / ) * + , - .$ 0 1 2 3 4 5 7 H 8 @ 9 : ; < = > ? A B C D E F G* I X J Q K L M N O P R S T U V W Y ` Z [ \ ] ^ _ a b c d e f h  i  j x k q l m n o p r s t u v w! y z { | } ~                  $                  $                    *                W               !P !                          $       !  !    !!!!!!!!! !! ! ! !!!W!!!!!!!!1!!"!!!!!! !!*!#!*!$!%!&!'!(!)*!+!,!-!.!/!0!2!A!3!:!4!5!6!7!8!9!;!<!=!>!?!@!B!I!C!D!E!F!G!H$!J!K!L!M!N!O!Q!!R!q!S!b!T![!U!V!W!X!Y!Z!\!]!^!_!`!a!c!j!d!e!f!g!h!i*!k!l!m!n!o!p!r!!s!z!t!u!v!w!x!y$!{!|!}!~!!!!!!!!!!!!!!!!!!!!!!!!!!!!$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"!"G!" !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!W!!!!!!!"!!!""""""""" " "(" "" """""""""""""""""""" "!*"#"$"%"&"'*")"8"*"1"+","-"."/"0"2"3"4"5"6"7*"9"@":";"<"=">"?$"A"B"C"D"E"F$"H"y"I"a"J"Y"K"R"L"M"N"O"P"Q"S"T"U"V"W"X$"Z"["\"]"^"_"`"b"j"c"d"e"f"g"h"i"k"r"l"m"n"o"p"q"s"t"u"v"w"x"z""{""|""}"~""""$""""""""""""""""""""""""""""""*""""""W""""""""$"""""""#1""""""""""""""""""""""""""""$""""""""""""""""*""""""""""""""*"""""""#"# "#"""######### # ## # ####*########)##"##### #!$###$#%#&#'#(#*#+#,#-#.#/#0#2#j#3#K#4#C#5#<#6#7#8#9#:#;*#=#>#?#@#A#B#D#E#F#G#H#I#J#L#[#M#T#N#O#P#Q#R#S#U#V#W#X#Y#Z#\#c#]#^#_#`#a#b*#d#e#f#g#h#i#k##l#{#m#t#n#o#p#q#r#s*#u#v#w#x#y#z#|##}#~####$################*##############*#######+&#'g#%#$#$+################################################*########$#######$ ##########V#######$#$$$$$$$$$ $ $ $ $$$$$$$$$$$$$$$V$$$$$$ $!$"$#2$%$&$'$($)$*2$,$d$-$E$.$6$/$0$1$2$3$4$5$$7$>$8$9$:$;$<$=W$?$@$A$B$C$DW$F$U$G$N$H$I$J$K$L$M$$O$P$Q$R$S$T$V$]$W$X$Y$Z$[$\$$^$_$`$a$b$c*$e$}$f$n$g$h$i$j$k$l$m$o$v$p$q$r$s$t$u*$w$x$y$z${$|$~$$$$$$$$$W$$$$$$$$$$$$$$*$$$$$$$%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$*$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$*$$$$$$$$$$$$$$$$$$$$*$%$%%%%%%*%%%% % % % % %%%%%%%%N%%/%% %%%%%%%%!%(%"%#%$%%%&%'%)%*%+%,%-%.%0%?%1%8%2%3%4%5%6%7$%9%:%;%<%=%>%@%G%A%B%C%D%E%F%H%I%J%K%L%M%O%n%P%_%Q%X%R%S%T%U%V%W$%Y%Z%[%\%]%^%`%g%a%b%c%d%e%fW%h%i%j%k%l%m'\%o%w%p%q%r%s%t%u%v%x%%y%z%{%|%}%~$%%%%%%%&~%%%%%%%%%%%%%%%%%%%%%%%$%%%%%%%%%%%%%%%%!%%%%%%*%%%%%%%%%%%%%%%%%%%%%%%%%*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%!%%%%%%&&?&& &&&& &&&&&& *& & & &&&*&&&&&&&&$&&&&&&&!&0&"&)&#&$&%&&&'&(*&*&+&,&-&.&/&1&8&2&3&4&5&6&7&9&:&;&<&=&>&@&_&A&P&B&I&C&D&E&F&G&H&J&K&L&M&N&O&Q&X&R&S&T&U&V&W$&Y&Z&[&\&]&^&`&o&a&h&b&c&d&e&f&g&i&j&k&l&m&n&p&w&q&r&s&t&u&v$&x&y&z&{&|&}&&&&&&&&&&&&&&&W&&&&&&&&&&&&&&$&&&&&&&&&&&&&&&&*&&&&&&&&&&&&&&*&&&&&&&&&&&&&&&&&&$&&&&&&&&&&&&&&$&&&&&&&&&&&&&&&&$&&&&&&&&&&&&&&&&&&&&&'/&''''''''''' '' ' ' ' ''*'''''''' ''''''''!'('"'#'$'%'&''$')'*'+','-'.'0'H'1'9'2'3'4'5'6'7'8$':'A';'<'='>'?'@'B'C'D'E'F'G'I'X'J'Q'K'L'M'N'O'P*'R'S'T'U'V'W'Y'`'Z'['\']'^'_$'a'b'c'd'e'f'h)>'i(c'j''k''l''m'|'n'u'o'p'q'r's't'v'w'x'y'z'{'}''~'''''''''''''''''''''*'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''($'(''''''''''''''''''''((((((((((( ( ( ( ( ((((((((((((((*((( (!("(#(%(D(&(5('(.((()(*(+(,(-(/(0(1(2(3(4(6(=(7(8(9(:(;(<d(>(?(@(A(B(C(E(T(F(M(G(H(I(J(K(Ld(N(O(P(Q(R(S(U(\(V(W(X(Y(Z([d(](^(_(`(a(b(d((e((f((g(v(h(o(i(j(k(l(m(n(p(q(r(s(t(u(w(~(x(y(z({(|(}d((((((((((((((((f(((((((((((((($(((((@(((((((((((($(((((((((((((((((((((((((((((((((((((((((((() (((((((((((((((((((((((((((($((((((()))))))*))) ) ) ) ))&))))))))).))))))))) )!)")#)$)%)')/)()))*)+),)-).)0)7)1)2)3)4)5)6*)8)9):);)<)=)?*5)@))A))B)a)C)R)D)K)E)F)G)H)I)J)L)M)N)O)P)Q)S)Z)T)U)V)W)X)Y)[)\)])^)_)`)b)q)c)j)d)e)f)g)h)i*)k)l)m)n)o)p)r)y)s)t)u)v)w)x)z){)|)})~)))))))))))))))))))))))))))!)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))$))))))))))))))))*))))))))))))))*)*)*)))))*$******** ** * * * **********&** *******!*"*#*$*%*'*.*(*)***+*,*-$*/*0*1*2*3*4*6**7*v*8*W*9*H*:*A*;*<*=*>*?*@*B*C*D*E*F*G!*I*P*J*K*L*M*N*O$*Q*R*S*T*U*VW*X*g*Y*`*Z*[*\*]*^*_$*a*b*c*d*e*f*h*o*i*j*k*l*m*n*p*q*r*s*t*u*w**x**y**z*{*|*}*~*$**************$************************$****************************$****************$**************$*******+**********!*******+******++++++$+++ ++ + + + +++++++++++++++++ +!+"+#+$+% +'.+(,+),+*++++c+,+D+-+5+.+/+0+1+2+3+4+6+=+7+8+9+:+;+<+>+?+@+A+B+C+E+T+F+M+G+H+I+J+K+L$+N+O+P+Q+R+S+U+\+V+W+X+Y+Z+[+]+^+_+`+a+b+d++e+s+f+l+g+h+i+j+k+m+n+o+p+q+r+t+{+u+v+w+x+y+z+|+}+~+++++++++++++$++++++++++++++$+++++++++++++++++++++++++++++++++++++++++++$+++++++++++++++++.++++++++++++++$++++++++++$++++++++++++++$++,,,,*,,i,,1,,,,, , , , , ,,*,,,,,,,,,,,,,,, ,#,!,",$,*,%,&,',(,),+,,,-,.,/,0,2,J,3,;,4,5,6,7,8,9,:,<,C,=,>,?,@,A,B*,D,E,F,G,H,I,K,Z,L,S,M,N,O,P,Q,R,T,U,V,W,X,Y,[,b,\,],^,_,`,a,c,d,e,f,g,h,j,,k,,l,{,m,t,n,o,p,q,r,sW,u,v,w,x,y,z,|,,},~,,,,,,,,,,,,,,,,,,,,,,,,,,,$,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,,,$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-,-Z,-,,,,,,,,,,,,*,,,,,,*,,,,,,,,,,,,,,,- ,-------$--- - - - --------$------*--;--,--%- -!-"-#-$-&-'-(-)-*-+---4-.-/-0-1-2-3$-5-6-7-8-9-:-<-K-=-D->-?-@-A-B-C$-E-F-G-H-I-J -L-S-M-N-O-P-Q-R-T-U-V-W-X-Y-[--\-{-]-l-^-e-_-`-a-b-c-d-f-g-h-i-j-k-m-t-n-o-p-q-r-s-u-v-w-x-y-z-|--}--~-----$--------------------$------------*-------------*---------*--------$------*-.D-. --------------------------$------W----------.-------.-.....$.... . . . .,..........$........%.. .!.".#.$$.&.'.(.).*.+..-.5.../.0.1.2.3.4*.6.=.7.8.9.:.;.<$.>.?.@.A.B.C.E..F.e.G.V.H.O.I.J.K.L.M.N.P.Q.R.S.T.U.W.^.X.Y.Z.[.\.]$._.`.a.b.c.d.f.u.g.n.h.i.j.k.l.m.o.p.q.r.s.t*.v.}.w.x.y.z.{.|$.~.....*............$......*........$................*..............$......$.0././<./................*..............$........................$..//////$////// / / / / W//////////////$/// /!/"/#/%/4/&/-/'/(/)/*/+/,/.///0/1/2/3/5/6/7/8/9/:/;$/=/|/>/]/?/N/@/G/A/B/C/D/E/F/H/I/J/K/L/M/O/V/P/Q/R/S/T/U!/W/X/Y/Z/[/\/^/m/_/f/`/a/b/c/d/e/g/h/i/j/k/l/n/u/o/p/q/r/s/t$/v/w/x/y/z/{/}//~///////////////////////$/////*////////////////$/0+///////////////////////////$//////////////////////!////////*///////0 //////////*///////0/00000*0000 0 0 0 000000000*00000000$000 0!0"0#$0%0&0'0(0)0*0,0k0-0L0.0=0/06000102030405*0708090:0;0<0>0E0?0@0A0B0C0D$0F0G0H0I0J0K*0M0\0N0U0O0P0Q0R0S0T$0V0W0X0Y0Z0[*0]0d0^0_0`0a0b0c0e0f0g0h0i0j0l00m0u0n0o0p0q0r0s0t0v0}0w0x0y0z0{0|0~0000000000000000000$00000000$000000&0101000000000000000000000$00000000000000000000000$000000 000000000000000000000000000000000100000000$01111111 111 1 1 1 $111111$11T11511&11111111*1 1!1"1#1$1%1'1.1(1)1*1+1,1-*1/1011121314161E171>18191:1;1<1=*1?1@1A1B1C1D1F1M1G1H1I1J1K1L$1N1O1P1Q1R1S.1U1t1V1e1W1^1X1Y1Z1[1\1]*1_1`1a1b1c1d1f1m1g1h1i1j1k1l$1n1o1p1q1r1s1u11v1}1w1x1y1z1{1|1~11111*11111111*11111112 111111111111111111111$1111111111111111$11111111111111*111111111111111111111111111111$111111!111111111111111112111222$222222 2 2C2 2$2 2222222222222222222 2!2"2#ċ2%242&2-2'2(2)2*2+2,$2.2/20212223252<262728292:2;2=2>2?2@2A2B2D2\2E2M2F2G2H2I2J2K2L2N2U2O2P2Q2R2S2T2V2W2X2Y2Z2[2]2l2^2e2_2`2a2b2c2d$2f2g2h2i2j2k2m2t2n2o2p2q2r2s$2u2v2w2x2y2z2|2}2~*42322222222222$22222222222222W222222222222222222222222a222222a22a222222222222222222a222222a22a222222a2222222!2222a222323 222222222222222222222223333333333 3 3 3 a3333a33a33F33633'33 3333!333!3$3"3#3%3&3(3/3)3,3*3+$3-3.a30333132343537383?393<3:3;3=3>a3@3C3A3BW3D3E3G33H3W3I3P3J3M3K3L3N3O3Q3T3R3S3U3V3X3_3Y3\3Z3[3]3^3`3a3b!3c3d!3e!3f!3g!3h!3i!3j!!3k3l!!3m!3n3o!!3p!3q3r!3s!!3t!3u!3v!3w3x!!3y!3z3{!!3|3}!3~!3!3!!33!!3333333333333333333333333333337q3533434!3433333333633333333333633633336336333333633333333333333336333636343336333333333333333333333333333333344=446444444 4 4 64 4 6444464464444464444644 64"4j4#4Z4$4/4%4*4&4(4'34)34+4-4,34.3404U414S4234344345346347348349334:4;34<34=34>34?34@34A34B34C334D4E34F34G334H4I34J34K334L34M34N34O34P34Q4R33G4T34V4X4W34Y34[4d4\4a4]4_4^34`34b4c34e4f4h4g34i34k4|4l4u4m4r4n4p4o34q34s4t34v4y4w4x34z4{34}44~444344344443444444444444444444434333433444444444444T44S444444444444C44ƢE444Ʋ44444444Kh44Ƣ444444Kh444444b4444445R44444444T44T444444446445$4454f44444444444444545555555555 5 5 5 5 5X5555X555555555555 5!5"5#E5%5&5'5(5)5*5>5+5,5-5.5/505152535455565758595:5;5<5=ߞ5?5@5A5B5C5D5E5F5G5H5I5J5K5L5M5N5O5P5Qߞ5S55T55U55V5W5X5Y5Z5[5\5q5]5n5^5_5`5a5b5c5d5e5k5f5i5g5hqCIJ5j5l5m5o5p5r5s5t5u5v5w5x55y55z55{5~5|5}6Ƣ|Ɠ5ƢEƢ5Ƣ5|556Ƣ55Kh555E555555S555555S55q56i5655555555Q555 }555%55555555555%55555555%55m55555v5555555555e55$$55555555555555555555v555%55555555%55Om555%555555%55 %666%66?662666666 6 6  6 6 66666+66(6666 N6 N6 N6 N6 N6 N66'6%6  N6! N6" N6# N6$ N6% N N6& N%: N6)6*6,6/6-6.6061O63696465666768v6:6>%6;6<6=%6@6Y6A6M6B6F6C6D6Em6G6J6H6I6K6L 6N6R6O6P6Q6S6V6T6U6W6X6Z6`6[6_6\6]6^6a6e6b6c6d6f6g6hm6j7I6k66l66m6p6n6ov%|%6q66r6s6tv6uv6vvv6w6xvv6y6zv6{v6|vv6}v6~6vv66v6v6v6vv66v6v6v6v6v6v6v6v6v6v6v6v6v6v6vvQ%6666666%666O666666Q6666666667#6666v666666|676766666666666666666666666666666666666666666666666666666666666666666667777777777 7 7 7 7 777777777777777 777!7"%7$7@7%797&7'*7(*7)*7**7+*7,*7-*7.*7/*70*71*72*73*74*75**7677**78*7:7=7;7<7>7?Q7A7E%7B7C7D%7F7G7H7J7K7Lv7Mv7N7Ovv7Pv7Q7Rv7Svv7T7Uv7Vv7Wvv7X7Yv7Zvv7[v7\7]vv7^v7_7`v7av7bv7cvv7d7ev7fvv7gv7hv7iv7j7kvv7l7mv7nv7ov7pvv7r:7s87t77u77v77w77x77y7|7z7{7}7~k7777877777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777877777777777777777877878|78G7888848818888888$88 8 8 8 8 8888888888888888888 8!8"8# 8%8&8'8(8)8*8+8,8-8.8/80w8283858687898@8:8=8;8<88>8?88A8D8B8C8E8F8H8W8I8P8J8M8K8L8N8O8Q8T8R8S8U8V8X8_8Y8\8Z8[8]8^8`8c8a8b88d8e8f8g88h88i8v88j8k8q8l8n8m8{C88o8p{C8[{C8r8t{C8s{C{C8u{C88w88x88y8{{C8z{C8{C88}88~8888888888888888888888888888888888888888888888888888888888888888888 w888 881 88888888888888888888888888g888888888g 8888 888888888888 8889u89*898999999y99 99 99 9 9 %9999%9999!999999999%99 9"9)9#9&9$9%9'9(d%9+9<9,929-9.%v9/ 90919397949596989;999:9=9L9>9E9?9B9@9A9C9D9F9I9G9H }9J9K9M9Q9N9O9P#A9R9S9T9U9V9W9X9Y9Z9[9\9]9^9_9`9a9b9c9d9e9f9g9h9i9j9k9l9m9n9o9p9q9r9s9t9v99w99x99y99z9}9{9|9~9O9999%99%99999%O99999O99vO9999%9%9%9%9%9%9%9%9%9%9%9%9%9%9%9%9%%9999%9%9%9%9%9%9%9%9%9%9%9%9%9%9%%$9%9%9%9%9%9%%99%9%9%%9999%9%9%%$%99%9%%$999Q9Q9Q9Q9Q9Q9Q9Q9Q9Q9QQ99Q9Q9Q9Q9Q9QQ99O999999999999999 }999Q99 !999999 s9:::%::: s:: :: :: : : 3:::::::::8:::::::::: :!:":#:$:%:&:':(:):*:+:,:-:.:/:0:1:2:3:4:5:6:7:9:::;:<:=:>:?:@:A:B:C:D:E:F:G:H:I:J:K:L:M:N:O:P:Q:R:S:T:U:V:W:X:Y:[:\Q:]Q:^Q:_Q:`;|:a;v:b::c::dQ:eQ:f::g::hQ:i:Q:jQ:k:lQ:mQ:nQ:oQQ:p:qQ:rQ:sQ:tQ:uQ:vQ:wQ:xQ:yQ:zQ:{QQ:|Q:}:~Q:QQ::Q:Q:Q:Q:Q:Q~WQQ::Q:Q:Q:QQ:QQ:Q::Q:Q:Q:QQQ:Q:Q}:}Q:::Q:QQ:Q:;:Q:Q:Q:Q:Q:Q:Q:Q:Q:Q:Q:::::::Q:Q:::Q:Q:Q:Q:Q:Q:Q:Q:Q:Q:::::::QQ::QQQ:Q:Q:::::Q:QeQQ:Q:QAQ:Q:Q::Q:::::::QQ::QQQ::QQ~W::::Q:A:Q::::QQ:QQQA:QQ:Q:Q::::Q::QQt:QQ:QAQ:::Q:Q:QZQ:; :;Q:;QQ;Q;;Q;Q;;;e; ; QQ; Q; Q;Q;QQ;QQ;;;V;Q;Q;Q;Q;Q;Q;Q;Q;Q;Q;Q;Q; Q;!Q;"Q;#Q;$Q;%;I;&;=;';2;(Q;)Q;*Q;+Q;,Q;-QQ;.;/Q;0Q;1QQQ;3;4Q;5QQ;6;7Q;8Q;9Q;:Q;;Q;<Q~WQQ;>Q;?Q;@;AQ;BQ;CQ;DQ;EQQ;FQ;GQ;HQv;JQ;KQ;LQ;MQ;NQQ;O;PQ;QQ;RQ;SQ;TQQ;UQQ;WQ;XQ;YQ;ZQ;[Q;\Q;]Q;^Q;_Q;`Q;aQ;bQ;cQ;dQ;eQ;f;gQQ;h;iQ;jQ;kQ;lQQ;m;nQ;oQ;pQ;qQ;rQ;sQ;t;uQAQ;w;xQ;yQ;zQ;{Q;}Q;~QQ;;Q;QQ;}Q;;J;E;D;=M;< ;;;;;;;;;;;O;;;;;;;;;;;;;;;;;;Q;;;;;;;;;;;;;;;v;;%;;;;;;;;;O;;;%;;;;;;;;;;;;;;%;;;;;;;v;;;;;;;<;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<b<< << < < <<;<<%<<<<<<<< }<<<<< !<<|<}<~<O<O<O<O<=#<<<<<O<O<O<O<OO<<OO<<O<<<O<<<O<OO<<OO<O<O<<O<O<O<O<Ow0O<OO<O<<O<O<OO<<OO<O<<OO<"~OO<O<O<O<O<O<<O<O<OO<<O<O<OO<w0OO<<O<O<O<O<OO<<OO<<O<OO<<O<O<O<OO<<O<O<O<O<O<O<Ow0OO<<= <O<O<O<O<O<O<<O<<O<O<<O<<O<O<OO<<O<O<O<O<O<O<O"O<O<O<O<O<O<O<O<O<O<O<O<O"O<O<O<O<OO<O=O==OO=O=O=O==O=OO= = O"O= O= O=O=O=O=O=O"=="="=""=="="=""=="="="="= "=!"=""E"=$O=%"~=&"~='"~=("~=)"~=*"~=+"~=,"~=-"~=."~=/"~=0"~=1"~"~=2"~=3"~=4"~=5"~=6=7"~"~=8"~=9"~=:=;"~=<"~=="~Z"~=?=@=B=I=C=F=D=Ev=G=H=J=K=L%=N==O==P=i=Q=]=R=V=S=T=U6=W=Z=X=Y6=[=\6=^=e=_=b=`=a=c=d=f=g=hH=j=v=k=o=l=m=nH=p=s=q=rv=t=uU=w=~=x={=y=z6=|=}====/==a=========!====H==-======6==H==============6====8=8=8===8=8=8===8=8=8=8=8=8=8=8=8=8=8=8=8=8===8=8=8=8=8=8=8=8=8=8=8=8=8=8=8=8=T8=8=8=8=8=8=8=8=8=8=8=8=8=8=8=8=8=8=8=8=8============6==========6>>6>>>>>> >>>>>> 6> > > !>>>>>>V>>H>>>>6>>>>*>>#> >!>">$>'>%>&>(>)>+>/>,>->.>0>3>1>2>4>5>7>P>8>A>9>=>:>;><>>>?>@f>B>I>C>F>D>EU>G>H6>J>M>K>L/>N>OH>Q>`>R>Y>S>V>T>U>W>X>Z>]>[>\>^>_6>a>h>b>e>c>d>f>g6>i>l>j>k>mB>n>o>p>q>r>sA>t?>u?~>v?>w>>x>>y>>z>>{>>|U>}U>~U>>>>>>>>>>>6>>>>>>>>>rV>>>>>6>>>>>>>>>V>>>>HH>>>>>6>>>>>>>>>>>>U>>>>>>>>>>>6>>>6>>>>>6>>>>>>>>>>u>>>>>>>/>>>>>>>>>/>>>/>>>>>>>>6>>>>>>>>>>>/>6>6??F??#???? ?? ???? ? ? ??????????????? ????!?"H?$?3?%?.?&?*?'?(?)H?+?,?-f?/?0?1?2f?4?=?5?9?6?7?86?:?;?<?>?B???@?A?C?D?E/?G?e?H?[?I?R?J?N?K?L?M?O?P?Q?S?W?T?U?V?X?Y?ZU?\?]?a?^?_?`6?b?c?d/?f?t?g?o?h?l?i?j?k?m?nv?p?q?r?sV?u?}?v?y?w?xv?z?{?|6??v????????/???U????6??????????!????/?????????U??6????6???????/?6?????????6??6?????v?6????????6??????????v?????6???@?@*????@????????6?????6????????????6?@@@@6@@@@@@ @@ @ @ @ V@@!@@@@@V@@@@!@@@@-@@@ v@"@&@#@$@%@'@(@)/@+@i@,@H@-@:@.@2@/@0@1f@3@6@4@5@7@8@9@;@D@<@@@=@>@?@A@B@C@E@F@G@I@\@J@S@K@O@L@M@Nv@P@Q@R@T@X@U@V@Wu@Y@Z@[@]@b@^@_@`@a@c@f@d@e@g@hV@j@@k@z@l@q@m@n@o@p/@r@v@s@t@u@w@x@y!@{@@|@}@~@@@@@@@@@@@@@@@@@U@@@@@@/@@@@@@@6@@@@@@@@/@@@6@A@@@@@@@@@@@@@@@@@@@@@@@@@P@@@6@@@@@@@@6@@@@@@H@@@@@U@@a@@@@@@@@@@@H@@6@@@@@@@@@@6@@@@@@@@A@A@A@@AAAA/AA AAA uA A A 6AAAAAAAvAAAAAAAHABA BA!AA"AiA#ABA$A3A%A*A&A'A(A)A+A/A,A-A.A0A1A26A4A9A5A6A7A86A:A>A;A<A=/A?A@AA6ACAVADAMAEAIAFAGAHUAJAKAL6ANARAOAPAQ!ASATAUAWA`AXA\AYAZA[!A]A^A_6AaAeAbAcAd6AfAgAh!AjAAkAzAlAuAmAqAnAoApvArAsAtAvAwAxAyA{AA|AA}A~6AAHAAAAAAAAAAAAAAAA6AAAAAAAAAA6AAAAAAAAAAAAAAAAA/AAAAA/AAAAAAAAAAA6AAA/AAAAAAAA6AAAAAAA/AAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAA6AAAAAAA/AAAAAAAABBB!BBKBBGBB-BBBBB B B B B aBBB/BBBBB/BBB6BB$BB BBBB!B"B#6B%B)B&B'B(vB*B+B,B.B8B/B0B4B1B2B3B5B6B76B9BBB:B>B;B<B=6B?B@BAUBCBDBEBF6BHBIBJ6BLBBMBsBNBaBOBXBPBTBQBRBSBUBVBWaBYB]BZB[B\6B^B_B`BbBkBcBgBdBeBfBhBiBjBlBoBmBnBpBqBr!BtBBuB|BvByBwBxuBzB{/B}BB~B BBBrVBBBBBBBBBBBBBB6BB-yBBB6BBBB6BCBC7BBBBBBBBBBBBBBBBBBB/BBBBBBBBBBBBBBBBBBBBBBBUBBBBBBBBBBBBBBBBBBBBBBBBBB/BBBBBBBBBBBB/BCBCBBBBB6BBBBBBBBCCCCCCCCC C C C C CCCC*CCCCCCCCCCCCC/CC C!C"C#C$C%C&C'C(C)C+C,C-C.C/C0C1C2C3C4C5C6fC8CsC9CTC:CGC;C<C=C>C?C@CACBCCCDCECFCHCICJCKCLCMCNCOCPCQCRCS CUCnCVCbCWCXCYCZC[C\C]C^C_C`CaCcCdCeCfCgChCiCjCkClCmCoCpCqCr/CtCCuCCvCCwCxCyCzC{C|C}C~CCCCCCCCCCCCCC6CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCUCDVCDCCCCCCCCCCCCCCCCC6CCCCCCC/CCCCCCCCCCCC6CDCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDD D D D D DHDD/DD*DDDDDDDDDDDDDDD D!D"D#D$D%D&D'D(D)6D+D,D-D.6D0DID1D=D2D3D4D5D6D7D8D9D:D;D<D>D?D@DADBDCDDDEDFDGDHDJDKDLDMDNDODPDQDRDSDTDU6DWDDXDDYDrDZDfD[D\D]D^D_D`DaDbDcDdDeDgDhDiDjDkDlDmDnDoDpDq!DsDtDuDvDwDxDyDzD{D|D}D~UDDDDDDDDDDDDDDD6DDDDDDDDDDDDDDDDDDDDDDDvDDDDDDDDDDDDDDDDDDDDDDDD6DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD6DDDDDDDDDDDD6DEDEDEBDEDEDDDDWDDDDDWEEEEEEEEWE E E E aE EEE8EEE5EEEEEEEEEEEEEE E!E"E#E$E%E&E'E(E)E*E+E,E-E.E/E0E1E2E3E4E6E7E9E=E:E;E<E>EAE?E@*ECE^EDEOEEEJEFEIEGEH$EKELEMENEPEWEQETERESEUEVEXE[EYEZE\E]*E_EE`aEaEdEbEcEeEfEgEh!!EiEj!Ek!El!!EmEn!!EoEp!Eq!Er!Es!Et!!EuEv!Ew!!ExEy!Ez!E{!E|!!E}!E~!EE!!EE!!EE!E!E!!EEEEEEEEEEEEEEEEEEEEEEEEEWEEEIEHEGEG;EEEEEEEEEEEEEEEEEgEgEgEEEEEEEEEEEEEEEEEEEEEEEEEEwEEEEEEEEE EEEEEEEEEEEEEEEEEEEFEFEEEEEEEEEEEEFFFFFFFFFF F F F FgF FFFFFFFFFFF  FF#FFTFFFF=FF.F F'F!F$F"F# F%F&|F(F+F)F*4|F,F- F/F6F0F3F1F2n^zF4F5Z,YF7F:F8F9K&F;F<P F>FMF?FFF@FCFAFBFDFEu|*FGFJFHFIqlFKFLuFNFOFRFPFQ  FSwTFUFVFWFXFYF`FZF]F[F\ F^F_g `FaFdFbFc:|FeFfFhFFiFFjFkFlFmF|FnFuFoFrFpFqw|FsFtHU1FvFyFwFx>uFzF{$/F}F~FF#FFFFFFFFFFF#w|FFHU1FFFF>uFF$/FFFF#FFFFFFFFFFFFFFFF|FFFF4|FF FFFFFFn^zFFZ,YFFFFK&FFP FFFFFFFFFFu|*FFFFqlFFuFFFFF  FwTFFFFFFFFFF FFg `FFFF:|FFFFFFFFFFFGFG FFFFFFFFFFFFFHFGGGGGGGGGG HG G G GGGGGGGGGHGG.GGGGGG%GGG G!G"G#G$HG&G'G(G)G*G+G,G-G/G0G1G2G3G4G5G6G7G8G9G:HG<GiG=GZG>GBG?G@GAGCGFGDGEGGGHGYGIGJGKGLGMGNGOGPGQGRGSGTGUGVGWGX G[GbG\G_G]G^G`GaGcGfGdGeGgGhGjGGkGGlGoGmGnGpGqGrGsGtGuGvGwGxGyGzG{G|G}G~GGGG GGGGGGGGGGGGGGGGGGGGGGGGGGGGG8GGGGGGGGGGGGGGGGGGGGGG8GGGGGGGGGGGGGGGG8GGGGGGGGGGGGGGGH GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGgGGgGHGGGGHHHHHHHHH HH HH HH HHHHHHHHHHH!HHHHHH H"HH#H$H%H&H'H(H)H*H+H,H-HH.HxH/HdH0HYH1HOH2HJH3HHH4H5H6H7H8H9H:H;H<H=H>H?H@HAHBHCHFHDHEg 1HGwHI  HKHM HL HN HPHSHQ HR HTHWHUHV  HXuHZHaH[ H\H_H]H^ H` Hb Hc HeHsHfHkHgHhHiHjgg HlHpHmHnHog  HqHr HtHuHvHw HyHHzHH{HH|HH}HH~ HH HHH  H HHHHHH   uH HHH H  HHHHHH  H HHHHgg  H HHH HHHwTHgHHHHHHHHg  uHHHHH1HHHHHHHHuHH  HHHHuHH|*4HHHHH HH  HHHHHHHHHHHH  HHHHHHHHHHHILHIHHHHvHHHHHHHIHIHvHvHvHvHvHvHvHvHvHvHvHvHvIvvIIvIvvIIvvIvIvIvI I vI vI vI vIvIvIvIvIvIvIvvIIvO%II#IIIII } I I!I"I$I(I% }I&I' }I)I*I+I,I-I.I/I0I1I2I3I4I5I6I7I8I9I:I;I<I=I>I?I@IAIBICIDIEIFIGIHIIIJIKMIMIINIzIOISIPIQIR%ITIWIUIVOIXOIYOIZOI[OI\OI]OI^OOI_OI`IaOOIbOIcOIdIeOIfOIgOIhOIiOIjOIkOIlOImOInOIoOIpOIqOIrOIsOOItIuOIvOIwOOIxOIyOw0I{II|I}%I~%I%%I%I%I%I%I%I%I%I%I%I%II%%II%%I%II%I%I%I%I%I%I%I%%II%%I%II%I%I%%$IIIII }I }I }I }I }I }I }I }I }I } }II }I } }II } }II }I }I }I }I } }II }I } }II } }I }I }II } }I }II }I } }IIII }I%IIIIIIIIIIIIIIIIvIIJ.IJ IIIIIIIIIIIIIIIyIIIIIIIIIIIIIII %IJIJJJJJ%JJ JJJ J vJ J JJJJJJJJ%JJ JJJ%JJ%JJJJ!J)J"J(J#J&J$J%J'%%J*%J+J,J-%J/JuJ0JLJ1J@J2J9J3J6J4J5 _J7J8%J:J=J;J<J>J?JAJEJBJCJD%JFJIJGJHJJJKJMJfJNJbJOJP%JQ%JR%%JSJT%JU%JV%JW%%JXJY%JZ%J[%J\%J]%J^%J_%J`%%Ja:%JcJdJe%JgJnJhJkJiJjJlJm sJoJrJpJqJsJtJvJJwJJxJ|Jy%JzJ{J}J~JvJJJJJJJJJmJJQJJJJJJJJJJ%%JJJJJJJJJJJJJJJJJJWJJ: JJJIJJIJJJJJJIJIJJJJJJJJJfX=LJJJJJJJJJJJJWJJJJJJJJJJJJJJIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKK K KKK K7K *K *K*K*K*K*K*K*K**KK*K*K*K*K**KK*K*K**KK *K!**K"*K#K$*K%*K&*K'*K(*K)**K**K+K,*K-**K.K/**K0K1**K2*K3*K4*K5*K6*K8K9K:K;K<K=K>K?K@KAKBKCKDKEKFKGKHKIKJKLKMKNKOKPKQKRKSKTKyKUKVKWKXKYKZK[K\K]K^K_K`KaKbKcKdKeKfKgKhKiKjKkKlKmKnKoKpKqKrKsKtKuKvKwKxKzK{K|K}K~KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKA`KKKKK%K%K%K%K%%K%KKKK%KKK%K%K%%KK%%KK%%K%K%K%KK%K%K%%KK%%KK%K%%K%K%KK%K%K%K%%KK%K%K%K%K%K%K%%K%K%%K%K%K%K%KK%%K%K%KK%%KK%K%K%K%K%%K%K%KK%K%%K%K%K%KK%K%%KK%%K%KK%%KL:KL%KK%%KK%K%%K%K%K%K%K%KL%L%%L%LL%%L%L%LL%%L L %%L %L %L L%%LL%L%L%L%L%L%L%%L%L%L%L%L%L%L%%L%L %L!%L"L#%L$%L%%L&%%L'%L(L)%%L*L+%%L,L-%L.%%L/%L0L1%%L2L3%L4%L5%L6%L7%L8%L9%%%L;L<%%L=%L>%L?%L@%LALB%%LC%LD%LE%LFLG%LH%LI%LJ%LK%%LLLM%%LNLO%%LP%LQLR%LS%LT%LU%%LVLW%LX%LY%LZ%L[%L\%L]%%L_L`LaLbLcLdLLeLfLgLhLiLjLkLlLmLnLoLpLqLrLsLtLuLvLwLxLyLzL{L|L}L~LLLOOLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL9LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLPLLLLLLLLLLLLLL\LLLLLLLLLLLLLLLLLLLLLLOLLMMMMMMMMMM M M M M MMMMMMMM\MMMMMMMMMM M!M"M#M$M%M&M'M(M)M*M+M,M-M.QM0 KM1 JM2M3 JM4M5M6 I%M7M8M9yM:_M;SM<P%aM=M>NM?MM@MMAMkMBMYMCMNMDMIMEMFMGMHMJMKMLMMMOMTMPMQMRMSMUMVMWMXMZM`M[M\M]M^M_MaMfMbMcMdMeMgMhMiMj*MlMMmMxMnMsMoMpMqMrMtMuMvMwMyM~MzM{M|M}MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMMMMMMMMMM*MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMMMMMMMMMMMMMMMMM*MNEMNMNMMMMMMMM$MMMMWMMMMMM!NNNNNNNN NNN N N N NNNNNNNNNNNNNN.NN(NN#NN N!N"N$N%N&N'N)N*N+N,N-N/N:N0N5N1N2N3N4WN6N7N8N9N;N@N<N=N>N?NANBNCNDNFNuNGN^NHNSNINNNJNKNLNMNONPNQNRNTNYNUNVNWNXNZN[N\N]N_NjN`NeNaNbNcNdNfNgNhNiNkNpNlNmNnNoNqNrNsNt*NvNNwNNxNNyNzN{N|N}N~NNNNNNNNNNNNNN=NNNNNNNNNNNNNNNN=NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN$NOuNONNNNNNNNNNNNaNNNN$NNNNNNNNNNNNN$NNNNNNNNNNNNNNNONNNNNNNN*NNNNNNNNNNOOOOOOOO OOO O O O OOOOOOOOOOOO$OOKOO4OO)OO$O O!O"O#O%O&O'O(O*O/O+O,O-O.O0O1O2O3O5O@O6O;O7O8O9O:O<O=O>O?OAOFOBOCODOEOGOHOIOJOLO^OMOSONOOOPOQOROTOYOUOVOWOXOZO[O\O]O_OjO`OeOaObOcOdOfOgOhOiOkOpOlOmOnOo*OqOrOsOtOvOOwOOxOOyOOzOO{O|O}O~OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO$OOOOOOOOOO$OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO*OPOPOPOPPPPPPP*P PP P P P PPPP*PPPPPPP*PP PPPPP!P"P#P$P&P'QP(PP)PP*PTP+PBP,P7P-P2P.P/P0P1P3P4P5P6P8P=P9P:P;P<P>P?P@PAPCPNPDPIPEPFPGPHPJPKPLPMPOPPPQPRPSPUPlPVPaPWP\PXPYPZP[.P]P^P_P`*PbPgPcPdPePfPhPiPjPkPmPxPnPsPoPpPqPrPtPuPvPwPyP~PzP{P|P}PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPaPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQ=PQPPPPPPPPPP.PPPPPPPPPPPPPPaPQPQPQQQ!QQQQQ Q Q Q Q QQ&QQQQQQQQ}QQQQQQ!QQQQ Q"Q#Q$Q%Q'Q2Q(Q-Q)Q*Q+Q,$Q.Q/Q0Q1Q3Q8Q4Q5Q6Q7Q9Q:Q;Q<*Q>QmQ?QVQ@QKQAQFQBQCQDQEQGQHQIQJ*QLQQQMQNQOQPQRQSQTQUQWQbQXQ]QYQZQ[Q\Q^Q_Q`QaQcQhQdQeQfQgQiQjQkQlQnQ{QoQuQpQqQrQsQtQvQwQxQyQz*Q|QQ}Q~QQQQQQQQQ*QQQQQRCQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ*QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ*QQQQQQQQQQQQQQQQQQQQQQQQQQQRQR QRQQQQQQQQRRRRRRRRR R R R RRRRRRRRRRRRRR1RR&RR!RRR R"R#R$R%R'R,R(R)R*R+R-R.R/R0R2R=R3R8R4R5R6R7R9R:R;R<R>R?R@RARBRDRRERRFR}RGRrRHRmRIRJRKRL\RM\RNRORPRQRRRSRTRURVRWRXRYRZR[R\R]R^R_R`RaRbRcRdReRfRgRhRiRjRkRl7RnRoRpRqRsRxRtRuRvRwRyRzR{R|R~RRRRRRR*RRRRRRRRRRRRRRRRRRRRRRRR*RRRRRRRRRRRRRRRRRWRRRR RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRQiQRQRQiRRRRRRRRRRRRRRRRRRRRRR RRRRRRRRRRRRRRRRRRRRS SSSSSSSSSS S SS S SSSSSSSXSUTSSSSCSSSSSSS S!S"S#S$S%S&S'S(S)S*S+S,S-S.S/S0S1S2S3S4S5S6S7S8S9S:S;S<S=S>S?S@SASBSDSSESjSFSXSGSMSHSISJSKSLSNSSSOSPSQSRSTSUSVSWSYSdSZS_S[S\S]S^S`SaSbScSeSfSgShSiSkSSlSwSmSrSnSoSpSqSsStSuSvSxS}SySzS{S|S~SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSWSSSSSSSSSSSS$SSSSSSSSSS$SSSSSSSSSS*SSSSSSSSSSSSSSSSSSSSSSaSSSS$SSSSSSSSSS$STSTTST*STSTSTSTTTWTTTTT TT T T T TTTTTTTTTTTT TTTTT T%T!T"T#T$T&T'T(T)T+TBT,T7T-T2T.T/T0T1T3T4T5T6T8T=T9T:T;T<T>T?T@TATCTNTDTITETFTGTHaTJTKTLTMTOTPTQTRTSTUTzTVTcTWT]TXTYTZT[T\$T^T_T`TaTbTdToTeTjTfTgThTiTkTlTmTn TpTuTqTrTsTtTvTwTxTyT{TT|TT}TT~TTT*TTTT$TTTTTTTTTTTTT*TTTTTTTTTTTTTT$TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT$TTTTTTTTTTTTTTTTTTTTTTTT*TTTT4TTTTTTTTTTTTTTTTTTTTTTTU*TUTUTUTUUUUUUUU UU U U U UUUU!UUUUUUUUUUUU*U U%U!U"U#U$$U&U'U(U)U+UBU,U7U-U2U.U/U0U1U3U4U5U6U8U=U9U:U;U<$U>U?U@UAUCUIUDUEUFUGUHUJUOUKULUMUNUPUQURUSUUW.UVVSUWUUXUUYUpUZUeU[U`U\U]U^U_*UaUbUcUdUfUkUgUhUiUj$UlUmUnUoUqU|UrUwUsUtUuUvUxUyUzU{U}UU~UUU!UUUUUUUUUUUUUUUUUUUUUUU$UUUUUUUUUUUUUUUUUUUUUUUV$UUUUUUUUUUUUUUUUUUUU*UUUUWUUUUUUUUUUUUUUUUUUUUUVUUUUUUUUUUUUUUr7UVUUUUUUUUUUUUڞUUUUUVVVoVV VVVVV V V V VVVVVVVVV܀' xVVVVVVVVV V!V"V#V%V<V&V1V'V,V(V)V*V+V-V.V/V0V2V7V3V4V5V6V8V9V:V;V=VHV>VCV?V@VAVBVDVEVFVGVIVNVJVKVLVMVOVPVQVRVTVVUVVVVhVWV]VXVYVZV[V\V^VcV_V`VaVbVdVeVfVgViVVjVkVlVmVnVoVpvVqvVrVvVsVtvVuvVvvVwvVxvVyvVzVvV{V|vV}vV~vvVvVvVvVvvVvVVVvVvvVVvVvVvvVVvVvVvvVvvVVvVvVvVvvVVVVVVVVVVVVVVVVVVVVVVVVVWVVVV*VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV*V*V*V*VVV*VV*~~V*V**VVVVVVVVVV$WWWW WWWWWWWW W W W WWWWW$WWWWWW#WWWWWW!WW W!W"W$W)W%W&W'W(W*W+W,W-$W/WW0WW1W`W2WIW3W>W4W9W5W6W7W8W:W;W<W=W?WDW@WAWBWCWEWFWGWHWJWUWKWPWLWMWNWOWQWRWSWT*WVW[WWWXWYWZW\W]W^W_WaWsWbWmWcWhWdWeWfWgWWiWjWkWlaWnWoWpWqWr*WtWzWuWvWwWxWyW{WW|W}W~W!WWWWWWWWWWWWWWWWWWWW*WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW*WWWWWWWWWWWWWW*WX9WXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXWWWXXXXXXXaXaX aX aX aX aX aXaXaXaXaXXaaXX'XX!XXXXXX*XXXX X"X#X$X%X&X(X3X)X.X*X+X,X-*X/X0X1X2X4X5X6X7X8X:XdX;XMX<XGX=XBX>X?X@XA*XCXDXEXFXHXIXJXKXL*XNXYXOXTXPXQXRXSXUXVXWXXXZX_X[X\X]X^$X`XaXbXcXeX|XfXqXgXlXhXiXjXkAXmXnXoXp$XrXwXsXtXuXvXxXyXzX{X}XX~XXXXXXXXXXXXXXXXXXXX[XZjXYpXYXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXWXXXXXXXXXXXXXXXXXXXXXXXX*XXXXXXXXXX*XXXXXY XYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYY Y Y YY YYYYYYYYYFYY/YY$YYYYYYY Y!Y"Y#Y%Y*Y&Y'Y(Y)$Y+Y,Y-Y.Y0Y;Y1Y6Y2Y3Y4Y5!Y7Y8Y9Y:Y<YAY=Y>Y?Y@YBYCYDYEYGY^YHYSYIYNYJYKYLYMYOYPYQYRWYTYYYUYVYWYXYZY[Y\Y]Y_YeY`YaYbYcYdYfYkYgYhYiYjYlYmYnYoYqZ YrYYsYYtYYuYzYvYwYxYyY{Y|Y}Y~YYYYYYYYYYYYYYYYYYYYYYYYYYYY$YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYtYYYYYYYYFYY9FAYYYYt/YYYYYYYYYYYYYYYYYYYYYYYYYYYYYY*YZYZYYYYZZZZZZZZ Z Z Z;Z Z$ZZZZZZZZZZZZWZZZZZZZ Z!Z"Z#*Z%Z0Z&Z+Z'Z(Z)Z*Z,Z-Z.Z/Z1Z6Z2Z3Z4Z5Z7Z8Z9Z:Z<ZSZ=ZHZ>ZCZ?Z@ZAZBZDZEZFZGZIZNZJZKZLZMZOZPZQZRZTZ_ZUZZZVZWZXZYZ[Z\Z]Z^Z`ZeZaZbZcZdZfZgZhZiZk[$ZlZZmZZnZZoZzZpZuZqZrZsZt*ZvZwZxZy*Z{ZZ|Z}Z~ZZZZZZZZZZZZZ*ZZZZZZZZZZZZZZZZZZZZZZZZWZZZZWZZZZZZZZZZZZZZZZZZ*ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ*ZZZZZZZZZZZ[Z[Z[ZZ[[[[[[[[ [ [ [ [ [[[[[[[[[[[[[[[[[[ [!["[#[%[[&[U['[>[([3[)[.[*[+[,[-*[/[0[1[2[4[9[5[6[7[8[:[;[<[=[?[J[@[E[A[B[C[D[F[G[H[I[K[P[L[M[N[O[Q[R[S[T*[V[m[W[b[X[][Y[Z[[[\c[^[_[`[a[c[h[d[e[f[g[i[j[k[l[n[y[o[t[p[q[r[s*[u[v[w[x[z[[{[|[}[~[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[$[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[]K[\[\E[\[[[[[[[[[[[[[[$[[[[[[[[[[\\ \\\\\\\\\ \ \ \\ \\\*\\\\\\.\\#\\\\\\\\ \!\"\$\)\%\&\'\(\*\+\,\-\/\:\0\5\1\2\3\4W\6\7\8\9\;\@\<\=\>\?\A\B\C\D\F\p\G\^\H\S\I\N\J\K\L\M\O\P\Q\R\T\Y\U\V\W\X\Z\[\\\]\_\e\`\a\b\c\d\f\k\g\h\i\j\l\m\n\o\q\\r\}\s\x\t\u\v\w\y\z\{\| \~\\\\\\\\\\\\\\\\\W\\\\$\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\$\\\\\\\\\\\\\\\\\\\\\\\\\\\\]!\]\]\\\\\\*]]]]]] ]]]] ] ] ] ]*]]]]]]]]]]]]]]]]] ]"]9]#].]$])]%]&]'](W]*]+],]-*]/]4]0]1]2]3]5]6]7]8]:]@];]<]=]>]?]A]F]B]C]D]E]G]H]I]J]L^~]M]]N]s]O]a]P][]Q]V]R]S]T]U]W]X]Y]ZW]\]]]^]_]`]b]m]c]h]d]e]f]gW]i]j]k]l]n]o]p]q]r$]t]]u]]v]{]w]x]y]z]|]}]~]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^Q]]]]]]]]]]]]]]*]]]]]]^F]]]]]]]]]]]]*]*]**]]^]]*]]]]*]*]**]]]]*]**l*]*]*l]*]*]**]]]]]]d*dd]d**]*]*d]]*]]*]*]**]]]]]]d*dd**]*]*d]]]*]*]**]]]]*]**]*]*]*]*]**^^^d^d^d**^*^*d^^/^ ^*^ ^ *^ *^ **^^^^^^~*~~**^*^*~^^"^*^*^**^^^^*^***^ *^!*^#*^$*^%**^&^'^,^(^*^)~*~~^+~**^-*^.*~*^0^1^>^2*^3*^4**^5^6^;^7^9^8~*~~^:~**^<*^=*~^?*^@*^A**^B^C*d^D^E*d*^G^L^H^I^J^K^M^N^O^P^R^i^S^^^T^Y^U^V^W^X^Z^[^\^]^_^d^`^a^b^c^e^f^g^h^j^s^k^n^l^m!^o^p^q^r^t^y^u^v^w^x^z^{^|^}^^^^^^^^^^^^^^^^^^^^^^^*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*^^^^^^^^^*^^^^^^^^*^^^^^^^^^^$^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*___________ __ _ _ _ ____*___________k-_ e_!b_"`_#__$__%_T_&_=_'_2_(_-_)_*_+_,$_._/_0_1_3_8_4_5_6_7_9_:_;_<*_>_I_?_D_@_A_B_C_E_F_G_H_J_O_K_L_M_N_P_Q_R_S_U_l_V_a_W_\_X_Y_Z_[*_]_^___`_b_g_c_d_e_f$_h_i_j_k_m_x_n_s_o_p_q_r_t_u_v_w!_y_~_z_{_|_}A______________________________________*______________$____________________*____________*_______________`8_`______________*______`_______```*`` ````` ` ` ` ``!````````````````` `"`-`#`(`$`%`&`'`)`*`+`,`.`3`/`0`1`2`4`5`6`7$`9`c`:`Q`;`F`<`A`=`>`?`@`B`C`D`E`G`L`H`I`J`K`M`N`O`P`R`X`S`T`U`V`W`Y`^`Z`[`\`]`_```a`b`d`v`e`k`f`g`h`i`j`l`q`m`n`o`p`r`s`t`u`w``x`}`y`z`{`|`~````````````` `a`a`a=`a&`a`a```````````````````````````````````````````````````I```````````````````I````````````````````````````7``````````aaaaaaaa*3rĚaa݉a a a <a a aaaaa0*8|naaIaaaaaa!aaaa a"a#a$a%a'a2a(a-a)a*a+a,a.a/a0a1a3a8a4a5a6a7$a9a:a;a<*a>aya?ana@aiaAaBaCafaDaEFaFaGFaHFaIFaJFaKFaLFaMFaNFaOFaPFaQFaRFaSFaTFaUFaVFaWFaXFaYFaZFa[Fa\Fa]Fa^Fa_Fa`FaaFabFacFadFaeFFagahFajakalamaoatapaqarasauavawaxazaa{aa|a}a~aaaaa*aaaaaaaaaaaaaaaaaaaaaa*aaaaaaaaaaaaaaaaaaaaaaaa$aaaaaaaaaa$aaaaaaaaaaaa$aaaa*aaaaaaaaaaab\abaaaaaaaaaaWaaaaaaaaaaaaaaaaaaaaaa*aaaabbbbbbb4bbbb b b b b bbbbbbbbbbbbbbbbbb b!b"b#b$b%b&b'b(b)b*b1b+b.b,b-3b/b0:.!3b2b39b5bQb6b7b8b9b:b;b<b=b>b?b@bAbGbBbCbDbEbFbHbIbMbJbKbLbNbObPbRbWbSbTbUbVbXbYbZb[b]bb^bub_bjb`bebabbbcbdbfbgbhbi&bkbpblbmbnboWbqbrbsbtbvb|bwbxbybzb{*b}bb~bbb$bbbbbbbbbbbbbbbbbbbbbbbb*bbbbbbbbbbbb*bbbbbbbbbbbbbbbdGbcbcbbbbbbbbbbbb*bbbbbbbbbbbbbb*bbbbbbbbbbbbbbbbbbbbbbbcbbbbbbbbbbbbbbbbbb$bbbccc ccccccc c c c cccccc$cccccc9cc'cc!ccccc c"c#c$c%c&*c(c3c)c.c*c+c,c-$c/c0c1c2c4c5c6c7c8c:cQc;cFc<cAc=c>c?c@.cBcCcDcEcGcLcHcIcJcKcMcNcOcPcRccSccTcUcVcWcXcYcZc[c\c]c^c_cc`cxcacbcrcccicdcecfcgchrrcjcnckclcmrcocpcqrcsctcucvcwrcyczc{c|c}c~crcccccccccrcccccccrccccccccccccccccccccccc_cccc*cccccccccccccccccc*cccccccccc*cccc.ccccccccccccccccccccccccccccccccccccccccccdcd cdcdccccdddddddd d d dd dddd ddddddWdddddd5dd*d d%d!d"d#d$d&d'd(d)d+d0d,d-d.d/d1d2d3d4Wd6dAd7d<d8d9d:d;d=d>d?d@dBdCdDdEdFdHddIddJdtdKdbdLdWdMdRdNdOdPdQ$dSdTdUdVdXd]dYdZd[d\d^d_d`dadcdidddedfdgdh*djdodkdldmdndpdqdrdsduddvd|dwdxdydzd{d}dd~ddddddddddddddddddddddddd*ddddddddddddddddddddddddddddddddd*dddddddddddddddddddddddddddd$dddddddd*ddddddddddddddWdeGde"dedddddddd*dddd*ddeeeeeee eeee $e e e eeeeeeeeeeeeeeeeee e!e#e5e$e/e%e*e&e'e(e)e+e,e-e.e0e1e2e3e4e6eAe7e<e8e9e:e;e=e>e?e@eBeCeDeEeF*eHereIe`eJeUeKePeLeMeNeOeQeReSeTeVe[eWeXeYeZe\e]e^e_eaelebegecedeeefaeheiejekemeneoepeq*eseetezeuevewexeye{e|e}e~eeeeeeeeeaeeeeeeeeeeeeeeeh;efef;eeeeeeeeeeeeeeeeeeeeeee$eeeeeeeeeeeeaeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeefeeeeeeeeeeeeeeePeeeefffffffff ff f f f fff*ff)ffffffffffffff$f f!f"f#$f%f&f'f($f*f5f+f0f,f-f.f/f1f2f3f4f6f7f8f9f:f<ff=fgf>fUf?fJf@fEfAfBfCfDfFfGfHfIfKfPfLfMfNfOfQfRfSfTfVfafWf\fXfYfZf[f]f^f_f`*fbfcfdfeff*fhffiftfjfofkflfmfn*fpfqfrfsfufzfvfwfxfyf{f|f}f~ffffffffaffffffffffWffffffffffffffff*ffffffffff$ffffffffffff$fffffffffffffffffff*fffffffffffffffffffffffffffffffffffffgfg@fgfgfgffffffffffgg*ggggggg gg g g g *gggggggggggggggg1g g+g!g&g"g#g$g%g'g(g)g*g,g-g.g/g0g2g:g3g5g4g6g7g8g9g;g<g=g>g?gAgpgBgYgCgNgDgIgEgFgGgHAgJgKgLgMgOgTgPgQgRgSgUgVgWgXgZgeg[g`g\g]g^g_gagbgcgdgfgkggghgigjglgmgngogqggrg}gsgxgtgugvgwagygzg{g|g~gggggggggggggggggWggggggggggggggggggggggggggggggggggggggggggggggggg$ggggggggggggggg*gggggggggggggg$ggggggggWgggggggggghghggggggggggggghhhhhh hhhh h h h hhhhh$hhhhhhhhhhhhhh h!h"h#h%h0h&h+h'h(h)h*h,h-h.h/$h1h6h2h3h4h5h7h8h9h:h<ih=hh>hh?hih@hWhAhLhBhGhChDhEhFhHhIhJhKhMhRhNhOhPhQhShThUhVhXhchYh^hZh[h\h]$h_h`hahbhdhehfhghhhjhhkhvhlhqhmhnhohp*hrhshthuhwh|hxhyhzh{h}h~hh*hhhhhhhh$hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh*hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiLhihihhhhhhhhWhhhhhihhhi*iiiiiiii i i i i iiiiiiiiii*iiiiii5ii*i i%i!i"i#i$i&i'i(i)i+i0i,i-i.i/i1i2i3i4i6iAi7i<i8i9i:i;i=i>i?i@iBiGiCiDiEiF!iHiIiJiKiMi|iNieiOiZiPiUiQiRiSiTiViWiXiYi[i`i\i]i^i_iaibicidifiqigilihiiijikiminioipiriwisitiuivixiyizi{*i}ii~iiiiiiiiiiiiiiiiiiiiiiii*iiiiiiiiiijxiiiiiiiiiiiiii*iiii8iiiiii!iiiiiiiiiiii*iiii$iiiiiiaiiiiiiiiiiiiiiiiiiiiiii*iiiiiiii$iiiiiiiiiiiiii ij9ij'jj jjjjjjjjj j j j"j jjjjjjjjjjjjjjjjjjj j!'0j#j$j%j&j(j.j)j*j+j,j-j/j4j0j1j2j3j5j6j7j8*j:jfj;jFj<jAj=j>j?j@jBjCjDjEjGjajHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXj^jYj\AtjZj[Atj]Atj_j`Atjbjcjdjejgjmjhjijjjkjljnjsjojpjqjrjtjujvjwjyjjzjj{jj|jj}jj~jjj*jjjjjjjjjjjjjjjjjjjjj!jjjjjjjjjjjjjjjjjjjjWjjjj.jjjjjjjjjjjjjjjjj*jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj*jjjj$jkkk kkkkkkkkk k *k kk kkkkkkkkk"kkkkkk$kkk k!k#k(k$k%k&k'k)k*k+k,*k.sk/pk0lk1kk2kk3kbk4kKk5k@k6k;k7k8k9k:Wk<k=k>k?kAkFkBkCkDkE*kGkHkIkJkLkWkMkRkNkOkPkQ$kSkTkUkVkXk]kYkZk[k\.k^k_k`kakckukdkjkekfkgkhkikkkpklkmknkokqkrksktkvkkwk|kxkykzk{Ak}k~kkkkkkkk$kkkkkkkkkkkkkkkkkkkkkkkkk$kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk*kkkkkl2klkkkkkkkkkk*kkkkkkkkkkkkkkkkkkkkkkklllllllll lll l *l l llllllll!llllll'll"lll l!Wl#l$l%l&l(l-l)l*l+l,!l.l/l0l1l3lbl4lKl5l@l6l;l7l8l9l:l<l=l>l?lAlFlBlClDlElGlHlIlJlLlWlMlRlNlOlPlQlSlTlUlV$lXl]lYlZl[l\l^l_l`lalclldloleljlflglhlilklllmlnlplulqlrlsltlvlwlxlylzl{Wl|Wl}Wl~WlWlWlWlWlWlWlWlWlWlWWlWlllllllllllllllllllllllpAllllllllllllllllllllllllllllllllllllllllllllllllllll$llllllllllllllWlllllllllllllllllllllllmlmlmllmmmm!mm mmmm m m m mmmmmmmmmmmmmp*mpmmm m!m"m#m$m%m&m'm(m)nm*mm+mm,mvm-mGm.m3m/m0m1m2 m4m>m5m;m6m9m7m8  1m:wm<m=gm?mDm@mBmAmC$mEmF KmHm_mImTmJmQmKmNmLmMu|mOmPwmRmS mUm\mVmYmWmX1umZm[F>Hm]m^Hm`mkmamhmbmemcmd  mfmg|mimjgmlmsmmmpmnmogumqmr4 mtmumwmxmymmzmm{m~m|m}#wmmmnummmmmm mmmmmmmmmmmmmm3|*mmmmmm /Hmmmmmmmmmmmml;l^mmKmmmmmmmmqwTmmmmmmmmmmmmmmummz,mm&Ymmmmm gmmmmmmmmmmmwgmmgPmmmmmmmmm|n"n)n#n&n$n%|!n'n(|B/n*n+n-nCn.n9n/n6n0n3n1n2> n4n5un7n8|un:n@n;n=n< n>n?q|nAnBnDnLnEnJnFnHnG/nInKHnMnRnNnPnOKnQ|nSnTRnVnWnXn^nYnZn\n[Hn]wn_ncn`nanb und nfnngnnhntninjnqnknnnlnm|nonp,|nrnsnunynvnwnxnznn{n}n| n~Knqnnnnnnnnn  nnqunnnnH nn ,nnnnnnn|nuunnnnnn1 n Hnn nnnnnnn n1nq nn nnnn|nono!no nnnnnnnnnnn nn| nn1 nnnnnnnH nnnnnnnnnn H nn HnnHnnnnnnH Hnnnn`Ynnnnnnnnnq $nn1nnnnnn HnH1nn nonnnnn Yoowoooooo ,o o 1Yo o oooooooo.UooH1 oo |oowooof>oo  o"ooo#oHo$o4o%o*o&o'o(o)Bo+o1o,o.o-,,o/o0 o2o3o5o>o6o;o7o9 o8 $o: Ko<o= |o?oEo@oBoA |oCoD  oFoG oIo[oJoToKoQoLoNoM,oOoP,U oRoS,oUoVoXoW&,oYoZ  o\ofo]oco^oao_o`#  ob odoeuogomohojoi okol# onHopoqoro{osoxotovou,ow 4oyozo|oo}oo~oHuoo1H o ooooooooooooooooooooouo oooooooooooo  4oYoo ooooooo ooooooo> oo$ooooooH oH oHooooooooooHU oog##oooooooouoopopoooooooooA |*ooqoooooo8 oooo pp ppppp pp p  p p pp p ppU pppppppfp|pppp| p p%p!p"p#p$p&p'p(p)p+p6p,p1p-p.p/p0p2p3p4p5*p7p<p8p9p:p;p=p>p?p@pBppCprpDp[pEpPpFpKpGpHpIpJ*pLpMpNpOpQpVpRpSpTpUpWpXpYpZp\pgp]pbp^p_p`papcpdpepfphpmpipjpkplpnpopppq$pspptppupzpvpwpxpy!p{p|p}p~pppppppppppppppppp$ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppappppppppppppppppppppp$ppppppppppprmpqpqNpqqq qqqqqqqqq q q q PqqqqqqqqqqqqqqqqqWq q7q!q,q"q'q#q$q%q&q(q)q*q+q-q2q.q/q0q1$q3q4q5q6q8qCq9q>q:q;q<q=q?q@qAqBqDqIqEqFqGqHqJqKqLqMqOqyqPqbqQq\qRqWqSqTqUqVqXqYqZq[$q]q^q_q`qaqcqnqdqiqeqfqgqhqjqkqlqmqoqtqpqqqrqs*quqvqwqxqzqq{qq|qq}q~qqqqqqqqqqqqqqqqqqqqqqqAqqqqqqqqqqqrqqqqqqqqqqqqqq*q*q*q*q*q*q*q*q*q*q**qq*q**q*lqqqqqqqqqqqqqq qqqqqqqq*qqqqqqqqqqqqqqqqqqqqqqqq*qqqqqqqqqqrqqqqqqqrrrrr rrrrr r r r rr>rr'rrrrrrrrrrrrrr"rrr r!r#r$r%r&r(r3r)r.r*r+r,r-$r/r0r1r2r4r9r5r6r7r8r:r;r<r=r?rVr@rKrArFrBrCrDrErGrHrIrJrLrQrMrNrOrP$rRrSrTrUrWrbrXr]rYrZr[r\r^r_r`rarcrhrdrerfrgrirjrkrlrnsrorrprrqrrrr{rsrvrtrurwrxryrzr|r}r~rrrrrrrrrrrrrrr$rrrrrrrrrrrrrrrrrrr$rrrrrrrrrrrrrrrr*rrrrrr*rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrss ssssssss s s s sssssssss$ssnssHss1ss&ss!ssss $s"s#s$s%s's,s(s)s*s+s-s.s/s0s2s=s3s8s4s5s6s7s9s:s;s<s>sCs?s@sAsBsDsEsFsGsIs\sJsQsKsLsMsNsOsP$sRsWsSsTsUsVsXsYsZs[s]scs^s_s`sasbsdsisesfsgshsjskslsmsosspssqs|srswssstsusvsxsyszs{s}ss~sssssss*ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssvsu.stqstsssssssssssssssssssssssssssssssssssssssssssstsssssssttttttttt tt t t at tttttttttttttttGtt5tt*t t%t!t"t#t$*t&t't(t)$t+t0t,t-t.t/t1t2t3t4t6t<t7t8t9t:t;*t=tBt>t?t@tAtCtDtEtFPtHt_tItTtJtOtKtLtMtN*tPtQtRtS$tUtZtVtWtXtYt[t\t]t^t`tftatbtctdtetgtlthtitjtk*tmtntotptrttstttttuttvt{twtxtytzt|t}t~t$tttttt*tttttttttttttttttttttt$ttttttttttttttttt$ttttt$ttttttt*ttttttttttttttttttttttttttttttt$tttttttttttt$tttttttttttutttttttttttttuuuuuuuuuuu u u u u uuuuuuuu*3uu#uuuuuuWuu u!u"u$u)u%u&u'u(u*u+u,u-u/uu0uu1u[u2uDu3u9u4u5u6u7u8*u:u?u;u<u=u>u@uAuBuCuEuPuFuKuGuHuIuJuLuMuNuOuQuVuRuSuTuUuWuXuYuZu\unu]ucu^u_u`uaubuduiueufuguhWujukulumuouzupuuuqurusutuvuwuxuyu{uu|u}u~uuuuuuuuuuuuuuuuu!uuuu*uuuuuu$uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu*uuuuuuuuuuuuuu*uuuuuuuuuuuu*uuuuuuuuuuuv?uvuuuuuuuuuuuuuuu*uuuuuvuvuuuuvvvvvv vvv v v v vvvv(vvvvvvvvvvvvvv#vv v!v"v$v%v&v'v)v4v*v/v+v,v-v.*v0v1v2v3v5v:v6v7v8v9v;v<v=v>v@vovAvXvBvMvCvHvDvEvFvGvIvJvKvLvNvSvOvPvQvRvTvUvVvWvYvdvZv_v[v\v]v^Wv`vavbvcvevjvfvgvhvivkvlvmvnvpvvqv|vrvwvsvtvuvvvxvyvzv{ v}vv~vvvvvvvvvvvvvvvvvvvvvvvvvx6vwUvvvvvvvvvvvvvvvvvvvvvvvvvvvv$vvvvvvvvvvvvvvvvvvvvvv*vvvvvvvvvvvvvvvvvvvv$vvvvvvvvvvvvvvvvvvvvvvvvvvvw+vwvw vwwwwwwwww$w ww w w wwwwwww wwwwww*wwwww!w&w"w#w$w%w'w(w)w*w,w>w-w3w.w/w0w1w2w4w9w5w6w7w8$w:w;w<w=w?wJw@wEwAwBwCwD*wFwGwHwIwKwPwLwMwNwOwQwRwSwT$wVwwWwwXwowYwdwZw_w[w\w]w^w`wawbwcwewjwfwgwhwi*wkwlwmwnwpw{wqwvwrwswtwuwwwxwywzw|ww}w~ww!wwww$wwwwwwwwwwwwwwwwwwwwww$wwww$wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww*wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwx+wx&wwwwwwwwwwwwwxwwxxxxxxxxxx x x x x xxxxxxxx00xxxxxxxxxx x!x"x#x$x%7x'x(x)x*x,x1x-x.x/x0x2x3x4x5Wx7yx8xx9xhx:xQx;xFx<xAx=x>x?x@xBxCxDxExGxLxHxIxJxKxMxNxOxPxRx]xSxXxTxUxVxWxYxZx[x\x^xcx_x`xaxbxdxexfxg*xix{xjxpxkxlxmxnxoxqxvxrxsxtxuxwxxxyxzx|xx}xx~xxxxxxxxxxxxxxxxxxxxxxxxxxxxx*xxxxxxxxxxxxxx xxxxxxxxxx*x*x*x*x*x*x*x*x*x*x*x*x**xx*lxxlxlxlxlxlxlxlxlxlxlxlxlxxxxlxl*lxl*xllx*lxxxxWxxxxxxxxxxxxxxxxxxxx$xxxxxxxxxxxxxxyy yyyyyyyyy y y yy yyyyyyyyylyyByy+yy%yy yyyyy!y"y#y$y&y'y(y)y*y,y7y-y2y.y/y0y1y3y4y5y6y8y=y9y:y;y<y>y?y@yA$yCyUyDyJyEyFyGyHyIyKyPyLyMyNyOyQyRySyTayVyayWy\yXyYyZy[ay]y^y_y`aybygycydyeyfyhyiyjykymyynyyoyzypyuyqyrysytyvywyxyyy{yy|y}y~yyyyyyyyyyyyy*yyyy*yyyyyyyyyyyyyyyyyyyyPyyyyyyyyyy*yyyyWyyyyyyy yyyyyyyyyyyyYyy|y{4yzvyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyy*yzyyyyzzzzzzzz zz z z $z zzzzzzzzzzzzzzzGzz5zz*z z%z!z"z#z$z&z'z(z)z+z0z,z-z.z/*z1z2z3z4$z6zAz7z<z8z9z:z;z=z>z?z@zBzCzDzEzF*zHz_zIzTzJzOzKzLzMzNzPzQzRzSzUzZzVzWzXzYz[z\z]z^z`zkzazfzbzczdze*zgzhzizj$zlzqzmznzozpzrzsztzuzwzzxzzyzzzzz{z~z|z}*zzzzzzzzzzzzzzPzzzzzzzzzzzzzzzzzzzzzz!zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{ zzzzzzzzzzzzzzzzzzzz*zzzz$zzzzzzzzzzzz*{{{{{{{{{{ /{ {"{ {{ {{{{{*{{{{{{{{{{{{{ {!{#{){${%{&{'{({*{/{+{,{-{.{0{1{2{3{5{{6{{7{a{8{J{9{D{:{?{;{<{={>{@{A{B{C*{E{F{G{H{I${K{V{L{Q{M{N{O{P{R{S{T{U${W{\{X{Y{Z{[*{]{^{_{`!{b{y{c{n{d{i{e{f{g{h{j{k{l{m{o{t{p{q{r{s{u{v{w{x{z{{{{{|{}{~{{{{{${{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{ {|E{|{|{{{{{{{{-{{{{{{{{{{|||||||| ||| | W| | ||||||||||||||3||(||#|| |!|"|$|%|&|'|)|.|*|+|,|-|/|0|1|2$|4|?|5|:|6|7|8|9*|;|<|=|>$|@|A|B|C|D|F|p|G|^|H|S|I|N|J|K|L|M|O|P|Q|R|T|Y|U|V|W|X*|Z|[|\|]|_|j|`|e|a|b|c|d!|f|g|h|i|k|l|m|n|o|q||r|}|s|x|t|u|v|w$|y|z|{|||~|||||||||||||||||||||||||||||||||||||||||$||||||||*||||||||||!|||||~0|}v|}|||||||||||||||||||||||||||||||||||||||$|||||}|||||||||||||}||||W}}}}}} }}} } } } }}}}}}}}}}}G}}0}}%}} }}}}}!}"}#}$}&}+}'}(})}*!},}-}.}/*}1}<}2}7}3}4}5}6}8}9}:};}=}B}>}?}@}A}C}D}E}F*}H}_}I}T}J}O}K}L}M}NW}P}Q}R}S}U}Z}V}W}X}Y$}[}\}]}^}`}k}a}f}b}c}d}e}g}h}i}j}l}q}m}n}o}p$}r}s}t}u$}w}}x}}y}}z}}{}}|}}}~}*}}}}}}}}}}$}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}*}}}}}}}}}}}}}}ċ}}}}}}}}%}}}}$}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}W}}}~~~~~~~ ~~~~$~ ~ ~ ~ *~~~~~~~~~~~~%~~ ~~~~~!~"~#~$~&~+~'~(~)~*~,~-~.~/~1~2~~3~~~4~k~5~`~6~[~7~8~9~:~;~<~=~>~?~@~A~B~C~D~E~F~G~H~I~J~K~L~M~N~O~P~Q~R~S~T~U~V~W~X~Y~Z<~\~]~^~_~a~f~b~c~d~e*~g~h~i~j~l~w~m~r~n~o~p~qW~s~t~u~v~x~}~y~z~{~|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!~~~~W~~~~~~~~~~~~~~~~~~~~$~~~~~~~~~~~~~~~~~*~~~~$~~~~~~~~*].    * # !"$)%&'(*+,-/F0;162345$789:<A=>?@BCDEGRHMIJKL*NOPQSXTUVWYZ[\^_v`kafbcdeghijlqmnoprstuwx}yz{|*~*$$(s**     I2'" !#$%&(-)*+,$./013>495678*:;<=?D@ABCEFGHJaKVLQMNOPRSTUW\XYZ[]^_`bhcdefginjklmopqrtuvwx}yz{|$~**$*a    * # !"$%&')*+U,C-8.3/012*45679>:;<=*?@ABDOEJFGHIKLMN$PQRSTVmWbX]YZ[\$^_`achdefgijklnyotpqrsuvwxz{|}~W**>W$     /h'" !#$%&(3).*+,-/012495678:;<=$?i@RALBGCDEFHIJKMNOPQ$S^TYUVWXWZ[\]_d`abcefgh$jkvlqmnoprstuw|xyz{W}~$*T***% $     !"#$&='2(-)*+,./01384567$9:;<>I?D@ABCEFGHJOKLMNPQRSUVWnXcY^Z[\]_`abdiefghjklmoypuqrstvwxz{|}~* < i : # W !"$/%*&'()+,-.051234*6789;R<G=B>?@A*CDEFHMIJKL*NOPQS^TYUVWXZ[\]_d`abcefghjklwmrnopqstuvx}yz{|*~*W7WWW WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW W W1 W W WWWWWWWW#WWWWWWWWWW W!W"W#W$W%W&0'*(W)WW+-W,W./W=$1W24d!3'56W7W89:;=>?V@KAFBCDEGHIJLQMNOP*RSTUWbX]YZ[\^_`acdefghijklmnxopqrstuvw<yz{|}~<<*307A***       %!"#$&'()+B,7-2./0134568=9:;<>?@ACNDIEFGHJKLMOTPQRSUVWXZ [E\]^_`walbgcdefahijkmrnopqstuvxy~z{|}$$O*W c 9 "  *W !#.$)%&'(*+,-/401235678:L;A<=>?@BGCDEFWHIJKMXNSOPQRTUVWY^Z[\]W_`abdevfkghij*lqmnoprstuwx}yz{|~**4$$      !"#$%&'()*+,-./01235d6M7B8=9:;<>?@ACHDEFG!IJKL$NYOTPQRSUVWXZ_[\]^*`abce|fqglhijkmnoprwstuv*xyz{}~ċ$**Ae* $$.     *.#! !"$)%&'(*+,-*/:0512346789$;@<=>?ABCDFGHIsJaKVLQMNOPRSTUW\XYZ[*]^_`bhcdefginjklmopqrtuv{wxyzc|}~**.M# $    ! !"$;%0&+'()**,-./$162345789:$<B=>?@ACHDEFGIJKLNsOaPVQRSTUW\XYZ[]^_`Wbmchdefgijklnopqr$tuv{wxyz!|}~$R*&$(     *# !"$%&')@*5+0,-./*12346;789:<=>?AGBCDEFHMIJKL NOPQ$STUlVaW\XYZ[W]^_`bgcdefhijkmxnsopqrtuvwy~z{|}$*W*$*!!   *  j;)W$ !"#%&'(*5+0,-./12346789:<S=H>C?@AB*DEFGINJKLM!OPQRT_UZVWXY[\]^`eabcdfghiklmxnsopqr*tuvwy~z{|}*****    o 8)W# !"$%&'(*1+,-./02345679T:G;A<=>?@BCDEF.HNIJKLMOPQRSUbV\WXYZ[*]^_`acidefghjklmnpqrsytuvwxWz{|}~$$D4$***     $ -!'"#$%&()*+,./01235`6K7D8>9:;<=?@ABC$EFGHIJLYMSNOPQRTUVWXZ[\]^_a|bocidefghjklmn!pvqrstuwxyz{}~W*a*     */" !#)$%&'(*+,-.*0=1723456$89:;<>?@ABCEFGrH]IPJKLMNO*QWRSTUV*XYZ[\^k_e`abcdfghijlmnopqstu{vwxyz$|}~*W$ $Q&     $ !"#$%'<(5)/*+,-.012346789:;=J>D?@ABC$EFGHIKLMNOPRSnTaU[VWXYZ\]^_`bhcdefgijklm*o|pvqrstu!wxyz{}~$ar a     $!h"M#0$*%&'()*+,-./~%1G23456789:;<=>?@ABCDEFKHIJKLN[OUPQRSTVWXYZ\b]^_`a!cdefgijwkqlmnoprstuvx~yz{|}  a*$W ; &  * W!"#$%'4(.)*+,-/012356789:<W=J>D?@ABC$EFGHIaKQLMNOP*RSTUVXeY_Z[\]^-`abcdflghijkmnopqsStuvwx~yz{|}2?2***"     * !#>$1%+&'()*,-./028345679:;<=?F@ABCDE*GMHIJKLNOPQRTUVqWdX^YZ[\]_`abcekfghij*lmnoprsytuvwxz{|}~$$$$     h MWG !"#$%)&'(V *F+,@-./0123456789:;<=>?@ABCDEE@HIJKLN[OUPQRSTVWXYZ\b]^_`acdefg*ijwkqlmnoprstuv*x~yz{|}**a*      !"#$%c&'(I)*+,-./0123456789:;B<=>?@ACDEFGHJKLMNOPQRSTUVWXYZ[\]^_`ab9defghijklmnopqrstuvwxyz{|}~F$W  *     *!"#|$a%.&('*)*+,-*/[0123456T7A89=:;<5>?@5BKCGDEF5HIJ5LPMNO5QRS5UVWXYZ5\]^_`bocidefghjklmnpvqrstuwxyz{*}~WW* .*     cO4'! "#$%&(.)*+,-!/01235B6<789:;=>?@A$CIDEFGHJKLMNPkQ^RXSTUVWYZ[\]_e`abcd݉fghij*lymsnopqrtuvwx$z{|}~A$P*$*1Z#!$      !"$?%2&,'()*+a-./013945678:;<=>@MAGBCDEFHIJKLNTOPQRSUVWXY[\q]d^_`abc$ekfghij$lmnoprsytuvwxz{|}~c**    * *R7*$ !"#%&'()+1,-./0W234568E9?:;<=>*@ABCDFLGHIJKMNOPQShTaU[VWXYZ$\]^_`bcdefg*ivjpklmnoqrstuWw}xyz{|~IW*****$*     HX !"#$%:&-'()*+,*.4/0123.56789;B<=>?@A*CDEFGHJOKLgMZNTOPQRSUVWXY[a\]^_`bcdefhuiojklmnpqrstv|wxyz{$}~H4-'l-FJ9F9J=9FJFFJJt"      !#$*%(&'J)J+,.S/M0>182534967F9<:;=Ft?F@CABJDEtGJHI9KL9tNOPQRTU`V\WZXYF9[F]^_FagbdceftJhjiJkmnopqrstuvwxyz{|}~9JAFFBuBufBuBX% FtFJtJ    ButJ #!"Bu$&A'2(,)*+J-/.901J3:475689Bu;><=?@BuBPCIDGEFHJMKLJNOQRUSTVWBuFYZv[h\b]_^f`afcfdetgipjmklnoqtrsBuwx~y|z{}fBuBBABF     #! "$%&()*+,./01235B6<789:;=>?@ACIDEFGHJKLMNPQfRYSTUVWX*Z`[\]^_abcde$gthnijklmopqrsu{vwxyz*|}~*WR(a$$ $    $" !$#$%&'W)*{+`,Y-S./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRTUVWXZ[\]^_anbhcdefgijklmoupqrstvwxyz|}~**** *u *   * !"Y#>$1%+&'()*,-./028345679:;<=*?L@FABCDEGHIJK*MSNOPQR*TUVWXZo[h\b]^_`a$cdefgijklmn*p}qwrstuv*xyz{|~****K*c%     6)# !"a$%&'($*0+,-./123457>89:;<=*?E@ABCD*FGHIJL}MbN[OUPQRSTWVWXYZ\]^_`acpdjefghiklmnoqwrstuv$xyz{|~*<<<<<<<<<<<<<<<<<<<<<<<<F     *1$ !"#%+&'()*,-./029345678:@;<=>?WABCDEGxHcIVJPKLMNOQRSTUW]XYZ[\^_`abdqekfghijlmnoprstuvwyz{|}~$!2 Q Q$cW  $   %* !"#$&,'()*+-./013d4O5B6<789:;=>?@A$CIDEFGH*JKLMNPWQRSTUVX^YZ[\]_`abcesfgmhijklnopqrtu{vwxyz*|}~****************$)a*$     * !"#$%&'(*[+@,3-./0124:56789$;<=>?*ANBHCDEFGWIJKLM*OUPQRSTWVWXYZ$\w]j^d_`abc*efghi!kqlmnop*rstuvxyz{|}~$*****.     *W! "(#$%&'$)*+,-/D071234568>9:;<=?@ABCEFLGHIJKMNOPQ5S<TUVW{XfYZ`[\]^_PabcdeWgthnijklm$opqrsuvwxyz|}~$**~( I     !"#$%&'I)*+r,-./0123456G789:;<=>?@ABCDEF<HcIJKLWMNOPQRSTUV<XYZ[\]^_`abdefghijklmnopqstuvwxyz{|}<** 4$*     '! "#$%&(.)*+,-/01235e6P7C8=9:;<>?@ABDJEFGHI*KLMNOQ^RXSTUVWYZ[\]*_`abcdf{gthnijklmopqrsuvwxyz|}~W$ ** *     *$!<"/#)$%&'(**+,-.$0612345$789:;=J>D?@ABCEFGHIKQLMNOP\RSTUVXYZu[h\b]^_`aacdefgiojklmnpqrst.vw}xyz{|~u*****~l~** *~*:*8*!      "/#)$%&'($*+,-.0612345789:;=>?@gARBCIDEFGHWJKLMNOP5Q5S`TZUVWXYa[\]^_abcdefhivjpklmno&qrstu*w}xyz{|~W*****dI<6     @@@) !%"#$[&'(V*/+,-.01243@@5@789:;A=C>?@AB!DEFGHJWKQLMNOP*RSTUV*X^YZ[\]$_`abc$efsgmhijklnopqrtzuvwxy{|}~$**AW\&a     $ !"#$%'B(5)/*+,-.012346<789:;*=>?@ACJDEFGHI*KVLMNOPQRSTUuWXYZ[]^s_l`fabcde*ghijkmnopqrtu{vwxyz|}~*$*J****************l****~********l***     5$ 5!("#$%&')/*+,-.W01234$6=789:;<>D?@ABC*EFGHI*KoLZMNTOPQRSUVWXY*[h\b]^_`acdefgijklmnpq~rxstuvwWyz{|}**P>s*W$     H9, &!"#$%'()*+-3./012*45678:A;<=>?@BCDEFGIdJWKQLMNOP$RSTUVX^YZ[\]_`abcelfghijk*mnopqr$tuvwx~yz{|}$$WA     A)" !*#$%&'(*7+1,-./02345689:;<=?@ArBWCJDEFGHIKQLMNOP$RSTUVXeY_Z[\]^*`abcdflghijk*mnopqstu{vwxyz*|}~***Wd9 $    $ !"#%2&,'()*+-./01345678:O;B<=>?@ACIDEFGHJKLMNP]QWRSTUV!XYZ[\^_`abcefgthnijklmopqrs$u{vwxyz*|}~*$W<<<<<*37 *    iN -!'"#$%&$()*+,*.4/012356789:;<=>?@ABCDEFGHKIJ1 LMHHO\PVQRSTU$WXYZ[]c^_`abdefghjkxlrmnopqstuvwyz{|}~W*W$$*Wf5      *!."(#$%&')*+,-/01234*6K7>89:;<=$?E@ABCDFGHIJ*LYMSNOPQR$TUVWXZ`[\]^_abcdeghivjpklmno$qrstuw}xyz{|*~*X*+*     $*% !"#$&'()* ,c-H.;/5012346789:<B=>?@A*CDEFGIVJPKLMNOQRSTUW]XYZ[\^_`abdselfghijkmnopqrtu{vwxyz|}~!*$*%   a  * !"#$&;'4(.)*+,-a/012356789:$<C=>?@ABDJEFGHIKLMNOQRS_TUVpWdX^YZ[\]_`abcejfghiklmnoq~rxstuvw yz{|}*W$!(     *" !#$%&')D*7+1,-./023456*8>9:;<=?@ABCERFLGHIJKMNOPQ$SYTUVWXZ[\]^*`ab}cpdjefghiklmnoqwrstuvxyz{|~!*PW $!      w!T"/#)$%&'(P*+,-.0612345ċ789:;<=>?@ABCDEFGNHKIJLMOPQRSUjV\WXYZ[*]^_`abcdefghi'kqlmnop*rstuvxyz{|}~*\$b1"     ** !#*$%&'()*+,-./02M3@4:56789$;<=>?AGBCDEFHIJKLN[OUPQRSTVWXYZ\]^_`acderflghijkmnopqsytuvwxz{|}~$a*YA$$ $    $$ !"#%;&'()*+,-./0123456789:<=>?@BsCXDKEFGHIJ*LRMNOPQSTUVWYfZ`[\]^_*abcdegmhijklnopqrtuv|wxyz{}~***** $ 4    ** '!"#$%&(.)*+,-/01235J6=789:;<*>D?@ABC$EFGHIKRLMNOPQSTUVWXZ[\]x^k_e`abcdfghijlrmnopq$stuvwyz{|}~**WaW *    |K0)# !"$%&'(*+,-./1>2834567W9:;<=?E@ABCDFGHIJLgMZNTOPQRS*UVWXY[a\]^_`*bcdefhoijklmnpvqrstuwxyz{}~$!$W*&y9 $ *    -*!2",#$%&'()*+,j-.k/H0123456789:;<=>?@ABCDEFGFIJKLMNOPQRSTUViWXYaZ[\]^_`bcdefghjFlmnopqurstvwxyz{|}~FF99Jt=XX9F"     FFF9 !#O$9%&'()*+,-3.1/0FF247568:;E<=>?@ABCDFGHIJKLMNPQRSaTU[VWXYZ\]^_`bcdefghiklmnopqrstuvwxyz{|}~FFFFFFF9P=FF999FFFF9      !%"#$F&)'(9*+9-./01345678:j;U<H=B>?@ACDEFGIOJKLMN*PQRSTV]WXYZ[\*^d_`abc!efghiklymsnopqrtuvwx*z{|}~$* ***WW  B ' ! "#$%&(5)/*+,-.*012346<789:;=>?@AC^DQEKFGHIJWLMNOP*RXSTUVWYZ[\]_l`fabcdeghijkmsnopqrtuvwxz?{|}~*******~*W     $ * !"#%2&,'()*+*-./013945678$:;<=>@ABwCPDJEFGHIKLMNOQWRSTUV$XYZ[\]^_`albcdefghijkmnopqrstuv1xyz{|}~*$3      !"#$%'f(M)*a+F,9-3./01245678:@;<=>?ABCDE8GTHNIJKLMWOPQRS3U[VWXYZ\]^_`b}cpdjefghiklmnoqwrstuvxyz{|~! 1Hw    2%$ !"#$&,'()*+-./013@4:56789$;<=>?AGBCDEFHIJKLNOPjQ]RWSTUV!XYZ[\ ^d_`abcefghikxlrmnopqstuvwyz{|}~*/0n0     (" !#$%&')*+,-.0K1>2834567$9:;<=?E@ABCD*FGHIJLYMSNOPQRWTUVWXZ`[\]^_*abcdeg:hijykrlmnopqstuvwxz{|}~*$$$*$$*$$    *  -!'"#$%&a()*+,.4/012356789;<s=X>K?E@ABCDFGHIJLRMNOPQSTUVWYfZ`[\]^_Wabcdegmhijklnopqrtuv|wxyz{}~**;a8Ǽ_4     W '!"#$%&$(.)*+,-/01235D6=789:;<>?@ABCERFLGHIJKMNOPQ$SYTUVWXZ[\]^`‘avbocidefghjklmnpqrstuw„x~yz{|}$€‚ƒ…‹†‡ˆ‰ŠŒŽ ’­“ ”š•–—˜™c›œžŸ¡§¢£¤¥¦¨©ª«¬®µ¯°±²³´¶·¸¹º»½&¾¿*     R !"#$%*'R(=)0*+,-./!172345689:;<>E?@ABCDWFLGHIJKMNOPQ*ShT[UVWXYZ\b]^_`a*cdefgizjtklmnopqWWrWsWuvwxy{Á|}~À*ÂÃÄÅÆÈvÉÊËùÌìÍæÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàãáâäåĚçèéêëíóîïðñòôõö÷øúûüýþÿ*W+ !    $ !"#%&'()*,[-:.4/012356789;U<=>?@AB*C*D*E*F*G*H*I*J*K*L*MQN*O*P*~*R**ST**VWXYZ!\i]c^_`abdefghjpklmnoqrstu$wxĤyĉzĂ{|*}~Āā㥹ĆćĈĊėċđČčĎďĐĒēĔĕĖĘĞęĚěĜĝğĠġĢģĥĦijħĭĨĩĪīĬĮįİıIJĴĺĵĶķĸĹĻļĽľĿ     +% !"#$&'()**,2-./01345679:-;<m=X>K?E@ABCDFGHIJLRMNOPQSTUVWY`Z[\]^_!agbcdefhijklnũoŜpŖqrstuv!wx!y!z!!{|!}!~!!!ŀ!Łł!Ń!ń!!Ņņ!!Ňň!ʼn!Ŋ!!ŋŌ!!ōŎ!!ŏ!Őő!Œ!!œŔ!ŕ!!ŗŘřŚśŝţŞşŠšŢŤťŦŧŨŪŷūűŬŭŮůŰaŲųŴŵŶŸžŹźŻżŽſaW      * *!'"#$%&()*+,.Ƥ/`0E1>2834567W9:;<=?@ABCDFSGMHIJKL*NOPQRTZUVWXY[\]^_$a|bocidefghjklmnpvqrstuwxyz{}Ɗ~ƄƀƁƂƃƅƆƇƈƉƋƌƍƎƏƐƑƒ*Ɠ*Ɣ*ƕ*Ɩ*Ɨ*Ƙ*ƙ*ƚ*ƛ*Ɯ*Ɲ*ƞƠ*Ɵ*ơ*Ƣƣ* *ƥƦƧƴƨƮƩƪƫƬƭƯưƱƲƳ*ƵƻƶƷƸƹƺƼƽƾƿ Ƕ     W!."(#$%&')*+,- /5012346789:;<p=>W?K@ABCDEFGHIJ1LMNOPQRSTUV1XdYZ[\]^_`abc1efghijklmno1qrstuvwxyz{|}~1ǀǛǁǎǂLjǃDŽDždžLJ$ljNJNjnjǍǏǕǐǑǒǓǔǖǗǘǙǚǜǩǝǣǞǟǠǡǢǤǥǦǧǨǪǰǫǬǭǮǯDZDzdzǴǵǷǸǹǺǻǼǽǾǿ      Ȍ[0)# !"$%&'(*+,-./1N2834567*9:;<=>?@ABCDEFGHIJKLMOUPQRSTVWXYZ\q]j^d_`abcefghiklmnoprsytuvwxz{|}~ȀȆȁȂȃȄȅ$ȇȈȉȊȋȍȷȎȩȏȜȐȖȑȒȓȔȕȗȘșȚțȝȣȞȟȠȡȢȤȥȦȧȨAȪȫȱȬȭȮȯȰȲȳȴȵȶWȸȹȺȻȼȽȾȿ*ʦj)$     " !#$%&'(*?+2,-./01*3945678:;<=>@]AWBCDEFG%HI%J%K%L%M%N%%OP%Q%%R%S%T%U%V% XYZ[\^d_`abcefghikɢlɇmzntopqrsuvwxy{Ɂ|}~ɀɂɃɄɅɆɈɕɉɏɊɋɌɍɎɐɑɒɓɔɖɜɗɘəɚɛɝɞɟɠɡɣɾɤɱɥɫɦɧɨɩɪɬɭɮɯɰɲɸɳɴɵɶɷ$ɹɺɻɼɽɿ!C     (" !#$%&'*)6*0+,-./123457=89:;<>?@ABDuE`FSGMHIJKLNOPQR$TZUVWXY[\]^_$ahbcdefgiojklmnpqrstvʑwʄx~yz{|}ʀʁʂʃʅʋʆʇʈʉʊʌʍʎʏʐ4ʒʟʓʙʔʕʖʗʘʚʛʜʝʞʠʡʢʣʤʥʧ\ʨʩʪʫʸʬʲʭʮʯʰʱ*ʳʴʵʶʷʹʿʺʻʼʽʾ$$+     $% !"#$&'()*,A-4./01235;6789:<=>?@BOCIDEFGHJKLMNPVQRSTUWXYZ[*]˱^z_`magbcdefWhijklntopqrsuvwxy{˖|ˉ}˃~ˀˁ˂˄˅ˆˇˈˊːˋˌˍˎˏˑ˒˓˔˕˗ˤ˘˞˙˚˛˜˝˟ˠˡˢˣ˥˫˦˧˨˩˪ˬ˭ˮ˯˰˲˳˴˵˻˶˷˸˹˺˼˽˾˿*     $$ͯ̀O: -!'"#$%&()*+,.4/012356789;H<B=>?@ACDEFGIJKLMN$PkQ^RXSTUVWYZ[\]_e`abcdfghijlymsnopqrtuvwxz{|}~̬̗́̂̃̊̄̅̆̇̈̉*̖̋̑̌̍̎̏̐̒̓̔̕W̵̴̡̢̧̨̛̘̥̙̟̜̝̞̠̣̤̦̩̪̫̭̮̻̯̰̱̲̳̚$̶̷̸̹̺̼̽̾̿A*     ,$ &!"#$%'()*+-4./01235;6789:<=>?@B̈́CRDKEFGHIJLMNOPQS`TZUVWXY[\]^_a~bcdefghizjklmnoptqrsuvxwy{|}̀́͂̓$͚͓͇͍͈͉͆͊͋͌ͅ$͎͏͔͕͖͙͐͑͒͗͘ ͛͢͜͟͝͞͠͡$ͣͩͤͥͦͧͨͪͫͬͭͮͰQͱͲͳʹͻ͵Ͷͷ͸͹ͺ*ͼͽ;Ϳ$*&     $W !"#$%'<(5)/*+,-.$012346789:;=D>?@ABCWEKFGHIJLMNOPRεS΄TiUbV\WXYZ[*]^_`acdefghjwkqlmnop$rstuvx~yz{|}΀΁΂΃΅ΠΆΓ·΍ΈΉΊ΋Ό$ΎΏΐΑΒΔΚΕΖΗΘΙ*ΛΜΝΞΟ$Ρή΢ΨΣΤΥΦΧ$ΩΪΫάέίΰαβγδ ζηθιοκλμνξ$   !  A д!"ϋ#T$9%2&,'()*+!-./01345678:G;A<=>?@BCDEFHNIJKLMOPQRSUpVcW]XYZ[\W^_`abdjefghiklmnoq~rxstuvwyz{|}$υπρςστφχψωϊόϽύϨώϛϏϕϐϑϒϓϔ*ϖϗϘϙϚϜϢϝϞϟϠϡϣϤϥϦϧϩ϶ϪϰϫϬϭϮϯϱϲϳϴϵϷϸϹϺϻϼϾϿ$W!-*W     * !'"#$%&$()*+,._/D0=172345689:;<>?@ABCERFLGHIJKMNOPQSYTUVWXZ[\]^`uanbhcdefg*ijklmopqrstvЃw}xyz{|*~ЀЁЂЄЊЅІЇЈЉЋЌЍЎЏАБВГДЕЖЗИЫЙКЛМФНСОПРТУ›ХШЦЧЩЪЬЭЮгЯабвFFесжзийпклмно!*W*W     *P ;!."(#$%&')*+,-/5012346789:<C=>?@AB*DJEFGHIKLMNOQlR_SYTUVWX*Z[\]^$`fabcdeghijkWmtnopqrsu{vwxyz|}~ртуѭфђхцьчшщъыэюяѐёѓѠєњѕіїјљ*ћќѝўџѡѧѢѣѤѥѦѨѩѪѫѬѮѯѼѰѶѱѲѳѴѵ$ѷѸѹѺѻѽѾѿ*     &W !"#$%'4(.)*+,-/01235;6789:<=>?@BCDҳE|FaGTHNIJKLM*OPQRSWU[VWXYZ\]^_`$bocidefghjklmnpvqrstuwxyz{$}Ҙ~ҋ҅Ҁҁ҂҃҄҆҇҈҉Ҋ!ҌҒҍҎҏҐґғҔҕҖҗҙҦҚҠқҜҝҞҟҡҢңҤҥҧҭҨҩҪҫҬ$ҮүҰұҲҴҵҶҽҷҸҹҺһҼ$Ҿҿ$     ӆO4'! "#$%&(.)*+,-/0123$5B6<789:;=>?@ACIDEFGHJKLMNPkQ^RXSTUVWYZ[\]$_e`abcdfghijlymsnopqrtuvwxzӀ{|}~ӁӂӃӄӅӇӾӈӣӉӖӊӐӋӌӍӎӏӑӒӓӔӕӗӝӘәӚӛӜӞӟӠӡӢ*ӤӱӥӫӦӧӨөӪӬӭӮӯӰӲӸӳӴӵӶӷӹӺӻӼӽӿ$ԫT*!     $9, &!"#$%'()*+-3./01245678:G;A<=>?@BCDEFHNIJKLMOPQRSUԀVeW^XYZ[\]_`abcdfsgmhijklnopqrtzuvwxy{|}~ԁԖԂԏԃԉԄԅԆԇԈ ԊԋԌԍԎԐԑԒԓԔԕԗԤԘԞԙԚԛԜԝWԟԠԡԢԣԥԦԧԨԩԪԬ^ԭԮԯ԰ԾԱԲԳԴԵԶԷԸԹԺԻԼԽԿLf     .P7+ .!.".#.$.%.&.'.(.).*.4.,.-.../.0.1.2.3.4.5.6.4.8D9.:.;.<.=.>.?.@.A.B.C.4.E.F.G.H.I.J.K.L.M.N.O.4.Q.R.S.T.U.V.W.X.Y.Z.[.\.].4._Ֆ`{anbhcdefg*ijklmoupqrst$vwxyz|Չ}Ճ~ՀՁՂ*ՄՅՆՇՈՊՐՋՌՍՎՏ$ՑՒՓՔՕ*՗ղ՘եՙ՟՚՛՜՝՞ՠաբգդզլէըթժիխծկհձճմպյնշոչ$ջռսվտ 5n2מu>$!$$*(   W W !! "%#$$&')8*+a,1-./02534$67$9:;<=?Z@MAGBCDEFHIJKLNTOPQRSUVWXY[h\b]^_`a cdefg$iojklmn&pqrstv֭w֒xօyz{|}~$րցւփքֆ֌ևֈ։֊֋֍֎֏֐֑֖֚֓֠֔֕֗֘֙$֛֧֢֣֤֥֦֪֜֝֞֟֡֨֩֫֬*ְֱֲֳִֵֶּ֮֯$ַָֹֺֻֽ־ֿ*$Ba$     - !'"#$%&()*+,$.5/012346<789:;=>?@ACmDREFLGHIJKMNOPQS`TZUVWXY[\]^_*agbcdefhijkln׉o|pvqrstuwxyz{}׃~׀ׁׂ*ׅׄ׆ׇ׈$׊ח׋ב׌׍׎׏אגדהוזטיךכלםןkנסע׽ףװפתץצקרש׫׬׭׮ׯ$ױ׷ײ׳״׵׶׸׹׺׻׼׾׿W     ; $!."(#$%&')*+,-/5012346789:<V=I>C?@AB*DEFGH!JPKLMNO!QRSTUW^XYZ[\]_e`abcdfghijlmؤn؉o|pvqrstuWwxyz{*}؃~؀؁؂؄؅؆؇؈؊ؗ؋ؑ،؍؎؏ؘؐؒؓؔؕؖ؞ؙؚ؛؜؝؟ؠءآأإغئساحبةتثج!خدذرزشصضطظعػؼؽؾؿW*     W*+% !"#$&'()*,-./01*345ٌ6[7L8E9?:;<=>W@ABCDaFGHIJK*MTNOPQRSUVWXYZ\q]d^_`abc-ekfghijlmnoprsytuvwxaz{|}~ـنفقكلمهوىيًٍَٹُ٬ِ٦ّْٕٖٓٔٗ*٘*ٙ*ٚ*ٛ*ٜ**ٝٞ*ٟ*٠*١*٢*٣*٤*٥*z*٧٨٩٪٫*٭ٳٮٯٰٱٲٴٵٶٷٸٺٻټٽپٿ.!!*g& *    * !"#$%'R(5)/*+,-.-012346L789:;<=>?@ABCDEFGHIJKMNOPQ*S`TZUVWXY*[\]^_abcdefhڙiڄjwkqlmnoprstuv x~yz{|}$ڀځڂڃ$څڌچڇڈډڊڋڍړڎڏڐڑڒڔڕږڗژښگڛڢڜڝڞڟڠڡAڣکڤڥڦڧڨڪګڬڭڮڰڷڱڲڳڴڵڶڸھڹںڻڼڽ$ڿے/$     !" !#)$%&'(*+,-.0[1F29345678:@;<=>?ABCDEGNHIJKLMOUPQRST$VWXYZ\w]j^d_`abcWefghikqlmnop$rstuvxۅyz{|}~ۀہۂۃۄۆیۇۈۉۊۋۍێۏېۑۓ۔ە۰ۣۖۗ۝ۘۙۚۛۜW۞۪۟۠ۡۢۤۥۦۧۨ۩ۭ۫۬ۮۯ۱۾۲۸۳۴۵۶۷$۹ۺۻۼ۽ۿW$!ܬ     ܟܙ** *!*"*#*$*%q&X'D(3)0*.+~,-**/~~12~48~567*d9@:=;<*dd*>?d**~ACBd*~ELFGJHId**KzdMRNPO~*Qd~SVTU**~W*YdZd[^\]*_a`**bcldelfighl41Fzjkz~~dmnd~op~~zrܔs܈t܀uydvwxd~*z}{|~~z~~*z܁܆܂܄܃d*܅܇~~܉ܐ܊d܋܍~܌~z܎܏z1Fd4dܑܒdܓdd*ܕ*ܖ*dܗdܘ*ܚܛܜܝܞܠܦܡܢܣܤܥWܧܨܩܪܫܭܮܻܯܱܴܵܰܲܳ$ܷܸܹܼܾܶܺܽܿ$$%ބݹZ)     # !"*$%&'(*?+8,2-./01$34567$9:;<=>@MAGBCDEFHIJKLNTOPQRS*UVWXY[݈\s]f^`_Wabcde*gmhijklnopqrt{uvwxyz|݂}~݄݆݀݁݃݅݇$݉ݤ݊ݗ݋ݑ݌ݍݎݏݐaݒݓݔݕݖ$ݘݞݙݚݛݜݝݟݠݡݢݣݥݬݦݧݨݩݪݫݭݳݮݯݰݱݲ$ݴݵݶݷݸݺݻݼݽݾݿ*W$WO!*     *U: -!'"#$%&*()*+,.4/012356789;H<B=>?@ACDEFGIOJKLMN*PQRSTVkWdX^YZ[\]_`abcefghij$lwmqnop*rstuv$x~yz{|}ހށނރޅVކއ޲ވޝމސފދތލގޏ*ޑޗޒޓޔޕޖ*ޘޙޚޛޜޞޫޟޥޠޡޢޣޤަާިީުެޭޮޯްޱ޳޴޻޵޶޷޸޹޺޼޽޾޿***!     +$$ !"#%&'()*,9-3./012W45678:P;<=>?@ABCDEFGHIJKLMNO QRSTUWX߉YtZg[a\]^_`bcdefhnijklm*opqrsu|vwxyz{!}߃~߀߁߂$߄߅߆߇߈*ߊߥߋߘߌߒߍߎߏߐߑ$ߓߔߕߖߗߙߟߚߛߜߝߞߠߡߢߣߤ*ߦ߳ߧ߭ߨߩߪ߲߫߬߮߯߰߱ߴߺߵ߶߷߸߹W߻߼߽߾߿$V[9> *    * !"#$&'()`*E+8,2-./01345679?:;<=>*@ABCDFSGMHIJKLNOPQR$TZUVWXY[\]^_a|bocidefghjklmnpvqrstuwxyz{}~.Wv?$***********  d**~ ** * ~**********d !"# %2&,'()*+-./013945678*:;<=>@[ANBHCDEFGWIJKLMOUPQRST*VWXYZ\i]c^_`abdefghjpklmno$qrstuwxyz{|}~W*$$$$7$     *$ !"#%&'()+1,-./0234568i9T:G;A<=>?@BCDEFHNIJKLMOPQRSUbV\WXYZ[]^_`acdefghjkrlmnopqsytuvwxz{|}~* /$**  ! = ( " !#$%&')6*0+,-./12345789:;<*>Y?L@FABCDEGHIJKMSNOPQRTUVWXZa[\]^_`bhcdefgijklmopqr=stuvw}xyz{|$~!*  (    *" !K #$%&')6*0+,-./12345789:;<>?p@UAHBCDEFGIOJKLMNPQRSTVcW]XYZ[\*^_`abdjefghi_klmno$qrsytuvwxPz{|}~ !&!***$    W e@+$ !"#%&'()*,9-3./01245678:;<=>?AVBOCIDEFGHJKLMN PQRSTUW^XYZ[\]_`abcdfghijklmnop*q*r*s*t*u*v*w*x*y*z*{*|**}~*********~***$**$6 &     )# !"$%&'(*0+,-./123457h8S9F:@;<=>?*ABCDEGMHIJKLNOPQRT[UVWXYZ\b]^_`acdefgijwkqlmnop$rstuvx~yz{|}WW /[L,8| [L%,n7Ě$     $(" !!#$%&')*+,-.0N192345678$:A;<=>?@BHCDEFGIJKLMOjP]QWRSTUVXYZ[\$^d_`abc*efghi$kxlrmnopqstuvwyz{|}~!$W$A!   $ k@%* !"#$$&3'-()*+,./012W4:56789;<=>?AVBICDEFGH$JPKLMNO$QRSTU$WdX^YZ[\] _`abcefghijlm|nuopqrstvwxyz{}~!W@********* **~l~**  *   ~*:*, &!"#$%$'()*+-3./0124:56789 ;<=>?AlBWCPDJEFGHI*KLMNOQRSTUVXeY_Z[\]^`abcd*fghijk$mn{oupqrstvwxyz!|}~W*O$ *I    4'! A"#$%&(.)*+,-/01235B6<789:;=>?@ACIDEFGH$JKLMNPQlR_SYTUVWX*Z[\]^`fabcdeWghijkmtnopqrsu{vwxyz|}~*$ * $   $ W!<"/#)$%&'( *+,-.0612345*789:;=J>D?@ABCEFGHIKQLMNOP$RSTUV$XsYfZ`[\]^_abcde$gmhijklnopqrtu{vwxyz$|}~$!\WW***$$1     *$* !"#%+&'()*,-./0$2M3@4:56789*;<=>?AGBCDEFHIJKLNUOPQRST*VWXYZ[]^_t`magbcdefhijklnopqrs$uv|wxyz{}~***!$*$W*     h=)# !"$%&'(*6+0,-./$12345$789:;<>S?F@ABCDEWGMHIJKLNOPQRT[UVWXYZ$\b]^_`acdefgijkxlrmnopq-stuvw*yz{|}~$!$$J    $ W - 5!."(#$%&'*)*+,-/012346=789:;<$>D?@ABCEFGHIKvLgMZNTOPQRSUVWXY[a\]^_`bcdefhoijklmn*pqrstuwxyz{|}~$*P*$     9t$ !"#%&'()*+,-:.4/012356789.;A<=>?@BCDEFGHYIJKLMNOPQRSTUWVXZ[\]p^_`abchdefgijmkl'no1qrswtuvxyz{|}~'4;$*$$$****************lk^X7     4 !"#$%&'()*+.,F-FF/10F23FF5689:;<=>?@ABCDEFGHIJKLMNOPRQSTUVWYZ[\]_e`abcdfghij$lymsnopqr$tuvwxz{|}~**************B****P*$*$*$*$$*     *$(" !$#$%&')/*+,-.012346748k9:;y<s=X>K?E@ABCDFGHIJLRMNOPQSTUVW$YfZ`[\]^_$abcde*gmhijkl*nopqrtuvwxz{|}~8a$*$^'*~*     ! "#$%&(C)6*0+,-./123457=89:;<>?@ABDQEKFGHIJ LMNOP$RXSTUVWYZ[\]$_`{anbhcdefgijklm$oupqrstvwxyz|}~Wu\$;*      !."(#$%&'*)*+,-/5012346789:<s=X>K?E@ABCDFGHIJLRMNOPQSTUVWYfZ`[\]^_abcdegmhijklnopqrWtu|vwxyz{$}~_$W $$4     A. '!"#$%&$(.)*+,-/0123$5P6C7=89:;<>?@AB$DJEFGHIKLMNOQ^RXSTUVWċYZ[\]$_e`abcdfghijlmniopqrstuvwxyz{)|}~0z=z=z=z=z=z=z=0zz=z=2K     z !"#$%&'0(0*+,o-N.>/0123456789:;<=K?@ABCDEFGHIJKLM0O_PQRSTUVWXYZ[\]^>`abcdefghijklmn>pyqrstuvwxzz{|}~K000>z=$$$  W   \V !"#$%&'()*+,-.O/@01<2735468:9;=>?FAHBCDFEGFIJKMLNFPQRSTUWXYZ[]c^_`abdefghjklymsnopqrtuvwx*z{|}~!W*     *$ !"#%&'()+\,A-4./0123$5;6789:<=>?@$BOCIDEFGH*JKLMN$PVQRSTUWXYZ[$]x^k_e`abcd*fghij$lrmnopqstuvwyz{|}~$b$4!7     *$ !"#a%&'()$+1,-./023456$8M9F:@;<=>?ABCDE$GHIJKL$N[OUPQRSTVWXYZ$\]^_`acdefsgmhijklnopqrtzuvwxy{|}~ W**a$     '! *"#$%&(.)*+,-/0123$56789j:O;H<B=>?@A!CDEFGIJKLMNP]QWRSTUV$XYZ[\^d_`abcefghiklm{nopqrstuvwxyz|}~$$a*P$$$*     zC.! "(#$%&')*+,-$/60123457=89:;<>?@AB$D_ERFLGHIJK*MNOPQ$SYTUVWXZ[\]^`magbcdef*hijkl*ntopqrsuvwxy{|}~$********4*$$$$$b+*$     $$$% !"#$&'()*$,G-:.4/0123*56789;A<=>?@BCDEFHUIOJKLMNPQRSTV\WXYZ[]^_`acderflghijkPmnopqsytuvwxz{|}~5 a$W** $    $$!("#$%&')/*+,-.012346m7R8E9?:;<=>@ABCD$FLGHIJKMNOPQS`TZUVWXY[\]^_agbcdefhijklno|pvqrstuwxyz{$}~a$7dW$$$$3     *$)# !"*$%&'(*-+,./0124O5B6<789:;=>?@A$CIDEFGH*JKLMNPWQRSTUV$X^YZ[\]_`abcefg|hoijklmnpvqrstuwxyz{}~$*P$$!$$ *    P$*$ !"#%&'()+1,-./02345689:q;V<I=C>?@ABDEFGHJPKLMNOQRSTU*WdX^YZ[\]*_`abcekfghijlmnop$rstzuvwxy{|}~&*$$n="      !#0$*%&'()W+,-./*172345689:;<>S?F@ABCDE*GMHIJKLNOPQRTaU[VWXYZa\]^_`bhcdefgijklmopq~rxstuvwyz{|}$** (    9 $   $      $                      ! " # % 2 & , ' ( ) * +. - . / 0 1 3 4 5 6 7 8  : ; n < I = C > ? @ A BW D E F G H$ J P K L M N O Q R S T U V W X Y Z [ \ ] e ^ _ ` a b c d f g h i j k l m o | p v q r s t u w x y z { } ~               a                    $                *                    *     $                                       *            *  V  ; ! . " ( # $ % & 'X ) * + , -* / 5 0 1 2 3 4 6 7 8 9 :$ < I = C > ? @ A B& D E F G H J P K L M N O Q R S T Ua W l X e Y _ Z [ \ ] ^$ ` a b c d* f g h i j k m t n o p q r s$ u { v w x y z | } ~    I               *     $            $                                                *                            $           W     $                       a                ! " # % 4 & - ' ( ) * + , . / 0 1 2 3 5 < 6 7 8 9 : ; = C > ? @ A B D E F G H J  K | L a M Z N T O P Q R S! U V W X Y$ [ \ ] ^ _ ` b o c i d e f g h j k l m n$ p v q r s t u w x y z { }  ~                                                          W     $      $              $            $                            $        .        *              |  K  0  #       !     ! " $ * % & ' ( ) + , - . / 1 > 2 8 3 4 5 6 7 9 : ; < = ? E @ A B C D* F G H I J L g M Z N T O P Q R S U V W X Y [ a \ ] ^ _ ` b c d e f$ h u i o j k l m n p q r s t$ v w x y z { }  ~          W     $            $              $      *                      $              $              =                  $                             *  (               $  "      ! # $ % & '$ ) 6 * 0 + , - . / 1 2 3 4 5$ 7 8 9 : ; < > o ? T @ G A B C D E FW H N I J K L M O P Q R S U b V \ W X Y Z [ ] ^ _ ` a c i d e f g h$ j k l m n p  q ~ r x s t u v w y z { | }$      $              $        V               *     $      $              $                      $      $              $       *       +           W     $         $              $  %   ! " # $ & ' ( ) * , G - : . 4 / 0 1 2 3* 5 6 7 8 9* ; A < = > ? @* B C D E F$ H O I J K L M N P Q R S T U W  X  Y m Z ` [ \ ] ^ _ a g b c d e f h i j k l n { o u p q r s t$ v w x y z$ |  } ~        $                $            $              $      $             *            W     $                                                                          "      ! # $ % & ' ) 8 *  +  ,  - d . I / < 0 6 1 2 3 4 5a 7 8 9 : ; = C > ? @ A B* D E F G H. J W K Q L M N O P R S T U V X ^ Y Z [ \ ] _ ` a b c$ e  f s g m h i j k lW n o p q r$ t z u v w x y { | } ~                                        *     $                                      $                $                                       $  t  C  (         *       "      ! # $ % & '$ ) 6 * 0 + , - . /* 1 2 3 4 5$ 7 = 8 9 : ; < > ? @ A B$ D Y E L F G H I J K M S N O P Q R T U V W X$ Z g [ a \ ] ^ _ ` b c d e f$ h n i j k l m o p q r s u  v  w  x ~ y z { | }A                                                      *     $            $         *           *    <             !     W               *                       '               ! " # $ % & ( 5 ) / * + , - .* 0 1 2 3 4 6 7 8 9 : ; = h > S ? L @ F A B C D E G H I J K M N O P Q R T [ U V W X Y Zċ \ b ] ^ _ ` a c d e f g$ i ~ j q k l m n o p$ r x s t u v w y z { | }                          W                    *       a                   $                             W       $              *           $         *  #        $           ! "$ $ + % & ' ( ) * , 2 - . / 0 1 3 4 5 6 7 9 :  ; < m = R > K ? E @ A B C D F G H I J L M N O P Q S ` T Z U V W X Y [ \ ] ^ _ a g b c d e f* h i j k l n o | p v q r s t u w x y z {$ } ~                          *          *                                        *                     *  R  .               W        !      $ " ( # $ % & ' ) * + , - / = 0 1 7 2 3 4 5 6* 8 9 : ; < > E ? @ A B C D F L G H I J K M N O P Q S T h U a V [ W X Y Z! \ ] ^ _ ` b c d e f g i v j p k l m n o q r s t u w } x y z { |* ~         *     $                             D ^ V          $ P         ,           t=        =     JFt  9  X  "Bu  A      A         ^        (  !      " % # $c'% & 'f ) * + - N . 1 / 0*Am 2 E 3 < 4 5 6 7 8 9 : ; = > ? @ A B C D F G H I J K L MO Of Q R S T U! W X Y Z [ \ ] _ z ` m a g b c d e f h i j k l$ n t o p q r s u v w x y { | } ~                                                                                                                        /  (  "     ! # $ % & '$ ) * + , - . 0 7 1 2 3 4 5 6 8 > 9 : ; < = ? @ A B C$ E F } G b H U I O J K L M N P Q R S T$ V \ W X Y Z [ ] ^ _ ` a$ c p d j e f g h iW k l m n o q w r s t u v x y z { | ~            $     $                                                                                                 .l    &  X  C    M  8  +  %  ! " # $ & ' ( ) * , 2 - . / 0 1 3 4 5 6 7 9 @ : ; < = > ? A G B C D E F* H I J K L N i O \ P V Q R S T U* W X Y Z [! ] c ^ _ ` a b d e f g h j w k q l m n o p r s t u v* x } y z { | ~    *     !          !               $     $               $                                -                                b  '      ;     $ ! " # % & ( ) * + , . / 0 o 1 ] 2 M 3 < 4 5 6 7 8 9 : ; = > ? @ A B C D E F G H I J K L' N T O P Q R S; U V W X Y Z [ \0 ^ _ ` a b c d e l f i g h j k'' m n' p w q r s t u v x  y z {  | } ~   ;               ;|  '   01  0 ;                    *     $                             $             P     W                                           (                "      ! # $ % & ' ) 6 * 0 + , - . / 1 2 3 4 5 7 = 8 9 : ; < > ? @ A B* D  E  F } G b H U I O J K L M N P Q R S T V \ W X Y Z [ ] ^ _ ` a c p d j e f g h i k l m n o q w r s t u v x y z { |* ~          W     $                    $            $  T                !              G              * * *   * * * * ** *  **  * **  * * * * * * * * * * * * *    5*5** * **   **  ** *  * *  *  ~*  *   **  *  *  **  * * * * * * **5 * * * * * * *  * !* "* #* $* %* &* '* (* )*~** + ,** - .* /* 0** 1 2* 3* 4* 5* 6* 7* 8* 9* :* ;* <* =* >* ?* @* A D B C*5* E F*~~ H N I J K L M O P Q R S U p V c W ] X Y Z [ \* ^ _ ` a bA d j e f g h i k l m n o q ~ r x s t u v wW y z { | }                                                                      W                 a         $     $              '           *                             W       !       " # $ % & ( C ) 6 * 0 + , - . /W 1 2 3 4 5 7 = 8 9 : ; < > ? @ A B D Q E K F G H I J* L M N O P$ R S T U V W Y s Z H [  \  ]  ^  _ ` a b c d e f { g h i j k l m u n o p q r s t99 v w x y z9 | } ~             4  9       9   9            $              $            $           *                    W     $       *                 $                                -  &        ! " # $ % ' ( ) * + , . ; / 5 0 1 2 3 4 6 7 8 9 :  < B = > ? @ A C D E F G I  J  K f L Y M S N O P Q R T U V W X Z ` [ \ ] ^ _ a b c d e g t h n i j k l m o p q r s u { v w x y z | } ~                              *         W             <           $                 *  /                 w   ft    1   R]        w    :1< ww   utf        U w     u    w     :     )       >     > ! % " # $H & ' ( * + , - .u 0 6 1 2 3 4 5 7 8 9 : ; = X > K ? E @ A B C D F G H I J$ L R M N O P Q S T U V W$ Y f Z ` [ \ ] ^ _ a b c d e g m h i j k l n o p q r t E u  v  w  x  y } z { | ~                         !                                       W                          W             *                                          *  *         *       $    ! " # % & ' ( ) + 8 , 2 - . / 0 1 3 4 5 6 7 9 ? : ; < = > @ A B C D F  G x H c I V J P K L M N O* Q R S T U$ W ] X Y Z [ \ ^ _ ` a b$ d k e f g h i j l r m n o p q s t u v w y  z  {  | } ~  *            *              *     W              O O O O O O OO4M             *     *                     W     *                       W     $                                    ! " # $ %$ '  (  ) . *  + b , G - : . 4 / 0 1 2 3a 5 6 7 8 9 ; A < = > ? @ B C D E F H U I O J K L M N* P Q R S T$ V \ W X Y Z [ ] ^ _ ` a$ c ~ d q e k f g h i j* l m n o p$ r x s t u v w y z { | }                                                                 I    X            *3  0ԍ%[L   X*                    $              $            $              *      $            *  ' ! " # $ % & ( ) * + , - /  0 U 1 F 2 ? 3 9 4 5 6 7 8 : ; < = > @ A B C D E G N H I J K L M$ O P Q R S T$ V q W d X ^ Y Z [ \ ]* _ ` a b c e k f g h i j l m n o p r  s y t u v w x z { | } ~*                         *                               *            W           W                 $                               $H               *    q  @  %                  ! " # $ & 3 ' - ( ) * + ,* . / 0 1 2 4 : 5 6 7 8 9 ; < = > ? A \ B O C I D E F G H J K L M N$ P V Q R S T U W X Y Z [ ] d ^ _ ` a b c e k f g h i j l m n o p r  s  t { u v w x y z$ |  } ~        $              $            $                !                                        D             *                          a                       /  "       W      ! # ) $ % & ' (* * + , - . 0 = 1 7 2 3 4 5 6 8 9 : ; < > ? @ A B C$ E p F [ G T H N I J K L M$ O P Q R S$ U V W X Y Z \ c ] ^ _ ` a b* d j e f g h i k l m n o$ q  r  s y t u v w x* z { | } ~                     *                   L  s                                                                  $                 $                               N  3  &       * ! " # $ % ' - ( ) * + , . / 0 1 2 4 A 5 ; 6 7 8 9 : < = > ? @$ B H C D E F G I J K L M O d P ] Q W R S T U Va X Y Z [ \ ^ _ ` a b c e l f g h i j k* m n o p q r t  u  v  w  x ~ y z { | }a                          *                            a                          $                              *                 $         *          $              7  *  $    ! " #* % & ' ( ) + 1 , - . / 0 2 3 4 5 6 8 ? 9 : ; < = > @ F A B C D E G H I J K M @ N  O  P k Q ^ R X S T U V W Y Z [ \ ]$ _ e ` a b c d f g h i j$ l y m s n o p q rW t u v w x$ z  { | } ~                $            $         *                                                                               *        $            $  %          *     $          ! " # $$ & 3 ' - ( ) * + , . / 0 1 2$ 4 : 5 6 7 8 9 ; < = > ? A  B x C ] D P E J F G H I_ K L M N O Q W R S T U V X Y Z [ \$ ^ k _ e ` a b c d! f g h i j l r m n o p q s t u v wW y  z  {  | } ~  $                 $        $            $             *                                                $                          $                       "m  b        O  4  '  !       " # $ % &$ ( . ) * + , - / 0 1 2 3$ 5 B 6 < 7 8 9 : ; = > ? @ A$ C I D E F G H J K L M N P k Q ^ R X S T U V WW Y Z [ \ ]$ _ e ` a b c d f g h i j l s m n o p q r$ t z u v w x y { | } ~                   $                                      $                $                     *     $            $  G                  *                  $            $  2  %    ! " # $* & , ' ( ) * + - . / 0 1 3 @ 4 : 5 6 7 8 9 ; < = > ?* A B C D E F H s I ^ J W K Q L M N O P R S T U V X Y Z [ \ ] _ f ` a b c d e g m h i j k l n o p q r t  u  v | w x y z { } ~   $            $         $                 $  x                                $              $                            $            $         $                      *  M  8  +  %   ! " # $ & ' ( ) * , 2 - . / 0 1 3 4 5 6 7 9 @ : ; < = > ? A G B C D E F H I J K L N c O \ P V Q R S T U$ W X Y Z [ ] ^ _ ` a b* d q e k f g h i j* l m n o p r s t u v w y  z  {  |  } ~          $                                    W     $            $                            +                *                                       *   * * * * *   ** * * * * ***  *  ** !* " #* $** %* & '* (** )* ** , G - : . 4 / 0 1 2 3 5 6 7 8 9 ; A < = > ? @ B C D E F H U I O J K L M N* P Q R S T* V \ W X Y Z [ ] ^ _ ` a* c ! d 1 e  f  g  h u i o j k l m n* p q r s t$ v | w x y z { } ~   $        $                       *                          $                                               $         $     $           $                       $    ! " #* % + & ' ( ) * , - . / 0 2 3 d 4 O 5 B 6 < 7 8 9 : ;* = > ? @ A C I D E F G H J K L M N P W Q R S T U VW X ^ Y Z [ \ ] _ ` a b c e f s g m h i j k l* n o p q r t z u v w x y { | } ~                                      a               *     *     $          $     W                ! ! ! !_ ! !4 ! ! ! ! ! ! ! ! !  !  ! a !  ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !$ ! !- !! !' !" !# !$ !% !&  !( !) !* !+ !,$ !. !/ !0 !1 !2 !3 !5 !P !6 !C !7 != !8 !9 !: !; !<$ !> !? !@ !A !B !D !J !E !F !G !H !I !K !L !M !N !O !Q !X !R !S !T !U !V !W* !Y !Z ![ !\ !] !^ !` ! !a !| !b !o !c !i !d !e !f !g !h !j !k !l !m !n !p !v !q !r !s !t !u$ !w !x !y !z !{ !} ! !~ ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !$ ! ! ! ! ! ! ! " ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !$ ! ! ! ! ! ! ! ! ! ! ! !* ! ! ! ! ! ! ! ! ! ! !* ! ! ! ! !* ! ! ! ! ! ! ! ! ! ! ! !* ! ! ! ! ! ! ! ! ! ! ! ! ! " " " "W " "< " "! " " " " "  "  "  "  " * " " " " " " " " " " " " " " " " "  "" "/ "# ") "$ "% "& "' "(* "* "+ ", "- ". "0 "6 "1 "2 "3 "4 "5 "7 "8 "9 ": "; "= "X "> "K "? "E "@ "A "B "C "D* "F "G "H "I "J$ "L "R "M "N "O "P "Q "S "T "U "V "W "Y "` "Z "[ "\ "] "^ "_* "a "g "b "c "d "e "f "h "i "j "k "l "n + "o $g "p #C "q " "r " "s " "t " "u "{ "v "w "x "y "z* "| "} "~ " " " " " " " " " " " " " " " " "W " " " " " " " " " " " " " " " " "$ " " " " " " " " " " "* " " " " "$ " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " # " " " " " " " " " "* " " " " " " " " " " " "$ " " " " " " " " "* " " " " " # # # # # # # # # #  #  # $ # #( # # # # # # # # #* # # # # #$ # #" # # # #  #! ## #$ #% #& #' #) #6 #* #0 #+ #, #- #. #/ #1 #2 #3 #4 #5 #7 #= #8 #9 #: #; #< #> #? #@ #A #B #D $ #E #| #F #a #G #T #H #N #I #J #K #L #M* #O #P #Q #R #S #U #[ #V #W #X #Y #Z #\ #] #^ #_ #` #b #o #c #i #d #e #f #g #h #j #k #l #m #n #p #v #q #r #s #t #u #w #x #y #z #{ #} # #~ # # # # # # # #* # # # # # # # # # # # # # # # # # # # # # # # # # #* # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #w # # # #w # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #1 # $ # # $ $ $ $ $ $ $ $ $ $5 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $! $. $" $( $# $$ $% $& $'1 $) $* $+ $, $-! $/ $0 $1 $2 $3 $4 $6 $N $7 $A $8 $; $9 $: $< $= $> $? $@ $B $H $C $D $E $F $G $I $J $K $L $M $O $Z $P $T $Q $R $S $U $V $W $X $Y $[ $a $\ $] $^ $_ $` $b $c $d $e $f $h %Q $i $ $j $ $k $ $l $y $m $s $n $o $p $q $ra $t $u $v $w $x $z $ ${ $| $} $~ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $* $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $* $ % $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ % $ % $ $ $ $ $ $* $* $* %* %* %* %* %* %* %* %* %** % % * % ** % ~* % % % % % % % % % % % % % % % % % %! %6 %" %) %# %$ %% %& %' %( %* %0 %+ %, %- %. %/ %1 %2 %3 %4 %5 %7 %D %8 %> %9 %: %; %< %=a %? %@ %A %B %C %E %K %F %G %H %I %J %L %M %N %O %P %R * %S % %T %o %U %b %V %\ %W %X %Y %Z %[ %] %^ %_ %` %a %c %i %d %e %f %g %h %j %k %l %m %n %p %w %q %r %s %t %u %v %x %~ %y %z %{ %| %} % % % % % % * % ' % & % &2 % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %> % % % % % % %$ % % % % % %1 % % % % %1 % % %  % % % % % % % % % % % %U % % % % %H % % %H % % % % % %w % % % % % % % %w % & % % % % % % % % %> % % % % % % % %$ % % %1 % & % & & &1 & & &$ & & & &  & 1 &  &  &  & &# & & & & & & & & & &U & & & & &H &  &! &"H &$ &- &% &) && &' &(w &* &+ &,1 &. &/ &0 &1w &3 &4 &[ &5 &H &6 &? &7 &; &8 &9 &:> &< &= &> &@ &D &A &B &C$ &E &F &G1 &I &R &J &N &K &L &M1 &O &P &Q$ &S &W &T &U &V1 &X &Y &Z  &\ &o &] &f &^ &b &_ &` &a &c &d &eU &g &k &h &i &jH &l &m &nH &p &y &q &u &r &s &tw &v &w &x1 &z &~ &{ &| &} & & &w & & ' & ' & & & & & & & & & & & & & & &> & & & & & & &$ & & & & & &1 & & & & &1 & & &  & & & & & & & & & & & &U & & & & &H & & &H & & & & & &w & & & & & & & &w & & & & & & & & & & &> & & & & & & &$ & & & & & &1 & & & & &1 & & &  & & & & & & & & & & & &U & & & & &H & & &H ' ' ' ' ' 'w ' ' ' ' '  '  '  ' w ' ' ' 'T ' '1 ' '" ' ' ' ' ' ' '> ' ' ' ' ' '  '!$ '# '( '$ '% '& ''1 ') '- '* '+ ',1 '. '/ '0  '2 'E '3 '< '4 '8 '5 '6 '7 '9 ': ';U '= 'A '> '? '@H 'B 'C 'DH 'F 'K 'G 'H 'I 'Jw 'L 'P 'M 'N 'O 'Q 'R 'Sw 'U 't 'V 'e 'W '` 'X '\ 'Y 'Z '[> '] '^ '_ 'a 'b 'c 'd$ 'f 'k 'g 'h 'i 'j1 'l 'p 'm 'n 'o1 'q 'r 's  'u ' 'v ' 'w '{ 'x 'y 'z '| '} '~U ' ' ' ' 'H ' ' 'H ' ' ' ' ' 'w ' ' ' ' ' ' ' 'w ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '>>> ' ' ' ' ' ' '$ ' ' ' ' ' '1 ' ' ' ' '1 ' ' '  ' ' ' ' ' ' ' ' ' ' ' 'U ' ' ' ' 'H ' ' 'H ' ' ' ' ' 'w ' ' ' ' ' ' ' 'w ' (5 ' ' ' ' ' ' ' ( ' ( ' ' ' ' ' ' ' ( ( ($ ( ( ( ( ( (1 ( ( (  (  ( 1 ( ( (  ( (& ( ( ( ( ( ( ( ( ( (U ( (" ( (  (!H (# ($ (%H (' (, (( () (* (+w (- (1 (. (/ (0 (2 (3 (4w (6 (7 (8 ) (9 ) (: ( (; (~ (< ([ (= (L (> (G (? (C (@ (A (B> (D (E (F (H (I (J (K$ (M (R (N (O (P (Q1 (S (W (T (U (V1 (X (Y (Z  (\ (o (] (f (^ (b (_ (` (a (c (d (eU (g (k (h (i (jH (l (m (nH (p (u (q (r (s (tw (v (z (w (x (y ({ (| (}w ( ( ( ( ( ( ( ( ( ( ( ( ( ($ ( ( ( ( ( (1 ( ( ( ( (1 ( ( (  ( ( ( ( ( ( ( ( ( ( ( (U ( ( ( ( (H ( ( (H ( ( ( ( ( (w ( ( ( ( ( ( ( (w ( ( ( ( ( ( ( ( ( ( ( (> ( ( ( ( ( ( ($ ( ( ( ( ( (1 ( ( ( ( (1 ( ( (  ( ( ( ( ( ( ( ( ( ( ( (U ( ( ( ( (H ( ( (H ( ( ( ( ( (w ( ( ( ( ( ( ( )w ) ) ) ) ) ) ) )  )  )  ) ) ) ) ) ) )1 ) ) ) ) )1 ) ) ) ) ) )Z ) )7 ) )( ) )# ) )  )! )" )$ )% )& )'$ )) ). )* )+ ), )-1 )/ )3 )0 )1 )21 )4 )5 )6  )8 )K )9 )B ): )> ); )< )= )? )@ )AU )C )G )D )E )FH )H )I )JH )L )Q )M )N )O )Pw )R )V )S )T )U )W )X )Yw )[ )v )\ )g )] )b )^ )_ )` )a )c )d )e )f$ )h )m )i )j )k )l1 )n )r )o )p )q1 )s )t )u  )w ) )x ) )y )} )z ){ )| )~ ) )U ) ) ) ) )H ) ) )H ) ) ) ) ) )w ) ) ) ) ) ) ) )w ) ) ) ) ) ) ) ) ) )$ ) ) ) ) ) )1 ) ) ) )1 ) ) ) ) ) ) ) ) ) ) ) )H ) ) ) ) ) )w ) ) ) ) ) * ) ) ) ) ) ) ) ) ) ) ) ) ) ) )$ ) ) ) ) ) )1 ) ) ) ) )1 ) ) )  ) ) ) ) ) ) ) ) ) ) ) )U ) ) ) ) )H ) ) )H ) ) ) ) ) )w ) * ) ) * * * * *w * * * * * *  * *  *  * * * * * * * * *V * *3 * *$ * * * * * * *  *! *" *#$ *% ** *& *' *( *)1 *+ */ *, *- *.1 *0 *1 *2  *4 *G *5 *> *6 *: *7 *8 *9 *; *< *=U *? *C *@ *A *BH *D *E *FH *H *M *I *J *K *Lw *N *R *O *P *Q *S *T *Uw *W *r *X *c *Y *^ *Z *[ *\ *] *_ *` *a *b$ *d *i *e *f *g *h1 *j *n *k *l *m1 *o *p *q  *s * *t *} *u *y *v *w *x *z *{ *|U *~ * * * *H * * *H * * * * * *w * * * * * * * *w * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ** * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + + + + + + , + + + + + +T + +? + +8 + +2 +  + + +WW +W + +W +W +WW + +W +W +W +WW +W +W + +W +WW + W +! +"W +#WW +$W +%W +& +'W +(W +)WW +* ++W +,W +-W +.W +/W +0W +1WW +3 +4 +5 +6 +7 +9 +: +; +< += +> +@ +G +A +B +C +D +E +F +H +N +I +J +K +L +M +O +P +Q +R +S +U +d +V +] +W +X +Y +Z +[ +\ +^ +_ +` +a +b +c +e +r +f +l +g +h +i +j +k +m +n +o +p +q +s +y +t +u +v +w +x +z +{ +| +} +~ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ,M + , + , + + + + + + + + + + + + + + + , , , , , , , , , ,  ,  , , , , , , , , ,$ , , , , ,* , , , , , , ,! ,8 ," ,+ ,# ,) ,$ ,% ,& ,' ,( ,* ,, ,2 ,- ,. ,/ ,0 ,1 ,3 ,4 ,5 ,6 ,7 ,9 ,@ ,: ,; ,< ,= ,> ,?$ ,A ,G ,B ,C ,D ,E ,F* ,H ,I ,J ,K ,L ,N ,s ,O ,d ,P ,W ,Q ,R ,S ,T ,U ,V ,X ,^ ,Y ,Z ,[ ,\ ,] ,_ ,` ,a ,b ,c ,e ,l ,f ,g ,h ,i ,j ,kW ,m ,n ,o ,p ,q ,r ,t , ,u , ,v ,| ,w ,x ,y ,z ,{ ,} ,~ , , , , , , , , ,$ , , , , , , , , ,* , , , , ,$ , , , , , , , , , , , , , , , ,w , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,$ , - , -6 , , , , , , , , , , , , , , , , , ,$ , , , , , , ,$ , , , , ,* , , , , , , , , , , , , , , , , , , , , ,$ , , , , , - - - - - - - - - - - -  -  -  -  -  - - - - - - - - - - - - - -) - -# - - -  -! -" -$ -% -& -' -( -* -0 -+ -, -- -. -/ -1 -2 -3 -4 -5 -7 -{ -8 -` -9 -S -: -M -; -< -= -> -? -@ -A -B -C -D -E -F -G -H -I -J -K -LtF -N -O -P -Q -R -T -Z -U -V -W -X -Y -[ -\ -] -^ -_ -a -n -b -h -c -d -e -f -g -i -j -k -l -m -o -u -p -q -r -s -t -v -w -x -y -z -| - -} - -~ - - - - -W - - - - - - - - - - - - - -* - - - - - - - - - - - - - - - - - - - -c - - - - - - - - - - - - - - - - - - - - - - - - -$ - - - - - - - - - - - - - - - - -* - - - - - - - - - - - -W - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - .5 - . . . . . . . . . . . .  .  .  .  . . . . . . . . . . . . . .( . ." . . . .  .!W .# .$ .% .& .' .) ./ .* .+ ., .- .. .0 .1 .2 .3 .4 .6 .Q .7 .D .8 .> .9 .: .; .< .= .? .@ .A .B .C .E .K .F .G .H .I .J .L .M .N .O .P$ .R ._ .S .Y .T .U .V .W .X .Z .[ .\ .] .^ .` .f .a .b .c .d .e .g .h .i .j .k .m ; .n 5U .o 2 .p 0 .q /6 .r . .s . .t . .u . .v .z .w .x .y$ .{ .| .} .~ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .$ . . . . . . . . . . . . . . . .* . . . . . . . . . . . . . . . . . . . .* . . . . . . . . . . . .* . . . . . . / . . . . . . . . . .* . . . . . . . . . . . . . . . . . . . . .* . . . . . . / / / / / / / / / /  /  / /! / / / / / / / / /* / / / / / / / / / / /  /" /) /# /$ /% /& /' /( /* /0 /+ /, /- /. // /1 /2 /3 /4 /5$ /7 / /8 /o /9 /T /: /G /; /A /< /= /> /? /@c /B /C /D /E /F /H /N /I /J /K /L /Mn /O /P /Q /R /S /U /b /V /\ /W /X /Y /Z /[ /] /^ /_ /` /a* /c /i /d /e /f /g /h /j /k /l /m /n$ /p / /q /x /r /s /t /u /v /w* /y / /z /{ /| /} /~ / / / / / / / / / / / / / /a / / / / / / / / / / / / / / / / / / / / / / / /P / / / / / / / / / / / / / / / / / / / / /[ / / / / / / /* / / / / / / / / / / / / / /W / / / / / / / / / / / /W / / / / / / / / / / / / / / / /* / / / / / / / / / / / / / / / / / / 0 0 0 0 0 0 0 0$ 0 0 0  0  0  0 0 0 0 0 0 0* 0 0 0 0 0W 0 1E 0 0 0 0m 0 08 0 0+ 0 0% 0  0! 0" 0# 0$W 0& 0' 0( 0) 0* 0, 02 0- 0. 0/ 00 01 03 04 05 06 07 09 0f 0: 0` 0; 0< 0= 0> 0? 0@ 0A 0B 0C 0D 0E 0F 0G 0H 0I 0J 0K 0L 0M 0N 0O 0P 0Q 0R 0S 0T 0U 0V 0W 0X 0Y 0Z 0[ 0\ 0] 0^ 0_9 0a 0b 0c 0d 0e 0g 0h 0i 0j 0k 0l 0n 0 0o 0| 0p 0v 0q 0r 0s 0t 0u 0w 0x 0y 0z 0{- 0} 0 0~ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0$ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 01$ 0w1 0 0w1 0 0 0 0 0 0 1* 0 1 0 1 0 0 0 0 0 0 0Q 0Q 0Q 0Q 0Q 0Q 0Q 0Q 0Q 0Q 0Q 0Q 1Q 1Q 1Q 1Q 1Q 1Q 1Q 1Q 1Q 1 Q 1 Q 1 Q 1 Q 1 Q 1Q 1Q 1 1 1Q 1 1iQiQ 1Q 1QiQ 1 1 1 1 1 1 1$ 1 1  1! 1" 1# 1% 1& 1' 1( 1) 1+ 18 1, 12 1- 1. 1/ 10 11* 13 14 15 16 17* 19 1? 1: 1; 1< 1= 1>W 1@ 1A 1B 1C 1D 1F 1 1G 1~ 1H 1c 1I 1V 1J 1P 1K 1L 1M 1N 1O. 1Q 1R 1S 1T 1U 1W 1] 1X 1Y 1Z 1[ 1\ 1^ 1_ 1` 1a 1b 1d 1q 1e 1k 1f 1g 1h 1i 1j 1l 1m 1n 1o 1p 1r 1x 1s 1t 1u 1v 1w* 1y 1z 1{ 1| 1} 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1* 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 2 2 2 2 2 2 2 2  2  2  2  2 2 2 2 2 3 2 2 2 2r 2 2A 2 22 2 2% 2 2 2 2 2 2 2a 2  2! 2" 2# 2$ 2& 2, 2' 2( 2) 2* 2+* 2- 2. 2/ 20 21* 23 2: 24 25 26 27 28 29 2; 2< 2= 2> 2? 2@ 2B 2] 2C 2P 2D 2J 2E 2F 2G 2H 2I* 2K 2L 2M 2N 2O 2Q 2W 2R 2S 2T 2U 2V 2X 2Y 2Z 2[ 2\ 2^ 2e 2_ 2` 2a 2b 2c 2d 2f 2l 2g 2h 2i 2j 2k 2m 2n 2o 2p 2q 2s 2 2t 2 2u 2 2v 2| 2w 2x 2y 2z 2{W 2} 2~ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2Af" 2 2 2 2 2t= 2 2 2 2 2 2 2W 2 2 2 2 2$ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2* 2 2 2 2 2 2 2 2 2 2 2 2 2 3E 2 3 2 2 2 2 2 2 2 2 2 2 2X 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 2 3 2 2 2 2 3 3 3 3 3 3 3 3  3  3  3  3 * 3 3* 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3$ 3 3  3! 3" 3# 3% 3& 3' 3( 3) 3+ 38 3, 32 3- 3. 3/ 30 31W 33 34 35 36 37* 39 3? 3: 3; 3< 3= 3> 3@ 3A 3B 3C 3D 3F 3w 3G 3\ 3H 3O 3I 3J 3K 3L 3M 3N 3P 3V 3Q 3R 3S 3T 3U* 3W 3X 3Y 3Z 3[ 3] 3j 3^ 3d 3_ 3` 3a 3b 3c 3e 3f 3g 3h 3i 3k 3q 3l 3m 3n 3o 3p! 3r 3s 3t 3u 3v 3x 3 3y 3 3z 3 3{ 3| 3} 3~* 3 3 3 3 3$ 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3* 3* 3* 3* 3* 3** 3 3* 3* 3* 3* 3 3 3 3 3 3* 3:9 3d9 3 3~ 3  3* 3* 3** 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3* 4 4 4 4 4* 4 4 4 4 4 4  4  4  4  4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4! 4X 4" 4= 4# 40 4$ 4* 4% 4& 4' 4( 4) 4+ 4, 4- 4. 4/ 41 47 42 43 44 45 46 48 49 4: 4; 4< 4> 4K 4? 4E 4@ 4A 4B 4C 4Da 4F 4G 4H 4I 4J 4L 4R 4M 4N 4O 4P 4Q* 4S 4T 4U 4V 4W 4Y 4s 4Z 4f 4[ 4a 4\ 4] 4^ 4_ 4`* 4b 4c 4d 4e 4g 4m 4h 4i 4j 4k 4l 4n 4o 4p 4q 4r 4t 4 4u 4{ 4v 4w 4x 4y 4z 4| 4} 4~ 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4. 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4* 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4* 4 4 4 4 4 4 4 4 4 4 4 4 4 4. 4 4 4 4 4 4 4 4 4 4 4 4 5$ 4 5 4 4 4 4 4 4 4 4 4 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5  5  5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5  5! 5" 5#* 5% 5@ 5& 53 5' 5- 5( 5) 5* 5+ 5, 5. 5/ 50 51 52 54 5: 55 56 57 58 59$ 5; 5< 5= 5> 5? 5A 5N 5B 5H 5C 5D 5E 5F 5G 5I 5J 5K 5L 5M 5O 5P 5Q 5R 5S 5T 5V 8 5W 6 5X 6 5Y 5 5Z 5 5[ 5p 5\ 5i 5] 5c 5^ 5_ 5` 5a 5b 5d 5e 5f 5g 5h$ 5j 5k 5l 5m 5n 5o* 5q 5~ 5r 5x 5s 5t 5u 5v 5w 5y 5z 5{ 5| 5} 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5* 5 5 5 5 5 5 5 5 5 5 5 5A 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5W 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5$ 5 5 5 5 5W 5 5 5 5 5 5 5 5 5 5 5 5  5 6 5 6 5 5 5 5 5 6 6 6 6 6 6 6 6  6  6  6  6 6} 6 6F 6 6+ 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6% 6  6! 6" 6# 6$ 6& 6' 6( 6) 6* 6, 69 6- 63 6. 6/ 60 61 62 64 65 66 67 68 6: 6@ 6; 6< 6= 6> 6? 6A 6B 6C 6D 6E 6G 6b 6H 6U 6I 6O 6J 6K 6L 6M 6N- 6P 6Q 6R 6S 6T 6V 6\ 6W 6X 6Y 6Z 6[ 6] 6^ 6_ 6` 6a 6c 6p 6d 6j 6e 6f 6g 6h 6i 6k 6l 6m 6n 6o 6q 6w 6r 6s 6t 6u 6v8 6x 6y 6z 6{ 6| 6~ 6 6 6 6 6 6 6 6 6 6 6 6* 6 6 6 6 6W 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6$ 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 6 7Q 6 7 6 7 6 6 6 6 6 6 6 6 6 6 6 6 6 6! 6 7 7 7 7 7 7a 7 7 7 7  7  7 7 7 7 7 7 7 7 7 7 7 7 7 7 7a 7 7 7 7 7 7! 76 7" 7/ 7# 7) 7$ 7% 7& 7' 7( 7* 7+ 7, 7- 7. 70 71 72 73 74 75 77 7D 78 7> 79 7: 7; 7< 7= 7? 7@ 7A 7B 7C 7E 7K 7F 7G 7H 7I 7J 7L 7M 7N 7O 7P 7R 7 7S 7n 7T 7a 7U 7[ 7V 7W 7X 7Y 7Z* 7\ 7] 7^ 7_ 7`$ 7b 7h 7c 7d 7e 7f 7g$ 7i 7j 7k 7l 7m 7o 7| 7p 7v 7q 7r 7s 7t 7u 7w 7x 7y 7z 7{ 7} 7 7~ 7 7 7 7* 7 7 7 7 7$ 7 7 7 7 7 7 7 7 7 7 7* 7 7 7 7 7* 7 7 7 7 7 7* 7 7 7 7 7 7 7 7 7* 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8! 7 7 7 7 7 7 7 7 7 7 7 7 7Ae 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7* 7 7 7 7 7 7 7 7 7 7 7 7 8 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 7 7 7 7 7W 8 8 8 8 8 8 8 8 8 8  8  8  8  8 W 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8  8" 8Y 8# 8> 8$ 81 8% 8+ 8& 8' 8( 8) 8* 8, 8- 8. 8/ 80 82 88 83 84 85 86 87 89 8: 8; 8< 8= 8? 8L 8@ 8F 8A 8B 8C 8D 8E 8G 8H 8I 8J 8K* 8M 8S 8N 8O 8P 8Q 8R 8T 8U 8V 8W 8X 8Z 8o 8[ 8b 8\ 8] 8^ 8_ 8` 8a  8c 8i 8d 8e 8f 8g 8h 8j 8k 8l 8m 8n 8p 8w 8q 8r 8s 8t 8u 8v 8x 8~ 8y 8z 8{ 8| 8} 8 8 8 8 8 8 :! 8 9[ 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8* 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8W 8 8 8 8 8 8$ 8 9" 8 9 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 8 8 8 8 9 9 9 9 9 9a 9 9 9 9 9  9  9  9  9a 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9  9! 9# 9@ 9$ 99 9% 9+ 9& 9' 9( 9) 9*! 9, 9- 9. 9/ 90 91 92 93 94 95 96 97 98 9: 9; 9< 9= 9> 9? 9A 9N 9B 9H 9C 9D 9E 9F 9Ga 9I 9J 9K 9L 9M 9O 9U 9P 9Q 9R 9S 9T 9V 9W 9X 9Y 9Z 9\ 9 9] 9 9^ 9y 9_ 9l 9` 9f 9a 9b 9c 9d 9e* 9g 9h 9i 9j 9k 9m 9s 9n 9o 9p 9q 9r 9t 9u 9v 9w 9x 9z 9{ 9| 9} 9~ 9 9 9 9 9 9 9 9 9 9 9 9 9* 9 9 9 9 9 9 9 9 9 9 9$ 9 9 9 9 9 9 9 9 9* 9 9 9 9 9 9 9 9 9 9 9 9$ 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9* 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9$ 9 9 9 9 9 9 9W 9 9 9 9 9 9 : 9 9 9 9 9 9 9 9 9* 9 9 9 9 9 9 : 9 9 9 9 9 : : : : : : : : : :  :  :  :  :  : : : : :$ : : : : : : :$ : : : : :  :" ; :# : :$ :[ :% :@ :& :3 :' :- :( :) :* :+ :,W :. :/ :0 :1 :2! :4 :: :5 :6 :7 :8 :9* :; :< := :> :? :A :N :B :H :C :D :E :F :G :I :J :K :L :M :O :U :P :Q :R :S :TW :V :W :X :Y :Z :\ :w :] :j :^ :d :_ :` :a :b :c :e :f :g :h :i$ :k :q :l :m :n :o :p :r :s :t :u :v$ :x : :y : :z :{ :| :} :~* : : : : :$ : : : : : : : : : : : :$ : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :$ : : : : : : : : :* : : : : :$ : : : : : : : : : : : :$ : : : : : : : : : : :$ : : : : :$ : : : : : : : : : : : :$ : : : : : : : : : : : : : :$ : : : : : : : : : : : ;a ; ;k ; ;: ; ; ; ; ; ; ; ; ;  ;  ; * ;  ; ; ; ;$ ; ; ; ; ; ; ; ; ; ; ; ;$ ; ;- ;! ;' ;" ;# ;$ ;% ;&! ;( ;) ;* ;+ ;,$ ;. ;4 ;/ ;0 ;1 ;2 ;3 ;5 ;6 ;7 ;8 ;9 ;; ;V ;< ;I ;= ;C ;> ;? ;@ ;A ;B! ;D ;E ;F ;G ;H ;J ;P ;K ;L ;M ;N ;O ;Q ;R ;S ;T ;U ;W ;^ ;X ;Y ;Z ;[ ;\ ;]$ ;_ ;e ;` ;a ;b ;c ;d ;f ;g ;h ;i ;j$ ;l ; ;m ; ;n ;{ ;o ;u ;p ;q ;r ;s ;t ;v ;w ;x ;y ;z$ ;| ; ;} ;~ ; ; ; ; ; ; ; ;$ ; ; ; ; ; ; ; ; ; ; ; ; ; ;$ ; ; ; ; ; ; ; ; ; ; ; ;$ ; ; ; ; ; ; ; ; ; ;$ ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;W ; ; ; ; ;$ ; ; ; ; ; ;$ ; B< ; > ; =O ; < ;   =? =@ =A =C =I =D =E =F =G =H$ =J =K =L =M =N =P > =Q = =R = =S =g =T =` =U =Z =V =W =X =Y* =[ =\ =] =^ =_ =a =b =c =d =e =f =h =u =i =o =j =k =l =m =na =p =q =r =s =t* =v =| =w =x =y =z ={ =} =~ = = =$ = = = = = = = = = = = =4 = = = =4 = =4 =4 =4 =4 =4 =4 =4 =4 =4 =4 =44 = = =44 =4 =4 =4 =4 =44 = =4 =4 =44 =4 =4 =4 =44 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =$ = = = = = = = = = = = = = =! = = = = = = = = = = = = = > = > = = > > > > > > > > > >  >  >  >  > > > > > > > > > > > > > >O > >4 > >' > >! > >  >" ># >$ >% >& >( >. >) >* >+ >, >- >/ >0 >1 >2 >3 >5 >B >6 >< >7 >8 >9 >: >; >= >> >? >@ >A >C >I >D >E >F >G >H >J >K >L >M >NW >P >k >Q >^ >R >X >S >T >U >V >W >Y >Z >[ >\ >] >_ >e >` >a >b >c >d >f >g >h >i >j >l >s >m >n >o >p >q >r >t >z >u >v >w >x >ya >{ >| >} >~ > > > > > > > > > > > > > > > > > > > > > > > > > >$ > > > > >$ > > > > > > > > >W > > > > > > > > > > > > > > > > > > > > > > > > > > >* > > > > > > >$ > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > @ > ? > ?[ > ?$ > ? > > > > > > > > >c > > > > > > ? > > ? ? ?* ? ? ? ? ? ? ? ? ? ?  ?  ? ? ?* ? ? ? ? ?$ ? ? ? ? ? ? ?$ ? ?  ?! ?" ?#$ ?% ?@ ?& ?3 ?' ?- ?( ?) ?* ?+ ?, ?. ?/ ?0 ?1 ?2* ?4 ?: ?5 ?6 ?7 ?8 ?9* ?; ?< ?= ?> ?? ?A ?N ?B ?H ?C ?D ?E ?F ?G ?I ?J ?K ?L ?M ?O ?U ?P ?Q ?R ?S ?T ?V ?W ?X ?Y ?Z ?\ ? ?] ?l ?^ ?e ?_ ?` ?a ?b ?c ?d ?f ?g ?h ?i ?j ?k ?m ?z ?n ?t ?o ?p ?q ?r ?s! ?u ?v ?w ?x ?y$ ?{ ? ?| ?} ?~ ? ?* ? ? ? ? ?$ ? ? ? ? ? ? ? ? ? ? ?$ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? @" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?$ ? @ ? ? ? ? ? ? ? ? ? @ ? ? ? ? @ @ @ @ @ @ @ @ @ @ @  @  @  @  @* @ @ @ @ @ @ @ @ @ @ @ @$ @ @ @ @  @! @# @Z @$ @? @% @2 @& @, @' @( @) @* @+ @- @. @/ @0 @1 @3 @9 @4 @5 @6 @7 @8* @: @; @< @= @> @@ @M @A @G @B @C @D @E @F$ @H @I @J @K @L* @N @T @O @P @Q @R @S @U @V @W @X @Y @[ @v @\ @i @] @c @^ @_ @` @a @b* @d @e @f @g @h @j @p @k @l @m @n @o @q @r @s @t @u @w @ @x @~ @y @z @{ @| @}* @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @$ @ Ad @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @* @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @! @ @ @ @ @ @ @ @ @ @ @a @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ A- @ A @ A @ A A A A A A A A A A  A  A A A  A A A A A A A A A$ A A A A A A A A* A! A' A" A# A$ A% A& A( A) A* A+ A, A. AI A/ A< A0 A6 A1 A2 A3 A4 A5* A7 A8 A9 A: A; A= AC A> A? A@ AA AB AD AE AF AG AH AJ AW AK AQ AL AM AN AO AP AR AS AT AU AV AX A^ AY AZ A[ A\ A] A_ A` Aa Ab Ac Ae A Af A Ag A| Ah Ao Ai Aj Ak Al Am Ana Ap Av Aq Ar As At Au Aw Ax Ay Az A{ A} A A~ A A A A A A A A A A A A A A A A A A A A A A A A A A A A A1 Aw A A A# A A A A A A A A A A A A A A A A A A A A A A A A A A A A A* A A A A A A A A A A A A A A A A A A A A A A A A A A A B A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A B B B B B B B B B B  B  B B! B B B B B B B B B* B B B B B B B B B B B  B" B/ B# B) B$ B% B& B' B($ B* B+ B, B- B. B0 B6 B1 B2 B3 B4 B5 B7 B8 B9 B: B; B= E B> C B? C B@ B BA Bx BB B] BC BP BD BJ BE BF BG BH BIa BK BL BM BN BO BQ BW BR BS BT BU BV BX BY BZ B[ B\ B^ Bk B_ Be B` Ba Bb Bc BdW Bf Bg Bh Bi Bj Bl Br Bm Bn Bo Bp Bq  Bs Bt Bu Bv Bw By B Bz B B{ B B| B} B~ B B$ B B B B B B B B B B B B B B B B B B B BW B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B* B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B$ B C B C B B B C Ca C C C C C C C C  C  C  C  C C C C C C C C C CN C C3 C C& C C C C C C C C! C" C# C$ C% C' C- C( C) C* C+ C, C. C/ C0 C1 C2 C4 CA C5 C; C6 C7 C8 C9 C: C< C= C> C? C@ CB CH CC CD CE CF CG CI CJ CK CL CMW CO Cj CP C] CQ CW CR CS CT CU CVW CX CY CZ C[ C\ C^ Cd C_ C` Ca Cb Cc* Ce Cf Cg Ch Ci Ck Cx Cl Cr Cm Cn Co Cp Cq Cs Ct Cu Cv Cw Cy C Cz C{ C| C} C~ C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C* C C C C C C C C C C C C C C C C C* C C C C C C C C C C C C C C C C C C C C C C C C C C* C D C Dp C D( C D C D C D C C C C C D D D D D D D D D  D  D  D * D D D D D* D D! D D D D D D Da D D D D D $ D" D# D$ D% D& D'$ D) D> D* D7 D+ D1 D, D- D. D/ D0 D2 D3 D4 D5 D6 D8 D9 D: D; D< D= D? Dc D@ DF DA DB DC DD DE* DG DH DI DJ DK DL DM D\ DN DO DP DQ DR DS DT DU DV DW DX DY DZ D[% D] D^ D_ D` Da Db Dd Dj De Df Dg Dh Di Dk Dl Dm Dn Do Dq D Dr D Ds D Dt Dz Du Dv Dw Dx Dy D{ D| D} D~ D D D D D D D D D D D D D* D D D D D D D D DW D D D D D$ D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D EN D E D E D E D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D E D D D EF E E E E E E E E  E  E  E  E E E E E E E E E E E E E E E E9 E E, E E& E! E" E# E$ E% E' E( E) E* E+ E- E3 E. E/ E0 E1 E2 E4 E5 E6 E7 E8W E: EA E; E< E= E> E? E@ EB EH EC ED EE EF EG EI EJ EK EL EM* EO E EP Ek EQ E^ ER EX ES ET EU EV EW* EY EZ E[ E\ E] E_ Ee E` Ea Eb Ec Ed Ef Eg Eh Ei Ej El Es Em En Eo Ep Eq Er Et Ez Eu Ev Ew Ex Ey E{ E| E} E~ E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E$ E E E E E E E E E E E E E E E E E E G E F E F" E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E F E E E E E E E E E F E E E F F F F F F F- F F F F F  F  F  F F F F F F F F F F F F F F F F F  F! F# FY F$ F? F% F2 F& F, F' F( F) F* F+* F- F. F/ F0 F1 F3 F9 F4 F5 F6 F7 F8 F: F; F< F= F> F@ FL FA FF FB FC FD FE FG FH FI FJ FK FM FS FN FO FP FQ FR FT FU FV FW FX$ FZ Fu F[ Fh F\ Fb F] F^ F_ F` Fa Fc Fd Fe Ff Fg Fi Fo Fj Fk Fl Fm Fn Fp Fq Fr Fs Ft Fv F Fw F} Fx Fy Fz F{ F|* F~ F F F F F F F F F F F F F F F F F G! F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F Fk@AtqI F FqIqI F F F FAtAt F2v2h F F FAt F F FAt F F FAt FqIAt F FAt F F F FqI2v2hAt FAt F F F F F F F F F F F F F F F G F F F F F F F F F F F F F F F G F F F F F G G G G G G G G G G  G  G  G  G  G G G G G G G G G G G G G G G G G  G" GY G# G> G$ G1 G% G+ G& G' G( G) G** G, G- G. G/ G0 G2 G8 G3 G4 G5 G6 G7 G9 G: G; G< G= G? GL G@ GF GA GB GC GD GE! GG GH GI GJ GK$ GM GS GN GO GP GQ GR GT GU GV GW GX GZ Gu G[ Gh G\ Gb G] G^ G_ G` Ga* Gc Gd Ge Gf Gg Gi Go Gj Gk Gl Gm Gn Gp Gq Gr Gs Gt Gv G Gw G} Gx Gy Gz G{ G| G~ G G G G G G G G G G G G G G G G G H^ G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G GW G G G G G G G G G G G G G G G G G G G G G G G G G G G G$ G G G G G G G G G G G G G G G G Gċ G G G G G G G G G G G G G G$ G G G G G G G G G G G G G H' G H G H G H H H H H H H H H H  H  H  H  H H H H H H H H H H H H H H! H H H H H  H" H# H$ H% H& H( HC H) H6 H* H0 H+ H, H- H. H/ H1 H2 H3 H4 H5 H7 H= H8 H9 H: H; H< H> H? H@ HA HB* HD HQ HE HK HF HG HH HI HJ HL HM HN HO HP HR HX HS HT HU HV HW HY HZ H[ H\ H]A H_ H H` H Ha Hv Hb Hi Hc Hd He Hf Hg Hh Hj Hp Hk Hl Hm Hn Ho Hq Hr Hs Ht Hu Hw H Hx H~ Hy Hz H{ H| H}$ H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H* H H H H H H H H H H H H H H H H H H H H* H H H H H H H H H H H H H H H H H H H H H H H H* H H H H H H H H H* H H H H H H H H H H H H H H H H H H I H H H H H H H H H I H I I I I I I I I I  I I I I I  I I I I I I I I I$ I I I I I I I I  I! I" I# I$* I& Jl I' J! I( Ik I) I< I* I3 I+ I. I, I- I/ I0 I1 I2* I4 I7 I5 I6 I8 I9 I: I; I= I> I? I@ IA IB IC ID IE IF IG IH II IJ IK IL IM IN IO IP IQ IR IS IT IU IV IW IX IY IZ I[ I\ I] I^ I_ I` Ia Ib Ic Id Ie If Ig Ih Ii Ij Il J Im I In I| Io Ip Iq Ir Iw Is It Iu Iv Ix Iy Iz I{ I} I~ I I I I I I I I I I I I I I I0 I I I I I I I I I I I I I I I I I I I I I I I I I I J I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I J J J J J J J J J J  J J  J  J  J J J J J J J J J J J J J J J J J  J" J@ J# J8 J$ J0 J% J+ J& J' J( J) J* J, J- J. J/ J1 J3 J2 J4 J5 J6 J7 J9 J= J: J< J; J> J? JA JU JB JP JC JM JD JE JF JG JJ JH JI JK JL JN JO JQ JT JR JS JV J_ JW JY JX JZ J[ J\ J] J^ J` Je Ja Jb Jc Jd Jf Jg Jh Ji Jj Jk Jm J Jn J Jo J~ Jp Jz Jq Jr Js Jt Ju Jv Jw Jx Jy J{ J| J} J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J K K K K K K\ K K K  K ia K h K g K ߻ K u K q K c K ` K _7 K K K K K K K K K K K K Kw K KX K K K K0 K K' K K  K! K" K# K$ K% K& K( K) K* K+ K, K- K. K/ K1 K2 K3 K4 K5 K6 K7 K8 K9 K: K; K< K= K> K? K@ KA KB KC KH KD KF KE KG KI KK KJ KL KM KN KO KP KQ KR KS KT KU KV KW KY KZ K[ K\ K] K^ K_ K` Ka Kb Kc Kd Ke Kf Kg Kh Ki Kj Kk Kl Km Kn Ko Kp Kq Kr Ks Kt Ku Kv\ Kx Ky Kz K{ K| K} K K~ K K K K K K K\ K K K K\ K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K\ K K K K K K K K K K\ K K K K K\ K K K K K K\ K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K8 K [ K N K N K N K K K K N K L K LL K L+ K K K K K K K K K L K K K K L L L L L L L L L L  L  L L  L L L L L L L L L L L L L L L L L L L  L! L" L# L$ L% L& L' L( L) L* L, L- L. L/ L0 L1 L2 L3 L4 L5 L6 L7 L8 L9 L: L; L< L= L> L? L@ LA LB LC LD LE LF LG LH LI LJ LK LM Ln LN LO LP LQ LR LS LT LU LV LW LX LY LZ L[ L\ L] L^ L_ L` La Lb Lc Ld Le Lf Lg Lh Li Lj Lk Ll Lm Lo Lp Lq Lr Ls Lt Lu Lv Lw Lx Ly L Lz L L{ L| L} L L~ L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L M L Ma L M+ L L L L L L L L M L L L L M M M M M M M M M M  M  M  M M  M M M M M M M M M M M M M M M M M M  M! M" M# M$ M% M& M' M( M) M* M, M- M. M/ M0 M1 M2 M3 M4 M5 MK M6 M7 M8 M9 M: M; M< M= M> M? M@ MA MB MC MD ME MF MG MH MI MJ ML MM MN MO MP MQ MR MS MT MU MV MW MX MY MZ M[ M\ M] M^ M_ M` Mb Mc Md Me Mf Mg Mh Mi Mj M Mk Ml Mm Mn Mo Mp Mq Mr Ms Mt Mu Mv Mw Mx My Mz M{ M| M} M~ M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M N  M M M M M M M M M M N N N N N N N N N N  N  N  N N N N N N N N N N N N N N N N N N N  N! N" NZ N# N$ N% N& N' N( N) N* N+ N, NC N- N. N/ N0 N1 N2 N3 N4 N5 N6 N7 N8 N9 N: N; N< N= N> N? N@ NA NB ND NE NF NG NH NI NJ NK NL NM NN NO NP NQ NR NS NT NU NV NW NX NY N[ N\ N] N^ N_ N` Na Nb Nc Nd N{ Ne Nf Ng Nh Ni Nj Nk Nl Nm Nn No Np Nq Nr Ns Nt Nu Nv Nw Nx Ny Nz N| N} N~ N N N N N N N N N N N N N N N N N N N N N N N N N N N Z N Z N N N N S N N P N N O N N N N N N N N N N N N N N N N N Ng N N N N N N N N N N Ng N N N N N N N N N N N N N Ng N N N N N N N N N N N Ng N N N N N N N N N N N N N N Ng N N N N N N N N N N N N N Ng N N N N N N O O O O O Og O O O O O O O OD O O0 O O& O O O O O O O O O O O O11 O O O O1 O1 O O O  O! O" O# O$ O%1 O' O( O) O* O+ O, O- O. O/1 O1 O2 O; O3 O4 O5 O6 O7 O8 O9 O:1 O< O= O> O? O@ OA OB OC1 OE Oc OF OY OG OP OH OI OJ OK OL OM ON OO1 OQ OR OS OT OU OV OW OX1 OZ O[ O\ O] O^ O_ O` Oa Ob1 Od On Oe Of Og Oh Oi Oj Ok Ol Om1 Oo Ox Op Oq Or Os Ot Ou Ov Ow1 Oy Oz O{ O| O} O~ O O1 O O O O O O O O O O O O O O1 O O O O O O O O O O1 O O O O O O O O O O O1 O O O O O O O O O O O O O O O1 O O O O O O O O O O O1 O O O O O O O O O O O O1 O P O O O O O O O O O O O O O O O O1 O O O O O O O O O O1 O O O O O O O O O O O1 O P  O O O O O O O O O O O O1 P P P P P P P P P1 P P P  P  P  P P P P P P P1 P P P P P P P P P P1 P! Pd P" P9 P# P. P$ P% P& P' P( P) P* P+ P, P-1 P/ P0 P1 P2 P3 P4 P5 P6 P7 P81 P: PO P; PE P< P= P> P? P@ PA PB PC PD1 PF PG PH PI PJ PK PL PM PN1 PP PZ PQ PR PS PT PU PV PW PX PY1 P[ P\ P] P^ P_ P` Pa Pb Pc1 Pe P| Pf Pq Pg Ph Pi Pj Pk Pl Pm Pn Po Pp1 Pr Ps Pt Pu Pv Pw Px Py Pz P{1 P} P P~ P P P P P P P P P P1 P P P P P P P P P1 P P P P P P P P P P P1 P P P P P P P P P1 P P P P P P P P P P P P P P P P P P R P Q P QW P Q P P P P P P P P P P P P P PH PH P P P PHH PH P P P P P P P PH P P P P P P P P P PH P P P P P P P PH P P P P P P P P P P P PH P P P P P P P PH P Q Q Q Q Q Q Q Q QH Q  Q  Q  Q  Q  Q Q QH Q Q0 Q Q& Q Q Q Q Q Q Q Q Q QH Q Q Q  Q! Q" Q# Q$ Q%H Q' Q( Q) Q* Q+ Q, Q- Q. Q/H Q1 QD Q2 Q; Q3 Q4 Q5 Q6 Q7 Q8 Q9 Q:H Q< Q= Q> Q? Q@ QA QB QCH QE QN QF QG QH QI QJ QK QL QMH QO QP QQ QR QS QT QU QVH QX Q QY Qw QZ Qd Q[ Q\ Q] Q^ Q_ Q` Qa Qb QcH Qe Qn Qf Qg Qh Qi Qj Qk Ql QmH Qo Qp Qq Qr Qs Qt Qu QvH Qx Q Qy Q Qz Q{ Q| Q} Q~ Q Q QH Q Q Q Q Q Q Q QH Q Q Q Q Q Q Q Q Q QH Q Q Q Q Q Q Q QH Q Q Q Q Q Q Q Q Q Q Q Q QH Q Q Q Q Q Q Q Q Q QH Q Q Q Q Q Q Q QH Q Q Q Q Q Q Q Q Q Q QH Q Q Q Q Q Q Q Q Q QH Q Q Q Q Q Q Q QH Q RN Q R Q Q Q Q Q Q Q Q Q Q Q Q QH Q Q Q Q Q Q Q Q QH Q Q Q Q Q Q Q Q Q Q QH Q R R R R R R R RH R R' R R R R R  R  R R R R R RH R R R R R R R RH R R R  R! R" R# R$ R% R&H R( R; R) R2 R* R+ R, R- R. R/ R0 R1H R3 R4 R5 R6 R7 R8 R9 R:H R< RE R= R> R? R@ RA RB RC RDH RF RG RH RI RJ RK RL RMH RO Ry RP Rn RQ R[ RR RS RT RU RV RW RX RY RZH R\ Re R] R^ R_ R` Ra Rb Rc RdH Rf Rg Rh Ri Rj Rk Rl RmH Ro Rp Rq Rr Rs Rt Ru Rv Rw RxH Rz R R{ R R| R} R~ R R R R R RH R R R R R R R R RH R R R R R R R R R RH R S R R R R R R R R R R R R R R RH R R R R R R R R R R RH R R R R R R R R RH R R R R R R R R R R R R R RH R R R R R R R R R R RH R R R R R R R R RH R R R R R R R R R R R RH R R R R R R R R R R RH R R R R R R R R SH S SO S S$ S S S S S S S S  S  S  S  S  SH S S S S S S S S SH S S S S S S S  S! S" S#H S% S: S& S0 S' S( S) S* S+ S, S- S. S/H S1 S2 S3 S4 S5 S6 S7 S8 S9H S; SE S< S= S> S? S@ SA SB SC SDH SF SG SH SI SJ SK SL SM SNH SP Sg SQ S\ SR SS ST SU SV SW SX SY SZ S[H S] S^ S_ S` Sa Sb Sc Sd Se SfH Sh S} Si Ss Sj Sk Sl Sm Sn So Sp Sq SrH St Su Sv Sw Sx Sy Sz S{ S|H S~ S S S S S S S S SH S W S T S T? S T S S S S S S S S S S S S S S S S S S$ S S S S S S S S S S S S$ S S S S S S S S S S S S S S S$ S S S S S S S S S S S$ S S S S S S S S S S S S S$ S S S S S S S S S S S$ S S S S S S S S S S S S S S S S$ S S S S S S S S S S S S$ S T S S S S S S T T T T T T$ T T T  T  T  T  T  T T T T T$ T T# T T T T T T T T T T T T  T! T"> T$ T% T2 T& T' T( T) T* T+ T, T- T. T/ T0 T1> T3 T4 T5 T6 T7 T8 T9 T: T; T< T= T>> T@ TA Tk TB TP TC TD TE TF TG TH TI TJ TK TL TM TN TO TQ T^ TR TS TT TU TV TW TX TY TZ T[ T\ T] T_ T` Ta Tb Tc Td Te Tf Tg Th Ti Tj Tl Tm Tz Tn To Tp Tq Tr Ts Tt Tu Tv Tw Tx Ty T{ T T| T} T~ T T T T T T T T T T T T T T T T T T T T U T T T T T T T T T T T T T T T T T T UH T U T T T T T T T T T T T T T T T T T T Tw T T Tw Tw T T T T T T T T T T T T T T Tw T T T T T T T T Tw T T T T T T T T T Tw T T T T T T T T T T T T T Tw T T T T T T T T T Tw T U T T T T T T U U U Uw U U U U U U  U  U  U  U  Uw U U U U U U U U Uw U U U< U U' U U U U  U! U" U# U$ U% U&w U( U2 U) U* U+ U, U- U. U/ U0 U1w U3 U4 U5 U6 U7 U8 U9 U: U;w U= U> U? U@ UA UB UC UD UE UF UG UI U{ UJ UW UK UL UM UN UO UP UQ UR US UT UU UVw UX Ud UY UZ U[ U\ U] U^ U_ U` Ua Ub Ucw Ue Up Uf Ug Uh Ui Uj Uk Ul Um Un Uow Uq Ur Us Ut Uu Uv Uw Ux Uy Uzw U| U U} U~ U U U U U U U U U Uw U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U Uww U Uww U Uw U V U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U Uq U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U V U U U U U U U U U U U U V V V V V V V V V  V  V  V  V  Vq V WH V V V V V V| V Vq V V V V V V= V V/ V V% V V" V V V V V!  V# V$$ V& V) V' V( V* V- V+ V,## V.H V0 V9 V1 V4 V2 V3H V5 V7 V6 V8$H V: V; V< V> V_ V? VJ V@ VE VA VC VB1 VD11 VF VH VG VI VK VQ VL VNH VMH VO VPHH VR V\ VS VT VU VV VW VX VY VZ V[> V] V^1 V` Vf Va Vb Vd VcHH VeH Vg Vm Vh VjH ViH Vk VlH#H Vn Vo VpH  Vr Vs Vt Vu Vv Vw Vx Vy Vz V{U V} V V~ V V V V V V V V V V V V V V V V V V V# V V V V V V V V V V V V V V V V V V V V V V V Vq V V V V V V V V V V V V V V V V V V V V V VU V V V V V V V V V V V W V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V VU V V V V W W W W W WU W W W W W W  W  W  W  W W W W WU W W W W W W W W W  W W3 W W) W  W! W" W# W$ W% W& W' W(U W* W+ W, W- W. W/ W0 W1 W2  W4 W> W5 W6 W7 W8 W9 W: W; W< W= W? W@ WA WB WC WD WE WF WG WI W{ WJ Wc WK WW WL WM WN WO WP WQ WR WS WT WU WV WX WY WZ W[ W\ W] W^ W_ W` Wa Wb Wd We Wp Wf Wg Wh Wi Wj Wk Wl Wm Wn Wo Wq Wr Ws Wt Wu Wv Ww Wx Wy Wz W| W W} W W~ W W W W W W W W W WY W W W W W W W W W W W Wq W W W W W W W W W Wq W W W W W W W W W W W W W W  W W W W W W W W W W# W W W W W W W W W W Wq W Y W W W X W Xq W X0 W X W W W W W W W W W W W W W W W W  W W| W W W W  W W W W W W W W  W W W W W W W W W  W W W W W W W W W W W  W W X X X X X X  X X X X X X  X  X  X  X X X X X X X X X X X X X  X X X' X X  X! X" X# X$ X% X& X( X) X* X+ X, X- X. X/  X1 XG X2 X3 X= X4 X5 X6 X7 X8 X9 X: X; X<  X> X? X@ XA XB XC XD XE XF  XH X] XI XS XJ XK XL XM XN XO XP XQ XR| XT XU XV XW XX XY XZ X[ X\  X^ X_ Xh X` Xa Xb Xc Xd Xe Xf Xg  Xi Xj Xk Xl Xm Xn Xo Xp  Xr X Xs X Xt X Xu Xv X Xw Xx Xy Xz X{ X| X} X~| X X X X X X X X  X X X X X X X X X X X  X X X X X X X X  X X X X X X X X X X X X X  X X X X X X X X X X X X X X X X X X X  X X X X X X X X X X X X X X X X X X X X X X X  X X X X X X X X X X  X X X X X X X X X X X X  X X X X X X X X X X  X YR X Y# X Y X X Y X X X X X Y Y Y Y  Y Y Y Y Y Y  Y  Y  Y  Y  Y Y Y Y Y Y Y Y  Y Y Y Y Y Y Y Y Y  Y! Y"  Y$ Y; Y% Y0 Y& Y' Y( Y) Y* Y+ Y, Y- Y. Y/ Y1 Y2 Y3 Y4 Y5 Y6 Y7 Y8 Y9 Y:  Y< YG Y= Y> Y? Y@ YA YB YC YD YE YF  YH YI YJ YK YL YM YN YO YP YQ  YS Y YT Yk YU Y` YV YW YX YY YZ Y[ Y\ Y] Y^ Y_  Ya Yb Yc Yd Ye Yf Yg Yh Yi Yj  Yl Ym Yw Yn Yo Yp Yq Yr Ys Yt Yu Yv  Yx Yy Yz Y{ Y| Y} Y~ Y Y  Y Y Y Y Y Y Y Y Y Y Y Y Y Y  Y Y Y Y Y Y Y Y Y  Y Y Y Y Y Y Y Y Y Y Y  Y Y Zq Y Z" Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Z Y Z Y Y Y Y Y Y Y Y Y Y Y Y Y Z Z Z Z Z Z Z Z Z Z  Z  Z  Z  Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z  Z! Z# ZJ Z$ Z= Z% Z1 Z& Z' Z( Z) Z* Z+ Z, Z- Z. Z/ Z0 Z2 Z3 Z4 Z5 Z6 Z7 Z8 Z9 Z: Z; Z< Z> Z? Z@ ZA ZB ZC ZD ZE ZF ZG ZH ZI ZK ZX ZL ZM ZN ZO ZP ZQ ZR ZS ZT ZU ZV ZW ZY Ze ZZ Z[ Z\ Z] Z^ Z_ Z` Za Zb Zc Zd Zf Zg Zh Zi Zj Zk Zl Zm Zn Zo Zp Zr Zs Zt Zu Zv Zw Zx Zy Zz Z{ Z| Z} Z~ Z Z! Z Z Z8 Z Z Z Z Z Z Z Z [ Z Z [8 Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z [ Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z [ [ [ [ [ [ [ [ [ [ [  [  [  [  [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [  [! [" [# [$ [% [& [' [( [) [* [+ [, [- [. [/ [0 [1 [2 [3 [4 [5 [6 [7 [9 [ [: [W [; [< [= [> [? [@ [A [B [C [D [E [F [G [H [I [J [K [L [M [N [O [P [Q [R [S [T [U [V [X [Y [Z [t [[ [\ [] [^ [_ [` [a [b [c [d [e [f [g [h [i [j [k [l [m [n [o [p [q [r [s [u [v [w [x [y [z [{ [| [} [~ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ \ [ \ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [w [ [1 [ [ [ [ [ [ [ [  [ [  [ [ [ [ [ [H g [ \ \ \ \ \ \ \ \@ \ \5 \ \  \ \- \  \  \ \( \ \ \ \ \ \ \ \# \ \1  \ \ \ \Hw \ \ g \ \" \ \ \!u \# \% \$H \& \'w1g \) \* \+ \, \. \/ \0 \1 \2 \3 \4q \6 \7 \8 \9 \: \; \< \= \> \? \A \j \B \` \C \D \E \F \G \H \I \J \K \L \M \N \O \P \Q \R \S \T \U \V \W \X \Y \Z \[ \\ \] \^ \_# \a \b \c \d \e \f \g \h \i \k \l \m \n \o \p \q \r \x \s \v \t \uuK  \wYU \y \| \z \{$K \} \~ \ \ \ \k \ \ \ \ \ \ \ \ \ \ \ \ ] \ ]% \ ] \ \ \ \ \ \ \ \ \ \ \ \ \ \ \g \ \ \ \ \ \ \g \ \ \ \ \  \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \H \ \ \ \  \U \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \  \ \ \ \$ \ \  \ \ \ \ \ \ \1 \ \ \ \ \ \ \ \ \g \ \w \ \ \ \1 \ \ \ \ \ \ \ \ \ \g \ ] ] ] ] ] ]g ] ] ] ] ] ]   ] g ] ] ] ] ] ] ] ] ]g ] ] ] ] ] ] ]g ] ] ]  ]! ]# ]"  ]$g ]& ]' ] ]( ]U ]) ]* ]+ ]@ ], ]3 ]- ]. ]/ ]0 ]1 ]2g ]4 ]: ]5 ]6 ]7 ]8 ]9g ]; ]< ]= ]> ]?  ]A ]H ]B ]C ]D ]E ]F ]Gg ]I ]O ]J ]K ]L ]M ]Ng ]P ]Q ]R ]S ]T  ]V ]W ]X ]m ]Y ]` ]Z ][ ]\ ]] ]^ ]_g ]a ]g ]b ]c ]d ]e ]fg ]h ]i ]j ]k ]l  ]n ]u ]o ]p ]q ]r ]s ]tg ]v ]| ]w ]x ]y ]z ]{g ]} ]~ ] ] ]  ] ] ] ] ] ] ] ] ] ] ] ]g ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ]g ]g ] ] ] ] ]  ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ]g ] ] ] ] ] ] ]g ] ] ] ] ]  ] ] ] ^ ] ] ] ] ] ] ] ] ] ] ] ] ]g ] ] ] ] ] ] ]g ] ] ] ] ]  ] ] ] ] ] ] ] ]g ] ] ] ] ] ]  ] ] ] ] ] ] ] ] ]g ] ^ ] ] ] ] ]g ^ ^ ^ ^ ^  ^ ^7 ^ ^' ^ ^ ^ ^ ^  ^  ^ ^ ^ ^g ^ ^ ^ ^ ^ ^  ^ ^ ^ ^ ^ ^ ^ ^g ^! ^" ^# ^$ ^% ^&  ^( ^) ^0 ^* ^+ ^, ^- ^. ^/g ^1 ^2 ^3 ^4 ^5 ^6  ^8 _ ^9 ^l ^: ^A ^; ^< ^= ^> ^? ^@g ^B ^f ^C ^D ^E ^F ^G ^H ^I ^S ^J ^K ^L ^M ^N ^O ^P ^Q ^Rg ^T ^] ^U ^V ^W ^X ^Y ^Z ^[ ^\g ^^ ^_ ^` ^a ^b ^c ^d ^eg ^g ^h ^i ^j ^k  ^m ^n ^o ^p ^q ^r ^ ^s ^ ^t ^ ^u ^v ^| ^w ^x ^y ^z ^{ ^} ^ ^~ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^1 ^ ^ ^ ^ ^ ^ ^1 ^ ^1 ^ ^ ^ ^ ^1 ^ ^1 ^ ^ ^ ^ ^ ^ ^ ^ ^ ^g ^g ^ ^ ^ ^g ^ ^g ^ ^ ^ ^g ^ ^ ^ ^ ^g ^ ^ ^ ^ ^ ^ ^ ^ ^ ^H ^ ^ ^ ^H ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^  ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^  ^ ^ ^ ^ ^  ^ ^ ^  _ _ _ _ _ _ _ _ _ _ _  _  _  _ w _ _ _ _w _ _" _ _ _ _ _ _ _ _g _ _ _ _ _  _!  _# _* _$ _% _& _' _( _)g _+ _1 _, _- _. _/ _0g _2 _3 _4 _5 _6  _8 _ _9 _a _: _M _; _D _< _@ _= _> _? _A _B _C _E _I _F _G _H _J _K _L _N _X _O _T _P _Q _R _S _U _V _W _Y _] _Z _[ _\ _^ __ _` _b _ _c _n _d _j _e _f _g _h _i _k _l _m _o _w _p _q _r _s _t _u _vO _x _y _z _{ _| _} _~ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _  _ _ _ _ _ _ _ _ _ _ _ _ _ ` ` ` ` ` ` `D ` `$ ` ` ` ` `  `  `  `  `  ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` `  `! `" `# `% `& `' `( `) `* `+ `, `- `. `/ `0 `1 `2 `3 `4 `5 `6 `7 `8 `9 `: `; `< `= `> `? `@ `A `B `C `E `F `e `G `H `I `J `K `L `M `N `O `P `Q `R `S `T `U `V `W `X `Y `Z `[ `\ `] `^ `_ `` `a `b `c `d `f `g `h `i `j `k `l `m `n `o `p `q `r `s `t `u `v `w `x `y `z `{ `| `} `~ ` ` ` ` ` ` `g ` ` ` `HK ` `U   ` aj ` aJ ` a: ` a3 ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` a/ ` ` ` ` ` ` a$ ` a ` ` ` ` ` ` a ` ` ` ` `  ` a aK a a a a  a a a  a  a  a a a a a a a# a a a a a1 a a a a a a a a a" a! a#| a% a& a' a( a) a* a+ a, a- a.u a0 a1 a2 a4 a5 a6 a7 a8 a9 a; aA a< a= a> a? a@ aB aC aD aE aF aG aH aI aK aW aL aR aM aN aO aP aQ aS aT aU aV aX aa aY aZ a[ a\ a] a^ a_ a` ab ac ad ae af ag ah ai ak b al a| am av an ao ap aq ar as at au aw ax ay az a{ a} a a~ a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a bQ a b0 a b a a a a a a a a a a a a a a a b b b b b b b b b b  b  b  b b  b b b b b b b b b b b b b b b b b b  b! b" b# b$ b% b& b' b( b) b* b+ b, b- b. b/ b1 b2 b3 b4 b5 b6 b7 b8 b9 b: b; b< b= b> b? b@ bA bB bC bD bE bF bG bH bI bJ bK bL bM bN bO bP bR bS bT bU bV bs bW bX bY bZ b[ b\ b] b^ b_ b` ba bb bc bd be bf bg bh bi bj bk bl bm bn bo bp bq br bt bu bv bw bx by bz b{ b| b} b~ b b b b b b b b b b b b b b b b b b c b c b b b b b b b b b b b b c9 b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b bU b b b b b b b b bU b c& b b c b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b| b c b c b b b b b b| b b b c c c c c c c c c c  c  c c c c c c c c c c c c c c c c c c" c c  c! c# c$ c% c' c( c) c1 c* c+ c, c- c. c/ c0g c2 c3 c4 c5 c6 c7 c8g c: cb c; c< cW c= c> c? c@ cG cA cB cC cD cE cFw cH cQ cI cJ cK cN cL cMw cO cPw cR cS cT cU cVw cX cY cZ c[ c\ c] c^ c_ c` ca cc cv cd ce cf cg ch co ci cj ck cl cm cn cp cq cr cs ct cu cw cx cy cz c c{ c| c} c~ c c cu c c c c c c c|* c c c c c c c c c c c c c c c c c c c$ c c c c c c c c\ c c c c p c p| c d c c c c c c c c c c c d c c c c c c c c d] c d c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c d c c c c c c c c c c c c c c c c c c c c c c c c c c c d d d d d d d d d  d  d  d  d  d d d d d d d d d d d d d d d d d d  d! d? d" d# d$ d% d& d' d( d) d* d+ d, d- d. d/ d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 d: d; d< d= d> d@ dA dB dC dD dE dF dG dH dI dJ dK dL dM dN dO dP dQ dR dS dT dU dV dW dX dY dZ d[ d\ d^ d_ d d` da db dc dd de df dg dh di dj dk dl dm dn do dp dq dr ds dt du dv dw dx dy dz d{ d| d} d~ d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d ps d pm d d d d d d d d d d d d d d d o d d o d i` d e( d d e d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d e e e e e e e e e e  e  e  e  e  e e e e e e e e e e e e e e e e e e  e! e" e# e$ e% e& e'u e) g e* f3 e+ eu e, eQ e- e? e. e/ e0 e1 e2 e3 e4 e5 e6 e7 e8 e9 e: e; e< e= e>  e@ eA eB eC eD eE eF eG eH eI eJ eK eL eM eN eO eP$ eR eS ed eT eU eV eW eX eY eZ e[ e\ e] e^ e_ e` ea eb ecw ee ef eg eh ei ej ek el em en eo ep eq er es et1 ev e ew e ex ey e ez e{ e| e} e~ e e e e e e e e e e e e e e e e e e e e e e e e e  e e e e e e e e e e e e e e e e e eu e e e e e e e e e e e e e e e eH e f e e e e e e e e e e e e e e e e e e e1 e e e e e e e e e e e e e e e# e e e e e e e e e e e e e e e e e# e e e e e e e e e e e e e e e1 f f f f f f f f f f  f  f  f  f  f f f f1 f f# f f f f f f f f f f f f f  f! f"H f$ f% f& f' f( f) f* f+ f, f- f. f/ f0 f1 f2  f4 g f5 f f6 fi f7 fX f8 fH f9 f: f; f< f= f> f? f@ fA fB fC fD fE fF fG fI fJ fK fL fM fN fO fP fQ fR fS fT fU fV fW fY fZ f[ f\ f] f^ f_ f` fa fb fc fd fe ff fg fh fj f fk f{ fl fm fn fo fp fq fr fs ft fu fv fw fx fy fzH f| f} f~ f f f f f f f f f f f f1 f f f f f f f f f f f f f f f f| f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f  f f f f f f f f f f f f f f f  f f f f f f f f f f f f f f f f f f f  f f f f f f f f f f f f f f fK f f f f f f f f f f f f f g g g1 g g: g g g g g g  g  g  g  g  g g g g g g g g g  g g) g g g g g g g g  g! g" g# g$ g% g& g' g(  g* g+ g, g- g. g/ g0 g1 g2 g3 g4 g5 g6 g7 g8 g9  g; g~ g< g] g= gM g> g? g@ gA gB gC gD gE gF gG gH gI gJ gK gLH gN gO gP gQ gR gS gT gU gV gW gX gY gZ g[ g\H g^ gn g_ g` ga gb gc gd ge gf gg gh gi gj gk gl gm# go gp gq gr gs gt gu gv gw gx gy gz g{ g| g}w g g g g g g g g g g g g g g g g g g hW g g g g g g g g g g g g g g g g g g g g g g g g1 g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g  g g g g g g g g g g g g g g g g g g g$ g g g g g g g g g g g g g g g g  g h! g h g g g g g g g g g g g g g g g g g g h h h h h h h h h h  h  h  h  h  h1 h h h h h h h h h h h h h h h h h  h" h4 h# h$ h% h& h' h( h) h* h+ h, h- h. h/ h0 h1 h2 h3  h5 hF h6 h7 h8 h9 h: h; h< h= h> h? h@ hA hB hC hD hE1 hG hH hI hJ hK hL hM hN hO hP hQ hR hS hT hU hV1 hX h hY h hZ h h[ h| h\ hl h] h^ h_ h` ha hb hc hd he hf hg hh hi hj hk1 hm hn ho hp hq hr hs ht hu hv hw hx hy hz h{1 h} h h~ h h h h h h h h h h h h h h  h h h h h h h h h h h h h h hH h h h h h h h h h h h h h h h h hH h h h h h h h h h h h h h h h h h h hu h h h h h h h h h h h h h h h h h hH h h h h h h h h h h h h h h h hK h h h h h h h h h h h h h h h h h h h h h i- h i h i h h h i i i i i i i i i i  i  i H i  i i i i i i i i i i i i i iH i i i i  i! i" i# i$ i% i& i' i( i) i* i+ i, i. iO i/ i? i0 i1 i2 i3 i4 i5 i6 i7 i8 i9 i: i; i< i= i>  i@ iA iB iC iD iE iF iG iH iI iJ iK iL iM iN1 iP iQ iR iS iT iU iV iW iX iY iZ i[ i\ i] i^ i_1 ia m ib k ic jm id i ie i if i ig ih ix ii ij ik il im in io ip iq ir is it iu iv iw|* iy iz i{ i| i} i~ i i i i i i i i i i i i i i i i i i i i i i i i i i i  i i i i i i i i i i i i i i i i  i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i  i j i i i i i i i i i i i i i i i i i i i  i i j i i i i i i i i j j j j j j j j j  j  j  j  j  j j j j j j j j j j jK j j: j j* j j j j j j  j! j" j# j$ j% j& j' j( j)g j+ j, j- j. j/ j0 j1 j2 j3 j4 j5 j6 j7 j8 j9 j; j< j= j> j? j@ jA jB jC jD jE jF jG jH jI jJw jL jM j] jN jO jP jQ jR jS jT jU jV jW jX jY jZ j[ j\Y j^ j_ j` ja jb jc jd je jf jg jh ji jj jk jl jn k jo j jp j jq j jr js jt ju jv jw jx jy jz j{ j| j} j~ j j j> j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j jH j j j j j j j j j j j j j j j j j j j j$ j j j j j j j j j j j j j j j  j j j j j j j j j j j j j j j j j  j j j j j j k k k k k k k k kH k kP k k. k k k k k k k k k k k k k k k k k k$ k k k  k! k" k# k$ k% k& k' k( k) k* k+ k, k- k/ k0 k@ k1 k2 k3 k4 k5 k6 k7 k8 k9 k: k; k< k= k> k? kA kB kC kD kE kF kG kH kI kJ kK kL kM kN kO  kQ kc kR kS kT kU kV kW kX kY kZ k[ k\ k] k^ k_ k` ka kb kd ku ke kf kg kh ki kj kk kl km kn ko kp kq kr ks kt kv kw kx ky kz k{ k| k} k~ k k k k k k kK k ln k l$ k l k k k k k k k k k k k k k k k k k k k k kH k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k^ k k k k k k k k k k k k k k k4 k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k l l l l l l l l l l  l  l  l  l  l l l l ln l l l l l l l l l l l l l  l! l" l# l% l8 l& l' l( l) l* l+ l, l- l. l/ l0 l1 l2 l3 l4 l5 l6 l7 l9 l\ l: lK l; l< l= l> l? l@ lA lB lC lD lE lF lG lH lI lJ1 lL lM lN lO lP lQ lR lS lT lU lV lW lX lY lZ l[ l] l^ l_ l` la lb lc ld le lf lg lh li lj lk ll lm  lo m lp l lq l lr l ls l lt lu lv lw lx ly lz l{ l| l} l~ l l l l  l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l lH l l l l l l l l l l l l l l lK l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l  l l l l l l l l l l l l l l l l l l lK l l l l l l l l l l l l l l l l l  l l l l m m m m m m m m m m  m   m mc m m@ m m/ m m m m m m m m m m m m m m m m m m  m! m" m# m$ m% m& m' m( m) m* m+ m, m- m. m0 m1 m2 m3 m4 m5 m6 m7 m8 m9 m: m; m< m= m> m? mA mR mB mC mD mE mF mG mH mI mJ mK mL mM mN mO mP mQ  mS mT mU mV mW mX mY mZ m[ m\ m] m^ m_ m` ma mbw md m me mvK mf mg mh mi mj mk ml mm mn mo mp mq mr ms mt muK mw mx my mz m{ m| m} m~ m m m m m m m m m m m m m m m m m m m m m m m m m| m o m n m n7 m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m mH m m m m m m m m m m m m m m m  m n m m m m m m m m m m m m m m m m m m m$ m m m m m m m m m m m m m m m$ m n m m m m m m m m m m n n n n nH n n n n  n  n  n  n  n n n n n n ng n n n' n n n n n n n n n  n! n" n# n$ n% n& n( n) n* n+ n, n- n. n/ n0 n1 n2 n3 n4 n5 n6g n8 n] n9 nK n: n; n< n= n> n? n@ nA nB nC nD nE nF nG nH nI nJ1 nL nM nN nO nP nQ nR nS nT nU nV nW nX nY nZ n[ n\u n^ n n_ np n` na nb nc nd ne nf ng nh ni nj nk nl nm nn no nq nr ns nt nu nv nw nx ny nz n{ n| n} n~ n n n n n n n n n n n n n n n n n n n n n> n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n nH n oS n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n  n n n n n n n n n n n n n n n n n nY n n n n n n n n n n n n n n n nw n o1 n o o o o o o o o o o o o  o  o  o  o  o o1 o o o o o o o o o o o o o o o1 o! o" o# o$ o% o& o' o( o) o* o+ o, o- o. o/ o0  o2 o3 oC o4 o5 o6 o7 o8 o9 o: o; o< o= o> o? o@ oA oB  oD oE oF oG oH oI oJ oK oL oM oN oO oP oQ oR  oT o oU ox oV og oW oX oY oZ o[ o\ o] o^ o_ o` oa ob oc od oe ofH oh oi oj ok ol om on oo op oq or os ot ou ov ow oy oz o{ o| o} o~ o o o o o o o o o o ou o o o o o o o o o o o o o o o o o o o oU o o o o o o o o o o o o o o o  o o o o o o o o o o o   o1H o o oH o o o o o o o 1 o oK  o o o o o o o o o oKH o oUH o o ou o o o o o o o1g o1 o o o o  > o oH o o o o o o o o o ow  og o o o o o o o o o o o o o p\ o p2 o p p p p p p pw p p p p  p  p  p p $ p p) p p% p p pU p p p p p p p p p p p p p  p! p" p# p$ p& p' p(  p* p, p+  p- p0 p. p/H  p1F p3 pG p4 pA p5 p: p6 p8 p7u p9 p; p> p< p= u p? p@H  pB pC pE pDw pFu pH pQ pI pN pJ pL pK pMH pO pP4 pR pY pS pV pT pU|H pW pX|H pZ p[w p] p^ p_ p` pf pa pd pb pc  pe pg pj ph piK pk pl^|* pn po pp pq pr\ pt pv pu pw px py pz p{ p} p p~ p p p p p p p p p p p p p p p p p p p p p p p p p8 p p p p p p p p p p p p9 p p p p p p p p p p p p p p p p p p p p p8 p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p8 p p p p p p p8 p p p p p8 p q4 p p p p p p p p p8 p p p p p p q q q q q q q q q q q  q  q q  q q q q q q q q q q q q q q q q q q q  q! q" q# q$ q% q& q' q( q) q* q+ q, q- q. q/ q0 q1 q2 q3\ q5 q6 q7 q8 q9 qc q: q; q< q= qO q> q? q@ qG qA qB qC qD qE qF qH qI qJ qK qL qM qNu qP qQ qR q[ qS qT qU qV qW qX qY qZu q\ q] q^ q_ q` qa qb1 qd qe qf qg qh qi qj q qk ql qm qn qo qp qq q qr qs q qt q qu q qv q qw qx qy qz q{ q| q} q~ q q q q1 q q q q q q$1 q qwg q q q q q q   q q q q q q qY q q q q qH q q q q q q q q q q q q q q q q q qw q q1 q q q q$Hg q q  1 q q q q q q q q q q q q q q q q q q q q q q q q q qH q u q q q u q q s q r q r q re q q q q rB q r q q q q q q q q q q q q q q q q q q q q q q q q q q r r r r r r r r r  r  r  r  r  r r r r) r r r r r r r r r r r r r r r r  r! r" r# r$ r% r& r' r( r* r+ r, r- r. r/ r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r: r; r< r= r> r? r@ rA rC rD rE rF rG rH rI rJ rK rL rM rN rO rP rQ rR rS rT rU rV rW rX rY rZ r[ r\ r] r^ r_ r` ra rb rc rd rf rg rh ri rj rk rl rm rn ro rp rq rr rs rt ru rv rw rx ry rz r{ r| r} r~ r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r s` r r r s s s# s s s s s s s s  s  s  s  s  s s s s s s s s s s s s s s s s s s s  s! s" s$ s% s& s' s( s) s* sE s+ s, s- s. s/ s0 s1 s2 s3 s4 s5 s6 s7 s8 s9 s: s; s< s= s> s? s@ sA sB sC sD sF sG sH sI sJ sK sL sM sN sO sP sQ sR sS sT sU sV sW sX sY sZ s[ s\ s] s^ s_ sa sb sc sd se sf sg sh si sj sk sl sm sn so sp sq sr ss st su sv sw sx sy sz s{ s| s} s~ s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s u s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s t s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s tn s tP s t t t5 t t t t t t t t t  t  t  t  t t t t t t t t t t t t t t t t t t t  t! t" t# t$ t% t& t' t( t) t* t+ t, t- t. t/ t0 t1 t2 t3 t4 t6 t7 t8 t9 t: t; t< t= t> t? t@ tA tB tC tD tE tF tG tH tI tJ tK tL tM tN tO tQ tR tS tT tU tV tW tX tY tZ t[ t\ t] t^ t_ t` ta tb tc td te tf tg th ti tj tk tl tm to tp tq tr ts tt tu tv tw tx ty tz t{ t| t} t~ t t t t t t t t t t t t t t t u t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t u t t t t t t t t t t t t t t t t t t t t t t t t t u u u u u u u u u  u  u  u u  u u u u u u u u u u u u u u u: u u u u u! u" u# u$ u% u& u' u( u) u* u+ u, u- u. u/ u0 u1 u2 u3 u4 u5 u6 u7 u8 u9 u; u< u= u> uq u? uX u@ uA uB uC uD uE uF uG uH uI uJ uK uL uM uN uO uP uQ uR uS uT uU uV uW uY uZ u[ u\ u] u^ u_ u` ua ub uc ud ue uf ug uh ui uj uk ul um un uo up ur us ut uu uv uw ux uy uz u{ u| u} u~ u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u8 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u Ɏ u ] u u u u y u u v u u u v v v v v v+ v v v v v v v 8 v  v  v 8 v v v v v8 v v v v v v v v v v v v v  v! v" v# v$ v% v& v' v) v(#g v*1 v, v- v1 v. v/ v0 v2 vU v3 vF v4 v= v5 v9 v6 v7 v8 v: v; v< v> vB v? v@ vA vC vD vE vG vP vH vL vI vJ vK vM vN vO vQ vR vS vT vV ve vW v\ vX vY vZ v[ v] va v^ v_ v` vb vc vd vf v{ vg vw vh vi vj vk vl vm vn vo vp vq vr vs vt vu vv vx vy vz v| v v} v~ v v v v v v v v v xX v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v8 v v v v v8 v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v w w wM w w. w w w w w w w w w w  w 8 w  w  w w w w w w w w w w w w w w% w w w w w  w! w" w# w$ w& w' w( w) w* w+ w, w- w/ w@ w0 w8 w1 w2 w3 w4 w5 w6 w7 w9 w: w; w< w= w> w? wA wI wB wC wD wE wF wG wH8 wJ wK wL wN w wO w wP wT wQ wR wS wU wV wW wX wY wf wZ w[ w` w\ w] w^ w_1 wa wb wc wdg we wg w wh ww wi wj wp wk wm wl wn woȯ/s wq wt wr wslq wu wv| wx w wy w wz w} w{ w|u w~ w w w w wu w w  w w w w w w,Uz w w^: w w w wR;n w w w w w w w w w w w w`B w w * w w w w|;% wP w w w w w wu w w4$ w w w w#> w w  w w w w w w w wK| w wY& w w w w w ww w w w w w wuwT w w w w wH   w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w x! w x w w w w w w w w w w w x w x x x x x x x x x  x x x x x  x x x x x x x x x x x x x x x x x  x" xE x# x4 x$ x, x% x& x' x( x) x* x+ x- x. x/ x0 x1 x2 x3 x5 x= x6 x7 x8 x9 x: x; x< x> x? x@ xA xB xC xD8 xF xO xG xK xH xI xJ xL xM xN8 xP xT xQ xR xS xU xV xW xY y0 xZ x x[ x x\ xo x] xf x^ xb x_ x` xa8 xc xd xe xg xk xh xi xj xl xm xn xp x xq xy xr xs xt xu xv xw xx8 xz x{ x| x} x~ x x x x x x x x x x x x x x x x x x x x x x x x x x xu x x x x x x x x x8 x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x8 x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x y x x x x x x x x x x x x x x x y x x x x x x y y y y y y y y y y  y  y  y  y  y y y y y y y y y y y y y y y y' y y# y  y! y" y$ y% y& y( y, y) y* y+ y- y. y/ y1 y y2 y y3 yR y4 yE y5 y= y6 y7 y8 y9 y: y; y< y> y? y@ yA yB yC yD yF yJ yG yH yI yK yL yM yN yO yP yQ yS y yT yc yU yV yW yX yY8 yZ8 y[8 y\8 y]8 y^8 y_88 y`8 ya yb{C8{C yd ye yf yg yh yi yj yk yl ym yn yo yp yq yr ys yt yu yv yw yx yy yz y{ y| y} y~ y y y y y y y y y y y y y y y y8 y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y8 y y y y y y y y y y y y y y y y y y y y y y y  y }> y { y z y zN y z y z y z y y y y y y y y y y y y y z z z z z z z z z z z z  z  z  z z z z z z z z z z z z z z z z z7 z! z2 z" z* z# z$ z% z& z' z( z) z+ z, z- z. z/ z0 z1 z3 z4 z5 z6 z8 zA z9 z: z; z< z= z> z? z@8 zB zJ zC zD zE zF zG zH zI zK zL zM zO z zP zg zQ zb zR zZ zS zT zU zV zW zX zY z[ z\ z] z^ z_ z` za zc zd ze zf zh zu zi zq zj zk zl zm zn zo zp zr zs zt zv z~ zw zx zy zz z{ z| z} z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z { z z z z z z z z z z z z z z z z z z z\\ z z z z z z z z z z z z z z z z z z z z z8 z z z z z z z z z z z z z z z z z z z z z z z z z { z z z z { { { { { { { { { {  {  {  {  { { { { {M { {2 { {% { { { { { { { { {8 { { {  {! {" {# {$ {& {* {' {( {) {+ {, {- {. {/ {0 {1 {3 {< {4 {8 {5 {6 {7 {9 {: {; {= {E {> {? {@ {A {B {C {D {F {G {H {I {J {K {L8 {N {m {O {` {P {X {Q {R {S {T {U {V {W {Y {Z {[ {\ {] {^ {_ {a {e {b {c {d {f {g {h {i {j {k {l8 {n { {o {~ {p {q {r {s {t {u {v {w {x {y {{ {z {| {} { { { { { { { { { { { { |_ { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { |, { | { | | | | | | | | | | |  |  |  |  | | | | | | | | | | | | | | |$ | | | |  |! |" |# |% |& |' |( |) |* |+ |- |D |. |7 |/ |3 |0 |1 |2 |4 |5 |6 |8 |< |9 |: |; |= |> |? |@ |A |B |C |E |V |F |N |G |H |I |J |K |L |M |O |P |Q |R |S |T |U |W |[ |X |Y |Z |\ |] |^ |` | |a | |b |} |c |p |d |h |e |f |g |i |j |k |l |m |n |o |q |u |r |s |t |v |w |x |y |z |{ || |~ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |8 | | | | | | | | | | | } }# } } } } } } } } } } }  }  }  }  } } } }8 } } } } } } } } } } } } } }  }! }" }$ }5 }% }- }& }' }( }) }* }+ }, }. }/ }0 }1 }2 }3 }4 }6 }: }7 }8 }9v }; }< }= }? ' }@ ~; }A } }B } }C }b }D }Q }E }M }F }G }H }I }J }K }L8 }N }O }P8 }R }Z }S }T }U }V }W }X }Y }[ }\ }] }^ }_ }` }a }c }t }d }l }e }f }g }h }i }j }k }m }n }o }p }q }r }s }u }y }v }w }x }z }{ }| }} }~ } } } } } } } } } } } } } } } } } }8 } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } }8 } } } } ~ } ~ } ~ } } } } ~ ~ ~ ~ ~ ~ ~ ~ ~  ~  ~ ~ ~  ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~. ~ ~& ~ ~  ~! ~" ~# ~$ ~% ~' ~( ~) ~* ~+ ~, ~- ~/ ~3 ~0 ~1 ~2 ~4 ~5 ~6 ~7 ~8 ~9 ~: ~< ~ ~= ~ ~> ~f ~? ~H ~@ ~D ~A ~B ~C ~E ~F ~G ~I ~^ ~J ~K ~L ~M ~N ~O ~P ~Q ~Z ~R ~U ~S ~T1 ~V ~X ~W1 ~Y1 ~[ ~\ ~]1 ~_ ~` ~a ~b ~c ~d ~e8 ~g ~t ~h ~p ~i ~j ~k ~l ~m ~n ~o ~q ~r ~s ~u ~} ~v ~w ~x ~y ~z ~{ ~| ~~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~\ ~\ ~\ ~\ ~\\ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~8 ~  ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~                                       ! " # $ % & (  )  * U + > , 5 - 1 . / 0 2 3 4 6 : 7 8 9 ; < = ? L @ D A B C E F G H I J K M N O P Q R S T V q W h X ` Y Z [ \ ] ^ _ a b c d e f g i m j k l n o p r  s { t u v w x y z | } ~     8                                                                                            8                                           D  -                  ! ) " # $ % & ' ( * + , . ; / 3 0 1 2 4 5 6 7 8 9 : < = > ? @ A B C E \ F S G K H I J L M N O P Q R T X U V W Y Z [ ] n ^ f _ ` a b c d e g h i j k l m o w p q r s t u v x y z { | } ~8  e                w                                      8                                       .                       %  !        " # $ & * ' ( ) + , - / J 0 A 1 5 2 3 4 6 7 8 9 : ; < = > ? @w B F C D E G H I K X L T M N O P Q R S U V W Y a Z [ \ ] ^ _ ` b c d f g h i v j n k l m o p q r s t u w  x y z { | } ~8                             8                               8            b             8               8  +         8         #      ! " $ % & ' ( ) * , = - 5 . / 0 1 2 3 4 6 7 8 9 : ; < > F ? @ A B C D E G H I J K [ L M N W O S P Q Rg T U V#1 X Y Zw \ ] ^ _ ` a c d  e r f j g h i k l m n o p q8 s w t u v x y z { | } ~                            8          8       8                            Q                                        8                 2 ) ! % " # $ & ' ( * . + , - / 0 1 3 D 4 < 5 6 7 8 9 : ; = > ? @ A B C E M F G H I J K L N O P8 R S T U V W X Y Z [ \ ^ _ ` a b c  d e f  g h  i j k t l m n o p q r s u } v w x y z { | ~                                                                                       m .                       8  !             " * # $ % & ' ( ) + , - / N 0 A 1 9 2 3 4 5 6 7 8 : ; < = > ? @ B F C D E G H I J K L M O ` P X Q R S T U V W Y Z [ \ ] ^ _ a e b c d f g h i j k l n o p } q y r s t u v w x z { | ~       8                                                P                                X %                                      !        " # $ & A ' 4 ( 0 ) * + , - . / 1 2 3 5 = 6 7 8 9 : ; < > ? @ B O C G D E F8 H I J K L M N P Q R S T U V W Y Z u [ h \ ` ] ^ _ a b c d e f g i q j k l m n o p r s t v w  x y z { | } ~                                                    8                      K                     8                              4  '  #  ! " $ % & ( 0 ) * + , - . / 1 2 3 5 B 6 > 7 8 9 : ; < = ? @ A C G D E F H I J L M h N W O S P Q R T U V8 X ` Y Z [ \ ] ^ _ a b c d e f g i v j n k l m o p q r s t u w  x y z { | } ~                                        $              >                                          8            '                    ! " # $ % & ( 5 ) 1 * + , - . / 08 2 3 4 6 : 7 8 9 ; < = ? r @ W A J B F C D E G H I K O L M N P Q R S T U V X a Y ] Z [ \8 ^ _ `8 b j c d e f g h i8 k l m n o p q s t u v w x y z { | } ~            8                                    D                   e8 {C {C8 {C8{C8 8{C8 8 8 T8                          $                       8     ! " # % 6 & . ' ( ) * + , - / 0 1 2 3 4 5 7 ; 8 9 :8 < = > ? @ A B C# E F i G X H P I J K L M N O Q R S T U V W Y a Z [ \ ] ^ _ ` b c d e f g h j { k s l m n o p q r t u v w x y z | } ~                             1                                          P                              g (                                      $ ! " # % & ' ) L * ; + 3 , - . / 0 1 2 4 5 6 7 8 9 : < D = > ? @ A B C E F G H I J K M Z N V O P Q R S T U W X Y [ _ \ ] ^8 ` a b c d e f h i j s k o l m n8 p q r t | u v w x y z { } ~                            8                          @                                                   %            !        " # $ & 3 ' / ( ) * + , - . 0 1 2 4 8 5 6 78 9 : ; < = > ? A B j C ] D H E F Gg I J K L M N O P Q R S X T U V W  Y Z [ \  ^ b _ ` a c d e f g h i k t l p m n o q r s8 u y v w x z { | } ~            8                                      a                                          g            B  9  1       !          #        # " # $ % + & ' ( ) *# , - . / 0# 2 3 4 5 6 7 8 : > ; < = ? @ A C P D H E F G I J K L M N O Q Y R S T U V W X Z [ \ ] ^ _ ` b c d e ~ f g h i j k l m n o p q y r s v t uP w x# z { | }  |                                                                   8       \\        j 7                               U  U       8  .  &   ! " # $ % ' ( ) * + , -8 / 3 0 1 2 4 5 6 8 S 9 F : > ; < =8 ? @ A B C D E G K H I J L M N O P Q R T ] U Y V W X8 Z [ \ ^ b _ ` a c d e f g h i k l m z n v o p q r s t u w x y8 { | } ~                                                                       8                            8 ?                             .  &   ! " # $ %8 ' ( ) * + , -8 / 7 0 1 2 3 4 5 6 8 9 : ; < = > @ W A N B J C D E F G H I} K L M8 O S P Q R T U V X x Y ] Z [ \ ^ _ ` a b c d e f m g h i j k lw n o p t q r sw u v w1 y } z { | ~       , {               8              k       8              8              8      8                                      L  1              ! ) " # $ % & ' ( * + , - . / 0 2 ? 3 ; 4 5 6 7 8 9 :8 < = > @ D A B C E F G H I J K M h N [ O S P Q R T U V W X Y Z \ ` ] ^ _ a b c d e f g i v j n k l m o p q r s t u w { x y z | } ~              8                 8       8    8 88 8 8 8 8 8 8 8 88T       8       8                                7                               ! . " & # $ % ' ( ) * + , - / 3 0 1 28 4 5 6 8 W 9 F : B ; < = > ? @ A C D E G O H I J K L M N P Q R S T U V X n Y j Z [ \ ] ^ _ ` a b c d i e f g h$ k l m o s p q r t u v w x y z | _ } ~           8                                                                        8 $                              8               ! " # % D & 3 ' / ( ) * + , - . 0 1 2 4 < 5 6 7 8 9 : ; = > ? @ A B C E V F N G H I J K L M O P Q R S T U W [ X Y Z \ ] ^ ` a b c t d l e f g h i j k m n o p q r s u y v w xO z { | } ~            \\                                                                             8                           z         8     #   ! " $ % & ' ( ) * + -  . / 0 V 1 H 2 ? 3 ; 4 5 6 7 8 9 : < = > @ D A B C E F G I J N K L M8 O P Q R S T U W j X a Y ] Z [ \ ^ _ ` b c d e f g h i k x l t m n o p q r s u v w y } z { | ~                                                                            r       b ; w .  w w w  w      w w  wggw w gw1 w1 wg  ww w w ww  w w w w w w w w w w !ww " #w $w %ww & 'w (w )w *w +w ,w -wgw /w 0w 1w 2ww 3 4w 5w 6ww 7 8w 9ww :gww < = Jw > ?w @w Aw Bw Cw Dw Ew Fw Gw Hw Iwgw Kw L W Mww N Oww P Qww R Sww Tw U Vwwg Xww Y Zww [ \ww ] ^w _w `w awwg c d e f g h i j k l m n o p q s t x u v w y z { | } ~                                                    8                                 8   8                                ! " Y # > $ 1 % - & ' ( ) * + , . / 0 2 : 3 4 5 6 7 8 9 ; < = ? L @ D A B C E F G H I J K M U N O P Q R S T V W X8 Z m [ ` \ ] ^ _ a e b c d f g h i j k l n { o w p q r s t u v x y z | } ~                                                             8               K                  C       8                   8  4  +  '  ! " # $ % & ( ) * , 0 - . / 1 2 3 5 : 6 7 8 9 ; C < = > ? @ A B D E F G H I J L M d N W O P Q R S T U V X \ Y Z [8 ] ^ _ ` a b c e n f g h i j k l m o p q r s t u v w x y z { | } ~                     4 m   >+9 9GUA  cr  m  X9                                 D                              )       8     !    " # $ % & ' ( * 3 + / , - . 0 1 2 4 < 5 6 7 8 9 : ;9 = > ? @ A B C E u F Y G P H L I J K M N O Q U R S T V W X Z l [ _ \ ] ^k ` a b c d8 e8 f8 g8 h8 i8 j k8{C{C8 m q n o p r s t v w x | y z { } ~              8          8                   {C q m            E C                t               t               t                t         t  3  $             ! " # t % & ' ( ) *  + , -  . / 0  1 2t 4 5 6 7 8 9 : ; < = > ?  @ A Bt  DP F G H I J K L M X N O P Q R S T U V W Y c Z [ \ ] ^ _ ` a b d e f g h i j k l n o p r s t u v w x y z { | } ~  g                              O            8                                  4                             )  $  ! " # % & ' ( * / + , - .8 0 1 2 3 5 h 6 U 7 L 8 H 9 : ; < = > ? @ A B C D E F G  I J K M Q N O P R S T V _ W [ X Y Z \ ] ^ ` d a b c e f g i x j s k l m n o p q r t u v w y z ~ { | }                          1                      1       $                      g      8 =                   8                  &            "   ! # $ %8 ' 4 ( , ) * + - . / 0 1 2 3 5 9 6 7 8 : ; < > e ? R @ I A E B C D F G H J N K L M O P Q S \ T X U V W8 Y Z [ ] a ^ _ ` b c d f y g p h i j k l m n o q u r s t v w x z {  | } ~                  A       8                                  8                      8                           &  !         " # $ %8 ' 0 ( , ) * + - . / 1 9 2 3 4 5 6 7 8 : ; < = > ? @ B C f D W E N F J G H I K L M O S P Q R8 T U V X ] Y Z [ \ ^ b _ ` a c d e8 g ~ h q i m j k l n o p r v s t u w x y z { | }                                   C                          8   8    [ 4              g                    8     +     8      ! " # $ % & ' ( ) *g , 0 - . / 1 2 38 5 H 6 ? 7 ; 8 9 : < = > @ D A B C8 E F G8 I R J N K L M O P Q S W T U V X Y Z \ ] ^ g _ c ` a b8 d e f h l i j k m n o p q8 r8 s8 t  u8 v8 w8 x8 y |8 z {88{C }8 ~8e8 8 8 8 8 88 {CG8 8 8 8 8 8 8 8 8 8 8 8 88 88 8 88 )8 88 8 8 8 8 88 8 8 88 8 8 8)                          C   8       (                       8                    $ ! " # % & ' ) b * 9 + 4 , 0 - . / 1 2 3 5 6 7 8 : C ; ? < = > @ A B D ^ E F G H IC JC KC L V MC NC OC PCC Q R TC SC UCC WC XC YC ZC [C \CC ]CC _ ` a c v d m e i f g h j k l8 n r o p q s t u w x | y z { } ~         8            8             8            8   8                                    8                    8  )          ! % " # $ & ' ( * 3 + / , - . 0 1 2 4 5 6 7 9 : ] ; N < E = A > ? @ B C D8 F J G H I K L M8 O X P T Q R S U V W8 Y Z [ \ ^ q _ h ` d a b c e f g i m j k l n o p r { s w t u v x y z | } ~    P      8      8                    8                        g             C                      8            G  4  +  '  ; 8 8 !8 " - #8 $8 %8 &8 '88 ( )8 *8 +8 ,8{C88 .8 /8 0 1 4 288 38{C 588 6 788 88 9 :8M8 < 3 = > ? > @ ? A B C b D S E L F I G H88 J K88 M P N O88 Q R88 T [ U X V W88 Y Z88 \ _ ] ^88 ` a88 c r d k e h f g88 i j88 l o m n88 p q88 s z t w u v88 x y88 { ~ | }88  88  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88        88  88  88  88      88  88    88  88 ! 0 " ) # & $ %88 ' (88 * - + ,88 . /88 1 8 2 5 3 488 6 788 9 < : ;88 = >88 @ A B a C R D K E H F G88 I J88 L O M N88 P Q88 S Z T W U V88 X Y88 [ ^ \ ]88 _ `88 b q c j d g e f88 h i88 k n l m88 o p88 r y s v t u88 w x88 z } { |88 ~ 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88        88  88  88  88      88  88    88  88 / ! ( " % # $88 & '88 ) , * +88 - .88 0 7 1 4 2 388 5 688 8 ; 9 :88 < =88 ? ; @ A B a C R D K E H F G88 I J88 L O M N88 P Q88 S Z T W U V88 X Y88 [ ^ \ ]88 _ `88 b q c j d g e f88 h i88 k n l m88 o p88 r y s v t u88 w x88 z } { |88 ~ 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88        88  88  88  88      88  88    88  88 , ! ( " % # $88 & '888 ) * +88 - 4 . 1 / 088 2 388 5 8 6 788 9 :88 < = y > ] ? N @ G A D B C88 E F88 H K I J88 L M88 O V P S Q R88 T U88 W Z X Y88 [ \88 ^ j _ f ` c a b88 d e888 g h i88 k r l o m n88 p q88 s v t u88 w x88 z { | }  ~ 88 88  88 88  88 88  88 88  88 888  88  88 88  88 88 8  88 88  88 88  88 88  88 88  88 888  88  88 88  88 88 t 5    88 88    88  88    88 88    88  88  &      88  88 # ! "88 $ %88 ' . ( + ) *88 , -88 / 2 0 188 3 488 6 U 7 F 8 ? 9 < : ;88 = >88 @ C A B88 D E88 G N H K I J88 L M88 O R P Q88 S T88 V e W ^ X [ Y Z88 \ ]88 _ b ` a88 c d88 f m g j h i88 k l88 n q o p88 r s88 u v w x  y | z {88 } ~88  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88 s 4    88 88   88  88     88 88    88  88  %      88  88  " !88 # $88 & - ' * ( )88 + ,88 . 1 / 088 2 388 5 T 6 E 7 > 8 ;[ 9 :8[8[ < =8[8 ? B[ @ A8[8[ C D8[8 F M G J[ H I8[8[ K L8[8 N Q[ O P8[8[ R S8[8 U d V ] W Z[ X Y8[8[ [ \8[8 ^ a[ _ `8[8[ b c8[8 e l f i[ g h8[8[ j k8[8 m p[ n o8[8[ q r8[8 t u v w ~ x {[ y z8[8[ | }8[8  [ 8[8[ 8[8 [ 8[8[ 8[8 [ 8[8[ 8[8 [ 8[8[ 8[8 [ 8[8[ 8[8 [ 8[8[ 8[8 [ 8[8[ 8[8 [ 8[8[ 8[8 [ 8[8[ 8[8 [ 8[8[ 8[8 [ 8[8[ 8[8 [ 8[8[ 8[8 [ 8[8[ 8[8 [ 8[8[ 8[8 [ 8[8[ 8[8 s 4   [ 8[8[ 8[8 [  8[8[  8[8    [ 8[8[ 8[8  [  8[8[  8[8  %    [  8[8[  8[8  "[ !8[8[ # $8[8 & - ' *[ ( )8[8[ + ,8[8 . 1[ / 08[8[ 2 38[8 5 T 6 E 7 > 8 ;[ 9 :8[8[ < =8[8 ? B[ @ A8[8[ C D8[8 F M G J[ H I8[8[ K L8[8 N Q[ O P8[8[ R S8[8 U d V ] W Z[ X Y8[8[ [ \8[8 ^ a[ _ `8[8[ b c8[8 e l f i[ g h8[8[ j k8[8 m p[ n o8[8[ q r8[8 t u v w ~ x {{C y z8{C8{C | }8{C8  {C 8{C8{C 8{C8 {C 8{C8{C 8{C8 {C 8{C8{C 8{C8 {C 8{C8{C 8{C8 {C 8{C8{C 8{C8 {C 8{C8{C 8{C8 {C 8{C8{C 8{C8 {C 8{C8{C 8{C8 {C 8{C8{C 8{C8 {C 8{C8{C 8{C8 {C 8{C8{C 8{C8 {C 8{C8{C 8{C8 {C 8{C8{C 8{C8 {C 8{C8{C 8{C8 {C 8{C8{C 8{C8 r 3   {C 8{C8{C 8{C8 {C 8{C8{C  8{C8   {C  8{C8{C 8{C8  {C  8{C8{C  8{C8  $    {C  8{C8{C  8{C8  !{C  8{C8{C " #8{C8 % , & ){C ' (8{C8{C * +8{C8 - 0{C . /8{C8{C 1 28{C8 4 S 5 D 6 = 7 :{C 8 98{C8{C ; <8{C8 > A{C ? @8{C8{C B C8{C8 E L F I{C G H8{C8{C J K8{C8 M P{C N O8{C8{C Q R8{C8 T c U \ V Y{C W X8{C8{C Z [8{C8 ] `{C ^ _8{C8{C a b8{C8 d k e h{C f g8{C8{C i j8{C8 l o{C m n8{C8{C p q8{C8 s8 t u v } w z{C x y8{C8{C { |8{C8 ~ {C  8{C8{C 8{C8 {C 8{C8{C 8{C8 {C 8{C8{C 8{C8 {C 8{C8{C 8{C8 {C 8{C8{C 8{C8 {C 8{C8{C 8{C8 {C 8{C8{C 8{C8 s 5  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88    88 88    88  88    88 88    88  88  &      88  88 # ! "88 $ %88 ' . ( + ) *88 , -88 / 2 0 188 3 488 6 u 7 V 8 G 9 @ : = ; <88 > ?88 A D B C88 E F88 H O I L J K88 M N88 P S Q R88 T U88 W f X _ Y \ Z [88 ] ^88 ` c a b88 d e88 g n h k i j88 l m88 o r p q88 s t88 v w x  y | z {88 } ~88  88 88  88 88  88 88  88 88  88 88  88 88  88 88 4  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88    88 88   88  88     88 88    88  88  %      88  88  " !88 # $88 & - ' * ( )88 + ,88 . 1 / 088 2 388 5 t 6 U 7 F 8 ? 9 < : ;88 = >88 @ C A B88 D E88 G N H K I J88 L M88 O R P Q88 S T88 V e W ^ X [ Y Z88 \ ]88 _ b ` a88 c d88 f m g j h i88 k l88 n q o p88 r s88 u v w ~ x { y z88 | }88   88 88  88 88  88 88  88 88  88 88  88 88  88 88 4  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88    88 88   88  88     88 88    88  88  %      88  88  " !88 # $88 & - ' * ( )88 + ,88 . 1 / 088 2 388 5 t 6 U 7 F 8 ? 9 < : ;88 = >88 @ C A B88 D E88 G N H K I J88 L M88 O R P Q88 S T88 V e W ^ X [ Y Z88 \ ]88 _ b ` a88 c d88 f m g j h i88 k l88 n q o p88 r s88 u v w ~ x { y z88 | }88   88 88  88 88  88 88  88 88  88 88  88 88  88 88 3  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88    88 88  88  88     88 88    88  88  $      88  88  !  88 " #88 % , & ) ' (88 * +88 - 0 . /88 1 288 48 5 T 6 E 7 > 8 ; 9 :88 < =88 ? B @ A88 C D88 F M G J H I88 K L88 N Q O P88 R S88 U d V ] W Z X Y88 [ \88 ^ a _ `88 b c88 e l f i g h88 j k88 m p n o88 q r88 t s u t v w x y z { ~G | }8G8G  8G8 G 8G8G 8G8 G 8G8G 8G8 G 8G8G 8G8 G 8G8G 8G8 G 8G8G 8G8 G 8G8G 8G8 G 8G8G 8G8 G 8G8G 8G8 G 8G8G 8G8 G 8G8G 8G8 G 8G8G 8G8 G 8G8G 8G8 G 8G8G 8G8 G 8G8G 8G8 G 8G8G 8G8 5   G 8G8G 8G8  G  8G8G  8G8   G 8G8G 8G8  G  8G8G  8G8  &    G  8G8G  8G8 #G ! "8G8G $ %8G8 ' . ( +G ) *8G8G , -8G8 / 2G 0 18G8G 3 48G8 6 U 7 F 8 ? 9 <G : ;8G8G = >8G8 @ CG A B8G8G D E8G8 G N H KG I J8G8G L M8G8 O RG P Q8G8G S T8G8 V e W ^ X [G Y Z8G8G \ ]8G8 _ bG ` a8G8G c d8G8 f m g jG h i8G8G k l8G8 n qG o p8G8G r s8G8 u v w x y z }G { |8G8G ~ 8G8 G 8G8G 8G8 G 8G8G 8G8 G 8G8G 8G8 G 8G8G 8G8 G 8G8G 8G8 G 8G8G 8G8 G 8G8G 8G8  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88 4    88 88   88  88     88 88    88  88  %      88  88  " !88 # $88 & - ' * ( )88 + ,88 . 1 / 088 2 388 5 T 6 E 7 > 8 ; 9 :88 < =88 ? B @ A88 C D88 F M G J H I88 K L88 N Q O P88 R S88 U d V ] W Z X Y88 [ \88 ^ a _ `88 b c88 e l f i g h88 j k88 m p n o88 q r88 t s u v w x y z } { |88 ~ 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88 4   e 8e8e 8e8 e  8e8e  8e8    e 8e8e 8e8  e  8e8e  8e8  %    e  8e8e  8e8  "e !8e8e # $8e8 & - ' *e ( )8e8e + ,8e8 . 1e / 08e8e 2 38e8 5 T 6 E 7 > 8 ;e 9 :8e8e < =8e8 ? Be @ A8e8e C D8e8 F M G Je H I8e8e K L8e8 N Qe O P8e8e R S8e8 U d V ] W Ze X Y8e8e [ \8e8 ^ ae _ `8e8e b c8e8 e l f ie g h8e8e j k8e8 m pe n o8e8e q r8e8 t u v w x  y |e z {8e8e } ~8e8 e 8e8e 8e8 e 8e8e 8e8 e 8e8e 8e8 e 8e8e 8e8 e 8e8e 8e8 e 8e8e 8e8 e 8e8e 8e8 e 8e8e 8e8 e 8e8e 8e8 e 8e8e 8e8 e 8e8e 8e8 e 8e8e 8e8 e 8e8e 8e8 e 8e8e 8e8 e 8e8e 8e8 8   e 8e8e 8e8 e 8e8e  8e8   e  8e8e 8e8  e  8e8e  8e8  $    e  8e8e  8e8  !e  8e8e " #8e8 % , & )e ' (8e8e * +8e8 - 0e . /8e8e 1 28e8 4 5 6 5 7 6 8 9 x : Y ; J < C = @G > ?8G8G A B8G8 D GG E F8G8G H I8G8 K R L OG M N8G8G P Q8G8 S VG T U8G8G W X8G8 Z i [ b \ _G ] ^8G8G ` a8G8 c fG d e8G8G g h8G8 j q k nG l m8G8G o p8G8 r uG s t8G8G v w8G8 y z { | G } ~8G8G 8G8 G 8G8G 8G8 G 8G8G 8G8 G 8G8G 8G8 G 8G8G 8G8 G 8G8G 8G8 G 8G8G 8G8 G 8G8G 8G8 G 8G8G 8G8 G 8G8G 8G8 G 8G8G 8G8 G 8G8G 8G8 G 8G8G 8G8 G 8G8G 8G8 G 8G8G 8G8 G 8G8G 8G8    G 8G8G 8G8  G  8G8G  8G8  G 8G8G  8G8  G  8G8G  8G8  '   G  8G8G  8G8 ! $G " #8G8G % &8G8 ( / ) ,G * +8G8G - .8G8 0 3G 1 28G8G 4 58G8 7 8 w 9 X : I ; B < ?G = >8G8G @ A8G8 C FG D E8G8G G H8G8 J Q K NG L M8G8G O P8G8 R UG S T8G8G V W8G8 Y h Z a [ ^G \ ]8G8G _ `8G8 b eG c d8G8G f g8G8 i p j mG k l8G8G n o8G8 q tG r s8G8G u v8G8 x y z { ~t | }8t8t  8t8 t 8t8t 8t8 t 8t8t 8t8 t 8t8t 8t8 t 8t8t 8t8 t 8t8t 8t8 t 8t8t 8t8 t 8t8t 8t8 t 8t8t 8t8 t 8t8t 8t8 t 8t8t 8t8 t 8t8t 8t8 t 8t8t 8t8 t 8t8t 8t8 t 8t8t 8t8 t 8t8t 8t8   t 8t8t 8t8  t  8t8t  8t8   t 8t8t 8t8  t  8t8t  8t8  &    t  8t8t  8t8 #t ! "8t8t $ %8t8 ' . ( +t ) *8t8t , -8t8 / 2t 0 18t8t 3 48t8 6 5 7 8 w 9 X : I ; B < ?t = >8t8t @ A8t8 C Ft D E8t8t G H8t8 J Q K Nt L M8t8t O P8t8 R Ut S T8t8t V W8t8 Y h Z a [ ^t \ ]8t8t _ `8t8 b et c d8t8t f g8t8 i p j mt k l8t8t n o8t8 q tt r s8t8t u v8t8 x y z { ~t | }8t8t  8t8 t 8t8t 8t8 t 8t8t 8t8 t 8t8t 8t8 t 8t8t 8t8 t 8t8t 8t8 t 8t8t 8t8 t 8t8t 8t8  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88    88 88    88  88    88 88    88  88  &      88  88 # ! "88 $ %88 ' . ( + ) *88 , -88 / 2 0 188 3 488 6 7 v 8 W 9 H : A ; > < =88 ? @88 B E C D88 F G88 I P J M K L88 N O88 Q T R S88 U V88 X g Y ` Z ] [ \88 ^ _88 a d b c88 e f88 h o i l j k88 m n88 p s q r88 t u88 w x y z } { |88 ~ 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88 8  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88 w 8   \ 8\8\  8\8  \  8\8\  8\8  \ 8\8\  8\8  \  8\8\  8\8  )  "  \  8\8\ !8\8 # &\ $ %8\8\ ' (8\8 * 1 + .\ , -8\8\ / 08\8 2 5\ 3 48\8\ 6 78\8 9 X : I ; B < ?\ = >8\8\ @ A8\8 C F\ D E8\8\ G H8\8 J Q K N\ L M8\8\ O P8\8 R U\ S T8\8\ V W8\8 Y h Z a [ ^\ \ ]8\8\ _ `8\8 b e\ c d8\8\ f g8\8 i p j m\ k l8\8\ n o8\8 q t\ r s8\8\ u v8\8 x y z { | \ } ~8\8\ 8\8 \ 8\8\ 8\8 \ 8\8\ 8\8 \ 8\8\ 8\8 \ 8\8\ 8\8 \ 8\8\ 8\8 \ 8\8\ 8\8 \ 8\8\ 8\8 \ 8\8\ 8\8 \ 8\8\ 8\8 \ 8\8\ 8\8 \ 8\8\ 8\8 \ 8\8\ 8\8 \ 8\8\ 8\8 \ 8\8\ 8\8 \ 8\8\ 8\8 v 7   \ 8\8\ 8\8  \  8\8\  8\8  \ 8\8\  8\8  \  8\8\  8\8  (  !  \  8\8\  8\8 " %\ # $8\8\ & '8\8 ) 0 * -\ + ,8\8\ . /8\8 1 4\ 2 38\8\ 5 68\8 8 W 9 H : A ; > < =88 ? @88 B E C D88 F G88 I P J M K L88 N O88 Q T R S88 U V88 X g Y ` Z ] [ \88 ^ _88 a d b c88 e f88 h o i l j k88 m n88 p s q r88 t u88 w x y z { ~ | }88  88  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88 v 7    88 88    88  88   88  88    88  88  (  !    88  88 " % # $88 & '88 ) 0 * - + ,88 . /88 1 4 2 388 5 688 8 W 9 H : A ; > < =88 ? @88 B E C D88 F G88 I P J M K L88 N O88 Q T R S88 U V88 X g Y ` Z ] [ \88 ^ _88 a d b c88 e f88 h o i l j k88 m n88 p s q r88 t u88 w x y z { ~= | }8=8=  8=8 = 8=8= 8=8 = 8=8= 8=8 = 8=8= 8=8 = 8=8= 8=8 = 8=8= 8=8 = 8=8= 8=8 = 8=8= 8=8 = 8=8= 8=8 = 8=8= 8=8 = 8=8= 8=8 = 8=8= 8=8 = 8=8= 8=8 = 8=8= 8=8 = 8=8= 8=8 = 8=8= 8=8 u 6    = 8=8= 8=8  =  8=8=  8=8  = 8=8=  8=8  =  8=8=  8=8  '   =  8=8=  8=8 ! $= " #8=8= % &8=8 ( / ) ,= * +8=8= - .8=8 0 3= 1 28=8= 4 58=8 7 V 8 G 9 @ : == ; <8=8= > ?8=8 A D= B C8=8= E F8=8 H O I L= J K8=8= M N8=8 P S= Q R8=8= T U8=8 W f X _ Y \= Z [8=8= ] ^8=8 ` c= a b8=8= d e8=8 g n h k= i j8=8= l m8=8 o r= p q8=8= s t8=8 v8 w x y z }= { |8=8= ~ 8=8 = 8=8= 8=8 = 8=8= 8=8 = 8=8= 8=8 = 8=8= 8=8 = 8=8= 8=8 = 8=8= 8=8 = 8=8= 8=8 v 8 { 8{8{ 8{8 { 8{8{ 8{8 { 8{8{ 8{8 { 8{8{ 8{8 { 8{8{ 8{8 { 8{8{ 8{8 { 8{8{ 8{8 { 8{8{ 8{8   { 8{8{  8{8  {  8{8{  8{8  { 8{8{  8{8  {  8{8{  8{8  )  "  {  8{8{ !8{8 # &{ $ %8{8{ ' (8{8 * 1 + .{ , -8{8{ / 08{8 2 5{ 3 48{8{ 6 78{8 9 x : Y ; J < C = @{ > ?8{8{ A B8{8 D G{ E F8{8{ H I8{8 K R L O{ M N8{8{ P Q8{8 S V{ T U8{8{ W X8{8 Z i [ b \ _{ ] ^8{8{ ` a8{8 c f{ d e8{8{ g h8{8 j q k n{ l m8{8{ o p8{8 r u{ s t8{8{ v w8{8 y z { | { } ~8{8{ 8{8 { 8{8{ 8{8 { 8{8{ 8{8 { 8{8{ 8{8 { 8{8{ 8{8 { 8{8{ 8{8 { 8{8{ 8{8 { 8{8{ 8{8 7 { 8{8{ 8{8 { 8{8{ 8{8 { 8{8{ 8{8 { 8{8{ 8{8 { 8{8{ 8{8 { 8{8{ 8{8 { 8{8{ 8{8 { 8{8{ 8{8    88 88    88  88   88  88    88  88  (  !    88  88 " % # $88 & '88 ) 0 * - + ,88 . /88 1 4 2 388 5 688 8 w 9 X : I ; B < ? = >88 @ A88 C F D E88 G H88 J Q K N L M88 O P88 R U S T88 V W88 Y h Z a [ ^ \ ]88 _ `88 b e c d88 f g88 i p j m k l88 n o88 q t r s88 u v88 x y z { ~ | }88  88  88 88  88 88  88 88  88 88  88 88  88 88  88 88 7  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88    88 88    88  88   88  88    88  88  (  !    88  88 " % # $88 & '88 ) 0 * - + ,88 . /88 1 4 2 388 5 688 8 w 9 X : I ; B < ? = >8 8 @ A8 8 C F D E8 8 G H8 8 J Q K N L M8 8 O P8 8 R U S T8 8 V W8 8 Y h Z a [ ^ \ ]8 8 _ `8 8 b e c d8 8 f g8 8 i p j m k l8 8 n o8 8 q t r s8 8 u v8 8 x y z { ~ | }8 8  8 8  8 8 8 8  8 8 8 8  8 8 8 8  8 8 8 8  8 8 8 8  8 8 8 8  8 8 8 8 6  8 8 8 8  8 8 8 8  8 8 8 8  8 8 8 8  8 8 8 8  8 8 8 8  8 8 8 8  8 8 8 8     8 8 8 8    8 8  8 8   8 8  8 8    8 8  8 8  '     8 8  8 8 ! $ " #8 8 % &8 8 ( / ) , * +8 8 - .8 8 0 3 1 28 8 4 58 8 78 8 W 9 H : A ; > < =8 8 ? @8 8 B E C D8 8 F G8 8 I P J M K L8 8 N O8 8 Q T R S8 8 U V8 8 X g Y ` Z ] [ \8 8 ^ _8 8 a d b c8 8 e f8 8 h o i l j k8 8 m n8 8 p s q r8 8 t u8 8 w v x w y z { | } ~ =  8=8= 8=8 = 8=8= 8=8 = 8=8= 8=8 = 8=8= 8=8 = 8=8= 8=8 = 8=8= 8=8 = 8=8= 8=8 = 8=8= 8=8 = 8=8= 8=8 = 8=8= 8=8 = 8=8= 8=8 = 8=8= 8=8 = 8=8= 8=8 = 8=8= 8=8 = 8=8= 8=8 = 8=8= 8=8 8   = 8=8=  8=8  =  8=8=  8=8  = 8=8=  8=8  =  8=8=  8=8  )  "  =  8=8= !8=8 # &= $ %8=8= ' (8=8 * 1 + .= , -8=8= / 08=8 2 5= 3 48=8= 6 78=8 9 X : I ; B < ?= = >8=8= @ A8=8 C F= D E8=8= G H8=8 J Q K N= L M8=8= O P8=8 R U= S T8=8= V W8=8 Y h Z a [ ^= \ ]8=8= _ `8=8 b e= c d8=8= f g8=8 i p j m= k l8=8= n o8=8 q t= r s8=8= u v8=8 x y z { | } = ~ 8=8= 8=8 = 8=8= 8=8 = 8=8= 8=8 = 8=8= 8=8 = 8=8= 8=8 = 8=8= 8=8 = 8=8= 8=8 = 8=8= 8=8  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88 7    88 88    88  88   88  88    88  88  (  !    88  88 " % # $88 & '88 ) 0 * - + ,88 . /88 1 4 2 388 5 688 8 W 9 H : A ; > < =88 ? @88 B E C D88 F G88 I P J M K L88 N O88 Q T R S88 U V88 X g Y ` Z ] [ \88 ^ _88 a d b c88 e f88 h o i l j k88 m n88 p s q r88 t u88 w p x y z { | }  ~ 88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88 4    88 88    88  88   88  88    88  88  (  !    88  88 " % # $88 & '88 ) 0 * - + ,88 . /88 18 2 388 5 T 6 E 7 > 8 ; 9 :88 < =88 ? B @ A88 C D88 F M G J H I88 K L88 N Q O P88 R S88 U d V ] W Z X Y88 [ \88 ^ a _ `88 b c88 e l f i g h88 j k88 m8 n o88 q r s t u | v y w x88 z {88 }  ~ 88 88  88 88  88 88  88 88  88 88  88 88 8 88  88 88  88 88  88 88  88 88  88 88  88 88  88 88 8 88 8  88 88  88 88   88  88    88 88      88  88    88  88  #    88 ! "88 $8 % &88 ( ) *8 , 0 - . /8 1 2 38 5 > 6 : 7 8 9 ; < = ? C @ A B D E F H [ I R J N K L M O P Q S W T U V8 X Y Z \ e ] a ^ _ ` b c d f  g h i j k l m n o p q r s t u v w x y z { | } ~       8                    8                            1         =   8      C      C    8           8             8   8   ! x " Q # 6 $ - % ) & ' ( * + ,8 . 2 / 0 1 3 4 5 7 < 8 9 : ; = M > ? @ A B8 C8 D8 E8 F8 G8 H8 I8 J8 K8 L8{C8 N O P R e S \ T X U V W8 Y Z [ ] a ^ _ ` b c d f o g k h i j l m n p t q r s u v w y z { | } ~           1 H                     `` u  |                     %              H uu  u   4 1 w1w w        U     H  H            | 1  >$g  #  "   q ! # $ & ' Q ( < ) 4 * 1 + . , -q / 0e 2 3 5 9| 6 7 8| : ; = F > D ? A @  B C wTl E G N H K I JU L M O P R i S ^ T [ U X V W|*u Y Z \ ] _ f ` c a bwT:4 d e/ g h j u k r l o m n p q s t` v } w z x y=V { ||e ~ |   ;3 WB  n` |*W ;%3  H      n ``  n     U U> H              97                                          W  (                          $ ! " # % & '8 ) H * 3 + / , - . 0 1 2 4 5 6 7 8 9 : ; < = > ? @ D A B C  E F G I N J K L M O S P Q R T U V X  Y l Z c [ _ \ ] ^8 ` a b d h e f g i j k m v n r o p q s t u8 w { x y z8 | } ~   8                      B   8   8            C   8   P                  8   8           8     8   8              8    3 ! * " & # $ % ' ( ) + / , - . 0 1 2 4 = 5 9 6 7 8C : ; < > ? @ A C D g E T F O G K H I J L M N P Q R S8 U ^ V Z W X Y [ \ ]8 _ c ` a b d e f h w i n j k l m o s p q r t u v x y } z { | ~      8                  C      C   8   8      C           K 6 d !                            8   C                          " E # 2 $ - % ) & ' ( * + ,8 . / 0 1 3 < 4 8 5 6 7 9 : ; = A > ? @ B C D F Q G H I M J K L8 N O P R [ S W T U V8 X Y Z \ ` ] ^ _ a b c e f g z h q i m j k l n o p r v s t u w x y { | } ~             8                                     8   8   8         8             <                          8     1  ( $ ! " # % & ' ) - * + , . / 0 2 7 3 4 5 6 8 9 : ;8 = \ > Q ? H @ D A B C E F G I M J K L N O P9 R W S T U V X Y Z [8 ] p ^ g _ c ` a b d e f h l i j k m n o q v r s t u w { x y z | } ~                                {C {C8{C {C8 8{C8      8 {C 8 8 8 88 8 8 8{C8 88 8 8 8 8 8 8 8 88{C                            8          8  #                 ! " $ - % ) & ' ( * + , . 2 / 0 1 3 4 58 7 M 8 ¿ 9 p : U ; J < E = A > ? @ B C D8 F G H I K P L M N O Q R S T V a W \ X Y Z [ ]8 ^ _ ` b k c g d e f h i j l m n o q Œ r  s | t x u v w y z { } ~  € ‚ ‡ ƒ „ … † ˆ ‰ Š ‹    Ž —  “  ‘ ’8 ” • – ˜ œ ™ š ›  ž Ÿ8 ¡ ª ¢ ¦ £ ¤ ¥ § ¨ © « ¯ ¬ ­ ® ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾=                              8              &        8                   "   ! # $ % ' : ( 1 ) - * + , . / 0 2 6 3 4 5 7 8 98 ; D < @ = > ? A B C E I F G H J K L N O Î P k Q \ R W S T U V X Y Z [8 ] f ^ b _ ` a c d e g h i j l  m v n r o p q s t u w { x y z | } ~ À Å Á  à Ä8 Æ Ê Ç È É\ Ë Ì Í Ï f Ð S Ñ Ú Ò Ö Ó Ô Õ × Ø Ù Û O Ü L8 Ý8 Þ8 ß à C á  â ã õ ä8 å ó8 æ ç î è8 é ì ê ë{CG í88{C ï8 ð8 ñ ò8{C{C88 ô{C8 ö  ÷8 ø ù ú 8 û8 ü ý8 þ8 ÿ88 8 8 88 88 8 8 88 88 {C8 88 8{C8 8 8[ {C8{C8 8 8 88 8{C{C88 8 8 8 8 8 8 8T8 88 88 88 8 8 88 8T 88 8 88 8 88 8 88T 8 88 8 8 8 {C88 8 8 88   8 8 8{C 8 8{C88 8  8 8 8 8   8 8[8 8 ! 28 " #88 $ %88 &8 '8 (8 )8 * +8 ,8 -8 .88 / 088 18{C 38 4{C 5{C 6{C 7{C 8{C 9{C :{C ;{C <{C ={C >{C ?{C @{C A{C B{C8{C D8 E8 F88 G H J8 IT8 K83(8 M8 N88{C P Q R T ] U Y V W X Z [ \ ^ b _ ` a c d e g h q i m j k l8 n o p r s t u v w đ x y Ĉ z { | Ă } ~  Ā ā# ă Ą ą Ć ć1 ĉ Ċ ċ Č č Ď ď Đ1 Ē Ķ ē Ĕ Ĥ ĕ Ė Ğ ė Ę ę Ě Ĝ ě ĝg ğ Ġ ġ Ģ ģ1 ĥ Į Ħ ħ Ĩ ĩ Ī Ĭ ī1 ĭ į İ ĵ ı IJ ij Ĵg ķ ĸ ļ Ĺ ĺ Ļ# Ľ  ľ Ŀ     #      g                       8              8          @  ;           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : < = > ? A F B C D E8 G H I J L Z M [ N O Ŏ P k Q \ R W S T U V X Y Z [ ] b ^ _ ` a c g d e f h i j l { m r n o p q s w t u v x y z | Ņ } Ł ~  ŀ ł Ń ń8 ņ Ŋ Ň ň ʼn ŋ Ō ō ŏ Ų Ő ş ő Ś Œ Ŗ œ Ŕ ŕ ŗ Ř ř ś Ŝ ŝ Ş Š ũ š ť Ţ ţ Ť Ŧ ŧ Ũ Ū Ů ū Ŭ ŭ ů Ű ű ų Ŵ Ž ŵ Ź Ŷ ŷ Ÿ ź Ż ż ž ſ                      8   8                                 8  )      \    ! % " # $ & ' ( * / + , - . 0 4 1 2 3 5 6 7 9 L : C ; ? < = > @ A B8 D H E F G8 I J K M V N R O P Q S T U8 W X Y Z \ ] Ɯ ^ y _ j ` e a b c d f g h i k t l p m n o q r s8 u v w x z ƍ { Ƅ | ƀ } ~  Ɓ Ƃ ƃ ƅ Ɖ Ɔ Ƈ ƈ Ɗ Ƌ ƌ Ǝ Ɨ Ə Ɠ Ɛ Ƒ ƒ Ɣ ƕ Ɩ Ƙ ƙ ƚ ƛ Ɲ ƞ Ʊ Ɵ ƨ Ơ Ƥ ơ Ƣ ƣ ƥ Ʀ Ƨ Ʃ ƭ ƪ ƫ Ƭ Ʈ Ư ư Ʋ ƻ Ƴ Ʒ ƴ Ƶ ƶ Ƹ ƹ ƺ Ƽ ƽ ƾ ƿC                         +                      8                    "    !8 # ' $ % &8 ( ) * , G - 8 . 3 / 0 1 28 4 5 6 7 9 > : ; < =8 ? C @ A B8 D E F H O I J K L M N P Y Q U R S T V W X [ _ \ ] Ǭ ^ Ǎ _ r ` i a e b c d f g h j n k l m o p q s Lj t DŽ u v w x y z { | } ~  ǀ ǁ ǂ ǃ Dž dž LJ lj NJ Nj nj ǎ ǝ Ǐ ǘ ǐ ǔ Ǒ ǒ Ǔ Ǖ ǖ Ǘ Ǚ ǚ Ǜ ǜ Ǟ ǧ ǟ ǣ Ǡ ǡ Ǣ Ǥ ǥ Ǧ Ǩ ǩ Ǫ ǫ ǭ Ǯ ǽ ǯ Ǹ ǰ Ǵ DZ Dz dz ǵ Ƕ Ƿ ǹ8 Ǻ ǻ Ǽ Ǿ  ǿ      8         8   8   8                               \      <  '      8  #  ! " $ % &\ ( ) - * + ,8 . / 0 1 2 9 3 4 5 6 7 8 : ; = P > G ? C @ A B D E F H L I J K M N O Q Z R V S T U W X Y [ \ ] ^8 ` a Ȝ b } c r d i e8 f g h j n k l m o p q s x t u v w y z { | ~ ȍ  Ȅ Ȁ ȁ Ȃ ȃ ȅ ȉ Ȇ ȇ Ȉ Ȋ ȋ Ȍ Ȏ ȓ ȏ Ȑ ȑ Ȓ8 Ȕ Ș ȕ Ȗ ȗ8 ș Ț ț ȝ ȼ Ȟ ȭ ȟ Ȩ Ƞ Ȥ ȡ Ȣ ȣ ȥ Ȧ ȧ ȩ Ȫ ȫ Ȭ Ȯ ȳ ȯ Ȱ ȱ Ȳ8 ȴ ȸ ȵ ȶ ȷ ȹ Ⱥ Ȼ Ƚ Ⱦ ȿ                    O 5           0                       1      !       # #  >     $   " ) # $ & %> ' (#$H * - + , . /U 1 2 3 4C 6 E 7 @ 8 9 : ; < = > ?5 A B C D F G K H I J L M N P o Q ` R W S T U V X \ Y Z [ ] ^ _ a f b c d e g k h i j l m n p Ƀ q z r v s t u w x y {  | } ~ ɀ Ɂ ɂ Ʉ ɉ Ʌ Ɇ ɇ Ɉ8 Ɋ ɋ Ɍ ɍ ɏ ۈ ɐ - ɑ ( ɒ ɓ ɔ ɕ ɖ ɗ ɘ ` ə ɚ . ɛ $ ɜ ɥ ɝ ɞ ɟ ɠ ɡ ɢ ɣ ɤ ɦ ɧ ɨ ɩ ɪ ɫ ɬ ɭ ɮ ɯ ɰ ɱ ɲ ɳ ɴ ɵ ɶ ɷ ɸ ɹ ɺ ɻ ɼ ɽ ɾ ɿ                                                                                       ! " # % & ' ( ) * + , - / 0 : 1 2 3 4 5 6 7w 8 9w ; < = > ? ʢ @ ʋ A B d C L D E F G Hw Iw J Kw M N O P _ Q R S Tw U V W X Y Z [ \ ] ^w ` a b cw e f g h i j k l m ʊ nw o p | q r s t u v w x y z {w } ~  ʀ ʁ ʂ ʃ ʄ ʅ ʆ ʇ ʈ ʉww ʌw ʍ ʎ ʏ ʐ ʑ ʒ ʓ ʔ ʕ ʖ ʗ ʘ ʙ ʚ ʛ ʜ ʝ ʞ ʟw ʠ ʡ ʣ ʤ ʥ ʦ ʧ ʭ ʨ ʩ ʪ ʫ ʬw ʮ ʯ ʰ ʱ ʲ ʳ ʴ ʵ ʶ ʷ ʸ ʹ ʺ ʻ ʼ ʽ ʾ ʿ   w w w w                        w         ww       w w 8                      Ku u  ;           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 7 4 5 6  8 9 : < ̂ = > ?  @ A _ B ] C \ D E F G Q H I N J L K M O P R S W T V U X Z Y [  ^  ` ˝ a b c d e f g h i j k l m n o p q r s t ˕ u ˈ v ~ w z x y { |  }  ˃ ˀ ˂ ˁ    ˄ ˆ ˅  ˇ  ˉ ˎ ˊ ˍ ˋ ˌ ˏ ˑ ː ˒ ˓u ˔KuK ˖ ˗ ˘ ˙ ˛ ˚ ˜  ˞ ˟ ˠ ˡ ˢ ˣ ˤ ˥ ˦ ˧ ˨ ˩ ˪ ˫ ˬ ˭ ˮ ˯ ˰ ˱ ˲ ˹ ˳ ˸ ˴ ˶ ˵   ˷ ˺ ˻ ˾ ˼ ˽uKu ˿                                  u Ku                \                        Ku    ! " # $ % & ' ( ) * + , - . / 0 G 1 < 2 7 3 5 4 6 8 : 9  ; = B > @ ? A C E D  F  H S I N J L K M  O Q P R  T Y U W V  X Z [K ] ^ _ ` a b c d e f g h i j k l m n o } p v q s r  t u w z x y   { |   ~  ̀ ́ Ku ̃ ̄ ̅ ̆ ̇ ̈ ̉ ̊ ̋ ̌ ̍ ̎ ̏ ̐ ̑ ̒ ̓ ̔ ̕ ̖ ̗ ̘ ̙ ̚ ̛ ̰ ̜ ̨ ̝ ̞ ̟ ̣ ̠ ̡   ̢  ̤ ̦ ̥  ̧ ̩ ̪ ̫ ̬ ̮ ̭  ̯  ̱ ̲ ̳ ̽ ̴ ̸ ̵ ̶   ̷  ̹ ̻ ̺   ̼  ̾ ̿                                         u      -                  "   u                !  # , $ % & ' ( ) * +  . 5 / 2 0 1 u 3 4K   6 7 9 F : S ; < = > ? @ O A L B J C D E F G H Ig K M Ng P Q Rg T U  V W X Y Z ͜ [ \ ] ^ _ ` a ͘ b ͒ c d e f ̓ g h i j k l m n o p { q t r sg u x vg w y z | } ̀ ~ g ́ ͂g ̈́ ͅ ͆ ͇ ͈ ͉ ͊ ͋ ͌ ͍ ͎ ͏ ͐ ͑g ͓ ͖ ͔ ͕gg ͗H ͙ ͚ ͛ ͝ ͞  ͟ ͠ ͡ ͢ ͣ ͤ ͥ ͦ ͧ ͨ ͩ ͪ ͫ ͬ ͭ ͮ ͯ Ͱ ͱ Ͳ ͽ ͳ ͷ ʹ ͵ Ͷ ͸ ͹ ͻ ͺgg ͼg ; Ϳ ggg g g         gg                    g g                        g g                   9  ! " # $ 4 % & ' ( . ) * + , -g / 0 1 2 3g 5 6 7 8g : ; < = > ? @ A B D Cg Eg G H I J K L M T N Q O P R Sg U V Wg X Y Z [ \ ] ^ _ a u b Ї c b d ΁ e f g h i j w k r l o m n p q11 s v t uH H H$ x ~ y { z#H | }Y>>Y  ΀U ΂ ΃ ΄ ΅ Ά ϴ · _ Έ Ώ Ή Ό Ί ΋$$ ΍ Ύ1H1H ΐ Α Φ ΒH Γ Δ Ε Ν Ζ Η Θ Λ Ι Κ>$$ Μ>$ Ξ Ο ΢ Π Ρ>$ Σ Τ Υ>$$ Χ Ψ Ω Ϊ Ϋ ά έ ή ί ΰ α β γ δ ε ζ η θ ι κ λ μ ν ο ξ>> >1w H H1 1$$ HH YH w1 1  $w$ w  H$     H  H YY  ##> > H#>    UHU      X  L  J  D   (                1         1  #    1H1H !Y> "#$ $ % & '$# ) * + , - . / 0 1 2 3 ; 4 5 8 6 7>$ 9 :H1$ < ? = >   @ B A  C E F G H I>H KH$ M U N T O1 P Q R$ S$1 V W HH Y Z \# [Y> ] ^>YU ` a b c r d e f g h m i k j1H$ lH n p o H qY s t u v w x y z { | } ~  π ρ ς σ τ Ϯ υ Ϝ φ ϑ χ ό ψ ϊ ωH ϋH ύ Ϗ ώH ϐH ϒ ϗ ϓ ϕ ϔH ϖ1 Ϙ Ϛ ϙ1 ϛ$ ϝ Ϩ Ϟ ϣ ϟ ϡ Ϡ$ Ϣ Ϥ Ϧ ϥ ϧ  ϩ Ϫ Ϭ ϫ  ϭ ϯ ϰ ϱ ϲ ϳ> ϵ ϶ Ϸ ϸ Ϲ Ϻ ϻ ϼ Ͻ Ͼ Ͽ         YHH H1#$  1$ HH   Y>U     U S R         =      1       $ $$ 1wH    $    11  wHwH $  %       $  $$  1wH  ! " # $$ & ' ( / ) , * +11 - .wHwH 0$ 2 8 3 6 4 5Hw 7H1 91 : ;$$ <$ > ? @ A B C D E L F I G H>HH J KH1#$ M O N1$ P QHH1 TH1$ V ` W _ X Y Z [ \ ] ^> $H aH c d e f g h i Ѐ j y k v l m n$ o p q r s t u w x11 z } { |H$ > ~ H#HY Ё Ђ ЄH Ѓ > Ѕ І#YU Ј U Љ Й Њ Ћ Ќ Ѝ Ў Џ А Б З В Г Д Е Ж И  К Л + М Н О  П Р С о Т н У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я а б в г д е ж з и к й u л мu  п                                                                                                ! " # $ % & ' ( ) *  , - . / 0 1 2 T 3 4 5 6 7 8 9 : G ; < = > ? @ A B C D F E     H I J K L M N O P Q R S    V W X c Y Z [ \ ] ^ _ ` a b  d e f g h i s j k l m n o p q r  t  v w x y  z { | } ӕ ~  р с ' т у ф х ц ч ш ъH щ  ы Ѧ ь ћ э ю я ѐ ё ђ ѓ є ѕ і ї ј љ њ ќ ѝ ў џ Ѡ ѡ Ѣ ѣ Ѥ ѥ# ѧ ѷ Ѩ ѩ Ѫ ѫ Ѭ ѭ Ѯ ѯ Ѱu ѱu Ѳ ѳ Ѵu ѵu Ѷu Ѹ ѹ Ѻ ѻ Ѽ ѽ Ѿ ѿ Y Y Y  Y Y          u    u u           # #           > > > >         K K  K  K                           ! " # $ % & ( ) Ҿ * + , u - . g / Z 0 F 1 2 A 3 : 4 7 5 6HY1 8 91HH$ ; > < =$>H ? @## B C D E H$ G H U I P J M K L N O K Q S R Tuu V W X  Y  [ b \ ] ^ _ `g a c d e f h i o j k lw m n p q r s t  v w Ұ x ң y ҏ z { Ҋ | ҃ } Ҁ ~ HY1 ҁ ҂1HH$ ҄ ҇ ҅ ҆$>H ҈ ҉## ҋ Ҍ ҍ Ҏ H$ Ґ ґ Ҟ Ғ ҙ ғ Җ Ҕ ҕ җ Ҙ K Қ Ҝ қ ҝuu ҟ Ҡ ҡ  Ң  Ҥ ҫ ҥ Ҧ ҧ Ҩ ҩg Ҫ Ҭ ҭ Ү ү ұ Ҳ Ҹ ҳ Ҵ ҵw Ҷ ҷ ҹ Һ һ Ҽ ҽ   ҿ    HY1 1HH$ $>H ##    H$    K  uu         g >         w          Q            5  &          # ! " $ %1 ' . ( + ) *  1w , -w$ / 2 0 1 Hg 3 4$H g 6 C 7 > 8 ; 9 :H$ < = ? A @ B D K E H F GuYK I Ju## L O M N>U> PH R S ӌ T n U ` V Y Ww X g Z ] [ \gH ^ _ a h b e c d 11$ f g$ i k j H l m H o } p w q t r sw u v w  x z y { | ~ Ӆ  ӂ Ӏ ӁHH Ӄ ӄ#uY ӆ Ӊ Ӈ ӈu>K ӊ Ӌ# Ӎ ӎ ӏ Ӑ ӓ ӑ Ӓ>HU ӔY Ӗ ӗ Ә ә Ӛ ӛ Ӝ ӝ Ӟ ӟ Ӡ g ӡ  Ӣ ӣ Ӥ ӥ Ӧ ӧ Ө Ӯ ө Ӫ ӫ Ӭ ӭw ӯ Ӱ ӱ ӻ Ӳ ӷ ӳ Ӵ ӵ Ӷ   Ӹ ӹ Ӻ Ӽ ӽ Ӿ ӿ    $$            11   HH                  gg    ww              9  "                 ! # . $ ) % & ' ($$ * + , - / 4 0 1 2 3   5 6 7 811 : Q ; F < A = > ? @HH B C D E   G L H I J K M N O P R ] S X T U V Wgg Y Z [ \ww ^ c _ ` a b   d e f h i j k ԙ l Ԃ m w n s o p q r   t u v x } y z { | ~  Ԁ ԁ$$ ԃ Ԏ Ԅ ԉ ԅ Ԇ ԇ Ԉ Ԋ ԋ Ԍ ԍ   ԏ Ԕ Ԑ ԑ Ԓ ԓ11 ԕ Ԗ ԗ ԘHH Ԛ Գ ԛ Ԧ Ԝ ԡ ԝ Ԟ ԟ Ԡ   Ԣ ԣ Ԥ ԥ ԧ Ԯ Ԩ ԩ Ԭ Ԫ ԫ ԭg ԯ ԰ Ա Բww Դ Կ Ե Ժ Զ Է Ը Թ Ի Լ Խ Ծ                           w  g gH   11$ $  H  H   w w          HH #uY    u>K  #       >HU Y    ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 յ 6 7  8 G 9 : ; @ < > =  ? A D B C  E Fww H d I X J Q K N L MHH O PH R U S T  V WH Y ^ Z \ [g ] _ a ` b cg   e q f l g i hH j k   m n o p H r y s v t u $ w xH z | {HH } ~ Հ Ձ ՝ Ղ Վ Ճ Շ Մ Յ$ Ն$ Ո Ջ Չ Պ$ Ռ Ս Տ Ֆ Ր Փ Ց Ւ   Ք ՕHw ՗ ՚ ՘ ՙww ՛ ՜Hg ՞ ը ՟ բ# ՠY աHg գ զ դ ե  է թ ծ ժ լ ի1 Hu խ կ ղ հ ձ  ճ մH ն շ ո չ պ ջ ռ տ ս վ$$g  1  1   $ K Y Y KKu u u            փ 6      1        g g              w w  )            $  $  ! "w #w % & ' ( * 0 + , - .$ /$ 1 2 3 4 5  7 _ 8 M 9 D : ? ; < = >  @ A B C E J F G H I> K L  N Y O T P Q R SH U V W Xg Z [ \ ] ^ ` q a e b c d  f k g h i j1 l m n o p r | s x t u v w  y z {H } ~  ր ց ւ  ք օ ֪ ֆ ֘ և ֍ ֈ ։ ֊ ֋ ֌ ֎ ֓ ֏ ֐ ֑ ֒u ֔ ֕ ֖ ֗ ֙ ֟ ֚ ֛ ֜ ֝ ֞K ֠ ֥ ֡ ֢ ֣ ֤  ֦ ֧ ֨ ֩# ֫ ֽ ֬ ֲ ֭ ֮ ֯ ְ ֱY ֳ ָ ִ ֵ ֶ ַ ֹ ֺ ֻ ּ ־ ֿ    u            1 $ $ YH H    u    w    u   U H $   $  H  w wg g     H1     H        u    $        Y>  !  Ku# " ##>U % & '  ( מ ) h * E + 4 , - . / 0 1 2$ 3$ 5 = 6 7 8 9 : ; < > ? @ A B C D F W G O H I J K L M N P Q R S T U V X ` Y Z [ \ ] ^ _ a b c d e fH gH i { j k s l m n o p q r  t u v w x y z  | ׍ } ׅ ~  ׀ ׁ ׂ ׃w ׄw ׆ ׇ ׈ ׉ ׊ ׋g ׌g ׎ ז ׏ א ב ג ד הg וg ח ט י ך כ לH םH ן נ ׻ ס ת ע ף פ ץ צ ק ר ש  ׫ ׳ ׬ ׭ ׮ ׯ װ ױ ײ  ״ ׵ ׶ ׷ ׸ ׹1 ׺1 ׼ ׽ ׾ ׿    1 1      $ $                                                                        = 3 ! * " # $ % & ' ( )  + , - . / 0 1H 2H 4 5 6 7 8 9 : ;w <w > ? @ A B C D E F> G> I J K L ' M ض N ؆ O g P X Q R S T U V W$ Y ` Z [ \ ] ^ _ a b c d e f h w i p j k l m n o q r s t u v x  y z { | } ~ ؀ ؁ ؂ ؃ ؄ ؅H ؇ ؗ ؈ ؉ ؐ ؊ ؋ ، ؍ ؎ ؏  ؑ ؒ ؓ ؔ ؕ ؖ  ؘ ا ؙ ؠ ؚ ؛ ؜ ؝ ؞ ؟w ء آ أ ؤ إ ئg ب د ة ت ث ج ح خg ذ ر ز س ش صH ط ظ ع  غ ػ ؼ ؽ ؾ ؿ               1      1      $                                                         ! " # $ % &  ( ) * ; + 3 , - . / 0 1 2  4 5 6 7 8 9 :H < D = > ? @ A B Cw E F G H I J K L M N O P Q R S T> V W X Y Z ` [ \ ْ ] ـ ^ o _ g ` a b c d e fw h i j k l m n  p x q r s t u v w  y z { | } ~ g ف ق ي ك ل م ن ه و ىg ً ٌ ٍ َ ُ ِ ّH ٓ ٶ ٔ ٥ ٕ ٝ ٖ ٗ ٘ ٙ ٚ ٛ ٜ  ٞ ٟ ٠ ١ ٢ ٣ ٤  ٦ ٮ ٧ ٨ ٩ ٪ ٫ ٬ ٭1 ٯ ٰ ٱ ٲ ٳ ٴ ٵ1 ٷ ٸ ٹ ٺ ٻ ټ ٽ پ ٿ$       $        !                                    H               >                 " E # 4 $ , % & ' ( ) * + - . / 0 1 2 3 5 = 6 7 8 9 : ; < > ? @ A B C D  F W G O H I J K L M N  P Q R S T U V  X Y Z [ \ ] ^ _  a b c d e m f g h i j k l  n o p q r s tH v w x y ڿ z { | } ~  ڀ ځ ڂ ڃ ڄ څ ڣ چ ڔ ڇ ڍ ڈ ڊ ډ  ڋ ڌ  ڎ ڑ ڏ ڐ ڒ ړ1 ڕ ڜ ږ ڙ ڗ ژ  1w ښ ڛw$ ڝ ڠ ڞ ڟ Hg ڡ ڢ$H g ڤ ڱ ڥ ڬ ڦ ک ڧ ڨH$ ڪ ګ ڭ گ ڮ ڰ ڲ ڹ ڳ ڶ ڴ ڵuYK ڷ ڸu## ں ڽ ڻ ڼ>U> ھH                    g g           wHwH 1$  w1 w$H H# Y>#Y  U                          #             ! "  $ % & 'Kuu ) * + , . 7 / 3 0 1 2 4 5 6 8 < 9 : ; = > ? @ A B C D E F G H h I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g i j k l m n o p q r s t u v w x y z { | } ~  ۀ ہ ۂ ۃ ۄ ۅ ۆ ۇ ۉ _ ۊ V ۋ * ی ۍ ێ ۏ ې ۑ ے ۓ ۔ ە ۖ ܥ ۗ K ۘ  ۙ ۷ ۚ ۛ ۜ ۝ ۞ ۟ ۠ ۡ ۢ ۣ ۤ ۥ ۦ ۧ ۨ ۩ ۪ ۫ ۬ ۭ ۮ ۯ ۰ ۱ ۲ ۳ ۴ ۵ ۶ ۸ ۹ ۺ ۻ ۼ ۽ ۾ ۿ                                                                 -                 ! " # $ % & ' ( ) * + , . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J L M ܇ N O k P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j l m n o p q r s t u v w x y z { | } ~  ܀ ܁ ܂ ܃ ܄ ܅ ܆ ܈ ܉ ܊ ܋ ܌ ܍ ܎ ܏ ܐ ܑ ܒ ܓ ܔ ܕ ܖ ܗ ܘ ܙ ܚ ܛ ܜ ܝ ܞ ܟ ܠ ܡ ܢ ܣ ܤ ܦ ܧ ܨ ܩ ܪ ܫ ܬ ܭ ܮ ܯ ܰ ܱ ܲ ܳ ܴ ܵ ܶ ܷ ܸ ܹ ܺ ܻ ܼ ܽ ܾ ܿ                                                                                    ! " # $ % & ' ( ) + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U W [ X Y Z \ ] ^ ` a ߷ b c d e f g h ` i  j k l ݾ m ݖ n o p ݎ q  r x s u t v wgH1 y | z {w$ } ~1gqw ݀ ݇ ݁ ݄ ݂ ݃$H ݅ ݆    ݈ ݋ ݉ ݊  ݌ ݍKYu ݏ ݐ ݑ ݔ ݒ ݓ ݕ ݗ ݘ ݶ ݙ ݧ ݚ ݠ ݛ ݝ ݜ ݞ ݟgH1 ݡ ݤ ݢ ݣw$ ݥ ݦ1gqw ݨ ݯ ݩ ݬ ݪ ݫ$H ݭ ݮ    ݰ ݳ ݱ ݲ  ݴ ݵKYu ݷ ݸ ݹ ݼ ݺ ݻ  ݽ ݿ    gH1 w$ 1gqw $H       KYu          gH1 w$ 1gqw  $H           KYu         M  /           gH  1  ! ( " % # $w & '$  ) , * +1g - .qw 0 > 1 7 2 5 3 4$ 6H 8 ; 9 :   < =   ? F @ C A B D E   G J H IKY K Lu  N W O S P Q R T U V X \ Y Z [ ] ^ _  a b ޺ c  d p e i f g h  j m k lgH n o1  q x r u s tw v w$  y | z {1g } ~qw ހ ގ ށ އ ނ ޅ ރ ބ$ ކH ވ ދ މ ފ   ތ ލ   ޏ ޳ ސ ޓ ޑ ޒ ޔ ޕ  ޖ ޗ ޘ ޙ ޚ  ޛ ޜ ޝ ޞ ޟ ޠ ޡ  ޢ ޣ ޤ ޥ ަ ާ ި  ީ ު  ޫ ެ ޭ ޮ ޯ ް ޱ ޲  ޴ ޷ ޵ ޶KY ޸ ޹u  ޻ ޼ ޽ ޾ ޿             u  u   u  u   u   u         l  l   l  l   l   l  b )   $          1 1    1 1  ! " #11 % & ' (11 * E + @ , ; - . / 5 0 3 1 2  4  6 7 9 8  :  < = > ?   A B C D   F ^ G Z H I J R K O L M Nw P Qw S T W U Vw X Yw [ \ ]w _ ` aw c ߙ d e ߍ f ߁ g h i u j p k l nK m o q sK r t v w | x zK y { } K ~ ߀ ߂ ߉ ߃ ߆ ߄ ߅KK ߇ ߈ ߊ ߋ ߌ ߎ ߕ ߏ ߒ ߐ ߑKK ߓ ߔ ߖ ߗ ߘ ߚ ߛ ߳ ߜ ߯ ߝ ߞ ߟ ߧ ߠ ߤ ߡ ߢ ߣF ߥ ߦF ߨ ߩ ߬ ߪ ߫F ߭ ߮F ߰ ߱ ߲F ߴ ߵ ߶F ߸ ߹ ߺ ߼ G ߽ w ߾ \ ߿ ) s U )                                                                        #    ! " $ % & ' ( * [ + F , 9 - 3 . / 0 1 2 4 5 6 7 8 : @ ; < = > ? A B C D E G N H I J K L M O U P Q R S T V W X Y Z \ w ] j ^ d _ ` a b c e f g h i k q l m n o p r s t u v x y  z { | } ~          8                   8                                                                 *                             8  $   ! " # % & ' ( )8 + @ , 9 - 3 . / 0 1 2 4 5 6 7 8 : ; < = > ?8 A H B C D E F G I O J K L M N P Q R S T8 V W # X | Y g Z [ a \ ] ^ _ ` b c d e fP h u i o j k l m n p q r s t v w x y z { } ~                               8             $    u w1   H 1 1 1 1 1 1 11      w      w w   w    w     g           gK            K              ! "8 $ [ % @ & 3 ' - ( ) * + ,C . / 0 1 2 4 : 5 6 7 8 9 ; < = > ? A N B H C D E F G8 I J K L M O U P Q R S T V W X Y Z \ w ] j ^ d _ ` a b c e f g h i8 k q l m n o p8 r s t u v x y  z { | } ~8     8            8 8 8 8 8 8 8 8 8{C8     }               \                                    8                 8                           C  +  %  ! " # $8 & ' ( ) * , 2 - . / 0 1 3 4 5 6 7 9 X : G ; A < = > ? @ B C D E F H N I J K L M8 O P Q R S T U V W8 Y f Z ` [ \ ] ^ _ a b c d e g m h i j k l8 n o p q r t L u 6 v w x y z { | } ~                                                               8                                8                             )  #    ! " $ % & ' ( * 0 + , - . / 1 2 3 4 5 7 8 i 9 T : G ; A < = > ? @ B C D E F8 H N I J K L M O P Q R S U b V \ W X Y Z [ ] ^ _ ` a c d e f g h j  k x l r m n o p q s t u v w y z { | } ~                   8                                        C                                                                 1  (  "     ! # $ % & ' ) + * , - . / 0 2 ? 3 9 4 5 6 7 8 : ; < = > @ F A B C D E8 G H I J K M 8 N O P k Q ^ R X S T U V W Y Z [ \ ] _ e ` a b c d f g h i j l y m s n o p q r t u v w x z { | } ~                                                                                                 g  g g        #                       ! " $ + % & ' ( ) * , 2 - . / 0 1 3 4 5 6 7 9 : e ; V < I = C > ? @ A B D E F G H J P K L M N O Q R S T U W ^ X Y Z [ \ ] _ ` a b c d f g t h n i j k l m o p q r s u { v w x y z8 | } ~       8     8                                8 8 88 8 88 8 88 8 8 8 8 8 88 88 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 88                          8                      8  #    ! " $ % & ' ( * + , % - . h / I 0 B 1 < 2 3 4 5 6 7 888 98 :8 ;{C8 = > ? @ A C D E F G H J [ K U L M N O P Q R S T V W X Y Z8 \ b ] ^ _ ` a c d e f g i j { k q l m n o p r s t u v w x y z8 | } ~   8                                                        K          K                 8             8                     ! " # $ & ' X ( = ) 6 * 0 + , - . / 1 2 3 4 5 7 8 9 : ; <8 > K ? E @ A B C D F G H I J L R M N O P Q S T U V W& Y t Z g [ a \ ] ^ _ ` b c d e f8 h n i j k l m o p q r s u ~ v | w x y z { }8                8                              8                    8               8      _ (                         !            8 " # $ % & ' ) D * 7 + 1 , - . / 0 2 3 4 5 68 8 > 9 : ; < =8 ? @ A B C E R F L G H I J K M N O P Q8 S Y T U V W X8 Z [ \ ] ^ ` a | b o c i d e f g h j k l m n p v q r s t u w x y z { } ~               8               8                                    8                       8                                    ! L " 7 # * $ % & ' ( )8 + 1 , - . / 0 2 3 4 5 6 8 E 9 ? : ; < = > @ A B C D F G H I J K M h N [ O U P Q R S T V W X Y Z \ b ] ^ _ ` a c d e f g i v j p k l m n o q r s t u w } x y z { | ~                                                                                    8 %      8     8             8            8  ! " # $ & ' ( ) * + , - . / 0 1 r 2 3 4 5 6 j 7 b 8 S 9 N : ; < = > ? @ A B C D E F G H I J K L M O P Q R$ T ] U Y V W X# Z [ \  ^ _ ` a c d e f g h i1$ k l m n o p q s t u v w x y z { |  } ~                 u                 u       w    w                                d 3                 g               |       8       &       ! " # $ % ' - ( ) * + , . / 0 1 2 4 I 5 B 6 < 7 8 9 : ; = > ? @ A C D E F G H J W K Q L M N O P R S T U Vg X ^ Y Z [ \ ] _ ` a b c e f g t h n i j k l m o p q r s u { v w x y z8 | } ~  8                     8                               0                          \                                           )  #    ! " $ % & ' ( * + , - . /8 1 b 2 G 3 : 4 5 6 7 8 9 ; A < = > ? @8 B C D E F H U I O J K L M N P Q R S T V \ W X Y Z [ ] ^ _ ` a8 c z d m e g f h i j k l n t o p q r s u v w x y { | } ~                                      8               8           8                           +                               $    ! " #8 % & ' ( ) * , A - : . 4 / 0 1 2 3 5 6 7 8 9 ; < = > ? @ B O C I D E F G H8 J K L M N8 P V Q R S T U W X Y Z [ ] 5 ^ _  ` ; a b c x d q e k f g h i j l m n o p r s t u v w y z { | } ~                         8           8            g          8                                          8                       .  (   ! " # $ % & ' ) * + , - / 5 0 1 2 3 4 6 7 8 9 : < = t > Y ? L @ F A B C D E G H I J K M S N O P Q R8 T U V W X Z g [ a \ ] ^ _ ` b c d e f h n i j k l m8 o p q r sC u v w } x y z { | ~               8                                              8                8                       }  F  !                           " ? # ) $ % & ' ( * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = >` @ A B C D E G b H U I O J K L M N P Q R S T V \ W X Y Z [ ] ^ _ ` a c p d j e f g h i k l m n o q w r s t u v8 x y z { | ~                                                                   8      T                     8     C                           9  , & ! " # $ % ' ( ) * + - 3 . / 0 1 2 4 5 6 7 8 : G ; A < = > ? @ B C D E F H N I J K L M O P Q R S U V q W d X ^ Y Z [ \ ] _ ` a b c e k f g h i j l m n o p r  s y t u v w x z { | } ~                     8                      -                                      R R                       8       &       ! " # $ % ' ( ) * + ,8 . _ / J 0 = 1 7 2 3 4 5 6 8 9 : ; < > D ? @ A B C E F G H I K R L M N O P Q S Y T U V W X Z [ \ ] ^8 ` u a h b c d e f g8 i o j k l m n p q r s t v w } x y z { | ~    8                                                   g     8                                                              R  7  *  $   ! " # % & ' ( ) + 1 , - . / 0 2 3 4 5 6 8 E 9 ? : ; < = > @ A B C D F L G H I J K M N O P Q S n T a U [ V W X Y Z \ ] ^ _ ` b h c d e f g i j k l m o v p q r s t u8 w } x y z { | ~     h                                                       8               8      : +           %                                  ! " # $ & ' ( ) * , 3 - . / 0 1 2 4 5 6 7 8 9 ; I < = C > ? @ A B D E F G H J W K Q L M N O P R S T U V X b Y Z [ \ ] ^ _ ` a c d e f g i j k l y m s n o p q r t u v w x z { | } ~                     8                                                                                                   (  "     ! # $ % & '8 ) / * + , - . 0 1 2 3 4 6 G 7 8 9 : q ; V < I = C > ? @ A B D E F G H J P K L M N O Q R S T U W d X ^ Y Z [ \ ] _ ` a b c e k f g h i j l m n o p r s t z u v w x y { | } ~      8                              8     8                                                     .  <  !             8              9 9 989 " / # ) $ % & ' ( * + , - . 0 6 1 2 3 4 5 7 8 9 : ; =  >  ? @ A B C D E F G H I J K L M N O n P _ Q X R S V T Ug W Y Z ] [ \g ^ ` g a b e c dg f h i l j kg m o ~ p w q r u s tg v x y | z {g }   g   g   |u;   n zK    |*  |u;   n zK    |*  |u;   n zK    |*  |u;   n zK    |*  g   g   g   g      )             !             " ( # $ % & ' ) * + , - / ` 0 K 1 > 2 8 3 4 5 6 7 9 : ; < = ? E @ A B C D F G H I J L Y M S N O P Q R T U V W X Z [ \ ] ^ _ a | b o c i d e f g h j k l m n p v q r s t u w x y z {8 } ~                    8           8                                                                  C  8                       +  !      " # $ % & ' ( ) * , 2 - . / 0 1 3 4 5 6 7 9 t : g ; a < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` b c d e f h n i j k l m o p q r s u v | w x y z { } ~        8               8               8                          8                 8                                   8  +  %      ! " # $ & ' ( ) * , 2 - . / 0 1 3 4 5 6 7 9 @ : ; < = > ? A B C D E F H I  J K L g M Z N T O P Q R S U V W X Y [ a \ ] ^ _ ` b c d e f h u i o j k l m n8 p q r s t v | w x y z { } ~                                           8      8                                                                          U  : - ! ' " # $ % & ( ) * + , . 4 / 0 1 2 3 5 6 7 8 9 ; H < B = > ? @ A C D E F G I O J K L M N P Q R S T V k W ^ X Y Z [ \ ] _ e ` a b c d f g h i j8 l y m s n o p q r t u v w x z { | } ~                                                          8           ?      8                             C       *                $   ! " # % & ' ( ) + 8 , 2 - . / 0 1 3 4 5 6 7 9 : ; < = > @ s A \ B O C I D E F G H J K L M N P V Q R S T U W X Y Z [ ] j ^ d _ ` a b c e f g h iC k m l n o p q r t u v | w x y z { } ~        8                          8                                                  8                        8       F  +          %  ! " # $ & ' ( ) *C , 9 - 3 . / 0 1 2 4 5 6 7 8 : @ ; < = > ? A B C D E G \ H O I J K L M N P V Q R S T U W X Y Z [ ] j ^ d _ ` a b c e f g h i k q l m n o p8 r s t u v x k y g z { B | s } ~                8                                                                 l  g      6                         8                ! " # $ % , & ) ' (F * +F - . 0 /F 1 2 3 4 5F 7 X 8 K 9 E : ; < = > ? @ A B C D\ F G H I J L R M N O P Q S T U V W Y f Z ` [ \ ] ^ _ a b c d e g m h i j k l n o p q r8 t u v w x ~ y z { | }                                                                                        8                             '          !      " # $ % & ( 5 ) / * + , - . 0 1 2 3 4 6 < 7 8 9 : ; = > ? @ A C  D E | F a G T H N I J K L M8 O P Q R S U [ V W X Y Z \ ] ^ _ ` b o c i d e f g h8 j k l m n p v q r s t u w x y z {8 } ~       8          C     8          8                                                               8     8             z  C  .  !             " ( # $ % & ' ) * + , - / 6 0 1 2 3 4 5 7 = 8 9 : ; < > ? @ A B D _ E R F L G H I J K M N O P Q S Y T U V W X Z [ \ ] ^ ` m a g b c d e f8 h i j k l n t o p q r s u v w x y { | } ~          8                                        8                      G                               8             2  %         ! " # $ & , ' ( ) * + - . / 0 1 3 @ 4 : 5 6 7 8 9 ; < = > ? A B C D E F H  I d J W K Q L M N O P R S T U V X ^ Y Z [ \ ] _ ` a b c e r f l g h i j k m n o p q s y t u v w x z { | } ~      8                                                      (                         8                        8                !              " # $ % & ' ) T * E + 8 , 2 - . / 0 1 3 4 5 6 7 9 ? : ; < = > @ A B C D F M G H I J K L N O P Q R S8 U n V g W a X Y Z [ \ ] ^ _ ` b c d e f8 h i j k l m o | p v q r s t u w x y z { } ~      _                                                                    8                                        *                                                    ! " # $ % & ' ( ) + @ , 9 - 3 . / 0 1 2 4 5 6 7 8 : ; < = > ? A R B H C D E F G I J K L M N O P Q8 S Y T U V W X Z [ \ ] ^ `  a  b } c p d j e f g h i k l m n o q w r s t u v x y z { | ~             C                                              8                       g                                   \              8                  R                L   ! " # $ % & ' ( < ) 2 * / + ,\ - .\̿ 0\ 1\R 3 6\ 4\ 55 7 : 8 9uO9= ;\PG\ = B\ >\ ? @ A̿\P$ C I D G E F\9\ H\ J K\ M N O P Q S ` T Z U V W X Y8 [ \ ] ^ _ a b c d e f h < i e j  k 3 l  m  n { o u p q r s t v w x y z8 |  } ~                                                      &                                                     g  g             gg  g        g  g                                 ! " # $ % ' - ( ) * + , . / 0 1 2 4 k 5 P 6 C 7 = 8 9 : ; < > ? @ A B D J E F G H I K L M N O Q ^ R X S T U V W Y Z [ \ ] _ e ` a b c d f g h i j l  m z n t o p q r s u v w x y {  | } ~                                                                                     8                                              4                            '  !       " # $ % & ( . ) * + , - / 0 1 2 3 5 J 6 C 7 = 8 9 : ; < > ? @ A B D E F G H I K X L R M N O P Q8 S T U V W Y _ Z [ \ ] ^ ` a b c d8 f + g  h  i ~ j q k l m n o p r x s t u v w8 y z { | }                                                                                                        8                                      8          $               ! " # % & ' ( ) * ,  -  . = / 6 0 1 2 3 4 5 7 8 9 : ; < > K ? E @ A B C D F G H I J L R M N O P Q S T U h V W X Y Z [ \ ] ^ _ ` a b c d e f gg i j k  l m  n } o u p q rg s tgg v y w xgg z { |gg ~     gg gg                    `b  ;As     !F38      `      :         ~                            8                                                      C                  +  $           ! " # % & ' ( ) * , 9 - 3 . / 0 1 2 4 5 6 7 88 : ; = > ?  @ s A X B K C E D F G H I J L R M N O P Q S T U V W Y f Z ` [ \ ] ^ _ a b c d e g m h i j k l n o p q r t  u | v w x y z { }  ~    R                                   ~  M    :                 G      PP         2                                                                                              ) ! " # $ % & ' ( * + , - . / 0 1 3 4 5 > 6 7 8 9 : ; < = ? @ A B C D E F H  I J K L M N O  P o Q R e S \ T U V W X Y Z [ ] ^ _ ` a b c d f g h i j k l m n p { q r s t u v w x y z | } ~                       P P P   P       P    P PP P  PP> PP  P P PP> PP  P PP  P P>P    P  PP    PP >P P P>P P P P PP P >P  P P P  P P PP> PP P  PP P >P    P P  P P PP  P>P  P P  P PP  PP>P  P P P PP P>P   P P P P  PP >P P  P  PP  PP>P    PP >P PP >P A ) P   P PP P  P>PP  PP P  PP>  "P P P  PP !P>PP #P $P %P & 'PP (>P * 2 +PP , -P .PP /P 0 1P>P 3 : 4PP 5P 6 7P 8P 9P>P ;P <P =PP > ?PP @P> B C ] D Q E K FPP G HPP I JP>P LP MP NP OP PP>P RP S XP TP U VPP WP> YPP ZP [P \>P ^ t _ n ` i a e bP cPP dP>P f gPP h>PP j kPP l mP>PP oP pP qP r sPP> u {P v wP xP yPP zP> |PP }P ~ PP P> PP P PP PP> PP P PP P P> P PP P PP P> P PP PP P> P P P>P PP >PP P PP >P P P PP PP> PP P P P> P P PP PP> P P PP> PP >P P P P >P P P>P P PP P P P>P PP> PP P PP P PP >P PP P P PP P P P>P                           P  i   R  1           ! " # $ % & ' ( ) * + , - . / 0 2 3 4 5 6 7 8 9 : ; < = > ? D @ C A B  E K F H G K I J| L O M Nn  P Q|*u S T U V W X Y Z [ \ ] ^ _ ` a b c f dg eg gg hgg jP k P l m P n o wP pP qP rP sP tP u vPPP x yPP zP { |P }PP ~ P    u uK | ^K4    n KK K&  u  u|*lu  u  K   & A  P PP P P P PP PPP P P P P P PP PP P P                                                 !         g g g g  g gg " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 ; < = > ? @ A B C D E F G H I J K LP N O P Q R S ] T W U Vw X [ Y Z1  \ ^ _ ` } a b c d e f g h i j k l m n o p q r s t u v w x y z { |                                                              8           G           8     8                       ,         8      & ! " # $ % ' ( ) * + - : . 4 / 0 1 2 38 5 6 7 8 98 ; A < = > ? @ B C D E F H  I d J W K Q L M N O P R S T U V X ^ Y Z [ \ ] _ ` a b c e r f l g h i j k m n o p q s y t u v w x z { | } ~                    8               8                                               8                       C              S  8  +  %  ! " # $8 & ' ( ) * , 2 - . / 0 18 3 4 5 6 78 9 F : @ ; < = > ? A B C D E G M H I J K L N O P Q R T s U f V ` W X Y Z [ \ ] ^ _ a b c d e8 g m h i j k l n o p q r t u { v w x y z | } ~  8                                                                                                    :              8                    - ! ' " # $ % & ( ) * + , . 4 / 0 1 2 3 5 6 7 8 9 ; V < I = C > ? @ A B D E F G H8 J P K L M N O8 Q R S T U W ^ X Y Z [ \ ]P _ e ` a b c d f g h i j l y m  n + o 4 p  q  r  s  t z u v w x y { | } ~ 8                         8                                                                                                                              8          '  %   ! " # $ & ( . ) * + , -8 / 0 1 2 3 5  6 q 7 V 8 I 9 ? : ; < = > @ A B C D E F8 G8 H88 J P K L M N O Q R S T U W d X ^ Y Z [ \ ] _ ` a b c e k f g h i j l m n o p r  s  t z u v w x y { | } ~                           8                                     8                            8 8 8 8 88 8  8 88 8  8 8 8 88  88  8 8 8 8 88  88  88 8 8  88                                       8  %   ! " # $ & ' ( ) * ,  -  . e / J 0 = 1 7 2 3 4 5 68 8 9 : ; < > D ? @ A B C E F G H I K X L R M N O P Q S T U V W Y _ Z [ \ ] ^ ` a b c d f  g t h n i j k l m o p q r s u { v w x y z | } ~           8     8                                                                                     8                                 o  8  #                             ! "8 $ + % & ' ( ) * , 2 - . / 0 1 3 4 5 6 7 9 T : G ; A < = > ? @ B C D E F H N I J K L M O P Q R S U b V \ W X Y Z [ ] ^ _ ` a c i d e f g h j k l m n p  q  r  s y t u v w x z { | } ~                                                                                                                                    s    q                            d     ! " # $ D % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c e k f g h i j l m n o p r  s  t z u v w x y { | } ~                                                                 8                            -                                                                        ! ' " # $ % &8 ( ) * + , . ; / 5 0 1 2 3 4 6 7 8 9 : < B = > ? @ A C D E F G H I J K L M N O P Q R S m T ^ U Y V W X    Z \ [1w ]K _ f ` c a bgg d ew1 g j h i u k lU n o p q r YH t  u  v  w  x ~ y z { | }g                                                                                                                                             8                     P  5 ! ( " # $ % & '8 ) / * + , - . 0 1 2 3 4 6 C 7 = 8 9 : ; < > ? @ A B D J E F G H I K L M N O} Q l R _ S Y T U V W X Z [ \ ] ^ ` f a b c d e g h i j k m z n t o p q r s u v w x y {  | } ~           E             8                            8 8 8 8 8   88  8 8 88  88 8  88 8 8  88  8 88  8 8 8 88  88 8  8  8 88 8 8 8  88  88  88  8 8 88  8 88  8 88 8 88  8 8 88 8 8  8 88  88 8 8 8  88 8 8  8 88 8 8 8                        0  #            ! " $ * % & ' ( ) + , - . / 1 8 2 3 4 5 6 7 9 ? : ; < = > @ A B C D F w G b H U I O J K L M N P Q R S T V \ W X Y Z [8 ] ^ _ ` a c j d e f g h i k q l m n o p r s t u v x  y  z  { | } ~ 8                                                                    8              8                                        8     8                                N  9  ,  & ! " # $ % ' ( ) * +8 - 3 . / 0 1 2 4 5 6 7 8 : A ; < = > ? @ B H C D E F G I J K L M O d P W Q R S T U V X ^ Y Z [ \ ] _ ` a b c e l f g h i j k m s n o p q r t u v w x z  { ( | U }  ~                        k                                                                                       $                                       8            8    ! " # % : & 3 ' - ( ) * + , . / 0 1 2 4 5 6 7 8 9 ; H < B = > ? @ A8 C D E F G I O J K L M N P Q R S T V  W  X s Y f Z ` [ \ ] ^ _ a b c d e g m h i j k l n o p q r t  u { v w x y z | } ~                                    8              8                                                                                                       8       "      !8 # $ % & ' )  *  + ^ , C - 6 . 0 / 1 2 3 4 58 7 = 8 9 : ; < > ? @ A B D Q E K F G H I J L M N O P R X S T U V W Y Z [ \ ] _ t ` g a b c d e f8 h n i j k l m o p q r s u  v | w x y z { } ~                                                                                 8                      V                  8            8                                ; ! . " ( # $ % & ' ) * + , - / 5 0 1 2 3 4 6 7 8 9 : < I = C > ? @ A B D E F G HC J P K L M N O Q R S T U W  X s Y f Z ` [ \ ] ^ _ a b c d e g m h i j k l n o p q r t  u { v w x y z | } ~                       w                                                  8                            -  8    T  9  2  ,                                                           ! " # $ % & ' ( ) * + - . / 0 1 3 4 5 6 7 8 : G ; A < = > ? @ B C D E F H N I J K L M O P Q R S U j V c W ] X Y Z [ \8 ^ _ ` a b d e f g h i8 k x l r m n o p q s t u v w y  z { | } ~                                           u  ug        wT                K                                                              8       +                                ! " # $ % & ' ( ) * , 2 - . / 0 1 3 4 5 6 7 9  : _ ; J < C = > ? @ A B8 D E F G H I K X L R M N O P Q S T U V W Y Z [ \ ] ^ ` { a n b h c d e f g i j k l m o u p q r s t v w x y z |  }  ~                                             8                                                                    '                          g        g        g      g  ! " % # $g & ( ) * + , . l /  0 g 1 L 2 ? 3 9 4 5 6 7 8 : ; < = > @ F A B C D E G H I J K M Z N T O P Q R S U V W X Y8 [ a \ ] ^ _ ` b c d e f h  i v j p k l m n o q r s t u w } x y z { | ~                                =                   8   8  88 8 {C8 88  8 88  88 8  88  8 88{C 8 88  88 8 {C           8  0  *                        g                             !               1 H  H>         ww " # $ % & ' ( ) + , - . / 1 7 2 3 4 5 6 8 9 : ; < > M ? F @ A B C D E G H I J K L8 N [ O U P Q R S T V W X Y Z \ f ] ^ _ ` a b c d e g h i j k m  n  o  p } q w r s t u v x y z { | ~                                          8                                                                                8                      ,                    & ! " # $ % ' ( ) * + - : . 4 / 0 1 2 3 5 6 7 8 9 ; A < = > ? @ B C D E F8 H DY I 5. J ,R K 'B L % M $ N $[ O $* P $ Q $ R S T U V W X Y ! Z [ \ Q ]  ^ G _  `  a t b j c d e f h g i k l m r n p ouu quu su u  v  w  x { y zuu | ~ }uuu                                                KK KK K    KK   KKK                         w w   w w      w   w w   w                  z z  z  z        +                    |    |    |  | |                 ! & " # $ % ' ( ) * ,g - : . 3 / 0 1 2 4 7 5 6 8 9 ; B < ? = > @ A C D E F H  I e J S Kg Lg M P N Og Q Rg T Y Ug V W Xg Z a [ ^ \ ]g _ `gg b c dg f mg gg hg ig jg kg lg n { o t pF q r sg u x v wg y z<:u |  } ~ K <: <:       u  ȯ  u   uu   uu u K    u  <  < <ȽȽ Ƚ     ff f   Y uuw     u u u#u    u u##<  <<+<+; u    ; UU;  ; Yu  wuu  0         w w    ˃˃     ˃ ss   wsYw w   w ww w;w w w w;        ;ˢ  ˢqqV    V wT ȯ  ȯ YwTwT =w w    w w== Yw ww w  &               ;l;l  ;{      ;{HH  ;;L  "  L Yww !w # % $g ' - ( , ) * + ?! A H B E C D:s F G*;% I N J K;;O L M<:ȯ O P<=; R S T q U d V ] W Z X Y<Ƚf [ \g !@ !A !B !C !D !E !Fgg !H !` !I !J !Y !K !R !L !M !N !O !P !Qg !S !T !U !V !W !Xg !Z ![ !\ !] !^ !_ !a !q !b !c !j !d !e !f !g !h !ig !k !l !m !n !o !pg !r !z !s !t !u !v !w !x !y !{ ! !| !} !~ ! ! ! ! ! ! ! ! ! " ! ! ! ! ! !1 !1 !1 !1 !1 !1 ! ! ! ! ! ! ! ! !1 !11 ! ! !1 ! ! !1 !1 ! ! ! ! ! ! ! ! ! ! ! ! ! !1 !1 !11 !1 ! !1 ! !1 !g ! ! ! ! ! ! ! ! !g !1 ! !11 ! ! !1 !1 !1 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !|| !u| !| !|uu !u ! !u ! ! !  ! ! !  ! ! ! !  !  ! " ! ! ! ! ! !  !K !K ! ! !z !KzKK "K " " K "K "K " "e " "9 " "3 " " " " "  " " " " "  " " " " " " " " " " " " " "! "- "" "( "# "' "$ "%| "&||uu ")u "* "+u ",u ". "/ "0  "1 "2   "4 "5  "6 "7 "8   ": "[ "; "G "< "D "= "@ "> "?  "AK "BK "CzKK "EK "FK "H "M "I "J "K "L  "N "U "O "R "P "Q "S "T "V "W "X "Y| "Z|| "\ "] u "^ "_ "` "a "c "bu "d "f " "g "y "h "n "i "j  "k "l "m   "o "t "pK "qK "rK "sz "u "v K "w "x K "z "{ " "| " "} " "~ "  " " " " " " " " " " " " "| "| "u "u|uu " " " "u "u " "  " " " " " " " "    " "K " " " "  "KzK " " " " " K "K "K " " " " " "  " " " " " " " " " " " " " " " " " "| "| "u "u "u|uu "u " " " "u "  " " " #a " ## " # " " " " " " " " "   "K " "K "K " " K " " " " " " " " K "K " " " "  " " " " " " " " " " " # # #u # # #||uu # # u # # # #   #  #   # # # # #K # #KK #K #K #K # #  # # # #  # #w #!w #"w$ #$ #@ #% #1 #& #,$ #' #(# #)#$ #*$ #+$## #- #.w #/w# #0#w #2 #< #3 #7 #4$ #5$ #6$w$ #8#$ #9$ #: #;#$## #= #>w# #?#w #A #P #B #J #C #Gw #D #E$ #F$w$$ #H$ #I$## #K #Lw# #M #Nw #Ow#w #Q #\ #R #W #S$w #Tw #Uw #Vw$$ #X$ #Y #Z# #[#$## #] #^w #_w# #`#w #b # #c # #d #u #e #o #f #j #g$w #hw #iw$$ #k #l# #m#$ #n$# #pw# #q# #r #sw# #t#w #v #~ #w #| #x$ #y$ #z$w #{w$ #}#$# # ##g #g #g #g #g # # # # # # # # # # #g #g # #gg # # # #g # # # # # # #gg # # # # # #g #g # # # # #g # # #g # # # # # #g # # # # # # # #g #g # # #g #g # # #g # # #g # #g #g #g #g # # # # # # # # #ggg # #g #g # # # #gg # # # # #gg # # # # # # # # # #gg # #gg # # # #g #g #gg #g #g # # #g #g # # #g #g # #g $ $ $ $ $ $ $ $ $ $  $  $  $  $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $$ $ $  $! $" $# $% $& $' $( $) $+ $@ $, $9 $- $3 $. $/ $0 $1 $2 $4 $5 $6 $7 $88 $: $; $< $= $> $? $A $N $B $H $C $D $E $F $G $I $J $K $L $M $O $U $P $Q $R $S $T $V $W $X $Y $Z8 $\ $ $] $x $^ $k $_ $e $` $a $b $c $d $f $g $h $i $j $l $r $m $n $o $p $q $s $t $u $v $w $y $ $z $ ${ $| $} $~ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ %4 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $8 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ % $ % % % % % % % % % % %  %  %  % % % % % % %8 % % % % % % %' % %! % % % % %  %" %# %$ %% %&8 %( %. %) %* %+ %, %- %/ %0 %1 %2 %3 %5 %f %6 %K %7 %D %8 %> %9 %: %; %< %= %? %@ %A %B %C %E %F %G %H %I %J %L %Y %M %S %N %O %P %Q %R %T %U %V %W %X %Z %` %[ %\ %] %^ %_ %a %b %c %d %e %g %| %h %o %i %j %k %l %m %n %p %v %q %r %s %t %u %w %x %y %z %{ %} % %~ % % % % % % % % % % % % % % % % % % % %u % % % % % % %u % % % % % % % % % % % %u % % % % % % % % % % % % % & % & % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %8 % % % % % % % % % % % % % %8 % % % % % % % % % % % % % & % % % % % % % % % % % % % % % % % & & &8 & & & & & & & &  &  &  &  & & & & & & & & & & & & & & & & &J & &5 &! &. &" &( &# &$ &% && &' &) &* &+ &, &- &/ &0 &1 &2 &3 &4 &6 &= &7 &8 &9 &: &; &< &> &D &? &@ &A &B &C &E &F &G &H &I &K &f &L &Y &M &S &N &O &P &Q &R &T &U &V &W &X &Z &` &[ &\ &] &^ &_ &a &b &c &d &e8 &g &t &h &n &i &j &k &l &m &o &p &q &r &s &u &{ &v &w &x &y &z &| &} &~ & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & &8 & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & &8 & & & & & & ' & & & & & & & & & & & & & & & & & & & & & & & ' & ' & ' ' ' ' ' ' ' ' '  ' '  '  ' ' ' ' '' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '! '" '# '$ '% '& '( '5 ') '/ '* '+ ', '- '. '0 '1 '2 '3 '4 '6 '< '7 '8 '9 ': '; '= '> '? '@ 'A 'C * 'D ( 'E ' 'F '} 'G 'b 'H 'U 'I 'O 'J 'K 'L 'M 'N 'P 'Q 'R 'S 'T 'V '\ 'W 'X 'Y 'Z '[ '] '^ '_ '` 'a 'c 'p 'd 'j 'e 'f 'g 'h 'i 'k 'l 'm 'n 'o 'q 'w 'r 's 't 'u 'v 'x 'y 'z '{ '|8 '~ ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '8 ' ' ' ' ' '8 ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 'C ' ' ' ' ' '} ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '8 ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ( ' ( ' ( ( ( (8 ( ( ( ( (  ( ( (  (  ( ( ( ( ( ( ( ( ( ) ( ) ( )~ ( )q ( )k ( ( ( (  (! (" (# )3 ($ (% ( (& (J (' (( () (6 (* (+ (, (- (2 (. (/ (0 (1 (3 (4 (5 (7 (8 (9 (? (: (; (< (= (> (@ (A (B (E (C (D (F (G (H (I (K (L (M (N ( (O ( (P (l (Q (d (R (\ (S (V (T (Uu (W (Z (X (Yu ([u (] (a (^ (_ (`   (b (c (e (h (f (g (i (j (k  (m (~ (n (w (o (r (p (q  (s (u (t  (v  (x ({ (y (z (| (} ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (K ( ( (   (  ( (u (u ( ( ( (  ( (  ( ( ( (  4 ( ( ( ( ( ( ( ( ( ( (uF ( ( ( ( ( ( ( ( ( (  ( ( (|* ( ( ( ( ( ( ( ( ( ( ) ( ( ( ( ) ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (1 ( ( (1 (1 (1 ( (w (w (w ( (w ( ( ( ( ( ( ( ( (# ( ( ( ( (1 ( ( ( ) ( ( )$ ) )H ) ) )HH )H )H )  )  )  )  ) ) ) ) ) ) ) )+ ) ) ) )# ) )! ) ) ) ) ) ) )  )"  )$ )) )% )& )' )(|| )*  ), )- ). )/ )0 )1 )2  )4 )5 )6 )7 )8 )B )9 ): ); )< )= )> )? )@ )A )C )D )E )F )G )U )H )O )I )J )L )K )M )NuH1 )P )Q )Sw )R )T )V )_ )W )\ )X )Z )Y )[ )] )^ F )` )g )a )d )b )cu )e )fK  )h )i )jH  )l )m )n )o )p )r )x )s )t )u )v )w )y )z ){ )| )} ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )C ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )8 ) ) ) ) )8 ) * ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) * * * * * * * * * * * *  * *  *  *  * * * * * * * *q * *) * * * * * * * * * * *  *! *" *# *$ *% *& *' *( ** *^ *+ *, *= *- *. */ *0 *1 *2 *3 *4 *5 *6 *7 *8 *9 *: *; *<w *> *N *? *@ *A *B *C *D *E *F *G *H *I *J *K *L *M1 *O *P *Q *R *S *T *U *V *W *X *Y *Z *[ *\ *]g *_ *` *a *b *c *d *e *f *g *h *i *j *k *l *m *n *o *p *r *s *v *t *uH *w *| *x *y *z *{  *} *~ * * * * * * * * * * * * * * * * * * * * * * * * * * * * *8 * * * * * * +r * + * * * * * * * * * * * * *8 * * * * * * * * * * * * * * * * * * * * * * * * * *8 * * * * *8 * * * * * * *} * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * * * * + + + + + + + + + +  +  +  +  + + +A + +& + + + + + + + + + + + + + + + +! +" +# +$ +% +' +4 +( +. +) +* ++ +, +- +/ +0 +1 +2 +3 +5 +; +6 +7 +8 +9 +: +< += +> +? +@ +B +] +C +P +D +J +E +F +G +H +I +K +L +M +N +O +Q +W +R +S +T +U +V +X +Y +Z +[ +\ +^ +k +_ +e +` +a +b +c +d +f +g +h +i +j8 +l +m +n +o +p +q8 +s + +t + +u + +v + +w +} +x +y +z +{ +| +~ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + , + , + + + + + + + + +8 + + + + + + + + + + + + +$ + +$$K + + + + + , , , , , , , , , ,  ,  ,  ,  ,  , , , , , , ,C , , , , , , ,7 , ,* , ,$ , ,  ,! ," ,# ,% ,& ,' ,( ,) ,+ ,1 ,, ,- ,. ,/ ,0 ,2 ,3 ,4 ,5 ,6 ,8 ,E ,9 ,? ,: ,; ,< ,= ,> ,@ ,A ,B ,C ,D ,F ,L ,G ,H ,I ,J ,K ,M ,N ,O ,P ,Q ,S 1 ,T - ,U -$ ,V , ,W , ,X ,o ,Y ,f ,Z ,` ,[ ,\ ,] ,^ ,_ ,a ,b ,c ,d ,e ,g ,m ,h ,i ,j ,k ,l ,n ,p ,} ,q ,w ,r ,s ,t ,u ,v ,x ,y ,z ,{ ,|C ,~ , , , , , , , , , , , , , , , , , , , , , , , , , , , ,8 , , , , , , , , , , , , , , , , , , , , , , , , , ,8 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,8 , , , , , , - , , , , , , , , , , , , , , , - , , - - - - - - - - - - - - -  -  - - - - - - - -8 - - - - - - - - -  -! -" -# -% - -& -] -' -B -( -5 -) -/ -* -+ -, -- -. -0 -1 -2 -3 -4 -6 -< -7 -8 -9 -: -; -= -> -? -@ -A -C -P -D -J -E -F -G -H -I -K -L -M -N -O -Q -W -R -S -T -U -V -X -Y -Z -[ -\ -^ -y -_ -l -` -f -a -b -c -d -e -g -h -i -j -k -m -s -n -o -p -q -r -t -u -v -w -x8 -z - -{ -| -} -~ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - .c - ., - . - . - . - . . . . . . . . . 8 . . .  .  . . . . . . . . . .% . . . . . . . .  .! ." .# .$ .& .' .( .) .* .+ .- .H .. .; ./ .5 .0 .1 .2 .3 .4 .6 .7 .8 .9 .: .< .B .= .> .? .@ .A .C .D .E .F .G .I .V .J .P .K .L .M .N .O8 .Q .R .S .T .U .W .] .X .Y .Z .[ .\ .^ ._ .` .a .b .d 0w .e 0\ .f .s .g .m .h .i .j .k .l .n .o .p .q .r .t .z .u .v .w .x .y8 .{ .| .} .~ . . . 0) . /N . . . . . . . . .w .w . . . . . . .  .;  ; . . . .; . . . . . .w . . . . . . .w .w .;%;3 . .| .| .|8| . . .| .| . . .44 .4 . . . . . . .tU;A .| .  .;O  . . . . . . . .| .f . . .g .g .g .g .g .g .ggg . . .g . . . .g .g .g . . . . . . . .  . . . .  . . . . . . . . . . . . . . . .#3 . .B . . . . . . . .;l| .| / /# / / / / / / / / / / /` / /  / u / u /u;u / /u / / / / /u / / / / /;; / / /  / /! /"   /$H /% /H /& /: /' /0 /( /+ /) /*! /, /. /-; //;; /1 /6 /2 /4; /3FV /5nF /7 /9n /8n::R /; /F /< /A /= /? />. /@ /B /D /C^ /EU^UU /GU /IH /JHY /K /LH /MHֹH /O /P / /Q / /R /i /S /` /T /YH /U /V,H /WH /XL, /ZK /[ /], /\,Z /^K /_zZz /a1 /b1 /c /gK /d /e /fK* /h111 /j /k /u /l$ /m /o /n1 /p /r /q;= /s /t;< w /v / /w /| /x /z$ /y$uu /{* /} /~ / / / / /  / /m// / / /&<P /W / / / / / / / / / / / / / /b / /A<+ / / / / / /]s / / / /ˢT /Hu / / / / / / /> /> / / / /> /> / /<:<: 0B 0? 0@ 0A= 0C 0D 0F 0E 0G=! 0I 0J 0K 0W 0L 0P 0M 0N 0O$ 0Q 0T 0R 0S U 0U 0VH 0X 0Y 0Z 0[#,` 0] 0j 0^ 0d 0_ 0` 0a 0b 0c 0e 0f 0g 0h 0i 0k 0q 0l 0m 0n 0o 0p 0r 0s 0t 0u 0v 0x 0 0y 0 0z 0 0{ 0| 0} 0~ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0C 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0C 0 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1  1  1  1  1 1 1 1 1 1J 1 1/ 1 1" 1 1 1 1 1 1 1 1 1 1 1  1! 1# 1) 1$ 1% 1& 1' 1(g 1* 1+ 1, 1- 1. 10 19 11 13 12 14 15 16 17 18 1: 1@ 1; 1< 1= 1> 1?8 1A 1B 1C 1D 1E 1F$ 1G 1H$ 1I$|$ 1K 1r 1L 1i 1M 1S 1N 1O 1P 1Q 1R 1T 1U 1V 1W 1X 1Y 1Z 1[ 1\ 1] 1^ 1_ 1` 1a 1b 1c 1d 1e 1f 1g 1h 1j 1l 1k 1m 1n 1o 1p 1q 1s 1 1t 1z 1u 1v 1w 1x 1yC 1{ 1| 1} 1~ 1 1 1 1 1 1 1 1 1 1 1 1 18 1 3 1 2 1 2+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 18 1 1 1 1 18 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 18 1 1 1 1 1 1 1 1 1 1 1 18 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2  2 2 2 2  2  2 2 2 2 2 2 2 2 2 2 2 2 28 2 2% 2  2! 2" 2# 2$ 2& 2' 2( 2) 2* 2, 2_ 2- 2H 2. 2; 2/ 25 20 21 22 23 24 26 27 28 29 2: 2< 2B 2= 2> 2? 2@ 2A8 2C 2D 2E 2F 2G8 2I 2R 2J 2L 2K 2M 2N 2O 2P 2Q 2S 2Y 2T 2U 2V 2W 2X 2Z 2[ 2\ 2] 2^ 2` 2 2a 2h 2b 2c 2d 2e 2f 2g 2i 2 2j 2k 2l 2m 2n 2o 2p 2q 2r 2s 2t 2u 2v 2w 2x 2y 2z 2{ 2| 2} 2~ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 28 2 2 2 2 2 2 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 28 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2C 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3  3  3  3  3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3! 3R 3" 37 3# 30 3$ 3* 3% 3& 3' 3( 3) 3+ 3, 3- 3. 3/ 31 32 33 34 35 36 38 3E 39 3? 3: 3; 3< 3= 3>8 3@ 3A 3B 3C 3D 3F 3L 3G 3H 3I 3J 3K 3M 3N 3O 3P 3Q 3S 3n 3T 3a 3U 3[ 3V 3W 3X 3Y 3Z 3\ 3] 3^ 3_ 3` 3b 3h 3c 3d 3e 3f 3g 3i 3j 3k 3l 3m 3o 3| 3p 3v 3q 3r 3s 3t 3u 3w 3x 3y 3z 3{ 3} 3~ 3 3 3 3 3 4] 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 38 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 38 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4& 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 48 4 4 4 4  4  4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4! 4" 4# 4$ 4% 4' 4B 4( 45 4) 4/ 4* 4+ 4, 4- 4. 40 41 42 43 44 46 4< 47 48 49 4: 4;8 4= 4> 4? 4@ 4A 4C 4P 4D 4J 4E 4F 4G 4H 4I 4K 4L 4M 4N 4O8 4Q 4W 4R 4S 4T 4U 4V 4X 4Y 4Z 4[ 4\ 4^ 4 4_ 4 4` 4{ 4a 4n 4b 4h 4c 4d 4e 4f 4g 4i 4j 4k 4l 4m 4o 4u 4p 4q 4r 4s 4t8 4v 4w 4x 4y 4z 4| 4 4} 4 4~ 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 48 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 48 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 4 5 4 5 4 5 5 5 5 5 5 5 5 5  5 5 5  5  5 5 5 5 5 5! 5 5 5 5 5 5 5 5 5 5 5 5  5" 5( 5# 5$ 5% 5& 5' 5) 5* 5+ 5, 5- 5/ < 50 8 51 6 52 6& 53 5 54 5k 55 5P 56 5C 57 5= 58 59 5: 5; 5< 5> 5? 5@ 5A 5B 5D 5J 5E 5F 5G 5H 5I 5K 5L 5M 5N 5O 5Q 5^ 5R 5X 5S 5T 5U 5V 5W 5Y 5Z 5[ 5\ 5] 5_ 5e 5` 5a 5b 5c 5d 5f 5g 5h 5i 5j 5l 5 5m 5z 5n 5t 5o 5p 5q 5r 5s 5u 5v 5w 5x 5y 5{ 5 5| 5} 5~ 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5g 5 5  5 5 5 5 5 5 5 5 5 5 5 5 5g 5  5 5 5 5 58 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 58 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 58 5 6 6 6 6 6 6 6 6 6 6  6  6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6! 6" 6# 6$ 6% 6' 6 6( 6_ 6) 6D 6* 67 6+ 61 6, 6- 6. 6/ 60 62 63 64 65 66 68 6> 69 6: 6; 6< 6= 6? 6@ 6A 6B 6C 6E 6R 6F 6L 6G 6H 6I 6J 6K8 6M 6N 6O 6P 6Q 6S 6Y 6T 6U 6V 6W 6X8 6Z 6[ 6\ 6] 6^ 6` 6{ 6a 6n 6b 6h 6c 6d 6e 6f 6g 6i 6j 6k 6l 6m 6o 6u 6p 6q 6r 6s 6t 6v 6w 6x 6y 6z 6| 6 6} 6 6~ 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 68 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6C 6 6 6 6 6 6 6 6 6 6 6 6 6 68 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 6 7^ 6 7' 6 7 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7  7  7  7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7! 7 7 7 7 7  7" 7# 7$ 7% 7& 7( 7C 7) 76 7* 70 7+ 7, 7- 7. 7/ 71 72 73 74 75 77 7= 78 79 7: 7; 7< 7> 7? 7@ 7A 7B 7D 7Q 7E 7K 7F 7G 7H 7I 7J 7L 7M 7N 7O 7P8 7R 7X 7S 7T 7U 7V 7W 7Y 7Z 7[ 7\ 7] 7_ 7 7` 7{ 7a 7n 7b 7h 7c 7d 7e 7f 7g 7i 7j 7k 7l 7m 7o 7u 7p 7q 7r 7s 7t 7v 7w 7x 7y 7z 7| 7 7} 7 7~ 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 78 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 81 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7C 7 7 7 7 7 7 7 7 7 7 7 7 7 7T 7 7 7 7 7 7k 7 8 7 8 7 8 7 7 8 8 8 8 8 8 8 88 8 8 8  8  8  8 8 8 8 8 8 88 8 8$ 8 8 8 8 8 8 8 8 8  8! 8" 8# 8% 8+ 8& 8' 8( 8) 8* 8, 8- 8. 8/ 80 82 8i 83 8N 84 8A 85 8; 86 87 88 89 8: 8< 8= 8> 8? 8@ 8B 8H 8C 8D 8E 8F 8G 8I 8J 8K 8L 8M 8O 8\ 8P 8V 8Q 8R 8S 8T 8U 8W 8X 8Y 8Z 8[ 8] 8c 8^ 8_ 8` 8a 8b 8d 8e 8f 8g 8h 8j 8 8k 8x 8l 8r 8m 8n 8o 8p 8q 8s 8t 8u 8v 8w8 8y 8 8z 8{ 8| 8} 8~ 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 :T 8 9u 8 9 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 88 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8C 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9> 9 9# 9 9 9 9 9  9  9  9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9  9! 9" 9$ 91 9% 9+ 9& 9' 9( 9) 9* 9, 9- 9. 9/ 90 92 98 93 94 95 96 97 99 9: 9; 9< 9= 9? 9Z 9@ 9M 9A 9G 9B 9C 9D 9E 9F 9H 9I 9J 9K 9L 9N 9T 9O 9P 9Q 9R 9S 9U 9V 9W 9X 9Y 9[ 9h 9\ 9b 9] 9^ 9_ 9` 9a 9c 9d 9e 9f 9g 9i 9o 9j 9k 9l 9m 9n 9p 9q 9r 9s 9t 9v 9 9w 9 9x 9 9y 9 9z 9 9{ 9| 9} 9~ 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9C 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9C 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 : 9 : 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 : :8 : : : : : : : : :  :  :  :  : : : : : : : : : : : : : : : :9 : :, : :& :! :" :# :$ :% :' :( :) :* :+ :- :3 :. :/ :0 :1 :2 :4 :5 :6 :7 :8 :: :G :; :A :< := :> :? :@8 :B :C :D :E :F :H :N :I :J :K :L :M :O :P :Q :R :S8 :U ;. :V : :W : :X :s :Y :f :Z :` :[ :\ :] :^ :_ :a :b :c :d :e :g :m :h :i :j :k :l :n :o :p :q :rg :t : :u :{ :v :w :x :y :z :| :} :~ : : : : : : : : : : : : : : : : : : : : : : : :8 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :8 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : ; : ; : ; : : : : : : : : : ; ; ; ; ; ; ; ; ;  ;  ;  ;  ; ; ; ; ;8 ; ;! ; ; ; ; ; ; ; ; ; ; ; ; 8 ;" ;( ;# ;$ ;% ;& ;' ;) ;* ;+ ;, ;-C ;/ ; ;0 ;g ;1 ;L ;2 ;? ;3 ;9 ;4 ;5 ;6 ;7 ;88 ;: ;; ;< ;= ;> ;@ ;F ;A ;B ;C ;D ;E ;G ;H ;I ;J ;K ;M ;Z ;N ;T ;O ;P ;Q ;R ;S ;U ;V ;W ;X ;Y ;[ ;a ;\ ;] ;^ ;_ ;` ;b ;c ;d ;e ;f ;h ; ;i ;v ;j ;p ;k ;l ;m ;n ;o ;q ;r ;s ;t ;u ;w ;} ;x ;y ;z ;{ ;| ;~ ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;8 ; ; ; ; ; ; ; ; ; ; ; ;8 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;8 ; ; ; ; ; ; < ; ; ; ; ; ; ; ; ; ; ; ; < < < < < < < < <  <  <  <  < ?d < = < < <   =? =@ =A =B =D ={ =E =` =F =S =G =M =H =I =J =K =L =N =O =P =Q =R =T =Z =U =V =W =X =Y =[ =\ =] =^ =_ =a =n =b =h =c =d =e =f =g =i =j =k =l =m =o =u =p =q =r =s =t =v =w =x =y =z8 =| = =} = =~ = = = = = = = = = = = = = = = = = = = = = =Kuw =1g = = = = = = = = = = = = = = = = = = = = = = = = = = = = = > = >& = = = = = = = = = = = = = = = = = =8 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =8 = = = = = = > = = = = = = = = = > = = = = > > > > > > > > > > >  >  >  >  > > > > > > > > > > > > > > > > > >! >" ># >$ >% >' >X >( >C >) >6 >* >0 >+ >, >- >. >/ >1 >2 >3 >4 >5 >7 >= >8 >9 >: >; >< >> >? >@ >A >B8 >D >K >E >F >G >H >I >J >L >R >M >N >O >P >Q >S >T >U >V >W >Y >t >Z >g >[ >a >\ >] >^ >_ >` >b >c >d >e >f >h >n >i >j >k >l >m8 >o >p >q >r >sC >u >| >v >w >x >y >z >{ >} > >~ > > > > > > > > >8 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >8 > > > > > > > > > > > > > > > > > > > > > > > > > > > ?- > ? > ? > > > > > > > > > > > ? ? ? ? ? ? ? ? ?  ?  ?  ?  ?  ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?! ?' ?" ?# ?$ ?% ?&8 ?( ?) ?* ?+ ?, ?. ?I ?/ ?< ?0 ?6 ?1 ?2 ?3 ?4 ?58 ?7 ?8 ?9 ?: ?; ?= ?C ?> ?? ?@ ?A ?B ?D ?E ?F ?G ?H8 ?J ?W ?K ?Q ?L ?M ?N ?O ?P ?R ?S ?T ?U ?V8 ?X ?^ ?Y ?Z ?[ ?\ ?] ?_ ?` ?a ?b ?c8 ?e A ?f @? ?g ? ?h ? ?i ? ?j ?w ?k ?q ?l ?m ?n ?o ?p8 ?r ?s ?t ?u ?v ?x ?~ ?y ?z ?{ ?| ?} ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\ ? ? ? ? ?8 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?8 ? ? ? ? ? ? @ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? @ ? ? ? ? ? ? ? ? ? ? ? @ @ @ @ @ @ @ @ @  @  @  @  @  @ @$ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @  @! @" @# @% @2 @& @, @' @( @) @* @+ @- @. @/ @0 @1 @3 @9 @4 @5 @6 @7 @8 @: @; @< @= @> @@ @ @A @x @B @] @C @P @D @J @E @F @G @H @I @K @L @M @N @O @Q @W @R @S @T @U @V @X @Y @Z @[ @\ @^ @k @_ @e @` @a @b @c @d @f @g @h @i @j8 @l @r @m @n @o @p @q @s @t @u @v @w @y @ @z @ @{ @ @| @} @~ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @8 @ @ @ @ @ @ @ @ @8 @ @ @ @ @8 @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @8 @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @8 @ A @ A A A A A A A A A A  A  A A A  A A A A A A A A A A B A A A A A A7 A A* A A$ A A  A! A" A# A% A& A' A( A) A+ A1 A, A- A. A/ A08 A2 A3 A4 A5 A6 A8 AE A9 A? A: A; A< A= A> A@ AA AB AC AD AF A AG AH AI A AJ A AK Am AL AM AN AO AP AQ AR AS AT AU AV AW AX Af AY A_ AZ A\ A[w A] A^ g A` Ac Aa AbU Ad AeKu Ag Ah Ak Ai Aj| HY Al$ An` Ao Ap Aq Ar As At Au Av Aw Ax Ay Az A{ A A| A A} A~g  1 A A A Au A A   A A AwT A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A  A A A1 A A A Awu A A A A A A A{C A A A A A8 A A A A A A A A A A A A A A A A A A A A A A A A A A8 A B A B A A A A A A A A A A A A A A A A A A A A A A A A A A B B Bp B B7 B B B B B B B B B Bun B B ^ B B B B BwT B B B B B BP B Bqm4 B B BYu B B* B B' B! B$ B" B#/ B% B&> B( B) B+ B0 B, B. B-H| B/H B1 B4 B2 B3 B5 B6& B8 BU B9 BG B: B@ B; B> B< B=  B?  BA BD BB BCww BE BFu|*u BH BN BI BK BJ  BL BM |  BO BR BP BQK BS BT| BV Bd BW B^ BX B[ BY BZ B\ B] B_ Bb B` Ba$1 Bcg Be Bk Bf Bh Bg# Bi Bj1HUw Bl Bn Bmg BoY Bq Br Bs Bt B{ Bu Bx Bv Bw u By Bz: B| B B} B~$ B B q B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B8 B B B B B B B B B B B B B B B B B B C B C B B B B B B B B B B B B B B B B B B B B B B B8 B B B B B B C B B B B B B B8 B B B B B C C C C C C C C# C C C C C  C  C  C C8 C C C C C C C C C C C C C C C  C! C"8 C$ C C% C& C' C( C) C* C+ C, C- C. C C/ C C0 Cu C1 CP C2 C> C3 C4 C5 C6 C7 C8 C9 C< C: C;# C=# C? CG C@ CA CB CC CD CE CF$ CH CI CJ CK CL CM CN COUU CQ Cc CR C[ CS CT CU CV CW CX CY CZ>> C\ C] C^ C_ C` Ca Cb1 Cd Cl Ce Cf Cg Ch Ci Cj Ck Cm Cn Co Cp Cq Cr Cs Ct Cv Cw C Cx Cy Cz C{ C| C} C~ C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C D" C D C C C C C C C C C C C C C C C C C C C C C C C C C  C C C C C C C C C C C C C C C C C C C C C C C C C C C C C1 C D C C C C D D D D D D D D D D D  D  D  D  D D D D D D D D D D D D D D D D D  D! D# D> D$ D1 D% D+ D& D' D( D) D* D, D- D. D/ D0 D2 D8 D3 D4 D5 D6 D7 D9 D: D; D< D= D? DL D@ DF DA DB DC DD DE DG DH DI DJ DK DM DS DN DO DP DQ DR DT DU DV DW DX DZ SL D[ K D\ H D] F D^ E D_ E6 D` E Da D Db Do Dc Di Dd De Df Dg Dh8 Dj Dk Dl Dm Dn Dp D Dq Dr Dv Ds Dt Du Dw Dx Dy Dz D D{ D D| D D} D~ D D D D D D D\ D\ D D\ D\ D\ D D\ D\\ D\ D D D\ D D\ D D\ D D\ D\ D D\ D D D D D D\ D\\ D D D\\ D D D D D D D D\ D D\ D D D D\ D D D D D D D D D D D D D D D D D\ D\ D D D D\ D\\ D D D\ D\ D\ D\\ D D D\\ D D D D D\ D\\ D\\ D D D D D\\ D D D D D D D D D D D D D D8 D D D D D D D D D D D D8 D D E E E E E E E E E E E E  E  E  E  E E E E E E E E E E E E E E E E8 E E) E! E' E" E# E$ E% E& E( E* E0 E+ E, E- E. E/ E1 E2 E3 E4 E5 E7 En E8 ES E9 EF E: E@ E; E< E= E> E? EA EB EC ED EE EG EM EH EI EJ EK EL EN EO EP EQ ER ET Ea EU E[ EV EW EX EY EZ E\ E] E^ E_ E` Eb Eh Ec Ed Ee Ef Eg Ei Ej Ek El Em Eo E Ep E} Eq Ew Er Es Et Eu Ev Ex Ey Ez E{ E| E~ E E E E E E8 E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E EB E E| E E E Eu E E E E E E E E E E| E EP E E E E E EU# E E E E E E#H E E| E E E E  E E: E E E E E E E E E# E E E E E E E Emֹ= E E|n E E Eֹ E E|*z= E E E E E E E E E E E En E E E E E E E8 F Fo F F8 F F F F F F F F F F F  F  F  F  F F F F F F F F F F F F F F F F+ F F% F  F! F" F# F$ F& F' F( F) F* F, F2 F- F. F/ F0 F1 F3 F4 F5 F6 F7 F9 FT F: FG F; FA F< F= F> F? F@8 FB FC FD FE FF FH FN FI FJ FK FL FM FO FP FQ FR FS FU Fb FV F\ FW FX FY FZ F[ F] F^ F_ F` Fa Fc Fi Fd Fe Ff Fg Fh Fj Fk Fl Fm Fn Fp F Fq F Fr F Fs Fy Ft Fu Fv Fw Fx Fz F{ F| F} F~ F F F F F F F F F F F F F F F F F F F F F F F F F F F8 F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F FC F F F F F F F F FC F F F F F F F F F F F F F F F F F F G F GI F G F F F F F F F F F F F F F F F F F F F F F F F8 F F F F F F G F F F F F F F G G G G G G G G G G  G  G  G  G G G G G G. G G! G G G G G G G G G G G G  G" G( G# G$ G% G& G' G) G* G+ G, G- G/ G< G0 G6 G1 G2 G3 G4 G5 G7 G8 G9 G: G; G= GC G> G? G@ GA GB GD GE GF GG GH GJ G GK Gf GL GY GM GS GN GO GP GQ GR GT GU GV GW GX GZ G` G[ G\ G] G^ G_ Ga Gb Gc Gd Ge Gg Gt Gh Gn Gi Gj Gk Gl Gm Go Gp Gq Gr Gs Gu G{ Gv Gw Gx Gy Gz G| G} G~ G G8 G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G H( G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G H G H G G G G G G G G G G G G H H H H H H H H H  H  H  H  H H H H H H H H H H H H H H H H" H H H H  H! H# H$ H% H& H' H) H` H* HE H+ H8 H, H2 H- H. H/ H0 H1 H3 H4 H5 H6 H7 H9 H? H: H; H< H= H> H@ HA HB HC HD HF HS HG HM HH HI HJ HK HL8 HN HO HP HQ HR8 HT HZ HU HV HW HX HY8 H[ H\ H] H^ H_ Ha H| Hb Ho Hc Hi Hd He Hf Hg Hh Hj Hk Hl Hm Hn Hp Hv Hq Hr Hs Ht Hu Hw Hx Hy Hz H{ H} H H~ H H H H H8 H H H H H H H H H H H H H J= H I` H H H H H H H H H H H H H H HC H H H H H H H H H H H H H H H H H8 H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H I/ H I H I H I H H H H I I I I I I I I I  I  I  I  I  I I I I I I I" I I I I I I I8 I I I I  I! I# I) I$ I% I& I' I( I* I+ I, I- I. I0 IE I1 I8 I2 I3 I4 I5 I6 I7 I9 I? I: I; I< I= I> I@ IA IB IC ID IF IS IG IM IH II IJ IK IL8 IN IO IP IQ IR IT IZ IU IV IW IX IY I[ I\ I] I^ I_ Ia I Ib I Ic I~ Id Iq Ie Ik If Ig Ih Ii Ij Il Im In Io Ip Ir Ix Is It Iu Iv Iw8 Iy Iz I{ I| I} I I I I I I I I I8 I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I8 I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I J I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I8 I I I I I I J I I I I I J J J J J J J" J J J J J  J  J  J  J J J J J J J J J J J J J J J J J  J! J# J0 J$ J* J% J& J' J( J) J+ J, J- J. J/ J1 J7 J2 J3 J4 J5 J6 J8 J9 J: J; J< J> K J? J J@ Jw JA J\ JB JO JC JI JD JE JF JG JH JJ JK JL JM JN JP JV JQ JR JS JT JU JW JX JY JZ J[ J] Jj J^ Jd J_ J` Ja Jb Jc Je Jf Jg Jh Ji Jk Jq Jl Jm Jn Jo Jp Jr Js Jt Ju Jv Jx J Jy J Jz J J{ J| J} J~ J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J8 J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J K J K J K K K K K K K K K  K K K  K  K K K K K K K K K K{ K KJ K K/ K K" K K K K K  K!8 K# K) K$ K% K& K' K( K* K+ K, K- K. K0 K= K1 K7 K2 K3 K4 K5 K6 K8 K9 K: K; K< K> KD K? K@ KA KB KC KE KF KG KH KI KK Kf KL KY KM KS KN KO KP KQ KR KT KU KV KW KX8 KZ K` K[ K\ K] K^ K_ Ka Kb Kc Kd Ke8 Kg Kt Kh Kn Ki Kj Kk Kl Km Ko Kp Kq Kr Ks Ku Kv Kw Kx Ky Kz K| K K} K K~ K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K8 K K K K K K K K K K K K K O K M K L K Lw K L K L K K K K K K K K K K K K K K K K K K K L L L L L L L L L L8 L  L  L  L  L L L L L L L L L L L L L L L8 L L+ L L% L  L! L" L# L$ L& L' L( L) L* L, L2 L- L. L/ L0 L1 L3 L4 L5 L6 L78 L9 Lj L: Ld L; L< L= L> L? L@ LA8 LB8 LC8 LD8 LE8 LF8 LG8 LH8 LI8 LJ8 LK8 LL8 LM8 LN8 LO8{C LP8 LQ8 LR LS8 LT8 LU8 LV8 LW8 LX8 LY8 LZ8 L[8 L\ L`8 L]8 L^8 L_8{C La88 Lb8 Lc{C8 Le Lf Lg Lh Li Lk Lq Ll Lm Ln Lo Lp Lr Ls Lt Lu Lv Lx L Ly L Lz L L{ L L| L} L~ L L L L L L L L L L L L L L8 L L L L L L L L L L L L L L L L L L L L L L L L L L8 L L L L L8 L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L MJ L M L L L L L L L L L L L L L L L L L L L L L L L L L L L L L M M M M M M M M M M M  M  M  M M M M M M M8 M M M M M M M5 M M( M M" M M M M  M! M# M$ M% M& M' M) M/ M* M+ M, M- M. M0 M1 M2 M3 M4 M6 MC M7 M= M8 M9 M: M; M< M> M? M@ MA MB MD ME MF MG MH MI MK M| ML Ma MM MZ MN MT MO MP MQ MR MS8 MU MV MW MX MY M[ M\ M] M^ M_ M` Mb Mo Mc Mi Md Me Mf Mg Mh Mj Mk Ml Mm Mn Mp Mv Mq Mr Ms Mt Mu Mw Mx My Mz M{8 M} M M~ M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M N M Nh M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M N M M M M M M M M M M M M M M M M M M M M M N N N N N N[ N NU N N N  N  N  N  N 8 N8 N8 N8 N8 N8 N N< N8 N88 N8 N N8 N8 N8 N8 N N, N88 N N88 N N!88 N"8 N# N$8 N%88 N&8 N' N(88 N)8 N*8 N+8} N-8 N.8 N/8 N08 N188 N28 N38 N48 N5 N68 N78 N88 N988 N: N;88} N=8 N>8 N?8 N@8 NA8 NB8 NC8 ND88 NE NF8 NG88 NH8 NI NJ8 NK8 NL8 NM8 NN8 NO8 NP8 NQ8 NR8 NS8 NT8}8 NV NW NX NY NZ8 N\ Nb N] N^ N_ N` Na Nc Nd Ne Nf Ng Ni N Nj N Nk Nx Nl Nr Nm Nn No Np Nq Ns Nt Nu Nv Nw Ny N Nz N{ N| N} N~ N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N O4 N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N8 N N N N N N NC N N N N N N O N O O O O O O O O O O O  O  O  O O O O O O O O O O O O O O' O O! O O O O O  O" O# O$ O% O&C O( O. O) O* O+ O, O- O/ O0 O1 O2 O3 O5 Ol O6 OQ O7 OD O8 O> O9 O: O; O< O= O? O@ OA OB OC OE OK OF OG OH OI OJ OL OM ON OO OP OR O_ OS OY OT OU OV OW OX OZ O[ O\ O] O^ O` Of Oa Ob Oc Od Oe Og Oh Oi Oj Ok Om O On O{ Oo Ou Op Oq Or Os Ot8 Ov Ow Ox Oy Oz O| O O} O~ O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O Q O Pa O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O P0 O P O P O P O O O P P P P P P P P P P  P  P  P  P P P P P P P P# P P P P P P P8 P P P  P! P" P$ P* P% P& P' P( P) P+ P, P- P. P/ P1 PL P2 P? P3 P9 P4 P5 P6 P7 P8 P: P; P< P= P> P@ PF PA PB PC PD PE8 PG PH PI PJ PK PM PZ PN PT PO PP PQ PR PS PU PV PW PX PY P[ P\ P] P^ P_ P` Pb Q Pc P Pd P Pe Pr Pf Pl Pg Ph Pi Pj Pk Pm Pn Po Pp Pq Ps Py Pt Pu Pv Pw Px Pz P{ P| P} P~ P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P8 P P P P P P P P P P P P P P P Q P P P P P P P P P P P P P P P P P P P P P P P P P P P P  P P| P P P P P P| P PUu P P P Pg$ P| P Q P Q P P P P P PgnY P PP P P P P||* P Quz Q Q Q Q Q Qֹ=m Q Q Q Q Q Q ^4 Qw Q Q Q Qw Qw Q Q Q QH Q Q Q Q Q Q Q! QX Q" Q= Q# Q0 Q$ Q* Q% Q& Q' Q( Q) Q+ Q, Q- Q. Q/ Q1 Q7 Q2 Q3 Q4 Q5 Q68 Q8 Q9 Q: Q; Q< Q> QK Q? QE Q@ QA QB QC QD QF QG QH QI QJ8 QL QR QM QN QO QP QQ QS QT QU QV QW QY Qt QZ Qg Q[ Qa Q\ Q] Q^ Q_ Q` Qb Qc Qd Qe Qf Qh Qn Qi Qj Qk Ql Qm8 Qo Qp Qq Qr QsC Qu Q Qv Q| Qw Qx Qy Qz Q{ Q} Q~ Q Q Q Q Q Q Q Q Q Q8 Q Q Q Q Q Q Rm Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q8 Q Q Q Q Q Q Q Q Q8 Q Q Q Q Q Q Q Q Q Q Q Q R8 Q R Q R Q Q Q Q Q Q Q Q R R R R R R R R R R  R  R  R  R R R R R R R R R R R R R R R R R+ R R% R  R! R" R# R$ R& R' R( R) R*8 R, R2 R- R. R/ R0 R1 R3 R4 R5 R6 R7 R9 RX R: RG R; RA R< R= R> R? R@8 RB RC RD RE RF RH RN RI RJ RK RL RM RO RP RQ RR RS RT RU RV RW RY Rf RZ R` R[ R\ R] R^ R_ Ra Rb Rc Rd Re Rg Rh Ri Rj Rk Rl Rn R Ro R Rp R Rq R~ Rr Rx Rs Rt Ru Rv Rw Ry Rz R{ R| R} R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R8 R R R R R R R R R R R R R R R R R R S R R R R R R R R R R R R R R R R R R R R R R R R R R R R R S R S R R R S S S S S S S S S S  S  S  S  S S S S S S S S1 S S$ S S S S S S S8 S S  S! S" S# S% S+ S& S' S( S) S* S, S- S. S/ S0 S2 S? S3 S9 S4 S5 S6 S7 S8 S: S; S< S= S> S@ SF SA SB SC SD SE SG SH SI SJ SK SM W SN U SO T SP T? SQ S SR S SS Sn ST Sa SU S[ SV SW SX SY SZ S\ S] S^ S_ S` Sb Sh Sc Sd Se Sf Sg Si Sj Sk Sl Sm So S Sp Sv Sq Sr Ss St Su Sw Sx Sy Sz S{ S| S} S~ S S S S S S S S S S S S S S S S S S S S S S S S S S S8 S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S8 S S S S S S S S S S S S S S S S S S S S S S S S S8 S S S S S S S S S S S S S S S S S S S S S S S S S8 S T S T S S S S S S S S S T T T T T T T T T T  T  T  T  T T T T2 T T, T T T T T T T8 T8 T8 T8 T8 T8 T88 T T!8 T"8 T#8 T$8 T% T* T& T( T'{C8{C T){C{C T+8{C8 T- T. T/ T0 T1 T3 T9 T4 T5 T6 T7 T8 T: T; T< T= T> T@ T TA Td TB TQ TC TJ TD TE TF TG TH TI TK TL TM TN TO TP8 TR TY TS TT TU TV TW TX TZ T[ T\ T] T^ T_ T` Ta Tb Tc Te Tt Tf Tm Tg Th Ti Tj Tk Tl Tn To Tp Tq Tr TsC Tu T| Tv Tw Tx Ty Tz T{ T} T~ T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T8 T T T T T T T T UI T U T U T T T T T T T T T T T T T T Tg T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T U U U U U U U U U U U  U  U  U  U U U U U U U U U U U1 U U" U U U U U U  U! U# U* U$ U% U& U' U( U)8 U+ U, U- U. U/ U0 U2 UA U3 U: U4 U5 U6 U7 U8 U9 U; U< U= U> U? U@ UB UC UD UE UF UG UH UJ U~ UK Uc UL U[ UM UT UN UO UP UQ UR US UU UV UW UX UY UZ8 U\ U] U^ U_ U` Ua Ub8 Ud Us Ue Ul Uf Ug Uh Ui Uj Uk Um Un Uo Up Uq Ur Ut Uw Uu Uv Ux Uy Uz U{ U| U} U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U V U V0 U U U U U U U U U U U U U U8 U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U UC U V U V U U U U U U U U U U U U V V V V V V V V V V  V  V  V  V V V V V! V V V V V V V V V V V V V V  V" V) V# V$ V% V& V' V( V* V+ V, V- V. V/ V1 Vy V2 Vh V3 VY V4 V; V5 V6 V7 V8 V9 V: V< V= V> V? V@ VA VB VC VD VE VF VG VH VI VJ VK VR VL VM VN VO VP VQ\ VS VT VU VV VW VX\ VZ Va V[ V\ V] V^ V_ V` Vb Vc Vd Ve Vf Vg Vi Vq Vj Vk Vl Vm Vn Vo Vp Vr Vs Vt Vu Vv Vw Vx Vz V V{ V V| V V} V~ V V V VC V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V8 V V V V V V V V V V V V V V V V V V V V V W* V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V W V W V V V V V V V V V V V W W W W W W W W W W  W  W  W  W W W W W W" W W W W W W W W W W W W W  W! W# W$ W% W& W' W( W) W+ Wj W, WK W- W< W. W5 W/ W0 W1 W2 W3 W4 W6 W7 W8 W9 W: W; W= WD W> W? W@ WA WB WC8 WE WF WG WH WI WJ8 WL W[ WM WT WN WO WP WQ WR WS WU WV WW WX WY WZ W\ Wc W] W^ W_ W` Wa Wb Wd We Wf Wg Wh Wi Wk Wt Wl Wm Wn Wo Wp Wq Wr Ws8 Wu W Wv W} Ww Wx Wy Wz W{ W|8 W~ W W W W W W W W W W W W W W W W W W W8 W Yf W Xd W X W W W W W W W W W W W W W W8 W W W W W W W W W W W W W W W W W W W W8 W W W W W W W W W W W W W W W W8 W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W X X2 X X X X X X X X X X X  X  X  X  X X X X X X X X X X X X X* X X# X X X X  X! X"8 X$ X% X& X' X( X) X+ X, X- X. X/ X0 X1 X3 XN X4 XC X5 X< X6 X7 X8 X9 X: X; X= X> X? X@ XA XB XD XK XE XF XG XH XI XJ XL XM XO X^ XP XW XQ XR XS XT XU XV XX XY XZ X[ X\ X]8 X_ X` Xa Xb Xc Xe X Xf X Xg X Xh Xp Xi Xj Xk Xl Xm Xn Xo Xq Xx Xr Xs Xt Xu Xv Xw Xy Xz X{ X| X} X~ X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X8 X X X X X X X X X X X X X X X X X X X X X X X X X X X X8 X8 X8 X8 X8 X88 X8 X X8 X8 X8 X8 X8 X88 X8 X X8 X8 X8 X8 X88 X X8 X88 X8 X8 X8 X X88 X X88{C X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X8 X X X X X X X Y' X Y Y Y Y Y Y Y Y Y Y8 Y Y Y  Y  Y  Y  Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y! Y" Y# Y$ Y% Y& Y( YG Y) Y8 Y* Y1 Y+ Y, Y- Y. Y/ Y0 Y2 Y3 Y4 Y5 Y6 Y7 Y9 Y@ Y: Y; Y< Y= Y> Y? YA YB YC YD YE YF YH YW YI YP YJ YK YL YM YN YO8 YQ YR YS YT YU YV YX Y_ YY YZ Y[ Y\ Y] Y^ Y` Ya Yb Yc Yd Ye Yg ZC Yh Y Yi Y Yj Y Yk Yz Yl Ys Ym Yn Yo Yp Yq Yr Yt Yu Yv Yw Yx Yy8 Y{ Y| Y} Y~ Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Z Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y8 Y Y Y Z Z Z Z8 Z Z$ Z Z Z Z Z Z  Z  Z  Z  Z  Z Z Z Z Z Z Z Z Z Z Z Z Z Z8 Z Z Z  Z! Z" Z# Z% Z4 Z& Z- Z' Z( Z) Z* Z+ Z,8 Z. Z/ Z0 Z1 Z2 Z3 Z5 Z< Z6 Z7 Z8 Z9 Z: Z; Z= Z> Z? Z@ ZA ZB8 ZD _ ZE \ ZF [ ZG [ ZH Z ZI Zh ZJ ZY ZK ZR ZL ZO ZM ZN ZP ZQ ZS ZV ZT ZU ZW ZX ZZ Za Z[ Z^ Z\ Z] Z_ Z` Zb Ze Zc Zd Zf Zg Zi Zx Zj Zq Zk Zn Zl Zm8 Zo Zp Zr Zu Zs Zt Zv Zw Zy Z Zz Z} Z{ Z| Z~ Z Z Z Z Z Z Z8 Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z8 Z Z Z Z Z Z Z Z Z Z Z Z Z8 Z Z Z Z Z Z Z Z Z Z8 Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Zg Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Zg Z Z Z Z Z Z Z Z Z Z Z [ [= [ [ [ [ [ [ [ [ [ [ [  [  [ [ [  [ [ [8 [ [ [ [ [ [ [ [ [ [ [ [ [. [ [' [! [$ [" [# [% [& [( [+ [) [* [, [- [/ [6 [0 [3 [1 [2 [4 [5 [7 [: [8 [9 [; [< [> [e [? [\ [@ [U [A [R [B [C [D [E [F [G [L [H [I [J [Ku [M [N [O [P [Q [S [T [V [Y [W [X [Z [[ [] [a [^ [_ [` [b [c [d [f [u [g [n [h [k [i [j [l [m [o [r [p [q [s [t [v [} [w [z [x [y [{ [| [~ [ [8 [ \ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [H [ [H [ [ [  [ [ [ [ [ [ [ [ [ [ [ [ [ H [ [ [ [ [ [ [ [8 [ [ [ [8 [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ \ [ [ [ [ [ [8 [ [ [ [ [ [ \ \ \ \ \ \ \ \f \ \ \ \ \ \ \ \  \ \ \ \ \ \ \ \ \ \ \ \ \ \8 \ \W \ \' \! \$ \" \# \% \& \( \+ \) \* \, \- \. \/ \0 \1 \2 \3 \4 \5 \6 \7 \8 \9 \R \: \N \; \< \= \> \? \@ \A \B \C \D \E \F \G \H \I \J \K \L \M \O \P \Q \S \T \U \V \X \_ \Y \\ \Z \[ \] \^ \` \c \a \b \d \e \g \ \h \w \i \p \j \m \k \l \n \o \q \t \r \s \u \v \x \ \y \z \{ \| \} \~ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \w w \ \ \  \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \8 \ \ \ \ \8 \ \ \ \ \ \ \ ^( \ ] \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ] \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ] \ ] \ ] ] ]8 ] ] ] ] ] ] ] ] ] ]  ]  ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ]  ]! ]" ]# ] ]$ ]% ]u ]& ]k ]' ]V ]( ]N ]) ]7 ]* ]+ ], ]3 ]- ]. ]0 ]/ ]1 ]2 ]4 ]5 ]6  ]8 ]9 ]: ]; ]< ]= ]> ]? ]@ ]A ]B ]C ]D ]E ]F ]G ]H ]I ]J ]K ]L ]M ]O ]P ]Q ]R ]S ]T ]Ug ]W ]_ ]X ]Y ]Z ][ ]\ ]] ]^g ]` ]a ]b ]c ]g ]d ]e ]fg ]h ]i ]jg ]l ]m ]n ]o ]p ]q ]r ]s ]t ]v ]w ]x ]y ]z ]{ ]| ]} ]~ ] ] ] ] ] ] ] ] ] ] ] ] ] ]g ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ]8 ] ]8 ]8 ]8 ]8 ]8 ]8 ]8 ]8 ]8 ]8 ]8 ]8 ]88 ] ]8 ]8 ]8 ]8 ]8 ]8 ]8 ]8 ]8 ]8 ]8 ]8 ]8 ]8 ]8 ]8}8 ] ] ] ] ] ] ] ] ] ]8 ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ^ ] ^ ] ] ] ] ] ] ] ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^  ^  ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^! ^ ^ ^ ^ ^ ^  ^" ^% ^# ^$ ^& ^' ^) ^ ^* ^g ^+ ^N ^, ^? ^- ^4 ^. ^1 ^/ ^0 ^2 ^3 ^5 ^< ^6 ^7 ^8 ^9 ^: ^; ^= ^> ^@ ^G ^A ^D ^B ^C ^E ^F ^H ^K ^I ^J ^L ^M ^O ^X ^P ^T ^Q ^R ^S ^U ^V ^W ^Y ^` ^Z ^] ^[ ^\ ^^ ^_ ^a ^d ^b ^c ^e ^f ^h ^ ^i ^w ^j ^q ^k ^n ^l ^m ^o ^p ^r ^u ^s ^t ^v8 ^x ^ ^y ^| ^z ^{ ^} ^~ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^8 ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^  ^ ^ ^ ^ ^H ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^g ^  ^ ^ ^ ^g ^ ^8 ^ ^ ^ ^ ^ ^ ^ _ ^ _ ^ _ _ _ _ _ _ _ _  _  _  _ _ _ _ _ _ _ _w _ _ _ _ _ _  _ _f _ _( _ _! _ _ _  _" _% _# _$ _& _'8 _) __ _* _\ _+ _, _- _. _/ _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _> _: _; _< _=gg _? _V _@ _S _A _R _Bw _C1 _D1 _E1 _F1 _G1 _H1 _I1 _J1 _K1 _L1 _M1 _N1 _O11 _P _Q11 _T _U g _W _Y _X _Z _[gg _] _^ _` _c _a _b _d _e _g _v _h _o _i _l _j _k _m _n _p _s _q _r _t _u _w _~ _x _{ _y _z _| _} _ _ _ _ _ _ _ e _ ` _ `2 _ _ _ _ _ _ _ _ _ _ _ _8 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _C _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _8 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _g _ _ _ _ _ _g _ _ _ ` _ _ _ _ _ _ _ _ _ ` _ _ ` ` ` ` ` ` ` ` `  `  ` ` `  `8 ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` `  `! `" `# `$ `% `& `' `( `) `* `+ `, `- `. `/ `0 `1U `3 `c `4 `P `5 `A `6 `= `7 `: `8 `9 `; `< `> `? `@ `B `I `C `F `D `E `G `H `J `M `K `L `N `O8 `Q `Z `R `V `S `T `U `W `X `Y `[ `_ `\ `] `^ `` `a `b `d ` `e `q `f `j `g `h `i `k `n `l `m8 `o `p `r `y `s `v `t `u `w `x `z `} `{ `| `~ ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` a ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` `8 ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` `8 ` ` ` ` ` ` ` ` ` a a a a a a a a a a a a a a a a  a  a a a a a a a ax a a3 a a a a a a a a a1 a a% a a! a" a$ a# a& a, a' a( a* a)11 a+1 a- a. a/H a0HH a21 a4 a^ a5 a6 a7 a8 a9 a: aX a; aL a< aB a= a> a? a@  aA  aC aD aG aE aF aH aK aI aJ    aM aS aN aO aP aQ aR   aTu aU aV aW aY aZ a] a[ a\Ku  a_ a` aa ab as ac ak ad ae af ag ah ai ajg al am an ao ap aq arg at au av awg ay az a{ a| a} a~ a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a ex a ei a a a a a a a a a eV a a a dB a bm a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a bD a a a b b b b- b b b b b b b b  b  b  b  b b b b b b b b b b b b b b b b b b b  b! b" b# b$ b% b& b' b( b) b* b+ b, b. b/ b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b: b; b< b= b> b? b@ bA bB bC bE bM bF bG bH bI bJ bK bLg bN bO bP bi bQ bR bS bT bU bV bW bX bY bZ b[ b\ b] b^ b_ b` ba bb bc bd be bf bg bh bj bk bl bn c& bo c bp bq b br bs bt bu bv bw bx by bz b{ b| b} b~ b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b c c c c c c c c c c  c  c  c c c c c c c c c c c c c c c c c c c c  c! c" c# c$ c% c' c c( cj c) cD c* c+ c, c- c. c/ c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 c: c; c< c= c> c? c@ cA cB cC cE cF cG cH c_ cI cJ c^ cK cU cL cM cN cR cO cP cQ cS cT cV cW cX cY cZ c[ c\ c] c` cg ca cb cc cd ce cf ch ci ck c cl cm cn co cp cq cr cs ct cu cv cw cx cy cz c{ c| c} c~ c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c d& c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c d c c c c c c c c c c c d d d d d d d d d d  d  d  d  d d d d d d d d d d d d d d d d d d d  d! d" d# d$ d% d' d( d) d* d+ d, d- d. d/ d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 d: d; d< d= d> d? d@ dA dC e dD dE dF d dG d dH db dI dJ dK dL dM dN dO dP dQ dR dS dT dU dV dW dX dY dZ d[ d\ d] d^ d_ d` da dc d| dd de df dg dh di dj dk dl dm dn do dp dq dr ds dt du dv dw dx dy dz d{ d} d~ d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d e e e9 e e e e e e e e  e  e  e e  e e e e e e e e e e e e e e e e e e  e! e" e# e$ e% e& e' e( e) e* e+ e, e- e. e/ e0 e1 e2 e3 e4 e5 e6 e7 e8 e: e; e< e= e> e? e@ eA eB eC eD eE eF eG eH eI eJ eK eL eM eN eO eP eQ eR eS eT eU eW eX eY eZ e[ e\ e] e^ e_ e` ea eb ec ed ee ef eg ehg ej eq ek en el em eo ep er eu es et ev ew ey e ez e~ e{ e| e} e e e e e e8 e e e e e e e e e e e e e e e f e f e e e e e e e e e e e e e e e e e e8 e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e8 e e8 e e e e e e e e e e e e e e e e e e e e e e e e f e e e e e e e e88 e[8 e e e f e e e e f f f f f f f f f  f  f f f f f f f f f f f f f f8 f fM f f1 f f% f f f" f  f! f# f$ f& f* f' f( f) f+ f. f, f- f/ f0 f2 f> f3 f: f4 f7 f5 f6 f8 f9 f; f< f= f? fF f@ fC fA fB fD fE fG fJ fH fI fK fL8 fN fg fO fX fP fT fQ fR fS fU fV fW fY f` fZ f] f[ f\ f^ f_ fa fd fb fc fe ff fh f fi f fj f fk fl fm fn fo fp fq fr fs ft fz fu fw fv  fx fy$ f{ f} f| f~1g f f f f f f f f f f f f f f f f f f f f f f f gE f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f g) f f f f f f f f f f8 f f f f f f f f f f f f f f f f f f f f f f g" f f f f g g g8 g g8 g88 g8 g8 g g 8 g 8 g 88 g g 88 g8 g8 g8 g g8 g88 g g88 g g88 g8 g8 g g8 g8 g8 g8 g8 g 8 g!88 g# g& g$ g%8 g' g( g* g9 g+ g2 g, g/ g- g. g0 g18 g3 g6 g4 g5 g7 g8 g: gA g; g> g< g= g? g@ gB gC gD gF g gG gg gH g[ gI gT gJ gM gK gL gN gO gP gQ gR gS gU gX gV gW gY gZ g\ g` g] g^ g_ ga gd gb gc ge gf gh gw gi gp gj gm gk gl gn go gq gt gr gs gu gv gx g gy g| gz g{ g} g~ g g g g g g8 g g g g g g g g g g g g g g g g g g g g g g g g8 g g g g g g g g g g8 g g g g g g g g g g g g g g8 g g g g g g g g8 g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g h g g h g g g g g g g g g g g g g g h h h h h h h h h h h h h  h  h h h h h h h h h h h h h h h h  h! h" h# h$ h% h& h' h( h) h h* hf h+ hJ h, h; h- h4 h. h1 h/ h08 h2 h3 h5 h8 h6 h7 h9 h: h< hC h= h@ h> h? hA hB hD hG hE hF hH hI8 hK hZ hL hS hM hP hN hO hQ hR hT hW hU hV hX hY h[ hb h\ h_ h] h^ h` ha hc hd he8 hg h hh h hi h} hj hk hl hm hn ho hp hq hr hs ht hu hv hw hx hy hz h{ h|u h~ h h8 h h h h h h h h h h h h h h h h h h h h h h h h h h h hgg h h h h hg hg h h h h h h h h h hg hg hg h h h h h h hg h hgg h h hgg h h h h h h h h h h hg h h h h h h h h h h h h h h h h h h h h h h h h h h h i% h h h h h h h h h h h h h h h h h h h h h h h i h h h h h i i i i i i i i i i i  i  i  i  i  i i i i i  i i i i i i i i i i i i" i  i!8 i# i$ i& iB i' i6 i( i/ i) i, i* i+ i- i. i0 i3 i1 i2 i4 i5 i7 i> i8 i; i9 i: i< i= i? i@ iA iC iR iD iK iE iH iF iG iI iJ iL iO iM iN iP iQ iS iZ iT iW iU iV iX iY8 i[ i^ i\ i] i_ i` ib L ic id ie if ig ih ii ij ik il im in io ip iq z ir t` is q it pC iu o iv oH iw o+ ix n iy m iz m+ i{ j i| jd i} i i~ i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i8 i i i i i i i i i i i i i i i i i i i i i i i i i i i i i8 i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i j8 i j i j i j i i i i i i i j j j j j j j j j 8 j j j j j  j j j j j j j j j j j) j j$ j j j j j j! j" j# j% j& j' j( j* j3 j+ j/ j, j- j. j0 j1 j2 j4 j5 j6 j7 j9 jM j: jE j; j@ j< j= j> j? jA jB jC jD jF jI jG jH jJ jK jL jN jY jO jT jP jQ jR jS jU jV jW jX jZ j_ j[ j\ j] j^ j` ja jb jc je jg jf\ jh j ji j jj ju jk jp jl jm\ jn\ jo\\\ jq jr\ js\ jt\\ jv j jw j{ jx\ jy\ jz\\ j|\ j}\ j~\\\ j j\ j\\ j j j j j j\ j\ j\\ j j j\ j\ j\\ j\ j\ j\\ j j j j\ j\ j\ j\\ j j j\ j\ j\\ j\ j\ j\\\ j l j lG j l j k j j j j j j j j j j j8 j j j j j j j j j j j j j j j j j k* j k j j j j j j j j jg j jgHTt j j j j j j j j j j  j j  j j j j j j j j j!ewT j  j j j j j j j j jF j jH j jUd j j j j j 8 j j j k j k j k j jg k k k kf k k k k k k / k k  k k k k k k k k k k k kg k k k k k k' k! k$ k" k#|Y k% k&& k( k) k+ k k, kQ k- k: k. k/ k0 k1 k2 k3 k4 k5 k6 k7 k8 k9 k; k< k= kG k> k? k@ kA kB kC kD kE kF kH kI kJ kK kL kM kN kO kPu kR k kS k kT kz kU k_ kV kW kX kY kZ k[ k\ k] k^ k` ki ka kb kc kd ke kf kg kh kj kr kk kl km kn ko kp kq ks kt ku kv kw kx ky k{ k| k} k~ k k k k k k k k k k k k k k k k k| k k k k k k k k k k k k k k: k k k k k k k k kA k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k| k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k ku k k k k k k k k k k k k k k k k k k l l l l l l l l l l$ l l l l l l  l l l l l l l l l l l l l l l l l l! l" l# l% l8 l& l/ l' l+ l( l) l* l, l- l. l0 l4 l1 l2 l3 l5 l6 l7 l9 l> l: l; l< l= l? lC l@ lA lB lD lE lF lH lK lI lJ lL lf lM l\ lN lS lO lP lQ lR lT lX lU lV lW lY lZ l[ l] lb l^ l_ l` la lc ld le lg lv lh lm li lj lk ll ln lr lo lp lq ls lt lu lw l| lx ly lz l{8 l} l l~ l l l l l l l l l l l l l l l\ l l l\ l\ l\\ l\ l\ l\\ l l l\ l\ l\ l\\ l l l\ l\ l\\ l\ l\ l\\ l l l l l l\ l\ l\\\ l l\ l\ l\\ l l l\ l l l l l  l l l lw l l l\ l\ l\\ l\ l\ l\\ l l l l\ l l l l\ l\ l\\ l\ l\ l\\ l l\ l l\ l\ l\\ l l l\\\ l l l\ l l l\ l\ l\\ l\ l\ l\\ l l l l l\ l\ l\\ l\ l\ l\\\ l l\ l\ l\\ l m* l m l m l l l l\ l\ l\\ l m l\\ m\ m\ m\\ m m\ m\ m\ m \ m \\ m m m m m m m m m m m m m m m m m m! m m m m  m" m& m# m$ m% m' m( m) m, m m- m m. m/ m0 mx m1 mE m2 m9 m3 m4 m5 m7 m6 m8 m: m> m; m< m= m? mB m@ mAg mC mD mF ma mG mT mH mN mI mL mJ mK Y mMYu mO mR mP mQY  mS mU m[ mV mY mW mX u mZ m\ m_ m] m^| m` mb mn mc mi md mf me  mg mh ^ mj ml mk  u mm  mo ms mp mq mr  mt mv mu  mw  my mz m m{ m| m} m m~ m m# m m m m m  m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m\ m m m m m m m m m m m m m\ m\ m\\ m\ m\ m\\\ m m\ m\ m\\ m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m8 m\ m\ m\ m\\ m m m n/ m n- m m m m m n) m n m m m m m m m m8 m m m m m m m n n n n n n n n n n n n  n  n  n n n n n n n n n n n n n n n n n n n! n% n" n# n$8 n& n' n( n* n+ n, n. n0 n n1 nl n2 nh n3 nQ n4 nG n5 n> n6 n: n7\ n8\ n9\\ n;\ n<\ n=\\ n? nC n@\ nA\ nB\\ nD\ nE\ nF\\ nH\ nI nM nJ\ nK\ nL\\ nN\ nO\ nP\\ nR n] nS nX nT\ nU\ nV\ nW\\ nY nZ n[ n\4 n^ nc\ n_ n`\ na\ nb\\\ nd ne\ nf\ ng\\ ni nj nk nm np nn\ no\\ nq n nr ny ns nt\ nu nv\ nw\ nx\\ nz n n{ n n|\ n}\ n~\\ n\ n\ n\\ n n\ n\ n\\ n n n\\ n n n\ n\\ n\ n\ n\ n\\ n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n o n n n n o n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n8 n n n n o n n n n n n n\ n n n n n n n n o o o o o o o o\ o\ o\\ o \ o \\ o  o\ o\ o\\ o o o\ o\ o\ o\ o\ o\ o\\ o\ o\ o\\ o o  o! o" o# o$ o% o& o' o( o) o*8 o, o: o- o. o/ o0 o1 o2 o3 o4 o5 o6 o7 o8 o9 o; o< o= o> o? o@ oA oB oC oD oE oF oG oI os oJ oe oK oX oL oM oN oO oP oQ oR oS oT oU oV oW oY oZ o[ o\ o] o^ o_ o` oa ob oc od of og oh oi oj ok ol om on oo op oq or ot o ou o ov ow ox oy oz o{ o| o} o~ o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o8 o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o p' o p o p p p p p p p p p p p  p  p  p  p p p p p p p p p p p8 p p p p p p p  p! p" p# p$ p% p& p( p) p6 p* p+ p, p- p. p/ p0 p1 p2 p3 p4 p5 p7 p8 p9 p: p; p< p= p> p? p@ pA pB8 pD p pE p pF p} pG pb pH pU pI pJ pK pL pM pN pO pP pQ pR pS pT pV pW pX pY pZ p[ p\ p] p^ p_ p` pa pc pp pd pe pf pg ph pi pj pk pl pm pn po pq pr ps pt pu pv pw px py pz p{ p| p~ p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p qW p q- p q p q p p p q q q q q q q q q8 q  q  q  q  q q q q q q q q q q q q q q q q q q q! q" q# q$ q% q& q' q( q) q* q+ q, q. q< q/ q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 q: q; q= qJ q> q? q@ qA qB qC qD qE qF qG qH qI qK qL qM qN qO qP qQ qR qS qT qU qV qX q qY qt qZ qg q[ q\ q] q^ q_ q` qa qb qc qd qe qf qh qi qj qk ql qm qn qo qp qq qr qs qu qv qw qx qy qz q{ q| q} q~ q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q r q rC q q q q q q q q q q q q8 q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q r q q r q q q q q q q q q r r r r r r r\ r\ r \ r \ r \ r \ r \ r\ r\\ r r( r r r r r r r r r r r r r r r  r! r" r# r$ r% r& r' r) r6 r* r+ r, r- r. r/ r0 r1 r2 r3 r4 r5 r7 r8 r9 r: r; r< r= r> r? r@ rA rB rD r rE rx rF r] rG rP rH rI rJ rK rL rM rN rO8 rQ rR rS rT rU rV rW rX rY rZ r[ r\ r^ rk r_ r` ra rb rc rd re rf rg rh ri rj rl rm rn ro rp rq rr rs rt ru rv rw ry r rz r r{ r| r} r~ r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r8 r s r sJ r s r s r r r r s s s s s s s s s  s  s  s  s  s s s s s s s/ s s" s s s s s s s s s s s  s! s# s$ s% s& s' s( s) s* s+ s, s- s. s0 s= s1 s2 s3 s4 s5 s6 s7 s8 s9 s: s; s< s> s? s@ sA sB sC sD sE sF sG sH sI sK s sL sg sM sZ sN sO sP sQ sR sS sT sU sV sW sX sY s[ s\ s] s^ s_ s` sa sb sc sd se sf sh su si sj sk sl sm sn so sp sq sr ss st sv sw sx sy sz s{ s| s} s~ s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s t s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s t t t t) t t t t t t t t  t  t  t  t  t t t t t t t t t t t t t t t t t  t! t" t# t$ t% t& t' t( t* tE t+ t8 t, t- t. t/ t0 t1 t2 t3 t4 t5 t6 t7 t9 t: t; t< t= t> t? t@ tA tB tC tD tF tS tG tH tI tJ tK tL tM tN tO tP tQ tR tT tU tV tW tX tY tZ t[ t\ t] t^ t_ ta wE tb u tc u td t te t tf t tg tt th ti tj tk tl tm tn to tp tq tr ts tu tv tw tx ty tz t{ t| t} t~ t t t t t t t t t t t t t t t t t t t t t t t t t t t8 t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t u t t t t t t t t t t t t t t t t t t t t t t t t t u u u u u u u u u u  u  u  u  u  u u u u u u u u u u u u u u ua u u7 u u) u u! u" u# u$ u% u& u' u( u* u+ u, u- u. u/ u0 u1 u2 u3 u4 u5 u6 u8 uS u9 uF u: u; u< u= u> u? u@ uA uB uC uD uE uG uH uI uJ uK uL uM uN uO uP uQ uR uT uU uV uW uX uY uZ u[ u\ u] u^ u_ u` ub u uc u~ ud uq ue uf ug uh ui uj uk ul um un uo up8 ur us ut uu uv uw ux uy uz u{ u| u}8 u u u u u u u u u u u u u u u u u u u u u u u u u u8 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u vn u v' u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u8 u u u u u u u u u u u u u u v  u v v v v v v v v v v  v  v  v v v v v v v v v v v v v v8 v v v v\ v\ v \ v!\ v"\ v#\ v$\ v%\ v&\\ v( v7 v) v* v+ v, v- v. v/ v0 v1 v2 v3 v4 v5 v6 v8 vS v9 vF v: v; v< v= v> v? v@ vA vB vC vD vE vG vH vI vJ vK vL vM vN vO vP vQ vR vT va vU vV vW vX vY vZ v[ v\ v] v^ v_ v` vb vc vd ve vf vg vh vi vj vk vl vm vo v vp v vq v vr v vs vt vu vv vw vx vy vz v{ v| v} v~8 v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v w v v v v v v v v v v v v v v v v v v v v v v v v v v v v v w v v v w w w w w w w w w w  w  w  w  w w w w w w w w8 w w. w w! w w w w w w w w  w" w# w$ w% w& w' w( w) w* w+ w, w- w/ w8 w0 w1 w2 w3 w4 w5 w6 w7 w9 w: w; w< w= w> w? w@ wA wB wC wD wF x wG w wH w wI ws wJ wX wK wL wM wN wO wP wQ wR wS wT wU wV wW wY wf wZ w[ w\ w] w^ w_ w` wa wb wc wd we wg wh wi wj wk wl wm wn wo wp wq wr8 wt w wu wv ww wx wy wz w{ w| w} w~ w w w w w w w w w w w w w w w w wz w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w8 w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w8 w x@ w x w w w w w w w w w w w w w w w w w w w w w w w w w w w w x x x x x x x x x x x% x x x  x  x x x x x x x x x x x x x x x x x x  x! x" x# x$ x& x3 x' x( x) x* x+ x, x- x. x/ x0 x1 x2 x4 x5 x6 x7 x8 x9 x: x; x< x= x> x? xA xc xB xL xC xD xE xF xG xH xI xJ xK xM xZ xN xO xP xQ xR xS xT xU xV xW xX xY x[ x\ x] x^ x_ x` xa xb xd xr xe xf xg xh xi xj xk xl xm xn xo xp xq xs xt xu xv xw xx xy xz x{ x| x} x~ x x yB x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x y% x y x x x x x x x x x x x x y y\ y\ y\ y\ y\ y\ y\ y\ y \\ y y y  y  y y y y y y y y y y y y y y y y y y  y! y" y# y$ y& y4 y' y( y) y* y+ y, y- y. y/ y0 y1 y2 y3 y5 y6 y7 y8 y9 y: y; y< y= y> y? y@ yA yC y yD y{ yE y` yF yS yG yH yI yJ yK yL yM yN yO yP yQ yR yT yU yV yW yX yY yZ y[ y\ y] y^ y_ ya yn yb yc yd ye yf yg yh yi yj yk yl ym yo yp yq yr ys yt yu yv yw yx yy yz y| y y} y y~ y y y y y y y y y y y y y y y y y y y y y y yP y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y8 y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y z y y y y y y y y y z z z z z z z z z  z  z  z  z  z z z  z | z { z z z zw z zM z z2 z z% z z z z z z z z  z! z" z# z$ z& z' z( z) z* z+ z, z- z. z/ z0 z1 z3 z@ z4 z5 z6 z7 z8 z9 z: z; z< z= z> z? zA zB zC zD zE zF zG zH zI zJ zK zL zN zi zO z\ zP zQ zR zS zT zU zV zW zX zY zZ z[ z] z^ z_ z` za zb zc zd ze zf zg zh zj zk zl zm zn zo zp zq zr zs zt zu zv zx z zy z zz z z{ z| z} z~ z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z9 z9 z9 z9 z9 z9 z9 z9 z989 z {E z { z z z z z z z z z z z z z z z z z z z z z z z z z z z z z { z z z z9 z9 z9 z9 z9 z9 z9 z9 {989 { { { { { { { {  {  {  {  {  { {* { { { { { { { { { { { { { { { { {  {! {" {# {$ {% {& {' {( {) {+ {8 {, {- {. {/ {0 {1 {2 {3 {4 {5 {6 {7 {9 {: {; {< {= {> {? {@ {A {B {C {D {F {p {G {U {H {I {J {K {L {M {N {O {P {Q {R {S {T {V {c {W {X {Y {Z {[ {\ {] {^ {_ {` {a {b {d {e {f {g {h {i {j {k {l {m {n {o {q { {r { {s {t {u {v {w {x {y {z {{ {| {} {~ { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { |/ { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { | { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { | | | | | | | | |8 | |% | | |  |  | | | | | | | | | | | | | | | | | |  |! |" |# |$ |& |' |( |) |* |+ |, |- |. |0 |} |1 |W |2 |M |3 |@ |4 |5 |6 |7 |8 |9 |: |; |< |= |> |? |A |B |C |D |E |F |G |H |I |J |K |L |N |O |P |Q |R |S |T |U |V |X |s |Y |f |Z |[ |\ |] |^ |_ |` |a |b |c |d |e |g |h |i |j |k |l |m |n |o |p |q |r |t |u |v |w |x |y |z |{ || |~ | | | | | | | | | | | | | | | | | | | | | | | | |8 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ~ | }Y | } | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | } | | | |\ }\ }\ }\ }\ }\ }\ }\ }\\ }  }  }  }  }  } } } } } } } } }@ } }2 } }% } } } } } } } }  }! }" }# }$ }& }' }( }) }* }+ }, }- }. }/ }0 }1 }3 }4 }5 }6 }7 }8 }9 }: }; }< }= }> }? }A }O }B }C }D }E }F }G }H }I }J }K }L }M }N }P }Q }R }S }T }U }V }W }X }Z } }[ }t }\ }j }] }^ }_ }` }a }b }c }d }e }f }g }h }i }k }l }m }n }o }p }q }r }s }u } }v } }w }x }y }z }{ }| }} }~ } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } }8 } } } ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~B ~ ~% ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~  ~! ~" ~# ~$8 ~& ~4 ~' ~( ~) ~* ~+ ~, ~- ~. ~/ ~0 ~1 ~2 ~3 ~5 ~6 ~7 ~8 ~9 ~: ~; ~< ~= ~> ~? ~@ ~A ~C ~l ~D ~_ ~E ~R ~F ~G ~H ~I ~J ~K ~L ~M ~N ~O ~P ~Q ~S ~T ~U ~V ~W ~X ~Y ~Z ~[ ~\ ~] ~^8 ~` ~a ~b ~c ~d ~e ~f ~g ~h ~i ~j ~k  ~m ~ ~n ~{ ~o ~p ~q ~r ~s ~t ~u ~v ~w ~x ~y ~z ~| ~} ~~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~8 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~         d  D    X  ?  $                     ! " # % 2 & ' ( ) * + , - . / 0 1 3 4 5 6 7 8 9 : ; < = > @ N A B C D E F G H I J K L M O P Q R S T U V W Y n Z h [ \ ] ^ _ ` a b c d e f g i j k l m\\ o  p } q r s t u v w x y z { | ~                                                                      8                                                                                          6 - ! " # $ % & ' ( ) * + , . / 0 1 2 3 4 5 7 8 9 : ; < = > ? @ A B C E F G z H c I V J K L M N O P Q R S T U W X Y Z [ \ ] ^ _ ` a b d q e f g h i j k l m n o p r s t u v w x y { | } ~                                                    8             8                                8     \ \ \ \ \ \ \ \ \\            8          :  0  #           ! " $ % & ' ( ) * + , - . / 1 2 3 4 5 6 7 8 9 ; I < = > ? @ A B C D E F G H J W K L M N\ O\ P\ Q\ R\ S\ T\ U\ V\\ X Y Z [ \ ] ^ _ ` a b c e f  g h i j w k l m n o p q r s t u v x y z { | } ~                                                                                                                                      g  =  3  &        ! " # $ % ' ( ) * + , - . / 0 1 2 4 5 6 7 8 9 : ; < > L ? @ A B C D E F G H I J K M Z N O P Q R S T U V W X Y\ [ \ ] ^ _ ` a b c d e f h i j w k l m n o p q r s t u v x y z { | } ~                                                    ^                                            '                        8                    ! " # $ % & ( C ) 6 * + , - . / 0 1 2 3 4 5 7 8 9 : ; < = > ? @ A B D Q E F G H I J K L M N O P8 R S T U V W X Y Z [ \ ] _ ` a | b o c d e f g h i j k l m n p q r s t u v w x y z { } ~                           \ \ \ \ \ \ \ \ \\                                     \                                    k ` )                                 ! " # $ % & ' ( * E + 8 , - . / 0 1 2 3 4 5 6 7 9 : ; < = > ? @ A B C D F S G H I J K L M N O P Q R T U V W X Y Z [ \ ] ^ _ a b | c o d e f g h i j k l m n p q r s t u v w x y z { } ~                                                                                                             8            8 A &                     ! " # $ % ' 4 ( ) * + , - . / 0 1 2 3 5 6 7 8 9 : ; < = > ? @ B ] C P D E F G H I J K L M N O Q R S T U V W X Y Z [ \ ^ _ ` a b c d e f g h i j l 0 m n o p | q r s t u v w x y z { } ~                                                                      8            8            8                                         #           ! " $ % & ' ( ) * + , - . / 1 2 i 3 N 4 A 5 6 7 8 9 : ; < = > ? @ B C D E F G H I J K L M O \ P Q R S T U V W X Y Z [8 ] ^ _ ` a b c d e f g h8 j x k l m n o\ p\ q\ r\ s\ t\ u\ v\ w\\ y z { | } ~                                                                                         ( | E                                                     ; ! . " # $ % & ' ( ) * + , - / 0 1 2 3 4 5 6 7 8 9 :P < = > ? @ A B C D F _ G Q H I J K L M N O P8 R S T U V W X Y Z [ \ ] ^ ` n a b c d e f g h i j k l m o p q r s t u v w x y z { } ~                                                                                                  8                                             8   ! " # $ % & ' ) * _ + P , F - 9 . / 0 1 2 3 4 5 6 7 8 : ; < = > ? @ A B C D E G H I J K L M N O Q R S T U V W X Y Z [ \ ] ^ ` a | b o c d e f g h i j k l m n p q r s t u v w x y z { } ~                                                                            P            8                                                     T  9  ,  ! " # $ % & ' ( ) * + - . / 0 1 2 3 4 5 6 7 8 : G ; < = > ? @ A B C D E F H I J K L M N O P Q R S U p V c W X Y Z [ \ ] ^ _ ` a b d e f g h i j k l m n o q ~ r s t u v w x y z { | }            8 % .                      8                                                      8                          8              !             " # $ % & ' ( ) * + , - / 0 R 1 7 2 3 4 5 6 8 E 9 : ; < = > ? @ A B C D F G H I J K L M N O P Q S j T ] U V W X Y Z [ \ ^ _ ` a b c d e f g h i k x l m n o p q r s t u v w y z { | } ~      \                                                                              y                                                      B  8  +   ! " # $ % & ' ( ) * , - . / 0 1 2 3 4 5 6 78 9 : ; < = > ? @ A C ^ D Q E F G H I J K L M N O P R S T U V W X Y Z [ \ ] _ l ` a b c d e f g h i j k m n o p q r s t u v w x z { | } ~                       8                                                                                 8     8                                   ! " # $ & v ' ( [ ) > * 0 + , - . / 1 2 3 4 5 6 7 8 9 : ; < = ? M @ A B C D E F G H I J K L N O P Q R S T U V W X Y Z8 \ ] x ^ k _ ` a b c d e f g h i j l m n o p q r s t u v w y z { | } ~                                                                                                         8                                      P  9  ,  ! " # $ % & ' ( ) * + - . / 0 1 2 3 4 5 6 7 8 : G ; < = > ? @ A B C D E F H I J K L M N O Q l R _ S T U V W X Y Z [ \ ] ^8 ` a b c d e f g h i j k m n o p q r s t u8 w . x y z { | } ~                                 8                                                                                                   8  !             " # $ % & ' ( ) * + , - / 0 g 1 L 2 ? 3 4 5 6 7 8 9 : ; < = > @ A B C D E F G H I J K M Z N O P Q R S T U V W X Y8 [ \ ] ^ _ ` a b c d e f h  i v j k l m n o p q r s t u w x y z { | } ~            8                                                                                                             ' l <  D                  6 ) ! " # $ % & ' (8 * + , - . / 0 1 2 3 4 58 7 8 9 : ; < = > ? @ A B C E k F a G T H I J K L M N O P Q R S8 U V W X Y Z [ \ ] ^ _ ` b c d e f g h i j l m z n o p q r s t u v w x y { | } ~                                k                      8                                                                             !              " / # $ % & ' ( ) * + , - . 0 1 2 3 4 5 6 7 8 9 : ; = > ? v @ [ A N B C D E F G H I J K L M O P Q R S T U V W X Y Z \ i ] ^ _ ` a b c d e f g h j k l m n o p q r s t u w  x y z { | } ~                                                          $            8                                                8                       ! " # % B & 4 ' ( ) * + , - . / 0 1 2 3 5 6 7 8 9 : ; < = > ? @ A C ^ D Q E F G H I J K L M N O P R S T U V W X Y Z [ \ ] _ ` a b c d e f g h i j k m n  o p q r  s t u v w x y z { | } ~            8                    8             8                                                                       8              b  +               ! " # $ % & ' ( ) *8 , G - : . / 0 1 2 3 4 5 6 7 8 9 ; < = > ? @ A B C D E F H U I J K L M N O P Q R S T8 V W X Y Z [ \ ] ^ _ ` a c d  e r f g h i j k l m n o p q s t u v w x y z { | } ~z                                                                         ]                                              &                       ! " # $ % ' B ( 5 ) * + , - . / 0 1 2 3 4 6 7 8 9 : ; < = > ? @ A C P D E F G\ H\ I\ J\ K\ L\ M\ N\ O\\ Q R S T U V W X Y Z [ \ ^ _ ` { a n b c d e f g h i j k l m o p q r s t u v w x y z | } ~              \ \ \ \ \ \ \ \ \\                                                                                                                         ! " # $ % & ( T ) * + , V - ; . / 0 1 2 3 4 5 6 7 8 9 : < I = > ? @ A B C D E F G H J K L M N O P Q R S T U W r X e Y Z [ \ ] ^ _ ` a b c d f g h i j k l m n o p q s t u v w x y z { | } ~                                                                                                          h 1     \ \ \ \ \ \ \ \ \\              $          ! " # % & ' ( ) * + , - . / 0 2 M 3 @ 4 5 6 7 8 9 : ; < = > ? A B C D E F G H I J K L N [ O P Q R S T U V W X Y Z \ ] ^ _ ` a b c d e f g i j k x l m n o p q r s t u v w y z { | } ~                                                                   -                   1                                               ! " # $ % & ' ( ) * + , . e / J 0 = 1 2 3 4 5 6 7 8 9 : ; < > ? @ A B C D E F G H I8 K X L M N O P Q R S T U V W Y Z [ \ ] ^ _ ` a b c d f g t h i j k l m n o p q r s u v w x y z { | } ~                                                                                                                           7  )                   ! " # $ % & ' ( * + , - . / 0 1 2 3 4 5 6 8 F 9 : ; < = > ? @ A B C D E G H I J K L M N O P Q R S U V  W X Y p Z g [ \ ] ^ _ ` a b c d e f h i j k l m n o q ~ r s t u v w x y z { | }                                                8                 \ \ \ \ \\                                                               v  L  1  $          ! " # % & ' ( ) * + , - . / 0 2 ? 3 4 5 6 7 8 9 : ; < = > @ A B C D E F G H I J K M h N [ O P Q R S T U V W X Y Z \ ] ^ _ ` a b c d e f g i j k l m n o p q r s t u w x y z { | } ~                                                                       ]                                       3                         &        ! " # $ % ' ( ) * + , - . / 0 1 2 4 B 5 6 7 8 9 : ; < = > ? @ A C P D E F G H I J K L M N O Q R S T U V W X Y Z [ \ ^ _ ` w a j b c d e f g h i k l m n o p q r s t u v x y z { | } ~           \ \\ \ \ \ \ \ \\            8                                    8 | X (                                     8                          8      ! " # $ % & ' ) ` * E + 8 , - . / 0 1 2 3 4 5 6 7 9 : ; < = > ? @ A B C D F S G H I J K L M N O P Q R T U V W X Y Z [ \ ] ^ _ a | b o c d e f g h i j k l m n p q r s t u v w x y z { } ~                                                                                                             2                           %         ! " # $ & ' ( ) * + , - . / 0 1 3 J 4 = 5 6 7 8 9 : ; < > ? @ A B C D E F G H I K L M N O P Q R S T U V W Y & Z [ \ v ] i ^ _ ` a b c d e f g h j k l m\ n\ o\ p\ q\ r\ s\ t\ u\\ w x y z { | } ~                                                                                                                                              ! " # $ % ' ( R ) D * 7 + , - . / 0 1 2 3 4 5 6 8 9 : ; < = > ? @ A B C E F G H I J K L M N O P Q S n T a U V W X Y Z [ \ ] ^ _ ` b c d e f g h i j k l m o | p q r s t u v w x y z { } ~                                                                            f D                                                    )      \ \ \ \ \\     ! " # $ % & ' (\ * 7 + , - . / 0 1 2 3 4 5 6 8 9 : ; < = > ? @ A B C8 E ] F G T H I J K L M N O P Q R S U V W X Y Z [ \ ^ y _ l ` a b c d e f g h i j k m n o p q r s t u v w x z { | } ~\ \ \ \ \ \ \ \ \\                                                                                                 /                            "            ! # $ % & ' ( ) * + , - . 0 K 1 > 2 3 4 5 6 7 8 9 : ; < =8 ? @ A B C D E F G H I J L Y M N O P\ Q\ R\ S\ T\ U\ V\ W\ X\\ Z [ \ ] ^ _ ` a b c d e g  h i j x k l m n o p q r s t u v w y z { | } ~                                                                                                         \                                        t = ! / " # $ % & ' ( ) * + , - . 0 1 2 3 4 5 6 7 8 9 : ; < > Y ? L @ A B C D E F G H I J K M N O P Q R S T U V W X Z g [ \ ] ^ _ ` a b c d e f h i j k l m n o p q r s u v w x y z { | } ~                                               8             i #            8            8                                                         ! " $ [ % @ & 3 ' ( ) * + , - . / 0 1 2\ 4 5 6 7 8 9 : ; < = > ? A N B C D E F G H I J K L M O P Q R S T U V W X Y Z \ w ] j ^ _ ` a b c d e f g h i k l m n o p q r s t u v x y z { | } ~              8                                                                                8             2                           %         ! " # $ & ' ( ) * + , - . / 0 1 3 N 4 A 5 6 7 8 9 : ; < = > ? @ B C D E F G H I J K L M O \ P Q R S T U V W X Y Z [ ] ^ _ ` a b c d e f g h j k l m n { o p q r s t u v w x y z | } ~                                                                                                                   [  (                               ! " # $ % & '8 ) @ * 7 + , - . / 0 1 2 3 4 5 6 8 9 : ; < = > ? A N B C D E F G H I J K L M O P Q R S T U V W X Y Z \ ] x ^ k _ ` a b c d e f g h i j l m n o p q r s t u v w y z { | } ~                                                         +                \ \ \ \ \ \ \ \ \\                                                             ! " # $ ' % & ( ) *   , V - H . ; / 0 1 2 3 4 5 6 7 8 9 : < = > ? @ A B C D E F G I J K L M N O P Q R S T U W e X Y Z [ \ ] ^ _ ` a b c d f s g h i j k l m n o p q r t u v w x y z { | } ~             8            8                                                                                                                r  ;  - ! " # $ % & ' ( ) * + , . / 0 1 2 3 4 5 6 7 8 9 : < W = J > ? @ A B C D E F G H I K L M N O P Q R S T U V X e Y Z [ \ ] ^ _ ` a b c d f g h i j k l m n o p q s t u v w x y z { | } ~                                                                             3                                                                 8  &    ! " # $ % ' ( ) * + , - . / 0 1 2 4 I 5 ; 6 7 8 9 : < = > ? @ A B C D E F G H8 J e K X L M N O P Q R S T U V W Y Z [ \ ] ^ _ ` a b c d f o g h i j k l m n p q r s t u v w x y z { } ~ r  * \                        Hg                                                                     %                        8                      ! " # $ & A ' 4 ( ) * + , - . / 0 1 2 3 5 6 7 8 9 : ; < = > ? @ B O C D E F G H I J K L M N P Q R S T U V W X Y Z [ ] ^ _ z ` m a b c d e f g h i j k l n o p q r s t u v w x y { | } ~                                                                     k                                                                            !\ "\ #\ $\\ %\ & '\ (\ )\\ + , S - . E / < 0 1 2 3 4 5 6 7 8 9 : ; = > ? @ A B C D F G H I J K L M N O P Q R T U p V c W X Y Z [ \ ] ^ _ ` a b d e f g h i j k l m n o q ~ r s t u v w x y z { | }                                                                                                                                     ?  1  $          ! " # % & ' ( ) * + , - . / 0 2 3 4 5 6 7 8 9 : ; < = > @ [ A N B C D E F G H I J K L M O P Q R S T U V W X Y Z \ e ] ^ _ ` a b c d f g h i j k l m n o p q s  t 5 u v w x y z { | } ~                                          8                                                                                                      '    ! " # $ % & ( ) * + , - . / 0 1 2 3 4 6 7 n 8 S 9 F : ; < = > ? @ A B C D E G H I J\ K\ L\ M\ N\ O\ P\ Q\ R\\ T a U V W X Y Z [ \ ] ^ _ ` b c d e f g h i j k l m o } p q r s t u v w x y z { | ~                                                                                                                       g  0  "                          ! # $ % & ' ( ) * + , - . /8 1 L 2 ? 3 4 5 6 7 8 9 : ; < = > @ A B C D E F G H I J K M Z N O P Q R S T U V W X Y [ \ ] ^ _ ` a b c d e f h i j w k l m n o p q r s t u v x y z { | } ~                                          8             -    9 9 9 9 9 9 9 9 989            8                                                               8 ! " # $ % & ' ( ) * + , . a / F 0 9 1 2 3 4 5 6 7 8 : ; < = > ? @ A B C D E G T H I J K L M N O P Q R S U V W X Y Z [ \ ] ^ _ ` b } c p d e f g h i j k l m n o q r s t u v w x y z { | ~            8             ; z            8                                                                                     C (                    ! " # $ % & ' ) 6 * + , -\ .\ /\ 0\ 1\ 2\ 3\ 4\ 5\\ 7 8 9 : ; < = > ? @ A B D _ E R F G H I J K L M N O P Q S T U V W X Y Z [ \ ] ^ ` m a b c d e f g h i j k l n o p q r s t u v w x y8 { | } ~                                                                                                                                        1  $          ! " # % & ' ( ) * + , - . / 0 2 3 4 5 6 7 8 9 :\ <  = > q ? V @ M A B C D E F G H I J K L N O P Q R S T U W d X Y Z [ \ ] ^ _ ` a b c e f g h i j k l m n o p r s t u v w x y z { | } ~ 8                                                                                                                                      z  C  (       ! " # $ % & ' ) 6 * + , - . / 0 1 2 3 4 5 7 8 9 : ; < = > ? @ A B D _ E R F G H I J K L M N O P Q S T U V W X Y Z [ \ ] ^ ` m a b c d e f g h i j k l n o p q r s t u v w x y { | } ~                                   8                        8                                     ` [ $                                     8          ! " # % @ & 3 ' ( ) * + , - . / 0 1 2 4 5 6 7 8 9 : ; < = > ? A N B C D E F G H I J K L M O P Q R S T U V W X Y Z \ ] k ^ _ ` a b c d e f g h i j l y m n o p q r s t u v w x z { | } ~                                                                                    8                                      6 (                    ! " # $ % & ' ) * + , - . / 0 1 2 3 4 5 7 E 8 9 : ; < = > ? @ A B C D F S G H I J K L M N O P Q R T U V W X Y Z [ \ ] ^ _ a & b c d r e f g h i j k l m n o p q s t u v w x y z { | } ~                                                                         8                        8                                              ! " # $ % ' ( _ ) D * 7 + , - . / 0 1 2 3 4 5 6 8 9 : ; < = > ? @ A B C E R F G H I J K L M N O P Q S T U V W X Y Z [ \ ] ^ ` { a n b c d e f g h i j k l m o p q r s t u v w x y z | } ~                                                                                                           G K %                                 ! " # $ & A ' 4 ( ) * + , - . / 0 1 2 3 5 6 7 8 9 : ; < = > ? @ B C D E F G H I J L M h N [ O P Q R S T U V W X Y Z \ ] ^ _ ` a b c d e f g i v j k l m n o p q r s t u w x y z { | } ~    8                                                                                                                             .               ! " # $ % & ' ( ) * + , - / = 0 1 2 3 4 5 6 7 8 9 : ; < > ? @ A B C D E F H I v J g K Y L M N O P Q R S T U V W X Z [ \ ] ^ _ ` a b c d e f h i j k l m n o p q r s t u8 w x y z { | } ~                                      \ \ \ \ \ \ \ \ \\                                                                                 h  -                  ! " # $ % & ' ( ) * + , . K / = 0 1 2 3 4 5 6 7 8 9 : ; < > ? @ A B C D E F G H I J L Z M N O P Q R S T U V W X Y [ \ ] ^ _ ` a b c d e f g i j k y l m n o p q r s t u v w x z { | } ~                                                                                   E                                        \               (        ! " # $ % & ' ) 7 * + , - . / 0 1 2 3 4 5 6 8 9 : ; < = > ? @ A B C D F G d H V I J K L M N O P Q R S T U W X Y Z [ \ ] ^ _ ` a b c e s f g h i j k l m n o p q r t u v w x y z { | } ~                                       N m                                                                                            @  1  #            ! " $ % & ' ( ) * + , - . / 0 2 3 4 5 6 7 8 9 : ; < = > ?8 A P B C D E F G H I J K L M N O Q _ R S T U V W X Y Z [ \ ] ^ ` a b c d e f g h i j k l n o p q  r s t u v w x y z { | } ~                                                                                                                                       1  #            ! " $ % & ' ( ) * + , - . / 08 2 @ 3 4 5 6 7 8 9 : ; < = > ? A B C D E F G H I J K L M O  P Q R o S a T U V W X Y Z [ \ ] ^ _ ` b c d e f g h i j k l m n p ~ q r s t u v w x y z { | }                                                                                              8                          \  u  :                       ,   ! " # $ % & ' ( ) * +8 - . / 0 1 2 3 4 5 6 7 8 9 ; X < J = > ? @ A B C D E F G H I8 K L M N O P Q R S T U V W Y g Z [ \ ] ^ _ ` a b c d e f h i j k l m n o p q r s t v w x y z { | } ~                                                             \ \ \ \ \ \ \ \ \\              Z U                                             \ \ \ \ \ \ \ \ \\  8  *     ! " # $ % & ' ( ) + , - . / 0 1 2 3 4 5 6 7 9 G : ; < = > ? @ A B C D E F H I J K L M N O P Q R S TP V W t X f Y Z [ \ ] ^ _ ` a b c d e g h i j k l m n o p q r s u v w x y z { | } ~                                                          6                                                                                 (       ! " # $ % & ' ) * + , - . / 0 1 2 3 4 5 7 r 8 U 9 G : ; < = > ? @ A B C D E F H I J K L M N O P Q R S T V d W X Y Z [ \ ] ^ _ ` a b c e f g h i j k l m n o p q s t u v w x y z { | } ~                             8              }       \ \ \ \ \ \ \ \ \\                                                                                B  3  %      ! " # $ & ' ( ) * + , - . / 0 1 2 4 5 6 7 8 9 : ; < = > ? @ A C ` D R E F G H I J K L M N O P Q S T U V W X Y Z [ \ ] ^ _ a o b c d e f g h i j k l m n p q r s t u v w x y z { | ~                                                                               8                  \ \ \ \ \ \ \ \ \\ -                              #            ! " $ % & ' ( ) * + , . = / 0 1 2 3 4 5 6 7 8 9 : ; < > L ? @ A B C D E F G H I J K M N O P Q R S T U V W X Y [  \ 1 ] ^ _ x ` n a b c d e f g h i j k l m o p q r s t u v w y z { | } ~                       g              8                                        8                                                        #     \ \ \ \ \ \ \ !\ "\\ $ % & ' ( ) * + , - . / 0 2 3 X 4 ; 5 6 7 8 9 : < J = > ? @ A B C D E F G H I8 K L M N O P Q R S T U V W Y v Z h [ \ ] ^ _ ` a b c d e f g i j k l m n o p q r s t u w x y z { | } ~                                8                                   8                                                       m 6 '                      ! " # $ % & ( ) * + , - . / 0 1 2 3 4 5 7 P 8 B 9 : ; < = > ? @ A C D E F G H I J K L M N O Q _ R S T U V W X Y Z [ \ ] ^ ` a b c d e f g h i j k l n o ~ p q r s t u v w x y z { | }              8                                                      @              8             8                            #               8            ! " $ 2 % & ' ( ) * + , - . / 0 1 3 4 5 6 7 8 9 : ; < = > ?8 A m B ^ C D Q E F G H I J K L M N O Pv R S T U V W X Y Z [ \ ] _ ` a b c d e f g h i j k l n o } p q r s t u v w x y z { | ~                                       ޯ ͅ t                                                                                           e @ ! 2 " , # $ % & ' ( ) * + - . / 0 1 3 : 4 5 6 7 8 9 ; < = > ? A N B H C D E F G I J K L M O Z P Q R S T U V W X Y [ \ ] ^ _ ` a b c d f z g t h l i j k m n o p q r s u v w x y { | } ~ 989                         8                                                                                               X  5  (          ! " # $ % & ' ) 1 * + , - . / 08 2 3 4 6 G 7 ? 8 9 :\ ;\ <\ =\ >\\ @ A B C D E F H P I J K L M N O Q R S T U V W Y t Z c [ _ \ ] ^ ` a b d l e f g\ h\ i\ j\ k\\ m n o p q r s u z v w x y { | } ~ V                                                                                       '        8                               ! " # $ % & ( C ) 6 * 2 + , - . / 0 1 3 4 5 7 ? 8 9 : ; < = > @ A B\\ D M E F G H I J K L N R O P Q S T U W X “ Y p Z g [ c \ ] ^ _ ` a b d e f h l i j k m n o q ~ r z s t u v w x y { | }  ‡ €  ‚ ƒ „ … † ˆ ‰ Š ‹ Œ  Ž   ‘ ’> ” · • ¦ – ž — ˜ ™ š › œ  Ÿ   ¡ ¢ £ ¤ ¥ § ¯ ¨ © ª\ «\ ¬\ ­\ ®\\ ° ± ² ³ ´ µ ¶ ¸ ¹ º » ¼ ½ ¾ ¿              8 I                   8 4                          g          g g     g g  , ! " # $ % & ' ( ) * +g - . / 0 1 3 2UUU 5 6 7 9 A : ; < = > ? @ B C D E F G H J Y K T L P M N O Q R S U V W X Z k [ c \ ] ^ _ ` a b d e f g h i j l p m n o q r s u , v U w x ë y Ô z à {  | } ~ À Á Â Ä Ì Å Æ Ç È É Ê Ë Í Î Ï Ð Ñ Ò Ó Õ â Ö Ú × Ø Ù Û Ü Ý Þ ß à á ã ä å æ ç è é ê ì í ö î ï ð ñ ò ó ô õ ÷ ÿ ø ù ú û ü ý þ                                                                                6 % ! " # $ & . ' ( ) * + , - / 0 1 2 3 4 5 7 H 8 @ 9 : ; < = > ? A B C D E F G I M J K L N O P Q R S T V Ĺ W Ċ X w Y j Z b [ \ ] ^ _ ` a c d e f g h i k s l m n o p q r t u v\\ x ā y } z { | ~  Ā Ă ă Ą ą Ć ć Ĉ ĉ ċ Ğ Č ĕ č đ Ď ď Đ989 Ē ē Ĕ Ė Ě ė Ę ę ě Ĝ ĝ ğ İ Ġ Ĩ ġ Ģ ģ Ĥ ĥ Ħ ħ ĩ Ī ī Ĭ ĭ Į į ı ĵ IJ ij Ĵ Ķ ķ ĸ ĺ Ļ ļ Ľ ľ Ŀ                  8                                                   8  #           ! " $ ( % & ' ) * + - , . ţ / x 0 O 1 > 2 : 3 4 5 6 7 8 9 ; < = ? G @ A B C D E F H I J K L M N P a Q Y R S T U V W X Z [ \ ] ^ _ ` b j c d e f g h i k l m n o p q r s t v u  w y Ō z  { | } ~ ŀ ň Ł ł Ń ń Ņ ņ Ň ʼn Ŋ ŋ ō Ś Ŏ Œ ŏ Ő ő œ Ŕ ŕ Ŗ ŗ Ř ř ś ş Ŝ ŝ Ş Š š Ţ Ť ť Ŧ ŷ ŧ ů Ũ ũ Ū ū Ŭ ŭ Ů Ű ű Ų ų Ŵ ŵ Ŷ Ÿ ż Ź ź Ż\\ Ž ž ſ                                         #                                1   wH       ! "8 $ % & ' ( ) * +8 - Ƥ . e / N 0 A 1 9 2 3 4 5 6 7 8 : ; < = > ? @ B J C D E F G H I K L M O \ P T Q R S U V W X Y Z [ ] a ^ _ ` b c d f Ɓ g t h l i j k m n o p q r s u } v w x y z { | ~  ƀ Ƃ Ɠ ƃ Ƌ Ƅ ƅ Ɔ Ƈ ƈ Ɖ Ɗ ƌ ƍ Ǝ Ə Ɛ Ƒ ƒX Ɣ Ɯ ƕ Ɩ Ɨ Ƙ ƙ ƚ ƛ Ɲ ƞ Ɵ Ơ ơ Ƣ ƣ ƥ Ʀ Ƨ Ƹ ƨ ư Ʃ ƪ ƫ Ƭ ƭ Ʈ Ư Ʊ Ʋ Ƴ ƴ Ƶ ƶ Ʒ ƹ ƺ ƻ Ƽ ƽ ƾ ƿ                                     \ \ \ \ \\                O   ǂ  O  ,  #               ! " $ ( % & ' ) * + - > . 6 / 0 1 2 3 4 5 7 8 9 : ; < = ? G @ A B C D E F H I J K L M N P g Q ^ R V S T U W X Y Z [ \ ] _ ` a b c d e f h q i j k l m n o p r z s t u v w x y { | } ~  ǀ ǁ ǃ Ǻ DŽ ǟ Dž ǎ dž NJ LJ Lj lj Nj nj Ǎ Ǐ Ǘ ǐ Ǒ ǒ Ǔ ǔ Ǖ ǖ ǘ Ǚ ǚ Ǜ ǜ ǝ Ǟ Ǡ ǩ ǡ Ǣ ǣ Ǥ ǥ Ǧ ǧ Ǩ Ǫ Dz ǫ Ǭ ǭ Ǯ ǯ ǰ DZ dz Ǵ ǵ Ƕ Ƿ Ǹ ǹ ǻ Ǽ ǽ Ǿ ǿ                                    \\       8    j /                       &            ! " # $ % ' ( ) * + , - . 0 K 1 > 2 6 3 4 5 7 8 9 : ; < =8 ? G @ A B C D E F H I J L Y M Q N O P R S T U V W X Z b [ \ ] ^ _ ` a c d e f g h i k Ȣ l ȏ m ~ n v o p q r s t u w x y z { | }  ȇ Ȁ ȁ Ȃ ȃ Ȅ ȅ Ȇ8 Ȉ ȉ Ȋ ȋ Ȍ ȍ Ȏ Ȑ ș ȑ Ȓ ȓ Ȕ ȕ Ȗ ȗ Ș Ț ț Ȝ ȝ Ȟ ȟ Ƞ ȡ ȣ Ⱥ Ȥ ȱ ȥ ȩ Ȧ ȧ Ȩ Ȫ ȫ Ȭ ȭ Ȯ ȯ Ȱ Ȳ ȳ ȴ ȵ ȶ ȷ ȸ ȹ Ȼ ȼ Ƚ Ⱦ ȿ                      ɰ =                     \ \ \ \ \\                                 0 ( ! " # $ % & ' ) * + , - . / 1 5 2 3 4 6 7 8 9 : ; < > y ? ^ @ M A E B C D F G H I J K L N V O P Q R S T U W X Y Z [ \ ] _ l ` d a b c e f g h i j k m u n o p q r s t v w x z ɕ { Ɍ | Ʉ } ~  ɀ Ɂ ɂ Ƀ Ʌ Ɇ ɇ Ɉ ɉ Ɋ ɋ ɍ Ɏ ɏ ɐ ɑ ɒ ɓ ɔ ɖ ɟ ɗ ɛ ɘ ə ɚ ɜ ɝ ɞ ɠ ɨ ɡ ɢ ɣ ɤ ɥ ɦ ɧ ɩ ɪ ɫ ɬ ɭ ɮ ɯ ɱ  ɲ ɳ ɴ ɹ ɵ ɶ ɷ ɸ ɺ ɻ ɼ ɽ ɾ ɿ                                   8                  8    8     8  %            !   \\ " # $ & / ' ( ) * + , - . 0 4 1 2 3 5 6 7 9 D : ? ; < = > @ A B C E J F G H I K L M N P Q ' R ʹ S ʂ T c U Z V W X Y [ _ \ ] ^ ` a b d u e m f g h i j k l n o p q r s t v z w x y { | } ~  ʀ ʁ ʃ ʞ ʄ ʑ ʅ ʉ ʆ ʇ ʈ ʊ ʋ ʌ ʍ ʎ ʏ ʐ ʒ ʚ ʓ ʔ ʕ ʖ ʗ ʘ ʙ ʛ ʜ ʝ ʟ ʬ ʠ ʤ ʡ ʢ ʣ ʥ ʦ ʧ ʨ ʩ ʪ ʫ ʭ ʵ ʮ ʯ ʰ ʱ ʲ ʳ ʴ ʶ ʷ ʸ ʺ ʻ ʼ ʽ ʾ ʿ       g                                                                        ! " # $ % & (  ) P * 9 + 4 , - . / 0 1 2 38 5 6 7 8 : ? ; < = > @ H A B C D E F G I J K L M N O Q p R c S [ T U V W X Y Z \ ] ^ _ ` a b d h e f g i j k l m n o q v r s t u w x y z { | } ~ ˀ ˫ ˁ ˔ ˂ ˋ ˃ ˇ ˄ ˅ ˆ ˈ ˉ ˊ ˌ ː ˍ ˎ ˏ ˑ ˒ ˓ ˕ ˢ ˖ ˚ ˗ ˘ ˙ ˛ ˜ ˝ ˞ ˟ ˠ ˡ ˣ ˤ ˥ ˦ ˧ ˨ ˩ ˪ ˬ ˭ ˺ ˮ ˲ ˯ ˰ ˱ ˳ ˴ ˵ ˶ ˷ ˸ ˹ ˻ ˼ ˽ ˾ ˿                           ̪ G               8                     $                ! " # % 6 & . ' ( ) * + , -8 / 0 1 2 3 4 5 7 ? 8 9 : ; < = > @ A B C D E F H w I ` J S K L M N O P Q R T X U V W Y Z [ \ ] ^ _ a j b c d e f g h i k o l m n p q r s t u v x ̓ y ̆ z ~ { | }  ̀ ́ ̂ ̃ ̄ ̅ ̇ ̏ ̈ ̉ ̊ ̋ ̌ ̍ ̎ ̐ ̑ ̒ ̔ ̡ ̕ ̝ ̖ ̗ ̘ ̙ ̚ ̛ ̜ ̞ ̟ ̠ ̢ ̦ ̣ ̤ ̥ ̧ ̨ ̩8 ̫  ̬ ̭ ̮ ̻ ̯ ̳ ̰ ̱ ̲ ̴ ̵ ̶ ̷ ̸ ̹ ̺ ̼ ̽ ̾ ̿                                               8                 J  3  &            ! " # $ % ' / ( ) * + , - . 0 1 2 4 = 5 9 6 7 8\\ : ; < > B ? @ A C D E F G H I K j L Y M Q N O P8 R S T U V W X Z b [ \ ] ^ _ ` a c d e f g h i k | l p m n o q r s t u v w x y z { } ́ ~  ̀ ͂ ̓ ̈́ ͆  ͇ ͈ ) ͉ X ͊ ͋ Ͳ ͌ ͟ ͍ ͖ ͎ ͒ ͏ ͐ ͑ ͓ ͔ ͕ ͗ ͛ ͘ ͙ ͚ ͜ ͝ ͞ ͠ ͩ ͡ ͥ ͢ ͣ ͤ ͦ ͧ ͨ ͪ ͮ ͫ ͬ ͭ ͯ Ͱ ͱ ͳ ʹ ͵ ͽ Ͷ ͷ ͸ ͹ ͺ ͻ ͼ8 ; Ϳ     8         \\                                                           9  ,  $     ! " # % & ' ( ) * + - 5 . / 0 1 2 3 4 6 7 8 : G ; ? < = > @ A B C D E F H P I J K L M N O Q R S T U V W Y θ Z ΁ [ r \ i ] e ^ _ ` a b c d f g h j n k l m\\ o p q s | t u v w x y z { } ~  ΀ ΂ Ν ΃ Δ ΄ Ό ΅ Ά · Έ Ή Ί ΋ ΍ Ύ Ώ ΐ Α Β ΓO Ε Ζ Η Θ Ι Κ Λ Μ Ξ Χ Ο Σ Π Ρ ΢ Τ Υ Φ Ψ ΰ Ω Ϊ Ϋ ά έ ή ί α β γ δ ε ζ η ι κ λ μ ν ξ ο                H H         \\       8       8                                    !    " # $ % & ' ( * + Ϛ , g - L . ? / 7 0 1 2 3 4 5 6 8 9 : ; < = > @ H A B C D E F G I J K M Z N V O P Q R S T U W X Y989 [ _ \ ] ^ ` a b c d e f h χ i z j r k l m n o p q s t u v w x y { σ | } ~  π ρ ς τ υ φ8 ψ ύ ω ϊ ϋ ό ώ ϒ Ϗ ϐ ϑ ϓ ϔ ϕ ϖ ϗ Ϙ ϙ ϛ Ϝ Ϸ ϝ Ϫ Ϟ Ϣ ϟ Ϡ ϡ ϣ Ϥ ϥ Ϧ ϧ Ϩ ϩ ϫ ϳ Ϭ ϭ Ϯ ϯ ϰ ϱ ϲ ϴ ϵ ϶ ϸ Ϲ Ϻ ϻ ϼ Ͻ Ͼ Ͽ        8                                                 8 y > '                   #  ! " $ % & ( 1 ) - * + ,\\ . / 0 2 6 3 4 5 7 8 9 : ; < =8 ? Z @ M A I B C D E F G H J K L N V O P Q R S T U W X Y [ l \ d ] ^ _ ` a b c8 e f g h i j k m q n o p r s t u v w x z Х { В | Љ } Ѕ ~  Ѐ Ё Ђ Ѓ Є І Ї Ј Њ Ћ Ќ Ѝ Ў Џ А Б Г И Д Е Ж З Й Н К Л М О П Р С Т У Ф Ц н Ч а Ш Ь Щ Ъ Ы Э Ю Я б е в г д ж з и й к л м о п                8 \ ѡ 2                                                             ) ! % " # $ & ' ( * . + , -\\ / 0 1 3 j 4 O 5 F 6 > 7 8 9 : ; < = ? @ A B C D E G K H I J L M N P ] Q U R S T V W X Y Z [ \ ^ b _ ` a c d e f g h i8 k ъ l } m u n o p q r s t v w x y z { | ~ т  р с у ф х ц ч ш щ ы ѐ ь э ю я ё љ ђ ѓ є ѕ і ї ј њ ћ ќ ѝ ў џ Ѡ Ѣ ѣ Ѥ ѷ ѥ Ѯ Ѧ Ѫ ѧ Ѩ ѩ8 ѫ Ѭ ѭ ѯ Ѱ ѱ Ѳ ѳ Ѵ ѵ Ѷ Ѹ ѽ ѹ Ѻ ѻ Ѽ Ѿ ѿ                        8                        )                             8 ! " # $ % & ' (8 * E + 8 , 0 - . / 1 2 3 4 5 6 7 9 = : ; < > ? @ A B C D F S G K H I J L M N O P Q R T X U V W Y Z [ ] @ ^ _ Ҟ `  a r b j c d e f g h i k l m n o p q s w t u v x y z { | } ~ Ҁ ҍ ҁ ҉ ҂ ҃ ҄ ҅ ҆ ҇ ҈ Ҋ ҋ Ҍ Ҏ Җ ҏ Ґ ґ Ғ ғ Ҕ ҕ җ Ҙ ҙ Қ қ Ҝ ҝ ҟ Ҷ Ҡ ҩ ҡ ҥ Ң ң Ҥ Ҧ ҧ Ҩ Ҫ Ҳ ҫ Ҭ ҭ Ү ү Ұ ұ ҳ Ҵ ҵ ҷ Ҹ ҹ Һ һ Ҽ ҽ Ҿ ҿ                    8                                    %                     ! " # $ & 7 ' / ( ) * + , - . 0 1 2 3 4 5 6 8 < 9 : ; = > ? A Ӱ B y C ^ D U E M F G H I J K L N O P Q R S T V W X Y Z [ \ ] _ l ` h a b c d e f g i j k m q n o p r s t u v w x z ӕ { ӈ | Ӏ } ~  Ӂ ӂ Ӄ ӄ Ӆ ӆ Ӈ Ӊ Ӎ ӊ Ӌ ӌ ӎ ӏ Ӑ ӑ Ӓ ӓ Ӕ Ӗ ӧ ӗ ӟ Ә ә Ӛ ӛ Ӝ ӝ Ӟ Ӡ ӡ Ӣ ӣ Ӥ ӥ Ӧ Ө Ӭ ө Ӫ ӫ ӭ Ӯ ӯ ӱ Ӳ ӳ Ӵ Ӽ ӵ Ӷ ӷ Ӹ ӹ Ӻ ӻ ӽ Ӿ ӿ                                                                              ׉ ! բ " # ԅ $ [ % @ & 7 ' / ( ) * + , - . 0 1 2 3 4 5 68 8 < 9 : ; = > ? A N B F C D E G H I J K L M O W P Q R S T U V X Y Z \ s ] j ^ f _ ` a b c d e g h i k l m n o p q r t u } v w x y z { | ~  Ԁ ԁ Ԃ ԃ Ԅ Ԇ Ա ԇ Ԣ Ԉ ԕ ԉ ԑ Ԋ ԋ Ԍ ԍ Ԏ ԏ Ԑ Ԓ ԓ Ԕ Ԗ Ԛ ԗ Ԙ ԙ ԛ Ԝ ԝ Ԟ ԟ Ԡ ԡ ԣ Ԭ Ԥ Ԩ ԥ Ԧ ԧ989 ԩ Ԫ ԫ ԭ Ԯ ԯ ԰ Բ Գ Դ Լ Ե Զ Է Ը Թ Ժ Ի Խ Ծ Կ                        D              8                        1  $              ! " # % - & ' ( ) * + , . / 0\\ 2 ; 3 7 4 5 68 8 9 : < = > ? @ A B C E x F ] G T H L I J K M N O P Q R S U Y V W X Z [ \ ^ k _ c ` a b d e f g h i j l t m n o p q r s u v w y Ք z Ջ { Ճ | } ~  Հ Ձ Ղ Մ Յ Ն Շ Ո Չ Պ Ռ Ր Ս Վ Տ8 Ց Ւ Փ8 Օ Ֆ ՞ ՗ ՘ ՙ ՚ ՛ ՜ ՝ ՟ ՠ ա գ ֣ դ  ե զ է ո ը հ թ ժ ի լ խ ծ կ ձ ղ ճ մ յ ն շ չ պ ջ ռ ս վ տ 8                        8                                    8      l  ,           $ ! " # % & ' ( ) * + - B . : / 0 1 2 3 4 5 6 788 8{C 9{C8 ; < = > ? @ A C h D E F G H I J c K V L R M O N P Q 1 S T U  W \ X Z Y u [ ] ` ^ _1H a bw d e f g i j k\\ m ք n { o w p q r s t u v x y z | ր } ~  ց ւ փ օ ֖ ֆ ֎ և ֈ ։ ֊ ֋ ֌ ֍ ֏ ֐ ֑ ֒ ֓ ֔ ֕ ֗ ֛ ֘ ֙ ֚ ֜ ֝ ֞ ֟ ֠ ֡ ֢8 ֤  ֥ ֦ ֽ ֧ ִ ֨ ֬ ֩ ֪ ֫ ֭ ֮ ֯ ְ ֱ ֲ ֳ ֵ ֹ ֶ ַ ָ ֺ ֻ ּ ־ ֿ                                                8                 N  7  *  &              g ! # " $ %Y ' ( ) + 3 , - . / 0 1 2 4 5 6 8 A 9 = : ; < > ? @ B J C D E F G H I K L M O n P a Q Y R S T U V W X Z [ \ ] ^ _ `8 b j c d e f g h i8 k l m o | p x q r s t u v w y z { } ׅ ~  ׀ ׁ ׂ ׃ ׄ ׆ ׇ ׈ ׊ ) ׋ f ׌ ׍ ׎ ׭ ׏ נ א ט ב ג ד ה ו ז ח י ך כ ל ם מ ן ס ש ע ף פ ץ צ ק ר ת ׫ ׬ ׮ ׻ ׯ ׳ װ ױ ײ ״ ׵ ׶ ׷ ׸ ׹ ׺ ׼ ׽ ׾ ׿        1                                          3                     &            ! " # $ % ' / ( ) * + , - . 0 1 2dO 4 O 5 B 6 : 7 8 9 ; < = > ? @ A C K D E F G H I J L M N P U Q R S T V ^ W X Y Z [ \ ] _ ` a b c d e g h أ i ؄ j w k s l m n o p q r t u v x | y z { } ~  ؀ ؁ ؂ ؃ ؅ ؒ ؆ ؊ ؇ ؈ ؉8 ؋ ، ؍ ؎ ؏ ؐ ؑ ؓ ؛ ؔ ؕ ؖ\ ؗ\ ؘ\ ؙ\ ؚ\\ ؜ ؝ ؞\ ؟\ ؠ\ ء\ آ\\ ؤ ػ إ خ ئ ت ا ب ة ث ج ح د س ذ ر ز ش ص ض ط ظ ع غ ؼ ؽ ؾ ؿ           8                                                             $      ! " # % & ' ( *  + ٞ , c - H . 7 / 3 0 1 2 4 5 6 8 @ 9 : ; < = > ? A B C D E F G I V J N K L M O P Q R S T U W [ X Y Z \ ] ^ _ ` a b d  e r f n g h i j k l m o p q s w t u v x y z { | } ~ ـ ّ ف ى ق ك ل م ن ه و ي ً ٌ ٍ َ ُ ِ ْ ٚ ٓ ٔ ٕ ٖ ٗ ٘ ٙ8 ٛ ٜ ٝ ٟ ٠ ٷ ١ ٪ ٢ ٦ ٣ ٤ ٥ ٧ ٨ ٩ ٫ ٯ ٬ ٭ ٮ ٰ ٱ ٲ ٳ ٴ ٵ ٶ ٸ ٹ ٺ ٻ ټ ٽ پ ٿ                                                                  څ  B  '            #  ! " $ % & ( 9 ) 1 * + , - . / 0 2 3 4 5 6 7 8 : > ; < = ? @ A C b D U E M F G H I J K L N O P\ Q\ R\ S\ T\\ V Z W X Y [ \ ] ^ _ ` a c t d l e f g h i j k m n o p q r s8 u } v w x y z { | ~  ڀ ځ ڂ ڃ ڄ چ ڽ ڇ ڞ ڈ ڙ ډ ڑ ڊ ڋ ڌ ڍ ڎ ڏ ڐ ڒ ړ ڔ ڕ ږ ڗ ژ8 ښ ڛ ڜ ڝ ڟ ڰ ڠ ڨ ڡ ڢ ڣ ڤ ڥ ڦ ڧ ک ڪ ګ ڬ ڭ ڮ گ8 ڱ ڹ ڲ ڳ ڴ ڵ ڶ ڷ ڸ ں ڻ ڼ ھ ڿ                                         8 ܄                                  ! " ۖ # $ w % G & ' ( ) * + , - . / 0 1 2 3 4 8 5 6 7 9 : ; < = > ? @ A B D C E F H I J K L Z M R N O P Q  S T W U Vg X Y  [ \ ] ^ _ ` a h b c d e f gg i j k l m n o p q r s t u vg x ۃ y z { | } ~  ۀ ہ ۂ  ۄ ۅ ۆ ۉ ۇ ۈg ۊ ۋ ی ے ۍg ێ ۏ ې ۑgg ۓ ۔ ە ۗ ۘ ۴ ۙ ۚ ۛ ۜ ۝ ۞ ۟ ۠ ۡ ۢ ۣ ۤ ۥ ۦ ۧ ۨ ۩ ۪ ۫ ۬g ۭ ۮ ۯ ۰ ۱ ۲ ۳g ۵ ۶ ۷ ۸ ۹ ۺ ۻ ۼ ۽ ۾ ۿg                                                                       O < ! - " # ( $ & %g ' ) + *g , . 3 / 0 1 2 g 4 9 5 7 6g| 8  : ; = I > E ? B @ Ag C Dg F G H J K L M N  P p Q a R V S T Ug W \ X Z Yg [  ] _ ^g ` b k c f d eg g i hg jg l m n  o  q r x s t v ug w y z } { |gg ~g ܀ ܁ ܂ ܃ ܅ ܆ ܥ ܇ ܒ ܈ ܉ ܊ ܎ ܋ ܌ ܍ ܏ ܐ ܑ ܓ ܜ ܔ ܘ ܕ ܖ ܗ ܙ ܚ ܛ ܝ ܡ ܞ ܟ ܠ ܢ ܣ ܤ ܦ ܱ ܧ ܬ ܨ ܩ ܪ ܫ ܭ ܮ ܯ ܰ ܲ ܿ ܳ ܷ ܴ ܵ ܶ ܸ ܹ ܺ ܻ ܼ ܽ ܾg    ސ ޅ |            &          u   w1  U    >  w  g                            u4$ ! " $ # %U ' ^ ( ) * + , = - . / 0 1 2 3 4 5 6 7 8 9 : ; <H > N ? @ A B C D E F G H I J K L MH O P Q R S T U V W X Y Z [ \ ]H _  ` a ݧ b ݅ c t d e f g h i j k l m n o p q r sH u v w x y z { | } ~  ݀ ݁ ݂ ݃ ݄H ݆ ݇ ݗ ݈ ݉ ݊ ݋ ݌ ݍ ݎ ݏ ݐ ݑ ݒ ݓ ݔ ݕ ݖ ݘ ݙ ݚ ݛ ݜ ݝ ݞ ݟ ݠ ݡ ݢ ݣ ݤ ݥ ݦ  ݨ ݺ ݩ ݪ ݫ ݬ ݭ ݮ ݯ ݰ ݱ ݲ ݳ ݴ ݵ ݶ ݷ ݸ ݹ ݻ ݼ ݽ ݾ ݿ                           n               K                                     ?     uU  -  g     ! " # $ % & ' ( ) * + ,  . / 0 1 2 3 4 5 6 7 8 9 : ; < = >|* @ v A c B C S D E F G H I J K L M N O P Q R T U V W X Y Z [  \ ] ^ _ ` a b  d e1 f g h i j k l m n o p q r s t u w z x y   {w } ށ ~  ހ ނ ރ ބ ކ ޏ އ ދ ވ މ ފ ތ ލ ގ8 ޑ ޤ ޒ ޛ ޓ ޗ ޔ ޕ ޖ ޘ ޙ ޚ ޜ ޠ ޝ ޞ ޟ ޡ ޢ ޣ ޥ ު ަ ާ ި ީ ޫ ެ ޭ ޮ ް } ޱ L ޲ ޳ ޴ ޵ ޺ ޶ ޷ ޸ ޹ ޻ ޿ ޼ ޽ ޾                                                               -             8     ( $ ! " # % & '8 ) * + , . = / 8 0 4 1 2 3 5 6 7 9 : ; < > C ? @ A B D H E F G I J K8 M Q N O P R h S b T Y U V W X Z ^ [ \ ] _ ` a c d8 e f g i s j k o l m n p q r8 t u y v w x z { | ~ ߬  ߀ ߉ ߁ ߃ ߂8 ߄ ߅ ߆ ߇ ߈ ߊ ߝ ߋ ߔ ߌ ߐ ߍ ߎ ߏ ߑ ߒ ߓ ߕ ߙ ߖ ߗ ߘ ߚ ߛ ߜ ߞ ߧ ߟ ߣ ߠ ߡ ߢ ߤ ߥ ߦ8 ߨ ߩ ߪ ߫ ߭ ߮ ߯ ߾ ߰ ߵ ߱ ߲ ߳ ߴ ߶ ߺ ߷ ߸ ߹ ߻ ߼ ߽ ߿ 8                    \                 -            8                         ! " # $ % & ' ( ) * + , . 9 / 4 0 1 2 3 5 6 7 8 : C ; ? < = > @ A B D H E F G I J K M N O QL R  S T U V W X Y D# Z  [ \ i ] ^ h _ d ` a b 3 c d e { f o g k h i j l m nƄ p t q r sf u x v wƲ y zƲ | } ~          )     '  bƢ q   E   Ʋ      T                  )      b         q /     q q q q  q   q q Jq h q q q q q q q q q q q q q q q q q qq qV q q6q    q q qq q q qV  + q # ! "qi8hq $q %q &q ' ) (q| *qhq ,q -q .qq 0 1 2 4 w 5 T 6 E 7 < 8 9 : ;T = A > ? @ B C DKh F O G K H I J L M NƢq P Q R S U h V _ W [ X Y ZCI \ ] ^ ` d a b c e f g i n j k l mq o s p q r t u v x y z {  | } ~   q            Kh           C      E      Ʋ                  ߞ" Y        )             CI  q   q   T                   ;  (  #     Ʋ  ! "E $ % & ' ) 2 * . + , - / 0 1 3 7 4 5 6 8 9 :J < O = F > B ? @ Aq C D E G K H I J L M Nq P Q U R S TƲ V W X Z [ ~ \ o ] f ^ b _ ` a c d e g k h i jƲ l m n p y q u r s tE v w xT z { | }    q   T Ʋ            q          Ƣ =    q        Ƣ      E    '   b   q   q   Ƅ                 Kh     Ʋ         q     C     *  $     ! " # % & ' ( )E + 4 , 0 - . / 1 2 3 5 9 6 7 8 : ; <q > ? b @ S A J B F C D E G H I K O L M N P Q R T ] U Y V W X Z [ \ ^ _ ` a c v d m e i f g h j k l n r o p q s t u w x | y z {q } ~ F|   q      H6    '      q      q      E               S E fE  f S  E  X   ߞ   Sq                 S       Ʋ         _ S ,  !               E    " ' # $ % & ( ) * +C - @ . 7 / 3 0 1 2 4 5 6S 8 < 9 : ; = > ? A J B F C D ET G H I K O L M N P Q R T U V W [ X Y Z \ ] ^ ` a b c) e f gƲ j  k l m n o p q r s t { u x v wƲ y zƲ |  } ~Ʋ  Ʋ  Ʋ  Ʋ  Ʋ  Ʋ                   E        R     E     3   Ƣ            )       q    S         q   b       C                *  %  !   q " # $ & ' ( ) + . , -q / 0 1 2C 4 r 5 T 6 A 7 @ 8 < 9 : ;Ʋ = > ?q B K C G D E F H I J L P M N O Q R S U _ V W [ X Y Zq \ ] ^ ` i a e b c d f g h j n k l mq o p q s t u ~ v z w x yq { | }    q   J   q   q   q      q   q    q                          q       E    q   Ƣ ^ > P L                   q                        5  *  ! " # $ % & ' ( ) + , - . / 0 1 2 3 4 6 A 7 8 9 : ; < = > ? @q B C D E F G H I J Kq M | N e O Z P Q R S T U V W X Y [ \ ] ^ _ ` a b c d f q g h i j k l m n o p r s t u v w x y z {q } ~                          q          q                              C                               '          q ,           q          q  !           " # $ % & ' ( ) * +q - D . 9 / 0 1 2 3 4 5 6 7 8 : ; < = > ? @ A B Cq E F G H I J K L M N Oq Q  R S T k U ` V W X Y Z [ \ ] ^ _ a b c d e f g h i jq l w m n o p q r s t u vC x y z { | } ~   Ʋ                              E          T          q          q          q          q                    q             e  6             q          q + ! " # $ % & ' ( ) *q , - . / 0 1 2 3 4 5 7 N 8 C 9 : ; < = > ? @ A BƲ D E F G H I J K L M O Z P Q R S T U V W X Y [ \ ] ^ _ ` a b c d f g ~ h s i j k l m n o p q r t u v w x y z { | }q                     q           q           \          C   q                              q                    q                     q  8  !           q " - # $ % & ' ( ) * + , . / 0 1 2 3 4 5 6 7q 9 P : E ; < = > ? @ A B C D' F G H I J K L M N Oq Q R S T U V W X Y Z [q ] ^ _ v ` k a b c d e f g h i j l m n o p q r s t uq w x y z { | } ~             q                               q                    q                    q           b           q [ ,           Ʋ            !           " # $ % & ' ( ) * +E - D . 9 / 0 1 2 3 4 5 6 7 8 : ; < = > ? @ A B Cq E P F G H I J K L M N O Q R S T U V W X Y ZT \ ] t ^ i _ ` a b c d e f g h j k l m n o p q r s u v w x y z { | } ~           q          b          q                                          q           q                    q            E                  q  2  '     ! " # $ % &q ( ) * + , - . / 0 1q 3 4 5 6 7 8 9 : ; < =E ? @ A B C r D [ E P F G H I J K L M N Oq Q R S T U V W X Y Zq \ g ] ^ _ ` a b c d e f h i j k l m n o p qq s t  u v w x y z { | } ~          q          q          q           q          Ƅ          C                    q            I            q          S                      q  2  '    ! " # $ % &Ƣ ( ) * + , - . / 0 1 3 > 4 5 6 7 8 9 : ; < = ? @ A B C D E F G Hq J j K W L M N O P Q R S T U V X _ Y Z [ \ ] ^ ` a b c d e f g h iq k l w m n o p q r s t u vC x y z { | } ~   q           q 4                     '      q          E                    q          q           q          q           q          q  (            '    ! " # $ % & 'q ) * + , - . / 0 1 2 3q 5 6 V 7 J 8 ? 9 : ; < = >E @ A B C D E F G H IƄ K L M N O P Q R S T Uq W n X c Y Z [ \ ] ^ _ ` a bS d e f g h i j k l mq o z p q r s t u v w x y { | } ~      q          b          q                    q           q             | ,               E          q                    q              !           " # $ % & ' ( ) * +q - X . E / : 0 1 2 3 4 5 6 7 8 9 ; <( =( >( ?( @( A( B( C( D(( F M G H I J K Lq N O P Q R S T U V Wq Y p Z e [ \ ] ^ _ ` a b c d f g h i j k l m n oq q r s t u v w x y z { } ~                                          E          q                    C                     q                    q             J           q   p  L  5  *  ! " # $ % & ' ( ) + , - . / 0 1 2 3 4' 6 A 7 8 9 : ; < = > ? @ B C D E F G H I J Kq M d N Y O P Q R S T U V W XC Z [ \ ] ^ _ ` a b cq e f g h i j k l m n o q r s ~ t u v w x y z { | }q          q          J          q                    q                       E                    q           J          q           q  :  #                 ! "b $ / % & ' ( ) * + , - .q 0 1 2 3 4 5 6 7 8 9q ; R < G = > ? @ A B C D E F H I J K L M N O P Qq S T U V W X Y Z [ \ ]C _ `  a b c d } e q f g h i j k l m n o pE r s t u v w x y z { |q ~           q                    q          q                     q                              q                    q  \  -                        Ʋ  "      !q # $ % & ' ( ) * + , . E / : 0 1 2 3 4 5 6 7 8 9 ; < = > ? @ A B C D F Q G H I J K L M N O P R S T U V W X Y Z [b ] ^ u _ j ` a b c d e f g h i k l m n o p q r s t v w x y z { | } ~            C          S          q            e                                         q                    q           q          q  A  *            C  ! " # $ % & ' ( )q + 6 , - . / 0 1 2 3 4 5q 7 8 9 : ; < = > ? @F| B Y C N D E F G H I J K L M O P Q R S T U V W Xq Z [ \ ] ^ _ ` a b c d f g h  i t j k l m n o p q r s u v w x y z { | } ~                    q                    q                    S                    q                    q           q          q             A   p  L  5  *  ! " # $ % & ' ( )q + , - . / 0 1 2 3 4 6 A 7 8 9 : ; < = > ? @ B C D E F G H I J Kq M Y N O P Q R S T U V W Xq Z e [ \ ] ^ _ ` a b c d f g h i j k l m n oq q r ~ s t u v w x y z { | }                     q           q                                b           S                    q          q          q  (              q          q     ! " # $ % & 'q ) 5 * + , - . / 0 1 2 3 4S 6 7 8 9 : ; < = > ? @q B C D r E \ F Q G H I J K L M N O PE R S T U V W X Y Z [q ] h ^ _ ` a b c d e f g i j k l m n o p qq s t  u v w x y z { | } ~Ƣ                    T          q                                        q                    q            Q "                 q                     ! # : $ / % & ' ( ) * + , - . 0 1 2 3 4 5 6 7 8 9q ; F < = > ? @ A B C D E G H I J K L M N O Pq R v S _ T U V W X Y Z [ \ ] ^ ` k a b c d e f g h i jq l m n o p q r s t uq w x y z { | } ~    Ƅ          S            S B          C          E                    q           T      '          q            q          E                      q  6 + ! " # $ % & ' ( ) * , - . / 0 1 2 3 4 5q 7 8 9 : ; < = > ? @ A C D s E \ F Q G H I J K L M N O P R S T U V W X Y Z [T ] h ^ _ ` a b c d e f gq i j k l m n o p q rq t u v w x y z { | } ~ q          q                    q                    q                    q          q          q            W (            C          q                ! " # $ % & 'q ) @ * 5 + , - . / 0 1 2 3 4b 6 7 8 9 : ; < = > ?q A L B C D E F G H I J K M N O P Q R S T U Vq X Y p Z e [ \ ] ^ _ ` a b c d) f g h i j k l m n oq q | r s t u v w x y z { } ~        q          Ƅ          q                           q          q      q      E                    q          q /                       q  $        ! " # % & ' ( ) * + , - .q 0 G 1 < 2 3 4 5 6 7 8 9 : ;q = > ? @ A B C D E Fq H I J K L M N O P Q R T U V W { X o Y d Z [ \ ] ^ _ ` a b c e f g h i j k l m nq p q r s t u v w x y z | } ~                             q          q         ( ( ( ( ( ( ( ( ((                    q           q            P !          E                     '          q " 9 # . $ % & ' ( ) * + , - / 0 1 2 3 4 5 6 7 8 : E ; < = > ? @ A B C D F G H I J K L M N Oq Q u R ^ S T U V W X Y Z [ \ ]q _ j ` a b c d e f g h iq k l m n o p q r s tq v w x y z { | } ~   '          q            8                                                   E                    q                      q            ,  !           " # $ % & ' ( ) * +T - . / 0 1 2 3 4 5 6 7 9 : i ; R < G = > ? @ A B C D E F H I J K L M N O P Qq S ^ T U V W X Y Z [ \ ] _ ` a b c d e f g hq j k v l m n o p q r s t u w x y z { | } ~  q                    q          E          q          q          q                    q           q   | u r q a  [ F  . B    O O O3O O O O3OO  O O O3O O  O O O3O   O O O3O O O O3O  /  &  " O O !O3O #O $O %O3O ' + (O )O *O3O ,O -O .O3O 0 9 1 5 2O 3O 4O3O 6O 7O 8O3O : > ;O <O =O3O ?O @O AO3O C j D W E N F J GO HO IO3O KO LO MO3O O S PO QO RO3O TO UO VO3O X a Y ] ZO [O \O3O ^O _O `O3O b f cO dO eO3O gO hO iO3O k z l u m q nO oO pO3O rO sO tO3O vO wO xO yO3O { | }O ~O O3O O O O3O O O O3O O O O3O O O O3O O O O3O O O O3O O O O3O O O O3O O O O3O O O O3O O O O3O O O O3O O O O3O O O O3O O O O3O O O O3O O O O3O O O O3O O O O3O O O O O3O O O O3O O O O3O O O O3O O O O3O O O O O3O O O O O3O  O O O3O O O O3O     O O O3O O O O3O   O O O3O O O O3O ! " i # J $ 7 % . & * ' ( )3 + , -3 / 3 0 1 23 4 5 63 8 A 9 = : ; <3 > ? @3 B F C D E3 G H I3 K V L Q M N O P3 R S T U3 W ` X \ Y Z [3 ] ^ _3 a e b c d3 f g h3 j k z l u m q n o p3 r s t3 v w x y3 { | } ~ 3   3   3  3   3   3   3   3   3   3   3   3   3  3   3   3   3   3   3   3   33    3   3   3   3   3     3   3      3   3     3   3  %  ! 3 " # $3 & * ' ( )3 + , -3 / 1 0 1 { 2 Y 3 F 4 = 5 9 6 7 83 : ; <3 > B ? @ A3 C D E3 G P H L I J K3 M N O3 Q U R S T3 V W X3 Z m [ d \ ` ] ^ _3 a b c3 e i f g h3 j k l3 n v o r p q3 s t u3 w x y z3 | } ~    3   3   3   3    3   3   3 3   3   3   3    3   3   3   3   3   3   3   3   3   3 3   3   3   3    3      3   3    3    3     3   3  &  %  !   3 " # $33 ' (3 ) - * + ,3 . / 03 2 3 v 4 W 5 H 6 ? 7 ; 8 9 :3 < = >3 @ D A B C3 E F G3 I N J K L M3 O S P Q R3 T U V3 X g Y ^ Z [ \ ]3 _ c ` a b3 d e f3 h q i m j k l3 n o p3 r s t u3 w x y z ~ { | }3   33   3   33   3   33 3   3   3   3   3   3   3    3    3   3   3   3   3   3   3   3    3   3   3   3    3    33     3   3     3   3    3 [ ! 8 " 1 # ( $ % & '3 ) - * + ,3 . / 03 2 7 3 4 5 633 9 H : ? ; < = >3 @ D A B C3 E F G3 I R J N K L M3 O P Q3 S W T U V3 X Y Z3 \ z ] g ^ _ c ` a b3 d e f3 h q i m j k l3 n o p3 r v s t u3 w x y3 { | } ~  3   3   3   3    3   3   3 3 3   3   33   3   3   3   3   3   3   3   3   3   3   3   3 3O  O O O3O O O O3O O O O3O O O O3O    O O3O O O O3O O O O3O O O O3O    O O O3O   O O O3O O O O3O ! * " & #O $O %O3O 'O (O )O3O + / ,O -O .O3O 0O 1O 2O3O 4 5 \ 6 I 7 @ 8 < 9O :O ;O3O =O >O ?O3O A E BO CO DO3O FO GO HO3O J S K O LO MO NO3O PO QO RO3O T X UO VO WO3O YO ZO [O3O ] p ^ g _ c `O aO bO3O dO eO fO3O h l iO jO kO3O mO nO oO3O q y r v sO tO uO3O wO xO3O z ~ {O |O }O3O O O O3O O O O3O O O O3O O O O3O O O O3O O O O3O O O O3O O O O3O O O O3O O O O O3O O O O3O O O O3O 3 O O O3O O O O3O O O O3O E    3   3   3   3 3   3   3   3   3    3     3   33  (          3   3    3   3  #     3   ! "3 $ % & '3 ) 6 * / + , - .3 0 4 1 2 33 53 7 < 8 9 : ;3 = A > ? @3 B C D33 G V H O I  J K3 L  M s N a O X P T Q R S3 U V W3 Y ] Z [ \3 ^ _ `3 b j c g d e f3 h i3 k o l m n3 p q r3 t  u } v y w x3 z { |3 ~    3   3       3   3     3   3          3     3   3       3   3    3   3         3   3     3   3       3   3     3   3  N             3   3     3   3    33      3  .            3   3     3   3  %  !    3 " # $3 & * ' ( )3 + , -3 / ; 0 2 13 3 7 4 5 63 8 9 :3 < E = A > ? @3 B C D3 F J G H I3 K L M33 P S Q R33 T U33 W = X [ Y Z33 \  ]  ^ } _ r ` i a e b c d3 f g h3 j n k l m3 o p q3 s | t x u v w3 y z {33 ~        3   3     3   3      33         3     3   3       3   33        3     3  3      3   3     3   3    3        3    3       3   3     3   3           3  3     3    3       3   3  3  *  !     3    3 " & # $ %3 ' ( )3 + 4 , 0 - . /3 1 2 33 5 9 6 7 83 : ; <3 >  ?  @  A f B S C L D H E F G3 I J K3 M Q N O P3 R3 T ] U Y V W X3 Z [ \3 ^ b _ ` a3 c d e3 g z h q i m j k l3 n o p3 r v s t u3 w x y3 {  |  } ~ 3 3     3   3           3   3     3   3       3   33         3   3    3       3   3     3   33  3             3   33       3   3     3  3         3   33    3  3     3      3  4  !       3   3     3    3 " + # ' $ % &3 ( ) *3 , 0 - . /3 1 2 33 5 H 6 ? 7 ; 8 9 :3 < = >3 @ D A B C3 E F G3 I R J N K L M3 O P Q3 S W T U V3 X Y Z3 \ ] ^ _ `3 b c d e f g h i j k l m n o p33 s t33 v y w x33 z {33 }  ~   33  33    33  33        33  33    33  33      33  33    33  33  1  -    6  6    6   ,   6           6     666 6 6  66      6 6 666   66  6  66   666 6      6    6 6   6   6   66 6 6 66 6 6 6      6  6    66  666  6     6 6 6   666 66   66  6   '6   % ! # "6 $6 &6 ( ) * +66 . / 06 2 3 4 5 6 7 8 9 : ; < = > ? @ A J B F C D E6 G H I6 K L O M N6 P Q6 S T ? U b V  W  X w Y j Z b [ \ ] ^ _ ` a c d e f g h iq k l m n o p q r s t u vq x  y  z { | } ~             q            q                 q           w            q              q                q  +        q           q        q  "                       3qF  h6 q qq            !q # $ % & ' ( ) *q , K - B . 6 / 0 1 2 3 4 5 7 8 9 : ; < = > ? @ Aq C D E F G H I Jq L U M N O P Q R S Tq V W X Y Z [ \ ] ^ _ ` aq c  d  e | f s g h i j k l m n o p q rq t u v w x y z {q }  ~            q           q            q                q            q             q           q           q            q             q            q  ,                        q   ! " # $ % & ' ( ) * +q - 6 . / 0 1 2 3 4 5q 7 8 9 : ; < = >q @  A  B { C Z D Q E F G H I J K L M N O Pq R S T U V W X Yq [ n \ f ] ^ _ ` a b c d eq g h i j k l m o p q r s t u v w x y zq |  }  ~           q        q                          q      T    E        q             q       b            q                    q        q               q               q    d  =  0  $      ! " #q % & ' ( ) * + , - . / 1 2 3 4 5 6 7 8 9 : ; <q > S ? G @ A B C D E Fq H I J K L M N O P Q RƢ T U V W X Y Z [ \ ] ^ _ ` a b cq e  f  g o h i j k l m n p q r s tq uq vq wq xq yq zq {q |qq } ~qq            q         q           q           q            q              q            q        q           q                          q            q     [  4  '               ! " # $ % &q ( ) * + , - . / 0 1 2 3S 5 N 6 B 7 8 9 : ; < = > ? @ AS C D E F G H I J K L Mq O P Q R S T U V W X Y Zq \  ] r ^ f _ ` a b c d e g h i j k l m n o p qq s t u v w x y z { | } ~q            q                q   q       q        q           q           E            q            q            q            q P 1 $          q          ! " #CW % & ' ( ) * + , - . / 0q 2 K 3 ? 4 5 6 7 8 9 : ; < = > @ A B C D E F G H I Jb L M N Oq Q l R _ S T U V W X Y Z [ \ ] ^q ` a b c d e f g h i j kq m z n o p q r s t u v w x yq { | } ~        q        q           q            q            q          Ƣ           q        q            q        q t 9               q            q  ,  $         ! " #q % & ' ( ) * +q - . / 0 1 2 3 4 5 6 7 8q : Y ; L < @ = > ?q A B C D E F G H I J Kq M N O P Q R S T U V W Xq Z g [ \ ] ^ _ ` a b c d e fq h i j k l m n o p q r sq u v w x y z { | } ~     q           q            q   E           q        q   q           q            q                        q x ;                     q            q  .  &     ! " # $ %q ' ( ) * + , -q / 0 1 2 3 4 5 6 7 8 9 :q < _ = R > F ? @ A B C D E G H I J K L M N O P Qq S T U V W X Y Z [ \ ] ^q ` k a b c d e f g h i jq l m n o p q r s t u v wq y z { | } ~         ߞ "E ߞE" "fXߞ  ߞfX  Ef fXX"  ߞ ߞ"ߞ           q            q        q                q           q           q            q        q        q  7  /             !q " # 'q $ %qq &q ( + ) *Jh6 , -q .qi q 0 1 2 3 4 5 6 8 ( 9  :  ;  <  = 4 > ? @ Z A K B C G D E F H I JƲ L U M Q N O PT R S T V W X Y [ \ ] ^ _ ` a b e cEE dEEEE f g h i j k l m n o p q r s tEE u v w x y z { | } ~    EE   C      C    T                     Ƅ   q            q       E        q              q                      q           )  $      ! " #Ʋ % & ' ( * / + , - .C 0 1 2 3q 5  6 m 7 V 8 G 9 B : > ; < = ? @ A C D E F H Q I M J K L N O P R S T U W b X ] Y Z [ \ ^ _ ` a c h d e f gE i j k l n  o ~ p y q u r s tT v w x z { | }      E                    Ʋ                                               E              S                            S         Ʋ   q    S                  ~  G  ,        Ƅ     '  #   ! " $ % &Ƣ ( ) * + - < . 7 / 3 0 1 2 4 5 6 8 9 : ;S = B > ? @ A C D E F H c I X J S K O L M N P Q R T U V W Y ^ Z [ \ ] _ ` a bq d s e n f j g h iE k l mq o p q r t y u v w xS z { | }               w      Ƅ             q                 C          q                                     K                    q       q   E             C      b     C            3  -  (  $ ! " #E % & ' ) * + ,b . / 0 1 2 4 @ 5 ; 6 7q 8 9 :q < = > ? A F B C D E G H I J L ~ M h N ] O X P T Q R S U V W Y Z [ \ ^ c _ ` a b d e f g i s j k o l m nq p q rS t y u v w x z { | }             T T T T TT  T TT  T T TT   T Ttt tT   S         Ʋ            q                s    8             '   q           Ƅ       Ʋ            T          C               jm                S      -  (  $ ! " # % & ' ) * + , . 3 / 0 1 2 4 5 6 7 9 k : U ; J < E = A > ? @ B C Dq F G H I K P L M N Oq Q R S TT V e W ` X \ Y Z [T ] ^ _ a b c d f g h i j l  m w n o s p q rE t u vC x } y z { | ~           q                             S   T           b   q    C        S    Ƅ          Ʋ           )   S    b     Ʋ         q   T          q    T  <  !            H6   b    C      Ƅ      " 1 # , $ ( % & ' ) * +S - . / 0b 2 7 3 4 5 6 8 9 : ;T = X > M ? H @ D A B C E F Gq I J K LS N S O P Q R T U V W Y h Z c [ _ \ ] ^q ` a bq d e f gq i n j k l m o p q r t = u  v  w  x  y  z ~ { | }q   T           q   Ƣ    q        S    C     Ʋ                                q          S    T             q   Ʋ                      q                  "            Ʋ    E      !Ʋ # 2 $ - % ) & ' () * + , . / 0 1 3 8 4 5 6 7 9 : ; < >  ? q @ [ A L B G C D E F' H I J K M V N R O P QƄ S T UT W X Y Z \ k ] f ^ b _ ` a c d eq g h i j l m n o p r  s } t u y v w x z { |q ~                    E          E             Ƅ                             q                                                   Ʋ                       j        M  2  #              ! " $ - % ) & ' (E * + ,Ʋ . / 0 1q 3 B 4 = 5 9 6 7 8 : ; <q > ? @ A C H D E F G I J K L N e O Z P U Q R S T V W X Y [ ` \ ] ^ _ a b c d f u g p h l i j kq m n o q r s tE v { w x y z | } ~ q                                          Ʋ    E      Ʋ                  q              Ʋ            T              Ʋ  _  ,              Ƅ                      S  !       T        T " ' # $ % &q ( ) * + - H . = / 8 0 4 1 2 3T 5 6 7q 9 : ; < > C ? @ A B D E F G I T J O K L M Nb P Q R S' U Z V W X Y [ \ ] ^T `  a | b q c l d h e f g i j kS m n o pb r w s t u vq x y z { }  ~      Ƣ             q                  C    Ʋ          Ʋ                              >                                              Ʋ          q         (            T      #    ! " $ % & 'b ) 8 * 3 + / , - . 0 1 2q 4 5 6 7 9 : ; < = ? u @ Z A O B J C F D EC G H I K L M N P U Q R S T V W X Y [ j \ e ] a ^ _ `q b c d f g h i k p l m n o q r s t v  w  x  y } z { | ~                    S                                                      Ʋ             E    q                            Ƅ            Ʋ               <  &           S  !      " # $ %C ' 6 ( 1 ) - * + , . / 0 2 3 4 5 7 8 9 : ;S = O > I ? D @ A B CS E F G H J K L M N P _ Q Z R V S T U W X Yq [ \ ] ^T ` e a b c d f g h i k ! l C m  n  o  p  q z r v s t u w x yS { | } ~          T    Ʋ                                 E   S          T                q    q                      E                       b   S    C              Ʋ  (        S      #    ! " $ % & 'C ) 8 * 3 + / , - . 0 1 2Ʋ 4 5 6 7S 9 > : ; < =S ? @ A Bq D  E  F e G V H Q I M J K L N O P R S T U W ` X \ Y Z [ ] ^ _q a b c d f u g p h l i j k m n o q r s t v { w x y z | } ~ T                            C         T   S              )             E   Ʋ          S    C                                     S   E    Ʋ                        T           S "  #  $ _ % D & 5 ' 0 ( , ) * + - . / 1 2 3 4 6 ? 7 ; 8 9 : < = >Ʋ @ A B C E T F O G K H I J L M NƲ P Q R S U Z V W X Y [ \ ] ^ ` { a p b k c g d e fƲ h i jb l m n o q v r s t u w x y zq |  }  ~    Ʋ   Ʋ              T             b   S              T                C                        b              T           q      C    T  o  =  "                           Ʋ   b     ! # 2 $ - % ) & ' ( * + , . / 0 1 3 8 4 5 6 7 9 : ; < > T ? N @ I A E B C D F G HS J K L M O P Q R Sq U d V _ W [ X Y Z \ ] ^ ` a b cT e j f g h iq k l m n p  q  r  s | t x u v w y z {S } ~                     q   T                       Ʋ    C                      T              q  !  =      H                                                       Ʋ  -  "               ! # ( $ % & ' ) * + , . = / 8 0 4 1 2 3 5 6 7 9 : ; <q > C ? @ A B D E F G I v J [ K U L M Q N O P R S TS V W X Y Z \ k ] f ^ b _ ` a c d eb g h i j l q m n o p r s t u w  x  y  z ~ { | }   q    S      q            Ƣ                $                             Ʋ         T   Ʋ              T              Ʋ                       E    E E  E  EE   E  E E EE9E E E E E E E E E EHU       ! " #C % \ & A ' 6 ( 1 ) - * + , . / 0Ʋ 2 3 4 5q 7 < 8 9 : ; = > ? @ B Q C L D H E F G) I J K M N O P R W S T U V X Y Z [ ] w ^ l _ g ` c a b d e f h i j k m r n o p qƲ s t u v x  y  z ~ { | }T   q         C  _               T   Ʋ              T            q    T      b               E   E    E                      Ʋ              T  2          S                   '  "         !q # $ % & ( - ) * + , . / 0 1 3 I 4 > 5 6 : 7 8 9 ; < = ? D @ A B C E F G H J Y K T L P M N O Q R ST U V W XT Z [ \ ] ^ `  a  b  c r d m e i f g h j k l n o p q s | t x u v w y z { } ~  S                          C                  q                      q          S    q             Ƣ   S                       E   S         T  "            Ʋ   Ʋ          T     ! # 2 $ - % ) & ' ( * + , . / 0 1 3 8 4 5 6 7 9 : ; <C >  ? % @  A | B a C R D M E I F G H J K L N O P Q S \ T X U V W' Y Z [q ] ^ _ ` b q c l d h e f g i j k m n o p r w s t u vE x y z {T }  ~       b         Ʋ         E   S          CI                                                          Ʋ          Ʋ    b           b                  Ʋ            q    T       ! " # $q &  ' b ( G ) 8 * 3 + / , - . 0 1 2 4 5 6 7E 9 B : > ; < = ? @ Aq C D E F H W I R J N K L M O P Q S T U V X ] Y Z [ \b ^ _ ` a c y d s e n f j g h i k l m o p q r t u v w x z  {  |  } ~ E   T                                   q             Ʋ                 S                            T            q                o  8                     E   T      -  ( $ ! " # % & 'S ) * + , . 3 / 0 1 2 4 5 6 7C 9 T : I ; D < @ = > ? A B C E F G H J O K L M NT P Q R Sq U d V _ W [ X Y Z \ ] ^Ʋ ` a b c' e j f g h i k l m n p q r | s t x u v w y z {S } ~   C    C   S           Ʋ    q   E   S                  S            q !s !A           Ʋ     !$ ! !     !     ! ! ! ! ! ! ! ! ! ! ! ! n~ !  ! ! ! ! ! ! ! ! ! ! ! ! !n ! ! ! !  !! !" !# !% !* !& !' !( !) !+ !, !- !. !/ !0 !1 !2 !3 !4 !: !5 !7 !6I !8 !9"YX !; !> !< !=h߮ !? !@wikO !B !X !C !R !D !M !E !I !F !G !H' !J !K !L !N !O !P !Qq !S !T !U !V !WT !Y !h !Z !c ![ !_ !\ !] !^ !` !a !bT !d !e !f !g !i !n !j !k !l !m !o !p !q !r !t ! !u ! !v ! !w !x !| !y !z !{ !} !~ ! ! ! ! ! ! ! ! ! ! !Ʋ ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !q ! ! ! ! !q ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !T ! ! ! !q ! ! ! ! ! ! ! ! ! ! ! %; ! # ! " ! "C ! " ! ! ! ! ! ! ! ! ! ! !E ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !C ! ! ! ! ! " ! " ! ! ! ! "q " " " "Ʋ " " " "  "  "  "  " " " " "( " " " " " " " " " " "S " "# " "  "! "" "$ "% "& "' ") "8 "* "3 "+ "/ ", "- ". "0 "1 "2S "4 "5 "6 "7 "9 "> ": "; "< "= "? "@ "A "B "D "w "E "` "F "U "G "P "H "L "I "J "K "M "N "OƲ "Q "R "S "T "V "[ "W "X "Y "ZƲ "\ "] "^ "_ "a "l "b "g "c "d "e "fq "h "i "j "k "m "r "n "o "p "q "s "t "u "v "x " "y " "z " "{ " "| "} "~b " " "Ʋ " " " " " " " " " "E " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "T " #" " " " " " " " " " " " " "S " " "Ʋ " " " " " " " " " " " " " " " " " "q " " " " " " " " " " " " " " " " " " " " " " " " " "T " # " " " " " " " " "T " " "C " " " " " # " " # # # # # #q # # # # # # #  #  #  # # #S # # # # # # # # # # # # #  #! ## #U #$ #: #% #4 #& #/ #' #+ #( #) #* #, #- #. #0 #1 #2 #3 #5 #6 #7 #8 #9 #; #J #< #E #= #A #> #? #@Ʋ #B #C #D #F #G #H #I #K #P #L #M #N #O #Q #R #S #T #V #q #W #f #X #a #Y #] #Z #[ #\q #^ #_ #` #b #c #d #eT #g #l #h #i #j #k #m #n #o #p #r # #s #| #t #x #u #v #w' #y #z #{T #} #~ # # # # # # # # # # # # # $\ # # # # # # # # # # # # # # # # # #q # # # # # # # # # # # # # #S # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #E # # #T # # # # # # # # # #C # # # #q # # # # # # # # # # # #Ʋ # # # #b # # # # # # $/ # $ # $ # $ # $ # # # $ $ $ $ $ $ $ $ $ $  $  $  $ $ $ $ $q $ $$ $ $ $ $ $ $ $Ƅ $ $ $ $  $! $" $# $% $* $& $' $( $) $+ $, $- $.T $0 $F $1 $@ $2 $; $3 $7 $4 $5 $6 $8 $9 $:T $< $= $> $? $A $B $C $D $E $G $V $H $Q $I $M $J $K $L $N $O $P $R $S $T $U $W $X $Y $Z $[ $] $ $^ $ $_ $~ $` $o $a $j $b $f $c $d $e $g $h $i $k $l $m $n $p $y $q $u $r $s $t $v $w $xƲ $z ${ $| $} $ $ $ $ $ $ $ $ $ $ $ $q $ $ $ $ $ $ $ $ $ $' $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $q $ $ $ $ $ $ $ $ $ $ $ $ $ $' $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $S $ % $ $ $ $ $ $ $ $ $ $ $w $ $ $E $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ % % % % % % % % % % % % %  %  %  %  % %S % % % % % % % % % %Ʋ % % % % %! %0 %" %+ %# %' %$ %% %&q %( %) %* %, %- %. %/q %1 %6 %2 %3 %4 %5 %7 %8 %9 %: %< & %= & %> % %? %u %@ %_ %A %P %B %K %C %G %D %E %Fb %H %I %JƲ %L %M %N %O %Q %Z %R %V %S %T %U %W %X %Yq %[ %\ %] %^ %` %o %a %j %b %f %c %d %e %g %h %i %k %l %m %n %p %q %r %s %t %v % %w % %x %y %} %z %{ %| %~ % %q % % % % % %b % % % % % % % % % % % % %T % % %Ʋ % % % %C % % % % %T % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %q % % % % % % % % % % % % % % % % % % % % % % % % % % % %S % % % % % % % % % % % % % % % & % & % % % % %CI % % &q & & & & & & & &  &  &  &  & & & & & & &N & &3 & &$ & & & & & & & & & &T &  &! &" &# &% &. && &* &' &( &) &+ &, &- &/ &0 &1 &2 &4 &C &5 &> &6 &: &7 &8 &9 &; &< &=T &? &@ &A &BƲ &D &I &E &F &G &HC &J &K &L &Mq &O &j &P &_ &Q &Z &R &V &S &T &U &W &X &YT &[ &\ &] &^C &` &e &a &b &c &d &f &g &h &i &k &u &l &m &q &n &o &p &r &s &tS &v &{ &w &x &y &zƲ &| &} &~ & & & & & & & & & & & & & & & & &S & & & & & & & & & &q & & & & & & & & & & & & & & & &S & & & & & & & & & & & & & & & & & & & & & & & & & & & &S & & & & & & & & & & & & & &Ʋ & & & & & & & & & & & &Ʋ & & & &Ʋ & & & & & & & & & &E & ' & 'd & '- & ' & ' & & & & & & &Ʋ & & &E & ' ' 'q ' ' ' ' ' ' ' '  '  ' S ' ' ' ' ' '" ' ' ' ' ' ' ' ' ' ' ' ' '  '!S '# '( '$ '% '& '' ') '* '+ ', '. 'I '/ '> '0 '9 '1 '5 '2 '3 '4 '6 '7 '8S ': '; '< '=b '? 'D '@ 'A 'B 'C 'E 'F 'G 'HC 'J 'Y 'K 'T 'L 'P 'M 'N 'OƲ 'Q 'R 'SC 'U 'V 'W 'X 'Z '_ '[ '\ '] '^ '` 'a 'b 'c 'e ' 'f ' 'g 'v 'h 'q 'i 'm 'j 'k 'lE 'n 'o 'pS 'r 's 't 'u 'w '| 'x 'y 'z '{ '} '~ ' ' ' ' ' ' ' ' ' ' 'E ' ' 'S ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 'S ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 'T ' ' 'T ' ' ' 'q ' ' ' ' ' ' ' ' ' ' ' (G ' ' ' ' ' ' ' ' ' ' ' 'Ʋ ' ' ' ' ' ' ' ' ' ' ' ' ' 'Ʋ ' ' ' 'q ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ( ( ( ( ( ( ( ( ( ( ( ( ( S (  (  (  (Ʋ ( ( ( ( ( ( ( ( ( (b ( (< ( (% ( (! ( ( ( C (" (# ($S (& (' (( () (* (+T (,T (-T (.T (/T (0T (1T (2T (3T (4T (5T (6TT (7 (8 (:T (9 (;Tޟ (= (B (> (? (@ (A (C (D (E (F (H (z (I (d (J (Y (K (T (L (P (M (N (O (Q (R (S (U (V (W (X (Z (_ ([ (\ (] (^ (` (a (b (cq (e (t (f (o (g (k (h (i (j (l (m (nƲ (p (q (r (s (u (v (w (x (y ({ ( (| ( (} ( (~ ( ( (q ( ( ( ( ( ( ( ( (E ( ( ( ( ( ( ( ( ( ( ( (T ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( 6 ( / ( , ( *e ( ) ( )! ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (E ( ( (Ʋ ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (S ( ( ( ( ( ( ( ( ( ( ( ( ( (Ʋ ( ) ( ( ( ( ( ( ( ( (Ʋ ( ( ( ( ( ( ( ( ) ( ( ( ) ) ) ) )C ) ) ) ) ) ) )  )  )  ) ) )q ) ) ) ) ) ) ) ) ) ) ) ) ) )  )" )T )# )9 )$ ). )% )& )* )' )( )) )+ ), )-T )/ )4 )0 )1 )2 )3 )5 )6 )7 )8 ): )I ); )D )< )@ )= )> )?Ʋ )A )B )Cq )E )F )G )H )J )O )K )L )M )N )P )Q )R )S )U )p )V )e )W )` )X )\ )Y )Z )[ )] )^ )_T )a )b )c )d )f )k )g )h )i )jq )l )m )n )o )q ) )r ){ )s )w )t )u )v )x )y )z )| )} )~ ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )q ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )q ) ) ) )T ) ) ) ) ) ) ) ) ) ) ) )S ) ) ) ) ) ) ) ) ) )q ) ) ) )q ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )q ) ) ) ) ) ) ) ) ) ) ) )q ) *2 ) * ) * ) * ) * * * *J * * *Ƅ * *  *  *  * * * * * * * * * * * *' * *" * * * * * * *  *! *# *$ *% *& *( *- *) ** *+ *, *. */ *0 *1 *3 *J *4 *? *5 *: *6 *7 *8 *9S *; *< *= *>b *@ *E *A *B *C *D *F *G *H *I *K *Z *L *U *M *Q *N *O *P *R *S *T *V *W *X *Yq *[ *` *\ *] *^ *_ *a *b *c *d *f +; *g * *h * *i * *j *y *k *t *l *p *m *n *oE *q *r *sT *u *v *w *x *z * *{ * *| *} *~' * * *T * * * * * * * * * * * * *Ƅ * * * * * * * * * * * * * * * * *S * * * * * * * * * * * * * *S * * * *C * * * * * * * * * * * * * * * * * * *q * * *S * * * * * * * * * * * * * * * + * * * * * * * * * *T * * * * * * * * * * * * * * * + * * * * * * * * * *Ʋ * + + + + + + + + + + + + + + + + + + +q + + +S + + + +E + + + + + +! +0 +" ++ +# +' +$ +% +&q +( +) +*Ʋ +, +- +. +/C +1 +6 +2 +3 +4 +5 +7 +8 +9 +:T +< + += +t +> +Y +? +J +@ +E +A +B +C +DT +F +G +H +I +K +T +L +P +M +N +O +Q +R +S +U +V +W +X +Z +i +[ +d +\ +` +] +^ +_ +a +b +cT +e +f +g +hq +j +o +k +l +m +n +p +q +r +s +u + +v + +w + +x +| +y +z +{ +} +~ + + + + +S + + + + + + + + + + + + + + + + + +Ƣ + + +q + + + + + + + + + + + + + + + + + + + + + + + + +E + + + + + + + + + +C + + + + + + + +C + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + , + + , , , , , , , - , , , ,y , ,F , ,+ , , , , , , , , , , , , , , , , , ,& , ," , ,  ,!S ,# ,$ ,% ,' ,( ,) ,*q ,, ,; ,- ,6 ,. ,2 ,/ ,0 ,1 ,3 ,4 ,5Ʋ ,7 ,8 ,9 ,:) ,< ,A ,= ,> ,? ,@ ,B ,C ,D ,E ,G ,b ,H ,W ,I ,R ,J ,N ,K ,L ,M ,O ,P ,Qq ,S ,T ,U ,V ,X ,] ,Y ,Z ,[ ,\Ƅ ,^ ,_ ,` ,a ,c ,n ,d ,i ,e ,f ,g ,hq ,j ,k ,l ,m ,o ,t ,p ,q ,r ,s ,u ,v ,w ,x ,z , ,{ , ,| , ,} , ,~ , , , ,' , , ,Ʋ , , , , , , , , , , , , , ,q , , , , , , , , , , , , , , , , , , , , , , , , , ,C , , , , , , , , , , , , ,q , , , , , , , , , ,) , , , , , , , , , , , , , , , , , , , , , , , , , , , -N , - , - , , , , , , , , , , , ,q , , , , , - , , , , , , , ,T - - - -q - - - - - - -  -  -  -  - - - - - - - - - - - - - - - -q -! -7 -" -1 -# -, -$ -( -% -& -' -) -* -+T -- -. -/ -0 -2 -3 -4 -5 -6 -8 -C -9 -> -: -; -< -= -? -@ -A -B -D -I -E -F -G -H -J -K -L -Mb -O - -P -k -Q -` -R -[ -S -W -T -U -V -X -Y -Z' -\ -] -^ -_ -a -f -b -c -d -eS -g -h -i -j -l -{ -m -v -n -r -o -p -q -s -t -uE -w -x -y -z' -| - -} -~ - - - - - -b - - - - - - - - - -T - - - - - - - - - - - - - -b - - - - - - - - - - - -C - - - - - - - - - - - - - - - . - .U - .& - . - . - - - - - - - - - - - - - - - - - - - - -D - -Jn - - - - - - - -DDJ -n - - -~ -D - - -DDD - - -D - - - - - - -~D - - -D - - - - - - -D - - -D - - - . . . . . . . .Ƅ . .  .  .  .  . . . . . . . . . . . . .T . .! . . . .  ." .# .$ .% .' .> .( .3 .) .. .* .+ ., .-Ƣ ./ .0 .1 .2E .4 .9 .5 .6 .7 .8 .: .; .< .=Ʋ .? .J .@ .E .A .B .C .D .F .G .H .Ib .K .P .L .M .N .O .Q .R .S .Tq .V . .W .r .X .g .Y .b .Z .^ .[ .\ .] ._ .` .a .c .d .e .f .h .m .i .j .k .l .n .o .p .q .s .} .t .u .y .v .w .xq .z .{ .|S .~ . . . . . . . . . . . . . . . . . . .S . . . .E . . . . . . . . . . . . . . . . . . . . . . . . . .C . . . . . . . . . . . /* . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .S . . . . . . . . . . . .T . . . . . . . . .S . / . / . . . . . . .' . . . / / / / / / / / / /  /  /  /  /Ʋ / / / / / / / / /' / / / / / / / / /% /! /" /# /$ /& /' /( /) /+ /] /, /B /- /< /. /7 // /3 /0 /1 /2 /4 /5 /6T /8 /9 /: /; /= /> /? /@ /A /C /R /D /M /E /I /F /G /H /J /K /LƲ /N /O /P /Q /S /X /T /U /V /WE /Y /Z /[ /\ /^ /y /_ /n /` /i /a /e /b /c /d /f /g /hq /j /k /l /m /o /t /p /q /r /s /u /v /w /x /z / /{ / /| / /} /~ / / / /q / / / /C / / / / / / 3A / 1l / 0l / 0 / / / / / / / / / / / / /H6 / / / / / / / / / / / / / /C / / /q / / / /q / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /S / / / / / / / / / /q / / / / / / / / / / / / /S / / /q / / / / / / / / 0 0 09 0 0 0 0 0 0 0 0 0 0 0 w 0  0  0 T 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0. 0 0) 0! 0% 0" 0# 0$S 0& 0' 0(T 0* 0+ 0, 0-T 0/ 04 00 01 02 03 05 06 07 08S 0: 0Q 0; 0F 0< 0A 0= 0> 0? 0@C 0B 0C 0D 0ET 0G 0L 0H 0I 0J 0K 0M 0N 0O 0PC 0R 0a 0S 0\ 0T 0X 0U 0V 0W 0Y 0Z 0[q 0] 0^ 0_ 0` 0b 0g 0c 0d 0e 0f 0h 0i 0j 0kT 0m 0 0n 0 0o 0 0p 0 0q 0 0r 0v 0s 0t 0u 0w 0x 0y 0z 0{ 0| 0} 0~ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0U 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0q 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0b 0 0 0 0T 0 0 0 0 0 0 0 0 0 0C 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0T 0 0 0 0 0 0 0 0 0J 0 0 0C 0 0 0 0 0 0 0 0 0 0q 0 0 0 0 0 15 0 1 1 1 1 1 1 1 1 1 1 1 1 1 S 1  1  1  1 1 1 1 1 1 1S 1 1 1 1 1 1* 1 1% 1 1! 1 1 1  1" 1# 1$Ʋ 1& 1' 1( 1) 1+ 10 1, 1- 1. 1/E 11 12 13 14 16 1Q 17 1F 18 1A 19 1= 1: 1; 1< 1> 1? 1@Ʋ 1B 1C 1D 1ET 1G 1L 1H 1I 1J 1Kq 1M 1N 1O 1Pq 1R 1a 1S 1\ 1T 1X 1U 1V 1W 1Y 1Z 1[ 1] 1^ 1_ 1`b 1b 1g 1c 1d 1e 1f 1h 1i 1j 1k 1m 2H 1n 1 1o 1 1p 1 1q 1| 1r 1w 1s 1t 1u 1vq 1x 1y 1z 1{ 1} 1 1~ 1 1 1T 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1q 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1T 1 1 1 1' 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1E 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2  2  2  2 2( 2 2 2 2 2 2 2 2 2S 2 2 2 2 2 2 2Ʋ 2 2# 2 2  2! 2" 2$ 2% 2& 2' 2) 2= 2* 2/ 2+ 2, 2- 2.Ʋ 20 21 22 23 24 25q 26q 27 28qh 29q 2:q 2;q 2<qFV 2> 2C 2? 2@ 2A 2B 2D 2E 2F 2GT 2I 2 2J 2 2K 2f 2L 2W 2M 2R 2N 2O 2P 2QT 2S 2T 2U 2V 2X 2a 2Y 2] 2Z 2[ 2\ 2^ 2_ 2`T 2b 2c 2d 2e 2g 2v 2h 2q 2i 2m 2j 2k 2lq 2n 2o 2p 2r 2s 2t 2u 2w 2| 2x 2y 2z 2{ 2} 2~ 2 2S 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2E 2 2 2 2Ʋ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2C 2 2 2} 2 2 2 2 2C 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2C 2 2 2 2E 2 2 2 2 2 2 2 2 2 2' 2 2 2 2 2 2 2 2 2 2 2 2q 2 2 2 2q 3 3 3 3 3 3 3 3 3 3 Ʋ 3 3& 3 3 3 3 3 3 3 3 3 3 3 3Ʋ 3 3 3 3 3 3! 3 3 3 3  3" 3# 3$ 3%' 3' 36 3( 31 3) 3- 3* 3+ 3,C 3. 3/ 30q 32 33 34 35 37 3< 38 39 3: 3; 3= 3> 3? 3@ 3B 4 3C 4# 3D 3 3E 3 3F 3a 3G 3V 3H 3Q 3I 3M 3J 3K 3Lq 3N 3O 3P 3R 3S 3T 3U 3W 3\ 3X 3Y 3Z 3[q 3] 3^ 3_ 3`T 3b 3q 3c 3l 3d 3h 3e 3f 3g 3i 3j 3kS 3m 3n 3o 3p 3r 3s 3t 3u 3v 3w 3xTT 3yT 3zT 3{ 3|T 3}T 3~T 3T 3T 3T 3T 3T 3T 3TTt 3 3 3 3 3 3 3 3 3 3E 3 3 3 3 3 3 3 3 3E 3 3 3 3Ʋ 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3C 3 3 3 3 3 3 3 3 3 3q 3 3 3 3 3 3 3 3 3 3 3 3 3Ƣ 3 3 3 3 3 3 3 3 3 3 3 3 3C 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3S 3 3 3 3q 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3C 3 3 3 3T 3 4 3 4 4 4CI 4 4 4 4 4 4 4 4 4 4 4  4  4 4 4 4T 4 4 4 4q 4 4 4 4 4 4 4 4  4! 4"T 4$ 4 4% 4` 4& 4E 4' 46 4( 41 4) 4- 4* 4+ 4,Ʋ 4. 4/ 40 42 43 44 45 47 4@ 48 4< 49 4: 4;E 4= 4> 4? 4A 4B 4C 4DƲ 4F 4U 4G 4P 4H 4L 4I 4J 4K 4M 4N 4Oq 4Q 4R 4S 4T 4V 4[ 4W 4X 4Y 4Z 4\ 4] 4^ 4_b 4a 4w 4b 4q 4c 4l 4d 4h 4e 4f 4gƲ 4i 4j 4k 4m 4n 4o 4p 4r 4s 4t 4u 4vE 4x 4 4y 4~ 4z 4{ 4| 4}q 4 4 4 4q 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4F| 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4b 4 4 4 4 4 4 4 4 4Ƅ 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4q 4 5 4 5u 4 52 4 5 4 5 4 5 4 4 4 4 4E 5 5 5 5 5 5 5 5 5 5 5 5  5  5  5 5 5q 5 5 5 5b 5 5' 5 5" 5 5 5 5 5 5 5  5! 5# 5$ 5% 5&C 5( 5- 5) 5* 5+ 5, 5. 5/ 50 51 53 5N 54 5C 55 5> 56 5: 57 58 59 5; 5< 5=b 5? 5@ 5A 5BC 5D 5I 5E 5F 5G 5HT 5J 5K 5L 5M 5O 5Z 5P 5U 5Q 5R 5S 5TS 5V 5W 5X 5Y 5[ 5p 5\ 5] 5^ 5_ 5`q 5a 5bq 5cqq 5d 5e 5j 5f 5gqJ 5h 5iJ6Vq 5k 5n 5l 5mqJ6qq 5oJq 5q 5r 5s 5t 5v 5 5w 5 5x 5 5y 5 5z 5~ 5{ 5| 5}b 5 5 5S 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5q 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5Ʋ 5 5 5 5 5 5 5' 5 5 5 5 5 5 5 5 5 5q 5 6N 5 6 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5q 5 5 5q 5 5 5 6 6 6 6 6 6 6 6 6 6q 6  6  6  6  6 6 6 6 6 6 6 6 6 6 6 6 6C 6 68 6 6- 6 6( 6 6$ 6! 6" 6# 6% 6& 6' 6) 6* 6+ 6, 6. 63 6/ 60 61 62 64 65 66 67q 69 6H 6: 6C 6; 6? 6< 6= 6> 6@ 6A 6BƢ 6D 6E 6F 6GT 6I 6J 6K 6L 6M 6O 6 6P 6k 6Q 6` 6R 6[ 6S 6W 6T 6U 6V 6X 6Y 6Z 6\ 6] 6^ 6_ 6a 6f 6b 6c 6d 6e 6g 6h 6i 6j 6l 6w 6m 6r 6n 6o 6p 6q 6s 6t 6u 6v 6x 6} 6y 6z 6{ 6| 6~ 6 6 6b 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6b 6 6 6 6b 6 6 6 6 6 6 6 6T 6 6 6 6q 6 6 6 6 6 6 6 6 6 6Ʋ 6 = 6 : 6 8` 6 7 6 7 6 6 6 6 6 6 6 6 6 6 6 6 6Ʋ 6 6 6S 6 6 6 6 6 6 6 6 6 6q 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6Ʋ 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6C 6 6 6 6 6 6 6 6 6 6 7 6 7 6 7 7 7 7 7 7 7 7 7  7  7 Ʋ 7 7 7 7 7 7 7 7 7 7 7 7O 7 74 7 7) 7 7$ 7 7 7 7 7T 7! 7" 7#Ʋ 7% 7& 7' 7( 7* 7/ 7+ 7, 7- 7.T 70 71 72 73S 75 7D 76 7? 77 7; 78 79 7: 7< 7= 7>Ʋ 7@ 7A 7B 7C 7E 7J 7F 7G 7H 7I 7K 7L 7M 7NƲ 7P 7k 7Q 7` 7R 7[ 7S 7W 7T 7U 7Vb 7X 7Y 7Z 7\ 7] 7^ 7_T 7a 7f 7b 7c 7d 7e 7g 7h 7i 7j 7l 7w 7m 7r 7n 7o 7p 7qq 7s 7t 7u 7vT 7x 7} 7y 7z 7{ 7| 7~ 7 7 7q 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7q 7 7 7 7 7 7 7 7 7 7 7 7 7 7C 7 7 7 7q 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7b 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7Ʋ 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8) 7 8 7 8 7 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8  8  8  8 q 8 8 8 8 8 8 8 8 8J 8 8 8 8 8 8 8 8 8$ 8  8! 8" 8# 8% 8& 8' 8( 8* 8E 8+ 8: 8, 85 8- 81 8. 8/ 80 82 83 84 86 87 88 89 8; 8@ 8< 8= 8> 8? 8A 8B 8C 8D 8F 8U 8G 8P 8H 8L 8I 8J 8K 8M 8N 8OƲ 8Q 8R 8S 8T 8V 8[ 8W 8X 8Y 8Z 8\ 8] 8^ 8_S 8a 9P 8b 8 8c 8 8d 8 8e 8t 8f 8o 8g 8k 8h 8i 8jb 8l 8m 8nS 8p 8q 8r 8s 8u 8~ 8v 8z 8w 8x 8yb 8{ 8| 8}T 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8S 8 8 8 8 8 8 8 8 8 8 8 8 8 8q 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8E 8 8 8 8q 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8T 8 9 8 8 8 8 8 8 8 8 8 8 8 8 8 8Ʋ 8 8 8 8 8 8 8 8 8 8 8 8 8 8q 8 9 9 9 9 9 9 9 9 9 9 9b 9  9  9  9 q 9 9 9 9 9 9J 9 9 9 9q 9 95 9 9* 9 9% 9 9! 9 9 9 q 9" 9# 9$q 9& 9' 9( 9) 9+ 90 9, 9- 9. 9/' 91 92 93 94 96 9E 97 9@ 98 9< 99 9: 9; 9= 9> 9? 9A 9B 9C 9D 9F 9K 9G 9H 9I 9J 9L 9M 9N 9O 9Q 9 9R 9 9S 9r 9T 9c 9U 9^ 9V 9Z 9W 9X 9Yq 9[ 9\ 9] 9_ 9` 9a 9b 9d 9m 9e 9i 9f 9g 9h 9j 9k 9lq 9n 9o 9p 9qS 9s 9 9t 9} 9u 9y 9v 9w 9x 9z 9{ 9| 9~ 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9T 9 9 9 9 9 9 9 9 9) 9 9 9q 9 9 9 9q 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9Ʋ 9 9 9 9 9 9 9 9 9 9 : : : : : : : : : : : :  :  :  : S : : : : : :Ƣ : : : : : ; : : : : : :h : :M : :> : :9 :! :5 :" :# :$ :% :& :' :( :) :* :+ :, :- :. :/ :0 :1 :2 :3 :4) :6 :7 :8S :: :; :< :=E :? :H :@ :D :A :B :C :E :F :GƲ :I :J :K :LƲ :N :] :O :X :P :T :Q :R :S :U :V :Wq :Y :Z :[ :\ :^ :c :_ :` :a :b :d :e :f :g :i : :j :y :k :t :l :p :m :n :ob :q :r :sƲ :u :v :w :x :z : :{ :| :} :~ : : : : : : : : : : : : : : : : : : : :S : : : : : : : : : : : : : : : : : : : : : :E : : : : : : : : : : : : : :C : : : : : : : :C : : : : : : : : : : : : : :' : : : : : : : : : : : : : :S : : : : : : : : : : : : : : : : : :C : : : :' : : : : : : : : : : : ;n ; ;; ; ; ; ; ; ; ; ; ; ; ; ;  ;  ;  ;  ; ; ; ; ; ; ; ; ; ;Ʋ ; ; ;q ; ; ; ;Ʋ ;! ;0 ;" ;+ ;# ;' ;$ ;% ;&Ʋ ;( ;) ;*  ;, ;- ;. ;/ ;1 ;6 ;2 ;3 ;4 ;5q ;7 ;8 ;9 ;:q ;< ;S ;= ;H ;> ;C ;? ;@ ;A ;B ;D ;E ;F ;G ;I ;N ;J ;K ;L ;MƲ ;O ;P ;Q ;R ;T ;c ;U ;^ ;V ;Z ;W ;X ;Y ;[ ;\ ;]q ;_ ;` ;a ;b ;d ;i ;e ;f ;g ;h ;j ;k ;l ;mq ;o ; ;p ; ;q ; ;r ;{ ;s ;w ;t ;u ;vƢ ;x ;y ;zS ;| ;} ;~ ; ; ; ; ; ; ;' ; ; ; ; ; ; ; ; ; ; ; ; ;T ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;Ʋ ; ; ;T ; ; ; ; ; ; ; ; ; ; ; ; ; ;Ʋ ; ; ; ; ; ; ; ; ; ; ; ;C ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; < ; <9 <: <; << <=S =M =? =H =@ =D =A =B =Cq =E =F =G =I =J =K =L =N =S =O =P =Q =R =T =U =V =Wq =Y =o =Z =i =[ =d =\ =` =] =^ =_' =a =b =c =e =f =g =h =j =k =l =m =n =p = =q =z =r =v =s =t =u =w =x =yq ={ =| =} =~Ƅ = = = = = = @ = ?8 = >a = = = = = = = = = = = = = = =q = = = = = = =T = = = = = = = = = = = = = =q = = = = = = = = = = = =S = = = = = = = = = = = = = = = = = = = = = =b = = = = = =C = = = =C = = = = = = = = = = = = = = = = = = = = = =b = = = = = >* = > = > = = = = = = = = = =Ʋ > > > > > > > > > >  >  >  >  > > > > > > > > > > > > >b > > > > > >% >! >" ># >$q >& >' >( >)b >+ >F >, >; >- >6 >. >2 >/ >0 >1E >3 >4 >5 >7 >8 >9 >: >< >A >= >> >? >@E >B >C >D >E >G >V >H >Q >I >M >J >K >L >N >O >PT >R >S >T >UƲ >W >\ >X >Y >Z >[ >] >^ >_ >` >b > >c > >d > >e >t >f >o >g >k >h >i >j >l >m >n >p >q >r >s >u >~ >v >z >w >x >y >{ >| >}q > > > > > > > > > > > > > > > >C > > > > > > > > > > > > > > > > > > > > > > > > >T > > > > > > > > > > > > > > > > >q > > > > > > > > >q > > > > > > > > > > > > > > >q > ? > > > > > > > > > > > > > >S > > > > > > > > > > > > > > > > > > > > > > > > > > ? > > > ?' ? ? ? ?Ʋ ? ? ? ? ? ? ? ? ?  ?  ?  ? ? ?Ʋ ? ? ? ? ? ? ? ? ? ? ?- ? ?( ? ?$ ?! ?" ?#C ?% ?& ?'T ?) ?* ?+ ?, ?. ?3 ?/ ?0 ?1 ?2 ?4 ?5 ?6 ?7 ?9 @ ?: ? ?; ?v ?< ?[ ?= ?L ?> ?G ?? ?C ?@ ?A ?B ?D ?E ?F ?H ?I ?J ?KS ?M ?V ?N ?R ?O ?P ?Qq ?S ?T ?UT ?W ?X ?Y ?Z ?\ ?k ?] ?f ?^ ?b ?_ ?` ?ab ?c ?d ?eT ?g ?h ?i ?j ?l ?q ?m ?n ?o ?p ?r ?s ?t ?u ?w ? ?x ? ?y ? ?z ?~ ?{ ?| ?} ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Ʋ ? ? ? ? ? ? ? ?T ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?q ? ? ? ? ? ? ? ? ? ? ? ? ? ?C ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?E ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? @ ? @ ? ? ? ? ? ?" ? ? ?Ʋ @ @ @ @ @ @ @ @ @  @  @  @  @ @ @ @r @ @I @ @2 @ @# @ @ @ @ @ @ @ @ @ @Ʋ @ @  @! @" @$ @- @% @) @& @' @( @* @+ @,q @. @/ @0 @1 @3 @> @4 @9 @5 @6 @7 @8T @: @; @< @= @? @D @@ @A @B @C @E @F @G @H @J @\ @K @V @L @Q @M @N @O @PƲ @R @S @T @U @W @X @Y @Z @[ @] @l @^ @g @_ @c @` @a @b @d @e @fT @h @i @j @k @m @n @o @p @qC @s @ @t @ @u @ @v @w @{ @x @y @z @| @} @~ @ @ @ @ @ @E @ @ @ @q @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @T @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @q @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @T @ B| @ A @ AI @ A @ @ @ @ @ @ @ @ @ @ @ @ @Ʋ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ A @ A @ @ @ @ @T @ A A A A A A A A A  A  A  A  A A A A A A. A A# A A A A A A A A A AE A A  A! A"Ƣ A$ A) A% A& A' A( A* A+ A, A-' A/ A> A0 A9 A1 A5 A2 A3 A4 A6 A7 A8 A: A; A< A=S A? AD A@ AA AB ACT AE AF AG AHT AJ A| AK Aa AL A[ AM AV AN AR AO AP AQ AS AT AUT AW AX AY AZ A\ A] A^ A_ A` Ab Aq Ac Al Ad Ah Ae Af AgS Ai Aj Ak Am An Ao Ap Ar Aw As At Au AvC Ax Ay Az A{S A} A A~ A A A A A A A A A A AT A A A AT A A A A A AE A A A Aq A A A A A A A A A A A A A A A A A A A A A A B A A A A A A A A A A A A A A A AE A A A A A A A A A A AC A A Aq A A A A A A A A A A A A Aq A A AS A A A A A A A A A A A A A A A A A A Aj| A A A A A A A A B A B A A A A A A B Bq B B B B B B  B  B  B Ʋ B BE B B* B B B B B B B B BE B B Bq B B B BT B B% B! B" B# B$H6 B& B' B( B) B+ B: B, B5 B- B1 B. B/ B0 B2 B3 B4Ʋ B6 B7 B8 B9 B; B@ B< B= B> B? BA BB BC BDC BF Ba BG BV BH BQ BI BM BJ BK BL BN BO BPT BR BS BT BU BW B\ BX BY BZ B[ B] B^ B_ B` Bb Bq Bc Bl Bd Bh Be Bf BgS Bi Bj BkS Bm Bn Bo BpƲ Br Bw Bs Bt Bu Bv Bx By Bz B{q B} CX B~ B B B B B B B B B B B B B BE B B B B B B B B B B B B B Bq B B Bq B B B Bq B B B B B B B Bq B B B B B B B B B BS B B B BE B B B B B B B B B B B B B B B B B B B BCI B B B BƲ B B B B B B B B B B B BS B B B B B B B B B B B B B BƲ B C! B C B B B B B B B B B B B B B B B B B C B B B C' C C C CƲ C C C C C C C  C  C  C C CS C C C C C C C C C C C C C C  C" C= C# C2 C$ C- C% C) C& C' C( C* C+ C,Ʋ C. C/ C0 C1 C3 C8 C4 C5 C6 C7E C9 C: C; C<' C> CM C? CH C@ CD CA CB CC CE CF CGT CI CJ CK CL CN CS CO CP CQ CR CT CU CV CW CY C CZ C C[ Cv C\ Ck C] Cf C^ Cb C_ C` CaC Cc Cd Ce( Cg Ch Ci Cj Cl Cq Cm Cn Co Cp Cr Cs Ct Cu Cw C Cx Cy C} Cz C{ C| C~ C Cq C C C C C C C C C C C C C C C C C C C C Cq C C Cb C C C CS C C C C C C' C C C C C C C C C C C C C C CƲ C C C C C C C C C C C C C C C C Cq C C CS C C C C C C C C C CE C C C Cq C C C C C C C C CT C C C C C C C C C C C C C C C C C C D C C C C C C C Cq C C C Cq C D C D D Dw D D D D D D D D D D D  D  Dq D D D D D D D D D D D D D D D  D! D"q D$ f D% D& D' o D( Yj D) N D* I D+ F D, E D- D D. D D/ DZ D0 DE D1 D: D2 D7 D3 D5 D43 D633 D8 D93 D; D@ D< D> D=3 D?3 DA DC DB3 DD3 DF DO DG DL DH DJ DI3 DK3 DM DN3 DP DU DQ DS DR3 DT3 DV DX DW3 DY3 D[ D D\ Dw D] Dr D^ D` D_3 Da Db Dc3 Dd3 De3 Df3 Dg3 Dh3 Di3 Dj3 Dk3 Dl3 Dm3 Dn3 Do3 Dp3 Dq33ޑ Ds Du Dt3 Dv3 Dx D} Dy D{ Dz3 D|3 D~ D D3 D3 D D D D D D D3 D3 D D D3 D3 D D D D3 D D D3 D3 D D D D D D D D D D D3 D3 D D D3 D3 D D D D D3 D3 D D D3 D3 D D D D D D D3 D3 D D D3 D3 D D D D3 D3 D D D D D D D D3 D D D3 D3 D D D D D3 D3 D D3 D D D D D D3 D D3 D D D D3 D D D3 D3 D E4 D E D D D D D D D D3 D D3 D D D D3 D D3 D E D E D D D3 D3 E E3 E E E E E3 E3 E E E 3 E 3 E E E E E E E E E3 E3 E3 E E3 E E3 E E) E E$ E E" E!3 E#3 E% E' E&3 E(3 E* E/ E+ E- E,3 E.3 E0 E2 E13 E33 E5 EX E6 EF E7 E@ E8 E= E9 E; E:3 E<3 E> E?3 EA EB ED EC3 EE3 EG ER EH EM EI EK EJ3 EL3 EN EP EO3 EQ33 ES ET EV EU3 EW3 EY En EZ Ec E[ E^ E\ E]3 E_ Ea E`3 Eb3 Ed Ei Ee Eg Ef3 Eh3 Ej El EkO Em3 Eo Ex Ep Es Eq Er3 Et Ev Eu3 Ew3 Ey E| Ez E{3 E} E~3 E F- E E E E E E E E E E E E E3 E3 E E E3 E3 E E E E E3 E3 E E3 E E E E E E E3 E3 E E3 E E E E3 E E E3 E3 E E E E E E E E E3 E3 E E E3 E3 E E E E E3 E3 E E E3 E3 E E E E E E3 E E E3 E3 E E E E E3 E3 E E3 E F E E E E E E E E3 E E E3 E3 E E E E E3 E3 E E3 E E E E E E E3 E3 E E E3 E3 E E E E E3 E3 E F E3 F3 F F F F F F F F3 F F F 3 F 3 F F F F F3 F3 F F F3 F3 F F" F F F F F3 F3 F  F!3 F# F( F$ F& F%3 F'3 F) F+ F*3 F,3 F. Fw F/ FN F0 F? F1 F6 F2 F33 F4 F53 F7 F< F8 F: F93 F;3 F= F>3 F@ FG FA FD FB FC3 FE FF3 FH FK FI FJ3 FL FM3 FO Fb FP FY FQ FV FR FT FS3 FU3 FW FX3 FZ F_ F[ F] F\3 F^3 F` Fa3 Fc Fl Fd Fg Fe Ff3 Fh Fj Fi3 Fk3 Fm Fr Fn Fp Fo3 Fq3 Fs Fu Ft3 Fv3 Fx F Fy F Fz F F{ F~ F| F}3 F F3 F3 F3 F3 F3 F3 F3 F3 F33 F F3 F33 F F33 F F3 F33 F F3 F3 F3 F3 F3 F3 F3 F3 F3 F3 F33 F F33 F F3ޑ3 F F F F F3 F3 F F3 F F F F F F F3 F3 F F F3 F3 F F F F F3 F3 F F F3 F3 F F F F F F F F F3 F3 F F3 F F F F3 F F F3 F3 F F F F F F F3 F3 F F F3 FO F F F F F3 F3 F F F3 F3 F H> F G F G8 F G F G F F F F F F F3 F3 F F3 F F F F3 G G G3 G3 G G G G G G3 G  G 3 G G G3 G G G3 G3 G G% G G G G G G3 G3 G G  G G3 G! G# G"3 G$3 G& G- G' G* G( G)3 G+ G,3 G. G3 G/ G1 G03 G23 G4 G6 G53 G73 G9 Gd G: GQ G; GF G< GA G= G? G>3 G@3 GB GD GC3 GE3 GG GL GH GJ GI3 GK3 GM GO GN3 GP3 GR G[ GS GV GT GU3 GW GY GX3 GZ3 G\ Ga G] G_ G^3 G`3 Gb Gc3 Ge Gx Gf Go Gg Gl Gh Gj Gi3 Gk3 Gm Gn3 Gp Gs Gq Gr3 Gt Gv Gu3 Gw3 Gy G Gz G G{ G} G|3 G~3 G G3 G G G G G3 G3 G G3 G G G G G G G G G G G G G3 G3 G G3 G G G G G3 G3 G G G3 G G G G G G GO G G G G G G3 G G G3 G3 G G G G3 G G G3 G3 G G G G G G G G G3 G3 G G G3 G3 G G G G G3 G3 G G3 G G G G G G G3 G3 G G G3 G3 G G G G3 G G G3 G3 G H G G G G G G G G G3 G3 G G3 G G G G G3 G3 G G G3 G3 G H H H H H3 H H H3 H3 H H H H H 3 H 3 H H H3 H3 H H) H H H H H H3 H H H3 H3 H H$ H H" H!3 H#3 H% H' H&3 H(3 H* H5 H+ H0 H, H. H-3 H/3 H1 H3 H23 H43 H6 H; H7 H9 H83 H:3 H< H=3 H? H H@ H HA Hg HB HR HC HG HD HE HF3 HH HM HI HK HJ3 HL3 HN HP HO3 HQ3 HS H^ HT HY HU HW HV3 HX3 HZ H\ H[3 H]3 H_ Hb H` Ha3 Hc He Hd3 Hf3 Hh H Hi Ht Hj Ho Hk Hm Hl3 Hn3 Hp Hr Hq3 Hs3 Hu Hz Hv Hx Hw3 Hy3 H{ H} H|3 H~3 H H H H H H H3 H3 H H H3 H3 H H H H H3 H3 H H3 H H H H H H H H H H H3 H3 H H3 H H H H H3 H3 H H3 H H H H H H3 H H H3 H3 H H H3 H H H H H H H H H3 H3 H H H3 H3 H H H H H3 H3 H H H3 H3 H H H H H H H3 H3 H H H3 H3 H H H H H3 H3 H H H3 H3 H I> H I H H H H H H H H H3 H3 H H3 H H H H3 H H H3 H3 H I H I H I I3 I3 I I I3 I3 I I I I I 3 I 3 I I I3 I3 I I' I I I I I I3 I I I3 I3 I I$ I I" I!3 I#3 I% I&3 I( I3 I) I. I* I, I+3 I-3 I/ I1 I03 I23 I4 I9 I5 I7 I63 I83 I: I< I;3 I=3 I? Ij I@ IU IA IJ IB IG IC IE ID3 IF3 IH II3 IK IP IL IN IM3 IO3 IQ IS IR3 IT3 IV I_ IW IZ IX IY3 I[ I] I\3 I^3 I` Ie Ia Ic Ib3 Id3 If Ih Ig3 Ii3 Ik I Il Iw Im Ir In Ip Io3 Iq3 Is Iu It3 Iv3 Ix I} Iy I{ Iz3 I|3 I~ I3 I I I I I I3 I I33 I L> I J I J7 I I I I I I I I I I I I I3 I3 I I I3 I3 I I I I I3 I3 I I I3 I3 I I I I I I3 I I I3 I3 I I I I3 I I3 I I I I I I I I I3 I3 I I I3 I3 I I I I3 I I I3 I3 I I I I I I3 I I I3 I3 I I I I I3 I3 I I I3 I3 I J I I I I I I I I I3 I3 I I I3 I3 I I I I I3 I3 I I I3 I3 I J I J I I3 J J3 J J J J J3 J3 J J 3 J J" J J J J J J3 J J J3 J3 J J J J J3 J3 J J J3 J!3 J# J, J$ J) J% J' J&3 J(3 J* J+3 J- J2 J. J0 J/3 J13 J3 J5 J43 J63 J8 J J9 Ja J: JJ J; JA J< J= J? J>3 J@3 JB JE JC JD3 JF JH JG3 JI3 JK JV JL JQ JM JO JN3 JP3 JR JT JS3 JU3 JW J\ JX JZ JY3 J[3 J] J_ J^3 J`3 Jb Jw Jc Jl Jd Jg Je Jf3 Jh Jj Ji3 Jk3 Jm Jr Jn Jp Jo3 Jq3 Js Ju Jt3 Jv3 Jx J Jy J~ Jz J| J{3 J}3 J J J3 J3 J J J J3 J J3 J J J J J J J J J J3 J J J3 J3 J J J J J3 J3 J J J3 J3 J J J J J J J3 J3 J J J3 J3 J J J J J3 J3 J J3 J J J J J J J J J3 J3 J J3 J J J J J3 J3 J J J3 J3 J J J J J J3 J J J3 J3 J J J J J3 J3 J J J3 J3 J K J K8 J K J J J J J J J J3 J J J3 J3 J J J J3 J J J3 J3 J K J J J J J3 J3 K K K3 K3 K K K K3 K K K 3 K 3 K K% K K K K K K K3 K3 K K K3 K3 K K K K K3 K3 K! K# K"3 K$3 K& K/ K' K* K( K)3 K+ K- K,3 K.3 K0 K5 K1 K3 K23 K43 K6 K73 K9 Kd K: KQ K; KF K< KA K= K? K>3 K@3 KB KD KC3 KE3 KG KL KH KJ KI3 KK3 KM KO KN3 KP3 KR K[ KS KV KT KU3 KW KY KX3 KZ3 K\ K_ K] K^3 K` Kb Ka3 KcO Ke Kz Kf Ko Kg Kj Kh Ki3 Kk Km Kl3 Kn3 Kp Ku Kq Ks Kr3 Kt3 Kv Kx Kw3 Ky3 K{ K K| K K} K K~3 K3 K K K3 K3 K K K K3 K K K3 K3 K K K K K K K K K K K K K3 K3 K K3 K K K K K3 K3 K K K3 K3 K K K K K K3 K3 K K K K K3 K3 K K K3 K3 K K K K K K K K K3 K3 K K K3 K3 K K K K K3 K3 K K K3 K3 K K K K K K K3 K3 K K3 K K K K3 K K K3 K3 K L K K K K K K K K K3 K3 K K K3 K3 K K K K3 K K K3 K3 K L K L K L K33 L L L3 L3 L L L L L 3 L 3 L L L3 L3 L L' L L L L L L3 L L L3 L3 L L" L L L3 L!3 L# L% L$3 L&3 L( L3 L) L. L* L, L+3 L-3 L/ L1 L03 L23 L4 L9 L5 L7 L63 L83 L: L< L;3 L=3 L? M L@ L LA L LB Lm LC LX LD LM LE LJ LF LH LG3 LI3 LK LL3 LN LS LO LQ LP3 LR3 LT LV LU3 LW3 LY Lb LZ L] L[ L\3 L^ L` L_3 La3 Lc Lh Ld Lf Le3 Lg3 Li Lk Lj3 Ll3 Ln L Lo Lz Lp Lu Lq Ls Lr3 Lt3 Lv Lx Lw3 Ly3 L{ L L| L~ L}3 L3 L L L3 L3 L L L L L L L3 L3 L L3 L L L L L3 L3 L L L3 L3 L L L L L L L L L L L3 L3 L L3 L L L L L3 L3 L L3 L L L L L L3 L3 L L L3 L3 L L L L L L L L L3 L3 L L L3 L3 L L L L L3 L3 L L L3 L3 L L L L L L3 L L L3 L3 L L L L L3 L3 L L L3 L3 L M/ L M L M L L L L L L L3 L3 L L L3 L3 L L L L L3 L3 L M L3 M3 M M M M M M M3 M3 M M M 3 M 3 M M M M M3 M3 M M M3 M33 M M M$ M M M M3 M M" M!3 M#3 M% M* M& M( M'3 M)3 M+ M- M,3 M.3 M0 M_ M1 MH M2 M= M3 M8 M4 M6 M53 M73 M9 M; M:3 M<3 M> MC M? MA M@3 MB3 MD MF ME3 MG3 MI MT MJ MO MK MM ML3 MN3 MP MR MQ3 MS3 MU MZ MV MX MW3 MY3 M[ M] M\3 M^3 M` Ms Ma Mj Mb Me Mc Md3 Mf Mh Mg3 Mi3 Mk Mp Ml Mn Mm3 Mo3 Mq Mr3 Mt M} Mu Mx Mv Mw3 My M{ Mz3 M|3 M~ M M M M3 M3 M M M3 M3 M N9 M M M M M M M M M M M M M3 M3 M M M3 M3 M M M M M3 M3 M M M3 M3 M M M M M M3 M M M3 M3 M M M M M3 M3 M M3 M M M M M M M M M3 M3 M M M3 M3 M M M M3 M3 M M M M M M M3 M3 M M M3 M3 M M M M3 M M M3 M3 M N M M M M M M M M M3 M3 M M M3 M3 M M M M3 M M M3 M3 M N M M M M M3 M3 M M M3 N3 N N N N N3 N3 N N N 3 N 3 N N$ N N N N N N N3 N3 N N N3 N3 N N N N N3 N3 N N" N!3 N#3 N% N. N& N+ N' N) N(3 N*3 N, N-3 N/ N4 N0 N2 N13 N33 N5 N7 N63 N83 N: N N; Nd N< NO N= NF N> NC N? NA N@3 NB3 ND NE3 NG NJ NH NI3 NK NM NL3 NN3 NP N[ NQ NV NR NT NS3 NU3 NW NY NX3 NZ3 N\ Na N] N_ N^3 N`3 Nb Nc3 Ne Nz Nf Nq Ng Nl Nh Nj Ni3 Nk3 Nm No Nn3 Np3 Nr Nw Ns Nu Nt3 Nv3 Nx Ny3 N{ N N| N N} N N~3 N3 N N N3 N3 N N N N N3 N3 N N N3 N3 N N N N N N N N N N N3 N3 N N N3 N3 N N N N3 N N N3 N3 N N N N N N3 N N N3 N3 N N N N N3 N3 N N N3 N3 N N N N N N N N N3 N3 N N N3 N3 N N N N3 N N3 N N N N N N N3 N3 N N3 N N N N N3 N3 N N N3 N3 N TQ N Q N P@ N O N O@ N O N O N N N N N N N3 N3 N N N3 N3 N N N N N3 N3 O O3 O O O O O O O3 O3 O O 3 O O O O O3 O3 O O3 O O- O O" O O O O O3 O3 O O O3 O!3 O# O( O$ O& O%3 O'3 O) O+ O*3 O,3 O. O7 O/ O2 O0 O13 O3 O5 O43 O63 O8 O= O9 O; O:3 O<3 O> O?3 OA Ok OB OY OC ON OD OI OE OG OF3 OH3 OJ OL OK3 OM3 OO OT OP OR OQ3 OS3 OU OW OV3 OX3 OZ Oe O[ O` O\ O^ O]3 O_3 Oa Oc Ob3 Od3 Of Og Oi Oh3 Oj3 Ol O Om Ox On Os Oo Oq Op3 Or3 Ot Ov Ou3 Ow3 Oy O| Oz O{3 O} O O~3 O3 O O O O O3 O O O O O3 O3 O O O3 O3 O O O O O O O O O O O O O3 O3 O O3 O O O O O3 O3 O O O3 O3 O O O O O O O3 O3 O O O3 O3 O O O O O3 O3 O O3 O O O O O O O O O3 O3 O O3 O O O O O3 O3 O O O3 O3 O O O O O O O3 O3 O O O3 O3 O O O O O3 O3 O O3 O P O P O O O O O O3 O O O3 O3 O O O O O3 O3 O O O3 O3 P P P P P P P3 P3 P P 3 P P P P P 3 P3 P P P3 P3 P P- P P" P P P P P3 P3 P P P3 P!3 P# P( P$ P& P%3 P'3 P) P+ P*3 P,3 P. P9 P/ P4 P0 P2 P13 P33 P5 P7 P63 P83 P: P= P; P<3 P> P?3 PA P PB P PC Pl PD P[ PE PP PF PK PG PI PH3 PJ3 PL PN PM3 PO3 PQ PV PR PT PS3 PU3 PW PY PX3 PZ3 P\ Pe P] Pb P^ P` P_3 Pa3 Pc Pd3 Pf Pi Pg Ph3 Pj Pk3 Pm P Pn Py Po Pt Pp Pr Pq3 Ps3 Pu Pw Pv3 Px3 Pz P P{ P} P|3 P~3 P P P3 P3 P P P P P P P3 P3 P P P3 P3 P P P P P3 P3 P P P3 P3 P P P P P P P P P P P3 P3 P P P3 P3 P P P P P3 P3 P P P3 P3 P P P P P P3 P P3 P P P P P3 P3 P P P3 P3 P P P P P P P P P3 P3 P P P3 P3 P P P P3 P P P3 P3 P P P P P3 P P P P3 P P P3 P3 P QE P Q P Q P P P P P P P3 P3 P P P3 P3 P Q P P P3 P3 Q Q Q3 Q3 Q Q Q Q Q Q Q 3 Q 3 Q Q Q3 Q3 Q Q Q Q Q3 Q3 Q Q3 Q Q2 Q Q' Q Q" Q Q Q3 Q!3 Q# Q% Q$3 Q&3 Q( Q- Q) Q+ Q*3 Q,3 Q. Q0 Q/O Q13 Q3 Q: Q4 Q7 Q5 Q63 Q8 Q93 Q; Q@ Q< Q> Q=3 Q?3 QA QC QB3 QD3 QF Qq QG QZ QH QO QI QN QJ QL QK3 QM33 QP QU QQ QS QR3 QT3 QV QX QW3 QY3 Q[ Qf Q\ Qa Q] Q_ Q^O Q`3 Qb Qd Qc3 Qe3 Qg Ql Qh Qj Qi3 Qk3 Qm Qo Qn3 Qp3 Qr Q Qs Q| Qt Qw Qu Qv3 Qx Qz Qy3 Q{3 Q} Q Q~ Q3 Q Q Q3 Q3 Q Q Q Q Q Q Q3 Q3 Q Q Q3 Q3 Q Q Q Q Q3 Q3 Q Q Q3 Q3 Q R Q RR Q Q Q Q Q Q Q Q Q Q Q Q Q3 Q3 Q Q Q3 Q3 Q Q Q Q Q3 Q3 Q Q Q3 Q3 Q Q Q Q Q Q3 Q3 Q Q Q Q Q3 Q3 Q Q Q3 Q3 Q Q Q Q Q Q Q Q Q3 Q3 Q Q3 Q Q Q Q Q3 Q3 Q Q Q3 Q3 Q Q Q Q Q Q Q3 Q3 Q Q Q3 Q3 Q Q Q Q Q3 Q3 Q Q Q3 Q3 Q R% Q R Q R Q Q Q Q3 Q R R3 R3 R R R R R3 R3 R R R 3 R 3 R R R R R R R3 R3 R R R3 R3 R R R R R3 R3 R! R# R"3 R$3 R& R; R' R2 R( R- R) R+ R*3 R,3 R. R0 R/3 R13 R3 R8 R4 R6 R53 R73 R9 R:3 R< RG R= RB R> R@ R?3 RA3 RC RE RD3 RF3 RH RM RI RK RJ3 RL3 RN RP RO3 RQ3 RS R RT R} RU Rh RV R] RW RZ RX RYO R[ R\3 R^ Rc R_ Ra R`3 Rb3 Rd Rf Re3 Rg3 Ri Rt Rj Ro Rk Rm Rl3 Rn3 Rp Rr Rq3 Rs3 Ru Rz Rv Rx Rw3 Ry3 R{ R|3 R~ R R R R R R R R3 R3 R R R3 R3 R R R R R3 R3 R R3 R R R R R R R3 R3 R R R3 R3 R R R R R3 R3 R R R3 R3 R R R R R R R R R R3 R R R3 R3 R R R R R3 R3 R R R3 R3 R R R R R R R3 R3 R R3 R R R R R3 R3 R R3 R R R R R R R R R3 R3 R R R3 R3 R R R R3 R R3 R R R R R R3 R R R3 R3 R R R R R3 R3 R R R3 R3 R S R SS S S+ S S S S S S S S S3 S3 S S 3 S S S S S3 S3 S S S3 S3 S S S S S S S3 S3 S S3 S! S& S" S$ S#3 S%3 S' S) S(3 S*3 S, SA S- S6 S. S1 S/ S03 S2 S4 S33 S53 S7 S< S8 S: S93 S;3 S= S? S>3 S@3 SB SM SC SH SD SF SE3 SG3 SI SK SJ3 SL3 SN SO SQ SP3 SR3 ST S} SU Sj SV Sa SW S\ SX SZ SY3 S[3 S] S_ S^3 S`3 Sb Sg Sc Se Sd3 Sf3 Sh Si3 Sk St Sl Sq Sm So Sn3 Sp3 Sr Ss3 Su Sz Sv Sx Sw3 Sy3 S{ S|3 S~ S S S S S S S S3 S3 S S S3 S3 S S S S3 S3 S S S S S S S3 S3 S S3 S S S S S3 S3 S S S3 S3 S S S S S S S S S S S S3 S S S3 S3 S S S S S3 S3 S S S3 S3 S S S S S S3 S S S3 S3 S S S S S3 S3 S S3 S S S S S S S S S3 S3 S S S3 S3 S S S S S3 S3 S S S3 S3 S S S S S S S3 S3 S S S3 S3 S S S S3 S S S3 S3 S T+ S T T T T T T T T3 T3 T T T3 T 3 T T T T T3 T3 T T T3 T3 T T" T T T T T3 T3 T T T3 T!3 T# T& T$ T%3 T' T) T(3 T*3 T, TC T- T8 T. T3 T/ T1 T03 T23 T4 T6 T53 T73 T9 T> T: T< T;3 T=3 T? TA T@3 TB3 TD TH TE TF TG3 TI TN TJ TL TK3 TM3 TO TP3 TR V TS U TT T TU T TV T TW Tj TX Ta TY T\ TZ T[3 T] T_ T^3 T`3 Tb Tg Tc Te Td3 Tf3 Th Ti3 Tk Tv Tl Tq Tm To Tn3 Tp3 Tr Tt Ts3 Tu3 Tw T| Tx Tz Ty3 T{3 T} T~3 T T T T T T T T T3 T3 T T3 T T T T3 T T3 T T T T T3 T T T T T3 T3 T T T3 T3 T T T T T T T T T T T3 T3 T T T3 T3 T T T T T3 T3 T T T3 T3 T T T T T T T3 T3 T T T3 T3 T T T T T3 T3 T T T3 T3 T T T T T T T T T3 T3 T T3 T T T T3 T T T3 T3 T T T T T T T3 T3 T T T3 T3 T T T T T3 T3 T T T3 T3 T UM T U" T U U U U U U U3 U U U3 U3 U U U  U 3 U U U3 U3 U U U U U U U3 U3 U U U3 U3 U U U!3 U# U8 U$ U- U% U( U& U'3 U) U+ U*3 U,3 U. U3 U/ U1 U03 U23 U4 U6 U53 U73 U9 UB U: U= U; U<3 U> U@ U?3 UA3 UC UH UD UF UE3 UG3 UI UK UJ3 UL3 UN Uy UO Uf UP U[ UQ UV UR UT US3 UU3 UW UY UX3 UZ3 U\ Ua U] U_ U^3 U`3 Ub Ud Uc3 Ue3 Ug Up Uh Uk Ui Uj3 Ul Un Um3 Uo3 Uq Uv Ur Ut Us3 Uu3 Uw Ux3 Uz U U{ U U| U U} U~3 U U U3 U3 U U U U U3 U3 U U U3 U3 U U U U U U U3 U3 U U U3 U3 U U U U U3 U3 U U U3 U3 U VM U U U U U U U U U U U U3 U3 U U U U U3 U3 U U U3 U3 U U U U U U U3 U3 U U U3 U3 U U U U U3 U3 U U3 U U U U U U U U3 U U U3 U3 U U U U U3 U3 U U U3 U3 U U U U U U U3 U3 U U U3 U3 U U U U3 U U3 U V" U V U V U V U V3 V V3 V V V V V3 V 3 V V V 3 V3 V V V V V V V3 V3 V V3 V V V V V3 V3 V V!3 V# V8 V$ V/ V% V* V& V( V'3 V)3 V+ V- V,3 V.3 V0 V5 V1 V3 V23 V43 V6 V73 V9 VB V: V? V; V= V<3 V>3 V@ VA3 VC VH VD VF VE3 VG3 VI VK VJ3 VL3 VN V VO V| VP Vg VQ V\ VR VW VS VU VT3 VV3 VX VZ VY3 V[3 V] Vb V^ V` V_3 Va3 Vc Ve Vd3 Vf3 Vh Vs Vi Vn Vj Vl Vk3 Vm3 Vo Vq Vp3 Vr3 Vt Vy Vu Vw Vv3 Vx3 Vz V{3 V} V V~ V V V V V V3 V3 V V V3 V3 V V V V V3 V3 V V V3 V3 V V V V V V V3 V3 V V V3 V3 V V V V V3 V3 V V3 V V V V V V V V V V V3 V3 V V3 V V V V V3 V3 V V3 V V V V V V V3 V3 V V V3 V3 V V V V3 V V V3 V3 V V V V V V V V3 V V V3 V3 V V V V3 V V V3 V3 V V V V V V V3 V3 V V V3 V3 V V V V V3 V3 V V V3 V3 V XT W W W WK W W$ W W W W W W W W3 W 3 W W W W 3 W W W3 W3 W W W W W W W3 W3 W W3 W W! W W 3 W" W#3 W% W8 W& W/ W' W* W( W)3 W+ W- W,3 W.3 W0 W5 W1 W3 W23 W43 W6 W73 W9 WB W: W? W; W= W<3 W>3 W@ WA3 WC WF WD WE3 WG WI WH3 WJ3 WL Ww WM Wb WN WW WO WT WP WR WQ3 WS3 WU WV3 WX W] WY W[ WZ3 W\3 W^ W` W_3 Wa3 Wc Wn Wd Wi We Wg Wf3 Wh3 Wj Wl Wk3 Wm3 Wo Wr Wp Wq3 Ws Wu Wt3 Wv3 Wx W Wy W Wz W W{ W} W|3 W~3 W W W3 W3 W W W W W3 W3 W W3 W W W W W W3 W3 W W W W W3 W3 W W W3 W3 W W W W W W W W W W W W W3 W3 W W W3 W3 W W W W W3 W3 W W3 W W W W W W W W W W W W WO W3 W W W3 W3 W W W W W3 W3 W W W3 W3 W W W W W W W W3 W W W3 W3 W W W W3 W WO W W W W W W W3 W3 W W W3 W3 W W W W W3 W3 W W3 W X% W X W X W X X X X3 X3 X X3 X X X  X 3 X X X 3 X3 X X X X X X3 X X X3 X3 X X X X X3 X3 X! X# X"3 X$3 X& X= X' X2 X( X- X) X+ X*3 X,3 X. X0 X/3 X13 X3 X8 X4 X6 X53 X73 X9 X; X:3 X<3 X> XI X? XD X@ XB XA3 XC3 XE XG XF3 XH3 XJ XO XK XM XL3 XN3 XP XR XQ3 XS3 XU X XV X XW X~ XX Xi XY Xb XZ X] X[ X\3 X^ X` X_3 Xa3 Xc Xf Xd Xe3 Xg Xh3 Xj Xs Xk Xn Xl Xm3 Xo Xq Xp3 Xr3 Xt Xy Xu Xw Xv3 Xx3 Xz X| X{3 X}3 X X X X X X X X3 X X X3 X3 X X X X X3 X3 X X X3 X3 X X X X X X X3 X3 X X X3 X3 X X X X X3 X3 X X X3 X3 X X X X X X X X X X3 X X X3 X3 X X X X X3 X3 X X3 X X X X X X X3 X3 X X X3 X3 X X X X3 X X X3 X3 X X X X X X X X3 X X3 X X X X X3 X3 X X X3 X3 X X X X X X X3 X3 X X X3 X3 X X X X3 X X3 X X YM X Y Y Y Y Y Y Y Y Y33 Y Y33 Y Y Y Y 33 Y Y Y Y3 Y Y Y Y Y Y33 Y Y33 Y Y Y Y33 Y Y33 Y! Y0 Y" Y) Y# Y& Y$ Y%33 Y' Y(33 Y* Y- Y+ Y,33 Y. Y/33 Y1 Y8 Y2 Y5 Y3 Y433 Y6 Y733 Y9 Y< Y: Y;33 Y= YL Y> Y? YC Y@ YB YA33 YD YK YE YF YG YH YI YJ3333 YN YO Y^ YP YW YQ YT YR YS33 YU YV33 YX Y[ YY YZ33 Y\ Y]33 Y_ Yf Y` Yc Ya Yb33 Yd Ye33 Yg Yh Yi33 Yk dn Yl ^ Ym \ Yn Z Yo Z Yp Y Yq Y Yr Y Ys Y~ Yt Yy Yu Yw Yv3 Yx3 Yz Y| Y{3 Y}3 Y Y Y Y Y3 Y3 Y Y Y3 Y3 Y Y Y Y Y Y Y3 Y3 Y Y Y3 Y3 Y Y Y Y Y3 Y3 Y Y YO Y3 Y Y Y Y Y Y Y Y3 Y Y Y3 Y3 Y Y Y Y Y3 Y3 Y Y3 Y Y Y Y Y Y Y3 Y3 Y Y Y3 Y3 Y Y Y Y Y3 Y3 Y Y3 Y Y Y Y Y Y Y Y Y Y Y3 Y3 Y Y Y3 Y3 Y Y Y Y3 Y Y3 Y Y Y Y Y Y3 Y3 Y Y Y Y Y3 Y3 Y Y Y3 Y3 Y Z Y Y Y Y Y Y Y3 Y3 Y Y3 Y Y Y Y3 Z Z Z3 Z3 Z Z Z Z Z Z Z3 Z 3 Z Z Z 3 Z3 Z Z Z Z Z3 Z3 Z Z Z3 Z3 Z Z} Z ZR Z Z5 Z Z* Z Z% Z! Z# Z"3 Z$3 Z& Z( Z'3 Z)3 Z+ Z0 Z, Z. Z-3 Z/3 Z1 Z3 Z23 Z43 Z6 ZG Z7 ZB Z8 Z: Z93 Z; Z< Z= Z> Z? Z@ ZAO ZC ZE ZD3 ZF3 ZH ZM ZI ZK ZJ3 ZL3 ZN ZP ZO3 ZQ3 ZS Zh ZT Z] ZU ZZ ZV ZX ZW3 ZY3 Z[ Z\3 Z^ Zc Z_ Za Z`3 Zb3 Zd Zf Ze3 Zg3 Zi Zr Zj Zo Zk Zm Zl3 Zn3 Zp Zq3 Zs Zx Zt Zv Zu3 Zw3 Zy Z{ Zz3 Z|3 Z~ Z Z Z Z Z Z Z Z Z3 Z Z Z3 Z3 Z Z Z Z3 Z Z Z3 Z3 Z Z Z Z Z Z Z3 Z3 Z Z3 Z Z Z Z Z3 Z3 Z Z Z3 Z3 Z Z Z Z Z Z Z Z3 Z Z Z3 Z3 Z Z Z Z ZO Z3 Z Z Z3 Z3 Z Z Z Z Z Z Z3 Z3 Z Z Z3 Z3 Z Z Z Z Z3 Z3 Z Z Z3 Z3 Z [{ Z [, Z [ Z Z Z Z Z Z Z Z Z3 Z3 Z Z Z3 Z3 Z Z Z Z Z3 Z3 Z Z Z3 Z3 Z Z Z Z Z Z3 Z Z Z3 Z3 Z Z Z Z Z3 Z3 [ [ [3 [3 [ [ [ [  [ [ [ [ 3 [ 3 [ [ [ [ [3 [3 [ [ [3 [3 [ [! [ [ [ [ [3 [3 [ [ 3 [" [' [# [% [$3 [&3 [( [* [)3 [+3 [- [R [. [? [/ [6 [0 [3 [1 [23 [4 [53 [7 [: [8 [93 [; [= [<3 [>3 [@ [G [A [D [B [C3 [E [F3 [H [M [I [K [J3 [L3 [N [P [O3 [Q3 [S [f [T [[ [U [X [V [W3 [Y [Z3 [\ [a [] [_ [^3 [`3 [b [d [c3 [e3 [g [p [h [m [i [k [j3 [l3 [n [o3 [q [v [r [t [s3 [u3 [w [y [x3 [z3 [| [ [} [ [~ [ [ [ [ [ [ [ [3 [3 [ [ [3 [3 [ [ [ [3 [ [3 [ [ [ [ [ [ [3 [3 [ [ [3 [3 [ [ [ [ [3 [3 [ [3 [ [ [ [ [ [ [ [3 [ [3 [ [ [ [3 [ [ [3 [3 [ [ [ [ [ [ [3 [3 [ [ [3 [3 [ [ [ [ [3 [3 [ [3 [ [ [ [ [ [ [ [ [ [ [3 [3 [ [ [3 [3 [ [ [ [ [3 [3 [ [ [3 [3 [ [ [ [ [3 [ [ [ [ [3 [3 [ [ [3 [3 [ \ [ \ [ [ [ [3 [3 [ [3 \ \ \ \3 \ \3 \ \ \ \ \ \ \ 3 \ 3 \ \ \3 \3 \ \ \ \ \3 \3 \ \ \3 \3 \ ] \ \ \! \w \" \O \# \8 \$ \/ \% \* \& \( \'3 \)3 \+ \- \,3 \.3 \0 \3 \1 \23 \4 \6 \53 \73 \9 \D \: \? \; \= \<3 \>3 \@ \B \A3 \C3 \E \J \F \H \G3 \I3 \K \M \L3 \N3 \P \g \Q \\ \R \W \S \U \T3 \V3 \X \Z \Y3 \[3 \] \b \^ \` \_3 \a3 \c \e \d3 \f3 \h \n \i \j \l \k3 \m3 \o \r \p \q3 \s \u \t3 \v3 \x \ \y \ \z \ \{ \ \| \~ \}3 \3 \ \ \3 \3 \ \ \ \ \3 \3 \ \ \3 \3 \ \ \ \ \ \ \3 \3 \ \ \3 \3 \ \ \ \ \3 \3 \ \ \3 \3 \ \ \ \ \ \ \ \ \3 \3 \ \ \3 \3 \ \ \ \3 \ \ \3 \3 \ \ \ \ \ \ \3 \3 \ \ \3 \3 \ \ \ \ \3 \3 \ \3 \ ], \ ] \ \ \ \ \ \ \ \3 \ \ \3 \3 \ \ \ \ \3 \3 \ \ \3 \3 \ \ \ \ \ \ \3 \3 \ \ \3 \3 \ \ \ \ \3 \3 \ \ \3 ]3 ] ] ] ] ] ] ] ] ]3 ]3 ] ] ] 3 ] 3 ] ] ] ] ]3 ]3 ] ]3 ] ]# ] ] ] ] ]O ]3 ] ]! ] O ]"3 ]$ ]' ]% ]&3 ]( ]* ])3 ]+3 ]- ]X ]. ]C ]/ ]8 ]0 ]5 ]1 ]3 ]23 ]43 ]6 ]73 ]9 ]> ]: ]< ];3 ]=3 ]? ]A ]@3 ]B3 ]D ]M ]E ]H ]F ]G3 ]I ]K ]J3 ]L3 ]N ]S ]O ]Q ]P3 ]R3 ]T ]V ]U3 ]W3 ]Y ]l ]Z ]c ][ ]` ]\ ]^ ]]3 ]_3 ]a ]b3 ]d ]i ]e ]g ]f3 ]hO ]j ]k3 ]m ]x ]n ]s ]o ]q ]p3 ]r3 ]t ]v ]u3 ]w3 ]y ]~ ]z ]| ]{3 ]}3 ] ] ]3 ]3 ] ^3 ] ] ] ] ] ] ] ] ] ] ] ]3 ] ] ]3 ]3 ] ] ] ] ]3 ]3 ] ] ]3 ]3 ] ] ] ] ] ] ]3 ]3 ] ]3 ] ] ] ] ]3 ]3 ] ] ]3 ]3 ] ] ] ] ] ] ] ]3 ] ] ]3 ]3 ] ] ] ] ]3 ]3 ] ] ]3 ]3 ] ] ] ] ] ]3 ] ] ]3 ]3 ] ] ] ] ]3 ]3 ] ] ]3 ]3 ] ^ ] ] ] ] ] ] ] ] ]3 ]3 ] ]3 ] ] ] ] ]3 ]3 ] ] ]3 ]3 ] ] ] ] ] ] ]3 ]3 ] ] ]3 ]3 ^ ^ ^ ^3 ^ ^ ^3 ^3 ^ ^ ^ ^ ^ ^ ^ ^ 3 ^ ^ ^3 ^3 ^ ^ ^ ^ ^3 ^3 ^ ^ ^3 ^3 ^ ^* ^ ^% ^! ^# ^"3 ^$3 ^& ^( ^'3 ^)3 ^+ ^. ^, ^-3 ^/ ^1 ^03 ^23 ^4 ^ ^5 ^^ ^6 ^I ^7 ^@ ^8 ^= ^9 ^; ^:3 ^<3 ^> ^?3 ^A ^F ^B ^D ^C3 ^E3 ^G ^H3 ^J ^U ^K ^P ^L ^N ^M3 ^O3 ^Q ^S ^R3 ^T3 ^V ^Y ^W ^X3 ^Z ^\ ^[3 ^]3 ^_ ^m ^` ^i ^a ^f ^b ^d ^c3 ^e3 ^g ^h3 ^j ^k ^l3 ^n ^w ^o ^t ^p ^r ^q3 ^s3 ^u ^v3 ^x ^{ ^y ^z3 ^| ^~ ^}3 ^3 ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^3 ^3 ^ ^ ^3 ^3 ^ ^ ^ ^ ^3 ^3 ^ ^ ^3 ^3 ^ ^ ^ ^ ^ ^ ^3 ^3 ^ ^ ^3 ^3 ^ ^ ^ ^ ^3 ^3 ^ ^ ^3 ^3 ^ ^ ^ ^ ^ ^ ^ ^ ^3 ^3 ^ ^ ^3 ^3 ^ ^ ^ ^ ^3 ^3 ^ ^ ^3 ^3 ^ ^ ^ ^ ^ ^ ^3 ^3 ^ ^ ^3 ^3 ^ ^ ^ ^ ^3 ^3 ^ ^ ^3 ^3 ^ a ^ `D ^ _ ^ _> ^ _ ^ ^ ^ ^ ^ ^ ^ ^ ^3 ^3 ^ ^ ^3 ^3 ^ ^ ^ ^3 ^ ^ ^3 ^3 ^ _ ^ _ ^ ^ ^3 _3 _ _ _3 _3 _ _ _ _ _ 3 _ 3 _ _ _3 _3 _ _' _ _ _ _ _ _ _3 _3 _ _3 _ _" _ _ _3 _!3 _# _% _$3 _&3 _( _3 _) _. _* _, _+3 _-3 _/ _1 _03 _23 _4 _9 _5 _7 _63 _83 _: _< _;3 _=3 _? _n _@ _W _A _L _B _G _C _E _D3 _F3 _H _J _I3 _K3 _M _R _N _P _O3 _Q3 _S _U _T3 _V3 _X _c _Y _^ _Z _\ _[3 _]3 __ _a _`3 _b3 _d _i _e _g _f3 _h3 _j _l _k3 _m3 _o _ _p _y _q _t _r _s3 _u _w _v3 _x3 _z _ _{ _} _|3 _~3 _ _ _3 _3 _ _ _ _ _ _ _3 _3 _ _3 _ _ _ _ _3 _3 _ _ _3 _3 _ _ _ _ _ _ _ _ _ _ _ _ _3 _3 _ _ _3 _3 _ _ _ _3 _ _ _3 _3 _ _ _ _ _ _3 _ _ _3 _3 _ _ _ _3 _ _ _3 _3 _ _ _ _ _ _ _ _3 _ _ _3 _3 _ _ _ _ _3 _3 _ _ _3 _3 _ _ _ _ _ _ _3 _3 _ _ _3 _3 _ _ _ _3 _ _ _3 _3 _ ` _ ` _ _ _ _ _ _ _3 _3 _ _ _3 _3 _ ` _ ` `3 `3 ` ` `3 `3 ` ` ` ` `  ` 3 ` ` `3 `3 ` ` ` ` `3 `3 ` ` `3 `3 ` `/ ` `( ` `% `! `# `"3 `$3 `& `'3 `) `, `* `+3 `- `.3 `0 `9 `1 `4 `2 `33 `5 `7 `63 `83 `: `? `; `= `<3 `>3 `@ `B `A3 `C3 `E ` `F ` `G `r `H `[ `I `R `J `O `K `M `L3 `N3 `P `Q3 `S `X `T `V `U3 `W3 `Y `Z3 `\ `g `] `b `^ `` `_3 `a3 `c `e `d3 `f3 `h `m `i `k `j3 `l3 `n `p `o3 `q3 `s ` `t ` `u `z `v `x `w3 `y3 `{ `} `|3 `~3 ` ` ` ` ` ` ` ` ` ` `O `3 ` ` `3 `3 ` ` ` ` ` ` `3 `3 ` ` `3 `3 ` ` ` `3 ` ` `3 `3 ` ` ` ` ` ` ` ` ` ` `3 `3 ` ` `3 `3 ` ` ` `3 ` ` `3 `O ` ` ` ` ` `3 ` ` `3 `3 ` ` ` `3 ` ` `3 `3 ` ` ` ` ` ` ` ` `3 `3 ` ` `3 `3 ` ` ` `3 ` `3 ` ` ` ` ` ` `3 `3 ` ` `3 `3 ` ` ` ` `3 `3 ` ` `3 `3 ` aX ` a+ ` a ` a ` a a a a3 a3 a a a3 a3 a a a a a 3 a3 a a a3 a3 a a a a a a a3 a3 a a a3 a3 a! a& a" a$ a#3 a%3 a' a) a(3 a*3 a, aA a- a6 a. a3 a/ a1 a03 a23 a4 a53 a7 a< a8 a: a93 a;3 a= a? a>3 a@3 aB aM aC aH aD aF aE3 aG3 aI aK aJ3 aL3 aN aS aO aQ aP3 aR3 aT aV aU3 aW3 aY a aZ ao a[ ad a\ a_ a] a^3 a` ab aa3 acO ae aj af ah ag3 ai3 ak am al3 an3 ap ay aq av ar at as3 au3 aw ax3 az a a{ a} a|3 a~3 a a a3 a3 a a a a a a a a a3 a3 a a a3 a3 a a a a a3 a3 a a a3 a3 a a a a a a a3 a3 a a3 a a a a a3 a3 a a a3 a3 a c a bV a b a a a a a a a a a a a3 a3 a a a3 a3 a a a a3 a3 a a a a a a a3 a3 a a a3 a3 a a a a a3 a3 a a a3 a3 a a a a a a a a3 a a3 a a a a3 a a3 a a a a a a a3 a3 a a3 a a a a a3 a3 b b b3 b3 b b0 b b b b b b b b b 3 b 3 b b b3 b3 b b b b3 b b b3 b3 b b% b b" b b b3 b!3 b# b$3 b& b+ b' b) b(3 b*3 b, b. b-3 b/3 b1 bH b2 b= b3 b8 b4 b6 b53 b73 b9 b; b:3 b<3 b> bC b? bA b@3 bB3 bD bF bE3 bG3 bI bP bJ bM bK bL3 bN bO3 bQ bR bT bS3 bU3 bW b bX b bY bp bZ be b[ b` b\ b^ b]3 b_3 ba bc bb3 bd3 bf bk bg bi bh3 bj3 bl bn bm3 bo3 bq b| br bw bs bu bt3 bv3 bx bz by3 b{3 b} b b~ b b3 b3 b b b3 b3 b b b b b b b b b3 b3 b b b3 b3 b b b b b3 b3 b b b3 b3 b b b b b b b3 b3 b b b3 b3 b b b b b3 b3 b b b3 b3 b b b b b b b b b b b3 b3 b b b3 b3 b b b b b3 b3 b b b3 b3 b b b b b b b3 b3 b b b3 b3 b b b b3 b b3 b b b b b b b b b3 b3 b b b3 b3 b b b b b3 b3 b b b3 b3 b c b c b b b3 c3 c c c3 c3 c c c c c 3 c 3 c  c3 c c c cj c c? c c* c c c c c c c3 c3 c c c3 c3 c c% c! c# c"3 c$3 c& c( c'3 c)3 c+ c6 c, c1 c- c/ c.3 c03 c2 c4 c33 c53 c7 c< c8 c: c93 c;3 c= c>3 c@ cW cA cL cB cG cC cE cD3 cF3 cH cJ cI3 cK3 cM cR cN cP cO3 cQ3 cS cU cT3 cV3 cX ca cY c\ cZ c[3 c] c_ c^3 c`3 cb ce cc cd3 cf ch cg3 ci3 ck c cl c cm cv cn cs co cq cp3 cr3 ct cu3 cw c| cx cz cy3 c{3 c} c c~3 c3 c c c c c c3 c c c3 c3 c c c c c3 c3 c c c3 c3 c c c c c c c c c3 c3 c c c3 c3 c c c c3 c c c3 c3 c c c c c c3 c c c3 c3 c c c c c3 c3 c c c3 c3 c d c c c c c c c c c c c3 c3 c c c3 c3 c c c c c3 c3 c c c3 c3 c c c c c c3 c c3 c c c c c3 cO c c c3 c3 c d c c c c c c c3 c3 c c c3 c3 c d c c c3 dO d d d3 d3 d d d d d d d 3 d 3 d d d3 d3 d d d d d3 d3 d d d3 d3 d dA d d1 d d& d! d" d$ d#3 d%3 d' d, d( d* d)3 d+3 d- d/ d.3 d03 d2 d8 d3 d4 d6 d53 d73 d9 d< d: d;3 d= d? d>3 d@3 dB dY dC dN dD dI dE dG dF3 dH3 dJ dL dK3 dM3 dO dT dP dR dQ3 dS3 dU dW dV3 dX3 dZ de d[ d` d\ d^ d]3 d_3 da dc db3 dd3 df di dg dh3 dj dl dk3 dm3 do j dp g= dq e dr e' ds d dt d du d dv d} dw dz dx dy3 d{ d|3 d~ d d d d3 d3 d d d3 d3 d d d d d d d3 d3 d d d3 d3 d d d d d3 d3 d d d3 d3 d d d d d d d d d3 d3 d d d3 d3 d d d d d3 d3 d d3 d d d d d d d3 d3 d d3 d d d d3 d d d3 d3 d d d d d d d d d d d3 d3 d d d3 d3 d d d d d3 d3 d d d3 d3 d d d d d d d3 d3 d d d3 d3 d d d d d3 d3 d d d3 d3 d e d e d e d d d3 d3 e e e3 e3 e e e e e3 e 3 e e e 3 eO e e e e e e e3 e3 e e e3 e3 e e" e e e3 e!3 e# e% e$3 e&3 e( e e) eV e* eA e+ e6 e, e1 e- e/ e.3 e03 e2 e4 e33 e53 e7 e< e8 e: e93 e;3 e= e? e>3 e@3 eB eK eC eF eD eE3 eG eI eH3 eJ3 eL eQ eM eO eN3 eP3 eR eT eS3 eU3 eW el eX ea eY e\ eZ e[3 e] e_ e^3 e`3 eb eg ec ee ed3 ef3 eh ej ei3 ek3 em ex en es eo eq ep3 er3 et ev euO ew3 ey e~ ez e| e{3 e}3 e e e3 e3 e e e e e e e e e e e3 e3 e e e3 e3 e e e e e3 e3 e e e3 e3 e e e e e e e3 e3 e e3 e e e e3 e e e3 e3 e e e e e e e e e3 e3 e e e3 e3 e e e e3 e e e3 e3 e e e e e e e3 e3 e e e3 e3 e e e e3 e e3 e f e f, e f e e e e e e e e e3 e3 e e e3 e3 e e e e e3 e3 e e e3 e3 e e e e e e e3 e3 e e3 e f e f f3 f3 f f f3 f3 f f f f f f f f f 3 f3 f f3 f f f f3 f f f3 f3 f f! f f f 3 f" f' f# f% f$3 f&3 f( f* f)3 f+3 f- fd f. fO f/ fD f0 f5 f1 f3 f23 f43 f6 f8 f73 f9 f: f; f< f= f> f? f@ fA fB fCO fE fJ fF fH fG3 fI3 fK fM fL3 fN3 fP fY fQ fT fR fS3 fU fW fV3 fX3 fZ f_ f[ f] f\3 f^3 f` fb fa3 fc3 fe f| ff fq fg fl fh fj fi3 fk3 fm fo fn3 fp3 fr fw fs fu ft3 fv3 fx fz fy3 f{3 f} f f~ f f f f3 f3 f f3 f f f f f3 f3 f f3 f f f f f f f f f f f f f3 f3 f f f3 f3 f f f f3 f f3 f f f f f f f3 f3 f f f3 f3 f f f f f3 f3 f f f3 f3 f f f f f f f f f3 f3 f f f3 f3 f f f f f3 f3 f f f3 f3 f f f f f f f3 f3 f f f3 f3 f f f f f3 f3 f f3 f g f g f f f f f f f3 f3 f f3 f f f f f3 f3 f f f3 f3 g g g g g g g3 g3 g g g 3 g 3 g  g g g3 g3 g g( g g g g g g3 g g g3 g3 g g# g g! g 3 g"3 g$ g& g%3 g'3 g) g2 g* g- g+ g,3 g. g0 g/3 g13 g3 g8 g4 g6 g53 g73 g9 g; g:3 g<3 g> h g? g g@ g gA gp gB gY gC gN gD gI gE gG gF3 gH3 gJ gL gK3 gM3 gO gT gP gR gQ3 gS3 gU gW gV3 gX3 gZ ge g[ g` g\ g^ g]3 g_3 ga gc gb3 gd3 gf gk gg gi gh3 gj3 gl gn gm3 go3 gq g gr g{ gs gv gt gu3 gw gy gx3 gz3 g| g g} g g~3 g3 g g3 g g g g g g3 g g g3 g3 g g g g3 g g g3 g3 g g g g g g g g g g g3 g3 g g g3 g3 g g g g g3 g3 g g g3 g3 g g g g g g3 g g g3 g3 g g g g g3 g3 g g g3 g3 g g g g g g g g g3 g3 g g g3 g3 g g g g g3 g3 g g g3 g3 g g g g g g g3 g3 g g g3 g3 g g g g3 g g g3 g3 g hN g h g h g g g g g g3 g g g3 g3 h h h h hO h3 h h h3 h 3 h h h h h h h3 h3 h h h3 h3 h h h h h3 h3 h h3 h h7 h! h, h" h' h# h% h$3 h&3 h( h* h)3 h+3 h- h2 h. h0 h/3 h13 h3 h5 h43 h63 h8 hC h9 h> h: h< h;3 h=3 h? hA h@3 hB3 hD hI hE hG hF3 hH3 hJ hL hK3 hM3 hO h| hP hg hQ h\ hR hW hS hU hT3 hV3 hX hZ hY3 h[3 h] hb h^ h` h_3 ha3 hc he hd3 hf3 hh hs hi hn hj hl hk3 hm3 ho hq hp3 hr3 ht hw hu hv3 hx hz hy3 h{3 h} h h~ h h h h h h3 h3 h h3 h h h h h3 h3 h h h3 h3 h h h h h h h3 h3 h h h3 h3 h h h h h3 h3 h h h3 h3 h i] h i h h h h h h h h h h h3 h3 h h h3 h3 h h h h h3 h3 h h h3 h3 h h h h h h h3 h3 h h3 h h h h h3 h3 h h h3 h3 h h h h h h h h h3 h3 h h3 h h h h h3 h3 h h h3 h3 h h h h h h h3 h3 h h h3 hO h i h h h3 i3 i i iO i3 i i4 i i i i i i i i i 3 i3 i i i3 i3 i i i i i3 i3 i i i3 i3 i i+ i! i& i" i$ i#3 i%3 i' i) i(3 i*3 i, i1 i- i/ i.3 i03 i2 i33 i5 iH i6 i= i7 i: i8 i93 i; i<3 i> iC i? iA i@3 iB3 iD iF iE3 iG3 iI iT iJ iO iK iM iL3 iN3 iP iR iQ3 iS3 iU iZ iV iX iW3 iY3 i[ i\3 i^ i i_ i i` iw ia il ib ig ic ie id3 if3 ih ij ii3 ik3 im ir in ip io3 iq3 is iu it3 iv3 ix i iy i~ iz i| i{3 i}3 i i3 i i i i3 i i i3 i3 i i i i i i i i i3 i3 i i i3 i3 i i i i i3 i3 i i i3 i3 i i i i i i i3 i3 i i i3 i3 i i i i i3 i3 i i i3 i3 i i i i i i i i i i3 i i i3 i3 i i i i3 i i3 i i i i i i i3 i3 i i i3 i3 i i i i i3 i3 i i i3 i3 i i i i i i i i i3 i3 i i i3 i3 i i i i i3 i3 i i i3 i3 i j i j i i3 j j j3 j3 j j j j j3 j 3 j j j 3 j3 j l j kw j j j jo j jB j j- j j" j j j j j3 j3 j j j3 j!3 j# j( j$ j& j%3 j'3 j) j+ j*3 j,3 j. j9 j/ j4 j0 j2 j13 j33 j5 j7 j63 j83 j: j= j; j<3 j> j@ j?3 jA3 jC jZ jD jO jE jJ jF jH jG3 jI3 jK jM jL3 jN3 jP jU jQ jS jR3 jT3 jV jX jW3 jY3 j[ jd j\ j_ j] j^3 j` jb ja3 jc3 je jj jf jh jg3 ji3 jk jm jl3 jn3 jp j jq j jr j{ js jv jt ju3 jw jy jx3 jz3 j| j j} j j~3 j3 j j j3 j3 j j j j j j3 j j j3 j3 j j j j3 j j j3 j3 j j j j j j j j j3 j3 j j3 j j j j3 j j j3 j3 j j j j j j j3 j3 j j j3 j3 j j j j j3 j3 j j j3 j3 j k j j j j j j j j j j j3 j3 j j j3 j3 j j j j j3 j3 j j j3 j3 j j j j j j j3 j3 j j j3 j3 j j j j3 j j j3 j3 j k j j j j j j j3 j3 j j3 j k k k k3 k3 k k k3 k3 k k k k k k 3 k k k3 k3 k k k k k3 k3 k k3 k kJ k k3 k k( k k# k! k"3 k$ k& k%3 k'3 k) k. k* k, k+3 k-3 k/ k1 k03 k23 k4 k? k5 k: k6 k8 k73 k93 k; k= k<3 k>3 k@ kE kA kC kB3 kD3 kF kH kG3 kI3 kK kb kL kW kM kR kN kP kO3 kQ3 kS kU kT3 kV3 kX k] kY k[ kZ3 k\3 k^ k` k_3 ka3 kc kl kd kg ke kf3 kh kj ki3 kk3 km kr kn kp ko3 kq3 ks ku kt3 kv3 kx l) ky k kz k k{ k k| k k} k k~ k k3 k3 k k k3 k3 k k k k k3 k3 k k k3 k3 k k k k k k k3 k3 k k k3 k3 k k k k k3 k3 k k k3 kO k k k k k k k k3 k k k3 k3 k k k k k3 k3 k k k3 k3 k k k k k k3 k k k3 k3 k k k k k3 k3 k k k3 k3 k l k k k k k k k k k3 k3 k k k3 k3 k k k k k3 k3 k k3 k k k k k k k3 k3 k k k3 k3 k k k k k3 k3 k l k3 l3 l l l l l l l l3 l l l 3 l 3 l l l l3 l l l3 l3 l l l l l l3 l l l3 l3 l! l& l" l$ l#3 l%3 l' l(3 l* l l+ lV l, lA l- l6 l. l3 l/ l1 l03 l23 l4 l53 l7 l< l8 l: l93 l;3 l= l? l>3 l@3 lB lM lC lH lD lF lE3 lG3 lI lK lJ3 lL3 lN lS lO lQ lP3 lR3 lT lU3 lW ll lX lc lY l^ lZ l\ l[3 l]3 l_ la l`3 lb3 ld li le lg lf3 lh3 lj lk3 lm lv ln ls lo lq lp3 lr3 lt lu3 lw l| lx lz ly3 l{3 l} l l~3 l3 l l l l l l l l l l l3 l3 l l l3 l3 l l l l l3 l3 l l l3 l3 l l l l l l3 l l l3 l3 l l l l l3 l3 l l l3 l3 l l l l l l l l l3 l3 l l l3 l3 l l l l l3 l3 l l3 l l l l l l l3 l3 l l l3 l3 l l l l l3 l3 l l l3 l3 l n? l m l m: l m l l l l l l l l l3 l3 l l l3 l3 l l l l l3 l3 l l l3 l3 l m l l l l l3 l3 m m m3 m3 m m m m m3 m 3 m m m 3 m3 m m% m m m m m m3 m m m3 m3 m m m m m3 m3 m! m# m"3 m$3 m& m/ m' m, m( m* m)3 m+3 m- m.3 m0 m5 m1 m3 m23 m43 m6 m8 m73 m93 m; mj m< mS m= mH m> mC m? mA m@3 mBޑ mD mF mE3 mG3 mI mN mJ mL mK3 mM3 mO mQ mP3 mR3 mT m_ mU mZ mV mX mW3 mY3 m[ m] m\3 m^3 m` me ma mc mb3 md3 mf mh mg3 mi3 mk m ml mu mm mr mn mp mo3 mq3 ms mt3 mv my mw mx3 mz m| m{3 m} m~ m m m m mO m m m m m m m3 m3 m m m3 m3 m m m m m3 m3 m m m3 m3 m m m m m m m m m m m m m3 m3 m m3 m m m m m3 m3 m m3 m m m m m m3 m m m3 m3 m m m m3 m m m3 m3 m m m m m m m m3 m3 m m m m m3 m3 m m m3 m3 m m m m m m m3 m3 m m m3 m3 m m m m m3 m3 m m m3 m3 m n m n m m m m m m m3 m3 m m m3 m3 m n m m3 n n3 n n n n n n n3 n 3 n n n 3 n3 n n n n3 n n n3 n3 n n, n n% n n n n n3 n3 n! n# n"3 n$3 n& n) n' n(3 n* n+3 n- n4 n. n1 n/ n03 n2 n33 n5 n: n6 n8 n73 n93 n; n= n<3 n>3 n@ n nA n nB nm nC nZ nD nO nE nJ nF nH nG3 nI3 nK nM nL3 nN3 nP nU nQ nS nR3 nT3 nV nX nW3 nY3 n[ nd n\ n_ n] n^3 n` nb na3 nc3 ne nj nf nh ng3 ni3 nk nl3 nn n no nx np nu nq ns nr3 nt3 nv nw3 ny n| nz n{3 n} n~3 n n n n n n n3 n3 n n n3 n3 n n n n n3 n3 n n n3 n3 n n n n n n n n n n n3 n3 n n n3 n3 n n n n n3 n3 n n3 n n n n n n n3 n3 n n n3 n3 n n n n n3 n3 n n n3 n3 n n n n n n n n n3 n3 n n n3 n3 n n n n3 n n n3 n3 n n n n n n n3 n3 n n n3 n3 n n n n n3 n3 n n n3 n3 n oK n o n o n o n n n n n3 n3 n n n3 n3 o o o o o3 o3 o o3 o o o o o o o 3 o3 o o o3 o3 o o o o o3 o3 o o o3 o3 o! o8 o" o- o# o( o$ o& o%3 o'3 o) o+ o*3 o,3 o. o3 o/ o1 o03 o23 o4 o6 o53 o73 o9 oB o: o? o; o= o<3 o>3 o@ oA3 oC oF oD oE3 oG oI oH3 oJ3 oL ou oM o` oN oW oO oT oP oR oQ3 oS3 oU oV3 oX o] oY o[ oZ3 o\3 o^ o_3 oa ol ob og oc oe od3 of3 oh oj oi3 ok3 om op on oo3 oq os or3 ot3 ov o ow o ox o} oy o{ oz3 o|3 o~ o o3 o3 o o o o o3 o3 o o o3 o3 o o o o o o3 o o3 o o o o o3 o3 o o3 o o z o uT o r~ o q o p[ o p o o o o o o o o o o o3 o3 o o o3 o3 o o o o o3 o3 o o o3 o3 o o o o o o o3 o3 o o o3 o3 o o o o o3 o3 o o o3 o3 o o o o o o o o o3 o3 o o o3 o3 o o o o o3 o3 o o o3 o3 o o o o o o o3 o3 o o o3 o3 o o o o3 o o3 p p. p p p p p p p p3 p p p 3 p 3 p p p p pO p3 p p p3 pO p p# p p p p p3 p3 p p! p 3 p"3 p$ p) p% p' p&3 p(3 p* p, p+3 p-3 p/ pF p0 p; p1 p6 p2 p4 p33 p53 p7 p9 p83 p:3 p< pA p= p? p>3 p@3 pB pD pC3 pE3 pG pR pH pM pI pK pJ3 pL3 pN pP pO3 pQO pS pV pT pU3 pW pY pX3 pZ3 p\ p p] p p^ ps p_ pj p` pe pa pc pb3 pd3 pf ph pg3 pi3 pk pn pl pm3 po pq pp3 pr3 pt pz pu pv px pw3 py3 p{ p p| p~ p}3 p3 p p p3 p3 p p p p p p p p p3 p3 p p p3 p3 p p p p3 p p p3 p3 p p p p p p p3 p3 p p3 p p p p pޑ p3 p p3 p p p p p p p p p p p3 p3 p p p3 p3 p p p p p3 p3 p p p3 p3 p p p p p p p3 p3 p p p3 p3 p p p p p3 p3 p p p3 p3 p p p p p p p p p3 p3 p p3 p p p p p3 p3 p p p3 p3 p q p p p p p3 p3 p p p3 p3 q q q q q3 q3 q q q3 q 3 q q q qj q q; q q$ q q q q q q q3 q3 q q3 q q q q q3 q3 q q" q!3 q#3 q% q0 q& q+ q' q) q(3 q*3 q, q. q-3 q/3 q1 q6 q2 q4 q33 q53 q7 q9 q83 q:3 q< qS q= qH q> qC q? qA q@3 qB3 qD qF qE3 qG3 qI qN qJ qL qK3 qM3 qO qQ qP3 qR3 qT q_ qU qZ qV qX qW3 qY3 q[ q] q\3 q^3 q` qe qa qc qb3 qd3 qf qh qg3 qi3 qk q ql q qm qv qn qq qo qp3 qr qt qs3 qu3 qw q| qx qz qy3 q{3 q} q q~3 q3 q q q q q q q3 q3 q q q3 q3 q q q q q3 q3 q q q3 q3 q q q q q q q q q3 q3 q q q3 q3 q q q q q3 q3 q q q3 q3 q q q q q q q3 q3 q q q3 q3 q q q q q3 q3 q q q3 q3 q r# q q q q q q q q q q q3 q3 q q q3 q3 q q q q3 q q q3 q3 q q q q q q q3 q3 q q q3 q3 q q q q q3 q3 q q q3 q3 q r q r q q q q3 q q q3 r3 r r r r r3 r3 r r r 3 r 3 r r r r r r r3 r3 r r r3 r3 r r r r r3 r3 r r! r 3 r"3 r$ rS r% r< r& r1 r' r, r( r* r)3 r+3 r- r/ r.3 r03 r2 r7 r3 r5 r43 r63 r8 r: r93 r;3 r= rH r> rC r? rA r@3 rB3 rD rF rE3 rG3 rI rN rJ rL rK3 rM3 rO rQ rP3 rR3 rT ri rU r` rV r[ rW rY rX3 rZ3 r\ r^ r]3 r_3 ra rd rb rc3 re rg rf3 rh3 rj rs rk rp rl rn rm3 ro3 rq rr3 rt ry ru rw rv3 rx3 rz r| r{3 r}3 r s r s3 r r r r r r r r r r r r3 r r3 r r r r r3 r3 r r r3 r3 r r r r r r r3 r3 r r r3 r3 r r r r3 r r r3 r3 r r r r r r r r r3 r3 r r r3 r3 r r r r r3 r3 r r r3 r3 r r r r r r r3 r3 r r3 r r r r r3 r3 r r r3 r3 r s r r r r r r r r r3 r3 r r r3 r3 r r r r3 r r r3 r3 r r r r r r3 r r r3 r3 r r r r r3 r3 s s s3 s3 s s s s s s s s s 3 s 3 s s s3 s3 s s s s s3 s3 s s s3 s3 s s( s s# s s! s 3 s"3 s$ s& s%3 s'3 s) s. s* s, s+3 s-3 s/ s1 s03 s23 s4 s s5 s` s6 sK s7 s@ s8 s; s9 s:3 s< s> s=3 s?3 sA sF sB sD sC3 sE3 sG sI sH3 sJ3 sL sW sM sR sN sP sO3 sQ3 sS sU sT3 sV3 sX s] sY s[ sZ3 s\3 s^ s_O sa sx sb sm sc sh sd sf se3 sg3 si sk sj3 sl3 sn ss so sq sp3 sr3 st sv su3 sw3 sy s sz s s{ s s| s} s~ s s s sO s3 s s s3 s3 s s s s s3 s3 s s3 s s s s s s s s s s s3 s3 s s s3 s3 s s s s s3 s3 s s s3 s3 s s s s s s s3 s3 s s s3 s3 s s s s s3 s3 s s s3 s3 s s s s s s s s3 s s3 s s s s s3 s3 s s s3 s3 s s s s s s s3 s3 s s s3 s3 s s s s3 s s s3 s3 s t s tD s t s t s s s s s s s3 s3 s s s3 s3 s t s t s3 t3 t t t3 t3 t t t t t t t 3 t 3 t t t3 t3 t t t t3 t t t3 tO t t/ t t$ t t t" t!3 t#3 t% t* t& t( t'3 t)3 t+ t- t,3 t.3 t0 t9 t1 t6 t2 t4 t33 t53 t7 t83 t: t? t; t= t<3 t>3 t@ tB tA3 tC3 tE tp tF t[ tG tP tH tK tI tJ3 tL tN tM3 tO3 tQ tV tR tT tS3 tU3 tW tY tX3 tZ3 t\ tg t] tb t^ t` t_3 ta3 tc te td3 tf3 th tk ti tj3 tl tn tm3 to3 tq t tr t} ts tx tt tv tu3 tw3 ty t{ tz3 t|3 t~ t t t t3 t3 t t t3 t3 t t t t t t3 t t t3 t3 t t t t t3 t3 t t t3 t3 t t t t t t t t t t t t3 t t t3 t3 t t t t t3 t3 t t t3 t3 t t t t t t t3 t3 t t t3 t3 t t t t t3 t3 t t t3 t3 t t t t t t t t t3 t3 t t t3 t3 t t t t t3 t3 t t t3 t3 t t t t t t t3 t3 t t t3 t3 t t t t t3 t3 t t t3 t3 t u) t u t u t u u u u3 u3 u u u3 u3 u u u  u 3 u u u3 u3 u u u u u u u3 u3 u u u3 u3 u u$ u u" u!3 u#3 u% u' u&3 u(3 u* uA u+ u6 u, u1 u- u/ u.3 u03 u2 u4 u33 u53 u7 u< u8 u: u93 u;3 u= u? u>3 u@3 uB uI uC uF uD uE3 uG uH3 uJ uO uK uM uL3 uN3 uP uR uQ3 uS3 uU x( uV v uW v uX u uY u uZ uj u[ ud u\ ua u] u_ u^3 u`3 ub uc3 ue uf uh ugO ui3 uk ut ul uo um un3 up ur uq3 us3 uu uz uv ux uw3 uy3 u{ u} u|3 u~3 u u u u u u u u u3 u3 u u u3 u3 u u u u u3 u3 u u u3 u3 u u u u u u3 u u u3 u3 u u u u u3 u3 u u u3 u3 u u u u u u u u u u u3 u3 u u u3 u3 u u u u3 u u u3 u3 u u u u u u u3 u3 u u u3 u3 u u u u3 u u u3 u3 u u u u u u u u u3 u3 u u3 u u u u u3 u3 u u u3 u3 u u u u u u u3 u3 u u3 u u u u u3 u3 u v v3 v3 v v] v v0 v v v v v v v v v 3 v 3 v v v3 v3 v v v v v3 v3 v v3 v v% v v" v v v3 v!3 v# v$3 v& v+ v' v) v(3 v*3 v, v. v-3 v/3 v1 vH v2 v= v3 v8 v4 v6 v53 v73 v9 v; v:3 v<3 v> vC v? vA v@3 vB3 vD vF vE3 vG3 vI vR vJ vM vK vL3 vN vP vO3 vQ3 vS vX vT vV vU3 vW3 vY v[ vZ3 v\3 v^ v v_ vv v` vk va vf vb vd vc3 ve3 vg vi vh3 vj3 vl vq vm vo vn3 vp3 vr vt vs3 vu3 vw v vx v} vy v{ vz3 v|3 v~ v v3 v3 v v v v v3 v3 v v v3 v3 v v v v v v v v v3 v3 v v v3 v3 v v v v v3 v3 v v v3 v3 v v v v v v v3 v3 v v v3 v3 v v v v v3 v3 v v v3 v3 v wk v w v v v v v v v v v v3 v v v3 v3 v v v v v3 v3 v v v3 v3 v v v v v v v3 v3 v v v3 v3 v v v v3 v v v3 v3 v w v v v v v v v3 v3 v v v3 v3 v v v v v3 v3 v w v3 w3 w w w w w w w3 w3 w w w 3 w 3 w w w w w3 w3 w w w3 w3 w wD w w2 w w' w w" w w w3 w!3 w# w% w$3 w&3 w( w- w) w+ w*3 w,3 w. w0 w/3 w13 w3 w9 w4 w5 w7 w63 w83 w: w? w; w= w<3 w>3 w@ wB wA3 wC3 wE w\ wF wQ wG wL wH wJ wI3 wK3 wM wO wN3 wP3 wR wW wS wU wT3 wV3 wX wZ wY3 w[3 w] wd w^ wa w_ w`3 wb wc3 we wh wf wg3 wi wj3 wl w wm w wn w wo wz wp wu wq ws wr3 wt3 wv wx ww3 wy3 w{ w w| w~ w}3 w3 w w w3 w3 w w w w w w w3 w3 w w w3 w3 w w w w w3 w3 w w w3 w3 w w w w w w w w w3 w3 w w w3 w3 w w w w w3 w3 w w w3 w3 w w w w w w w3 w3 w w w3 w3 w w w w w3 w3 w w w3 w3 w w w w w w w w w w w3 w3 w w w3 w3 w w w w w3 w3 w w w3 w3 w w w w w w w3 w3 w w w3 w3 w w w w w3 w3 w w w3 w3 w x w x w x w x x3 x3 x x x3 x3 x x x x x 3 x 3 x x3 x x x x x x x3 x3 x x x3 x3 x x# x x! x 3 x"3 x$ x& x%3 x'3 x) y x* x x+ x x, x[ x- xD x. x9 x/ x4 x0 x2 x13 x33 x5 x7 x63 x83 x: x? x; x= x<3 x>3 x@ xB xA3 xC3 xE xP xF xK xG xI xH3 xJ3 xL xN xM3 xO3 xQ xV xR xT xS3 xU3 xW xY xX3 xZ3 x\ xs x] xh x^ xc x_ xa x`3 xb3 xd xf xe3 xg3 xi xn xj xl xk3 xm3 xo xq xp3 xr3 xt x xu xz xv xx xw3 xy3 x{ x} x|3 x~3 x x x x x3 xO x x x3 x3 x x x x x x x x x x x3 x3 x x3 x x x x x3 x3 x x3 x x x x x x x3 x3 x x x3 x3 x x x x x3 x3 x x x3 x3 x x x x x x x x x3 x3 x x x3 x3 x x x x x3 x3 x x x3 x3 x x x x x x x3 x3 x x x3 x3 x x x x3 x x x3 x3 x y? x y x x x x x x x x3 x x x3 x3 x x x x x3 xޑ x x x3 x3 x y x y x x3 y y y3 y3 y y y y y3 y 3 y y y 3 y3 y y( y y y y y y y3 y3 y y y3 y3 y y# y y! y 3 y"3 y$ y& y%3 y'3 y) y4 y* y/ y+ y- y,3 y.3 y0 y2 y13 y33 y5 y: y6 y8 y73 y93 y; y= y<3 y>3 y@ yo yA yX yB yM yC yH yD yF yE3 yG3 yI yK yJ3 yLO yN yS yO yQ yP3 yR3 yT yV yU3 yW3 yY yd yZ y_ y[ y] y\3 y^3 y` yb ya3 yc3 ye yj yf yh yg3 yi3 yk ym yl3 yn3 yp y yq y| yr yw ys yu yt3 yv3 yx yz yy3 y{3 y} y y~ y y3 y3 y y yO y3 y y y y y y3 y y y3 yO y y y y y3 y3 y y y3 y3 y zM y y y y y y y y y y y y y3 y3 y y3 y y y y y3 y3 y y y3 y3 y y y y y y y3 y3 y y y3 y3 y y y y y3 y3 y y y3 y3 y y y y y y y y y3 y3 y y y3 y3 y y y y y3 y3 y y y3 y3 y y y y y y3 y3 y y y y y3 y3 y y y3 y3 y z y z y z y y y y3 y z y3 z3 z z z z3 z z z3 z 3 z z z z z z z3 z3 z z z3 z3 z z z z z3 z3 z z3 z! z6 z" z+ z# z( z$ z& z%3 z'3 z) z*3 z, z1 z- z/ z.3 z03 z2 z4 z33 z53 z7 zB z8 z= z9 z; z:3 z<3 z> z@ z?3 zA3 zC zH zD zF zE3 zG3 zI zK zJ3 zL3 zN z zO zz zP ze zQ z\ zR zW zS zU zT3 zV3 zX zZ zY3 z[3 z] z` z^ z_3 za zc zb3 zd3 zf zo zg zl zh zj zi3 zk3 zm zn3 zp zu zq zs zr3 zt3 zv zx zw3 zy3 z{ z z| z z} z z~ z3 z z z3 z3 z z z z z3 z3 z z3 z z z z z z z3 z3 z z3 z z z z z3 z3 z z z3 z3 z z z z z z z z z z z3 z3 z z z3 z3 z z z z z3 z3 z z3 z z z z z z3 z z z3 z3 z z z z z3 z3 z z3 z z z z z z z z z3 z3 z z z3 z3 z z z z z3 z3 z z z3 z3 z z z z z z z3 z3 z z3 z z z z z3 z3 z z z3 z3 z z ~ z | z { z {X { {+ { { { { { { { {3 { { {3 { 3 { { { { {3 {3 { {3 { { { { { { {3 {3 { { {3 {3 {! {& {" {$ {#3 {%3 {' {) {(3 {*3 {, {A {- {8 {. {3 {/ {1 {03 {23 {4 {6 {53 {73 {9 {< {: {;3 {= {? {>3 {@3 {B {M {C {H {D {F {E3 {G3 {I {K {J3 {L3 {N {S {O {Q {P3 {R3 {T {V {U3 {W3 {Y { {Z {q {[ {f {\ {a {] {_ {^3 {`3 {b {d {c3 {e3 {g {l {h {j {i3 {k3 {m {o {n3 {p3 {r {} {s {x {t {v {u3 {w3 {y {{ {z3 {|3 {~ { { { {3 {3 { { {3 {3 { { { { { { { { {3 {3 { { {3 {3 { { { { {3 {3 { {3 { { { { { {3 { { {3 {3 { { { { {3 {3 { { {3 {3 { | { { { { { { { { { { {3 {3 { { {3 {3 { { { { {3 {3 { { {3 {3 { { { { { { {3 {3 { { {3 {3 { { { { {3 {3 { { {3 {3 { { { { { { { {3 { { {3 {3 { { { { {3 {3 { { {3 {3 { | { | { { {3 |3 | | |3 |3 | | | | | 3 | 3 | | |3 |3 | |_ | |* | | | | | | |3 |3 | | |3 |3 | |% |! |# |"3 |$3 |& |( |'3 |)3 |+ |V |, |Q |- |/ |.3 |0 |13 |2 |33 |43 |53 |63 |73 |833 |9 |:3 |;3 |<33 |=3 |> |?33 |@3 |A |B3 |C3 |D33 |E |F3 |G3 |H3 |I3 |J3 |K3 |L3 |M3 |N3 |O3 |P33 |R |T |S3 |U3 |W |\ |X |Z |Y3 |[3 |] |^3 |` |u |a |l |b |g |c |e |d3 |f3 |h |j |i3 |k3 |m |p |n |o3 |q |s |r3 |t3 |v | |w || |x |z |y3 |{3 |} | |~3 |3 | | | |3 | | |3 |3 | }8 | | | | | | | | | | | |3 | |3 | | | | |3 |3 | |3 | | | | | | |3 |3 | | |3 |3 | | | |3 | | |3 |3 | | | | | | | | |3 |3 | | |3 |3 | | | | |3 |3 | | |3 |3 | | | | | | |3 |3 | | |3 |3 | | | | |3 |3 | |3 | } | | | | | | | | |3 |3 | |3 | | | | |3 |3 | | |3 |3 | } | | | |3 | } |3 }3 } } } }3 } } }3 } 3 } }! } } } } } } }3 }3 } }3 } } } } }3 }3 } } }3 } 3 }" }- }# }( }$ }& }%3 }'3 }) }+ }*3 },3 }. }3 }/ }1 }03 }23 }4 }6 }53 }73 }9 } }: } }; }P }< }G }= }B }> }@ }?3 }A3 }C }E }D3 }F3 }H }K }I }J3 }L }N }M3 }O3 }Q }Z }R }W }S }U }T3 }V3 }X }Y3 }[ } }\ } }] }^ }_3 }`3 }a3 }b3 }c3 }d3 }e3 }f3 }g3 }h3 }i3 }j3 }k3 }l33 }m }n3 }o3 }p3 }q3 }r3 }s3 }t3 }u3 }v3 }w3 }x3 }y3 }z3 }{3 }| }~3 }}XXX } }3GXX }3 } } }3 }3 } } } } } } } } }3 }3 } } }3 }3 } } } } }3 }3 } } }3 }3 } } } } } } }3 }3 } }3 } } } } }3 }3 } } }3 }3 } } } } } } } } } } }3 }3 } }3 } } } } }3 }3 } } }3 }3 } } } } } } }3 }3 } } }3 }3 } } } } }3 }3 } } }3 }3 } } } } } } } } }3 }3 } } }3 }3 } } } } }3 }3 } } }3 }3 } ~ } ~ } ~ }3 ~3 ~ ~ ~3 ~3 ~ ~ ~ ~ ~ 3 ~ 3 ~ ~ ~3 ~3 ~ z ~ ~ ~ ~n ~ ~A ~ ~, ~ ~# ~ ~ ~ ~ ~3 ~3 ~ ~! ~ 3 ~"3 ~$ ~) ~% ~' ~&3 ~(3 ~* ~+3 ~- ~8 ~. ~3 ~/ ~1 ~03 ~23 ~4 ~6 ~53 ~73 ~9 ~< ~: ~;3 ~= ~? ~>3 ~@3 ~B ~Y ~C ~N ~D ~I ~E ~G ~F3 ~H3 ~J ~L ~K3 ~M3 ~O ~T ~P ~R ~Q3 ~S3 ~U ~W ~V3 ~X3 ~Z ~e ~[ ~` ~\ ~^ ~]3 ~_3 ~a ~c ~b3 ~d3 ~f ~k ~g ~i ~h3 ~j3 ~l ~m3 ~o ~ ~p ~ ~q ~| ~r ~w ~s ~u ~t3 ~v3 ~x ~z ~y3 ~{3 ~} ~ ~~ ~ ~3 ~3 ~ ~ ~3 ~3 ~ ~ ~ ~ ~ ~3 ~ ~ ~3 ~3 ~ ~ ~ ~ ~3 ~3 ~ ~3 ~ ~ ~ ~ ~ ~ ~ ~ ~3 ~3 ~ ~ ~3 ~3 ~ ~ ~ ~ ~3 ~3 ~ ~ ~3 ~3 ~ ~ ~ ~ ~ ~ ~3 ~3 ~ ~ ~3 ~3 ~ ~ ~ ~3 ~ ~ ~3 ~3 ~ ! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~3 ~3 ~ ~ ~3 ~3 ~ ~ ~ ~ ~3 ~3 ~ ~ ~3 ~3 ~ ~ ~ ~ ~ ~3 ~ ~3 ~ ~ ~ ~ ~3 ~3 ~ ~ ~3 ~3 ~  ~ ~ ~ ~ ~ ~3 ~ ~ ~3 ~3     3 3   3  3       3 3   3 3     3 3   3  3 " O # : $ / % * & ( '3 )3 + - ,3 .3 0 5 1 3 23 43 6 8 73 93 ; D < A = ? >3 @3 B C3 E J F H G3 I3 K M L3 N3 P e Q \ R W S U T3 V3 X Z Y3 [3 ] ` ^ _3 a c b3 d3 f q g l h j i3 k3 m o n3 p3 r w s u t3 v3 x y3 { 6 |  }  ~        3 3   3 3     3 3  3       3 3   3 3     3 3   3 3         3 3  3     3 3   3 3       3 3   3 3     3 3   3 3           3 3   3 3     3 3   3 3       3 3   3 3    3 3   3 3     3 3   3 3     3 3   3 3 + ! & " $ #3 %3 ' ) (3 *3 , 1 - / .3 03 2 4 33 53 7 8 g 9 P : E ; @ < > =3 ?3 A C B3 D3 F K G I H3 J3 L N M3 O3 Q \ R W S U T3 V3 X Z Y3 [3 ] b ^ ` _3 a3 c e d3 f3 h  i t j o k m l3 n3 p r q3 s3 u z v x w3 y3 { } |3 ~3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 a T '   3 3   3 3   3 3  3 3       3 3   3 3  "  3 !3 # % $3 &3 ( = ) 4 * / + - ,3 .3 0 2 13 33 5 8 6 73 9 ; :3 <3 > I ? D @ B A3 C3 E G F3 H3 J O K M L3 N3 P R Q3 S3 U V k W ` X [ Y Z3 \ ^ ]3 _3 a f b d c3 e3 g i h3 j3 l w m r n p o3 q3 s u t3 v3 x } y { z3 |3 ~ 3 3 3 3 3 3  3 3 3 3 3 3 3 3 3 3 3 3 3 3 3  3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3     3 3  3 3 7      3  3     3 3   3 3 ! , " ' # % $3 &3 ( * )3 +3 - 2 . 0 /3 13 3 5 43 63 8 J 9 ? : ; = <3 >3 @ E A C B3 D3 F H G3 I3 K V L Q M O N3 P3 R T S3 UO W \ X Z Y3 [3 ] _ ^3 `3 b  c d e | f q g l h j i3 k3 m o n3 p3 r w s u t3 v3 x z y3 {3 } ~  3 3 3 3 3 3 3 3 3 3 3 3 3  3 3 3 3 3  3  3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3    3 3   3 3  3 3   3 3  s  D  -  "     3 3  3 !3 # ( $ & %3 '3 ) + *3 ,3 . 9 / 4 0 2 13 33 5 7 63 83 : ? ; = <3 >3 @ B A3 C3 E \ F Q G L H J I3 K3 M O N3 P3 R W S U TO V3 X Z Y3 [3 ] h ^ c _ a `3 b3 d f e3 g3 i n j l k3 m3 o q p3 r3 t u v  w z x y3 { } |3 ~3  3 3  3 3 3 3 3 3 3 3 3 3 3 3 O 3 3 3 3  3 3 3 3 3 : } $ 3 3 3 3 3 3 3 3  3 3 3  3 3 3   3 3  3 3    3 3 3 3      3   3 3     3 3 " !3 #3 % P & ; ' 2 ( - ) + *3 ,3 . 0 /3 13 3 8 4 6 53 73 9 :3 < E = B > @ ?3 A3 C Dޑ F K G I H3 J3 L N M3 O3 Q f R [ S X T V U3 W3 Y Z3 \ a ] _ ^3 `3 b d c3 e3 g r h m i k j3 l3 n p o3 q3 s x t v u3 w3 y { z3 |3 ~  3 3 3 3 3 3 3 3 3 3 3 3 3      O 3 3 3 3 3 ޑ 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3   3  3 3    3 3 3  #       3 3   3 3    3  ! 3 "3 $ / % * & ( '3 )3 + - ,3 .3 0 5 1 3 23 43 6 8 73 93 ; < = c > Q ? J @ E A C B3 D3 F H G3 I3 K N L M3 O P3 R ] S X T V U3 W3 Y [ Z3 \3 ^ _ a `3 b3 d y e p f k g i h3 j3 l n m3 o3 q t r s3 u w v3 x3 z { | ~ }3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3  3 3 3  3 3 3 3 3 3 3 C   3 O 3 3 3 3   3 3     3 3  3     3 3  3  .  %    3 3 ! # "3 $3 & + ' ) (3 *3 , -3 / 8 0 3 1 23 4 6 53 73 9 > : < ;3 =3 ? A @3 B3 D w E ` F U G P H I J K L M N OO Q S R3 T3 V [ W Y X3 Z3 \ ^ ]3 _3 a l b g c e d3 f3 h j i3 k3 m r n p o3 q3 s u t3 v3 x y z  { } |3 ~3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 D  ! f  3 3 3 3 3 3 3 3 3 3 3 3  3 3 3 3 O 3 3 3 3 3 3 3 O 3  3 3   3 3  7    3 3   3 3     3 3   3 3 ! , " ' # % $3 &3 ( * )3 +3 - 2 . 0 /3 13 3 5 43 63 8 O 9 D : ? ; = <3 >3 @ B A3 C3 E J F H G3 I3 K M L3 N3 P [ Q V R T S3 U3 W Y X3 Z3 \ a ] _ ^3 `3 b d c3 e3 g h i j u k p l n m3 o3 q s r3 t3 v { w y x3 z3 | ~ }3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3  3  3 3 3 O    3   3 3    3 3   3 3     3 3   3 3 " # | $ Q % : & 1 ' , ( * )3 +3 - / .3 03 2 7 3 5 43 63 8 93 ; F < A = ? >3 @3 B D C3 E3 G L H J I3 K3 M O N3 P3 R e S \ T Y U W V3 X3 Z [3 ] ` ^ _3 a c b3 d3 f q g l h j i3 k3 m o n3 p3 r w s u t3 v3 x z y3 {3 } ~   3 3 3 3 3 3 3 3 3 3 3  3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1  3 3 3 3 3 3 3  3 3 3 3 3  3 3       3 3  3 3     3 3  3  &  !   3 3 " $ #3 %3 ' , ( * )3 +3 - / .3 03 2 a 3 J 4 ? 5 : 6 8 73 93 ; = <3 >3 @ E A C B3 D3 F H G3 I3 K V L Q M O N3 P3 R T S3 U3 W \ X Z Y3 [3 ] _ ^3 `3 b w c l d g e f3 h j i3 k3 m r n p o3 q3 s u t3 v3 x y | z {3 }  ~3 3 3 3 3 3  I 3 3 3 3 3 3 3 3 3 3 3 3 3 3 O 3 3 3 3 3 3 3 3 3 3 3 3 3 O 3 3 3   3 3 3 3  3 3   3 3    3  3 3     3 3   3 3  4  )  $ " !3 #3 % ' &3 (3 * / + - ,3 .3 0 2 13 33 5 @ 6 ; 7 9 83 :3 < > =3 ?3 A D B C3 E G F3 H3 J K x L a M V N S O Q P3 R3 T U3 W \ X Z Y3 [3 ] _ ^3 `3 b m c h d f e3 g3 i k j3 l3 n s o q p3 r3 t v u3 w3 y z { | ~ }3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3  3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3  3 3   c  6     3 3   3 3     3 3   3 3 + ! & " $ #3 %3 ' ) (3 *3 , 1 - / .3 03 2 4 33 53 7 L 8 A 9 < : ;3 = ? >3 @3 B G C E D3 F3 H J I3 K3 M X N S O Q P3 R3 T V U3 W3 Y ^ Z \ [3 ]3 _ a `3 b3 d e | f q g l h j i3 k3 m o n3 p3 r w s u t3 v3 x z y3 {3 } ~  3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 O 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3     3 3  3 3     3 3   3 3    3   3 3 ! P " 9 # . $ ) % ' &3 (3 * , +3 -3 / 4 0 2 13 33 5 7 63 83 : E ; @ < > =3 ?3 A C B3 D3 F K G I H3 J3 L N M3 O3 Q h R ] S X T V U3 W3 Y [ Z3 \3 ^ c _ a `3 b3 d f e3 g3 i t j o k m l3 n3 p r q3 s3 u z v x w3 y3 { } |3 ~3 d 7 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3  3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3    3 3   3 3 "     3 3   3 3     3 3  3 !3 # , $ ' % &3 ( * )3 +3 - 2 . 0 /3 13 3 5 43 63 8 9 h : Q ; F < A = ? >3 @3 B D C3 E3 G L H J I3 K3 M O N3 P3 R ] S X T V U3 W3 Y [ Z3 \3 ^ c _ a `3 b3 d f e3 g3 i j u k p l n m3 o3 q s r3 t3 v { w y x3 z3 | ~ }3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3  3 3 3 3 3 3 3 3 3 3 3 3 3   3 3 3 3 3 J   3 3 3 3   3 3   3 3   3 3   3 3     3 3   3 3 5 ! * " ' # % $3 &3 ( )3 + 0 , . -3 /3 1 3 23 43 6 ? 7 < 8 : 93 ;3 = >3 @ E A C B3 D3 F H G3 I3 K x L a M X N S O Q P3 R3 T V U3 W3 Y \ Z [3 ] _ ^3 `3 b m c h d f e3 g3 i k j3 l3 n s o q p3 r3 t v u3 w3 y z { | ~ }3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3  3 3 3 3 3 3 3 3 3 3 3 3 3 3 O 3 3 3 3 3 3 3 3 3 3 3 3 3  3 3   3 3  5     3 3  3     3 3   3 3  * % ! # "3 $3 & ( '3 )3 + 0 , . -3 /3 1 3 23 43 6 M 7 B 8 = 9 ; :3 <3 > @ ?3 A3 C H D F E3 G3 I K J3 L3 N Y O T P R Q3 S3 U W V3 XO Z _ [ ] \3 ^3 ` b a3 c3 e f ! g h i j u k p l n m3 o3 q s r3 t3 v { w y x3 z3 | ~ }3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3  3 3 O 3 3 3 3 3 3 3 3 3 3 3 3 3 3  3    3 3   3 3    3 3   3 3     3 3   3 3 " ~ # N $ 9 % . & + ' ) (3 *3 , -3 / 4 0 2 13 33 5 7 63 83 : E ; @ < > =3 ?3 A C B3 D3 F I G H3 J L K3 M3 O f P [ Q V R T S3 U3 W Y X3 Z3 \ a ] _ ^3 `3 b d c3 e3 g s h m i k j3 l3 n p o3 q rO t y u w v3 x3 z | {3 }3  3 3 3 3 3 3 3  3 3 3 3 3 3 3 3 3 3 3 3 3 O 3 3 3 3 3 3 3  3 6  3 3 3 3 3 3 3 3 3 3 3  3 3   3 3     3 3   3 3     3 3   3 3 + ! & " $ #3 %3 ' ) (3 *3 , 1 - / .3 03 2 4 33 53 7 f 8 O 9 D : ? ; = <3 >3 @ B A3 C3 E J F H G3 I3 K M L3 N3 P [ Q V R T S3 U3 W Y X3 Z3 \ a ] _ ^3 `3 b d c3 e3 g z h q i l j k3 m o n3 p3 r u s t3 v x w3 y3 { | }  ~3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3  3 3 3 3 3 3 3  3 3 3 3 3 3 3 3 3  3 3 3 3 3   3 3 3 3 3 3  3 3     3 3  3 3     3 3   3 O  1  (  #  ! 3 "3 $ & %3 '3 ) , * +3 - / .3 03 2 = 3 8 4 6 53 73 9 ; :3 <3 > A ? @3 B C3 E ( F 3 G H  I J y K b L W M R N P O3 Q3 S U T3 V3 X ] Y [ Z3 \3 ^ ` _3 a3 c n d i e g f3 h3 j l k3 m3 o t p r q3 s3 u w v3 x3 z { | }  ~3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3  3 3 3 3 3 3 3 3 3  3 3 3 3 3  3 3  a  2      3 O  3     3 3   3 3  '  "  3 !3 # % $3 &3 ( - ) + *3 ,O . 0 /3 13 3 J 4 ? 5 : 6 8 73 93 ; = <3 >3 @ E A C BO D3 F H G3 I3 K V L Q M O N3 P3 R T S3 U3 W \ X Z Y3 [3 ] _ ^3 `3 b c x d o e j f h g3 i3 k m l3 n3 p u q s r3 t3 v w3 y z  { } |3 ~O 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 x   3 3 3 3 3 3 3  3 3 3 3 3 3 3  3 3 3 3 3 3 3 3      3 3 O 3     3 3   3 3  I  2  '  "  3 !3 # % $3 &3 ( - ) + *3 ,3 . 0 /3 13 3 > 4 9 5 7 63 83 : < ;3 =3 ? D @ B A3 C3 E G F3 H3 J a K V L Q M O N3 P3 R T S3 U3 W \ X Z Y3 [3 ] _ ^3 `3 b m c h d f e3 g3 i k j3 l3 n s o q p3 r3 t v u3 w3 y z { | } ~ 3 3 3 3 3 3 3 3  3 3 3 3 3  3 3 3 3 O 3 3 3 3 O 3 3 3 3 3 3 3  3 3 3 3 3 3 3 3 3 3 3 3 3 3  3 3       3 3  3 3     3 3   3 3  (  #  ! 3 "3 $ & %3 '3 ) . * , +3 -3 / 1 03 23 4 5 6 7 f 8 O 9 D : ? ; = <3 >3 @ B A3 C3 E J F H G3 I3 K M LO N3 P [ Q V R T S3 U3 W Y X3 Z3 \ a ] _ ^3 `3 b d c3 e3 g | h s i n j l k3 m3 o q p3 r3 t w u v3 x z y3 {3 } ~  3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 R #  3 3 3 3     3 3  3 3      3 3   3 3     3 3  ! 3 "3 $ ; % 0 & + ' ) (3 *3 , . -3 /3 1 6 2 4 33 53 7 9 83 :3 < G = B > @ ?3 A3 C E DO F3 H M I K J3 L3 N P O3 Q3 S T k U ` V [ W Y X3 Z3 \ ^ ]3 _3 a f b d c3 e3 g i h3 j3 l w m r n p o3 q3 s u t3 v3 x } y { z3 |3 ~ 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 k  3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3   3  3 3    3 3 3 3  >  '       3 3   3 3  "  3 !3 # % $3 &O ( 3 ) . * , +3 -3 / 1 03 23 4 9 5 7 63 83 : < ;3 =3 ? V @ K A F B D C3 E3 G I H3 J3 L Q M O N3 P3 R T S3 U3 W ` X [ Y Z3 \ ^ ]3 _3 a f b d c3 e3 g i h3 j3 l m n o z p u q s r3 t3 v x w3 y3 { | ~ }3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3  3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3    3 3   3 3   3 3  3 3       3 3   3 3  #  ! 3 "3 $ & %3 '3 )  * + , - \ . E / : 0 5 1 3 23 43 6 8 73 93 ; @ < > =3 ?3 A C B3 D3 F Q G L H J I3 K3 M O N3 P3 R W S U T3 V3 X Z Y3 [3 ] t ^ i _ d ` b a3 c3 e g f3 h3 j o k m l3 n3 p r q3 s3 u v { w y x3 z3 | ~ }3 3 3 3 3 3 3 3 3O 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 O 3 3 3 3 3 3 O 3 3 3 D   3 3 3 3 3 3  3 3     3 3  3 3     3 3   3 3  /  &  !  3 " $ #3 %3 ' * ( )3 + - ,3 .3 0 ; 1 6 2 4 33 53 7 9 83 :3 < A = ? >3 @3 B C3 E r F ] G R H M I K J3 L3 N P O3 Q3 S X T V U3 W3 Y [ Z3 \3 ^ g _ d ` b a3 c3 e f3 h m i k j3 l3 n p o3 q3 s t  u z v x w3 y3 { } |3 ~3 3 3 3 3 3 3 3 3 3 3 3 3 ] 3 3 3 3 3 3 3 3  3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3  3 3 3 .       3 3  3 3    3 3   3 3  #     3 3  ! 3 "3 $ ) % ' &3 (3 * , +3 -3 / F 0 ; 1 6 2 4 33 53 7 9 83 :3 < A = ? >3 @3 B D C3 E3 G R H M I K J3 L3 N P O3 Q3 S X T V U3 W3 Y [ Z3 \3 ^ _ ` w a l b g c e d3 f3 h j i3 k3 m r n p o3 q3 s u t3 v3 x y ~ z | {3 }3  3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3  3 3 3 3 3 3 3 3 3 3 3 O 3  3 3  3 3 3 3 3 3 3 3 3 3 3   3 3    3 3 3 3    o  B  +      3 3   3 3 ! & " $ #3 %3 ' ) (3 *3 , 7 - 2 . 0 /3 13 3 5 43 63 8 = 9 ; :3 <3 > @ ?3 A3 C Z D O E J F H G3 I3 K M L3 N3 P U Q S R3 T3 V X W3 Y3 [ d \ a ] _ ^3 `3 b c3 e j f h g3 i3 k m l3 n3 p q r } s x t v u3 w3 y { z3 |3 ~  3 3 3 3 3 O 3 3 3 3 3 3 3 3 3 3  3 3 3 3 3 3 3 3 3 3 3 * 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3     3 3   3 3  3 3   3 3       3 3   3 3 % ! # "3 $3 & ( '3 )3 + X , C - 8 . 3 / 1 03 23 4 6 53 73 9 > : < ;3 =3 ? A @3 B3 D M E J F H G3 I3 K L3 N S O Q P3 R3 T V U3 W3 Y l Z c [ ` \ ^ ]3 _3 a b3 d g e f3 h j i3 k3 m x n s o q p3 r3 t v u3 w3 y ~ z | {3 }3  3 : 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3  3 3 3  3 3 3 3 3 3 3 3  3 3   3 3   3 3  3 3  (       3 3   3 3  #  ! 3 "3 $ & %3 '3 ) / * + - ,3 .3 0 5 1 3 23 43 6 8 73 93 ; < i = T > I ? D @ B A3 C3 E G F3 H3 J O K M L3 N3 P R Q3 S3 U ` V [ W Y X3 Z3 \ ^ ]3 _3 a f b d c3 e3 g h3 j k v l q m o n3 p3 r t s3 u3 w | x z y3 {3 }  ~3 3 3 3 3 3 3 3 3 3  3 3 3 3 3 3 3 3 3 3 3  3 3 3 3 3 3 3 3 3  3  3 3 3  3 3 3    N I    3 3 3     3 3  3 3      3 3   3 3    3 3  4 + ! & " $ #3 %3 ' ) (3 *O , / - .3 0 2 13 33 5 > 6 ; 7 9 83 :3 < =3 ? D @ B A3 C3 E G F3 H3 J p K b L W M R N P O3 Q3 S U T3 V3 X ] Y [ Z3 \3 ^ ` _3 a3 c j d g e f3 h i3 k l n mO o3 q r { s v t u3 w y x3 z3 | }  ~3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 #   3 3  3 3    3 3 3 3       3 3   3 3    3 3 ! "3 $ 9 % . & ) ' (3 * , +3 -3 / 4 0 2 13 33 5 7 63 83 : E ; @ < > =3 ?3 A C B3 D3 F K G I H3 J3 L M3 O P Q | R g S \ T W U V3 X Z Y3 [3 ] b ^ ` _3 a3 c e d3 f3 h s i n j l k3 m3 o q p3 r3 t y u w v3 x3 z {3 } ~  3 3 3 3 3 3 3 3  3 3 3 3 3 3  3 3 3 3 3 3  3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 V -       3  3 3   3 3   3 3  "     3 3  3 !3 # ( $ & %3 '3 ) + *3 ,3 . C / 8 0 3 1 23 4 6 5O 73 9 > : < ;3 =3 ? A @3 B3 D K E H F G3 I J3 L Q M O N3 P3 R T S3 U3 W X o Y d Z _ [ ] \3 ^3 ` b a3 c3 e j f h g3 i3 k m l3 n3 p { q v r t s3 u3 w y x3 z3 | }  ~3 3 3 3 3 3 3 3 3 3 3 3  3 3 3 3 3 3 3  j  3 3 3 3 3 3  3 3 3 3 3 3 3 3 3 3 3 3 3 3 3  3   3 3   3 3   3 3 3  ?  (       3 3   3 3  #  ! 3 "3 $ & %3 '3 ) 4 * / + - ,3 .3 0 2 13 33 5 : 6 8 73 93 ; = <3 >3 @ W A L B G C E D3 F3 H J I3 K3 M R N P O3 Q3 S U T3 V3 X _ Y \ Z [3 ] ^3 ` e a c b3 d3 f h g3 i3 k l m n y o t p r q3 s3 u w v3 x3 z  { } |3 ~3 3  3  3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3  3 3 3 3 3 3 3 3 3  3 3 3 3 3  3 3 3 3 3 3  3 3     3 3  3     3 3   3 3   q  F  1  &  #  ! 3 "3 $ %3 ' , ( * )3 +3 - / .3 03 2 ; 3 8 4 6 53 73 9 :3 < A = ? >3 @3 B D C3 E3 G ^ H S I N J L K3 M3 O Q P3 R3 T Y U W V3 X3 Z \ [3 ]3 _ f ` c a b3 d e3 g l h j i3 k3 m o n3 p3 r s t } u z v x w3 y3 { |3 ~  3 3 3 3  3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3  3 " 3 3 3 3 3 3 3  3 3 3 3 3 3 3  3 3  3     3 3 3 3      3   3 3     3 3  3 !3 # R $ ; % 0 & + ' ) (3 *3 , . -3 /3 1 6 2 4 33 53 7 9 83 :3 < G = B > @ ?3 A3 C E D3 F3 H M I K J3 L3 N P O3 Q3 S j T _ U Z V X W3 Y3 [ ] \3 ^3 ` e a c b3 d3 f h g3 i3 k v l q m o n3 p3 r t s3 u3 w | x z y3 {3 }  ~3 3  K 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3  3 3 3 3 3 3 3 3    3 3   3   3 33 3 3 3 3ޑ3     3 3   3 3  4  )  $ " !3 #3 % ' &3 (3 * / + - ,3 .3 0 2 13 33 5 @ 6 ; 7 9 83 :3 < > =3 ?3 A F B D C3 E3 G I H3 J3 L M z N c O Z P U Q S R3 T3 V X W3 Y3 [ ^ \ ]3 _ a `3 b3 d o e j f h g3 i3 k m l3 n3 p u q s r3 t3 v x w3 y3 { | } ~ 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3   3 3   3 3 i : #      3 3   3 3     3 3  ! 3 "3 $ / % * & ( '3 )3 + - ,3 .3 0 5 1 3 23 43 6 8 73 93 ; R < G = B > @ ?3 A3 C E D3 F3 H M I K J3 L3 N P O3 Q3 S ^ T Y U W V3 X3 Z \ [3 ]3 _ d ` b a3 c3 e g f3 h3 j k l w m r n p o3 q3 s u t3 v3 x } y { z3 |3 ~ 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 ( 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3    3 3   3 3   3 3  3 3       3 3   3 3  #  ! 3 "3 $ & %3 '3 ) V * ? + 6 , 1 - / .3 03 2 4 33 53 7 < 8 : 93 ;3 = >3 @ K A F B D C3 E3 G I H3 J3 L Q M O N3 P3 R T S3 U3 W n X c Y ^ Z \ [3 ]3 _ a `3 b3 d i e g f3 h3 j l k3 m3 o z p u q s r3 t3 v x w3 y3 { | ~ }3 3 3 3  F 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3  3 3 3 3 3 3 3 3      3 3  3 3    3 3   3 3  /  $     3 3 " !3 #3 % * & ( '3 )3 + - ,3 .3 0 ; 1 6 2 4 33 53 7 9 83 :3 < A = ? >3 @3 B D C3 E3 G H w I ` J U K P L N M3 O3 Q S R3 T3 V [ W Y X3 Z3 \ ^ ]3 _3 a l b g c e d3 f3 h j i3 k3 m r n p o3 q3 s u t3 v3 x y z  { } |3 ~3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3   3 3    7    3 3   3 3     3 3   3 3 ! , " ' # % $3 &3 ( * )3 +3 - 2 . 0 /3 13 3 5 43 63 8 O 9 D : ? ; = <3 >3 @ B A3 C3 E J F H G3 I3 K M L3 N3 P [ Q V R T S3 U3 W Y X3 Z3 \ a ] _ ^3 `3 b d c3 e3 g h i j k l m n s o p q r6 t u  v w x y ~ z | {66 }666  66 66 6 6 6 66 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6p6 6 6 6 6 66   6  6 6 6              6   6 66   6   6  6 6 6 6 6 6 6 66 6 66 6 6 6 66 66 6 6 66 6 6 6 6 66 6 6 6 66 6 6 6 6 6 6 6 66  6 6 6 6 6 6 6 6 6 6 6 6 66  66  6 6 66  6 6 6 6 66   6 3 ! * " &6 #6 $ %66 ' ( )6 + / , - .6 0 1 26 4 = 5 9 6 7 86 : ; <6 > F ? B6 @ A66 C D66 E6 G6 H I J K66 L M6 N j O66 P Q6 R6 S6 T6 U6 V6 W6 X6 Y66 Z6 [6 \6 ]6 ^6 _6 `6 a6 b6 c d6 e6 f66 g h6 i66 k6 l6 m6 n6 o66 p q6 r6 s6 t6 u6 v6 w66 x6 y z66 { |6 }6 ~66 6 6 66 66 6 66 6 66 6 66 6 6 66   66   66 6 6 6 6 6 66     6  6 6     6 66 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 66 6 66 6 66 6 6 6 66 6 6 66 66 66 6 6 66 6 6 6 6 6 6 6 6 6 6 6 6 6 66 66 66 6 6 6 66 6 6 6 66 6 6 66  66     q  >   ީ  Ȫ   .   T  % % % %%  % % % % % % %% !% " #% $% %% &% '% ( > )% *% +%% , -%% .% /% 0% 1% 2% 3% 4 5% 6% 7%% 8 9% :%% ;% < =%% ?% @%% A% B% C% D E%% F% G% H% I J% K%% L% M N%% O P%% Q R% S%% U  V W X YQ ZQ [Q \Q ]Q ^QQ _ `Q aQ bQ cQ dQQ eQ fQ g hQ iQ jQ kQQ lQ m nQQ o pQ qQQ rQ sQ tQ u vQ wQ xQ yQ zQ {QQ | }Q ~QQ [  %    v     #A  v       3    O OO O O O O O O O OO OO O O O O O O O O O O O O O O O O OOw0    E  m       % A >             $      x    x             xx   x      )   !    R " #) % / & ' ( , ) *x +x - .x 0 1 8 2 5 3 4# 6x 7x 9 : ; <x =x ? @ B C D% F O G K% H I JQ L M N% P W Q T R S U V!$ X Y Z } \ ] v ^ j _ c ` a bv d g e f h i k r l o m n  p qv s t u w x | y z { } ~ %      v   v }Q    %  v     }                                  :  #A  m   ?    O  %  Q   %         %   %%     #       O    2   }  %  ! " } $ 3 % , & ) ' (!$ * + - 0 . / 1 2 s 4 8 5 6 7% 9 < : ;m = > @ e A T B K C G D E F H I J L P M N O Q _ R S U Y V W% X Z ^ [ \ ] _ b ` a% c d f | g v h o i l j k m n% p s q rv t uQ w {% x y z%% } ~     O      %  #    a l I    %  %  %      %  m    %     d        O           v    !     P    |      %   2       v     1         ! " # N $ N % N & N ' N ( N ) N * N + N , N - N . N / N 0 N N% 2  3 4% 5%% 6 7% 8% 9% :% ;% <% =% N > ? N @ N A N N B C V D N N E F N G N N H I N N J N K N L M N N N N O N P N Q N R S N T N U N"o N W i X N N Y N Z [ N N \ N ] ^ N _ N ` N N a b N c N N d e N f N g N h N"o N j { k N l N m N N n N o N p N q N r s N t N u N v N w N x N y N z N"o N N | N } N ~  N N  N N  N  N N  N  N  N  N  N  N"o N   s     %       @ 9 6     }  }  }  }  }  }  }  } &  }}v~ t  } v~  { I H              } } } } } } } } } } } } } } }}   e$* $*U^ #      d^w{    }  } }   }  }   } v~  $* }       }  }y }  }  }  } } # } ! } " } $ } % }g } ' 0 ( } ) } * } + - } ,v~ . /$* } 1 } } 2 } 3 } 4 } 5 } 7 8 : = ; < } > ? A E B C DO F G H J  K L x M l N U O R P Q% S TQ V i W X Y Z [ \ ] ^ _ ` a b c d e f g hs j k & m t n q o pO r s% u v w y z ~ { | }         %                VV   V           .  V   V  V    #P     !  !  O %  % % % % %% % % % % % % % % % % %% % :%   }  %        5        Q          %   %  )  %  "  !% # $% & ' ( * . + , - / 2 0 1 3 4 6 I 7 @ 8 < 9 : ; =% > ? A E B C D F G H J c K b L O M N P Q R S% T% U% V% W% X% Y% Z% [% \% ]% ^% _% `%% a%yQ d h e f g i j k m D n o p q } r v s t u w z x y { |% ~           s  s  s  s s  s  s  s  s  s  s  s  s  s  s s  s s  s s  s  s  s s  s  s s  s s  s  s  s  s *         %         }   %%       %O       _      }  Q                         m      4  ( $_ ! " # %Q & '_ ) - * + ,% . 1 / 0O 2 3 s 5 ; 6 7 } 8 9 : < =% > A ? @ B C E F G ` H M I } J K L N U O R P Q S T } V ] W Z X YefL [ \t ^ _ } a g b f c d e h o i l j k m n p s q r t u v w x y z { | } ~                            Q        Q       Q    _                                 7 $      Q                                     ! " # % 1 & * ' ( )% + . , - / 0  2 3r 4 5 6 8 N 9 E : A ; > < =3 ? @O B C D% F J G H I K L MQ O X P T Qv R S3 U% V W Y ] Z } [ \v% ^ _ ` b P c B d e f  g s h l i j k m p n o3 q r t x u v w% y | z {% } ~  v  |     }       O%    O      U  U |  %  %     %               U             | |{~z% %  %  %             Q  O    %  %  2  #         ! " $ + % ( & ' ) * , / - .% 0 1 3 9 4 8 5% 6 7% : ;% < ? = > @ Am C D E F O G N H K I JO L M % P } Q R S T UQ VQ W t XQ YQ ZQ [QQ \ ]Q ^Q _Q `Q aQ bQ cQ d eQ fQ gQ hQ iQ jQ kQ lQ mQ nQ oQ pQ qQ rQ s}Q} uQ vQ w z x yvA { |}Q ~             }  O             # %  O       _             Om    %     }  %      %     m  @  1  *#     O O O O O O O O O O O O OO  O O O O O O O O !O "O #O $O %O &O 'O (O )Ow0O + . , - / 0 2 9 3 6 4 5 } 7 8 : = ; <O > ?#A A G B C D E F H I J M K L N OO Q y R S T U a V ] W Z X Y [ \% ^ _ ` b c f d eQ g h i j k l m n o p q r s t u v w x y z { | } ~        #_ٻ %      Q           $$        %     d     ?     m    %     II e J If  Q       %              '               #    ! " $O % & ( m ) l * i + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E Z F S G M H I J K LU N O P Q RU T U V W X YU [ b \ ] ^ _ ` aU c d e f g hU j k2 n u o r p q s tQ v w x z { | } ~    m      6     O   !    O  m   O  %  %  m            s    *     %   O     _ }  %   }   O   %           Q   } m                 % ' ! $ " #  % &% ( + ) *O , -% / 0 1 2 S 3 4 5 6 7 8 9 : ; < = M > ? @ A B C D E F G H I K JO LF N O P Q ROF T U V W | X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { } ~                              G      m    O  3      }        %       |    $    v O                         O          O      3  (  #   ! " $ % & '% ) . * + , - / 0 1 2 4 < 5 7 6 8 9 : ; = B > ? @ A C D E F H I x J a K V L Q M N O P } R S T U W \ X Y Z [2 ] ^ _ `m b m c h d e f g i j k l n s o p q r t u v w y z { | } ~  |              *      s        U  O     }    O            %    %    v     O    %        m :       m   %                 $       +  #  !  " $ & % ' ( ) *% , / - .% 0 5 1 2 3 4m 6 7 8 9 ; _ < P = H > C ? @ A B D E F GO I N J K L M OS Q \ R W S T U V X Y Z [ ] ^ ` w a l b g c d e fO h i j k m r n o p q ! s t u v x y ~ z { | }      v            %          O                        %     %                S         v               O             %      O  ! " # o $ H % 4 & . ' ) (  * + , - / 0 1 2 3Q 5 @ 6 ; 7 8 9 :% < = > ? A F B C D E G I X J U K P L M N O Q R S T V W Y d Z _ [ \ ] ^ ` a b c e j f g h i k l m n p q r x s t u v w y ~ z { | }        d              %     }        v           Q C              v                                  g    %  8         (            #     u ! "u $ % & 'uu ) * + / , - . 0 3 1 2 4 6 5 7 9 > : ; < =Q ? @ A B D h E T F Q G L H I J K M N O P R S% U ` V [ W X Y Z \ ] ^ _ a f b c d e g i } j u k p l m n o% q r s tO v x w y z { | ~              ,                Q  O        Q     s            |    %    Q    %        m O         %           }                !    % " ' # $ % & ( ) * + - u . R / A 0 9 1 6 2 3 4 5 7 8 : < ; & = > ? @% B J C H D E F GQ I  K M L N O P QO S g T _ U Z V W X Y [ \ ] ^m ` b a c d e f h p i n j k l m o  q s r t8 v w x ~ y z { | }%         _    O     Q               %    %     %      u     O    %        O         %     s          %    %     Q 2    %  >  '     O    m  "    ! # $ % & ( 3 ) . * + , - / 0 1 2 4 9 5 6 7 8 : ; < = ? a @ K A F B C D E G H I J L M N Ov Pv Qv Rv Svv T Uv Vv Wv Xv Yvv Z [v \v ]v ^v _v `vv b m c h d e f g  i j k l  n p o } q r s tO v w x y z  { | } ~%    O     r    %                                                 Q    %        Q         %    %          O    O        %   f  ?  -  * % ! " # $% & ' ( )O + , . 9 / 4 0 1 2 3 5 6 7 8 : ; < = >O @ T A I B D CO E F G H_ J O K L M N P Q R S U [ V W X Y Z \ a ] ^ _ ` b c d e g h | i q j l k m n o p r w s t u vO x y z { } ~             Q         Q     S         .                     %                  !                                M            (  #   ! " $ % & ' ) * + , - / ^ 0 G 1 < 2 7 3 4 5 6% 8 9 : ;P = B > ? @ AO C D E F% H S I N J K L MQ O P Q R T Y U V W X  Z [ \ ]% _ v ` k a f b c d e g h i jv l q m n o p r s t u w | x z y { } ~   O      t                      Q    *                                   :     : :                q                )    %       O #            ! K " 4 # . $ ) % & ' (O * + , - / 2 0 1 3O 5 @ 6 ; 7 8 9 : < = > ? A F B C D E% G H I JO L ` M U N S O P Q R T V [ W X Y Z \ ] ^ _ a i b d c% e f g h2 j o k l m n p q r s u v w x y ~ z { | } s     %    %            %        O     }       v                     m              U                                v        ǹ  I  5  * % ! " # $Q & ' ( )O + 0 , - . /  1 2 3 4 6 A 7 < 8 9 : ;#A = > ? @ B D CO E F G HO J \ K Q L M N O PO R W S T U V X Y Z [ ] c ^ _ ` a b d i e f g h% j k l m n o pv q n rv sv t V u vv w x y z { |  } ~v:: . z  : v vI v vv v v v  : z vv  ..v v  v vv v v vv vv v v  : v:  v  \ \ :: vv zv zI ~; z zz    z    z     : IR     z  vv      zI v v v vv ! F "v #v $v %v &v 'v (v )v *v + @ ,v - : . 5 / 2 0 1 3 4 6 9 7 8vv ;v < > =Yv ?I Avv Bv Cv D Evv Gv Hv Iv Jv Kv Lv Mv Nv Ov Pv Qv Rv Sv Tv Uvv Wv X ` Yv Zv [vv \ ]vv ^ _vv av bv cv dv e k f h g i jvv lv m o v p q | rv sv tv uv vv wv xv yv z { } ~v v v v v v v v v v v v vvv  vv v v vv v v v v v v v v v v v v v v v  v v v v v v v v v v v v v v v v v v v v v v v v v v vvv  vv v v vv v v v v v v v v v v v # v v v v v 7v vv v v vv   v v v  vv v      v vv v v v v   v v v    vv v v v v ! "vv $  % & ` ' C ( 4 ) . * , + - / 1 0 2 3v 5 < 6 9 7 8v : ;v = @ > ?. A B7v D S E L F I G H7v: J KvzL M P N Ov" Q RvY"v T Z U W Vv X Yvv [ ] \ ^ _W a ~ b p c i d f7 e7 g hv j m k lv n ov7 q x r u s t v wv\ y | z {vzv }v  v v" vY :v v v Lv  Y z z v :v vv v v v v  LvY v v :v v v v~; z Wv  v Lv vY v  LYv v    v  v   v: v  v vv   ƒ  K  .  $      vv "  !  I " # % * & ( 'v:v )vv + , - vL / = 0 6 1 3 2v7 4 5vv 7 : 8 9:v ; < > E ? B @ Avv: C Dvv F H GL I Jv L g M Z N T O Q P" R Sv U X V Wvv Yv [ ` \ ^v ]v _vv a d b cv e fLvvz h u i o j m k lvv nvv p rv qv. s tv v } w z x yvv { |v ~   €v ‚vv „ ³ … › † ‘ ‡ ‹v ˆ ‰ Švv Œ Ž vv  vv ’ ˜ “ • ”vv – —vv: ™vv šv œ §  £ ž   Ÿvv ¡ ¢v7vv ¤ ¥ ¦:v ¨ ® © ¬ ª «v:vv ­v ¯ ± °v ²v"W ´ µ ¶ ¼ · º ¸ ¹vz »v ½ ¿v ¾v v vv v  v zvv v v Lv vvv W v v 7v Y v é D $  7 v% 7  L  v  vvL v  zv    vv v    vv vv      vv vv  !  vv " #v % 8 & 3 ' . ( + ) * , -vv / 1 0vLv 2vvL 4v 5 6v 7vv 9 <v : ;vv = @ >vv ?Iv Av B Cvv E z F _ G S H N I L J Kvv Mvz O Q Pvv Rvv T Y U Wv Vvv Xv Z \v [v ] ^vv ` n a g b d cv e fvv h k i jvv l mvv o t p rv qv sv u w vv x yv { Ï | Ç } Ä ~ Á  Àvv  Ãzvv Åv ÆI È Ì Év Ê ËvIv Ívv Îv Ð Û Ñ × Ò Õ Ó Ôvv Öv Øv Ù Úvv Ü â Ý ßv Þv à ávv ã æ ä åvv ç èv êv ë ì í ÷ î ô ï ò ð ñvLvv óv õv övv ø ý ù ûv úvv üvv þ ÿvvL v vv  v vv v v vL v  vv v vv v vvLv \v  v zvv v v vv vv v vRv v I v v v vv v v v v v v v v v v v v v v    v v v vv  v vv v vv  vv v v v  ! " ċ # V $ : % 1 & , ' * ( )v + - 0 . / 2 5 3 4Y 6 8 7 9v ; H < C = @ > ?LY: A B D E F G I P J M K L N O Q T R SL\ U W p X c Y ^ Z \ [ ] _ a `7 b: d k e h f gY i jY"" l n m% oW q ~ r y s v t u7 w xLL z | {W }7  ą Ā Ă ā ă Ą Ć ĉ ć Ĉ Ċ Č č Ī Ď Ĝ ď ĕ Đ Ē đL ē Ĕ Ė ę ė Ę.z Ě ě ĝ Ĥ Ğ ġ ğ Ġ7 Ģ ģ ĥ ħ ĦI Ĩ ĩ ī Ĺ Ĭ IJ ĭ İ Į į: ı ij Ķ Ĵ ĵ ķ ĸY ĺ Ļ ľ ļ Ľ77z Ŀ   7:     .z 7 "" v   :  z    c .   v      ~;    W       #         ": ! ": $ ' % &R ( + ) *v , - / M 0 ? 1 8 2 5 3 4L7 6 7v 9 < : ;Y = >L @ G A D B Cv E Fv H K I JL LL N V O S P Q RL T U W \ X Z Yz. [ ] ` ^ _ a b: d Ř e | f o g j h i k m l n p v q s r t u w z x yL {v } ŋ ~ Ņ  ł ŀ Ł:v Ń ńv" ņ ň ŇWz ʼn Ŋ Ō œ ō Ő Ŏ ŏY ő Œ Ŕ Ŗ ŕz ŗ ř Ŷ Ś Ũ ś š Ŝ Ş ŝ ş ŠLz Ţ ť ţ Ť Ŧ ŧ ũ Ű Ū ŭ ū ŬL Ů ůL ű Ŵ Ų ų ŵ: ŷ Ÿ ž Ź Ż źI ż Ž\ ſ z  v    v v v zI I L v vv L v  v7 v L vz vv vvv v v  2        v      z.    v v  %       " ! # $L & - ' * ( ) + , . 0 / 1L 3v 4 ? 5 : 6 8 7 9 ; = <v >v @ C A BL D F Ev G Hv J Ƌv K L _ Mv Nv Ov Pv Qv Rv Sv Tv Uv Vv Wv Xv Yv Zv [v \v ] ^ ` q av bv cv dv ev fv gv hv iv jv kv lv mv nv ov pv rv sv tv uv vv wv xv yv zv {v |v }v ~ Ƈ  ƃ ƀ Ƃ Ɓvvv Ƅ ƅ Ɔvv ƈv Ɖv Ɗvv ƌ ƍ Ơ Ǝv Əv Ɛv Ƒv ƒv Ɠv Ɣv ƕv Ɩv Ɨv Ƙv ƙv ƚv ƛv Ɯv Ɲv ƞ Ɵ ơ Ʋ Ƣv ƣv Ƥv ƥv Ʀv Ƨv ƨv Ʃv ƪv ƫv Ƭv ƭv Ʈv Ưv ưv Ʊv Ƴv ƴv Ƶv ƶv Ʒv Ƹv ƹv ƺv ƻv Ƽv ƽv ƾv ƿ vvv  vv v v vv v v v v v v v v v ǭ ǧ lj R v  :L :: :"v v  z        Y   7 7W   "  7    L  z  5  (  !    :  " % # $:%Y & ' ) / * - + , .L 0 3 1 2"L 4v 6 D 7 > 8 ; 9 :"z < = ? B @ A"L C E L F I G H J K M P N O Q: S Tv Uv V r W d X ] Y [v Z \vv ^ a _ `v b c e l f i g hv7 j kL m o n p q7L s ~ t z u w v x yL { | }  dž ǀ ǃ ǁ ǂL DŽ DžL7 LJv LjR NJv Nj njv Ǎv ǎv Ǐ ǜ ǐ ǖ Ǒ ǔ ǒ Ǔv Ǖ Ǘ Ǚ ǘ ǚ ǛI ǝ Ǣ Ǟ Ǡ ǟ  ǡ ǣ ǥ Ǥz Ǧ Ǩ ǫ ǩ Ǫz Ǭv Ǯ Ǵ ǯ DZ ǰv Dz dz ǵ Ƿ Ƕ Ǹvv Ǻ ǻ Ǽ ǽ Ǿ ǿ                   }    O        %       s                   }    y  `  >  *            % % ! " # $ & ' ( ) + 3 , . - / 0 1 2 4 9 5 6 7 8% : ; < = ? Q @ K A F B C D E G H I J L M N O P R Z S U T  V W X Y$ [ \ ] ^ _ a Ȉ b v c n d i e f g h j k l m| o q pO r s t u w } x y z { | ~ ȃ  Ȁ ȁ ȂO Ȅ ȅ Ȇ ȇO ȉ ț Ȋ ȕ ȋ Ȑ Ȍ ȍ Ȏ ȏ ȑ Ȓ ȓ Ȕ ! Ȗ ȗ Ș ș ȚO Ȝ ȟ ȝ Ȟ% Ƞ ȥ ȡ Ȣ ȣ Ȥ% Ȧ ȧ Ȩ ȩ ȫ Ȭ ȭ 6 Ȯ ȯ X Ȱ  ȱ Ȳ ȳ Ȼ ȴ ȶ ȵ ȷ ȸ ȹ Ⱥ ȼ Ƚ Ⱦ ȿ                      2    %    %        % v        3  1         m             &  !    Q " # $ % ' , ( ) * +v - . / 0 2 A 3 > 4 9 5 6 7 8, : ; < =| ? @ B M C H D E F GO I J K L N S O P Q R_ T U V W Y ɫ Z Ʉ [ m \ b ] ^ _ ` az  c h d e f g i j k l% n y o t p q r s3 u v w x  z  { | } ~ ɀ Ɂ ɂ Ƀ Ʌ ɗ Ɇ ɑ ɇ Ɍ Ɉ ɉ Ɋ ɋ ɍ Ɏ ɏ ɐS ɒ ɓ ɔ ɕ ɖ ɘ ɠ ə ɛ ɚ ɜ ɝ ɞ ɟ ɡ ɦ ɢ ɣ ɤ ɥ ɧ ɨ ɩ ɪ ɬ ʜ ɭ ɼ ɮ ɹ ɯ ɴ ɰ ɱ ɲ ɳ ɵ ɶ ɷ ɸ# ɺ ɻ ɽ ɾ ɿ    s     ʗ      b                                            1 u   K W     H  ;  %                 "  !u # $ & / ' * ( )P + , -H . 0 5 1 2 4 3  6 9 7 8wK : < = > B ? @ A1H C F D E#H G  I J K S L N M O Q Pu R  T U V1 X Y Z [ \ ] ^ _ ` a  c d e f g h i j k l ʆ m x n r o p q w s u t  v w y ʀ z } { | u1K ~  u ʁ ʃ ʂ1 ʄ ʅ  ʇ ʐ ʈ ʋ ʉ ʊ ʌ ʎ ʍH ʏK ʑ ʒ ʕ ʓ ʔ ʖH ʘ ʙ ʚ ʛ ʝ ʞ ʦ ʟ ʡ ʠy ʢ ʣ ʤ ʥ2 ʧ ʨ ʩ ʪ ʫ ʬ ʭ ʴ ʮ _ ʯ _ ʰ _ ʱ _ ʲ ʳ _ _ _ ʵ _ ʶ _ ʷ _ ʸ _ ʹ _ ʺ _ ʻ ʼ _ ʽ _ ʾ _ ʿ _  _  _  _ _            m         z /   v         O    O                     %         $        ! " # % * & ' ( )O + , - . 0 V 1 B 2 : 3 5 4 6 7 8 9 ; @ < = > ? A% C K D F E G H I J L Q M N O P R S T U W k X c Y ^ Z [ \ ] _ ` a b d f e g h i j l w m r n o p qO s t u v x y { | ˻ } ˤ ~ ˉ  ˄ ˀ ˁ ˂ ˃ ˅ ˆ ˇ ˈ% ˊ ˟ ˋ ˌ ˍ ˎ ˏ ː ˑ ˒ ˓ ˔ ˕ ˖ ˗ ˘ ˙ ˚ ˛ ˜ ˝ ˞ ˠ ˡ ˢ ˣ ˥ ˰ ˦ ˫ ˧ ˨ ˩ ˪ s ˬ ˭ ˮ ˯# ˱ ˶ ˲ ˳ ˴ ˵ ˷ ˸ ˹ ˺ } ˼ ˽ ˾ ˿            $        O          d                                       %     + ! & " # $ %| ' ( ) * , 1 - . / 0 2 3 4 5 7 ~ 8 9 ̂ : S ; G < A = ? >3 @O B C D E F ! H P I N J K L Mm O Q R% T k U ` V [ W X Y Z$ \ ] ^ _ a f b c d e  g h i j l w m r n o p q s t u v x } y z { | ~  ̀ ́ ̃ ̡ ̄ ̐ ̅ ̋ ̆ ̇ ̈ ̉ ̊ ̌ ̎ ̍ ̏  ̑ ̙ ̒ ̗ ̓ ̔ ̕ ̖  ̘O ̚ ̜ ̛  ̝ ̞ ̟ ̠ ̢ ̶ ̣ ̮ ̤ ̩ ̥ ̦ ̧ ̨% ̪ ̫ ̬ ̭ ̯ ̱ ̰ ̲ ̳ ̴ ̵ ̷ ̸ ̽ ̹ ̺ ̻ ̼O ̾ ̿          O                  v               2         m               R  C  8  3   ! " # $ % & ' ( ) * + , - . / 0 1 2 4 5 6 7Q 9 > : ; < = ! ? @ A B D G E F H M I J K LQ N O P Q% S j T _ U Z V W X Y [ \ ] ^ ` e a b c dv f g h iQ k s l n m o p q r t y u v w x z { | }m  : ̀ ́ ͥ ͂ ͖ ̓ ͋ ̈́ ͆ ͅ ͇ ͈ ͉ ͊ ͌ ͑ ͍ ͎ ͏ ͐v ͒ ͓ ͔ ͕ ͗ ͝ ͘ ͙ ͚ ͛ ͜ ͞ ͠ ͟ } ͡ ͢ ͣ ͤO ͦ ͬ ͧ ͨ ͪ ͩ ͫS ͭ ͮ ͳ ͯ Ͱ ͱ ͲO ʹ ͵ Ͷ ͷ ͸ ͹O ͺO ͻO ͼO ͽO ;O ͿO O O O O O O O O O O O OO O O O O O O O O O O Ow0O     %                      s          % #                     ! " $ / % * & ' ( )  + , - . 0 5 1 2 3 4 6 7 8 9 ; Ϋ < f = O > I ? D @ A B C E F G H J K L M N P [ Q V R S T U W X Y Z \ a ] ^ _ ` b c d e g Η h Ό i n j k l m% o p q r s t u v w x y z { ΃ | } ~  ΀ ΁ ΂ ΄ ΅ Ά · Έ Ή Ί ΋II ΍ Β Ύ Ώ ΐ Α Γ Δ Ε Ζ Θ Π Ι Λ Κ% Μ Ν Ξ Ο Ρ Φ ΢ Σ Τ Υ Χ Ψ Ω Ϊ ά έ ή ζ ί α ΰ% β γ δ ε% η μ θ ι κ λ ν ξ ο            !               %     v r : ϗ K          %               %    %      4 ! , " ' # $ % & ( ) * +O - 2 . / 0 1Q 3 5 @ 6 ; 7 8 9 :% < = > ? A F B C D E } G H I J L u M ^ N V O Q P% R S T U W Y X Z [ \ ] _ j ` e a b c d f g h i k p l m n o q r s t v ϊ w ς x } y z { | ~  π ρO σ ψ τ υ φ χ ω ϋ ϑ ό ύ ώ Ϗ ϐ ϒ ϓ ϔ ϕ ϖ Ϙ ϙ ϻ Ϛ ϩ ϛ Ϟ Ϝ ϝ ϟ Ϥ Ϡ ϡ Ϣ ϣ ϥ Ϧ ϧ Ϩ } Ϫ ϰ ϫ Ϭ ϭ Ϯ ϯO ϱ ϶ ϲ ϳ ϴ ϵO Ϸ ϸ Ϲ Ϻ ϼ Ͻ Ͼ Ͽ   v    %            O                             v     }       #        %        ! "Q $ / % * & ' ( )% + , - . 0 5 1 2 3 4 6 7 8 9O ; < Ћ = d > P ? E @ A B C D F K G H I J L M N O Q Y R T S U V W X ! Z _ [ \ ] ^ ` a b c% e w f q g l h i j k m n o pv r s t u v x Ѐ y { z% | } ~  Ё І Ђ Ѓ Є Ѕ & Ї Ј Љ ЊO Ќ и Ѝ Ф Ў Й Џ Д А Б В Г Е Ж З И К П Л М Н О% Р С Т УO Х а Ц Ы Ч Ш Щ Ъ Ь Э Ю Я б г вv д е ж з й к п л н м о      %    O    *    !$                                       2          %     v  H 4 ! ) " $ # % & ' ( * / + , - . 0 1 2 3O 5 @ 6 ; 7 8 9 : < = > ? A F B C D E% G3 I [ J P K L M N O Q V R S T U W X Y Z \ g ] b ^ _ ` a c d e fm h m i j k l } n o p qO s ҳ t  u v Ѣ w ю x у y ~ z { | } !  р с т% ф щ х ц ч ш ъ ы ь э  я ї ѐ ѕ ё ђ ѓ є іv ј ѝ љ њ ћ ќ ў џ Ѡ ѡ ѣ ѵ Ѥ Ѫ ѥ Ѧ ѧ Ѩ ѩO ѫ Ѱ Ѭ ѭ Ѯ ѯ  ѱ Ѳ ѳ Ѵ Ѷ ѷ Ѽ Ѹ ѹ Ѻ ѻO ѽ Ѿ ѿ O        |         }    %    O                                 %        ^  7  (  "   %    !v # $ % & ' ) 4 * / + , - . 0 1 2 3 5 6 8 G 9 A : < ; = > ? @ B C D E F H S I N J K L M% O P Q RO T Y U V W X Z [ \ ] _ ~ ` j a d b c e f g h i k v l q m n o pQ r s t u w y x% z { | }O  ҡ Ҁ ҙ ҁ җ ҂ ҃ ҄ ҅ ҆ ҇ ҈ ҉ Ҋ ҋ Ҍ ҍ Ҏ ҏ Ґ ґ Ғ ғ Ҕ ҕ ҖC Ҙ2 Қ Ҝ қ ҝ Ҟ ҟ ҠO Ң ҭ ң Ҩ Ҥ ҥ Ҧ ҧ } ҩ Ҫ ҫ Ҭ Ү ү Ұ ұ ҲO Ҵ M ҵ Ҷ ҷ Ҹ ҹ һ Һ* Ҽ ҽ Ҿ ҿ     U            Q         m               +         !         O O       O    % ! & " # $ %% ' ( ) *v , > - 3 . / 0 1 2m 4 9 5 6 7 8 : ; < = ? E @ A B C D F K G H I JO L N ӥ O v P d Q \ R W S T U V X Y Z [ ] b ^ _ ` a c  e k f g h i jO l q m n o p r s t uQ w ӎ x Ӄ y ~ z { | }v  Ӏ Ӂ ӂ ӄ Ӊ Ӆ ӆ Ӈ ӈ ӊ Ӌ ӌ ӍQ ӏ Ӛ Ӑ ӕ ӑ Ӓ ӓ Ӕv Ӗ ӗ Ә әm ӛ Ӡ Ӝ ӝ Ӟ ӟ ӡ Ӣ ӣ Ӥ Ӧ ӧ Ӹ Ө ӳ ө Ӯ Ӫ ӫ Ӭ ӭ ӯ Ӱ ӱ Ӳ Ӵ Ӷ ӵ ӷ ӹ Ӻ ӿ ӻ Ӽ ӽ ӾO                  O    v              ٖ ֧ P ԫ O &      O                         $  !     " # $ % ' > ( 3 ) . * + , - / 0 1 2O 4 9 5 6 7 8 : ; < = ? G @ B A C D E F% H M I J K L  Nv P ԇ Q c R ] S X T U V W Y Z [ \ ^ _ ` a b d l e g f h i j k m Ԃ n o p q r s t u v w x y z { | } ~  Ԁ ԁI ԃ Ԅ ԅ ԆO Ԉ Ԕ ԉ Ԏ Ԋ Ԍ ԋ ԍ% ԏ Ԑ ԑ Ԓ ԓO ԕ Ԡ Ԗ ԛ ԗ Ԙ ԙ Ԛ% Ԝ ԝ Ԟ ԟ ԡ Ԧ Ԣ ԣ Ԥ ԥ ԧ Ԩ ԩ Ԫ Ԭ ԭ Ԯ ԯ Ժ ԰ Ե Ա Բ Գ Դ Զ Է Ը Թ Ի Խ Լ Ծ Կ                                            )          v     Q             _  $  ! " # % & ' (Q * A + 6 , 1 - . / 0 2 3 4 5 7 < 8 9 : ;Q = > ? @ B M C H D E F GO I J K L N O Q  R ՠ S | T h U ] V [ W X Y Zv \r ^ c _ ` a b d e f g i q j o k l m n p & r w s t u v x y z {% } Տ ~ Մ  Հ Ձ Ղ Ճ| Յ Պ Ն Շ Ո Չ% Ջ Ռ Ս Վ Ր ՘ Ց Փ Ւ Ք Օ Ֆ ՗ ՙ ՞ ՚ ՛ ՜ ՝ ՟ ա բ հ գ ը դ զ ե% է s թ ծ ժ ի լ խm կ| ձ ռ ղ շ ճ մ յ ն ո չ պ ջU ս վ տ   }        #                        z    %    O %          X  )             _      !      O     " $ #% % & ' ( * A + 6 , 1 - . / 0 2 3 4 5Q 7 < 8 9 : ;v = > ? @ B M C H D E F G I J K L N S O P Q R% T U V W Y ւ Z n [ c \ a ] ^ _ ` bv d i e f g h j k l m o z p u q r s tO v w x y { ր | } ~  ցS փ ֕ ք ֊ օ ֆ և ֈ ։2 ֋ ֐ ֌ ֍ ֎ ֏% ֑ ֒ ֓ ֔ ֖ ֡ ֗ ֜ ֘ ֙ ֚ ֛m ֝ ֞ ֟ ֠O ֢ ֣ ֤ ֥ ֦ ֨ ֩ g ֪ # ֫ ֬ ֻ ֭ ֵ ֮ ְ ֯ ֱ ֲ ֳ ִ ֶ ַ ָ ֹ ֺ ּ ֽ ־ ֿ          %                          2                          7           4         ! " $ D % 6 & . ' ) ( * + , - / 4 0 1 2 3 5v 7 ? 8 = 9 : ; < >v @ B AS Cv E V F N G L H I J K Mv O T P Q R S% Uv W _ X ] Y Z [ \ ^v ` e a b c d fv h ץ i ׇ j v k s l q m n o p rv t u w  x } y z { | ~v ׀ ׅ ׁ ׂ ׃ ׄ ׆v ׈ ז ׉ ב ׊ ׏ ׋ ׌ ׍ ׎  אv ג ה ד וv ח ם ט י ך כ ל% מ נ ן ס ע ף פ צ ק ׶ ר ׳ ש ׮ ת ׫ ׬ ׭ ׯ װ ױ ײ ״ ׵ ׷ ׸ ׽ ׹ ׺ ׻ ׼ ׾ ׿   s     %           O             s ط =                             &         }    m  $  ! " # % ' 2 ( - ) * + ,% . / 0 1 3 8 4 5 6 7 } 9 : ; < > ؈ ? q @ k A f B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d eK g h i j l m n o p!$ r } s x t u v w y z { | ~ ؃  ؀ ؁ ؂ ؄ ؅ ؆ ؇O ؉ ؠ ؊ ؕ ؋ ؐ ، ؍ ؎ ؏ ؑ ؒ ؓ ؔ ؖ ؛ ؗ ؘ ؙ ؚ ؜ ؝ ؞ ؟ s ء ج آ ا أ ؤ إ ئ ب ة ت ث% ح ز خ د ذ رv س ش ص ض ظ H ع غ ػ ؼ ؽ ؾ ؿ             %  %                                           =  8               ! " - # ' $ % & ( ) + * ,u . 2 / 0 1 3 4 6 5  7  9 : ; <S > C ? @ A B D E F G I r J ` K V L Q M N O P R S T U W \ X Y Z [ ] ^ _ a l b g c d e f h i j k m n o p q s ه t | u w v x y z { } ق ~  ـ فO ك ل م ن و ٓ ى َ ي ً ٌ ٍ ُ ِ ّ ْ ٔ ٕO ٗ ٘ ٙ = ٚ ٛ ٽ ٜ ٳ ٝ ٨ ٞ ٣ ٟ ٠ ١ ٢ ٤ ٥ ٦ ٧v ٩ ٮ ٪ ٫ ٬ ٭  ٯ ٰ ٱ ٲ% ٴ ٺ ٵ ٶ ٷ ٸ ٹO ٻ ټ پ ٿ    %             %                                        v      )  !           " $ # % & ' ( } * 2 + - , ! . / 0 1m 3 8 4 5 6 7 9 : ; < > ڒ ? f @ O A D B C% E J F G H I% K L M N P [ Q V R S T U W X Y Z \ a ] ^ _ ` b c d e g ~ h s i n j k l m o p q r t y u v w x z { | }   ڇ ڀ ڂ ځ ڃ ڄ څ چ ڈ ڍ ډ ڊ ڋ ڌ ڎ ڏ ڐ ڑ ړ ں ڔ ڣ ڕ ڠ ږ ڛ ڗ ژ ڙ ښ ڜ ڝ ڞ ڟ ڡ ڢv ڤ گ ڥ ڪ ڦ ڧ ڨ کv ګ ڬ ڭ ڮ ڰ ڵ ڱ ڲ ڳ ڴv ڶ ڷ ڸ ڹ ڻ ڼ  ڽ ھ ڿ   s                   m    v s '       O    |     O            Q                %  "    ! # $ % & ( Q ) = * 2 + 0 , - . / 1 3 8 4 5 6 7 9 : ; < > I ? D @ A B CO E F G HO J O K L M N P% R d S ^ T Y U V W X Z [ \ ] _ ` a b c } e k f g h i jO l q m n o p } r t ۿ u ۓ v ۂ w  x } y z { | ~O ۀ ہ% ۃ ۋ ۄ ۆ ۅO ۇ ۈ ۉ ۊ ی ۑ ۍ ێ ۏ ې% ے ۔ ۫ ە ۠ ۖ ۛ ۗ ۘ ۙ ۚ ۜ ۝ ۞ ۟ ۡ ۦ ۢ ۣ ۤ ۥ ۧ ۨ ۩ ۪# ۬ ۷ ۭ ۲ ۮ ۯ ۰ ۱ ۳ ۴ ۵ ۶ ۸ ۽ ۹ ۺ ۻ ۼ ۾        O    %        _     m          O     O    v     % v  R  ܪ  ]  =  )             }  $  ! " # % & ' (Q * 2 + 0 , - . /v 1 3 8 4 5 6 7 9 : ; <y > P ? J @ E A B C D F G H I } K L M N O Q W R S T U V X Y Z [ \ ^ ܅ _ n ` f a b c d e g i h j k l m$ o z p u q r s tQ v w x y { ܀ | } ~  ܁ ܂ ܃ ܄  ܆ ܘ ܇ ܍ ܈ ܉ ܊ ܋ ܌ ܎ ܓ ܏ ܐ ܑ ܒO ܔ ܕ ܖ ܗ ܙ ܤ ܚ ܟ ܛ ܜ ܝ ܞ ܠ ܡ ܢ ܣ ܥ ܦ ܧ ܨ ܩ ܫ  ܬ ܭ ܮ ܹ ܯ ܴ ܰ ܱ ܲ ܳQ ܵ ܶ ܷ ܸ% ܺ ܿ ܻ ܼ ܽ ܾ         3    Q         %             #A          .         Q            %  #      Q   ! " $ ) % & ' ( * + , -% / C 0 8 1 3 2% 4 5 6 7 } 9 > : ; < =v ? @ A B D O E J F G H I K L M N P Q# S T ݥ U ݁ V j W _ X ] Y Z [ \ ^% ` e a b c d f g h i k v l q m n o p r s t u w | x y z {!$ } ~  ݀% ݂ ݑ ݃ ݋ ݄ ݆ ݅ ݇ ݈ ݉ ݊ ݌ ݍ ݎ ݏ ݐ ݒ ݚ ݓ ݕ ݔ ݖ ݗ ݘ ݙ ݛ ݠ ݜ ݝ ݞ ݟ ݡ ݢ ݣ ݤ ݦ ݧ ݾ ݨ ݳ ݩ ݮ ݪ ݫ ݬ ݭ ݯ ݰ ݱ ݲ ݴ ݹ ݵ ݶ ݷ ݸ% ݺ ݻ ݼ ݽO ݿ      s    %     v         O    %      m X                            %      A  $   ! " #m % < & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 9 8Bf : ;Bf = > ? @ B M C H D E F G I J K L% N S O P Q R T U V W Y ޅ Z q [ f \ a ] ^ _ `% b c d e% g l h i j k m n o p r z s u ty v w x y { ހ | } ~  ށ ނ ރ ބ ކ ޚ އ ޏ ވ ފ މv ދ ތ ލ ގ ސ ޕ ޑ ޒ ޓ ޔQ ޖ ޗ ޘ ޙ ޛ ޞ ޜ ޝ ! ޟ ޤ ޠ ޡ ޢ ޣ ޥ ަ ާ ި ު  ޫ ެ ޭ ޮ ޯ ް ޱ ߩ ޲ ޳ ޴ ޽ ޵ ޹ ޶ ޷ ޸O ޺ ޻ ޼ ޾ ޿  O  %           Q   O %                  '>       s        s  d    Z  ߚ        O  ߗ     +     ! " # $ % & ' ( ) *%  , : - . / 0 1 2 3 4 5 6 7 8 9 ; d < H = > ? @ A B C D E F G I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c e ߖ f ߋ g q h i j k l m n o p r s t u v w x y z { | } ~  ߀ ߁ ߂ ߃ ߄ ߅ ߆ ߇ ߈ ߉ ߊ ߌ ߍ ߎ ߏ ߐ ߑ ߒ ߓ ߔ ߕ ߘ ߙ ߛ ߢ ߜ ߟ ߝ ߞ ! ߠ ߡQ ߣ ߦ ߤ ߥ ߧ ߨ } ߪ h ߫ R ߬ < ߭ ߴ ߮ ߱ ߯ ߰ } ߲ ߳ ! ߵ ߶ ߷ ߸  ߹ ߺ ߻ ߼ ߽ ߾ ߿                Rn                        V VV VV V                          V           }  S  ( % ! # " Q Q $ Q'0 & Q ' Q Q ) N * < + , Q; - Q . / 0 1 2 3 4 5 6 7 8 9 : ; Q Q = >' ? @ A B C D E F G H I J K L M Q O Q Q P'\ Q R Q Qz T o U k V i W X Y Z [ \ ] ^ _ ` a b c d e f g h jV l m n QV p w q t r s'\z V u v'0'\ x { y z Q'0'z |C Q ~  C Qz V'  '        Q  QyF '0 Q Qs  Q'0' '\'z y #PC' Q        Q        Q         Q  Q z '\  V Q V Q Q  Q  Q' Q z '\'0   V'\                     V    Q  V    Q    v  b  =                  Q  *      ! " # $ % & ' ( ) Q + , - . / 0 1 2 3 4 5 6 7 8 ; 9 : Q Q < Q > P ? @ A B C D E F G H I J K L M N O Q Q Q R S T U V W X Y Z [ \ ] ^ _ ` a Q c d e f g h i j k l m n o p q r s t u Q w x y z { | } ~       Q     Q              Q Q          %  Q  Q     Q  Q Q  Q  Q Q  Q  Q  Q  Q     Q   Q  Q Q  Q Q    Q     Q  Q     Q  Q  Q  Q    Q Q    z ' ''z ' ' ' '    z z    m  /   Q  Q   Q  Q  Q  Q Q   Q  Q   Q Q Q     CC  &     , ,,  '' ! Q " $ # Q % Q ' + ( ) * Q Q , - . Q Q 0 N 1 @ 2 9 3 4 5 7 6 Q 8 Q : ; < > = Q Q ? Q A E B C D Q F G I H Q J L K Q M Q O d P \ Q X R U S T Q Q VV W QV Y Z [ ] ^ a _ `' b' c',' e h f Q g Q Q i'\ Q j Q k l'\ n o p q { r v ss ts us w xs y z' | ' } ~z z z z z VV  Qs z s ' Q  Q  Q  Q  Q  Q V' '  Q ' Q V  Q  QV Q ' Q' ' ' ' Q Q  '\ Q '\'\ ,  Q, z z z '  '\ '\ z z'zzz       '   Q   QV V  \ , 's  z z  z  Q  Q   z  z       z z  Q  Q    z    zz    Q   Q Q    Q    Q ! ( " % # $ Q & Q ' Q )z *z +z Qz - M . = / 8 0 4 1z 2 3z 5 6z 7zz 9'z :z ; <'z' > H ? C @ Q A Q B Q' Q DV Q E F G QV I QV J K Q L QV Q N T O Q Q P Q Q Rz Sz Qz U W Q V Q X Y Z [ Q ] ^ { _ i ` a e b c Q d Q Q f Q g Q h Q j v k o l m n Q Q p r q Q s t u Qsss w x y zs | } ~ z  z z z '\ '\z '\     Q  Q  Q Q  Q  Q                 z zz zz z zzzz   z   V VV    Q  Q z z Q  Qz VVVz    Qz   Q  Q  Q  Q      Q  Q Q  Q  Q  Q Q Q  Q  Q     Q '0  a ,       Q    Q  Q       z z     z z  z   &  !   Q " $ # Q % Q ' ( * )V +V - K . 7 / 0 3 1 2z 4 5 6V 8 @ 9 = : ; <V > ?z A H B E C Dz F G Q I J Q L V M R N O P Q Q S Q T U Q W \ X Y Z [z ] ^ _V `V b c d v e n f j g h i Q k l m'\ o s p q r'\'\ t uz w x y } z { | Q Q ~  Q       Q   V  Q   V VV   Q Q  Q  Q   Q    Q   Q    Q Q  zz z  zz z z  zz       Q  Q Q   Q Q  Q Q      Q z  Q Q   Q   Q Q      Q   Q    Q }      K  )    '0  Q  Q Q    QVV Q  "    Q QV ! Qs Q # & $ %'\z ' ' (' Q Q, * 5 + / , Q - ., Q QC 0 2 Q 1 QC 3 4C QC Q 6 ? 7 : 8 9 Qzzz ; <z = >CV @ E A C B QV Q Q D Q F H G Q I J Qs L u M d N Y O U P S Q RzzV'0V T Q Q V W X Q Q'\ Z ` [ ^ \ ]'0 Qz  Q _ Q Q' a c b Q,'\ e p f j g hz C i'' k m l' n o Q' Q' q s' r' t v w x y { zV |V ~      z   Q  Q   Q   z    Q   Q C   C   C  Q  Q   Q  Q  Q  Q    Q      Q  Q Q  z '\       Qz Q Q  Q  Vz Vzzz zVz Vzzz  zzV y V zzz   Vz#P #P  Q  Q  Q'    Q  Q  Q  Q   '0sC z '\  Q      '\Cl    Q Qs  Q    '\  Qz  '0'\  " !z '\ # $z s'\s & E ' . ( + ) * , -VV / C 0 B 1 2 3 4 5 6 > 7 8 < 9 : ;z z  =z  ? @ Az  D F G H I J  K L M k N T O S Q P Q RV Q U ^ V X Wz Y [ Z Q \ ] Q _ e ` c a b Q d Q f i g h Q j Q l m x n s o q p Q r Q t v u Q w Q y z } { |zzV ~ zzV V zzV zzV zzV zzV zzV zzV zzV zzV  zzV  Q  zzV  Q  Q  Q  Q  Q   Q  Q  Q  Q Q  Q Q  Q Q  Q Q  Q Q  Q Q  Q Q  Q Q  Q Q  Q Q  '\z s s     '\z  V   V      VV     V     Q  Q  Q        V   Q a ! / " # & $ % Q ' ) ( Q * + . , -'\z z '\ 0 A 1 = 2 9 3 4 Q 5 7 6'\z 8'\z  Q : Q ; Q < Q Q > Q ? @ Q Q B I Q C D F Q Ez  G Hz z  J R K N Q L Q M Q Q O P QzzV S Z T W U VzzV X YzzV [ ^ \ ]zzV _ `zzV b c y d Q e t f m g j h izzV k lzzV n q o pzzV r szzV u Q v Q w xzzV z { | }  ~V V Q  Qz  Q Q  Q V :    z  Q Q  Q Q VVV C  QV V V Q  C CCC C z V V Q  Q  Q '\'\  Qz z  Q  Q Q  Q  Q Q  Q  Q  Q z  Q  Q Qz  Q  Q  Qz  Q  Q  Q  Q Q Q  Q  QV V V Q  Q Q  Q  Q  Q  Q  Q Q  Q  Q  Q  Q Q Q  Q  Q  Q  Q Q          Q Q    Q Q  Q     Q  Q  Q   V V    VV V  '     Q  "  !'\'\ # % $'\ & Q ( / ) , Q * Q + - Q . Q Q 0 6 1 3 Q 2 QV 4 5V Q Qz 7 8 9zzz ; < W = N > ? @ A E B C D Q F K G I H Q J'\ L Mz  O P Q R S T V Q U Q Q X Y | Z w [ \ k ] d ^ a _ `V b cVzz e h f gzVɓ i jVzzV l r m p n ozV qz s uy tVz vzz x Q y Q z Q {' Q } ~   Q  '\z    C  z '\s s  z '0 '\ z '\ z '\s s Q z '\sz  Q'\s Q  Q C  Q '0 QC  s '0 '0sy zsy   zVV V  yyF    Q  Q    Q  Q V  Q '\z '\ zVV y Qy  zz zz  zy zy   Q Q Q'  Q  Q Q                Q   U  H  B   Q           Q + ! Q " # $ % & ' ( ) * Q , 9 - . / 0 1 2 3 6 4 5 Q 7 8 Q Q : ; < = > ? @ A' C F D E QV Q Q G Q' I P J M K L Qss N OC'0 Q S Rz  Q'0 T QV V W ^ X [ Y Z Q \ ]'0V QV _ n ` az  Q b c d e f g h i j l k'\ m'\ o p z q r s t u v w x y { | } ~  '\ '\y y Q QC lVC ɓ    S ɓ''   V#P  Q#P  QC  QC  QF Q 'V  Q QF  Q ' QF'  '  Q' Q'  QVV z V'\ '0 Q Q'0  Q' V Q V'''0  Q'0 '0 Q  Q  Q z C Q  Q  Q#P Q  Q Q  QV V'\V ' Q Q '0 "   Q #P Q C Q   Q'' Q'     Q  V Q Q  Q ɓ     Q  QV     V Q Q '0      ɓV QV Q Q  !F QV Q # > $ / % * & 'V Q ( ) Q + ,'\ - .F 0 7 1 4 2 3ss 5 6Vy 8 ; 9 :y'0'0 Q < ='\ ? J @ F A CC B'0 D EC'C G H'0 Qy I Q K N Q L M''\ O P Q Q RC'\ Q T U V n W b X \ Y Z#P Q Q [ QV ] _ ^ Q Q ` a Q QV c g d f eVV Q Qb h k i jO l mOV o z p t q s r QV Q u wwE vwE\ x y Q7\7 { |  } ~7Vl y#P4  Q 4y y    Ql Q  Q  zy \ > =      Fzz y yzV z V Vz zzV zVzz zzzV  V zz  Ql z Q Q  Q  QV zzz  Qzz VVz zVz Vzz VVz z s'\s '\z z '\'\ '0 C C'' sy'\ lɓ#P     F' Q  OswE  4        Q    Q  Q'  Q' Q Q   Q   Q #Pz b Q       ! " 0 # ) $ & %sz ' (Cs#P'\ * - + ,z '\s . /s'0'0s 1 7 2 4C 3'\ 5 6'\C'\ 8 ; 9 :'0z '\z <'\ > ? @ b A B C D E ] F P G I Hs J M K L Q Qz N Os'\s'\ Q X R U S Tz z '\ V W'\ Y [ Z'0'0 \'0C ^ _ ` aCs'\l c m d e f g Q h Q i j l Q k Q''' n o p q r s z t w u vVzz x yzzz { ~ | }VVz  zVz Vzz VVz y  ɓ#PF bOwE4     s Q z s '\s'\z z '\ '\'0 '0C Css'\    '\ll     Q  Q  Q  Q'''    Vzz zzz VVz zVz Vzz VVz y  ɓ#PF bOwE4        Q z s '\s'\z z '\ '\ '0'0C    Css'\  '\lls    s       Q  Q    Q  Q'''     6  ,  %  " !Vzz # $zzz & ) ' (VVz * +zVz - 4 . 1 / 0Vzz 2 3VVz 5y 7 8 ; 9 :ɓ#PF < =bOwE4 ? @ j A X B C D E F G S H L IV J K M R N PV Oɓzz Qzyz T U Vz Wzɓ Y Z [ \ ] Q ^ _ c Q ` Q a Q b Q' d g Q e f#P Q' h ib k l m n o p q r | s v tz uz Cz w z x yC'0s {s'\ } '\ ~'\ bs  '0          #P#P          Qb   9 zF Q'0 V Vz  Q ''C  Q  QC  Q '0'0  Q '\ Q'\ z z Vz '\ '\ Q'\ Q Q C Q  ' 'z  Q Q ' '0  Q'0  Q   sCs C'\  Q '\ '\ Q #P Q#P Q Q  Q  Q  Q  QV   Q Q  Q z'\ Q    Q z z VzV    V Vb ' 'bs  '0 C   z z  zVV  Vb  *  &  %  "b  !VOO #V $sVO 'z ( )Vssz + ,V - 2 . 1V / 0yVyy 3 7 4 6y 5ywEwE\wE 8\wE : ; < = N > G ? B @\wE Ay\ C E\ D\FF FFɓ H K I4ɓ Jɓ44 L M4 O X P S Q Q R Q Q T V Q U Qzz Wz77 Y Z7 [7 Q ] ^ _ ` ~ a b c d e f g s h l i k jyzsy m p n ozVy q ryz t y u vz w xzz z } { |yzy'\b       Q  Q  Q' Q'   Q        s z '\ sz '\s C'0C  s'0        Q z s '\s'\z z '\ '\ '0'0C Css'\ '\lls    s     Q  Q  Q  Q'''    Vzz zzz VVz zVz Vzz VVz y  ɓ#PF bOwE4 ( D .        Q       Q  Q' ' Q Q  Q   Q      '  !   V  4y " $ #y#P % &#PF ( ) , * +FObɓ -ɓ / 0 1 2 3 4 @ 5 : 6 8 77z '\ 97 ; =C <Cl > ?l'0'0s A B Cs E | F W G L H I J K Q M Q N O P Q R T S' Q' U V' Q Q X Y Z u [ f \ b ] `V ^ _V a c d ey g o h l4 i j k4yy#P m#P n#P p s qF rwE tɓOb v w x y { zClC7 } ~   z '\z '\ 7'\77  7  ClClC Cl '0l'0 s'0s  sCl     Q    Q  Q Q  Q'   ' Q   Q  Q     V 4y  y#P #PF  FObɓ ɓ      7z '\7 7 C Cl l'0'0s   s      Q    Q  Q  Q'   Q       V  4y   y#P #PF    FObɓ ɓ       $     7z '\ 7  !C Cl " #l'0'0s % & 's ) e * + O , 6 - . / 0 Q 1 Q 2 3 4 5 Q'' Q 7 8 9 : ; H < B = ? >V @ A4y C E Dy#P F G#PF I J M K LFObɓ Nɓ P Q R S T U a V [ W Y X7z '\ Z7 \ ^C ]Cl _ `l'0'0s b c ds f q g h i j k l m n o p Q r s t y u v w x Q z { | Q } ~ Q             Q Q  Q  Q   V  '\   V Q  Q                  Q Q  Q         V         Q Q Q          Q'  Q  Q         Q    V          z Vz         '\ '\       +            ! " ' # Q $ Q % Q & Q Q ( Q ) Q * Q , - . / 0 1 2 3 4 5 6 7 8 Q 9 Q : Q ; Q = >%% ? @% A% B%% C D%% E F% G% H% I% J% K% L% M%% N% O% P Q%%yQ S \ T U s V Y W X Z [ ] a ^ _ ` b e c d% f g i | j s k od l m n } p q r% t x u v w y z { } ~   OU %   s    %   v v v v v v vv       v %    O       s    s v    Q Q Q Q Q Q Q Q QQ Q Q Q QQ QQ Q Q   Q  O v  O  Q Q Q Q QQ Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q QQ  Q Q QQ Q QQ Q         v  <  /  &  "   ! # $ % ' + ( ) * !v , - . 0 9 1 5 2 3 4 6 7 8 : ;%O = P > G ? C @ A B ! D E F H LQ I J KQ M N OQ Q Z R V S T U  W X Y% [ \ ]8 ^8 _8 ` a8 b " c d 8 e f w g n h8 i8 j8 k8 l8 m88 o8 p8 q8 r8 s8 t8 u v8\G88 x y8 z8 {8 |8 }8 ~8 88[ 8 8 8 8 8 8 8 88 8 8 8 8 8 8 8t8 88 8 8 8 8 8 8 8[[8  8 8 8 8 8 8 8 88 8 8 8 8 8 8 8 8 8 8 8 8 8 88 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8[8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 88 8 8 8 8 8 8 8 [ 8 8 8 8 8 8 8[8 8 8 8 8 8 8 8[ 8 8 8 8 8 8 8[ 8 8 8 8 8 8 8[8  8 8  8 8 8 8 8 8 88 88  8 8 8 8 8 8 8 8 8 8 8 8 8 8 !888 # $ % G8 & ' 7 (8 )8 *8 +8 ,8 -8 .8 /8 08 18 28 38 48 58 688 88 98 :8 ;8 <8 =8 >8 ?8 @8 A8 B8 C8 D8 E8 F8K58 H i I Y J8 K8 L8 M8 N8 O8 P8 Q8 R8 S8 T8 U8 V8 W8 X8V8 Z8 [8 \8 ]8 ^8 _8 `8 a8 b8 c8 d8 e8 f8 g8 h88 j y k8 l8 m8 n8 o8 p8 q8 r8 s8 t8 u8 v8 w8 x88 z8 {8 |8 }8 ~8 8 8 8 8 8 8 8 8 8 888 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8s88 8 8 8 8 8 8 8 88 8 88 G8Q   6   s  %           % %         }  O#  %  %     %    s        %   s 3   m  , %  r % % %  V % % %  >% %  %%  + !% "% #% $%% %% & '% (%% ) *yQ%yQ% ,% -% .% /% 0% 1% 2% 3% 4% 5% 6% 7% 8% 9% :% ;% < =yQ%yQ ?%% @% A% B C% D% E%% F G% H% I%% J K%% L M%% N% O P%% Q R% S%% T% U%$% W% X Y% Z% [% \% ]% ^%% _% ` a% b% c%% d e% f% g% h% i% j% k%% l m%% n% o p%% q% s t% u% v% w% x% y% z% {% | % } ~ %  %% % % % % % % % % %% % %% % %%~ % % % % %% % %% ~% % %% % % %% % %~%% %% % % % %% % %% % %% % %% % % %~ %% %% % % % % %% % % % % % %% %% ~%% % % % % %%~ %% %% % % %% % %% % % % %% %% % % %~% % % % % % % % % %% % % ~~ % %% %  % %% % %  % %% %% ~% %   %%  % % %%  %%  % % % %%  %%~%  % % !%% " #% $%% % &% '% (%% )% * +%~%% -% . /% 0% 1% 2% 3% 4% 5%% 7 8 N 9 E : > ; < = ? B @ A C D F J G H Iv K L M O ^ P W Q T R S U V X [ Y Z \ ]m _ ` a d b c e f g h i j k l m n o p q r s t u v w x y z { | } ~          KY  u    % %        &  %  %  % v      |        m  O  Q   %   }O    %     v      %     Q  O       % % % %% % % % % % % % % % % % % % % %$ ! P " 7 # + $ % ( & ' ) * , 0 -O . / 1 4 2 3 5 6 8 D 9 = : ; <% > A ? @ B C E L F I G Hv J Kv M N O Q n R ^ S Z T W U V% X Y [ \ ] _ g ` d% a b c$%% N e f h k i jO l m o { p t q r s u x v w y z | % } ~ m %  %   % % % ~%% %~ % % %%% %% % % % %%   % % % %% % % %% % %% %% % % %% % % %% % % % % % % % % % % % % % % %%    O O O OO" O"O Y O g       _                     yɓ     Q    %           %   O      3  (  #   ! " $ % & ' } ) . * + , - / 0 1 2 4 _ 5 : 6 7 8 9% ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ ` e a b c dv f% h i u j m k l n s o p q r tm v w | x y z { } ~                   O                            Q                                 S      v  O O      +             O   v            ! & " # $ %O ' ( ) * , @ - 8 . 3 / 0 1 2 4 5 6 7 9 > : ; < = ? A G B C D E F  H J I K L M N P  Q R S e T _ U Z V W X Y% [ \ ] ^ s ` a b c d f g l h i j k m n o p q r s t u v w x y z { | } ~  ٻ    v                    v              $     _    O                v                     k             %             $      %      t  H 1 ! & " $ # % ' , ( ) * +m - . / 0 2 = 3 8 4 5 6 7 9 : ; < > C ? @ A B D E F G I ` J U K P L M N O Q R S Tm V [ W X Y Z  \ ] ^ _ a l b g c d e f% h i j k% m o n% p q r s u v w x } y z { |O ~                                O    v      %    %     c     %           %    %    %      s             y               ?  (     !     ! # "% $ % & ' ) 4 * / + , - . 0 1 2 3v 5 : 6 7 8 9% ; < = > @ L A I B D CQ E F G H J K M X N S O P Q R6 T U V W Y ^ Z [ \ ] _ ` a bQ d e f } g r h m i j k l n o p q s x t u v wm y z { | ~     ,                    %     % %             v           Q        }               H '                                  "    !O # $ % & ( < ) 1 * , +% - . / 0 2 7 3 4 5 6 8 9 : ;  = B > @ ? A C D E F G I w J e K Z L Q M N O P  R S T U V W s X s Y s s{5 [ ` \ ] ^ _ a b c d f l g h i j k m r n o p q s t u v x y z  { | } ~                ?                                     |                  a        y    O      *                    }  "      m    ! # % $  & ' ( ) + B , 7 - 2 . / 0 1 3 4 5 6 8 = 9 : ; < > ? @ A C N D I E F G H J K L M O T P Q R S U V W X Z . [ \ + ] ^ _ v ` k a f b c d e g h i j l q m n o p r s t u w x } y z { | ~   O        O                              m           s                 Q                                            v       O     ! & " # $ % ' ( ) * , r - N . < / 4 0 2 1 3% 5 7 62 8 9 : ;O = C > ? @ A B$ D I E F G H% J K L M  O ` P X Q S R T U V W Y [ Z \ ] ^ _ a g b c d e f h m i j k l n o p q s t u } v x wO y z { |  ~         %    O                 }         %         v "                                 m              O    O      v           s    ! # G $ 3 % ( & 'q ) . * + , - / 0 1 2 4 ? 5 : 6 7 8 9 ; < = > @ E A B C D% F H _ I T J O K L M N P Q R S% U Z V W X Y [ \ ] ^O ` k a f b c d e ! g h i j l q m n o p% r s t u w x y z { | } ~               Q               4          s    Q                       k     O        r            %    %                      s    %  &  !     " # $ % ' ) ( } * + , - /  0 1 2 \ 3 J 4 ? 5 : 6 7 8 9 ; < = > s @ E A B C D  F G H IO K Q L M N O P| R W S T U V X Y Z [| ] t ^ i _ d ` a b c e f g h j o k l m n p q r s u v { w x y z | } ~ %       v           s                              |        O         1        %             v          %                   )  $  ! " # % & ' ( * , +% - . / 0 2 V 3 G 4 < 5 7 6 8 9 : ;| = B > ? @ A  C D E F% H S I N J K L M O P Q Rm T U% W k X c Y ^ Z [ \ ]% _ ` a b d f e g h i j% l w m r n o p q| s t u v x } y z { |m ~      %                         Q m        %        m         Q         %  m              _     %                         %   W @ ! 5 " 0 # $ %O &OO ' (O )O *O +O ,O -O .O /O"~O 1 2 3 4  6 ; 7 8 9 :#A < = > ? A L B G C D E F H I J K M R N O P Qm S T U V X o Y d Z _ [ \ ] ^ ` a b c e j f g h i ! k l m n p v q r s t u w | x y z {m } ~  %                                                                  u         %    %        Q             |    8     S                  a        l  C  /  '  "     ! # $ % & ( * ) + , - . 0 ; 1 6 2 3 4 5 7 8 9 : } < A = > ? @v B D U E M F H G I J K Lm N S O P Q R T V a W \ X Y Z [% ] ^ _ ` b g c d e f% h i j kO m  n  o  p  q r s t u vO wO xOO y zO {O |O }O ~O O O O  O  O"~O O OO     s                             #A              m                            %  )            %                            v                                    $   ! " # % & ' ( * m + V , / - . 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A O B H C F D Ewbwqf GCwb I L J KwqC4f M NfR P Q T R S[4 UG W b X ] Y Z [ \ ^ _ ` a  c h d e f g i j k l n  o z p u q r s t v w x y {  | } ~     O    %            =                   s    v                  %                   O                                                       %                !     s      O      4 ! ) " ' # $ % &v (S * / + , - . 0 1 2 3  5 : 6 8 7v 9 ; < >  ?  @ w A l B g C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f\ h i j k  m r n o p q s t u v$ x  y { zQ | } ~ 3       }                                                  Q    %         O   m              %               s    %            0    >        O              Q               !  ,  !          " ' # $ % & ( ) * + - 3 . / 0 1 2  4 9 5 6 7 8 : ; < = ? n @ W A L B G C D E F H I J K M R N O P Q$ S T U V0 X c Y ^ Z [ \ ] _ ` a b d i e f g hO j k l m o  p { q v r s t u w x y zv |  } ~                   %                                                           O           Q          :5                              O    %               U    O          %  *  % ! " # $ & ' ( ) + , - . / 1  2  3 Z 4 K 5 @ 6 ; 7 8 9 :  < = > ?% A F B C D E G H I J L R M N O P Q S X T U V W Y [ r \ g ] b ^ _ ` a c d e f h m i j k lO n o p q  s ~ t y u v w xv z { | }%                                              d              |          %            %                                         :              %         %       O       =  .  #      ! "ɓy $ ) % & ' ( * + , - / : 0 5 1 2 3 4 6 7 8 9 } ; <% > R ? J @ E A B C D F G H I K M L N O P Q S ^ T Y U V W X ! Z [ \ ]% _ ` b  c  d  e  f  g ~ h s i n j k l m o p q r t y u v w x z { | }O        %                         Q                        &    O                                           O          v                                    %                u  L ! 5 " * # ( $ % & '"  ) + 0 , - . / 1 2 3 4% 6 A 7 < 8 9 : ;v = > ? @| B G C D E F H I J K M a N V O Q P R S T U W \ X Y Z [  ] ^ _ `Q b j c e dO f g h i k p l m n o q r s tO v  w  x  y ~ z { | }              m         O          #      %      %    #A        %    %            b               v               3                                %                >  ,  !             " ' # $ % &v ( ) * +O - 8 . 3 / 0 1 2Q 4 5 6 7 9 : ; < = ? K @ H A C B D E F Gv I J L W M R N O P Q% S T U V X ] Y Z [ \d ^ _ ` a% c  d  e w f l g h i j k% m r n o p q s t u v x  y { z2 | } ~                 s              2            v                                %         O     }      v    %                            }    m        O 0                   %  ! " # $ & + ' ( ) *  , - . /O 1 C 2 = 3 8 4 5 6 7v 9 : ; < > ? @ A B% D L E G F% H I J K s M N% P y Q h R ] S X T U V W ! Y Z [ \ ^ c _ ` a b d e f g i q j l k m n o p r w s t u v x z { ~ | }      s                v    Q    v            %                 O  v                                                 Q    #      Q   ! " $  % & ' x ( s ) s * s + W , s - g . / s 0 i 1 Y 2 s 3 s 4 s 5 n 6 s 7 s 8 s s 9 s : ; s < s = b > R s ? @ I A s B s C s D s s E F s G s H s s J s K s L s M s s N O s P s Q s s s S T s U s V s W s X ] s Y Z s [ s \ s s ^ s _ s ` s a s s c s d s e s f s g s h s i s s j k s l s m s s o p q r s s t s u s v s w s x s s y z { s | s } s ~ s  s  s  s_ s  s  s  s  s  s  s  s s  s  s  s  s  s  s s   s  s  s  s  s  s  s s  s  s  s  s  s  s  s s  s  s  s  s  s  s  s  sG s  s  s  s  s  s  s  s s  s  s  s  s  s  s  s  s s  s  s  s  s  s  s  s  s  s  s  s  s  s  s  s2 s  s  s  s2 s  s  s  s  s  s  s  s s  s  s  s 2  s2 s  s2 2 s  s  s s  s2 s  s  s  s  s  s  s  s s  s  s  s  s  s  s  s  s s s  s  s  s  N  @  9 s   $    s  s s  s  s  s  s s  s  s      s  s  s s  s  s  s s  !   s  s s " s # s s s % & . s ' ( s ) s * s + - , s s / 4 0 s 1 s 2 s 3 s s 5 s 6 s 7 s 8 s s : = ; < s > ?G A G B D C*G E F s H K I J s s L M s s O s P S s Q s R s T V U s s W XG Z s [ s \ s ] s ^ s _ s ` s s a b s c s d s e s f s s g h s s j ~ k s l s m s n s o s p s q s s r s s t s u s v s w s x s y s z s { s s | s } s  s  s  s  s  s s  s  s  s  s  s  s  s  s  s  s s  s  s  s  s  s  s  s  s  s  s  s  s  s  s  s  s  s  s  s  s  s  s s  s s  s  s  s  s s  s  s  s  s s  s  s  s  s  s  s  s  s  s  s  s  s  s  s  s  s  s s  s  s  s s  s  s  s  s  s  s  s  s  s  s s  s  s  s  s  s   s s  s s  s  s s  s  s s  s s  s s        s s s  s  s  s s   s  s s  s s  (  s  s  s  s       "    ! # % $ s & ' s ) * s + s , s - s . Q / C 0 s s 1 2 s 3 s 4 s 5 s 6 < 7 s 8 s 9 s : s ; s s = s > s ? s @ s A s B s s s D s E F s G s H s I s J s s K L s M s s N O s P s s R s S s T s s U s V W s s X Y ` Z s [ s \ s ] s ^ s _ s s a s b s c s d s e s f s s h i  s j k l s m s n s o s p s q s r s s t s u s v s w s x s y s z s { s | s } s ~ s s  s  s s  s  s  s  s  s  s  s  s  s  s  s  s  s  s  s  s  s s  s  s  s  s 2 s s  s  s                 s  s s  s  s 2  s s  s  s  s  s s  s s  s  s  s  s  s    s s  s &  s G  sG G s  s  s  s  s  s _ _ s  s_ s     s  s  s  s s  s  s  s  s  s  s  s  s  s  s      s s   s  s  s s  s s   s s s  s   s  s s  s  s    s  s s  s  s  s  s  s s ! s " s # s $ % s s ' L ( 8 ) / * + . , s - s s 0 4 1 2 3 s 5 s 6 7 s s 9 D : A ; > < = s ? @ s B s C s s E I F G H s J s K s s M U N s O s P s Q S R sV s T s s s V s s X Y l Z s [ s \ s ] s ^ s _ s ` s a s b h c f d e s s g i s j k s s m s n s o s p s q s r s s s t s u s v s w s s y  s z { s | s }  s ~ s   s s  s  s  s  s  s  s  s  s  s  s  s  s  s  s  s  s{5 s s  s  s s  s  s  s  s  s  s  s  s  s s  s s  s s  s s  s s n  s  s  s    s H {5 s{5 {5 {5 {5 {5{5 {5 s {5  s{5 {5 s  s  se s  s    s  s  s  s  s  s  s  s  s  s {5 {5 s{5 {5 {5{5  s  s{5 s  s  s  s  s {5 {5 s{5 {5 s{5{5  s{5  s  s{5 s {5 {5 {5 {5 {5 {5{5 {5 {5 {5 {5 {5 {5 {5{5 {5 {5{5  {5 {5 {5 {5 {5  {5  {5{5   {5  {5 {5  {5 {5  {5{5   {5{5   {5{5  s  9 {5 {5 {5  {5 !{5 "{5 # 1{5 $ %{5 &{5 '{5{5 ( ) ,{5 * +{5 - /{5 .{5 0{5{5 2{5 3{5 4{5 5{5{5 6 7{5 8{5{5 :{5 ;{5 <{5 ={5 >{5 ?{5{5 @ A{5 B{5 C{5 D{5 E{5{5 F G{5{5e I | J ^ K O L{5 M s N s{5 s P Z Q T{5 R S{5{5 s U X V W s{5{5 s Y s{5 s{5 [{5 \ ] s{5 s _ k ` h a c b{5{5 s d f e{5{5 s{5 g{5 s i{5 j{5 s{5 l u m r n p{5 o{5 s{5 q{5 s{5 s{5 t{5 s v { w y{5 x{5 s{5 z{5 s s{5 }  ~     {5   s{5 s{5 {5 {5 s   {5{5 {5 s {5 s{5  s{5 s    s   s   s s      s s  se s  s     s  {5 {5 {5 {5 {5 {5  {5  {5 {5 {5 {5    {5{5 {5 {5{5 {5 {5 {5 {5 {5  {5   {5{5 {5{5 {5 {5 {5 {5 {5 {5 {5 {5{5  {5 {5 {5  {5 {5 {5 {5 {5 {5 {5{5  s{5   s  s  s  s  s  s  s s   s  s  s  s s  s   s s{5              u      y       u   99 9  9   999  9  9   9  9 99     s  s s   s  s s s  s  s   s  s s  s  s  : ! " 4 # ( $G % &G 'G ) 0 * - + , . / 1 2 3__ 5 6 7 8 9 ; e < I = @ > ? A E B C D F G H J ] K Z L O M N P Q R S T U V W X Y [ \ ^ b _ ` a c d f g h i j l kV m o s p s q  r s s s t s s u v s w s x s y s s z { s | s } s ~ s  s  s  s  s  s  s s  s  s    s  s  s  s  s  s  s  s{5 s  s  s  s  s  s  s  s  s s             &    %   v    O  b              2              %        Q                            v                                  O  9  "             v !S # . $ ) % & ' ( * + , - / 4 0 1 2 3 5 6 7 83 : K ; C < A = > ? @O B% D I E F G H J L W M R N O P Q S T U V X ] Y Z [ \ _ ^ _ ` a c  d  e t f i g h s j o k l m n p q r syQ u  v { w x y z | } ~                v    v   %    *                                          s        %                   v                               O  O   O  OO  O O O"O      O  O  OOOO  O"`O  O  OO  O O O O~ O O O  h  D !OO " #O $O %O &O 'O (O )O *OO +O , -O .O /O 0OO 1 2O 3O 4O 5O 6OO 7O 8O 9O :O ;O < =O >O ?O @O AO BO COO EO FO GO HOO I JO KO LOO M NO OOO PO Q ROO SO TO U VOO WO X YOO Z [OO \O ] ^OO _O ` aO bO cO dO eO fO gOO iO jO kO l  mO n  o | pO qO r t sO lO uO vO wO xO y l z lO {O l }  ~O   O O  ]  ]  ]   ]  ]O  ] O ]O O O O ]O O O O O O O O O O OO  O O OO  O O O O O O O O O O O O O lO     O   O O O O M  OO M O O O O M     MO  M O MO M O O O O O O O O O OO  O O OO  O O O O O O O O O O O O O MO O O O ]O O       O   O O    OO O O     OO O O O O O O O O O OO  O O OO  O O  O  O  O  O  O O O O O O OO O O OO O O O O"PO  /  '  O !O "O #O $O %O &Ow!O (O )OO * +O ,O -O .Ow!O 0OO 1 2O 3O 4  5 ^ 6 L 7 = 8O 9O :O ; <w!~ "O > C ?O @O A BD#3C D H EO F GdO IO J KSO M V N R OO PO QO#2O SO TO UO##"~O W X [ YO ZOO \O ]O _ q `O a i b e cO dOO fO g h^tO j m kO lO"# nO o pO""O r  s z" t u x v w""O yO$8O {  |  } ~"@OO ,4 O  mbqO     O  $V%$tO O O"~  O  $G#$eO     O     O  O O  \\k O O OIO O         O\ O O    | O|  O\O   O;  O O O4[)       O O\O O O4   O  4yG=O O OUO   W O OI4 6 O O4MO  s       }        a            |     %        Q                }           &    Q        "       !% # $ %| ' U ( / ) , * + - .  0 3 1 2 4 5 6 7 F 8 9 : ; < = > ? @ A B C D En} G H I J K L M N O P Q R S Tn} V Z W X Y [ ^ \ ] _ ` b  c  d p e i fm g h j m k lv n o q  r s t u v w x y z { | } ~        &K  &K;     !      %      Qv            %m    Q   s  % }                           O  )        v    %  v      s      %          %   Q            s                     v        O       %   ! %% " # $% & ' ( * P + = , 5 - 1 . / 0 2 3 4 % 6 7 : 8 9 ; < > J ? F @ C A B% D E G H I% K Lv M N Ov Q o R ` S Y T V U!$ W Xv Z ] [ \ ^ _O a h b e c d% f g| i l j kv m n p  q u r s t  v  w x y z { | } ~                  Y q K                                     u     K   K   s       }  O    %      V  #                v v v v vv v  v v v v v v v vv  vv v v  v v v v v v v v v v v v v v vv  %   v     %    %     v      %     O  mQ  ! " $ : % . & - ' * ( ) + ,O / 6 0 3 1 2  4 5 7O 8 9O ; G < @ = > ? A D B C E F| H O I L J K M N: P S Q R T U W  X k Y _ Z [3Q \ ] ^ ` d a b c e h f g i j s l { m t n q o p r s u x v w y z% | }  ~             %%     %       v%    }   }                %    3       v    m         %    %        2  O      |                     v  %           m              O      O     r  0  !        %       % " ) # & $ % ' ( * - + , . / 1 f 2 9 3 6 4 5 7 8 : c ;Q <Q =Q >Q ?Q @Q AQ BQ CQ DQ EQ FQ GQ HQ I MQ J KQ LQvQ NQ O a PQ QQ RQ SQ TQ UQ VQ WQ XQ YQ ZQ [Q \Q ]Q ^Q _Q `QvQ bQQ d e } g kQ h i j l o m n ! p q% s  t } u v% w z x y% { |O ~ %         Q      }                                         %                    }  %                                                     %        %          %          m     w  ^  O ! H " % # $ & ' ( )% *% +%% ,% - .%% / 0% 1%% 2% 3 4% 5%% 6 7%% 8% 9 :% ;%% < =% >%% ?% @% A B% C% D% E% F% G%% I L J K M NO P Z Q W RQQ S TQ UQ VQ}Q X Y [ \ ] _ h ` d } a b c e f g% i p j m k l n o q t r s u v x  y  z ~m { | }      %  Q                                         U    m                 O  b            %                      I                          %   !       Q  L    O       v  v  K Q Q Q  QQ   Q !Q "Q # , $Q %Q &Q '} ( )}Q *Q} +}QQ - .Q /Q 0 I 1 F 2Q} 3} 4} 5} 6} 7 8}} 9 :} ;} <}} =} > ?} @}} A B} C}} D E}} GQ} H}Q JQ}Qv } M V N R O P Q#A% S T U W [ XQ Y Z% \ _ ] ^ } ` a c  d z e q f j g% h i k n l m o p } r v s% t u w x y% {  |  } ~          II      2                          %        %%   %                         r    {  )            %  |      O   "         %    %  Q        O           !    O%             !       v " # & $ % ' ( * Q + 8 , / - .  0 4% 1 2 3 5v 6 7  9 E : A ; > < =% ? @O Bv C DO F J G H I K N L M O P% R h S \ T X U V W Y Z [Q ] a ^ _ ` b e c d f g i r j n k l mO o ! p qd s z t w u vv x y* |  }  ~         %     O                   2   & O        v     v              %   Q Q            O O O O O OO  O O O O OO  O OO  O O O O O O O O O O OO  O O Ow0O                                       C  0  !         %    v    " ) # & $ % ' (% * - + , . /% 1 : 2 6 3 4 5 7 8 9_ ; ? < = > @ A B D k E T F M G J H I K L2 N Q O P% R S% U d V Y W X Z [ \ ] ^ _ `  a b c  e h f g i j l x m q n o p } r u s t v w% y | z { ~ U  =%       vv  vv v  v vv  vv v  v v v vv v v v  vv  vv v v v v  v vv  vv  v v v vzv         %         %                                   v               Q}                   %     %                             %        ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < > A ? @Q B  C } D ` E Q F J s G H I% K N L MQ O P R Y S V T U W X% Z ] [ \ ^ _ a g b c d e f h | i j k l m n o p q r s t u v w x y z {I% ~       }     %      v   }    |               % % % % % % % % % % % % % % % % % % % % % % % % % % % % %%  %%$  3            %                               O        O   } O                9  -  )      Q                    ! " # $ % & ' ( Q *% + , . 2 / 0 1# 3 6 4 5% 7 8 : I ; B < ? = >m @ AQ C F D E G H J Q K N L M O P R% S T V W X Y Z [  \ ] ^ _ ` a b c d e  f g h  i j k  l m n  o p q r s  t u v  w x y z { | } ~    P  J  S  F                        %    #  O                     O       s             O     %     #A                          }     O            v         O            O    '        m  m%  #  ! "v $ % & ( 7 ) 0 * - + ,# . /O 1 4 2 3  5 6v 8 ? 9 < : ;% = >O @ C A B D E G  H  I | J P K O Lr M NO Q X R U S T } V W% Y Z [ \ ] ^ q _ h ` d a b c e f g i m j k l n o p r w s t u v x y z { }  ~ O    %  O      %       wT      O|                           m      %      m    % % % % % % %%:               q       O3m       Q      m m m m m m m m m m m m mm m m  O                             I    7  (  $  !    " # % & '  ) 0 * - + , . / 1 4 2 3O 5 6 8 G 9 @ : = ; <Q > ? A D B C E F% H L I J KO M P N O  Q R% T y U  V  W s X d Y ` Z ] [ \ ^ _ a b c } e l f i g h j k m p n o q r t  u | v y w xO z {% } ~      8%          %  %    Q                  #P                 #P     #P            #P#P#P   Q                            .       Q                %   v          Q  R  9            2    v v v vv  v !v "v #v $v %v &v ' (v )v *v +v ,v - 0 . /vz 1vzv 3 6 4 5m 7 8Q : F ; B < ? = > @ A CU D EP G N H K I J L M O P Q S c T Z U VQ W X Y [ _ \ ] ^ ` a b d p e i fm g h j m k l n oU q u r s t v w x z {  |  }  ~       #A   wT        O                %                   v         O             S         %  $    "  !R  !    i  X  ?          5         W  @       :   q    Z           t  W         W  5    qW ! 2 " ) # & $ % ' ( * - + , . 0 /W( 15 3 ; 4 8 5 6 7: 9 :W < = >) @ A B L C D H E F G5@ I J K5 M N S O Q P RI T V U5 WR Y a Z [ \ ] ^ _ ` b c d e f g h j { k s l m n o p q r t u v w x y z  | } ~                  f             Z      W             @                    :        :                         ! ! ! ! ! ! ! ! !5 ! !! ! ! !  !  ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !   !" !G !# !5 !$ !% !- !& !' !( !) !* !+ !,) !. !/ !0 !1 !2 !3 !4 !6 !7 !? !8 !9 !: !; !< != !> !@ !A !B !C !D !E !F !H !I !J !K !L !M !N !O !P !QZ !S ! !T !} !U !r !V !` !W !X !Y !Z ![ !\ !] !^ !_v !a !b !j !c !d !e !f !g !h !i !k !l !m !n !o !p !qz !s !t !u !v !w !x !y !z !{ !|b !~ ! ! ! ! ! ! ! ! ! ! ! !: ! ! ! ! ! ! ! ! !W ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !W ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !W ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !W ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! " ! " ! ! ! ! ! ! " " " " " " " " "  "  "  " " " " " " " " "z " " " " " " "W " #5 " " " "Z "! "G "" "= "# "4 "$ ", "% "& "' "( ") "* "+ "- ". "/ "0 "1 "2 "3 "5 "6 "7 "8 "9 ": "; "< "> "? "@ "A "B "C "D "E "FW "H "I "J "R "K "L "M "N "O "P "Q  "S "T "U "V "W "X "Y5 "[ " "\ "o "] "f "^ "_ "` "a "b "c "d "e  "g "h "i "j "k "l "m "nZ "p " "q "y "r "s "t "u "v "w "x  "z "{ "| "} "~ " ": " " " " " " " "5 " " " " " " " " " " " " "W " " " " " " "W " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " # " " " " " " " " " " " " "v " " " " " " " " " " ": " " " " " " " " " " " " " " "( " # " " " " " " " " " "  " " " " " " " " "( " " # # # # # # # # # #  #  #  #  #  #  # # # # # # # # # # # #$ # # # # #  #! #" ##  #% #- #& #' #( #) #* #+ #,5 #. #/ #0 #1 #2 #3 #4 #6 # #7 #t #8 #V #9 #L #: #C #; #< #= #> #? #@ #A #B #D #E #F #G #H #I #J #KW #M #N #O #P #Q #R #S #T #U #W #j #X #a #Y #Z #[ #\ #] #^ #_ #`W #b #c #d #e #f #g #h #i #k #l #m #n #o #p #q #r #s #u # #v # #w # #x #y #z #{ #| #} #~ # # # # # # # # # #( # # # # # # #) # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #z # # # # # # # # # #  # # # # # # # # # # # # # # # # # # #  # # # # # # # # # # $ # # # # # # # # # # # # # # # # # # $ $ $  $ $ $ $ $ $ $  $  $  $  $ $ $ $ $ $ $ $W $ $ $( $ $ $ $ $ $ $ $  $! $" $# $$ $% $& $'I $) %T $* $+ $, $- $. $/ %K $0 $ $1 $ $2 $m $3 $P $4 $B $5 $; $6 $8 $7f $9 $: $< $? $= $>LL $@ $ALL $C $I $D $G $E $FLI $HX $J $M $K $Lۂf $N $Off $Q $_ $R $Y $S $V $T $Uf $W $Xff $Z $\ $[ $] $^z $` $g $a $d $b $c(( $e $f@@ $h $k $i $j:  $l $n $ $o $} $p $w $q $t $r $s $u $v $x $z $y ${ $| $~ $ $ $ $ $) $ $55 $ $ $ $5W $ $ $ $ $ $ $ $ $ZW $W $ $ $ $ $ $ $I $I $ $ $II $ $ $ $ $ $ $ $ $ $I $I $ $ $ $ $ $ $e $ $ $e $ $v: $ $ $ $ $ $ $ $:: $ $ 5 $ $ $ $WW $ $ $I $ $I $I $ $II $ $ $ $ $ $ $ $ $I $ $II $ $ $ $IL $ $I $ $ $IL $ $ $LL $ $ $ $ $ $ $I $ $II $ $ $ $III $I $ $ $ $ $ $II $I $ $ $=v $ $ %6 % % % % % % % % % %) % % % % %  % %W % % % % % %WJ % W % %: % %' % %! % % %II % % I %" %$L %#I %% %&IXf %( %/ %) %, %* %+JXۂ %- %.eI %0 %3 %1 %2Ie %4 %5  %7 %8 %E %9 %? %: %= %; %<LI %>I %@ %C %A %B~J %DL %F %G %I %He %J %L %M %N %O %P %Q %R %SI %U GP %V %W %X 2 %Y 'o %Z %[ %\ %] & %^ %_ &P %` & %a % %b % %c % %d %s %e %f %g %h %i %j %k %l %m %n %o %p %q %rI %t %u %v %wI %x %y % %zII %{I %|I %} %~I %II %I %II % %I %I %I %I % %I % % % % % % % % % % % % % % % %I % % % %I % % % %II %I %I % %I %II %I %II % %I %I %I %I % %I % % % % % % % % % % % % % % % % % %I % % % %I % % % %II %I %I % %I %II %I %II % %I %I %I %I % %I % % % % % % % % % % % % % % %II % % % % % % % % % % % % % % % % % %I % % % % & & & & & & & & & &  & I & &.I & & & & & & & & & & & & & & & & & &I & & &! &" &# &$ &% && &' &( &) &* &+ &, &-II &/ &0 &@ &1 &2 &3 &4 &5 &6 &7 &8 &9 &: &; &< &= &> &?I &A &B &C &D &E &F &G &H &I &J &K &L &M &N &OI &Q & &R &t &S &T &d &U &V &W &X &Y &Z &[ &\ &] &^ &_ &` &a &b &cI &e &f &g &h &i &j &k &l &m &n &o &p &q &r &sI &u & &v & &w &x &y &z &{ &| &} &~ & & & & & & &I & & & & & & & & & & & & & & &I & & & & & & & & & & & & & & & & &I & & & & & & & & & & & & & & &I & & & & & & & & & & & & & & & & & & &I & & & & & & & & & & & & & & &I & & & '> & ' & & & & & & & & & & & & & & & & & & &I & & & & &I & & & &I & & & &I & ' ' ' ' ' ' ' ' ' '  '  '  '  ' I ' ' '. ' '  ' ' ' ' ' ' ' ' ' ' ' ' ' 'I '! '" '# '$ '%I '& '' '( ')I '* '+ ', '-I '/ '0 '1 '2 '3 '4 '5 '6 '7 '8 '9 ': '; '< '=I '? '@ 'A '_ 'B 'Q 'C 'D 'E 'F 'G 'H 'I 'J 'K 'L 'M 'N 'O 'PI 'R 'S 'T 'U 'VI 'W 'X 'Y 'ZI '[ '\ '] '^I '` 'a 'b 'c 'd 'e 'f 'g 'h 'i 'j 'k 'l 'm 'nI 'p + 'q ) 'r ( 's (# 't 'u 'v ' 'w ' 'x 'y ' 'z ' '{ '| '} '~ ' ' ' ' ' ' ' ' ' 'I ' ' ' 'I ' ' ' 'II 'I 'I ' 'I 'II 'I 'II ' 'I 'I 'I 'I ' 'I ' ' ' ' ' ' ' ' ' ' ' ' ' ' 'I ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 'I ' ' ' 'I ' ' ' 'II 'I 'I ' 'I 'II 'I 'II ' 'I 'I 'I 'I ' 'I ' ' ' ' ' ' ' ' ' ' ' ' ' ' 'I ' ' ' ( ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 'I ' ' ' (I ( ( ( (II (I (I ( (I (II ( I ( II ( ( I (I (I (I ( (I ( ( ( ( ( ( ( ( ( ( ( ( (  (! ("I ($ (% ( (& (I (' (( () (9 (* (+ (, (- (. (/ (0 (1 (2 (3 (4 (5 (6 (7 (88 (: (; (< (= (> (? (@ (A (B (C (D (E (F (G (H8 (J (l (K (L (\ (M (N (O (P (Q (R (S (T (U (V (W (X (Y (Z ([8 (] (^ (_ (` (a (b (c (d (e (f (g (h (i (j (k8 (m (n (~ (o (p (q (r (s (t (u (v (w (x (y (z ({ (| (}8 ( ( ( ( ( ( ( ( ( ( ( ( ( ( (8 ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (8 ( ( ( ( ( ( ( ( ( ( ( ( ( ( (8 ( ) ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (G ( ( ( ( ( ( ( ( ( ( ( ( ( ( (G ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (G ( ( ( ( ( ( ( ( ( ( ( ( ( ( (G ( ( ( ) ( ) ) ) ) ) ) ) ) ) )  )  )  )  ) G ) ) ) ) ) ) ) ) ) ) ) ) ) ) )G ) ) ) )! )D )" )# )$ )4 )% )& )' )( )) )* )+ ), )- ). )/ )0 )1 )2 )3W )5 )6 )7 )8 )9 ): ); )< )= )> )? )@ )A )B )CW )E )g )F )G )W )H )I )J )K )L )M )N )O )P )Q )R )S )T )U )VW )X )Y )Z )[ )\ )] )^ )_ )` )a )b )c )d )e )fW )h )i )y )j )k )l )m )n )o )p )q )r )s )t )u )v )w )xW )z ){ )| )} )~ ) ) ) ) ) ) ) ) ) )W ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )W ) ) ) ) ) ) ) ) ) ) ) ) ) ) )W ) * ) * ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )f ) ) ) ) ) ) ) ) ) ) ) ) ) ) )f ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )f ) ) ) ) ) ) ) ) ) ) ) ) ) ) )f ) ) ) * ) ) ) ) ) * * * * * * * * * * f *  * *  * * * * * * * * * * * *f * * * * *b * *@ * * *0 *! *" *# *$ *% *& *' *( *) ** *+ *, *- *. */u *1 *2 *3 *4 *5 *6 *7 *8 *9 *: *; *< *= *> *?u *A *B *R *C *D *E *F *G *H *I *J *K *L *M *N *O *P *Qu *S *T *U *V *W *X *Y *Z *[ *\ *] *^ *_ *` *au *c *d *e *u *f *g *h *i *j *k *l *m *n *o *p *q *r *s *tu *v *w *x *y *z *{ *| *} *~ * * * * * *u * * * * * * * * * * * * * * * * * * * *u * * * * * * * * * * * * * * *u * +B * * * + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + + + + + + + + +  +  +  +  +  + + + + + +2 + +# + + + + + + + + + + + +  +! +" +$ +% +& +' +( +) +* ++ +, +- +. +/ +0 +1 +3 +4 +5 +6 +7 +8 +9 +: +; +< += +> +? +@ +A +C +D +E + +F +w +G +H +g +I +X +J +K +L +M +N +O +P +Q +R +S +T +U +V +W +Y +Z +[ +\ +] +^ +_ +` +a +b +c +d +e +f +h +i +j +k +l +m +n +o +p +q +r +s +t +u +v +x +y + +z + +{ +| +} +~ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + .a + - + + + -* + , + , + ,? + + + + + + + + + + + + + + + + + + + + + + + + + ,% + , + , + , , , , , , , , , , ,  ,  ,  , , , , , , , , , , , , , , , ," , ,! , ,  ,# ,$ ,& ,' ,3 ,( ,. ,) ,+ ,* ,, ,- ,/ ,1 ,0 ,2 ,4 ,: ,5 ,7 ,6 ,8 ,9 ,; ,= ,< ,> ,@ ,O ,A ,B ,C ,D ,E ,F ,G ,H ,I ,J ,K ,L ,M ,N ,P ,Q ,R ,S ,T ,U ,V ,W ,X , ,Y ,j ,Z ,c ,[ ,^ ,\ ,] ,_ ,a ,` ,b ,d ,g ,e ,f ,h ,i ,k ,x ,l ,r ,m ,p ,n ,o ,q ,s ,u ,t ,v ,w ,y ,~ ,z ,} ,{ ,| , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , - , , , , , , , , , , , , , , , , , , , , , , , , , - , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , - - - - - - - - - - - - -  -  - - - - - - - - - - - - - - - - -  -! -" -# -$ -% -& -' -( -) -+ -, -- - -. -= -/ -0 -1 -2 -3 -4 -5 -6 -7 -8 -9 -: -; -< -> -? -@ -A -B -C -D -E -F -o -G -X -H -Q -I -L -J -K -M -O -N -P -R -U -S -T -V -W -Y -f -Z -` -[ -^ -\ -] -_ -a -c -b -d -e -g -l -h -k -i -j -m -n -p -q -} -r -x -s -u -t -v -w -y -{ -z -| -~ - - - - - - - - - - - - - - - - - - - - - - - - - - - - ./ - - - - - - - - - - - - - - - - - - - - - -s - - - - - - - - - - - - -s -s - - - - - - - - - - - - - - - -s - - - - - - - - - - - - -s -s - - - - - - - - - - - - - - - - -s - - - - - - - - - - - - - - -s - . . . . . . . . . . . .  .  .  .  .  . .s . . . . . . . . . . . . .s .s .  .! ." .# .$ .% .& .' .( .) .* .+ ., .- ..s .0 .1 .2 .Q .3 .B .4 .5 .6 .7 .8 .9 .: .; .< .= .> .? .@ .As .C .D .E .F .G .H .I .J .K .L .M .N .Os .Ps .R .S .T .U .V .W .X .Y .Z .[ .\ .] .^ ._ .`s .b /+ .c .d .e . .f . .g .h . .i .x .j .k .l .m .n .o .p .q .r .s .t .u .v .w .y .z .{ .| .} .~ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . / . /  . . / / / / / / / / / /  /  /  / / / / / / / / / / / / / / / / / / /  /! /" /# /$ /% /& /' /( /) /* /, /- /. / // / /0 /1 /~ /2 /X /3 /4 /5 /6 /A /7 /8 /9 /: /; /< /= /> /? /@b /B /C /D /E /F /G /L /Hbb /Ib /J /Kbb /M /Q /Nbb /O /Pbb /R /Ub /Sb /Tbb /V /Wbb /Y /Z /[ /\ /] /^ /_ /` /a /b /t /c /l /d /g /ebb /fb /h /jb /ibb /kb /m /pb /nb /obb /q /r /sbb /u /v /| /w /y /xbb /z /{bb /}b / / / / / / / / / / / / / / /b / / / / / / / / / / / / / / / / / / / /b / / / / / / / /bb /b / /bb / / /bb / /bb / /b /b /bb / /bb / / / / / / / / / / / / / / / /bb /b / /b /bb /b / /b /b /bb / / /bb / / / / / /bb / /bb /b / / / / / / / / / / / / / / /b / 0M / / 0= / 0 / / / / 0 / / / / / / / / / /b 0 0 0 0 0 0 0 0bb 0b 0 0 bb 0 0 0 bb 0 0bb 0 0b 0b 0bb 0 0bb 0 0 0 0 0 0 0 0 0  0! 03 0" 0+ 0# 0& 0$bb 0%b 0' 0)b 0(bb 0*b 0, 0/b 0-b 0.bb 00 01 02bb 04 05 0; 06 08 07bb 09 0:bb 0<b 0> 0? 0@ 0A 0B 0C 0D 0E 0F 0G 0H 0I 0J 0K 0Lb 0N 0O 0 0P 0v 0Q 0R 0S 0T 0_ 0U 0V 0W 0X 0Y 0Z 0[ 0\ 0] 0^b 0` 0a 0b 0c 0d 0e 0j 0fbb 0gb 0h 0ibb 0k 0o 0lbb 0m 0nbb 0p 0sb 0qb 0rbb 0t 0ubb 0w 0x 0y 0z 0{ 0| 0} 0~ 0 0 0 0 0 0 0 0bb 0b 0 0b 0bb 0b 0 0b 0b 0bb 0 0 0bb 0 0 0 0 0 0bb 0 0bb 0b 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0b 0 1v 0I 0I 0I 0 1D 0 1 0 0 0 0 0 0I 0 0I 0I 0I 0I 0I 0I 0I 0I 0I 0I 0I 0I 0III 0 0I 0I 0I 0I 0II 0 0I 0II 0 0I 0I 0I 0II 0II 0 0I 0I 0I 0I 0I 0I 0I 0I 0I 0I 0I 0I 0II 0 1 0 0I 0 0I 0I 0I 0I 0I 0I 0I 0I 0I 0I 0I 0I 0III 0 0I 0I 0I 0I 0II 0 0I 0II 0 0I 1I 1I 1II 1II 1 1I 1I 1I 1 I 1 I 1 I 1 I 1 I 1I 1I 1I 1I 1II 1I 1 14 1 1%I 1 1I 1I 1I 1I 1I 1I 1I 1I 1 I 1!I 1"I 1#I 1$III 1& 1'I 1(I 1)I 1*I 1+II 1, 1-I 1.II 1/ 10I 11I 12I 13II 15II 16 17I 18I 19I 1:I 1;I 1<I 1=I 1>I 1?I 1@I 1AI 1BI 1CII 1EI 1FI 1G 1f 1H 1WI 1I 1JI 1KI 1LI 1MI 1NI 1OI 1PI 1QI 1RI 1SI 1TI 1UI 1VIII 1X 1YI 1ZI 1[I 1\I 1]II 1^ 1_I 1`II 1a 1bI 1cI 1dI 1eII 1gII 1h 1iI 1jI 1kI 1lI 1mI 1nI 1oI 1pI 1qI 1rI 1sI 1tI 1uII 1w 2J 1x 1y 2& 1z 1 1{ 1 1| 1} 1 1~ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1ۂ 1 1 1 1 1 1ۂ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1ۂ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1ۂ 1 1 1 1 1 1ۂ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1ۂ 1 1 1 1 1 1ۂ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1ۂ 1 1 1 1 1 1ۂ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1ۂ 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2  2  2  2  2  2ۂ 2 2 2 2 2 2ۂ 2 2 2 2 2 2 2 2 2 2  2! 2" 2# 2$ 2%ۂ 2' 2( 2) 2* 2: 2+ 2, 2- 2. 2/ 20 21 22 23 24 25 26 27 28 29ۂ 2; 2< 2= 2> 2? 2@ 2A 2B 2C 2D 2E 2F 2G 2H 2Iۂ 2K 2L 2M 2 2N 2 2O 2P 2p 2Q 2` 2R 2S 2T 2U 2V 2W 2X 2Y 2Z 2[ 2\ 2] 2^ 2_ 2a 2b 2c 2d 2e 2f 2g 2h 2i 2j 2k 2l 2o 2m 2n 2q 2r 2s 2t 2u 2v 2w 2x 2y 2z 2{ 2| 2} 2~ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 <0 2 7 2 6k 2 5 2 3 2 2 2 3P 2 3 2 2 3 2 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3  3  3 3  3  3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3  3! 3@ 3" 31 3# 3$ 3% 3& 3' 3( 3) 3* 3+ 3, 3- 3. 3/ 30 32 33 34 35 36 37 38 39 3: 3; 3< 3= 3> 3? 3A 3B 3C 3D 3E 3F 3G 3H 3I 3J 3K 3L 3M 3N 3O 3Q 3 3R 3S 3r 3T 3c 3U 3V 3W 3X 3Y 3Z 3[ 3\ 3] 3^ 3_ 3` 3a 3b 3d 3e 3f 3g 3h 3i 3j 3k 3l 3m 3n 3o 3p 3q 3s 3t 3u 3v 3w 3x 3y 3z 3{ 3| 3} 3~ 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 4% 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 4 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4  4 4  4  4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4  4! 4" 4# 4$ 4& 4] 4' 4( 4M 4) 4> 4* 4+ 4, 48 4- 4. 4/ 40 41 42 43 44 45 46 47 49 4: 4; 4< 4= 4? 4@ 4A 4B 4C 4D 4E 4F 4G 4H 4I 4J 4K 4L 4N 4O 4P 4Q 4R 4S 4T 4U 4V 4W 4X 4Y 4Z 4[ 4\ 4^ 4_ 4 4` 4u 4a 4b 4c 4o 4d 4e 4f 4g 4h 4i 4j 4k 4l 4m 4n 4p 4q 4r 4s 4t 4v 4w 4x 4y 4z 4{ 4| 4} 4~ 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5o 5 5< 5  5 5, 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5  5! 5" 5# 5$ 5% 5& 5' 5* 5( 5) 5+ 5- 5. 5/ 50 51 52 53 54 55 56 57 58 59 5: 5; 5= 5> 5_ 5? 5N 5@ 5A 5B 5C 5D 5E 5F 5G 5H 5I 5J 5K 5L 5M 5O 5P 5Q 5R 5S 5T 5U 5V 5W 5X 5Y 5Z 5] 5[ 5\ 5^ 5` 5a 5b 5c 5d 5e 5f 5g 5h 5i 5j 5k 5l 5m 5n 5p 5 5q 5r 5 5s 5 5t 5u 5v 5w 5x 5y 5z 5{ 5| 5} 5~ 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6: 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6  6  6 6* 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6! 6" 6# 6$ 6% 6& 6' 6( 6) 6+ 6, 6- 6. 6/ 60 61 62 63 64 65 66 67 68 69 6; 6< 6= 6[ 6> 6M 6? 6@ 6A 6B 6C 6D 6E 6F 6G 6H 6I 6J 6K 6L 6N 6O 6P 6Q 6R 6S 6T 6U 6V 6W 6X 6Y 6Z 6\ 6] 6^ 6_ 6` 6a 6b 6c 6d 6e 6f 6g 6h 6i 6j 6l 7 6m 75 6n 6o 6p 7 6q 6 6r 6 6s 6 6t 6 6u 6v 6w 6x 6y 6z 6{ 6| 6} 6~ 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7% 7 7 7 7  7  7  7  7  7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7  7! 7" 7# 7$ 7& 7' 7( 7) 7* 7+ 7, 7- 7. 7/ 70 71 72 73 74 76 77 78 7} 79 7[ 7: 7; 7K 7< 7= 7> 7? 7@ 7A 7B 7C 7D 7E 7F 7G 7H 7I 7Js 7L 7M 7N 7O 7P 7Q 7R 7S 7T 7U 7V 7W 7X 7Y 7Zs 7\ 7] 7m 7^ 7_ 7` 7a 7b 7c 7d 7e 7f 7g 7h 7i 7j 7k 7ls 7n 7o 7p 7q 7r 7s 7t 7u 7v 7w 7x 7y 7z 7{ 7|s 7~ 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7s 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7sLJ 7 :K 7 8 7 8 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8  8  8  8  8  8 8 8 8 8s 8 8C 8 8 83 8 8% 8 8 8 8 8 8 8 8 8 8  8! 8" 8# 8$) 8& 8' 8( 8) 8* 8+ 8, 8- 8. 8/ 80 81 82) 84 85 86 87 88 89 8: 8; 8< 8= 8> 8? 8@ 8A 8B) 8D 8E 8c 8F 8U 8G 8H 8I 8J 8K 8L 8M 8N 8O 8P 8Q 8R 8S 8T) 8V 8W 8X 8Y 8Z 8[ 8\ 8] 8^ 8_ 8` 8a 8b) 8d 8e 8f 8g 8h 8i 8j 8k 8l 8m 8n 8o 8p 8q 8r) 8t 8u 8v 8 8w 8 8x 8y 8z 8{ 8| 8} 8~ 8 8 8 8 8 8 8) 8 8 8 8 8 8 8 8 8 8 8 8 8) 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8) 8 9m 8 8 8 9; 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9  8 8 8 9 9 9 9 9 9 9 9 9 9  9  9 9  9 9 9 9 9 9 9 9 9 9 9 9 9 9+ 9 9 9 9 9  9! 9" 9# 9$ 9% 9& 9' 9( 9) 9* 9, 9- 9. 9/ 90 91 92 93 94 95 96 97 98 99 9: 9< 9= 9> 9] 9? 9N 9@ 9A 9B 9C 9D 9E 9F 9G 9H 9I 9J 9K 9L 9M 9O 9P 9Q 9R 9S 9T 9U 9V 9W 9X 9Y 9Z 9[ 9\ 9^ 9_ 9` 9a 9b 9c 9d 9e 9f 9g 9h 9i 9j 9k 9l 9n 9o 9p :' 9q 9 9r 9 9s 9 9t 9u 9v 9 9w 9x 9y 9z 9{ 9| 9} 9~ 9 9 9 9e 9 9 9 9 9 9e 9 9 9e 9 9e 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9e 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9e 9 9 9 9 9 9e 9 9 9e 9 9e 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9e 9 : 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9e 9 9 9 9 9 9e 9 9 9e 9 9e 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9e 9 9 9 9 9 :e : : :e : :e : : : : :  :  :  :  : : : : : : : : :e : : : : : : : : :  :! :" :# :$ :% :&e :( :Je :) :* :: :+ :, :- :. :/ :0 :1 :2 :3 :4 :5 :6 :7 :8 :9e :; :< := :> :? :@ :A :B :C :D :E :F :G :H :Iee :L ;e :M :N :O :P ; :Q : :R :~ :S :n :T :U :V :W :c :X :Y :Z :[ :\ :] :^ :_ :` :a :be :d :e :f :g :he :i :j :ke :le :me :o :p :q :r :s :t :u :v :w :x :y :z :{ :| :}e : : : : : : : : : : : : : : : : : :e : : : : :e : : :e :e :e : : : : : : : : : : : : : : :e : : : : : : : : : : : : : : : : : : : :e : : : : :e : : :e :e :e : : : : : : : : : : : : : : : :e : : : : :e : : :e :e :e : : : : : : : : : : : : : : : : :e : : : : : : : : : : : : ; ; ;e ;e ; ; ; ; ; ; ;b ; ;,e ; ; ; ;  ; ; ; ; ; ; ; ; ; ; ; ; ; ;e ; ; ; ;  ;! ;" ;# ;$ ;% ;& ;' ;( ;) ;* ;+ee ;- ;. ;R ;/ ;0 ;1 ;> ;2 ;3 ;4 ;5 ;6 ;7 ;8 ;9 ;: ;; ;< ;=e ;? ;@ ;A ;B ;C ;K ;De ;Eee ;Fe ;G ;He ;Iee ;Je ;L ;Me ;Ne ;Oe ;P ;Qe ;S ;T ;U ;V ;W ;X ;Y ;Z ;[ ;\ ;] ;^ ;_ ;` ;ae ;c ; ;d ;e ; ;f ;g ;h ;u ;i ;j ;k ;l ;m ;n ;o ;p ;q ;r ;s ;te ;v ;w ;x ;y ;z ; ;{e ;|ee ;}e ;~ ;e ;ee ;e ; ;e ;e ;e ; ;e ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;ee ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;e ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;e ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;e ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;e ; ; ;e ; <e ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;e ; ; ;e ; ;e ;e ; ;e ; < < < < < < < < < <  <  <  <  < ee < < < < < < < < < < < < < < < < < <e   =? =@ =A =B =C =D =F =G =H =I =J =K =L =M =N =O =P =Q =R =S =T =V =W =u =X =g =Y =Z =[ =\ =] =^ =_ =` =a =b =c =d =e =f =h =i =j =k =l =m =n =o =p =q =r =s =t =v =w =x =y =z ={ =| =} =~ = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =5 =5 = =55 = =5 = = = = = = = = = = = = = = = = = =5 = = = = = = = = = = = = = = =5 = ?z = > = = >m = > = = = > = = = = = = = = = = = = = = = = = = = = = > > > > > > > > >  >  >  >  >  > > > > > > > >A > > >1 > > > > > >' > > > >  >! >" ># >$ >% >& >( >) >* >+ >, >- >. >/ >0 >2 >3 >4 >5 >6 >7 >8 >9 >: >; >< >= >> >? >@ >B >C >] >D >E >F >G >H >S >I >J >K >L >M >N >O >P >Q >R >T >U >V >W >X >Y >Z >[ >\ >^ >_ >` >a >b >c >d >e >f >g >h >i >j >k >l >n >o > >p >q > >r >s >t >u >v > >w >x >y >z >{ >| >} >~ > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ?M > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ?" > > ? > > > > > ? > ? ? ? ? ? ? ? ? ? ?  ? ?  ?  ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?  ?! ?# ?$ ?= ?% ?& ?' ?( ?) ?4 ?* ?+ ?, ?- ?. ?/ ?0 ?1 ?2 ?3 ?5 ?6 ?7 ?8 ?9 ?: ?; ?< ?> ?? ?@ ?A ?B ?C ?D ?E ?F ?G ?H ?I ?J ?K ?L ?N ?O ?P ?Q ?j ?R ?S ?T ?U ?V ?a ?W ?X ?Y ?Z ?[ ?\ ?] ?^ ?_ ?` ?b ?c ?d ?e ?f ?g ?h ?i ?k ?l ?m ?n ?o ?p ?q ?r ?s ?t ?u ?v ?w ?x ?y ?{ @F ?| ?} @ ?~ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? @ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? @ @ @ @ @ @ @ @ @  @  @  @  @  @ @ @ @ @ @ @ @ @ @6 @ @' @ @ @ @ @ @ @ @  @! @" @# @$ @% @& @( @) @* @+ @, @- @. @/ @0 @1 @2 @3 @4 @5 @7 @8 @9 @: @; @< @= @> @? @@ @A @B @C @D @E @G @H @ @I @w @J @K @L @g @M @N @O @P @Q @\ @R @S @T @U @V @W @X @Y @Z @[ @] @^ @_ @` @a @b @c @d @e @f @h @i @j @k @l @m @n @o @p @q @r @s @t @u @v @x @ @y @ @z @ @{ @| @} @~ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ A @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ A A A A A A A A A A A A  A  A  A  A A A A A A A A A A A A A A A A A  A! A" A# A$ A% A& A' A( A) A* A+ A, A- A. A0 D* A1 B A2 A A3 A4 A A5 Ab A6 A7 A8 AR A9 AH A: A; A< A= A> A? A@ AA AB AC AD AE AF AG AI AJ AK AL AM AN AO AP AQ AS AT AU AV AW AX AY AZ A[ A\ A] A^ A_ A` Aa Ac A Ad Ae A Af Au Ag Ah Ai Aj Ak Al Am An Ao Ap Aq Ar As At Av Aw Ax Ay Az A{ A| A} A~ A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A Br A B A A A B A A A A A A A A A A A A A A A A  B B B B B B B B B  B  B B  B  B B B B B B B B B B B  B BF B B B6 B B B B  B! B" B, B# B$ B% B& B' B( B) B* B+  B- B. B/ B0 B1 B2 B3 B4 B5  B7 B8 B9 B: B; B< B= B> B? B@ BA BB BC BD BE  BG BH Bb BI BJ BK BL BM BN BX BO BP BQ BR BS BT BU BV BW  BY BZ B[ B\ B] B^ B_ B` Ba  Bc Bd Be Bf Bg Bh Bi Bj Bk Bl Bm Bn Bo Bp Bq  Bs Bt Bu Bv B Bw Bx By Bz B{ B| B B} B~ B B B B B B B  B B B B B B B B B  B B B B B B B B B B B B B B B  B CL B B C! B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B C B B B B B C C C C C C C C C C C  C  C  C C C C C C C C C C C C C C C C C C C  C" C# C$ C% C< C& C' C( C) C* C+ C, C5 C- C. C/ C0 C1 C2 C3 C4 C6 C7 C8 C9 C: C; C= C> C? C@ CA CB CC CD CE CF CG CH CI CJ CK CM CN C CO C CP C{ CQ CR Ck CS CT CU CV CW CX CY Cb CZ C[ C\ C] C^ C_ C` Ca$ Cc Cd Ce Cf Cg$ Ch$ Ci$ Cj$ Cl Cm Cn Co Cp Cq Cr Cs Ct Cu Cv Cw Cx Cy Cz$ C| C} C C~ C C C C C C C C C C C C C C C$ C C C C C$ C$ C$ C$ C C C C C C C C C C C C C C C$ C C C C C C C C C C C C C C C C C C C C C$ C C C C C$ C$ C$ C$ C C C C C C C C C C C C C C C$ C C C C C C C C C C C C C C C C C C C$ C C C C C$ C$ C$ C$ C C C C C C C C C C C C C C C$ C C D D D D D D D D D D D D  D  D  D  D  D D D$ D D D D D$ D$ D$ D$ D D D D D D  D! D" D# D$ D% D& D' D( D)$ D+ E D, D D- D. D/ D D0 Da D1 D2 DQ D3 DB D4 D5 D6 D7 D8 D9 D: D; D< D= D> D? D@ DA DC DD DE DF DG DH DI DJ DK DL DM DN DO DP DR DS DT DU DV DW DX DY DZ D[ D\ D] D^ D_ D` Db Dc D Dd Ds De Df Dg Dh Di Dj Dk Dl Dm Dn Do Dp Dq Dr Dt Du Dv Dw Dx Dy Dz D{ D| D} D~ D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D E D Ey D EN D E$ D E D D D D E E E E E E E E E E E  E  E  E  E E E E E E E E E E E E E E E E E E  E! E" E# E% E> E& E' E( E) E* E5 E+ E, E- E. E/ E0 E1 E2 E3 E4 E6 E7 E8 E9 E: E; E< E= E? E@ EA EB EC ED EE EF EG EH EI EJ EK EL EM EO EP Ei EQ ER ES ET EU E` EV EW EX EY EZ E[ E\ E] E^ E_ Ea Eb Ec Ed Ee Ef Eg Eh Ej Ek El Em En Eo Ep Eq Er Es Et Eu Ev Ew Ex Ez E{ E| E E} E~ E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E F E E F E F` E F2 E F E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E F F F F F F F" F F F  F F F  F  F  F F F F F F F F F F F F F F F F F F  F! F# F$ F% F& F' F( F) F* F+ F, F- F. F/ F0 F1 F3 F4 FP F5 F6 F7 F8 FD F9 F: F; F< F= F> F? F@ FA FB FC FE FF FG FH FI FJ FK FL FM FN FO FQ FR FS FT FU FV FW FX FY FZ F[ F\ F] F^ F_ Fa Fb Fc F Fd Fe Ff Fg Fs Fh Fi Fj Fk Fl Fm Fn Fo Fp Fq Fr Ft Fu Fv Fw Fx Fy Fz F{ F| F} F~ F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F G F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F G F G F F F F F F F F F F F G G G G G G G G G G  G G  G G G G G G G G G G G G G G G G G G G! G" G# G@ G$ G3 G% G& G' G( G) G* G+ G, G- G. G/ G0 G1 G2 G4 G5 G6 G7 G8 G9 G: G; G< G= G> G? GA GB GC GD GE GF GG GH GI GJ GK GL GM GN GO GQ GR rf GS ^ GT Q GU L GV J GW I GX H GY GZ H% G[ G G\ G] G G^ G~ G_ G` Ga Gb Gn Gc Gd Ge Gf Gg Gh Gi Gj Gk Gl Gm Go Gp Gq Gr Gs Gt Gu Gz Gv Gw Gx Gy G{ G| G} G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G H G G G G H G G G G G G H H H H H H H H H  H  H H H H  H H H H H H H H H H H H H H H H H  H! H" H# H$ H& H H' HY H( H) HI H* H+ H, H- H9 H. H/ H0 H1 H2 H3 H4 H5 H6 H7 H8 H: H; H< H= H> H? H@ HE HA HB HC HD HF HG HH HJ HK HL HM HN HO HP HQ HR HS HT HU HV HW HX HZ H[ H{ H\ H] H^ H_ Hk H` Ha Hb Hc Hd He Hf Hg Hh Hi Hj Hl Hm Hn Ho Hp Hq Hr Hw Hs Ht Hu Hv Hx Hy Hz H| H} H~ H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H IS H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H I# H H I H I H H H H H H H H H I I I I I I I I I  I  I  I  I  I I I I I I I I I I I I I I I I I I  I! I" I$ I% IC I& I5 I' I( I) I* I+ I, I- I. I/ I0 I1 I2 I3 I4 I6 I7 I8 I9 I: I; I< I= I> I? I@ IA IB ID IE IF IG IH II IJ IK IL IM IN IO IP IQ IR IT IU IV IW Iu IX Ig IY IZ I[ I\ I] I^ I_ I` Ia Ib Ic Id Ie If Ih Ii Ij Ik Il Im In Io Ip Iq Ir Is It Iv Iw Ix Iy Iz I{ I| I} I~ I I I I I I I I If I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I J I J I I I I I I I I I I I I I J J J J J J J J J J  J J  J  J J J J J J J J J J J J J J J J J J! K J" J J# J$ J% Jj J& JH J' J( J8 J) J* J+ J, J- J. J/ J0 J1 J2 J3 J4 J5 J6 J7 J9 J: J; J< J= J> J? J@ JA JB JC JD JE JF JG JI JJ JZ JK JL JM JN JO JP JQ JR JS JT JU JV JW JX JY J[ J\ J] J^ J_ J` Ja Jb Jc Jd Je Jf Jg Jh Ji Jk Jl Jm J} Jn Jo Jp Jq Jr Js Jt Ju Jv Jw Jx Jy Jz J{ J| J~ J J J J J J J J J J J J J J J J Kf J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J K1 J J K! J K K K K K K K K K K K  K  K  K  K  K K K K K K K K K K K K K K K K K K  K" K# K$ K% K& K' K( K) K* K+ K, K- K. K/ K0 K2 K3 KV K4 KC K5 K6 K7 K8 K9 K: K; K< K= K> K? K@ KA KB KD KE KF KG KH KI KJ KK KL KM KN KR KO KP KQ KS KT KU KW KX KY KZ K[ K\ K] K^ K_ K` Ka Kb Kc Kd Ke Kg Kh K Ki Kj K Kk Kz Kl Km Kn Ko Kp Kq Kr Ks Kt Ku Kv Kw Kx Ky K{ K| K} K~ K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K Lk K K K L9 K L K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K L L L L L L L L L  L L) L L L L  L L L L L L L L L L L L L L L L L L  L! L" L# L$ L% L& L' L( L* L+ L, L- L. L/ L0 L1 L2 L3 L4 L5 L6 L7 L8 L: L; L< L[ L= LL L> L? L@ LA LB LC LD LE LF LG LH LI LJ LK LM LN LO LP LQ LR LS LT LU LV LW LX LY LZ L\ L] L^ L_ L` La Lb Lc Ld Le Lf Lg Lh Li Lj Ll Lm Ln L Lo L Lp Lq L Lr Ls Lt Lu Lv Lw L Lx Ly Lz L{ L| L} L~ L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L N L MVk L L L L MO L M L L M L M L L L L L L L L L L L L L M) M M M M M M M M  M M  M  M  M) M M M M M M M M M M M M M M M) M  M! M? M" M1 M# M$ M% M& M' M( M) M* M+ M, M- M. M/ M0) M2 M3 M4 M5 M6 M7 M8 M9 M: M; M< M= M>) M@ MA MB MC MD ME MF MG MH MI MJ MK ML MM MN) MP MQ MR Mp MS Mb MT MU MV MW MX MY MZ M[ M\ M] M^ M_ M` Ma) Mc Md Me Mf Mg Mh Mi Mj Mk Ml Mm Mn Mo) Mq Mr Ms Mt Mu Mv Mw Mx My Mz M{ M| M} M~ M) M N M M M M M M M M M M M M M M M M M M M M M M M M M9 M M M M M M M M M M9 M M M M M M M M M M M M M M M9 M M M M M M M M M M M M M M M M M M M9 M M M M M M M M M M9 M M M M M M M M M M M M M M M9 M M M M M M M M M M M M M M M M M M M M9 M M M M M M M M M M9 M M N N N N N N N N N N  N  N  N 9 N N N No N N@ N N N0 N N# N N N N N N N N N N N N  N! N"I N$ N% N& N' N( N) N* N+ N, N- N. N/I N1 N2 N3 N4 N5 N6 N7 N8 N9 N: N; N< N= N> N?I NA NB N_ NC NR ND NE NF NG NH NI NJ NK NL NM NN NO NP NQI NS NT NU NV NW NX NY NZ N[ N\ N] N^I N` Na Nb Nc Nd Ne Nf Ng Nh Ni Nj Nk Nl Nm NnI Np Nq Nr N Ns N Nt Nu Nv Nw Nx Ny Nz N{ N| N} N~ N N NI N N N N N N N N N N N NI N N N N N N N N N N N N N N NI N PD N O* N N N N N N N N N N N N N N N N N N N N N N N N`5 N N N N N N`5 N N`5 N`5 N N N N N N N N N N N N N N N`5 N N N N N N N N N N N N N N N N N N N N N`5 N N N N N N`5 N N`5 N`5 N N N N N N N N N N N N N N N`5 N O O O O O O O O O O O O  O  O  O  O  O O`5 O O O O O O`5 O O`5 O`5 O O O O O O  O! O" O# O$ O% O& O' O( O)`5 O+ O O, O O- OA O. O@ O/ O0 O1 O2 O3 O4 O5 O6 O7 O8 O9 O: O; O< O= O> O?II OB OrI OC OD Ob OE OT OF OG OH OI OJ OK OL OM ON OO OP OQ OR OSI OU OV OW OX OYI OZ O[ O\ O]I O^ O_ O` OaI Oc Od Oe Of Og Oh Oi Oj Ok Ol Om On Oo Op OqII Os Ot O Ou Ov Ow Ox Oy Oz O{ O| O} O~ O O O O OI O O O O O O O O O O O O O O OII O O OII O O O O O O O O O O O O O O O O O OI O O O O O O O O O O O O O O OI O O P! O O O O O O O O O O O O O O O O O O O O OI O O O O O O O O O O O O O O OI O O O O O O O O O O O O O O O O OI O O O O O O O O O O O O O O OI P P P P P P P P P P P  P  P  P  P  P P PI P P P P P P P P P P P P P P P I P" P# P$ P4 P% P& P' P( P) P* P+ P, P- P. P/ P0 P1 P2 P3I P5 P6 P7 P8 P9 P: P; P< P= P> P? P@ PA PB PCI PE PFI PG Qa PH Q PI Px PJ PK PL Ph PM PN PO PP P\ PQ PR PS PT PU PV PW PX PY PZ P[= P] P^ P_ P` Pa Pb= Pc= Pd Pe Pf= Pg= Pi Pj Pk Pl Pm Pn Po Pp Pq Pr Ps Pt Pu Pv Pw= Py P Pz P P{ P P| P} P~ P P P P P P P P P P P P P= P P P P P P= P= P P P= P= P P P P P P P P P P P P P P P P= P P P P P P= P= P P P= P= P P P P P P P P P P P P P P P P P= P P P P P P P P P P P P P P P= P P P P P P P P P P P P P P P P P P P= P P P P P P= P= P P P= P= P P P P P P P P P P P P P Q Q= Q Q2 Q Q Q Q" Q Q Q  Q Q Q  Q  Q  Q Q Q Q Q Q Q Q= Q Q Q Q Q Q= Q= Q Q Q = Q!= Q# Q$ Q% Q& Q' Q( Q) Q* Q+ Q, Q- Q. Q/ Q0 Q1= Q3 Q4 Q5 QQ Q6 Q7 Q8 Q9 QE Q: Q; Q< Q= Q> Q? Q@ QA QB QC QD= QF QG QH QI QJ QK= QL= QM QN QO= QP= QR QS QT QU QV QW QX QY QZ Q[ Q\ Q] Q^ Q_ Q`= Qb Qc Qd Q Qe Qf Q Qg Qh Qi Qj Qv Qk Ql Qm Qn Qo Qp Qq Qr Qs Qt Qu= Qw Qx Qy Qz Q{ Q|= Q}= Q~ Q Q= Q= Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q= Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q= Q Q Q Q Q Q= Q= Q Q Q= Q= Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q= Q Q Q Q Q Q= Q= Q Q Q= Q= Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q= Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q= Q Y Q V Q Tt Q S Q Sy Q R Q RU Q R% Q Q R Q R Q Q Q Q Q Q Q R R R R R R R R R  R R  R  R R R R R R R R R R R R R R R R R R R  R! R" R# R$ R& R' RE R( R7 R) R* R+ R, R- R. R/ R0 R1 R2 R3 R4 R5 R6 R8 R9 R: R; R< R= R> R? R@ RA RB RC RD RF RG RH RI RJ RK RL RM RN RO RP RQ RR RS RT RV R RW RX Rv RY Rh RZ R[ R\ R] R^ R_ R` Ra Rb Rc Rd Re Rf Rg Ri Rj Rk Rl Rm Rn Ro Rp Rq Rr Rs Rt Ru Rw Rx Ry Rz R{ R| R} R~ R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R S R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R S R R R R R R R R R R R R R R R R R R R R R S S S S S S S S S  S S  S  S  S S S S S S S S S S S SI S S S9 S S+ S S S S  S! S" S# S$ S% S& S' S( S) S* S, S- S. S/ S0 S1 S2 S3 S4 S5 S6 S7 S8 S: S; S< S= S> S? S@ SA SB SC SD SE SF SG SH SJ SK Si SL S[ SM SN SO SP SQ SR SS ST SU SV SW SX SY SZ S\ S] S^ S_ S` Sa Sb Sc Sd Se Sf Sg Sh Sj Sk Sl Sm Sn So Sp Sq Sr Ss St Su Sv Sw Sx Sz S{ S| S} S~ S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S TB S T S S S S S S S S S S S S S S S S S S S SY S S S S S S S S S S S S S SY S S S S S S S S S S S S S S SY S T S S S S S S S S S S S S S S S SY S S S S S S S S S S S S S TY T T T T T T T T  T  T  T  T  T T TY T T T2 T T# T T T T T T T T T T T T  T! T"Y T$ T% T& T' T( T) T* T+ T, T- T. T/ T0 T1Y T3 T4 T5 T6 T7 T8 T9 T: T; T< T= T> T? T@ TAY TC TD TE Td TF TU TG TH TI TJ TK TL TM TN TO TP TQ TR TS TTY TV TW TX TY TZ T[ T\ T] T^ T_ T` Ta Tb TcY Te Tf Tg Th Ti Tj Tk Tl Tm Tn To Tp Tq Tr TsY Tu U Tv Tw Ui Tx U Ty T Tz T T{ T T| T T} T~ T T T T T T T T T T T Ti T T T T T T T T T T T T Ti T T T T T T T T T T T T T T Ti T T T T T T T T T T T T T T T T T Ti T T T T T T T T T T T T Ti T T T T T T T T T T T T T T Ti T T T T T T T T T T T T T T T T T T Ti T T T T T T T T T T T T Ti T T T T T T T U U U U U U U Ui U U9 U  U U) U U U U U U U U U U U U U U U Ui U U U U U U! U" U# U$ U% U& U' U(i U* U+ U, U- U. U/ U0 U1 U2 U3 U4 U5 U6 U7 U8i U: U; UY U< UK U= U> U? U@ UA UB UC UD UE UF UG UH UI UJi UL UM UN UO UP UQ UR US UT UU UV UW UXi UZ U[ U\ U] U^ U_ U` Ua Ub Uc Ud Ue Uf Ug Uhi Uj Uk Ul Um U Un U} Uo Up Uq Ur Us Ut Uu Uv Uw Ux Uy Uz U{ U|i U~ U U U U U U U U U U U Ui U U U U U U U U U U U U U U Ui U U V U V1 U V U U U U U U U U U U U U U U U U U U U Uy U U U U U U U U U U U U Uy Uy U U U U U U U U U U U U U U Uy U U U U U U U U U U U U U U U U U Uy U U U U U U U U U U U U Uy Uy U U U U U U U U U U U U U U Uy V V V! V V V V V V V V  V  V  V  V  V V V Vy V V V V V V V V V V V V Vy V y V" V# V$ V% V& V' V( V) V* V+ V, V- V. V/ V0y V2 Vc V3 V4 VS V5 VD V6 V7 V8 V9 V: V; V< V= V> V? V@ VA VB VCy VE VF VG VH VI VJ VK VL VM VN VO VP VQy VRy VT VU VV VW VX VY VZ V[ V\ V] V^ V_ V` Va Vby Vd Ve V Vf Vu Vg Vh Vi Vj Vk Vl Vm Vn Vo Vp Vq Vr Vs Vty Vv Vw Vx Vy Vz V{ V| V} V~ V V V Vy Vy V V V V V V V V V V V V V V Vy V V V V V V V V V V V V V V V V V V V V V Vy V V V V V V V V V V V V Vy Vy V V V V V V V V V V V V V V Vy V V V V V V V V V V V V V V V V V V Vy V V V V V V V V V V V V Vy Vy V V V V V V V V V V V V V V Vy V W V= V V V W V W_ V W/ W W W W W W W W W W W W  W  W  W  W  W W W W W W W W W W W W W W W W W  W! W" W# W$ W% W& W' W( W) W* W+ W, W- W. W0 WO W1 W@ W2 W3 W4 W5 W6 W7 W8 W9 W: W; W< W= W> W? WA WB WC WD WE WF WG WH WI WJ WK WL WM WN WP WQ WR WS WT WU WV WW WX WY WZ W[ W\ W] W^ W` Wa W Wb Wq Wc Wd We Wf Wg Wh Wi Wj Wk Wl Wm Wn Wo Wp Wr Ws Wt Wu Wv Ww Wx Wy Wz W{ W| W} W~ W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W X W W W X( W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W X W X  W W W W W X X X X X X X X X X X  X  X  X X X X X X X X X X X X X X X X X X  X! X" X# X$ X% X& X' X) XZ X* X+ XJ X, X; X- X. X/ X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X: X< X= X> X? X@ XA XB XC XD XE XF XG XH XI XK XL XM XN XO XP XQ XR XS XT XU XV XW XX XY X[ X\ X{ X] Xl X^ X_ X` Xa Xb Xc Xd Xe Xf Xg Xh Xi Xj Xk Xm Xn Xo Xp Xq Xr Xs Xt Xu Xv Xw Xx Xy Xz X| X} X~ X X X X X X X X X X X X X X X Yx X X X X X X X X X X X X X X X X X X X X Xb X X X X X X X X X X X X X X Xbb X Xbbb X Xbb X X X Xb Xbb X X X Xbb X Xbb X X X X X Xb X Xbb X X Xbb X Xb X X X X X X X X X X X X X X Xb X YW X Y X X X X X X X X X X X X X X X Xb X X X X X X Y X Y X X X X X Xbb X Xbbb X Ybb Y Y Y Yb Ybb Y Y Y Y bb Y Y bb Y Y Y Y Y Yb Y Ybb Y Y Ybb Y Yb Y Y Y Y Y Y+ Y! Y" Y# Y$ Y% Y& Y' Y( Y) Y*b Y, Y- Y. Y/ Y0 Y1 YI Y2 Y= Y3 Y: Y4 Y7 Y5 Y6bb Y8 Y9bbb Y; Y<bb Y> YB Y? YAb Y@bb YC YF YD YEbb YG YHbb YJ YT YK YP YL YMb YN YObb YQ YS YRbb YU YVb YX Yh YY YZ Y[ Y\ Y] Y^ Y_ Y` Ya Yb Yc Yd Ye Yf Ygb Yi Yj Yk Yl Ym Yn Yo Yp Yq Yr Ys Yt Yu Yv Ywb Yy Yz Y{ Y Y| Y} Y~ Y Y Y Y Y Y Y Y Y Y Y Y Yb Y Y Y Y Y Y Y Y Y Y Y Y Y Y Ybb Y Ybbb Y Ybb Y Y Y Yb Ybb Y Y Y Ybb Y Ybb Y Y Y Y Y Yb Y Ybb Y Y Ybb Y Yb Y Y Y Y Y Y Y Y Y Y Y Y Y Y Yb Y [ Y [ Y Z Y Y Y Z` Y Z/ Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Z Z Z Z Z Z Z Z Z Z Z Z  Z  Z  Z  Z  Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z  Z! Z" Z# Z$ Z% Z& Z' Z( Z) Z* Z+ Z, Z- Z. Z0 Z1 ZP Z2 ZA Z3 Z4 Z5 Z6 Z7 Z8 Z9 Z: Z; Z< Z= Z> Z? Z@ ZB ZC ZD ZE ZF ZG ZH ZI ZJ ZK ZL ZM ZN ZO ZQ ZR ZS ZT ZU ZV ZW ZX ZY ZZ Z[ Z\ Z] Z^ Z_ Za Zb Z Zc Z Zd Zs Ze Zf Zg Zh Zi Zj Zk Zl Zm Zn Zo Zp Zq Zr Zt Zu Zv Zw Zx Zy Zz Z{ Z| Z} Z~ Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z [y Z [ Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z> Z Z Z Z Z Z>> Z Z>> Z Z>> Z Z Z Z Z Z Z Z Z Z> Z Z> Z Z> Z Z Z Z Z Z Z Z Z Z Z Z Z [ [> [ [X [ [. [ [ [ [ [ [ [ [  [  [  [  [ [ [ [ [ [> [ [ [ [ [ [>> [ [>> [ [>> [ [! [" [# [$ [% [& [' [( [)> [* [+> [, [-> [/ [I [0 [1 [2 [3 [> [4 [5 [6 [7 [8 [9 [: [; [< [=> [? [@ [A [B [C [D>> [E [F>> [G [H>> [J [K [L [M [N [O [P [Q [R [S> [T [U> [V [W> [Y [i [Z [[ [\ [] [^ [_ [` [a [b [c [d [e [f [g [h> [j [k [l [m [n [o [p [q [r [s [t [u [v [w [x> [z [{ [| [ [} [ [~ [ [ [ [ [ [ [ [ [ [ [ [ [ [> [ [ [ [ [ [>> [ [>> [ [>> [ [ [ [ [ [ [ [ [ [> [ [> [ [> [ [ [ [ [ [ [ [ [ [ [ [ [ [ [>X [ ] [ \Q [ [ [ \ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [d [ [ [ [ [ [ [ [ [ [ [ [ [ [d [ [ [ [ [ [ [ [ [ [ [ [ [ [ [d [ [ \ [ \ [ [ [ [ [ [ [ [ [ [ [ [ [ [d \ \ \ \ \ \ \ \ \  \ \  \  \  \d \ \ \ \ \ \ \ \ \ \ \ \ \ \ \d \  \! \" \A \# \2 \$ \% \& \' \( \) \* \+ \, \- \. \/ \0 \1d \3 \4 \5 \6 \7 \8 \9 \: \; \< \= \> \? \@d \B \C \D \E \F \G \H \I \J \K \L \M \N \O \Pd \R \S \T \ \U \ \V \W \v \X \g \Y \Z \[ \\ \] \^ \_ \` \a \b \c \d \e \fr \h \i \j \k \l \m \n \o \p \q \r \s \t \ur \w \x \y \z \{ \| \} \~ \ \ \ \ \ \ \r \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \r \ \ \ \ \ \ \ \ \ \ \ \ \ \r \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \r \ \ \ \ \ \ \ \ \ \ \ \ \ \r \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \r \ \ \ \ \ \ \ \ \ \ \ \ \ \ \r \ \ \ ] \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \r \ \ \ \ \ ] ] ] ] ] ] ] ] ]r ]  ] ]  ]  ] ] ] ] ] ] ] ] ] ] ]r ] ] ] ] ] ] ] ]M ] ] ]= ]! ]0 ]" ]# ]$ ]% ]& ]' ]( ]) ]* ]+ ], ]- ]. ]/) ]1 ]2 ]3 ]4 ]5 ]6 ]7 ]8 ]9 ]: ];) ]<) ]> ]? ]@ ]A ]B ]C ]D ]E ]F ]G ]H ]I ]J ]K ]L) ]N ] ]O ]l ]P ]_ ]Q ]R ]S ]T ]U ]V ]W ]X ]Y ]Z ][ ]\ ]] ]^) ]` ]a ]b ]c ]d ]e ]f ]g ]h ]i ]j) ]k) ]m ]| ]n ]o ]p ]q ]r ]s ]t ]u ]v ]w ]x ]y ]z ]{) ]} ]~ ] ] ] ] ] ] ] ] ]) ]) ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ]) ] ] ] ] ] ] ] ] ] ] ] ] ] ] ]) ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ]) ] ] ] ] ] ] ] ] ] ] ]) ]) ] ] ] ] ] ] ] ] ] ] ] ] ] ] ]) ] ] ] ^p ] ^? ] ^ ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^  ^  ^  ^  ^  ^ ^ ^/ ^ ^  ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^! ^" ^# ^$ ^% ^& ^' ^( ^) ^* ^+ ^, ^- ^. ^0 ^1 ^2 ^3 ^4 ^5 ^6 ^7 ^8 ^9 ^: ^; ^< ^= ^> ^@ ^A ^` ^B ^Q ^C ^D ^E ^F ^G ^H ^I ^J ^K ^L ^M ^N ^O ^P ^R ^S ^T ^U ^V ^W ^X ^Y ^Z ^[ ^\ ^] ^^ ^_ ^a ^b ^c ^d ^e ^f ^g ^h ^i ^j ^k ^l ^m ^n ^o ^q ^r ^ ^s ^ ^t ^ ^u ^v ^w ^x ^y ^z ^{ ^| ^} ^~ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ h8 ^ c ^ bH ^ `3 ^ _ ^ ^ ^ _j ^ _ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ _ _ _ _ _ _  _  _ _I _ _+ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _  _! _" _# _$ _% _& _' _( _) _* _, _; _- _. _/ _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _: _< _= _> _? _@ _A _B _C _D _E _F _G _H _J _Z _K _L _M _N _O _P _Q _R _S _T _U _V _W _X _Y _[ _\ _] _^ __ _` _a _b _c _d _e _f _g _h _i _k _l _m _ _n _} _o _p _q _r _s _t _u _v _w _x _y _z _{ _| _~ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ` _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ` ` ` ` `# ` ` ` ` ` `  `  `  `  `  ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` `  `! `" `$ `% `& `' `( `) `* `+ `, `- `. `/ `0 `1 `2 `4 ` `5 ` `6 ` `7 `9 `8WW `: `h `; `< `X `= `> `? `L `@ `A `B `C `D `E `F `G `H `I `J `KW `M `N `O `PW `Q `RW `SW `TW `UW `VW `WW `Y `Z `[ `\ `] `^ `_ `` `a `b `c `d `e `f `gWW `i `j `z `k `l `m `n `o `p `q `r `s `t `u `v `w `x `yW `{ `| `} `~ ` ` ` ` ` ` ` ` ` ` `WW ` ` `WW ` `W ` ` an ` a ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` a a a8 a a a( a a a a a a a a  a  a  a  a a a a a a a a a a a a a a a a a  a! a" a# a$ a% a& a' a) a* a+ a, a- a. a/ a0 a1 a2 a3 a4 a5 a6 a7 a9 a: a^ a; aO a< a= a> a? aJ a@ aA aB aC aD aE aF aG aH aI aK aL aM aN aP aQ aR aS aT aU aV aW aX aY aZ a[ a\ a] a_ a` aa ab ac ad ae af ag ah ai aj ak al am ao a ap a aq ar a as a at au av aw a ax ay az a{ a| a} a~ a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a b' a b a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a b b b b b b b b b b b  b  b  b  b  b b b b b b b b b b b b b b b b b  b! b" b# b$ b% b& b( b8 b) b* b+ b, b- b. b/ b0 b1 b2 b3 b4 b5 b6 b7 b9 b: b; b< b= b> b? b@ bA bB bC bD bE bF bG bI bPBf bJ bK bL( bM bN bO(( bQ b bR bS bT b bU b bV bW bq bX bY bZ b[ b\ b] bg b^ b_ b` ba bb bc bd be bf bh bi bj bk bl bm bn bo bp br bs bt bu bv bw bx by bz b{ b| b} b~ b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b   b b  b b b b b b b b b b b b b b b b b b  b b b b b b b b b b b c c c c  c eV c c c c cz c  c  c cm c c= c c c- c c c c c c c c c c c c c c c c c c! c" c# c$ c% c& c' c( c) c* c+ c, c. c/ c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 c: c; c< c> c? c] c@ cO cA cB cC cD cE cF cG cH cI cJ cK cL cM cN cP cQ cR cS cT cU cV cW cX cY cZ c[ c\ c^ c_ c` ca cb cc cd ce cf cg ch ci cj ck cl cn co cp c cq c cr cs ct cu cv cw cx cy cz c{ c| c} c~ c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c d+ c c c d c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c d d d d d d d d d  d d d d  d d d d d d d d d d d d d d d d d d d  d! d" d# d$ d% d& d' d( d) d* d, d- e# d. d d/ d d0 d` d1 dP d2 dA d3 d4 d5 d6 d7 d8 d9 d: d; d< d= d> d? d@ dB dC dD dE dF dG dH dI dJ dK dL dM dN dO dQ dR dS dT dU dV dW dX dY dZ d[ d\ d] d^ d_ da d db dq dc dd de df dg dh di dj dk dl dm dn do dp dr ds dt du dv dw dx dy dz d{ d| d} d~ d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d e d e d d d d d d d d d d e e e e e e e e e  e  e e  e  e e e e e e e e e e e e e e e e e e  e! e" e$ e% e& e' eF e( e7 e) e* e+ e, e- e. e/ e0 e1 e2 e3 e4 e5 e6 e8 e9 e: e; e< e= e> e? e@ eA eB eC eD eE eG eH eI eJ eK eL eM eN eO eP eQ eR eS eT eU eW f eX f? eY eZ f e[ e e\ e e] e e^ ey e_ e` ea eb en ec ed ee ef eg eh ei ej ek el em eo ep eq er es et eu ev ew ex ez e{ e| e} e~ e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e f e e e e e e e e e e e e e e e e e e e e e e e e e e f f f f f f f f f  f  f  f  f  f f f f f f f/ f f f f f$ f f f f f f f f  f! f" f# f% f& f' f( f) f* f+ f, f- f. f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f: f; f< f= f> f@ fA fB f fC ft fD fE fd fF fU fG fH fI fJ fK fL fM fN fO fP fQ fR fS fT fV fW fX fY fZ f[ f\ f] f^ f_ f` fa fb fc fe ff fg fh fi fj fk fl fm fn fo fp fq fr fs fu fv f fw f fx fy fz f{ f| f} f~ f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f gp f f f g> f g f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f g g g g g g g g g g  g  g  g  g g g. g g g g g g g g g g g g g g g g g g! g" g# g$ g% g& g' g( g) g* g+ g, g- g/ g0 g1 g2 g3 g4 g5 g6 g7 g8 g9 g: g; g< g= g? g@ gA g` gB gQ gC gD gE gF gG gH gI gJ gK gL gM gN gO gP gR gS gT gU gV gW gX gY gZ g[ g\ g] g^ g_ ga gb gc gd ge gf gg gh gi gj gk gl gm gn go gq gr gs h gt g gu g gv g gw g gx gy gz g{ g| g} g~ g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g h h h h h h h h h h( h h h h  h  h h h h h h h h h h h h h h h h h h h! h" h# h$ h% h& h' h) h* h+ h, h- h. h/ h0 h1 h2 h3 h4 h5 h6 h7 h9 m h: j h; i h< h h= h> h? h h@ hp hA hB h` hC hR hD hE hF hG hH hI hJ hK hL hM hN hO hP hQ"@ hS hT hU hV hW hX hY hZ h[ h\ h] h^ h_"@ ha hb hc hd he hf hg hh hi hj hk hl hm hn ho"@ hq hr h hs h ht hu hv hw hx hy hz h{ h| h} h~ h h h"@ h h h h h h h h h h h h h"@ h h h h h h h h h h h h h h h"@ h h h h h h h h h h h h h h h h h h h h"@ h h h h h h h h h h h h h"@ h h h h h h h h h h h h h h h"@ h h i h ig h i6 h i h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h i i i i i i i i& i i i i  i  i  i  i i i i i i i i i i i i i i i i i i  i! i" i# i$ i% i' i( i) i* i+ i, i- i. i/ i0 i1 i2 i3 i4 i5 i7 i8 iW i9 iH i: i; i< i= i> i? i@ iA iB iC iD iE iF iG iI iJ iK iL iM iN iO iP iQ iR iS iT iU iV iX iY iZ i[ i\ i] i^ i_ i` ia ib ic id ie if ih ii ij i ik iz il im in io ip iq ir is it iu iv iw ix iy i{ i| i} i~ i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i j j j j2 j j j j" j j j j j j  j  j  j  j  j j j j j j j j j j j j j j j j j j  j! j# j$ j% j& j' j( j) j* j+ j, j- j. j/ j0 j1 j3 jc j4 j5 jS j6 jE j7 j8 j9 j: j; j< j= j> j? j@ jA jB jC jD jF jG jH jI jJ jK jL jM jN jO jP jQ jR jT jU jV jW jX jY jZ j[ j\ j] j^ j_ j` ja jb jd je j jf ju jg jh ji jj jk jl jm jn jo jp jq jr js jt jv jw jx jy jz j{ j| j} j~ j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j k j k_ j j j k- j j j j j j j j j j j j j j j j j j j j j' j j j j j j j j j j j j j j' j j j j j j j j j j j j j j j' j j k j k k k k k k k k k k k  k  k  k  k ' k k k k k k k k k k k k k k' k k k  k! k" k# k$ k% k& k' k( k) k* k+ k,' k. k/ k0 kO k1 k@ k2 k3 k4 k5 k6 k7 k8 k9 k: k; k< k= k> k?' kA kB kC kD kE kF kG kH kI kJ kK kL kM kN' kP kQ kR kS kT kU kV kW kX kY kZ k[ k\ k] k^' k` ka kg kb kd kcII ke kfII kh ki kjII kk kl k| km kn ko kp kq kr ks kt ku kv kw kx ky kz k{I k} k~ k k k k k k k k k k k k kI k l> k k k k k k k k k k k k k k k k k k k k k k k k k6 k k k k k k k k6 k k k k k k k k k k k k k k k6 k k k k k k k k k k k k k k k k k k k6 k k k k k k k k6 k k k k k k k k k k k k k k k6 k l k k l k k k k k k k k k k k k k k k k6 k k k k k l l l6 l l l l l l  l  l  l  l  l l l l l6 l l l. l l l l l l l% l l l l l  l! l" l# l$6 l& l' l( l) l* l+ l, l-6 l/ l0 l1 l2 l3 l4 l5 l6 l7 l8 l9 l: l; l< l=6 l? l@ lA l lB ls lC lD lc lE lT lF lG lH lI lJ lK lL lM lN lO lP lQ lR lS& lU lV lW lX lY lZ l[ l\ l] l^ l_ l` la lb& ld le lf lg lh li lj lk ll lm ln lo lp lq lr& lt lu l lv l lw lx ly lz l{ l| l} l~ l l l l l l& l l l l l l l l l l l l l l& l l l l l l l l l l l l l l l& l l l l l l l l l l l l l l l l l l l l l& l l l l l l l l l l l l l l& l l l l l l l l l l l l l l l& l l l l l l l l l l l l l l l l l l l& l l l l l l l l l l l l l l& l l l l l l l l m m m m m m m& m p8 m n m m m  m  m mt m mA m m m1 m m  m m m m m m m m m m m m m m m! m" m# m$ m% m& m' m( m) m* m+ m, m/ m- m. m0 m2 m3 m4 m5 m6 m7 m8 m9 m: m; m< m= m> m? m@ mB mC md mD mS mE mF mG mH mI mJ mK mL mM mN mO mP mQ mR mT mU mV mW mX mY mZ m[ m\ m] m^ m_ mb m` ma mc me mf mg mh mi mj mk ml mm mn mo mp mq mr ms mu m mv mw m mx m my mz m{ m| m} m~ m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m nA m n m m n m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m n n n n n n n n n  n  n  n  n  n n n n n1 n n" n n n n n n n n n n n n n  n! n# n$ n% n& n' n( n) n* n+ n, n- n. n/ n0 n2 n3 n4 n5 n6 n7 n8 n9 n: n; n< n= n> n? n@ nB ns nC nD nc nE nT nF nG nH nI nJ nK nL nM nN nO nP nQ nR nS nU nV nW nX nY nZ n[ n\ n] n^ n_ n` na nb nd ne nf ng nh ni nj nk nl nm nn no np nq nr nt nu n nv n nw nx ny nz n{ n| n} n~ n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n o= n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n o n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n o o o o o o o o o o  o  o  o  o o- o o o o o o o o o o o o o o o o o o  o! o" o# o$ o% o& o' o( o) o* o+ o, o. o/ o0 o1 o2 o3 o4 o5 o6 o7 o8 o9 o: o; o< o> o? p o@ or oA oB oC ob oD oS oE oF oG oH oI oJ oK oL oM oN oO oP oQ oR oT oU oV oW oX oY oZ o[ o\ o] o^ o_ o` oa oc od oe of og oh oi oj ok ol om on oo op oq os o ot o ou o ov o ow ox oy oz o{ o| o} o~ o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o p p p p p p p p p p( p p p p  p  p p p p p p p p p p p p p p p p p p p! p" p# p$ p% p& p' p) p* p+ p, p- p. p/ p0 p1 p2 p3 p4 p5 p6 p7 p9 q p: q0 p; p< p p= pn p> p? p@ p^ pA pP pB pC pD pE pF pG pH pI pJ pK pL pM pN pOE pQ pR pS pT pU pV pW pX pY pZ p[E p\ p]E p_ p` pa pb pc pd pe pf pg ph pi pj pk pl pmE po p pp p pq p pr p ps pt pu pv pw px py pz p{ p| p} p~ p pE p p p p p p p p p p pE p pE p p p p p p p p p p p p p p p pE p p p p p p p p p p pE p pE p p p p p p p p p p p p p p p p pE p p p p p p p p p p p p p p pE p p p p p p p p p p p p p p p p p p pE p p p p p p p p p p pE p pE p p p p p p p p p p p p p p pE p q q q q q q q q q q q q  q  q  q  q  q q q qE q q q q q q q q q q qE q qE q! q" q# q$ q% q& q' q( q) q* q+ q, q- q. q/E q1 q2 q3 q q4 qd q5 q6 qT q7 qF q8 q9 q: q; q< q= q> q? q@ qA qB qC qD qE qG qH qI qJ qK qL qM qN qO qP qQ qR qS qU qV qW qX qY qZ q[ q\ q] q^ q_ q` qa qb qc qe qf q qg qv qh qi qj qk ql qm qn qo qp qq qr qs qt qu qw qx qy qz q{ q| q} q~ q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q qv q q qvv q q r2 q r r" r r r r r r r r r r r  r  r  r  r  r rv r r r rv r r r r r r r rv rv r r v r!v r# r$ r% r& r' r( r) r* r+ r, r- r. r/ r0 r1v r3 r4 rV r5 rI r6 r7 r8 r9 rD r: r; r< r= r> r? r@ rA rB rCv rE rF rG rHv rJ rK rL rM rN rO rP rQv rRv rS rTv rUv rW rX rY rZ r[ r\ r] r^ r_ r` ra rb rc rd rev rg | rh B ri y rj t rk s rl r rm rn ro r rp r rq rr r rs rt ru rv rw rx ry rz r{ r| r} r~ r r r! r r r r r r r r r r r r r r r! r r r r r r r r r r r r r r r r r r! r r r r r r r r r r r r r r r! r r r r r r r r r r r r r r r r r r r r! r r r r r r r r r r r r r r r! r r r r r r r r r r r r r r r r r r! r r r r r r r r r r r r r r r! r r r sA r s r r s s s s s s s s s s s  s  s  s  s  s! s s s s s s s s s s s s s s s! s  s! s1 s" s# s$ s% s& s' s( s) s* s+ s, s- s. s/ s0! s2 s3 s4 s5 s6 s7 s8 s9 s: s; s< s= s> s? s@! sB sd sC sD sT sE sF sG sH sI sJ sK sL sM sN sO sP sQ sR sS! sU sV sW sX sY sZ s[ s\ s] s^ s_ s` sa sb sc! se sf sv sg sh si sj sk sl sm sn so sp sq sr ss st su! sw sx sy sz s{ s| s} s~ s s s s s s s! s t s s s s s s s s s s s s s s s s s s s s s s s s sT s s s s s s s s s s s s sT sT s s s s s s s s s s s s s s sT s s s s s s s s s s s s s s s s s s sT s s s s s s s s s s s s sT sT s s s s s s s s s s s s s s sT s s s t s t s s s s s s s s s s s s s sT t t t t t t t t t  t  t  t  t T tT t t t t t t t t t t t t t t tT t  t! t" t t# tS t$ t% tC t& t5 t' t( t) t* t+ t, t- t. t/ t0 t1 t2 t3 t4 t6 t7 t8 t9 t: t; t< t= t> t? t@ tA tB tD tE tF tG tH tI tJ tK tL tM tN tO tP tQ tR tT tU ts tV te tW tX tY tZ t[ t\ t] t^ t_ t` ta tb tc td tf tg th ti tj tk tl tm tn to tp tq tr tt tu tv tw tx ty tz t{ t| t} t~ t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t we t us t t t u. t u t t t t t t t t t t t t t t t t t t t t t u u u u u u u u u u  u  u  u  u u u u u u u u u u u u u u u u u u u u! u" u# u$ u% u& u' u( u) u* u+ u, u- u/ uQ u0 u1 uA u2 u3 u4 u5 u6 u7 u8 u9 u: u; u< u= u> u? u@ uB uC uD uE uF uG uH uI uJ uK uL uM uN uO uP uR uS uc uT uU uV uW uX uY uZ u[ u\ u] u^ u_ u` ua ub ud ue uf ug uh ui uj uk ul um un uo up uq ur ut v uu vg uv u uw uI ux uy u uz u{ u| u} u~ u u u u u u u u u uI u u u u u u u u u u u u u u uI u u u u u u u u u u u u u u u u u u uI u u u u uI uI u uII uI uI uI uI u uII uI u u u uI u uI u uI uI u uI u u u u u u u u u u u u u u uI u uI u u u u u u u u u u u u u u u u u uI u u u u u u u u u u u u u u uI u v+ u v u v  u u u v v v v v v v v v v  v I v  v  v vI v v v vI v vI v vI vI v vI v v v v v  v! v" v# v$ v% v& v' v( v) v*I v, vW v- v< v. v/ v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v: v;I v= v> v? vK v@I vAI vB vCII vDI vEI vFI vGI vH vIII vJI vL vM vN vOI vP vQI vR vSI vTI vU vVI vX vY vZ v[ v\ v] v^ v_ v` va vb vc vd ve vfI vh v vi v vj vk v vl v{ vm vn vo vp vq vr vs vt vu vv vw vx vy vzI v| v} v~ vI v v v vI v vI v vI vI v vI v v v v v v v v v v v v v v vII v v v v v v v v v v v v v v v v v vI v v v v v v v v v v v v v v vI vII v v vI v v v v v v v v v v v v v v v v v v v vI v v v v vI vI v vII vI vI vI vI v vII vI v v v vI v vI v vI vI v vI v v v v v v v v v v v v v v vI w wC w w" w w w w w w w w w  w  w  w  w  w w w wI w w w w w w w w w w w w w w  w!I w# w3 w$ w% w& w' w( w) w* w+ w, w- w. w/ w0 w1 w2I w4 w5 w6 w7 w8 w9 w: w; w< w= w> w? w@ wA wBI wD wE wU wF wG wH wI wJ wK wL wM wN wO wP wQ wR wS wTI wV wW wX wY wZ w[ w\ w] w^ w_ w` wa wb wc wdI wf x wg wh x/ wi w wj w wk wl w wm w| wn wo wp wq wr ws wt wu wv ww wx wy wz w{ w} w~ w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w x x x x x x x x x x x x  x  x  x  x  x x x x x x x x x x x x x x x x x  x! x" x# x$ x% x& x' x( x) x* x+ x, x- x. x0 x x1 xb x2 x3 xR x4 xC x5 x6 x7 x8 x9 x: x; x< x= x> x? x@ xA xB xD xE xF xG xH xI xJ xK xL xM xN xO xP xQ xS xT xU xV xW xX xY xZ x[ x\ x] x^ x_ x` xa xc xd x xe xt xf xg xh xi xj xk xl xm xn xo xp xq xr xs xu xv xw xx xy xz x{ x| x} x~ x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x y' x x x x x x x x x x x x x x x x x x x x xB x x x x x x x x x x xB xB x x x x x x x x x x x x x x xB x x y x y  x x x x y y y y y y y y y y B y y  y y y y y y y y yB yB y y y y y y y y y  y! y" y# y$ y% y&B y( yW y) y* yG y+ y: y, y- y. y/ y0 y1 y2 y3 y4 y5 y6 y7 y8 y9B y; y< y= y> y? y@ yA yB yC yD yEB yFB yH yI yJ yK yL yM yN yO yP yQ yR yS yT yU yVB yX yY yv yZ yi y[ y\ y] y^ y_ y` ya yb yc yd ye yf yg yhB yj yk yl ym yn yo yp yq yr ys ytB yuB yw yx yy yz y{ y| y} y~ y y y y y y yB y }V y { y z y y zN y y y y y y y y y y y y y y y y y y y y y y yB y y y y y y y y y y y yB yB y y y y y y y y y y y y y y yB y y y y y y y y y y y y y y y y y y yB y y y y y y y y y y y yB yB y y y y y y y y y y y y y y yB y z y y z y z y y y y y y y y y y y y y yB z z z z z z z z z  z z  z B z B z z z z z z z z z z z z z z zB z z z> z! z0 z" z# z$ z% z& z' z( z) z* z+ z, z- z. z/B z1 z2 z3 z4 z5 z6 z7 z8 z9 z: z; z<B z=B z? z@ zA zB zC zD zE zF zG zH zI zJ zK zL zMB zO zP zQ zR zp zS zb zT zU zV zW zX zY zZ z[ z\ z] z^ z_ z` zaB zc zd ze zf zg zh zi zj zk zl zm znB zoB zq zr zs zt zu zv zw zx zy zz z{ z| z} z~ zB z z {j z { z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z { { { { { { { { { {  {  {  {  { {< { { {, { {  { { { { { { { { { { { { { { {! {" {# {$ {% {& {' {( {) {* {+ {- {. {/ {0 {1 {2 {3 {4 {5 {6 {7 {8 {9 {: {; {= {> {Z {? {N {@ {A {B {C {D {E {F {G {H {I {J {K {L {M {O {P {Q {R {S {T {U {V {W {X {Y {[ {\ {] {^ {_ {` {a {b {c {d {e {f {g {h {i {k { {l { {m {n { {o {~ {p {q {r {s {t {u {v {w {x {y {z {{ {| {} { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { | { { { |^ { |- { { | { | | | | | | | | | | |  |  |  |  | c | | | | | | | | | | | | | |c | | |  |! |" |# |$ |% |& |' |( |) |* |+ |,c |. |/ |N |0 |? |1 |2 |3 |4 |5 |6 |7 |8 |9 |: |; |< |= |>c |@ |A |B |C |D |E |F |G |H |I |J |K |L |Mc |O |P |Q |R |S |T |U |V |W |X |Y |Z |[ |\ |]c |_ | |` |a | |b |q |c |d |e |f |g |h |i |j |k |l |m |n |o |pc |r |s |t |u |v |w |x |y |z |{ || |} |~ |c | | | | | | | | | | | | | | |c | | | | | | | | | | | | | | | | | | |c | | | | | | | | | | | | | |c | | | | | | | | | | | | | | |c | | | }% | | | | | | | | | | | | | | | | | | | | |G | | | | | | | | | | | | |G | | | | | | | | | | | | | | |G | | } | } | | | | | | | } } } } } } }G } }  }  }  } }  } } } } } } }G } } } } } } } } } } }  }! }" }# }$G }& }' }( }F }) }8 }* }+ }, }- }. }/ }0 }1 }2 }3 }4 }5 }6 }7G }9 }: }; }< }= }> }? }@ }A }B }C }D }EG }G }H }I }J }K }L }M }N }O }P }Q }R }S }T }UG }W ~y }X } }Y }Z }[ } }\ } }] }^ }z }_ }n }` }a }b }c }d }e }f }g }h }i }j }k }l }m }o }p }q }r }s }t }u }v }w }x }y }{ }| }} }~ } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } ~ } } } ~ } } } } } } } } } } } } } } } }s } } ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ s ~  ~ ~  ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~s ~ ~J ~ ~ ~: ~ ~- ~ ~  ~! ~" ~# ~$ ~% ~& ~' ~( ~) ~* ~+ ~,s ~. ~/ ~0 ~1 ~2 ~3 ~4 ~5 ~6 ~7 ~8 ~9s ~; ~< ~= ~> ~? ~@ ~A ~B ~C ~D ~E ~F ~G ~H ~Is ~K ~L ~i ~M ~\ ~N ~O ~P ~Q ~R ~S ~T ~U ~V ~W ~X ~Y ~Z ~[s ~] ~^ ~_ ~` ~a ~b ~c ~d ~e ~f ~g ~hs ~j ~k ~l ~m ~n ~o ~p ~q ~r ~s ~t ~u ~v ~w ~xs ~z ~{ ~| ~} ~ ~~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ې ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ې ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ې ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ې ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ې ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ې ~ ~ ! ~  ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ې ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~  ې                     ې               ې " 2 # $ % & ' ( ) * + , - . / 0 1ې 3 4 5 6 7 8 9 : ; < = > ? @ Aې C y D f E F  G H I z J K L j M \ N O P Q R S T U V W X Y Z [D ] ^ _ ` a b c d e f gD h iD k l m n o p q r s t u v w x yD {  | }  ~               D           D  D               D                   D           D  D               D    A                                                    1  "              ! # $ % & ' ( ) * + , - . / 0 2 3 4 5 6 7 8 9 : ; < = > ? @ B s C D c E T F G H I J K L M N O P Q R S U V W X Y Z [ \ ] ^ _ ` a b d e f g h i j k l m n o p q r t u v  w x y z { | } ~                               :                                                                                 *                   ! " # $ % & ' ( ) + , - . / 0 1 2 3 4 5 6 7 8 9 ; < 3 = > o ? @ _ A P B C D E F G H I J K L M N OB Q R S T U V W X Y Z [ \ ] ^B ` a b c d e f g h i j k l m nB p q r  s t u v w x y z { | } ~  B          B              B               B          B              B          B              B              B   #                B             ! "B $ % & ' ( ) * + , - . / 0 1 2B 4 5 6 7 V 8 G 9 : ; < = > ? @ A B C D E FB H I J K L M N O P Q R S T UB W X Y Z [ \ ] ^ _ ` a b c d eB g h i j k l m n o ~ p q r s t u v w x y z { | }~         ~              ~               ~        ~              ~                 ~        ~              ~  \ ,                                  ! " # $ % & ' ( ) * + - . L / > 0 1 2 3 4 5 6 7 8 9 : ; < = ? @ A B C D E F G H I J K M N O P Q R S T U V W X Y Z [ ] ^ _ } ` o a b c d e f g h i j k l m n p q r s t u v w x y z { | ~                                                                                               V %                                         ! " # $ & ' F ( 7 ) * + , - . / 0 1 2 3 4 5 6 8 9 : ; < = > ? @ A B C D E G H I J K L M N O P Q R S T U W X Y x Z i [ \ ] ^ _ ` a b c d e f g h j k l m n o p q r s t u v w y z { | } ~                                                                                                                                    X  ;  . ! " # $ % & ' ( ) * + , - / 0 1 2 3 4 5 6 7 8 9 : < K = > ? @ A B C D E F G H I J L M N O P Q R S T U V W Y i Z [ \ ] ^ _ ` a b c d e f g h j k l m n o p q r s t u v w x z  { |  } ~                                                                                                                                   r  E   5      *  ! " # $ % & ' ( )d + , - . / 0d 1 2 3 4d 6 7 8 9 : ; < = > ? @ A B C Dd F G b H I J K L W M N O P Q R S T U Vd X Y Z [ \ ]d ^ _ ` ad c d e f g h i j k l m n o p qd s t u v w x y z { | } ~      d     d   d              d              d     d   d              d                d     d   d              d   2    "                              ! # $ % & ' ( ) * + , - . / 0 1 3 d 4 5 T 6 E 7 8 9 : ; < = > ? @ A B C D F G H I J K L M N O P Q R S U V W X Y Z [ \ ] ^ _ ` a b c e f g v h i j k l m n o p q r s t u w x y z { | } ~                                                                                                                                S   C  +     ! " # $ % & ' ( ) * , - . / 0 1 2 3 4 5 6 ? 7 : 8 9 ; = < > @ A B D E F G H I J K L M N O P Q R T U } V e W X Y Z [ \ ] ^ _ ` a b c d f g h i j k l m n o p y q t r s u w v x z { | ~                                                                                                       ]  1   !                        " # $ % & ' ( ) * + , - . / 0 2 3 M 4 5 6 7 8 9 C : ; < = > ? @ A B D E F G H I J K L N O P Q R S T U V W X Y Z [ \ ^ _ ` z a b c d e f p g h i j k l m n o q r s t u v w x y { | } ~                                                % % %  % % % % % % % % % % % % % % %%% % %% %% %% % % % % %% %% % % % % % % % % % % % % %% % % % % % % % % % % % % % % %%% % %%  %%  %%  % % % % %% %% % % % % % % % % % % % % %%  L %  <  .% !% "% #% $% %% &% '% (% )% *% +% ,% -%%% / 0% 1%% 2 3%% 4 5%% 6 7% 8% 9% :% ;%% =%% > ?% @% A% B% C% D% E% F% G% H% I% J% K%% M% N l O ^% P Q% R% S% T% U% V% W% X% Y% Z% [% \% ]%%% _ `% a%% b c%% d e%% f g% h% i% j% k%% m%% n o% p% q% r% s% t% u% v% w% x% y% z% {%% } ~  r -                U   U U U              U              U   U U U              U              U   U U U              U   U  U U                U    ! " # $ % & ' ( ) * + ,U . / 0 o 1 P 2 3 @ 4 5 6 7 8 9 : ; < = > ?t A B C D E F G H I J K L M N Ot Q R _ S T U V W X Y Z [ \ ] ^t ` a b c d e f g h i j k l m nt p q r  s t u v w x y z { | } ~t              t           t           t              t              t              t              t z   L                 Vz          Vz               Vz  ! < " # $ % & 1 ' ( ) * + , - . / 0Vz 2 3 4 5 6 7 8 9 : ;Vz = > ? @ A B C D E F G H I J KVz M N O j P Q R S T _ U V W X Y Z [ \ ] ^Vz ` a b c d e f g h iVz k l m n o p q r s t u v w x yVz { | } @ ~               q       q q q              q              q       q q q              q               q       q q q               q  0  !              q " # $ % & ' ( ) * +q , -q . /q 1 2 3 4 5 6 7 8 9 : ; < = > ?q A B C b D S E F G H I J K L M N O P Q Rq T U V W X Y Z [ \ ]q ^ _q ` aq c d e f g h i j k l m n o p qq s t u v w x y z { | } ~                                                                                                                       c  4   $          f     f      f  f !f "f #f % & ' ( ) * + , - . / 0 1 2 3f 5 6 S 7 F 8 9 : ; < = > ? @f A B C D Ef G H I J K Lf M Nf O Pf Qf Rf T U V W X Y Z [ \ ] ^ _ ` a bf d e f g v h i j k l m n o pf q r s t uf w x y z { |f } ~f  f f f              f          f     f    f f f f f              f   X '                                                                              ! " # $ % & ( ) H * 9 + , - . / 0 1 2 3 4 5 6 7 8 : ; < = > ? @ A B C D E F G I J K L M N O P Q R S T U V W Y Z [ z \ k ] ^ _ ` a b c d e f g h i j l m n o p q r s t u v w x y { | } ~            w   R               R          R              R               R          R              R "                R            R               !R # $ B % 4 & ' ( ) * + , - . / 0 1 2 3R 5 6 7 8 9 : ; < = > ? @ AR C D E F G H I J K L M N O P QR S T U V t W f X Y Z [ \ ] ^ _ ` a b c d eR g h i j k l m n o p q r sR u v w x y z { | } ~     R                 !          !              !               !          !              !                !           !              !     ~  N  > ! 0 " # $ % & ' ( ) * + , - . /G~ 1 2 3 4 5 6 7 8 9 : ; < =G~ ? @ A B C D E F G H I J K L MG~ O P n Q ` R S T U V W X Y Z [ \ ] ^ _G~ a b c d e f g h i j k l mG~ o p q r s t u v w x y z { | }G~                G~         G~              G~               G~         G~              G~   E                 0            0               0   5  &          ! " # $ %0 ' ( ) * + , - . / 0 1 2 3 40 6 7 8 9 : ; < = > ? @ A B C D0 F G H g I X J K L M N O P Q R S T U V W0 Y Z [ \ ] ^ _ ` a b c d e f0 h i j k l m n o p q r s t u v0 x y u z { B | } ~               ?            ?              ?               ?            ?              ?                 ?            ?               ?   2  #             ! "? $ % & ' ( ) * + , - . / 0 1? 3 4 5 6 7 8 9 : ; < = > ? @ A? C D E F e G V H I J K L M N O P Q R S T U? W X Y Z [ \ ] ^ _ ` a b c d? f g h i j k l m n o p q r s t? v w x y z { |  } ~            O          O              O               O          O              O                O          O              O    q  @   0  !              _ " # $ % & ' ( ) * + , - . /_ 1 2 3 4 5 6 7 8 9 : ; < = > ?_ A B a C R D E F G H I J K L M N O P Q_ S T U V W X Y Z [ \ ] ^ _ `_ b c d e f g h i j k l m n o p_ r s t u  v w x y z { | } ~     _            _              _               _            _              _  :                                        *                    ! " # $ % & ' ( ) + , - . / 0 1 2 3 4 5 6 7 8 9 ; l < = \ > M ? @ A B C D E F G H I J K L N O P Q R S T U V W X Y Z [ ] ^ _ ` a b c d e f g h i j k m n o ~ p q r s t u v w x y z { | }                                                                 t   :                                          *                   ! " # $ % & ' ( ) + , - . / 0 1 2 3 4 5 6 7 8 9 ; l < = \ > M ? @ A B C D E F G H I J K L N O P Q R S T U V W X Y Z [ ] ^ _ ` a b c d e f g h i j k m n o ~ p q r s t u v w x y z { | }                                                                      8                                         (                       ! " # $ ' % & ) * + , - . / 0 1 2 3 4 5 6 7 9 k : ; [ < K = > ? @ A B C D E F G H I J L M N O P Q R S T U V W Z X Y \ ] ^ _ ` a b c d e f g h i j l m n } o p q r s t u v w x y z { | ~                                                                0                                                                  ! " # $ % & ' ( ) * + , - . / 1 ^ 2 3 N 4 C 5 6 7 8 9 : ; < = > ? @ A B D E F G H I J K L M O P Q R S T U V W X Y Z [ \ ] _ ` { a p b c d e f g h i j k l m n o q r s t u v w x y z | } ~                                                                                                                                  F     P ! " @ # 2 $ % & ' ( ) * + , - . / 0 1o 3 4 5 6 7 8 9 : ; < = >o ?o A B C D E F G H I J K L M N Oo Q R p S b T U V W X Y Z [ \ ] ^ _ ` ao c d e f g h i j k l m no oo q r s t u v w x y z { | } ~ o                o          o o              o                                                                                      6  (        ! " # $ % & ' ) * + , - . / 0 1 2 3 4 5 7 8 9 : ; < = > ? @ A B C D E G H I J K | L M l N ] O P Q R S T U V W X Y Z [ \ ^ _ ` a b c d e f g h i j k m n o p q r s t u v w x y z { } ~                                                                                  C                                              3  %           ! " # $ & ' ( ) * + , - . / 0 1 2 4 5 6 7 8 9 : ; < = > ? @ A B D E F d G V H I J K L M N O P Q R S T U W X Y Z [ \ ] ^ _ ` a b c e f g h i j k l m n o p q r s u Q v w s x y @ z { | } ~                                                                                                                          0  !               " # $ % & ' ( ) * + , - . / 1 2 3 4 5 6 7 8 9 : ; < = > ? A B C D c E T F G H I J K L M N O P Q R S U V W X Y Z [ \ ] ^ _ ` a b d e f g h i j k l m n o p q r t u v w x y z { | } ~          z.         z.              z.              z.         z.              z.               z.         z.              z. ~ ~   r  ; ~  +  ~  ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~~~  ~~  ~~ ~  ~~   %  ! " # $~ &~ '~ (~ )~ *~~ ,~~ - .~ /~ 0~ 1~ 2~ 3~ 4~ 5~ 6~ 7~ 8~ 9~ :~~ <~ = b > M~ ? @~ A~ B~ C~ D~ E~ F~ G~ H~ I~ J~ K~ L~~~ N O~~ P Q~~ R~ S T~~ U V \ W X Y Z [~ ]~ ^~ _~ `~ a~~ c~~ d e~ f~ g~ h~ i~ j~ k~ l~ m~ n~ o~ p~ q~~ s t~ u v ~ w x~ y~ z~ {~ |~ }~ ~~ ~ ~ ~ ~ ~ ~~~ ~~ ~~ ~ ~~     ~ ~ ~ ~ ~ ~~ ~~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~~~ ~~ ~~ ~ ~~     ~ ~ ~ ~ ~ ~~ ~~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~~ ~  ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~~~ ~~ ~~ ~ ~~      ~ ~ ~ ~ ~ ~~ ~~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~~ ~  A  ,~  ~ ~ !~ "~ #~ $~ %~ &~ '~ (~ )~ *~ +~~~ - .~~ / 0~~ 1~ 2 3~~ 4 5 ; 6 7 8 9 :~ <~ =~ >~ ?~ @~~ B~~ C D~ E~ F~ G~ H~ I~ J~ K~ L~ M~ N~ O~ P~~ R S T U V W X Y x Z i [ \ ] ^ _ ` a b c d e f g h j k l m n o p q r s t u v w y z { | } ~                                                                                         G                                          7    ! " # - $ % & ' ( ) * + , . / 0 1 2 3 4 5 6 8 9 : ; < = > ? @ A B C D E F H t I J d K L M N O P Z Q R S T U V W X Y [ \ ] ^ _ ` a b c e f g h i j k l m n o p q r s u v w x y z { | } ~                                                                                                                           W   G  8 ! " # $ . % & ' ( ) * + , - / 0 1 2 3 4 5 6 7 9 : ; < = > ? @ A B C D E F H I J K L M N O P Q R S T U V X Y Z s [ \ ] ^ _ i ` a b c d e f g h j k l m n o p q r t u v w x y z { | } ~                                                             ͆ . 4      >                                          .                 ! " # $ % & ' ( ) * + , - / 0 1 2 3 4 5 6 7 8 9 : ; < = ? p @ A ` B Q C D E F G H I J K L M N O P R S T U V W X Y Z [ \ ] ^ _ a b c d e f g h i j k l m n o q r s  t u v w x y z { | } ~                            k                                                                                      :  *                    ! " # $ % & ' ( ) + , - . / 0 1 2 3 4 5 6 7 8 9 ; < [ = L > ? @ A B C D E F G H I J K M N O P Q R S T U V W X Y Z \ ] ^ _ ` a b c d e f g h i j l m n o p q r  s t u v w x y z { | } ~                                                                                                               $                            ! " # % & ' ( ) * + , - . / 0 1 2 3 5 6 7 8 9 : i ; < Y = L > ? @ A B C D E F G H I J Kw M N O P Q R S T U Vw Ww Xw Z [ \ ] ^ _ ` a b c d e f g hw j k l { m n o p q r s t u v w x y zw | } ~     w w w              w               w      w w w              w               w      w w w              w   ] ,                                   ! " # $ % & ' ( ) * + - . M / > 0 1 2 3 4 5 6 7 8 9 : ; < = ? @ A B C D E F G H I J K L N O P Q R S T U V W X Y Z [ \ ^ _ `  a p b c d e f g h i j k l m n o q r s t u v w x y z { | } ~                                                        \   )              q q       q q q              q                q q         q q  q        ! " # $ % & ' (q * + , L - > . / 0 1 2 3 4 < 5 6 7 8 9 : ;q =q ? @ A B C D E F G Hq Iq J Kq M N O P Q R S T U V W X Y Z [q ] ^ _ ` a b c r d e f g h i j k l m n o p q#L s t u v w x y z { | } ~ #L              #L               #L          #L              #L                #L          #L              #L !   X (                                     ! " # $ % & ' ) * H + : , - . / 0 1 2 3 4 5 6 7 8 9 ; < = > ? @ A B C D E F G I J K L M N O P Q R S T U V W Y Z [ y \ k ] ^ _ ` a b c d e f g h i j l m n o p q r s t u v w x z { | } ~                           S        S  S              S               S        S  S              S                 S          S   S               S " # $ % & ' W ( G ) 8 * + , - . / 0 1 2 3 4 5 6 7J 9 : ; < = > ? @ A B C D E FJ H I J K L M N O P Q R S T U VJ X w Y h Z [ \ ] ^ _ ` a b c d e f gJ i j k l m n o p q r s t u vJ x y z { | } ~        J               J           J              J                J           J              J   Y %                                           ! " # $ & I ' : ( ) * + , 6 - . / 0 1 2 3 4 5 7 8 9 ; < = > ? @ A B C D E F G H J K L M N O P Q R S T U V W X Z [ ~ \ o ] ^ _ ` a k b c d e f g h i j l m n p q r s t u v w x y z { | }                                                           K              )    ) ) )              )               )     ) ) )               )  ! ; " # $ % 1 & ' ( ) * + , - . / 0) 2 3 4 5 6) 7 8) 9 :) < = > ? @ A B C D E F G H I J) L x M N h O P Q R ^ S T U V W X Y Z [ \ ]) _ ` a b c) d e) f g) i j k l m n o p q r s t u v w) y z { | } ~           )    ) ) )              ) f                                                                                 7  '                    ! " # $ % & ( ) * + , - . / 0 1 2 3 4 5 6 8 9 V : I ; < = > ? @ A B C D E F G H J K L M N O P Q R S T U W X Y Z [ \ ] ^ _ ` a b c d e g h i j k l m | n o p q r s t u v w x y z { } ~                                                                                                                                         ! " # $ % & ' ( ) * + , - / 3 0 1 2 2 3 4 5 6 f 7 8 V 9 H : ; < = > ? @ A B C D E F G I J K L M N O P Q R S T U W X Y Z [ \ ] ^ _ ` a b c d e g h i x j k l m n o p q r s t u v w y z { | } ~                                                                             f              f               f               f    "               !f # $ % & ' ( ) * + , - . / 0 1f 3 < 4 5f 6 9 7 8ff : ;ff = > ? @ A b B R C D E F G H I J K L M N O P Q S T U V W X Y Z [ \ ] ^ _ ` a c s d e f g h i j k l m n o p q r t u v w x y z { | } ~                                                                O n 8                                              (                           ! " # $ % & ' ) * + , - . / 0 1 2 3 4 5 6 7 9 : ; ^ < O = > ? K @ A B C D E F G H I J L M N P Q R S T U V W X Y Z [ \ ] _ ` a b c d e f g h i j k l m o r p q s t u v  w x y z { | } ~                                                                                                                               ?  0   , ! " # $ % & ' ( ) * + - . / 1 2 3 4 5 6 7 8 9 : ; < = > @ A B C D E F G H I J K L M N P Q R S T U p V e W X Y Z [ \ ] ^ _ ` a b c d f g h i j k l m n o q r s t u v w x y z { | } ~                                                                           k   <                r        r              r   ,                r ! " # $ % & ' ( ) * +r - . / 0 1 2 3 4 5 6 7 8 9 : ;r = > ? [ @ O A B C D E F G H I J K L M Nr P Q R S T U V W X Y Zr \ ] ^ _ ` a b c d e f g h i jr l m n  o p q r  s t u v w x y z { | } ~                                                                                                              #                             ! " $ % & ' ( ) * + , - . / 0 1 2 4 5 6 7 8 9 : ; n < ^ = L > ? @ A B C D E F G H I J K! M N O P Q R S T U V W X [! Y Z!! \ ]! _ ` a b c d e f g h i j k l m! o p  q r s t u v w x y z { | } ~!        ! !!  !              !               !        ! !!  !              !                !        ! !!  !              !   s  Q  0                ! ! " # $ % & ' ( ) * + , - . /! 1 A 2 3 4 5 6 7 8 9 : ; < = > ? @! B C D E F G H I J K L M N O P! R S c T U V W X Y Z [ \ ] ^ _ ` a b! d e f g h i j k l m n o p q r! t u v w x y z { | } ~       !              ! #                                                                                                                 ! " $ % & T ' ( ) D * + , - . 9 / 0 1 2 3 4 5 6 7 8G : ; < = > ? @ A B CG E F G H I J K L M N O P Q R SG U V W r X Y Z [ \ g ] ^ _ ` a b c d e fG h i j k l m n o p qG s t u v w x y z { | } ~   G              G         G              G                G         G              G 0   j =               b    b b  b b               b  -      "          !b # $ % & 'b (b ) * +b ,b . / 0 1 2 3 4 5 6 7 8 9 : ; <b > ? Z @ A B C D O E F G H I J K L M Nb P Q R S Tb Ub V W Xb Yb [ \ ] ^ _ ` a b c d e f g h ib k l m n o p q r } s t u v w x y z { |b ~    b b  b b              b                                                                                                                 ! " # $ % & ' ( ) * + , - . / 1 2 3 4 5 f 6 7 V 8 G 9 : ; < = > ? @ A B C D E F H I J K L M N O P Q R S T U W X Y Z [ \ ] ^ _ ` a b c d e g h i x j k l m n o p q r s t u v w y z { | } ~                                                             7  77 !  v   *               e     e              e                  e       e       ! " # $ % & ' ( )e + U , - E . / 0 1 2 = 3 4 5 6 7 8 9 : ; <e > ? @ A B C De F G H I J K L M N O P Q R S Te V W o X Y Z [ \ g ] ^ _ ` a b c d e fe h i j k l m ne p q r s t u v w x y z { | } ~e                e     e              e  C                &           &              &                 &           &               &   3  $            ! " #& % & ' ( ) * + , - . / 0 1 2& 4 5 6 7 8 9 : ; < = > ? @ A B& D E F G f H W I J K L M N O P Q R S T U V& X Y Z [ \ ] ^ _ ` a b c d e& g h i j k l m n o p q r s t u& w B x y  z { | } ~               5           5              5               5           5              5               5           5               5     2  #             ! "5 $ % & ' ( ) * + , - . / 0 15 3 4 5 6 7 8 9 : ; < = > ? @ A5 C D E v F G H f I X J K L M N O P Q R S T U V WD Y Z [ \ ] ^ _ ` a b c d eD g h i j k l m n o p q r s t uD w x y z  { | } ~          D         D              D               D         D              D                 D         D              D    @    0  !              S " # $ % & ' ( ) * + , - . /S 1 2 3 4 5 6 7 8 9 : ; < = > ?S A r B C b D S E F G H I J K L M N O P Q RS T U V W X Y Z [ \ ] ^ _ ` aS c d e f g h i j k l m n o p qS s t u  v w x y z { | } ~     S           S              S                S           S              S               S           S              S   m <  ,                c    ! " # $ % & ' ( ) *c +c - . / 0 1 2 3 4 5 6 7 8 9 : ;c = > ] ? N @ A B C D E F G H I J K L Mc O P Q R S T U V W X Y Z [c \c ^ _ ` a b c d e f g h i j k lc n o p q  r s t u v w x y z { | } ~ c          c c              c               c          c c              c i                   r           r              r  8  (              r        ! " # $ % & 'r ) * + , - . / 0 1 2 3 4 5 6 7r 9 : Y ; J < = > ? @ A B C D E F G H Ir K L M N O P Q R S T U V W Xr Z [ \ ] ^ _ ` a b c d e f g hr j k l m n o p  q r s t u v w x y z { | } ~                                                                                                              m     K *               !z       ! " # $ % & ' ( )!z + ; , - . / 0 1 2 3 4 5 6 7 8 9 :!z < = > ? @ A B C D E F G H I J!z L M ] N O P Q R S T U V W X Y Z [ \!z ^ _ ` a b c d e f g h i j k l!z n o p q r s t  u v w x y z { | } ~    !z   !z         !z !z              !z              !z   !z         !z !z              !z               !z     !z !z !z !z !z!z         !z  !z               !z     J    :  +     ! " # $ % & ' ( ) * , - . / 0 1 2 3 4 5 6 7 8 9 ; < = > ? @ A B C D E F G H I K | L M l N ] O P Q R S T U V W X Y Z [ \ ^ _ ` a b c d e f g h i j k m n o p q r s t u v w x y z { } ~                                                                                      `                                    7   '                ! " # $ % & ( ) * + , - . / 0 1 2 3 4 5 6 8 9 P : ; < = > ? @ I A B C D E F G H J K L M N O Q R S T U V W X Y Z [ \ ] ^ _ a b c d { e f g h i j k t l m n o p q r s u v w x y z | } ~                                                                                                        -                                   ! " # $ % & ' ( ) * + , . _ / 0 O 1 @ 2 3 4 5 6 7 8 9 : ; < = > ? A B C D E F G H I J K L M N P Q R S T U V W X Y Z [ \ ] ^ ` a b q c d e f g h i j k l m n o p r s t u v w x y z { | } ~                                                           \   *                                                                             ! " # $ % & ' ( ) + , - L . = / 0 1 2 3 4 5 6 7 8 9 : ; < > ? @ A B C D E F G H I J K M N O P Q R S T U V W X Y Z [ ] ^ _ ` a b c r d e f g h i j k l m n o p q s t u v w x y z { | } ~                                                                                                                                         " Ŭ # ½ $ + %  & ' ( ) X * + H , ; - . / 0 1 2 3 4 5 6 7 8 9 :I < = > ? @ A B C D E FI GI I J K L M N O P Q R S T U V WI Y Z w [ j \ ] ^ _ ` a b c d e f g h iI k l m n o p q r s t uI vI x y z { | } ~        I               I       I I              I               I       I I              I                  I        I I              I  &        ! $ " # % ' ( ) * , - . / 0 a 1 2 Q 3 B 4 5 6 7 8 9 : ; < = > ? @ A C D E F G H I J K L M N O P R S T U V W X Y Z [ \ ] ^ _ ` b c d s e f g h i j k l m n o p q r t u v w x y z { | } ~                                                                                                    ‹ Z *                                   ! " # $ % & ' ( ) + J , ; - . / 0 1 2 3 4 5 6 7 8 9 : < = > ? @ A B C D E F G H I K L M N O P Q R S T U V W X Y [ \ { ] l ^ _ ` a b c d e f g h i j k m n o p q r s t u v w x y z | } ~  €  ‚ ƒ „ … † ‡ ˆ ‰ Š Œ  Ž ­  ž  ‘ ’ “ ” • – — ˜ ™ š › œ  Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ¾ K ¿ à   R "                                                                                ! # $ B % 4 & ' ( ) * + , - . / 0 1 2 3 5 6 7 8 9 : ; < = > ? @ A C D E F G H I J K L M N O P Q S T U s V e W X Y Z [ \ ] ^ _ ` a b c d f g h i j k l m n o p q r t u v w x y z { | } ~  À Á Â Ä Å Æ Ç È ø É è Ê Ù Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø  Ú Û Ü Ý Þ ß à á â ã ä å æ ç  é ê ë ì í î ï ð ñ ò ó ô õ ö ÷  ù ú  û ü ý þ ÿ                                                                                  ;  ,    ! " # $ % & ' ( ) * +  - . / 0 1 2 3 4 5 6 7 8 9 :  < = > ? @ A B C D E F G H I J  L M N O ā P Q R q S b T U V W X Y Z [ \ ] ^ _ ` a c d e f g h i j k l m n o p r s t u v w x y z { | } ~  Ā Ă ij ă Ą ģ ą Ĕ Ć ć Ĉ ĉ Ċ ċ Č č Ď ď Đ đ Ē ē ĕ Ė ė Ę ę Ě ě Ĝ ĝ Ğ ğ Ġ ġ Ģ Ĥ ĥ Ħ ħ Ĩ ĩ Ī ī Ĭ ĭ Į į İ ı IJ Ĵ ĵ Ķ  ķ ĸ Ĺ ĺ Ļ ļ Ľ ľ Ŀ                                  z I                                              9  *      ! " # $ % & ' ( )  + , - . / 0 1 2 3 4 5 6 7 8  : ; < = > ? @ A B C D E F G H  J K j L [ M N O P Q R S T U V W X Y Z  \ ] ^ _ ` a b c d e f g h i  k l m n o p q r s t u v w x y  { | } Ŝ ~ ō  ŀ Ł ł Ń ń Ņ ņ Ň ň ʼn Ŋ ŋ Ō  Ŏ ŏ Ő ő Œ œ Ŕ ŕ Ŗ ŗ Ř ř Ś ś  ŝ Ş ş Š š Ţ ţ Ť ť Ŧ ŧ Ũ ũ Ū ū  ŭ l Ů  ů G Ű ű Ų ų Ŵ ŵ Ŷ  ŷ Ÿ Ź ź Ż ż Ž ž ſ                                                                             7  (        ! " # $ % & ' ) * + , - . / 0 1 2 3 4 5 6 8 9 : ; < = > ? @ A B C D E F H I J K Ƭ L | M l N ] O P Q R S T U V W X Y Z [ \, ^ _ ` a b c d e f g h i j k, m n o p q r s t u v w x y z {, } Ɯ ~ ƍ  ƀ Ɓ Ƃ ƃ Ƅ ƅ Ɔ Ƈ ƈ Ɖ Ɗ Ƌ ƌ, Ǝ Ə Ɛ Ƒ ƒ Ɠ Ɣ ƕ Ɩ Ɨ Ƙ ƙ ƚ ƛ, Ɲ ƞ Ɵ Ơ ơ Ƣ ƣ Ƥ ƥ Ʀ Ƨ ƨ Ʃ ƪ ƫ, ƭ Ʈ Ư ƾ ư Ʊ Ʋ Ƴ ƴ Ƶ ƶ Ʒ Ƹ ƹ ƺ ƻ Ƽ ƽ, ƿ           ,              ,                ,           ,               ,  Ǩ    E    5  &          ! " # $ %; ' ( ) * + , - . / 0 1 2 3 4; 6 7 8 9 : ; < = > ? @ A B C D; F w G H g I X J K L M N O P Q R S T U V W; Y Z [ \ ] ^ _ ` a b c d e f; h i j k l m n o p q r s t u v; x y ǘ z lj { | } ~  ǀ ǁ ǂ ǃ DŽ Dž dž LJ Lj; NJ Nj nj Ǎ ǎ Ǐ ǐ Ǒ ǒ Ǔ ǔ Ǖ ǖ Ǘ; Ǚ ǚ Ǜ ǜ ǝ Ǟ ǟ Ǡ ǡ Ǣ ǣ Ǥ ǥ Ǧ ǧ; ǩ Ǫ ǫ ; Ǭ ǭ Ǯ ǯ ǰ DZ Dz dz Ǵ Ǿ ǵ Ƕ Ƿ Ǹ ǹ Ǻ ǻ Ǽ ǽ ǿ                                                        +                    ! " # $ ) % ( & ' * , - . / 0 1 2 3 4 5 6 7 8 9 : < = > \ ? @ A B C D N E F G H I J K L M O P Q R S T U Z V Y W X [ ] ^ _ ` a b c d e f g h i j k m ( n , o p ( q & r ? s Y t I u v w x Ȅ y z { | } ~  Ȁ ȁ Ȃ ȃ ȅ Ȇ ȇ 4 Ȉ ȉ Ȋ ȱ ȋ Ț Ȍ Ȓ ȍ Ȏ ȏ Ȑ ȑ ȓ Ȗ Ȕ ȕ ȗ Ș ș ț Ȧ Ȝ Ȣ ȝ Ƞ Ȟ ȟ ȡ ȣ ȥ Ȥ ȧ ȭ Ȩ Ȫ ȩ ȫ Ȭ Ȯ Ȱ ȯ Ȳ ȳ ȴ ȹ ȵ ȷ ȶ ȸ Ⱥ Ƚ Ȼ ȼ Ⱦ ȿ                                              (  "     ! # & $ % ' ) . * , + - / 1 0 2 3 5 6 7 8 9 E : @ ; = < > ? A D B C F G H J K L M N O P Q R S T U V W X Z / [ \ ] ^ j _ ` a b c d e f g h i k l m  n o p ɗ q ɀ r x s t u v w y | z { } ~  Ɂ Ɍ ɂ Ɉ Ƀ Ɇ Ʉ Ʌ ɇ ɉ ɋ Ɋ ɍ ɓ Ɏ ɐ ɏ ɑ ɒ ɔ ɖ ɕ ɘ ɱ ə ɦ ɚ ɟ ɛ ɝ ɜ ɞ ɠ ɣ ɡ ɢ ɤ ɥ ɧ ɮ ɨ ɫ ɩ ɪ ɬ ɭ ɯ ɰ ɲ ɹ ɳ ɵ ɴ ɶ ɷ ɸ ɺ ɿ ɻ ɽ ɼ ɾ                                                  + & ! # " $ % ' * ( ) , - . 0 1 2 3 4 5 6 7 8 9 : ; < = > @ A  B C D E Q F G H I J K L M N O P R S T  U V ʬ W ~ X g Y _ Z [ \ ] ^ ` c a b d e f h s i o j m k l n p r q t z u w v x y { } |  ʘ ʀ ʍ ʁ ʆ ʂ ʄ ʃ ʅ ʇ ʊ ʈ ʉ ʋ ʌ ʎ ʕ ʏ ʒ ʐ ʑ ʓ ʔ ʖ ʗ ʙ ʠ ʚ ʜ ʛ ʝ ʞ ʟ ʡ ʦ ʢ ʤ ʣ ʥ ʧ ʩ ʨ ʪ ʫ ʭ ʮ ʯ ʸ ʰ ʵ ʱ ʳ ʲ ʴ ʶ ʷ ʹ ʽ ʺ ʼ ʻ ʾ ʿ                                                    ! " # $ % ' ) * + - . / ˒ 0 a 1 2 Q 3 B 4 5 6 7 8 9 : ; < = > ? @ A C D E F G H I J K L M N O P R S T U V W X Y Z [ \ ] ^ _ ` b c ˂ d s e f g h i j k l m n o p q r t u v w x y z { | } ~  ˀ ˁ ˃ ˄ ˅ ˆ ˇ ˈ ˉ ˊ ˋ ˌ ˍ ˎ ˏ ː ˑ ˓ ˔ ˕ ˴ ˖ ˥ ˗ ˘ ˙ ˚ ˛ ˜ ˝ ˞ ˟ ˠ ˡ ˢ ˣ ˤ ˦ ˧ ˨ ˩ ˪ ˫ ˬ ˭ ˮ ˯ ˰ ˱ ˲ ˳ ˵ ˶ ˷ ˸ ˹ ˺ ˻ ˼ ˽ ˾ ˿                                                                                  ! " # $ % & ' ) * + , ̿ - ̎ . ^ / N 0 ? 1 2 3 4 5 6 7 8 9 : ; < = > @ A B C D E F G H I J K L M O P Q R S T U V W X Y Z [ \ ] _ ~ ` o a b c d e f g h i j k l m n p q r s t u v w x y z { | }  ̀ ́ ̂ ̃ ̄ ̅ ̆ ̇ ̈ ̉ ̊ ̋ ̌ ̍ ̏ ̐ ̯ ̑ ̠ ̒ ̓ ̔ ̕ ̖ ̗ ̘ ̙ ̚ ̛ ̜ ̝ ̞ ̟ ̡ ̢ ̣ ̤ ̥ ̦ ̧ ̨ ̩ ̪ ̫ ̬ ̭ ̮ ̰ ̱ ̲ ̳ ̴ ̵ ̶ ̷ ̸ ̹ ̺ ̻ ̼ ̽ ̾                                         %                                         ! " # $ & V ' ( F ) 8 * + , - . / 0 1 2 3 4 5 6 7 9 : ; < = > ? @ A B C D E G H I J K L M N O P Q R S T U W X v Y h Z [ \ ] ^ _ ` a b c d e f g i j k l m n o p q r s t u w x y z { | } ~  ̀ ́ ͂ ̓ ̈́ ͅ ͇ ͈ U ͉  ͊ Ѐ ͋ ι ͌ ! ͍ ͎ ͏ ͐ ͑ ͒ Ͱ ͓ ͢ ͔ ͕ ͖ ͗ ͘ ͙ ͚ ͛ ͜ ͝ ͞ ͟ ͠ ͡g ͣ ͤ ͥ ͦ ͧ ͨ ͩ ͪ ͫ ͬ ͭ ͮ ͯg ͱ Ͳ ͳ ʹ ͵ Ͷ ͷ ͸ ͹ ͺ ͻ ͼ ͽ ; Ϳg               g        g              g                g          g               g " # $ · % V & ' F ( 7 ) * + , - . / 0 1 2 3 4 5 6K 8 9 : ; < = > ? @ A B C D EK G H I J K L M N O P Q R S T UK W X w Y h Z [ \ ] ^ _ ` a b c d e f gK i j k l m n o p q r s t u vK x y z { | } ~  ΀ ΁ ΂ ΃ ΄ ΅ ΆK Έ Ή Ί Ω ΋ Κ Ό ΍ Ύ Ώ ΐ Α Β Γ Δ Ε Ζ Η Θ ΙK Λ Μ Ν Ξ Ο Π Ρ ΢ Σ Τ Υ Φ Χ ΨK Ϊ Ϋ ά έ ή ί ΰ α β γ δ ε ζ η θK κ ϸ λ μ ν S ξ ! ο                                                                                   " # C $ 3 % & ' ( ) * + , - . / 0 1 2 4 5 6 7 8 9 : ; < = > ? @ A B D E F G H I J K L M N O P Q R T φ U V v W f X Y Z [ \ ] ^ _ ` a b c d e g h i j k l m n o p q r s t u w x y z { | } ~  π ρ ς σ τ υ χ ψ Ϩ ω Ϙ ϊ ϋ ό ύ ώ Ϗ ϐ ϑ ϒ ϓ ϔ ϕ ϖ ϗ ϙ Ϛ ϛ Ϝ ϝ Ϟ ϟ Ϡ ϡ Ϣ ϣ Ϥ ϥ Ϧ ϧ ϩ Ϫ ϫ Ϭ ϭ Ϯ ϯ ϰ ϱ ϲ ϳ ϴ ϵ ϶ Ϸ Ϲ Ϻ ϻ N ϼ  Ͻ Ͼ Ͽ              [         [ [              [              [            [ [               [   > / ! " # $ % & ' ( ) * + , - .[ 0 1 2 3 4 5 6 7 8 9 : ; <[ =[ ? @ A B C D E F G H I J K L M[ O P Q p R a S T U V W X Y Z [ \ ] ^ _ `[ b c d e f g h i j k l m n[ o[ q r s t u v w x y z { | } ~ [ Ё Ѳ Ђ  Ѓ Є Ѕ з І Ї Ј Ч Љ И Њ Ћ Ќ Ѝ Ў Џ А Б В Г Д Е Ж Зk Й К Л М Н О П Р С Т Уk Ф Хk Цk Ш Щ Ъ Ы Ь Э Ю Я а б в г д е жk и й к л  м н о п          k       k k k              k               k         k  k k              k    р  O  ? ! 0 " # $ % & ' ( ) * + , - . /F 1 2 3 4 5 6 7 8 9 : ; < = >F @ A B C D E F G H I J K L M NF P Q p R a S T U V W X Y Z [ \ ] ^ _ `F b c d e f g h i j k l m n oF q r s t u v w x y z { | } ~ F с т у Ѣ ф ѓ х ц ч ш щ ъ ы ь э ю я ѐ ё ђF є ѕ і ї ј љ њ ћ ќ ѝ ў џ Ѡ ѡF ѣ Ѥ ѥ Ѧ ѧ Ѩ ѩ Ѫ ѫ Ѭ ѭ Ѯ ѯ Ѱ ѱF ѳ { Ѵ ѵ Ѷ I ѷ  Ѹ ѹ Ѻ  ѻ Ѽ ѽ Ѿ ѿ         {           {              {               {            {              {   9  *      ! " # $ % & ' ( ){ + , - . / 0 1 2 3 4 5 6 7 8{ : ; < = > ? @ A B C D E F G H{ J K L k M \ N O P Q R S T U V W X Y Z [{ ] ^ _ ` a b c d e f g h i j{ l m n o p q r s t u v w x y z{ | } ~  Ұ Ҁ ҁ Ҡ ҂ ґ ҃ ҄ ҅ ҆ ҇ ҈ ҉ Ҋ ҋ Ҍ ҍ Ҏ ҏ Ґ Ғ ғ Ҕ ҕ Җ җ Ҙ ҙ Қ қ Ҝ ҝ Ҟ ҟ ҡ Ң ң Ҥ ҥ Ҧ ҧ Ҩ ҩ Ҫ ҫ Ҭ ҭ Ү ү ұ Ҳ ҳ  Ҵ ҵ Ҷ ҷ Ҹ ҹ Һ һ Ҽ ҽ Ҿ ҿ                                                                      է  F  Ӯ    |  K   ;  ,    ! " # $ % & ' ( ) * + - . / 0 1 2 3 4 5 6 7 8 9 : < = > ? @ A B C D E F G H I J L M l N ] O P Q R S T U V W X Y Z [ \ ^ _ ` a b c d e f g h i j k m n o p q r s t u v w x y z { } ~  Ӟ Ӏ ӏ Ӂ ӂ Ӄ ӄ Ӆ ӆ Ӈ ӈ Ӊ ӊ Ӌ ӌ Ӎ ӎ Ӑ ӑ Ӓ ӓ Ӕ ӕ Ӗ ӗ Ә ә Ӛ ӛ Ӝ ӝ ӟ Ӡ ӡ Ӣ ӣ Ӥ ӥ Ӧ ӧ Ө ө Ӫ ӫ Ӭ ӭ ӯ Ӱ ӱ  Ӳ ӳ Ӵ ӵ  Ӷ ӷ Ӹ ӹ Ӻ ӻ Ӽ ӽ Ӿ ӿ                                                                           6  '         ! " # $ % & ( ) * + , - . / 0 1 2 3 4 5 7 8 9 : ; < = > ? @ A B C D E G H I J ԭ K | L M l N ] O P Q R S T U V W X Y Z [ \ ^ _ ` a b c d e f g h i j k m n o p q r s t u v w x y z { } ~ ԝ  Ԏ Ԁ ԁ Ԃ ԃ Ԅ ԅ Ԇ ԇ Ԉ ԉ Ԋ ԋ Ԍ ԍ ԏ Ԑ ԑ Ԓ ԓ Ԕ ԕ Ԗ ԗ Ԙ ԙ Ԛ ԛ Ԝ Ԟ ԟ Ԡ ԡ Ԣ ԣ Ԥ ԥ Ԧ ԧ Ԩ ԩ Ԫ ԫ Ԭ Ԯ ԯ ԰ Ա  Բ Գ Դ Ե Զ Է Ը Թ Ժ Ի Լ Խ Ծ Կ                            u D                                            4  %           ! " # $ & ' ( ) * + , - . / 0 1 2 3 5 6 7 8 9 : ; < = > ? @ A B C E F e G V H I J K L M N O P Q R S T U W X Y Z [ \ ] ^ _ ` a b c d f g h i j k l m n o p q r s t v w x ՗ y Ո z { | } ~  Հ Ձ Ղ Ճ Մ Յ Ն Շ Չ Պ Ջ Ռ Ս Վ Տ Ր Ց Ւ Փ Ք Օ Ֆ ՘ ՙ ՚ ՛ ՜ ՝ ՞ ՟ ՠ ա բ գ դ ե զ ը < թ A ժ ի լ  խ ծ կ հ տ ձ ղ ճ մ յ ն շ ո չ պ ջ ռ ս վ                                                                      1  "              ! # $ % & ' ( ) * + , - . / 0 2 3 4 5 6 7 8 9 : ; < = > ? @ B C  D v E F G f H W I J K L M N O P Q R S T U V X Y Z [ \ ] ^ _ ` a b c d e g h i j k l m n o p q r s t u w x ַ y ֘ z ։ { | } ~  ր ց ւ փ ք օ ֆ և ֈ ֊ ֋ ֌ ֍ ֎ ֏ ֐ ֑ ֒ ֓ ֔ ֕ ֖ ֗ ֙ ֨ ֚ ֛ ֜ ֝ ֞ ֟ ֠ ֡ ֢ ֣ ֤ ֥ ֦ ֧ ֩ ֪ ֫ ֬ ֭ ֮ ֯ ְ ֱ ֲ ֳ ִ ֵ ֶ ָ ֹ  ֺ ֻ ּ ֽ ־ ֿ                                                                               ,     ! " # $ % & ' ( ) * + - . / 0 1 2 3 4 5 6 7 8 9 : ; = > ? @ צ A ׄ B c C S D E F G H I J K L M N O P Q R T U V W X Y Z [ \ ] ^ _ ` a b d t e f g h i j k l m n o p q r s u v w x y z { | } ~  ׀ ׁ ׂ ׃ ׅ ׆ ז ׇ ׈ ׉ ׊ ׋ ׌ ׍ ׎ ׏ א ב ג ד ה ו ח ט י ך כ ל ם מ ן נ ס ע ף פ ץ ק ר ש ׹ ת ׫ ׬ ׭ ׮ ׯ װ ױ ײ ׳ ״ ׵ ׶ ׷ ׸ ׺ ׻ ׼ ׽ ׾ ׿            2                                                             "               ! # $ % & ' ( ) * + , - . / 0 1 3 4 5 E 6 7 8 9 : ; < = > ? @ A B C D F G H I J K L M N O P Q R S T V 6 W X Y [ Z \ ] ^ أ _ ؁ ` a q b c d e f g h i j k l m n o p r s t u v w x y z { | } ~  ؀ ؂ ؃ ؓ ؄ ؅ ؆ ؇ ؈ ؉ ؊ ؋ ، ؍ ؎ ؏ ؐ ؑ ؒ ؔ ؕ ؖ ؗ ؘ ؙ ؚ ؛ ؜ ؝ ؞ ؟ ؠ ء آ ؤ إ ئ ض ا ب ة ت ث ج ح خ د ذ ر ز س ش ص ط ظ ع غ ػ ؼ ؽ ؾ ؿ       _   -                                                                          ! " # $ % & ' ( ) * + , . / 0 O 1 @ 2 3 4 5 6 7 8 9 : ; < = > ? A B C D E F G H I J K L M N P Q R S T U V W X Y Z [ \ ] ^ ` a b c ٔ d e ل f u g h i j k l m n o p q r s t v w x y z { | } ~  ـ ف ق ك م ن ه و ى ي ً ٌ ٍ َ ُ ِ ّ ْ ٓ ٕ ٖ ٵ ٗ ٦ ٘ ٙ ٚ ٛ ٜ ٝ ٞ ٟ ٠ ١ ٢ ٣ ٤ ٥ ٧ ٨ ٩ ٪ ٫ ٬ ٭ ٮ ٯ ٰ ٱ ٲ ٳ ٴ ٶ ٷ ٸ ٹ ٺ ٻ ټ ٽ پ ٿ                                                ڑ   _ .                                 ! " # $ % & ' ( ) * + , - / 0 O 1 @ 2 3 4 5 6 7 8 9 : ; < = > ? A B C D E F G H I J K L M N P Q R S T U V W X Y Z [ \ ] ^ ` a b ځ c r d e f g h i j k l m n o p q s t u v w x y z { | } ~  ڀ ڂ ڃ ڄ څ چ ڇ ڈ ډ ڊ ڋ ڌ ڍ ڎ ڏ ڐ ڒ ړ ڔ ڕ ږ ڷ ڗ ڧ ژ ڙ ښ ڛ ڜ ڝ ڞ ڟ ڠ ڡ ڢ ڣ ڤ ڥ ڦ  ڨ ک ڪ ګ ڬ ڭ ڮ گ ڰ ڱ ڲ ڳ ڴ ڵ ڶ  ڸ ڹ ں ڻ ڼ ڽ ھ ڿ                                                                                          ۪   ! ۇ " e # D $ 4 % & ' ( ) * + , - . / 0 1 2 3  5 6 7 8 9 : ; < = > ? @ A B C  E U F G H I J K L M N O P Q R S T  V W X Y Z [ \ ] ^ _ ` a b c d  f g w h i j k l m n o p q r s t u v  x y z { | } ~  ۀ ہ ۂ ۃ ۄ ۅ ۆ  ۈ ۉ ۊ ۚ ۋ ی ۍ ێ ۏ ې ۑ ے ۓ ۔ ە ۖ ۗ ۘ ۙ  ۛ ۜ ۝ ۞ ۟ ۠ ۡ ۢ ۣ ۤ ۥ ۦ ۧ ۨ ۩  ۫ ۬ ۭ  ۮ ۯ ۰ ۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۺ ۻ ۼ ۽ ۾ ۿ                                                                                   &           ! " # $ %  ' ( ) * + , - . / 0 1 2 3 4 5  7 ߕ 8 9  : ; < ܟ = n > ? ^ @ O A B C D E F G H I J K L M N/ P Q R S T U V W X Y Z [ \ ]/ _ ` a b c d e f g h i j k l m/ o p ܏ q ܀ r s t u v w x y z { | } ~ / ܁ ܂ ܃ ܄ ܅ ܆ ܇ ܈ ܉ ܊ ܋ ܌ ܍ ܎/ ܐ ܑ ܒ ܓ ܔ ܕ ܖ ܗ ܘ ܙ ܚ ܛ ܜ ܝ ܞ/ ܠ ܡ ܢ ܣ ܲ ܤ ܥ ܦ ܧ ܨ ܩ ܪ ܫ ܬ ܭ ܮ ܯ ܰ ܱ/ ܳ ܴ ܵ ܶ ܷ ܸ ܹ ܺ ܻ ܼ ܽ ܾ ܿ /              /               /           /              /    ݘ  g  7  '              >         ! " # $ % &> ( ) * + , - . / 0 1 2 3 4 5 6> 8 W 9 H : ; < = > ? @ A B C D E F G> I J K L M N O P Q R S T U V> X Y Z [ \ ] ^ _ ` a b c d e f> h i ݈ j y k l m n o p q r s t u v w x> z { | } ~  ݀ ݁ ݂ ݃ ݄ ݅ ݆ ݇> ݉ ݊ ݋ ݌ ݍ ݎ ݏ ݐ ݑ ݒ ݓ ݔ ݕ ݖ ݗ> ݙ ݚ ݛ ݺ ݜ ݫ ݝ ݞ ݟ ݠ ݡ ݢ ݣ ݤ ݥ ݦ ݧ ݨ ݩ ݪ> ݬ ݭ ݮ ݯ ݰ ݱ ݲ ݳ ݴ ݵ ݶ ݷ ݸ ݹ> ݻ ݼ ݽ ݾ ݿ          > ޓ   a 0              M            M              M                 M              M ! " # $ % & ' ( ) * + , - . /M 1 2 Q 3 B 4 5 6 7 8 9 : ; < = > ? @ AM C D E F G H I J K L M N O PM R S T U V W X Y Z [ \ ] ^ _ `M b c d ރ e t f g h i j k l m n o p q r sM u v w x y z { | } ~  ހ ށ ނM ބ ޅ ކ އ ވ މ ފ ދ ތ ލ ގ ޏ ސ ޑ ޒM ޔ  ޕ ޖ ޺ ޗ ޹I ޘ ޙ ީ ޚ ޛ ޜ ޝ ޞ ޟ ޠ ޡ ޢ ޣ ޤ ޥ ަ ާ ިI ު ޫ ެ ޭ ޮ ޯ ް ޱ ޲ ޳ ޴ ޵ ޶ ޷ ޸II ޻I ޼ ޽ ޾ ޿             I              I  II              I              II I  M  *  )I                I        ! " # $ % & ' (II +II , - = . / 0 1 2 3 4 5 6 7 8 9 : ; <I > ? @ A B C D E F G H I J K LI N PI OI Q sI R S c T U V W X Y Z [ \ ] ^ _ ` a bI d e f g h i j k l m n o p q rII t u ߅ v w x y z { | } ~  ߀ ߁ ߂ ߃ ߄I ߆ ߇ ߈ ߉ ߊ ߋ ߌ ߍ ߎ ߏ ߐ ߑ ߒ ߓ ߔI ߖ  ߗ N ߘ ߙ ߚ ߛ ߜ ߝ ߷ ߞ ߟ ߠ ߡ ߢ ߭ ߣ ߤ ߥ ߦ ߧ ߨ ߩ ߪ ߫ ߬\ ߮ ߯ ߰ ߱ ߲ ߳ ߴ ߵ\ ߶\ ߸ ߹ ߺ ߻ ߼ ߽ ߾ ߿       \              \      \ \              \                \       \ \               \ ! " # $ > % & ' ( ) 4 * + , - . / 0 1 2 3\ 5 6 7 8 9 : ; <\ =\ ? @ A B C D E F G H I J K L M\ O P Q R S T s U d V W X Y Z [ \ ] ^ _ ` a b ck e f g h i j k l m n o p q rk t u v w x y z { | } ~    k               k               k           k              k                k           k                 k            k              k  ,    \  K ! ; " # $ % & ' 1 ( ) * + , - . / 0z 2 3 4 5 6 7 8 9 :z < = > ? @ A B C D E F G H I Jz L M N O P Q R S T U V W X Y Z [z ] ^ _ y ` a b c d e o f g h i j k l m nz p q r s t u v w xz z { | } ~          z              z       z              z               z       z              z       z              z                    z         z     ! " # $ % & ' ( ) * +z - . / a 0 1~ 2 3 Q 4 C 5 6 7 8 9 : ; < = > ? @ A B~ D E F G H I J~ K L M N~ O P~ R S T U V W X Y Z [ \ ] ^ _ `~ b c d e t f g h i j k l m n o p q r s~ u v w x y z {~ | } ~ ~ ~              ~ ~               ~      ~   ~ ~              ~                ~      ~   ~ ~              ~  :  )                                ! " # $ % & ' ( * + , - . / 0 1 2 3 4 5 6 7 8 9 ; e < = U > ? @ A B C D E M F G H I J K L N O P Q R S T V W X Y Z [ \ ] ^ _ ` a b c d f g  h i j k l m n o w p q r s t u v x y z { | } ~                                                                                                            d  4   $                          ! " # % & ' ( ) * + , - . / 0 1 2 3 5 6 T 7 F 8 9 : ; < = > ? @ A B C D E G H I J K L M N O P Q R S U V W X Y Z [ \ ] ^ _ ` a b c e f g h w i j k l m n o p q r s t u v x y z { | } ~                                                             ` .                                                                          ! " # $ % & ' ( ) * + , - / 0 1 P 2 A 3 4 5 6 7 8 9 : ; < = > ? @ B C D E F G H I J K L M N O Q R S T U V W X Y Z [ \ ] ^ _ a b c d e t f g h i j k l m n o p q r s u v w x y z { | } ~                   n h              :   :     : : : : :              :              :   :     : : : : :              : 4   $                 :    :       :  : !: ": #: % & ' ( ) * + , - . / 0 1 2 3: 5 6 X 7 K 8 9 : ; F < = > ? @ A B C D E: G H I J: L M N O P Q R: S T: U: V: W: Y Z [ \ ] ^ _ ` a b c d e f g: i  j k l m  n o p q | r s t u v w x y z {: } ~  :     : : : : :             :   :     : : : : :              :              :              :   :     : : : : :              :  :   *              :    :    ! " # $: % &: ': (: ): + , - . / 0 1 2 3 4 5 6 7 8 9: ; < ^ = Q > ? @ A L B C D E F G H I J K: M N O P: R S T U V W X: Y Z: [: \: ]: _ ` a b c d e f g h i j k l m: o p q r s t  u v w x y z { | } ~    :   :     : : : : :              :             :   :     : : : : :              : f   @                ]           ]               ]   0  !              ] " # $ % & ' ( ) * + , - . /] 1 2 3 4 5 6 7 8 9 : ; < = > ?] A r B C b D S E F G H I J K L M N O P Q R] T U V W X Y Z [ \ ] ^ _ ` a] c d e f g h i j k l m n o p q] s t u  v w x y z { | } ~     ]           ]              ]  5                C      C C              C               C      C C              C    %              C         ! "C # $C & ' ( ) * + , - . / 0 1 2 3 4C 6 7 8 9 V : I ; < = > ? @ A B C D E F G HC J K L M N O P Q R SC T UC W X Y Z [ \ ] ^ _ ` a b c d eC g h i j k l m n } o p q r s t u v w x y z { |G ~       G              G               G       G              G                G       G              G Q    U )                  ц       ц  ц        ! " # $ % & ' (ц * + E , - . / 0 1 ; 2 3 4 5 6 7 8 9 :ц < = > ? @ A Bц C Dц F G H I J K L M N O P Q R S Tц V W X r Y Z [ \ ] ^ h _ ` a b c d e f gц i j k l m n oц p qц s t u v w x y z { | } ~   ц                  7            7              7               7            7              7                7             7              7 @     ! A " 4 # $ % & ' ( 1 ) * + , - . / 0@ 2 3@ 5 6 7 8 9 : ; < =@ > ? @@ B C D E F G H I J K L M N O P@ R , S T UZ V W X Y Z [ \ ] ^ _ ` a i b c d e f g hZ j k l m y n s o qZ pZ rZZ t v uZZ w xZZ z { ~ | }ZZZ Z ZZZ  ZZZ Z  Z              Z                                                                                                               ! " # $ % & ' ( ) * + - ) . / 0 1 b 2 3 R 4 C 5 6 7 8 9 : ; < = > ? @ A B D E F G H I J K L M N O P Q S T U V W X Y Z [ \ ] ^ _ ` a c d e t f g h i j k l m n o p q r s u v w x y z { | } ~                                                                                                                                         ! " # $ % & ' ( * + , - p . O / ? 0 1 2 3 4 5 6 7 8 9 : ; < = >f @ A B C D E F G H I J K L M Nf P ` Q R S T U V W X Y Z [ \ ] ^ _f a b c d e f g h i j k l m n of q r s t u v w x y z { | } ~   f              f               f              f               f              f      f f f      rt                    } %     O  .  "                ! # * $ % ( & '!! ) + , -# / > 0 7 1 4 2 3 5 6 8 ; 9 :O < = ? F @ C A B D E G H I"~ K L M 3 N O P Q % R S T U V W r X e Y Z [ \ ] ^ _ ` a b c d f g h i j k l m n o p q s t u v  w x y z { | } ~                      8 8 8 8 8 8 8 8 8 8 8 8 88 88  v      %  O  }    %                   wE wE   wE  #PwE Ty   4      wE                Q      Q       #  . ' ! $ " #O % & ( + ) * , - / 2 0 1 }Q 4 d 5 K 6 < 7 8 9% : ; = D > A ? @% B C E H F G I J L [ M T N Q O P% R S U X V W Y Z% \ ` ] ^ _ % a b c e f u g n h k i j% l m o r p q s t v w z x y { | } ~     X  I     { { {{ { { { { { { { { { { {{ { { {{ {{ { { {{ { { { { {{     %      _ =       %      %m      Q _  m                     s                O  . ' ! $ " # % & ( + ) *% , -Q / 6 0 3 1 2 4 5v 7 : 8 9v ; <  > j ? ^ @ O A H B E C D } F G I L J K } M N P W Q T R S U V X [ Y Z \ ] _ e ` a b c d f g h i k l x m t n q o p% r s u v wm y z } { || ~    s  q            %                                                  Q                  O    %                %          ?         ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > @ H A C B D E F GO I K J% L M N O Q R S T% U% V%% W% X Y% Z |% [% \ ]% ^% _% `% a% b% c% d% e% f% g%% h i% j%% k% l% m n% o% p%% q% r% s t%% u v% w%% x y%% z% {$%% }% ~ % % % % % %% % % % % % %% % % % % %% % %% % % % %% % %% % v p , @     Q     _                      }        _      }          O    O         y    O       .  #         ! " $ ) % & ' ( * + , - / 5 0 1 2 3 4$ 6 ; 7 8 9 : < = > ? A B q C Z D O E J F G H I  K L M N P U Q R S Ty V W X Yv [ f \ a ] ^ _ ` b c d e% g l h i j k m n o p r s { t v u% w x y z* | ~ }                  %        v          m    %           $                  ӗ  nӗ  ӗ n ""t t ӗӗ "   " n  n   }  }  }                        ! " # % * & ' ( )6 +  - . } / [ 0 D 1 9 2 4 3 5 6 7 8 : ? ; < = > @ A B C E P F K G H I J L M N O Q V R S T U W X Y Z% \ f ] ` ^ _ a b c d e s g r h m i j k l n o p q s x t u v w y z { |% ~          %                       Q            %        m      %               %        %         %              m       m  D 2 ! ' " # $ % & ( - ) * + , . / 0 1  3 > 4 9 5 6 7 8O : ; < = } ? @ A B C E Y F Q G L H I J K s M N O P R W S T U V X Z e [ ` \ ] ^ _ a b c d  f k g h i j l m n ov q B r & s t u v w | x y z {O } ~                            Q    %                                 s %    %                      d     Q    O             O  !     " # $ % ' ( \ ) K * E + @ , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? Q A B C D F G H I J L W M R N O P Q S T U V X Z Y } [ ] q ^ f _ a ` b c d eO g l h i j k m n o p r } s x t u v w & y z { | ~                             O         .    _     & ,         G . ss!! s!  xw !M^^w xm  w6 w! !!  {z wwNtK tZtjtyt  M|t       5M@t  t0tt  t     tuuu!  u0u@)  L<uO  #     M2u_uo  uuN= ! "NDu $ + % ( & 'uuu0 ) *uwuu , -Nv / 0 1 < 2 9 3 6 4 5L֚Nv 7 8v*v:vJvZ : ;vivy = D > A ? @vRvM B Cvvvv E FvMm H I x J a K V L S M P N Oa9Lv Q RMOxFNT T Uw W ^ X [ Y Zww#,w2 \ ]wAwP _ `N5w_ b m c j d g e fwnw~ww h iM#wLLL k lww n u o r p qwww s t x Nx v wx)x8 y z { |  } ~vxGMxW xgxv=Ex  L\ xx#xL xxxL  xM wxx yyy-y<  yKyZ yiLyy yyy  y{   yyy yz#  , Սzz%z4  9/zCzR  No     !zb [zr zLz  zz   _       S : ss!! s!  xw !M^^w xm  w6 w! !!  {z      wwNtK  tZtjtyt  M|t #       5M@t  t0tt  t     tuuu!  u0u@) ! "L<uO $ / % , & ) ' (M2u_uo * +uuN= - .NDu 0 7 1 4 2 3uuu0 5 6uwuu 8 9Nv ; < = H > E ? B @ AL֚Nv C Dv*v:vJvZ F Gvivy I P J M K LvRvM N Ovvvv Q RvMm T U V m W b X _ Y \ Z [a9Lv ] ^MOӵFNT ` aw c j d g e fww#,w2 h iwAwP k lN5w_ n y o v p s q rwnw~ww t uM#wLLL w xww z { ~ | }www   x Nx  x)x8 vxGMxW xgxv=Ex  L\ xx#xL xxxL  xM wxx yyy-y<  yKyZ yiLyy yyy  y{   yyy yz#  , Սzz%z4  9/zCzR  No     !zb [zr zLz  zz   _       ` G   ss!! s!  xw !M^^w xm  w6      w! !!  {z      wwNtK  tZtjtyt  M|t  0  %  "    5M@t !t0tt # $t & - ' * ( )tuuu! + ,u0u@) . /L<uO 1 < 2 9 3 6 4 5M2u_uo 7 8uuN= : ;NDu = D > A ? @uuu0 B Cuwuu E FNv H I J U K R L O M NL֚Nv P Qv*v:vJvZ S Tvivy V ] W Z X YvRvM [ \vvvv ^ _vMm a b c z d o e l f i g ha9Lv j kMOӵFNT m nw p w q t r sww#,w2 u vwAwP x yN5w_ { | } ~ wnw~ww M#wLLL  ww www  x Nx  x)x8 vxGMxW xgxv=Ex  L\ xx#xL xxxL  xM wxx yyy-y<  yKyZ yiLyy yyy  y{   yyy yz#  , Սzz%z4  9/zCzR  No     !zb [zr zLz  zz   _       l S $   ss!! s!  xw     !M^^w xm  w6        w! !!  {z  !    wwNtK  tZtjtyt " #M|t % < & 1 ' . ( + ) *5M@t , -t0tt / 0t 2 9 3 6 4 5tuuu! 7 8u0u@) : ;L<uO = H > E ? B @ AM2u_uo C DuuN= F GNDu I P J M K Luuu0 N Ouwuu Q RNv T U V a W ^ X [ Y ZL֚Nv \ ]v*v:vJvZ _ `vivy b i c f d evRvM g hvvvv j kvMm m n o p { q x r u s ta9Lv v wMOӵFNT y zw | } ~ ww#,w2 wAwP  N5w_ wnw~ww M#wLLL  ww www  x Nx  x)x8 vxGMxW xgxv=Ex  L\ xx#xL xxxL  xM wxx yyy-y<  yKyZ yiLyy yyy  y{   yyy yz#  , Սzz%z4  9/zCzR  No     !zb [zr zLz  zz   _           z  a  2       ss!! s!  xw      !M^^w  xm  w6  '  $  " !w! #!! % &{z ( / ) , * +wwNtK - .tZtjtyt 0 1M|t 3 J 4 ? 5 < 6 9 7 85M@t : ;t0tt = >t @ G A D B Ctuuu! E Fu0u@) H IL<uO K V L S M P N OM2u_uo Q RuuN= T UNDu W ^ X [ Y Zuuu0 \ ]uwuu _ `Nv b c d o e l f i g hL֚Nv j kv*v:vJvZ m nvivy p w q t r svRvM u vvvvv x yvMm { | } ~  a9Lv MOӵFNT  w ww#,w2 wAwP  N5w_ wnw~ww M#wLLL  ww www  x Nx  x)x8 vxGMxW xgxv=Ex  L\ xx#xL xxxL  xM wxx yyy-y<  yKyZ yiLyy yyy  y{   yyy yz#  , Սzz%z4  9/zCzR  No      !zb [zr zLz  zz   _          m  >  (        ss!! s!  xw  %  " !!M^^w # $xm & 'w6 ) 3 * 0 + . , -w! /!! 1 2{z 4 ; 5 8 6 7wwNtK 9 :tZtjtyt < =M|t ? V @ K A H B E C D5M@t F Gt0tt I Jt L S M P N Otuuu! Q Ru0u@) T UL<uO W b X _ Y \ Z [M2u_uo ] ^uuN= ` aNDu c j d g e fuuu0 h iuwuu k lNv n o p { q x r u s tL֚Nv v wv*v:vJvZ y zvivy | } ~ vRvM vvvv  vMm a9Lv MOӵFNT  w ww#,w2 wAwP  N5w_ wnw~ww M#wLLL  ww www  x Nx  x)x8 vxGMxW xgxv=Ex  L\ xx#xL xxxL  xM wxx yyy-y<  yKyZ yiLyy yyy  y{   yyy yz#  , Սzz%z4  9/zCzR  No          !zb [zr zLz  zz   _           z  K  5 * ! ' " % # $ss!! &s! ( )xw + 2 , / - .!M^^w 0 1xm 3 4w6 6 @ 7 = 8 ; 9 :w! <!! > ?{z A H B E C DwwNtK F GtZtjtyt I JM|t L c M X N U O R P Q5M@t S Tt0tt V Wt Y ` Z ] [ \tuuu! ^ _u0u@) a bL<uO d o e l f i g hM2u_uo j kuuN= m nNDu p w q t r suuu0 u vuwuu x yNv { | } ~  L֚Nv v*v:vJvZ  vivy vRvM vvvv  vMm a9Lv MOӵFNT  w ww#,w2 wAwP  N5w_ wnw~ww M#wLLL  ww www  x Nx  x)x8 vxGMxW xgxv=Ex  L\ xx#xL xxxL  xM wxx yyy-y<  yKyZ yiLyy yyy  y{    yyy yz#  ,     Սzz%z4   9/zCzR  No            !zb [zr  zLz  zz   _ ! " # $ % & '  ( ) * W + A , 6 - 3 . 1 / 0ss!! 2s! 4 5xw 7 > 8 ; 9 :!M^^w < =xm ? @w6 B L C I D G E Fw! H!! J K{z M T N Q O PwwNtK R StZtjtyt U VM|t X o Y d Z a [ ^ \ ]5M@t _ `t0tt b ct e l f i g htuuu! j ku0u@) m nL<uO p { q x r u s tM2u_uo v wuuN= y zNDu | } ~ uuu0 uwuu  Nv   L֚Nv v*v:vJvZ  vivy vRvM vvvv  vMm a9Lv MOӵFNT  w ww#,w2 wAwP  N5w_ wnw~ww M#wLLL  ww www  x Nx  x)x8 vxGMxW xgxv=Ex  L\ xx#xL xxxL  xM wxx yyy-y<  yKyZ yiLyy yyy  y{        yyy  yz#  ,      Սzz%z4   9/zCzR  No      (  %  " !!zb [zr # $zLz & 'zz ) * +_ - / : 0 5 1 2 3 4 6 7 8 9O ; @ < = > ? A } C D E j F ] G R H M I J K L N O P QO S X T U V W Y Z [ \ ^ d _ ` a b c e f g h i k  l t m o nv p q r s u z v w x y  { | } ~ _     s              %    O     %                  s      U     !          $  m              O                                   ! " # % J & 3 ' - ( ) * + , s . / 0 1 2 4 ? 5 : 6 7 8 9 ; < = > @ E A B C D F G H I K b L W M R N O P Q% S T U V X ] Y Z [ \#A ^ _ ` a% c k d f e g h i jO l q m n o p r s t u w  x y  z { | } ~     #                 %        O    O          }    2         }  v        v        m           !    #A             !     !            u  I  5  * % ! " # $ & ' ( ) + 0 , - . /  1 2 3 4 6 > 7 < 8 9 : ; = ? D @ A B C E F G H J ^ K S L N Mv O P Q R T Y U V W X Z [ \ ]O _ j ` e a b c d{5 f g h i k p l m n o_ q r s tO v w x } y { z | ~                              !    v    m    O    $    *      n          O         s        O    O       Q      m              Q           H  6  + ! & " # $ %% ' ( ) * , 1 - . / 0 2 3 4 5 7 B 8 = 9 : ; < > ? @ A% C D E F G I \ J U K P L M N O Q R S T V [ W X Y Z ] c ^ _ ` a b  d i e f g h j k l m o  p  q  r } s x t u v w y z { | ~     O              !                              %                    %                                           Q'M4   Q Q#P     Qyz   QO        ''\ Q  ɓwEz  Q     QZc'0  y'       Ql Q   QJ     y V        .   \l   m  .  ' ! $ " # Q'M4 % & Q Q#P ( + ) * Qyz , - QO#P / N 0 K 1 J' 2 3'\ 4'\ 5'\ 6'\ 7'\'\ 8 9'\'\ : ;'\ <'\ ='\ >'\ ?'\ @'\ A'\ B'\ C'\ D'\ E'\ F'\ G'\ H'\ I'\'j'\ Q L MɓwEz  Q O R P Q QZc'0 S Ty U' V' W' X' Y'' Z' [ \' ]' ^' _' `' a' b' c' d' e' f' g' h' i' j' k' l''j' n z o t p r q Q Ql Q s QJ u x v wy yV {  |  } ~),  o$T.    \ Q'>l ,          |    %       m                   %    P                 }    %            3      |                               %            $                         q           ! " #O % < & 1 ' , ( ) * +  - . / 0 2 7 3 4 5 6Q 8 9 : ; = E > C ? @ A BC D F K G H I J L M N OO Q  R | S j T _ U Z V W X YO [ \ ] ^v ` e a b c d% f g h is k v l q m n o p r s t u% w x y z { }  ~       |    %          m                 O                                  O              %           Q      _                      O  #                                    %    ! " $ 8 % 0 & + ' ( ) * , - . /O 1 6 2 3 4 5% 7 9 D : ? ; < = > @ A B Cd E J F G H I K L M NO P  Q e R Z S U T V W X Y [ ` \ ] ^ _ a b c d f  g l h i j kQ m n o p q r3 s  t33 u v33 w3 x y3 z3 {3 |33 }3 ~ 3 33  & & & & & & & & & & & & & & && 33  3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3&r3          O       %    O                   v                =            m           %yQ           S                &            Q ! " # $ % ' 2 ( - ) * + , . / 0 1 s 3 8 4 5 6 7v 9 : ; < > ` ? I @ C A BQ D E F G Hv J U K P L M N O Q R S TQ V [ W X Y Z \ ] ^ _% a x b m c h d e f g i j k lm n s o p q r t u v w y  z | { } ~  O               f  [            %  %           %  %%  %%  % %% % %  %%  % % % %%  % %%  % %% % %  % % % % % % %%     s          %%   9     % %%  % %% % % % %  % % % % % % % % % %% %  % % %% % % % %  %%%  %%  % %%  % %% %  % % % % % %  %  %%   %  %%  % % % %% % %  % %%%  %%  % % % %%  % ! "%% # $% %% &% '% (% )% *%% + ,%% -% . /%% 0% 1 2%% 3% 4 5% 6%% 7 8%% :%% ; <% =% >%% ? @% A%% B% C% D% E F% G% H% I% J% K% L% M%% N O% P% Q% R%% S% T U%% V W%% X Y% Z%% \ _ ] ^% ` c a b d e } g h i j O k lOO m nO oO p  qO rO sO tOO uO v wOO xO y zOO {O | }O ~OO O  O OO O O  O OO  O O O O O O OOO  O O O O O OO O  O OO  OO  O O O O OO O  OO O  O O O O O O OO O O O O O O O OO O  OO  O O O O O OO O  OO O O  OO O  OO O  OO  O OO O  OO               ̿    i                                                           D   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h j } k n l m o r p qv s z t w u v ! x yv { | ~                 %        %      %                             v        V              U            %  %      v v v v v vv v v v v v v v v v v v v           %   l  L % %%  % % % %%  %%   %    %%  % % % % % %%  % % % %%  % % %%  %%$  %% ! " 3% #% $ %% &% '% (%% )% * +% ,%% -% .% / 0%% 1% 2%$ 4% 5% 6% 7%% 8 9%% :% ; < D =% >%% ?% @ A%% B% C%$ E% F%% G% H% I J% K%$% M% N%% O P% Q% R% S% T% U% V% W% X%% Y Z% [%% \ ]%% ^ _% `%% a b% c% d% e%% f g% h% i%% j k%%$ m  n% o%% p q% r% s% t%% u v% w % x y% z%% { |% }% ~% %%  % %% %  % %%  %% %  % %$% %%  %%   % %  % % % %%  % % % % %% %  % %$% % %%  %% %  % %%  % % %%  % %% %$ % %% %  % % % % % % % % % %%  %%  % % % % %%  %%  % % % % %% %$                       v                 O         v               G          * ' ! $ " # % & ( )% + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < C = > @ ?l A Bl QV Q D E Fy H O I L J K M N% P S Q R3 T U W X w Y h Z a [ ^ \ ]O _ ` b e c d f gv i p j m k lm n o q t r s u v% x y z } { |% ~   Q      %     &  %        s               %     Q  m    O `     Q          %          r              O         >  2 ' ! $ " # % &Q ( + ) *% , / - . 0 1% 3 : 4 7 5 6% 8 9 ; < =O ? Q @ G A D B C% E FO H N I L J K M% O P R Y S V T U% W Xv Z ] [ \  ^ _O a b c z d k e h f g% i j l w m r n o p q s t u v x y { |  } ~Q  O      %     }    %                    Q                    ] m *   O    |  v        Q          }  #A  %    rt    #   r ! " $ ' % & ( )$ + J , ; - 4 . 1 / 0Q 2 3% 5 8 6 7 9 :% < C = @ > ?O A B~5 D G E F H I K ^ L W M T N Q O P R S U VO X [ Y ZU \ ] _ f ` c a brV d e% g j h i k l n o p  q x r u s t% v w y | z { } ~                          O .  O      $ ' $                6          }         D<       6                                  ! " #Z % & ( + ) *% , - / K 0 7 1 4 2 3 5 6 8 H 9 : ; < = > ? @ A B C D E ! F G H p I ^ J V K P L N MW OW Q T R SW5 UC W Z X YZ5 [ ] \ _ f ` c a bW5W d e@(Z g j h it k m l n o() q r | s x t v uW wvW5 y z {W } ~   5W Bf  zBf  5 W5 Z :W )) C Z W Z   W W :v  (( B q  5 5  55 5    ) WBf   z(5 v W     W))(  W    W  W@ WW 55   5W  ) 5 55   5    5( ((      (5  WW    )W  WW " # $ ? % 1 & + ' ) (5 55 * , / - .: 0  2 9 3 6 4 5W 7 8W5 : = ; <5 > @ A E B C D5C F G I JQ L S M P N O Q R T Z U V W X Y [ \ ^ _ ` a t b i c f d e g h j q k n l m o p r sU u | v y w x z {% } ~ O    %    O  O    %                                   _    Q  v 4     O  %               v      (                    % ! & " # $ % 'v ) - * + ,% . 1 / 0 2 3 5 T 6 E 7 > 8 ; 9 :Q < =m ? B @ A C D F M G J H I% K L N Q O Pm R S } U d V ] W Z X Y [ \ ^ a _ ` b c e l f i g h j kq m p n o% q r t ( u  v / w  x  y  z  {  |  }  ~         %         %      m     !                   %        |    O                            O         v              m         O        v                  2  g  >  '           "     ! # $ % & ( 3 ) . * + , - / 0 1 2 4 9 5 6 7 8 s : ; < = ? P @ H A F B C D E G I N J K L Mv O% Q \ R W S T U Vv X Y Z [ ] b ^ _ ` aO c d e f _ h  i  j u k p l m n o q r s t2 v { w x y z | } ~             3           !                   O        Q y      S      c           O              %            Q      $              Q    %       }                    d       D  0  %       ! " # $ & + ' ( ) * , - . / 1 < 2 7 3 4 5 6 8 9 : ; = ? > s @ A B C E W F Q G L H I J KO M N O Pd R S T U V X ` Y ^ Z [ \ ] _O a bd d  e  f r g o h m i j k l n p qS s ~ t y u v w x z { | }   }          m                                                          s       %      %      v             }  }  }    t  }  `  P  0  }  )      }  } }  }  } }       pyӈ } U }  }  } }          } }  # }  }  }v~   } }     }0  }  }  }  }   } }   }  }  } }   } }   }  } }  }0  %   } ! # " } } $ } } & } ' } ( } } * } + } , } - } . } / } } } 1 2 C } 3 4 = } 5 6 : } 7 8 9 } }C ; } < } } } > ? } @ } A B }" D } E } F } G M H J I } }e K L }7} } N } O } }F Q } R } S } T Z } U V } W } X } Y }t } [ } \ } ] } ^ } _ } } a } b } c k d } } e f } } g h } i } } j{ } l } } m } n } o p } q } r s }g } } u } v w } x } } y } z { } | } } } ~ }  }  } }  }  }  } }   }  }  }  }  } }   } }  }  } } ^ }      %        F               }    v      O            _                  m                                                    Q                    Q       4  )  $   ! " #Q % & ' ( * / + , - . 0 1 2 3v 5 ; 6 7 8 9 : < A = > ? @ B C D Ev G  H r I [ J U K P L M N O Q R S T } V W X Y Z \ g ] b ^ _ ` a% c d e fO h m i j k l n o p q s  t z u v w x ym { | } ~ 2       |                                |            y      O    %                        O              v    5                             v            O  !      _                " * # % $  & ' ( )v + 0 , - . /m 1 2 3 4 6 b 7 N 8 C 9 > : ; < = ? @ A B  D I E F G H% J K L MO O Z P U Q R S T } V W X Y [ ] \ ^ _ ` aO c  d  e j f g h i k l mQ nQ oQ pQ qQ rQ sQ tQ uQ vQ wQ xQ yQ zQ {Q |  } Q ~QvQ A Q  }e#Q                             Q                           Q          O              %      ! %               %          Q    O     %                               s     }  $    ! " # % * & ' ( ) + , - .O 0  1 { 2  3 } 4 Q 5 D 6 A 7 < 8 9 : ; = > ? @ B Cv E K F G H I J L M N O P R f S [ T V U W X Y Zv \ a ] ^ _ ` b c d e% g r h m i j k lm n o p q s x t u v w y z { |% ~                m       s %            %               _                 %          #A      +         %          O            v              v          %    Q         %    v             ! & " # $ %O ' ( ) * , Q - ? . 9 / 4 0 1 2 3v 5 6 7 8 : ; < = >O @ K A F B C D EO G H I J L M N O P R i S ^ T Y U V W X Z [ \ ]% _ d ` a b cm e f g h ! j u k p l m n oQ q r s t v w x y z _ | % }  ~                            s  s   {5{5 {5  {5 {5    {5 {5 {5 {5 {5 {5 {5 {5{5 {5 {5 {5 {5 {5 {5 {5 s {5{5 {5 {5 {5 {5 {5 {5 {5{5 {5 {5  {5 {5    S  ,        {5   Ge{5V    {5{5  {59      {5{5{5 *u   {5{5 {5        {5{5z {5{5    ]{5{5:{5 {5    {5  s{5  {5    b{5{5"  {5        {5 J  {5*    e{5{5  {59{5       {5{5      e{5  {5{5       {5 {5 {5    ?{5{5 {5 ! ' " $ #{5 % &{5 ( * ){5G{5 +{5{5 -{5 . H / < 0 7 1 4 2 3{5{5 5 6G{5 8 :{5 9y{5{5 ;{5 = B > @ ?{5{5e{5 A{5 C E D{5y{5 F G{5{5 I{5 J P K M{5 L{5 N O Q{5{5 R:{5 T  U  V p W e X ^ Y [{5 Z:{5 \ ]Ge{5V _ b ` a{5{5 c d{59 f m g j h i{5{5 k l*u n{5 o{5{5 q ~ r x s v t u{5{5z w{5{5 y | z {]{5{5:{5 }{5    {5  s{5  {5    b{5{5"  {5        {5 J  {5*    e{5{5  {59{5      {5{5     e{5  {5{5         {5  {5?    {5  {5      G{5{5    Gy  e{5y {5 {5 {5  {5  {5 {5    R  G          {5 :{5  Ge{5V    {5{5  {59      {5{5  *u {5 {5{5        {5{5z {5{5    ]{5{5:{5 {5    {5  s{5  {5    b{5{5"   {5  *      {5 J  {5*    e{5{5  {59{5  #  !   {5{5 " $ ' % &e{5 ( ){5{5 + : , 3 - 0 . / {5 1 2{5? 4 7 5 6{5 8 9{5 ; @ < ? = >G{5{5 A D B CGy E Fe{5y H{5 I{5 J{5 K N{5 L M{5 O{5 P Q S{5 T{5 U t V e W ^ X [ Y Z  \ ]{5 _ b ` a{5 s c d{5e f m g j h i{5 k l?9 n q o pJG r s{5{5 u{5 v | w z x y{5{5 {V }  ~{5 {5{5e s  s  s  s  s  s  s  s  s  s   s       s  s   _ s  s    s  s s s   s  s   s{5{5 s  s  s  s s  s{5              Q       %    y      S    v                              %      _                                     %            "        !| # $O & { ' Q ( ? ) 4 * / + , - . 0 1 2 3 5 : 6 7 8 9O ; < = > @ K A F B C D E G H I J L M N O P% R i S ^ T Y U V W X Z [ \ ] _ d ` a b c e f g hO j p k l m n o% q v r s t u  w x y z |  }  ~           3                    O    O          |            }            Q          O      =    0         r          m         m                                           }  #       }    ! " $ % & ' ( ) * + , - . / 1 ` 2 I 3 > 4 9 5 6 7 8 : ; < = ? D @ A B Cv E F G H J U K P L M N OO Q R S T% V [ W X Y Z  \ ] ^ _ a x b m c h d e f g i j k l# n s o p q r t u v wO y  z  { | } ~                             !$      3                                    %      O                %                                    %    %      v          &              !     % " # $ % ' 2 ( - ) * + , . / 0 1 3 8 4 5 6 7O 9 : ; < >  ?  @ b A P B M C H D E F G I J K L N O Q W R S T U V X ] Y Z [ \ s ^ _ ` a| c w d o e j f g h i k l m n p r q% s t u v% x  y ~ z { | }     }   O    #A                                                                   &Y             m          d      5                O                      %     !      _             " * # % $ & ' ( ) + 0 , - . / 1 2 3 4 6 ] 7 F 8 ; 9 :% < A = > ? @ B C D EO G R H M I J K L% N O P Q S X T U V W Y Z [ \ ^ u _ j ` e a b c d f g h i k p l m n o q r s t v  w | x y z { } ~  m      %      "    }      w  e  _  Z   % % % % % % % % % % % %    f   %%   %  % % % % %% %  % %%  %% %  %% %$ %     %   %% %  % % % %%  %%  %$% % % % % % %%  %%  %% %$ % % % % % % % % %%  %%  %%$%   %  % % % % %%  % % % %% $% % % % % % %%  % % %% % %$  &%   %  % % %  %%   %  %%  % %%  %%  % %$%%  % % % %%  %%  % %  % !%% " #%% $ %%%$ ' 9 (%% ) *% +% ,% -% .% /% 0% 1% 2%% 3 4% 5% 6% 7% 8%$% : K% ; <% =% >% ?%% @ A%% B% C D%% E% F% G% H I%% J$% L% M% N% O% P% Q% R \ S% T%% U V% W% X% Y% Z% [%%$% ]% ^% _% ` a%% b c%% d e%$% g  h  i  j% k { l% m% n% o% p% q% r%% s% t% u% v% w% x% y% zy$% |% }% ~% %   % %%  % % %%  %%  %%$ % % %%  %%  %%  % %$%% %  % % % % %   % % % %% %  %% % $%%  %% % % % %  % %$% %     % % % % % % % % % %% % % % % $% % % % %%  % % %%  %%  %%  % %%$   % % % % % % % %% %  %%  %% % $% % % % % %% %  % %% %  %% % % $% %% % %  % % % % % % % % % % % % % %%  %$  3  %   % %  % % % % % % % %% %  % %%  %% % %$ !% "% #% $% %% &% '% (% )% *% +% ,%% - .% /%% 0% 1 2%%$ 4% 5% 6 H% 7 8% 9% :% ;% <% =% >% ?% @% A% B% C% D%% E F% G%$%% I J% K% L% M% N%% O% P Q%% R% S T% U% V%% W X% Y%$% [ \ ] ^ ` a b c d f q g l h i j k% m n o p r s t u v% x  y | z { } ~                                       %        #A      O                %            v              !$  5             O   Q            $                                        *  % ! " # $ & ' ( ) + 0 , - . / 1 2 3 4  6 _ 7 K 8 @ 9 ; :O < = > ? A F B C D E G H I J  L T M O N  P Q R S U Z V W X Ym [ \ ] ^v ` t a l b g c d e f h i j kv m r n o p q s u z v x w| y ! { | ~ Y                            O                        %      m    2     O    O           v  5              %       *  (                         W                   Wez    @   btez   @   bt         ! " # $ % & 'I ) + 0 , - . /  1 2 3 4v 6 E 7 ? 8 = 9 : ; < >% @ A B C D F Q G L H I J K~5 M N O P R W S T U VQ Xm Z  [  \ k ] ` ^ _O a f b c d e } g h i j l w m r n o p q!$ s t u v x } y z { | ~   O              %                     %                    }                                      Q      %                     3  !_   Q  %        %    %              %      ! " # $ & : ' / ( * )v + , - .v 0 5 1 2 3 4 6 7 8 9 ; F < A = > ? @ B C D E G L H I J K M N O P R ~ S j T _ U Z V W X Y [ \ ] ^ ` e a b c d f g h i!$ k v l q m n o p } r s t u% w | x y z { }                  Y    !$        v    m     !                          m     !$              } !       v    %  ! ! ! ! ! ! ! ! !  !  !  !   ! !8 ! !& ! ! ! ! ! ! ! ! ! ! ! ! _ ! !! ! ! ! !  !" !# !$ !% !' !2 !( !- !) !* !+ !,% !. !/ !0 !1 !3 !4 !5 !6 !7O !9 !K !: !E !; !@ !< != !> !? !A !B !C !D !F !G !H !I !JO !L !W !M !R !N !O !P !Q| !S !T !U !V !X !Z !Y  ![ !\ !] !^% !` "# !a ! !b ! !c ! !d !o !e !j !f !g !h !i !k !l !m !n !p ! !q !r !s !t !u !vO !wO !xO !yO !zO !{O !|O !}OO !~O !O !O ! !OO ! !OO ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !_ ! ! ! ! ! ! ! ! ! !O ! ! ! ! ! ! !O ! ! ! ! ! !O ! ! ! !v ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !C ! ! ! ! ! !O ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !v ! ! ! ! ! " ! " ! ! ! ! ! ! ! ! ! "s " " " " " " " "  "  "  " " " " " " " " " " " " " " " " " " " "  "! ""r "$ "u "% "T "& "= "' "2 "( "- ") "* "+ ", ". "/ "0 "1 "3 "8 "4 "5 "6 "7% "9 ": "; "<% "> "I "? "D "@ "A "B "C "E "F "G "H "J "O "K "L "M "N  "P "Q "R "S "U "a "V "Y "W "X "Z "_ "[ "\ "] "^O "` "b "m "c "h "d "e "f "g "i "j "k "l "n "p "o "q "r "s "tv "v " "w " "x " "y "~ "z "{ "| "}Q " " " "v " " " " " " " " " " " " " " " " " " " " " " " "% " " " " " " " " " " s " " " " " " " " " " " " " " " " " " " " " " " " " " " "2 " % " $ " # " #) " " " " " " " " " " " " "$ " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "I " " " " " # " # # # # # # ##A # # # #  # # #  # # # #$ # # # # # # # #m # # # # # #$ #  #! #" ## s #% #& #' #( #* #f #+ #B #, #7 #- #2 #. #/ #0 #1 #3 #4 #5 #6#A #8 #= #9 #: #; #< #> #? #@ #AO #C #[ #D #F #E #G #H #I #J #K #Lv #Mvv #Nv #O #Pvv #Q #Rvv #S #Tv #Uv #Vv #Wv #Xv #Yv #Zvv. #\ #a #] #^ #_ #` #b #c #d #e% #g #v #h #p #i #k #j ! #l #m #n #o #q #r #s #t #u  #w # #x #} #y #z #{ #| ! #~Q # # # # # #% # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #_ # # # # # # # # # # # #8 # # # #O # # # # # # # # # # # # # # # # # } # # # # # # # # # # # # # # # # # # #v # # # # # # # # # # # #  # # # #% # # # # # # # # # #m # $ # # # #| # $ #3 $ $ $ $% $ $ $ $ $ $  $  $  $  $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $q $ $> $ $, $! $) $" $$ $# $% $& $' $(3 $* $+  $- $3 $. $/ $0 $1 $2% $4 $9 $5 $6 $7 $8| $: $; $< $=O $? $b $@ $H $A $F $B $C $D $E_ $G $I $] $J $K% $L% $M% $N $O% $P% $Q% $R $Y $S $V $T%% $Ue%% $W $X% $Z%% $[% $\%x $^ $_ $` $am $c $f $d $e $g $l $h $i $j $kO $m $n $o $p $r $ $s $ $t $w $u $v $x $} $y $z ${ $| $~ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $  $ $ $ $ $ $ $U $ $ $ $% $ $ $ $ $ $| $ $ $ $ $ $ $ $ $ $ $ $Q $ $ $ $ $ $d $ % $ $ $ $ $ $ $ $ $ $ $ $O $ $ $ $% $ $ $ $ $ $ $ $ $ $ $ $ $ $ $O $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $U $ $ $ $O $ $ $ $ $  $ % $ $ $ $ $ $  $ $ % %  % % % % % % %- % % % % % %  % % %O % % % % s % %" % % % % % % % % %  %! %# %( %$ %% %& %' %) %* %+ %,% %. %{ %/ %p %0 %K %1 %2 %3 %E %4 %5 %6 %7 %8 %9 %: %; %< %= %> %? %@ %A %B %C %Dp %F %G %H %I %J! %L %M %NQ %OQ %PQ %QQ %RQ %SQ %TQ %UQQ %V %WQQ %X %YQ %ZQQ %[Q %\ %]Q %^Q %_QQ %` %aQ %bQ %cQ %dQ %eQ %fQ %gQ %hQ %iQ %jQ %kQ %lQ %mQ %nQ %oQsQ %q %v %r %s %t %u %w %x %y %z  %| % %} %~O % % % % % % & % &- % % % % % % % % % % % % % % % % % % % % % % % % % % % %_ % % % % % % % %Q % % % % % % % % % % % % % %% % % % % % % % s % % % % % % % % % % % % % %# % % % % % % % % % % % % % % % % % % % % % % % & % % % % % % % %O % % % % % % % % % % % % % % % % %v % & & & & & & & & & & & & & & & &  & & &O & & & & & & & & & &% & & &' & &% &! &" &# &$ && &( &) &* &+ &, &. & &/ &[ &0 &D &1 &9 &2 &4 &3m &5 &6 &7 &8 &: &? &; &< &= &> &@ &A &B &C &E &P &F &K &G &H &I &J &L &M &N &O  &Q &V &R &S &T &UO &W &X &Y &Z  &\ &p &] &e &^ &` &_% &a &b &c &dv &f &k &g &h &i &j &l &m &n &oS &q &| &r &w &s &t &u &v &x &y &z &{v &} &~ & & &O & & & & & & & & & & & & & & & & & & & & & & & & & & } & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & &% & & & & & & & & & &$ & & & & & & & & &O & & & &O & & & & & & & & & & s & 'n & '# & & & & & & & & & & & & &% & & & & & & & } & & & & & & ' & ' & & & & ' ' ' ' ' ' ' ' '  '  ' % ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '  '! '" '$ 'D '% '2 '& ', '' '( ') '* '+ '- '. '/ '0 '1% '3 '9 '4 '5 '6 '7 '8 ': '? '; '< '= '> '@ 'A 'B 'C% 'E '\ 'F 'Q 'G 'L 'H 'I 'J 'K 'M 'N 'O 'P  'R 'W 'S 'T 'U 'V 'X 'Y 'Z '[ '] 'h '^ 'c '_ '` 'a 'b 'd 'e 'f 'g 'i 'j 'k 'l 'm 'o ' 'p ' 'q '~ 'r 'x 's 't 'u 'v 'w 'y 'z '{ '| '}% ' ' ' ' ' ' ' 'Q ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '% ' ' ' ' ' ' ' ' ' ' s ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '  ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 'S ' ' ' ' ' ' ' ' 'v ' ' ' ' ' 'Q ' ' ' '  ' ' ' ' ' ' ' ' ' ' 'Q ' ' ' ' ' ' ' ' ( ' ' ' ' ' ' ( ( ( (O ( ( ( ( ( ( O (  (  (  ( ( 7E ( 1 ( - ( , ( +j ( ( ( (B ( (. ( (# ( ( ( ( ( ( ( (  (! (" ($ () (% (& (' (( (* (+ (, (- (/ (7 (0 (5 (1 (2 (3 (4 (6 (8 (= (9 (: (; (< (> (? (@ (A (C (e (D (J (E (F (G (H (I (K (P (L (M (N (O (Q (R (S (T (U (V (W (X (Y (Z ([ (\ (] (^ (_ (` (a (b (c (d (f ( (g ( (h (i (j (k (l (m (n (o (p (q ( (r ( (s  (t (u (v (w (x (y (z ({ ( (| (} (~ ( ( ( ( ( ( ( ( ( ( ( ( (W ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (W ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (5 ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (W ( ( ( ( ( ( ( ( ( ( ) ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( s ( ( ( ( ( ( ( ( ( ( ) ( ( ( ( ) ) ) ) ) ) ) ) ) ) )  )  )  )  ) ) ) ) ) ) ) ) ) ) ) ) ) )O ) )$ ) )  )! )" )# )% )& )' )( )) )* )+ ), )- ). *% )/ )0 )1 ) )2 )3 )4 )` )5 )F )6 );u )7 )8u )9 ):uu )< )@ )= )?u )>uu )A )C )Buu )D )Euu )G )S )H )M )I )K )J )LGG )N )P )O G )Q )RGZ4 )T )Z )U )W )V L )X )Y L )[ )] )\ )^ )_u G )a )} )b )o )c )i )d )g )e )f =c )h )j )m )k )l j )nb )p )v )q )t )r )s: )u Z )w )z )x )y e ){ )|$ )~ ) ) )u ) ) ) ) ) ) ) ) ) ) ) ) ) )GG ) G ) ) ) )GZ4 ) L ) ) ) ) ) ) L ) ) ) ) )u G ) ) =c ) ) ) ) ) ) ) ) ) j ) ) )b ) ): )u ) ) ) Z ) ) eu ) ) ) ) ) ) )u )uu ) )u ) ) ) ) ) )u )u$u ) ) )u ) ) ) ) ) ) )uu ) )u ) ) * ) ) ) ) ) ) ) ) )GG ) G ) ) ) )GZ4 ) L ) ) ) ) ) ) L ) ) ) ) )u G ) ) =c ) * ) ) ) ) ) ) ) j ) ) )b ) ): *u * * * Z * * eu * * * * * * * u * uu * *u * * * * * *u *u$u * * *u * * * *" * * *!uu *# *$u *& * *' *( *z *) ** *+ *\ *, *G *- *9 *. *3 */ *1 *0GG *2 G *4 *7 *5 *6GZ4 *8 L *: *@ *; *> *< *= L *? *A *D *B *Cu G *E *F =c *H *U *I *O *J *L *K *M *N j *P *R *Qb *S *T: *Vu *W *Y *X Z *Z *[ eu *] *q *^ *h *_ *b *`u *auu *c *eu *d *f *g *i *l *ju *ku$u *m *o *nu *p *r *s *w *t *u *vuu *x *yu *{ *| *} * *~ * * * * * * * *GG * G * * * *GZ4 * L * * * * * * L * * * * *u G * * =c * * * * * * * * * j * * *b * *: *u * * * Z * * eu * * * * * * *u *uu * *u * * * * * *u *u$u * * *u * * * * * * *uu * *u * * + * * * + * * * * * * * * *GG * G * * * *GZ4 * L * * * * * * L * * * * *u G * * =c * * * * * * * * * j * * *b * *: *u * * * Z + + eu + + + + + +u +uu + + u +  + +  + + +u +u$u + + +u + + + + +J + +4 + +( + +" + + +GG +! G +# +& +$ +%GZ4 +' L +) +. +* +, ++ L +- +/ +2 +0 +1u +3 G = +5 +C +6 +< +7 +9 +8c +: +; j += +@ +> +?b +A +B: +D +I +E +G +F Z +H eu +K +_ +L +S +M +Pu +Nu +Ouu +Qu +Ru +T +Z +U +W +Vu +X +Yu +[ +] +\u$uu +^u +` +a +g +b +e +c +duu +f +h +iu +k + +l + +m + +n +y +o +t +p +q +r +s +u +v +w +xO +z +| +{ +} +~ + +% + + + + + + + + +O + + + + + + + + + + + + + + + + + + + + +Q + + + + + +v + + + +  + + + + + + +Q + + +% + + + + + + + + + + + + + + + +Q + + + +v + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +m + + + + +_ + , + , + + + +v , , , ,S , , ,2 ,  ,  ,  , q , , , ,d , ,: , ,( , , , , , , , , , , , ,d , ,# , ,  ,! ," ,$ ,% ,& ,'% ,) ,/ ,* ,+ ,, ,- ,. ,0 ,5 ,1 ,2 ,3 ,4 ,6 ,7 ,8 ,9 ,; ,R ,< ,G ,= ,B ,> ,? ,@ ,A s ,C ,D ,E ,F ,H ,M ,I ,J ,K ,L ,N ,O ,P ,Q# ,S ,^ ,T ,Y ,U ,V ,W ,X ,Z ,[ ,\ ,] ! ,_ ,` ,a ,b ,c% ,e , ,f , ,g ,z ,h ,u ,i ,j ,k ,l ,m ,n ,o ,p ,q ,r ,s ,ty ,v ,w ,x ,y ,{ , ,| ,} ,~ ,% , , , , , , , , , , , , } , , , , , , , , , , , , , , , , , , , , , , , , , , , Q , , ,'\ , , , ,% , , , , , , , , , , , , , ,v , , , , ,* , , , , , , , , , , , , , , , -B , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , - , - , - , - - - - - - - } - - - v -  -  - - - -< - - - - - -O - - - - - - - - -  -! -" -# -$ -% -& -' -( -) -* -+ -, -- -. -/ -0 -1 -2 -3 -4 -5 -6 -7 -8 -9 -: -;& -= -> -? -@ -A -C -h -D -V -E -P -F -K -G -H -I -J -L -M -N -O -Q -R -S -T -Um -W -b -X -] -Y -Z -[ -\ -^ -_ -` -a -c -d -e -f -gv -i -s -j -m -k -l -n -o -p -q -r -t -| -u -w -v -x -y -z -{% -} -~ - - - - 0h - . - . - .k - - - - - - - - - - - - - -Q - - - - - - - - - -O - - - - - - - -  - - - -Q - .f - - - - - - .V -| -| -| -| - .# - . - - - - - - - -P - -| -|| -| - - - -|| - -|| - -| -|| - -|| -| - - - - -| - - | -| | -| -| -| || -| - -P - -}} -} - -} -} -} -} -} -} -} -} -} -} -} -} -} -} -} -}rf} - - - -|P}5 - - }"}b - - - - - -}B - -|xA}p . . . .}5S } . .}}}}% . . . . . . . . r  | . .  |}E . . . .4 7 . .}bPf4 . . . . . .| P . r . .! . .  rr | ."} .$ .@ .% .1 .& .+ .' .)| .(Z | .*B} ., ..| .- }5 ./ .0z}| { .2 .9 .3 .6 .4 .5M }5B .7 .8E% { .: .= .; .<Ϣ%# .> .?|E ϓ .A .O .B .I .C .F .D .E|}|7 .G .H |"| .J .L .K T .M .N}5Te .P| .Q .T .R .S%| .U|S .W| .X|| .Y| .Z .[| .\|| .]| .^ ._| .`|| .a .brfrf .c .d .erf P .g .h .i .j .l . .m .x .n .s .o .p .q .r .t .u .v .wr .y .~ .z .{ .| .} . . . .% . . . . . . . .O . . . .v . . . . . . . . . . } . . . . . . . . . . . . . . . . . . . . . .# . . . .O . . . . . . . . . . . . .O . . . .| . . . . . . . . . . . . . . . . . . . . . . . .#A . . . .  . . . . . . . . . .% . 0 . / . / . . . . . . . . . . . .| . . . . / / / / / / / / /% /  /  /  / 2 / / / / / / / / / / / / / / / / / / / / / /  /! /_ /" /# /$ /K /% /8 /& /' /( /) /* /+ /, /- /. // /0 /1 /2 /3 /4 /5 /6 /7Z /9 /: /; /< /= /> /? /@ /A /B /C /D /E /F /G /H /I /JZ /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /[ /\ /] /^Z /` /v /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /uZ /w /x /y /z /{ /| /} /~ / / / / / / / / / / / / /Z / / / / / / / / / / / / / / / / / / / / / / / /Z / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /Z /} /}} / /} /} / /} / /} /}} /} / /} /}} /} /}D, /} /} /} /} /}} /} / /}} /D,} / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /  0 0 0 0 0 0 0 0 0 0 m 0 0: 0 0# 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0S 0 0  0! 0"v 0$ 0/ 0% 0* 0& 0' 0( 0) 0+ 0, 0- 0.m 00 05 01 02 03 04 06 07 08 09 0; 0R 0< 0G 0= 0B 0> 0? 0@ 0A 0C 0D 0E 0F 0H 0M 0I 0J 0K 0L 0N 0O 0P 0Q2 0S 0^ 0T 0Y 0U 0V 0W 0X 0Z 0[ 0\ 0]v 0_ 0c 0` 0a 0b| 0d 0e 0f 0g 0i 1 0j 0 0k 0 0l 0{ 0m 0p 0n 0o 0q 0v 0r 0s 0t 0u 0w 0x 0y 0z 0| 0 0} 0 0~ 0 0 0 0 0 0 0 0 0| 0 0 0 0 0 0 0 0 0 0 0 0 0 0Q 0 0 0 0 0O 0 0 0 0 0% 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0O 0 0 0 0 0 0 0 0Q 0 0 0 0m 0 0 0 0 0 0 0m 0 0 0 0 0 0 0 0 0 0 0 0 0 0 } 0 0 0 0 0 0% 0 0 0 0r 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1x 1 1) 1 1 1 1 1 1 1 1 1 1  1  1  1  1 1 1 1 1 1 1| 1 1 1 1 1 1& 1 1! 1 1 1 1  1" 1# 1$ 1% 1' 1(  1* 1a 1+ 16 1, 11 1- 1. 1/ 10% 12 13 14 15 17 1\ 18 19 1: 1; 1< 1= 1> 1? 1@ 1A 1B 1C 1D 1E 1F 1G 1H 1I 1J 1K 1L 1M 1N 1O 1P 1Q 1R 1S 1T 1U 1V 1W 1X 1Y 1Z 1[ɓ 1] 1^ 1_ 1`O 1b 1m 1c 1h 1d 1e 1f 1g2 1i 1j 1k 1l 1n 1s 1o 1p 1q 1r 1t 1u 1v 1w_ 1y 1 1z 1 1{ 1 1| 1 1} 1~ 1 1q 1 1 1 1 1 1% 1 1 1 1 1 1 1 1 1 1 1 1Q 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1Q 1 4 1 3 1 2h 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1Q 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1% 1O 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1" 1 1 1 1 } 2 2 2 2 2 2 2 2 2 2 2  2   2  2  2 2 2 2 29 2 2% 2 2 2 2 2 2 2 ! 2 2 2 2 2 2O 2! 2" 2# 2$ 2& 21 2' 2, 2( 2) 2* 2+ 2- 2. 2/ 20 22 24 23O 25 26 27 28 2: 2Q 2; 2F 2< 2A 2= 2> 2? 2@  2B 2C 2D 2E 2G 2L 2H 2I 2J 2K  2M 2N 2O 2Pv 2R 2] 2S 2X 2T 2U 2V 2W 2Y 2Z 2[ 2\ 2^ 2c 2_ 2` 2a 2b 2d 2e 2f 2g_ 2i 2 2j 2 2k 2} 2l 2w 2m 2r 2n 2o 2p 2q 2s 2t 2u 2v 2x 2y 2z 2{ 2| 2~ 2 2 2 2 2 2 2m 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2% 2 2 2 2m 2 2 2 2 2 2 2 2O 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2O 2 2 2 2% 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2O 2 2 2 2 2 2 2 2 2 2 2O 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 2 3 3 3 3 3 3 3 3 3 34 3 3 3 3 3 3 3  3  3 3  3 3 3 3 3 3 3 3 3 3 3 3 3 3 3! 3) 3" 3' 3# 3$ 3% 3&Q 3( 3* 3/ 3+ 3, 3- 3.O 30 31 32 33 35 3t 36 3A 37 3< 38 39 3: 3; 3= 3> 3? 3@% 3B 3C 3D 3E 3F 3G 3H 3I 3J 3K 3X 3L 3M 3N 3O 3P 3Q 3R 3W 3S 3T 3U 3V 74 3Y 3Z 3[ 3\ 3] 3^ 3_ 3` 3a 3b 3cB 3d 3e 3f 3g 3h 3i 3j 3k 3l 3m 3n 3o 3p 3q 3r 3sX 3u 3 3v 3{ 3w 3x 3y 3z 3| 3} 3~ 3 3 3 3 3 3 3 3 3  3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3% 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 ! 3 3 3 3% 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 } 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4o 3 4L 3 3 3 3 3 3 3 3 3O 3 3 3 3 3 3| 3 3 3 3O 3 3 3 3 3 3 3 3Q 3 3 3 3 3 3 3 3 3 3O 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4  4  4 4 4 4 4 4 4 4#PywE 4 44'>T 4 4 4 4lzɓ 4 4.zFV 4 4 4OQS 4 46 4! 4" 4# 42 4$ 4+ 4% 4( 4& 4'#PywE 4) 4*4'>T 4, 4/ 4- 4.lzɓ 40 41.zFV 43 44 45OQS 47 48 49 4H 4: 4A 4; 4> 4< 4=#PywE 4? 4@4'>T 4B 4E 4C 4Dlzɓ 4F 4G.zFV 4I 4J 4KOQS 4M 4^ 4N 4S 4O 4Q 4P% 4R 4T 4Y 4U 4V 4W 4XO 4Z 4[ 4\ 4]O 4_ 4g 4` 4b 4a 4c 4d 4e 4f% 4h 4j 4i 4k 4l 4m 4n 4p 4 4q 4 4r 4} 4s 4x 4t 4u 4v 4w 4y 4z 4{ 4|  4~ 4 4 4 4 4 4 4 4 4% 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4% 4  4 4 4 4 4 4 & 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4T 4 60 4 5 4 5 4 5 4 4 4 4 4 4 4 4 4 4 4 4Q 4Q 4Q 4Q 4 4 4 4 4 4}Q 4 4Q 4Q 4Q 4Q 4Q 4Q 4QQQ 4QA 4Q 4 4Q 4 4 4 4 4 4 4 4  4 4 4 4 4 4 4 42 4 4 4 4  5 5 5 5 5 5 5 5 5 5 5  5  5  5  5  5 5 5 5 5 5 5 5P 5 5 5 5 5 56 5 5 5 5 5 5 5. 5 5% 5! 5" 5# 5$  5& 5+ 5' 5) 5( 5*  5, 5-  5/ 50 53 51 52  54 55  57 58 59 5: 5; 5< 5H 5= 5A 5> 5? 5@  5B 5E 5C 5D  5F 5G  5I 5J 5M 5K 5L  5N 5O  5Q 5f 5R 5S 5T 5U 5V 5W 5X 5Y 5Z 5[ 5\ 5a 5] 5^ 5_ 5`  5b 5c 5d 5e  5g 5h 5i 5j 5k 5l 5m 5n 5o 5p 5q 5v 5r 5s 5t 5u 5w 5{ 5x 5y 5z 5| 5} 5~ 5 5 5 5 5 5 5 5 5 5 5 5 5Q 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5v 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5% 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5% 5 5 5 5 5 5 5 5 5 5 5 5% 5 5 5 5 5 5 5 5 5 5 5 5 5 5  5 5 5 5 5 5 5 5 5 5 5 5% 6 6 6 6 6O 6 6 6 6 6 6  6  6  6  6 U 6 6 6 6v 6 6 6 6 6O 6 6# 6 6 6 6O 6 6 6  6! 6" 6$ 6* 6% 6& 6' 6( 6) 6+ 6, 6- 6. 6/O 61 6 62 6 63 6v 64 6A 65 6; 66 67 68 69 6: 6< 6= 6> 6? 6@O 6B 6E 6C 6D% 6F 6G 6H 6I 6J 6K 6L 6M 6N 6O 6P 6Q 6R 6S 6T 6U 6V 6n 6W 6b 6X 6_ 6Y 6\ 6Z 6[   6] 6^u 6` 6aK 6c 6i 6d 6g 6e 6fu  6hw 6j 6l 6k#g 6m$ 6o 6p 6q 6s 6r1 6t 6u| 6w 6 6x 6~ 6y 6z 6{ 6| 6} 6 6 6 6 6v 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6$ 6 6 6 6 6 6 6O 6 6 6 6 6O 6 6 6 6 6 6 6 6 6 6 6#A 6 6 6 6 6 6 6O 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6O 6 6# 6 6 6 6v 6 6 6 6 6O 6 7 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 6 7 7 7 7 7 7 7 7 7  7 78 7 72 7  7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7! 7" 7# 7$ 7% 7& 7' 7( 7) 7* 7+ 7, 7- 7. 7/ 70 71 73 74 75 76 77O 79 7? 7: 7; 7< 7= 7> 7@ 7A 7B 7C 7D 7F :` 7G 8 7H 8 7I 7 7J 7{ 7K 7c 7L 7V 7M 7P 7N 7O 7Q 7R 7S 7T 7U 7W 7] 7X 7Y 7Z 7[ 7\ 7^ 7_ 7` 7a 7b 7d 7n 7e 7k 7f 7g 7h 7i 7j } 7l 7m% 7o 7u 7p 7q 7r 7s 7t 7v 7w 7x 7y 7z 7| 7 7} 7 7~ 7 7 7% 7 7 7 7 7  7 7 7 7 7 7 7O 7 7 7 7 7O 7 7 7 7 7 7 7 7 7Q 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 } 7 7 7 7 7 7 7 7 7 7 7 7| 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7O 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 } 7 7 7 7 7 7 8 7 7 7 7 7 7 7 8 8r 8 8 8 8Q 8 8 8 8j 8 8< 8 8$ 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8! 8 8 8 8 8  8" 8#v 8% 8/ 8& 8) 8' 8( 8* 8+ 8, 8- 8. 80 86 81 82 83 84 85 87 88 89 8: 8; 8= 8U 8> 8K 8? 8E 8@ 8A 8B 8C 8D 8F 8G 8H 8I 8J 8L 8O 8M 8N 8P 8Q 8R 8S 8T 8V 8c 8W 8] 8X 8Y 8Z 8[ 8\d 8^ 8_ 8` 8a 8b 8d 8g 8e 8f# 8h 8i 8k 8 8l 8~ 8m 8t 8n 8q 8o 8p% 8r 8s 8u 8x 8v 8w# 8y 8z 8{ 8| 8} 8 8 8 8 8 8 8 8 8 8 8 8 8 8Q 8 8 8 8 8 8 8 ! 8 8 8 8 8 8 8 8 8 8 8 8 8% 8 8% 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 8 9- 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8% 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8O 8 9 8 9 8 9 8 9 9 9 9 9 9 9 9 9  9 9 9  9  9 9 9O 9 9 9 9 9# 9 9 9 9 9 9 9 9 9 9  9! 9"O 9$ 9* 9% 9& 9' 9( 9)v 9+ 9, 9. 9\ 9/ 9G 90 9: 91 97 92 93 94 95 96% 98 99 9; 9A 9< 9= 9> 9? 9@q 9B 9C 9D 9E 9F"  9H 9U 9I 9O 9J 9K 9L 9M 9N 9P 9Q 9R 9S 9TQ 9V 9Y 9W 9X% 9Z 9[ 9] 9r 9^ 9h 9_ 9b 9` 9aO 9c 9d 9e 9f 9g 9i 9o 9j 9k 9l 9m 9n 9p 9q 9s 9 9t 9z 9u 9v 9w 9x 9y 9{ 9| 9} 9~ 9 9 9 9 9 9 9 9Q 9 9Q 9 : 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9% 9 9 9 9 9 9 9 9 9Q 9 9 9 9 9% 9 9 9 9 9 9 9% 9 9 9 9% 9%% 9% 9 9 9% 9% 9 9% 9 9 9$%$$ 9$% 9% 9% 9% 9 9 9$%$$ 9$% 9 9 9 9 9 9 9 9 9 9 9 9 9v 9 9 9 9 9 9 9 } 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9% 9 9 9 9 9m : :/ : : : : : : : : : : : O :  :  :  : : : : : :m : : : : : : :% : :" : : : :  :! :# :$W :& :) :' :(2 :* :+ :, :- :. :0 :H :1 :> :2 :8 :3 :4 :5 :6 :7 :9 :: :; :< := :? :E :@ :A :B :C :D :F :G :I :S :J :M :K :L2 :N :O :P :Q :R :T :Z :U :V :W :X :Y :[ :\ :] :^ :_% :a =k :b ;[ :c : :d : :e :z :f :s :g :m :h :i :j :k :l :n :o :p :q :r :t :u :v :w :x :y :{ : :| : :} :~ : : : : : : : : : : : : : : : : :% : : : : : : : : : : :s : : : : : : : : : : : : : : : : :x : : : : : : : : :% : : : : : : : : : : : : : : : : : : : : :C : : : : : : : & : : : : : : ; : : : : : : : : : : : :% : : : : : : : : : : : : : : : : : : : : : : : : : ; ; ; ; ; ;@ ; ;3 ; ;- ; ;  ;  ;  } ;  } ;  } ; } ; } ; } ; } ; } ; } ; } } ; ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ;  } ;! } ;" } ;# } ;$ } ;% } ;& } ;' } ;( } ;) } ;* } ;+ } ;, }  } ;. ;/ ;0 ;1 ;2 ;4 ;: ;5 ;6 ;7 ;8 ;9 ;; ;< ;= ;> ;? ;A ;N ;B ;H ;C ;D ;E ;F ;G ;I ;J ;K ;L ;M ;O ;U ;P ;Q ;R ;S ;T ;V ;W ;X ;Y ;Z ;\ ; ;] ; ;^ ;s ;_ ;i ;` ;f ;a ;b ;c ;d ;e ;g ;h ;j ;m ;k ;l% ;n ;o ;p ;q ;r ;t ; ;u ;{ ;v ;w ;x ;y ;z ;| ;} ;~ ; ;v ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;  ; ; ; ; ; ; ;WW ; ;WW$ ; < ; < ; ; ; ; ; ; ; ; ;3 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;y ; ; ; ; ; < < < <O < < < < < < <  <  < % <  < < < < < < < < < < < < < < < <O < =% <@v v <v <v> <v <v <vv < < < <vz <zvv <v <vz <v <v <v <vv < < <vv <v <v < = < = < = <v <v <vv < < = < < <zvzz =zvv =v =vz =v =v =vv = = = = v = vv = v =vv = =v =v =vv = =v =v =v =v =v =v =v =vv = = =" = v =!:v:v =#v =$v: =& =0 =' =- =( =) =* =+ =,Q =. =/  =1 =7 =2 =3 =4 =5 =6 =8 =9 =: =; =< == => =\ =? =@ =U =A =K =B =H =C =E =D  =F =G =I =Ju =L =S =M =P =N =O =Q =R K =Tu =V =W =X =Z =Y =[| =] =^ =_ =` =a =b =c =d =e =f =g =h =i =j  =l >- =m = =n = =o = =p =z =q =t =r =s =u =v =w =x =y ! ={ = =| =} =~ = = } = = = = =Q = = = = = = = = = = = = = = = = = =# = = = = = = = = = = = = = = = =% = = = = = = = = = = = = = = = = = = = = = = = = = = = = =m = = = = = = = = = = = = = = = s = = = = =Q = = = = = = = = =O = = = = = = = = = = = = = = = = = =% = = = = = = > = > = > > > > > >Q > > > >  > O > > >  > > > > > > > > > > ># > > > > > > >  >! >" >$ >* >% >& >' >( >) >+ >, >. > >/ >] >0 >H >1 >> >2 >8 >3 >4 >5 >6 >7 >9 >: >; >< >= >? >B >@ >A >C >D >E >F >G| >I >S >J >M >K >L >N >O >P >Q >R >T >W >U >V >X >Y >Z >[ >\O >^ >s >_ >i >` >c >a >b } >d >e >f >g >h } >j >p >k >l >m >n >o >q >r# >t >~ >u >{ >v >w >x >y >z >| >} > > > > > > >m > > > > > > > > > > > > > > > > > > > > d > > > > > > > > > > > > > > >2 > > > >% > > > > >O > > > > > > > > >U > > > > >% > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >O > > > > > > > > > > > > > > > > > > > > > > > > > > > >% > > _ ? U ? C ? AH ? @ ? ? ? ?D ? ?% ? ? ? ? ? ? ?  ? % ?  ? } ? ? ? ? ? ? ? ? ? ? ? ? ? ? } ? ?" ?  ?!O ?# ?$ ?& ?5 ?' ?. ?( ?+ ?) ?* ?, ?- ?/ ?2 ?0 ?1 ?3 ?4 ?6 ?= ?7 ?: ?8 ?9 ?; ?< ?> ?A ?? ?@ } ?B ?C ?E ?g ?F ?U ?G ?N ?H ?K ?I ?J ?L ?M ?O ?R ?P ?Q ?S ?T ?V ?] ?W ?Z ?X ?Yv ?[ ?\ ?^ ?a ?_ ?`% ?b ?e ?c ?d ?fO ?h ?w ?i ?p ?j ?m ?k ?l ?n ?oZ ?q ?t ?r ?s ?u ?v% ?x ? ?y ?| ?z ?{ ?} ?~ ? ? ? ?Q ? ? ? ? ? ? ? ? ? ? ? ? ? ?O ? ? ? ? ? ?% ? ? ? ? ? ? ? ?#A ? ?S ? ? ? ? ? ?% ? ? ? ? ? ? ? ?O ? ?% ? ? ? ?O ? ? ? ? ? ? ? ? s ? ? ? ? ? ?  ? ? ? ? ? ? ? ? ? ? ? ? ? ?v ? ? ? ? ? ?v ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?O ? ? ? ? ? ? ? ? ? ? ? ?v ? ?Q ? @ @ @ } @ @ @ @ @ @ @ @d @ @ @ @ @ @ @  @  @ @ @ @ @ @  @ @ @ @] @ @R @ @ @ @ @ @  @! @" @# @$ @3 @% @& @' @( @) @* @+ @, @- @. @/ @0 @1 @2  @4 @5 @6 @7 @8 @9 @: @; @< @= @> @? @@ @A @B @C @D @E @F @G @H @I @J @K @L @M @N @O @P @Q  @S @V @T @U @W @Z @X @Y @[ @\O @^ @a @_ @` @b @cs @e @t @f @m @g @j @h @i @k @l @n @q @o @pO @r @s @u @| @v @y @w @x @z @{% @} @ @~ @  @ @ @ @ @ @ @ @ @ @ @ @  @ @% @ @ @ @ @ @ @ @ @ @ @ @O @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @% @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ A @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @  @ @O @ @ @ @ @ @S @ @ @ @ @ @ @ @Q @ @ @ @ @ @ @ @% @ @ @ @ @ @ @ @Q @ A @ @ @ A Av A A3 A A% A A A A A A A  A O A  A% A A A A A A A A A A A A A Av A A" A  A! A# A$2 A& A5 A' A. A( A+ A) A*O A, A-% A/ A2 A0 A1 A3 A4 A6 AA A7 A> A8 A; A9 A: A< A= A? A@O AB AE AC AD AF AGO AI BE AJ A AK A AL Ak AM A\ AN AU AO AR AP AQO AS AT AV AY AW AX AZ A[ A] Ad A^ Aa A_ A`% Ab Ac Ae Ah Af Ag Ai Aj Al A{ Am At An Aq Ao Ap% Ar As Au Ax Av Aw Ay Az A| A A} A A~ AQ A A A A A A A A A A A A A A A A A A A AO A A A A A A A A A A A A A A A A_ A A A A A A  A AO A A A A A A A A A A A A A A A B A A A A A A A A A AQ A A A A A A A A A A A A A A A A A A A A A A A% A A A A A A A A% A A A A A A A A A A A A A AO A A A A A A A A A A B B B B B B B B& B B B B B B B  B  B B B B B B B B B B B B B BP B B  B B# B! B"  B$ B% B' B6 B( B/ B) B, B* B+ s B- B.2 B0 B3 B1 B2r B4 B5 B7 B> B8 B; B9 B:  B< B= B? BB B@ BA% BC BD BF B BG B BH Bz BI Bk BJ BQ BK BN BL BM } BO BP BR BU BS BT BV BW BX BY BZ B[ B\ B] B^ B_ B` Ba Bb Bc Bd Be Bf Bg Bh Bi BjI Bl Bs Bm Bp Bn Bom Bq Br Bt Bw Bu Bv } Bx By B{ B B| B B} B B~ B% B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B s B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B' B'` B B B Bm B B s B B B B B B B B B B B B B Bv B B B B B B B B  B BO B B B B% B B B CH C C C C C C C C C C C C C C C  C  C  C C| C C C C C C% C Cv C C C CO C C C! C9 C" C2 C# C& C$ C%O C' C/ C( C, C) C* C+ C- C.Q C0 C1 C3 C6 C4 C5  C7 C8 C: CA C; C> C< C=  C? C@% CB CE CC CD% CF CG CI Ch CJ CY CK CR CL CO CM CN CP CQ CS CV CT CU CW CX CZ Ca C[ C^ C\ C] C_ C` Cb Ce Cc CdO Cf Cg Ci Cx Cj Cq Ck Cn Cl Cm Co Cp } Cr Cu Cs Ct Cv Cw Cy C Cz C} C{ C|m C~ C C C C C C Cmm Cm C Cm Cm Cm Cm Cm Cm Cm Cm Cmm C Cm Cm C C C C Cmmcw Cm·m Cm Cmm C C C Sl C P` C D( C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C CQ C C C C C C C C C C C C C C C C C C C C C D C C C C C C C C  C C C C C C C C C  C C% C C C C C C C C% C D D D% D D D D D D D D D  D  D  D O D D D D% D DO D D! D D D D D D D D  D D  D" D% D# D$  D& D' D) Dh D* DI D+ D: D, D3 D- D0 D. D/ D1 D2 D4 D7 D5 D6 D8 D9$ D; DB D< D? D= D> D@ DA DC DF DD DE DG DH DJ DY DK DR DL DO DM DN DP DQ DS DV DT DU DW DX DZ Da D[ D^ D\ D]% D_ D` Db De Dc Dd$ Df Dg Di D Dj Dy Dk Dr Dl Do Dm Dnv Dp Dq Ds Dv Dt Du Dw Dx% Dz D D{ D~ D| D} D D D D D DQ D D D PM D PF D D D D3 D D D D D P5 D D D D D D D D D D D D D D D D D D D D D D D D D D D K D II D F D E] D E D D D D D D D D D D D D D D D D D D D D D D D; D DFF/ D D/~ D D D D D D D D3 D D D D D D; D DF/~3 D D D D D D D D D D D D D D D D D D D D D| D D<: D D D Dt:ȯ D D E D D D D| D E<:t E E E:ȯ E E: E E E  E  E E+ E  E  E E E# E E E E E E E E E E E8 ` E E: E E Ew* E  E! E" E$ E% E& E' E( E) E*s E, E3 E- E0 E. E/8 E1 E2 `: E4 E7 E5 E6w* E8 E9s E; E< E= E> E? EU E@ EA EB EC EM ED EE EF EG EH EI EK EJ`  EL+ EN EO EP EQ ER ES ET3 EV EW EZ EX EY ` E[ E\+3 E^ E E_ E E` E Ea Eb Ec Ed Ex Ee Ef Eg Eh Ei Ej Ek El Em Et En Eq Eo Ep|| Er EsR;]u Eu Ev Ew ER E E E E F FU F? Fj F@ FR FA FN FB FH FC FE FD|;  FF FG|| FI FL FJ FK FMUUH FOH FPH FQH FS F^ FT FZ FU FX FV FW;/ FY/ F[> F\ F]u F_ Fd F` Fb Fau<: FcFȽ<:u F F F FȽ˃H< G@ GA GB GE GC GD< GF GG$; GI GP GJ GM GK GLUf GN GO  GQ GT GR GS#;  GU GVVn GX Gg GY G` GZ G] G[ G\ֹL G^ G_z*< Ga Gd Gb Gc<<+ˢ Ge GfH Gh Go Gi Gl Gj GkȽ|*dq Gm Gn˃H< Gp Gs Gq Gr< Gt Gu$; Gw G Gx Gy Gz G{ G| G} G~ G G G G G G G G G G G G  G  G G G;l G G G G G G G ; GKF, G GKu G G G G G G G // G G G G GˢF G GF H?˃s<< HA HB HE HC HD=! HF HG$; HI H HJ HK HL H HM H HN HO HP HQ H HR HS HT Ho HU Hc HV H] HW HZ HX HY;;% H[ H\8;A;O H^ Ha H_ H` Hb Hd Hj He Hh Hf Hg `` Hi!; Hk HlF: Hm Hn. Hp H~ Hq Hx Hr Hu Hs Htw*b Hv HwTt Hy H| Hz H{|| H} H H H H H+p H H H H H H H H H H3s H H H H H H H;;% H H8;A;O H H H H H H `! H H H H H H H H;F:. H Hw H H H H*bTt H H| H H H H H H+ H Hp H H H3s H H H H H H H H H H H H H H H H I+ H H H H H H H H H H H H H H H H H H H H H;O. HT H H H H H;O. HT H H H H I" H I H H H H H H I H H H H H H HU H ; H H I H I H I IV I I IzֹL I I* I  I  I  I I I I I? || IA ID IB IC IE   IG IH  IJ J IK J' IL I IM I IN Iv IO IP IQ IR IS IT IU IV IW IX IY Io IZ Ib I[ I` I\ I] I^ I_44 Ia Ic Ih Id Ie^Z If Igm Ii Il Ij IkAl Im Inl Ip Iq Ir It IswTwT IuwT Iw Ix Iy Iz I{ I| I} I~ I I I I I I I I I| I I;3| I| I I I I I&= I I I I I I I Ie I I Iu Iu Iu Iu Iu Iu Iu Iu Iu Iu I I I I I I I I I I I I#uu I I Iu; I I I I I IF I<+ˢ I I I|*g J?g J@g JAg JBg JCg JDg JEg JF JL JG1 JH JJ JIU| JK1U1 JM JP JN>1 JO1 JQg JRgg JT Jq JUw JVw JWw JXw JYw JZw J[w J\w J]w J^w J_w J` Jm Ja Jg Jb Je Jc Jd<:tȽ Jf1 K?1$ KA KB$ KC KE KF KG KH KI KJ KK KL KM KN KO KP KQ KR KS KT= KV K KW Kz KX KY KZ K[ K\ Kl K] K^ K_ K` Ka Kb Kc Kd KhH KeH KfH KgHq Ki Kj Kk;  Km Kn Kq Ko KpHq; Kr Ks KvH KtH KuH Kw Kx Ky K{ K K|g K}g K~g Kg Kg Kg Kg Kg Kg Kg Kg Kg K K Kg g Kg Kg Kg Kg Kg Kg Kg Kg Kg Kg Kg Kg Kg Kg Kgg K K Kw Kw Kw Kw Kw Kw Kw Kw Kw Kw Kw Kw K K K K K K K;A Kb Kww Kw K K K| Kw| K K Kg Kg Kg Kg Kg Kg Kg Kg Kg Kg Kg Kg Kg Kg Kgg Kg Kg Kg Kg Kg Kg Kg Kg Kg Kg Kg K K K K K K K  K, Kgg Kg Kg Kgqg K N K M K L` K L= K L K K Kw Kw Kw Kw Kw Kw Kw Kw Kw Kw Kw Kw Kw Kw Kw Kw Kw Kw Kw Kw Kw Kw Kw Kw Lw Lw Lw Lw Lw L L L? L@ LP LA LB LC LD LE LF LG LH LI LJ LK LL LM LN LO LQ LR LS LT LU LV LW LX LY LZ L[ L\ L] L^ L_ La L Lb L Lc Ls Ld Le Lf Lg Lh Li Lj Lk Ll Lm Ln Low Lp Lq Lrw Lt Lu Lv Lw Lx Ly Lz L{ L| L} L~ L L L L L L|| L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L;A L L L L;A L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L  L L L L L L L L L L L L L L L L L L L L L L; ;3|4 L L L L L L L L L L L;l L; L L L L  Ln;n L L^Y LY, L M L M L L L LZ&P L M MPW M Au M M Mu Mul M M  M  M  M M M M M< M M Mm M N M M M M~ M M. M M M M M) M M M  M! M" M# M$ M% M& M' M(B M* M+ M, M-B M/ M0 M1 Mq M2 Mb M3 M4 M5 M6 MW M7 M8 M9 MR M: ME M; MA M< M? M= M>;%8;O M@ MB MCB MD  MF MM MG MJ MH MI!::. MK ML*b MN MO MP MQ+p MS MT MU MV MX MY MZ M[ M\ M_ M] M^3 M` Ma; Mc Mj Md Mg Me Mf;%8;O Mh MiB Mk Mn Ml Mm !: Mo Mp.* Mr Ms Mz Mt Mw Mu Mvb+ Mx Myp M{ M| M}3; M M M M M M M M M M M M M M MH MH MH MH| M M M M|// M M M MH|/ MH MH MH M|/ M M M M M M M M M M M M M M M M M M M M M M>> M> M M M M M M M M M M M M M M M M M M M M M M M M M M M M M MK M MK MKm MW M M M M M MwTwT MwTW M M M M M M M M M M Mn M M M M Mn M M M M M MK M MmW M M M MwTW M M M M M M n N N N N N N N N N N  N  N N N N N 4 Nn N N N N Nn N,A N Na N NP N N* N N N N N N  N! N" N# N$ N% N& N' N( N) N+ N, N- N. ND N/ N0 N1 N2 N3 N4 N5 N6 N7 N> N8 N; N9 N:| N< N=<: N? NB N@ NAt:ȯ NC NE NL NF NI NG NH| NJ NK<:t NM NN NO:ȯ NQ NR NS NT NU NV NW NX NY NZ N[ N\ N] N^ N_ N`1 O#1 O% O&$ O( O) O*$ O+$ O- Os O. O/ O0 O1 O2 O3 O4 O5 O6 OU O7 OE O8 OA O9 O> O: O= O; O<; ;3|4 O? O@ OB OC OD OF OL OG OH OJ OI;l OK; OM OQ ON OO  OPn;n OR OS^Y OTY, OV Oe OW O` OX O[ OY OZZ&P O\ O^ O]PW O_ Au Oa Ob Odu Ocul Of Oi Og Oh Oj Oo Ok Om Ol< On Op Oq OrB< Ot Ou Ov Ow Ox Oy Oz O{ O| O} O~ O O O O P O O O O O O O O O O O O O O O O O O O O O O;  O O;3 O O| O4 O O4t O O OB O O O O O O| O|;l O O O O O O| O; O O O On; O O O O O O O O O On^ OY^Y O O O O,ZZ O O= O O O Ou O O& m O OP OP OW O O O O O O O OA O  Ou Ouu O Ou O O O O O Oll O O O O O O O O O Oqe O O O O O O O O Os<<e O O O= O O P O O OwTwT O PwTW P P P P P P P P  P  P  P  P  P P P PH PH PH PH| P P P P P|//u Pu| P P P P PH|/u P!| P# P$ P% P& P' P( P) P* P+ P, P- P. P/ P0 P1 P2 P3 P4 P6 P7 P8 P9 P: P; P< P= P> P? P@ PA PB PC PD PE PG PJ PH PI PK PL PN PU PO PR PP PQ PS PT  PV PY PW PX PZ P] P[ P\% P^ P_% Pa Rs Pb R1 Pc P Pd Pv Pe Po Pf Pi Pg Ph Pj Pk Pl Pm Pn  Pp Ps Pq Pr } Pt Pu Pw P~ Px P{ Py Pz  P| P}  P P P P P P P R" P P P P P P P P P P P P P P P P P P P P P P P P P P Pw P P P P P P P P P P P P P P P P P P P P P P P P P P P P P Px P P P P P P P P P P P P P P P P P! P Pw) P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P Q Q Q Q Q Q Q Q Q Q Q Q Q Q Qb Q Q& Q Q  Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q  Q! Q" Q# Q$ Q% Q' Q7 Q( Q) Q* Q+ Q, Q- Q. Q/ Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q8 Q9 QT Q: QG Q; Q< Q= Q> Q? Q@ QA QB QC QD QE QF QH QI QJ QK QL QM QN QO QP QQ QR QS QU QV QW QX QY QZ Q[ Q\ Q] Q^ Q_ Q` Qa Qc Q Qd Q Qe Qt Qf Qg Qh Qi Qj Qk Ql Qm Qn Qo Qp Qq Qr Qs Qu Qv Qw Qx Qy Qz Q{ Q| Q} Q~ Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q R Q Q Q Q Q R R R R R R R R R R  R  R  R R  R R R R R R R R R R R R R R R R R R  R! R# R* R$ R' R% R&% R( R)% R+ R. R, R- R/ R0 R2 RT R3 RE R4 R> R5 R; R6 R7 R8 R9 R:% R< R=O R? RB R@ RA RC RD RF RM RG RJ RH RI RK RL } RN RQ RO RP RR RS% RU Rd RV R] RW RZ RX RY% R[ R\v R^ Ra R_ R` Rb Rc Re Rl Rf Ri Rg Rh!$ Rj Rk% Rm Rp Rn Ro% Rq RrQ Rt S& Ru R Rv R Rw R~ Rx R{ Ry Rz R| R} R R R R R R R R R R R R R Rm R R R R R R R R R R R R R R% R Rv R R R R R R R R% R S# R R R R R R R R R R R R R R R R R R R R R R R R R&& R R R R R R R R R R R R R R R R R R R R R R R R R R R R R4& R R R Rf R R R R R R R R R R R R R R R R R R R R R R R R R R RC R S R R S S S S S S S S S S f S S S  S  S S S S S S S S S  S S S S S S S S S  S! S" S$ S% S' SM S( S> S) S0 S* S- S+ S, S. S/ S1 S; S2 S3 S4v S5 S6vv S7 S8vv S9 S:vv S< S=% S? SF S@ SC SA SB SD SE SG SJ SH SI% SK SL SN S] SO SV SP SS SQ SR ST SU SW SZ SX SY S[ S\P S^ Se S_ Sb S` Sa% Sc Sd3 Sf Si Sg Sh Sj Sk Sm T Sn S So S Sp S Sq S Sr Sy Ss Sv St Su Sw Sx Sz S} S{ S|O S~ SQ S S S S S S% S SQ S S S S  S S S S S S S S S SU S S S S S S S S } S S S S S S S S S S S S S S S S S S S S S S S S S S% S S S S  S S% S S S S S S S S S S S S S S% S S S S S S S S S S S S S SO S S S S S S S S S S S S S Sd S S S S S S% S S% S T3 S T S T S S S S S S  S S S T T T T T T T T T T T  T  T  T T T T  T T & T T$ T T T T T TO T T T T! T T Q T" T#  T% T, T& T) T' T(m T* T+, T- T0 T. T/ T1 T2 T4 TS T5 TD T6 T= T7 T: T8 T9 T; T<  T> TA T? T@ TB TCQ TE TL TF TI TG THm TJ TKv TM TP TN TO TQ TR TT Ts TU TY TV TW TX  TZ Tp T[ T\ T] T^m T_m T`m Tam Tbm Tcm Tdm Tem Tfm Tgm Thm Tim Tjm Tkm Tlm Tmm Tnmm To·m Tq Tr% Tt T Tu T Tv Tw Tx Ty Tz T{ T| T} T~ T T T T T T T T T T T T5X T T T T T T T Ty T T T T T T T T T UL T T T T T T T T T T T T T TO T T T T T T T T T T T T } T T T TO TO TO TO TO TO TO TO TO TO TO TO TOO T TO TO TO TOO4 T T T TQ T T% T T T T T T T TO T T T T T T T T T T T T T T T T T T T T T T2 T U T U T T T T T Ty T T% T T T T U UO U U U U U U } U U  U U U  U  U U U U= U U U U U U U Uv U U U U% U U  U! U" U# U$ U% U& U' U( U) U* U+ U4 U, U- U. U/ U0 U1 U2 U3I U5 U6 U7 U8 U9 U: U; U<W U> UE U? UB U@ UA } UC UD UF UI UG UH UJ UK UM U UN Uq UO Ub UP UW UQ UT UR US UU UV UX U[ UY UZ U\ U_ U] U^% U` Ua Uc Uj Ud Ug Ue Uf Uh Ui Uk Un Ul Um Uo Up% Ur U Us Uz Ut Uw Uu Uv% Ux Uy U{ U~ U| U} U U% U U U U U U U U% U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U% U U  U U U U% U U U U U U U U U U U UO U U U U U U U U U U U U  U U U U U Uy U U U Z` U W U V U VY U V U U U U U U U U U U U UO U U U UQ U U U U U U U U U U U U U U U U U U* U U| U  U U| U V U V U V U V V V V V V V% V  V  s V V V V V Vd V V V V V V$ V V V V: V V+ V V$ V V! V V  V" V# } V% V( V& V'% V) V* V, V3 V- V0 V. V/% V1 V2  V4 V7 V5 V6 V8 V9 } V; VJ V< VC V= V@ V> V? VA VB VD VG VE VF VH VI_ VK VR VL VO VM VNd VP VQ VS VV VT VU VW VX  VZ V V[ V V\ Vp V] Vf V^ Vc V_ V` Va Vb  Vd Ve Vg Vj Vh Vi Vk Vl Vm Vn Vo   Vq Vx Vr Vu Vs Vt% Vv Vw Vy V| Vz V{O V} V~O V V V V V V V V V V V V V V V V V V V V V V V Vm V V V V V V V V V V V V V V VO V V V V V V  V V V V V V & V V V V V V V V| V V V V V V V V & V V V V V V V V V V V V V V VO V V V V V V V V% V V V V V V V W_ V W" V W V V V V V V V V V V V V V V* V V V V V V V V V VO V W V V  W W  W W W W W W W W W  W   W W W W W W W W W W W W } W W W W W W W  W!% W# W@ W$ W4 W% W, W& W) W' W( W* W+ W- W0 W. W/ W1 W2 W3 W5 W9 W6 W7 W8 } W: W= W; W< W> W? WA WP WB WI WC WF WD WE WG WH WJ WM WK WL% WN WOm WQ WX WR WU WS WT WV WW% WY W\ WZ W[ W] W^v W` W Wa W Wb Wq Wc Wj Wd Wg We Wf Wh Wi  Wk Wn Wl Wm% Wo Wp Wr Wy Ws Wv Wt Wu Ww Wx Wz W} W{ W| W~ W W W W W W W W W W W W W W W  W WO W W W W W W W Wr W W W W W W W W W W W W W W W W W W  W W W W W W_ W W W W W W W W s W W W W% W W W W W W W W W W W W W W W W W W W W W W WЇ W W W W W W W= W W W W W W W WQ W W W W W  W W W W W W W W W W W W  W W W X W X W XN W X/ W X W X W X W X X X X X X X% X  X  X X( X X X XQ X X X X X& XW X X X X X X X X X X X  X! X" X# X$ X%I X' X) X, X* X+ X- X. X0 X? X1 X8 X2 X5 X3 X4 X6 X7 X9 X< X: X; X= X>v X@ XG XA XD XB XC  XE XF XH XK XI XJ8 XL XMm XO X{ XP Xl XQ Xe XR XU XS XT% XV X^ XW X[ XX XY XZ X\ X] X_ Xb X` Xa Xc Xd Xf Xi Xg XhO Xj Xk } Xm Xt Xn Xq Xo Xp Xr Xs% Xu Xx Xv Xw Xy Xz X| X X} X X~ X X X  X X X X X X } X Xv X X X X X X X X X X X X  X X#A X X X X X X X X X X X Xm X X X X X Xm X X X X X X X X X X X X X X X X X X X X X X X X X Xv X X X X X X X X X X X X X X  X X X X X X X X X X X X X X X X X X X X X  X X X X X X X X X X X X X X X XQ X Y X Y> X Y X Y X Y Y Y Y Y Y Y Y Y Y Y  Y  Y  Y Y Y Y Y Y Y Y Y Y Y Y Y Y Yx Y Y Y Y/ Y! Y( Y" Y% Y# Y$ Y& Y'q Y) Y, Y* Y+O Y- Y. Y0 Y7 Y1 Y4 Y2 Y3Q Y5 Y6% Y8 Y; Y9 Y: Y< Y= Y? Y Y@ Yn YA YH YB YE YC YDQ YF YGO YI Yk YJ YK YL YM s YN s YO s YP s YQ s YR s YS s YT s YU s YV s YW s YX s YY s s YZ Y[ s Y\ s Y] s Y^ s s Y_ Y` s Ya s Yb s Yc s Yd s Ye s Yf s Yg s Yh s Yi s s Yj Yl Ym Yo Y~ Yp Ys Yq Yrv Yt Yu Yv Yw ! Yx ! Yy ! Yz ! Y{ ! Y| Y} !DD ! Y Y Y Y% Y Y  Y Y Y Y Y Y Y Y Y Y% Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Yv Y YQ Y Y Y Y Y Y Y Y Y Y Y Y Y Y% Y Y Y Y Y Y Y Y% Y Y Y Y Y Y Y Y Y Z@ Y Z Y Z Y Y Y Y Y Y Y Y Y Y Y Y Y Z Y Y Y Y Y Y Y Y Y Y Z Y Z Zs Z Z s Z Z Z!! Z  Z  Z Z  Z  Z Z Z Z Z Z Z Z! Z Z Z Z Z s Z ZQ Z Z& Z Z# Z! Z"O Z$ Z%O Z' Z* Z( Z) Z+ Z, Z-% Z.% Z/% Z0 Z1% Z2% Z3% Z4% Z5% Z6% Z7%% Z8 Z9% Z:% Z;% Z<% Z=% Z>% Z?%% ZA ZQ ZB ZJ ZC ZG ZD ZE ZF ZH ZIv ZK ZN ZL ZM ZO ZP ZR ZY ZS ZV ZT ZU% ZW ZX2 ZZ Z] Z[ Z\ Z^ Z_v Za \ Zb [ Zc Z Zd Z Ze Z Zf Zu Zg Zn Zh Zk Zi Zjv Zl Zm Zo Zr Zp ZqO Zs Zt Zv Z} Zw Zz Zx Zy Z{ Z|  Z~ Z Z Z Z Z Z Z Z Z Z Z Z Z  Z Z Z Z Z Z Z Zm Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Zv Z Z Z Z Z Z% Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z ZI Z ZI(IX Z Z Z Z Z Z Z ZQ Z Z Z Z Z Z Z Z Z Z Z Z Z Z } Z [. Z [ Z Z Z Z Z Z Z Z Z Z$ Z Z Z Z Z Z Z Z Z Z [ Z [ [ [ [ [% [ [ [ [ [  [ % [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [$ [ [! [ [  [" [# [% [( [& [' [) [* [+ [, [- [/ [d [0 [U [1 [8 [2 [5 [3 [4O [6 [7r [9 [< [: [; [= [> [? [@ [S [A [R [Bv [Cvv [D [Ev [Fvv [G [Hvv [Iv [J [Kv [Lv [Mv [Nv [Ov [Pvv [Qz~ [T [V [] [W [Z [X [Y [[ [\ } [^ [a [_ [` [b [c [e [t [f [m [g [j [h [i [k [l% [n [q [o [p [r [sO [u [| [v [y [w [x [z [{% [} [ [~ [ [ [ [ \& [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [2 [ [ [ [ [ [ [ [ [ [% [ [ [ [ [ [_ [ [ [ [ [ [ [ [ } [ [ [ [ [ [% [ [ [ [ [ [ [ [ [ [ [ [ [ [$ [ [ } [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [% [ [ [ [ [ [ [ [ [ [ } [ [ [ [ [ [ s [ [ [ [ [ [ [ [ [ [ s [ [ [ [ [ [% [ \ [ [ [ [ [ [ [ [% [% [% \%% \ \% \% \% \% \% \% \% \ % \ % \ % \ % \ % \% \% \% \% \% \% \%% \% \% \ \% \% \% \%% \ \% \%%y$ \ \# \! \" \$ \% \' \j \( \G \) \8 \* \1 \+ \. \, \-Q \/ \0 \2 \5 \3 \4 \6 \7 \9 \@ \: \= \; \< \> \? \A \D \B \C \E \F \H \W \I \P \J \M \K \L \N \O  \Q \T \R \S \U \Vm \X \_ \Y \\ \Z \[% \] \^ \` \c \a \b \d \g \e \f \h \i  \k \ \l \{ \m \t \n \q \o \p \r \s \u \x \v \w \y \zQ \| \ \} \ \~ \ \ \ \ \ \ \ \ \  \ \Q \ \ \ \ \ \ \ \% \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Q \ \ \ \ \ \% \ \ \ \ \ \ \ \ \ \ \ \% \ \% \ ^= \ ] \ ] \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \O \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \m \ \ \ \ \ \ \ \ \ \ \ \ \ \v \ \ } \ \ \ \ \ \m ] ] ] ] ] ] ] ] ] ] ] ] % ] ] ]  ]  ] ] ] ] ]w ] ] ] ] ] ] ] ] ] ] ] ]U ] ]5 ] ]+ ] ]! ]( ]" ]% ]# ]$  | ]& ]'u| ]) ]* ], ]1 ]- ]. ]/ ]01wHK ]2 ]3 ]4 ]6 ]E ]7 ]@ ]8 ]= ]9 ]:  ]; ]< u ]> ]?1 ]A ]B ]C ]D ]F ]Q ]G ]N ]H ]K ]I ]JH1 ]L ]MH  ]O ]PY ]R ]S ]T$ ]V ]W ]b ]X ]\ ]Y ]Z ][g ]] ]^ ]` ]_g ]a ]c ]q ]d ]k ]e ]h ]f ]g  | ]i ]j u ]l ]o ]m ]n K ]p ]r ]s ]u ]t1 ]vwH ]x ]y ]z ]{ ]| ]} ]~ ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ]% ] ] ] ] ] ]O ] ] ] ] ] ] ] ] ] ] ] ] ] ]  ] ] ] ] ] ] ] ]v ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ]% ] ] ] ] ] ]O ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ]# ] ]% ] ] ] ]_ ] ]% ] ] ] ] ] ] ] ] ] ] ] ]2 ] ] ] ^ ] ^ ] ^ ] ^ ] ^ ] ] ] ] ^ ^ ^ ^2 ^ ^ ^ ^ ^  ^ % ^  ^O ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^. ^ ^' ^! ^$ ^" ^# ^% ^&v ^( ^+ ^) ^* ^, ^- ^/ ^6 ^0 ^3 ^1 ^2 ^4 ^5 ^7 ^: ^8 ^9 ^; ^< ^> ^ ^? ^ ^@ ^_ ^A ^P ^B ^I ^C ^F ^D ^Ev ^G ^H2 ^J ^M ^K ^L  ^N ^O3 ^Q ^X ^R ^U ^S ^T } ^V ^W ^Y ^\ ^Z ^[Q ^] ^^ ^` ^o ^a ^h ^b ^e ^c ^d ^f ^g ^i ^l ^j ^k ^m ^n# ^p ^y ^q ^v ^r ^s ^t ^u ^w ^xv ^z ^} ^{ ^| ^~ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ! ^ ^ ^ ^ ^ ^ ^ ^% ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^'y ^ ^ ^ ^ ^ ^'y ^ ^ ^ ^ ^ ^ ^ ^'y ^ ^ ^ ^ ^ ^'y ^ ^ ^ ^ ^ ^ ^ ^ ^ ^O ^ ^ ^ ^ ^ } ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _7 ^ _ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^% ^ ^% ^ ^ ^ ^ ^ ^% ^ ^ ^ _ _ _ _ _ } _ _( _ _ _ _ _  _  _  _   _ _% _ _ _ _ s _ s _ s _ s _ s _ s _ s _ s _ s _ s _ s _ s _ s _  s _! s s _" _# s _$ s s _& _' _) _0 _* _- _+ _, _. _/  _1 _4 _2 _3 _5 _6 _8 _W _9 _H _: _A _; _> _< _= _? _@| _B _E _C _D _F _G _I _P _J _M _K _L _N _O _Q _T _R _S _U _V s _X _m _Y _` _Z _] _[ _\m _^ __ _a _d _b _c _e _j _f _g _h _i _k _l _n _ _o _ _p _q _r _s _t _u _v _w _x _y _z _ _{ _| _} _~ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Q _ _ _ _ _ _ _'\ Q _ _% _ _ _ _# _ _ _ _ d _ b _ ` _ `d _ _ _ _ _ _ _ _ _ _ _ _  _ _ _ _ _ _v _ _m _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _  _ _Q _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _% _ _  _ `F _ ` _ _ _ _ _ _% _ _ _ _ _ _ ` ` ` `? ` ` ` ` ` `  `  `  `  ` ` ` ` ` ` ` ` ` ` ` ` `/ ` `$ ` `! ` ` ` `C  ` ` ~4 `" `#O `% `, `& `) `' `(kQ|{ `* `+#_ `- `.{ `0 `; `1 `8 `2 `5 `3 `4} `6 `7k, `9 `: `< `= `>r `@ `C `A `B `D `E `G `V `H `O `I `L `J `K `M `N% `P `S `Q `R `T `U% `W `^ `X `[ `Y `Z| `\ `] `_ `b `` `aO `c% `e ` `f ` `g `w `h `p `i `l `j `k `m `n `o `q `t `r `s% `u `v `x ` `y `| `z `{% `} `~ ` ` ` ` ! ` `O ` ` ` ` ` ` `  ` ` ` `  ` `  ` ` ` ` ` ` ` ` ` ` ` ` ` `% ` ` ` ` ` ` ` ` ` ` ` ` ` ` `_ ` ` ` ` ` ` ` ` ` ` ` `v ` `O ` ` ` `O ` ` ` ` ` ` ` ` ` ` ` ` } ` ` ` ` ` ` ` ` ` ` ` `% ` `O ` ` ` ` ` ` ` ` `u ` b' ` a ` a ` a ` ` ` ` ` `O ` ` ` a ` ` ` ` ` a ` ` ` ` ` a ` a a a a a a a a a a X a  a  a  a a a a afL= a aF a a a a a a a a a a a a  a! a" a4 a# a$ a% a& a' a( a) a* a+ a, a- a. a/ a0 a1 a2 a3W a5 a6 a7 a8 a9 a: a; a< a= a> a? a@ aA aB aC aD aEW aG ac aH aI aJ a] aK aZ aL aM aN aO aP aQ aY aRJ aS aT aV aU aW aXLX a[ a\ a^ a_ aa a` ab ad ae af ag ah ai aj ak a al a am a| an ao au ap as aq ar5I atIe av ay aw axIJLX az a{  a} a~ a a@ a a a a a a a a a a a a a a a a a a a a a av a a a( a a a a a a: a a a a a a a a a a a a a a } a a a a a a a a a a a a a a a a a a a% a a a av a a a a a a a a a a  a a a a a a a% a a a b a a a a a a a a } a a  a a a a a av a b a a a a a a a a a a a a a a a a b b b b b b b% b b b b b b b  b  b bv b b b b6 b b b b b b b b b b% b! b$ b" b#_ b% b& b( bK b) bH b* b9 b+ b2 b, b/ b- b.O b0 b1#A b3 b6 b4 b5 b7 b8 b: bA b; b> b< b= b? b@m bB bE bC bD bF bG bI bJ  bL bl bM b\ bN bU bO bR bP bQ bS bT bV bY bW bX bZ b[ b] be b^ ba b_ b` bb bc bd bf bi bg bh bj bk s bm b| bn bu bo br bp bqv bs bt bv by bw bx bz b{O b} b b~ b b b b b b b b b# b b b c b c b b b b b b b b b b b bQ b b b b b b b b% b b b b b b b b ! b b b b'Q b bQ b b b b b b b b b bQ b b b b b b b b b b b b b b% b b b b  b b b b b b b b b b b b b bQ b b b b b b b b b b b b b b s b b b  b b b b b b b b b b b b  b bO b b b b b b b c c c c cv c cv c c c c  c  c  c  c c c cP c c1 c c" c c c c c c s c c c c c c  c  c! c# c* c$ c' c% c& c( c) c+ c. c, c-% c/ c0 c2 cA c3 c: c4 c7 c5 c6 c8 c9 c; c> c< c=% c? c@ cB cI cC cF cD cE cG cH cJ cM cK cL cN cO cQ c cR ce cS c^ cT c[ cU cX cV cW cY cZ c\ c]% c_ cb c` ca_ cc cd cf c cg c ch ci cj ck c clW cm cn c} co cp cq cr cs ct cu cv cw cx cy cz c{ c|I c~ c c c c c c c c c c c c cW c c cv c c c c  c cO c c c c c c c c c c c ! c c c c c c% c c c c c c c c% c cS c c c c c c% c dR c d c c c c c c c c c c c c c c c c c c| c c c c c c  c c c c c c c c c c c c c c c c c c% c c c c c c% c d c c c cO c c c cW c d cW cW cW cW cW cW cW cWW cWW d dW dW dW dW dW dW dW d W d d WW d d d drt d d d d3 d d$ d d d d d d d d d d! d d  d" d# } d% d, d& d) d' d( s d* d+ d- d0 d. d/ d1 d26 d4 dC d5 d< d6 d9 d7 d8 d: d; d= d@ d> d? dA dBO dD dK dE dH dF dG% dI dJ dL dO dM dN dP dQ dS d dT dx dU dd dV d] dW dZ dX dY  d[ d\m d^ da d_ d` db dc de dq df di dg dh dj dk dn dl dm do dpm dr du ds dt dv dw dy d dz d d{ d~ d| d} d d d d d% d d d d d d d d d d d d d d d d d d d d% d d d d d d d d d dm d d d d d d d d% d d d d d d  d d d d d dv d d d d d d d d d d% d d  d d d d d d d d d d d d d d d d d d d d% d X d J d d n d L d d d d d d d d d d d d d d d d d E d d d d d d d d fI d d d d d d d d eT e e e e e e e  e e e e' e  e  e e e x e e e. e e e e& e e e e e e/$R e e$bb eb e e! e e nq] e" e# e$ e%)) e' e( e+ e) e* e, e- e/ eQ e0 eK e1 eD e2 e; e3 e8 e4 e5x e6 e7x_'? e9 e:x e< eA e= e? e> e@ eB eC? eE eF eG eI eHn eJx eL eM eN eO ePx eR eS eU f0 eV eW eX f# eY e eZ eu e[ er e\ e_ e] e^xx e` eq eax eb ec ed ee ef eg eh ei ej ek el em en eo ep'( es etq ev ew ex ex ey ez e{ e| e} e~ e e e e e e ex e e e e e e e e e e e e e e)5 e e)5 e e e e) e e) e e e e e e)& e e)& e e e e( e e( e e e e e e e e e e e e e e e e e e e e e ex e ex e e e ex e ex e e e e e e e e) e e) e e e eq e eq e f e e e e e e e e e) e e) e e e e e ex e ex e e e ex e ex e f e e e e e e' e e' e e e f f f f f f f f fR f f R f  f  f f f f f f f f f f f f f f f f f f  f! f" f$ f% f& f' f( f) f* f+ f, f-c f. f/c f1 f2 f3 f4 f5 f6 f7 f8 f9 f: f; f< f= f> f? f@ fA fB fC fD fE fF fG fH fJ fK fL fM z( fN p fO k' fP h fQ g fR f fS f fT fs fU fd fV f] fW fZ)5 fX fY)5)5 f[ f\)5 f^ fa)5 f_ f`)5)5 fb fc)5 fe fl ff fi)5 fg fh)5)5 fj fk)5 fm fp)5 fn fo)5)5 fq fr)5 ft f fu f| fv fy)5 fw fx)5)5 fz f{)5 f} f)5 f~ f)5)5 f f)5 f f f f)5 f f)5)5 f f)5 f f)5 f f)5)5 f f)5 f f f f f f f f)5 f f)5)5 f f)5 f f)5 f f)5)5 f f)5 f f f f)5 f f)5)5 f f)5 f f)5 f f)5)5 f f)5 f f f f f f)5 f f)5)5 f f)5 f f)5 f f)5 f f f)5 f f)5)5 f)5 f f f f f f f)5 f f)5)5 f)5 f f f)5 f f)5)5 f)5 f f f f f)5 f f)5)5 f)5 f f f)5 f f)5)5 f)5 f g9 f g f f f f f f)5 f f)5)5 f f)5 f f)5 f f)5)5 f f)5 f f f f)5 f f)5)5 f f)5 g g)5 g g)5)5 g g)5 g g g g g g )5 g g )5)5 g g)5 g g)5 g g)5 g g g)5 g g)5)5 g)5 g g* g g# g g! g)5 g g )5)5 g")5 g$ g( g%)5 g& g')5)5 g))5 g+ g2 g, g0 g-)5 g. g/)5)5 g1)5 g3 g7 g4)5 g5 g6)5)5 g8)5 g: gY g; gJ g< gC g= g@)5 g> g?)5)5 gA gB)5 gD gG)5 gE gF)5)5 gH gI)5 gK gR gL gO)5 gM gN)5)5 gP gQ)5 gS gV)5 gT gU)5)5 gW gX)5 gZ gm g[ gb g\ g_)5 g] g^)5)5 g` ga)5 gc gf)5 gd ge)5 gg gk gh)5 gi gj)5)5 gl)5 gn g} go gv gp gt gq)5 gr gs)5)5 gu)5 gw g{ gx)5 gy gz)5)5 g|)5 g~ g g g g)5 g g)5)5 g)5 g g g)5 g g)5)5 g)5 g h4 g g g g g g g g g g)5 g g)5)5 g g)5 g g)5 g g)5)5 g g)5 g g g g)5 g g)5)5 g g)5 g g)5 g g)5)5 g g)5 g g g g g g)5 g g)5)5 g g)5 g g)5 g g)5 g g g)5 g g)5)5 g)5 g g g g g g g)5 g g)5)5 g)5 g g g)5 g g)5)5 g)5 g g g g g)5 g g)5)5 g)5 g g g)5 g g)5)5 g)5 g h g g g g g g) g g)) g g) g g) g g)) g g) g g g g) g g)) g g) g g) g g)) g h) h h h h h h) h h)) h h ) h h) h h ) h h h) h h)) h) h h% h h h h h) h h)) h) h h# h ) h! h")) h$) h& h- h' h+ h() h) h*)) h,) h. h2 h/) h0 h1)) h3) h5 h h6 hU h7 hF h8 h? h9 h<) h: h;)) h= h>) h@ hC) hA hB)) hD hE) hG hN hH hK) hI hJ)) hL hM) hO hR) hP hQ)) hS hT) hV hi hW h^ hX h[) hY hZ)) h\ h]) h_ hb) h` ha) hc hg hd) he hf)) hh) hj hy hk hr hl hp hm) hn ho)) hq) hs hw ht) hu hv)) hx) hz h h{ h h|) h} h~)) h) h h h) h h)) h) h h h h h h h h) h h)) h h) h h) h h)) h h) h h h h) h h)) h h) h h) h h)) h h) h h h h h h) h h)) h h) h h) h h) h h h) h h)) h) h h h h h h h) h h)) h) h h h) h h)) h) h h h h h) h h)) h) h h h) h h)) h) h j+ h i h i1 h h h h h h h h) h h)) h h) h h) h h)) h h) h h h h) h h)) h h) h h) h h)) h h) h i i i i i) i i)) i i) i i ) i i ) i i i ) i i)) i) i i" i i i i i) i i)) i) i i i) i i)) i!) i# i* i$ i( i%) i& i')) i)) i+ i/ i,) i- i.)) i0) i2 iQ i3 iB i4 i; i5 i8) i6 i7)) i9 i:) i< i?) i= i>)) i@ iA) iC iJ iD iG) iE iF)) iH iI) iK iN) iL iM)) iO iP) iR ie iS iZ iT iW) iU iV)) iX iY) i[ i^) i\ i]) i_ ic i`) ia ib)) id) if iu ig in ih il ii) ij ik)) im) io is ip) iq ir)) it) iv i} iw i{ ix) iy iz)) i|) i~ i i) i i)) i) i i i i i i i i i i)& i i)&)& i i)& i i)& i i)&)& i i)& i i i i)& i i)&)& i i)& i i)& i i)&)& i i)& i i i i i i)& i i)&)& i i)& i i)& i i)& i i i)& i i)&)& i)& i i i i i i i)& i i)&)& i)& i i i)& i i)&)& i)& i i i i i)& i i)&)& i)& i i i)& i i)&)& i)& i i i i i i i i)& i i)&)& i i)& i i)& i i)&)& i i)& i i i i)& i i)&)& i i)& i i)& i i)&)& i i)& i j i j i i)& i i)&)& i j)& j j)& j j)& j j j)& j j )&)& j )& j j j j j j j)& j j)&)& j)& j j j)& j j)&)& j)& j j$ j j" j)& j j!)&)& j#)& j% j) j&)& j' j()&)& j*)& j, j j- j j. jM j/ j> j0 j7 j1 j4)& j2 j3)&)& j5 j6)& j8 j;)& j9 j:)&)& j< j=)& j? jF j@ jC)& jA jB)&)& jD jE)& jG jJ)& jH jI)&)& jK jL)& jN ja jO jV jP jS)& jQ jR)&)& jT jU)& jW jZ)& jX jY)& j[ j_ j\)& j] j^)&)& j`)& jb jq jc jj jd jh je)& jf jg)&)& ji)& jk jo jl)& jm jn)&)& jp)& jr jy js jw jt)& ju jv)&)& jx)& jz j~ j{)& j| j})&)& j)& j j j j j j j j)& j j)&)& j j)& j j)& j j)&)& j j)& j j j j)& j j)&)& j j)& j j)& j j)&)& j j)& j j j j j j)& j j)&)& j j)& j j)& j j)& j j j)& j j)&)& j)& j j j j j j j)& j j)&)& j)& j j j)& j j)&)& j)& j j j j j)& j j)&)& j)& j j j)& j j)&)& j)& j j j j j j j j j)& j j)&)& j j)& j j)& j j)&)& j j)& j j j j)& j j)&)& j j)& j j)& j j)&)& j j)& j k j j j j)& j j)&)& j j)& j k)& j k)& k k k)& k k)&)& k)& k k k k k k k )& k k)&)& k)& k k k)& k k)&)& k)& k k k k k)& k k)&)& k)& k! k% k")& k# k$)&)& k&)& k( m k) lx k* k k+ k~ k, kK k- k< k. k5 k/ k2( k0 k1(( k3 k4( k6 k9( k7 k8(( k: k;( k= kD k> kA( k? k@(( kB kC( kE kH( kF kG(( kI kJ( kL k_ kM kT kN kQ( kO kP(( kR kS( kU kX( kV kW( kY k] kZ( k[ k\(( k^( k` ko ka kh kb kf kc( kd ke(( kg( ki km kj( kk kl(( kn( kp kw kq ku kr( ks kt(( kv( kx k| ky( kz k{(( k}( k k k k k k k k( k k(( k k( k k( k k(( k k( k k k k( k k(( k k( k k( k k(( k k( k k k k k k( k k(( k k( k k( k k( k k k( k k(( k( k k k k k k k( k k(( k( k k k( k k(( k( k k k k k( k k(( k( k k k( k k(( k( k l% k k k k k k k k( k k(( k k( k k( k k(( k k( k k k k( k k(( k k( k k( k k(( k k( k l k k k k( k k(( k k( k k( k k( l l l( l l(( l( l l l l l l l ( l l (( l( l l l( l l(( l( l l l l l( l l(( l( l l# l ( l! l"(( l$( l& lE l' l6 l( l/ l) l,( l* l+(( l- l.( l0 l3( l1 l2(( l4 l5( l7 l> l8 l;( l9 l:(( l< l=( l? lB( l@ lA(( lC lD( lF lY lG lN lH lK( lI lJ(( lL lM( lO lR( lP lQ( lS lW lT( lU lV(( lX( lZ li l[ lb l\ l` l]( l^ l_(( la( lc lg ld( le lf(( lh( lj lq lk lo ll( lm ln(( lp( lr lv ls( lt lu(( lw( ly m lz l l{ l l| l l} l l~ l( l l(( l l( l l( l l(( l l( l l l l( l l(( l l( l l( l l(( l l( l l l l l l( l l(( l l( l l( l l( l l l( l l(( l( l l l l l l l( l l(( l( l l l( l l(( l( l l l l l( l l(( l( l l l( l l(( l( l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l m l l l l l l l l l l l l l l l l l m m m m m m m m m m m  m m m  m m m m m m m m m m m m m m m m m m! mt m" mA m# m2 m$ m+ m% m( m& m' m) m* m, m/ m- m. m0 m1 m3 m: m4 m7 m5 m6 m8 m9 m; m> m< m= m? m@ mB mU mC mJ mD mG mE mF mH mI mK mN mL mM mO mS mP mQ mR mT mV me mW m^ mX m\ mY mZ m[ m] m_ mc m` ma mb md mf mm mg mk mh mi mj ml mn mr mo mp mq ms mu m mv m mw m~ mx m{ my mz m| m} m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m o m np m n m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m n n n n n n n n n n n n  n n  n  n n n n n n n n n n n n n n n n= n n. n n' n! n$ n" n# n% n& n( n+ n) n* n, n- n/ n6 n0 n3 n1 n2 n4 n5 n7 n: n8 n9 n; n< n> nQ n? nF n@ nC nA nB nD nE nG nJ nH nI nK nO nL nM nN nP nR na nS nZ nT nX nU nV nW nY n[ n_ n\ n] n^ n` nb ni nc ng nd ne nf nh nj nn nk nl nm no nq n nr n ns n nt n{ nu nx nv nw ny nz n| n n} n~ n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n o n o n n n n n o o o o o o o o o o o o  o o  o o o o o o o o o o ol o o9 o o* o o# o o  o o o! o" o$ o' o% o& o( o) o+ o2 o, o/ o- o. o0 o1 o3 o6 o4 o5 o7 o8 o: oM o; oB o< o? o= o> o@ oA oC oF oD oE oG oK oH oI oJ oL oN o] oO oV oP oT oQ oR oS oU oW o[ oX oY oZ o\ o^ oe o_ oc o` oa ob od of oj og oh oi ok om o on o} oo ov op os oq or ot ou ow oz ox oy o{ o| o~ o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o p o o o o o o o o o p o p p p p p p p p p p  p  p p p p p p p u< p r p qe p p p pk p p8 p p) p p" p px p pxx p p!x p# p&x p$ p%xx p' p(x p* p1 p+ p.x p, p-xx p/ p0x p2 p5x p3 p4xx p6 p7x p9 pL p: pA p; p>x p< p=xx p? p@x pB pEx pC pDx pF pJ pGx pH pIxx pKx pM p\ pN pU pO pS pPx pQ pRxx pTx pV pZ pWx pX pYxx p[x p] pd p^ pb p_x p` paxx pcx pe pi pfx pg phxx pjx pl p pm p| pn pu po prx pp pqxx ps ptx pv pyx pw pxxx pz p{x p} p p~ px p pxx p px p px p pxx p px p p p p p px p pxx p px p px p px p p px p pxx px p p p p p p px p pxx px p p px p pxx px p p p p px p pxx px p p px p pxx px p q p p p p p p p px p pxx p px p px p pxx p px p p p px p pxx p px p px p pxx p px p p p p p px p pxx p px p px p px p p px p pxx px p q p p p p px p pxx px p q px p qxx qx q q q q qx q qxx q x q q q x q qxx qx q q2 q q# q q q qx q qxx q qx q q x q qxx q! q"x q$ q+ q% q(x q& q'xx q) q*x q, q/x q- q.xx q0 q1x q3 qF q4 q; q5 q8x q6 q7xx q9 q:x q< q?x q= q>x q@ qD qAx qB qCxx qEx qG qV qH qO qI qM qJx qK qLxx qNx qP qT qQx qR qSxx qUx qW q^ qX q\ qYx qZ q[xx q]x q_ qc q`x qa qbxx qdx qf r qg q qh q qi qx qj qq qk qnx ql qmxx qo qpx qr qux qs qtxx qv qwx qy q qz q}x q{ q|xx q~ qx q qx q qxx q qx q q q q q qx q qxx q qx q qx q qx q q qx q qxx qx q q q q q q qx q qxx qx q q qx q qxx qx q q q q qx q qxx qx q q qx q qxx qx q q q q q q q qx q qxx q qx q qx q qxx q qx q q q qx q qxx q qx q qx q qxx q qx q q q q q qx q qxx q qx q qx q qx q q qx q qxx qx q q q q q q qx q qxx qx q q qx q qxx qx q r r r rx r rxx rx r r rx r r xx r x r ra r r. r r r r r rx r rxx r rx r rx r rxx r rx r r' r! r$x r" r#xx r% r&x r( r+x r) r*xx r, r-x r/ rB r0 r7 r1 r4x r2 r3xx r5 r6x r8 r;x r9 r:x r< r@ r=x r> r?xx rAx rC rR rD rK rE rI rFx rG rHxx rJx rL rP rMx rN rOxx rQx rS rZ rT rX rUx rV rWxx rYx r[ r_ r\x r] r^xx r`x rb r rc rr rd rk re rhx rf rgxx ri rjx rl rox rm rnxx rp rqx rs rz rt rwx ru rvxx rx ryx r{ r~x r| r}xx r rx r r r r r rx r rxx r rx r rx r rx r r rx r rxx rx r r r r r r rx r rxx rx r r rx r rxx rx r r r r rx r rxx rx r r rx r rxx rx r t r s] r s r r r r r r r rx r rxx r rx r rx r rxx r rx r r r rx r rxx r rx r rx r rxx r rx r r r r r rx r rxx r rx r rx r rx r r rx r rxx rx r r r r r r rx r rxx rx r r rx r rxx rx r s r s rx r sxx sx s s sx s sxx s x s s* s s s s s sx s sxx s sx s sx s sxx s sx s s# s s x s sxx s! s"x s$ s'x s% s&xx s( s)x s+ s> s, s3 s- s0x s. s/xx s1 s2x s4 s7x s5 s6x s8 s< s9x s: s;xx s=x s? sN s@ sG sA sE sBx sC sDxx sFx sH sL sIx sJ sKxx sMx sO sV sP sT sQx sR sSxx sUx sW s[ sXx sY sZxx s\x s^ s s_ s~ s` so sa sh sb se) sc sd)) sf sg) si sl) sj sk)) sm sn) sp sw sq st) sr ss)) su sv) sx s{) sy sz)) s| s}) s s s s s s) s s)) s s) s s) s s) s s s) s s)) s) s s s s s s s) s s)) s) s s s) s s)) s) s s s s s) s s)) s) s s s) s s)) s) s s s s s s s s) s s)) s s s) s s) s s s)) s s s) s s s s) s s s)) s s s) s s) s s s)) s s s) s s s s s s) s s s)) s s s) s s) s s s) s s s) s s)) s s) s t s s s s s) s s)) s s) s s s) s s)) t t) t t t t t) t t)) t  t ) t t t ) t t)) t t) t t t tw t t< t t) t t t t) t t)) t t t) t! t%) t" t# t$)) t& t' t() t* t3 t+ t/) t, t- t.)) t0 t1 t2) t4 t8) t5 t6 t7)) t9 t: t;) t= tT t> tG t? tC) t@ tA tB)) tD tE tF) tH tL) tI tJ tK) tM tQ tN) tO tP)) tR tS) tU tf tV t^ tW t[ tX) tY tZ)) t\ t]) t_ tc t`) ta tb)) td te) tg to th tl ti) tj tk)) tm tn) tp tt tq) tr ts)) tu tv) tx t ty t tz t t{ t~) t| t})) t t t) t t) t t t)) t t t) t t t t) t t t)) t t t) t t) t t t)) t t t) t t t t t t) t t t)) t t t) t t) t t t) t t t) t t)) t t) t t t t t t t) t t)) t t) t t t) t t)) t t) t t t t t) t t)) t t) t t t) t t)) t t) t t u t t t t t t) t t)) t t t) t t) t t t)) t t t) t t t t) t t t)) t t t) t t) t t t)) t t u) u u u u u u) u u u)) u u  u ) u u) u u u) u u u) u u)) u u) u u+ u u# u u u) u u)) u! u") u$ u( u%) u& u')) u) u*) u, u4 u- u1 u.) u/ u0)) u2 u3) u5 u9 u6) u7 u8)) u: u;) u= w u> v u? u u@ u uA u` uB uQ uC uJ uD uGq uE uFqq uH uIq uK uNq uL uMqq uO uPq uR uY uS uVq uT uUqq uW uXq uZ u]q u[ u\qq u^ u_q ua ut ub ui uc ufq ud ueqq ug uhq uj umq uk ulq un ur uoq up uqqq usq uu u uv u} uw u{ uxq uy uzqq u|q u~ u uq u uqq uq u u u u uq u uqq uq u u uq u uqq uq u u u u u u u uq u uqq u uq u uq u uqq u uq u u u uq u uqq u uq u uq u uqq u uq u u u u u uq u uqq u uq u uq u uq u u uq u uqq uq u u u u u u uq u uqq uq u u uq u uqq uq u u u u uq u uqq uq u u uq u uqq uq u v: u v u u u u u uq u uqq u uq u uq u uqq u uq u v u uq u uqq u uq v vq v vqq v vq v v v v v v q v v qq v vq v vq v vq v v vq v vqq vq v v+ v v$ v v" vq v v!qq v#q v% v) v&q v' v(qq v*q v, v3 v- v1 v.q v/ v0qq v2q v4 v8 v5q v6 v7qq v9q v; vZ v< vK v= vD v> vAq v? v@qq vB vCq vE vHq vF vGqq vI vJq vL vS vM vPq vN vOqq vQ vRq vT vWq vU vVqq vX vYq v[ vn v\ vc v] v`q v^ v_qq va vbq vd vgq ve vfq vh vl viq vj vkqq vmq vo v~ vp vw vq vu vrq vs vtqq vvq vx v| vyq vz v{qq v}q v v v v vq v vqq vq v v vq v vqq vq v w5 v v v v v v v v v vq v vqq v vq v vq v vqq v vq v v v vq v vqq v vq v vq v vqq v vq v v v v v vq v vqq v vq v vq v vq v v vq v vqq vq v v v v v v vq v vqq vq v v vq v vqq vq v v v v vq v vqq vq v v vq v vqq vq v w v v v v v v) v v)) v v) v v) v v)) v v) v v v v) v v)) v v) v v) v v)) w w) w w w w w w) w w)) w w ) w w) w w) w w w) w w)) w) w w& w w w w w) w w)) w) w w$ w!) w" w#)) w%) w' w. w( w, w)) w* w+)) w-) w/ w3 w0) w1 w2)) w4) w6 w w7 wV w8 wG w9 w@ w: w=) w; w<)) w> w?) wA wD) wB wC)) wE wF) wH wO wI wL) wJ wK)) wM wN) wP wS) wQ wR)) wT wU) wW wj wX w_ wY w\) wZ w[)) w] w^) w` wc) wa wb) wd wh we) wf wg)) wi) wk wz wl ws wm wq wn) wo wp)) wr) wt wx wu) wv ww)) wy) w{ w w| w w}) w~ w)) w) w w w) w w)) w) w w w w w w w w) w w)) w w) w w) w w)) w w) w w w w) w w)) w w) w w) w w)) w w) w w w w w w) w w)) w w) w w) w w) w w w) w w)) w) w w w w w w w) w w)) w) w w w) w w)) w) w w w w w) w w)) w) w w w) w w)) w) w y, w x w x2 w w w w w w w w) w w)) w w) w w) w w)) w w) w w w w) w w)) w w) w w) w w)) w w) x x x x x x) x x)) x x) x x ) x x ) x x x) x x)) x) x x# x x x x x) x x)) x) x x! x) x x )) x") x$ x+ x% x) x&) x' x()) x*) x, x0 x-) x. x/)) x1) x3 xR x4 xC x5 x< x6 x9) x7 x8)) x: x;) x= x@) x> x?)) xA xB) xD xK xE xH) xF xG)) xI xJ) xL xO) xM xN)) xP xQ) xS xf xT x[ xU xX) xV xW)) xY xZ) x\ x_) x] x^) x` xd xa) xb xc)) xe) xg xv xh xo xi xm xj) xk xl)) xn) xp xt xq) xr xs)) xu) xw x~ xx x| xy) xz x{)) x}) x x x) x x)) x) x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x y x y x x x x y y y y y y y y y y y  y  y y y y y y y y y y y y y y y y y y% y y# y  y! y" y$ y& y* y' y( y) y+ y- y y. y y/ yN y0 y? y1 y8 y2 y5 y3 y4 y6 y7 y9 y< y: y; y= y> y@ yG yA yD yB yC yE yF yH yK yI yJ yL yM yO yb yP yW yQ yT yR yS yU yV yX y[ yY yZ y\ y` y] y^ y_ ya yc yr yd yk ye yi yf yg yh yj yl yp ym yn yo yq ys yz yt yx yu yv yw yy y{ y y| y} y~ y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y z y y y y y y y y y z z z z z z z z z z z z z z z z  z z z z z z z z z z z! z z z z z z  z" z& z# z$ z% z' z)  z*  z+ | z, {{ z- z z. z z/ zN z0 z? z1 z8 z2 z5x z3 z4xx z6 z7x z9 z<x z: z;xx z= z>x z@ zG zA zDx zB zCxx zE zFx zH zKx zI zJxx zL zMx zO zb zP zW zQ zTx zR zSxx zU zVx zX z[x zY zZx z\ z` z]x z^ z_xx zax zc zr zd zk ze zi zfx zg zhxx zjx zl zp zmx zn zoxx zqx zs zz zt zx zux zv zwxx zyx z{ z z|x z} z~xx zx z z z z z z z zx z zxx z zx z zx z zxx z zx z z z zx z zxx z zx z zx z zxx z zx z z z z z zx z zxx z zx z zx z zx z z zx z zxx zx z z z z z z zx z zxx zx z z zx z zxx zx z z z z zx z zxx zx z z zx z zxx zx z {( z z z z z z z zx z zxx z zx z zx z zxx z zx z z z zx z zxx z zx z zx z zxx z zx z { z z z zx z zxx z zx z {x { {x { { {x { {xx {x { { { { { { { x { {xx {x { { {x { {xx {x { {! { { {x { {xx { x {" {& {#x {$ {%xx {'x {) {H {* {9 {+ {2 {, {/x {- {.xx {0 {1x {3 {6x {4 {5xx {7 {8x {: {A {; {>x {< {=xx {? {@x {B {Ex {C {Dxx {F {Gx {I {\ {J {Q {K {Nx {L {Mxx {O {Px {R {Ux {S {Tx {V {Z {Wx {X {Yxx {[x {] {l {^ {e {_ {c {`x {a {bxx {dx {f {j {gx {h {ixx {kx {m {t {n {r {ox {p {qxx {sx {u {y {vx {w {xxx {zx {| |# {} { {~ { { { { { { {x { {xx { {x { {x { {xx { {x { { { {x { {xx { {x { {x { {xx { {x { { { { { {x { {xx { {x { {x { {x { { {x { {xx {x { { { { { { {x { {xx {x { { {x { {xx {x { { { { {x { {xx {x { { {x { {xx {x { { { { { { { {x { {xx { {x { {x { {xx { {x { { { {x { {xx { {x { {x { {xx { {x { | { { { {x { {xx { {x { {x { {x { | {x | |xx |x | | | | | | |x | | xx | x | | |x | |xx |x | | | | |x | |xx |x | |! |x | | xx |"x |$ |w |% |D |& |5 |' |. |( |+x |) |*xx |, |-x |/ |2x |0 |1xx |3 |4x |6 |= |7 |:x |8 |9xx |; |<x |> |Ax |? |@xx |B |Cx |E |X |F |M |G |Jx |H |Ixx |K |Lx |N |Qx |O |Px |R |V |Sx |T |Uxx |Wx |Y |h |Z |a |[ |_ |\x |] |^xx |`x |b |f |cx |d |exx |gx |i |p |j |n |kx |l |mxx |ox |q |u |rx |s |txx |vx |x | |y | |z | |{ |~x || |}xx | |x | |x | |xx | |x | | | |x | |xx | |x | |x | |xx | |x | | | | | |x | |xx | |x | |x | |x | | |x | |xx |x | | | | | | |x | |xx |x | | |x | |xx |x | | | | |x | |xx |x | | |x | |xx |x | ~ | }s | } | | | | | | | |x | |xx | |x | |x | |xx | |x | | | |x | |xx | |x | |x | |xx | |x | } | | | |x | |xx | |x | |x | |x | | |x | |xx }x } } } } } } }x } }xx } x } } } x } }xx }x } } } } }x } }xx }x } } }x } }xx }x }! }@ }" }1 }# }* }$ }'x }% }&xx }( })x }+ }.x }, }-xx }/ }0x }2 }9 }3 }6x }4 }5xx }7 }8x }: }=x }; }<xx }> }?x }A }T }B }I }C }Fx }D }Exx }G }Hx }J }Mx }K }Lx }N }R }Ox }P }Qxx }Sx }U }d }V }] }W }[ }Xx }Y }Zxx }\x }^ }b }_x }` }axx }cx }e }l }f }j }gx }h }ixx }kx }m }q }nx }o }pxx }rx }t } }u } }v } }w }~ }x }{' }y }z'' }| }}' } }' } }'' } }' } } } }' } }'' } }' } }' } }'' } }' } } } } } }' } }'' } }' } }' } }' } } }' } }'' }' } } } } } } }' } }'' }' } } }' } }'' }' } } } } }' } }'' }' } } }' } }'' }' } } } } } } } }' } }'' } }' } }' } }'' } }' } } } }' } }'' } }' } }' } }'' } }' } } } } } }' } }'' } }' } }' } }' } } }' } }'' }' } ~ } ~ } ~ }' ~ ~'' ~' ~ ~ ~' ~ ~'' ~ ' ~ ~ ~ ~ ~' ~ ~'' ~' ~ ~ ~' ~ ~'' ~' ~ ~ ~ ~o ~ ~< ~ ~- ~ ~& ~ ~#' ~! ~"'' ~$ ~%' ~' ~*' ~( ~)'' ~+ ~,' ~. ~5 ~/ ~2' ~0 ~1'' ~3 ~4' ~6 ~9' ~7 ~8'' ~: ~;' ~= ~P ~> ~E ~? ~B' ~@ ~A'' ~C ~D' ~F ~I' ~G ~H' ~J ~N ~K' ~L ~M'' ~O' ~Q ~` ~R ~Y ~S ~W ~T' ~U ~V'' ~X' ~Z ~^ ~[' ~\ ~]'' ~_' ~a ~h ~b ~f ~c' ~d ~e'' ~g' ~i ~m ~j' ~k ~l'' ~n' ~p ~ ~q ~ ~r ~y ~s ~v' ~t ~u'' ~w ~x' ~z ~}' ~{ ~|'' ~~ ~' ~ ~ ~ ~' ~ ~'' ~ ~' ~ ~' ~ ~'' ~ ~' ~ ~ ~ ~ ~ ~' ~ ~'' ~ ~' ~ ~' ~ ~' ~ ~ ~' ~ ~'' ~' ~ ~ ~ ~ ~ ~ ~' ~ ~'' ~' ~ ~ ~' ~ ~'' ~' ~ ~ ~ ~ ~' ~ ~'' ~' ~ ~ ~' ~ ~'' ~' ~ ~ ~ ~ ~ ~ ~ ~ ~' ~ ~'' ~ ~' ~ ~' ~ ~'' ~ ~' ~ ~ ~ ~' ~ ~'' ~ ~' ~ ~' ~ ~'' ~ ~' ~ ~ ~ ~ ~ ~' ~ ~'' ~ ~' ~ ~' ~ ~' ~ ~ ~' ~ ~'' ~' ~  ~  ~ ~ ~' ~ ~'' ~'   '  '' '      '   '' '   '  '' '   g    m  :  +  $  !    " # % ( & ' ) * , 3 - 0 . / 1 2 4 7 5 6 8 9 ; N < C = @ > ? A B D G E F H L I J K M O ^ P W Q U R S T V X \ Y Z [ ] _ f ` d a b c e g k h i j l n  o ~ p w q t r s u v x { y z | }                                                                                                                                                   4  %          " ! # $ & - ' * ( ) + , . 1 / 0 2 3 5 H 6 = 7 : 8 9 ; < > A ? @ B F C D E G I X J Q K O L M N P R V S T U W Y ` Z ^ [ \ ] _ a e b c d f h  i j k z l s m p n o q r t w u v x y { |  } ~                         R RR R R RR R R RR R R RR R R RR R R R R RR R R RR R R RR R     R  RR R R RR R  c  0  !    R  RR  R  R  RR  R " ) # &R $ %RR ' (R * -R + ,RR . /R 1 D 2 9 3 6R 4 5RR 7 8R : =R ; <R > B ?R @ ARR CR E T F M G K HR I JRR LR N R OR P QRR SR U \ V Z WR X YRR [R ] a ^R _ `RR bR d e t f m g jR h iRR k lR n qR o pRR r sR u | v yR w xRR z {R } R ~ RR R R RR R R R R RR R R RR R R RR R R RR R R RR R  _ R RR R R RR R R RR R R RR R R RR R R R R RR R R RR R R RR R   R  RR R  R  RR R ,      R  RR  R  R  RR  R  %  "R !RR # $R & )R ' (RR * +R - @ . 5 / 2R 0 1RR 3 4R 6 9R 7 8R : > ;R < =RR ?R A P B I C G DR E FRR HR J N KR L MRR OR Q X R V SR T URR WR Y ] ZR [ \RR ^R ` a b q c j d g e f h i k n l m o p r y s v t u w x z } { | ~                                                          [ (              !       " % # $ & ' ) < * 1 + . , - / 0 2 5 3 4 6 : 7 8 9 ; = L > E ? C @ A B D F J G H I K M T N R O P Q S U Y V W X Z \ { ] l ^ e _ b ` a c d f i g h j k m t n q o p r s u x v w y z | } ~                                                          T   Z  '                    ! $ " # % & ( ; ) 0 * - + , . / 1 4 2 3 5 9 6 7 8 : < K = D > B ? @ A C E I F G H J L S M Q N O P R T X U V W Y [ z \ k ] d ^ a _ ` b c e h f g i j l s m p n o q r t w u v x y { | }  ~                                                      !                           " 5 # * $ ' % & ( ) + . , - / 3 0 1 2 4 6 E 7 > 8 < 9 : ; = ? C @ A B D F M G K H I J L N R O P Q S U V W v X g Y ` Z ] [ \ ^ _ a d b c e f h o i l j k m n p s q r t u w x  y | z { } ~                                                  P                             1  & # ! " $ % ' * ( ) + / , - . 0 2 A 3 : 4 8 5 6 7 9 ; ? < = > @ B I C G D E F H J N K L M O Q p R a S Z T W U V X Y [ ^ \ ] _ ` b i c f d e g h j m k l n o q r y s v t u w x z } { | ~                L                                                         -  "     ! # & $ % ' + ( ) * , . = / 6 0 4 1 2 3 5 7 ; 8 9 : < > E ? C @ A B D F J G H I K M N m O ^ P W Q Tc R Scc U Vc X [c Y Zcc \ ]c _ f ` cc a bcc d ec g jc h icc k lc n o v p sc q rcc t uc w zc x yc {  |c } ~cc c c cc c c cc c c cc c c cc c c cc c c cc c c cc c c cc c c cc c c c c cc c c cc c c cc c c cc c c cc c H   c cc c c  cc  c    c cc c  c  cc  c  )    c  cc  c  "c !c # ' $c % &cc (c * 9 + 2 , 0 -c . /cc 1c 3 7 4c 5 6cc 8c : A ; ? <c = >cc @c B F Cc D Ecc Gc I h J Y K R L Oc M Ncc P Qc S Vc T Ucc W Xc Z a [ ^c \ ]cc _ `c b ec c dcc f gc i | j q k nc l mcc o pc r uc s tc v z wc x ycc {c } ~  c cc c c cc c c cc c c cc c  c cc c c cc c c cc c c cc c c cc c c c c cc c c cc c c cc c c cc c c cc c q B H    )5 )5)5 )5  )5  )5)5  )5   )5 )5)5 )5  )5  )5)5  )5    )5  )5)5  )5 ? ! 0 " ) # &)5 $ %)5)5 ' ()5 * -)5 + ,)5)5 . /)5 1 8 2 5)5 3 4)5)5 6 7)5 9 <)5 : ;)5)5 = >)5 @ A B E)5 C D)5)5 F G)5 I r J i K Z L S M P)5 N O)5)5 Q R)5 T W)5 U V)5)5 X Y)5 [ b \ _)5 ] ^)5)5 ` a)5 c f)5 d e)5)5 g h)5 j k l o)5 m n)5)5 p q)5 s t u | v y)5 w x)5)5 z {)5 } )5 ~ )5)5 )5 )5 )5)5 )5 )5 )5)5 )5   )5 )5)5 )5 )5 )5)5 )5 )5 )5)5 )5 )5 )5)5 )5 )5 )5)5 )5   )5 )5)5 )5 ) )) ) ) )) ) ) )) ) ) )) )   ) )) )    ) )) ) ) )) )   )  ))  ) ) ))  )    )  ))  )  9  *  #  )  )) ! ") $ ') % &)) ( )) + 2 , /) - .)) 0 1) 3 6) 4 5)) 7 8) : ; < ?) = >)) @ A) C D E q F h G Y H O I L) J K)) M N) P S) Q R) T W U)) V) X) Z a [ ^) \ ])) _ `) b e) c d)) f g) i j k n) l m)) o p) r s t { u x) v w)) y z) | ) } ~) )) ) ) ) )) ) ) )) )   ) )) ) )& )&)& )& )& )&)& )& )& )& )& )&)& )& )& )&)& )&   )& )&)& )& )& )&)& )& )& )&)& )& )& )&)& )& )& )&)& )&   )& )&)& )& G    )& )&)& )& )&  )&)&  )&    )& )&)& )&  )&  )&)&  )&    )&  )&)&  )&  > / ! ( " %)& # $)&)& & ')& ) ,)& * +)&)& - .)& 0 7 1 4)& 2 3)&)& 5 6)& 8 ;)& 9 :)&)& < =)& ? @ A D)& B C)&)& E F)& H I h J Y K R L O)& M N)&)& P Q)& S V)& T U)&)& W X)& Z a [ ^)& \ ])&)& _ `)& b e)& c d)&)& f g)& i j k n)& l m)&)& o p)& r s  t u v w x  y |( z {(( } ~( ( (( ( ( (( ( ( (( (   ( (( ( ( (( ( ( (( ( ( (( ( ( (( (   ( (( ( ( (( ( ( (( ( ( (( ( ( (( (   ( (( (   ( (( ( ( (( (   (  ((  ( ( ((  (    (  ((  (  n  E  <  -  & #( ! "(( $ %( ' *( ( )(( + ,( . 5 / 2( 0 1(( 3 4( 6 9( 7 8(( : ;( = > ? B( @ A(( C D( F e G V H O I L J K M N P S Q R T U W ^ X [ Y Z \ ] _ b ` a c d f g h k i j l m o p q r y s v t u w x z } { | ~                              i                                             @  7  (  !       " % # $ & ' ) 0 * - + , . / 1 4 2 3 5 6 8 9 : = ; < > ? A ` B Q C J D G E F H I K N L M O P R Y S V T U W X Z ] [ \ ^ _ a b c f d e g h j k l m | n u o r p q s t v y w x z { } ~                                                ^ 8 >  x xx x x xx x  x xx  x  x  xx x    x  xx  x  5  &    x  xx  x #x ! "xx $ %x ' . ( +x ) *xx , -x / 2x 0 1xx 3 4x 6 7 8 ;x 9 :xx < =x ? h @ _ A P B I C Fx D Exx G Hx J Mx K Lxx N Ox Q X R Ux S Txx V Wx Y \x Z [xx ] ^x ` a b ex c dxx f gx i j y k r l ox m nxx p qx s vx t uxx w xx z { ~x | }xx  x x xx x   x xx x x xx x x xx x x xx x x xx x   x xx x x xx x x xx x x xx x x xx x   x xx x   x xx x x xx x x xx x x  xx  x   x xx x  /     x  xx  x  x  xx  x ! ( " %x # $xx & 'x ) ,x * +xx - .x 0 1 2 5x 3 4xx 6 7x 9 : ; d < [ = L > E ? Bx @ Axx C Dx F Ix G Hxx J Kx M T N Qx O Pxx R Sx U Xx V Wxx Y Zx \ ] ^ ax _ `xx b cx e f u g n h kx i jxx l mx o rx p qxx s tx v } w zx x yxx { |x ~ x  xx x   x xx x ) )) ) ) )) ) ) )) ) ) )) )   ) )) ) ) )) ) ) )) ) ) )) ) ) )) )   ) )) ) 4  ) )) ) ) )) ) ) )) ) ) )) )    )  )) ) +     )  ))  )  )  ))  )  $  !)  )) " #) % () & ')) ) *) , - . 1) / 0)) 2 3) 5 6 U 7 F 8 ? 9 <) : ;)) = >) @ C) A B)) D E) G N H K) I J)) L M) O R) P Q)) S T) V W X [) Y Z)) \ ]) _ `  a b c d s e l f iq g hqq j kq m pq n oqq q rq t { u xq v wqq y zq | q } ~qq q   q qq q q qq q q qq q q qq q q qq q   q qq q q qq q q qq q q qq q q qq q   q qq q q qq q q qq q q qq q q qq q    q  qq  q  [ 2 )   q  qq  q  q  qq  q  "  q  qq !q # &q $ %qq ' (q * + , /q - .qq 0 1q 3 R 4 C 5 < 6 9) 7 8)) : ;) = @) > ?)) A B) D K E H) F G)) I J) L O) M N)) P Q) S T U X) V W)) Y Z) \ ] | ^ m _ f ` c) a b)) d e) g j) h i)) k l) n u o r) p q)) s t) v y) w x)) z {) } ~  ) )) ) ) )) ) ) )) ) ) )) ) ) )) )   ) )) ) V  ) )) ) ) )) ) ) )) ) ) )) )   ) )) ) ) )) ) ) )) ) ) )) ) ) )) )   ) ))  )  -  $                        !   " # % & ' * ( ) + , . M / > 0 7 1 4 2 3 5 6 8 ; 9 : < = ? F @ C A B D E G J H I K L N O P S Q R T U W X Y x Z i [ b \ _ ] ^ ` a c f d e g h j q k n l m o p r u s t v w y z { ~ | }                                       O ) /  x xx x x xx x x xx x x xx x   x  xx  x  &    x xx  x  x  xx  x    x  xx  x #x ! "xx $ %x ' ( ) ,x * +xx - .x 0 Y 1 P 2 A 3 : 4 7x 5 6xx 8 9x ; >x < =xx ? @x B I C Fx D Exx G Hx J Mx K Lxx N Ox Q R S Vx T Uxx W Xx Z y [ j \ c ] `x ^ _xx a bx d gx e fxx h ix k r l ox m nxx p qx s vx t uxx w xx z { | x } ~xx x x xx x x xx x x xx x x xx x   x xx x x xx x x xx x x xx x x xx x   x xx x x xx x x xx x x xx x x xx x   x xx x      x  xx  x x xx  x    x  xx  x  x  xx  x ! " # &x $ %xx ' (x * + ~ , U - L . = / 6 0 3x 1 2xx 4 5x 7 :x 8 9xx ; <x > E ? Bx @ Axx C Dx F Ix G Hxx J Kx M N O Rx P Qxx S Tx V u W f X _ Y \x Z [xx ] ^x ` cx a bxx d ex g n h kx i jxx l mx o rx p qxx s tx v w x {x y zxx | }x  ' '' ' ' '' ' ' '' ' ' '' '   ' '' ' ' '' ' ' '' ' ' '' ' ' '' '   ' '' ' % ' '' ' ' '' ' ' '' ' ' '' '   ' '' '   '  ''  '  '  '' '    '  ''  '  '  ''  '    "' !'' # $' & ' F ( 7 ) 0 * -' + ,'' . /' 1 4' 2 3'' 5 6' 8 ? 9 <' : ;'' = >' @ C' A B'' D E' G H I L' J K'' M N' P Q R S | T s U d V ] W Z X Y [ \ ^ a _ ` b c e l f i g h j k m p n o q r t u v y w x z { } ~                                                     L #                              ! " $ C % 4 & - ' *R ( )RR + ,R . 1R / 0RR 2 3R 5 < 6 9R 7 8RR : ;R = @R > ?RR A BR D E F IR G HRR J KR M v N m O ^ P W Q TR R SRR U VR X [R Y ZRR \ ]R _ f ` cR a bRR d eR g jR h iRR k lR n o p sR q rRR t uR w x y z }R { |RR ~ R R RR R R RR R R RR R   R RR R M R RR R R RR RR R R RR R R R R R R R   R RR R R RR R R RR R R RR R R RR R   R RR R $                            !   " # % D & 5 ' . ( + ) * , - / 2 0 1 3 4 6 = 7 : 8 9 ; < > A ? @ B C E F G J H I K L N O x P o Q ` R Y S V T U W X Z ] [ \ ^ _ a h b e c d f g i l j k m n p q r u s t v w y z { |  } ~                                    u "                                               ! # L $ C % 4 & - ' * ( ) + , . 1 / 0 2 3 5 < 6 9 7 8 : ; = @ > ? A B D E F I G H J K M l N ] O V P S Q R T U W Z X Y [ \ ^ e _ b ` a c d f i g h j k m n o r p q s t v w x y z { ~ | }                                                                                 q  H ? ! 0 " ) # & $ % ' ( * - + , . / 1 8 2 5 3 4 6 7 9 < : ; = > @ A B E C D F G I h J Y K R L O M N P Q S V T U W X Z a [ ^ \ ] _ ` b e c d f g i j k n l m o p r s t u | v yc w xcc z {c } c ~ cc c c cc c c cc c   c c c cc c c cc c c cc c c cc c c cc c   c cc c  c cc c c cc c c cc c c cc c   c cc c   c cc c c cc  c   c  cc c c cc  c    c  cc  c   <  -  & #c ! "cc $ %c ' *c ( )cc + ,c . 5 / 2c 0 1cc 3 4c 6 9c 7 8cc : ;c = > ? Bc @ Acc C Dc F I G Hv J Kv M \ N U O R P Q S TO V Y W X Z [ ] d ^ a _ `% b c e k f g h i j l m o p q x r u s tm v w y | z { } ~  $    Q     v  m    O  O      v vv v v v v v v v v v v v vv v v v vv  O  O    %  v        2                       O       +         8         $  !   " # % ( & 'O ) * } , ; - 4 . 1 / 0 2 3 } 5 8 6 7O 9 : < C = @ > ? A B#A D G E F H I K L M t N b O V P S Q RO T U W _ X ] Y Z [ \ ^ ` a c m d j e f g h i k l n q o p r sv u v } w z x y { | ~          s                        Q    O  O    %        %   %      O  %       O   %      %        %    _   &  9  *  #   O ! " $ ' % & ( )O + 2 , / - . 0 1 3 6 4 52 7 8 : I ; B < ? = > @ A C F D E G H J Q K N L M O P  R U S TO V W Y Z  [ \ ~ ] l ^ e _ b ` a  c d f i g h j k m w n t o p q r s } u v x { y z | }v                      %  %     {~ bk|'  O                                       }  }  }  }  }  }  }  }  }  }  }  }  }  }  }  }  } } }  }  }  }  }  }  }  }  }  }  }  }  }  }  }  } }        W  8  )  "      ! # & $ % ' (% * 1 + . , - / 0 2 5 3 4 6 7 9 H : A ; > < =v ? @% B E C D  F Gv I P J M K L N O Q T R S U V% X z Y k Z d [ ^ \ ]m _ ` a b c e h f g i j l s m p n o } q r t w u v x y { | } ~ O                  v      #A      %  O     %          |  %          U  U       %       s    O      v      %    Z  >  /  %  "  ! # $2 & , ' ( ) * + - . 0 7 1 4 2 3 5 6 8 ; 9 :O < =8 ? K @ G A D B C E Frt H I J% L S M P N O Q Ry T W U V X Y [ \ ] ^ a _ `2 b c d e| f g w h| i| j| k| l| m| n| o| p| q| r| s| t| u| v|}| x| y| z| {| || }| ~| | | | | | | | |z| | | | | | | | | | | | | | | | |]|          rt  %    %    %   }    %   1 P         s    %  v  Q     $  %    $       $   Q   }  1  "              ! # * $ ' % & ( )  + . , - / 0 2 A 3 : 4 7 5 6 8 9  ; > < =g ? @  B I C F D E3 G H J M K L N O Q R q S b T [ U X V W_ Y Zm \ _ ] ^ ` a c j d g e f } h i k n l m o p r s z t w u v x y { ~ | }    _    %  O               s      %  _  v  %    2 c    v         %                 2                           ! D " 5 # . $ % & ' ( + ) * , -u / 2 0 1  3 4  6 = 7 : 8 9 ; < > A ? @ B C E T F M G J H I s K L N Q O P R S U \ V Y W XO Z [_ ] ` ^ _ a b  d e f u g n h k i j l m  o r p q s t v } w z x y { |  ~          {~  v      $                                     O    ` $            &  Q     v         %                !    " # % A & 5 ' . ( + ) * , - / 2 0 1O 3 4 6 : 7 8 9 ; > < = ? @ B Q C J D G E Fm H I K N L M O P  R Y S V T U W X Z ] [ \ ^ _ a b c r d k e h f g i jv l o m n% p q* s z t w u vm x y% { ~ | } s     O                     v      v  v  Q      %  v  %         O  O h I 9    v       2 '       Q  #Pz   z            C          ! " # % $z & ( ) . * + , -7 / 0 1 Q#P 3 4 5 6 7 8 Q : B ; > < = ? @ A C F D E G H J Y K R L O M N P Q S V T U W X Z a [ ^ \ ] _ ` b e c d f gO i j | k u l r m n o p q s t v y w x z { } ~  O  %        O      x      O      %  Q      %  _                  O          v     O       %  O        "               !% # * $ ' % & ( ) + . , - / 0 2 3 5 4 5 w 6 X 7 I 8 B 9 ? : ; < = > @ Av C F D E G HO J Q K N L MO O P R U S T  V Wv Y h Z a [ ^ \ ]  _ ` b e c d% f gQ i p j m k l_ n o% q t r s u v x y z { ~ | }                        %  Q          %              v  %               %                     O  &         # ! " $ %% ' . ( + ) *% , -% / 2 0 1 3 4 6 Z 7  8 9 : ; < = t > s ? s @ s A s B ] C N D I s E F s G s H sG s J s K s L s M s s O X P T Q s R s S s s U s V s W s2 s Y s Z s [ s \ s s ^ i _ d s ` a s b s c s s e s f s g s h s s j o k s l s m s n s s p s q s r s s sn s u v w | s x y s z s { sG s } ~ s  s  s s  s  s  s s  s  s s  s  s  s2 s  s  s  s  s s  s  s  s  s s  s  s  s  s s  s  s  s s  s  s  s s  s  s  s  sn s  s  s  s  sG s  s  s  s s  s  s  s s  s  s  s s  s  s2 s  s  s  s  s s  s  s  s  s s  s  s  s  s s  s  s  s s  s  s  s s  s  s  s  sn s S  s  s  s  s  sG s  s  s  s  s s   s  s  s s  s  s  s2 s  s  s  s  s s   s  s  s  s s  s  s  s  s s    s  s  s  s s  s  s  s  sn s ! < " - # ( s $ % s & s ' sG s ) s * s + s , s s . 7 / 3 0 s 1 s 2 s s 4 s 5 s 6 s2 s 8 s 9 s : s ; s s = H > C s ? @ s A s B s s D s E s F s G s s I N J s K s L s M s s O s P s Q s R sn s T s U V q W b X ] s Y Z s [ s \ sG s ^ s _ s ` s a s s c l d h e s f s g s s i s j s k s2 s m s n s o s p s s r } s x s t u s v s w s s y s z s { s | s s ~  s  s  s  s s  s  s  s  sn s  s  s  s  sG s  s  s  s  s s  s  s  s s  s  s  s2 s  s  s  s  s s  s  s  s  s s  s  s  s  s s  s  s  s  s s  s  s  s  sn s  s s  s  s  s  s  sG s  s  s  s  s s  s  s  s s  s  s  s  s  s  s  s  s  s  s  s  s  s  s  s  s  s2 2 s  s  s  s  s s  s  s  s  s s  s  s  s  s s  s  s  s  s s  s  s  s  sn s  9 s   s  s  s  s  "    s  s  s  sG s  s  s  s  s s      s  s  s s  s  s  s2 s  s  s  s ! s s # . $ ) s % & s ' s ( s s * s + s , s - s s / 4 0 s 1 s 2 s 3 s s 5 s 6 s 7 s 8 sn s s : ; < = > q ? Z @ K A F s B C s D s E sG s G s H s I s J s s L U M Q N s O s P s s R s S s T s2 s V s W s X s Y s s [ f \ a s ] ^ s _ s ` s s b s c s d s e s s g l h s i s j s k s s m s n s o s p sn s r s ~ t y s u v s w s x sG s z s { s | s } s s   s  s  s  s s  s  s  s  s s  s  s  s  s s  s  s  s  s s  s  s  s  s s  s  s  s  sn s  s  s  s  s  sG s  s  s  s  s s  s  s  s s  s  s  s2 s  s  s  s  s s  s  s  s  s s  s  s  s  s s  s  s  s  s s  s  s  s  sn s s  s  s s  s  s  s  s  s  s  s  s  s  s  s s  s  s  s  s s  s  s  s  s s  Y &   s  s  s  sG s  s  s  s  s s     s  s  s s  s  s  s2 s  s  s  s  s s     s   s  s  s s  s  s  s  s s  !  s  s  s  s s " s # s $ s % sn s ' B ( 3 ) . s * + s , s - sG s / s 0 s 1 s 2 s s 4 = 5 9 6 s 7 s 8 s s : s ; s < s2 s > s ? s @ s A s s C N D I s E F s G s H s s J s K s L s M s s O T P s Q s R s S s s U s V s W s X sn s Z s [ m \ b s ] ^ s _ s ` s a s s c h d s e s f s g s s i s j s k s l s s n t s o p s q s r s s s s u z v s w s x s y s s { s | s } s ~ sn s  s  s  s  s  sG s  s  s  s  s s  s  s  s s  s  s  s2 s  s  s  s  s s  s  s  s  s s  s  s  s  s s  s  s  s  s s  s  s  s  sn s  s  s  s  sG s  s  s  s  s s  s  s  s s  s  s  s2 s  s  s  s  s s  s  s  s  s s  s  s  s  s s  s  s  s  s s  s  s  s  sn s   s  s  s  sG s  s  s  s  s s  s  s  s s  s  s  s2 s  s  s  s  s s     s   s  s  s s  s  s  s  s s    s  s  s  s s  s  s  s  sn s  ;  ,  %  "  ! # $ & ) ' ( * +% - 4 . 1 / 0% 2 3 5 8 6 7% 9 :  < K = D > A ? @_ B C E H F G I J L S M P N O Q R T W U V X Y [ \ { ] l ^ e _ b ` a & c d f i g h% j k m t n q o p r sv u x v w% y z } | } ~     }    v      v  #A    %    v       }        O    O        Z a 5  w w www / '            g         g                                      ! $ "  # H % & # (  ) * + , - .   0 1 4 2 3| 6 I 7 @ 8 9U :U ;U <U =U >U ?UU A B C D E F G H J K L M S N O P Q R  T \ U V W Z X Y g [  ]  ^ _ `  b c e du f g h s i j k l p m n oP q r1 t ~ u v w x { y z# | }1w         1   w w w wT                 H            Ug  wT      1U H    H    1um w   h )   #|1 <  ; ;    w    ;%;3|  8|     4tU  ;A;O     |;]  fg  "     ! # & $ %$ ' (#3 * I + : , 3 - 0 . /fB 1 2;l| 4 7 5 6` 8 9;{;u ; B < ? = > @ A;; C F D E ! G H;; J Y K R L O M N;FVF P Qn;: S V T UR.; W X^ Z a [ ^ \ ]UY _ `ֹHL, b e c dZzK* f g= i j k z l s m p n o;< w q r$u* t w u vm x y/<& { |  } ~PW b A<+ ]sˢ Tu H> <:># # # ## # #  ! # # ##$ " % # $# &## ( ] ) R * ? + 6 , 0 -# .# /##g 1# 2 4 3w#w 5#w# 7 ; 8# 9# :## <# =# >##wT @ I A E B# C# D## F# G# H## J N K# L# M##P O# P# Q## S# T# U Y V# W# X## Z# [# \## ^# _# `# a e b# c# d## f# g# h## # j# k# l m { n## o# p# q# r s# t# u# v# w# x# y## z# |# }## ~ # # ## # # # ## # #                   #             g       g w    U U U U U U UU|         F )                   Z      R ,  u    < <    ;3  t  "          U !  # $ ( % & '  * 6 + , - . / 0 1 2 3 4 51 7 8 9 : ; < = > B ? @ Au C D Eu G L H I J K M N O P Q R S T U V W X Yg [ w \ ] ^ f _ ` a b c d eg g h i p j k l m n o q r s t u v  x y z { | } ~        w       w                  g         g                                #                    H        ##  P          g  ,  '                        % ! # "  $w &U ( ) * + - B . 1 / 0  2 : 3 4 w 5 6 7 8 9 ; < =U >UU ?U @U AU1 C T D I E F G HU JU K L M N O P Q R S  U V W X Y ` Z [ \ ] ^ _K a b c d e fw h i j n k l mu o p q r z s t u v w x y  { | } ~   u   U U   B U        wT  1 2  m      s    v  %  %          %   !    _   }       O                      w 1        #            ! " $ + % ( & '% ) *% , / - . 0 1O 3 r 4 S 5 D 6 = 7 : 8 9 ! ; <Q > A ? @ B C E L F I G H J K M P N O% Q R T c U \ V Y W X Z [ ] ` ^ _ a b  d k e h f g  i j l o m n p q s t u | v y w x z { } ~ *        %                      l           Q   _  O  _  $                M   O  O                  uuY      F  C    }  }  }   }  }  }  }  } ! } " } # } $ } % 4 & } ' } ( . ) + } *v~ , -^y } / 2 0 1 } 3 }g 5 < 6 } 7 } 8 : } 9v~ } ; } }y } = > } ? A } @v~ } B } }y D E } G J H I K L N ] O V P S Q R T U W Z X Y [ \m ^ e _ b ` am c d f i g h% j k m n o ~ p w q t r s u v x { y z | }     %    O    %  O  O  Q    %     }  %  v     _           %    %  Q  v   $  n /        Q  Q         2  %       %  _    |  Q ! ( " % # $ & ' ) , * + - . 0 O 1 @ 2 9 3 6 4 5 7 8 : = ; < > ? A H B E C D F G% I L J K  M N P _ Q X R U S T V WQ Y \ Z [ } ] ^ ` g a d b c e f h k i j% l m o p q r y s v t u w x z } { | ~ %       v        O  v  m        v       !       s                                           \p         O       j  X  #      Q     % ! "% $ + % ( & ' s ) * , B - . / 0x 1x 2x 3x 4x 5x 6x 7x 8x 9x :x ;x <x =x >x ?x @x Axx! C D E F G H I J K L M N O P Q R S T U V W Y = Z a [ ^ \ ]O _ ` b : c d e f g x h i j k l m n o p q r s t u v ww y z { | } ~                    #            |*        U                                #U1 $   wH #U1 $   wH   #U1  $    wH     #               K    # ! "U $ 2 % & ' ( ) * + , - . / 0 1U 3 6 4 5 7 8 9 ; <% > c ? ` @ A B C D E F G H I J U K L M N O P Q R S T V W X Y Z [ \ ] ^ _4 a b d g e fm h i% k l ~ m t n q o p r s u x v w y z { | }%   O  %    O          |                      x x x x x x x x x x x ^x x^^xx x x x^x xx x x x^x xx x xx xx x^              \p  \pa 6 6 6 6 6 6 6 6 6 6 66 6 6 66         J +       %          $  !   " #!$ % ( & ' ) *O , ; - 4 . 1 / 0  2 3v 5 8 6 7% 9 : < C = @ > ?v A B D G E F H I K m L ^ M T N Q O P s R S% U [ V W X Y Z Q \ ]  _ f ` c a b d e g j h iv k l n } o v p s q r t u% w z x yQ { | ~     %     %    O           v     %            %  %             O                      I          I  %      v        O  "  !% # $ & e ' F ( 7 ) 0 * - + ,% . / 1 4 2 3 5 6 8 ? 9 < : ;% = > @ C A BQ D E G V H O I L J K M N P S Q R T U  W ^ X [ Y Z \ ] _ b ` a c dm f g y h o i l j k m n ! p v q r s t u% w x% z { ~ | }                   y   }  %  O B                      w   w    %  O        %         %    %   _  #           _  %             Q  ! "! $ 3 % , & ) ' (! * +Q - 0 . / 1 2 4 ; 5 8 6 7% 9 : < ? = > @ A C D c E T F M G J H I K L  N Q O P R S U \ V Y W X Z [  ] ` ^ _ } a b d s e l f i g h j k m p n o% q r t { u x v w y z  |  } ~  w     }     }          %  %    W               I       v     H ` !   m                   I                     I                  ! t " K # $ c % D & 5 ' . ( ) * +ц , -ц / 0 1 2ц 3 4ц 6 = 7 8 9 :ц ; <ц > ? @ Aц B Cц E T F M G H I Jц K Lц N O P Qv R Sv U \ V W X Yv Z [v ] ^ _ `v a bv d e | f q g h i j k o l n mvv pv r s t u v z w y xvv {v } ~                            : :   : :   : :   : :   : :   W W   W W   W W '        WW W      WW W           II I     ! % " $ #II &I ( ? ) 4 * + , - . 2 / 1 0II 3I 5 6 7 8 9 = : < ;II >I @ A B C D E I F H GII JI L M N m O ^ P W Q R S T U V  X Y Z [ \ ]  _ f ` a b c d e  g h i j k l  n } o v p q r s t u  w x y z) { |) ~   ) )   ) )    )) )    )) )                                                       @  @      @  @    @  @ ! P " 9 # . $ % & ' ( , ) + *@@ -@ / 0 1 2 3 7 4 6 5@@ 8@ : E ; < = > ? C @ B A55 D5 F G H I J N K M L55 O5 Q h R ] S T U V W [ X Z Y55 \5 ^ _ ` a b f c e d55 g5 i j k l m n r o q p55 s5 u c v w x y z { | } ~                                                                                    ?  (                 ! " & # % $  '  ) 4 * + , - . 2 / 1 0 3 5 6 7 8 9 = : < ; > @ W A L B C D E F J G I H K M N O P Q U R T S V X Y Z [ \ ] a ^ ` _ b d e f g v h o i j k lL m nL p q r sL t uL w ~ x y z {L | }L   L L   L L   Z Z   Z Z   Z Z    ZZ Z    ZZ Z                                       y  O                     " A # 2 $ + % ( & ' ) * , / - . 0 1 3 : 4 7 5 6 8 9 ; > < =% ? @ B Q C J D G E F% H I K N L M O P8 R Y S V T U W X Z ] [ \ ^ _ a b c r d k e h f gr i j s l o m n p q s z t w u v% x y| { | } ~              %    *                      I        O    !         %        %    % n < - #                                   ! "z  $ ' % & ( ) * + , . 5 / 2 0 1v 3 4 6 9 7 8 : ; = _ > X ? U @ A B C D E F G H I J K L M N O P Q R S TI V W% Y \ Z [! ] ^ ` g a d b c e f h k i j% l mO o p  q x r u s t% v w y | z {  } ~O    S        %   }    v v v v v v v v v v v v v vv v vv v        %       v       V  O  O            O  2        #         }            %      ! " $ 3 % , & ) ' (  * +Q - 0 . / 1 2#A 4 > 5 8 6 7% 9 : ; < =  ? E @ A B C D% F G I K J K L k M \ N U O R P Q% S T V Y W X Z [ ] d ^ a _ ` b cO e h f gQ i j l { m t n q o p r s u x v w y z% | } ~     " "y"    2  v          v        O    Q  v       %  O    %         }     O  %  %  O            ! ,        %          %  "  ! # $ & ) ' ( * + - < . 5 / 2 0 1O 3 4  6 9 7 8O : ; = D > A ? @% B C% E H F G* I J L  M N x O ^ P W Q T R S% U V } X [ Y Z s \ ] _ f ` c a b d e  g j h i% k l m n% o% p% q% r% s% t% u%% v% w%x y z { ~ | }     }  }  }  }  }  }  }  }  }  }  }  }  }  }  }  }  }yy } }  }  }  }  }  }  }  }  }  }  } } }  }  }  }  }  }  }  }  }  }  }  }  }  } }          %      O  %    %                                        F        }  ;  ,  %  "  ! # $ & ) ' (% * + - 4 . 1 / 0 2 3 5 8 6 7  9 : < n = d > a ? @ A B T C } D } E } F } G } H } I } J } K } L } M } N } O } P } Q } R } S }y } U } V } W } X } Y } Z } [ } \ } ] } ^ } _ } ` }y } b c e k f g h i j l m o v p s q r t u w z x y% { | ~   %         %    O          %  m  *  %   Q  T O    O            ɓ        y y y y yy yV y yy y y yyY`       ɓ'     #P o$  Q  @               v    ! } " 3 } # $ } % } & } ' } ( } ) } * } + } , } - } . } / } 0 } 1 } 2 } } 4 } 5 } 6 } 7 } 8 } 9 } : } ; } < } = } > } ? } } A H B E C D2 F G I L J K  M N P l Q ` R Y S V T UQ W X% Z ] [ \ ^ _% a e b c d% f i g h j k% m  n x o r p q s t u v w Q y | z { } ~       %  %       }           v  v      %      O  O   O                  }  }  }  }  }  }  }  }  }  }  }  }  } } }  }  }  }  }  }  }  }  }  }  }  }  }  }  }  }v~ }  E       }           }  } ! } " } # } $ } % } & } ' } ( } ) } * } + } , } - } . } / B 0 A 1 } 2 } 3 } 4 } 5 } 6 } 7 } 8 } 9 } : } } ; } < } = } > } ? } @ } C Dy }^ } F M G J H I K L N Q O P R S U V W s X d Y ` Z ] [ \ ^ _% a b c% e l f i g h j k m p n om q r$ t u | v y w x z { } ~        %    %  %  2  %      %      |   s        }     %    O ] ; ,    O                               P             w            ! " # $ % & ' ( ) * +  - 4 . 1 / 0 2 3 5 8 6 7 9 : < N = D > A ? @  B C E H F G I J K L MP O V P S Q R T U  W Z X Y  [ \U ^ _ n ` g a d b c e fQ h k i j l m } o v p s q r t u w z x y  { | } ~ b              K              U   U       U                               w       P g  |    $ $$ $ $ $ $$1 u  m  R   Ň e V O L     –  |  O  @      >    !     H " $ # % & ' ( + ) * , - . / 0 1 2 3 4 5 6 7 8 9 : ; < =z ?  A B C D E F G H I J K L M NK P ^ Q R S T U V W X Y Z [ \ ] _ ` a b c d e f q g i h j k l m o n  p | r t s  u v w x z y {  } ~    € K ‚u ƒu „u …u †u ‡uu ˆ ‰uu Š ‹u Œu|*u Ž g  ‘ ” ’ “wu •K — K ˜ ³ ™ ¬ š © › ¨H œ  ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § w   ª «gwT ­ ° ® ¯g# ± ² w ´ µ ¶ Į · ¸ S ¹ º » ¼ ½ ¾ ¿ u W                           2      uz     g           #  !           #  1 1# " - # $ ) % & ' (w * + ,  . / 0 1  3 7 4 5 6 8 E 9 ; :H < = > ? B @ A1$ C D # F G H I M J K L=wT N P OH Q RY T Ù U r V g W b X Z Y [ \ ] ^ ` _ aq c e d# f h o i j k l m n p q s Ç t Ä u  v Á w | x y z { } ~  ÀUHH ÃH Å Æ È Ô É Ê Ëw Ì Ï Í Îw Ð Ò Ñ Ó Õ Ö × Ø Ú Û å Ü â Ý Þ ß à á# ã ä æ ç è í é ê ë ì î ï ñ ð  ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ     g >      w w w ww w w #  w  K  U      U      w         ,  u        4       |*|*|*   w   )  $  #     w ! "w % & ' (# * + 3 , - . 0 / 1 21 1 g 5 A 6 ; 7 9 8U :  < > = ? @ # B F C D E  G I H  J L č M Ć N f O b P [ Q Z R S V Tu Uu#uu W X Y uuu# \ ] ^ _ ` aw c d ew g s h n i j k l mP ow pw q r$ t ă u zw v w x yu { |  } ~ Ā ā Ă1 Ą ą1 ć Ĉ ĉ ċ Ċ Č Ď ĩ ď Ğ Đ ě đ ē Ē Ĕ ĕ Ė ė ę Ę1 Ěw Ĝ ĝ ğ Ħ Ġ ġ Ģ ģ Ĥ ĥU ħ Ĩ  Ī ī Ĭ ĭ į İ ı IJ ĸ ij Ĵ ĵ Ķ ķ#  Ĺ ĺ Ľ Ļ ļ  ľ Ŀ                g $ u    gu g| K    P    1#     # $             #        wT  ! " #1 % 9 & - ' * ( ) + , . 6 / 0 5 1 2 3 4$ 7 8 : C ; ? < = >u @ A B D G E F# H I J   M N P S Q R T U W ^ X [ Y Z  \ ] _ b ` a c d f u g n h k i j l m o r p q ! s t v ŀ w z x y { | } ~  Ł ń ł Ń Ņ ņ ň ŧ ʼn Ř Ŋ ő ŋ Ŏ Ō ōO ŏ Ő Œ ŕ œ ŔO Ŗ ŗ  ř Š Ś ŝ ś ŜO Ş ş š Ť Ţ ţQ ť Ŧ Ũ ŷ ũ Ű Ū ŭ ū Ŭ Ů ů  ű Ŵ Ų ų ŵ Ŷ Ÿ ſ Ź ż ź Ż Ž ž         v     %        %                 6  '    O    $    % % % % % % % % % % % % % %% !% "% #%% % & ( / ) , * +Q - . 0 3 1 2 4 5 7 F 8 ? 9 < : ; = > @ C A B D E G N H K I J L M O P Q  S T Ɩ U t V e W ^ X [ Y Zv \ ] _ b ` av c d f m g j h i k l n q o p r s u Ƅ v } w z x y  { | ~ Ɓ  ƀm Ƃ ƃ ƅ Ə Ɔ ƌ Ƈ ƈ Ɖ Ɗ Ƌ ƍ Ǝ } Ɛ Ɠ Ƒ ƒ Ɣ ƕ  Ɨ ƶ Ƙ Ƨ ƙ Ơ ƚ Ɲ ƛ Ɯ ƞ Ɵ  ơ Ƥ Ƣ ƣ ƥ Ʀ ƨ Ư Ʃ Ƭ ƪ ƫ% ƭ Ʈ_ ư Ƴ Ʊ Ʋ% ƴ Ƶ! Ʒ Ƹ ƿ ƹ Ƽ ƺ ƻ% ƽ ƾ        m         O  _  _  _  /    %                         2  &      v   # ! " $ %% ' + ( ) * , / - .  0 1 3 B 4 ; 5 8 6 7% 9 : < ? = >% @ A  C J D G E F  H I! K N L M O P R S j T U ǩ V u W f X _ Y \ Z [ ] ^% ` c a bm d e g n h k i j l m } o r p q s t v Dž w ~ x { y z | }Q  ǂ ǀ ǁ ǃ DŽ dž Ǎ LJ NJ Lj ljm Nj nj% ǎ Ǒ Ǐ ǐ ǒ Ǔ ǔ Ǖ ǖ Ǘ ǘ Ǚ ǚ Ǜ ǜ ǝ Ǟ ǟ Ǡ ǡ Ǣ ǣ Ǥ ǥ ǧ ǦC Ǩ Ǫ ǫ Ǻ Ǭ dz ǭ ǰ Ǯ ǯ DZ DzO Ǵ Ƿ ǵ ǶO Ǹ ǹ } ǻ Ǽ ǿ ǽ Ǿ }       %      %             +  O          O       m                  $  !  _ " # % ( & 'v ) *% , K - < . 5 / 2 0 1 3 4  6 9 7 8 : ; = D > A ? @ B C E H F G  I J L [ M T N Q O P R S U X V W Y Z \ c ] ` ^ _% a b d g e f h i k  l m Ȍ n } o v p s q r t uv w z x y { |O ~ ȅ  Ȃ Ȁ ȁO ȃ Ȅ Ȇ ȉ ȇ Ȉ } Ȋ ȋ% ȍ Ȝ Ȏ ȕ ȏ Ȓ Ȑ ȑ  ȓ Ȕ Ȗ ș ȗ Ș Ț țQ ȝ Ȥ Ȟ ȡ ȟ Ƞ* Ȣ ȣ% ȥ Ȧ ȧ Ȩ ȩm Ȫm ȫm Ȭm ȭm Ȯm ȯm Ȱm ȱm Ȳm ȳm ȴm ȵm ȶm ȷm ȸm ȹm Ⱥm Ȼm ȼm Ƚm Ⱦm ȿm m m mm m m m m m mm m  Q       m     }    v            %            O      Q  2  #            ! " $ + % ( & ' ) *  , / - . 0 1v 3 B 4 ; 5 8 6 7 9 : < ? = >  @ A C J D G E Fm H I K N L M  O P ! R q S b T [ U X V W Y Z \ _ ] ^O ` aQ c j d g e f h i k n l mO o p r s t u v w x ɤ yv z ɘ {v |v }v ~ ɐ v ɀv Ɂv ɂv Ƀv Ʉ Ɏ Ʌ ɍv Ɇv ɇ Ɉ Ɋ ɉ ɋ Ɍ>vv ɏv ɑv ɒvv ɓv ɔ ɕv ɖvv ɗv əv ɚv ɛv ɜv ɝv ɞv ɟv ɠvv ɡ ɢv ɣvvv ɥ ɦ ɲv ɧv ɨv ɩ ɪv ɫvv ɬv ɭ ɮv ɯvv ɰv ɱUv ɳv ɴv ɵv ɶv ɷv ɸv ɹv ɺv ɻv ɼv ɽvv ɾ ɿv vv    %          ! [     O             O                   y    %    <  -  & # ! "% $ %| ' * ( )  + , . 5 / 2 0 1 ! 3 4 6 9 7 8 : ; = L > E ? B @ A C D F I G H% J K| M T N Q O P% R S  U X V W Y ZO \ ˂ ] c ^ T _ f ` c a b d e g Q h i j kv lv m } nv ov pv qv rv sv tv uv vv wv xv yv zv {v |vv ~ B  ʀ ʱ ʁ ʞ ʂv ʃv ʄ ʝv ʅ ʆv ʇv ʈ ʘ ʉ ʒ ʊ ʏ ʋ ʍv ʌLvv ʎzv ʐv ʑvv ʓv ʔ ʖv ʕvzv ʗv ʙv ʚv ʛv ʜvvv ʟv ʠ ʦ ʡvv ʢ ʣv ʤv ʥvzv ʧ ʬv ʨ ʩv ʪv ʫvvv ʭ ʮv ʯv ʰvv ʲ ʳv ʴ ʾ ʵv ʶ ʺ ʷv ʸv ʹvv ʻv ʼv ʽvvv ʿ v v v v vv v vv v v v v v vv v v v v v vv  v v v v v v v v v v vv  v v v vv v v v v vvv v v v v v v v v vv v v v vv v v v v v v v   v  vv vv v  8 vv   v  v v vv v v !v "v #v $v %v & 'v (v ) *vv +v ,v -v .v / 0vv 1v 2v 3 4vv 5v 6v 7v7 9v : @ ;vv < =v >v ?vvv Avz Cv Dv E M Fvv Gv Hv I Jv Kv Lv,v Nv Ov Pvv R S3 U \ V Y W Xv Z [ ] ` ^ _ a b% d s e l f i g h j kQ m p n oO q rm t { u x v w y z% |  } ~_ ˀ ˁ| ˃ ˢ ˄ ˓ ˅ ˌ ˆ ˉ ˇ ˈ% ˊ ˋ ˍ ː ˎ ˏ ˑ ˒ ˔ ˛ ˕ ˘ ˖ ˗% ˙ ˚ ˜ ˟ ˝ ˞ ˠ ˡ% ˣ ˲ ˤ ˫ ˥ ˨ ˦ ˧ ˩ ˪% ˬ ˯ ˭ ˮ ˰ ˱ ˳ ˺ ˴ ˷ ˵ ˶  ˸ ˹% ˻ ˾ ˼ ˽ ˿   A    !           %  m  O    m              "                           ! # 2 $ + % ( & 'O ) * , / - . 0 1 3 : 4 7 5 6 8 9| ; > < = ? @ B C ̳ D S E L F I G H J K M P N O Q R T ̬ U ̩ V W X Y ̖ Z o [ d \ a ] _ ^ `{o b c$ e j f h gz iO k m l  n  p ̒ q r t s| u v w x y z { | } ~  ̀ ́ ̂ ̃ ̄ ̅ ̆ ̇ ̈ ̉ ̊ ̋ ̌ ̍ ̎ ̏ ̐ ̑# ̓ ̔ ̕ ̗ ̠ ̘ ̜ ̙ ̚ ̛` ̝ ̞ ̟ | ̡ ̥ ̢ ̣ ̤ ̦ ̧ ̨ ̪ ̫ ̭ ̰ ̮ ̯ s ̱ ̲ ̴ ̵ ̼ ̶ ̹ ̷ ̸v ̺ ̻ ̽ ̾ ̿         }  %     m                       :     %                                !   " # % v & ҧ ' Ѐ ( Η ) ͫ * l + M , ; - 4 . 1 / 0 2 3 5 8 6 7 9 : < C = @ > ? A BU D J E F G H I K LO N ] O V P S Q Rr T U W Z X Y [ \ ^ e _ b ` a c d f i g h  j k m ͌ n } o v p s q r t u w z x y { | ~ ͅ  ͂ ̀ ́ ̓ ̈́ ͆ ͉ ͇ ͈ ͊ ͋ ͍ ͜ ͎ ͕ ͏ ͒ ͐ ͑v ͓ ͔ ͖ ͙ ͗ ͘% ͚ ͛Q ͝ ͤ ͞ ͡ ͟ ͠ ͢ ͣ| ͥ ͨ ͦ ͧ ͩ ͪO ͬ ͭ ͮ ͽ ͯ Ͷ Ͱ ͳ ͱ Ͳ ʹ ͵ ͷ ͺ ͸ ͹ ͻ ͼ ; Ϳ       O      %      Q                  %          Έ ΁  ~      P         #[ #[ #[ #[ #[ !#[ "#[ ##[ $#[ %#[ &#[ '#[ ( < )#[ *#[#[ + ,#[ -#[ .#[ /#[ 0#[ 1#[ 2#[ 3#[ 4#[ 5#[ 6#[ 7#[#[ 8 9#[ :#[#[ ;#[[x =#[ >#[ ?#[ @#[ A#[ B#[ C#[ D#[ E#[ F#[ G#[ H#[ I#[ J#[#[ K#[ L M#[ N#[#[ O_#[ Q ^ R S T U Y V W XEE Z [ \ ]_`  _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | }  ΀% ΂ ΅ ΃ ΄% Ά ·m Ή ΐ Ί ΍ ΋ Ό% Ύ Ώ  Α Δ Β Γ Ε Ζ  Θ  Ι Κ ι Λ Ϊ Μ Σ Ν Π Ξ Ο Ρ ΢ Τ Χ Υ Φ Ψ Ω Ϋ β ά ί έ ή ΰ α γ ζ δ ε η θ κ λ μ ο ν ξO                    m  %  m      Q  %      Q  Q    Q         }    O    e  ;  ,  %  "  ! } # $ & ) ' ( * +O - 4 . 1 / 0O 2 3 5 8 6 7 9 :O < V = D > A ? @ B C E S F G H IQ JQ KQ LQQ MQ NQ O PQ QQ RQ+Q T U% W ^ X [ Y Z \ ] _ b ` a } c d f a g R h K i l j k% m n o p ϒ q π r s t u v w x y z { | ~ }K  ρ ς σ τ υ φ χ ψ ω ϊ ϋ ό ύ ώ Ϗ ϐ ϑ ϓ J ϔ ϕ  ϖ ϗ ϲ Ϙ ϙ Ϛ Ϝ ϛ ϝ Ϟ ϟ Ϡ ϱ ϡ ϫ Ϣ ϣ ϧ Ϥ ϥ Ϧ Ϩ ϩ Ϫ$ Ϭ ϭ Ϯ ϯ ϰu$ ϳ Ϸ ϴ ϵ ϶ ϸ Ͻ Ϲ ϻ Ϻu ϼ  Ͼ Ͽ 44 44 4 4 4 44 4           4gg g  g  g   4^    wT                                  |*   ! - " # $ % & ' ( ) * + ,  . / @ 0 1 2 9 3 4 5 6 7 8 : ; < = > ?1 A B C D E F G H I  L O M NQ P Q S Z T W U V  X Y [ ^ \ ]O _ ` b q c j d g e f  h iQ k n l m o p r y s v t u w x z } { | ~ O Ё ѡ Ђ  Ѓ Є У Ѕ Д І Ѝ Ї Њ Ј Љ Ћ Ќ Ў Б Џ А В Г Е М Ж Й З И% К Лv Н Р О ПQ С Т Ф Х Ь Ц Щ Ч Ш  Ъ ЫQ Э а Ю Я б в г д е ж з и й к л м н о п    K         Q  Q      O  Q    m  %             %          d        O  0  -  & # ! "% $ % ' * ( )O + ,O . /v 1 @ 2 9 3 6 4 5 7 8 s : = ; <Q > ?% A H B E C DO F GQ I L J K M N P o Q ` R Y S V T U W X% Z ] [ \% ^ _ a h b e c d% f gv i l j kO m n } p  q x r u s t v wO y | z { } ~% р ч с ф т у% х ц ш ы щ ъ ь э ю я, ѐ, ё, ђ, ѓ, є, ѕ, і, ї, ј, љ, њ, ћ, ќ, ѝ, ў, џ, Ѡ,p, Ѣ % ѣ Ѥ ѥ ѵ Ѧ Ѯ ѧ Ѫ Ѩ ѩ ѫ Ѭ ѭ% ѯ Ѳ Ѱ ѱ ѳ Ѵ Ѷ ѽ ѷ Ѻ Ѹ ѹ ѻ Ѽ  Ѿ ѿ Q      Q  Q  Q    %                        b            _           }  "  !  # $  & h ' F ( 7 ) 0 * - + ,O . /#A 1 4 2 3 5 6 8 ? 9 < : ;  = >O @ C A B D Em G Y H R I L J K M N O P Q S V T UO W X% Z a [ ^ \ ] _ ` b e c du f g i ҈ j y k r l o m n p q% s v t u% w x z ҁ { ~ | }  Ҁ ҂ ҅ ҃ ҄ ҆ ҇ ҉ Ҙ Ҋ ґ ҋ Ҏ Ҍ ҍv ҏ Ґ Ғ ҕ ғ Ҕ Җ җ ҙ Ҡ Қ ҝ қ Ҝ Ҟ ҟ s ҡ Ҥ Ң ң ! ҥ ҦQ Ҩ ^ ҩ Ҫ q ҫ 2 Ҭ  ҭ Ҽ Ү ҵ ү Ҳ Ұ ұ ҳ ҴQ Ҷ ҹ ҷ Ҹ } Һ һ ҽ Ҿ ҿ O      8  f    ' '    ' '    ' '    ' '    ' '    + +     +  +    + + ? &           + + +      $ " !+ #+ %+ ' 3 ( ) * + , 1 - / . 0 2 4 5 6 7 8 = 9 ; : < > @ Y A M B C D E F K G I H J L N O P Q R W S U T V X Z [ \ ] ^ _ d ` b a c e g Ӧ h Ӈ i x j q k l m n" o p" r s t u" v w" y Ӏ z { | }" ~ " Ӂ ӂ Ӄ ӄ" Ӆ ӆ" ӈ ӗ Ӊ Ӑ ӊ Ӌ ӌ Ӎ" ӎ ӏ" ӑ Ӓ ӓ ӔK ӕ ӖK Ә ӟ ә Ӛ ӛ ӜK ӝ ӞK Ӡ ӡ Ӣ ӣK Ӥ ӥK ӧ Ө ө ӵ Ӫ ӫ Ӭ ӭ Ӯ ӳ ӯ ӱ ӰK ӲK ӴK Ӷ ӷ Ӹ ӹ Ӻ ӿ ӻ ӽ ӼK ӾK K    y y y    y y y    y y y    y y y     y y y  ԝ  B  #                           ! " $ 3 % , & ' ( ) * + - . / 0U2 1 2U2 4 ; 5 6 7 8U2 9 :U2 < = > ?U2 @ AU2 C v D ] E Q F G H I J O K M LU2 NU2 PU2 R S T U V [ W Y XU2 ZU2 \U2 ^ j _ ` a b c h d f e1 g1 i1 k l m n o t p r q1 s1 u1 w Ԑ x Ԅ y z { | } Ԃ ~ Ԁ 1 ԁ1 ԃ1 ԅ Ԇ ԇ Ԉ ԉ Ԏ Ԋ Ԍ ԋ1 ԍ1 ԏ1 ԑ Ԓ ԓ Ԕ ԕ Ԗ ԛ ԗ ԙ Ԙ1 Ԛ1 Ԝ1 Ԟ ԟ Ծ Ԡ ԯ ԡ Ԩ Ԣ ԣ Ԥ ԥ@ Ԧ ԧ@ ԩ Ԫ ԫ Ԭ@ ԭ Ԯ@ ԰ Է Ա Բ Գ Դ@ Ե Զ@ Ը Թ Ժ Ի@ Լ Խ@ Կ    @ @    U# U#    U# U#    U# U#     U# U# U#    U# U# U#       q: q: q:     q: q: q:  +           q: q: q:  ! " # $ ) % ' &q: (q: *q: , - . / 0 1 6 2 4 3q: 5q: 7q: 9 p : ; z < [ = L > E ? @ A B C D F G H I J K M T N O P Q R S U V W X Y Z \ k ] d ^ _ ` a b c e f g hUP i jUP l s m n o pUP q rUP t u v wUP x yUP { ծ | Օ } Չ ~  Հ Ձ Ղ Շ Ճ Յ ՄUP ՆUP ՈUP Պ Ջ Ռ Ս Վ Փ Տ Ց ՐUP ՒUP ՔUP Ֆ բ ՗ ՘ ՙ ՚ ՛ ՠ ՜ ՞ ՝X ՟X աX գ դ ե զ է լ ը ժ թX իX խX կ հ ռ ձ ղ ճ մ յ պ ն ո շX չX ջX ս վ տ X X X     X X X                               O  O      O O    O  O  I  0  $      "  O !O #O % & ' ( ) . * , +O -O /O 1 = 2 3 4 5 6 ; 7 9 8_ :_ <_ > ? @ A B G C E D_ F_ H_ J c K W L M N O P U Q S R_ T_ V_ X Y Z [ \ a ] _ ^_ `_ b_ d e f g h i n j l k_ m_ o_ q r ֱ s ֒ t փ u | v w x y z { } ~  ր ց ւ ք ֋ օ ֆ և ֈ ։ ֊ ֌ ֍ ֎ ֏ ֐ ֑ ֓ ֢ ֔ ֛ ֕ ֖ ֗ ֘ ֙ ֚ ֜ ֝ ֞ ֟ ֠ ֡ ֣ ֪ ֤ ֥ ֦ ֧ ֨ ֩ ֫ ֬ ֭ ֮ ֯ ְ ֲ ֳ ִ ֵ ֶ ַ ָ ֹ ־ ֺ ּ ֻ ֽ ֿ                                                #      O       ! "m $ + % ( & ' ) *P , / - . 0 1% 3 R 4 C 5 < 6 9 7 8% : ; = @ > ? A B D K E H F G I J L O M N  P Q S b T [ U X V W Y Z \ _ ] ^ ` a% c j d g e f h i k n l m o p } r ױ s ג t ׃ u | v y w xv z { } ׀ ~  ׁ ׂv ׄ ׋ ׅ ׈ ׆ ׇ$ ׉ ׊ ׌ ׏ ׍ ׎% א ב ד ע ה כ ו ט ז ח י ך ל ן ם מ  נ ס% ף ת פ ק ץ צO ר ש% ׫ ׮ ׬ ׭ ׯ װ ײ ׳ ״ ׻ ׵ ׸ ׶ ׷  ׹ ׺ ׼ ׿ ׽ ׾     %  O    z  O              * 1               Q         "        %      ! # * $ ' % &O ( ) + . , - / 0O 2 س 3 ا 4 ; 5 8 6 7% 9 : < ? = > @ A B C t D s E F n G W H Iw J K L M V N O P Q R S T U w X e Y Z [ \ ]w ^w _w `w aw bw cw dw f g k h iwg jw lw mw w o q pg rz u ؎ v ؆ w x y z { | } ~  ؀ ؁ ؂ ؃ ؄ ؅z ؇ ؈ ؉ ؊ ؋ ، ؍w ؏ ؐ ؑ ؓ ؒ ؔ ؕ ؛ ؖ ؗ ؘ ؙ ؚ  ؜ ؝ ؞  ؟ ؠ ء آ أ ؤ إ ئ   ب ج ة ت ث ح ذ خ د ر ز ش ص ؼ ض ع ط ظO غ ػ ؽ ؾ ؿ  %                                 x    m        #A      %        ?  0  $  !   " # % ( & 'v ) * + , .Q -Q /QvQ 1 8 2 5 3 4 6 7% 9 < : ; = > @ O A H B E C D F GO I L J K% M N P W Q T R S U VO X [ Y Z \ ] _ t ` a ٠ b ف c r d k e h f gQ i jv l o m n' p q% s z t w u v x y { ~ | }  ـ } ق ّ ك ي ل ه م نO و ىv ً َ ٌ ٍ } ُ ِ ْ ٙ ٓ ٖ ٔ ٕ ٗ ٘O ٚ ٝ ٛ ٜO ٞ ٟ ١ ٢ ٱ ٣ ٪ ٤ ٧ ٥ ٦2 ٨ ٩ ٫ ٮ ٬ ٭Q ٯ ٰ ٲ ٹ ٳ ٶ ٴ ٵ% ٷ ٸ ٺ ٽ ٻ ټ پ ٿ                         n   _  |    O  v 5              $          *    &         # ! " $ %O ' . ( + ) *% , -v / 2 0 1 3 4 6 U 7 F 8 ? 9 < : ; = >% @ C A B D Ev G N H K I J L M O R P Qv S T V e W ^ X [ Y Z \ ] _ b ` a c d f m g j h i k l% n q o p r s% u v ڵ w ږ x ڇ y ڀ z } { | ~  ځ ڄ ڂ ڃ څ چQ ڈ ڏ ډ ڌ ڊ ڋ ڍ ڎ ڐ ړ ڑ ڒ ڔ ڕ ڗ ڦ ژ ڟ ڙ ڜ ښ ڛO ڝ ڞQ ڠ ڣ ڡ ڢ ڤ ڥ ڧ ڮ ڨ ګ ک ڪ ڬ ڭ گ ڲ ڰ ڱ ڳ ڴ ڶ ڷ ڸ ڿ ڹ ڼ ں ڻ#A ڽ ھO    Q  Q   }                   O    m 7          !         v    v    (  !      O " % # $v & 'O ) 0 * - + , . /O 1 4 2 3 5 6 8 W 9 H : A ; > < = ? @| B E C D F Gv I P J M K L N O ! Q T R S U V X g Y ` Z ] [ \ ^ _ a d b c e f  h o i l j kO m nm p s q r  t u w x  y ܟ z  { | ۾ } ۯ ~ ۨ  ۂ ۀ ہO ۃ ۄ ۅ ۆ ۇ ۈ ۉ ۊ ۋ ی ۍ ێ ۏ ې ۑ ے ۓ ۔ ە ۖ ۗ ۘ ۙ ۚ ۛ ۜ ۝ ۞ ۟ ۠ ۡ ۢ ۣ ۤ ۥ ۦ ۧ'M ۩ ۬ ۪ ۫ ۭ ۮ ۰ ۷ ۱ ۴ ۲ ۳Z ۵ ۶O ۸ ۻ ۹ ۺ% ۼ ۽O ۿ          O       !  %      Q      O            O        v      S  %  `  @  . ' ! $ " # % & ( + ) *Q , -  / 6 0 3 1 2m 4 5 7 = 8 9 : ; <z > ? A P B I C F D E G Hw J M K L N O Q X R U S T V W Y ] Z [ \ ^ _  a ܃ b t c m d j e f g h i k l% n q o p% r s u | v y w x z {O } ܀ ~  ܁ ܂O ܄ ܐ ܅ ܌ ܆ ܉ ܇ ܈ ܊ ܋ ܍ ܎ ܏  ܑ ܘ ܒ ܕ ܓ ܔ  ܖ ܗ  ܙ ܜ ܚ ܛ ܝ ܞQ ܠ % ܡ ܢ ܣ ܲ ܤ ܫ ܥ ܨ ܦ ܧ ܩ ܪ ܬ ܯ ܭ ܮ ܰ ܱv ܳ ܺ ܴ ܷ ܵ ܶ ܸ ܹ ! ܻ ܾ ܼ ܽv ܿ m              }            %    %    $  %   %  !                    %  #A  "  ! # $O & ' ݣ ( 7 ) 0 * - + , . /v 1 4 2 3  5 6 8 ݜ 9 < : ; = > ? @ R A B C D E F G H I J K L M N O P Q Q S T ݌ U V W  X s Y Z [ \ ] ^ m _ d ` a b c Q e i f g h Q j k l Q n o p q r Q t u v w x y z { | } ~ Q ݀ ݁ ݂ ݃ ݄ ݅ ݆ ݇ ݈ ݉ ݊ ݋ Q ݍ ݎ ݏ ݐ ݑ ݒ ݓ ݔ ݕ ݖ ݗ ݘ ݙ ݚ ݛ Q ݝ ݠ ݞ ݟO ݡ ݢ ݤ ݳ ݥ ݬ ݦ ݩ ݧ ݨ ݪ ݫ ݭ ݰ ݮ ݯ  ݱ ݲ ݴ ݻ ݵ ݸ ݶ ݷ ݹ ݺ% ݼ ݿ ݽ ݾ    O  %  y    O    %    %   !        %  %      ހ  $                      %    !   " #% % 4 & - ' * ( )v + ,% . 1 / 0 2 3 5 y 6 9 7 8 : ; < = > ? @ K A B C D E F G H I J#P L g M V N O P Q R S T Uɓ W _ X Y Z [ \ ] ^wE ` a b c d e fy h i q j k l m n o p r s t u v w x. z } { | ~ v ށ ޤ ނ ޒ ރ ދ ބ އ ޅ ކ ވ މ ފ~% ތ ޏ ލ ގQ ސ ޑ ޓ ޚ ޔ ޗ ޕ ޖ ޘ ޙ ޛ ޞ ޜ ޝ  ޟ ޠ ޡ ޢ ޣ ޥ ޴ ަ ޭ ާ ު ި ީ ޫ ެ% ޮ ޱ ޯ ްm ޲ ޳ ޵ ޼ ޶ ޹ ޷ ޸ ޺ ޻ ޽ ޾ ޿%   ߑ r    O    Q Q Q Q QQ Q Q Q QQ Q Q Q Q Q Q QQ Q Q QQ Q Q Q Q QQ QQ Q QQ vQ   k h                       H  4   .   "           !4 # $ % & ' ( ) *  + , -   / 0 1 2 3  5 6 7 8 9 : ; < = > ? @ D A B C E F G I J Y K L M N O P Q R S T U V W X Z [ \ ] ^ _ ` a b c d e f g i j l o m n } p q s ߂ t { u x v w y z  |  } ~ ߀ ߁ ߃ ߊ ߄ ߇ ߅ ߆ ߈ ߉ ߋ ߎ ߌ ߍ  ߏ ߐO ߒ ߱ ߓ ߢ ߔ ߛ ߕ ߘ ߖ ߗ% ߙ ߚO ߜ ߟ ߝ ߞ ߠ ߡO ߣ ߪ ߤ ߧ ߥ ߦv ߨ ߩ ߫ ߮ ߬ ߭\ ߯ ߰ ߲ ߳ ߺ ߴ ߷ ߵ ߶ ߸ ߹m ߻ ߾ ߼ ߽ ߿     wT    % W     %      O  ,  v      2     %       s $           O  v  8  )  "    h  ! # & $ % ' ( * 1 + . , - / 0O 2 5 3 4  6 7 9 H : A ; > < =Q ? @ B E C DQ F G } I P J M K L N O Q T R S U VO X Y | Z m [ b \ _ ] ^% ` a c f d eO g h i j k l\O n u o r p q s tv v y w x% z {% } ~              %    %         O        %               l          }      v                          !    :  +  $  !   " # % ( & '% ) * , 3 - 0 . / 1 2% 4 7 5 6 8 9% ; ] < C = @ > ?% A B% D G E FO H I J K L M N O P Q R S T U V W X Y Z [ \ ^ e _ b ` a c d  f i g h% j k m n o ~ p w q t r s! u vQ x { y z | }   O         P P)P                  %  O              %   _  %           Q     O   }   ` Q        K    1 rE..  . . . . .  '   . . . . . . . .o. ~ . !. ". #. $. %. &.4. (. ). *. +. ,. -. .. /. 0.4. 2. 3. 4. 5. 6. 7. 8. 9. :. ; C <. =. >. ?. @. A. B.. D. E. F. G. H. I. J.o. L M N O P & R Y S V T U W X Z ] [ \ ^ _ a p b i c f d eO g h j m k l n o q x r u s t% v w ! y  z { |% } ~%$:                      s            %  2          }  v Z       % $~$%         v    %                 %      I5Z           ;  ,  %  "  ! # $  & ) ' ( * + - 4 . 1 / 0 2 3 5 8 6 7 9 : < K = D > A ? @ B Cv E H F G  I J s L S M P N O Q R T W U V X Y [ \ ~ ] o ^ e _ b ` a c d f i g h% j k l m n  p w q t r s% u v x { y z | }           %    2    U      }          %  %    %         v    "    s   }      %       * * ** * * * * * * * * * * ** X )         %       %  "      _ __  _ _ __  !$ # & $ % ' ( * 9 + 2 , / - . 0 1 | 3 6 4 5 7 8 : Q ; < = > ?!! @ A! B! C! D! E! F! G! H! I! J! K! L! M!! N! O P!!w R U S T V W Y u Z i [ b \ _ ] ^% ` a_ c f d e g h j n k l m o r p q% s t v w ~ x { y z | }U            }    Q              s      %      %       O       %  %      q  |  rt        %     %                 8    !h "  # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 l 6 Q 7 8 w 9 X : I ; B < = > ? @ A C D E F G H J Q K L M N O P R S T U V W Y h Z a [ \ ] ^ _ ` b c d e f g  i p j k l m n o  q r s t u v  x y z  { | } ~                                                                                       0                       &     ! $ " #\ %\ ' ( ) * + . , -\ /\ 1 F 2 < 3 4 5 6 7 : 8 9\ ;\ = > ? @ A D B C\ E\ G H I J K L O M N\ P\ R S T s U d V ] W X Y Z [ \ ^ _ ` a b c e l f g h i j k m n o p q r t u | v w x y z { } ~  = =    = =   = =      = =     = =      y y     y y      y y     y y      y y     z z   z z    z z   z z        z  z   K+  K+      K+  K+    K+  K+ K ! 6 " , # $ % & ' * ( )K+ +K+ - . / 0 1 4 2 3K+ 5K+ 7 A 8 9 : ; < ? = > @ B C D E F I G H J L a M W N O P Q R U S T V X Y Z [ \ _ ] ^ ` b c d e f g j h i k m n o p q r y s t u v̿ w x̿ z { | }̿ ~ ̿    ̿ ̿   ̿ ̿    ̿ ̿                                R R     R R      R R     R R      R R ;     P  P    P P      P  P    P  P  ,  %   ! "P # $P & ' ( ),! * +,! - 4 . / 0 1,! 2 3,! 5 6 7 8,! 9 :,! < g = R > H ? @ A B C F D E,! G,! I J K L M P N O,! Q,! S ] T U V W X [ Y Z$ \$ ^ _ ` a b e c d$ f$ h } i s j k l m n q o p$ r$ t u v w x { y z$ |$ ~      $ $     u u   u u    u u   u u    u u   Pe Pe    Pe Pe   Pe Pe      Pe Pe     Pe Pe      O O     O O      O O       O O        O O     #   @   v  a  Z W ! " # $ A %% &% '% (% )% *% +% ,% -% .% /% 0% 1% 2 : 3 8 4 6% 5$%% 7%$ 9% ;% < ? = >%:$% @%%rH% B C S D% E% F% G% H% I% J% K% L% M% N% O% P% Q% R%%$ T% U% V% % X Y [ ^ \ ]3 _ ` b l c i d e f g h j k m s n o p q r t u w x  y | z { } ~            %            v v v v v v v v v v v v v v v v v v v v v A  v  )8GV eu   *:I Xhx   .=L[ jzv   %     "      ,;K v.   =L\k  z        #    3BRa !(7G # 2 $ + % ( & 'We ) * , / - . 0 1x 3 : 4 7 5 6 8 9 ; > < =+;JY ? @gv B C b D S E L F I G H~ J K M P N O-= Q RL[jy T [ U X V WL[k Y Zz \ _ ] ^ ` a" c r d k e h f g0@P_ i jo~ l o m n p q s z t w u v% + x y:IXg { ~ | }v   / >L\k z  # 3C  % 3BQ   (7EU dt    *9 v IYiv~ vz v v L v vv v vv v vv v vv vv v v v                     v v v v v v v v v v v  v v7v v vLv vv  vzv vv vv vv            %    . ' ! $ " # % & ( + ) * , - ! / 9 0 3 1 2 4 5 6 7 8 : = ; < > ? A B d C U D N E H F G s I J K L M O R P Q S T  V ] W Z X Yv [ \ ^ a _ ` b c e t f m g j h i k l n q o p r s u | v y w x% z { } ~               %       3             v         %  {               % % % % % % % % % %% % %% %                     O    v  )  "      ! # & $ %% ' ( * o + i , - . /% 0% 1 T 2% 3 F 4 A 5% 6% 7% 8% 9% :% ;% <%% = >%% ? @%%% B C%% D E%% G O% H I L% J K%y$% M% N%%% P Q% R% S%e% U% V% W d X% Y% Z% [% \% ]% ^% _% `% a% b% c%e%% e% f g% h%y$% j k l m n p s q r t u w x y | z { } ~        }         w                                             %   }  Q  O    _                        O      %    ! "  $ %  & { ' I ( 7 ) 0 * - + , . /% 1 4 2 3 5 6% 8 B 9 < : ; = > ? @ A s C F D E G H J l K R L O M Nv P Q S i T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h j k m t n q o p r s u x v w y z | } ~     v       O    #A      O       Q     O     % r: % % % % % % % % % % %rH% % % % % % %mQ% % %  % % %a% % %% % %rH% % % % % %% r:% % % % % % % % % % %  % % % % %% % rH%% % %% a% % %%  % %mQ%  O      !  f  A  '      %    !   " # $ % &O ( : ) 7 * + , - . / 0 1 2 3 4 5 6 8 9v ; > < = ? @ B Q C J D G E F  H IQ K N L M O P3 R \ S V T UO W X Y Z [O ] ` ^ _  a b c d em g h w i p j m k l% n o q t r s u v x  y | z { } ~               |      ' -     Q  O                       O    %            O              O       O       &  #     ! O  "  $ %y ' * ( ) + , . p / Q 0 ? 1 8 2 5 3 4 6 7 9 < : ; = >% @ G A D B C E F H N I J K L Ma O P R a S Z T W U V X Y% [ ^ \ ] _ ` b i c f d e g hQ j m k l n o q r s z t w u v x y { ~ | }          O  v    m           +                $ g     & &   & &    & &   & &     & &                   C  ,  !           " # $ % & ) ' ( * + - 8 . / 0 1 2 5 3 4 6 7 9 : ; < = @ > ? A B D [ E P F G H I J M K L N O Q R S T U X V W Y Z \ ] ^ _ ` a d b c e f h i j y k r l m n o#_ p q#_ s t u v#_ w x#_ z  { | } ~#_  #_   #_ #_    #_ #_                                                                  <       ~  ~    ~ ~      ~  ~    ~  ~  -  & ! " #~ $ %~ ' ( ) *{ + ,{ . 5 / 0 1 2{ 3 4{ 6 7 8 9{ : ;{ = l > U ? J @ A B C D G E F{ H I{ K L M N O R P Q{ S T{ V a W X Y Z [ ^ \ ], _ `, b c d e f i g h, j k, m n y o p q r s v t u, w x, z { | } ~  ,  ,     ,  ,    i i   i i    i i   i i    i i                               k  k    k  k           k  k        k  k       !  k " #k % ( & ' f ( G ) 8 * 1 + , - . / 0 2 3 4 5 6 7 9 @ : ; < = > ? A B C D E F H W I P J K L M N O Q R S T U V X _ Y Z [ \ ] ^ ` a b c d e g h  i t j k l m n q o p r s u v w x y | z { } ~     C  C    C  C     C  C    C  C     C  C      @ @    @ @   @ @      @  @    @  @     !  !     !  !          !  !        !  !     ! " % # $! & '! ) * i + J , ; - 4 . / 0 1&> 2 3&> 5 6 7 8&> 9 :&> < C = > ? @&> A B&> D E F G&> H I&> K Z L S M N O P&> Q R&> T U V Wr X Yr [ b \ ] ^ _r ` ar c d e fr g hr j k l w m n o p q t r sr u vr x y z { |  } ~r  r     }  }    }  }     }  }    }  }     }  }                        O          O              O       v          $  !   " # % ( & ' ) * , w - U . C / 9 0 3 1 2 4 5 6 7 8_ : @ ; < = > ? A B% D K E H F G I JQ L R M N O P Q S T V e W ^ X [ Y Z \ ]' _ b ` a c d f p g m h i j k lO n o d q t r s u v x y z { ~ | }*             C               %         K       %           O                     q  &        %    O        m    #    ! " $ % ' < ( 5 ) / * + , - . 0 1 2 3 4 6 9 7 8% : ; = D > A ? @ B C E H F G  I J L M o N ` O V P S Q R T U W Z X Y  [ \ ] ^ _ a h b e c d f gO i l j k m n p q x r u s t v w% y  z { | } ~            v    %  %        ,      %  m  %  O  O    v  v Z            !                      %       O  O"O    ;  )  "      !% # & $ %  ' (v * 1 + . , - / 0 ! 2 5 3 4 6 7 8 9 : < K = D > A ? @ B C% E H F G I J L S M P N Ov Q R T W U V X Y [ \ { ] l ^ e _ b ` a c dO f i g h j k m t n q o p r s u x v wO y zO | } ~                           %                    %        %   n )   d    *       %  O    %  %                  "      !O # & $ % ' ( * O + @ , 9 - 3 . / 0 1 2 4 5 6 7 8m : = ; < > ? A H B E C D F G I L J K M N P _ Q X R U S T V W Y \ Z [ ] ^ ` g a d b c e f h k i j l m o p q r y s v t u w x z } { | ~   %   s                          IzyUA X                                              m  O              O                J  (   a ? ! 0 " ) # & $ % ' ( * - + , . /% 1 8 2 5 3 4 6 7 9 < : ;% = > @ R A K B E C D F G H I J L O M N P Q S Z T W U V X YO [ ^ \ ] _ ` b c u d k e h f g i j d l o m n p q r s t v } w z x y { | ~  %               %  O        |       %  %      %            O      %  O               %       %        !       " % # $ & ' ) * l + M , ; - 4 . 1 / 0 2 3  5 8 6 7 9 :  < C = @ > ? A B D J E F G H I K L N ] O V P S Q R T U% W Z X Y% [ \ ^ e _ b ` a c d% f i g h j k m n o z p s q r t u v w x y { ~ | }  m               Q                        S      %                                    Q  %        %    %            "  ! # $ & ; ' 1 ( . ) * + , -v / 0 2 5 3 4 6 7 8 9 : < C = @ > ? A B D G E F  H I K S L M N m O ^ P W Q T R S U V% X [ Y Z \ ] _ f ` c a b d e| g j h i k l n } o v p s q r t u w z x yO { | ~                        %  O         %            v           O                        2     2    4  %           Q  "  ! # $ & - ' * ( )  + , . 1 / 0 2 3v 5 D 6 = 7 : 8 9 ; < > A ? @ B C E L F I G H% J K M P N O Q R% T ( U V x W i X _ Y \ Z [ ] ^% ` c a b d e f g h% j q k n l m o p r u s t v w  y z { ~ | }  v                   F            Q   F   #P       Q            O      Q  Qyl QF  O           %      *         O         O               ! % " # $ & ' )\ * L + : , 3 - 0 . / } 1 2 4 7 5 6% 8 9 ; B < ? = > @ A C I D E F G H4 J K MM N U O R P Q S T  V Y W X Z [ \ ]W ^ _7 ` a b c S d e f  g h i j o k l m n p z q w r u s t  1 vw x yg { | ~ } $   K u| w   1 >H  H   |  g gu 4      #w   nu       |*      l^ K    qwT   z  &Y  g     wg  gP        g            n  ]  Q  ;  /  &  ! $ " #H %Kg ' , ( * ): + H - .U 0 7 1 4 2 3| 5 6> 8 9 :/ < G = C > ? A @>  B D E Fq H K I JH L M O NK P| R S T Z U V X WH Yw [ \  ^ _ o ` h a b e c d f g i j m k lK nq p | q x r s v t u  wq y z {  } ~     H         1 q   $     1            Y  q$  1 H 1     Y  w   1Y    U 1         $ K           U         # H         !   1 " #  % D & = ' . ( ) * + - , / 0 4 1 2 3 5 : 6 8 7H 9H ; <H > ? @ A B Cg E F G L H I J K M N O Q P R T U V W X Y Z [ \ ] ^ _$ ` a b c d e f# g C h i j k x l s m p n o|* q r t w u v y z } { |H ~   |Hu   H &  H    ggw gH  w       Hg  1     H   gw  g  $   H  w     1H 1 1  H      g|  g1   g1     1     g  (       1    1    $  !    " #H % & '  u ) 5 * / + - ,  . 0 3 1 21  4H 6 = 7 : 8 9 1 ; <  > A ? @ B w D E } F a G S H M I K Jg Lwg N Q O PH R  T [ U X V WwT Y Z > \ _ ] ^ ww `w1 b q c j d g e fgY h igH k n l m w o p r w s u t4H v  x z y$ { | 1 ~    w1 H Y    1    g   1    1   H >Y1  1     uw  1$   |*|*g $ ww    H    w   g|* u  w  w H1  UH     1 1g     g11B$    Kuw!"gz$%&W'B(5)/*-+,1 Y.1H0312$4$16<79 8w :; =?> @A CPDJEGF|*HI1 KNLM wlO  QTRS  UVuH KXrYfZ_[^\] 1 `cabHudeHgkhijHlomnu pq1 stzuxvw guy{|}~ g$#U w1  HHwTu |*ww1H  |* K 1Y HH uH $wKH wuH Hw1K g w   |*  $H1 H# !"# %&'(+)*+,-.e/K0>182534|*67 9;:g<=P?E@BACDg FIGHH|*PuJuLVMRNPO QuSTUg W^X[YZ gw\]g H_b`a wcdw |*fguhoiljkumn prq gst vzwxy {~|} H $Hg u $ u   ^wUw1HgH w  l1 11  H1   w   1H1Hg H ww p ? &  g w1|*w   #!"g$%HH'0(,)*+ uuwT-/ .$H1825341 67w9<:;HHw=> ww1@YAOBICFDE wTGH JMKLgN PVQSR1 TUYWXH1Ze[b\_]^ n`acdw fmgjhiwkl  ngogqrst{uxvw$wyz|~} UH1 11g1#  Hw  1$w H 1ug wKw^  uH $nwwK 1 Yg  g1 #       Hu |Uw ww !"u$%&'()*u,-./0123456|*89x:O;P<=B>?@AlBWCDEFGHIJKLMNOPQRSTUVXYZ[\]^_`abcdefghijkmnopqrstuvwxyz{|}~                      !Z">#$%&'()*+,-./0123:4756; 89; ;<=; ?@ABCDEFGHIJKLMNOVPSQR; TU; WXY; [w\]^_`abcdefghijklsmpno; qr; tuv; xyz{|}~; ; ; ;     ;- !"#$%&'()*+,;./0123456789:;<=>?@A;CKDEFqG\HIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnoprstuvwxyz{|}~      !6"#$%&'()*+,-./012345789:;<=>?@ABCDEFGHIJLMNyOdPQRSTUVWXYZ[\]^_`abcefghijklmnopqrstuvwxz{|}~RE:   *  # !"$'%&()+,3-0./12475689;<=>?@ABCDFGHIJKLMNOPQSTUVWXYZ[\]^_`abcrdkehfgijlomnpqsztwuvxy{~|}W,      !"#$%&'()*+-B./0123456789:;<=>?@ACDEFGHIJKLMNOPQRSTUVXYZ[\]^_`abcduefghijqknlmoprstvwxyz{|}~  S `  ww     w   w  5                      ;% ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4;% 6 K 7 8 9 : ; < = > ? @ A B C D E F G H I J;% L M N O P Q R S T U V W X Y Z [ \ ] ^ _;% a  b  c x d e f g h i j k l m n o p q r s t u v w;3 y z { | } ~              ;3                      ;3                    ;3                          |      |         |                      |      |         |  -            #          |     ! "| $ % & ' ( ) * + ,| . / 0 1 2 3 4 5 6 7 8 I 9 : ; B < = > ? @ A| C D E F G H| J K L M N O P Q R| T  U  V  W l X Y Z [ \ ] ^ _ ` a b c d e f g h i j k m n o p q r s t u v w x y z { | } ~                                                                    8                    8                      8                    8    p  ;            )    "        |  |   !| # $ % & ' (| * + 3 , - . / 0 1 2| 4 5 6 7 8 9 :| < = > ? @ A B C D E F ^ G H I W J K L S M P N O| Q R| T U V| X Y Z [ \ ]| _ ` h a b c d e f g| i j k l m n o| q  r s t u v w x y z { |  } ~          |  |   |      |          |       |                        |  |   |      |          |       |  3                                                             '         ! $ " # % & ( / ) , * + - . 0 1 2 4 _ 5 6 7 8 9 : ; < = > ? @ A B C D S E L F I G H J K M P N O Q R T [ U X V W Y Z \ ] ^ ` a b c d e f g h i j k l m n o ~ p w q t r s u v x { y z | }               c                                                                                          $                        4  4    4  4                      4  4  !  4 " #4 % D & ' ( ) * + , - . / 0 1 2 3 4 5 6 = 7 : 8 94 ; <4 > A ? @4 B C4 E F G H I J K L M N O P Q R S T U \ V Y W X4 Z [4 ] ` ^ _4 a b4 d  e f  g h i j k l m n o p q r s t u v { w x y z | } ~                                                  t                    t                      t                    t  J              U   U 5!"#$%&'()*+,-./01234U6789:;<=>?@ABCDEFGHIUKvLaMNOPQRSTUVWXYZ[\]^_`;Abcdefghijklmnopqrstu;Awxyz{|}~;A;A%     | !"#$|&;'()*+,-./0123456789:|<=>?@ABCDEFGHIJKLMNO|Q*;RST+UVWvXYZ[\]^_`abcdefghoiljkmnpsqrtuwxyz{|}~;O;O     ;O !"#$%&'()*;O,-}.y/01234b52678~9T:3;<{=\>M?F@CAB DE GJHI KL NUORPQ ST VYWX Z[ ]l^e_b`a cd figh jk mtnqop rs uxvw yz |}~                                             '#  !" $%& (/),*+ -. 012 4A567<89:; =>?@ BCIDEFGH JOKLMN PQRS UmV^WXYZ[\] _f`abcde ghijkl nvopqrstu wxyz{|}                           M - &    " ! #$% '()*+, .@/:051234 6789 ;<=>? AGBCDEF HIJKL NbOVPQRSTU WX]YZ[\ ^_`a cjdefghi kulmqnop rst vw{xyz |}~ $                              !  "# %m&W'C(7)*2+,/-. 01 3456 89>:;<= ?@AB DKEFGHIJ LMRNOPQ STUV X`YZ[\]^_ abchdefg ijkl nop|qrwstuv xyz{ }~                         %        !"#$ &k'1()*+,-./0 2Y3;456789: <M=G>?C@AB DEF HIJKL NOTPQRS UVWX Z[\]f^b_`a cde ghij lmnop{qvrstu wxyz |}~                                    !,"'#$%& ()*+ -./01 3,45678]9K:@;<=>? AFBCDE GHIJ LWMRNOPQ STUV XYZ[\ ^|_q`habecd fg imjkl nop rwstuv xyz{ }~                          # !" $%&'()*+ -B./0912345678 :;<=>?@A CNDEFGHIJKLM OPYQRSTUVWX Z[\]^_`a c2deefghqijklmnop rzstuvwxy {|}~              4               &   !"#$% '(.)*+,- /0123 5\6M7C89>:;<= ?@AB DEFGJHI KL NUOPQRST VWXYZ[ ]^_`abcd fghixjqklmnop rstuvw yz{|}~                     )!   "#$%&'( *+,-./01 34m5G6789@:;<=>? ABCDEF HcIZJRKLMNOPQ STUVWXY [\]^_`ab defghijkl nopqrstuvwx z{|  ~ T                V2           '" ! #$%& ()*.+,- /01 3H4;56789: <B=>?@A CDEFG IJPKLMNO QRSTU W~XoYeZ[`\]^_ abcd fghiljk mn pwqrstuv xyz{|}                        3!*"#$%&'() +,-./012 4K5C67=89:;< >?@AB DEFGHIJ LMNOPQRS UVWiXYZ[b\]^_`a cdefgh jk|ltmnopqrs uvwxyz{ }~   K    |  |!6"#$%&'()*+,-./012345|789:;<=>?@ABCDEFGHIJ|LMxNcOPQRSTUVWXYZ[\]^_`abfdefghijklmnopqrstuvwfyz{|}~ff     && tI4 !"#$%&'()*+,-./012356789:;<=>?@ABCDEFGHJ_KLMNOPQRSTUVWXYZ[\]^`abcdefghijklmnopqrsu~vzwxyg{|}gg"g dPgggggggggggggggggggggggggggggg    g gO0!ggg g")#&$%g'(g*-+,g./g1@293645g78g:=;<g>?gAHBECDgFGgILJKgMNgPoQ`RYSVTUgWXgZ][\g^_gahbecdgfggiljkgmngpqxrustgvwgy|z{g}~gggggggggggggggggggggggg+gggggg   g  ggg&g #!"g$%g'()*g,;-4./0123g56789:g<C=>?@ABgDJEFGHIgKLMNOgQRSqTjUdV_W[XYZg\]^g`abcgefghigklmnopgrsytuvwxgz{|}~ggggggggggggggggggggggggg8 g    ggg&! g"#$%g'-()*+,g.3/012g4567g9U:A;<=>?@gBHCDEFGgIJNKLMgORPQgSTgV]WXYZ[\g^_`abcge Wfgh}ivjpklmnogqrstugwxyz{|g~gggggggggggggggg *ggggg   g g    g      g     g  g  $       g   g  ! " #g % & ' ( )g + 9 , - 3 . / 0 1 2g 4 5 6 7 8g : E ; < = A > ? @g B C Dg F L G H I J Kg M R N O P Qg S T U Vg X f Y Z [ \ ] ^ b _ ` ag c d eg g  h } i p j k l m n og q w r s t u vg x y z { |g ~       g     g         g      g !A                g  g        g     g        g             g  g    g     g        g !            g        g   g !    !!!g!!!!!! ! g! !$! !!!!!!!!g!!!!!!!!g!!! !!!"!#g!%!3!&!'!-!(!)!*!+!,g!.!/!0!1!2g!4!5!;!6!7!8!9!:g!<!=!>!?!@g!B!!C!\!D!E!T!F!M!G!H!I!J!K!Lg!N!O!P!Q!R!Sg!U!V!W!X!Y!Z![g!]!{!^!f!_!`!a!b!c!d!eg!g!t!h!n!i!j!k!l!mg!o!p!q!r!sg!u!v!w!x!y!zg!|!!}!!~!!!!!g!!!!!!!g!!!!!!g!!!!g!!!!!!!!g!!!!!!g!!!g!!!!!!!!!!!!g!!!!!!!!!!g!!!!!g!!!g!!!!!!!!g!!!!!g!!g!"!!!!!!!!!g!!!!!!!!!g!!!!!!g!!!!g!!!!!!!!g!!!!g!""""g""@"""""" " " " " g""""g""""""g""""g""1""(" "$"!"""#g"%"&"'g")"-"*"+",g"."/"0g"2"7"3"4"5"6g"8"<"9":";g"=">"?g"A"Q"B"K"C"D"E"H"F"Gg"I"Jg"L"M"N"O"Pg"R"]"S"X"T"U"V"Wg"Y"Z"["\g"^"_"c"`"a"bg"d"e"fg"h%"i$Q"j#`"k""l""m""n""o"u"p"q"r"s"tg"v"w"~"x"{"y"zg"|"}g"""g""""""""g""""""g""g"""g""""""g"""""g"""g""""""""""g"""g"""""g""""""""g""""g"""""""g""g""""g""""""""""""g"""g""""g"""""""g"""g""""g""""""""g"""""g##-#### ######g# # # # ##g##"########g###g#### #!g###$#%#)#&#'#(g#*#+#,g#.#F#/#9#0#1#2#3#6#4#5g#7#8g#:#@#;#<#=#>#?g#A#B#C#D#Eg#G#S#H#I#N#J#K#L#Mg#O#P#Q#Rg#T#Z#U#V#W#X#Yg#[#\#]#^#_g#a##b##c#q#d#e#k#f#g#h#i#jg#l#m#n#o#pg#r#s#~#t#y#u#v#w#xg#z#{#|#}g######g##g###########g#####g######g#########g####g#####g#$############g####g######g####g########g#####g###g######g#####g##g##########g##g####g#######g$$$$$g$$$g$ $B$ $.$ $$ $$ $$$$g$$g$$$$$g$$g$$)$$%$$"$ $!g$#$$g$&$'$(g$*$+$,$-g$/$8$0$1$2$5$3$4g$6$7g$9$:$>$;$<$=g$?$@$Ag$C$J$D$E$F$G$H$Ig$K$L$M$N$O$Pg$R%O$S$$T$$U$i$V$]$W$X$Y$Z$[$\g$^$_$d$`$a$b$cg$e$f$g$hg$j$$k$$l$x$m$q$n$o$pg$r$u$s$tg$v$wg$y$$z$}${$|g$~$g$$$$g$$g$$$$$$$g$$g$$$$$g$$$g$$$$$$$$$g$$$$g$$g$$$$g$$$$$g$$$$$$$$$$$g$$$$$g$$$$$$$g$$$$$$g$$g$$$$$$$$$$g$$$g$$$$$g$$$$$$$g$$$$$$g$$$$g$%)$%$%$$$$$$$g%%%%%g%%%g% %% % % % %g%%%%%g%%"%%%%%%%g%%% %!g%#%$%%%&%'%(g%*%+%:%,%-%5%.%/%2%0%1g%3%4g%6%7%8%9g%;%A%<%=%>%?%@g%B%G%C%D%E%Fg%H%I%L%J%Kg%M%Ng%P%%Q%p%R%a%S%Z%T%U%V%W%X%Yg%[%\%]%^%_%`g%b%i%c%d%e%f%g%hg%j%k%l%m%n%og%q%%r%y%s%t%u%v%w%xg%z%{%|%}%~%g%%%%%%%%g%%%%%%%g%%g%%%%%%%%%%%%g%%%%%%%%g%%%g%%%%%%g%%%%g%%%%%%%%g%%%%g%%%%%%%%%%%g%%%%%%g%%%%g%%%%%%%g%%%g%%%%%%%%%%g%%%g%%%%g%%%%%%g%%%%&%%%%%&&&g&&&&&& & & g& &&G&&+&&&&&&&&&&&&&&&&& &$&!&"&#&%&(&&&'&)&*&,&-&.&/&0&1&2&3&4&5&6&7&8&9&:&;&<&@&=&>&?&A&D&B&C&E&F&H&d&I&J&K&L&M&N&O&P&Q&R&S&T&U&V&W&X&Y&]&Z&[&\&^&a&_&`&b&c&e&f&g&h&i&j&k&l&m&n&o&p&q&r&s&t&u&y&v&w&x&z&}&{&|&~&&'0&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&'&&&&&&&&&&&&&&&&&&&&&& &&&&&&&&&&&&&&&''''' ''''' ' ' ' ' ''''''''''''' ''''' '!'"'#'$'%'&'''(')'*'+','-'.'/ '1)'2('3''4'5'6'7'8'9':';'<'='>'?''@''A'v'B'a'C'R'D'K'E'H'F'G'I'J'L'O'M'N'P'Q'S'Z'T'W'U'V'X'Y'['^'\']'_'`'b'q'c'j'd'g'e'f'h'i'k'n'l'm'o'p'r's't'u'w''x'}'y'z'{'|'~'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(e'(8'("'( '''''''''''''''''((((((((( (( ( ( ((((((((((((((((((( (!(#(2($()(%(&('(((*(.(+(,(-(/(0(1(3(4(5(6(7(9(U(:(L(;(@(<(=(>(?(A(E(B(C(D(F(I(G(H(J(K(M(N(O(R(P(Q(S(T(V(_(W(X(Y(\(Z([(](^(`(a(b(c(d(f(g(}(h(n(i(j(k(l(m(o(t(p(q(r(s(u(y(v(w(x(z({(|(~((((((((((((()8(((((((((((()(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((()((((((((((((((((((((((((()))) )))) ))) ) ) )))))))*)))))))))!)))) )")&)#)$)%)')()))+),)-)1).)/)0)2)5)3)4)6)7)9):);)<)=)>)?)@)A)B)C)D))E))F){)G)f)H)W)I)P)J)M)K)L)N)O)Q)T)R)S)U)V)X)_)Y)\)Z)[)])^)`)c)a)b)d)e)g)v)h)o)i)l)j)k)m)n)p)s)q)r)t)u)w)x)y)z)|))}))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))*))))))))))))))))))))))))))********** * * * * ****&*************** *!*"*#*$*%*'*(*)***+*,*-*.*/*0*1*2*3*4*5*6*7*8*9*:*<=;*=:*>+*?**@*k*A*V*B*C*D*E*F*G*H*I*J*K*L*M*N*O*P*Q*R*S*T*U*W*X*Y*Z*[*\*]*^*_*`*a*b*c*d*e*f*g*h*i*j*l**m*n*o*p*q*r*s*t*u*v*w*x*y*z*{*|*}*~***********************+************************** ** **** ** ***** ** *********** ********* ************************ ** **** ** ***** ** *+***++++++ +++ + + + + ++ ++M+++++++++++8+++++ +!+0+"+)+#+&+$+% +'+( +*+-+++, +.+/ +1+2+5+3+4 +6+7 +9+C+:+;+<+=+>+?+@+A+B +D+E+F+G+H+I+J+K+L +N+O+P+Q+R+S+T+U+V+W+t+X+Y+Z+[+\+]+l+^+e+_+b+`+a +c+d +f+i+g+h +j+k +m+n+q+o+p +r+s +u++v+w+x+y+z+{+|+}+~ +++++++++ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++3M++++++++++1 +. +-4+,++++,,|,,=,,!,,,, ,,,,, , , ,, ,,,,,,,,,,,,,,,,, ,",1,#,*,$,',%,&,(,),+,.,,,-,/,0,2,9,3,6,4,5,7,8,:,;,<,>,],?,N,@,G,A,D,B,C,E,F,H,K,I,J,L,M,O,V,P,S,Q,R,T,U,W,Z,X,Y,[,\,^,m,_,f,`,c,a,b,d,e,g,j,h,i,k,l,n,u,o,r,p,q,s,t,v,y,w,x,z,{,},,~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--$---- ------- - -- -- ---------------- -!-"-#-%-&---'-(-)-*-+-,-.-/-0-1-2-3-5-W-6-7-L-8-B-9-:-;-<-=->-?-@-A-C-D-E-F-G-H-I-J-K-M-N-O-P-Q-R-S-T-U-V-X--Y-n-Z-d-[-\-]-^-_-`-a-b-c-e-f-g-h-i-j-k-l-m-o--p-y-q-r-s-t-u-v-w-x-z-{-|-}-~-----------------------------------------------------------------------------------------------------------------------------.--......... . . /. ...c..:.............$..... .!.".#.%.2.&.'.(.-.).*.+.,.../.0.1.3.4.5.6.7.8.9.;.S.<.=.K.>.?.E.@.A.B.C.D.F.G.H.I.J.L.M.N.O.P.Q.R.T.U.V.W.].X.Y.Z.[.\.^._.`.a.b.d..e.x.f.o.g.h.i.j.k.l.m.n.p.q.r.s.t.u.v.w.y..z..{.|.}.~.................................................................................................................../..........///////// / / / / /////X//6/////////////-// /!/'/"/#/$/%/&/(/)/*/+/,/.///0/1/2/3/4/5/7/8/G/9/:/;/A/</=/>/?/@/B/C/D/E/F/H/P/I/J/K/L/M/N/O/Q/R/S/T/U/V/W/Y/t/Z/d/[/\/]/^/_/`/a/b/c/e/f/g/h/n/i/j/k/l/m/o/p/q/r/s/u//v//w//x//y/z/{/|/}/~//////////////////////////////////////////////////////////////////////////0h/0 /////////////////////////////////////////////0////0000000000 0 0 0 0 000000000000000000!050"0#0$0%0/0&0'0+0(0)0*0,0-0.0001020304060?0708090:0;0<0=0>0@0S0A0L0B0C0D0H0E0F0G0I0J0K0M0N0O0P0Q0R0T0[0U0V0W0X0Y0Z0\0b0]0^0_0`0a0c0d0e0f0g0i00j0}0k0t0l0m0n0o0p0q0r0s0u0v0w0x0y0z0{0|0~000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000111111111 1 21 21 111m11U11=11&1111111111 111111!1"1#1$1%1'1.1(1)1*1+1,1-1/101811121513141617191:1;1<1>1M1?1F1@1A1B1C1D1E1G1H1I1J1K1L1N1O1P1Q1R1S1T1V1W1_1X1Y1Z1[1\1]1^1`1a1g1b1c1d1e1f1h1i1j1k1l1n11o11p11q1~1r1x1s1t1u1v1w1y1z1{1|1}1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112W12$121111111111111111111111121111222222222 2 2 2 2 222222222222222222 2!2"2#2%2.2&2'2(2)2*2+2,2-2/2>202721222324252628292:2;2<2=2?2L2@2F2A2B2C2D2E2G2H2I2J2K2M2N2O2S2P2Q2R2T2U2V2X2q2Y2b2Z2[2\2]2^2_2`2a2c2d2e2k2f2g2h2i2j2l2m2n2o2p2r2{2s2t2u2v2w2x2y2z2|2}2~2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222322222222222223222222222222223333 333333 3 3 3 333333333;33)333!3333333 3"3#3$3%3&3'3(3*3+333,3-3.3/3031323435363738393:3<3=3>3?3F3@3A3B3C3D3E3G3H3I3J3K3L3N3R3O3P3Q3S3T3U3V3W8h3X5j3Y43Z4"3[3\3]3^3_33`33a33b3q3c3j3d3g3e3f3h3i3k3n3l3m3o3p3r3y3s3v3t3u3w3x3z3}3{3|3~333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333343333333333333333333333333333333334 3434444444 444 4 4 444444444444444444 4!4#4/4$4%4&4'4(4)4*4+4,4-4.404;4142434445464748494:4<4^4=4F4>4?4@4A4B4C4D4E4G4O4H4I4J4K4L4M4N4P4W4Q4R4S4T4U4V4X4Y4Z4[4\4]4_44`4{4a4h4b4c4d4e4f4g4i4j4s4k4o4l4m4n4p4q4r4t4u4x4v4w4y4z4|4}4~44444444444444444444444444444444444444444444444444444445444444444444444444444444444444444444444444444444444444444444454444444444455555555 545 55 5 5 55555555&55555555555 5!5"5#5$5%5'5(5)5*5/5+5,5-5.50515253555P565G575?58595:5;5<5=5>5@5A5B5C5D5E5F5H5I5J5K5L5M5N5O5Q5Z5R5S5T5U5V5W5X5Y5[5\5c5]5^5_5`5a5b5d5e5f5g5h5i5k6n5l65m55n55o5y5p5q5r5s5t5u5v5w5x5z55{5|5}5~55555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556555556666666666 6 6 6 6 6666666666/66$6666666 6!6"6#6%6&6'6(6)6*6+6,6-6.60616S626;636465666768696:6<6D6=6>6?6@6A6B6C6E6L6F6G6H6I6J6K6M6N6O6P6Q6R6T6e6U6]6V6W6X6Y6Z6[6\6^6_6`6a6b6c6d6f6g6h6i6j6k6l6m6o7+6p66q66r6|6s6t6u6v6w6x6y6z6{6}66~666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666676767667667667777777 7 7 7 7 777777777777777$777 7!7"7#7%7&7'7(7)7*7,77-77.7G7/787071727374757677797:7;7A7<7=7>7?7@7B7C7D7E7F7H7Y7I7Q7J7K7L7M7N7O7P7R7S7T7U7V7W7X7Z7e7[7\7]7^7_7b7`7a7c7d7f7m7g7h7i7j7k7l7n7y7o7t7p7q7r7s7u7v7w7x7z7{7|7}7~777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777787777777777777777778777777888888 88888 8 8 8 88888888?8888888888 8-8!8'8"8#8$8%8&8(8)8*8+8,8.898/8480818283858687888:8;8<8=8>8@8S8A8B8M8C8H8D8E8F8G8I8J8K8L8N8O8P8Q8R8T8a8U8[8V8W8X8Y8Z8\8]8^8_8`8b8c8d8e8f8g8i8j:A8k98l9@8m88n88o88p88q8x8r8s8t8u8v8w8y88z8{8|8}8~888888888888888888888888888888888888888888888888888888888888888888888888889 88888888888888888888888888888888888888888988888888899999999 99 9 9 99799"99999999999999999 9!9#9*9$9%9&9'9(9)9+919,9-9.9/90929394959698999:9;9<9=9>9?9A99B99C9f9D9L9E9F9G9H9I9J9K9M9Y9N9O9T9P9Q9R9S9U9V9W9X9Z9`9[9\9]9^9_9a9b9c9d9e9g9o9h9i9j9k9l9m9n9p9w9q9r9s9t9u9v9x9y9~9z9{9|9}999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999:999999999999999999999999: 99:9::::::::: : : : ::::::6::,:::::::::::: :!:":':#:$:%:&:(:):*:+:-:.:/:0:1:2:3:4:5:7:8:9:::;:<:=:>:?:@:B:C:t:D:O:E:F:G:H:I:J:K:L:M:N:P:a:Q:R:S:Z:T:U:V:W:X:Y:[:\:]:^:_:`:b:k:c:d:e:f:g:h:i:j:l:m:n:o:p:q:r:s:u::v::w:x::y:z:{:|:}:~:::::::::::::::::::::::::::::::::::::::::::;8;;;9;:;<;=;?;B;@;A;C;D;F;M;G;J;H;I;K;L;N;Q;O;P;R;S;U;V;W;X;[;Y;Z;\;];_;;`;a;b;c;d;e;f;g;h;i;j;k;l;m;;n;;o;~;p;w;q;t;r;s;u;v;x;{;y;z;|;};;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<;;<<<<<<< << < < <<@====>=?=j=@=U=A=B=C=D=E=F=G=H=I=J=K=L=M=N=O=P=Q=R=S=T3=V=W=X=Y=Z=[=\=]=^=_=`=a=b=c=d=e=f=g=h=i3=k==l=m=n=o=p=q=r=s=t=u=v=w=x=y=z={=|=}=~=3====================3=>=========================B=====B=====================B=====B=======================B=====B=====================B>>>>>B>>W>>/>> > > > > >>>>>>>&>>>>>>>>>>>>> >#>!>">$>%>'>(>)>*>+>,>->.>0>1>2>3>4>5>6>7>8>9>:>;>N><>=>>>?>@>G>A>D>B>C>E>F>H>K>I>J>L>M>O>P>Q>R>S>T>U>V>X>>Y>Z>[>\>]>^>_>`>a>b>c>d>w>e>f>g>h>i>p>j>m>k>l>n>o>q>t>r>s>u>v>x>y>z>{>|>}>~>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>O">N>D>>>>>>>>>>>>>>B{>@>?>?p>?9>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>?>? >?>?>???????? ? ? ?? ?????????????*??#?? ???!?"?$?'?%?&?(?)?+?2?,?/?-?.?0?1?3?6?4?5?7?8?:?c?;?Z?<?K?=?D?>?A???@?B?C?E?H?F?G?I?J?L?S?M?P?N?O?Q?R?T?W?U?V?X?Y?[?\?]?`?^?_?a?b?d?j?e?f?g?h?i?k?l?m?n?o?q??r??s??t?u?|?v?y?w?x?z?{?}??~????????????????????????????????????????????????????????????????????????????????????????????@7?@???????????????????????????@?@???@@@@@@@@ @ @ @ @ @@@@#@@@@@@@@@@@@@@@ @!@"@$@*@%@&@'@(@)@+@,@3@-@0@.@/@1@2@4@5@6@8@p@9@S@:@I@;@@@<@=@>@?@A@E@B@C@D@F@G@H@J@K@O@L@M@N@P@Q@R@T@Z@U@V@W@X@Y@[@g@\@c@]@`@^@_@a@b@d@e@f@h@l@i@j@k@m@n@o@q@@r@{@s@t@u@x@v@w@y@z@|@@}@@~@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@A<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@A @A@@@@AAAAAAA AAA A A AAAAAAAAAAAAAA,AA$AAA!AA A"A#A%A&A)A'A(A*A+A-A.A5A/A2A0A1A3A4A6A9A7A8A:A;A=A}A>A_A?ANA@AIAAAEABACADAFAGAHAJAKALAMAOAWAPAQATARASAUAVAXAYA\AZA[A]A^A`AnAaAiAbAcAfAdAeAgAhAjAkAlAmAoAxApAtAqArAsAuAvAwAyAzA{A|A~AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB%AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABABABAAAAAAAAABBBBBBB BBB B B B BBBBBBBBBBBBBBB!BBB B"B#B$B&BWB'BAB(B2B)B*B.B+B,B-B/B0B1B3B<B4B8B5B6B7B9B:B;B=B>B?B@BBBQBCBLBDBHBEBFBGBIBJBKBMBNBOBPBRBSBTBUBVBXBlBYB_BZB[B\B]B^B`BaBhBbBeBcBdBfBgBiBjBkBmBnBvBoBpBsBqBrBtBuBwBxByBzB|CB}C/B~BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCBCBBBBBBBBBBBCCCCC CCCCC C C C CCC%CCCCCCCCCCC!CCCCCC C"C#C$C&C'C+C(C)C*C,C-C.C0CC1CjC2CTC3CBC4C=C5C9C6C7C8C:C;C<C>C?C@CACCCOCDCHCECFCGCICLCJCKCMCNCPCQCRCSCUC_CVCWC[CXCYCZC\C]C^C`CeCaCbCcCdCfCgChCiCkCClCvCmCnCrCoCpCqCsCtCuCwC|CxCyCzC{C}C~CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCD CDCDDDDDDDDD D D D DImDDDDDDDDDGDFDE=DDDDDDYDD:DD+D D'D!D$D"D#D%D&D(D)D*D,D3D-D0D.D/D1D2D4D7D5D6D8D9D;DJD<DCD=D@D>D?DADBDDDGDEDFDHDIDKDRDLDODMDNDPDQDSDVDTDUDWDXDZDyD[DjD\DcD]D`D^D_DaDbDdDgDeDfDhDiDkDrDlDoDmDnDpDqDsDvDtDuDwDxDzDD{DD|DD}D~DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEE"EEEEEEEEEE E E E E EEEEEEEEEEEEEEEEEE E!E#E.E$E)E%E&E'E(E*E+E,E-E/E8E0E4E1E2E3E5E6E7E9E:E;E<E>EE?EoE@EYEAEGEBECEDEEEFEHEQEIEMEJEKELENEOEPERESEVETEUEWEXEZEeE[E`E\E]E^E_EaEbEcEdEfEgEkEhEiEjElEmEnEpEEqE|ErEwEsEtEuEvExEyEzE{E}E~EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFEEEEEEEEEEEEEEEEEEEEEFF FFFFFFFF F F F FFGFFFFWFF3FF-FF$FFFFFFFFFF!FF F"F#F%F)F&F'F(F*F+F,F.F/F0F1F2F4FAF5F6F=F7F:F8F9F;F<F>F?F@FBFNFCFGFDFEFFFHFKFIFJFLFMFOFSFPFQFRFTFUFVFXFyFYFkFZF_F[F\F]F^F`FdFaFbFcFeFhFfFgFiFjFlFqFmFnFoFpFrFsFvFtFuFwFxFzFF{FF|F}FF~FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGFFFFFFFFFFFGGGGG GG GGGG G G GGGGGGGGGGGGRGG;GG0GG$GG GGGG!G"G#G%G,G&G)G'G(G*G+G-G.G/G1G6G2G3G4G5G7G8G9G:G<GGG=GBG>G?G@GAGCGDGEGFGHGMGIGJGKGLGNGOGPGQGSGsGTGmGUGdGVG]GWGZGXGYG[G\G^GaG_G`GbGcGeGiGfGgGhGjGkGlGnGoGpGqGrGtGzGuGvGwGxGyG{G|GG}G~GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGI4GHGH"GGGGGGGGGGGGGGGGGGGGGGGGGH GGGGGGGGHGHHHHHHHHH H H H HHHHHHHHHHHHHHHHHHH H!H#HQH$H:H%H4H&H/H'H+H(H)H*H,H-H.H0H1H2H3H5H6H7H8H9H;HAH<H=H>H?H@HBHCHJHDHGHEHFHHHIHKHNHLHMHOHPHRHnHSHaHTH\HUHVHYHWHXHZH[H]H^H_H`HbHcHjHdHgHeHfHhHiHkHlHmHoHHpHxHqHrHuHsHtHvHwHyHHzH}H{H|H~HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIHIHHHHHHHHHHHHHHHHHIIIIIII III I I I II'II!IIIIIIIIIIIIIIII I"I#I$I%I&I(I.I)I*I+I,I-I/I0I1I2I3I5I6I7I8IHI9IBI:I;I<I?I=I>I@IAICIDIEIFIGIII[IJIVIKIOILIMINIPISIQIRITIUIWIXIYIZI\IhI]IaI^I_I`IbIeIcIdIfIgIiIjIkIlInIoIpIqIrIsItIuIvM8IwKmIxJIyJ-IzII{II|II}II~IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJ IJIJIJIIIIIJJJJJJJJ JJ J J J JJJJJJJJJJJJJJJJJ!J'J"J#J$J%J&J(J)J*J+J,J.J]J/JKJ0J@J1J2J9J3J6J4J5J7J8J:J=J;J<J>J?JAJFJBJCJDJEJGJHJIJJJLJRJMJNJOJPJQJSJXJTJUJVJWJYJZJ[J\J^JJ_JqJ`JeJaJbJcJdJfJjJgJhJiJkJnJlJmJoJpJrJwJsJtJuJvJxJ|JyJzJ{J}J~JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJK-JKJKJJJJJJJKJKKKKKKKK K K K K KKKKKKKKKKK$KK KKKKKKK!K"K#K%K)K&K'K(K*K+K,K.KGK/K8K0K1K2K5K3K4K6K7K9KBK:K>K;K<K=K?K@KAKCKDKEKFKHK^KIKUKJKNKKKLKMKOKRKPKQKSKTKVKZKWKXKYK[K\K]K_KhK`KdKaKbKcKeKfKgKiKjKkKlKnLtKoKKpKKqKKrKKsKKtK{KuKxKvKwKyKzK|KK}K~KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKL:KLKL KLKLKLLLLLLLL L L LL LLLLLLLLLLLLLLL+LL&LL L#L!L"L$L%L'L(L)L*L,L5L-L1L.L/L0L2L3L4L6L7L8L9L;LQL<LGL=LBL>L?L@LALCLDLELFLHLILMLJLKLLLNLOLPLRLaLSL\LTLXLULVLWLYLZL[L]L^L_L`LbLkLcLgLdLeLfLhLiLjLlLpLmLnLoLqLrLsLuLLvLLwLLxLLyLLzL~L{L|L}LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMM MMMMMMMMM M M M MMMMMMM)MMMMMMMMMM%MM"M M!M#M$M&M'M(M*M+M3M,M-M0M.M/M1M2M4M5M6M7M9NM:MM;MM<MSM=M>MIM?MDM@MAMBMCMEMFMGMHMJMKMOMLMMMNMPMQMRMTMjMUM[MVMWMXMYMZM\MaM]M^M_M`MbMfMcMdMeMgMhMiMkMvMlMqMmMnMoMpMrMsMtMuMwMxM|MyMzM{M}M~MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNJMN'MNMMMMMMMMMMMMMMMMNN NNNNNNN NNN N N NNNNNNNNNNNNNNNN"NNN N!N#N$N%N&N(N>N)N3N*N+N/N,N-N.N0N1N2N4N9N5N6N7N8N:N;N<N=N?N@NENANBNCNDNFNGNHNINKNlNLNaNMNSNNNONPNQNRNTN\NUNVNYNWNXNZN[N]N^N_N`NbNcNdNhNeNfNgNiNjNkNmNNnNNoNwNpNqNtNrNsNuNvNxNyN|NzN{N}N~NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN;lNNNNNNNNNNNNNNNNNNNN;lNO NNNNNNNOOOOOOOOOO O O O ;lOOOOOOOOOOOOOOOOOOO O!;lO#OO$OcO%ODO&O'O(O)O*O+O,O-O.O/O0O1O2O3O4O5O6O=O7O:O8O9|O;O<|O>OAO?O@|OBOC|OEOFOGOHOIOJOKOLOMONOOOPOQOROSOTOUO\OVOYOWOX|OZO[|O]O`O^O_|OaOb|OdOOeOfOgOhOiOjOkOlOmOnOoOpOqOrOsOtOuO|OvOyOwOx|OzO{|O}OO~O|OO|OOOOOOOOOOOOOOOOOOOOOO|OO|OOOO|OO|OOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOO O[COUjOSOR8OQOPPPCPP"PPPPPPPP P P P P PPPPPPPPPP`PPP`PPPPPP P!`P#P$P%P&P'P(P)P*P+P,P-P.P/P;P0P1P2P3P7P4P5P6`P8P9P:`P<P=P>P?P@PAPB`PDPePEPFPGPHPIPJPKPLPMPNPOPPPQP]PRPSPTPUPYPVPWPX`PZP[P\`P^P_P`PaPbPcPd`PfPgPhPiPjPkPlPmPnPoPpPqPrP~PsPtPuPvPzPwPxPy`P{P|P}`PPPPPPP`PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQ PPPQQQQQQQQQQ Q Q Q QQQQQQQQQQQjQQAQQQQQQQQ Q!Q"Q#Q7Q$Q%Q&Q'Q(Q)Q0Q*Q-Q+Q,Q.Q/Q1Q4Q2Q3Q5Q6Q8Q9Q:Q;Q<Q=Q>Q?Q@QBQCQDQEQFQGQHQIQJQKQLQ`QMQNQOQPQQQRQYQSQVQTQUQWQXQZQ]Q[Q\Q^Q_QaQbQcQdQeQfQgQhQiQkQQlQmQnQoQpQqQrQsQtQuQvQQwQxQyQzQ{Q|QQ}QQ~QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRQQQRRRRRRRRRRR R R R R RRRRRRRRRRRRRRRRR R!R"R#R$R%R&R/R'R(R)R*R+R,R-R.R0R1R2R3R4R5R6R7R9RR:R;RzR<R[R=R>R?R@RARBRCRDRERFRGRHRIRJRKRLRMRTRNRQRORPRRRSRURXRVRWRYRZR\R]R^R_R`RaRbRcRdReRfRgRhRiRjRkRlRsRmRpRnRoRqRrRtRwRuRvRxRyR{RR|R}R~RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRuRRRRRuRuRuRuRuRuRuRuRuRuRuRuRuRuRuRuRuRuRuRu;uRuRuRuRuRuRuRuRuRuRuRuRuRuRuRuRuRuRuRuRu;uRRRuRuRuRuRuRuRuRuRuRuRuRuRuRuRuRuRuRuRuRu;uRuRuRuSuSuSuSuSuSuSuSuSuS uS uS uS uS uSuSuSu;uSTNSSwSSSFSS.SSSSSSSSSS S!S"S#S$S%S&S'S(S+S)S*S,S-S/S0S1S2S3S4S5S6S7S8S9S:S;S<S=S>S?S@SCSASBSDSESGS_SHSISJSKSLSMSNSOSPSQSRSSSTSUSVSWSXSYS\SZS[S]S^S`SaSbScSdSeSfSgShSiSjSkSlSmSnSoSpSqStSrSsSuSvSxSSySSzSS{S|S}S~SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSST#STSSSSSSTTTTTTTTTT T T T T TTTTTTTTTTTTTTTTTT T!T"T$T9T%T&T'T(T)T*T+T,T-T.T/T0T1T2T3T4T5T6T7T8T:T;T<T=T>T?T@TATBTCTDTETFTGTHTITJTKTLTMTOUTPTTQT|TRTgTS TT TU TV TW TX TY TZ T[ T\ T] T^ T_ T` Ta Tb Tc Td Te Tf ; Th Ti Tj Tk Tl Tm Tn To Tp Tq Tr Ts Tt Tu Tv Tw Tx Ty Tz T{ ; T}TT~ T T T T T T T T T T T T T T T T T T T ; T T T T T T T T T T T T T T T T T T T T ; TTTTT T T T T T T T T T T T T T T TTT  TT T   T TT T  T T T T T T T T T T T T T T T TTT  TT T   T TT T  TTT T T T T T T T T T T T T T T TTT  TT T   T TT T  T T T T T T T U U U U U U U U UU U   U U  U    U UU U  U UU?UU*U U U U U U U U U U U  U! U" U# U$ U% U& U' U( U) ; U+ U, U- U. U/ U0 U1 U2 U3 U4 U5 U6 U7 U8 U9 U: U; U< U= U> ; U@UUUA UB UC UD UE UF UG UH UI UJ UK UL UM UN UO UP UQ UR US UT ; UV UW UX UY UZ U[ U\ U] U^ U_ U` Ua Ub Uc Ud Ue Uf Ug Uh Ui ; UkWUlVtUmUUn UoUUpUUq Ur Us Ut Uu Uv Uw Ux Uy Uz U{ U| U} U~ U U U U U U  U U U U U U U U U U U U U U U U U U U U  UUU U U U U U U U U U U U U U U U U U U U  U U U U U U U U U U U U U U U U U U U U  UVUUUUUUUUUUUUUUUUUUUUUUUU!UUUUUUUUUUUUUUUUUUUU!UVUUUUUUUUUUUUVVVVVVVV!V V V V V VVVVVVVVVVVVVVV!VVIVV4V V!V"V#V$V%V&V'V(V)V*V+V,V-V.V/V0V1V2V3V5V6V7V8V9V:V;V<V=V>V?V@VAVBVCVDVEVFVGVHVJV_VKVLVMVNVOVPVQVRVSVTVUVVVWVXVYVZV[V\V]V^V`VaVbVcVdVeVfVgVhViVjVkVlVmVnVoVpVqVrVsVuW$VvVVwVVxVVyVzV{V|V}V~VVVVVVVVVVVVVV;VVVVVVVVVVVVVVVVVVVV;VVVVVVVVVVVVVVVVVVVVVV;VVVVVVVVVVVVVVVVVVVV;VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWVVVVVWWWWWWWWWW W W W W WWWWWWWWWWWWWWWWWW W!W"W#W%WW&W_W'WCW(W)W*W+W,W-W.W/W0W1W2W3W4W5W6W7W8W?W9W<W:W;W=W>W@WAWBWDWEWFWGWHWIWJWKWLWMWNWOWPWQWRWSWTW[WUWXWVWWWYWZW\W]W^W`W|WaWbWcWdWeWfWgWhWiWjWkWlWmWnWoWpWqWxWrWuWsWtWvWwWyWzW{W}W~WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW;WWWWWWWWWWWWWWWWWWWW;WWWWWWWWWWWWWWWWWWWWWW;WWWWWWWWWWWWWWWWWWWW;WYWXWXWX@WXWWWWWWWWWWWXXXXXXXX XX XX;X X ;X XX;XXXXXXXXX;XXXXXX X!X"X#X$X%X6X&X'X(X)X*X+X2X,X/X-X.;X0X1;X3X4X5;X7X8X9X:X;X<X=X>X?;XAXgXBXCXDXEXFXGXHXIXJXKXLX]XMXNXOXPXQXRXYXSXVXTXU;XWXX;XZX[X\;X^X_X`XaXbXcXdXeXf;XhXiXjXkXlXmXnXoXpXqXrXXsXtXuXvXwXxXXyX|XzX{;X}X~;XXX;XXXXXXXXX;XXXXXXXXXXXXXXXXXXXXXXXXFXXXXXXXXXXXXXXXXXXXXFXXXXXXXXXXXXXXXXXXXXXXFXXXXXXXXXXXXXXXXXXXXFXY<XYXXXXXXXXXXXXXXXXXXXXXXVXXXYYYYYYYYYY Y Y Y Y YYYVYY'YYYYYYYYYYYYYY Y!Y"Y#Y$Y%Y&VY(Y)Y*Y+Y,Y-Y.Y/Y0Y1Y2Y3Y4Y5Y6Y7Y8Y9Y:Y;VY=YhY>YSY?Y@YAYBYCYDYEYFYGYHYIYJYKYLYMYNYOYPYQYRFYTYUYVYWYXYYYZY[Y\Y]Y^Y_Y`YaYbYcYdYeYfYgFYiY~YjYkYlYmYnYoYpYqYrYsYtYuYvYwYxYyYzY{Y|Y}FYYYYYYYYYYYYYYYYYYYYFYZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZVYZ"YYYYYYYYYYZYZ YYYYYYZZZZZnZZnZZ ZZ nZ Z nZZZZZZZZZnZZZZZZZZZ Z!nZ#Z$Z%Z&Z'Z(Z)Z*Z+Z,ZKZ-ZAZ.Z/Z0Z1Z2Z3Z:Z4Z7Z5Z6nZ8Z9nZ;Z>Z<Z=nZ?Z@nZBZCZDZEZFZGZHZIZJnZLZMZNZOZPZQZRZSZTZUnZWZZXZYZZZ[Z\Z]Z^Z_Z`ZaZZbZvZcZdZeZfZgZhZoZiZlZjZknZmZnnZpZsZqZrnZtZunZwZxZyZzZ{Z|Z}Z~ZnZZZZZZZZZZnZZZZZZZZZZZZZZZZZZZZZZZZnZZnZZZZnZZnZZZZZZZZZnZZZZZZZZZZnZZ[ZZZZZZZZZZZZZZZZZZZZZZZZ:ZZ:ZZZZZZZ:ZZZZZZZZZZZZZZZZZZZZZZ:ZZ:ZZZZZ[[:[[#[[[[[[ [ [ [ [ [[[[[[[[[[[[:[[:[[[[[ [![":[$[%[&['[([)[*[+[,[-[.[/[0[;[1[2[3[4[5[8[6[7:[9[::[<[=[>[?[@[A[B:[DqP[E][F\[G\[H[[I[z[J[b[K[L[M[N[O[P[Q[R[S[T[U[V[W[X[Y[Z[[[\[_[][^R[`[aR[c[d[e[f[g[h[i[j[k[l[m[n[o[p[q[r[s[t[w[u[vR[x[yR[{[[|[}[~[[[[[[[[[[[[[[[[[[R[[R[[[[[[[[[[[[[[[[[[[[[R[[R[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\Z\\/\\\\\\ \ \ \ \ \\\\\\\\\\\\.\\\\\\ \!\"\#\$\%\&\'\(\)\*\+\,\-\..\0\E\1\2\3\4\5\6\7\8\9\:\;\<\=\>\?\@\A\B\C\D.\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y.\[\\\\t\]\^\_\`\a\b\c\d\e\f\g\h\i\j\k\l\m\n\q\o\p\r\s\u\v\w\x\y\z\{\|\}\~\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]:\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]\]]]]]]]]]] ] ] ] ] ]]]]]]]]]]]]]]]]]] ]!]"]#]$]%]&]'](])]*]+]4],]-].]1]/]0]2]3]5]6]7]8]9];]]<]m]=]U]>]?]@]A]B]C]D]E]F]G]H]I]J]K]L]M]N]O]R]P]Q]S]T]V]W]X]Y]Z][]\]]]^]_]`]a]b]c]d]e]f]g]j]h]i]k]l]n]]o]p]q]r]s]t]u]v]w]x]y]z]{]|]}]~]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]_+]^]U]^D]^]U]U]U]U]U^U^U^U^U^U^U^^^U^U^ U^ U^ ^^ ^^ U^U^U^U^U^U^U^U^U^U^UU^U^^UU^^U^U^U^U^ U^!U^"U^#U^$U^%U^&U^'U^(U^)U^*U^+^;^,U^-U^.U^/U^0^7^1^4^2U^3U^U^5U^6U^U^8U^9U^:U^U^<UU^=U^>^?UU^@^AU^BU^CU^U^E^j^FU^GU^HU^IU^JU^KU^LU^MU^NU^OU^PU^Q^a^RU^SU^TU^UU^V^]^W^Z^XU^YU^U^[U^\U^U^^U^_U^`U^U^bUU^cU^d^eUU^f^gU^hU^iU^U^kU^lU^mU^nU^oU^pU^qU^rU^sU^tU^uU^v^^wU^xU^yU^zU^{^^|^^}U^~U^U^U^U^U^U^U^U^U^UU^U^^UU^^U^U^U^U^Y^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^_^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^_________ _ _ _ _ _______$____________!__ _"_#_%_&_'_(_)_*_,ou_-__._Y_/_D_0_1_2_3_4_5_6_7_8_9_:_;_<_=_>_?_@_A_B_Cֹ_E_F_G_H_I_J_K_L_M_N_O_P_Q_R_S_T_U_V_W_Xֹ_Z_o_[_\_]_^___`_a_b_c_d_e_f_g_h_i_j_k_l_m_nֹ_p_q_r_s_t_u_v_w_x_y_z_{_|_}_~_____ֹ_d_d______dv_b_b_aa_a _`_`_`____________H__H____H__H______H__H____H__H________H__H____H__H______H__H____H__H__________H__H____H__H______H__H____H__H_`______H__H_`__H``H`` ````H` ` H` `` `H``H``O``0``$``````H``H``!`` H`"`#H`%`,`&`)`'`(H`*`+H`-`.`/H`1`@`2`9`3`6`4`5H`7`8H`:`=`;`<H`>`?H`A`H`B`E`C`DH`F`GH`I`L`J`KH`M`NH`P`o`Q```R`Y`S`V`T`UH`W`XH`Z`]`[`\H`^`_H`a`h`b`e`c`dH`f`gH`i`l`j`kH`m`nH`p``q`x`r`u`s`tH`v`wH`y`|`z`{H`}`~H``````H``H````H``H`````````````H``H````H``H``````H``H````H``H````````H``H````H``H`````H``H````````H````H````````````H`````H````````H```````H```H`a``````aHaaaaaaaHa a>a a a a aaaaaaaaHaaaaHaaaaaaHa!a)a"a#a$a%a&a'a(Ha*a7a+a1a,a-a.a/a0Ha2a3a4a5a6Ha8a9a:a;a<a=Ha?aPa@aHaAaBaCaDaEaFaGHaIaJaKaLaMaNaOHaQaYaRaSaTaUaVaWaXHaZa[a\a]a^a_a`HabaacaadaaeayafaragahamaiajakalHanaoapaqHasatauavawaxHaza{aa|a}a~aaHaaaaaHaaaaaaaaaHaaaaaHaaaaaaaaaaaHaaaaaaaaHaaaHaaaaaaaaaaHaaaaHaaaaaaaaHaaaaHaaaaaaaaaaaaHaaaaaaaaHaaaaaaaaaaaaHaaaaaaHaaaaaaaHabaaaaaaaaHaaHbbbbbbbbHb b b b b bHbbbb6bb$bbbbbbbbbbHbbbb b!b"b#Hb%b&b.b'b(b)b*b+b,b-Hb/b0b1b2b3b4b5Hb7bxb8bab9bRb:bFb;b<bAb=b>b?b@HbBbCbDbEHbGbHbMbIbJbKbLHbNbObPbQHbSbZbTbUbVbWbXbYHb[b\b]b^b_b`HbbbpbcbdbjbebfbgbhbiHbkblbmbnboHbqbrbsbtbubvbwHbybbzbb{bb|b}bb~bbbHbbbbHbbbbbbHbbbbbbbbHbbbbbbHbbbbbbbbHbbbbbbbbbbbbbbHbbbbHbbbbbbbbHbbbbbbbbbbbbHbbbbbbbbHbbbbbbbbbbbHbbbbbbbbHbbbbbbHbbbbbbbbbHbbbbbbbHbd ccPcc&cccc cccccc c c Hc ccccccccHccccccHcccc c!c"c#c$c%Hc'c=c(c)c5c*c+c,c-c1c.c/c0Hc2c3c4Hc6c7c8c9c:c;c<Hc>cGc?c@cAcBcCcDcEcFHcHcIcJcKcLcMcNcOHcQccRcpcScTchcUc\cVcWcXcYcZc[Hc]c^ccc_c`cacbHcdcecfcgHcicjckclcmcncoHcqccrcscctczcucvcwcxcyHc{c|c}c~cHccccccHcccccccccHcccccccHcccccccccccccHcccccccHcccccHcccccccccHccccccHccccccccccccHcccccHcccccccHccccccHcccHccccccccccHccccccHcccccccccHcccccHdddddddHddd d d Hd d"ddddddddddddHddddddd d!Hd#dNd$d.d%d&d'd(d)d*d+d,d-Hd/d8d0d1d2d3d4d5d6d7Hd9d:dAd;d<d=d>d?d@HdBdHdCdDdEdFdGHdIdJdKdLdMHdOdldPdcdQdRd\dSdTdUdVdYdWdXHdZd[Hd]d^d_d`dadbHdddedfdgdhdidjdkHdmdndodpdqdrdsdtduHdwdxdydzdd{d|dd}d~ddddddddHddddHdddddHdddddddddHddddddddHddddddHddddddddddddddHdddddHdddddddHddddddddHdddddddddHdddHdj'ddddddidhQdgbdfdf\df(dedeede&deddddddddHddHddddHddHdeddddHddHeeeeHeeHeee ee e e e HeeHeeeeHeeHeeeeeeHeeHe e#e!e"He$e%He'eFe(e7e)e0e*e-e+e,He.e/He1e4e2e3He5e6He8e?e9e<e:e;He=e>He@eCeAeBHeDeEHeGeVeHeOeIeLeJeKHeMeNHePeSeQeRHeTeUHeWe^eXe[eYeZHe\e]He_ebe`eaHecedHefeegeeheweiepejemekelHeneoHeqeteresHeuevHexeeye|eze{He}e~HeeeHeeeeeeeeHeeHeeeeHeeHeeeeeeHeeHeeeeHeeHeeeeeeeeeeHeeHeeeeHeeHeeeeeeHeeHeeeeHeeHeeeeeeeeHeeHeeeeHeeHeeeeeeHeeHeeeeHeeHefeefeeeeeeeeHeeHeeeeHeeHeeeeeeHeeHefeeHffHffff ff ffHf f Hf fffHffHfffffHffHffff#ff f!f"Hf$f%f&f'Hf)fKf*f8f+f,f2f-f.f/f0f1Hf3f4f5f6f7Hf9f@f:f;f<f=f>f?HfAfBfCfGfDfEfFHfHfIfJHfLfTfMfNfOfPfQfRfSHfUfVfWfXfYfZf[Hf]ff^fsf_f`flfafbfgfcfdfeffHfhfifjfkHfmfnfofpfqfrHftf|fufvfwfxfyfzf{Hf}ff~ffffffHfffffHffffffHfffffffffffHfffffffHfffffffffHfffffffHfgfffffffffffffffHffffHffffffHffffffffHfffffHfffffffffHfffffHfffffffffffHffffffffHfffHgg ggggggggHg g g g HggggggggHggggHgg.gg%gggg g!g"g#g$Hg&g'g(g)g*g+g,g-Hg/gGg0g?g1g8g2g3g4g5g6g7Hg9g:g;g<g=g>Hg@gAgBgCgDgEgFHgHgSgIgJgKgLgMgPgNgOHgQgRHgTg[gUgVgWgXgYgZHg\g]g^g_g`gaHgcggdggegwgfgggoghgigjgkglgmgnHgpgqgrgsgtgugvHgxgyggzg{g|g}g~ggHgggggggHgggggggggggggggHggggHgggggggHggggHggggggggHggggggHggggggggggHgggggHgggggggHgggggggggggggHggggHggggggHggggggggHggggggHggggggggHghggh ggghhhhhhHhhhh Hh h h hhhhhHhh'hhhhhhhhhhHhh h!h"h#h$h%h&Hh(h@h)h1h*h+h,h-h.h/h0Hh2h9h3h4h5h6h7h8Hh:h;h<h=h>h?HhAhIhBhChDhEhFhGhHHhJhKhLhMhNhOhPHhRi_hShhThyhUhohVh_hWhXhYhZh[h\h]h^Hh`hahhhbhchdhehfhgHhihjhkhlhmhnHhphqhrhshthuhvhwhxHhzhh{h|hh}h~hhhhhhHhhhHhhhhhhhHhhhhhhhhhhHhhhhhhhhHhhhhhhhhhhhhhhhHhhhhhhhHhhhhHhhhhhhhHhhhhhhhhhhhhHhhhhhHhhhhhhHhhhhhhhhhHhhhhhhhHhihihhhhhhhhhHhhhhhhhHhhiiiHiii iiii i i Hi iiiiiHii4iii#iiiiiiiHiii i!i"Hi$i*i%i&i'i(i)Hi+i,i0i-i.i/Hi1i2i3Hi5iDi6i=i7i8i9i:i;i<Hi>i?i@iAiBiCHiEiRiFiLiGiHiIiJiKHiMiNiOiPiQHiSiYiTiUiViWiXHiZi[i\i]i^Hi`iuiaibicilidieifigihiiijikHiminioipiqirisitHiviiwiixiyizi{i|i}i~iiHiiiiiiiiiiHiiiiiiiiiHiiiiiiiHiiiiiHiiiiiiiiiiiiiiHiiHiiiiiiHiiiiiiiiHiiiiiiiiiHiiiiiiiiiiiiiiiiiiHiiiiHiiiiiHiiiiiiiiiHiiiiiiiiHiiiiiiHijijij ijjjjjjjHjjj j j Hj jjjjjjHjjjjjjjjHjjj j!j"j#j$j%j&Hj(j)j*j+j,j-oj.mj/lj0lj1kj2kvj3k/j4jj5jtj6jUj7jFj8j?j9j<j:j;Hj=j>Hj@jCjAjBHjDjEHjGjNjHjKjIjJHjLjMHjOjRjPjQHjSjTHjVjejWj^jXj[jYjZHj\j]Hj_jbj`jaHjcjdHjfjmjgjjjhjiHjkjlHjnjqjojpHjrjsHjujjvjjwj~jxj{jyjzHj|j}HjjjjHjjHjjjjjjHjjHjjjjHjjHjjjjjjjjHjjHjjjjHjjHjjjjjjHjjHjjjjHjjHjjjjjjjjjjjjHjjHjjjjHjjHjjjjjjHjjHjjjHjjjjjjjjHjjHjjjjHjjHjjjjjjHjjHjjjjHjjHjkjkjjjjjjHjjHjjjjHjkHkk kkkkHkkHk k k k HkkHkk kkkkkkHkkHkkkkHkkHk!k(k"k%k#k$Hk&k'Hk)k,k*k+Hk-k.Hk0kik1k2kQk3kBk4k;k5k8k6k7Hk9k:Hk<k?k=k>Hk@kAHkCkJkDkGkEkFHkHkIHkKkNkLkMHkOkPHkRkakSkZkTkWkUkVHkXkYHk[k^k\k]Hk_k`HkbkckfkdkeHkgkhHkjkkklkqkmknkokpHkrksktkuHkwkkxkkykzkk{k|k}k~kHkkkkkHkkkkkkkkHkkkkkkkHkkkHkkkkkkkkkHkkkkkkkHkkkkkkkkkkkkkkHkkkkHkkkkkkHkkkkkkkkkHkkkkkkkkkHkkkkkHkkkkkkHkkkkkkkkkkkHkkkkkkkHkkkkkkkkkHkkkkkllHllhll7ll(llllll ll l l l HllllHllllllHlll"llll l!Hl#l$l%l&l'Hl)l*l+l1l,l-l.l/l0Hl2l3l4l5l6Hl8lMl9lAl:l;l<l=l>l?l@HlBlClDlElIlFlGlHHlJlKlLHlNl[lOlPlQlVlRlSlTlUHlWlXlYlZHl\l]l^lcl_l`lalbHldlelflgHlil|ljlslklllmlnlolplqlrHltlulvlwlxlylzl{Hl}ll~lllllllllHllllllHlllllllHllllllllllHllHllllllllHllllllHlmGllllllllllllllHlllllllHllllllllllHlllllllHlmlmlllllllllllHllllHlllllllHllllHllllllllHllllmmHmmmmm mmmm m Hm m mmmHmmmmmmmHmm>mm/mm(mmm#mm m!m"Hm$m%m&m'Hm)m*m+m,m-m.Hm0m7m1m2m3m4m5m6Hm8m9m:m;m<m=Hm?m@mAmBmCmDmEmFHmHmamImJmXmKmLmMmNmSmOmPmQmRHmTmUmVmWHmYmZm[m\m]m^m_m`HmbmumcmlmdmemfmgmhmimjmkHmmmnmompmqmrmsmtHmvmmwmmxmymzm{m|m}m~HmmmmmmmmHmmmmmmHmmmmmmmmmHmmmmmmmHmnmmmmmmmmmmmmmmmmHmmmmmmmmmHmmmmmmHmmmmmmmmmHmmmmmmmmmmmmmHmmmHmmmmmmmHmmmmmmmmmmHmmmmmmmmHmn9mnmmn mmmmmmmmHmmnnnnnHnnnnHn n n n nnnHnn(nnn!nnnnnnnHnnnnn Hn"n#n$n%n&n'Hn)n1n*n+n,n-n.n/n0Hn2n3n4n5n6n7n8Hn:nan;nQn<n=nDn>n?n@nAnBnCHnEnKnFnGnHnInJHnLnMnNnOnPHnRnSnZnTnUnVnWnXnYHn[n\n]n^n_n`HnbnncndnqnenknfngnhninjHnlnmnnnonpHnrnxnsntnunvnwHnynzn~n{n|n}HnnnHnnnnnnnnnnHnnnnnnHnnnnnnnnnHnnnnnHnnnnnnnHnnnnnHnnnnnnnnnnnnnnHnnnnnnnnHnnnnnnnnnnnnnHnnnnnnnnnnHnnnnnnnnnHnnnnnnnHnnnnnHno nonnnnnnnnnnHnnHnnooooHooooo o o o HoooooooooHoooooIooo1ooo o+o!o&o"o#o$o%Ho'o(o)o*Ho,o-o.o/o0Ho2o:o3o4o5o6o7o8o9Ho;oBo<o=o>o?o@oAHoCoDoEoFoGoHHoJokoKoboLoZoMoNoToOoPoQoRoSHoUoVoWoXoYHo[o\o]o^o_o`oaHocodoeofogohoiojHolomonooopoqorosotHovoowooxooyozo{o|o}o~ooooooooooooooLooooooooooooooooooooLooooooooooooooooooooooLooooooooooooooooooooLopop/oooooooooop$oopopooooooooooo,oo,oooo,oo,oooooo,oo,oooo,oo,op oppppp,pp,ppp ,p pp p p,ppp,ppppppp,ppppp p!p"p#,p%p&p'p(p)p*p+p,p-p.,p0p1p2p3p4p5p6p7p8p9pp:p;p{p<psp=p>p]p?pNp@pGpApDpBpC,pEpF,pHpKpIpJ,pLpM,pOpVpPpSpQpR,pTpU,pWpZpXpY,p[p\,p^pjp_pfp`pcpapb,pdpe,pgphpi,pkpoplpmpn,pppqpr,ptpupvpwpxpypz,p|p}p~ppppp,pppppppppp,ppppppppppppppppppppppppppppp,pp,pppp,pp,pppppp,pp,pppp,pp,pppppppp,pp,ppp,ppppp,ppp,ppppppp,pppppppp,pppppppppp,ppppppppppqEppq<pq4ppqqqqqqqqq,qq,q q q q ,q q,qqqqqq,qq,qqqq,qq,qq+q q'q!q$q"q#,q%q&,q(q)q*,q,q0q-q.q/,q1q2q3,q5q6q7q8q9q:q;,q=q>q?q@qAqBqCqD,qFqGqHqIqJqKqLqMqNqO,qQsqRrqSrNqTqqUqqVqrqWqXqYqZq[q\q]q^q_q`qaqbqcqdqeqfqgqkqhqiqjZqlqoqmqnZqpqqZqsqtquqvqwqxqyqzq{q|q}q~qqqqqqqqqZqqqqZqqZqqqqqqqqqqqqqqqqqqqqqqqZqqqqZqqZqqqqqqqqqqqqqqqqqqqqqZqqqqZqqZqr qqqqqqqqqqqqqqqqqqqqqqqqqzqqzqqqzqqqqzqqqqqqqqqqqqqqqqrqrqqqqzrrzrrrzrrr r zr r-r rrrrrrrrrrrrrrrr(rr$rr!rr zr"r#zr%r&r'zr)r*r+r,zr.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=rIr>rEr?rBr@rAzrCrDzrFrGrHzrJrKrLrMzKrOrPr{rQrfrRKrSKrTKrUKrVKrWKrXKrYKrZKr[Kr\Kr]Kr^Kr_Kr`KraKrbKrcKrdKreK*KrgKrhKriKrjKrkKrlKrmKrnKroKrpKrqKrrKrsKrtKruKrvKrwKrxKryKrzK*Kr|rr}Kr~KrKrKrKrKrKrKrKrKrKrKrKrKrKrKrKrKrKrK*KrKrKrKrKrKrKrKrKrKrKrKrKrKrKrKrKrKrKrKrK*Krrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr1sssfss4s1s1s1s1s1s1s 1s 1s 1s 1s s!s1s1s1s1s1sssss1s11s1s11sss1s11s1s 11s"s+s#11s$1s%s&11s'1s(s)1s*11s,11s-s.1s/1s01s11s21s311s51s61s71s81s91s:1s;1s<1s=1s>1s?sSs@1sA1sB1sC1sD1sEsLsFsIsG1sH11sJ1sK11sMsPsN1sO11sQ1sR11sTs]sU11sV1sWsX11sY1sZs[1s\11s^11s_s`1sa1sb1sc1sd1se11sgssh1si1sj1sk1sl1sm1sn1so1sp1sq1srsss1st1su1sv1sw1sxssys|sz1s{11s}1s~11sss1s11s1s11sss11s1ss11s1ss1s11s11ss1s1s1s1s1s11s1s1s1s1s1s1s1s1s1s1sss1s1s1s1s1sssss1s11s1s11sss1s11s1s11sss11s1ss11s1ss1s11s11ss1s1s1s1s1s11suWst|st%ssssssssssssssssssssssss=ssssssssssssssssssss=stsssstttttttttt t t t t tt=tttttttttttttttt t!t"t#t$=t&tQt't<t(t)t*t+t,t-t.t/t0t1t2t3t4t5t6t7t8t9t:t;t=t>t?t@tAtBtCtDtEtFtGtHtItJtKtLtMtNtOtPtRtgtStTtUtVtWtXtYtZt[t\t]t^t_t`tatbtctdtetfthtitjtktltmtntotptqtrtstttutvtwtxtytzt{t}ut~tttttttttttttttttttttttt;tttttttt;tt;ttttttttttttttttttttt;tttttttt;tt;ttttttttttttttttttttttt;tttttttt;tt;ttttttttttttttttttttt;tttttttt;tt;uu,uuuuuuuuu u u u u uuuuuuuuu< uuuuuuuuu u!u"u#u$u%u&u'u(u)u*u+< u-uBu.u/u0u1u2u3u4u5u6u7u8u9u:u;u<u=u>u?u@uA< uCuDuEuFuGuHuIuJuKuLuMuNuOuPuQuRuSuTuUuV< uXvuYuuZuu[upu\u]u^u_u`uaubucudueufuguhuiujukulumunuowuqurusutuuuvuwuxuyuzu{u|u}u~uuuuuuwuuuuuuuuuuuuuuuuuuuuuuwuuuuuuuuuuuuuuuuuuuuwuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvwv vv vnv v v vvvvvvvvvdvvvvGvv5vv&vvvvv$v v#v!v"$v$v%$v'v.v(v+v)v*$v,v-$v/v2v0v1$v3v4$v6vBv7v>v8v;v9v:$v<v=$v?v@vA$vCvDvEvF$vHvIvUvJvNvKvLvM$vOvRvPvQ$vSvT$vVv]vWvZvXvY$v[v\$v^vav_v`$vbvc$vevfvgvhvivjvkvlvm$vovpvqvrvsvtvuvvvwvxvyvvzv{v|vv}vv~vvvvvv$vvvv$vv$vvvvvv$vv$vvvv$vv$vvvvvvvv$vv$vvv$vvvv$vvvvvvvv$vvvv$vv$vvvvvv$vv$vvvv$vv$vvvvvvvvv$vw7vvvvvvvvvvvw-vvvwvvvvvvvvv$vvvv$vv$vvvvvv$vv$vvvv$vv$vw wwwwww$ww$ww w $w w ww$wwwwwwww$wwww$ww$ww&w w#w!w"$w$w%$w'w*w(w)$w+w,$w.w/w0w1w2w3w4w5w6$w8w9w:w;w<w=w>w?w@wAwBwwCwDwEwtwFwbwGwSwHwLwIwJwK$wMwPwNwO$wQwR$wTw[wUwXwVwW$wYwZ$w\w_w]w^$w`wa$wcwowdwkwewhwfwg$wiwj$wlwmwn$wpwqwrws$wuwvwwww{wxwywz$w|ww}w~$ww$wwwwww$ww$wwww$ww$wwwwwwwww$wwwwwwwwwwwwwwwwwwwwwwwwwwuwwuwwwwwuwwwwwwwwwwwwwwwwwwwwwwuwwuwwwwwuwwwwwwwwwwwwwwwwwwwwwwwwuwwuwwwwwuwwwwwwwxxxxxxxxxxx x x x x uxxuxxxxxux[x8x~x{Zxz2xyOxxtxxIxx4x x!x"x#x$x%x&x'x(x)x*x+x,x-x.x/x0x1x2x3*x5x6x7x8x9x:x;x<x=x>x?x@xAxBxCxDxExFxGxH*xJx_xKxLxMxNxOxPxQxRxSxTxUxVxWxXxYxZx[x\x]x^*x`xaxbxcxdxexfxgxhxixjxkxlxmxnxoxpxqxrxs*xuxxvxxwxxxyxzx{x|x}x~xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxxxxxxxxxxyxxxxxxyxxxxxxxxxxxxyyyy yyyyyy y y y yyyyyyyyyyyyyyyyy y!y"y#yDy$y%y&y'y(y)y8y*y1y+y.y,y-y/y0y2y5y3y4y6y7y9y@y:y=y;y<y>y?yAyByCyEyFyGyHyIyJyKyLyMyNyPyyQy|yRygySyTyUyVyWyXyYyZy[y\y]y^y_y`yaybycydyeyfyhyiyjykylymynyoypyqyrysytyuyvywyxyyyzy{y}yy~yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy yy yyy yyyyy yyyyyyyyyyyyyyyyyyyyyyy yy yyy yyyyy yzyyyyyyyyyyyyyyyz yyzzzzz zz zzz  z z z zz zzzzzzzzzzzzzzzz,z z!z(z"z%z#z$ z&z' z)z*z+ z-z.z/z0z1 z3zz4zz5z`z6zKz7/z8/z9/z:/z;/z</z=/z>/z?/z@/zA/zB/zC/zD/zE/zF/zG/zH/zI/zJ//zL/zM/zN/zO/zP/zQ/zR/zS/zT/zU/zV/zW/zX/zY/zZ/z[/z\/z]/z^/z_//zazvzb/zc/zd/ze/zf/zg/zh/zi/zj/zk/zl/zm/zn/zo/zp/zq/zr/zs/zt/zu//zw/zx/zy/zz/z{/z|/z}/z~/z/z/z/z/z/z/z/z/z/z/z/z//zzzzz/z/z/z/z/z/z/z/z/z/z/z/z/z/z/z/z/z/z/z/m/z/z/z/z/z/z/z/z/z/z/z/z/z/z/z/z/z/z/z/z/m/zzz/z/z/z/z/z/z/z/z/z/z/z/z/z/z/z/z/z/z/z/m/z/z/z/z/z/z/z/z/z/z/z/z/z/z/z/z/z/z/z/z/m//zz{z{z/z/z/z/z/z/z/z/z/z/z/z/zzz/z/z/z/z/z/z//z//zz/z/z/{/{//{/{/{/{/{/{/{ /{ /{ /{ /{ /{/{{{/{/{/{/{/{/{//{//{{/{/{/{/{//{ {={!/{"/{#/{$/{%/{&/{'/{(/{)/{*/{+/{,/{-{5{./{//{0/{1/{2/{3/{4//{6//{7{8/{9/{:/{;/{<//{>/{?/{@/{A/{B/{C/{D/{E/{F/{G/{H/{I/{J{R{K/{L/{M/{N/{O/{P/{Q//{S//{T{U/{V/{W/{X/{Y//{[|{\|/{]{{^{{_{t{`{a{b{c{d{e{f{g{h{i{j{k{l{m{n{o{p{q{r{s<{u{v{w{x{y{z{{{|{}{~{{{{{{{{{{<{{{{{{{{{{{{{{{{{{{{{{<{{{{{{{{{{{{{{{{{{{{<{{{{{{{{{{{{{{{{{{{{{{{{{&{{{{{{{{&{{{{{{{{{{{{{{{{{{{{{&{{{{{{{{&{|{{{{{{{{{{{{|||||||||&| | | | | |||&|||||||||||||&||| |!|"|#|$|%&|'|(|)|*|+|,|-|.&|0||1|b|2|J|3|4|5|6|7|8|9|:|;|<|=|>|?|@|A|B|C|D|G|E|FP|H|IP|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z|[|\|_|]|^P|`|aP|c|{|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|x|v|wP|y|zP|||}|~||||||||||||||||||P||P|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||~|}C|}|}|||||||||||||||||}}}W}}}}}} } } } } }}}}}}}}}}W}}.}}}}}}} }!}"}#}$}%}&}'}(})}*}+},}-W}/}0}1}2}3}4}5}6}7}8}9}:};}<}=}>}?}@}A}BW}D}}E}t}F}G}H}I}J}K}L}M}N}O}i}P}Q}R}S}T}U}a}V}Z}W}X}Y}[}^}\}]}_}`}b}c}f}d}e}g}h}j}k}l}m}n}o}p}q}r}s}u}v}w}x}y}z}{}|}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~Z~~/~~~~~~ ~ ~ ~ ~ ~~~~~~~~~~~~~~~~~~ ~!~"~#~$~%~&~'~(~)~*~+~,~-~.~0~E~1~2~3~4~5~6~7~8~9~:~;~<~=~>~?~@~A~B~C~D~F~G~H~I~J~K~L~M~N~O~P~Q~R~S~T~U~V~W~X~Y~[~~\~y~]~^~_~`~a~b~c~d~e~f~g~h~i~q~j~k~l~m~n~o~p~r~s~t~u~v~w~x~z~{~|~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~e~2~~,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~      !"#$%&'()*+-X.C/0123456789:;<=>?@ABbDEFGHIJKLMNOPQRSTUVWbYnZ[\]^_`abcdefghijklmbopqrstuvwxyz{|}~b      !"#$%&'()*+,-./01345`6K789:;<=>?@ABCDEFGHIJALMNOPQRSTUVWXYZ[\]^_AavbcdefghijklmnopqrstuAwxyz{|}~A<+<+<+<+G     ; 0!"#$%&+'()*,-./123456789:<=>?@ABCDEFHyIJKLMNOPQmRbSTUVWX]YZ[\^_`acdefghijklnopqrstuvwxz{|}~ 7    * !"#$%&'()+,-./012345689:;<=>?X@LABCDEFGHIJKMNOPQRSTUVWYZ[\]^_`abcdfghijklmnopqrstuvwxyz{|}~]]]     ]nC. !"#$%&'()*+,-s/0123456789:;<=>?@ABsDYEFGHIJKLMNOPQRSTUVWXsZ[\]^_`abcdefghijklmsopqrstuvwxyz{|}~ˢˢˢˢuTT T    TJ 5!"#$%&'()*+,-./012346789:;<=>?@ABCDEFGHIK`LMNOPQRSTUVWXYZ[\]^_abcdefghijklmnopqrstvwxyz{|}~ u    u# !"u$%&'()*+,-./01234567u9:S;<]=>o?W@ABCDEFGHIJKLMNOPQTRSHUVHXYZ[\]^_`abcdefghiljkHmnHpqrstuvwxyz{|}~HHHH{N~`0     ! ")#$%&'(*+,-./1B2:3456789;<=>?@ACKDEFGHIJLSMNOPQRTZUVWXY[\]^_abcrdkefghijlmnopqstuvzwxy{|})     " !#$%&'(*3+,-./01245<6789:;=H>C?@ABDEFGIJKLMOPzQdR[STUVWXYZ\]^_`abcefgnhijklmopuqrstvwxy{|}~     ?" !#6$%&0'(,)*+-./12345789:;<=>@hA_BJCDEFGHIKXLRMNOPQSTUVWYZ[\]^`abcdefgirjklmnopqstuvwxyz|}~0`B     $ !"#%-&'()*+,.5/012346<789:;=>?@ACDETFMGHIJKLNOPQRSUVWX\YZ[]^_abcldefghijkmnoupqrstvw{xyz|}~     * %!"#$&'()+,-./12\3F4=56789:;<>?@ABCDEGHIPJKLMNOQRWSTUVXYZ[]x^g_`abcdefhpijklmnoqrstuvwyz{|}~!      "J#A$,%&'()*+-:.4/012356789;<=>?@BCDEFGHIKTLMNOPQRSUVWXYZ[\^}_`abcdefghijklmnopqxrust>vw>y|z{>}~>>>>>>>>>>>>>>>>>>>>>>>6->>   >  >>>>>& #!">$%>'*()>+,>./012345>789:;<=>?@ABtCDEdFUGNHKIJ>LM>ORPQ>ST>V]WZXY>[\>^a_`>bc>efmgjhi>kl>nqop>rs>uvwxyz{|>~-      !"#$%&'()*+,.i/L0123456789:;<D=>?@ABC<:EFGHIJK<:MNOPQRSTUVWXYaZ[\]^_`<:bcdefgh<:jklmnopqrstuvwxyz{|}~<:<:<:<:*+,-./0123456789:;<=t?@ABCDEFGHIJKLMNOPQRtTUHVWXYZ[\]^_`abcdefghwipjmklnoqtrsuvxy|z{}~      !"#$%&'()*+y,-f.J/>071423568;9:<=?F@CABDEGHIKZLSMPNOQRTWUVXY[_\]^`cabdeghtimjklnqoprsuvwxz{|}~     0 !"#$%&'()*-+,./123456789:;<=>?@ABECDFGIJKvLMNOPQRSTUVWXYZ[j\c]`^_ ab dgef hi krlomn pq stu wxyz{|}~                     ],     uu !"#$%&)'(u*+u-E./0123456789:;<=>?B@AuCDuFGHIJKLMNOPQRSTUVWZXYu[\u^_t`abcdefghijklmnopqrsȽuvwxyz{|}~ȽȽȽ @ACDEGHIJKLMNOQRSTUVWXYZ[\]^_{`oahbecdfgiljkmnptqrsuxvwyz|}~     W![< !"#$%&'(2)*+,-./01F3456789:;F=>?@ABCDEFGQHIJKLMNOPFRSTUVWXYZF\{]^_`abcdefgqhijklmnopFrstuvwxyzF|}~FF      "#$_%&'()*+,-./0123R4C5<6978|:;|=@>?|AB|DKEHFG|IJ|LOMN|PQ|ST[UXVW|YZ|\]^|`abcdefghijklmno~pwqtrs|uv|x{yz||}|||||||||||||||||||||||||||   |  ||U4( !"#$%&'?@IABCDEFGH@ACJDGEFHIKNLMOPRSZTWUVXY[^\]_`bcldefghijkmnopqrstvwxyz{|}~>2      )!"#$%&'(*+,-./013456789:;<=?@ABCDEFGH|IJKLMlN]OVPSQRTUWZXY[\^e_b`acdfighjkmnuorpqstvywxz{}~     Q !"#$J%A&5'.(+)*,-/201346=7:89;<>?@BCDGEFHIKLMNOPRSTUVWXYZ[\]^_`|apbicfdeghjmklnoqxrustvwyz{}~uuuuuuuuuuuu% u  u  uuu !"#$u&'()*+,-./L01234F5=67:89u;<u>B?@AuCDEuGHIJKuMNOPQRSTUVuXYZ[\q]^_`abcdefghijklmnop~rstuvwxyz{|}~~~~     O3 !"#$%&'(/),*+-.012456789:;<=>?@ABCDKEHFGIJLMNPlQRSTUVWXYZ[\]^_`ahbecdfgijkmnopqrstuvwxyz{|}~I|*|*|*|*|*|*|*|*|*|*|*|*|*|* |*|*|* |*   |*|*|* !"#$%&'A()*9+2,/-.|*01|*3645|*78|*:;><=|*?@|*BCDEFGH|*JuK`LMNOPQRSTUVWXYZ[\]^_ȡabcdefghijklmnopqrstȡvwxyz{|}~ȡȡ0      !"#$%&'()*+,-./1F23456789:;<=>?@ABCDEGHIJKLMNOPQRSTUVWXYZ\B]^Y_Z`?abcxdefghijklmnopqrstuvw@ABcCDEFGHIJKLMNZOPQRSTWUVlXYl[\]^_`abldefghijklmno{pqrstuxvwlyzl|}~lllllllmA'      !"#$%&()5*+,-./012346789:;<=>?@BQCDEFGHIJKLMNOPRS`TUVWXYZ[\]^_abcdefghijklnopqrstuvwxyz{|}~     pc \!@"1#*$'%&()+.,-/029364578:=;<>?AMBFCDEGJHIKLNUORPQSTVYWXZ[]^_`abdefghijklmnoqr~stuvwxyz{|}.     " !#$%&'()*+,-/>0123456789:;<=?@MABCDEFGHIJKLNOPQRSTUVWXY[\]^s_`abcdefghijklmnopqrdtuvwxyz{|}~ddd/qqqqqqq q q   qq! q"#$%&'+()*q,-.q0m123456789S:;<=>?M@HABECDqFGqIJKLqNOPQRqTU_VWXYZ[\]^q`abcdeifghqjklqnopqrstuvwxyz{|}~qqqqqqq<<<<.      !"#$%&'()*+,-/D0123456789:;<=>?@ABCEFGHIJKLMNOPQRSTUVWXZ[\]^v_`abcdefghijklmnopsqretuewxyz{|}~eeeeeevl     G2( !"%#$&')*.+,-/013>495678:;<=?@ADBCEFHZITJOKLMNPQRSUVWXY[f\a]^_`bcdeghijkmn}ovpqrstuwxyz{|~jA"      !#4$.%&*'()+,-/01235;6789:<=>?@BQCJDEFGHIKLMNOPRcS]TUYVWXZ[\^_`abdefghikl{mtnopqrsuvwxyz|}~8     )# !"$%&'(*1+,-./02345679^:O;B<=>?@ACIDEFGHJKLMNPWQRSTUVXYZ[\]_n`gabcdefhijklmopqrstuwxyz{|}~uk     F1' !$"#%&()-*+,./02=3845679:;<>?@CABDEGYHSINJKLMOPQRTUVWXZe[`\]^_abcdfghijlm|nuopqrstvwxyz{}~i@!      "3#-$%)&'(*+,./0124:56789;<=>?APBICDEFGHJKLMNOQbR\STXUVWYZ[]^_`acdefghjkzlsmnopqrtuvwxy{|}~7     (" !#$%&')0*+,-./1234568]9N:A;<=>?@BHCDEFGIJKLMOVPQRSTUWXYZ[\^m_f`abcdeghijklnopqrstvwxyz{|}~uk     F1' !$"#%&()-*+,./02=3845679:;<>?@CABDEGYHSINJKLMOPQRTUVWXZe[`\]^_abcdfghijlm|nuopqrstvwxyz{}~i@!      "3#-$%)&'(*+,./0124:56789;<=>?APBICDEFGHJKLMNOQbR\STXUVWYZ[]^_`acdefghjkzlsmnopqrtuvwxy{|}~7     (" !#$%&')0*+,-./1234568]9N:A;<=>?@BHCDEFGIJKLMOVPQRSTUWXYZ[\^m_f`abcdeghijklnopqrstvwxyz{|}~tj     E0& #!"$%'(,)*+-./1<27345689:;=>?B@ACDFXGRHMIJKLNOPQSTUVWYdZ_[\]^`abcefghikl{mtnopqrsuvwxyz|}~h?      !2",#$(%&')*+-./013945678:;<=>@OAHBCDEFGIJKLMNPaQ[RSWTUVXYZ\]^_`bcdefgijykrlmnopqstuvwxz{|}~6    ' ! "#$%&(/)*+,-.0123457\8M9@:;<=>?AGBCDEFHIJKLNUOPQRSTVWXYZ[]l^e_`abcdfghijkmnopqrsuvwxyz{|}~     oD/ !"#$%&'()*+,-.0123456789:;<=>?@ABCEZFGHIJKLMNOPQRSTUVWXY[\]^_`abcdefghijklmnpqrstuvwxyz{|}~˃˃˃˃Gx!      "M#8$%&'()*+,-./012345679:;<=>?@ABCDEFGHIJKLNcOPQRSTUVWXYZ[\]^_`abdefghijklmnopqrstuvwyz{|}~ssss     *" !#$%&'()+,-./01234567?89:;<=>@ABCDEFHIJuK`LMNOPQRSTUVWXYZ[\]^_HabcdefghijklmnopqrstHvwxyz{|}~HH<<<<k2      !"#$%&'.(+)*,-/013O456789:;<=>?@ABCDKEHFGIJLMNPQRSTUVWXYZ[\]^_`gadbcefhijlmnopqrstuvwxyz{|}~JD<<<<<<<<%     <<" !<#$<&'()*+,-./0123456=7:89<;<<>A?@<BC<EpF[GHIJKLMNOPQRSTUVWXYZ<\]^_`abcdefghijklmno<qrstuvwxyz{|}~<<++++  <   < 5!"#$%&'()*+,-./01234<6789:;<=>?@ABCDEFGHI<KLMxNcOPQRSTUVWXYZ[\]^_`abdefghijklmnopqrstuvwyz{|}~7X,     % !"#$&'()*+-A.:/0512346789;<=>?@BCIDEFGHJSKOLMNPQRTUVWYZ[s\]h^c_`abdefginjklmopqrtu{vwxyz|}~&      !"#$%'/()*+,-.012345689:;<=>?@`ABCuD\EUFOGHILJKMNPQRSTVWXYZ[]i^_d`abcefghjkplmnoqrstvwx~yz{|}*     " !#$%&'()+J,9-./401235678:;<E=A>?@BCDFGHIKXLMNSOPQRTUVWYZ[\]^_abcsdelfghijkmnopqrtu|vwxyz{}~Z{#      !"$O%:&-'()*+,.4/012356789;H<B=>?@ACDEFGIJKLMNPdQ]RSXTUVWYZ[\^_`abceflghijkmvnropqstuwxyz|}~     I4 '!"#$%&(.)*+,-/01235<6789:;=C>?@ABDEFGHJRKLMNOPQSTUVWXY[\]^_`abcd efghxirjklomnpqstuvwyz{|}~    M<'" !#$%&(5)/*+,-.012346789:;=E>?@ABCDFGHIJKLNmO\PQRWSTUVXYZ[]^_h`dabcefgijkln{opqvrstuwxyz|}~e     e- !"#$%&'()*+,e./0123456789:;<=>?@AeCD4EFGHsI^JKLMNOPQRSTUVWXYZ[\]<_`abcdefghijklmnopqr<tuvwxyz{|}~<<<<<<M"     = !=#8$%&'()*+,-./01234567=9:;<=>?@ABCDEFGHIJKL=NOnPQRSTUVWXYZd[\]^_`abcefghijklmopqrstuvwxyz{|}~%::     : !"#$:&'V()*+,-./01K234567F8?9<:;=>@CABDEGHIJLMNOPQRSTUWXYZ[\]^_`zabcdefugnhkijlmorpqstvwxy{|}~ ȯȯ    ȯ !"#$%&'()*+,-./0123ȯ56y789g:;<=>?@ABCDEFGHaIRJNKLM#OPQ#SZTWUV#XY#[^\]#_`#bcdef#hijklmnopqrstuvwx|yz{#}~####################6     * !"#$%&'()+,-./0123457X89:;<=>?@LABCDEFGHIJKMNOPQRSTUVWYZ[\]^_`ambcdefghijklnopqrstuvwxwTz{|}wT~wTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwT6      !"#$%&'()*+,-./0312457p8T9:;<=>?@ABCDEFGHIPJMKLNOQRSUVWXYZ[\]^_`abcdelfighjkmnoqrstuvwxyz{|}~m[WWWW0     p !"#$%&'()*+,-./p1F23456789:;<=>?@ABCDEpGHIJKLMNOPQRSTUVWXYZp\¿]^_`abcdefghijklmn}ovpsqrtuwzxy{|~     g\=. '!$"#%&(+)*,-/60312457:89;<>M?F@CABDEGJHIKLNUORPQSTVYWXZ[]^_`abcdefhijklmnopq´rstuv•w†xy|z{}~€ƒ‚„…‡Žˆ‹‰ŠŒ’‘“”–¥—ž˜›™šœŸ¢ ¡£¤¦­§ª¨©«¬®±¯°²³µ¶·¸¹º»¼½¾     ľÃN4 !"#$%&'()*/+,-.012356789:;<=>?@ABCDIEFGHJKLMOiPQRSTUVWXYZ[\]^_d`abcefghjklmnopqrstuvwxy~z{|}ÀÁÂÄ!ÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔðÕäÖÝ×ÚØÙÛÜÞáßàâãåéæçèêíëìîïñòùóöôõ÷øúýûüþÿ      "p#$%&'()*+,e-./01M2A3:475689;><=?@BFCDEGJHIKLN]OVPSQRTUWZXY[\^_b`acdfghijklmnoqrstuvwxyzij{|}~ěĀďāĈĂąăĄĆćĉČĊċčĎĐĔđĒēĕĘĖėęĚĜīĝĤĞġğĠĢģĥĨĦħĩĪĬĭİĮįıIJĴĵĶķĸĹĺĻļĽĿ     B- !"#$%&'()*+,=./0123456789:;<=>?@A=CXDEFGHIJKLMNOPQRSTUVW=YZ[\]^_`abcdefghijkl=noFpqŜrŇstuvwxyz{|}~ŀŁłŃńŅņňʼnŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŝŲŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűųŴŵŶŷŸŹźŻżŽžſ'      !$"#%&()*+,-./012345678?9<:;=>@CABDEGƞHsI^JKLMNOPQRSTUVWXYZ[\]=!_`abcdefghijklmnopqr=!tƉuvwxyz{|}~ƀƁƂƃƄƅƆƇƈ=!ƊƋƌƍƎƏƐƑƒƓƔƕƖƗƘƙƚƛƜƝ=!Ɵ\ƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƿƱƸƲƵƳƴƶƷƹƼƺƻƽƾOC    < ,%" !#$&)'(*+-.5/201346978:;=>?@ABDEFGHIJKLMNPQRSTUVWXYZ[]ǻ^_`abcdeǮfǢghijkǛlNjm|nuorpqstvywxz{}DŽ~ǁǀǂǃDžLjdžLJljNJnjǍǔǎǑǏǐǒǓǕǘǖǗǙǚǜǝǞǟǠǡǣǤǥǦǧǨǩǪǫǬǭǯǰDZDzdzǴǵǶǷǸǹǺǼǽǾǿ     rG2 !"#$%&'()*+,-./01$3456789:;<=>?@ABCDEF$H]IJKLMNOPQRSTUVWXYZ[\$^_`abcdefghijklmnopq$sȲtȓuvwxyz{|}~ȉȀȁȂȃȄȅȆȇȈȊȋȌȍȎȏȐȑȒȔȕȖȗȘșȚțȜȝȞȨȟȠȡȢȣȤȥȦȧȩȪȫȬȭȮȯȰȱȳȴȵȶȷȸȹȺȻȼȽȾȿ7qI? w  ;  ; ;    wwwwwwwwwwwwwwww  !4"+#&w$w%;%;3')|(|*|8|,/-|.|02144345 6<7:89tU;A;|= >;O  @ A B C DEG F|HfJRKgLgMgNgOgPgQggS\TgUggVgWXgYgZgg[g]fg^_`cgagbgde ghlijk m nop rɌsɂtuvwxyz}{|~#3ɀɁBɃɄɅɆɇɈɊɉ;l|ɋ| ɍɼɎɩɏ ɐɜɑɘɒɖɓɔ`ɕɗəuɚuɛu;uɝɤuɞɟɢɠɡuɣɥ ɦ ɧɨ;; ɪɫɰɬ  ɭɮ ɯ   ɱɲɵɳ ɴ  ɶɷ ɸ  ɹ ɺɻ ɽHɾɿ  !;;;;FVnFnn::R.^U^UUUHHYHHֹH|(H,HHL,,,ZKzZzKKKK11KK*111 $   1 ;=;< w$$uu*#   !"m//$&%&<P'W)C*+,7-0./1423b56A<+8=9:;<]s>A?@ˢTBHuD^ESFIG>H>JPKM>L>NO<:<:Y?R@LAFBDC  E;  ; GJHI;KMNPOQwwSwTwUwVWwXwwZw[\w]w^ww` atbkcfwdwe;%;3gi|h|j|8|lom|n|prq44s4u v|wzxytU;A{|} ~;O  ˀ ˁ ˂ ˃ ˄˅ˇ ˆ|ˈfˊ˒ˋgˌgˍgˎgˏgːgˑgg˓˜g˔g˕g˖˗gg˘˙gg˚g˛g˝˦g˞˟ˠˣgˡgˢgˤ˥ ˧˨ˬ˩˪˫ ˭ ˮ˯˰ ˲˳˴˵˶˷˸˹˿˺˽˻˼˾#3B;l||  `uuu;uuu  ;;            H  !;;; ;FV nF  n n::R.^U^UUUHHY H!HֹH#$̺%f&D';(-H)*,H+H,L,.4/1,0,Z2K3zZz586K7KK9K:KK<1=1>BK?@A*C111EFPG$HJI1KML;=NO;< wQZRWSU$T$uuV*XY[a\^ ] _`m//bdc&<PeWǵhijuknlmorpqbstA<+v{wxyz]s|}~ˢT̀Hû̜̃̑̄̇̅>̆>̈̎̉̋>̊>̌̍<:<:?A@B=!DEFRGKHIJ$ LOMN UPQHSTUV#,`XqYOZ[\]V^_`͟àbqcjdgef ; hi;knlmopw;%;3|rysvtu8|wx4tz}{|U;A|~;O ͉́͐͂̓͆̈́ͅ|;]f͇͈g͍͊͋͌ ͎͏ ͕͓͔͑͒͘#͖͗3fB͙͚͛͜;l| ͝͞`͠Ϳ͡Ͱͩͣͦͤͥ͢;{;uͧͨ;ͪͭͫͬ; ͮͯ !;ͱ͸Ͳ͵ͳʹ;;ͶͷFVF͹ͼͺͻn;:Rͽ;.;^UYֹHL,ZzK*1=;< w$u* m/<&PWbA<+]sˢTuH><: /!("%#$<e&'<H),*+˃-.sH<071423<<56+<<8;9:e<<<==:?N@GADBCȯ#EFwTHKIJWpLMOPSQR=TU=!$WXYΘZy[j\c]`^_ ; ab;dgefhiw;%;3|krlomn8|pq4tsvtuU;A|wx;O zΉ{΂|}~|;]f΀΁g΃Ά΄΅ ·Έ ΊΑ΋ΎΌ΍#Ώΐ3fBΒΕΓΔ;l| ΖΗ`ΙθΚΩΛ΢ΜΟΝΞ;{;uΠΡ;ΣΦΤΥ; ΧΨ !;ΪαΫήάέ;;ίΰFVFβεγδn;:Rζη.;ικλξμν^οUYֹHL,ZzK*1=;< w$u* m/<&PWbA<+]sˢTuH><:?wTADBCWpEFHILJK=MN=!$P?QRϵSϓTϋUoVwWhXdY^Z\[  ];  ; _b`a;cefgiwjwkmlwwwnwp qrywstwuvw;%;3||x8z||{|}~4π ρφςσ4τυtU;Aχωψ|ϊ ;O ό ύ ώ Ϗ ϐ ϑ ϒ|ϔϞϕgϖgϗgϘgϙgϚϜϛfϝgggϟϠϪgϡϢϦgϣgϤϥϧϨϩ ϫϬϭϰϮ ϯϱϳ ϲ ϴ϶ϷϸϹϺϾϻϼϽϿ#3BB |;l|`| u;uuu;;        H   !;;;;;F nVFn:n:R.    ^UHUUYYYHYֹH"жL6 *H!"&H#$,%,HL,'(z)Z,Z+1,0-KK./KKK12534K*1178A19:=1;1<1>?@=;BHC$DF;E< wG$$$IJuKu*MxNOdP[QTRS  UXVW m/YZ/<\`]^&P_WabcerflgjhibAk<+monpq]sˢTstwuvuHyІz}{|>~>ЀЃЁЂ><:ЄЅ<:@ABCDSEFGOHLIJKMNWpPQRTU`VZWXY=[\^]_=!albecd$figh  jkUHmnop#,`rst<uvѴwѬxѐywzы{ч|с}~  р;  ; тхуф;цшщъьwэwюwяwwё ђѠѓњwєѕјіїw;%;3||љ8ћѝ|ќ|ўџ4ѡ ѢѧѣѤ4ѥѦtU;AѨѪѩ|ѫ ;O ѭ Ѯ ѯ Ѱ ѱ Ѳ ѳ|ѵѿѶgѷgѸgѹgѺgѻѽѼfѾgggggg    #3BB |;l|`| u;uuu;;             H1   !;;;;;F *!%"n#$VFn&(':n:R).+0,-./^U2H35U4U697Y8YY:HY;ֹH=>?m@WAKHBCGHDE,F,HL,HIzJZ,ZL1MQNKKOPKKKRSVTUK*11XYb1Z[^1\1]1_`a=;cid$eg;f< wh$$$jkulu*nҙop҅q|rust  vywx m/z{/<}ҁ~&PҀW҂҃҄҆ғ҇ҍ҈ҋ҉ҊbAҌ<+ҎҐҏґҒ]sˢTҔҕҘҖҗuHҚҧқҞҜҝ>ҟ>ҠҡҤҢң><:ҥҦ<:A?@$BECD  FGUHIJKL#,`NUORPQST dVYWXOZ[%]^m_f`cabdegjhi%klnxoupqrstvwy|z{}~ӀӁӂӈӃӄӅӆӇӉӊӋӌոӍӎYӏOӐӑӷӒӢӓӖӔӕӗӘәӚӛӜӝӞӟӠӡӣӤӥӮӦӧӨөӪӫӬӭӯvӰIӱIӲIIӳӴIӵIӶI IӸӹӺӻӼӽӾӿ:::v::WWI)2$I     I !"# %&'()*+,-./01I3A456789:;<=>?@WBCDEFGHIJKLMNIPQRSVTU WXWZԙ[y\k]e^a_`^^bc^dfghji / / /qlsmpnqqoqqqrtxuv  w   qzԋ{ԃ|Ԁ}~,q,,[ԁqg[Ԃ[qgԄԇԅԆ((Ԉԉ(88Ԋ8FԌԒԍԎFI\ԏԑԐUI\UUdԓԖԔtdԕdtԗԘԚԾԛԪԜԢԝԡԞԟԠԣԧԤԦԥԨԩԫԵԬ԰ԭԯԮ^^ԱԳԲԴ /ԶԺԷԸ /qԹqqqԻԽԼ Կ   qq,,[qg[qg((8F8FI\I\UUdtdt)  '6EUds +:IX6`gv     +_2qu:JYhqg!w "$#% /& /'( / /*i+I,;-5.1/0^^23^4678:9 / / /q<C=@>qq?qqABDHEF  G   qJ[KSLPMON,q,,[Qqg[R[qgTWUV((XY(88Z8F\b]^FI\_a`UI\UUdcfdtdedtghjՎkzlrmqnopswtvuxy{Յ|Հ}~^^ՁՃՂՄ /ՆՊՇՈ /qՉqqqՋՍՌ ՏդՐ՚ՑՖՒՔՓ   qՕq,՗՘,[ՙqg[qg՛՟՜՞՝((8ՠբաF8FI\գI\UեծզժէըUdթtdtիխլկմհղձճյնշչ։պջռսվտ '6EUds +:IX6`gv +_2qu:JYhqgw / / / /: ^^^    / / /q qqqq     q,$! ,q,,["qg[#[qg%(&'(()*(88+8F-3./FI\021UI\UUd475td6dt89;_<K=C>B?@ADHEGFIJLVMQNPO^^RTSU /W[XY /qZqqq\^] `uakbgced   qfq,hi,[jqg[qglpmon((8qsrF8FI\tI\Uvw{xyUdztdt|~}րօցփւքֆևֈ֊ /֋֪֌֛֍֔֎֑֏֐ '֒֓6EUd֖֕֘֗s֣֚֙֜֝֠֞֟ ֢֡+:IX֤֧֥֦6`gvְֱֲֳֺ֭֮֨֩֫֬֯ +ִֵֶַ_2qu:ָֹJYhqgֻּֽֿ־w / / / /Q,w2v     % |)v!("%#$&')/*+,-.013X4C5<6978:;=@>?ABDNEHFGIJKLMOUPQRST%VWYhZa[^\]_`becdfgOipjmklnoqtrsuvx׽yמz׉{ׂ|}~׀ׁ׃׆ׅׄ%ׇ׈׊ה׋ב׌׍׎׏אגד }וכזחטיךQלםן׮נקספעףOץצר׫שת׬׭q:ׯ׶װ׳ױײ״׵׷׺׸׹Q׻׼ ׾׿v %$ؚXv    v %%I *!$"#%&'()+.,-/0123456789:;<=>?@AFBDC EGH JQKNLMOPRUSTVWYxZi[b\_]^`acfdegh !jqknlmoprustvwy؋z؁{~|}؀؂؅؃؄؆؇؈؉؊%،ؓ؍ؐ؎؏ؑؒ%ؘؙؔؗؕؖ }؛؜ؾ؝ج؞إ؟آؠءأؤئةابتثحشخردذزسصظضطعغػؼؽؿ %Gt.e) #A     O%" !#$&)'(*+-;.ٳ/q0R1C2<3645789:;=@>?%AB3DKEHFGIJLOMN%PQ%SbT[UXVWYZ\_]^`acjdgefhiknlmop drٔsمt{uxvwyz%|}~ـفقكلنٍهيوىًٌOَُِّْٕٓ٤ٖٜٝٗٚ٘ٙٛOٞ١ٟ٠%٢٣٥٬٦٩٧٨٪٫٭ٰٮٯٱٲٴٵٶٷپٸٻٹٺټٽOٿ %O% * _O    ,%" !#$%&)'(%*+%-4.1/02358679: d<=|>]?N@GADBCEFHKIJLM%OVPSQRTUWZXY[\ ^m_f`cabOdegjhiklnuorpqstvywxvz{d}ڢ~ڐډڀڃځڂڄڅچڇڈڊڍڋڌڎڏڑژڒڕړڔږڗڙڜښڛ%ڝڞڟڠڡڣڲڤګڥڨڦڧکڪڬگڭڮڰڱڳںڴڷڵڶڸڹmڻھڼڽڿO  _O %    0!  ")#&$%%'(*-+,./1@293645m78:=;<>?A^BXCDEF%G%H%ITJ%K%L%M%N%%OP%Q%R%S%%U%V%W%:%YZ[\]O_e`abcdOfgiaj^klrm]no܉pۏqۀrysvtuwxz}{|~_ہۈۂۅۃۄۆۇۉیۊۋۍێOېwۑۘےەۓ۔ۖۗ_ۙtۚۛۜ۝۞s۟۠pۣۡۢۤۥۦۧۨ۩۪۫۬ۻۭ۴ۮ۱ۯ۰,;J۲۳Yhw۵۸۶۷du'3۹ۺdۼ۽۾ۿ^C Ӧ+:@IXxny`gv[.mv  vv)) vv)v^g^7     vFxnkhL>-("F !v#$&%^'v)*+,v.9/3012m4576y`8v:;<=v?@AHBECDFFGvIJKvMNOaP_QURST^xnV\WZXYU [)]^c`vbcdefgrijlmnoqruvxy|z{O}~܀܃܁܂܄܅܆܇܈ ܊ܯ܋ܠ܌ܖ܍ܓ܎܏ܐܑܒܔܕ }ܗܚܘܙ ܛܜܝܞܟ%ܡܨܢܥܣܤ_ܦܧܩܬܪܫ%ܭܮ }ܱܸܴܰܿܲܵܳvܷܹܼܻܾܶܺܽ d% O  _ #    8& #!" $%Q'1(+)*,-./02534O67%9K:D;><=?@ABCEHFGIJLVMPNOQRSTU sWZXYQ[\^_ݡ`apbicfdeQghjmklnoqxrustvwy|z{ s}~݀ݒ݈݂݄݆݁݅݃݇%݉݌݊݋ݍݎݏݐݑݓݚݔݗݕݖݘݙݛݞݜݝݟݠݢݾݣݯݤݫݥݨݦݧݩݪݬݭݮ3ݰݷݱݴݲݳݵݶOݸݻݹݺOݼݽݿ&%u O%  !     !"#$%'L(7)0*-+,./1423O56O8E9?:;<=>@ABCDFIGHJKMaNXORPQ }STUVWY\Z[]^_`%bncfdemghijlk888m) opqsߺt u޷vޕwކxy|z{}~%ހރށނބޅvއގވދމފތލޏޒސޑޓޔOޖޥޗޞޘޛޙޚޜޝޟޢޠޡޣޤ%ަޭާުިީޫެޮ޴ޯްޱ޲޳3޵޶޸޹޺޻޼޽޾޿m   OvUQAQQQQQQQA    e:(% !"#$&'%)0*-+, ./W1423a56789;P<F=C>?@AB DEOGJHI !KLMNO }Q[RXSTUVWYZ\_]^ !`abcdfߘgvhoiljkmn#Apsqr }tuwߑxߎyz{|}~߀߁߂߃߄߅߆߇߈߉ߊߋߌߍwߏߐ_ߒߕߓߔߖߗOߙߨߚߡߛߞߜߝߟߠߢߥߣߤߦߧ ߩ߳ߪ߲߭߫߬߮߯߰߱ }ߴ߷ߵ߶O߸߹ ߻D߼߽߾߿|Qv  %   m   _QQ" !#$&5'.(+)*,-/201346=7:89;<Q>A?@BCEFGyHrILJKMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqbsvtu _wxz{~|}y%m%v %vv }%Q m sFG (     ! m"%#$&')8*1+.,-/02534679@:=;<>?ADBCEFH~I[JTKNLM OPQRSUXVWYZ \w]`^_%abcd%e%f%g%h%i%j%k%l%m%n%o%p%q%%rs%t%uvyQ%x{yz%|}  }  }vO !e%% % % % % %%y$%O } "4#*$'%& ()+1,-./0 d23v5?6978:;<=>@CABDEGHIkJ\KULOMN PQRSTVYWXvZ[O]d^a_`Obcehfgij%l~mwntopqrsQuvx{yz%|}%vmv Q s+ v s%    QO$! "#%(&')*,N-<.5/201346978:;=G>D?@ABCEFmHKIJLMvOaPZQTRSUVWXY [^\] _`vblcfde sghijkmpno qrtuxv.w xyz}{|~!wwwwgw wwwUg gwPg ggKU 1#    g  # "#k$5%+&'()*H,-./01234U6i7B89:;<=>@,?PA1CDEFGHIJKLMN\OPQRSTUVWXYZ[  u]^_`abcdefghjlmnowpqrxstuvwgyz{~|}>#1$$HH  RqY    wwUwYWg1P   #    #      1U:,# 1P!"#$#$%&'()*+ -8./01234567 H9;d<=L>B?@AwCDEFGHJIKMNXOPQRSU TVW YZ_[\]^`abcefghzitjklqmonpgrsuvwxy{|}~gg# 1PKg uUUO    % '!$"#%&(+)*Q,-%/T0?182534v67 }9<:;=>@GADBCEFHNIJKLMOPQRSUiV]WZXY[\^c_`abOdefghjqknlmoprustQvw }yz{|}~%vv%vOv_OvO%P(      }" !%#$%&')>*4+.,-/0123m58679:;<=?I@FABCDEGHJMKL NOQyRdSZTWUVOXYQ[^\]_`abc eoflghijkamnpsqrtuvwx z{|}~O  Ov44m%)   }    }"w !#&$%r'(*L+E,B-./012 73456789:;<=>?@AkCDFIGHJKMTNQOP%RSUXVWOYZ[\]%_)`ab cdetfmgjhiklnqop$rsOuvywxz{|}~Q%O%O 74|L4   Q ,O%" !#$%&)'(*+ -B.;/5012346789:O<?=>@ACJDGEFHIKNLMOP }RySeT^UXVWYZ[\]f_b`aOcdfjghiknlmopqrstuvxw Q Qz{|}~4Q%B|uUt<'%                       "   1   @     ~           O     o _    #   !    "i $ %  & (2),*+O-./0I1IeI3945678:;O=b>[?X@ABCFDE d|L 7.G4H44IJ44KL44MN44O4PQ44R4ST44U4VW44.YZ%\_]^`acmdgefhijklvnqoprsuvw~x{yz|}OO4& J%%%%8.+44444 4  4 44 44444444.4444444444 4!4"4#4$4%4&)'(4|L.|L|L*|L4,-O/501234679@:=;<>?AGBCDEFHI%KpL^MTNQOPRSQU[VWXYZ\]_i`fabcde%ghjmklno }qrysvtu4wxz}{|~$Q%O%%O %4     % !4! "#%&H'9(/),*+-.031245678%:A;><=v?@BECDFGIYJRKOLMNPQSVTUqWXZ[^\]O_`abcdefghijklmnopqrstuvwxyz{|}~|L s%!$%O & g    C 1!*"'#$%& ()+.,-%/0O2<3645 }789:;=@>?ABDmEcFIGH4JKLMNOPQRSTUVWXYZ[\]^_`ab)dgefQhijklnopqrstuvwxyz{|}~OQ%%%zh%% | Qm    4" !#&$%'(*+X,-o.J/>071423568;9:Q<=?C@ABODGEFHIK]LVMPNOQRSTU%WZXY[\^h_b`acdefgiljkmnpqrysvtuwxz}{|~%kOyyQ%%Q O     !9$! "#%/&,'()*+-. Q031245678 }:I;B<?=>@AOCFDEGHJQKNLMOP|RUST }VWY Z[}\n]d^a_`vbcehfgijklmovpsqrOtuOwzxy{|v~{ Qv Q %%Qvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv     }S1% *!'"#$%&()+.,-Q/02D3=4:56789|;<[>A?@OBCELFIGHJKvMPNO%QRTsUdV]WZXYv[\%^a_`%bcelfighjkvmpnoqrtuv|wxyz{v}~% v~ O   uKu   N wu 1 uKg$   |  -   $  wu 1 uKg "!$# %&'*()  +,| ./0H1;2534 68w79:u 1<C=@>? uKABgDFE$G IJKLM OPtQRSkT^UXVW Y[wZ\]u 1_f`cab uKdeggih$j lmnqop  rs| uvwxy|z{ }w~u 1 uKg$   |  wu 1 uKg$   |  wu 1 uKg$   | l) wu 1 uKg$         wu 1 uKg$ !"#&$%  '(| *K+,-E.8/201 35w467u 19@:=;< uK>?gACB$D FGHIJ LMNfOYPSQR TVwUWXu 1Za[^\] uK_`gbdc$e ghijk mnopqr|svtu wywxz{u 1}~ uKg$   |  wu 1 uKg$   wu 1 uKg$   ww1u  uKg  1       v$#A8O!Y"1#*$'%&()+.,-/02?3945678:;<=>@CABDEFGvHvvIJvKvLvMvNvOvPvvQRvvSTvUvvVvWXvvZl[e\b]^_`a cdfigh%jkmwntopqrsmuvx{yz s|}OOOOOOOOOO"OO%Qr  m d_%%     dB0) &!"#$%%'(*-+,./1;25346789:<?=>@ACUDKEHFGIJrLRMNOPPQP"oPSTV]WZXYO[\^a_`%bcefugnhkijlmorpqstvw}xyz{| }~%mO & sm 4   v   ;)%O &!"#$%O'(%*4+1,-./0%2358679:m<L=E>B?@ACDFIGHOJKMWNTOPQRS%UVX^YZ[\]_`mbcd,efghixjqknlmoprustvvwyz}{|O~Q%4m%Q%g|      &% #!"$%8'.(+)*,-Q/d012345=6789:;< >?@ABCDEFMGHIJKL NTOPQRSU]VWX[YZ  \^_`ba cef shi{jtkqlmnoprsuxvwOyz%|}~%|WWWWWWWWWWWWWWW=W=WWWWWWWWWWWWWWW66WWWWWWWWWWWWWWWWWd!WWWWWWWWWWWWWWWWd0WWWWWWWWWWWWWWWWW$WWWWWWWWWWWWWWWWW. %      s Y:(! "%#$&')0*-+, !./1423Q56789O;J<C=@>?vAB%DGEFQHIKRLOMN%PQ%SVTUWX|Z[s\f]`^_abcdegmhijkl%nopqr%t{uxvwyz|}~%OvO }   _v%     O%%" !#$&)'(*+ -./0c1C293645h78v:=;<O>?@AB%DKEHFGIJ%LRMNOPQSTUVWX_Y Z\[  ]^  u `abKdselfighQjkmpnoqrt~u{vwxyz%|}v %ѳѳ% }O !C! %%%%%~%%%%%%%%%%i %  % %  %%%%%a%%%%rHr:% "4#*$'%&O()%+1,-./044235<6978:;%=@>?|ABDiETFMGJHIKL%NQOPRSU_VYWXZ[\]^`fabcdeghjykrlomnvpqsvtuwxvz{~|} O%OXav%     4 }iA/%" !#$&,'()*+-.O07142356%8>9:;<=v?@ sBWCMDGEFHIJKL%NTOPQRSUVX_Y\Z[O]^`cab2defghjklmpno Qqrstuvwxyz{|}~IIIIIIIeIIIbIWIWW% %%'%3u_U !8% v  C  O"v !# $'%&()*+,-^./0B1239456781:;<=?>@ACDETFGHIJOKLMNPQRS1UVWXYZ[\]_`abcwdenfghijklmopqrstuvxyz{|}~1   1                     $ 3$%! "#%,&)'(Q*+v-0./124F5?6<789:; =>@CABDEGNHKIJOLMORPQvSTVWvXgY`Z][\^_%adbcefhoiljkmnvpsqrtu }wxy|z{ }~OQ| }%vSv3 s%v`% vm%    v|>/(% !"#$&'),*+-.071423 }568;9:<=v?Q@JAGBCDEFHIvKNLMOPRYSVTU }WXZ][\^_abcudnekfghijlmmorpqstvw}xyz{|~%  }O%Qb }~ _fM .    %%$! "#%(&'%)*+,-/>071423 56%8;9:v<= !?F@CAB~5DE%GJHIKLNOPWQTRSOUVX[YZ\]^_`a bcdefghijklmnopqrstuvwxyz{|}~v@=%Qv          a> /!("%#$&' }),*+%-.071423Q568;9:<=?Q@JAGBCDEFHI%KNLMOPR\SVTU%WXYZ[]c^_`ab }devg+hijkrlomn _pq%stuvwxyz{|}~  %%%%%%%%%%%%%%%%%%:%O%%S %O   %  }%$! "#%(&')*,t-R.C/60312v457=89:;<>?@ABDKEHFG IJ#ALOMNPQ%SbTXUVW%Y\Z[]^_`acjdgefQhi knlmopqrsuvwx~yz{|} }_O   sm1?O%%v   f   %!0")#&$%'(*-+,r./1825344679<:; =>@AeBQCJDGEFHI%KNLMOPR\SYTUVWX Z[ !]`^_%abcd%:%fugnhkijlmorpqOst v}wzxy {|~YQ_%J%%     C" !O#$&8'1(.)*+,-2/0253467 9@:=;<>?AGBCDEFOHIKmL^MTNQOPRSUXVWYZ[\]_f`cabdevghijklOn}ovpsqrtuvwzxy{|~"  v%4% Ov    " }v !#A#*$'%&()+.,-/02l34|5W6E7>8;9:O<=?B@ACDFPGMHIJKLNOOQTRSUV }XjY`Z][\%^_agbcdefhi }krlomnpqsytuvwxz{ _}~%m Q%%%vO 8       4%b0" !#$%&-'*()+,.1/023 }5]6S7:89 s;<=>?@ABCDEFGHIJKLMPNO Q QQR QTZUVWXYa[\^e_b`acd%fighOjkmmnopqxrust%vwy|z{}~Om%Om ܏#A%%*Fx56^^vC! O|    Qm ".#'$%&(+)*%,-/60312457=89:;<>?@AB%DcETFMGJHIKLNQOPORSU\VYWXZ[]`^_abdvelfighvjk%mpno qrstuw~x{yz|}%9%%  }%%v%      O-& #!"$%'*()+,%.5/201|34678O:|;Z<K=D>A?@BCEHFGOIJLSMPNOQRTWUVOXY|[m\c]`^_abOdjefghiklnuorpq%stvywx z{O}~mQ OX%XQv !%m  v    %3$ ! "# }%,&'()*+-0./12v4I5?6978:;<=>%@FABCDEGHJQKNLMOPORUSTVW%YZ|[j\c]`^_abdgefhi krlomnpqsvtuwxyz{}~x s%Qv% }vQh'_   %    s!$"#%&O(I)8*1+.,-/02534679B:?;<=>@ACFDEGHJYKRLOMN#APQSVTUWXZa[^\]_`becdfgijkzlsmpnoqrtwuv%xy{|}~Ov%O#Av  7  g  0                %       %    #     ! ! "O $ * % & ' ( ) + , - . /O 1 C 2 < 3 9 4 5 6 7 8 : ; = @ > ? A B* D ` E ] F G H I Q J K L M N O P Q R S T U V W X Z Y Q [ Q \ Q ^ _ a d b c e f3 h  i  j t k q l m n o p% r s% u { v w x y z | } ~ %     % % % % % % %%  %% %  %% %  % % % % % % % % % % % % %     $ $%$ %$% %$ $ $% % % % % % % % % % % % % % %%  % % % % % % % % % % % % % % % %$% % % % % % % % % % % % % % % %     % % % % % % % % % % % % % % %$% % % % % % % % % % % % % % % %$% % % % % % % % % % % % % % % % %$%               v  (  !    P   " % # $ ! & '3 ) 0 * - + ,m . / 1 4 2 3 5 6 8 } 9 [ : I ; B < ? = > @ A% C F D E% G HO J T K N L MQ O P Q R S U X V W% Y Z$ \ k ] d ^ a _ `% b c$ e h f g i j l s m p n o% q r t w u v% x y z { | ~                              S    _           O      Q                               _   = &_        h                 O                   v  _        O      %  %                 %  F ! 6 " , # & $ %% ' ( ) * + } - 3 . / 0 1 2z 4 5 7 ? 8 < 9 : ;% = > @ C A B D E G V H O I L J KO M N P S Q R T U W a X ^ Y Z [ \ ]O _ ` b e c d f g i  j  k } l s m p n o% q r ! t w u v x y z { | ~                                                            %     %            %  %              2                %        |  7             O                O          (  !       " % # $O & ' ) 0 * - + , ! . / 1 4 2 3 5 6 8 W 9 H : A ; > < = ? @ B E C D F G% I P J M K L N O Q T R S U V% X j Y c Z ` [ \ ] ^ _# a b d g e f h i3 k r l o m n% p q  s v t u w x y z { }  ~                     }               }                               %              _             %        O                       }        %     A  %        %  %     _  O          "  !% # $ & 2 ' + ( ) *v , / - . 0 1% 3 : 4 7 5 6 8 9 } ; > < = ? @ B b C R D K E H F Gv I J L O M N P Q S Z T W U V% X Y ! [ _ \ ] ^ ` a c r d k e h f gO i j l o m n p qQ s z t w u v x yO { ~ | }                                                                }      %                         }        O           !$                      Qva?0&# !"%$%%'-()*+,./ }182534679<:;=>@OAHBECDFGILJKMN%PZQWRSTUVXY[^\]_`bcrdkehfgijlomnpqsztwuv%xy{~|}%% ѳѳѳhyv U~vv4gb$v  vv  v v )vv8GVve vuv!v"#vv%D&vv'(v)8*1+.,-vv/0 *:2534IXhv67x9@:=;<v>?vAvBCv.=vEvvFGvHWIPJMKLvLv[NOjvzQTRSvvUVX^Y[vZv\]v%_v`avcdvevvfgvhrilvjkvvmovnpqvvvstvvu vwvvxyvz{|~v}vv,v;vvKvvvvvvvvvv.=Lv\vkvvvzvvvvvvv#v3BRa(v7vvvG vvvvvvWvevvvvvvvvvvvvvxvvvvvvvvvvvvvvvvvvvvvvv+;vJvYvvvgv vvv B # vvvvvvv~v vv!v"vv$vv%&v'6(/),*+v-v=-.L[jy0312vvL45[kz7>8;9:<=?v@A"0vC_DvvEFvGUHOILJKv@vPMNv_o~PRQvvSTvvV\WZXYvv[vv]vv^v`vvabvcvvdvefvvhijklvvmnvo}pvqsrvvtuv% wzxyvv+{|:IXv~vgvvvvvvvvvvvvvvvvvvvvvvv vvv/v>vLvvvv\kzv#v3Cvvvvvvvvvv%v3BQv vv(7vvEvvvvvvUvvdvvvtvvvvvv vvvvvvvvvvvvvvv vv  v vvv vvvvvv$vvvv vvvv*!vv"#v9v%v&vv'(v)0*-+v,vvIv./vvY1vv2v3vi5678Tv9:vv;v<=H>Bv?@A )CEDvv8FGGVveIPJMKLvuNOvQvRSvvUtVvvWvXYhZa[^\]vv_` *:becdIXhvfgxipjmklvnovqvrsv.=vuvvvvwxyz}{|vLv[~jvzvvvvv%vvvvvvvvvvvvvv vvvvvvv,v;vvKvvvvvvvvvv.=Lv\vkvvvzvvvvvvv#v3BRa(v7vvvG:vvvvvvWvevvvvvvvvvvv v    vxvv vvvvvvvvvvvvv!vv"v#$/%)v&'(vv*,+v-.v+;v061423JvYvv5vg7v89vvv;r<S=vv>v?@IAEBvCDvFvGHv~vJPKMvLNOvQvRvvTvvUvVWfX_Y\Z[v-v=]^L[jy`cabvvLde[kzgnhkijlmovpq"0vstvvuvvwxy|z{v@vP}~v_o~vvvvvvvvvvvvvvvvvvvEvvvvvv% vv+:IXvvgvvvvvvvvvvvvvvvvvvvvvvv vvv/v>vLvvvv\kzv#v3Cvvvv#vvvvvv%v3BQ v v  v(7 vv EvvvvvvUvvdvvvtvvv v!"vv$9%vv&v'(5)0*-+,vv./vv132vvv4v6vv78vv:vv;v<=A>vv?v@ vBvCvvDvFvGTvHIvvJvKLPMvvNOvv*QvvRSv9vUdVvvWvXY`Z][v\vvIv^_vvYavvbvcvievfvgvhvivj|vkvlmvnvovpvqvrvsvtvuvvvvwxvvyzv{vv}vvvO%O%P\ vvO s     %=+$! O"#%%(&')*,6-3./012#A457:89;<|>M?F@CABmDEGJHIKLNUORPQSTVYWXZ[]^}_n`gadbcef%hkij!lmovpsqrtuwzxy{|~%O%%%m } s#O%%y     O  !" }$g%U&K'*()+,-./01<23456789:;7=>?@ABCDEFGHIJ7LOMNPQRST%V`W]XYZ[\^_#Aadbcefhwipjmkl%noqtrsuvxyz{|Q}Q~QQQQQQQQQQQQQQQQQ s$QvQ     v>74 !"#$%&'()*+,-./0123He568;9:O<=?I@FABCDE%GHJMKLNOQRSTvUdV]WZXY[\O^a_`bcyelfigh%jkmpnoOqrstuwxy|z{}~%2 m _mxnxnxn      :(% !"#$%&')0*-+,./142356789;m<f=@>?ABCD%E%%F%G%H%I%JK%L%%MN%O%P%%Q%RS%T%U%V%W%X%Y%Z%[%\%%]^%_%%`%a%b%cd%%e$%gjhiklnxoupqrst%vwy|z{}~ _OO%OV O%%    }  .  '!$"#%%&(+)*%,-%/D071423568>9:;<=%?@ABCvEOFLGHIJKMNPSQR%TUWXwYhZa[^\] }_`becd6fgipjmklno%qtrsuvxyz}{|~%%W%%!H_m     %| @!1")#&$%O'(*.+,-%/029364578:=;<>?APBICFDE GHJMKLNOQXRUSTVWY\Z[]^`abxcqdgefhijklmnopQQrustOvwyz}{|%~%v2O%3mO   }   %%%%%%%%%%r:%kB 0!)"%#$&'(O*-+,%./%182534679?:;<=>@AC\DREHFG%IJKLOMN!wwmPQ!6!SVTUWXYZ[]d^a_`bcehfgijlm|nuorpqstvywxz{%}~ }%%%  vvv&vvvvvvvvvvvvvvvvv vvvvvvvvvvv vvv   vvvvvvvvvvv vv!vv"#v$v%vLv'v(v)t*N+v,9-1.vv/v0vv2v3v4v5v67vv8v3:@;v<vv=v>?vvAvBHvCDvEvFvGvvIvJvKvLvMvvO_vPQvRvSvTvUvVvWvXvYvZv[]\ ^vv`vavbicvvdvefvgvhvvjvkplvmvnvvovvqrvsvvunvwxvzvy7z{7|}7~7W"YLU v>777777777777777777777W7jvvLvv(G e8u)VI .=h:*XLvz[+j% ;B,Lk=.z%R3(#7G    eWx! Yg"%#$&'~)h*I+:,3-0./y12"[4756899\L;B<?=>=z[@A-0k@CFDEPGH_~JYKRLOMNoLPQ+SVTUv WXX:Za[^\]g_` >Lxbecd;jfgIijykrlomn\/pqzsvtuk#wxIaCz{~|}3v73E%QB (dU tK        LY********.iiiiiiiiY7vvvvvvvvvvvvvvv>vvvvvvvvvvvv vvvzvvvvvvvvvvvvvvvvv%v    8 ":: !#/$(%&'),*+-.04123567..9:C;?<=>@ABDHEFGIJK  MUNvOvPSQRv>TvWvV`W]XZvY[\^v_v7vagbdcWvWef:uWhvivvkvlmopvqrvsvtvu~v{wyxz|v}vW7vvvLvvvWvvW7L"z5=%%O%| %IIIIQ     )`A.'! O"#$%&%(+)*O,-/60312%457>89:;<=II?@BQCJDGEFQHIvKNLMOPRYSVTU }WXZ][\^_ abqcjdgefhiknlm%opvr|sytuvwxOz{}~ y% O O% %% m }     "% !#&$%'(v* +m,K-<.5/201 }34 }6978:;=D>A?@ BCEHFGIJrL^MWNQOPRSTUV2X[YZ\]_f`cabde~5gjhikl !no~pwqtrsuvx{yz|} } z p  I      $                                   "             ~                     i                    r                  !         "  #   %  & < ' ,  ( )  * +~   -  . 4  /  0 1  2   3  5 ;  6 7  8  9 :     =  >   ? @ A   B C F D E G H J  K  L g M  N _  O P Z  Q R   S  T U  V   W  X  Y@   [  \  ]  ^  `  a  b  c  d  e   f  h   i j  k  l  m  n  o   q t r s u v w xSu yS {  |  } ~       g            Q  O                                 >                                             %       !        O                v!!!!!!!!!!! ! ! ! %! !O!!!!O!!!!!!!!!!O!!E! !!!"!#!$!%!5!&!'!(!)!*!+!,!-!.!/!0!1!2!3!4!6!7!8!9!:!;!<!=!>!?!@!A!B!C!D)!F!G!I#!J"g!K!!L!!M!r!N!]!O!V!P!S!Q!R!T!U!W!Z!X!Y![!\|!^!e!_!b!`!a!c!d!f!o!g!h!i!j!l!k!m!n!p!q!s!!t!~!u!{!v!w!x!y!z !!|!}!!!!d!!!!!!!!%!!!!!!!!!!!!!!!!!!!!!!!!Q!!!!!!Q!!!!!!!!!!! !!!m!!!!!! !!!!!!!!v!!!!!!!!!!!!!!!!!!!!!!!!!v!"!"!!!!!!!!!!!!!!!!!!!!!!!!2!!!!!!|"""" """"|""" " " " ""%""""""O""""""O""%" "E"!"3""","#")"$"%"&"'"(m"*"+"-"0"."/"1"2Q"4">"5";"6"7"8"9":v"<"="?"B"@"AO"C"D"F"X"G"Q"H"K"I"J s"L"M"N"O"P"R"U"S"T"V"W"Y"`"Z"]"["\"^"_"a"d"b"c"e"f"h""i""j""k"}"l"s"m"p"n"ov"q"rO"t"z"u"v"w"x"y "{"|v"~"""""%""""""""""""""""""%"""""%""""""""""O""""w""""""""""""%""""""%""%""""""O"""""""""""a""""""""""""" !"""v"""""""""O"""#D"#"#"""""""""""""""%""8## ######## # %# ## #%####5##.##+### }## }# }# }# }# }# }#  }#! }#"###$#%#&#'#(#)#*y#,#-#/#2#0#1#3#4#6#=#7#:#8#9#;#<#>#A#?#@O#B#C#E#}#F#[#G#Q#H#N#I#J#K#L#M s#O#P#R#X#S#T#U#V#W#Y#Z#\#v#]#`#^#_m#a#b#c#dQQ#eQ#f#gQ#hQ#iQ#jQ#kQ#lQ#mQ#nQ#oQ#pQ#qQ#rQ#sQ#tQ#uQQ#w#z#x#y#{#|%#~#######%#####*################## ###%I#$#$@##########%##m####################################################q############## !###$############$$$$$$$$$ $6$ $0$ $ $ $O$O$O$O$O$O$O$O$O$O$O$O$O$O$O$O$O$O$ O$!O$"O$#O$$O$%O$&O$'O$(O$)O$*O$+O$,O$-O$.O$/Ow0O$1$2$3$4$5$7$=$8$9$:$;$<%$>$?$A$c$B$T$C$J$D$G$E$F$H$I$K$N$L$Mv$O$P$Q$R$S $U$\$V$Y$W$X$Z$[#A$]$`$^$_Q$a$b }$d$$e$$f$i$g$hO$j$k$l$mI$n$$o$pI$qI$rII$s$tI$uI$vI$wI$xI$yI$zII${$|$$}I$~II)$$I$$W$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I)I)I$$$$$$$$$$$$$$eI$$ۂf$$$$#A$$$$$$$$$$$$$v$$$$$$$%$$$$$$$$$$%$$%$$$$$$$$$$$$$$$$$$$$O$$$$$$$$$$$$$$$$$$$$$$$$$$$v$$$$$$%%#%%%% %%%%%% % %% % %%% }%%%%%%%%$%%%%% %%%%!%"%$%3%%%,%&%)%'%(%*%+#%-%0%.%/%1%2%4%?%5%<%6%7%8%9%:%;̿R%=%>%@%F%A%B%C%D%E%G%H%%J%%K%%L%o%M%`%N%X%O%U%P%Q%R%S%T%V%W%Y%]%Z%[%\ %^%_%a%h%b%e%c%d%f%g%i%l%j%k%m%n%p%%q%x%r%u%s%t s%v%w%y%|%z%{%}%~%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%v%%%%%%%%%%%%%%%%%%%%%%%%% !%%%%%%%%v%vv%%%%%%%%%%Q%%%%%%%%&%%%%%%%%%%%%%%%%%%%%%%%%%%m%%%%%%%%%& %&%&%%%%&&&&&&&& & & && &&& }&&&&&&&&&&=&&.&&$&&!&& &"&#&%&(&&&'%&)&*&+&,&-&/&6&0&3&1&2&4&5v&7&:&8&9&;&<&>&P&?&I&@&F&A&B&C&DI&EIb&G&H&J&M&K&L%&N&Om&Q&X&R&U&S&TO&V&W&Y&\&Z&[&]&^%&`3&a.n&b*&c'&d'&e&&f&&g&v&h&o&i&l&j&k&m&nQ&p&s&q&r&t&u&w&{&x&y&z%&|&&}&~&&&&&&&&&&O&&%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%&&&&&&%&&&&&&&&O&&&&&&&&&&&&'&&&&&&&&&&&&&&&&&&&&&&&&&&&&'&&&&k @2&&5k4&&&&&&# @25&&4#D&&&&{~&&&Y|&'&&&&&M[&&[t&>&'&'BL'' iM['''w' '' ' ' ' O'' }''''v''''`''>'')''"''''' '!'#'&'$'%%'''('*'7'+'1','-'.'/'0Q'2'3'4'5'6'8';'9':'<'=O'?'N'@'G'A'D'B'C'E'FS'H'K'I'J'L'M'O'V'P'S'Q'RO'T'U'W']'X'Y'Z'['\'^'_y'a''b'q'c'j'd'g'e'f'h'i'k'n'l'm%'o'p'r'|'s'v't'uv'w'x'y'z'{'}''~''''|''''''''''_'''''''''''''''''''''(?''''''''''''''''''%''''''''''6''''%''''''''''''''''''' }'''''''''''O'''''''''('''''''''''%''''%'''('('(((((( ((( ( ( ( ( ((((( }((-((#(((((((((( (!P("P"oP($('(%(&Q((()(*(+(,(.(8(/(2(0(1%(3(4(5(6(73(9(<(:(;(=(>m(@)(A(`(B(Q(C(J(D(G(E(F(H(I(K(N(L(M(O(P(R(Y(S(V(T(U(W(X(Z(]([(\O(^(_(a)(b)(c(f(d(e(g(h(i(j)((k)'(lQ(m)(n((oQ(p(Q(q(r(zQ(s(tQv(u(v(xv(w2v(yv2vQ({Q(|Q(}(~QQ((Q(Q(Q(QQ(Q(QQ(Q((Q(QQ(Q((QQ(Q(QQ(((((Q((QQ((QQ((Q(Q(Q(QQ(oQ(Q(QQ((QQ(Q((QQ((Q(QQo((Q(((Q((QQ((QQ((Q(QQ(~Q(Q()(((((((((((((((((((((((((((A(((((((((()(Q(Q(Q(Q(Q(Q((((Q(Q(Q(Q(Q(Q(Q(Q(Q(Q(Q(((((Q(Q(Q((AQAQQ(Q(Q(Q(Q(QQ)Q)Q)Q)Q)Q)Q)Q) Q) Q) Q) Q) )))))A)A))A)Q)QQ))Q))!Q)Q))Q)Q) QoQ)"Q)#Q)$Q)%Q)&QQQ)))w)*)9)+v),v)-v).vv)/)0vv)1)2vv)3)4)6v)5vo)7)8veAQ):);QQ)<)=)[Q)>)?QQ)@Q)AQ)BQ)C)DQ)EQ)FQ)GQQ)H)Ij)JQ)KQ)LQQ)M)NQ)OQ)PQ)QQ)RQ)SQ)TQ)UQ)VQ)W)YQ)XQ)ZQjQ)\)]QQ)^)_QQ)`)aQQ)bQ)cQ)dQ)eQ)f)gQ)hQQ)i)jQ)kQ)lQ)mQ)nQ)oQ)pQ)qQ)rQ)sQ)tQ)uQ)vQQAQ)x)yA)zA){A)|A)}A)~))))A)AA))A)A)AA))A#A)))AA))A)AA))A)AA)AA))AA)A))A)AAA))A)AA)A)A))A)AA)jA)))) })))))B))))))))))))))))))))))))))))))))d))))%))%)))))) !))))))%)))))))))) s))v))))))%)))))) s)))*))))*%**%*,X*+****d* ** ** ** * O******%****Z******* %*!*"%*#%*$%*%%*&%*'%*(%*)%**%*+%%*,*-%%*.*/%*0%*1*O*2*<%*3%*4*5%*6%*7%*8%%*9*:*;%yQ:*=*F%*>*?%*@%*A%*B%%*C*D*E%yQ:%*G*H%*I%*J%*K%%*L*M*N%yQ:*P%*Q%%*R*S%*T%*U%*V%%*W*X*Y%yQ:*[*a*\*]*^*_*`*b*c*e*t*f*m*g*j*h*i*k*l*n*q*o*pQ*r*s%*u*|*v*y*w*x*z*{*}**~* ***+****************************** W***W*************]**************************e,***m*J*****)************f*******J*****fW****************v*+*++++%++$++++++ + + + + +++++++++++++++++++ +!+"+#JI+&+'+(+)+w+*+X+++E+,L+-L+.L+/L+0+7+1LL+2+3L+4L+5L+6LL+8LL+9L+:L+;+<L+=L+>L+?L+@+C+A+BLWL+DL II+F+GI+H+JI+IIۂ+KZI+L+MZ+NZ+OZ+PZ+QZ+R+U+S+TI+V+WZۂZ+YI+Z+[+\+]+^+_+`+a+b+c+d+e+f+g+h+i+j+k+l+m+n+o+p+q+r+s+t+u+vZZ+x++yZ+zZZ+{+|Z+}Z+~Z+++Z+Z+Z+Z++++ZZ+ZZ++Z+Z++Z+ZZ+ZZ++Z+Z+ZZ+ۂZ+Z+Z+Z+ZZ++Z+ZZ++ZZ++Z+Z+ZIZ++O++++++++++++++++++++++++ImI++WX+JLۂ+++++Q++++++$+++++++++,++++++++++++++++ ++++++++++%++++|+++,+,++++++,,,,,,,,, , , , Q, ,%,,,,,,^,,9,,',, ,,,,,,,!,$,",#,%,&,(,2,),/,*,+,,,-,.r,0,1%,3,6,4,5%,7,8x,:,I,;,B,<,?,=,>,@,A,C,F,D,EO,G,H,J,Q,K,N,L,M,O,P,R,U,S,T,V,W,Y-X,Z-,[,z,\,k,],d,^,a,_,`,b,c ,e,h,f,gO,i,jO,l,s,m,p,n,o,q,r,t,w,u,v !,x,y,{,,|,,},,~,,,,,,,,,,-,,,,%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,   ,,u,,,,,,,,,,,,4|,,,,un,,^K&,,,,,,A |*,,l,,,,wTP,,z,,,,,,  ,wT,,Bd,,u,,,,-@-A%-C-F-D-E_-G-H-J-Q-K-N-L-M !-O-P-R-U-S-T%-V-W%-Y--Z-y-[-j-\-c-]-`-^-_%-a-b-d-g-e-f-h-im-k-r-l-o-m-n -p-q-s-v-t-u-w-x%-z--{--|--}-~-----v---------------------.&-------- }-------------v--------J-J-J-J-J-J-.-J-J-----J-J-J-J-J-J-Jm_J-J-J-----J-J-JJ-J-J-JJ--J-J-J-J-J-J-Jmi--J-J-JJ--J-J-JJH-J-J-J-JJ---J-J-J-J-J-J--HJHJ-J-J---J-J-J-JmiJJ-.J.JJ.Jmi.J.J.J.J.J. J. J. J. J. J.J.J...J.J.J.J...JJJ.J.J.J.J.J.J.J. J.!J."J.#J.$J.%J.'.\.(./.).,.*.+.-...0.V.1.2.3.4mm.5m.6.7m.8m.9m.:m.;m.<m.=m.>m.?m.@m.Am.Bm.Cm.Dm.Emm.Fm.G.Hmm.Im.J.Km.Lmm.M.Nmm.O.Pm.Qm.Rm.Smm.T.Umm.W.X.Y.Z.[3.].g.^.d._.`.a.b.c.e.f.h.k.i.j.l.m.o1K.p/.q..r..s..t..u.|.v.y.w.x.z.{O.}..~.O..... .........*.........'..Q.......O............m..%...... d........................ &...................... ........... s.. }....m.../B./ ./ ./././/////// / / // //////////////////!/3/"/,/#/)/$/%/&/'/( !/*/+/-/0/.///1/2/4/;/5/8/6/7/9/:/</?/=/>m/@/A%/C/e/D/S/E/L/F/I/G/H/J/K/M/P/N/O%/Q/R%/T/[/U/X/V/W/Y/Zm/\/_/]/^ }/`/a/b/c/d$/f/u/g/n/h/k/i/j%/l/m/o/r/p/q/s/t/v//w/z/x/y/{/|/}/~////////0////////////// /////////////////////v//%////////_//v//// }//////////////v//////////////%////%///////////////////O/0/0/0\///////////0Q///00060000 000 o0 o o00 0  o o{0 { o0 00000/0/0000 o{0{000 o0 o00w0  o0!030" R0#>0$ R0% R0& R0' R0( R0) R0* R0+ R0, R0- R R0. R0/ R00 R01 R02{ R0405 Rױ o070B080= o09 o0:0;0< o R o0>0A o0? o0@ o o0C0J0D0G o0E0F ofC0H0IU_(0K0L0N0M o>0O0P/ױױ0R0S0T0U0V0W0X0Y0Z0[w0]0^0_0`0a0j0b0c0d0e0f0g0h0i0k0l0m0n0o0p0q0r00s0t0u00v00w00x0~0y0{0z 0|0}u4l00 000000 Ku00|00000000 ^00 000 0000000000n|*u00000000wT0000m0000000000%000000010000000000O00000%00000000000%0000000000000000O0000$00000000000000O1111+111111 111 1 1  Q1 1111Q1111 &11%11$111111 1!1"1#O1%1(1&1' &1)1* }1,1;1-141.111/10121315181617 &191:1<1D1=1A1>1?1@%1B1CQ1E1H1F1G &1I1J1L2K1M11N11O1n1P1_1Q1X1R1U1S1TO1V1W1Y1\1Z1[1]1^1`1g1a1d1b1c1e1f%1h1k1i1j &1l1m 1o11p1z1q1w1r1s1t1u1v%1x1y1{1~1|1} &11111111 11_111111P111111111111111O111111111111111111v1111111111 111111 }11111111" 111111 &1112111111111111O1111 &1111111111%11111112111111111211Q2222 22222 2 2 22 22222,22 222222222O222!2%2"2#2$2&2)2'2(%2*2+2-2<2.252/2220212324 262927282:2;2=2D2>2A2?2@2B2C d2E2H2F2Gz2I2J2L22M22N22O2a2P2Z2Q2W2R2S2T2U2V2X2Y2[2^2\2]O2_2`2b2|2c2y2d2e2f2g2h2i2j2k2l2m2n2o2p2q2r2s2t2u2v2w2xl2z2{2}22~2 22222222222222222222222222222222222%2222222222%22222222%222222222m22%2222222222222222222222222222222222 222332322222222222222222322222333333 3333 3 3 3 33333$33333333%33!33333 3"3#3%3,3&3)3'3(3*3+v3-303.3/3132343y353j363`373:3839v3;3<3=3>3?3@3A3B3C3D3E3F3G3H3I3J3K3L3M3N3O3P3Q3R3S3T3U3V3W3X3Y3Z3[3\3]3^3_ 3a3g3b3c3d3e3fm3h3i3k3r3l3o3m3n3p3q3s3v3t3u3w3x3z33{33|33}3~33333O3333O33333333%3333333338Q36 3434Y333333333333 s333333333333333333333333333333333m33#A3333%333333q3333333333333333333333333333333x3333 }3334:34%44 444444444 %4 4"4 4 4444444444444444444 4!B FB F4#4$ 4&4-4'4*4(4)4+4,x4.444/40414243v45464748494;4J4<4C4=4@4>4?4A4B%4D4G4E4F4H4I4K4R4L4O4M4N4P4Q4S4V4T4Um4W4X4Z44[4z4\4k4]4d4^4a4_4`4b4c4e4h4f4g4i4j4l4s4m4p4n4o4q4r4t4w4u4v4x4y4{44|44}44~4444 444444444444444444444444444y#PwE4444444444444444*44444444444444444444444444444%444444444v444444444444444444 !444444444444444545A4545 454544555555l55 5 55 55 5555%55%55555555255%55"5 5!5#5$5&5,5'5(5)5*5+5-5.5/5051|535:54575556O58595;5>5<5=5?5@5B5a5C5R5D5K5E5H5F5G5I5J5L5O5M5N5P5Q5S5Z5T5W5U5V 5X5Y5[5^5\5]v5_5`5b5q5c5j5d5g5e5f%5h5i5k5n5l5m 5o5p%5r5|5s5y5t5u5v5w5x%5z5{5}55~555555555555555555555555b55%555555555555555555555555%555555Q5Q5Q5Q5Q5Q5Q5Q5QQ5v55555555555%55555555O555555555555555555555Q555555O555555555O555656 5655m666666666 6 66 6 66666666666666666!7E6"66#6h6$6I6%676&6-6'6*6(6)6+6,6.646/606162636566686?696<6:6;6=6>%6@6F6A6B6C6D6E6G6HvQ6J6Y6K6R6L6O6M6N6P6Q6S6V6T6U6W6X6Z6a6[6^6\6]6_6` &6b6e6c6d|6f6g6i66j66k6r6l6o6m6n6p6q%6s6v6t6uv6w6x6y6z6{6|6}6~66666666666666666O666666666666666666666666662666666 666666%66676666666666%66666666O6666666666666666666666m66y6666%666666666666666666666677 7777 7777 }77 7 77 7 Q77777777%77777777 7!737"7)7#7&7$7%7'7(7*707+7,7-7.7/%7172747>75787677797:7;7<7=7?7B7@7AQ7C7D7F77G77H7j7I7[7J7Q7K7N7L7M7O7P7R7X7S7T7U7V7W7Y7Z7\7c7]7`7^7_7a7b7d7g7e7f%7h7i7k7z7l7s7m7p7n7o 7q7r7t7w7u7v7x7y7{77|77}7~v77_7777O77_7777777777777777777m77777777%7777777777777777777777777Q77%777777%77777777787777777777 _777777777777777777777777777777%777777 77m88 8888O88888 8 8 8 v88/88 8888888888888 88 8!8(8"8%8#8$O8&8'8)8,8*8+8-8.808?8188828583848687898<8:8;8=8>8@8G8A8D8B8C8E8F8H8K8I8J8L8M8N8O8P8R:8S98T88U88V8u8W8f8X8_8Y8\8Z8[8]8^8`8c8a8b8d8e8g8n8h8k8i8j8l8m8o8r8p8q8s8t8v88w8~8x8{8y8z%8|8}88888888%8%8%8%8%8%8%8%8%8%8%8%8%8%8%8%8%8%%88%8%8%8%8%8%8%8%8%8%8%8%8%%88%$%88888888v8888888888888888%88O888888v88888888 888888888O8888888888 888888 8888888888888888888%8% 99E99#9999 999999 9 99 9 99999999 }99&9999999 9!9"9$969%9/9&9,9'9(9)9*9+9-9.909391929495979>989;999:9<9=9?9B9@9Av9C9D9F9e9G9V9H9O9I9L9J9K9M9N9P9S9Q9R9T9U9W9^9X9[9Y9Z _9\9]9_9b9`9a }9c9d9f9u9g9n9h9k9i9j9l9m9o9r9p9q9s9t9v9}9w9z9x9y9{9|U9~999999:99999999999999O999999999999 }99v9999%99999v99999999999999999O99999999999!$999999999999999999%99999999999999999999999999 999:999999m999:9::::: :: ::: : v: :::::%::\::7::%::::::::::": :!:#:$:&:0:':-:(:):*:+:, :.:/:1:4:2:3:5:6v:8:M:9:C:::@:;:<:=:>:? Q:A:B:D:J:E:F:G:H:I:K:L:N:U:O:R:P:Q :S:T%:V:Y:W:XQ:Z:[:]:|:^:m:_:f:`:c:a:b|:d:e:g:j:h:i:k:l$:n:u:o:r:p:q%:s:tO:v:y:w:xv:z:{:}::~:::::%::::::%:::::::::::::::::;:;/:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::O:::; :::::::::::::::::O:::::::::::::;;;;;;;;; ;; !ww5; ; m!;; ;;;;;;;; ;;;;O;;;;;O;!;(;";%;#;$;&;';);,;*;+;-;.;0;u;1;Y;2;D;3;=;4;7;5;6;8;9;:;;;<;>;A;?;@;B;C;E;O;F;I;G;H*;J;K;L;M;Nv;P;V;Q;R;S;T;Um;W;X;Z;i;[;b;\;_;];^;`;a;c;f;d;e;g;h;j;n;k;l;m;o;r;p;qQ;s;t;v;;w;;x;;y;|;z;{v;};~;;;;_;;;;;;;;;;;;;;;;;;;;v;;O;;;;;;;;;;;O;;;;;;;;; };;%;;;;;; ;;;;;;;;;;;;<;<*;;;;;;;;;;O;;;;;;;;;;;;;;;;;;;;O;;;;;;;;;;;;;;;;;;;;;;<#;< ;;;; }; }<<< }< }< }< }< }< }< }< }<  }<  }<  }<  }<  }< }< }y }< }< }< }< }< }< }< }< }< }< }< }< }< }< }< }y }+==]==Z==;== = =!="=#=$=%=&='=(=)=*=+=,=-=4=.=/=0=1=2=3̿=5=6=7=8=9=:̿=<=K===D=>=A=?=@=B=CO=E=H=F=G=I=J=L=S=M=P=N=O=Q=R=T=W=U=V=X=Y%=[=\=^==_=~=`=o=a=h=b=e=c=d8=f=g=i=l=j=k=m=n=p=w=q=t=r=s%=u=v=x={=y=zO=|=}=============%====================%=> ================================================= === ==%=================Q=Q=Q=Q=Q=Q=Q=Q=Q=Q=Q=Q=Q=Q=QQ==#=Q==Q=QQ==Q=Q>QQ>Q>>Q>Q>Q>QQ>Q>Q> >> >> >> >>>>m>>>>>>%>>>>$>>!>>  >">#O>%>(>&>'>)>*>,>>->o>.>M>/>;>0>7>1>4>2>3>5>6 >8>9>:v><>C>=>@>>>?>A>B|>D>G>E>F>H>I>J>K>L!$>N>`>O>V>P>S>Q>R>T>U >W>]>X>Y>Z>[>\ s>^>_ s>a>h>b>e>c>dO>f>g%>i>l>j>k>m>n >p>>q>>r>y>s>v>t>u>w>x>z>}>{>|>~>%>>>>>> }>>v>>>>%>>>>>>>>>>>>>>>>>>>>>>!>!>>>>>>>>>>>>> }>>>>>>>>>>>>%>>>>>>>>>%>>v>?&>>>>>>>>>> }>>>>>>%>>%>>>>>>>>>>>>>>>?>>>>>>>>>? >>>>>? !>>>>>>?????????? !!? ? v??????%???????????? ?!?"?#?$?% Q?'??(??)?0?*?-?+?,?.?/O?1?Z?2?3?4?5Q?6Q?7Q?8Q?9Q?:Q?;Q?<Q?=Q?>Q??Q?@Q?AQ?BQ?C?P?D?J?E?GQ?F2?H?IZv?K?N?L?MQ~e#Q?O2}?Q?W?R?U?S?TQetQ?VQA?XQ?YQQ?[?\?]?^?_?`?p?a?b?c?d?e?f?g?h?i?j?k?l?m?n?oC?q?r?s?t?u?v?w?x??y?z?{?|?}?~??#???????????????#P?#?#?#?#?#?#??##??????%?????????????????????????????????????w w????>????Ї{??%??????????O???????????? ????????????A ?@?@G?@?@?????????@@@@@%@@ @@ @@ @ @ @@@@@@@@8@@.@@@@@@@@@@ @!@"@#@$@%@&@'@(@)@*@+@-@,!!5!@/@5@0@1@2@3@4 F@6@7%@9@=@:@;@<@>@D@?@@@A@B@C%@E@F@H@g@I@X@J@Q@K@N@L@Mv@O@P@R@U@S@T|@V@W@Y@`@Z@]@[@\@^@_%@a@d@b@c%@e@f@h@w@i@p@j@m@k@l @n@oO@q@t@r@s@u@v@x@@y@|@z@{ @}@~@@@@%@@@@@@@@@@@@@@@@@@@@O@@@@@@@@P@@@@@@%@@ d@@@@@@@@ }@@@@@@%@@@@@@@@@@ s@@@@@@@v@@ d@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@ _@@@@@@@@@@@@@@@@@@@A@@@@@A%AAAAAAAA AA A`A A.A AAAAAAAOAAAAA%AAAAvAAA A'A!A$A"A#A%A&A(A+A)A* A,A-A/AQA0AJA1A4A2A3%A5A6A7A8A9A:A;A<A=A>A?A@AAABACADAEAFAGAHAIOAKANALAM|AOAPARAYASAVATAUAWAXAZA]A[A\A^A_AaAAbAqAcAjAdAgAeAfOAhAiAkAnAlAmAoApArAyAsAvAtAuAwAxAzA}A{A| dA~AAAA%AAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAA }AAAAAAAAAAAAAAAAAAAAAAAAAAAAA6AA%AAAAAAAAAAAAA%AAAAmAAAAAAAAAAAAAAAAvABAAAAAAAAAAAAAAAA%AAAAAAAAABBBOBBBBBBBB B B B B BBBBBBBBBBBBBBBB!BB B"B#B%EB&DB'CB(BB)B`B*BNB+B2B,B/B-B.B0B1%B3B6B4B5B7B8B9B:B;B<B=B>B?B@BABBBCBDBEBFBGBHBIBJBLBK! BMBOBYBPBVBQBRBSBTBUBWBXBZB]B[B\OB^B_BaBwBbBpBcBmBdBeBfBgBjBhBiLBkBl:XBnBo%BqBtBrBsBuBvBxBByB}BzB{B|B~BBBBBBBBBBBBBBBBB BBBBBBBBBvBBBBBBBBBBBBBBBBBCBBBBBBBBBBBBBBB%BBB%BBCwB%B%BChBBBBB%B%BB%BB%B%B%B%B%BBBB%$%%aB%B%B%B%B%B%B%B%$%B%BBBB$%%aBB%օ~%B%BC!B%BB%BB%B%B%B%B%B%B%%BCBB%B%BB%%BB%B%%:B%%BB%BCBCBC%:$ɱ%Cr:%CCCCrHCC%C %C %C %C %C %C%C%C%C%C%C%C%C%C%$%C%%~C%C%C%C%C%C%C % N%C"CFC#CEC$C0C%C-C&C+C' NC(C)%C*% N%C,%x%%C.C/~~C1 C2C8 C3C4 C5  C6 C7 :C9 C:CAC;C> C<C=   C?  C@mQ CB  CCCD r: %yBCGC_CHCWCI%CJ%aCKօCLCMCRCNCPCOCQ%%CSCU%CT~%CVCX%CY%CZ%C[%%C\%C]C^%%C`%%Ca%Cb%Cc%CdCe%Cf%Cg%%CiCuCjCtCkCmClCnCoCpCqCrCs$ Cv%rH%Cx%Cy%Cz%C{%C|%C}%%C~CC%%CCCCCC%CCCCCC CCCCC&YCDCDCDyCCCCCCCCCCCCCCCCDwCCD7CCCCCCCCCCCC^^CC^CCCCCC / / /qCCCCCqqCqqCCCCCC  C   qCCCCCCCCC,q,,[Cqg[C[qgCCCC((CC(88C8FCCCCFI\CCCUI\UUdCCCtdCdtCCCD CCCCCCCCCCCCCCCCCDCCCCC^^DDDD /DD DD /qDqqqD D D  DD#DDDDDDD   qDq,DD,[Dqg[qgDDDDD((8DD!D F8FI\D"I\UD$D-D%D)D&D'UdD(tdtD*D,D+D.D3D/D1D0D2D4D5D6D8DWD9DHD:DAD;D>D<D= 'D?D@6EUdDBDEDCDDsDFDGDIDPDJDMDKDL DNDO+:IXDQDTDRDS6`gvDUDVDXDgDYD`DZD]D[D\D^D_ +DaDdDbDc_2qu:DeDfJYhqgDhDoDiDlDjDkwDmDnDpDrDqDs /Dt /DuDv / /Dx /DzDD{D~D|D}DD DDDDDDDDDDDD DDDDDDDDDD DDDDDD%DDDDDDDDDDDDDD DDDDDDDDDDDD%DDDDDDDDDDDDDDD !DDODDDDDDDDDDDDDDDD dDDDDDDDDDDDDODDDEoDE-DEDDDDDDDDDDvDDDDDDDEDEDE%EEEEEEE E E E E EEEEEEEEEEEEEEEEEE&E E#E!E"E$E%E'E*E(E)E+E,|E.EME/E>E0E7E1E4E2E3#E5E6E8E;E9E:E<E=OE?EFE@ECEAEBEDEEEGEJEHEIEKELENE]EOEVEPESEQERETEUEWEZEXEYE[E\E^EhE_EeE`EaEbEcEdEfEgEiElEjEk'EmEn%EpEEqEErE~EsEzEtEwEuEv6ExEyOE{E|E} EEEEEEEEEEEEEEEEEEEEEEEEEEEE!EEEEEEEEEEEEEEOEE sEEEEEEEEEEOEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE%EEEEEEEQEQEEAQ+QEEEEEEEEEEEEEEOEE%EG5EF{EF9EFEF EFEFEEEEFFF _FFFF%F F F FF FFFFFFFFFFFFF*FF#FF FF%F!F"F$F'F%F&F(F)F+F2F,F/F-F.F0F1F3F6F4F5%F7F8F:F\F;FJF<FCF=F@F>F?FAFBFDFGFEFF FHFIFKFRFLFOFMFNFPFQFSFYFTFUFVFWFX#FZF[F]FlF^FeF_FbF`Fa FcFd%FfFiFgFh%FjFk%FmFtFnFqFoFpFrFsFuFxFvFw FyFzF|FF}FF~FFFFFFFFFFFF%FFFF%FFFFFFFFFFFFFFFFFFFFFgFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF }FFFFFF%FFFFFFFFFFFvFFFFF%FFFFFF%FGFG FGFGFFGGGGGGGG G GG GG GGGGGGG dGGGG&GGGGGOG G#G!G"G$G%G'G.G(G+G)G*%G,G- G/G2G0G1G3G4%G6GG7GyG8GZG9GKG:GAG;G>G<G=G?G@GBGEGCGDGFGGGHGIGJGLGSGMGPGNGO _GQGR%GTGWGUGVGXGYG[GjG\GcG]G`G^G_GaGbGdGgGeGfGhGi GkGrGlGoGmGnGpGq GsGvGtGu%GwGxQGzGG{GG|GG}GG~GOGGQGGGGGG GGGGGGGGGGGGGGGG'GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGmGGGGGG%GGGGGGGG%GHGGGGGGGGGG%GGGGGGGGOGGGGGG%GGGGGGGGGGGGGGGG%GGGGGGGGGHGHGHHHH%HHHH H H %H H  HH9HHHHHHHHHHHHHHHHH H2H!H$H"H#H%H&H'vH(H)vH*vH+H,H-H.H/H0H1H3H6H4H5H7H8%H:HIH;HBH<H?H=H>H@HAHCHFHDHEHGHHOHJHQHKHNHLHMHOHPHRHSHT%HVSHWMHXJHYHHZHH[HzH\HkH]HdH^HaH_H`HbHcHeHhHfHgHiHjHlHsHmHpHnHoHqHrHtHwHuHvHxHyH{HH|HH}HH~HHH%HHHHHH%HHHHH HHHHHHHHHHHHHHHHHH }HHHHHHHHHHHHHHH }HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHmHHHHHH HIHHHHHHHHHH%HHHHHHHHHHHHHHHHmHHHHHHHI HIHHHHIII%II IIIIIѳI I #I IIIIIII%IIIIIIII;II,II%II"I I!%I#I$ dI&I)I'I(I*I+I-I4I.I1I/I0 sI2I3I5I8I6I7%I9I: !I<IKI=IDI>IAI?I@IBICIEIHIFIGIIIJILJIMJINIOIPIQJIRIISIb%IT%IUIVI]%IW%IX%IY%IZ%I[%I\% N%I^I_%%I`%Ia N%Ic%Id%Ie%If%Ig%Ih%Ii%IjIrIk%Il%Im%In%Io%Ip%Iq%$%Is%It%Iu%Iv%IwIz%Ix%Iy%I{I}%I|% NI~% N%I%IJ I%II%II%I%I%I%IIIIIIIIIr:IIIIIIIIIIIIIIIIIIIIIIIIIIIIIII~II:~IIIIII~IIIIII:yQII ?IIIIIIII:$IIIIIɱI:IIIr:I%I%I%IJIIIII%I%yBII%I%I%I%I%I%%I%I%II%%I~%I%%I%II%I%I%IJ IIII%a%IIIII%I%~I~IIII~%~%I%%~J%JJJ%JJJJ% NJ%$%J %J %%J %J JJ%%uJJ%%JJ%%JJ% ?%J%J%J%%JJ%J%J%JJ N~~%%J!%J"%J#J$%J%%J&%J'%J(%J)JnJ*J5J+J/%J,J-%%J.% N%J0J1J3%J2%a%J4%~J6JRJ7%J8J:%J9%%J;%J<J=%J>%J?%J@%JA%JB%JC%JD%JE%JF%JG%JH%JIJOJJJL%JKyQ%JMJN NyQ NJP%JQ%yQ%JSJYJTJV%JUa%JWJXu%%JZJ\J[%%J]%%J^J_J`JaJbJcJjJdJgJeJfmQ JhJiir: JkJlJmrHJo%JpJJqJ%Jr%JsJt%Ju%Jv%Jw%Jx%Jy%Jz%J{%J|%J}%J~%J%J%JJJJJJ%  J%r:mQJ%JJ%%$J%%J%$JJJJJJ% N%J%%mQJJJ%mQ%J% N%JJ%:$y$JJJJJJ%JJJMJJJJJJJJJJJJJJJ%JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ{JJ JJJJJJJK!JKJJJJJJOJJJKJJJJJJJJKJK$$$KKKKKKKK K K K K K$KK%KKKKKKKKKKKK%KK K"K4K#K*K$K'K%K&K(K)K+K.K,K-K/K0K1%K2%K3y$%K5K<K6K9K7K8%K:K;K=K@K>K?OKAKBKCKDLKE~KFLKG~KH~KI~KJ~KKL8KLKKMK~KNKOKTKPKR~KQ~~KS~KU~KV~~KWKX~KYKKZKl~K[K\~K]~K^~K_~K`~Ka~Kb~Kc~Kd~Ke~Kf~~KgKh~Ki~KjKk~~KmK}Kn~Ko~Kp~Kq~Kr~Ks~Kt~Ku~Kv~Kw~Kx~~KyKz~K{~K|~K~~K~K~K~K~K~K~K~K~K~K~~KK~K~K~~K~KWK~K~K~K~K~K~K~K~K~K~K~~KK~K~K~~LKKKKKK~K~K~~K~~K~KKKK~K~KK~zKK~K~K~~KKKKKKKK~K~~~K~K~KK~K~K~K~K~K~K~K~K~K~K~K~K~K~~~z~KKK~K~KK~~KK~K~K~K~K~~KK~K~KKK~K~~KK~K~~K~K~K~~K~K~K~K~KL KKKKK~K~~RKKK~~K~~KLKKK~~KKK~K~LL~L~L~LL~LL LL ~:.~L B~L LLLLLL~zL~L~L~L~~L~~L~L~LL*LL'LL#L~L~L ~L!L"~~L$~L%L&~~LL(L)~~~L+L,~~L-L.L4L/L1~L0~L2L3WWL5L6L7WYW~L9LL:LL;zL<LFL=LDL>L?~~L@LALBLCLE~~zLG~LH~LI~LJLoLKL]LL~LM~~LN~LO~LP~LQ~LR~LS~LT~LU~LV~LW~LX~LY~LZ~L[~L\~L^~L_~L`~La~Lb~Lc~Ld~Le~Lf~Lg~Lh~Li~Lj~Lk~Ll~Lm~Ln~~Lp~~LqLr~Ls~Lt~Lu~Lv~Lw~Lx~Ly~Lz~L{~L|~L}~L~~L~L~L~~LLLL~L~LL~L~L~LL~L~LLLL~~L~~L~LLzU~LLL~LL~LL~LLLL~~LL~~~LL~L~~L~~LL~~LLLLLLLL~LL~L~~LLLL~LLLL~LL~L~~~LL~L~L~L~~L~LLL~~~L~LLLLLLL>LL:LLLLLzULL%YL~L~~L~LL~L~L~L~~L~L~L~L~L~L~L~LLL~L~L~L~LLL~L~>~LL~L:LL>~L~L~L~~~L~LL~L~M~M~M~M~M~~MMKMM)MMM MM M M M MMMMMMMMM%MMMM"MMMMOM M!%M#M&M$M%M'M(#AM*M<M+M2M,M/M-M.M0M1M3M6M4M5M7M8M9M:M;M=MDM>MAM?M@9MBMC%MEMHMFMGMIMJMLMkMMM\MNMUMOMRMPMQMSMTMVMYMWMXMZM[M]MdM^MaM_M`%MbMcMeMhMfMgMiMjMlM~MmMwMnMqMoMpvMrMsMtMuMvMxM{MyMzM|M}$MMMMMMvMMOMMMMMMMO`MNMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMM%MMMMMMMMMMMM%MMMMMMMMMMMMvMM !MMMMMM%MMMMMM }MMMMMMMMMNMMMMMM }MMMNMMMNN%NN%NN NN NN %N N NNN3NONNJNN)NNNNNNNNNNNN N&N!N"N#N$N%N'N(N*NCN+N.N,N-N/N0N1N2N3N4N5N<N6N9N7N8eN:N;WXN=N@N>N?>NANB=LfNDNGNENFNHNINKO NLONMONNNONPNQNvNRNSNfNTNUNVNWNXNYNZNaN[N\N]N_N^1N`NbNcNdNe NgNhNiNjNkNlNmNnNoNpNqNrNsNtNuNwNxNNyNzN{N|N}N~NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN1NNNNNNNNNNNNNNNNNN1NN NNNNNNNNNN#NNNNNNNNNNNNNNNNN1NNNN  NNNNNN1NNNNNNNwOOOOOO OO%O O O OOOOO%OO }OOOOOOOO>OO/OO(OO%O O!O"O#O$O&O'O)O,O*O+OO-O.O0O7O1O4O2O3O5O6 O8O;O9O:%O<O=O?OQO@OJOAODOBOCOEOFOGOHOIOKONOLOMOOOPOOROYOSOVOTOUvOWOXOZO]O[O\O^O_%OaRObROcROdOsOeOlOfOiOgOhOjOkOmOpOnOo OqOrOtRzOuRwOvOwOxOyOOzOO{vO|vO}vO~vOvOvOvOvOOOvOvOvOOOvOOOOvvvOvOvOvvOvvOvOvOvOvOvOvOvOvvOOvOOvOvOOvOvOOvvOOvOOOOOvOvOvOvOvOvOvOOvOOvOvOvvvOOOvOvOvOvOvOvOvvOOvOvOvvOvOvOROQ:OP}OP!OPOOOOOOvOOvvOOvvOvvOvOOvOOvOvOvOvWvOOOvOvOOOOvvOvvvOOOvOOvOvOOOOOOJOvOOvOvOOvOvuvvOOvOvPvvPPvPPvPPvvzPPP PP PvP P PP vPvWPvvPvvvPPvPvPvPPvvvPPvvPPvPvP vvP"PoP#P_P$P\P%vvP&vP'P(P)P*P;P+P,P-P.P/P0P1P2P3P4P5P6P7P8P9P:P<PLP=P>P?P@PAPBPCPDPEPFPGPHPIPJPKPMPNPOPPPQPRPSPTPUPVPWPXPYPZP[P]vvP^vP`PkvPaPbPjPcPfvPdPevvPgvPhvPiv:vvLPlPnPmvWvvPpPyPqPtPrPsvvPuPwPvvvPxvvvPzvP{vP|7P~PPPPPPPPvvPPvPPPvPvvvPPPvPPvvPPPPPPPPvvPvPvvPPPPPPPPPPPPPPPPPPPPPPPPPPPP:vPvPPvPvzPPvPPPPPPWvvPvvPLvPPvPPPvzvvPvPPPPvPvPvPPPPvPvvPPvvPzvPPvPPvvPPvvP PvvPPPvPvvPPvPvvPvPvvPPPPPPPPvPPLzPPPP PPuPQPPvPPvPvvQQ vQvQvQQvQQQQ7vQ Q L7Q QvQ vQQvQvQvz>QvQvQvvQQQvzvQQ'vQQQ%vQQQvQ Q"vQ!7vQ#Q$Q&vvQ(Q0vQ)Q*Q/Q+vQ,Q-Q.WzvvQ1vQ2Q3Q4Q7Q5vQ6v>vvQ8vQ9v>Q;QQ<QyQ=QUQ>QQQ?QLQ@QFvQAvQBQCvQDvQEvvQGQKQHvQIvQJvvvQMQOQNzvzQPvzvQRQSvvQTzvQVQoQWQcQXQaQYQ`QZvQ[vQ\Q^Q]vvQ_vvvQbvvQdQfQevzvvQgvQhQivQjQmQkQlvvQnvvvQpQqQsQrvvQtvQuQvvQwvvQxvQzQQ{QQ|vQ}vQ~vQvvQQvQvvvQQQvQQvQQQvvQvQQQvvQLvvQvvQvQQQvQvQQvQvQvUvQQvvQQQQQQvQvQvQvvQQQQv7vQvQvQvvQvQvQQQQQQvQvQQQQQQQ7QQWQWQWQWQWQWQWQWQWQWQWQWQQQQQQ7QQYW QWQQQQQQQQQ7QQYW QWQQQQ QvQvvvQ7vvQQvvvQQvQQvQQvvQQvvQQvQQQvQQQQvQvQvQvvvQvQvzRRRRRvRvvRvRRvzvzR RR R R vvR vvWvRvRRvRRRvYRvRRRvYvRvRRaRR4RvRR/RR(R R"vR!v7R#vvR$R%vR&vR'vvR)vR*vvR+R,vR-vR.vvR0vR1R3vR2vvR5R:R6vR7vvR8R9vWvvR;R<RJR=vR>vvR?R@RGRARDRBRCv7WRERFvRHvRIvRKRURLvvRMvRNRORRRPRQv RSRTz >RVR\RWRXvRYvRZvR[vR]vR^R_R`RbvRcvRdvReRnRfRjRgRiRhvvRkRlRmvvRovRpRrRqvRsvRtRuvRvvvRxRyR{R~R|R}%RR RRRRRRRRRRRRRR }RRRRRRRRRRRRRRORRRRRRRRRRRR RRRRRRRRRRRRRR%RR%RRRRvRRRRRRRRRRRRRRRR%RRRRRRRRORRRRRRRRRS%RSRRRRRRRRRRRRRRORRvRRRRRRRR%RRRR%RRSSSS SSSSSSS SS S S SSSSSSSSSS%SS !SSSSQS S!S"S#S$S&SES'S6S(S/S)S,S*S+S-S.S0S3S1S2 dS4S5S7S>S8S;S9S:S<S=S?SBS@SAOSCSDSFSUSGSNSHSKSISJSLSMSOSRSPSQSSSTSVSSWS}SXSYSZS[%S\%S]%S^%S_%S`%Sa%Sb%Sc%%SdSe%Sf%Sg%Sh%Si%Sj%Sk%Sl%Sm%Sn%So%Sp%Sq%Sr%Ss%St%Su%Sv%Sw%Sx%Sy%Sz%S{%S|%%S~SSSSSvSS#ASVcSTSTSSSSSSSSSSSSQSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSmSSSSSSSSSSSSSSSSSSOSSSSSSSSSSSSSS }SSSSSSSS%STSSSSSSSSS SSSSSSSSSSS%TTTTTTTTT T T T !T TTTOTT-TTTTTTTTTTT%TTTT&T T#T!T"T$T%%T'T*T(T)T+T,T.T=T/T6T0T3T1T2T4T5T7T:T8T9T;T<T>TET?TBT@TATCTDTFTITGTH%TJTKTLTMITNITPTTQT`TRTYTSTVTTTUTWTXTZT]T[T\%T^T_TaTTbTTcTdTeTf%Tg%ThTi%Tj%TkTzTlTsTm%TnTqToTpTr%TtTw%Tu%Tv N:Tx%%Ty%T{%T|TT}%T~%%%T%TrH%TTTTTTTTTTTTTTTTTTTTTTTTTTTOTTTTTT%TT%TTTTTTTUTTTTTTTTTTTTTTTTTTvTTTTTTTT TTTTTTTTTTT%TTTTTTTT%TTTTTT TT#ATTTTTT&TTTTTTTTTTT%TU3TU$TTTTTTTTUU!UUUUUUUUU U U UU U UUUUUUUUUUUUUUUUUU IU"U#U%U,U&U)U'U(OU*U+ U-U0U.U/U1U2U4UU5UU6UU7U8U9U:UU;ULU<U=U>U?U@UAUBUCUDUEUFUGUHUIUJUKmUMUNUOUPUQURUSUTUUUVUWUXUYUZU[U\UmU]U^U_U`UaUbUcUdUeUfUgUhUiUjUkUl\pUnUoUpUqUrUsUtUUuU~UvUwUxUyUzU{U|U}\pUUUUUUUU\pUUUUUUUUUU\pUUUUUUU\pUUUUUUUUUUUUUUUUUxUU%UUUUOUUUUUUUUUUUUUUUUUUU(UUWIWIUU_UVUUUUUUUUUU%UUUUUUUU%UUUUUUUUUUUUUUUVUVUUUUUUUUUUUU QUUUUUVVVVV'\VVV QV V V V 2V VVVVVVVOVVVVVV VV%VVAV V/V!V(V"V%V#V$%V&V' }V)V,V*V+V-V.SV0V:V1V4V2V3V5V6V7V8V98V;V>V<V=OV?V@VBVTVCVMVDVGVEVF%VHVIVJVKvVLvvVNVQVOVP%VRVSPVUV\VVVYVWVXVZV[V]V`V^V_VaVbVdZVeW,VfVVgVVhVzViVpVjVmVkVlVnVoVqVwVrVsVtVuVvOVxVyV{VV|VV}V~%VVVVVVVVVVVVVVVVVVVVVV }VVVVVVVV3VVVVVVVVvVVVVVVVVVV%VVVVVV%VVVVVVVV VVVVVVVVVVVVVVVVVVVVVVVVVW%VW"VVVVWVOOVVOVOVOOVVOVOVOOVOVVOVOOVOVVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOw0OWOWOWOWOWOWOWOWOW OW OW OOW W OWOWOWOOWWOWOWOWOWOWOWOWOWOWOWOWOWOWOW OOW!w!OW#W$W&W)W'W(W*W+W-WrW.WMW/W>W0W7W1W4W2W3W5W6W8W;W9W:vW<W=W?WFW@WCWAWBOWDWEWGWJWHWIWKWLWNW]WOWVWPWSWQWR WTWUWWWZWXWYW[W\W^WkW_WbW`WaWcWdWeWfWiWgWhWIWjfWlWoWmWnWpWqOWsZWtZWuZyWvZvWwWxWyWzXW{WW|WW}W~WWWWWWWWWWWWWW[WWWWWWWWWWW+WWWWWWWWWWqq _2WWF[WWWWWWWWWWW,,W,WW  WWq:WWWWWWY'^WWWWWWqg6`WW8WWWWWW /UI\WWXWWWWWWW /W /WWWW /WWFWFFWWFWWWWWFWFWWWWWWWhWqhqqWWWqWqWWXWWWWWWWWWW++WqWWqW[qWXXqXqX[XXXX [XXX X X XX X XXd dXXXXXXdXXXXXqqXX X!X"XX#XbX$XBX%X4X&X.X'X*X(X)^^X+X,^X-X/X0X1X3X2 / / /qX5X<X6X9X7qqX8qqX:X;X=XAX>X?  X@   qXCXTXDXLXEXIXFXHXG,q,,[XJqg[XK[qgXMXPXNXO((XQXR(88XS8FXUX[XVXWFI\XXXZXYUI\UUdX\X_X]tdX^dtX`XaXcXXdXsXeXkXfXjXgXhXiXlXpXmXoXnXqXrXtX~XuXyXvXxXw^^XzX|X{X} /XXXX /qXqqqXXX XXXXXXXXX   qXq,XX,[Xqg[qgXXXXX((8XXXF8FI\XI\UXXXXXXUdXtdtXXXXXXXXXXXXXXXXXXXXXX 'XX6EUdXXXXsXXXXXXXX XX+:IXXXXX6`gvXXXXXXXXXXXX +XXXX_2qu:XXJYhqgXXXXXXwXXXXXX /X /XX / /XXXYXY4XYXYXYXXXX^^XX^XYYYYY / / /qYYYY Y qqY qqY Y YYYY  Y   qYY&YYYYYYY,q,,[Yqg[Y[qgYY"Y Y!((Y#Y$(88Y%8FY'Y-Y(Y)FI\Y*Y,Y+UI\UUdY.Y1Y/tdY0dtY2Y3Y5YdY6YEY7Y=Y8Y<Y9Y:Y;Y>YBY?YAY@YCYDYFYSYGYKYHYJYI^^YLYPYMYNYOYQYR / /YTY]YUYXYVq /YW /qYYY[YZqqqqY\qY^YaY_Y`Yb Yc YeYYfYyYgYpYhYmYiYkYj    Yl qqYnYo,q,YqYtYr[,Ys,[YuYwYvqg[qgqgYxqgYzYY{Y~Y|Y}((Y8(Y(8YYYYYF8FFYFI\I\YYUI\UYYYYYYYdUYUdYYYtdttYtYYYYYYYYYYYYYYYYYYYYYYYYYZ/YYYYYYYYYYYY  Y Y YYYY''Y'Y'6YYYY6Y6Y6EEYEYEUYYUYUYUddYdYdsYYYYYYsYsYsYYYYYYYYYYYYYYYYYYYYYYYZYZYYYYYYYY YY Y Y YZ+ZZ ZZ+Z+Z+:ZIZI:IZ Z XZ Z XZZZZ ZZZZZZZZZZZZZZZ!Z(Z"Z%Z#Z$Z&Z'Z)Z,Z*Z+Z-Z.  Z0ZlZ1ZRZ2ZAZ3Z:Z4Z7 Z5Z6 Z8Z9++Z;Z>+Z<Z=_2+_2_2Z?Z@qu_2quZBZIZCZFquZDZEquZGZH::ZJZOZKZM:ZL:JZNYJYYZPZQhYhZSZaZTZ[ZUZXhZVZWwqgwwZYZZwZ\Z_Z]Z^Z`ZbZgZcZeZdZfZhZjZiZkZm /Zn /ZoZrZpZq /Zs /ZtZu / /ZwZx%ZzZ}Z{Z|%Z~ZZZZZZZZZZZZZ%ZZZZZZZZZZOZZZZZZZZZZZZZZZZZZZZZZZ[eZZZZZZZZZZZZZZZZZZZZZZZvZZZZZZZZZZZZZZ%ZZZZZZZZZZ!ZZZZZZZZ }ZZZZZZZZZZZ Z[Z[ZZZZZZZZZZZZ[[%[[ [[[[![[ [ [[ [ [[[O[[[[V[[O[[[[[[[[[[ [!["[#[$[%[&['[0ӵ[([)[,[*!ӵ[+ӵ!![-[. [/ ! [1[C[2[8[3[4 m[5w[6[7m^^w[9[?[:[<w[;ww[=[>w!!F[@[A[B=Exx[D[E[I[F[G[H99[J[L[K6Mm[M[N5wa[P[S[Q[Rv[T[U[W[^[X[[[Y[Z[\[][_[b[`[a [c[d[f[[g[[h[w[i[p[j[m[k[l[n[o[q[t[r[s%[u[v[x[[y[|[z[{v[}[~[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[K 1 [[11[[[[[[[[[[[[m[[[\q[[[[[[[[[[O[[[[[[%[\j[[[[[[[[[\i[[[[\[\ [[[[[[[[[[[I[W[[[[\\\\\\\I\:\\ \ WI\ \ I\\\\\\\\\\\\\\\B\ \\\ \!\"\#\=\$\;\%\&\'\(\)\*\+\,\-\.\/\0\1\2\3\8\4\6\5I\7IX\9\:I\<ILX\>\@\?I\A)\C\D\Y\E\R\F\L\G\H\I\J\K\M\N\O\P\QW\S\T\U\V\W\X\Z\b\[\\\]\^\_\`\a@\c\d\e\f\g\hvW\k\n\l\m2\o\p\r\\s\}\t\w\u\v_\x\y\z\{\|%\~\\\%\\%\\\\\\\\%\\\\\\ \f<\`\^\]\]0\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\9\\\\\\\\\\\\\\O\\\\\\%\\\\\\\\\\%\\\\\\\]\\\\\\\\\\Q\\\\O\\%\\\\\\\\\\\\\\\\\\\%]]]]!]]]]]]]] ] ] ] ] ]]]]]]]]]q]]]]]]v]] ]"])]#]&]$]%]'](]*]-]+], s].]/]1]s]2]T]3]E]4];]5]8]6]7]9]:]<]?]=]>]@]A]B]C]D ]F]M]G]J]H]I]K]Lm]N]Q]O]P]R]S]U]g]V]_]W]\]X]Y]Z][!]]]^W]`]d]a]b]c]e]f]h]l]i]j]km]m]p]n]o%]q]r%]t]]u]]v]}]w]z]x]y]{]|]~]]]]]]]]]]]]]]O]]]]]]]]]]]]]]]]]]]!]]]]]]]] d]]]]]]]]]]]]])]]>b]]]]]]]^E]^]]]]]]]]]]%]]]]]] s]]Q]]]]]]]]]]]]]]]]]]]]]]]]]6]]]]]]]]]]]]]]$]]O]^]]9^^ ^^&^^^^ ^^ ^^ %^ ^ ^^^^^^W^^^^^^^^W^^ ^^9^!^"^#^$^%^'^6^(^/^)^,^*^+Q^-^.^0^3^1^2^4^5^7^>^8^;^9^:%^<^=^?^B^@^A^C^D^F^^G^f^H^W^I^P^J^M^K^L^N^O^Q^T^R^S^U^V^X^_^Y^\^Z^[^]^^^`^c^a^b%^d^e^g^v^h^o^i^l^j^k^m^n^p^s^q^r^t^u^w^~^x^{^y^zv^|^}^^^^^^^^^^^^^^^^^^^^^^^^%^^^^^^^^^^^^^^^^^^^^^^^^^!^^^^^^^^^^^^!^!^!^^^^^^^^^^^^^^^^^_^_P^_^^^^^^^^^^^^^^^^^^^^^^^^!^^^^^^^^^_^^^^^^^^^^^^m____ ______ O_ __ _ ____1__"____________ _ _!_#_*_$_'_%_&w_(_)_+_._,_-%_/_0%_2_A_3_:_4_7_5_6_8_9m_;_>_<_=%_?_@_B_I_C_F_D_E6_G_H_J_M_K_L_N_OW_Q__R_t_S_e_T_[_U_X_V_W_Y_Z_\_b_]_^___`_a_c_d_f_m_g_j_h_i }_k_l_n_q_o_p_r_sI_u__v_}_w_z_x_y_{_|_~____________________ ___________________________________L________________!______________!___`X_`__________%_______________________` _`_`__``````O`` ` `` `` ```````````9``*``#`` ``O`!`"`$`'`%`&%`(`)`+`2`,`/`-`.O`0`1`3`6`4`5`7`8`:`I`;`B`<`?`=`>Q`@`A`C`F`D`E`G`H`J`Q`K`N`L`M`O`P`R`U`S`T%`V`W`Y``Z`y`[`j`\`c`]```^`_ }`a`b`d`g`e`f`h`i`k`r`l`o`m`n`p`q9`s`v`t`u`w`x!`z``{``|``}`~``````%```````````````````````````````````````````v``%````!``%``````````Q````!``O``````%``````9``%`c<`a`ab`a#`a``````````O`````` }```````````````%`aaaaa aaaaaa Ca aa a aaaaaaaaaaaaaaaaa a!a"a$aCa%a4a&a-a'a*a(a) sa+a,a.a1a/a0a2a3%a5a<a6a9a7a8%a:a;a=a@a>a?aAaBaDaSaEaLaFaIaGaHaJaKaMaPaNaOaQaRaTa[aUaXaVaW%aYaZa\a_a]a^a`aaacaadaaeatafamagajahai%akalanaqaoaparasauaavayawax aza{a|a}a~aaaaaa aaaaaaaawaa$aaaaaaaaaaaaaaaaaaaaaaaaaaa%aaaaaaaaaaaaaaaaaaaaaaaaaaaaaavaaaaaaaaaa|aaaaaa saaaaaaaaaaaaaa%aaaaaaaaaaaaaaxaaabab=abab ababbbbb bb bbb b Qb bbbbbbbbbbbbb bb.bb'bb!bb b"b#b$b%b&%b(b+b)b*b,b- b/b6b0b3b1b2%b4b5|b7b:b8b9%b;b<%b>b]b?bNb@bGbAbDbBbCbEbF%bHbKbIbJbLbMbObVbPbSbQbRbTbUbWbZbXbYb[b\b^bmb_bfb`bcbabbbdbebgbjbhbibkblbnbbobbpbqbr%bs%bt%bu%bvbwb%bxbyb%bzb{%%b|%b}%b~%b%bb%b%b%r:%%bb%%bb%b%b%b%b%~b~b~b~%%b%b%bbb%bb%b%b%%bb%b%b%b%%%b%b%b%b%b%bb%%b%b %bbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbb~bbbb|bbbbbbbbbbbbbbbbbbbbbbbbbbb%bbbbbbbbvbcbccccccc%cccc c c c c cccccccccccccccc*cc#c c!c"c$c'c%c&c(c)c+c2c,c/c-c.c0c1c3c9c4c5c6c7c8c:c;c=dHc>cc?cc@cbcAcPcBcIcCcFcDcEcGcH%cJcMcKcLcNcOcQc[cRcUcScTcVcWcXcYcZ0c\c_c]c^ c`caOcccrcdckcechcfcgcicjclcocmcn cpcqcsczctcwcucvcxcyc{c~c|c} scc'cccccccccc cc &cccc%cccccccc%cccccccccccccccccccccccccccccccccccccccOcccdcccccccccccccccccccccccccccccOcccc|cc cccccccccccccccc%ccccccccvdddddddd&ddd dd d d d  ddvddddddvdddddd%ddd d#d!d"md$d%%d'd9d(d/d)d,d*d+d-d.d0d6d1d2d3d4d5d7d8d:dAd;d>d<d=d?d@dBdEdCdDdFdGdIddJddKdpdLdadMdWdNdQdOdPdRdSdTdUdV$dXd[dYdZd\d]d^d_d` }dbdidcdfdddedgdhdjdmdkdldndodqddrdydsdvdtduQdwdxOdzd}d{d|d~ddddddddd !dddd dddddddddddd%dddddddd%dddddd%dddddddddddddddd%dddddddddddddddddddddd%dedededededdddddddddddddd Q Qdddddddd''dddddddddddddz dddddddede eeeee Qeeee?8z  Qe e e e ?ee;eeeeeeee Q Qee3ee$ee!eeee8ee ?jBOQ)e"e#*e%e,e&e)e'e(z 7'\e*e+ Qaub e-e0e.e/yQ ?'0e1e2'yp{e4e5e6e8e78e9e:?'\z 7e<ete=ene>e?ece@eAe\eBeL#eCeDeHeEeFeG##yeIeKeJ#P##P#P#eMeReNeQeO'yeP#$#'y#eSeWeTeVeU#z Y~7#eXeYs#eZe[8#'\#e]e^eae_#e`## Qeb Q#edeeefegehekeiejJ'yno3elem(]m,,eoepeqeresaueueevewexeye|eze{ Qe}e~#P Qeeeeeyɓeeeeee8eeeeeeeeeeveeee8eeeeeeeeeeveeeeeeeeeeeeeeeeeeQeeeeeeeeeeeeeeeeeeeeeeeexeeeeeeeeeeeeeeexee2efeeeeeeeeeeeeeeee%efef eeee!e!e!e!e!e!e!f!f!f!f!f!f!f!f!f!f f !f !f !!vfffffffffffff-ff#ff ffvf!f"f$f'f%f&f(f)f*f+f,f.f5f/f2f0f1!f3f4vf6f9f7f8f:f;f=lGf>j*f?gf@g*fAffBfafCfRfDfKfEfHfFfG }fIfJ%fLfOfMfNfPfQfSfZfTfWfUfV!fXfYOf[f^f\f]f_f`fbfqfcfjfdfgfefffhfifkfnflfm dfofpfrfyfsfvftfusfwfxOfzf}f{f|%f~ffffffffffffff fffffCffffffffffffffffffffffffffffffffffffffffff'Mffffffff Q Qff Q,'\ffff'C Q'0ff Qffffffffflflfffffffffffffffffffffnffffffffffffff#Pfgfgfgfffgggggggggg g g g g ggg ogg#gggggggg#gg gg g!g"g$g'g%g&g(g)g+ghg,gHg-g<g.g5g/g2g0g1g3g4%g6g9g7g8%g:g;g=gDg>gAg?g@gBgCgEgFgG&gIgXgJgQgKgNgLgMgOgPgRgUgSgTgVgWgYg`gZg]g[g\g^g_gagdgbgc ogegfgggiggjggkguglgrgmgngogpgqgsgtgvgygwgxgzg{g|g}g~gggggg ggggggggggggggggggggggggggggQgg%ggggggOggg%gggggggighJggggggggggggg sggggggOggggggggggg$ggggggvgggggggggggggggOggggQgggggghggggggggQgQgQgQgQhQhQhQhQhQhQhQhQhh Qh Qh h QQh QvQhQhhQQhQhhhhhhhhhhhhhh h!h"h#h$h%h&hCh'h(h)h*h+h,h-h.h/h0h1h2h3h4h5h<h6h7h8h9h:h;h=h>h?h@hAhBKhDhEhFhGhHhIhKi}hLihhMiahNi^hOhPhQhRiMhShThUi,hVhWhXhhYhZhh[hh\hah]h^h_h`7'\z hbhchdhthehkhfhghihhhjC'\hlhqhmhohn#PhpChrhszhuhvhhwhxhhy Qhzh{h|h}h~hh Q Qhhhhhhhh#Phh Qhhhhhhhhhhhhhhhhhhhhh'\hhhhhhhz hz hhhhz hhhhh'\hhhhh'\7hhhh'\hhhhhz '\hhhhhhhhhhhhhhFhhhhhhhhhhhh'j#Phh'jhhhhz hhhhhhhhhhh#hhshFhhhhhsh Qhh#hhhhhihiii iiiiiz z sii ii'Mi '\i ii iiz '\,i QiiiiiiFiziiiiwEz 7 Qi'0i i&i!z i"i$'\i#74i%li''\i(i)i+i*z li-i.i/i0i1i2i3i4i5i6iBi7i=i8i9i;i:Fi<i>i?i@iAz CiCiDiEiGiFiHiIiJiK#PiLy#PiNiOiPiWiQiTiRiS QwE QiUiVɓ#PiXi[iYiZyl'i\i]4C''yi_i`ibieicidifigiiipijimikilinio_iqiwirisitiuivixiyizi{i|Qi~iiiiiiiiiiiiiiiiiiiiiiiiiiQiiiiii }iiiiiiiiiiiiOiiiiiiiiviiiiiiviiiiiiiiiii%iiiiiiiiiiiiiiiibkiiiiiiiiiiiiiiiviifijiiiiiiiiiiOiiiiOiiiiiiiiiiijjjjjjjjj jj jj jj j jjjjjjjjjjj djj#jj jj%j!j"j$j'j%j&j(j)j+k9j,jj-jlj.jMj/j>j0j7j1j4j2j3j5j6j8j;j9j:j<j=j?jFj@jCjAjBjDjEjGjJjHjIjKjLjNj]jOjVjPjSjQjRjTjUjWjZjXjYj[j\Oj^jej_jbj`jajcjdjfjijgjhjjjkjmjjnj}jojvjpjsjqjrjtjujwjzjxjyj{j|%j~jjjjjjjjjjjvjjjjjjjjjjjjjjjQjjjjjjjjjjjjjjjjjj sjj%jjjjjjjjjjjjjjjOjjjjjjjj3jjjjjjjjjjjjjjjjjjjjjj djjvjjjjjjjjjjjj%jjjjjjjjjjjjkjkjjjjjjjjjkkkvkkkkkk kk k k k kkOkkkkakkkk*kk#kkkkkkk k!k"k$k'k%k&k(k)k+k2k,k/k-k.Qk0k1%k3k6k4k5 k7k8 }k:kk;k}k<k^k=kOk>kHk?kBk@kAkCkDkEkFkG kIkLkJkKOkMkNOkPkWkQkTkRkSOkUkVkXk[kYkZ2k\k]_k_kkk`kdkakbkckekhkfkgkikj%klkvkmksknkokpkqkrktku%kwkzkxkyk{k|k~kkkkkkkkkkkkkkkkkkkkkkk%kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOklkkkkkkkkkkkkkkkkkkkkkkkkkkkkk*kkkkkkkkvkvvkkkkkkkkkk skkkk%kk }klkkkkkllllllll l(l ll ll ll lllllllllll!llllll l"l%l#l$l&l'l)l;l*l1l+l.l,l-%l/l0l2l5l3l4l6l7l8l9l:l<l@l=l>l?lAlDlBlC lElFlHnlImlJllKllLlqlMl_lNlXlOlUlPlQlRlSlT%lVlW lYl\lZl[l]l^l`lglaldlblclelfQlhlkliljlllmlnlolpOlrllslzltlwlulvlxlyl{l~l|l}%llllllllllllllllllllllllllllllllllllllll%llOllllllllllllll%ll }llllllllllllllvllllll lm1llllllllllvll llllll llllllllllllSlllmlllllllllll%lmllmm%m%mm m%m%m%%mm%m %m %%$m %m %m%%mm%m%%m%mm%m%%m%mmm:$m%m%:ummm m*m!m$m"m#m%m&m'm(m)m+m.m,m-m/m0 m2mm3mIm4m;m5m8m6m79m9m:m<mFm=m>m?m@mAmBmCmDmECmGmHmJmQmKmNmLmMvmOmPmRmXmSmTmUmVmWmYmZm[3m\3m]m^3m_3m`3ma3mbm~mcmwmdmlme3mf3mg3mhmjmiC3Cmk33ommmr3mnmo3mp3mq3C3ms3mt3mu3mv3C3mx3my33mzm{3m|3m}3.3m33mm33mm3m3m3&3mmmmmmmmOmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnHmmmmmmmmmmmmmmmmm }mmmm dmmOmmmmmmmmQmmmmmmmmmmmOmmmmmmmmwmmmmmmmmmmmmmmmmmmmmmmm mmOmnmn nnnnnnnnnn n On nn nnnnnnnnn nnnnnvnn0nn&n n#n!n"%n$n% n'n*n(n)n+n,n-n.n/On1n;n2n5n3n4n6n7n8n9n:Qn<nBn=n>n?n@nASnCnDnEnFnGnInnJnknKnZnLnSnMnPnNnOnQnRnTnWnUnVSnXnYn[nbn\n_n]n^n`na6ncnhndnenfngninjwnln{nmntnnnqnonpnrnsnunxnvnwnynzn|nn}nn~nnnnnnnnmx#n^!!nnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnnnnn!nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnennmnnnnnnwnp~nonocno2nononnnnroooomomomomomomo mo mo mo mo momomomomomommoM^moooooomoo'oo!oo o"o#o$o%mmo&m6o(o+o)o*o,o-o.o/!o0o1ww6!o3oBo4o;o5o8o6o7o9o:o<o?o=o>%o@oA%oCoJoDoGoEoFoHoIoKoUoLoMoNoOoRoPoQ IoSoTfe oVoWoXOoY$oZ o[o\o]o^o_o`oaob$odooeoofoogo}ohoiojokvolvvomonvoovopvoqvorvosvotvvouovvowvvoxoyvozvo{vo|vo~owoooooo9oooooooo!oooooOoOooOomomomomomomomomomomomommomomomoomomomomomomomomomomomommomomomp)ooooooooooooӵoooooowoooooo%oo6oooooowop:opooooooooSooooo!o!^ooooooooooooooooo!oooovoopppppppp!pp p p  !p p  pp+pp!pppppppppՍ!Lppw9ppppp !p"p(p#p$p%p&33p'3p)p*Op,p3p-p0p.p/p1p2%p4p7p5p62p8p9%p;p]p<pNp=pGp>pAp?p@mpBpCpDpEpFpHpKpIpJ8pLpMpOpVpPpSpQpRpTpU pWpZpXpY%p[p\p^pmp_pfp`pcpapb pdpepgpjphpi%pkplpnpupoprpppqpsptpvpypwpx%pzp{p|p}pq pppppppppppppppppp }pppppvpppppp%pp%pppppp ppppppppppppp%pppppppppppp%pppppppppppppppppprpppppvppppppppppppppppppppppppppppppppp%pppppppqpqppqqqqq qq qq q q %qqMqq.qqqqqqqqqqqqqqqq%q q'q!q$q"q#q%q&q(q+q)q*q,q-*q/q>q0q7q1q4q2q3q5q6%q8q;q9q:q<q=q?qFq@qCqAqBqDqEqGqJqHqIqKqLqNqmqOq^qPqWqQqTqRqSLqUqVqXq[qYqZOq\q]q_qfq`qcqaqbvqdqeqgqjqhqi qkqlqnq}qoqvqpqsqqqrqtquOqwqzqxqyq{q|q~qqqq%qqqqqqqqǬqgqq{qwHqtqsqs qqqqqqqqqqqqqqqqqqqqqqqqqqqyqq%qqq%qqqqqqqqqqq%qq'qqqqqqqqqqqqqqqqqq%qqqrqqqqqqqqqqqqq%qqqq qqqrqrqqqqqqqroqr0qrqrqqqqqq g qqqqqq rrUftrr rrrr#rr <  ;lr rr r ;rrFVrr!rrrrrr<rrWHrrrr<+ˢrr r"r)r#r&r$r%dr'r(˃sHr*r-r+r,er.r/$; r1rPr2rAr3r:r4r7r5r6||r8r9<r;r>r<r=HUZ,r?r@Y1rBrIrCrFrDrE$u=rGrH >urJrMrKrLuFrNrOqrQr`rRrYrSrVrTrU/<erWrX rZr]r[r\r^r_|rarhrbrercrd4rfrgB|rirlrjrk rmrnn^zrprrqrrrrrsrzrtrwrurvKmrxry&PAr{r~r|r} rru|*rrrrrrlrruwTrrrr rgrrrrrrrr`rr:rrrrrrrrrrrw rrrrr<rr rrrrrrrrrr  rr.|rrrrr rrrrr*r rrrrrrrrrrg r rrr grrrrr #r grr r  r rrrrrrrr%rrrrrrrrrrrrrrrrrrrr%rrOrsrsrs_ssssssOs s s sNs s,ssssssssssssssssss%ss"s s!s#s$#As&s)s's(s*s+ s-s?s.s5s/s2s0s1s3s4vs6s<s7s8s9s:s;s=s>s@sGsAsDsBsCOsEsF ]sHsKsIsJ%sLsMsOsksPs\sQsXsRsUsSsTsVsWsYsZs[s]sds^sas_s`sbsc }seshsfsgsisjrsls{smstsnsqsospsrssvsusxsvswmsysz%s|ss}ss~sOsssssssssQssstssssssssssss }ssssssssOssssssUssssssss%sssssQssssssssssssssssssssss_ss%ssssvsssssOssssssssssssssssmssssssssssssss ssOstssssssssvtttttttttt t t t t  ttttOtt ttUtt6tt'tt ttttOttt!t$t"t#%t%t&t(t2t)t,t*t+_t-t.t/t0t1Ot3t4t5%t7tFt8t?t9t<t:t;t=t>%t@tCtAtBtDtEvtGtNtHtKtItJ_tLtMtOtRtPtQtStTtVt{tWtitXtbtYt\tZt[t]t^t_t`tatctftdteHtgthtjtttktntltmtotptqtrtstutxtvtwtytzt|tt}tt~tttttt }tttttt_ttttttttttdtt%ttttttttttttttttttttttttttttt_ѤttWPѳѳ LttttZoѳѕthWPtttmtvEtuPtu tttttttttt3ttttttttttttttttttt%tttt%ttttttttttttttttttttttutttt%tuuuuuuuuu u u u+u uuuuuuuuuvuuuuuuuu$uu!uu Hu"u#u%u(u&u' &u)u*$u,uAu-u7u.u1u/u0%u2u3u4u5u6u8u;u9u: }u<u=u>u?u@uBuIuCuFuDuEuGuHQuJuMuKuL%uNuOuQuuRuwuSuhuTu[uUuXuVuWuYuZu\ubu]u^u_u`uaucudueufug uiupujumukulunuouquturusuuuvuxuuyu}uzu{u|u~uuumuuuuuuuuuuuuuu%uuuuuuuuuuuuuuuuuuuuuuuu%uuuuuuuuuuuuuu%uuuuuuuuuuOuuuuuuuuuuuuv>uv;uuuuvuvuv uvuvuvuvuvuvuvvuuuuuuuuvvuuvuvvvuuvuvuvv+uuuuuvuvuvvuvuuvuvvuv7uuvuuvuvvvuuvvuvuvvvvvvvvvvvvvvvvvvvv vv vv vv vvvvvvvvvvvvvvvv7vvvvvvvvvvvvv*vv$vvvvv v!v"v#vv%v&vv'v(v)v+vv,v-v4v.v1v/v0v2v3v5v8v6v7v9v:v<v=v?vBv@vAvCvD%vFvvGvvHvgvIvXvJvQvKvNvLvM%vOvPIvRvUvSvTQvVvWIvYv`vZv]v[v\v^v_IvavdvbvcvevfIvhvwvivpvjvmvkvlvnvoIvqvtvrvsvuvvvxvvyv|vzv{v}v~vvvvvvvvvvvvvvvvvvvvvv vvvvvvvvvvvOvvvvvvvvvvvvvvvv%vvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvv%vvvvvvvvvvvvvvvvvvvvvvvvOvvvvvv vvvwvvvvvwwwwwwww w(w ww ww ww wwwwwww|wwww!wwwwOww w"w%w#w$%w&w'w)w9w*w1w+w.w,w-w/w0w2w6w3w4w5w7w8w:wAw;w>w<w=Qw?w@ }wBwEwCwD lwFwG2wIywJxrwKwwLwwMwowNw`wOwVwPwSwQwR%wTwU%wWwZwXwY|w[w\w]w^w_%wawhwbwewcwdwfwg!$wiwlwjwk|wmwn%wpwwqwxwrwuwswtwvwwwyw|wzw{w}w~%wwwwwwww wwwwww wwwwwwwwwwww%wwww|wwwwwwwwwwwwww|wwOwwwwwwwwwwOwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww#w'#'wwwwwww%wwwx*wxwwwwwwwwwwwwwwOwwwwwwwwwwwwwxxx sxxxxxx xx xx xx x xxxxxxxxxxxvxx#xx xxx!x"x$x'x%x&x(x)x+xMx,x;x-x4x.x1x/x0x2x3mx5x8x6x7 x9x:%x<xCx=x@x>x?xAxBxDxGxExFxHxIxJxKxL QxNx]xOxVxPxSxQxRxTxUxWxZxXxYx[x\%x^xkx_xex`xaxbxcxdxfxgxhxixj%xlxoxmxnxpxq*xsxxtxxuxxvxxwx~xxx{xyxzx|x}xxxxxxxxxxxxxxxxxOxxxxxxxxxxxxxxxx%xxxxxxxxxxxxxxxxxx%xxxxxxxxxxxxxxxxxxxx%xxxxxxdxxxxxxxxxxxxxxxxxxxxx%xxxxxxOxxxxxx#Axx xxxxxx%xy9xyxy xyxyxxyyyyyyyy Oy yy yy yIyymyyyyyyyy)yy"yyyyy y!y#y&y$y%y'y(Oy*y2y+y.y,y-Iy/y0y1%y3y6y4y5y7y8y:y\y;yJy<yCy=y@y>y?yAyB yDyGyEyFyHyIyKyRyLyOyMyNIyPyQySyVyTyUyWyXyYyZy[%y]yoy^yhy_yey`yaybycyd }yfyg%yiylyjykymynypyzyqytyrysyyuyvywyxyyy{y~y|y}yyyzyzyyyyyyyyyyyyyyyyy yyyyyy yyyyyyyyy yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyOyyyyyy%yyyyyyyyyy%yyyyyy &yzyyyy yyyyzCzzzzzz!z zKz z)z zz zz zzzzz^zzzzzz!zz"zzzz z z!z#z&z$z%z'z(z*z9z+z2z,z/z-z.z0z1z3z6z4z5z7z8%z:zAz;z>z<z= z?z@ }zBzEzCzDzFzGzHzIzJzLzkzMzYzNzRzOzPzQzSzVzTzU }zWzXzZzaz[z^z\z] z_z`!zbzezczdzfzgzhzizj_zlzzmzznzqzozpzrzsztzuzvzwzxzyzzz{z|z}z~zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz%zzzzzzzzzzzzzzz{Uz{ zzzzzzzzzzzzzzzz%zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz%z{zzzzzzO{{{{{{{{{  { {3{ {${ {{{{{{{{{{Z::{~{{Q{{{{{{ {!{"{#O{%{,{&{){'{({*{+*{-{0{.{/{1{2{4{F{5{<{6{9{7{8{:{;{={C{>{?{@{A{B%{D{E {G{N{H{K{I{JI{L{M{O{R{P{Q{S{T{o{V{{W{x{X{i{Y{b{Z{]{[{\{^{_{`{a%{c{f{d{e{g{h{j{q{k{n{l{mb{o{p{r{u{s{t{v{w{y{{z{{{{~{|{}{{Q{{{{O{{ {{{{{{b{{{{{{{{{{{{{{{{{{{{{ }{{{{{{{{5{{%{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{5{{{{{{{{{s{~1{}{|`{|{{{{{{{{{{{%{{%{{{{{{{{{{{{ {{{{{" {| {|{{{{-||v|||| ||| || || | |||||||||||v||>||,||%||"| |!|#|$%|&|)|'|(%|*|+|-|7|.|4|/|0|1|2|3Q|5|6|8|;|9|:|<|=|?|Q|@|J|A|G|B|C|D|E|Fm|H|I|K|N|L|M%|O|PO|R|Y|S|V|T|U|W|X|Z|]|[|\|^|_|a||b||c|r|d|k|e|h|f|g|i|j|l|o|m|n |p|q }|s|}|t|z|u|v|w|x|y|{||!$|~|||v|||||||||| s||||O|O|OO|O|O|O||O|OO|O||O|O|OO||O|OO|O||O|O|O|O|O|O|O|O|O|O|O|O|O|O|Ow0O||||||||||||||||||O|||| || }|||||||||||| ||||||||||||||v||||#A|||||||||||||\|||||||||||v}}}}}}%}}}} } } } } }}}}R}}0}}!}}}}}}v}}%}}}}}} }"})}#}&}$}%}'}(_}*}-}+},O}.}/}1}C}2}<}3}6}4}5}7}8}9}:};}=}@}>}?}A}B}D}K}E}H}F}G}I}J }L}O}M}N}P}Q%}S}~}T}i}U}_}V}\}W}X}Y}Z}[}]}^}`}c}a}b}d}e}f}g}h%}j}t}k}q}l}m}n}o}p%}r}s%}u}x}v}w}y}z}{}|}}O}}}}}}}}}}%}}}}}}}}}}}}}}U}}}}}}}}}Q}}}}}}}}}}}}}} }}}}}}}}}}}}}} } }}} }} }} }} }} }} } }} }} }}} }} } }} }}}}v~ } }} }} }v~}}}}}}}}}}}}}}}%}}}}} }}}}}}}}}O}}O}}}}Q}}}~}~}}}}}}%}}}~}} !~~~~ ~~~~~ ~ %~ ~~ ~~~m~~"~~~~~~~~%~~~~~ ~!~#~*~$~'~%~&%~(~) ~+~.~,~-~/~0~2Y~3~~4~~5~q~6~X~7~Q~8~N~9~:~;~<Q~=Q~>Q~?Q~@Q~AQ~BQ~CQ~DQ~EQ~FQ~GQ~HQ~IQ~JQ~KQQ~L~MQQt~O~P~R~U~S~TO~V~W~Y~f~Z~`~[~\~]~^~_%~a~b~c~d~e~g~k~h~i~j~l~m~n~o~pv~r~~s~z~t~w~u~vm~x~yO~{~~~|~}~~~~~~~~~~~~~~~~~~~~~~~~~~ s~~ ~~~~~~~~~~~~v~~~~~~%~~~~~~~~~~~~~Q~~~~~~~~~~~~~~~~ }~~~~ ~~v~~~~~~~~~~~~~~~~~~~~~~~~~~~~%~~~~~~5~~~~~~~m~~|~~ }      %m9*# !"$'%& !()+2,/-.01%364578%:J;C<@=>?%ABDGEF }HIKRLOMNPQSVTUWX%Z[\~]r^h_b`acdefg }iljkmmnopq swtuvxyz{|} O }Of% %* 1  O    QO '!$"#%&(+)*,-./02Q3B4;58679:<?=>O@ACJDGEFHI }KNLMOPRdS]TWUVXYZ[\^a_`|bc%elfighjkmpnoqrOtuvwxyz{~|}v#Am _Q OO%%%%%%%%%%%%%%%%%%mQ%Qv     O%l)" !#&$%'(*e+.,-/0123T4D56789:;<=>?@ABC REFGHIJKLMNOPQRS/UVWXYZ[\]^_`abcd ofighjkmn{oupqrstvwxyz|}~%mZD*vvvvvvvvvvvvvvvvvLvzvvvvvvvvvvvvvvvvvv vvvvvvvvvvvvvvvvvv:vvvvvvvvvvvvvv  vvv v vvvvvvvvvvvv v!v"v#v$v%vv&'v(v)vv+.,-/012v3vv4v5v67v8vv9v:;v<vv=v>?v@vABCvELFIGHOJK%MPNO%QRSTH6UH6VH6H6WH6XH6YH6j[p\f]`^_abcdegjhivklmnoqxrustvvwy|z{m}~ % }%v!$%vvm#Av1 }  O   R0U$) &!"#$%%'('*-+,./'1C293645Q78':=;<>?@ABDKEHFGOIJOLOMNPQ'SrTcU\VYWXOZ[']`^_abdkehfgQijlomn%pqst{uxvwyz|}~ }5%%OmQ &%|Q       #% !"$+%(&')*,2-./0134O6x7\8M9F:@;<=>?ABCDEGJHIKLNUORPQvSTVYWXZ[ }]i^b_`aOcfdeghjqknlmoprustvwPyz{|}~ %O F%'     %O v!$"#%&%(7)0*-+,./1423568?9<:;=>@CABDEOGHgIXJQKNLMOP dRUSTVW }Y`Z][\^_adbcefvhwipjmklnoqtrsuvxy|z{%}~%%v%% } v/Z***4      %;+$ !"#%(&')*,4-0./%12358679:<K=D>A?@OBCEHFGIJ%LSMPNOQRTWUVXY[\~]l^e_b`acd8fighjkmtnqopOrsuxvwyz{|}%%S%%%%%%%%%%%%%%%%%%%%% r:% }%u6O     !'$ !"#r%&(/),*+-.0312457V8G9@:=;<>?ADBCEFHOILJKMNPSQRTUWfX_Y\Z[]^`cabdegnhkijlmorpqstvwxyz}{|~C%v%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%rH%  %    FY:+$! "#%(&')*,3-0./12475689;J<C=@>? ABDGEFHIKRLOMNPQSVTUWXZ[m\f]`^_abcdegjhikl nuorpqstv|wxyz{Q}~v}T!P%f%'      s !$"#%&(7)0*-+,./%1423568<9:;=@>?ABCDEGHIhJYKRLOMNPQOSVTUWXZa[^\]O_`becdfgixjqknlmoprustvwyz}{|~OO6 Q%qb[XK"KKKKKKKKKKKKKKKKKKK K K K K KKKKKKKKK7KKKKKKKK K!K"K#K$K%K&K'K(K)K*K+K,K-K.K/K0K1K2K3K4K5K6Kq:K8K9K:K;K<K=K>K?K@KAKBKCKDKEKFKGKHKIKJKKKLKMKNKOKPKQKRKSKTKUKVKWKKYZ\_]^`acjdgefhiknlmoprsztwuvxy{~|} Q%#A     2#"  !"$+%(&')*,/-.013B4;58679:<?=>@ACJDGEFQHIKNLMOPRSuTfU\VYWXZ[]c^_`abde%gnhkijlmorpqOstvw~x{yz|}3U2e%%!Z  %    :+$! "#%(&')*,3-0./12%475689;J<C=@>?ABDGEFHI QKRLOMNPQSWTUVXY[\{]l^e_b`acdfighjkmtnqoprs Quxvwyz Q|}~ Q% } }(T8.+      !"#$%&'()*,-/201345679E:>;<=?B@ACDFMGJHIKLNQOPRSUtVeW^X[YZ\]_b`adcdfmgjhiklnqoprsuv}wzxy{|~sO%%       ! "%#$&' _)*g+J,;-4.1/023 Q58679: Q<C=@>?ABDGEFHIKXLQMNOP%RUSTVW QY`Z][\^_%adbcefhixjqknlm%oprustvwyz}{|~ v   Q    6I%" !#$&,'()*+%-.30Q1?2734v5W6H7A8>9:;<= ?@%BECD*FGIPJMKLNOQTRSUVXgY`Z][\^_adbcefhoiljkmn Qpsqrtuwxyz}{|~ Q4 vvv     (!| "%#$&')0*-+,%./14235689x:Y;J<C=@>?ABDGEFHIKRLOMNPQSVTUWXZi[b\_]^`a Qcfdeghjqknlmoprustvwyz{|}~%dm Q O      Q    Q!0")#&$%'(*-+,./182534679<:;=>@EAB~CbDSELFIGHJKMPNOQRT[UXVWYZ\_]^`acrdkehfgijlomnpqsztwuv xy{|}%OO Q %#     S !"$6%/&,'()*+-.0312%457>8;9:<= }?B@A%CDFGHjIXJQKNLMOPRUST%VWYcZ`[\]^_ab Qdgefhikzlsmpnoqrtwuvxy{|}~Q %m      2"% !#*$'%&()+/,-.013B4;5867O9:<?=>@ACJDGEFHIKNLMOP RNSUTUVuWfX_Y\Z[]^`cabdegnhkijlmorpqstvw~x{yz|} Q%%O%%v     3$ ! %"#*%,&)'(*+Q-0./12 4C5<6978:;v=@>?ABDKEHFGIJLOMNPQRSTVWXwYhZa[^\]_` QbecdfgipjmklnoqtrsUuvxyz}{|~% 4 Q#AO     /# !"$+%(&')*,-.0?182534679<:; =>@GADBCEFHKIJLMOOPQRqSbT[UXVWYZ \_]^`avcjdgefhiknlmoprsztwuvxy{~|} QvO%%O%  Q    0! ")#&$%H'(*-+,./1@29364578:=;<>?AHBECD$FGILJKMNPQRqSbT[UXVWYZ\_]^`acjdgef$hiknlmoprsztwuvxyr{~|}#P$QH Q $( UO    O!U "%#$%&')H*9+2,/-.01364578:A;><=?@%BECD!FGIXJQKNLMOP RUST%VWY`Z][\^_adbcef%hijkmlemnopqxrustvwy|z{}~ QUP Q Q s%&6%      #!"$%'F(7)0*-+,./1423568?9<:;=>@CABDEGVHOILJK%MNPSQRTUvW^X[YZ\]_b`acdfghixjqknlmoprustvwyz}{|~%%v. v    $! %"#%+&'()*,-/N0?182534679<:;=>@GADBC EFHKIJLMO^PWQTRSQUVX[YZ\]_f`cab Qdegjhiklnpopqrsztwuvxy{~|} s%  _O1 v$     " ! #*$'%&()+.,-/02Q3B4;58679:<?=>@ACJDGEFHIKNLMOPRaSZTWUV XY[^\]_`bicfdegh%jmklnoqrstu|vywxz{}~%w _O%QOA"        !#2$+%(&')*,/-.013:475689;><=?@BaCRDKEHFGIJLOMNPQSZTWUVXY[^\]m_`bqcjdgefhiknlm%op rysvtuwxOz}{|~'ylY~K8_];(-? QYz z z  QM'\s'\=( 7    77 !7"#$%&'7)*+,-./60123457789:;<7>?@ABCDEFGHIJKLNOVPSQR Q QTU#Pz WX QZw[\]^_7`apbz cz z delfigh7'y'jjks'\z ymz no)''0z qz rz sz tz uz vz 7z xyz{|}~'yz z 'y'y'yz 'yz 'yz z z 'yz 'yz z 'yz z z z 'yz #Pz z  Q Qz z  Q@O QO    v  s.'!  Q"#$%&O(+)*,-/60312457=89:;< }>?ABCRDKEHFGIJOLOMN%PQOSTWUVXYZ[t\ ] ^ _ `  ab c  de f g  h ij  kl  mnqop  rs  uv w xy z { | } ~     ََََ       2f&^^^ / / /qqqqq     q,q,,[qg[[qg(((888FFI\UI\UUdtddt^^ / /qqqq    qq,,[qg[qg     ((8F8FI\I\UUdtdt" !#$%'F(7)0*-+, './6EUd1423s568?9<:; =>+:IX@CAB6`gvDEGVHOILJKMN +PSQR_2qu:TUJYhqgW^X[YZw\]_a`b /c /de / /ghijykslomn^^pq^rtuvxw / / /qz{~|qq}qq     q,q,,[qg[[qg(((888FFI\UI\UUdtddt^^ / /qqqq    qq,,[qg[qg((8F8FI\I\UUdtdt '6EUds      +:IX6`gv& + #!"_2qu:$%JYhqg'.(+)*w,-/10 /3 /4u5&67w8W9H:A;><= '?@6EUdBECDsFGIPJMKL NO+:IXQTRS6`gvUVXgY`Z][\^_ +adbc_2qu:efJYhqghoiljkwmnprqs /t /uv / /qxyz{|}~^^^ / / /qqqqq     q,q,,[qg[[qg(((888FFI\UI\UUdtddt^^ / /qqqq    qq,,[qg[qg((8F8FI\I\UUdtdt     ,q,,[qg[[qg(((888FFI\UI\UUd #!td"dt$%'K(7)/*.+,-04132568B9=:<;^^>@?A /CGDE /qFqqqHJI LaMWNSOQP   qRq,TU,[Vqg[qgX\Y[Z((8]_^F8FI\`I\UbkcgdeUdftdthjilqmonprstvwxy|z{ '}~6EUds +:IX6`gv +_2qu:JYhqgw /!!Fx^_     ;,% !"#$&)'(v*+-4.1/02358679:<r=k>A?@%BCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcgdefIhij>lomnpqOsztwuvxy{~|}O O$?Q %CCCOCCCCCCCCCCCCCCCCCCCCCCCCCCCC|8CCCCCCCCCCCC C C C C CCCCCCCCCC|8CCCC5CCCC C!C"C#CC$%C&C'C(C)C*C+C,C-C.C/C0C1C2C3C4C|8C6C7CC89CC:;CC<=C>C?C@CACBCCCDCECFCGCHCICJCKCLCMCNC|8CPQnCRSCTCUCCVWCXCYCZC[C\C]CC^_C`CaCbCcCdCeCfCgChCiCjCkClCmC|8CCop#_#_qr#_s#_#_t#_uv#_#_w#_xy#_z#_{|#_}#_~#_#_#_#_#_#_#_#_#_#_#_#_#_#m#_#_#_#_#_#_#_#_#_#_#_#_#_#_#_#_#_#_#m#_CCCCCCCCCCCCCCCCCCCCCCCCCC|8CCCCCCCCCCCCCCCCCCCC|8CCCCCCCCCCCCCCCCCCCC|8CCCCCCCCCCCCCCCCCC|8CCCCCCCCCCCCCCCCCCC C C C C CCCCCC|8C-# !"v$'%&()*+,.5/201346<789:;=>Q@_APBICFDEGHJMKLNOQXRUSTVW _Y\Z[m]^%`sakbecdfghi%j% N%lomnpqr%t{uxvwyz|}~% }Om}}r} _%CI*      Qm# %!"$'%&()#A+:,3-0./124756O89%;B<?=>@AvCFDEGHJiKZLSMPNO QQRCTWUVXY[b\_]^`a cfdeghOjykrlomnpq%svtuwxz{~|}7 %% Q Q%%   s q OQ Q%" !#$&)'(*+,-%%./%%01%2%3%4%5%6%7%8%9%:%;%<%=%>%?%@%A%B%C%D%E%F%G%H%I%J%K%L%M%N%%:P_QXRUSTVWOY\Z[]^`gadbcefhkijlmnoprst{uxvwyz|}~%%%CORJ{O"  Q4%   m  %%%%%%%%%% %!%"%#%%$%&-'*()+,.1/023 5l6e7:89;<=>%?%%@A%B%C%D%E%F%G%H%I%J%K%L%M%N%%O%PQ%R%S%T%U%V%W%X%Y%Z%[`%\]%^%%_$%a%b%%cd%$%fighjkmtnqoprsuxvwyzv|}~ m%% O%$'\  Q$     O !"#%$ Q&'(\)*+,Q-?./7012345689:;<=>#P@AIBCDEFGHJKLMNOPRSTUVWXYZ[]^_`}asbckdefghijFlmnopqrOQtuvwxyz{|'\~V4'>'l#P   l  8& !"#$%y'(0)*+,-./Rn1234567Q 9:;<=>D?@ABC#PEFGHIyKLMlN]OVPSQR3TUWZXY[\%^e_b`acd%fighjkmnxorpqstuvwOy|z{}~C  % }O Q%v    O 3$! "#%,&)'(%*+-0./%124C5<6978:;=@>?ABDKEHFGIJLOMNQPQS^TUVuWfX_Y\Z[]^`cabOde%gnhkijlmorpqstvw~x{yz%|}3QO mO%%% O   Q  ?0) #!"$%&'!!(#!*-+,./%182534679<:;=>K@OAHBECDFG ILJKMNPWQTRSUV }X[YZ%\]_`abqcjdgefhi%knlmopOrysvtuwxz}{|%~%v :    Q |3+$! "#%(&')*%,3-0./12475689;Z<K=D>A?@BCEHFGIJLSMPNOQRTWUVXY[ \c]`^_ab%dgef Qhijklmnopqrstuvw{xyzz|}~' Q Q' Q'\ Q'j#P#P87z '\... Q QlllllywEz 7'\ Qaub yQ ?'0'yp{Y QwEzzzzz. Q#PwE     vR"^ ?!0")#&$%'(*-+,./18253467 }9<:;=>@OAHBECDFG ILJKMNPWQTRSUVQX[YZ%\]_`rahbecdfg }iljkmnopq%sztwuvxy{~|}|%  } Q%2      aS !#$`%D&5'.(+)*,-/201346=7:89;< >A?@BC$ETFMGJHIKLNQOPRSU\VYWXZ[]^_abqcjdgefhiknlmopQrysvtuwx!z}{| Q~!!v Q O%% Q0)''''77'O?'' '  'y ' '''' Q7z ''''''Y~K8_' !0"'#/$'%'&'''('),'*'+78-'.'y$'z132'''j'45'6'7'8'9':';=<''>''@''ABEC'\'D'j'FMz GH7I'J'KLɓs'N''yPQR'STUVW|XfYaZ'['\^]''_`4 Q$Wb'Fcd'ey'gthpim'jkl''j'j'no'''q'r's#P Q'uvyw'x''j'z'{'''0}'~'0'' Q''''''''C'\'''''''0''''0'''y''''y'j'''''7'''?'j'\'\'\'\'\'j'\'\'\'\'\'\''''''#P'' Q''''Y~''''']"'''''b''''''''' Q''j''''''''0''j''x9 o3p{oo'FGX(]?()G  )'0zG  * GG*H'>*I+I+IJ' *# JJK K!"KK'K$'%&,LGMP,()'yMNh,+2,/-.O>c1O,01-Plo$-3645P'M.b78-.t/PQ :Y;J<C=@>?/QQRnABR}0PS1.DGEFzyO2HISTTKRLOMN#PTTTPQT122SVTU2CVUcWX3M3(mZi[b\_]^4z OQ`aC'jVVcfdeVwEgh4[VjqknlmVV5 sopVWGWVWrustWWX[XvwY`YoY~yz{|}~YYZuZ[t[8[\G\L]]"]^5^|^_` 6`86 6[aau77Fab b9N9:;;(;7Ol;bWc$cgd`?Keeffg-g!'\Zg?g4h-h@ci+@ɓjB7jQjkOBkAeAB)k|ykCDlll QDrlDEZm,='mn!'n''y'''';('' '77777 Q$ Q'\;(  'z z 7'  '''''' Q''''\'y''''''#P'' !'"'#'$'%'&''('#P Q'\*-+,./ }1@29364578%:=;<>?AKBHCDEFGIJLOMNPQSkTUVWfX_Y\Z[]^`cabde%g}hzijklmnopqrstuvwxy7{|%~  }Q%( v Q s    8 }%!% 6"%#$&')E*6+/,-.031245w7>8;9:<=?B@ACD%FUGNHKIJLM%ORPQSTVdWZXY[\]^a_`bcehfgij%lmno{pwqtrsuv%xyz Q|}~% ܏Ov }!56^www%OE& Q     z z  #!"$%Iz'6(/),*+ -. s0312457>8;9: Q<=%?B@ACDFhGVHOILJKMNPSQR QTUWaX^YZ[\]_`%becd QfgixjqknlmQoprustvw y}z{|~[?mmmmmmmmmmmmmmmm W }avOw.k@.=L_ s v     w !0")#&$%'(Q*-+,./182534%679<:;%=>@A`BQCJDGEFHIKNLMOP RYSVTUWXZ][\ }^_%apbicfdeghjmklnoqxrustvwOy|z{}~v U!!6wwmo9=!Fxx#u uu6#Am\A%     Ov !"#$&5'.(+)*,- /201346:789;><=F?@vBCRDKEHFGIJ%LOMNFPQSTUVWXYZ[\]^_`abc}djefghi#Pktlpmno'qrsuyvwx'z{| Q~ Q Q' QO } #A%  [`!! %a v 9 * #             !  " $'%&()+2,/-.O01364578:L;B<?=>@AQCFDEGHIJK _MTNQOPURSUXVWOYZ \|]^_`oahbecd3fgiljkOmnpwqtrs uv }xyz{|}~4OO%8| smQy /%\u% O     %O!("%#$&'!),*+-.0]1@29364578:=;<>?!AOBECDFGHILJKwm6MN!PSQRTUVWZXY!wM^R[\aMm!ӵ^m_f`cabdegjhiklnuorpqstvywx_z{}~w%w$%|$I*     C~  !$"#%&'()+:,3-0./ _12 475689;B<?=> @ACFDEGHJjK[LSMPNO%QRTWUVXYZ \c]`^_%ab%dgefhi%k}lvmsnopqrtu wzxy{|~$%%%:$% %Om_ O     vT8)" ! #&$%'(*1+.,-!/02534679E:A;><=v?@BCD3FMGJHIKLNQOPRSUtVeW^X[YZ\] _b`avcdOfmgjhi%klmnqop%rsuv}wzxy{|Q~  Q%  v%mO%    % O|V4%|" !#$&-'*()+,.1/0235D6=7:89;<%>A?@%BC EOFLGHIJKMNPSQRwTUWvXgY`Z][\U^_adbcwef }hoiljk%mnpsqrtuwxy|z{%}~    % }.FZOQz $  }%    Q_@. '!$"#%&(+)*,-/9061234578:=;<>?APBICFDEGHJMKLNOQXRUST VWY\Z[]^`ambicfdeOgh3jklnxoupqrstvwy|z{}~%$ $$$%vOO       ! "#8%&c'6(/),*+-.%0312457>8;9:<=?B@ACDEOFOGOHIOJOKTOLMOONOOPOQOROSOOUOVOWOXOOYZO[OO\]O^a_`w!"O"bO"Odvelfighjkmpnoqrstumw~x{yz|} !$Qw _%| c{~f     1 v D 5!+"(#$%&')*,/-.012346=7:89!$;< >A?@BCETFMGJHI KLmNQOPRSU\VYWX$Z[]`^_abvdefugnhkijlmorpqstv}wzxy{|~Omm6%U }%{) v!%s    ! Q" !#&$%'(*\+:,3-0./12q4756w89 ;U<R=>?@ABCDEFGHIJKLMNOPQ#P#PST VYWX!Z[]l^e_b`a cd%fighjkmtnqoprsuxvwyz|}~v %v %O yjzs v$ %%        }v!4"m#i$I%7&0'-()*+,%./1423$56Q8?9<:;=>@CABDEFGH3JZKRLOMNvPQOSTUVWXY Q[b\_]^4`a8cfdegh%jHkwlpmno2qtrsuvQxyz{|}~C77z 'y Q Q Q Q Q Q Q Q Q'\77z ssCllfy#P#P$$   '  )au$z '\7 Q! s)"#b y#P%&'()*=+2,-./01#P34576$89:;<.>? Q@ABCDEFGz I^JTKNLMOPQRS%UXVWYZ[\]O_f`cabdegjhi klnopqxrustvwy|z{!$}~%2Ov ݉VVVVĚĚĚĚ*3*3*3*3 O }   ! % "-#'$%& ] l()*+, }.1/023 5n6u7V8G9@:=;<>?OADBCEFHOILJKMNmPSQRTUWfX_Y\Z[]^%`cabdegnhkijlmorpqOstvOw@xy|z{ }~=1P# 1W>  U$1P# $1#  )   wT|<8l"uWU !#&$%|;'(<=*9+2,/-.s01R; f3645;;;%78|e:;<<+>?5AHBECDFGILJKMNP_QXRUSTqVWY\Z[%]^`gadbcefhkij8lmopqr|sytuvwxz{}~O %%v  OG/ŽL*########## # # # ## ##### !"$'%&() +=,3-0./124756%89:;<3>E?B@ACDFIGH~/JKMoN]OVPSQRTUWZXY[\^e_b`acdfighjklmnpqxrustvw y|z{W}~ €‡„‚ƒw…†ˆ‹‰ŠŒO¿‘£’œ“–”•—˜™š› žŸO¡¢¤²¥¯¦§¨©¬ª«x#FM#5­®=E9x{°± ³¹´µ¶·¸º»¼½¾#AO%  OOOOOOOOOOO"%%m    (%" !www#$mx#&'),*+m-.%0ÿ1p2Q3B4;5867 9:<?=>@ACJDGEF6HIKNLM%OPRaSZTWUVXY[^\]_`bicfde!ghjmklnoqÓrÁsztwuv$xy {~|}QÀÂÌÃÆÄÅ%ÇÈÉÊËÍÐÎÏÑÒÔéÕßÖÙ×ØÚÛÜÝÞ%àãáâäåæçè%êøëõìíîïòðñwóôLLՍö÷Oùüúûýþsyu!)u0ww  ** * * ** 9*# !"$'%&()+2,/-. }013645%78:I;B<?=>v@ACFDEGHJQKNLMOPRDSTUVWXYęZĊ[n\i]^_`abcd#Pefgh#PjklmyyopqrstuvwĆx{yz'jl|}~ĀāĂ㥹 QćĈĉ#PċČčĎďĐđĒēĔĕĖėĘlPĚıěĜĝĪĞğĠġĢģĤĥĦĨħ7z ĩ8īĬĭĮįİ'jIJijĿĴĵĶķĸĹĺĻļĽľ'j Q Q#=*'y#####z # Q##'#####?##########P##OQ#####8******** **  * * ***'y*OOOOOOOOOOOOOOOO !OO"O#O$%O&(O'#PO)O'O+,-'j./801234567 Q Q9:;< Q>?@AB#PC#PEFH_IJŌKmL^MTNQOP%RSU[VWXYZ\]_f`cabwdegjhi kl%n}ovpsqrtuwzxy{|~ŅłŀŁŃń%ņʼnŇňŊŋ%ōůŎŝŏŖŐœőŒŔŕŗŚŘř }śŜŞťşŢŠšţŤŦũŧŨŪūŬŭŮŰſűŸŲŵųŴŶŷŹżźŻŽž%mOQO     _O4%O%" !m#$&-'*()Q+,O.1/0 235D6=7:89;<>A?@BCEXFIGHJKLMVNOPQRSTUW{Y\Z[ ]^`*aƣbƄcudnekfghij%lmorpqstv}wzxyv{| ~Ɓƀ Ƃƃ ƅƔƆƍƇƊƈƉƋƌƎƑƏƐƒƓƕƜƖƙƗƘƚƛ ƝƠƞƟơƢƤƥƴƦƭƧƪƨƩƫƬƮƱƯư ƲƳ%ƵƼƶƹƷƸƺƻmƽƾƿ !      }#   \ !"%$'%&()+m,K-<.5/201346978:;=D>A?@BCEHFGIJL[MTNQOPRS_UXVW_YZ\c]`^_6abdjefghikl%nǐoǁpwqtrs!uvx~yz{|}%ǀ%ǂljǃdžDŽDž!LJLj%NJǍNjnjǎǏǑǠǒǙǓǖǔǕǗǘǚǝǛǜǞǟǡǨǢǥǣǤǦǧǩǪǫOǭǮǯǰ6DZDzNdzǴǵǶǿǷǻǸǹǺ%ǼǽǾ _    +      m_" !#$%&')( Q* Q,;-2./01O37456%89:<E=A>?@BCDFJGHIKLMOȠPzQdR[SWTUVXYZ\`]^_abcenfjghiOklmospqrtuvwxy {ȍ|Ȅ}~ȀȁȂȃQȅȉȆȇȈȊȋȌȎȗȏȓȐȑȒ ȔȕȖȘȜșȚțaȝȞȟȡȢȵȣȬȤȨȥȦȧȩȪȫOȭȱȮȯȰ ȲȳȴȶȿȷȻȸȹȺ !ȼȽȾ33mOɔ?      ) !%"#$&'(*3+/,-.012 &485679:;<=>%@mAWBKCGDEF sHIJ LSMNOPQR TUVXdY`Z[\]^_QabceifghjklnɁoxptqrsuvwy}z{|~ɀɂɋɃɇɄɅɆOɈɉɊɌɐɍɎɏɑɒɓɕɖɗɪɘɡəɝɚɛɜɞɟɠɢɦɣɤɥɧɨɩɫɷɬɳɭɮɯɰɱɲɴɵɶɸɼɹɺɻɽɾɿ%v %   %  #% !"$-%)&'(O*+, .2/01%3457ˉ89ʋ:d;N<E=A>?@BCDFJGHIKLMO[PTQRSUVWXYZ\`]^_vabcexfogkhij lmnptqrsuvwyʂz~{|}ʀʁʃʇʄʅʆyʈʉʊ ʌʯʍʜʎʓʏʐʑʒ%ʔʘʕʖʗʙʚʛʝʦʞʢʟʠʡvʣʤʥʧʫʨʩʪ%ʬʭʮʰʱʽʲʹʳʴʵʶʷʸʺʻʼʾʿQ 5 O%v    "  yO !#,$(%&')*+3-1./0O234 6\7F8=9:;<>B?@A%CDE !GPHLIJKMNOQURST%VWXYZ[]s^j_f`abcdeghiykolmn%pqrtˀuyvwxz{|}~mˁ˅˂˃˄ˆˇˈˊˋˌ˫ˍˠˎ˗ˏ˓ːˑ˒˔˕˖v˘˜˙˚˛ ˝˞˟ ˡ˦ˢˣˤ˥˧˨˩˪ˬ˷˭˲ˮ˯˰˱˳˴˵˶˸˽˹˺˻˼˾˿ s "      O !#5$*%&'()_+0,-./12346A7<89:;%=>?@ }BGCDEFvHIJKMNOPQRSTUVzWX[YZ6\a]^_`6bfcde!ghjiklmtnqop6rsuxvw6y{<|X}~!̦̗̀́̂̃̐̄̊̅̆̇̈̉6̋̌̍̎̏6̡̢̛̖̘̟̙̜̝̞̠̣̤̥̑̒̓̔̕̚/̵̧̨̼̩̯̪̫̬̭̮6̴̰̱̲̳6̶̷̸̹̺̻U̽̾̿v666/ U    U "s#N$9%2&,'()*+6-./01/345678:G;A<=>?@!BCDEFHIJKLM6O^PWQRSTUVrVXYZ[\]6_l`fabcdeghijkmnopqrUt͟u͊v̓w}xyz{|6~̀́͂6͇͈͉̈́͆ͅ6͍͎͋͌͒͘͏͐͑6͓͔͕͖͙͚͗͛͜͝͞͠ͱͪͤͣ͢͡vͥͦͧͨͩ6ͫͬͭͮͯͰ6ͲͿͳ͹ʹ͵Ͷͷ͸ͺͻͼͽ;66p6/66 66 V   f E!0")#$%&'(6*+,-./61>283456769:;<=/?@ABCDF[GTHNIJKLM6OPQRSUVWXYZ1\i]c^_`ab6defghfjklmno6qrΗs΂t{uvwxyzf|}~΀΁6΃ΐ΄Ί΅Ά·ΈΉ6΋Ό΍ΎΏ6ΑΒΓΔΕΖ6ΘέΙΦΚΠΛΜΝΞΟvΡ΢ΣΤΥΧΨΩΪΫάήλίεΰαβγδ6ζηθικ6μνξο66v66    / rV/`sH3, &!"#$%/'()*+6-./0124A5;6789:6<=>?@6BCDEFG6I^JWKQLMNOPRSTUVXYZ[\]/_l`fabcde/ghijkmnopqrtϟuϊvσw}xyz{|~πρς6τυφχψωVϋϘόϒύώϏϐϑϓϔϕϖϗϙϚϛϜϝϞUϠϵϡϮϢϨϣϤϥϦϧ6ϩϪϫϬϭϯϰϱϲϳϴ6϶ϷϽϸϹϺϻϼvϾϿ!6//// //--*  //b/ / //-* v"A#2$+%&'()*6,-./013:4567896;<=>?@BQCJDEFGHIKLMNOP6RYSTUVWXZ[\]^_abСcЂdselfghijkmnopqr6t{uvwxyz|}~ЀЁЃВЄЋЅІЇЈЉЊrVЌЍЎЏАБГКДЕЖЗИЙЛМНОПР6ТУвФЫХЦЧШЩЪ6ЬЭЮЯаб-гкдежзий6лмноп666% 6     6/!9"*#$%&'()6+2,-./01345678/:I;B<=>?@APCDEFGH/JQKLMNOPRSTUVWYZҶ[ \ѳ]ш^s_l`fabcde6ghijk6mnopqrtсu{vwxyz!|}~ртуфхцч/щўъїыёьэюяѐ6ђѓєѕі6јљњћќѝџѬѠѦѡѢѣѤѥ6ѧѨѩѪѫ6ѭѮѯѰѱѲ/ѴѵѶѷѽѸѹѺѻѼvѾѿ6666 f b 7 "/ !6#0$*%&'()6+,-./61234568M9F:@;<=>?6ABCDEGHIJKL6N[OUPQRSTVWXYZ\]^_`a6c҈dyerflghijkmnopqstuvwx6zҁ{|}~Ҁ6҂҃҄҅҆҇҉ҡҊҚҋҔҌҍҎҏҐґҒғ.1ҕҖҗҘҙқҜҝҞҟҠҢүңҩҤҥҦҧҨ6ҪҫҬҭҮ6ҰұҲҳҴҵ6ҷfҸҹҺһҼҽҾҿ6U66H6666P     /;&!6 !"#$%/'4(.)*+,-U/0123656789:<Q=J>D?@ABCvEFGHIKLMNOP6R_SYTUVWXZ[\]^`abcde6gӾhӓi~jwkqlmnoprstuv6xyz{|}6ӌӀӆӁӂӃӄӅӇӈӉӊӋӍӎӏӐӑӒ6ӔөӕӢӖӜӗӘәӚӛ6ӝӞӟӠӡӣӤӥӦӧӨ ӪӷӫӱӬӭӮӯӰ6ӲӳӴӵӶӸӹӺӻӼӽPӿU6666     !6AoD/(" !6#$%&'6)*+,-.0=172345689:;<6>?@ABC6EZFSGMHIJKL/NOPQRTUVWXY6[h\b]^_`acdefgvijklmn6pԛqԆrsytuvwx/z{|}~/ԀԁԂԃԄԅ6ԇԔԈԎԉԊԋԌԍ6ԏԐԑԒԓvԕԖԗԘԙԚvԜԱԝԪԞԤԟԠԡԢԣUԥԦԧԨԩ6ԫԬԭԮԯ԰%ԲԿԳԹԴԵԶԷԸԺԻԼԽԾ666V66&     %/ !"#$%rV'2(/)*+,-./01/3:456789-y;<=>?@/BCՂDcETFMGHIJKL/NOPQRS6U\VWXYZ[]^_`abVdselfghijkmnopqr6t{uvwxyz|}~ՀՁ6ՃբՄՓՅՌՆՇՈՉՊՋ6ՍՎՏՐՑՒՔ՛ՕՖ՗՘ՙ՚6՜՝՞՟ՠա6գղդիեզէըթժլխծկհձ6ճպմյնշոչջռսվտ6v6rV6     /6-& !"#$%'()*+,6.5/01234/6789:;6=>? @AB8CּDրEaFUGNHKIJLMHORPQ6STVZWXY6[^\]/_`bqcjdgef6hi6knlmoprysvtu6wx6z}{|6~/ց֠ւ֑փ֊քևօֆֈ։/֋֎֌֍֏֐6֖֒֙֓֔֕6֗֘6֛֚֝֜֞֟/֢֦֣֤֥֭֡6֧֪֨֩6֫֬6ְֱֲֵ֮֯6ֳִ.aֶַָֹ/ֺֻHֽ־ֿV-!/6666Uav.Q6 /6    666)"S !#&$%6'(f*1+.,-6/06253466769׬:s;W<H=D>A?@6BC6EFG6IPJMKL6NOvQTRS6UV/XdY]Z[\/^a_`bc6elfighjkmpnovqr6tאuׄv}wzxy{|~ׁ׀6ׂ׃/ׅ׉׆ׇ׈/׊׍׋׌v׎׏/בנגידזהו/חטvךםכל6מןסרעץףפ/צקשת׫׭׮ׯװױ6ײ6׳6״6׵6׶6׷6׸׼6׹׺6׻66.A׽6׾66׿66/666 6v/ 6 6  6 66UؓZ; /!("%#${&'6),*+/-.60412365867H9:/<K=D>A?@6BC6EHFG.IJLSMPNOQR6TWUV6XY[w\h]a^_`6becdfg6ipjmklvnovqtrs6uvx؄y؀z}{|6~؁؂؃6؅،؆؉؇؈6؊؋6؍ؐ؎؏ؑؒ6ؔؕرؖإؗ؞ؘ؛ؙؚv؜؝؟آؠء6أؤrVئحاتبة/ثج6خدذ6زسغشطصض6ظع6ػؾؼؽ6ؿ6666666!66666     6/6ْS7($! "#v%&')0*-+,6./61423656P8D9@:=;<!>?6ABCaELFIGH6JKMPNO6QR6TsUdV]WZXYa[\6^a_`6bc6elfighjk6mpnoqrtكu|vywx/z{6}ـ~فق6لًمونه6ىي/ٌٍَُ!ِّٓٔٳٕ٤ٖٝٗٚ٘ٙUٜٛVٞ١ٟ٠6٢٣6٥٬٦٩٧٨6٪٫6٭ٰٮٯ6ٱٲfٴٵټٶٹٷٸ6ٺٻ6ٽپٿ6/!6/6v666UU  / S 8ڇO0!6 V")#&$%6'(6*-+,6./1@293645a78:=;<6>?UAHBECDvFGILJKMN6PlQ`RYSVTU6WX6Z][\6^_/aebcd6fighjkmxntoqpUrs6uvwyڀz}{|~6ځڄڂڃ6څچڈںډڞڊڒڋڌڏڍڎ6ڐڑړڗڔڕږ/ژڛڙښڜڝڟڮڠڧڡڤڢڣڥڦ6ڨګکڪ6ڬڭ6گڳڰڱڲfڴڷڵڶڸڹ6ڻڼ ڽھڿPV$$ !   666)"6 !f#&$%V'(*1+.,-6/06253466769ۜ:f;P<D=>A?@BC6EIFGHJMKLNO6QZRVSTUWXYf[_\]^6`cab/de6gۃhtipjmklvno6qrsu|vywx6z{6}ۀ~6ہۂ6ۄۍۅۉۆۇۈ.|ۊۋی6ێەۏےېۑ!ۓ۔UۖۙۗۘUۚۛU۝۞۽۟ۮۣ۠ۧۡۤۢ6ۥۦۨ۫۩۪Hۭ۬6ۯ۶۰۳۱۲U۴۵f۷ۺ۸۹6ۻۼ6۾ۿ6-y66!6/66/66  6   6܉J1"6 !/#*$'%&()U+.,-/02>3:47566896;<=6?C@AB6DGEF6HI6KjL[MTNQOP6RS6UXVWYZ\c]`^_ab6dgef6hi6kzlsmpno6qr6twuvxy{܂|}~6܀܁6܃܆܄܅6܇܈6܊܋ܷ܌ܛ܍ܔ܎ܑ܏ܐ6ܒܓ6ܕܘܖܗܙܚrVܜܣܝܠܞܟ/ܡܢ6ܤܴܥܦܧܨܩܪܫܬܭܮܯܱܰܲܳ{{ܵܶUܸܹܻܼܾܽܺܿHv.|666666666666666666,6/66  /    6ݣQ8,%" !P#$%&)'(6*+-4.1/023567/9B:>;<=?@ACJDGEFHI6KNLMuOPfRkS_TXUVWY\Z[]^`dabc!ehfgUijlݔmqnoprustvwxy66z{6|6}6~66݀6݁6݂6݃ݐ݄݈݊݅6݆6݇6s݉6s6݋ݎ݌ݍ66ݏ6s6ݑ6ݒ6ݓ6s6ݕݜݖݙݗݘ6ݚݛ6ݝݠݞݟ6ݡݢ6ݤݥݦݵݧݮݨݫݩݪ6ݬݭ6ݯݲݰݱݳݴfݶݽݷݺݸݹ6ݻݼfݾݿU6666666666666666P9vH6VV:6!6366666 6 6 6 6 *6666666L6666L6666L 66!"66#$'%6&6L66(6)6L+6,6-6.66/0616266L4756U896;J<C=@>?ABDGEFHIUKOLMN6PQR6TU8V޵WރXmYa6Z[^\]v_`VbfcdevgjhiHkl6nzospqr1twuv6xy{|}~ހށނބޙޅޑކލއފވމ/ދތvގޏސޒޓޖޔޕޗޘ6ޚަޛޢޜޟޝޞ1ޠޡޣޤޥfާޮިޫީުHެޭޯ޲ްޱ޳޴޶޷޸޹޺޽޻޼6޾޿!%.uU6vV6P6     \)%" !f#$6&'(6*1+.,-//062534f67V9ߕ:f;T<H=A>?@BECDHFG!IPJMKLNOfQRSvUZVWXY6[b\_]^v`acde6gyhwipjmklvnoKqtrs6uvxz߆{߂|}~߀߁f߃߄߅߇ߎ߈ߋ߉ߊߌߍߏߒߐߑvߓߔ6ߖߗ߳ߘߧߙߠߚߝߛߜߞߟ6ߡߤߢߣrVߥߦ6ߨ߬ߩߪ߫!߭߰߮߯6߲߱ߴߵ߼߶߹߷߸6ߺ߻߽߾߿vv6U/6/6U66P6N6     /65)" !#&$%/'(/*.+,-/2016346?7;89:u<=>@GADBCEF6HKIJULMOPoQ`RYSVTUWXZ][\U^_ahbecdUfg/iljkUmn/p|qxrustuvwy6z{}~6!uu6UUU66666{666  HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH&H   H6O' !$"#6%&U(/),*+/-./0L123H4H5H6H7H8H9H:H;H<H=HH>?CH@HABHDIEGFHHHHJHHK&HMNuPoQXRUSTVWYZ[\]6^6_6`6a6b6c6d6e6f6g6h6i6jmkl666n6ptqrsuxvwyz|}6~f6v/66//6666//IcontinentDcodeBASJgeoname_id_r+EnamesBdeEAsienBenDAsiaBes 6BfrDAsieBjaIアジアEpt-BREÁsiaBruHАзияEzh-CNF亚洲Gcountry eHiso_codeBJP # *EJapan 3 ;FJapón @EJapon HF日本 UFJapão aLЯпония m Rregistered_country  z  BCN # *EChina 3! ;! @EChine HF中国 U! aJКитай m!  BOC _r/ # *HOzeanien 3GOceania ;HOceanía @HOcéanie HOオセアニア U!^ aNОкеания mI大洋洲 z  BAU # *JAustralien 3IAustralia ;! @IAustralie HUオーストラリア UJAustrália aRАвстралия mL澳大利亚 !  z  BTH # *HThailand 3"N ;ITailandia @JThaïlande HLタイ王国 UJTailândia aNТаиланд mF泰国 "=  BNA _r- # *KNordamerika 3MNorth America ;MNorteamérica @QAmérique du Nord HO北アメリカ UQAmérica do Norte a]Северная Америка mI北美洲 z _e BUS # *CUSA 3MUnited States ;NEstados Unidos @KÉtats Unis HLアメリカ UCEUA aFСША mF美国 ! !  BEU _r, # *FEuropa 3FEurope ;# @# HOヨーロッパ U# aLЕвропа mF欧洲 z Z BRU # *HRussland 3FRussia ;ERusia @FRussie HIロシア UGRússia aLРоссия mO俄罗斯联邦  z _ BIN # *FIndien 3EIndia ;$ @DInde HIインド UFÍndia aJИндия mF印度 $  z q BMY # *HMalaysia 3% ;GMalasia @HMalaisie HOマレーシア UHMalásia aPМалайзия mL马来西亚 %  z A BKR # *ISüdkorea 3KSouth Korea ;MCorea del Sur @MCorée du Sud HL大韓民国 UMCoreia do Sul a]Республика Корея mF韩国 %}  z  BSG # *HSingapur 3ISingapore ;&- @ISingapour HRシンガポール UISingapura aPСингапур mI新加坡 &  z t BTW # *FTaiwan 3& ;GTaiwán @GTaïwan HF台湾 U& aNТайвань m& &  z R BHK # *HHongkong 3IHong Kong ;' @' HF香港 U' aNГонконг m'* &  z%} &  z &  z * BKH # *JKambodscha 3HCambodia ;GCamboya @HCambodge HRカンボジア国 UGCamboja aPКамбоджа mI柬埔寨 &  z& &  z &  z& &  z 8 BPH # *KPhilippinen 3KPhilippines ;IFilipinas @(: HXフィリピン共和国 U(H aRФилиппины mI菲律宾 (  z "=  z  BVN # *GVietnam 3( ;( @IViêt Nam HLベトナム UGVietnã aNВьетнам mF越南 ( # z )Tis_in_european_union BNL # *KNiederlande 3OThe Netherlands ;GHolanda @HPays-Bas HRオランダ王国 U(g aTНидерланды mF荷兰 # z$) &  BSA _r. # *KSüdamerika 3MSouth America ;KSudamérica @PAmérique du Sud HO南アメリカ UOAmérica do Sul aYЮжная Америка mI南美洲 z 4 BBR # *IBrasilien 3FBrazil ;FBrasil @GBrésil H[ブラジル連邦共和国 U( aPБразилия mF巴西 & ( z : BAR # *KArgentinien 3IArgentina ;( @IArgentine H[アルゼンチン共和国 U( aRАргентина mI阿根廷 &  z _qR BPS # *JPalästina 3IPalestine ;IPalestina @( HOパレスチナ U( aRПалестина mL巴勒斯坦 (o # z &O(& BES # *GSpanien 3ESpain ;GEspaña @GEspagne HLスペイン UGEspanha aNИспания mI西班牙 ( # z . (& BFR # *JFrankreich 3FFrance ;GFrancia @( HUフランス共和国 UGFrança aNФранция mF法国 (k # z (5 BGB # *BUK 3NUnited Kingdom ;KReino Unido @KRoyaume-Uni HF英国 U( aPБритания m(/ (  z$ ( # z ((& BSE # *HSchweden 3FSweden ;FSuecia @FSuède HXスウェーデン王国 UGSuécia aLШвеция mF瑞典 (m # z( ( ( z(d ( # z ,T(& BDE # *KDeutschland 3GGermany ;HAlemania @IAllemagne HXドイツ連邦共和国 UHAlemanha aFФРГ mF德国 ( # z .(& BCZ # *JTschechien 3GCzechia ;GChequia @ITchéquie HRチェコ共和国 UHChéquia aJЧехия mF捷克 ( # z( ( # z(k ( # z$) ( # z ( BCH # *GSchweiz 3KSwitzerland ;ESuiza @FSuisse HOスイス連邦 UGSuíça aRШвейцария mF瑞士 ( # z *s(& BAT # *KÖsterreich 3GAustria ;( @HAutriche H[オーストリア共和国 UHÁustria aNАвстрия mI奥地利 ( # z 0s(& BIT # *GItalien 3EItaly ;FItalia @FItalie HUイタリア共和国 UGItália aLИталия mI意大利 ( # z (& BGR # *LGriechenland 3FGreece ;FGrecia @FGrèce HUギリシャ共和国 UGGrécia aLГреция mF希腊 ( # z(m ( " z#Y ( # z( ( !B z! (  z n BAE # *\Vereinigte Arabische Emirate 3TUnited Arab Emirates ;WEmiratos Árabes Unidos @TÉmirats Arabes Unis HXアラブ首長国連邦 UWEmirados Árabes Unidos aFОАЭ mI阿联酋 ( # z (8(& BDK # *IDänemark 3GDenmark ;IDinamarca @HDanemark HUデンマーク王国 U( aJДания mF丹麦 ( # z "M(& BPT # *HPortugal 3( ;( @( HXポルトガル共和国 U( aTПортугалия mI葡萄牙 (  BAF _r* # *FAfrika 3FAfrica ;GÁfrica @GAfrique HLアフリカ U( x aLАфрика mF非洲 z # BGH # *EGhana 3( ;( @( HRガーナ共和国 UDGana aHГана mF加纳 ( ( U z  BZA # *JSüdafrika 3LSouth Africa ;JSudáfrica @NAfrique du Sud HO南アフリカ UNÁfrica do Sul aFЮАР mF南非 ( ( U z "+ BCM # *GKamerun 3HCameroon ;HCamerún @HCameroun HXカメルーン共和国 UICamarões aNКамерун mI喀麦隆 (  z + BTR # *GTürkei 3HTürkiye ;HTurquía @GTurquie HRトルコ共和国 UGTurquia aLТурция mI土耳其 ( # z  -(& BFI # *HFinnland 3GFinland ;IFinlandia @HFinlande H[フィンランド共和国 UJFinlândia aRФинляндия mF芬兰 ( # z  /P(& BPL # *EPolen 3FPoland ;GPolonia @GPologne HXポーランド共和国 UHPolônia aLПольша mF波兰 (  z  BJO # *IJordanien 3FJordan ;HJordania @HJordanie H]ヨルダン・ハシミテ王国 UIJordânia aPИордания mF约旦 (  z"= (  z ( # z *¹(& BBE # *GBelgien 3GBelgium ;HBélgica @HBelgique HRベルギー王国 U( aNБельгия mI比利时 ( # z  /U(& BRO # *IRumänien 3GRomania ;HRumanía @HRoumanie HOルーマニア UHRomênia aNРумыния mL罗马尼亚 ( ( U z  BKE # *EKenia 3EKenya ;( @( HRケニア共和国 UGQuênia aJКения mI肯尼亚 ( # z -8(& BIE # *FIrland 3GIreland ;GIrlanda @GIrlande HRアイルランド U( aPИрландия mI爱尔兰 ( ( U z s BUG # *FUganda 3( ;( @GOuganda HUウガンダ共和国 U( aLУганда mI乌干达 (  z  BAM # *HArmenien 3GArmenia ;( @HArménie HXアルメニア共和国 UHArmênia aNАрмения mL亚美尼亚 ( ( U z HV BTZ # *HTansania 3HTanzania ;( @HTanzanie H]タンザニア連合共和国 UITanzânia aPТанзания mL坦桑尼亚 ( ( U z  BBI # *GBurundi 3( ;( @( HUブルンジ共和国 U( aNБурунди mI布隆迪 (  z& (  z& ( ( z( ( # z / BNO # *HNorwegen 3FNorway ;GNoruega @HNorvège HUノルウェー王国 U( aPНорвегия mF挪威 ( # z -+(& BLU # *ILuxemburg 3JLuxembourg ;JLuxemburgo @(1 HUルクセンブルク U(> aTЛюксембург mI卢森堡 ( ( z 8> BCO # *IKolumbien 3HColombia ;( @HColombie HXコロンビア共和国 UIColômbia aPКолумбия mL哥伦比亚 ( ( z <H BPE # *DPeru 3(8 ;EPerú @FPérou HRペルー共和国 U(8 aHПеру mF秘鲁 ( # z  .(& BBG # *IBulgarien 3HBulgaria ;( @HBulgarie HXブルガリア共和国 UIBulgária aPБолгария mL保加利亚 ( ( z ;oJ BCL # *EChile 3(/ ;(/ @EChili HOチリ共和国 U(/ aHЧили mF智利 ( # z  g BUA # *GUkraine 3( ;GUcrania @( HXウクライナ共和国 UHUcrânia aNУкраина mI乌克兰 ( ( U z vj BEG # *HÄgypten 3EEgypt ;FEgipto @GÉgypte H]エジプト・アラブ共和国 UEEgito aLЕгипет mF埃及 ( " z _e BCA # *FKanada 3FCanada ;GCanadá @( HIカナダ U( aLКанада mI加拿大 (  z$ (  z ~ BIL # *FIsrael 3( ;( @GIsraël HRイスラエル国 U( aNИзраиль mI以色列 (  z k BQA # *EKatar 3EQatar ;ECatar @( HLカタール U( aJКатар mI卡塔尔 ( # z(Q (Q  z( (  z( ( # z  m> BMD # *ORepublik Moldau 3GMoldova ;HMoldavia @HMoldavie HUモルドバ共和国 UIMoldávia aNМолдова mL摩尔多瓦 ( # z( \ ( \ " z#Y ( \ # z( ( " z#Y #Y # z 0(& BHR # *HKroatien 3GCroatia ;GCroacia @GCroatie HXクロアチア共和国 UHCroácia aPХорватия mL克罗地亚 #Y # z(  BSC # *JSeychellen 3JSeychelles ;(u @(u HOセーシェル UPIlhas Seychelles a]Сейшельские о-ва mI塞舌尔 # z( #Y  z( ( " z#Y ( # z$) $) # z(~ $)  z  BIQ # *DIrak 3DIraq ;(; @(; HRイラク共和国 UFIraque aHИрак mI伊拉克 (* # z(E (E # z( 6 BBZ # *FBelize 3( ;FBelice @( HLベリーズ U( aJБелиз mI伯利兹 # z( (  z( 0 ( 0 # z(D (D " z( ( # z( ( # z( ( # z( $)  z& $) # z(D (W # z(k (W # z( ( # z( (~ # z(~ (~ # z( (~ " z#Y $) # z 0I BVA # *LVatikanstadt 3LVatican City ;SCiudad del Vaticano @GVatican H] ローマ法王庁 (バチカン市国) UHVaticano aNВатикан mI梵蒂冈 $) # z(D $) # z(Q <(& BCY # *FZypern 3FCyprus ;FChipre @FChypre HUキプロス共和国 U( aHКипр mL塞浦路斯 " z#Y ( # z( ( # z( ( # z(~ ( " z#Y ( # z$) ( " z 6v BVG # *XBritische Jungferninseln 3VBritish Virgin Islands ;OIslas Vírgenes @MÎles Vierges H[英領ヴァージン諸島 UYIlhas Virgens Britânicas a]Виргинские о-ва (Великобритания) mU英属维尔京群岛 (l # z( (  z& ( " z#Y ( # z( ( # z( #Y # z( #Y # z(v (v # z(E ( " z#Y  (& BLT # *GLitauen 3ILithuania ;HLituania @HLituanie HXリトアニア共和国 UILituânia aJЛитва mI立陶宛 " z#Y (  z( ( # z( ( # z(k ( " z#Y ( # z( ( # z$) $ # z ( ; BIS # *FIsland 3GIceland ;HIslandia @GIslande H[アイスランド共和国 UIIslândia aPИсландия mF冰岛 ( # z(~ ( # z(k (  z( 0 ( ( z(d ( # z(Q (  z ( # z( (  z"= ( " z#Y $  z  BIR # *DIran 3(! ;EIrán @(! H]イラン・イスラム共和国 UDIrã aHИран mF伊朗 (! # z( ( # z( ( # z(v ( # z( ( # z( ( ( z( #Y ( z(d #Y  z  ` BGE # *HGeorgien 3GGeorgia ;(" @HGéorgie HUグルジア共和国 UHGeórgia aLГрузия mL格鲁吉亚 (" # z .(& BSK # *HSlowakei 3HSlovakia ;JEslovaquia @ISlovaquie H] スロバキア (スロバキア共和国) UKEslováquia aPСловакия mL斯洛伐克 (#= # z(k #Y # z( (  z < BKZ # *JKasachstan 3JKazakhstan ;JKazajstán @($% H[カザフスタン共和国 ULCazaquistão aRКазахстан mO哈萨克斯坦 ($ # z( ( # z( (FtraitsRis_anonymous_proxy # z(D ( # z(k ( # z( ( # z e(& BEE # *GEstland 3GEstonia ;(%* @GEstonie HXエストニア共和国 UHEstônia aNЭстония mL爱沙尼亚 (% !B z! #Y " z#Y ( # z(k ( # z $B BGI # *IGibraltar 3(% ;(% @(% HRジブラルタル U(% aRГибралтар mL直布罗陀 (% # z(Q ( # z( ( # z (& BLV # *HLettland 3FLatvia ;GLetonia @HLettonie HUラトビア共和国 UHLetônia aLЛатвия mL拉脱维亚 (&O # z( ( # z( (  z( ( # z( ( # z( \ ( # z 0 (& BSI # *ISlowenien 3HSlovenia ;IEslovenia @ISlovénie HOスロベニア UJEslovênia aPСловения mO斯洛文尼亚 ('$ # z( (($($ # z( ( " z < BMX # *FMexiko 3FMexico ;GMéxico @GMexique HUメキシコ合衆国 U(' aNМексика mI墨西哥 ( # z( ( # z  BAL # *HAlbanien 3GAlbania ;(( @GAlbanie HXアルバニア共和国 UHAlbânia aNАлбания mO阿尔巴尼亚 ( # z( ( " z#Y (Q # z( ( # z( (($($ # z( $) # z( $)  z&  (& BHU # *FUngarn 3GHungary ;HHungría @GHongrie HXハンガリー共和国 UGHungria aNВенгрия mI匈牙利 " z#Y ()N # z()N ()N # z( ( # z(~ ( " z#Y ( " z#Y &  z& (  z& ( " z#Y ( # z(D ( # z(Q (W  z( (  z  BSA # *MSaudi-Arabien 3LSaudi Arabia ;MArabia Saudí @OArabie saoudite H[サウジアラビア王国 UOArábia Saudita a]Саудовская Аравия mO沙特阿拉伯 ( # z( ( ( U z(  (  # z(E (   z( 0 ('$ # z '(& BMT # *EMalta 3(+ ;(+ @EMalte HLマルタ島 U(+ aLМальта mI马耳他 (+ ( z(d ( " z#Y &  z%} &  z & " z 7L| BCR # *JCosta Rica 3(,1 ;(,1 @(,1 HOコスタリカ U(,1 aSКоста-Рика mO哥斯达黎加 (  z( 0 ( \ # z( ( \ # z(v (  z (  z$ ( # z( (  z( 0 ( # z( ( # z( (  z(* (*  z& #Y !B z ![ BNZ # *JNeuseeland 3KNew Zealand ;MNueva Zelanda @QNouvelle-Zélande HXニュージーランド UNNova Zelândia a[Новая Зеландия mI新西兰 #Y # z(m #Y  z m BBH # *GBahrain 3(. ;HBahréin @HBahreïn HOバーレーン U(. aNБахрейн mF巴林 #Y  z$ #Y  z L BID # *JIndonesien 3IIndonesia ;(. @JIndonésie H[インドネシア共和国 UJIndonésia aRИндонезия mO印度尼西亚 #Y ( U z(  #Y # z( #Y  z( #Y  z #Y  z%} #Y  z #Y  z% #Y # z(Q #Y  z( #Y " z( #Y # z( #Y # z(E #Y  z& #Y " z I1g BVI # *\Amerikanische Jungferninseln 3SU.S. Virgin Islands ;ZIslas Vírgenes de EE. UU. @]Îles Vierges des États-Unis H[米領ヴァージン諸島 UXIlhas Virgens Americanas a]Виргинские о-ва (США) mU美属维尔京群岛 #Y  z( 0 #Y # z(v #Y " z#Y #Y($($ " z(' #Y # z( #Y ( z( #Y ( z( #Y  z(f #Y # z( #Y  z  BSY # *FSyrien 3ESyria ;ESiria @ESyrie H]シリア・アラブ共和国 UFSíria aJСирия mI叙利亚 (1F # z( ( # z( (Q # z( ( " z#Y (E # z( (($($ # z(% $)  z& ( # z( ( # z( (  z$ (  z ( # z( (  z & BLB # *GLibanon 3GLebanon ;GLíbano @ELiban HUレバノン共和国 U(2 aJЛиван mI黎巴嫩 (2{ # z(Q ( # z( ( # z(m ( # z( l BAZ # *MAserbaidschan 3JAzerbaijan ;KAzerbaiyán @LAzerbaïdjan H]アゼルバイジャン共和国 UKAzerbaijão aVАзербайджан mL阿塞拜疆 # z( (3$  z(! (3$  z ` BOM # *DOman 3(3 ;EOmán @(3 HOオマーン国 UDOmã aHОман mF阿曼 (3 # z _L BRS # *GSerbien 3FSerbia ;(4i @FSerbie HLセルビア UGSérvia aLСербия mL塞尔维亚 (4N # z( ( # z$) ( # z(#= ( # z$) #Y # z(~ ( # z( ( # z( ( # z(D ( # z( (m  z( 0 ( " z( ( # z( ( # z()N ( # z(Q ( # z( ( # z( ( # z( ( # z( \ ( # z(m (  z(* ( # z(E ( # z( (  z($ ( # z(k ( # z( (  z'o 'o # z  BMK # *NNordmazedonien 3ONorth Macedonia ;SMacedonia del Norte @RMacédoine du Nord HR北マケドニア UJMacedônia a]Северная Македония mO前南马其顿 (6B  z& (~ " z#Y (~ # z( (~ # z(~ (! # z .k BLI # *MLiechtenstein 3(7Q ;(7Q @(7Q H]リヒテンシュタイン公国 U(7Q aVЛихтенштейн mO列支敦士登 (7@ # z(% (W " z#Y (W # z(m (W # z( (W  z($ $) # z(#= $) # z .k^ BJE # *FJersey 3(87 ;(87 @(87 HOジャージー U(87 aLДжерси mI泽西岛 (8& # z( (l # z( (k # z(E (k # z(D (k # z( (k # z( (k # z( (k # z( (k # z( (k # z(Q (k # z( (k # z( (k # z( (k # z( (k # z( ( # z( ( # z(m $) # z(m $)($($  z& #Y  z $)  z( (  z(* $) # z 2% BBA # *WBosnien und Herzegowina 3VBosnia and Herzegovina ;RBosnia-Herzegovina @SBosnie-Herzégovine H]ボスニア・ヘルツェゴビナ UUBósnia e Herzegovina a] Босния и Герцеговина mF波黑 (9  z(3$ (3$  z( $)  z& ( # z( ( " z#Y ( # z$) ( # z( (($($ # z( (!  z O BKG # *KKirgisistan 3JKyrgyzstan ;KKirguistán @KKirghizstan HUキルギス共和国 ULQuirguistão aTКыргызстан mR吉尔吉斯斯坦 (;: ( U z E(& BRE # *HRéunion 3(; ;HReunión @(; HOレユニオン UHReunião aNРеюньон mI留尼汪 (;  z $) # z$) ( # z(#= ( # z( ( # z( (  z($ ( # z(Q (  z(" ( # z( ( # z( (  z(;: ( " z#Y (! # z( (($($ # z( (Q # z(#= (Q # z( (Q !B z! ( # z(v ( # z( (  z& (  z(.q (  z ( " z( ( ( z(d ( !B z Y  # *RAmerikanisch-Samoa 3NAmerican Samoa ;OSamoa Americana @RSamoa américaines HO米領サモア U(= a]Американское Самоа mO美属萨摩亚 ( " z 6 BAI # *HAnguilla 3(> ;GAnguila @(> HLアンギラ U(> aNАнгилья mI安圭拉 ( " z 6L BAG # *SAntigua und Barbuda 3SAntigua and Barbuda ;QAntigua y Barbuda @RAntigua-et-Barbuda H]アンティグア・バーブーダ URAntígua e Barbuda a]Антигуа и Барбуда mU安提瓜和巴布达 ( ( z( ( " z 6 BAW # *EAruba 3(? ;(? @(? HLアルバ島 U(? aJАруба mI阿鲁巴 ( " z 6 BBS # *GBahamas 3(@M ;(@M @(@M HLバハマ国 U(@M aLБагамы mI巴哈马 ( " z 3| BBB # *HBarbados 3(@ ;(@ @GBarbade HOバルバドス U(@ aPБарбадос mL巴巴多斯 ( " z( ( " z 6a BBM # *GBermuda 3(A2 ;HBermudas @HBermudes HUバミューダ諸島 U(AA a\Бермудские о-ва mI百慕大 ( ( z ;q BBO # *HBolivien 3GBolivia ;(A @GBolivie HUボリビア共和国 UHBolívia aNБоливия mL玻利维亚 ( " z(l ( " z 6. BKY # *LKaimaninseln 3NCayman Islands ;MIslas Caimán @NÎles Caïmans HRケイマン諸島 ULIlhas Caiman a]Каймановы Острова mL开曼群岛 ( ( z( ( ( z( ( !B z  BCK # *JCookinseln 3LCook Islands ;JIslas Cook @JÎles Cook HOクック諸島 UJIlhas Cook aWОстрова Кука mL库克群岛 ( " z(, ( " z 6] BCU # *DKuba 3DCuba ;(C @(C HUキューバ共和国 U(C aHКуба mF古巴 ( " z 6 BDM # *HDominica 3(D, ;(D, @IDominique HOドミニカ国 U(D, aPДоминика mL多米尼克 ( " z 5< BDO # *MDom. Republik 3RDominican Republic ;MSanto Domingo @WRépublique dominicaine HUドミニカ共和国 UURepública Dominicana a]Доминиканская Республика mL多米尼加 ( ( z 7Қ BEC # *GEcuador 3(E~ ;(E~ @IÉquateur HXエクアドル共和国 UGEquador aNЭквадор mL厄瓜多尔 ( " z 6 BSV # *KEl Salvador 3(E ;(E @HSalvador HUエルサルバドル U(E aRСальвадор mL萨尔瓦多 ( ( z 5 BFK # *NFalklandinseln 3PFalkland Islands ;NIslas Malvinas @OÎles Malouines H[フォークランド諸島 UNIlhas Malvinas a]Фолклендские о-ва m]福克兰群岛(马尔维纳斯) ( !B z !" BFJ # *GFidschi 3DFiji ;DFiyi @EFidji HLフィジー U(Ge aJФиджи mF斐济 ( " z 6O BGD # *GGrenada 3(G ;GGranada @GGrenade HLグレナダ U(G aNГренада mL格林纳达 ( " z 6(& BGP # *JGuadeloupe 3(H7 ;IGuadalupe @(H7 HRグアドループ U(HI aRГваделупа mL瓜德罗普 ( !B z = BGU # *DGuam 3(H ;(H @(H HIグアム U(H aHГуам mF关岛 ( " z 6 BGT # *IGuatemala 3(I ;(I @(I HOグアテマラ U(I aRГватемала mL危地马拉 ( ( z 3g BGY # *FGuyana 3(I{ ;(I{ @(I{ HLガイアナ UFGuiana aLГайана mI圭亚那 ( " z 8 BHT # *EHaiti 3(I ;FHaití @FHaïti HRハイチ共和国 U(I aJГаити mF海地 ( " z 7d BHN # *HHonduras 3(JK ;(JK @(JK H[ホンジュラス共和国 U(JK aPГондурас mL洪都拉斯 ( " z 5@ BJM # *GJamaika 3GJamaica ;(J @IJamaïque HOジャマイカ U(J aLЯмайка mI牙买加 ( !B z = BKI # *HKiribati 3(K7 ;(K7 @(K7 HUキリバス共和国 UIQuiribati aPКирибати mL基里巴斯 ( " z 6 BMS # *JMontserrat 3(K ;(K @(K HUモントセラト島 U(K aTМонтсеррат mO蒙特塞拉特 ( !B z  3 BNR # *ENauru 3(L/ ;(L/ @(L/ HIナウル U(L/ aJНауру mF瑙鲁 ( " z 72 BNI # *INicaragua 3(L ;(L @(L HXニカラグア共和国 UJNicarágua aRНикарагуа mL尼加拉瓜 ( !B z  % BNC # *MNeukaledonien 3MNew Caledonia ;ONueva Caledonia @SNouvelle-Calédonie HXニューカレドニア UONova Caledônia a]Новая Каледония mR新喀里多尼亚 ( !B z = BNU # *DNiue 3(M ;(M @(M HLニウエ島 U(M aHНиуэ mF纽埃 ( !B z  k BNF # *LNorfolkinsel 3NNorfolk Island ;LIsla Norfolk @LÎle Norfolk HUノーフォーク島 ULIlha Norfolk aTо-в Норфолк mL诺福克岛 (  z  BKP # *INordkorea 3KNorth Korea ;OCorea del Norte @NCorée du Nord H] 韓国、朝鮮民主主義人民共和国 UOCoreia do Norte aHКНДР mF朝鲜 ( " z 8 BPA # *FPanama 3(O{ ;GPanamá @(O{ HIパナマ U(O aLПанама mI巴拿马 ( !B z ޴ BPG # *OPapua-Neuguinea 3PPapua New Guinea ;SPapúa-Nueva Guinea @ZPapouasie-Nouvelle-Guinée H]パプア・ニューギニア UQPapua-Nova Guiné a] Папуа – Новая Гвинея mU巴布亚新几内亚 ( ( z 4t BPY # *HParaguay 3(P ;(P @(P HXパラグアイ共和国 UHParaguai aPПарагвай mI巴拉圭 ( ( z(' (  z( ( !B z = BPN # *NPitcairninseln 3PPitcairn Islands ;NIslas Pitcairn @HPitcairn HUピトケアン諸島 UNIlhas Pitcairn aVо-ва Питкэрн mL皮特凯恩 ( " z E BPR # *KPuerto Rico 3(R ;(R @JPorto Rico HRプエルトリコ U(R( aUПуэрто-Рико mL波多黎各 ( " z 6 BKN # *SSt. Kitts und Nevis 3RSt Kitts and Nevis ;WSan Cristóbal y Nieves @\Saint-Christophe-et-Niévès H] セントクリストファー・ネビス UYSão Cristóvão e Névis a]Сент-Китс и Невис mU圣基茨和尼维斯 ( " z 6 BLC # *ISt. Lucia 3KSaint Lucia ;LSanta Lucía @LSainte-Lucie HRセントルシア ULSanta Lúcia aSСент-Люсия mL圣卢西亚 ( " z 6 BVC # *]St. Vincent und die Grenadinen 3YSt Vincent and Grenadines ;\San Vicente y las Granadinas @]Saint-Vincent-et-les-Grenadines H]セントビンセント及びグレナディーン諸島 UYSão Vicente e Granadinas a]Сент-Винсент и Гренадины m]圣文森特和格林纳丁斯 ( !B z =N BWS # *ESamoa 3(Ux ;(Ux @(Ux HL西サモア U(Ux aJСамоа mI萨摩亚 ( !B z  6 BSB # *ISalomonen 3OSolomon Islands ;NIslas Salomón @MÎles Salomon HRソロモン諸島 UNIlhas Salomão a]Соломоновы Острова mO所罗门群岛 ( ( z 3 BSR # *HSuriname 3(V ;GSurinam @(V HUスリナム共和国 U(V aNСуринам mI苏里南 ( ( U z C BSZ # *HEswatini 3(W ;HEsuatini @ISwaziland HXスワジランド王国 UJEssuatíni aPЭсватини mL斯威士兰 ( !B z =b BTK # *GTokelau 3(W ;(W @(W HLトケラウ U(W aNТокелау mI托克劳 ( !B z = BTO # *ETonga 3(W ;(W @(W HOトンガ王国 U(W aJТонга mF汤加 ( " z 6W BTT # *STrinidad und Tobago 3STrinidad and Tobago ;QTrinidad y Tobago @RTrinité-et-Tobago H]トリニダード・トバゴ UQTrinidad e Tobago a]Тринидад и Тобаго mX特立尼达和多巴哥 ( " z 6T BTC # *WTurks- und Caicosinseln 3XTurks and Caicos Islands ;UIslas Turcas y Caicos @YÎles Turques-et-Caïques H]タークス・カイコス諸島 UUIlhas Turcas e Caicos a]о-ва Тёркс и Кайкос m[特克斯和凯科斯群岛 ( !B z  3Y BTV # *FTuvalu 3(Z@ ;(Z@ @(Z@ HIツバル U(Z@ aLТувалу mI图瓦卢 ( ( z 4|Y BUY # *GUruguay 3(Z ;(Z @(Z HXウルグアイ共和国 UGUruguai aNУругвай mI乌拉圭 ( !B z  BVU # *GVanuatu 3([ ;([ @([ HUバヌアツ共和国 U([ aNВануату mL瓦努阿图 ( ( z 7Q BVE # *IVenezuela 3([ ;([ @LVénézuéla HXベネズエラ共和国 U([ aRВенесуэла mL委内瑞拉 ( " z 4B BPM # *WSt. Pierre und Miquelon 3YSaint Pierre and Miquelon ;USan Pedro y Miquelón @XSaint-Pierre et Miquelon H] サンピエール島・ミクロン島 UVSão Pedro e Miquelão a]Сен-Пьер и Микелон m]圣皮埃尔和密克隆群岛 ( # z .i BAD # *GAndorra 3(] ;(] @GAndorre HLアンドラ U(] aNАндорра mI安道尔 ( ( U z 3%G BAO # *FAngola 3(] ;(] @(] HUアンゴラ共和国 U(] aLАнгола mI安哥拉 (  z( (  z(3$ (  z(- (  z zu BBD # *KBangladesch 3JBangladesh ;(^, @(^, H] バングラディッシュ人民共和国 U(^, aRБангладеш mL孟加拉国 ( # z  @ BBY # *GBelarus 3(^ ;KBielorrusia @LBiélorussie HXベラルーシ共和国 UMBielorrússia aPБеларусь mL白俄罗斯 ( ( U z $" BBJ # *EBenin 3(_J ;FBenín @FBénin HRベニン共和国 U(_J aJБенин mF贝宁 (  z  BBT # *FBhutan 3(_ ;FBután @GBhoutan HRブータン王国 UFButão aJБутан mF不丹 ( # z(9 ( ( U z ? BBW # *HBotswana 3(`4 ;HBotsuana @(`4 HUボツワナ共和国 U(`D aPБотсвана mL博茨瓦纳 (  z Ȏ BBN # *FBrunei 3(` ;GBrunéi @(` HLブルネイ U(` a]Бруней-Даруссалам mF文莱 ( # z( ( ( U z $ BBF # *LBurkina Faso 3(a8 ;(a8 @(a8 HUブルキナファソ UMBurquina Faso aWБуркина-Фасо mO布基纳法索 ( ( U z( (  z'o ( ( U z( ( ( U z 3~ BCV # *IKapverden 3JCabo Verde ;(b @HCap-Vert HRカーボベルデ U(b aSКабо-Верде mI佛得角 ( ( U z  BCF # *\Zentralafrikanische Republik 3XCentral African Republic ;YRepública Centroafricana @LCentrafrique H[中央アフリカ共和国 UZRepública Centro-Africana a]#Центрально-Африканская Республика mF中非 ( ( U z %% BTD # *FTschad 3DChad ;(c @ETchad HRチャド共和国 UEChade aFЧад mF乍得 ( !B z  BCX # *OWeihnachtsinsel 3PChristmas Island ;OIsla de Navidad @NÎle Christmas HRクリスマス島 UNIlha Christmas aXо-в Рождества mI圣诞岛 (  z p BCC # *KKokosinseln 3WCocos (Keeling) Islands ;KIslas Cocos @KÎles Cocos H]ココス(キーリング)諸島 UUIlhas Cocos (Keeling) aZКокосовые о-ва m[科科斯(基林)群岛 ( ( U z I BKM # *GKomoren 3GComoros ;GComoras @GComores H] コモロ・イスラム連邦共和国 U(e aZКоморские о-ва mI科摩罗 ( ( U z 0 BCD # *EKongo 3HDR Congo ;RCongo Democrático @ECongo HXコンゴ民主共和国 UPCongo - Kinshasa aHЗаир mI扎伊尔 ( ( U z " BCI # *OElfenbeinküste 3KIvory Coast ;PCôte d’Ivoire @NCôte d'Ivoire HL象牙海岸 U(f aVКот-д’Ивуар m(f ( # z( ( ( U z( ( ( U z #; BGQ # *QÄquatorialguinea 3QEquatorial Guinea ;QGuinea Ecuatorial @TGuinée équatoriale HO赤道ギニア UQGuiné Equatorial a] Экваториальная Гвинея mO赤道几内亚 ( ( U z (Z BER # *GEritrea 3(h ;(h @JÉrythrée HOエリトリア UHEritreia aNЭритрея mO厄立特里亚 ( # z(% ( ( U z (L BET # *JÄthiopien 3HEthiopia ;HEtiopía @IÉthiopie HOエチオピア UHEtiópia aNЭфиопия mO埃塞俄比亚 ( # z (p BFO # *HFäröer 3MFaroe Islands ;KIslas Feroe @MÎles Féroé HRフェロー諸島 ULIlhas Faroé aZФарерские о-ва mL法罗群岛 ( ( U z $) BGA # *EGabun 3EGabon ;FGabón @(i HRガボン共和国 UFGabão aJГабон mF加蓬 ( ( U z $Ӌ BGM # *FGambia 3(jH ;(jH @FGambie HUガンビア共和国 UGGâmbia aLГамбия mI冈比亚 (  z(" ( ( U z( ( # z(% ( # z( ( " z 4D BGL # *IGrönland 3IGreenland ;KGroenlandia @IGroenland HUグリーンランド ULGroenlândia aTГренландия mI格陵兰 ( ( U z $2 BGW # *MGuinea-Bissau 3(k ;NGuinea-Bissáu @NGuinée-Bissau H[ギニアビサウ共和国 UMGuiné-Bissau aWГвинея-Бисау mO几内亚比绍 ( ( U z $ BGN # *FGuinea 3(l> ;(l> @GGuinée HRギニア共和国 UFGuiné aLГвинея mI几内亚 (  z(! (  z(* ( # z( (  z( (  z($ ( ( U z( (  z [ BKW # *FKuwait 3(m ;(m @GKoweït HOクウェート U(m aLКувейт mI科威特 (  z(;: (  z D" BLA # *DLaos 3(m ;(m @(m HIラオス U] República Popular Democrática do Laos aHЛаос mF老挝 ( # z(&O (  z(2{ ( ( U z ;T BLS # *GLesotho 3(n ;(n @(n HOレソト王国 UFLesoto aLЛесото mI莱索托 ( ( U z "8 BLR # *GLiberia 3(n ;(n @(n HUリベリア共和国 UHLibéria aNЛиберия mL利比里亚 ( ( U z ! BLY # *FLibyen 3ELibya ;ELibia @ELibye H] 社会主義人民リビア・アラブ国 UFLíbia aJЛивия mI利比亚 ( # z(7@ ( # z( (  z [ BMO # *EMacau 3EMacao ;(o @(o HIマカオ U(o aJМакао mF澳门 ( # z(6B ( ( U z 8# BMG # *JMadagaskar 3JMadagascar ;(p$ @(p$ H[マダガスカル共和国 U(p$ aTМадагаскар mO马达加斯加 ( ( U z & BMW # *FMalawi 3(p ;FMalaui @(p HUマラウイ共和国 UGMalauí aLМалави mI马拉维 ( # z(#= (  z  BMV # *IMalediven 3HMaldives ;HMaldivas @(q2 HOモルディブ U(q= aPМальдивы mL马尔代夫 ( ( U z %qj BML # *DMali 3(q ;(q @(q HOマリ共和国 U(q aHМали mF马里 ( # z(+ ( ( U z $I` BMR # *KMauretanien 3JMauritania ;(r @JMauritanie H] モーリタニア・イスラム共和国 UKMauritânia aTМавритания mO毛利塔尼亚 ( ( U z A BMU # *IMauritius 3(r ;HMauricio @GMaurice HRモーリシャス UIMaurício aPМаврикий mL毛里求斯 ( # z( ( # z -1 BMC # *FMonaco 3(sO ;GMónaco @(sO HIモナコ U(s] aLМонако mI摩纳哥 (  z  BMN # *HMongolei 3HMongolia ;(s @HMongolie HOモンゴル国 UIMongólia aPМонголия mF蒙古 ( # z 0 BME # *JMontenegro 3(t. ;(t. @LMonténégro HRモンテネグロ U(t. aTЧерногория mF黑山 ( ( U z &ɷ BMA # *GMarokko 3GMorocco ;IMarruecos @EMaroc HRモロッコ王国 UHMarrocos aNМарокко mI摩洛哥 ( ( U z ҭ BMZ # *HMosambik 3JMozambique ;(u6 @(u6 H[モザンビーク共和国 UKMoçambique aPМозамбик mL莫桑比克 (  z B BMM # *GMyanmar 3(u ;RMyanmar (Birmania) @(u HUミャンマー連邦 USMianmar (Birmânia) aYМьянма (Бирма) mF缅甸 ( ( U z 32 " # *GNamibia 3(vM ;(vM @GNamibie HUナミビア共和国 UHNamíbia aNНамибия mL纳米比亚 (  z  BNP # *ENepal 3(v ;(v @FNépal HRネパール王国 U(v aJНепал mI尼泊尔 ( ( U z %= BNE # *ENiger 3(w3 ;FNíger @(w3 HXニジェール共和国 U(w@ aJНигер mI尼日尔 ( ( U z #^ BNG # *GNigeria 3(w ;(w @(w H]ナイジェリア連邦共和国 UHNigéria aNНигерия mL尼日利亚 (  z(3 (  z  BPK # *HPakistan 3(x6 ;IPakistán @(x6 H] パキスタン・イスラム共和国 UJPaquistão aPПакистан mL巴基斯坦 (  z(o (  z(f ( ( U z jH BDJ # *IDschibuti 3HDjibouti ;FYibuti @(x HIジブチ UGDjibuti aNДжибути mI吉布提 ( ( U z "~ BCG # *VKongo (Republik Kongo) 3NCongo Republic ;(f1 @TRépublique du Congo HRコンゴ共和国 U(f1 a]Республика Конго mO刚果共和国 ( # z( ( ( U z n BRW # *FRuanda 3FRwanda ;(z @(z' HUルワンダ共和国 U(z aLРуанда mI卢旺达 ( ( U z 3n BSH # *JSt. Helena 3LSaint Helena ;KSanta Elena @OSainte-Hélène HRセントヘレナ ULSanta Helena aVо-в Св. Елены mL圣赫勒拿 ( # z 0WD BSM # *JSan Marino 3({1 ;({1 @KSaint-Marin HXサンマリノ共和国 U({1 aSСан-Марино mL圣马力诺 ( ( U z $ BST # *XSão Tomé und Príncipe 3XSão Tomé and Príncipe ;WSanto Tomé y Príncipe @USao Tomé-et-Principe H]サントメ・プリンシペ UVSão Tomé e Príncipe a]Сан-Томе и Принсипи mX圣多美和普林西比 (  z(* ( ( U z "D BSN # *GSenegal 3(| ;(| @ISénégal HUセネガル共和国 U(| aNСенегал mL塞内加尔 ( # z(4N ( ( U z $ BSL # *LSierra Leone 3(}O ;LSierra Leona @(}O HRシエラレオネ UJSerra Leoa aWСьерра-Леоне mL塞拉利昂 ( # z('$ ( ( U z Q BSO # *GSomalia 3(} ;(} @GSomalie HLソマリア UHSomália aLСомали mI索马里 (  z S BLK # *ISri Lanka 3(~Z ;(~Z @(~Z H] スリランカ民主社会主義共和国 U(~Z aQШри-Ланка mL斯里兰卡 ( ( U z  BSD # *ESudan 3(~ ;FSudán @FSoudan HUスーダン共和国 UFSudão aJСудан mF苏丹 ( # z  C` BSJ # *YSpitzbergen und Jan Mayen 3VSvalbard and Jan Mayen ;TSvalbard y Jan Mayen @USvalbard et Jan Mayen H]スバールバル諸島・ヤンマイエン島 UTSvalbard e Jan Mayen a] Шпицберген и Ян-Майен m]斯瓦尔巴岛和扬马延岛 (  z(1F (  z 9 BTJ # *MTadschikistan 3JTajikistan ;KTayikistán @KTadjikistan H[タジキスタン共和国 UMTadjiquistão aVТаджикистан mO塔吉克斯坦 ( ( U z(f (  z"= ( ( U z $& BTG # *DTogo 3(J ;(J @(J HRトーゴ共和国 U(J aHТого mF多哥 ( ( U z % BTN # *HTunesien 3GTunisia ;FTúnez @GTunisie HXチュニジア共和国 UHTunísia aJТунис mI突尼斯 (  z  BTM # *LTurkmenistan 3(, ;MTurkmenistán @MTurkménistan HXトルクメニスタン UNTurcomenistão aXТуркменистан mO土库曼斯坦 ( ( U z(o ( # z( ( # z(~ (  z( (  z  BUZ # *JUsbekistan 3JUzbekistan ;KUzbekistán @LOuzbékistan H]ウズベキスタン共和国 ULUzbequistão aTУзбекистан mR乌兹别克斯坦 ( # z( (  z( (  z  BYE # *EJemen 3EYemen ;( @FYémen HUイエメン共和国 UFIêmen aJЙемен mF也门 ( ( U z  BZM # *FSambia 3FZambia ;(X @FZambie HUザンビア共和国 UGZâmbia aLЗамбия mI赞比亚 ( ( U z  hS BZW # *HSimbabwe 3HZimbabwe ;GZimbawe @( HXジンバブエ共和国 UIZimbábue aPЗимбабве mL津巴布韦 ( # z( (  z  BAF # *KAfghanistan 3(` ;KAfganistán @(` H] アフガニスタン・イスラム国 ULAfeganistão aTАфганистан mI阿富汗 ( # z((e ( ( U z ' BDZ # *HAlgerien 3GAlgeria ;GArgelia @HAlgérie H] アルジェリア民主人民共和国 UHArgélia aJАлжир mO阿尔及利亚 ( # z  z(& BAX # *LÅlandinseln 3NÅland Islands ;KIslas Aland @LÎles Åland HUオーランド諸島 UFAlanda aLАланды mL奥兰群岛 ( # z .k BIM # *KIsle of Man 3(D ;KIsla de Man @KÎle de Man HIマン島 UKIlha de Man aLо-в Мэн mR英国属地曼岛 (3 # z .l: BGG # *HGuernsey 3( ;IGuernesey @( HOガーンジー U( aLГернси mI根西岛 (3 # z( (3 # z(% (3 # z( (3  z& ( !B z! ( ( U z(n (n # z$) (  z( ( # z(^ (^  z($ ( # z(v $) # z()N ( # z( (  z( ( " z( ( # z(E (~ # z( (~ " z( (~ ( U z (& BYT # *GMayotte 3(K ;(K @(K HOマヨット島 U(K aNМайотта mI马约特 6z(& BMQ # *JMartinique 3( ;IMartinica @( HUマルティニーク U( aRМартиника mL马提尼克 " z( ( " z(H! ( " z 65(& BMF # *JSt. Martin 3LSaint Martin ;KSan Martín @LSaint-Martin HUサン・マルタン UMSão Martinho aSСен-Мартен mO法属圣马丁 ( ( z 3(& BGF # *TFranzösisch-Guayana 3MFrench Guiana ;PGuayana Francesa @FGuyane HO仏領ギアナ UOGuiana Francesa a]Французская Гвиана mO法属圭亚那 ( " z#Y (o # z( (o # z( ( 0  z(l #Y # z(D #Y # z( \ ( " z#Y ( # z( (  z( 0 (~ # z(Q (~ # z(k (~ # z( (~ # z(% (~ # z( (~ # z(m (~ " z(' (~ !B z(-7 (~ # z( ( " z#Y ( 0  z($ (  z( ( # z( ( 0 # z( ("  z (m # z( (m !B z(-7 ( # z( ( # z( (D # z(v (k # z(k (k($($ # z(Q ( # z(~ #Y # z( ( " z( ( # z( (W # z( $ # z(E ( # z(Q ( # z( (W # z( (W # z( (W # z( \ (W # z( (W # z( (W # z$) (W # z( (W # z( ( # z( (  z($ (! # z({ (Q # z( ( 0 ( U z(`# ( # z(k (Q # z( (Q # z( (Q # z(E (Q ( U z(V (Q ( U z(e (Q # z$) ( # z(4N (  z( (  z(f ( # z( (  z(l ( # z(v ( # z(E ( # z( ( 0 # z$) (3$ # z(Q (3$ # z(k (3$ # z(k (  z( 0 ( " z#Y ( # z( $  z(f (f  z( 0 ( # z( (  z ( ( U z( (  z& (  z(2{ (  z& $ # z(9 ( # z( ( " z(' ( # z(#= ( # z( ( # z( ( # z( ( # z( (  z% (  z( ( !B z(-7 (  z $  z% ( # z( (  z& (  z(* ( " z#Y ( " z#Y (  z( (  z(.q ( # z(D ( # z(k ( " z#Y (*  z& (  z ( # z( ( " z( (  z (  z( ( # z(E $) # z( $) # z()N $) # z( $) # z( #Y # z( $)($($ # z(k (  z (  z& ()N ( z( (  z(l (l  z(3$ #Y  z(^ #Y  z(_ #Y  z(` #Y " z#Y (k # z( ( # z(Q $ # z( \ #Y # z( \ (m " z(H! (H! ( U z(  ( ( z(d ( # z(~ ( # z(^ $)  z& (  z( 0 ( # z( $) # z(k ( ( z(d $)  z( ( # z(D ( !B z! (  z( 0 $) # z(Q (  z($ ( # z(k $) # z(m (k # z( (k ( # z  M BXK # *FKosovo 3(b ;(b @(b HIコソボ U(b aLКосово mI科索沃 ((e # z( (  z ! # z(7@ (E " z#Y ( # z(D ( # z( ( # z(m ( # z( ( ( z(d (! " z#Y ('$ # z( ('$ # z( \ (  z"= (  z(3$ ( # z( (#=  z( 0 ( " z( (k " z(Oj (Oj # z(E ( # z$) ( # z( (  z& (  z& (  z (  z( 0 (  z(mr #Y # z( ( # z(v ( # z(D ( # z( ( ( z( ( !B z = BMP # *SNördliche Marianen 3XNorthern Mariana Islands ;XIslas Marianas del Norte @WÎles Mariannes du Nord HU北マリアナ諸島 UWIlhas Marianas do Norte a]Северные Марианские о-ва mO北马里亚纳 #Y !B z(H #Y " z(D #Y # z( #Y ( z(' #Y " z(, #Y # z(% #Y # z( #Y ( U z(w #Y ( U z(]u #Y  z( #Y # z( #Y # z( #Y  z( #Y  z(2{ #Y  z"= #Y # z( #Y # z( #Y # z( #Y # z( #Y # z()N #Y # z(4N #Y # z( #Y !B z YV BUM # *\Amerikanische Überseeinseln 3UU.S. Outlying Islands ;]Islas menores alejadas de EE. UU. @] Îles mineures éloignées des États-Unis HX合衆国領有小離島 U]Ilhas Menores Distantes dos EUA a] Внешние малые о-ва (США) mX美国本土外小岛屿 #Y # z( #Y # z(&O #Y !B z(= #Y " z(Q #Y # z(#= #Y  z & # z( & # z( & # z$) &  z( &  z"= &  z( &  z( &  z(* &  z(.q &  z(mr &  z$ & " z#Y &  z% & ( z(Em #Y ( z([w #Y " z(Oj #Y # #Y  z %}  z& %}  z% %}  z"= %}  z(s %}  z$ %}  z( %}  z( %} !B z(-7 (-7 !B z(c #Y !B z(N #Y  z(d #Y !B z ~ BFM # *KMikronesien 3]Federated States of Micronesia ;JMicronesia @KMicronésie HXミクロネシア連邦 UKMicronésia a]Федеративные Штаты Микронезии mX密克罗尼西亚联邦 #Y  z(q #Y ( U z(| #Y  z(x% #Y  z(s #Y  z(^ (^  z&  z(x% (x%  z(s (s  z Srepresented_country #\ #b ##gDtypeHmilitary  z(.q (.q !B z(O & !B z(W & !B z(U & !B z([ & !B z(GJ & !B z(H & !B z(C & !B z(Z/ & !B z(-7 & !B z! & # z(m & # z(k & # z(Q & # z( & # z(D & ( U z( &  z(~I $  z& % !B z(O (O  #Y  z(3 #Y  z& (  z( (  z(* #Y  z(o #Y " z(Lw #Y " z(J #Y # z((e #Y ( U z( #Y  z(" #Y  z( #Y " z(XE #Y " z(C #Y  z(O (O  z( 0 (W " z( (W " z(Y* #Y " z( " z(Q (Q # z( " z#Y ( " z(G (G " z(R (R " z(> (> " z 6l BBL # *OSt. Barthélemy 3QSaint Barthélemy ;NSan Bartolomé @QSaint-Barthélemy H[サン・バルテルミー UOSão Bartolomeu a]Остров Святого Бартоломея mO圣巴泰勒米 ( # z( #Y($($ " z(5 (5 " z(/ (/  z(N #Y  BAN _r0 # *IAntarktis 3JAntarctica ;JAntártida @KAntarctique HL南極大陸 UJAntártica aTАнтарктика mI南极洲 z f0 BAQ # *( 3( ;( @( HF南極 U( aTАнтарктида m(D #Y " z( ( " z(J (J #Y # z( ( " z(T (T " z(Q " z(@< (@< " z(D (D " z(B; (B;  z(u #Y ( z(Z #Y " z(G #Y  z(~I #Y  z(;: #Y ( U z( ( # z( (  z$ (  z ( ( U z(t #Y # z(9 #Y # z(+ #Y # z(t #Y  z'o #Y ( U z( #Y  z( #Y !B z(GJ #Y # z( #Y ( U z(W #Y ( U z(g: #Y ( U z(a #Y " z#Y # z( # z(  z& # z(k ( z(' " z( ( U z(w # z(3  z(* ( z([w " z(@< ( U z(t  z(3 ( z(  z( " z(@ (@ " z(S (S ( z(d (d ( z(P (P " z(D (D " z(H (H ( z( ( ( z( ( # z(  z(v (v ( z(Em (Em !B z(W (W  z(o &  z& &  z(o (o  z(u (u  z( !  z(q (q !B z! (-7 !B z(L (L !B z! &  z& &  z$ & !B z(GJ (GJ  z & !B z = BWF # *QWallis und Futuna 3QWallis and Futuna ;OWallis y Futuna @PWallis-et-Futuna HXウォリス・フツナ UOWallis e Futuna a\Уоллис и Футуна mU瓦利斯和富图纳 (  z%} %}($($ # z( ( 0 # z(7@ #Y # z(E (Oj # z( (6B # z(E (7@  z ( # z$) (  z$ (  z& ( # z(Q ( # z(m (  z%} ( !B z(-7 ( " z( ( # z(D (  z ( # z( ( # z( ( ( z(d (  z& ( " z(' ( ( z( (  z(.q ( # z( \ ( # z( ( # z(m (  z(! ( !B z! ( " z#Y (D # z( (l # z( ( # z(k (D " z(' (  z (  z& (  z"= ( # z( (* # z( (  z$ ( " z#Y (m # z((e ((e # z( ( # z( (m ( U z(q ( ( U z(p ( ( U z( ( ( U z( ( ( z(Em (  z(! ( ( U z(t (  z( (  z(3 (  z(- (  z( 0 (v ( z( (v # z( (v # z( (v # z( (v " z#Y (v # z(k (v # z( ( # z( ! ( z 3ps BBV # *KBouvetinsel 3MBouvet Island ;KIsla Bouvet @KÎle Bouvet HLブーベ島 UKIlha Bouvet aNо-в Буве mI布维岛 (~ ( z( ( # z( (  z& ( # z( &  z$ $) ( z(' $) # z( $) # z( (D # z(] (E  z( (E  z(O (E " z(> (E " z(>y (E # z((e (E  z( (E ( U z(]u (E ( z(P (E ( z( (E !B z(= (E # z( (E !B z! (E " z(? (E # z( (E  z(3$ (E # z(9 (E " z(@ (E  z(^ (E # z(v (E ( U z(a' (E # z( (E  z(- (E ( U z( (E ( U z(_9 (E " z( (E " z(A! (E  z(` (E ( z(A (E " z t`\ BBQ # *VKaribische Niederlande 3]Bonaire, Sint Eustatius, and Saba ;GBonaire @SPays-Bas caribéens H]%ボネール、シント・ユースタティウスおよびサバ U( a]Бонайре, Синт-Эстатиус и Саба m] 博奈尔岛、圣尤斯达蒂斯和萨巴 (E ( z(d (E " z(@< (E  z(_ (E ( z( (E ( U z(`# (E # z(^ (E " z( (E " z( (E  z(d (E ( U z(e (E ( U z(bd (E ( U z(yN (E ( U z(f (E !B z(C (E ( z( (E ( U z( (E  z (E ( z( (E " z(, (E " z(C (E ( U z(a (E " z t`T BCW # *HCuraçao 3(R ;GCurazao @(R HOキュラソー U(R aNКюрасао mI库拉索 (E !B z(c (E # z( (E # z( (E # z( (E ( U z(x (E # z( \ (E " z(D (E " z(D (E ( U z( (E ( z(Em (E # z(% (E ( U z( (E ( U z % BEH # *JWestsahara 3NWestern Sahara ;RSáhara Occidental @QSahara Occidental HL西サハラ UOSaara Ocidental a]Западная Сахара mL西撒哈拉 (E ( U z(h (E # z( (E ( U z(h (E # z( (E !B z(GJ (E ( z(Fm (E !B z( (E # z(i$ (E # z(k (E ( U z(i (E # z( (E " z(G (E  z(" (E ( z( (E # z( (E ( U z( (E # z(% (E " z(j (E ( U z(j7 (E ( U z(l- (E " z(H! (E ( U z(g: (E # z( (E ( z 5 BGS # *]Südgeorgien und die Südlichen Sandwichinseln 3]South Georgia and the South Sandwich Islands ;] Islas Georgia del Sur y Sandwich del Sur @]Géorgie du Sud-et-les îles Sandwich du Sud H]"サウスジョージア・サウスサンドウィッチ諸島 U] Ilhas Geórgia do Sul e Sandwich do Sul a]'Южная Георгия и Южные Сандвичевы о-ва m]南乔治亚岛和南桑德韦奇岛 (E " z(H (E !B z(H (E ( U z(k (E ( z(Ij (E  z& (E ( z 2 BHM # *XHeard und McDonaldinseln 3ZHeard and McDonald Islands ;VIslas Heard y McDonald @\Île Heard et îles McDonald H] ハード島・マクドナルド諸島 UVIlhas Heard e McDonald a] о-ва Херд и Макдональд m[赫德岛和麦克唐纳岛 (E " z(J: (E # z( (E " z(I (E # z()N (E  z(.q (E # z( (E  z( (E # z(3 (E  z$ (E  z  BIO # *] Britisches Territorium im Indischen Ozean 3]British Indian Ocean Territory ;] Territorio Británico del Océano Índico @] Territoire britannique de l'océan Indien HX英領インド洋地域 U] Território Britânico do Oceano Índico a]/Британская территория в Индийском океане mU英属印度洋领地 (E  z(* (E  z(! (E # z( (E # z(Q (E # z(8& (E " z(J (E  z( (E  z (E ( U z( (E  z(;: (E  z'o (E !B z(K& (E ( U z(e[ (E " z(R (E  z(N (E  z%} (E  z(l (E " z(B; (E  z($ (E  z(mr (E  z(2{ (E " z(S (E  z(~I (E ( U z(nx (E ( U z(n (E # z( (E # z( (E # z(&O (E ( U z(n (E ( U z(t (E # z(s> (E # z( (E # z(t (E " z(5 (E ( U z(p (E !B z  BMH # *NMarshallinseln 3PMarshall Islands ;NIslas Marshall @NÎles Marshall HUマーシャル諸島 UNIlhas Marshall a]Маршалловы Острова mO马绍尔群岛 (E # z(6B (E ( U z(q (E  z(u (E  z(s (E  z(o (E !B z(y (E " z( (E ( U z(q (E " z(K (E # z(+ (E ( U z(r (E  z(q (E ( U z(p (E " z(' (E  z% (E ( U z(u (E ( U z(v= (E !B z(L (E ( U z(w" (E !B z(N (E ( U z(w (E " z(Lw (E # z( (E # z( (E  z(v (E !B z(L (E !B z(M (E !B z(-7 (E  z(3 (E " z(Oj (E ( z(' (E !B z = BPF # *WFranzösisch-Polynesien 3PFrench Polynesia ;RPolinesia Francesa @UPolynésie française HU仏領ポリネシア USPolinésia Francesa a] Французская Полинезия mU法属波利尼西亚 (E !B z(O (E  z( (E  z(x% (E # z(D (E " z([ (E !B z(QS (E " z(Q (E  z(o (E # z( (E !B z  BPW # *EPalau 3( ;FPalaos @( HIパラオ U( aJПалау mF帕劳 (E ( z(P (E  z(f (E ( U z(; (E # z( (E # z(4N (E # z$) (E ( U z(z (E  z(* (E !B z(U (E ( U z(W (E ( U z(~ (E # z(m (E  z& (E ( U z(z} (E # z('$ (E # z(G (E # z(#= (E ( U z(}> (E # z({ (E ( U z(| (E ( U z(} (E ( z(V (E ( U z x BSS # *ISüdsudan 3KSouth Sudan ;NSudán del Sur @MSoudan du Sud HX南スーダン共和国 U[República do Sudão do Sul aUЮжный Судан mI南苏丹 (E ( U z({ (E " z(E (E " z t_ BSX # *LSint Maarten 3(C ;SIsla de San Martín @(u H[シント・マールテン U( aUСинт-Мартен mL圣马丁岛 (E  z(1F (E ( U z(V (E " z(Y* (E ( U z(cm (E ( z  BTF # *] Französische Süd- und Antarktisgebiete 3[French Southern Territories ;]Territorios Australes Franceses @\Terres australes françaises HR仏領極南諸島 U]Territórios Franceses do Sul a]Французские Южные территории mR法属南部领地 (E ( U z(9 (E  z"= (E  z(m (E !B z(W (E !B z d BTL # *KTimor-Leste 3(~ ;(~ @NTimor Oriental H[東ティモール共和国 U(~ aUТимор-Лесте mI东帝汶 (E  z( (E ( U z( (E !B z(W (E  z( 0 (E " z(XE (E !B z(Z/ (E  z& (E ( U z(f (E # z(~ (E ( U z(o (E !B z( (E ( z(Z (E  z( (E # z( (E " z(T (E ( z([w (E " z(l (E " z(/ (E  z( (E !B z([ (E !B z( (E !B z(Ug (E  z( (E ( U z(5 (E ( U z(  (E ( U z(> (E ( U z( (E # z$) (~  z$ (~ ( U z(  (~  z( ( # z(E ( # z(v ( " z(A! (A!  z( (m # z( (D # z(k (  z( ( # z( (  z(1F ( # z(^ ( # z('$ ( # z( ( # z( ((e # z$) ('$ # z( ( # z( (o # z( (D  z(x% (  z(* (  z& (  z& $) # z( $) # z({ ({ # z(Q ({ # z( ( # z( $) " z( $) !B z! $) # z( $)  z( $) # z(Q $) # z(t (t ( U z(e #Y # z( ()N  z( 0 ()N " z(' ( # z( (  z( (k  z& (k  z(- (- " z(D ( " z(J: ( # z(D ( # z( (% # z( ( " z#Y (" # z( ( # z(9 $) # z(D $  z ($ # z(~ (D !B z(O #Y # z(^ #Y ( U z( #Y # z(] #Y # z(s> #Y # z('$ #Y  z( #Y ( z(A #Y ( z(P #Y  z(_ (_  z( &  z( &  z& (  z%} (  z& (x%  z( (x%  z& (x%  z$ (x%  z"=  z& % " z#Y (x% # z(#= (x% # z( (m # z( (m # z( (k # z(D ( # z(k ( # z( ( # z( ( # z()N ( # z( ( # z( ( # z( ( ( U z(n ( # z(#= ( ( U z(t ( # z( ( # z( ( # z(m ( # z(E ( # z(Q ( # z( ( # z(v ( # z( ( # z( ( # z( (  z(" ( # z(Q (Q($($ # z(v ( ( z(Z (  z(" (  z(;: ( " z(j (j # z(k (  z& (  z(* (l # z(s> (s> # z(4N ( !B z(-7 ( # z( ( " z( ( # z( \ (k # z( (k # z( ( # z( (W  z(m (m # z( ( # z()N ( # z( ( # z(4N ( # z$) ( # z(#= ( !B z! ( # z(i$ (  z& ! " z#Y (* # z(&O (3$  z& !  z%} ! !B z! (~ ( z( (~ ( U z(r (r  z"= ( " z#Y (  z(.q $) " z(' $) # z(% ( ( z( ( # z( (  z& (  z%} ( # z( ( # z( ( # z( (m ( U z(W (W # z( (*  z (  z(^ (k # z( (&O  z( $) # z( $) # z(t (4N " z#Y ( # z( (W($($ # z( ( # z('$ ( # z( $) # z( \ $)  z% ( " z(@< ( # z( $)  z($ (  z(* ( # z(E (m # z( (m # z( (m # z( (m # z(#= (m # z()N (m # z( (m # z( (m # z(D (m !B z! ( # z( ( # z(Q ( # z(D ( # z( ( # z(E ( ( z( ( # z(3 ( # z(m ( # z(k ( # z( ( 0 # z(D ( ( U z(t (k # z( ( # z('$ ( " z( ( ( z(d (  z& (  z%} (  z( ( # z(#= ( # z( ( # z$) ( " z(> #Y " z(E #Y " z(J: #Y  z(* #Y " z(H #Y ( U z(` #Y ( U z(n #Y ( U z(`# #Y  z(v #Y  z($ #Y # z()N #Y($($ ( U z(f #Y # z( #Y($($ !B z!  z( 0 (  ( U z( ( ( U z( ( ( U z(nx (nx ( U z( ( ( U z(  ( U z(w (w ( U z( ( U z( ( U z(f (f ( U z( (> ( U z(> (> ( U z(e (> ( U z( (> ( U z(`# (> ( U z(u (> ( U z(f (  ( U z( ( ( U z(w (  (  ( U z( (   z$ (  # z( (   z(3 (  # z( (  ( z(Em (  ( U z(v= (v= ( U z(p (p ( U z(]u (]u ( U z(f (f # z( (  ( U z( ( ( U z(~ (~ ( U z( ( U z(p (p " z#Y (w  z$ (w # z( (w ( U z(]u ( U z(]u ( ( U z( (r ( U z(q (q ( U z( (w ( U z(_9 (_9 ( U z(`# (`# ( U z(cm ( U z(  (f ( U z(a (a ( U z(z (z ( U z(yN (yN ( U z(o (o ( U z(u (u ( U z(j7 (j7 ( U z(n (n ( U z(n (`# ( U z( ( ( U z(t (t # z( ( ( U z(> (r ( U z(l- (l- ( U z(f ( U z( ( U z(e (e ( U z(V (V ( U z(r ( U z(a' (a' ( U z(} (} ( U z(}> (}> ( U z(w" (w" ( U z(bd (bd ( U z(9 (9 ( U z(i (i ( U z(` (` ( U z( ( ( U z(g: (g: ( U z( (r ( U z(  (f ( U z(| (| ( U z(w (r ( U z(  (r ( U z( ( ( U z(q (q ( U z(o (r ( U z(z (r ( U z(e (r ( U z(f (r " z( (  " z#Y (  # z(k (  ( z([w (  ( U z(x (x ( U z(_9 ( U z(o ( U z(  (> ( U z(> (  ( U z(e[ (  ( U z(yN (  ( U z(` (  ( U z(v= (r ( U z(f ( U z(w (f ( U z(yN ( ( U z(  (n ( U z( ( U z(f ( ( U z(> (f # z( (   z(.q (  # z( (   z (   z& (  ( U z(f (w ( U z(> (v= ( U z(]u (v= ( U z(_9 (  ( U z( (   z( ( # z( ( ( U z(e ( ( U z(e ( U z(5 (5 ( U z(5 (; ( U z(cm (cm # z(Q %} " z( %}  &  z$   z& # z( & # z( & # z()N & # z(4N & # z('$ & # z(9 & # z( & # z(#= & # z( & " z( &  z(x% &  z( 0 &  z(* &  z(v & " z#Y  z%} %  z(mr (mr  z(~I (~I  z(` (` ( U z(  &  z( $ " z(Oj &  z"= (mr ( U z(W  z (x% !B z! (x% " z#Y (-7  z(^ $ # z(% $  z& %} !B z(L (L # z( !B z(H (H !B z!  z% $ !B z! $ !B z(Ug (Ug " z#Y (^  z  z& ! !B z(m (m  z(.q &  z( %  z % !B z(y (H " z( !B z( (  z !B z!  z%}  z  z (-7 ( z( (-7 !B z(A (A  z(o &  z (s !B z(-7 !  z% !  z'o (u  z& "= !B z! (m ( z(d $ !B z! "= !B z(W (W ( z( ( " z(J: (J: ( z(A (A # z( (J: " z#Y (J: " z(E (E " z(' (' " z(, (, ( z(' (' ( z(d (' ( z( (' " z(Lw (Lw " z(' (Z ( z(Z (Z ( z([w ([w  z( 0 (  z(.q (  z( (  z(.q ( " z(A (A # z( (l  z(.q (  z& (  z% ( " z( ( ( z( ( !B z! ( ( z(d (  z"= (  z(^ ( # z( (D # z(E (D # z(E (D($($  z( (  z& ( # z$) ( # z( ( # z( (  z( ( # z( ( # z( (  z%} (! # z(k (!  z& (! # z( (!  z( &  z(;: ( !B z( #Y !B z(Z/ #Y !B z(L #Y # z(Q #Y  z(o #Y !B z([ #Y !B z(Ug #Y " z(I #Y ( z(V #Y " z(D #Y ( z(Ij #Y !B z([ $)  z ( # z( ( # z(m ( # z(k $ # z( \ $ # z(E (  z(q ( # z( ( # z(#= ( # z()N ( # z( ( # z( ( # z( ( # z( ( # z( (W # z( (W # z( (~ # z(Q ( # z(k ( # z(k (m # z(Q (m  z( (  z(" ( ( z( ( # z(k $)($($ # z()N ( " z(5 ( ( U z( #Y ( U z(h #Y ( U z(o #Y ( U z(u #Y  z( !B z(-7  z& ( U z(p #Y # z( #Y ( U z(~ #Y ( U z( #Y ( U z(}> #Y ( U z(9 ( ( U z(q #Y ( U z(g: ( ( U z(bd #Y # z({ #Y ( U z(k #Y !B z(Z/ ( ( U z(e[ ( ( U z(yN (G ( U z(} (T " z#Y (T !B z(W #Y # z(G #Y ( U z(l- #Y  z(m #Y " z( #Y " z(Oj ( ( U z( ( ( U z(w" ( # z(% ( # z( # z(Q # z( # z( #Y($($ # z(k  z& # z(D " z(l #Y " z(@< #Y " z(B; #Y " z(@ #Y " z(H! #Y " z(K #Y " z(5 #Y " z(T #Y " z([ #Y  z& (.q # z(D (v # z('$ (v # z( (v # z( (! # z( (! ( z([w ( # z( $ # z( $ # z((e $  z( ( " z( (  z%} ( # z( ( # z( (  z%} ( ( z(V (V # z( ( \ # z(&O ( \ !B z(-7 ((e # z( ((e # z( $ ( z(Em (  z%} ( # z( ( " z#Y (m ( z(d ( # z( ( # z( (m # z( ( # z( ( # z(Q ( # z(m ( # z( ( # z()N $  z( ( ( z( ( # z(6B ( # z( ( # z( ( ( z(d # z( " z(' ( ( z( ( # z( $) ( z(P ( ( z(' ( ( z(Z ( # z(~ ( # z( (% ( z(d ( # z( ( # z( ( # z( $  z$ (m ( z(d (m ( z(' ( ( U z(  ( # z(&O ( # z( (  z( 0 ( # z(E (W !B z! (  z( ( ( U z( (  z(~I (  z (v # z(% ( # z( (  z( (% # z( (% " z#Y (% # z(Q (%  z( (W  z& (W ( z( ( ( z(d ( " z(' (W  z( ( # z( ( # z( ( ( z(d (k # z(4N $) # ( # z(^ (  z(! ( 0 !B z! (  z& ( # z( ()N # z(Q (o # z( ( # z( ( # z(m ( " z(' ( # z( (  z($ $  z$ ( # z( & # z( (&O  z%} ( # z( (  z(" ( # z( ( # z(v ( # z( ( # z( ( 0  z( (W # z( (2{ " z#Y (2{ # z( ( ( z(' ( ( z([w ( # z(#= ( # z( ( # z( \ ( ( U z(t $)  z( $) # z( (($($  z( (W  z(u ( " z( & !B z! (.q  z (.q  z(^ ( !B z(H (y # z( # z('$ # z()N  z%} (W  z (W  z( $  z( ! # z(Q ! ( U z(  !  z( 0 & # z( &  z$ ! # z( "= # z( $  z"= (W # z(&O ( # z(t (  z(3$ (  z( (W # z( $) # z(v (% # z(% (% ($($ # z(k (% # z(&O (~ # z(Q ( # z()N ( # z( (($($ # z(D (%  z& $) !B z(H ( ( # z(~ (% ( U z( (W " z(Oj (2{ # z(3 #Y ( U z( (  z(;: $)  z(.q ( # z(v (W # z(&O $ " z#Y (3 ( z( $) # z(D (&O  z (W # z( (! " z( (m  z& (m # z(^ (  z( (  z'o (  z& ( ( z(d (  z(.q (  z& ( # z(&O ( ( U z( $) ( U z(f $)  z( ( ($($ " z(A ( # z( ( # z( \ (  z& ( # z( ( ( z(d ( # z( ( # z( (^ # z( (!  z (  z(x% ( # z( ( !B z(A ( !B z( ( " z(2 ( !B z(y ( !B z( ( # z(3 ( ( U z(W ( " z(/ ( !B z( ( # z(8& ( # z(D (($($ # z( (W # z( (v # z( ( # z(6B (  z(" $) # z(m ( " z( (! # z( (! # z( (  z(* ( # z( (W($($  z(v & " z(Q ( # z( (  z$ ( ( U z(W (  z%} ( # z(~ (  z% (  z& ('$  z ( # z( (2{ # z( (2{  z(m (W # z( ( ( z(' ( !B z(-7 ( ( U z(f ( ( U z(l- ( ( U z(a ( ( U z({ (  z( $ ( z(d (Q # z(D (~  z& (  z(3 (  z(3$ (  z( (  z(.q (m ( z(d (W  z& ('$  z(! ! # z( (D # z( ()N ( U z(  ( # z( ( ( z(d ( ( z(A $  z& (m ( z([w ( !B z! ('$ # z( ('$ " z( (  z& (   z(* ( # z('$ ( # z( ( ( U z( (  z%} ( # z(t (  z(.q (  z( $)  z& (W # z(m $ # z( $ # z(~ (&O " z(' (  z( 0 (! # z( (W  z( & # z$) & !B z! ( # z(6B ('$ # z( &  z(* $ # z(+ (W # z( (Q ( z(d ((e ( U z(w (W  z (Q # z(7@ ( # z( \ ( !B z(-7 ( # z( ( # z( ( " z#Y (' " z(' (d " z#Y (d " z#Y (' ( z(Em (' " z(Oj (' ( z( (' ( z( ( # z( (J: " z#Y ( # z( ( # z( ( " z(J: ( ( z(Em ( ( z( ( ( z( ( " z(E ( z( (' " z(H (P " z(D (E ( z(d ( ( z(P ( ( z(d (Oj # z( ( # z(k ( ( z( ( " z(Lw ( 0 " z(J: ( " z( (Em " z(XE (XE " z(H (E ( z( (d " z(H (, ( z( ( " z#Y ([w  z& (r # z(D (r # z$) (r  z($ (r # z( (r # z( (r # z(m (r # z(Q (r # z(E (r # z()N (r # z(4N (r  z( (r  z& (r  z(.q (r  z(* (r  z% (r " z#Y (r ( z( (r  z& (r " z(D (r ( z(' (r  z%} (r # z( (r !B z! (r  z( (r " z(' (r # z( (r ( z([w (r " z(, (r # z( (r # z( (r # z( (r ( z(Em (r  z'o (r  z"= (r  z$ (r  z (r  z( 0 (r  z(u (r # z(&O (r " z(E (r # z( (r " z(H (r  z(v (r ( U z(nx (r  z(x% (r ( U z( (r # z( (r ( U z( (r !B z(O (r  z$ ( ( U z(  (W ( z(' (d ( z(d (A ( z(d ( " z(Oj ( ( z( (Oj # z( (Oj ( z(Z ( ( z( " z(' (' " z( ( ( z( ( ( z( (P " z#Y ( " z( ( " z(' ( ( z( ( ( z( ( ( z(' (  z(^ &  z& (^  z& (^ !B z(-7 $ !B z( #Y !B z(-7 &  z% # z(&O $)  z"= $)  z% $) # z( $)  z& (  z%} (  z( 0 ( # z( (  z& ( # z( (v (Oj # z$) (> # z('$ ( # z(k ( # z(k (o  z$ (3$  z% (3$ # z(~ (3$  z($ ( # z(D (v # z( (#= ( z([w ( " z(J: ( ( \ # z( (" # z( ( # ( # z(9 ( z(A ( z(V !B z(C !B z(M ( z( # z( " z(' " z( ( U z(5 !B z(L !B z(N  z( ( U z(j7 ( U z(`#  z(;: ( U z(p ( U z(u  z(v # z(~  z(`  z(  z($ !B z(QS # z({ # z( # z( # z(i$ # z(G  z(d !B z(L ( z(~ !B z( # z(7@ # z(^  z%  z$ " z(2  z(x% ( z([w ( U z(k  z(m ( U z(x ( U z(bd " z(5 " z(T " z([ " z( " z(D ( U z(e[ ( U z({ ( z(Fm !B z(y !B z(m !B z( ( U z(~ " z( " z(A  z(" # z(D (D($($ # z( (! # z(4N ((e # z(E (  z ( # z(~ ()N # z( ()N # ( ( U z( $)  z(^ $) !B z(-7 $)  z(m $) # z( (  z (  z(* (~ # z( ('$ ( U z(r ('$ # z(4N ('$ # z(9 ('$ # z(] (]  z( 0 ( # z(~ ( # z$) ("  z$ ( # z( ( # z(6B ( # z()N ( # z(&O ( # z(m (m($($ # z(i$ (i$ # z(E (E($($ ( U z( #Y " z( (H! # z(+ ( " z(@ ( # z(s> ( " z(? (  z( ( ( U z(h (  z(- ( !B z( ( ( z( ( # z((e (  z( ( # z( (D " z(' & # z(D ( # z(9 (  z& #Y($($ " z(  z& & !B z(M (M !B z(-7 (M " z#Y %} # z(D #Y($($  z( 0 (k  z(* (k  z& ( # z( (k($($ # z( (k($($ !B z! ( " z( (($($ # z( ( # ( # z( ( # z( ( ( U z(  ( # z(v ( # z( ( !B z! ( !B z(L ( !B z(GJ ( !B z([ ( !B z(W ( !B z(Ug ( !B z(Z/ ( !B z(O ( !B z(U ( !B z( ( !B z( ( !B z( ( !B z(L ( !B z(K& (  z& ( (($Uis_satellite_provider  (  z( (  z( (  z(u (  z(^ (  z'o (  z(mr (  z(~I (  z(q (  z% (  z"= (  z(` (  z(v (  z(_ (  z(s (  z(N ( " z(H ( " z(J: ( " z(Lw ( " z(Oj ( " z(, ( " z(E ( " z( ( " z(D ( " z(J ( " z(XE ( " z(? ( " z(Q ( " z(@< ( " z(R ( " z(C ( " z(I ( " z(> ( " z(D ( " z(S ( " z(T ( " z(@ ( " z(G ( ( z( ( ( z( ( ( z(' ( ( z(Em ( ( z(P ( ( z(Z ( ( z([w ( ( z(A ( ( z(V ( ( z(Ij ( ( z( ( # z(E ( # z( ( # z(7@ ( # z(] ( # z({ ( # z(s> ( # z( ( # z( ( ( U z(t ( ( U z( ( ( U z( ( ( U z(e ( ( U z(yN ( ( U z(]u ( ( U z(> ( ( U z(bd ( ( U z(cm ( ( U z(g: ( ( U z(i ( ( U z(_9 ( ( U z({ ( ( U z(u ( ( U z(n ( ( U z(`# ( ( U z(V ( ( U z( ( ( U z(p ( ( U z(v= ( ( U z(a' ( ( U z(r ( ( U z(p ( ( U z(W ( ( U z(e[ ( ( U z( ( ( U z(f ( ( U z(o ( ( U z(h ( ( U z(h ( ( U z(x ( ( U z( ( ( U z(z ( ( U z(w ( ( U z( ( ( U z(| ( ( U z( ( ( U z(9 ( ( U z(w" ( ( U z(q ( ( U z(nx ( ( U z(}> ( ( U z(j7 ( ( U z(a ( ( U z(q ( ( U z( (  z( (  z( (  z(2{ (  z( (  z(- (  z(l (  z(3 (  z(f (  z(* ( ( U z( #Y # z$) ( # z( ( # z( ( # z( ( # z(% ( # z( ( # z(&O ( # z(^ ( # z(~ ( # z((e ( # z( ( # z(9 ( # z(t ( # z( ( # z('$ ( # z( ( # z( ( # z()N ( # z( ( # z(6B (  z(x% (  z($ (  z(" (  z( (  z(3$ (  z( (  z( (  z(;: (  z(m ( # z( ( # z(#= ( # z(4N (  z( 0 (  z ( # z$) (k # z( #Y( (  z( (v  z(2{ (v  z( (v # z(E (v # z( (v # z( (v # z(Q (v ( U z( (v ( U z(  (v  z(* (v # z$) (v " z( (v ( z(d (v  z& (v  z& (v !B z! (v  z$ (v # (v  z% &  z(u &  z"= &  z( &  &  z(l &  z(^ & # z(  z%  z(  z& # z(k !  z ! # z( !  z(.q &  z(u  z& (.q  z(N  z( 0 ( # z(4N ( # z(9 ( ( U z(o ( # z( ( \ # z(i$ ( \ # z(G ( " z#Y #Y( ( ( U z(o ( ( U z(` (  z( (! # z(k (;  z( ( # ( # z(s> $) # ( # z( ( " z#Y ( # z( (  z& ( # z(k ( # z(m ( (k # z( (( ( # z(% ( # z()N (Q # z$) (m # z(v (m  z( 0 (m # z(% ( # z()N ( (($)  z(! (  z($ ( (($)  z(l (l( ( # z(~ (~($($ # z( ( \ # z(v (  z'o ( # z(3 ( # z(] (  z(^ (  z(o (  z(s (  z(~I (  z(_ (  z(` ( # z(t (  z% ( # z(~ (% " z(A! #Y # z( $ " z(@ (J " z(l (J ( U z(f #Y ( U z(> #Y " z(A #Y # z(6B #Y ( z(d " z#Y (s " z#Y (A ( U z(t (W " z(G (@ " z(T (@ " z(l (@ " z(R (@ " z(S (@ !B z(QS #Y !B z(C #Y " z(2 #Y " z(Y* (Y* ( U z(yN #Y " z(B; (J # z(+ (3 # z( (3 ( U z(j7 #Y ( U z(_9 #Y ( U z(z #Y ( U z(} #Y ( U z(v= #Y ( U z(r #Y ( U z(nx #Y " z(S #Y " z( #Y ( U z(p #Y  z( #Y ( U z(9 #Y ( U z(i #Y ( U z(a' #Y ( U z( #Y " z(/ # z( (-7 # z( (-7  z(! #Y !B z! #Y($($ # ( " z(R #Y  z( (  z"= ( # z(m (-7 " z(l (> " z(>y (> " z(S (> " z(R (> " z(D (> ( z( ( " z(D (@ " z#Y (Z " z([ ([  z #Y( ( " z(T (S  z(! #Y  z(.q % " z(@< (@ " z(/ (@ " z(A! ( " z(XE ( " z(Q ( " z(B; ( # z(k (5 !B z(= ( # z(v ( # z( (  z (  z& (  z (~ # z( (($($ # z( (($($ # z( ( # z$) (&O # z$) ($ # z(D ($ # z( ($ # z( ($ # z( ($ # z( (9 # z( (9  z$ (9 # z( (9 # z( ( # z( (($($  z( $) # z(D ( # z(m ( # z(% (  z$ ( ( U z(w (  z(^ (  z(" ( ( U z( ( ( U z(  (  z( (" # z( ("  z( (" # z()N ("  z($ (" # z(D (" # z$) (t # z(m (t # z(m (t($($  z( (t ( U z(n (t  z( (t " z(' (t  z(~I (t # z( (t ( z(Z (t # z( (t # z( (t # z(D (t # z( (t  z( (t  z(v (t " z(C (t # z( (t ( U z(  (t # z( (t " z#Y (t  z(* (- ( U z(bd $) " z#Y (4N # z( $)($($  z(* (2{  z& (  z( (k ( U z(; (k # z(% (m # z(&O (m ( U z(v= ( # z$) (;:  z(O ( # z(D ( # z(~ (  z(l ( # z(m ( # z(6B (  z( (Q # z$) (% (D($) # z( (  z(* ( # z( $) " z( ( # z( (($($ # z(E (o # z( ( 0 # z(^ (~ # z( (~ # z( (~  z& (  z%} ( ( z(' (  z( ( ( z(P (m ( z( ( ( z( (  z% ( ( z(A ( # z( ( # z( (  ( ( # z( (9 # z( ( # z( (D # z( ( \  z(.q (4N # z( (4N # z( (  z( (k " z(, ( ( z(P ( # (k # z(m ((e # z( (v # z()N (v  z( (v " z( ( # z(E ( # z$) ( " z#Y ( ( z(Fm (Fm # z( (Fm # z( (7@ # z(4N (  z ( \ # z( (( ( ( U z(W ( # z( ( # z(k (  z(2{ (w !B z(GJ ( # z( (% # z( ( ( z( ( # z( ( # z( ( # z(D ( \ # z(D (Q (($) # z( ( # z(D ( # z( ( ( U z(yN ( # z$) ( ( U z(}> ( # z(4N ( # z( ( # z(% (&O # z(E & # z( (m  z( (m # z( (m # z(~ (m # z(9 (m # z( (m # z( (m ( U z(  (m # z( (m # z(k ( !B z! ( # z( \ ( # z( ('$ # z(k ('$ ( U z(w ( ( U z( ( ( U z(f ( # z(4N (W # ( # z( (&O # z( # z(E (D # z( (($($ # z(t ('$ # ( # z( ( # z(~ ( # z(Q (! # z$) (! " z(, (  z(! $ ( z(A (Q ( z( ( # z( ( # z( (&O ( U z(i ( ( U z(e (  z(.q (  z(u ( ( z( ( ( U z( (  z(* (m # z(4N (m  z( 0 ( 0( ( ( z( (k " z(H! (k " z( (k ( z( ( # z$) ! # z( ! # z(Q (  z( (  z( (  z(* (% ( z([w (m # z(+ (  z(* ( # ( ( U z(  ( " z( (o  z& (o # z(v ( # z( ( # z(E ( # z( ( # z$) (  z& ( # z(~ (o  z( 0 (o ( U z(; (  z(2{ $)  z( ( ( ( # ( (($) # z( ( ($($ # z( ( # z( ( # z(m ( # z( (D # z(m ( \ # z((e (Q  z ()N # z(E & # z(&O (!  z (D " z(H ( " z(E ( " z(J: ( " z(Oj (  z'o $)  z$ ( " z(J ( " z(C (  z(2{ ( ( U z(w ( 0 ( U z(w (* ( U z(w (Q ( U z(w ( ( U z(w (A! ( U z(w & # z( ( # z( ()N # z(&O (  z(.q ( (k($) # z(m ( # z( ( # z( ( !B z! (Q  z& (Q # z(&O (($($ # z( (  z( 0 (;: # z( ( # z(% (  z(- (* # z( ( # z(v ( # z( ( " z#Y (($($ # z$) ( ( z(A ( ( z(Em ( " z(H (  z(v ( ( z(' ( ( z(Z (  z(o (  z(^ ( # z(+ (k " z(' (k ( z( (k ( U z(]u (Q  z( (Q # z(v (Q " z( (Q ( U z(a' (Q ( U z(_9 (Q ( U z(`# (Q ( U z( (Q ( U z(bd (Q ( U z(yN (Q ( U z(h (Q ( U z( (Q ( U z(h (Q ( U z(i (Q ( U z(j7 (Q ( U z(l- (Q ( U z(g: (Q ( U z(k (Q ( U z(f (Q ( U z(nx (Q ( U z(n (Q # z( (Q ( U z(p (Q ( U z(p (Q ( U z(u (Q ( U z(v= (Q ( U z(z (Q ( U z(} (Q ( U z(t (Q # z( (( ( # z( (v # z( ( # z()N ()N($($ # ( \ " z(' (  z(2{ ( # z( (($($  z(" ( 0 # (E # z( (3$ " z#Y (3$ # z$) (Q # z(m (+ # z(v (+ # z( (+ # z( (+ # z(Q (+ " z#Y (+ # z( (  z(3$ # z(9 ( # z(8& ( # z(6B (  z(x% (! # z( (  z& ( # z(^ ( ( U z( ( # z( ( # z( ( " z( ( # z( (%  z (k ( U z(  (k ( U z(> (k ( U z( (k ( U z( (k ( U z( (k ( U z(f (k ( U z( (k ( U z(w (k ( U z( (k ( U z(u (k ( U z(f (k ( U z(o (k # z( (k # z(9 (k # z(4N (k # z(t (k # z('$ (k # z(#= (k # z(6B (k # z(~ (k  z($ (k  z(2{ (k  z(- (k  z(l (k  z(f (k  z& (D  z% (D  ( " z#Y (&O # z(k (&O " z( (&O # z( (&O # z( (&O ( U z( ( ( U z( ( ( U z(n ( ( U z( ( ( U z(q ( ( U z(w" ( ( U z(cm ( ( U z(q ( ( U z(t ( ( U z(~ ( ( U z( ( ( U z(_9 ( ( U z(a' ( ( U z(| ( # z( ( # z(3 ( " z(' (  z(* ( \ # z( ( # z(Q ( # z( ( # z$) (  z( ( # (m  z"= (  z( (  z(~I ( # z( ( ( z(' (  z( (  z(;: ( # z( (!  z($ (  z( $ # z(m (!  z$ (! " z#Y (  z$ ( # z(~ (Q # z(4N ( # z( ( # z( #Y( ( # z( (~ ( U z( (Q ( U z( (Q ( U z(o (Q ( U z(  (Q # z( (Q # z( (Q ( U z(> (Q # z(v ()N !B z! ()N  z'o ()N  z$ ()N  z%} ()N ( z(d ()N # z( ()N # z()N ( # z( (" # z$) ( 0 # z$) ( # z( \ (~ # z(9 ( # z( (4N  z$ (4N # z( \ (4N # z( (4N # z( ( !B z! (k  z& (k  z (k # z(4N ( # z( ( # z(E (! # z( ( # z( (Q # z( (  z(^ ( # z( ( # z( ( # z( \ ( ( z( $ # z( (3$ # z(D (l  z( 0 ( " z(' $ # z( (l # z('$ ( # z(% ( # z((e ( # z(4N ( # z( (* # z( (($($ # z(k (($($ # z( (  z& (~  z% (~ # z(E (  z(f (f( ( ( U z( $) # z( (  z( ( " z(' (  z( ( " z(j ( # z(7@ ( # z(3 ( " z(Oj ( # z( ( # z( (D # z(v (D # z( (D # z(#= (D  z$ ( 0  z$ (k  z(! $) # z( (> # z( \ ( # z$) ( # z( (~ " z#Y ( " z#Y ($ ( z( ( # z( ( # z( (D  z& (D # z( ( # z(m ()N # z( \ ()N # z(] ( # z(% (D # z(% (4N # z( (%  z (  z (A # z( (k ( z( ( # z$) ( \ # z(E (6B # z(v ( # z( $ # z( ( # z( ( # z(#= (~  z( $) # ( # z( ( ( U z( ( # z( (-7 # z( \ ( \($($  z(;: (W  z& (W  z( &  z(* # z(~ ( # z(Q (4N !B z! ((e # z(s> (  z(2{ (! # z( % # z(~ ("  z(* & # z(v (~ ( z( ( # z$) (  z(.q (! # z( ({ # z( (  z(;: (! " z(Oj ( " z#Y ( # z(Q ( # z( (%  z( (W ( U z(  ( # z(D (! ( U z(w ( !B z(-7 (  z& (! # z( ( ( U z(f ( ( U z(w" ( " z(Q ( # z(~ & # z( ( # z( ( # z( ('$ ( z(P $) ( U z(> $) # z( ()N # z(Q ()N # z(k ()N ( z(Em ( " z(j ( ( U z(w (Oj  z"= ( ( U z(  $)  z(x% ((e # z( ((e ( U z(t ((e # z('$ ((e # z( (D # z(&O (  z( ( ( U z( ( ( U z(l- ( ( U z(5 (k # z( (k # z(k (($($ # z(+ ( ( U z( ( # z( ( " z(Oj $) # z( ( # z( ( # z( (  z( 0 # z((e (4N # z(k ( # z( (  z& ( !B z! ( (($)  z(3$ ( # z(m ( # z( ( # z(+ ( " z(Q ( ( # z(&O ( ( U z( (  z%} ( # z( (d (  z( ( # z(&O ( ( z(d (  z% (4N # z( (%  z$ ( # z()N (k # z(% (k # z( (k # z(&O (k # z( (k # z( (-7 # z(v (-7 # z( (~  z( 0 (Q  z( (Q # z(7@ ( " z(, ( # z(k (3 " z#Y (% # z( (%  z($ (% # z(E (% # z( (% # z(k (% # z( (% # z( (% # z(% (% # z(D (% # z( (% # z(m (% # z( (% # z(#= (% # z(&O (% # z(&O (%($($ # z( (%  z( 0 (% # z$) (%  z( (% # z( (% # z( (D # z(+ $) " z(, $)  z%} $) # z(&O (&O($($ # z(m (&O # z( $)  z( ( # z( (  z(3$ $)  ( " z( (% # ( ( z( ( # z( $)($($  z& ( # z(~ & # z( ( 0  z(m (  z( ( !B z! ( ( U z(; (H! # z(k (#= # z( (#= " z#Y (#= ( z(d (#= " z( (#=  z(! ( # z( (> # z( (% # z( \ (% # z( (% # z( (% # z()N (% # z( (% # z(Q (% # z(v (% " z(' (% ( U z(t ( # z(s> (  z(f (  z(" ( ( z([w ( " z(@< (  z(~I ( ( U z( (* ( U z(f (Q # z(m (Q # z( (Q # z( \ (Q # z( (Q # z( (Q # z( (Q # z( (Q ( U z(n (Q ( U z(` (Q # z( (Q " z(' (Q ( U z(| (Q ( U z(9 (Q " z( (  z(.q ( # z(% ( " z#Y (l  z& (l  z& (l # z(8& #Y # z$) (4N # z( & ( z( &  z$ (Q !B z! %} ( U z(~ (` ( U z( ( U z( (w  z( (n ( z( (w ( z(' (w # z(] (w # z(9 (w  z (w ( z( (w " z(, (w # z( (w # z( (w " z(H (w ( z(Em (w # z(7@ (w  z(^ (w # z(+ (w # z(s> (w  z(v (w # z(&O (w  z(;: (w ( U z( (w # z$) (w # z( (w # z(% (w # z( (w ( U z(r (w ( U z( (  ( U z(w  z"= (  ( z(d (   z%} (  # z(Q (  ( U z(w (]u ( U z(  ( ($($ ( U z(a' (  ( U z(f (W ( U z( (W ( U z(  (t ( U z(> ( U z(q  z& ( ( U z(t (cm  z% (   z'o (   z( ( # z(m (   z(* (  # z(&O (  ( U z(  ( ( U z(  ( ( U z(h (h ( U z(  (V ( U z(  (n ( U z(u (w ( U z(z (w " z#Y (f ( U z(z ( ( z( (w  z(l (w ( U z(l- ( U z(k (k ( U z(r ( ( U z(f ( ( U z(e (  ( U z(  (`# ( U z(  (u ( U z(n ( U z(e[ (e[ # z(~ !B z(y (y !B z(U (U # z(% (^  z& %  z& "= # z( ( !B z([ ([ # z(D  z%} !B z(O !  z"= % !B z! ( 0  z$ (q  z $ !B z! (^  z& (  z& (.q " z#Y "=  z% (.q  z(.q (.q($($  z(O (O( ( !B z(-7 # z( (x% !B z( (  z& (Q  z& (  z(o %  z& $ !B z(N (N  z& (x%  z$ (s  z& 'o !B z! 'o # z(E  z& (  z(u "= ( z( ( # z(  z(^ (W # z( (W # z(E (.q  z&  z ( !B z! (  z& (-7 ( U z( ! " z(D (x%  z( (x%  z(.q ! # z( (x%  z(^ (_  z& (^  z (^  z(x% (^  z"= !B z(K& (K&  z& ( " z(' (^  z% (  z$ (^  $  z%}  z$ (  z(O # z( (  z(* (-7  z& (s " z#Y (v !B z! (Oj  z (Oj  z& (Oj  z% (  z (m  z'o  z$ (_ # z( $  z( !  z$ (.q  z& $  z(x% %  z (x% !B z(-7 (x%  z($ (  z& (  z& &($($ # z(E $ ( U z( (x%  z($ (x%  z(^ (.q # z(k (^  z(u &  z( $  z& (o  z%} (o  z(.q (x% " z#Y %  z(^ (O !B z(= (=  z$ 'o # z( (-7  z(3$ (-7 " z#Y (.q  z"= (u  z%} (k !B z(-7 (k  z(.q (k  z% (k  z& (k  z( (k  z"= !  z$ (u (-7  z& ([  z ([  z&  z &  z& (  z"= (x%  z(^ (x%  z%} 'o " z#Y 'o  z(q "=  z& (%  z (%  z( (  z(^ %  z( !B z(c ! !B z! (W !B z(H !  z(  z'o  z(-  z(q $)  z(f $) !B z! ( \ !B z! (O # z( (x%  z(x% ( !B z(Ug  z(*  z(f  z$ (  z$ " z(E ( # z( (  z(^  z( (($($  z(.q $ # z( $ ( z(P (^  z(" (^ " z( (-7 ( z( (-7 # z( (-7  z$ (-7  z( 0 (-7 # z( (-7 " z(' (-7  z%} (-7 # z( (-7  z%} (x% ( z(  z( (^  z( (  z(x% !  z& # z( ! # z(k &  z$ ('$  z( 0 $ " z( $ ( z(P (  z(.q  z(3 $ # z(~ $ ( U z( $ ( z([w $ " z#Y &($($ ( U z( & # z( $ # z( $  z(" $ # z( "= !B z( ( # z(7@ (-7 !B z(-7 (-7($($  z(` (x% # z( (x%  z %  z$ (o  z( (W  z( ( z(d (x%  z(v (x%  z(mr (x%  z'o (x% # z( 'o  z$ (W  z(.q " z( !  z(u (v " z( "=  z& &  z(x% & ( z( & # z(v (^ # z(v $ !B z! ( # z( % # z( & # z( & # z( (.q  z(x% $  z"= $ # z(Q ( ( U z(bd & !B z(-7 (  z& (-7 ( z(d !  z$ (D # z( !  z(3$ $  z& &($($  z(O #Y " z(>y #Y " z(? #Y # z( #Y " z( #Y " z( #Y ( z( #Y ( U z(x #Y ( U z(h #Y ( U z(h #Y ( z(Fm #Y # z(i$ #Y ( z( #Y # z(% #Y " z(j #Y ( z(~ #Y ( z( #Y !B z(K& #Y ( U z(e[ #Y ( U z(n #Y ( U z(q #Y !B z(L #Y ( U z(w" #Y !B z(M #Y !B z(A #Y ( U z(; #Y !B z(U #Y ( U z(z} #Y ( U z({ #Y  z(1F #Y ( U z(V #Y ( U z(cm #Y ( z( #Y !B z(W #Y !B z(m #Y  z( #Y !B z( #Y ( U z(5 #Y  z( ( U z(p !B z(-7 (W ( U z( ( ( U z(t ( # z(^ ( " z(>y (>y !B z(c ( " z(@< ( " z(D ( " z(' ( ( U z(  ( ( z(Ij (  z # z(E # z( #Y($($ " z(l (D " z(K (>y " z(> (>y ( U z(u (r # z(k (r ( U z(x (r ( U z(nx (  # z( # z( ( z(d ( U z(  z( " z(@ ( " z#Y (($($ # z(k ( # z( ( # z((e (H # z( (($($  z% (9  z& (9  z& (9  z& (9  z (9  z% (! # z( (~  z(! ( # z( (]  z (Q # z( (4N # z( (4N ( U z(  (4N # z(v (!  z (v # z((e $)  z(s $) # z('$ $) ( z( $) ( z(A $) # z( ((e # z( (!  z( ( # z( (% # z( ( !B z(-7 (  z%} ($ ( U z(w $)  z( ( " z( (^  z(O !B z(= " z#Y (L  ( " z( (x%  (.q  z(_ (.q ( U z( (x% # z( (x% !B z(C (C " z#Y (Oj !B z! & ( z(d %} ( z(d &  z%} %}( (  z& &($($ ( U z(  &  z(3 %} ( U z(  %}  z& %}  z$ (*  z& (s  z (s  z(v (s  z% %($($ # z( %} # z(#= ( # z( & # z( &  z( & ( U z( ( ( U z(r ( ( U z(> ( # z(v (v($($ ( U z(z} (]u  z%} $ # z(Q ( 0 " z(' (Oj ( z( (Oj ( z( # z(k (J: " z(2 (2 " z(E (, " z(Lw (, ( z(' ('  z (  z& ( " z#Y (Q # z( (Q !B z! (Q # z( (( ( # z( (  z(* ( # z(k (Q  z(v (  z(;: ! ( z(d ( # z( ( " z( ( " z(, (, ($($ " z(D ( " z(XE ( " z(A ( ( z(d ( " z(Oj ( ( z( ( " z(, ( ( z(Em ( " z(E ( " z(J: ( " z(H ( ( z(Ij (Ij " z(H (Lw " z( (J: ( z(d ( ( z(' ( ( z( ( ( z([w ( ( z(Em ( ( z( ( " z(' (H " z(E (Lw " z#Y ( " z(' ( " z(Oj ( ( z(' ( " z( (V " z#Y (V  z (($($ ( z(A (' " z(' ( " z(A! ( # z( (J: # z( (J: " z(? (? " z#Y (` # z( (` # z(v ((e # z(E ((e  z ((e # z(D ((e # z(% ( !B z! (($($ !B z(-7 ( " z(' (m  ( # z(^ (  z"= (k  z(! (k # z( (($($ # z(v (  z(m ( ( U z(} ( " z(l ( ( U z(n ( # z( ( " z(H (  z$ (  z"= (  z& (  (k  z( ( " z(J  z(! ( " z( ( ( z(d (, ( z( (, " z#Y (  z%} (  z$ ( # z( (  z(* ( # z(k (($($ # z(E (  (  z% ( # (  z"= (  z( ( ( z( ( ( z( ! # z( \ (v ( U z(  ( # z(D & ( z(d (  z( 0 ! # z(D (  z( 0 (m  z( (k " z(, ( ( z( (  z(x% (  z% ( ( z( ( # z( ( ( U z(w ( ( z( ( # z( (  (E ( z(P ! ( z( ! " z(XE ( # z( (+ # z( (+ ( " z(I (I  z$ (($($ ( z(P ( ( z(' ( " z( ('$  z& (o # z( (> ( z(P (k  z"= # z( $ # # z( \ # z( (  z( (- # z('$ ('$($($ " z(C (C !B z! (m " z(' (  !B z! (   z( (  " z#Y ( ($($ ( z( (   z #Y($($ ( U z(` ( U z( ( U z({ ({ ( U z( (o  z (  ( U z(9 (f ( U z(a' (W ( U z(p (W ( U z(w" (W ( U z(g: (l- # z(k (cm  z(x% (W  z(.q (W !B z(O (W " z(B; (W  z% (W ( z([w (W  z(* (W ( z(Em (W  z(u (W ( z(' (W # z( (W  z'o (W  z(3$ (W  z(* (W # z(&O (W # z()N (W ( z( (W ( U z(a' (w ( z( (p ( z(d (r # z((e (r # z(] (r " z(>y (r ( U z(h (t " z(H (W " z(D (W " z(E (W " z(Q (W  z(mr (W ( z( (W ( U z(f (W  z%} (f # z( ( ( U z(h ( # z( # z(v (  !B z(O (   z( (`  z(O (W ( z( (W # z( (W # z(~ (W !B z(H (W ( U z(} ( U z( ( z( ( !B z(m ( # z( ( " z(A ( ( z(A ( " z(J ( # z( (($($ # z( \ ( ( U z(w ( ( z( & # z( (&O # z( (&O !B z(-7 (&O ( U z(  (&O  z (r " z(, (Oj  z& (  # z$) (   z( # z((e # z( # z(v # z( # z( ( z( # z(% # z( # z( # z(&O # z( # z(t # z(6B ( z(' # z(4N # z$) # z(#= ( z(Z " z(D  z(~I  z(s  z(mr  z(*  z(! # z( ! # z( \ ! ( U z(z} (v= ( U z(u (v= ( U z(`# (v= ( U z(  (v= " z(XE (I # z( (  !B z(-7 (  # z(~ (  # z( (   z( (  # z()N (   z( (  # z( (  ( z( (  # z(% (   z(mr (  # z((e (  # z( (  # z( (  # z( (  " z(T (> " z(Y* (@ " z(G (> " z#Y (>y " z(K (> # z(k (($($ # z( \ ( " z(Q ( " z#Y ( ( z(d (J: # z(Q (J: # z$) (J: " z(Oj (Em # (C ( U z(yN (e " z(H ( " z(H! ( ( z( (Em  z (J: ( z([w (A # z( ( # z(+ $ # z( (~  z(.q #Y($($ " z(Y* (J  z"= (^ # z(D (^  z(.q %}  z(* %}  z( %} ( U z( %}  z(N (N " z(Y* !  z% (x% # z( (k # z()N (! ( z(Em $) # z( ( ( z( ( # z()N ( # z( ( # z(4N (  z& ( # z( ( # z( \ ( # z(E ( # z(&O ( # z( ( ( U z( ( # z(t ( # z(Q (  z ( " z( (D  z( (k  z( ! ( z(' (Q " z(' (Em ( z(P ( # z( (($($ # z(^ ( # z( (( ( ( z([w $) ( z( $) ( U z( $)  z(! (1F # z( ( ( z(Z (  z(u $) ( U z( $) !B z( ( # z( (Q # z(#= ( # z(Q #Y($($ ( z('  z(x% # z( (4N  z( 0 (4N # z( (4N # z(+ (%  z( (%  z( (% # z(% (% # z( (% # z(E (Oj($($ ( z( ( " z(Lw (  z(f ( # z( ( " z(Oj ( " z(D ( ( z(d (P # z( (d ( z( (d # z(k (d # z( (d # z(m (d # z( (d ( z( (d !B z(H $ ( z([w (? " z(, ( ( z(Em ( " z(E ( " z(J: ( " z(D ( " z(, ( " z(Lw ( " z#Y (, # z( ([w # z( ( ( U z(g: ( ( z( ( !B z(A ( " z(E ( " z(G ( " z(H ( # z(+ ( " z( ( ( U z(r ( !B z(L ( " z(Lw ( ( z( ( !B z(K& & # !  z( !  z(s &  z(O (.q !B z(A & ( U z(n (  z%} ( # z(m (($($ !B z! (&O  z$ (&O # z(4N (&O # z(] (k # z( (($($ # z( ( # z( ( ( U z( ( # z( (  z( ( 0  z(f ( 0  z(* ( 0  z(l ( 0 # z( ( # z( ( 0  z(* (l  z( 0 & # z(^ (  z( ( # z(m (($($ # z( ()N  z(- (-( ( # z(9 (  z% ( # z( ( # z( (%  z(" ( ( z(' ( ( z(Em ( " z(H (  z& (#= !B z! (#=  z (#=  z%} (#=  z& (#= ( U z(W (W($($ # z( (+ " z(@< (k " z(l (k ( z( (k ( z(' (k  z(x% (k !B z(GJ (k " z(Oj (k  z(! ( \ " z([ (k ( z( (Q # z(9 ( # z( (Oj # z( (Oj # z(+ (D # z('$ (4N # z(4N (l  z( (3$  z(m ( # z(+ (  z( ( # z(Q (* # z( ( # z( #Y($($ # z( (6B # z( ( # z( (m # z(Q (  z"= (! # ( # z( ( # z( ( # z( (+ # z( ( # z(m ( ( z(A (  z( (*  z( 0 (2{ # z( (W($($  z(f (l  z( (l  z( ( # z( ( " z(' ( # z(s> (k # z(D ( # z( (W($($ # z( (o # z( (o ( U z(  (  z& ( " z( (  z"= ('$ ( z(A ( ( z(P (  z(" (W !B z! (!  z(N ( " z( (  z ( # z(k ( # z$) (+ ( U z(t ( ( z(' (D  z(* (Q # z$) (Oj # z(k (Oj ( z(d (]u # z( (]u # z(m &  z"= (t " z(, (t # z( (t " z(J (t # z(Q ( ( U z(  $ # z( $ # z( (~  z& (  z(f ( # z( ( # z( (8& # z( (8& ( z(d (% # z(&O ( # z( ( # z(m (  z(.q (  z% (  z(* (  z(x% ( # z( (W # z('$ $ # z( ({ " z( (  z( (l # z( \ (  z& ( # z( (  z( ( # z( ( ( U z( (  z(* $ # z( ( ($($ ( U z( (l # z( (*  z( (($($ # z( ( ( z(P ( z( (  z% ( 0 # z(% ( # z(% ( \ # z(k ( \ # z(Q ( \ # z( ( \ # z( ( \ # z(E ( \ ( z(d ( \ ( U z(  ( \  z ( \  z& ( \  z%} ( \  z( ( \  z( ( \ # z( (($($ # z( \ ( 0 # z( ( # z(k (-7 # z( (-7 ( z( ( " z( (k  z%} ( # z( ( " z#Y (($($  z& (  z(v (  z(* (Q # ( # z( #Y($($  z& (($($ # z( ( 0 ( U z(r (! # z(&O ( # z( (l " z#Y (6B # z( ( ( U z(W (D # z(D (  z( (  z(* ( # z( ( # z( (($($  z$ ( " z(Oj ( # z( (  z( ( # z(m (($($  z(;: (  z(v (  z( (  z(* ( # z(4N (  z( ( # z( (  z(s ( " z#Y (~($($ # z(E ( ( z(Em (Oj " z(Oj ([w ( z( ([w " z(? (A ( z( (A  z& (d # z(Q (d ( z(d (' ( z( (' ( z(Z (' ( z( (' " z(Oj (' " z(, (' " z(H (' # z( (!  z% ('$  z& (&O  z ( # z( (+ ( U z(yN ( # z( (#=  z( ( # z( \ ( \( (  z( ( ( U z(t ( # z( (  z'o ( " z#Y (1F  z(mr (  z(u ( " z(D ( # z(] (  z(;: ($ " z(' ('($($ # z( (A " z(J: (H ( z(' (Em ( z( (H " z(, ([w " z(Lw (E " z(' ( " z(H ( " z(D ( " z(E ( " z(, ( " z(Lw ( " z(H (J: " z#Y (XE ( z(d (XE ( z( (XE # z( (XE ( z(Ij (XE " z(XE (  z& (  z& ( ( z( (A " z(A (? " z(D (' " z(Lw (H ( z(Z (Oj " z(H (Oj ( z(' (($($ # z( (A  z( (A # z(k (A # z(v (A # z( (A ( z(Em (' " z( ( " z(R ( " z(2 ( " z(A ( # z( ( " z(J: (Em ( z( ( " z( (2 " z#Y (2 # z( ( # z( (Oj ( z([w ( " z( ( " z(B; ( ( U z( ( ( z([w ( ( U z(w ( ( U z(  (  z (d # z( (d  z& (d !B z! (d ( z(d (d($($  z& #Y($($ # z(3 (m # z( (m # z('$ (m  z(o ( ( U z( (   z( (   z(~I (   z(^ (  " z(H (   z(x% (  " z(, (  " z(J: (   z(s (   (m " z#Y ( # z(% (  z$ & # z( & " z#Y (D ( U z( (~I  z& (~  z ( # ( # z( (  z& ( \ " z#Y (($($ " z#Y (3 # z(E ( 0  z$ ( \ # z( (  z(! (  z(2{ ( # z( & # z( (Q  ( \  z% (  z( (o ( U z( ( " z(@< (  z(- ( " z(@ ( " z(A! ( ( z( ( # z(% (  z( ( ( U z(n ( # z(7@ ( # z(s> ( ( U z(t (  z(3 (  z(f ( # z({ ( ( U z(W ( ( # z(Q (D # z( & # z()N ( # z( ( " z( (+ # z(k ( # z(m (% ( z(d ('$ # z$) $)($($  z($ & # z( (^  z(! (  z(* (  z(o (  ( # z(6B (~ # (7@ # z(~ (k($($ # z( (( ( ( U z(]u (  (v  z( 0 (" # z( $)($($ ( z( (m # z( (m($($ ( U z(cm (k ( U z(g: (k # z(4N (o # z$) ( # z( (($($  z& (($($ ( z(P ( # z(~ (l # z(Q ( " z( (Oj # z( (Oj # z$) ( " z(Q ( # z(E ( # z( ( # z(k ( # z( ( # z(v ( ( z(d (  z( ( # z(~ (#=  z(O (k ( U z(   z( 0 # z(Q &  z& (7@ # z(% ([  z(s (!  z( (~ # z(s> (Oj  z(mr ( ( z(A (  z(* ( # (Q # z(&O & # z(6B (m # z(v ('$ # z(% $)  z'o ( " z(D (  z(~I (  z(mr ( # z( (#=  z%} (~ # z$) (D # z(6B ((e # z(D (^  z( ( # z(6B (  z(- ( # z(8& ( ( U z(r (  ( U z( (  ( U z(v= (  (r($) # z(#= (W ( U z(n (  ( U z(V (  " z#Y ( ( U z(w ( # z( ( # z((e (W ( U z( (W # z(] (W ( U z(]u (W " z(> (W  z( (W " z(@< (W  z(- (W " z(@ (W # z(^ (W " z( (W ( U z(_9 (W  z(_ (W ( z(A (W # z(9 (W ( U z(`# (W  z(` (W ( U z( (W ( U z( (W ( U z(a (W ( U z(bd (W ( U z(cm (W ( U z(e[ (W " z(, (W # z( (W " z(C (W ( U z(e (W ( U z(x (W " z(D (W !B z(m (W ( U z(g: (W ( U z(h (W ( U z(V (W ( U z(h (W !B z(GJ (W ( U z(i (W ( U z(j7 (W ( U z( (W " z(G (W ( U z(l- (W ( U z(k (W ( z(Ij (W " z(I (W " z(J: (W  z(! (W " z(J (W  z( (W  z($ (W !B z(K& (W  z(N (W  z(l (W  z(2{ (W ( U z(n (W ( U z(nx (W ( U z(n (W # z(7@ (W ( U z(p (W  z(q (W ( U z(q (W !B z( (W ( U z(q (W ( U z(r (W !B z( (W # z(s> (W  z(s (W # z(t (W ( U z(u (W ( U z(v= (W !B z(L (W  z(v (W " z(Lw (W # z(6B (W  z(3 (W !B z( (W  z(o (W " z(Oj (W ( z(P (W  z(f (W ( U z(yN (W ( U z(z (W " z(R (W " z(S (W " z(T (W !B z(Ug (W # z({ (W ( U z({ (W ( U z(| (W ( U z(}> (W # z('$ (W !B z(U (W ( U z(} (W ( U z(` (W  z(~I (W ( U z(~ (W ( z(V (W  z(1F (W ( U z(9 (W !B z(W (W " z(XE (W !B z(Z/ (W ( U z(o (W ( z(Z (W !B z([ (W # z( (W  z( (W ( U z(> (W ( U z( (W ( U z(i " z( " z(R !B z(-7 " z#Y (t ( U z(h (h ( U z(h (h ( U z(`# (f (($) ( U z(> ( ( U z( (( ( ( U z( ( ( U z(bd ( ( U z(e (f ( z(d ( ( U z(  (w ( U z(}> " z([ ( # z(m (R # z(E (% # z( ( " z(K (K " z( (Q " z(@< (S " z(@ (S  ( " z(B; " z(H! (5 # z( ( " z( (J " z(T (D " z(l (Y* #Y($) " z(G (S # z( (' ( z(d (Z # z( (Em # z( ( " z( ( !B z! (J: " z(Q ( ( z(A ( " z(E (H ( z(Z ( " z(l ( " z(J ( " z(J: (E ( z( (Z (d ( z(Em (, ( z(Z ( ( z(A ( " z(Oj ( ( z(' (Oj !B z(GJ (L !B z(Z/ (Z/ !B z(= (Ug !B z(Ug & !B z! (s !B z(O  z(! (!  (-7 # z( (.q  z(  z (m  z"= (m  z% (m  z& (m  z(3 &  z& &( (  z$ %  z( &  ! !B z( & # z(D !  z"= 'o  z(` & " z(H ( " z( (  z(q %  z ( # z(v !  %} " z(R (>y # z(Q #Y( (  z(" (  ( " z(/ (>  z& (Q " z(B; (A! " z(R (H! ( U z(w ( ( U z(n (  z (Q  z( 0 ( ( z( ( # z( ( # z( ( # z( ( # z( ( # z(% ( # z( ( # z()N ( # z(&O ( # z( ( # z( ( # z( ( # z(D ( # z(#= ( # z(~ ( # z(+ ( # z(4N ( # z(^ ( # z(9 ( # z( ( # z((e ( # z(6B ( # z(% ( # z(t ( # z(3 ( # z(] ( # z(s> ( # z(7@ ( # z({ (  z( ( " z(/ ( " z(T (J # & ( U z(f ( # z( (2{  z(u (2{  z& (2{ ( z(d (2{  z (2{  z( (  z( ( # z( (4N !B z! (4N # z(^ (4N # z( (4N !B z(-7 (4N # z( (4N  z( (!  z(o ( # z( (  z( (*  z($ (m # z(E (&O  z (&O  z(s (  z(;: ( # z('$ ( # (D # z$) ( !B z(-7 ( # z( \ ( # z( ( ( U z( (  z($ (  z( ( # z((e (t  z(^ (m # z( ( ( z(' ( # z(+ ( ( z(' ( ( U z(j7 (  z(x% (v  z(3$ ( ( U z(}> ( ( U z( (  z( ( # z( ( ( U z( ( # z( ( # z(3 (  z(3 (  z ( # z()N ( # z(6B ( # z(4N ( ( U z( ( ( U z(w ( # z(9 ( ( z( (H! ( U z(`# (  ( ($) # z(4N (t # z(7@ ( $)  z(3$ ( 0 ( z( #Y($($ " z(@< (@<( ( # z( & # z( &  z(" (m ( U z(e ( # z( ( ( U z(h (v (v($) # z(Q ( ( U z(i (v ( U z(> (v ( U z(e (v  z%} (m # z(~ ( # z(~ (($($ # z(v & ( U z(l- &  z$ $( ( # z(k # z(m  z(3 # z( (L " z( (L " z#Y ( # z( (D # z( ( # z( (m($($ # z( ( # z(E (#= # z(E (^ # z(E ( # z(E ('$ # z(E (2{ # z(E (* # z( (7@ # z( (k($($ # z( (#= !B z! (v !B z! (M !B z! (GJ !B z! % !B z! (mr  z% (^  z(x% (.q  z(x% &  z$ (v !B z! (u  z$ (  z$ (Ug  z ('$ " z(' ('$ " z(' & ( z( & ( z(' & ( z( & ( U z( &  z &($($ # z( (Oj ( z(d (-7  z& (-7 !B z! ($($ # z( & # z( & # z(v & # z( & # z( & # z( & # z( \ &  z'o !  z& &($($ !B z! &($($  z(* # z( &  z(- &  z(f & ( z( & # z(  z(^ ! " z( ! ( U z(w & ( z(' &  z(o  z(* ! " z(' !  z& (Oj  z& (Oj  z(.q (Oj " z( & " z( &($($ # z(k & # z( & # z(Q &  z(.q &  z(^ &  z(s &  z( &  z(v & ( z(d & !B z(-7 &  z"= &  z( & " z(' & # z(D &  z%} & # z( (Q # z( (Q # z( ( # z(k #Y($($ " z(A! (B; # z( " z(, ( z(Em ( ( z(' (, ( z(A ( " z(C ( " z(I ( ( z(V ( ( z( (' # z(k (' # z( (' ( z( (Em # z$) (($($  z& (Q  z$ ( ( z( ( # z( (8&  z(o ( ( U z( (k ( U z(p (k ( U z(r (k # z( (k  z(" (k  z(3$ (k ( z( (k ( z([w (k ( z(Em (k ( z(Z (k " z(H (k " z(, (k " z(E (k " z(Lw (k " z(J: (k " z(Q (k " z(D (k !B z(L (k " z( ( ( z(Fm ( " z(2 ( " z(S ( " z(A (  z(N ( !B z( ( !B z(y ( !B z( (  z(q ( # z({ ( " z(E ( " z(Lw ( " z(J ( " z(H ( # z( ( ( U z(f ( ( U z( ( ( U z(q ( ( U z(9 ( ( U z(V ( ( U z(| ( ( U z(j7 ( ( U z(a' ( !B z(m ( ( U z(x ( ( U z(}> ( ( U z(v= ( ( U z(nx ( ( U z(k ( ( U z(a ( " z(A! ( # z( ( !B z(H (  z(O ( # z(i$ ( ( U z(5 ( ( U z(; (  z(x% ( ( U z(u ( ( U z(p ( ( U z(p ( ( U z(n ( ( U z(e[ (  z(! ( ( U z(h ( ( U z(`# ( ( z(P (  z( (  z(1F ( ( U z(` ( ( U z(~ ( ( U z(z (  z(o (  z(l (  z(* ( ( U z(h ( ( U z(e (  z(! ( !B z(O ( !B z( ( " z([ ( " z(/ ( " z(T ( ( z(V ( " z(K ( " z(B; ( " z(R ( ( z(Ij ( " z(H! ( ( z( ( " z(G ( " z(D ( " z(C ( " z( ( " z(>y ( " z(> ( ( U z(cm ( ( U z({ ( ( U z(w" ( ( U z(q ( ( U z(g: ( # z(% ( ( U z(i ( ( U z(bd ( ( U z(_9 ( ( U z(]u ( !B z(Ug ( !B z( ( !B z([ ( !B z(Z/ ( !B z(W ( !B z(W ( !B z(U ( !B z(A ( !B z(M ( !B z(L ( !B z(N ( !B z(K& ( !B z(GJ ( !B z(C ( !B z(= ( " z(XE ( " z(Y* ( " z(I ( " z( ( !B z(L ( # z( ( # z(m (&O($($ # z( ( # z(&O ( " z(' (  z% (  z ( ( z( ( ( z(d ( ( U z(  ( # z$) (#= ( U z( (Q  z(N (Q !B z(-7 (Q  z(o (Q  z( (Q " z(C (Q " z(Oj (Q " z(j (Q ( z(P (Q # z$) "= ( z(d ( (E # z( (($($ # z( ( # z(m ( # z( ( !B z(-7 ( ( U z(w ( ( U z(  ( # z( ([  z& ([ # z( ([  z(3 (2{ # z( # z(m # z( ( # z( ( # z(m ( # z( ( !B z(-7 ( # z( \ ( ( U z(w ( ( U z(  (  z ( # z(v ( " z(' ( ( z( ( ( z( (  z( 0 (  z%} ( " z( ( !B z! (  z ( # z( ( # z( ( ( z( ( # z(] (  z( ( " z(@ ( # z( ( " z(@< ( ( z(A ( # z(^ ( " z( ( " z(, ( # z( ( # z( ( " z(D ( ( U z( ( ( z(Em ( # z(% ( ( U z( (  z(" ( # z( ( " z(H ( ( z(Ij ( # z( ( # z()N (  z(.q (  z( (  z( (  z($ ( # z( ( # z(&O ( ( U z(t ( # z(t ( # z(+ (  z% ( " z(Lw (  z(v (  z(3 ( " z(Oj ( ( z(' (  z( ( ( z(P (  z(f ( # z( ( # z(4N (  z(* ( # z('$ ( # z(#= (  z"= ( ( U z( ( # z(~ ( ( z(Z ( ( U z(w" (  z( (  z(.q ( 0  z& ( 0 # z((e ( 0 # z(] ( 0  z( ( 0 # z( ( 0 # z(^ ( 0 # z(v ( 0 # z(9 ( 0 # z( ( 0 # z(% ( 0 # z(i$ ( 0 # z( ( 0 # z(k ( 0 # z()N ( 0 # z( ( 0 # z( ( 0 # z(&O ( 0 # z(7@ ( 0 # z( ( 0 # z(6B ( 0 # z(+ ( 0 # z(s> ( 0 # z(t ( 0 # z(D ( 0 # z( ( 0 # z({ ( 0 # z(4N ( 0 # z(#= ( 0 # z('$ ( 0 # z( ( 0 # z(m ( 0 # z(~ ( 0 # z( ( 0 ( z( ( 0  z& ( 0  z& ( 0  z ( 0  z( ( 0 " z( ( 0  z ( 0  z(N ( 0 ( z(P ( 0  z( (v # (% # z( ( # z( (% (m # z( (v # z(4N (v # z( (v # z(~ (v  z(N (v # z(m (v  z(o $)  z(N $) ( z(P $) # $) " z(j $) " z([ $) " z(T $)  z(x% $)  z(v $) ( U z(W (m # z(] ( # z(Q (  z(x% ( # z(6B (  z& ( " z(J: ( ( z([w ( " z(E ( " z(D (D($($ !B z(-7 ()N ( z(P ( ( U z(  (  z& (% # z( (%  z%} (  z( ( # z( (E($($ # z(% ( # z(4N ( # z()N ( # z( ( # z( (v ( z( (  z(! ( ( z( ( ( z( ( " z( ( ( U z(5 ( ( U z(; ( " z( ( " z(5 ( ( z(~ ( !B z( ( !B z( ( ( U z(h ( ( z(d ( 0 " z(' ( 0 ( z( ( 0  z(x% ( 0 # z( (Oj # z( (Oj # z( (Oj # z(Q (Oj  z(" (Oj # z( (Oj # z(#= ( ( z(d (~  z($ (~ # z( (* ( U z(cm (w ( U z(_9 (w ( U z(p (w ( U z(| (w ( U z(V (w ( U z(> (w ( U z( (l- ( U z(p (  ( U z(t ( MaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epocheMdatabase_typePGeoLite2-CountryKdescriptionBenYGeoLite2 Country databaseJip_versionIlanguagesBdeBenBesBfrBjaEpt-BRBruEzh-CNJnode_countKrecord_sizemodels/geoip/GeoLocator.php000064400000021743147600042240011707 0ustar00database = $database; return $this; } public function locate( $ip ) { if ( $this->database !== null ) { try { $record = $this->database->search( $ip ); if ( $record !== null ) { return HMWP_Classes_ObjController::getClass( 'HMWP_Models_Geoip_IpLocator' )->init( $record ); } } catch ( Exception $e ) { } } return null; } public function getCountryCode( $ip, $default = '' ) { $record = $this->locate( $ip ); if ( $record !== null ) { return $record->getCountryCode(); } return $default; } public function getDatabaseVersion() { if ( $this->database !== null ) { try { return $this->database->getMetadata()->getBuildEpoch(); } catch ( Exception $e ) { } } return null; } private function getDatabaseDirectory() { return __DIR__; } private function initializeDatabase() { try { $path = $this->getDatabaseDirectory() . '/' . self::DATABASE_FILE_NAME; if ( file_exists( $path ) ) { return HMWP_Classes_ObjController::getClass( 'HMWP_Models_Geoip_Database' )->open( $path ); } } catch ( Exception $e ) { } return null; } public function getInstance() { $preferredSource = self::SOURCE_WFLOGS; if ( ! array_key_exists( $preferredSource, self::$instances ) ) { $database = $this->initializeDatabase(); self::$instances[ $preferredSource ] = HMWP_Classes_ObjController::newInstance( 'HMWP_Models_Geoip_GeoLocator' )->init( $database ); } return self::$instances[ $preferredSource ]; } /** * Get Countries for GeoIp Blocking * * @return array */ public function getCountryCodes() { return array( "AD" => __( "Andorra" ), "AE" => __( "United Arab Emirates" ), "AF" => __( "Afghanistan" ), "AG" => __( "Antigua and Barbuda" ), "AI" => __( "Anguilla" ), "AL" => __( "Albania" ), "AM" => __( "Armenia" ), "AO" => __( "Angola" ), "AQ" => __( "Antarctica" ), "AR" => __( "Argentina" ), "AS" => __( "American Samoa" ), "AT" => __( "Austria" ), "AU" => __( "Australia" ), "AW" => __( "Aruba" ), "AX" => __( "Aland Islands" ), "AZ" => __( "Azerbaijan" ), "BA" => __( "Bosnia and Herzegovina" ), "BB" => __( "Barbados" ), "BD" => __( "Bangladesh" ), "BE" => __( "Belgium" ), "BF" => __( "Burkina Faso" ), "BG" => __( "Bulgaria" ), "BH" => __( "Bahrain" ), "BI" => __( "Burundi" ), "BJ" => __( "Benin" ), "BL" => __( "Saint Bartelemey" ), "BM" => __( "Bermuda" ), "BN" => __( "Brunei Darussalam" ), "BO" => __( "Bolivia" ), "BQ" => __( "Bonaire, Saint Eustatius and Saba" ), "BR" => __( "Brazil" ), "BS" => __( "Bahamas" ), "BT" => __( "Bhutan" ), "BV" => __( "Bouvet Island" ), "BW" => __( "Botswana" ), "BY" => __( "Belarus" ), "BZ" => __( "Belize" ), "CA" => __( "Canada" ), "CC" => __( "Cocos (Keeling) Islands" ), "CD" => __( "Congo, The Democratic Republic of the" ), "CF" => __( "Central African Republic" ), "CG" => __( "Congo" ), "CH" => __( "Switzerland" ), "CI" => __( "Cote dIvoire" ), "CK" => __( "Cook Islands" ), "CL" => __( "Chile" ), "CM" => __( "Cameroon" ), "CN" => __( "China" ), "CO" => __( "Colombia" ), "CR" => __( "Costa Rica" ), "CU" => __( "Cuba" ), "CV" => __( "Cape Verde" ), "CW" => __( "Curacao" ), "CX" => __( "Christmas Island" ), "CY" => __( "Cyprus" ), "CZ" => __( "Czech Republic" ), "DE" => __( "Germany" ), "DJ" => __( "Djibouti" ), "DK" => __( "Denmark" ), "DM" => __( "Dominica" ), "DO" => __( "Dominican Republic" ), "DZ" => __( "Algeria" ), "EC" => __( "Ecuador" ), "EE" => __( "Estonia" ), "EG" => __( "Egypt" ), "EH" => __( "Western Sahara" ), "ER" => __( "Eritrea" ), "ES" => __( "Spain" ), "ET" => __( "Ethiopia" ), "EU" => __( "Europe" ), "FI" => __( "Finland" ), "FJ" => __( "Fiji" ), "FK" => __( "Falkland Islands (Malvinas)" ), "FM" => __( "Micronesia, Federated States of" ), "FO" => __( "Faroe Islands" ), "FR" => __( "France" ), "GA" => __( "Gabon" ), "GB" => __( "United Kingdom" ), "GD" => __( "Grenada" ), "GE" => __( "Georgia" ), "GF" => __( "French Guiana" ), "GG" => __( "Guernsey" ), "GH" => __( "Ghana" ), "GI" => __( "Gibraltar" ), "GL" => __( "Greenland" ), "GM" => __( "Gambia" ), "GN" => __( "Guinea" ), "GP" => __( "Guadeloupe" ), "GQ" => __( "Equatorial Guinea" ), "GR" => __( "Greece" ), "GS" => __( "South Georgia and the South Sandwich Islands" ), "GT" => __( "Guatemala" ), "GU" => __( "Guam" ), "GW" => __( "Guinea-Bissau" ), "GY" => __( "Guyana" ), "HK" => __( "Hong Kong" ), "HM" => __( "Heard Island and McDonald Islands" ), "HN" => __( "Honduras" ), "HR" => __( "Croatia" ), "HT" => __( "Haiti" ), "HU" => __( "Hungary" ), "ID" => __( "Indonesia" ), "IE" => __( "Ireland" ), "IL" => __( "Israel" ), "IM" => __( "Isle of Man" ), "IN" => __( "India" ), "IO" => __( "British Indian Ocean Territory" ), "IQ" => __( "Iraq" ), "IR" => __( "Iran, Islamic Republic of" ), "IS" => __( "Iceland" ), "IT" => __( "Italy" ), "JE" => __( "Jersey" ), "JM" => __( "Jamaica" ), "JO" => __( "Jordan" ), "JP" => __( "Japan" ), "KE" => __( "Kenya" ), "KG" => __( "Kyrgyzstan" ), "KH" => __( "Cambodia" ), "KI" => __( "Kiribati" ), "KM" => __( "Comoros" ), "KN" => __( "Saint Kitts and Nevis" ), "KP" => __( "North Korea" ), "KR" => __( "South Korea" ), "KW" => __( "Kuwait" ), "KY" => __( "Cayman Islands" ), "KZ" => __( "Kazakhstan" ), "LA" => __( "Lao Peoples Democratic Republic" ), "LB" => __( "Lebanon" ), "LC" => __( "Saint Lucia" ), "LI" => __( "Liechtenstein" ), "LK" => __( "Sri Lanka" ), "LR" => __( "Liberia" ), "LS" => __( "Lesotho" ), "LT" => __( "Lithuania" ), "LU" => __( "Luxembourg" ), "LV" => __( "Latvia" ), "LY" => __( "Libyan Arab Jamahiriya" ), "MA" => __( "Morocco" ), "MC" => __( "Monaco" ), "MD" => __( "Moldova, Republic of" ), "ME" => __( "Montenegro" ), "MF" => __( "Saint Martin" ), "MG" => __( "Madagascar" ), "MH" => __( "Marshall Islands" ), "MK" => __( "North Macedonia, Republic of" ), "ML" => __( "Mali" ), "MM" => __( "Myanmar" ), "MN" => __( "Mongolia" ), "MO" => __( "Macao" ), "MP" => __( "Northern Mariana Islands" ), "MQ" => __( "Martinique" ), "MR" => __( "Mauritania" ), "MS" => __( "Montserrat" ), "MT" => __( "Malta" ), "MU" => __( "Mauritius" ), "MV" => __( "Maldives" ), "MW" => __( "Malawi" ), "MX" => __( "Mexico" ), "MY" => __( "Malaysia" ), "MZ" => __( "Mozambique" ), "NA" => __( "Namibia" ), "NC" => __( "New Caledonia" ), "NE" => __( "Niger" ), "NF" => __( "Norfolk Island" ), "NG" => __( "Nigeria" ), "NI" => __( "Nicaragua" ), "NL" => __( "Netherlands" ), "NO" => __( "Norway" ), "NP" => __( "Nepal" ), "NR" => __( "Nauru" ), "NU" => __( "Niue" ), "NZ" => __( "New Zealand" ), "OM" => __( "Oman" ), "PA" => __( "Panama" ), "PE" => __( "Peru" ), "PF" => __( "French Polynesia" ), "PG" => __( "Papua New Guinea" ), "PH" => __( "Philippines" ), "PK" => __( "Pakistan" ), "PL" => __( "Poland" ), "PM" => __( "Saint Pierre and Miquelon" ), "PN" => __( "Pitcairn" ), "PR" => __( "Puerto Rico" ), "PS" => __( "Palestinian Territory" ), "PT" => __( "Portugal" ), "PW" => __( "Palau" ), "PY" => __( "Paraguay" ), "QA" => __( "Qatar" ), "RE" => __( "Reunion" ), "RO" => __( "Romania" ), "RS" => __( "Serbia" ), "RU" => __( "Russian Federation" ), "RW" => __( "Rwanda" ), "SA" => __( "Saudi Arabia" ), "SB" => __( "Solomon Islands" ), "SC" => __( "Seychelles" ), "SD" => __( "Sudan" ), "SE" => __( "Sweden" ), "SG" => __( "Singapore" ), "SH" => __( "Saint Helena" ), "SI" => __( "Slovenia" ), "SJ" => __( "Svalbard and Jan Mayen" ), "SK" => __( "Slovakia" ), "SL" => __( "Sierra Leone" ), "SM" => __( "San Marino" ), "SN" => __( "Senegal" ), "SO" => __( "Somalia" ), "SR" => __( "Suriname" ), "ST" => __( "Sao Tome and Principe" ), "SV" => __( "El Salvador" ), "SX" => __( "Sint Maarten" ), "SY" => __( "Syrian Arab Republic" ), "SZ" => __( "Swaziland" ), "TC" => __( "Turks and Caicos Islands" ), "TD" => __( "Chad" ), "TF" => __( "French Southern Territories" ), "TG" => __( "Togo" ), "TH" => __( "Thailand" ), "TJ" => __( "Tajikistan" ), "TK" => __( "Tokelau" ), "TL" => __( "Timor-Leste" ), "TM" => __( "Turkmenistan" ), "TN" => __( "Tunisia" ), "TO" => __( "Tonga" ), "TR" => __( "Turkey" ), "TT" => __( "Trinidad and Tobago" ), "TV" => __( "Tuvalu" ), "TW" => __( "Taiwan" ), "TZ" => __( "Tanzania, United Republic of" ), "UA" => __( "Ukraine" ), "UG" => __( "Uganda" ), "UM" => __( "United States Minor Outlying Islands" ), "US" => __( "United States" ), "UY" => __( "Uruguay" ), "UZ" => __( "Uzbekistan" ), "VA" => __( "Holy See (Vatican City State)" ), "VC" => __( "Saint Vincent and the Grenadines" ), "VE" => __( "Venezuela" ), "VG" => __( "Virgin Islands, British" ), "VI" => __( "Virgin Islands, U.S." ), "VN" => __( "Vietnam" ), "VU" => __( "Vanuatu" ), "WF" => __( "Wallis and Futuna" ), "WS" => __( "Samoa" ), "XK" => __( "Kosovo" ), "YE" => __( "Yemen" ), "YT" => __( "Mayotte" ), "ZA" => __( "South Africa" ), "ZM" => __( "Zambia" ), "ZW" => __( "Zimbabwe" ), ); } }models/geoip/IntegerParser.php000064400000000374147600042240012420 0ustar00readByte(); $value = ( $value << 8 ) + $byte; } return $value; } }models/geoip/IpAddress.php000064400000005176147600042240011531 0ustar00humanReadable = $humanReadable; $this->binary = $binary; $this->type = $this->resolveType( $binary ); return $this; } public function getHumanReadable() { return $this->humanReadable; } public function getBinary() { return $this->binary; } public function getType() { return $this->type; } private function resolveType( $binary ) { return strlen( $binary ) === self::LENGTH_IPV6 ? self::TYPE_IPV6 : self::TYPE_IPV4; } /** * Create an IpAddress instance from a human-readable string * * @param string $humanReadable a human-readable IP address * * @return HMWP_Models_Geoip_IpAddress * @throws Exception if $humanReadable is not a valid human-readable IP address */ public function createFromHumanReadable( $humanReadable ) { $binary = inet_pton( $humanReadable ); if ( $binary === false ) { throw new \Exception( "IP address \"{$humanReadable}\" is malformed" ); } return HMWP_Classes_ObjController::newInstance( 'HMWP_Models_Geoip_IpAddress' )->init( $humanReadable, $binary ); } /** * Create an IpAddress instance from a binary string * * @param string $binary a binary IP address * * @return HMWP_Models_Geoip_IpAddress * @throws Exception if $binary is not a valid binary IP address */ public function createFromBinary( $binary ) { $humanReadable = inet_ntop( $binary ); if ( $humanReadable === false ) { throw new \Exception( "Binary IP address data is invalid: " . bin2hex( $binary ) ); } return HMWP_Classes_ObjController::newInstance( 'HMWP_Models_Geoip_IpAddress' )->init( $humanReadable, $binary ); } /** * Create an IpAddress instance from an unknown string representation * * @param string $string either a human-readable or binary IP address * * @return HMWP_Models_Geoip_IpAddress * @throws Exception if $string cannot be parsed as a valid IP address */ public function createFromString( $string ) { foreach ( self::$SEPARATORS as $separator ) { if ( strpos( $string, $separator ) !== false ) { try { return $this->createFromHumanReadable( $string ); } catch ( Exception $e ) { break; } } } return $this->createFromBinary( $string ); } public function __toString() { return $this->getHumanReadable(); } }models/geoip/IpLocator.php000064400000003757147600042240011552 0ustar00record = is_array( $record ) ? $record : array(); return $this; } public function getCountryRecord() { if ( array_key_exists( 'country', $this->record ) ) { $country = $this->record['country']; if ( is_array( $country ) ) { return $country; } } return array(); } public function getCountryField( $field ) { $country = $this->getCountryRecord(); if ( array_key_exists( $field, $country ) ) { return $country[ $field ]; } return null; } public function getCountryCode() { $isoCode = $this->getCountryField( 'iso_code' ); if ( is_string( $isoCode ) && strlen( $isoCode ) === 2 ) { return $isoCode; } return null; } private function findBestLanguageMatch( $options, $preferredLanguage = self::LANGUAGE_DEFAULT ) { $languages = array(); if ( is_string( $preferredLanguage ) ) { $languages[] = $preferredLanguage; } if ( strpos( $preferredLanguage, self::LANGUAGE_SEPARATOR ) !== false ) { $components = explode( self::LANGUAGE_SEPARATOR, $preferredLanguage ); $baseLanguage = $components[0]; if ( $baseLanguage !== self::LANGUAGE_DEFAULT ) { $languages[] = $baseLanguage; } } if ( $preferredLanguage !== self::LANGUAGE_DEFAULT ) { $languages[] = self::LANGUAGE_DEFAULT; } foreach ( $languages as $language ) { if ( array_key_exists( $language, $options ) ) { return $options[ $language ]; } } if ( ! empty( $options ) ) { return reset( $options ); } return null; } public function getCountryName( $preferredLanguage = self::LANGUAGE_DEFAULT ) { $names = $this->getCountryField( 'names' ); if ( is_array( $names ) && ! empty( $names ) ) { return $this->findBestLanguageMatch( $names, $preferredLanguage ); } return null; } }models/geoip/Node.php000064400000001324147600042240010527 0ustar00reader = $reader; $this->data = $data; return $this; } public function getRecord( $side ) { /** @var HMWP_Models_Geoip_NodeRecord $nodeRecord */ $nodeRecord = HMWP_Classes_ObjController::getClass( 'HMWP_Models_Geoip_NodeRecord' ); $value = $this->reader->extractRecord( $this->data, $side ); return $nodeRecord->init( $this->reader, $value ); } public function getLeft() { return $this->getRecord( self::SIDE_LEFT ); } public function getRight() { return $this->getRecord( self::SIDE_RIGHT ); } }models/geoip/NodeReader.php000064400000004763147600042240011664 0ustar00handle = $handle; $this->nodeSize = $nodeSize; $this->nodeCount = $nodeCount; $this->searchTreeSectionSize = $nodeSize * $nodeCount; $this->computeRecordSizes(); return $this; } private function computeRecordSizes() { $this->recordWholeBytes = (int) ( $this->nodeSize / 2 ); $this->recordBits = $this->nodeSize % 2; if ( $this->recordBits > 0 ) { $this->sharedByteOffset = $this->recordWholeBytes + 1; } } public function read( $position = 0 ) { if ( $position > $this->nodeCount ) { throw new \Exception( "Read requested for node at {$position}, but only {$this->nodeCount} nodes are present" ); } $offset = $position * $this->nodeSize; $this->handle->seek( $offset, SEEK_SET ); $data = $this->handle->read( $this->nodeSize ); /** @var HMWP_Models_Geoip_Node $node */ $node = HMWP_Classes_ObjController::getClass( 'HMWP_Models_Geoip_Node' ); return $node->init( $this, $data ); } private function hasSharedByte() { return $this->sharedByteOffset !== null; } private function getWholeByteOffset( $side ) { /** @var HMWP_Models_Geoip_Node $node */ $node = HMWP_Classes_ObjController::getClass( 'HMWP_Models_Geoip_Node' ); return $side === $node::SIDE_LEFT ? 0 : ( $this->hasSharedByte() ? $this->sharedByteOffset : $this->recordWholeBytes ); } public function extractRecord( $nodeData, $side ) { if ( $this->hasSharedByte() ) { /** @var HMWP_Models_Geoip_Node $node */ $node = HMWP_Classes_ObjController::getClass( 'HMWP_Models_Geoip_Node' ); $sharedByte = ord( $nodeData[ $this->sharedByteOffset ] ); if ( $side === $node::SIDE_LEFT ) { $value = $sharedByte >> 4; } else { $value = $sharedByte & self::SHARED_MASK_RIGHT; } } else { $value = 0; } $offset = $this->getWholeByteOffset( $side ); $end = $offset + $this->recordWholeBytes; for ( $i = $offset; $i < $end; $i ++ ) { $byte = ord( $nodeData[ $i ] ); $value = ( $value << 8 ) | $byte; } return $value; } public function getNodeCount() { return $this->nodeCount; } public function getSearchTreeSectionSize() { return $this->searchTreeSectionSize; } }models/geoip/NodeRecord.php000064400000002216147600042240011667 0ustar00reader = $reader; $this->value = $value; return $this; } public function getValue() { return $this->value; } public function isNodePointer() { return $this->value < $this->reader->getNodeCount(); } public function getNextNode() { if ( ! $this->isNodePointer() ) { throw new \Exception( 'The next node was requested for a record that is not a node pointer' ); } try { return $this->reader->read( $this->getValue() ); } catch ( \Exception $e ) { throw new \Exception( 'Invalid node pointer found in database', $e ); } } public function isNullPointer() { return $this->value === $this->reader->getNodeCount(); } public function isDataPointer() { return $this->value > $this->reader->getNodeCount(); } public function getDataAddress() { if ( ! $this->isDataPointer() ) { throw new \Exception( 'The data address was requested for a record that is not a data pointer' ); } return $this->value - $this->reader->getNodeCount() + $this->reader->getSearchTreeSectionSize(); } }models/Brute.php000064400000051271147600042240007626 0ustar00user_ip ) ) { return $this->user_ip; } if ( ! isset( $_SERVER['REMOTE_ADDR'] ) ) { return '127.0.0.1'; } $ip = $_SERVER['REMOTE_ADDR']; $trusted_header = HMWP_Classes_Tools::getOption( 'trusted_ip_header' ); if ( is_string( $trusted_header ) && $trusted_header <> '' ) { if ( isset( $_SERVER[ $trusted_header ] ) ) { $ip = $_SERVER[ $trusted_header ]; } } $ips = array_reverse( explode( ', ', $ip ) ); foreach ( $ips as $ip ) { $ip = $this->clean_ip( $ip ); // If the IP is in a private or reserved range, keep looking if ( $ip == '127.0.0.1' || $ip == '::1' || $this->ip_is_private( $ip ) ) { continue; } else { $this->user_ip = $ip; return $this->user_ip; } } $this->user_ip = $this->clean_ip( $_SERVER['REMOTE_ADDR'] ); return $this->user_ip; } /** * Clean the IP address if altered * * @param $ip * * @return mixed|string */ public function clean_ip( $ip ) { $ip = trim( $ip ); // Check for IPv4 IP cast as IPv6 if ( preg_match( '/^::ffff:(\d+\.\d+\.\d+\.\d+)$/', $ip, $matches ) ) { $ip = $matches[1]; } return $ip; } /** * Checks an IP to see if it is within a private range * * @param string $ip * * @return bool */ public function ip_is_private( $ip ) { $pri_addrs = array( '10.0.0.0|10.255.255.255', // single class A network '172.16.0.0|172.31.255.255', // 16 contiguous class B network '192.168.0.0|192.168.255.255', // 256 contiguous class C network '169.254.0.0|169.254.255.255', // Link-local address also refered to as Automatic Private IP Addressing '127.0.0.0|127.255.255.255' // localhost ); $long_ip = ip2long( $ip ); if ( $long_ip != - 1 ) { foreach ( $pri_addrs as $pri_addr ) { list ( $start, $end ) = explode( '|', $pri_addr ); // If it is a private IP address if ( $long_ip >= ip2long( $start ) && $long_ip <= ip2long( $end ) ) { return true; } } } return false; } /** * Generate a privacy key * * @return string */ public function get_privacy_key() { // Privacy key generation uses the NONCE_SALT + admin email-- admin email is // used to prevent identical privacy keys if NONCE_SALT is not customized return substr( md5( NONCE_SALT . get_site_option( 'admin_email' ) ), 5, 10 ); } /** * Checks the status for a given IP. API results are cached as transients in the wp_options table * * @return array|mixed * @throws Exception */ public function brute_check_loginability() { $ip = $this->brute_get_ip(); $transient_name = 'hmwp_brute_' . md5( $ip ); $transient_value = $this->get_transient( $transient_name ); //Never block login from whitelisted IPs if ( $this->check_whitelisted_ip( $ip ) ) { $transient_value['status'] = 'whitelist'; return $transient_value; } //Check out our transients if ( isset( $transient_value['status'] ) && $transient_value['status'] == 'ok' ) { return $transient_value; } if ( isset( $transient_value['status'] ) && $transient_value['status'] == 'blocked' ) { //there is a current block-- prevent login $this->brute_kill_login(); } //If we've reached this point, this means that the IP isn't cached. //Now we check to see if we should allow login $response = $this->brute_call( 'check_ip' ); if ( $response['status'] == 'blocked' ) { $this->brute_kill_login(); } return $response; } /** * Check if the current IP address is whitelisted by the user * * @param string $ip * * @return bool */ public function check_whitelisted_ip( $ip ) { if ( HMWP_Classes_Tools::isWhitelistedIP( $ip ) ) { return true; } return false; } /** * Get the current local host * * @return mixed|string */ public function brute_get_local_host() { if ( isset( $this->local_host ) ) { return $this->local_host; } $uri = 'http://' . strtolower( $_SERVER['HTTP_HOST'] ); if ( HMWP_Classes_Tools::isMultisites() ) { $uri = network_home_url(); } $uridata = wp_parse_url( $uri ); $domain = $uridata['host']; //if we still don't have it, get the site_url if ( ! $domain ) { $uri = home_url(); $uridata = wp_parse_url( $uri ); if ( isset( $uridata['host'] ) ) { $domain = $uridata['host']; } } $this->local_host = $domain; return $this->local_host; } /** * Count the number of fail attempts * * @return false|int|mixed */ public function brute_get_blocked_attempts() { $blocked_count = get_site_option( 'bruteprotect_blocked_attempt_count' ); if ( ! $blocked_count ) { $blocked_count = 0; } return $blocked_count; } /** * Finds out if this site is using http or https * * @return string */ public function brute_get_protocol() { return ( is_ssl() ) ? "https://" : "http://"; } /** * Get all IP headers so that we can process on our server... * * @return array */ public function brute_get_headers() { $o = array(); $ip_related_headers = array( 'GD_PHP_HANDLER', 'HTTP_AKAMAI_ORIGIN_HOP', 'HTTP_CF_CONNECTING_IP', 'HTTP_CLIENT_IP', 'HTTP_FASTLY_CLIENT_IP', 'HTTP_FORWARDED', 'HTTP_FORWARDED_FOR', 'HTTP_INCAP_CLIENT_IP', 'HTTP_TRUE_CLIENT_IP', 'HTTP_X_CLIENTIP', 'HTTP_X_CLUSTER_CLIENT_IP', 'HTTP_X_IP_TRAIL', 'HTTP_X_REAL_IP', 'HTTP_X_VARNISH', 'REMOTE_ADDR' ); foreach ( $ip_related_headers as $header ) { if ( isset( $_SERVER[ $header ] ) ) { $o[ $header ] = $_SERVER[ $header ]; } } return $o; } /** * process the brute call * * @param string $action 'check_ip', 'check_key', or 'failed_attempt' * @param array $info Any custom data to post to the api * * @return array|mixed * @throws Exception */ public function brute_call( $action = 'check_ip', $info = array() ) { $ip = $this->brute_get_ip(); $transient_name = 'hmwp_brute_' . md5( $ip ); if ( ! $response = $this->get_transient( $transient_name ) ) { $response = array(); } $attempts = ( isset( $response['attempts'] ) ? (int) $response['attempts'] : 0 ); if ( $action == 'failed_attempt' ) { if ( $this->check_whitelisted_ip( $ip ) ) { $response['status'] = 'ok'; return $response; } $attempts = (int) $attempts + 1; if ( $attempts >= HMWP_Classes_Tools::getOption( 'brute_max_attempts' ) ) { //block current IP address $this->block_ip( $ip ); wp_redirect( home_url() ); exit(); } else { $response['attempts'] = $attempts; $response['status'] = 'ok'; $this->set_transient( $transient_name, $response, (int) HMWP_Classes_Tools::getOption( 'brute_max_timeout' ) ); } } elseif ( $action == 'check_ip' ) { $response['status'] = ( isset( $response['status'] ) ? $response['status'] : 'ok' ); //Always block a banned IP if ( $this->check_banned_ip( $ip ) ) { $response['status'] = 'blocked'; } } elseif ( $action == 'clear_ip' ) { $this->delete_transient( $transient_name ); } return $response; } /** * Block current IP address * * @param $ip * * @return void * @throws Exception */ public function block_ip( $ip ) { $transient_name = 'hmwp_brute_' . md5( $ip ); if ( ! $response = $this->get_transient( $transient_name ) ) { $response = array(); } $attempts = ( isset( $response['attempts'] ) ? (int) $response['attempts'] : 0 ); $info['ip'] = $ip; $info['host'] = $this->brute_get_local_host(); $info['protocol'] = $this->brute_get_protocol(); $info['headers'] = wp_json_encode( $this->brute_get_headers() ); $response = array_merge( $response, $info ); $response['attempts'] = $attempts; $response['status'] = 'blocked'; $this->set_transient( $transient_name, $response, (int) HMWP_Classes_Tools::getOption( 'brute_max_timeout' ) ); //Log the block IP on the server HMWP_Classes_ObjController::getClass( 'HMWP_Models_Log' )->hmwp_log_actions( 'block_ip', array( 'ip' => $ip ) ); } /** * Save the transient with the blocked IP in database * * @param $transient * @param $value * @param $expiration * * @return bool */ public function set_transient( $transient, $value, $expiration ) { if ( HMWP_Classes_Tools::isMultisites() && ! is_main_site() ) { switch_to_blog( $this->get_main_blog_id() ); $return = set_transient( $transient, $value, $expiration ); restore_current_blog(); return $return; } return set_transient( $transient, $value, $expiration ); } /** * Delete the transient from database * * @param $transient * * @return bool */ public function delete_transient( $transient ) { if ( HMWP_Classes_Tools::isMultisites() && ! is_main_site() ) { switch_to_blog( $this->get_main_blog_id() ); $return = delete_transient( $transient ); restore_current_blog(); return $return; } return delete_transient( $transient ); } /** * Get the saved transient from database * * @param $transient * * @return mixed */ public function get_transient( $transient ) { if ( HMWP_Classes_Tools::isMultisites() && ! is_main_site() ) { switch_to_blog( $this->get_main_blog_id() ); $return = get_transient( $transient ); restore_current_blog(); return $return; } return get_transient( $transient ); } /** * If we're in a multisite network, return the blog ID of the primary blog * * @return int */ public function get_main_blog_id() { if ( defined( 'BLOG_ID_CURRENT_SITE' ) ) { return BLOG_ID_CURRENT_SITE; } return 1; } /** * Get all blocked IPs * * @return array */ public function get_blocked_ips() { global $wpdb; $ips = array(); $pattern = '_transient_timeout_hmwp_brute_'; //check 20 keyword at one time $sql = $wpdb->prepare( "SELECT `option_name` FROM `{$wpdb->options}` WHERE (`option_name` LIKE %s) ORDER BY `option_id` DESC", $pattern . '%' ); if ( $rows = $wpdb->get_results( $sql ) ) { foreach ( $rows as $row ) { if ( ! $transient_value = $this->get_transient( str_replace( $pattern, 'hmwp_brute_', $row->option_name ) ) ) { $this->delete_transient( str_replace( $pattern, '', $row->option_name ) ); } elseif ( isset( $transient_value['status'] ) && $transient_value['status'] == 'blocked' ) { $ips[ str_replace( $pattern, 'hmwp_brute_', $row->option_name ) ] = $transient_value; } } } return $ips; } /** * Check if the IP address is already banned by the user * * @param $ip * * @return bool */ public function check_banned_ip( $ip ) { //Never block login from whitelisted IPs return HMWP_Classes_Tools::isBlacklistedIP( $ip ); } /** * Delete the IP address from database * * @param $transient * * @return void */ public function delete_ip( $transient ) { $this->delete_transient( $transient ); } /** * Verifies that a user answered the math problem correctly while logging in. * * @param mixed $user * @param mixed $response * * @return mixed $user Returns the user if the math is correct */ public function brute_math_authenticate( $user, $response ) { $salt = HMWP_Classes_Tools::getOption( 'hmwp_disable' ) . get_site_option( 'admin_email' ); $ans = (int) HMWP_Classes_Tools::getValue( 'brute_num', 0 ); $salted_ans = sha1( $salt . $ans ); $correct_ans = HMWP_Classes_Tools::getValue( 'brute_ck' ); if ( $correct_ans === false || $salted_ans != $correct_ans ) { $user = new WP_Error( 'authentication_failed', sprintf( esc_html__( '%sYou failed to correctly answer the math problem.%s Please try again', 'hide-my-wp' ), '', '' ) ); } return $user; } /** * Requires a user to solve a simple equation. Added to any WordPress login form. * * @return void outputs html */ public function brute_math_form() { if ( ! HMWP_Classes_Tools::getOption( 'brute_use_math' ) ) { return; } $salt = HMWP_Classes_Tools::getOption( 'hmwp_disable' ) . get_site_option( 'admin_email' ); $num1 = wp_rand( 0, 10 ); $num2 = wp_rand( 1, 10 ); $sum = $num1 + $num2; $ans = sha1( $salt . $sum ); ?>
  +     =  
brute_catpcha_call(); } elseif ( HMWP_Classes_Tools::getOption( 'brute_use_captcha_v3' ) ) { $error_message = $this->brute_catpcha_v3_call(); } if ( $error_message ) { $user = new WP_Error( 'authentication_failed', $error_message ); } return $user; } /** * Call the reCaptcha V2 from Google */ public function brute_catpcha_call() { $error_message = false; $error_codes = array( 'missing-input-secret' => esc_html__( 'The secret parameter is missing.', 'hide-my-wp' ), 'invalid-input-secret' => esc_html__( 'The secret parameter is invalid or malformed.', 'hide-my-wp' ), 'timeout-or-duplicate' => esc_html__( 'The response parameter is invalid or malformed.', 'hide-my-wp' ), 'missing-input-response' => esc_html__( 'Empty ReCaptcha. Please complete reCaptcha.', 'hide-my-wp' ), 'invalid-input-response' => esc_html__( 'Invalid ReCaptcha. Please complete reCaptcha.', 'hide-my-wp' ) ); $captcha = HMWP_Classes_Tools::getValue( 'g-recaptcha-response', false ); $secret = HMWP_Classes_Tools::getOption( 'brute_captcha_secret_key' ); if ( $secret <> '' ) { $response = json_decode( HMWP_Classes_Tools::hmwp_remote_get( "https://www.google.com/recaptcha/api/siteverify?secret=$secret&response=" . $captcha . "&remoteip=" . $_SERVER['REMOTE_ADDR'] ), true ); if ( isset( $response['success'] ) && ! $response['success'] ) { //If captcha errors, let the user login and fix the error if ( isset( $response['error-codes'] ) && ! empty( $response['error-codes'] ) ) { foreach ( $response['error-codes'] as $error_code ) { if ( isset( $error_codes[ $error_code ] ) ) { $error_message = $error_codes[ $error_code ]; } } } if ( ! $error_message ) { $error_message = sprintf( esc_html__( '%sIncorrect ReCaptcha%s. Please try again', 'hide-my-wp' ), '', '' ); } } } return $error_message; } /** * reCAPTCHA head and login form */ public function brute_recaptcha_head() { ?> '' && HMWP_Classes_Tools::getOption( 'brute_captcha_secret_key' ) <> '' ) { global $hmwp_bruteforce; //load header first if not triggered if ( ! $hmwp_bruteforce && ! did_action( 'login_head' ) ) { $this->brute_recaptcha_head(); } ?>
esc_html__( 'The secret parameter is missing.', 'hide-my-wp' ), 'invalid-input-secret' => esc_html__( 'The secret parameter is invalid or malformed.', 'hide-my-wp' ), 'timeout-or-duplicate' => esc_html__( 'The response parameter is invalid or malformed.', 'hide-my-wp' ), 'missing-input-response' => esc_html__( 'Empty ReCaptcha. Please complete reCaptcha.', 'hide-my-wp' ), 'invalid-input-response' => esc_html__( 'Invalid ReCaptcha. Please complete reCaptcha.', 'hide-my-wp' ), 'bad-request' => esc_html__( 'The response parameter is invalid or malformed.', 'hide-my-wp' ) ); $captcha = HMWP_Classes_Tools::getValue( 'g-recaptcha-response' ); $secret = HMWP_Classes_Tools::getOption( 'brute_captcha_secret_key_v3' ); if ( $secret <> '' ) { $response = json_decode( HMWP_Classes_Tools::hmwp_remote_get( "https://www.google.com/recaptcha/api/siteverify?secret=$secret&response=" . $captcha . "&remoteip=" . $_SERVER['REMOTE_ADDR'] ), true ); if ( isset( $response['success'] ) && ! $response['success'] ) { //If captcha errors, let the user login and fix the error if ( isset( $response['error-codes'] ) && ! empty( $response['error-codes'] ) ) { foreach ( $response['error-codes'] as $error_code ) { if ( isset( $error_codes[ $error_code ] ) ) { $error_message = $error_codes[ $error_code ]; } } } if ( ! $error_message ) { $error_message = sprintf( esc_html__( '%sIncorrect ReCaptcha%s. Please try again', 'hide-my-wp' ), '', '' ); } } } return $error_message; } /** * reCAPTCHA head and login form */ public function brute_recaptcha_head_v3() { ?> '' && HMWP_Classes_Tools::getOption( 'brute_captcha_secret_key_v3' ) <> '' ) { global $hmwp_bruteforce; //load header first if not triggered if ( ! $hmwp_bruteforce && ! did_action( 'login_head' ) ) { $this->brute_recaptcha_head_v3(); } ?> brute_get_ip() ); wp_ob_end_flush_all(); wp_die( HMWP_Classes_Tools::getOption( 'hmwp_brute_message' ), esc_html__( 'Login Blocked by' . ' ' . HMWP_Classes_Tools::getOption( 'hmwp_plugin_name' ), 'hide-my-wp' ), array( 'response' => 403 ) ); } } models/Cache.php000064400000020627147600042240007551 0ustar00setCachePath( WP_CONTENT_DIR . '/cache/' ); } /** * Set the Cache Path * * @param $path */ public function setCachePath( $path ) { $this->_cachepath = $path; } /** * Get the cache path * * @return string */ public function getCachePath() { //Initialize WordPress Filesystem $wp_filesystem = HMWP_Classes_ObjController::initFilesystem(); //Get the website cache path $path = $this->_cachepath; if ( HMWP_Classes_Tools::isMultisites() ) { if ( $wp_filesystem->is_dir( $path . get_current_blog_id() . '/' ) ) { $path .= get_current_blog_id() . '/'; } } if ( ! $wp_filesystem->is_dir( $path ) ) { return false; } return $path; } /** * Build the redirects array * * @throws Exception */ public function buildRedirect() { //If the replacement was not already set if ( empty( $this->_replace ) ) { /** * The Rewrite Model * * @var HMWP_Models_Rewrite $rewriteModel */ $rewriteModel = HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rewrite' ); //build the rules paths to change back the hidden paths if ( ! isset( $rewriteModel->_replace['from'] ) && ! isset( $rewriteModel->_replace['to'] ) ) { $rewriteModel->buildRedirect(); //add the domain to rewrites if not multisite if ( HMWP_Classes_Tools::getOption( 'hmwp_fix_relative' ) && ! HMWP_Classes_Tools::isMultisites() ) { $rewriteModel->prepareFindReplace(); } } //Verify only the rewrites if ( isset( $rewriteModel->_replace['from'] ) && isset( $rewriteModel->_replace['to'] ) && ! empty( $rewriteModel->_replace['from'] ) && ! empty( $rewriteModel->_replace['to'] ) ) { if ( ! empty( $rewriteModel->_replace['rewrite'] ) ) { foreach ( $rewriteModel->_replace['rewrite'] as $index => $value ) { //add only the paths or the design path if ( ( isset( $rewriteModel->_replace['to'][ $index ] ) && substr( $rewriteModel->_replace['to'][ $index ], - 1 ) == '/' ) || strpos( $rewriteModel->_replace['to'][ $index ], '/' . HMWP_Classes_Tools::getOption( 'hmwp_themes_style' ) ) ) { $this->_replace['from'][] = $rewriteModel->_replace['from'][ $index ]; $this->_replace['to'][] = $rewriteModel->_replace['to'][ $index ]; } } } } } } /** * Replace the paths in CSS files * * @throws Exception */ public function changePathsInCss() { if ( HMWP_Classes_Tools::getOption( 'error' ) ) { return; } try { if ( $this->getCachePath() ) { $cssfiles = $this->rsearch( $this->getCachePath() . '*.css' ); if ( ! empty( $cssfiles ) ) { //load the redirects into array $this->buildRedirect(); foreach ( $cssfiles as $file ) { //only if the file is writable if ( ! $content = $this->readFile( $file ) ) { continue; } //find replace the content $newcontent = $this->findReplace( $content ); if ( $newcontent <> $content ) { //write into file $this->writeFile( $file, $newcontent ); } } } } } catch ( Exception $e ) { } } /** * Replace the paths inHTML files * * @return void */ public function changePathsInJs() { if ( HMWP_Classes_Tools::getOption( 'error' ) ) { return; } try { if ( $this->getCachePath() ) { $jsfiles = $this->rsearch( $this->getCachePath() . '*.js' ); if ( ! empty( $jsfiles ) ) { //load the redirects into array $this->buildRedirect(); foreach ( $jsfiles as $file ) { //only if the file is writable if ( ! $content = $this->readFile( $file ) ) { continue; } //find replace the content $newcontent = $this->findReplace( $content ); if ( $newcontent <> $content ) { //write into file $this->writeFile( $file, $newcontent ); } } } } } catch ( Exception $e ) { } } /** * Replace the paths inHTML files * * @return void */ public function changePathsInHTML() { //Initialize WordPress Filesystem $wp_filesystem = HMWP_Classes_ObjController::initFilesystem(); if ( HMWP_Classes_Tools::getOption( 'error' ) ) { return; } try { if ( $this->getCachePath() ) { $htmlfiles = $this->rsearch( $this->getCachePath() . '*.html' ); if ( ! empty( $htmlfiles ) ) { //load the redirects into array $this->buildRedirect(); /** * The Rewrite Model * * @var HMWP_Models_Rewrite $rewriteModel */ $rewriteModel = HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rewrite' ); foreach ( $htmlfiles as $file ) { //only if the file is writable if ( ! $wp_filesystem->is_writable( $file ) ) { continue; } //get the file content $content = $wp_filesystem->get_contents( $file ); //find replace the content $newcontent = $this->findReplace( $content ); if ( $newcontent <> $content ) { //write into file $this->writeFile( $file, $newcontent ); } } } } } catch ( Exception $e ) { } } /** * Find and replace the old paths into files * * @param string $content * * @return string|string[]|null * @throws Exception */ public function findReplace( $content ) { //If there are replaced paths if ( ! empty( $this->_replace ) && isset( $this->_replace['from'] ) && isset( $this->_replace['to'] ) ) { //if there is content in the file if ( $content <> '' ) { //if the file has unchanged paths if ( strpos( $content, HMWP_Classes_Tools::getDefault( 'hmwp_admin_url' ) ) !== false || strpos( $content, HMWP_Classes_Tools::getDefault( 'hmwp_wp-content_url' ) ) !== false || strpos( $content, HMWP_Classes_Tools::getDefault( 'hmwp_wp-includes_url' ) ) !== false ) { //fix the relative links before if ( HMWP_Classes_Tools::getOption( 'hmwp_fix_relative' ) ) { $content = HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rewrite' )->fixRelativeLinks( $content ); } $content = str_ireplace( $this->_replace['from'], $this->_replace['to'], $content ); } //Text Mapping for all css files - Experimental if ( HMWP_Classes_Tools::getOption( 'hmwp_mapping_text_show' ) && HMWP_Classes_Tools::getOption( 'hmwp_mapping_file' ) ) { $hmwp_text_mapping = json_decode( HMWP_Classes_Tools::getOption( 'hmwp_text_mapping' ), true ); if ( isset( $hmwp_text_mapping['from'] ) && ! empty( $hmwp_text_mapping['from'] ) && isset( $hmwp_text_mapping['to'] ) && ! empty( $hmwp_text_mapping['to'] ) ) { //only classes & ids if ( HMWP_Classes_Tools::getOption( 'hmwp_mapping_classes' ) ) { foreach ( $hmwp_text_mapping['from'] as $index => $from ) { if ( strpos( $content, $from ) !== false ) { $content = preg_replace( "'(?:([^/])" . addslashes( $from ) . "([^/]))'is", '$1' . $hmwp_text_mapping['to'][ $index ] . '$2', $content ); } } } else { $content = str_ireplace( $hmwp_text_mapping['from'], $hmwp_text_mapping['to'], $content ); } } } } } return $content; } /** * Get the files paths by extension * * @param string $pattern * @param int $flags * * @return array */ public function rsearch( $pattern, $flags = 0 ) { $files = array(); if ( function_exists( 'glob' ) ) { $files = glob( $pattern, $flags ); foreach ( glob( dirname( $pattern ) . '/*', GLOB_ONLYDIR | GLOB_NOSORT ) as $dir ) { $files = array_merge( $files, $this->rsearch( $dir . '/' . basename( $pattern ), $flags ) ); } } return $files; } /** * Read the file content * * @param string $file * * @return bool */ public function readFile( $file ) { //Initialize WordPress Filesystem $wp_filesystem = HMWP_Classes_ObjController::initFilesystem(); if ( $wp_filesystem->is_writable( $file ) ) { return $wp_filesystem->get_contents( $file ); } return false; } /** * Write the file content * * @param string $file * @param string $content * * @return void */ public function writeFile( $file, $content ) { //Initialize WordPress Filesystem $wp_filesystem = HMWP_Classes_ObjController::initFilesystem(); if ( $wp_filesystem->is_writable( $file ) ) { $wp_filesystem->put_contents( $file, $content ); } } } models/Clicks.php000064400000016714147600042240007760 0ustar00 '' ) ? str_replace( "'", "`", HMWP_Classes_Tools::getOption( 'hmwp_disable_inspect_message' ) ) : '' ); $hmwp_disable_click_message = ( ( HMWP_Classes_Tools::getOption( 'hmwp_disable_click_message' ) <> '' ) ? str_replace( "'", "`", HMWP_Classes_Tools::getOption( 'hmwp_disable_click_message' ) ) : '' ); $hmwp_disable_copy_paste_message = ( ( HMWP_Classes_Tools::getOption( 'hmwp_disable_copy_paste_message' ) <> '' ) ? str_replace( "'", "`", HMWP_Classes_Tools::getOption( 'hmwp_disable_copy_paste_message' ) ) : '' ); $hmwp_disable_drag_drop_message = ( ( HMWP_Classes_Tools::getOption( 'hmwp_disable_drag_drop_message' ) <> '' ) ? str_replace( "'", "`", HMWP_Classes_Tools::getOption( 'hmwp_disable_drag_drop_message' ) ) : '' ); $hmwp_disable_source_message = ( ( HMWP_Classes_Tools::getOption( 'hmwp_disable_source_message' ) <> '' ) ? str_replace( "'", "`", HMWP_Classes_Tools::getOption( 'hmwp_disable_source_message' ) ) : '' ); ?>
addMUPlugin(); } } /** * Delete the compatibility with other plugins * Called on plugin deactivation */ public function uninstall() { $this->deleteMUPlugin(); } /** * Check some compatibility on page load */ public function checkCompatibility() { $compatibilities = array( 'really-simple-ssl/rlrsssl-really-simple-ssl.php' => 'HMWP_Models_Compatibility_ReallySimpleSsl', 'nitropack/main.php' => 'HMWP_Models_Compatibility_Nitropack', 'hummingbird-performance/wp-hummingbird.php' => 'HMWP_Models_Compatibility_Hummingbird', 'wp-rocket/wp-rocket.php' => 'HMWP_Models_Compatibility_WpRocket', 'wp-fastest-cache/wpFastestCache.php' => 'HMWP_Models_Compatibility_FastestCache', 'woocommerce/woocommerce.php' => 'HMWP_Models_Compatibility_Woocommerce', 'memberpress/memberpress.php' => 'HMWP_Models_Compatibility_MemberPress', 'autoptimize/autoptimize.php' => 'HMWP_Models_Compatibility_Autoptimize', 'confirm-email/confirm-email.php' => 'HMWP_Models_Compatibility_ConfirmEmail', 'breeze/breeze.php' => 'HMWP_Models_Compatibility_Breeze', 'w3-total-cache/w3-total-cache.php' => 'HMWP_Models_Compatibility_W3Total', 'jch-optimize/jch-optimize.php' => 'HMWP_Models_Compatibility_JsOptimize', 'minimal-coming-soon-maintenance-mode/minimal-coming-soon-maintenance-mode.php' => 'HMWP_Models_Compatibility_MMaintenance', 'all-in-one-wp-security-and-firewall/wp-security.php' => 'HMWP_Models_Compatibility_AioSecurity', 'powered-cache/powered-cache.php' => 'HMWP_Models_Compatibility_PowerCache', 'squirrly-seo/squirrly.php' => 'HMWP_Models_Compatibility_Squirrly', 'siteguard/siteguard.php' => 'HMWP_Models_Compatibility_SiteGuard', 'sg-cachepress/sg-cachepress.php' => 'HMWP_Models_Compatibility_SiteGuard', 'wordfence/wordfence.php' => 'HMWP_Models_Compatibility_Wordfence', 'sitepress-multilingual-cms/sitepress.php' => 'HMWP_Models_Compatibility_Wpml', 'ithemes-security-pro/ithemes-security-pro.php' => 'HMWP_Models_Compatibility_iThemes', 'better-wp-security/better-wp-security.php' => 'HMWP_Models_Compatibility_iThemes', 'ultimate-member/ultimate-member.php' => 'HMWP_Models_Compatibility_UltimateMember', 'wp-user-manager/wp-user-manager.php' => 'HMWP_Models_Compatibility_Wpum', 'wp-defender/wp-defender.php' => 'HMWP_Models_Compatibility_WpDefender', 'cmp-coming-soon-maintenance/niteo-cmp.php' => 'HMWP_Models_Compatibility_Cmp', 'display-admin-page-on-frontend-premium/index.php' => 'HMWP_Models_Compatibility_WPFrontendAdmin', 'flying-press/flying-press.php' => 'HMWP_Models_Compatibility_FlyingPress', 'two-factor/two-factor.php' => 'HMWP_Models_Compatibility_TwoFactor', 'hcaptcha-for-forms-and-more/hcaptcha.php' => 'HMWP_Models_Compatibility_hCaptcha', 'mainwp-child/mainwp-child.php' => 'HMWP_Models_Compatibility_MainWP', 'elementor/elementor.php' => 'HMWP_Models_Compatibility_Elementor', 'userswp/userswp.php' => 'HMWP_Models_Compatibility_UsersWP', 'litespeed-cache/litespeed-cache.php' => 'HMWP_Models_Compatibility_LiteSpeed', ); try { foreach ( $compatibilities as $plugin => $class ) { if ( HMWP_Classes_Tools::isPluginActive( $plugin ) ) { HMWP_Classes_ObjController::getClass( $class ); } } } catch ( Exception $e ) { } //Refresh rewrites when a new website or new term is created on Litespeed server if ( HMWP_Classes_Tools::isLitespeed() ) { HMWP_Classes_ObjController::getClass( 'HMWP_Models_Compatibility_LiteSpeed' ); } //Compatibility with More plugin HMWP_Classes_ObjController::getClass( 'HMWP_Models_Compatibility_Others' ); } /** * Check other plugins and set compatibility settings * * @throws Exception */ public function checkBuildersCompatibility() { //Check the compatibility with builders //Don't load when on builder editor //Compatibility with Oxygen Plugin, Elementor, Thrive and more, Yellow Pencil, Wp Bakery if ( function_exists( 'is_user_logged_in' ) && is_user_logged_in() ) { $builder_paramas = array( 'fl_builder', //Beaver Builder 'fb-edit', //Fusion Builder 'builder', //Fusion Builder 'vc_action', //WP Bakery 'vc_editable', //WP Bakery 'vcv-action', //WP Bakery 'et_fb', //Divi 'ct_builder', //Oxygen 'tve', //Thrive 'preview', //Blockeditor & Gutenberg 'elementor-preview', //Elementor 'uxb_iframe', 'wyp_page_type', //Yellowpencil plugin 'wyp_mode',//Yellowpencil plugin 'brizy-edit-iframe',//Brizy plugin 'bricks',//Bricks plugin 'zionbuilder-preview',//Zion Builder plugin 'customize_theme',//WordPress Customize 'breakdance',//Breakdance plugin 'breakdance_iframe',//Breakdance plugin 'np_edit',//Nicepage plugin 'np_new',//Nicepage plugin ); foreach ( $builder_paramas as $param ) { if ( HMWP_Classes_Tools::getIsset( $param ) ) { //Stop WP Ghost from loading while on editor add_filter( 'hmwp_start_buffer', '__return_false' ); add_filter( 'hmwp_process_buffer', '__return_false' ); add_filter( 'hmwp_process_hide_disable', '__return_false' ); add_filter( 'hmwp_process_find_replace', '__return_false' ); return true; } } } return false; } /** * Check if the cache plugins are loaded and have cached files * * @throws Exception */ public function checkCacheFiles() { global $wpdb; $changed = false; //Initialize WordPress Filesystem $wp_filesystem = HMWP_Classes_ObjController::initFilesystem(); $content_dir = $wp_filesystem->wp_content_dir(); //If the plugin is not set to map all the files dynamically if ( ! HMW_DYNAMIC_FILES && ! HMWP_Classes_Tools::getOption( 'hmwp_mapping_file' ) ) { //Change the paths in the elementor cached css if ( false && HMWP_Classes_Tools::isPluginActive( 'elementor/elementor.php' ) ) { if ( HMWP_Classes_Tools::isMultisites() ) { if ( $blogs = $wpdb->get_results( "SELECT blog_id FROM " . $wpdb->blogs . " where blog_id > 1" ) ) { foreach ( $blogs as $blog ) { //Set the cache directory for this plugin $path = $content_dir . HMWP_Classes_Tools::getDefault( 'hmwp_upload_url' ) . '/sites/' . $blog->blog_id . '/elementor/css/'; if ( $wp_filesystem->is_dir( $path ) ) { //Set the cache directory for this plugin HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->setCachePath( $path ); //change the paths in css HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->changePathsInCss(); //mark as cache changed $changed = true; } } } } else { //Set the cache directory for this plugin $path = $content_dir . HMWP_Classes_Tools::getDefault( 'hmwp_upload_url' ) . '/elementor/css/'; if ( $wp_filesystem->is_dir( $path ) ) { HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->setCachePath( $path ); //change the paths in css HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->changePathsInCss(); //mark as cache changed $changed = true; } } } } //Change the paths in the cached css if ( HMWP_Classes_Tools::isPluginActive( 'fusion-builder/fusion-builder.php' ) ) { //Set the cache directory for this plugin $path = $content_dir . HMWP_Classes_Tools::getDefault( 'hmwp_upload_url' ) . '/fusion-styles/'; if ( $wp_filesystem->is_dir( $path ) ) { HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->setCachePath( $path ); //change the paths in css HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->changePathsInCss(); //mark as cache changed $changed = true; } } //Change the paths in the cached css if ( HMWP_Classes_Tools::isPluginActive( 'beaver-builder-lite-version/fl-builder.php' ) || HMWP_Classes_Tools::isPluginActive( 'beaver-builder/fl-builder.php' ) ) { //Set the cache directory for this plugin $path = $content_dir . HMWP_Classes_Tools::getDefault( 'hmwp_upload_url' ) . '/bb-plugin/cache/'; if ( $wp_filesystem->is_dir( $path ) ) { HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->setCachePath( $path ); //change the paths in css HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->changePathsInCss(); //change the paths in js HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->changePathsInJs(); //mark as cache changed $changed = true; } } //Change the paths in the cached css if ( HMWP_Classes_Tools::isPluginActive( 'wp-super-cache/wp-cache.php' ) ) { //Initialize WordPress Filesystem $wp_filesystem = HMWP_Classes_ObjController::initFilesystem(); $wp_cache_config_file = $content_dir . 'wp-cache-config.php'; if ( $wp_filesystem->exists( $wp_cache_config_file ) ) { include $wp_cache_config_file; } //Set the cache directory for this plugin if ( isset( $cache_path ) ) { $path = $cache_path; } else { $path = $content_dir . 'cache'; } if ( $wp_filesystem->is_dir( $path ) ) { HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->setCachePath( $path ); //change the paths in css HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->changePathsInCss(); //change the paths in js HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->changePathsInJs(); //mark as cache changed $changed = true; } } //Change the paths in the cached css if ( HMWP_Classes_Tools::isPluginActive( 'litespeed-cache/litespeed-cache.php' ) ) { //Set the cache directory for this plugin $path = $content_dir . 'litespeed/'; //if set by the plugin, them select the defined folder if( defined('LITESPEED_DATA_FOLDER') && LITESPEED_DATA_FOLDER <> ''){ $path = $content_dir . LITESPEED_DATA_FOLDER . '/'; } if ( $wp_filesystem->is_dir( $path ) ) { HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->setCachePath( $path ); //change the paths in css HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->changePathsInCss(); //change the paths in js HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->changePathsInJs(); //mark as cache changed $changed = true; } } //Change the paths in the cached css if ( HMWP_Classes_Tools::isPluginActive( 'comet-cache/comet-cache.php' ) ) { //Set the cache directory for this plugin $path = false; if ( $options = get_option( 'comet_cache_options' ) ) { if ( isset( $options['base_dir'] ) ) { $path = $content_dir . trim( $options['base_dir'], '/' ) . '/'; } } if ( ! $path ) { $path = $content_dir . 'cache/'; } if ( $wp_filesystem->is_dir( $path ) ) { HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->setCachePath( $path ); //change the paths in css HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->changePathsInCss(); //change the paths in js HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->changePathsInJs(); //mark as cache changed $changed = true; } } if ( HMWP_Classes_Tools::isPluginActive( 'hummingbird-performance/wp-hummingbird.php' ) ) { //Set the cache directory for this plugin $path = $content_dir . 'wphb-cache/'; if ( $options = get_option( 'wphb_settings' ) ) { if ( isset( $options['minify']['file_path'] ) ) { $path = $wp_filesystem->abspath() . trim( $options['minify']['file_path'], '/' ) . '/'; } } if ( $wp_filesystem->is_dir( $path ) ) { HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->setCachePath( $path ); //change the paths in css HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->changePathsInCss(); //change the paths in js HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->changePathsInJs(); //mark as cache changed $changed = true; } } if ( HMWP_Classes_Tools::isPluginActive( 'hyper-cache/plugin.php' ) ) { //Set the cache directory for this plugin if ( defined( 'HYPER_CACHE_FOLDER' ) ) { $path = HYPER_CACHE_FOLDER; } else { $path = $content_dir . 'cache/'; } if ( $wp_filesystem->is_dir( $path ) ) { HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->setCachePath( $path ); //change the paths in css HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->changePathsInCss(); //change the paths in js HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->changePathsInJs(); //change the paths in html HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->changePathsInHTML(); //mark as cache changed $changed = true; } } //For WP-Rocket if ( HMWP_Classes_Tools::isPluginActive( 'wp-rocket/wp-rocket.php' ) ) { if ( function_exists( 'get_rocket_option' ) ) { if ( get_rocket_option( 'minify_concatenate_css' ) && defined( 'WP_ROCKET_MINIFY_CACHE_PATH' ) ) { if ( HMWP_Classes_Tools::isMultisites() ) { if ( $blogs = $wpdb->get_results( "SELECT blog_id FROM " . $wpdb->blogs . " where blog_id > 1" ) ) { foreach ( $blogs as $blog ) { //Set the cache directory for this plugin $path = WP_ROCKET_MINIFY_CACHE_PATH . $blog->blog_id . '/'; if ( $wp_filesystem->is_dir( $path ) ) { HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->setCachePath( $path ); //change the paths in css HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->changePathsInCss(); //change the paths in js HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->changePathsInJs(); //mark as cache changed $changed = true; } } } } //Set the cache directory for this plugin $path = WP_ROCKET_MINIFY_CACHE_PATH . get_current_blog_id() . '/'; if ( $wp_filesystem->is_dir( $path ) ) { HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->setCachePath( $path ); //change the paths in css HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->changePathsInCss(); //change the paths in js HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->changePathsInJs(); //mark as cache changed $changed = true; } } } } //For Autoptimizer if ( HMWP_Classes_Tools::isPluginActive( 'autoptimize/autoptimize.php' ) ) { //Set the cache directory for this plugin $path = $content_dir . 'cache/autoptimize/'; if ( $wp_filesystem->is_dir( $path ) ) { HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->setCachePath( $path ); //change the paths in css HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->changePathsInCss(); //change the paths in js HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->changePathsInJs(); //mark as cache changed $changed = true; } } if ( HMWP_Classes_Tools::isPluginActive( 'wp-core-web-vitals/wpcorewebvitals.php' ) ) { //Set the cache directory for this plugin $path = $content_dir . 'cache/wp_cwv/'; if ( $wp_filesystem->is_dir( $path ) ) { HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->setCachePath( $path ); //change the paths in css HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->changePathsInCss(); //change the paths in js HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->changePathsInJs(); //Change the paths in html HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->changePathsInHTML(); //mark as cache changed $changed = true; } } //For bb-plugin if ( HMWP_Classes_Tools::isPluginActive( 'beaver-builder-lite-version/fl-builder.php' ) ) { //Set the cache directory for this plugin $path = $content_dir . 'uploads/bb-plugin/cache/'; if ( $wp_filesystem->is_dir( $path ) ) { HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->setCachePath( $path ); //change the paths in css HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->changePathsInCss(); //change the paths in js HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->changePathsInJs(); //mark as cache changed $changed = true; } } if ( ( HMWP_Classes_Tools::isPluginActive( 'swift-performance/performance.php' ) || HMWP_Classes_Tools::isPluginActive( 'swift-performance-lite/performance.php' ) ) && defined( 'SWIFT_PERFORMANCE_CACHE_DIR' ) ) { //Set the cache directory for this plugin $path = SWIFT_PERFORMANCE_CACHE_DIR; if ( $wp_filesystem->is_dir( $path ) ) { HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->setCachePath( $path ); //change the paths in css HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->changePathsInCss(); //change the paths in js HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->changePathsInJs(); //mark as cache changed $changed = true; } } //For WP Fastest Cache if ( HMWP_Classes_Tools::isPluginActive( 'wp-fastest-cache/wpFastestCache.php' ) ) { //Set the cache directory for this plugin $path = $content_dir . 'cache/wpfc-minified/'; if ( $wp_filesystem->is_dir( $path ) ) { HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->setCachePath( $path ); //Change the paths in cache HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->changePathsInCss(); //change the paths in js HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->changePathsInJs(); //Change the paths in html HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->changePathsInHTML(); } $path = $content_dir . 'cache/all/'; if ( $wp_filesystem->is_dir( $path ) ) { HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->setCachePath( $path ); //Change the paths in cache HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->changePathsInHTML(); //mark as cache changed $changed = true; } } //For Siteground Cache if ( HMWP_Classes_Tools::isPluginActive( 'sg-cachepress/sg-cachepress.php' ) ) { if ( HMWP_Classes_Tools::isMultisites() ) { if ( $blogs = $wpdb->get_results( "SELECT blog_id FROM " . $wpdb->blogs . " where blog_id > 1" ) ) { foreach ( $blogs as $blog ) { //Set the cache directory for this plugin $path = $content_dir . HMWP_Classes_Tools::getDefault( 'hmwp_upload_url' ) . '/sites/' . $blog->blog_id . '/siteground-optimizer-assets/'; if ( $wp_filesystem->is_dir( $path ) ) { HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->setCachePath( $path ); //Change the paths in cache HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->changePathsInCss(); //change the paths in js HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->changePathsInJs(); //mark as cache changed $changed = true; } } } } else { //Set the cache directory for this plugin $path = $content_dir . HMWP_Classes_Tools::getDefault( 'hmwp_upload_url' ) . '/siteground-optimizer-assets/'; if ( $wp_filesystem->is_dir( $path ) ) { HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->setCachePath( $path ); //Change the paths in cache HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->changePathsInCss(); //change the paths in js HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->changePathsInJs(); //mark as cache changed $changed = true; } } //Set the cache directory for this plugin $path = $content_dir . 'cache/sgo-cache/'; if ( $wp_filesystem->is_dir( $path ) ) { HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->setCachePath( $path ); //Change the paths in cache HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->changePathsInHTML(); //mark as cache changed $changed = true; } } //For JCH Optimize Cache if ( HMWP_Classes_Tools::isPluginActive( 'jch-optimize/jch-optimize.php' ) ) { //Change the paths in css $path = $content_dir . 'cache/jch-optimize/css/'; if ( $wp_filesystem->is_dir( $path ) ) { HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->setCachePath( $path ); HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->changePathsInCss(); //mark as cache changed $changed = true; } //change the paths in js $path = $content_dir . 'cache/jch-optimize/js/'; if ( $wp_filesystem->is_dir( $path ) ) { HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->setCachePath( $path ); HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->changePathsInJs(); //mark as cache changed $changed = true; } } //IF none of these plugins are installed. Search whole directory. if ( ! $changed || HMWP_Classes_Tools::getOption( 'hmwp_change_in_cache_directory' ) <> '' ) { //Set the cache directory for this plugin if ( HMWP_Classes_Tools::getOption( 'hmwp_change_in_cache_directory' ) <> '' ) { $path = $content_dir . trim( HMWP_Classes_Tools::getOption( 'hmwp_change_in_cache_directory' ), '/' ) . '/'; } else { $path = $content_dir . 'cache/'; } if ( $wp_filesystem->is_dir( $path ) ) { HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->setCachePath( $path ); //if other cache plugins are installed HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->changePathsInCss(); //change the paths in js HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cache' )->changePathsInJs(); //mark as cache changed $changed = true; } } if ( $changed && isset( $path ) ) { //For debugging do_action( 'hmwp_debug_cache', gmdate( 'Y-m-d H:i:s' ) . PHP_EOL . $path ); } } /** * Get all alert messages * * @throws Exception */ public static function getAlerts() { // First thing you need to do $page = HMWP_Classes_Tools::getValue( 'page' ); if ( HMWP_Classes_Tools::getOption( 'hmwp_mode' ) == 'default' && $page <> 'hmwp_permalinks' ) { HMWP_Classes_Error::setNotification( sprintf( esc_html__( 'First, you need to activate the %sSafe Mode%s or %sGhost Mode%s in %s', 'hide-my-wp' ), '
', '', '', '', '' . HMWP_Classes_Tools::getOption( 'hmwp_plugin_name' ) . '' ) ); } // Announce the plugin name change if( HMWP_Classes_Tools::getOption('hmwp_plugin_name') == 'Hide My WP Ghost' && $page == 'hmwp_settings' ){ $link = '' . esc_html__( "Update Now", 'hide-my-wp' ) . ''; HMWP_Classes_Error::setNotification( sprintf( esc_html( '%s Good News! %s You can now update the plugin name from %s Hide My WP Ghost %s to %s WP Ghost %s on your website! %s' ), '', '', '', '', '', '', $link )); } //is CDN plugin installed if ( is_admin() || is_network_admin() ) { if ( HMWP_Classes_Tools::isPluginActive( 'cdn-enabler/cdn-enabler.php' ) ) { if ( HMWP_Classes_Tools::getOption( 'hmwp_mode' ) <> 'default' ) { if ( $cdn_enabler = get_option( 'cdn_enabler' ) ) { if ( isset( $cdn_enabler['dirs'] ) ) { $dirs = explode( ',', $cdn_enabler['dirs'] ); if ( ! empty( $dirs ) && ! in_array( HMWP_Classes_Tools::getOption( 'hmwp_wp-content_url' ), $dirs ) && ! in_array( HMWP_Classes_Tools::getOption( 'hmwp_wp-includes_url' ), $dirs ) ) { HMWP_Classes_Error::setNotification( sprintf( esc_html__( 'CDN Enabled detected. Please include %s and %s paths in CDN Enabler Settings', 'hide-my-wp' ), '' . HMWP_Classes_Tools::getOption( 'hmwp_wp-content_url' ) . '', '' . HMWP_Classes_Tools::getOption( 'hmwp_wp-includes_url' ) . '' ) ); } } } } if ( isset( $_SERVER['REQUEST_URI'] ) && admin_url( 'options-general.php?page=cdn_enabler', 'relative' ) == $_SERVER['REQUEST_URI'] ) { HMWP_Classes_Error::setNotification( sprintf( esc_html__( "CDN Enabler detected! Learn how to configure it with %s %sClick here%s", 'hide-my-wp' ), HMWP_Classes_Tools::getOption( 'hmwp_plugin_name' ), '', '' ) ); } } //Compatibility with WP Cache plugin for CDN list if ( HMWP_Classes_Tools::isPluginActive( 'wp-super-cache/wp-cache.php' ) ) { if ( get_option( 'ossdl_off_cdn_url' ) <> '' && get_option( 'ossdl_off_cdn_url' ) <> home_url() ) { $dirs = explode( ',', get_option( 'ossdl_off_include_dirs' ) ); if ( ! empty( $dirs ) && ! in_array( HMWP_Classes_Tools::getOption( 'hmwp_wp-content_url' ), $dirs ) && ! in_array( HMWP_Classes_Tools::getOption( 'hmwp_wp-includes_url' ), $dirs ) ) { HMWP_Classes_Error::setNotification( sprintf( esc_html__( 'WP Super Cache CDN detected. Please include %s and %s paths in WP Super Cache > CDN > Include directories', 'hide-my-wp' ), '' . HMWP_Classes_Tools::getOption( 'hmwp_wp-content_url' ) . '', '' . HMWP_Classes_Tools::getOption( 'hmwp_wp-includes_url' ) . '' ) ); } } } //Admin Ajax alert for Affiliate Pro plugin if ( HMWP_Classes_Tools::isPluginActive( 'indeed-affiliate-pro/indeed-affiliate-pro.php' ) ) { if ( HMWP_Classes_Tools::getOption( 'hmwp_admin-ajax_url' ) <> HMWP_Classes_Tools::getDefault( 'hmwp_admin-ajax_url' ) ) { HMWP_Classes_Error::setNotification( sprintf( esc_html__( "Ultimate Affiliate Pro detected. The plugin doesn't support custom %s paths as it doesn't use WordPress functions to call the Ajax URL", 'hide-my-wp' ), 'admin-ajax.php' ) ); } } //Admin Ajax alert for Membership Pro plugin if ( HMWP_Classes_Tools::isPluginActive( 'indeed-membership-pro/indeed-membership-pro.php' ) ) { if ( HMWP_Classes_Tools::getOption( 'hmwp_admin-ajax_url' ) <> HMWP_Classes_Tools::getDefault( 'hmwp_admin-ajax_url' ) ) { HMWP_Classes_Error::setNotification( sprintf( esc_html__( "Indeed Ultimate Membership Pro detected. The plugin doesn't support custom %s paths as it doesn't use WordPress functions to call the Ajax URL", 'hide-my-wp' ), 'admin-ajax.php' ) ); } } //Mor Rewrite is not installed if ( HMWP_Classes_Tools::isApache() && ! HMWP_Classes_Tools::isModeRewrite() ) { HMWP_Classes_Error::setNotification( sprintf( esc_html__( '%s does not work without mode_rewrite. Please activate the rewrite module in Apache. %sMore details%s', 'hide-my-wp' ), HMWP_Classes_Tools::getOption( 'hmwp_plugin_name' ), '', '' ) ); } //IIS server and no Rewrite Permalinks installed if ( HMWP_Classes_Tools::isIIS() && HMWP_Classes_Tools::isPHPPermalink() ) { HMWP_Classes_Error::setNotification( sprintf( esc_html__( 'You need to activate the URL Rewrite for IIS to be able to change the permalink structure to friendly URL (without index.php). %sMore details%s', 'hide-my-wp' ), '', '' ) ); } elseif ( HMWP_Classes_Tools::isPHPPermalink() ) { HMWP_Classes_Error::setNotification( esc_html__( 'You need to set the permalink structure to friendly URL (without index.php).', 'hide-my-wp' ) ); } //Inmotion server detected if ( HMWP_Classes_Tools::isInmotion() && HMWP_Classes_Tools::isNginx() ) { HMWP_Classes_Error::setNotification( sprintf( esc_html__( 'Inmotion detected. %sPlease read how to make the plugin compatible with Inmotion Nginx Cache%s', 'hide-my-wp' ), '', '' ) ); } if ( HMWP_Classes_Tools::isAWS() ) { HMWP_Classes_Error::setNotification( sprintf( esc_html__( 'Bitnami detected. %sPlease read how to make the plugin compatible with AWS hosting%s', 'hide-my-wp' ), '', '' ) ); } if ( HMWP_Classes_Tools::isCloudPanel() ) { HMWP_Classes_Error::setNotification( sprintf( esc_html__( 'Cloud Panel detected. %sPlease read how to make the plugin compatible with Cloud Panel hosting%s', 'hide-my-wp' ), '', '' ) ); } //The login path is changed by other plugins and may affect the functionality if ( HMWP_Classes_Tools::getDefault( 'hmwp_login_url' ) == HMWP_Classes_Tools::getOption( 'hmwp_login_url' ) ) { if ( strpos( site_url( 'wp-login.php' ), HMWP_Classes_Tools::getDefault( 'hmwp_login_url' ) ) === false ) { defined( 'HMWP_DEFAULT_LOGIN' ) || define( 'HMWP_DEFAULT_LOGIN', site_url( 'wp-login.php' ) ); } } if ( HMWP_Classes_Tools::isThemeActive( 'Avada' ) ) { if ( ( HMWP_Classes_Tools::getOption( 'hmwp_mode' ) <> 'default' ) ) { if ( HMWP_Classes_Tools::getOption( 'hmwp_themes_url' ) <> HMWP_Classes_Tools::getDefault( 'hmwp_themes_url' ) ) { $avada_path = $fusion_url = false; $themes = HMWP_Classes_Tools::getOption( 'hmwp_themes' ); foreach ( $themes['from'] as $index => $theme ) { if ( strpos( $theme, 'Avada' ) !== false ) { $avada_path = trim( $themes['to'][ $index ], '/' ); } } if ( $avada_path && $avada_path <> 'Avada' ) { $fusion_url = site_url( HMWP_Classes_Tools::getOption( 'hmwp_themes_url' ) ) . '/' . $avada_path . '/includes/lib'; } if ( $fusion_url ) { if ( defined( 'FUSION_LIBRARY_URL' ) && stripos( FUSION_LIBRARY_URL, $fusion_url ) === false ) { HMWP_Classes_Error::setNotification( sprintf( esc_html__( 'To hide the Avada library, please add the Avada FUSION_LIBRARY_URL in wp-config.php file after $table_prefix line: %s', 'hide-my-wp' ), '
define(\'FUSION_LIBRARY_URL\',\'' . site_url( HMWP_Classes_Tools::getOption( 'hmwp_themes_url' ) ) . '/' . $avada_path . '/includes/lib\');' ) ); } } } } } //The admin URL is already changed by other plugins and may affect the functionality if ( ! HMW_RULES_IN_CONFIG ) { HMWP_Classes_Error::setNotification( sprintf( esc_html__( '%s rules are not saved in the config file and this may affect the website loading speed.', 'hide-my-wp' ), HMWP_Classes_Tools::getOption( 'hmwp_plugin_name' ) ) ); defined( 'HMWP_DEFAULT_ADMIN' ) || define( 'HMWP_DEFAULT_ADMIN', HMWP_Classes_Tools::getDefault( 'hmwp_admin_url' ) ); } elseif ( HMWP_Classes_Tools::getDefault( 'hmwp_admin_url' ) == HMWP_Classes_Tools::getOption( 'hmwp_admin_url' ) ) { if ( strpos( admin_url(), HMWP_Classes_Tools::getDefault( 'hmwp_admin_url' ) ) === false ) { defined( 'HMWP_DEFAULT_ADMIN' ) || define( 'HMWP_DEFAULT_ADMIN', admin_url() ); } } if ( HMWP_Classes_Tools::isGodaddy() ) { HMWP_Classes_Error::setNotification( sprintf( esc_html__( "Godaddy detected! To avoid CSS errors, make sure you switch off the CDN from %s", 'hide-my-wp' ), '' . ' Godaddy > Managed WordPress > Overview' . '' ) ); } if ( HMWP_Classes_Tools::isPluginActive( 'bulletproof-security/bulletproof-security.php' ) ) { HMWP_Classes_Error::setNotification( sprintf( esc_html__( "BulletProof plugin! Make sure you save the settings in %s after activating Root Folder BulletProof Mode in BulletProof plugin.", 'hide-my-wp' ), HMWP_Classes_Tools::getOption( 'hmwp_plugin_name' ) ) ); } if ( HMWP_Classes_Tools::isPluginActive( 'worker/init.php' ) && ! HMWP_Classes_Tools::getOption( 'hmwp_firstload' ) ) { HMWP_Classes_Error::setNotification( sprintf( esc_html__( "Activate 'Must Use Plugin Loading' from 'Plugin Loading Hook' to be able to connect to your dashboard directly from managewp.com. %s click here %s", 'hide-my-wp' ), '', '' ) ); } //Check if the rules are working as expected $mappings = HMWP_Classes_Tools::getOption( 'file_mappings' ); if ( ! empty( $mappings ) ) { $restoreLink = '
' . esc_html__( "Close Error", 'hide-my-wp' ) . ''; HMWP_Classes_Error::setNotification( sprintf( esc_html__( 'Attention! Some URLs passed through the config file rules and were loaded through WordPress rewrite which may slow down your website. %s Please follow this tutorial to fix the issue: %s', 'hide-my-wp' ), '

' . join( '
', $mappings ) . '

', '' . HMWP_Classes_Tools::getOption('hmwp_plugin_website') . '/kb/theme-not-loading-correctly-website-loads-slower/ ' . $restoreLink ), 'text-white bg-danger' ); } if ( HMWP_Classes_Tools::isPluginActive( 'ultimate-member/ultimate-member.php' ) && HMWP_Classes_Tools::getOption( 'hmwp_bruteforce' ) && HMWP_Classes_Tools::getOption( 'brute_use_captcha_v3' ) ) { HMWP_Classes_Error::setNotification( sprintf( esc_html__( "Google reCaptcha V3 is not working with the current login form of %s .", 'hide-my-wp' ), 'Ultimate Member plugin' ) ); } if ( HMWP_Classes_Tools::isPluginActive( 'wp-user-manager/wp-user-manager.php' ) && HMWP_Classes_Tools::getOption( 'hmwp_bruteforce' ) && HMWP_Classes_Tools::getOption( 'brute_use_captcha_v3' ) ) { HMWP_Classes_Error::setNotification( sprintf( esc_html__( "Google reCaptcha V3 is not working with the current login form of %s .", 'hide-my-wp' ), 'Ultimate Member plugin' ) ); } } } /** * Include CDNs if found * * @return array|false */ public function findCDNServers() { $cdn_urls = array(); //If WP_CONTENT_URL is set as a different domain if ( defined( 'WP_CONTENT_URL' ) && WP_CONTENT_URL <> '' ) { $cdn = wp_parse_url( WP_CONTENT_URL, PHP_URL_HOST ); $domain = wp_parse_url( home_url(), PHP_URL_HOST ); if ( $cdn <> '' && $domain <> '' && $cdn <> $domain ) { $cdn_urls[] = WP_CONTENT_URL; } } //WP Rocket CDN Integration if ( HMWP_Classes_Tools::isPluginActive( 'wp-rocket/wp-rocket.php' ) && function_exists( 'get_rocket_option' ) ) { $cnames = get_rocket_option( 'cdn_cnames', array() ); foreach ( $cnames as $_urls ) { $_urls = explode( ',', $_urls ); $_urls = array_map( 'trim', $_urls ); foreach ( $_urls as $url ) { $cdn_urls[] = $url; } } } //CDN Enabler Integration if ( HMWP_Classes_Tools::isPluginActive( 'cdn-enabler/cdn-enabler.php' ) ) { if ( $cdn_enabler = get_option( 'cdn_enabler' ) ) { if ( isset( $cdn_enabler['url'] ) ) { $url = $cdn_enabler['url']; $cdn_urls[] = $url; } } } //Power Cache CDN integration if ( HMWP_Classes_Tools::isPluginActive( 'powered-cache/powered-cache.php' ) ) { global $powered_cache_options; if ( isset( $powered_cache_options['cdn_hostname'] ) ) { $hostnames = $powered_cache_options['cdn_hostname']; if ( ! empty( $hostnames ) ) { foreach ( $hostnames as $host ) { if ( ! empty( $host ) ) { $cdn_urls[] = $host; } } } } } //Wp Cache CDN integration if ( HMWP_Classes_Tools::isPluginActive( 'wp-super-cache/wp-cache.php' ) ) { if ( get_option( 'ossdl_off_cdn_url' ) <> '' && get_option( 'ossdl_off_cdn_url' ) <> home_url() ) { $url = get_option( 'ossdl_off_cdn_url' ); $cdn_urls[] = $url; } } //Ewww plugin CDN if ( HMWP_Classes_Tools::isPluginActive( 'ewww-image-optimizer/ewww-image-optimizer.php' ) ) { $domain = get_option( 'ewww_image_optimizer_exactdn_domain', false ); if ( $domain ) { $cdn_urls[] = $domain; } } //JCH Optimize CDN integration if ( HMWP_Classes_Tools::isPluginActive( 'jch-optimize/jch-optimize.php' ) ) { if ( $jch = get_option( 'jch_options' ) ) { if ( is_array( $jch ) ) { if ( isset( $jch['cookielessdomain_enable'] ) && $jch['cookielessdomain_enable'] && isset( $jch['cookielessdomain'] ) && $jch['cookielessdomain'] <> '' ) { $cdn_urls[] = $jch['cookielessdomain']; } } } } //Hyper Cache CDN integration if ( HMWP_Classes_Tools::isPluginActive( 'hyper-cache/plugin.php' ) ) { if ( $cdn = get_option( 'hyper-cache' ) ) { if ( isset( $cdn['cdn_enabled'] ) && $cdn['cdn_enabled'] && isset( $cdn['cdn_url'] ) && $cdn['cdn_url'] ) { $url = $cdn['cdn_url']; $cdn_urls[] = $url; } } } //Bunny CDN integration if ( HMWP_Classes_Tools::isPluginActive( 'bunnycdn/bunnycdn.php' ) ) { if ( $bunnycdn = get_option( 'bunnycdn' ) ) { if ( isset( $bunnycdn['cdn_domain_name'] ) && $bunnycdn['cdn_domain_name'] ) { $cdn_urls[] = $bunnycdn['cdn_domain_name']; } } } //get plugin DB CDN list $hmwp_cdn_urls = json_decode( HMWP_Classes_Tools::getOption( 'hmwp_cdn_urls' ), true ); if ( ! empty( $hmwp_cdn_urls ) ) { foreach ( $hmwp_cdn_urls as $url ) { $cdn_urls[] = $url; } } if ( ! empty( $cdn_urls ) ) { return array_unique( $cdn_urls ); } return false; } /************************************************************ * * Must Use Plugin (needed for Manage WP and other cache plugins) */ /** * Add the Must-Use plugin to make sure is loading for the custom wp-admin path every time */ public function addMUPlugin() { try { $this->registerMUPlugin( '0-hidemywp.php', $this->buildLoaderContent( 'hide-my-wp/index.php' ) ); } catch ( Exception $e ) { } } /** * Remove the Must-Use plugin on deactivation */ public function deleteMUPlugin() { try { $this->deregisterMUPlugin( '0-hidemywp.php' ); } catch ( Exception $e ) { } } /** * The MU plugin content * * @param $pluginBasename * * @return string */ public function buildLoaderContent( $pluginBasename ) { return "exists( $loaderPath ) && md5( $loaderContent ) === md5_file( $loaderPath ) ) { return; } if ( ! $wp_filesystem->is_dir( $mustUsePluginDir ) ) { $wp_filesystem->mkdir( $mustUsePluginDir ); } if ( $wp_filesystem->is_writable( $mustUsePluginDir ) ) { $wp_filesystem->put_contents( $loaderPath, $loaderContent ); } } /** * Delete the MU file * * @param $loaderName */ public function deregisterMUPlugin( $loaderName ) { //Initialize WordPress Filesystem $wp_filesystem = HMWP_Classes_ObjController::initFilesystem(); $mustUsePluginDir = rtrim( WPMU_PLUGIN_DIR, '/' ); $loaderPath = $mustUsePluginDir . '/' . $loaderName; if ( ! $wp_filesystem->exists( $loaderPath ) ) { return; } $wp_filesystem->delete( $loaderPath ); } } models/Cookies.php000064400000022054147600042240010136 0ustar00 HMWP_Classes_Tools::getOption( 'hmwp_admin_url' ) ) { $this->setCookieContants(); //Hook all the authorization and add the requested cookies add_filter( 'redirect_post_location', array( $this, 'setPostCookie' ), PHP_INT_MAX, 2 ); add_action( 'clear_auth_cookie', array( $this, 'setCleanCookie' ), PHP_INT_MAX ); add_action( 'set_auth_cookie', array( $this, 'setAuthCookie' ), PHP_INT_MAX, 2 ); add_action( 'set_logged_in_cookie', array( $this, 'setLoginCookie' ), PHP_INT_MAX, 2 ); } } /** * Set the cookie constants in case of admin change */ public function setCookieContants() { if ( HMWP_Classes_Tools::isMultisites() && ! $this->_admin_cookie_path ) { global $blog_id; ms_cookie_constants(); //Set current site path $site_path = wp_parse_url( get_site_url( $blog_id ), PHP_URL_PATH ); //is path based and path exists if ( ! is_subdomain_install() || is_string( $site_path ) && trim( $site_path, '/' ) ) { $this->_admin_cookie_path = SITECOOKIEPATH; } else { $this->_admin_cookie_path = SITECOOKIEPATH . HMWP_Classes_Tools::getOption( 'hmwp_admin_url' ); } } else { wp_cookie_constants(); $this->_admin_cookie_path = SITECOOKIEPATH . HMWP_Classes_Tools::getOption( 'hmwp_admin_url' ); } if ( ! $this->_plugin_cookie_path ) { $this->_plugin_cookie_path = preg_replace( '|https?://[^/]+|i', '', get_option( 'siteurl' ) . '/' . HMWP_Classes_Tools::getOption( 'hmwp_plugin_url' ) ); } } /** * Set the cookies for saving posts process * * @param string $location * @param int $post_id * * @return string */ public function setPostCookie( $location, $post_id ) { if ( $this->_admin_cookie_path ) { if ( $post_id > 0 ) { if ( isset( $_COOKIE['wp-saving-post'] ) && $_COOKIE['wp-saving-post'] === $post_id . '-check' ) { setcookie( 'wp-saving-post', $post_id . '-saved', time() + DAY_IN_SECONDS, $this->_admin_cookie_path, $this->getWpCookieDomain(), is_ssl() ); } } } return $location; } /** * Get the test cookie * * @return bool */ public function testCookies() { $secure = is_ssl(); if ( $secure ) { $auth_cookie_name = SECURE_AUTH_COOKIE; } else { $auth_cookie_name = AUTH_COOKIE; } return ( isset( $_COOKIE[ $auth_cookie_name ] ) && $_COOKIE[ $auth_cookie_name ] ); } /** * Set the secured current path for the plugin cookies * * @return bool */ public function setCookiesCurrentPath() { global $current_user; if ( $current_user->ID ) { wp_set_auth_cookie( $current_user->ID ); if ( $this->testCookies() ) { return true; } } return false; } /** * Add the test cookie in the login form * * @return void */ public function setTestCookie() { if ( headers_sent() ) { return; } if ( ! defined( 'TEST_COOKIE' ) ) { define( 'TEST_COOKIE', 'test_cookie' ); } $secure = is_ssl() && 'https' === wp_parse_url( get_option( 'home' ), PHP_URL_SCHEME ); setcookie( TEST_COOKIE, 'WP Cookie check', 0, COOKIEPATH, $this->getCookieDomain(), $secure ); if ( SITECOOKIEPATH != COOKIEPATH ) { setcookie( TEST_COOKIE, 'WP Cookie check', 0, SITECOOKIEPATH, $this->getWpCookieDomain(), $secure ); } } /** * Set the plugin cookies for the custom admin path * * @param string $auth_cookie * @param int $expire * * @return void */ public function setAuthCookie( $auth_cookie, $expire ) { if ( headers_sent() ) { return; } if ( $this->_admin_cookie_path ) { $secure = is_ssl(); if ( $secure ) { $auth_cookie_name = SECURE_AUTH_COOKIE; } else { $auth_cookie_name = AUTH_COOKIE; } if ( $this->_plugin_cookie_path ) { setcookie( $auth_cookie_name, $auth_cookie, $expire, PLUGINS_COOKIE_PATH, $this->getWpCookieDomain(), $secure, true ); setcookie( $auth_cookie_name, $auth_cookie, $expire, $this->_plugin_cookie_path, $this->getCookieDomain(), $secure, true ); } setcookie( $auth_cookie_name, $auth_cookie, $expire, PLUGINS_COOKIE_PATH, $this->getWpCookieDomain(), $secure, true ); setcookie( $auth_cookie_name, $auth_cookie, $expire, ADMIN_COOKIE_PATH, $this->getWpCookieDomain(), $secure, true ); setcookie( $auth_cookie_name, $auth_cookie, $expire, $this->_admin_cookie_path, $this->getCookieDomain(), $secure, true ); setcookie( HMWP_LOGGED_IN_COOKIE . 'admin', $auth_cookie, $expire, $this->_admin_cookie_path, $this->getCookieDomain(), $secure, true ); } } /** * Set the login cookie for the custom path * * @param string $logged_in_cookie * @param int $expire * * @return void */ public function setLoginCookie( $logged_in_cookie, $expire ) { if ( headers_sent() ) { return; } // Front-end cookie is secure when the auth cookie is secure and the site's home URL is forced HTTPS. $secure_logged_in_cookie = is_ssl() && 'https' === wp_parse_url( get_option( 'home' ), PHP_URL_SCHEME ); setcookie( LOGGED_IN_COOKIE, $logged_in_cookie, $expire, COOKIEPATH, $this->getCookieDomain(), $secure_logged_in_cookie, true ); if ( COOKIEPATH != SITECOOKIEPATH ) { setcookie( LOGGED_IN_COOKIE, $logged_in_cookie, $expire, SITECOOKIEPATH, $this->getCookieDomain(), $secure_logged_in_cookie, true ); } setcookie( LOGGED_IN_COOKIE, $logged_in_cookie, $expire, COOKIEPATH, $this->getWpCookieDomain(), $secure_logged_in_cookie, true ); if ( COOKIEPATH != SITECOOKIEPATH ) { setcookie( LOGGED_IN_COOKIE, $logged_in_cookie, $expire, SITECOOKIEPATH, $this->getWpCookieDomain(), $secure_logged_in_cookie, true ); } if ( defined( 'COOKIEHASH' ) ) { setcookie( HMWP_LOGGED_IN_COOKIE . 'login', $logged_in_cookie, $expire, COOKIEPATH, $this->getWpCookieDomain(), $secure_logged_in_cookie, true ); if ( COOKIEPATH != SITECOOKIEPATH ) { setcookie( HMWP_LOGGED_IN_COOKIE . 'login', $logged_in_cookie, $expire, SITECOOKIEPATH, $this->getWpCookieDomain(), $secure_logged_in_cookie, true ); } } } /** * Check if the current user IP is always the same * If not, request a relogin * * @param array $response * * @return array */ public function checkLoggedIP( $response ) { if ( isset( $_SERVER['REMOTE_ADDR'] ) && isset( $_COOKIE['wordpress_logged_address'] ) ) { if ( md5( $_SERVER['REMOTE_ADDR'] ) <> $_COOKIE['wordpress_logged_address'] ) { global $current_user; $current_user->ID = null; $response['wp-auth-check'] = false; } } return $response; } /** * Clean the user cookies on logout */ public function setCleanCookie() { if ( headers_sent() ) { return; } if ( $this->_admin_cookie_path && defined( 'PLUGINS_COOKIE_PATH' ) ) { setcookie( AUTH_COOKIE, ' ', time() - YEAR_IN_SECONDS, $this->_admin_cookie_path, $this->getCookieDomain() ); setcookie( SECURE_AUTH_COOKIE, ' ', time() - YEAR_IN_SECONDS, $this->_admin_cookie_path, $this->getCookieDomain() ); setcookie( 'wordpress_logged_address', ' ', time() - YEAR_IN_SECONDS, $this->_admin_cookie_path, $this->getCookieDomain() ); setcookie( AUTH_COOKIE, ' ', time() - YEAR_IN_SECONDS, $this->_plugin_cookie_path, $this->getCookieDomain() ); setcookie( SECURE_AUTH_COOKIE, ' ', time() - YEAR_IN_SECONDS, $this->_plugin_cookie_path, $this->getCookieDomain() ); setcookie( 'wordpress_logged_address', ' ', time() - YEAR_IN_SECONDS, $this->_plugin_cookie_path, $this->getCookieDomain() ); setcookie( HMWP_LOGGED_IN_COOKIE . 'login', ' ', time() - YEAR_IN_SECONDS, COOKIEPATH, $this->getWpCookieDomain() ); setcookie( HMWP_LOGGED_IN_COOKIE . 'login', ' ', time() - YEAR_IN_SECONDS, SITECOOKIEPATH, $this->getWpCookieDomain() ); setcookie( HMWP_LOGGED_IN_COOKIE . 'admin', ' ', time() - YEAR_IN_SECONDS, $this->_admin_cookie_path, $this->getCookieDomain() ); } } /** * Get the cookie domain based on the website structure * Multisite/Singlesite */ public function getCookieDomain() { $domain = $this->getWpCookieDomain(); //on multisite without doman cookie if ( HMWP_Classes_Tools::isMultisites() ) { //get current domain global $blog_id; if ( $host = preg_replace( '|^www\.|', '', wp_parse_url( get_site_url( $blog_id ), PHP_URL_HOST ) ) ) { //change the cookie for the current domain if ( ! $domain || strpos( $domain, $host ) === false ) { $domain = $host; } } } return $domain; } /** * Return WordPress default Cookie Domain * * @return array|false|int|string|null */ public function getWpCookieDomain() { if ( ! defined( 'COOKIE_DOMAIN' ) && HMWP_Classes_Tools::isMultisites() ) { $current_network = get_network(); if ( ! empty( $current_network->cookie_domain ) ) { define( 'COOKIE_DOMAIN', '.' . $current_network->cookie_domain ); } else { define( 'COOKIE_DOMAIN', '.' . $current_network->domain ); } } if ( ! defined( 'COOKIE_DOMAIN' ) ) { define( 'COOKIE_DOMAIN', false ); } return COOKIE_DOMAIN; } } models/Files.php000064400000052266147600042240007614 0ustar00_files = array( 'jpg', 'jpeg', 'png', 'bmp', 'gif', 'jp2', 'weba', 'webp', 'webm', 'css', 'scss', 'js', 'woff', 'woff2', 'ttf', 'otf', 'pfb', 'pfm', 'tfil', 'eot', 'svg', 'pdf', 'doc', 'docx', 'csv', 'xls', 'xslx', 'mp2', 'mp3', 'mp4', 'mpeg', 'zip', 'rar', 'map', 'txt' ); //the safe extensions for static files $this->_safe_files = array( 'jpgh', 'jpegh', 'pngh', 'bmph', 'gifh', 'jp2h', 'webah', 'webph', 'webmh', 'cssh', 'scssh', 'jsh', 'woffh', 'woff2h', 'ttfh', 'otfh', 'pfbh', 'pfmh', 'tfilh', 'eoth', 'svgh', 'pdfh', 'doch', 'docxh', 'csvh', 'xlsh', 'xslxh', 'mp2h', 'mp3h', 'mp4h', 'mpegh', 'ziph', 'rarh', 'maph', 'rtxt' ); //init the replacement array $this->_replace = array( 'from' => [], 'to' => [] ); } /** * Show the file if in the list of extensions * * @throws Exception */ public function maybeShowFile() { //If the file is handled by WordPress //Show it if was changed by HMWP if ( $this->isFile( $this->getCurrentURL() ) ) { $this->showFile( $this->getCurrentURL() ); } } /** * Check if the current URL is a file * * @throws Exception */ public function maybeShowNotFound() { //If the file doesn't exist //show the file content if ( is_404() ) { $this->showFile( $this->getCurrentURL() ); } else { $this->maybeShowLogin( $this->getCurrentURL() ); } } /** * Check if the current path is the login path * * @param $url * * @return void */ public function maybeShowLogin( $url ) { //Remove the query from URL $url_no_query = ( ( strpos( $url, '?' ) !== false ) ? substr( $url, 0, strpos( $url, '?' ) ) : $url ); if ( strpos( trailingslashit( $url_no_query ), '/' . HMWP_Classes_Tools::getOption( 'hmwp_login_url' ) . '/' ) || strpos( trailingslashit( $url_no_query ), '/' . HMWP_Classes_Tools::getDefault( 'hmwp_login_url' ) . '/' ) ) { add_filter( 'hmwp_option_hmwp_remove_third_hooks', '__return_true' ); header( "HTTP/1.1 200 OK" ); $this->handleLogin( $url ); } } /** * If the rewrite config is not set * If there is a new file path, change it back to real path and show the file * Prevents errors when the paths are chnged but the rewrite config is not set up correctly * * @param $url * * @return bool|string */ public function isFile( $url ) { if ( $url <> '' ) { if ( strpos( $url, '?' ) !== false ) { $url = substr( $url, 0, strpos( $url, '?' ) ); } if ( strrpos( $url, '.' ) !== false ) { $ext = substr( $url, strrpos( $url, '.' ) + 1 ); if ( in_array( $ext, $this->_files ) || in_array( $ext, $this->_safe_files ) ) { return $ext; } } } return false; } /** * Get the current URL * * @return string */ public function getCurrentURL() { $url = ''; if ( isset( $_SERVER['HTTP_HOST'] ) ) { // build the URL in the address bar $url = is_ssl() ? 'https://' : 'http://'; $url .= $_SERVER['HTTP_HOST']; if ( isset( $_SERVER['REQUEST_URI'] ) ) { $url .= rawurldecode( $_SERVER['REQUEST_URI'] ); } } return $url; } /** * Build the redirects array * * @throws Exception */ public function buildRedirect() { $rewriteModel = HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rewrite' ); //build the rules paths to change back the hidden paths $rewriteModel->clearRedirect()->buildRedirect(); //URL Mapping $hmwp_url_mapping = json_decode( HMWP_Classes_Tools::getOption( 'hmwp_url_mapping' ), true ); if ( isset( $hmwp_url_mapping['from'] ) && ! empty( $hmwp_url_mapping['from'] ) ) { foreach ( $hmwp_url_mapping['from'] as $index => $row ) { if ( substr( $hmwp_url_mapping['from'][ $index ], - 1 ) == '/' ) { $this->_rewrites['from'][] = '#^/' . str_replace( array( home_url() . '/' ), '', ltrim( $hmwp_url_mapping['to'][ $index ], '/' ) ) . '(.*)' . '#i'; $this->_rewrites['to'][] = '/' . str_replace( array( home_url() . '/' ), '', ltrim( $hmwp_url_mapping['from'][ $index ], '/' ) ) . "$1"; } else { $this->_rewrites['from'][] = '#^/' . str_replace( array( home_url() . '/' ), '', ltrim( $hmwp_url_mapping['to'][ $index ], '/' ) ) . '$' . '#i'; $this->_rewrites['to'][] = '/' . str_replace( array( home_url() . '/' ), '', ltrim( $hmwp_url_mapping['from'][ $index ], '/' ) ); } } } if ( ! empty( $rewriteModel->_replace['from'] ) && ! empty( $rewriteModel->_replace['to'] ) ) { foreach ( $rewriteModel->_replace['from'] as $index => $row ) { $this->_rewrites['from'][] = '#^/' . $rewriteModel->_replace['to'][ $index ] . ( substr( $rewriteModel->_replace['to'][ $index ], - 1 ) == '/' ? "(.*)" : "" ) . '#i'; $this->_rewrites['to'][] = '/' . $rewriteModel->_replace['from'][ $index ] . ( substr( $rewriteModel->_replace['to'][ $index ], - 1 ) == '/' ? "$1" : "" ); } } } /** * Retrieves the original URL by applying rewrite rules and constructing the URL from parsed components. * * @param string $url The redirected URL which needs to be converted back to the original URL. * * @return string The original URL reconstructed from the given URL based on rewrite rules. * @throws Exception */ public function getOriginalUrl( $url ) { // Build the rewrite rules if they are not already built if ( empty( $this->_rewrites ) ) { $this->buildRedirect(); } // Parse the URL components $parse_url = wp_parse_url( $url ); // Only if there is a path to change if( !isset( $parse_url['path'] ) ) { return $url; } // Get the home root path $path = wp_parse_url( home_url(), PHP_URL_PATH ); // Backslash the paths if ( $path <> '' ) { $parse_url['path'] = preg_replace( '/^' . preg_quote( $path, '/' ) . '/', '', $parse_url['path'] ); } // Replace paths to original based on rewrite rules if ( isset( $this->_rewrites['from'] ) && isset( $this->_rewrites['to'] ) && ! empty( $this->_rewrites['from'] ) && ! empty( $this->_rewrites['to'] ) ) { $parse_url['path'] = preg_replace( $this->_rewrites['from'], $this->_rewrites['to'], $parse_url['path'], 1 ); } // Default to https if the scheme is not set if ( ! isset( $parse_url['scheme'] ) ) { $parse_url['scheme'] = 'https'; } // Reconstruct the URL if ( isset( $parse_url['port'] ) && $parse_url['port'] <> 80 ) { $new_url = $parse_url['scheme'] . '://' . $parse_url['host'] . ':' . $parse_url['port'] . $path . $parse_url['path']; } else { $new_url = $parse_url['scheme'] . '://' . $parse_url['host'] . $path . $parse_url['path']; } // Append query string if present if ( isset( $parse_url['query'] ) && ! empty( $parse_url['query'] ) ) { $query = $parse_url['query']; $query = str_replace( array( '?', '%3F' ), '&', $query ); $new_url .= ( ! strpos( $new_url, '?' ) ? '?' : '&' ) . $query; } // Return the constructed URL return $new_url; } /** * Get the original path from url * * @param $new_url * * @return string */ public function getOriginalPath( $new_url ) { //remove domain from path $new_path = str_replace( home_url(), '', $new_url ); //remove queries from path if ( strpos( $new_path, '?' ) !== false ) { $new_path = substr( $new_path, 0, strpos( $new_path, '?' ) ); } return HMWP_Classes_Tools::getRootPath() . ltrim( $new_path, '/' ); } /** * Return the file mime based on extension * * @param $ext * * @return false|string */ private function getMime( $ext ) { switch ( $ext ) { case "scss": case "csv": case "css": return "text/css"; case "js": case "mjs": return "text/javascript"; case "svg": return "image/svg+xml"; case "jpg": return "image/jpeg"; case "jpeg": case "png": case "bmp": case "gif": case "jp2": case "tiff": case "webp": case "avif": return "image/" . $ext; case "ico": case "icon": return "image/vnd.microsoft.icon"; case "woff": case "woff2": case "ttf": case "otf": return "font/" . $ext; case "eot": return "application/vnd.ms-fontobject"; case "avi": return "video/x-msvideo"; case "mp4": case "mpeg": case "webm": return "video/" . $ext; case "doc": return "application/msword"; case "xls": return "application/vnd.ms-excel"; case "json": return "application/json"; case "docx": return "application/vnd.openxmlformats-officedocument.wordprocessingml.document"; case "xlsx": return "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; case "xml": case "zip": return "application/" . $ext; } return false; } /** * Show the file when the server rewrite is not added * * @param string $url broken URL * * @throws Exception */ public function showFile( $url ) { // Initialize WordPress Filesystem $wp_filesystem = HMWP_Classes_ObjController::initFilesystem(); // Remove the redirect hook remove_filter( 'wp_redirect', array( HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rewrite' ), 'sanitize_redirect' ), PHP_INT_MAX ); remove_filter( 'template_directory_uri', array( HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rewrite' ), 'find_replace_url' ), PHP_INT_MAX ); // In case of SAFE MODE URL or File mapping if ( HMW_DYNAMIC_FILES ) { $url = str_replace( $this->_safe_files, $this->_files, $url ); } // Build the rewrite rules if ( empty( $this->_rewrites ) ) { $this->buildRedirect(); } //Get the original URL and path based on rewrite rules $new_url = $this->getOriginalUrl( $url ); $new_url_no_query = ( ( strpos( $new_url, '?' ) !== false ) ? substr( $new_url, 0, strpos( $new_url, '?' ) ) : $new_url ); $new_path = $this->getOriginalPath( $new_url ); $ctype = false; //hook the original url/path when handles by WP do_action( 'hmwp_files_show_file', $new_url, $new_path ); if ( $ext = $this->isFile( $new_url ) ) { //if the file exists on the server if ( $wp_filesystem->exists( $new_path ) ) { //If the plugin is not set to map all the files dynamically if ( ! HMW_DYNAMIC_FILES && ! HMWP_Classes_Tools::getOption( 'hmwp_mapping_file' ) ) { //if file is loaded through WordPress rewrites and not through config file if ( wp_parse_url( $url ) && $url <> $new_url && in_array( $ext, array( 'png', 'jpg', 'jpeg', 'webp', 'gif' ) ) ) { if ( stripos( $new_url, 'wp-admin' ) === false ) { //if it's a valid URL and not from admin //add the url in the WP rewrite list $mappings = (array) HMWP_Classes_Tools::getOption( 'file_mappings' ); if ( count( $mappings ) < 10 ) { $mappings[ md5( $url ) ] = $url; HMWP_Classes_Tools::saveOptions( 'file_mappings', $mappings ); } //for debug do_action( 'hmwp_debug_files', $url ); } } } ////////////////////////////////////////////////////////////////////////// if ( ! $ctype = $this->getMime( $ext ) ) { if ( function_exists( 'mime_content_type' ) ) { $ctype = @mime_content_type( $new_path ); } else { $ctype = 'text/plain'; } } ob_clean(); //clear the buffer $content = $wp_filesystem->get_contents( $new_path ); $etag = md5_file( $new_path ); header( "HTTP/1.1 200 OK" ); header( "Cache-Control: max-age=2592000, must-revalidate" ); header( "Expires: " . gmdate( 'r', strtotime( "+1 month" ) ) ); header( 'Vary: Accept-Encoding' ); header( "Pragma: public" ); header( "Etag: \"{$etag}\"" ); if ( $ctype ) { header( 'Content-Type: ' . $ctype . '; charset: UTF-8' ); } //change the .cssh and .jsh to .css and .js in files if ( HMW_DYNAMIC_FILES ) { if ( strpos( $new_url, '.js' ) ) { $content = preg_replace( array_map( function ( $ext ) { return '/([\'|"][\/0-9a-zA-Z\.\_\-]+).' . $ext . '([\'|"|\?])/s'; }, $this->_files ), array_map( function ( $ext ) { return '$1.' . $ext . '$2'; }, $this->_safe_files ), $content ); $content = preg_replace( '/([\'|"][\/0-9a-zA-Z\.\_\-]+).cssh([\'|"|\?])/si', '$1.css$2', $content ); } elseif ( strpos( $new_url, '.css' ) || strpos( $new_url, '.scss' ) ) { $content = preg_replace( array_map( function ( $ext ) { return '/([\'|"|\(][\/0-9a-zA-Z\.\_\-]+).' . $ext . '([\'|"|\)|\?])/si'; }, $this->_files ), array_map( function ( $ext ) { return '$1.' . $ext . '$2'; }, $this->_safe_files ), $content ); } } //if CSS, JS or SCSS if ( strpos( $new_url, '.js' ) || strpos( $new_url, '.css' ) || strpos( $new_url, '.scss' ) ) { //remove comments $content = preg_replace( '/\/\*.*?\*\//s', '', $content, 1 ); //Text Mapping for all css and js files if ( HMWP_Classes_Tools::getOption( 'hmwp_mapping_text_show' ) && HMWP_Classes_Tools::getOption( 'hmwp_mapping_file' ) && ! is_admin() && ( function_exists( 'is_user_logged_in' ) && ! is_user_logged_in() ) ) { $hmwp_text_mapping = json_decode( HMWP_Classes_Tools::getOption( 'hmwp_text_mapping' ), true ); if ( isset( $hmwp_text_mapping['from'] ) && ! empty( $hmwp_text_mapping['from'] ) && isset( $hmwp_text_mapping['to'] ) && ! empty( $hmwp_text_mapping['to'] ) ) { foreach ( $hmwp_text_mapping['to'] as &$value ) { if ( $value <> '' ) { if ( strpos( $value, '{rand}' ) !== false ) { $value = str_replace( '{rand}', HMWP_Classes_Tools::generateRandomString( 5 ), $value ); } elseif ( strpos( $value, '{blank}' ) !== false ) { $value = str_replace( '{blank}', '', $value ); } } } //change only the classes and ids if ( HMWP_Classes_Tools::getOption( 'hmwp_mapping_classes' ) ) { foreach ( $hmwp_text_mapping['from'] as $index => $from ) { $content = preg_replace( "'(?:([^/])" . addslashes( $from ) . "([^/]))'is", '$1' . $hmwp_text_mapping['to'][ $index ] . '$2', $content ); } } else { $content = str_ireplace( $hmwp_text_mapping['from'], $hmwp_text_mapping['to'], $content ); } } } } //gzip the CSS if ( function_exists( 'gzencode' ) ) { header( "Content-Encoding: gzip" ); //HTTP 1.1 $content = gzencode( $content ); } //Show the file html content header( 'Content-Length: ' . strlen( $content ) ); echo $content; exit(); } } elseif ( strpos( trailingslashit( $new_url_no_query ), '/' . HMWP_Classes_Tools::getOption( 'hmwp_login_url' ) . '/' ) || strpos( trailingslashit( $new_url_no_query ), '/' . HMWP_Classes_Tools::getDefault( 'hmwp_login_url' ) . '/' ) ) { add_filter( 'hmwp_option_hmwp_remove_third_hooks', '__return_true' ); header( "HTTP/1.1 200 OK" ); $this->handleLogin( $new_url ); } elseif ( $url <> $new_url ) { if ( stripos( trailingslashit( $new_url_no_query ), '/' . HMWP_Classes_Tools::getDefault( 'hmwp_wp-json' ) . '/' ) !== false ) { $response = false; if ( isset( $_SERVER['REQUEST_METHOD'] ) && $_SERVER['REQUEST_METHOD'] === 'POST' ) { $response = $this->postRequest( $new_url ); } elseif ( isset( $_SERVER['REQUEST_METHOD'] ) && $_SERVER['REQUEST_METHOD'] === 'GET' ) { $response = $this->getRequest( $new_url ); } if ( $response ) { header( "HTTP/1.1 200 OK" ); if ( ! empty( $response['headers'] ) ) { foreach ( $response['headers'] as $header ) { header( $header ); } } //Echo the html file content echo $response['body']; exit(); } exit(); } elseif ( strpos( trailingslashit( $new_url_no_query ), '/' . HMWP_Classes_Tools::getDefault( 'hmwp_activate_url' ) . '/' ) !== false || strpos( trailingslashit( $new_url_no_query ), '/' . HMWP_Classes_Tools::getDefault( 'hmwp_wp-signup_url' ) . '/' ) !== false ) { header( "HTTP/1.1 200 OK" ); ob_start(); include $new_path; $content = ob_get_clean(); //Echo the html file content echo $content; die(); } elseif ( ! HMWP_Classes_Tools::getValue( 'nordt' ) ) { $uri = wp_parse_url( $url, PHP_URL_QUERY ); if ( $uri && strpos( $new_url, '?' ) === false ) { $new_url .= '?' . $uri; } wp_safe_redirect( add_query_arg( array( 'nordt' => true ), $new_url ), 301 ); exit(); } } } /** * Do a Post request * * @param $url * * @return array */ public function postRequest( $url ) { $return = array(); $headers = getallheaders(); $options = array( 'method' => 'POST', 'headers' => $headers, 'body' => $_POST, 'timeout' => 30, 'sslverify' => false, ); do_action( 'hmwp_files_post_request_before', $url, $options ); $response = wp_remote_post( $url, $options ); $return['body'] = wp_remote_retrieve_body( $response ); foreach ( wp_remote_retrieve_headers( $response ) as $key => $value ) { if ( ! is_array( $value ) ) { $return['headers'][] = "$key: $value"; } else { foreach ( $value as $v ) { $return['headers'][] = "$key: $v"; } } } do_action( 'hmwp_files_post_request_after', $url, $return ); return $return; } /** * Do a Get request * * @param $url * * @return array */ public function getRequest( $url ) { $return = array(); $headers = getallheaders(); $options = array( 'method' => 'GET', 'headers' => $headers, 'timeout' => 30, 'sslverify' => false, ); do_action( 'hmwp_files_get_request_before', $url, $options ); $response = wp_remote_get( $url, $options ); $return['body'] = wp_remote_retrieve_body( $response ); foreach ( wp_remote_retrieve_headers( $response ) as $key => $value ) { if ( ! is_array( $value ) ) { $return['headers'][] = "$key: $value"; } else { foreach ( $value as $v ) { $return['headers'][] = "$key: $v"; } } } do_action( 'hmwp_files_get_request_after', $url, $return ); return $return; } /** * Look into array of actions * * @param $haystack * @param array $needles * @param int $offset * * @return bool|mixed */ function strposa( $haystack, $needles = array(), $offset = 0 ) { foreach ( $needles as $needle ) { if ( strpos( $haystack, $needle, $offset ) !== false ) { return $needle; } } return false; } /** * Handle the Login if the rules were not added in the config file * * @param $url * * @return void */ public function handleLogin( $url ) { $url = rawurldecode( $url ); if ( ! ( HMWP_Classes_Tools::getvalue( 'action' ) === 'postpass' && HMWP_Classes_Tools::getIsset( 'post_password' ) ) ) { //If it's the login page if ( strpos( $url, '/' . HMWP_Classes_Tools::getOption( 'hmwp_login_url' ) ) || strpos( $url, '/' . HMWP_Classes_Tools::getDefault( 'hmwp_login_url' ) ) || ( HMWP_Classes_Tools::getOption( 'hmwp_lostpassword_url' ) && strpos( $url, '/' . HMWP_Classes_Tools::getOption( 'hmwp_lostpassword_url' ) ) ) || ( HMWP_Classes_Tools::getOption( 'hmwp_register_url' ) && strpos( $url, '/' . HMWP_Classes_Tools::getOption( 'hmwp_register_url' ) ) ) ) { do_action( 'hmwp_files_handle_login', $url ); //Get the action if exists in params $params = array(); $query = wp_parse_url( $url, PHP_URL_QUERY ); if ( $query <> '' ) { parse_str( $query, $params ); } if ( isset( $params['action'] ) ) { $actions = array( 'postpass', 'logout', 'lostpassword', 'retrievepassword', 'resetpass', 'rp', 'register', 'login', 'confirmaction', 'validate_2fa', 'itsec-2fa', ); $_REQUEST['action'] = $this->strposa( $params['action'], $actions ); } $urled_redirect_to = HMWP_Classes_Tools::getValue( 'redirect_to', '' ); //if user is logged in if ( function_exists( 'is_user_logged_in' ) && is_user_logged_in() ) { if ( HMWP_Classes_Tools::getOption( 'hmwp_logged_users_redirect' ) ) { /** @var HMWP_Models_Rewrite $rewriteModel */ $rewriteModel = HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rewrite' ); $rewriteModel->dashboard_redirect(); } } global $error, $interim_login, $action, $user_login; require_once ABSPATH . 'wp-login.php'; die(); } elseif ( HMWP_Classes_Tools::getOption( 'hmwp_logout_url' ) <> '' && strpos( $url, '/' . HMWP_Classes_Tools::getOption( 'hmwp_logout_url' ) ) ) { check_admin_referer( 'log-out' ); do_action( 'hmwp_files_handle_logout', $url ); $user = wp_get_current_user(); wp_logout(); $redirect_to = $requested_redirect_to = HMWP_Classes_Tools::getValue( 'redirect_to' ); if ( ! $redirect_to ) { $redirect_to = add_query_arg( array( 'loggedout' => 'true', 'wp_lang' => get_user_locale( $user ), ), wp_login_url() ); $requested_redirect_to = ''; } $redirect_to = apply_filters( 'logout_redirect', $redirect_to, $requested_redirect_to, $user ); wp_safe_redirect( $redirect_to ); exit; } } } } models/ListTable.php000064400000016363147600042240010433 0ustar00 esc_html__( 'log', 'hide-my-wp' ), //singular name of the listed records 'plural' => esc_html__( 'logs', 'hide-my-wp' ), //plural name of the listed records 'ajax' => false //does this table support ajax? ) ); add_filter( "views_{$this->screen->id}", array( $this, 'getFilters' ), 10, 1 ); } function getFilters( $views ) { $views['note'] = esc_html__( "See the last days actions on this website ...", 'hide-my-wp' ); return $views; } public function extra_tablenav( $which ) { if ( $which == "top" ) { $dropbox = $this->actions_dropdown(); if ( ! empty( $dropbox ) ) { echo $dropbox; submit_button( esc_html__( 'Filter' ), '', 'filter_action', false, array( 'id' => 'logaction-submit' ) ); } } } public function setData( $data ) { $this->items = $data; } /** * Load the table */ public function loadPageTable() { $this->table_head(); $this->views(); $this->prepare_items(); echo '
'; $this->search_box( 'search', 'search_id' ); $this->display(); echo '
'; } public function table_head() { echo ''; } public function no_items() { echo esc_html__( 'No log found.', 'hide-my-wp' ); } /** * @param $item * @param $column_name * * @return false|mixed|string|void */ public function column_default( $item, $column_name ) { switch ( $column_name ) { case 'logaction': case 'ip': return $item[ $column_name ]; case 'datetime': $audit_timestamp = strtotime( $item[ $column_name ] ) + ( (int) get_option( 'gmt_offset' ) * 3600 ); return date( get_option( 'date_format' ) . ' ' . get_option( 'time_format' ), $audit_timestamp ); case 'data': $str = ''; if ( ! empty( $item[ $column_name ] ) ) { foreach ( $item[ $column_name ] as $key => $row ) { switch ( $key ) { case 'referer': $key = 'Path'; break; case 'ip': continue 2; case 'log': case 'username': $key = 'Username'; break; case 'post_id': $key = 'Posts ids'; break; case 'role': $key = 'User Role'; break; case 'post': $key = 'Post id'; break; default: $key = ucfirst( $key ); break; } $str .= $key . ': ' . '' . join( ',', (array) $row ) . '' . '
'; } } return "
$str
"; } return ''; } public function get_sortable_columns() { return array( 'logaction' => array( 'logaction', false ), 'ip' => array( 'ip', false ), 'datetime' => array( 'datetime', false ) ); } public function get_columns() { return array( 'logaction' => esc_html__( 'User Action', 'hide-my-wp' ), 'ip' => esc_html__( 'Location', 'hide-my-wp' ), 'data' => esc_html__( 'Details', 'hide-my-wp' ), 'datetime' => esc_html__( 'Date', 'hide-my-wp' ) ); } public function usort_reorder( $a, $b ) { // If no sort, default to title $orderby = ( ! empty( $_GET['orderby'] ) ) ? $_GET['orderby'] : 'datetime'; // If no order, default to asc $order = ( ! empty( $_GET['order'] ) ) ? $_GET['order'] : 'asc'; // Determine sort order $result = strcmp( $a[ $orderby ], $b[ $orderby ] ); // Send final sort direction to usort return ( $order === 'desc' ) ? $result : - $result; } public function prepare_items() { //initialize $total_items $total_items = 0; //get the number of records per page $per_page = get_option( 'posts_per_page' ); //Get the columns $columns = $this->get_columns(); $hidden = array(); $sortable = $this->get_sortable_columns(); //Set the table headers $this->_column_headers = array( $columns, $hidden, $sortable ); if ( ! empty( $this->items ) ) { //sort the items usort( $this->items, array( &$this, 'usort_reorder' ) ); //Count the page and records $current_page = $this->get_pagenum(); $total_items = count( $this->items ); //Filter the Items is set the logaction $this->items = array_filter( $this->items, function( $item ) { if ( $logaction = HMWP_Classes_Tools::getValue( 'logaction' ) ) { return ( $item['logaction'] == $logaction ); } return $item; } ); //Filter the Items is set the url $this->items = array_filter( $this->items, function( $item ) { if ( $logurl = HMWP_Classes_Tools::getValue( 'logurl' ) ) { return ( str_replace( ':', '', $item['url'] ) == $logurl ); } return $item; } ); //slice log by pagination $this->items = array_slice( $this->items, ( ( $current_page - 1 ) * $per_page ), $per_page ); } //Set the pagination $this->set_pagination_args( array( 'total_items' => $total_items, 'per_page' => $per_page ) ); } /** * Displays an action drop-down for filtering on the Log list table. */ protected function actions_dropdown() { $selected_action = HMWP_Classes_Tools::getValue( 'logaction' ); $selected_url = HMWP_Classes_Tools::getValue( 'logurl' ); $output = ''; if ( ! empty( $this->items ) ) { ///////////////////////////////////////////////////////////////// /// $actions = array_map( function( $val ) { return $val['logaction']; }, $this->items ); $actions = array_unique( $actions ); if ( ! empty( $actions ) ) { $output = "\n"; } ///////////////////////////////////////////////////////////////// $urls = array_map( function( $val ) { return $val['url']; }, $this->items ); $urls = array_unique( $urls ); if ( ! empty( $urls ) && count( $urls ) > 1 ) { $output .= "\n"; } } return $output; } } models/Log.php000064400000011006147600042240007256 0ustar00 true, 'role' => true, 'log' => true, 'ip' => true, 'referer' => true, 'post' => true, 'post_id' => true, 'post_ID' => true, 'doaction' => true, 'id' => true, 'ids' => true, 'user_id' => true, 'user' => true, 'users' => true, 'product_id' => true, 'post_type' => true, 'plugin' => true, 'new' => true, 'name' => true, 'slug' => true, 'stylesheet' => true, 'customize_theme' => true, 'widget-id' => true, 'delete_widget' => true, 'menu-name' => true, ); //List of allowed logged actions public $allow_actions = array( //users 'empty_username' => true, 'invalid_username' => true, 'incorrect_password' => true, 'invalid_email' => true, 'authentication_failed' => true, 'update' => true, 'login' => true, 'logout' => true, 'block_ip' => true, 'createuser' => true, //posts 'trash' => true, 'untrash' => true, 'edit' => true, 'inline-save' => true, 'delete-post' => true, 'upload-attachment' => true, 'activate' => true, 'deactivate' => true, //comments 'dim-comment' => true, 'replyto-comment' => true, //plugins 'delete' => true, 'delete-plugin' => true, 'install-plugin' => true, 'update-plugin' => true, 'dodelete' => true, //file edit 'edit-theme-plugin-file' => true, //theme 'customize_save' => true, //widgets 'save-widget' => true, ); /** * Log actions * * @param mixed $action * @param array $values */ public function hmwp_log_actions( $action = null, $values = array() ) { $posts = array(); if ( isset( $action ) && $action <> '' ) { //remove unwanted actions $allow_actions = array_filter( $this->allow_actions ); if ( in_array( $action, array_keys( $allow_actions ) ) ) { if ( ! empty( $values ) ) { $values = array_intersect_key( $values, $this->allow_keys ); } if ( ! empty( $_GET ) ) { $posts = array_intersect_key( $_GET, $this->allow_keys ); } if ( ! empty( $_POST ) ) { $posts = array_intersect_key( $_POST, $this->allow_keys ); } //Try to get the name and the type for the current record $post_id = 0; if ( isset( $posts['id'] ) ) { $post_id = $posts['id']; } if ( isset( $posts['post'] ) ) { $post_id = $posts['post']; } if ( isset( $posts['post_ID'] ) ) { $post_id = $posts['post_ID']; } if ( isset( $posts['post_id'] ) ) { $post_id = $posts['post_id']; } if ( ! isset( $posts['username'] ) || $posts['username'] == '' ) { if ( ! function_exists( 'wp_get_current_user' ) ) { include_once ABSPATH . WPINC . '/pluggable.php'; } $current_user = wp_get_current_user(); if ( isset( $current_user->user_login ) ) { $posts['username'] = $current_user->user_login; } } if ( $post_id > 0 ) { if ( function_exists( 'get_post' ) ) { if ( $record = @get_post( $post_id ) ) { $posts['name'] = $record->post_name; $posts['post_type'] = $record->post_type; } } } ///////////////////////////////////////////////////// /// Add referer and IP /// $remote_ip = ( isset( $_SERVER['REMOTE_ADDR'] ) ? $_SERVER['REMOTE_ADDR'] : '' ); if ( isset( $_SERVER['HTTP_CF_CONNECTING_IP'] ) && $_SERVER['HTTP_CF_CONNECTING_IP'] <> '' ) { $remote_ip = $_SERVER['HTTP_CF_CONNECTING_IP']; } //populate data path and IP $data = array( 'referer' => wp_get_raw_referer(), 'ip' => $remote_ip, ); //get the current request if referer is not set if ( isset( $_SERVER['REQUEST_URI'] ) && ! $data['referer'] ) { $data['referer'] = $_SERVER['REQUEST_URI']; } $data = array_merge( $data, (array) $values, $posts ); //Log the block IP on the server $args = array( 'action' => $action, 'data' => serialize( $data ), ); HMWP_Classes_Tools::hmwp_remote_post( _HMWP_ACCOUNT_SITE_ . '/api/log', $args, array( 'timeout' => 5 ) ); } } } /** * Join the arrays * * @param $input * * @return array|string */ public function joinArray( $input ) { if ( ! empty( $input ) ) { return implode( ', ', array_map( function( $v, $k ) { if ( is_array( $v ) ) { return $k . '[]=' . implode( '&' . $k . '[]=', $v ); } else { return $k . '=' . $v; } }, $input, array_keys( $input ) ) ); } else { return []; } } } models/Menu.php000064400000045372147600042240007456 0ustar00 array( 'name' => esc_html__("Overview", 'hide-my-wp'). ' ' . apply_filters('hmwp_alert_count', ''), 'title' => esc_html__("Overview", 'hide-my-wp'), 'capability' => HMWP_CAPABILITY, 'parent' => 'hmwp_settings', 'function' => array(HMWP_Classes_ObjController::getClass('HMWP_Controllers_Overview'), 'init'), ), 'hmwp_permalinks' => array( 'name' => esc_html__("Change Paths", 'hide-my-wp'), 'title' => esc_html__("Change Paths", 'hide-my-wp'), 'capability' => HMWP_CAPABILITY, 'parent' => 'hmwp_settings', 'function' => array(HMWP_Classes_ObjController::getClass('HMWP_Controllers_Settings'), 'init'), ), 'hmwp_tweaks' => array( 'name' => esc_html__("Tweaks", 'hide-my-wp'), 'title' => esc_html__("Tweaks", 'hide-my-wp'), 'capability' => HMWP_CAPABILITY, 'parent' => 'hmwp_settings', 'function' => array(HMWP_Classes_ObjController::getClass('HMWP_Controllers_Settings'), 'init'), ), 'hmwp_mapping' => array( 'name' => esc_html__("Mapping", 'hide-my-wp'), 'title' => esc_html__("Text & URL Mapping", 'hide-my-wp'), 'capability' => HMWP_CAPABILITY, 'parent' => 'hmwp_settings', 'show' => (HMWP_Classes_Tools::getOption( 'hmwp_mapping_text_show' ) || HMWP_Classes_Tools::getOption( 'hmwp_mapping_url_show' ) || HMWP_Classes_Tools::getOption( 'hmwp_mapping_cdn_show' )), 'function' => array(HMWP_Classes_ObjController::getClass('HMWP_Controllers_Settings'), 'init'), ), 'hmwp_firewall' => array( 'name' => esc_html__("Firewall", 'hide-my-wp'), 'title' => esc_html__("Headers & Firewall", 'hide-my-wp'), 'capability' => HMWP_CAPABILITY, 'parent' => 'hmwp_settings', 'function' => array(HMWP_Classes_ObjController::getClass('HMWP_Controllers_Settings'), 'init'), ), 'hmwp_brute' => array( 'name' => esc_html__("Brute Force", 'hide-my-wp'), 'title' => esc_html__("Brute Force", 'hide-my-wp'), 'capability' => HMWP_CAPABILITY, 'parent' => 'hmwp_settings', 'function' => array(HMWP_Classes_ObjController::getClass('HMWP_Controllers_Settings'), 'init'), ), 'hmwp_templogin' => array( 'name' => esc_html__("Temporary Login", 'hide-my-wp'), 'title' => esc_html__("Temporary Login", 'hide-my-wp'), 'capability' => HMWP_CAPABILITY, 'parent' => 'hmwp_settings', 'show' => HMWP_Classes_Tools::getOption('hmwp_templogin'), 'function' => array(HMWP_Classes_ObjController::getClass('HMWP_Controllers_Settings'), 'init'), ), 'hmwp_twofactor' => array( 'name' => esc_html__("2FA Login", 'hide-my-wp'), 'title' => esc_html__("Two-factor authentication", 'hide-my-wp'), 'capability' => HMWP_CAPABILITY, 'parent' => 'hmwp_settings', 'show' => HMWP_Classes_Tools::getOption('hmwp_2falogin'), 'function' => array(HMWP_Classes_ObjController::getClass('HMWP_Controllers_Settings'), 'init'), ), 'hmwp_log' => array( 'name' => esc_html__("Events Log", 'hide-my-wp'), 'title' => esc_html__("Events Log", 'hide-my-wp'), 'capability' => HMWP_CAPABILITY, 'parent' => 'hmwp_settings', 'show' => HMWP_Classes_Tools::getOption('hmwp_activity_log'), 'function' => array(HMWP_Classes_ObjController::getClass('HMWP_Controllers_Settings'), 'init'), ), 'hmwp_securitycheck' => array( 'name' => esc_html__("Security Check", 'hide-my-wp'), 'title' => esc_html__("Security Check", 'hide-my-wp'), 'capability' => HMWP_CAPABILITY, 'parent' => 'hmwp_settings', 'function' => array(HMWP_Classes_ObjController::getClass('HMWP_Controllers_SecurityCheck'), 'init'), ), 'hmwp_backup' => array( 'name' => esc_html__("Backup/Restore", 'hide-my-wp'), 'title' => esc_html__("Backup/Restore", 'hide-my-wp'), 'capability' => HMWP_CAPABILITY, 'parent' => 'hmwp_settings', 'function' => array(HMWP_Classes_ObjController::getClass('HMWP_Controllers_Settings'), 'init'), ), 'hmwp_advanced' => array( 'name' => esc_html__("Advanced", 'hide-my-wp'), 'title' => esc_html__("Advanced Settings", 'hide-my-wp'), 'capability' => HMWP_CAPABILITY, 'parent' => 'hmwp_settings', 'function' => array(HMWP_Classes_ObjController::getClass('HMWP_Controllers_Settings'), 'init'), ), ); //Remove the menu when the feature in hidden by the user foreach ($menu as $key => $value){ $keys = array_keys(HMWP_Classes_Tools::$options); if (!empty($keys) && in_array($key . '_menu_show', $keys)) { if (!HMWP_Classes_Tools::getOption($key . '_menu_show')) { unset($menu[$key]); } } } //Show the account link only if the option is active if(HMWP_Classes_Tools::getOption('api_token') && apply_filters('hmwp_showaccount', true)) { $menu['hmwp_account'] = array( 'name' => esc_html__("My Account", 'hide-my-wp'), 'title' => esc_html__("My Account", 'hide-my-wp'), 'capability' => HMWP_CAPABILITY, 'parent' => 'hmwp_settings', 'href' => HMWP_Classes_Tools::getCloudUrl('orders'), 'function' => false, ); } //Return the menu array return apply_filters('hmwp_menu', $menu); } /** * Get the Submenu section for each menu * * @param string $current * @return array|mixed */ public function getSubMenu($current) { $submenu = array(); $subtabs = array( 'hmwp_permalinks' => array( array( 'title' => esc_html__("Level of Security", 'hide-my-wp') . ' ' . '', 'tab' =>'level', ), array( 'title' => esc_html__("Admin Security", 'hide-my-wp'), 'tab' =>'newadmin', ), array( 'title' => esc_html__("Login Security", 'hide-my-wp'), 'tab' =>'newlogin', ), array( 'title' => esc_html__("Ajax Security", 'hide-my-wp'), 'tab' =>'ajax', ), array( 'title' => esc_html__("User Security", 'hide-my-wp'), 'tab' =>'author', ), array( 'title' => esc_html__("WP Core Security", 'hide-my-wp'), 'tab' =>'core', ), array( 'title' => esc_html__("Plugins Security", 'hide-my-wp'), 'tab' =>'plugin', ), array( 'title' => esc_html__("Themes Security", 'hide-my-wp'), 'tab' =>'theme', ), array( 'title' => esc_html__("API Security", 'hide-my-wp'), 'tab' =>'api', ), ), 'hmwp_mapping' => array( array( 'title' => esc_html__("Text Mapping", 'hide-my-wp'), 'tab' =>'text', ), array( 'title' => esc_html__("URL Mapping", 'hide-my-wp'), 'tab' =>'url', ), array( 'title' => esc_html__("CDN Mapping", 'hide-my-wp'), 'tab' =>'cdn', ), ), 'hmwp_tweaks' => array( array( 'title' => esc_html__("Redirects", 'hide-my-wp'), 'tab' =>'redirects', ), array( 'title' => esc_html__("Feed & Sitemap", 'hide-my-wp'), 'tab' =>'sitemap', ), array( 'title' => esc_html__("Change Options", 'hide-my-wp'), 'tab' =>'changes', ), array( 'title' => esc_html__("Hide Options", 'hide-my-wp'), 'tab' =>'hide', ), array( 'title' => esc_html__("Disable Options", 'hide-my-wp'), 'tab' =>'disable', ), ), 'hmwp_templogin' => array( array( 'title' => esc_html__("Temporary Logins", 'hide-my-wp'), 'tab' =>'logins', ), array( 'title' => esc_html__("Settings", 'hide-my-wp'), 'tab' =>'settings', ), ), 'hmwp_firewall' => array( array( 'title' => esc_html__("Firewall", 'hide-my-wp'), 'tab' =>'firewall', ), array( 'title' => esc_html__("Header Security", 'hide-my-wp'), 'tab' =>'header', ), array( 'title' => esc_html__("Geo Security", 'hide-my-wp'), 'tab' =>'geoblock', ), array( 'title' => esc_html__("Whitelist", 'hide-my-wp'), 'tab' =>'whitelist', ), array( 'title' => esc_html__("Blacklist", 'hide-my-wp'), 'tab' =>'blacklist', ), ), 'hmwp_brute' => array( array( 'title' => esc_html__("Blocked IPs Report", 'hide-my-wp'), 'tab' =>'blocked', ), array( 'title' => esc_html__("Settings", 'hide-my-wp'), 'tab' =>'brute', ), ), 'hmwp_log' => array( array( 'title' => esc_html__("Events Log Report", 'hide-my-wp'), 'tab' =>'report', ), array( 'title' => esc_html__("Settings", 'hide-my-wp'), 'tab' =>'log', ), ), 'hmwp_advanced' => array( array( 'title' => esc_html__("Rollback Settings", 'hide-my-wp'), 'tab' =>'rollback', ), array( 'title' => esc_html__("Compatibility", 'hide-my-wp'), 'tab' =>'compatibility', ), array( 'title' => esc_html__("Email Notification", 'hide-my-wp'), 'tab' =>'notification', ), ), ); if (HMWP_Classes_Tools::isPluginActive('woocommerce/woocommerce.php')) { $subtabs['hmwp_brute'][] = array( 'title' => esc_html__("WooCommerce", 'hide-my-wp'), 'tab' =>'woocommerce', ); } //Remove the submenu is the user hides it from all features foreach ($subtabs as $key => &$values) { foreach ($values as $index => $value) { if (in_array($key . '_' . $value['tab'] . '_show', array_keys(HMWP_Classes_Tools::$options))) { if (!HMWP_Classes_Tools::getOption($key . '_' . $value['tab'] . '_show')) { unset($values[$index]); } } } } //Return all submenus if(isset($subtabs[$current])) { $submenu = $subtabs[$current]; } return apply_filters('hmwp_submenu', $submenu); } /** * * * @var array with the menu content * * $page_title (string) (required) The text to be displayed in the title tags of the page when the menu is selected * $menu_title (string) (required) The on-screen name text for the menu * $capability (string) (required) The capability required for this menu to be displayed to the user. User levels are deprecated and should not be used here! * $menu_slug (string) (required) The slug name to refer to this menu by (should be unique for this menu). Prior to Version 3.0 this was called the file (or handle) parameter. If the function parameter is omitted, the menu_slug should be the PHP file that handles the display of the menu page content. * $function The function that displays the page content for the menu page. Technically, the function parameter is optional, but if it is not supplied, then WordPress will basically assume that including the PHP file will generate the administration screen, without calling a function. Most plugin authors choose to put the page-generating code in a function within their main plugin file.:In the event that the function parameter is specified, it is possible to use any string for the file parameter. This allows usage of pages such as ?page=my_super_plugin_page instead of ?page=my-super-plugin/admin-options.php. * $icon_url (string) (optional) The url to the icon to be used for this menu. This parameter is optional. Icons should be fairly small, around 16 x 16 pixels for best results. You can use the plugin_dir_url( __FILE__ ) function to get the URL of your plugin directory and then add the image filename to it. You can set $icon_url to "div" to have WordPress generate
tag instead of . This can be used for more advanced formating via CSS, such as changing icon on hover. * $position (integer) (optional) The position in the menu order this menu should appear. By default, if this parameter is omitted, the menu will appear at the bottom of the menu structure. The higher the number, the lower its position in the menu. WARNING: if 2 menu items use the same position attribute, one of the items may be overwritten so that only one item displays! * */ public $menu = array(); public $meta = array(); /** * Add a menu in WP admin page * * @param array $param * * @return void */ public function addMenu($param) { $this->menu = $param; if (is_array($this->menu)) { if ($this->menu[0] <> '' && $this->menu[1] <> '') { if (!isset($this->menu[5])) { $this->menu[5] = null; } if (!isset($this->menu[6])) { $this->menu[6] = null; } /* add the menu with WP */ add_menu_page($this->menu[0], $this->menu[1], $this->menu[2], $this->menu[3], $this->menu[4], $this->menu[5], $this->menu[6]); } } } /** * Add a submenumenu in WP admin page * * @param array $param * * @return void */ public function addSubmenu($param = null) { if ($param) { $this->menu = $param; } if (is_array($this->menu)) { if ($this->menu[0] <> '' && $this->menu[1] <> '') { if (!isset($this->menu[5])) { $this->menu[5] = ''; } /* add the menu with WP */ add_submenu_page($this->menu[0], $this->menu[1], $this->menu[2], $this->menu[3], $this->menu[4], $this->menu[5]); } } } /** * Load the Settings class when the plugin settings are loaded * Used for loading the CSS and JS only in the settings area * * @param string $classes * @return string * @throws Exception */ public function addSettingsClass( $classes ) { if ($page = HMWP_Classes_Tools::getValue('page')) { $menu = $this->getMenu(); if(in_array($page, array_keys($menu))) { //Add the class when loading the plugin settings $classes = "$classes hmwp-settings"; } } //Return the classes return $classes; } /** * Add compatibility on CSS and JS with other plugins and themes * Called in Menu Controller to fix teh CSS and JS compatibility */ public function fixEnqueueErrors() { $exclude = array( 'boostrap', 'wpcd-admin-js', 'ampforwp_admin_js', '__ytprefs_admin__', 'wpf-graphics-admin-style', 'wwp-bootstrap', 'wwp-bootstrap-select', 'wwp-popper', 'wwp-script', 'wpf_admin_style', 'wpf_bootstrap_script', 'wpf_wpfb-front_script', 'auxin-admin-style', 'wdc-styles-extras', 'wdc-styles-main', 'wp-color-picker-alpha', //collor picker compatibility 'td_wp_admin', 'td_wp_admin_color_picker', 'td_wp_admin_panel', 'td_edit_page', 'td_page_options', 'td_tooltip', 'td_confirm', 'thickbox', 'font-awesome', 'bootstrap-iconpicker-iconset', 'bootstrap-iconpicker', 'cs_admin_styles_css', 'jobcareer_admin_styles_css', 'jobcareer_editor_style', 'jobcareer_bootstrap_min_js', 'cs_fonticonpicker_bootstrap_css', 'cs_bootstrap_slider_css', 'cs_bootstrap_css', 'cs_bootstrap_slider', 'cs_bootstrap_min_js', 'cs_bootstrap_slider_js', 'bootstrap', 'wp-reset', 'buy-me-a-coffee', 'mylisting-admin-general', 'stm-admin-vmc-style' ); //Exclude the styles and scripts that affects the plugin functionality foreach ($exclude as $name) { wp_dequeue_script($name); wp_dequeue_style($name); } } } models/Permissions.php000064400000014471147600042240011061 0ustar00getConfFile(); $wp_config_file = HMWP_Classes_Tools::getConfigFile(); $wp_upload_dir = $this->getUploadDir(); //Set the main paths to check if(!HMWP_Classes_Tools::isWindows()){ $paths = array( ABSPATH => HMW_DIR_PERMISSION, ABSPATH . HMWP_Classes_Tools::getDefault('hmwp_wp-includes_url') => HMW_DIR_PERMISSION, ABSPATH . HMWP_Classes_Tools::getDefault('hmwp_admin_url') => HMW_DIR_PERMISSION, ABSPATH . HMWP_Classes_Tools::getDefault('hmwp_admin_url') . '/js' => HMW_DIR_PERMISSION, ABSPATH . HMWP_Classes_Tools::getDefault('hmwp_login_url') => HMW_FILE_PERMISSION, WP_CONTENT_DIR => HMW_DIR_PERMISSION, get_theme_root() => HMW_DIR_PERMISSION, WP_PLUGIN_DIR => HMW_DIR_PERMISSION, $wp_upload_dir => HMW_DIR_PERMISSION, //$wp_config_file => HMW_CONFIG_PERMISSION, //$server_config_file => HMW_CONFIG_PERMISSION, ); }else{ $paths = [ //$wp_config_file => HMW_CONFIG_PERMISSION, $server_config_file => HMW_CONFIG_PERMISSION, ]; } $this->paths = apply_filters('hmwp_permission_paths', $paths); } /** * Get the uploads directory * * @return string */ protected function getUploadDir() { //get the uploads directory if (HMWP_Classes_Tools::isMultisites() && defined('BLOG_ID_CURRENT_SITE') ) { switch_to_blog( BLOG_ID_CURRENT_SITE ); $wp_upload_dir = wp_upload_dir(); restore_current_blog(); } else { $wp_upload_dir = wp_upload_dir(); } if(isset($wp_upload_dir['basedir']) && $wp_upload_dir['basedir'] <> ''){ return $wp_upload_dir['basedir']; } return false; } /** * Return all invalid paths that don't match the recommended permissions * * @return array */ public function getInvalidPermissions(){ $values = array(); $wp_filesystem = HMWP_Classes_ObjController::initFilesystem(); if(!empty($this->paths)){ foreach ( $this->paths as $path => $suggested ) { if($wp_filesystem->exists($path)){ $display_path = preg_replace( '/^' . preg_quote( ABSPATH, '/' ) . '/', '', $path ); $display_path = ltrim( $display_path, '/' ); if ( empty( $display_path ) ) { $display_path = '/'; } //get chmod of the path $display_chmod = sprintf("0%d", $wp_filesystem->getchmod($path)); if($wp_filesystem->is_file($path) ){ if (HMWP_Classes_Tools::isWindows() ) { if($wp_filesystem->is_writable($path)) { $values[] = array( 'path' => $path, 'suggested' => $suggested, 'display_path' => $display_path, 'display_permission' => $display_chmod ); } }else { $chmod = $wp_filesystem->getchmod($path); $suggested = sprintf('%o', $suggested); if($suggested < $chmod) { $values[] = array( 'path' => $path, 'suggested' => $suggested, 'display_path' => $display_path, 'display_permission' => $display_chmod ); } } }else{ $chmod = $wp_filesystem->getchmod($path); $suggested = sprintf('%o', $suggested); if($suggested < $chmod) { //if it's a directory $values[] = array( 'path' => $path, 'suggested' => $suggested, 'display_path' => $display_path, 'display_permission' => $display_chmod ); } } } } } return $values; } /** * Change the invalid permissions with the recommended ones * @param $value * * @return bool */ public function changePermissions( $value ) { $wp_filesystem = HMWP_Classes_Tools::initFilesystem(); if(!$value){ return false; } try{ //fix all files and directories permissions if ($value == 'complete') { $this->changePermissionsAll(ABSPATH, true); } //get all invalid permissions $values = $this->getInvalidPermissions(); foreach ( $values as $value ) { if(!$wp_filesystem->chmod($value['path'], octdec($value['suggested']))){ return false; } } }catch (Exception $e){} return true; } /** * Changes filesystem permissions. * * @param string $file Path to the file. * @param bool $recursive Optional. If set to true, changes file permissions recursively. * Default false. * @return bool True on success, false on failure. */ private function changePermissionsAll( $file, $recursive = false ) { $wp_filesystem = HMWP_Classes_Tools::initFilesystem(); if ( $wp_filesystem->is_file( $file ) ) { if(strpos( $file, '.php' ) !== false){ $mode = HMW_FILE_PERMISSION; }else{ $mode = 0644; } } elseif ( $wp_filesystem->is_dir( $file ) ) { $mode = HMW_DIR_PERMISSION; } else { return false; } if ( ! $recursive || ! $wp_filesystem->is_dir( $file ) ) { return $wp_filesystem->chmod( $file, $mode ); } // Is a directory, and we want recursive. $file = trailingslashit( $file ); $filelist = $wp_filesystem->dirlist( $file ); foreach ( (array) $filelist as $filename => $filemeta ) { $this->changePermissionsAll( $file . $filename,$recursive ); } return true; } } models/Prefix.php000064400000014154147600042240010001 0ustar00prefix = $value; } /** * Validate new prefix name * Check if the new table prefix already exist as database prefix * * @return string the new database prefix */ public function generateValidateNewPrefix() { global $wpdb; // Generate a string with 5 chars $prefix = $this->generateRandomString( 5 ); $prefix .= '_'; if ( $wpdb->get_results( $wpdb->prepare( 'SHOW TABLES LIKE %s;', $prefix . '%' ), ARRAY_N ) ) { $prefix = $this->generateValidateNewPrefix(); } return $prefix; } /** * Get random string for a specific length * * @param $length * * @return string */ protected function generateRandomString( $length ) { //limit the string to these chars $characters = 'abcdefghijklmnopqrstuvwxyz0123456789'; $randomString = ''; $charCount = strlen( $characters ); for ( $i = 0; $i < $length; $i ++ ) { $randomString .= $characters[ wp_rand( 0, $charCount - 1 ) ]; } return $randomString; } /** * Run the change prefix process * * @return bool */ public function changePrefix() { try { if ( $this->prefix ) { //Change prefix in the config file if ( ! $this->changePrefixInConfig() ) { HMWP_Classes_Error::setNotification( __( 'Unable to update the wp-config.php file in order to update the Database Prefix.', 'hide-my-wp' ), 'error' ); return false; } //Change the prefix of all tables $this->changePrefixInDatabase(); //Change prefix in Options table $this->changePrefixOptionsDatabase(); //Change prefix in User table $this->changePrefixUserDatabase(); return true; } } catch ( Exception $e ) { } return false; } /** * Process Database Prefix change in the wp-config file * * @return bool * @throws Exception * @since 7.3 * */ protected function changePrefixInConfig() { if ( $config_file = HMWP_Classes_Tools::getConfigFile() ) { $find = '(\$table_prefix\s*=\s*)([\'"]).+?\\2(\s*;)'; $replace = "\$table_prefix = '" . $this->prefix . "';" . PHP_EOL; //change the /** @var HMWP_Models_Rules $rulesModel */ $rulesModel = HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rules' ); try { $wp_filesystem = HMWP_Classes_ObjController::initFilesystem(); if ( ! $rulesModel->isConfigWritable( $config_file ) ) { $current_permission = $wp_filesystem->getchmod( $config_file ); $wp_filesystem->chmod( $config_file, 0644 ); } if ( $rulesModel->isConfigWritable( $config_file ) && $rulesModel->find( $find, $config_file ) ) { $return = $rulesModel->findReplace( $find, $replace, $config_file ); if ( isset( $current_permission ) ) { $wp_filesystem->chmod( $config_file, octdec( $current_permission ) ); } return $return; } } catch ( Exception $e ) { } } return false; } /** * Process Database Prefix change in database * * @return void * @throws Exception * @since 7.3 * */ protected function changePrefixInDatabase() { global $wpdb; // Get all tables from DB $tables = $wpdb->get_results( $wpdb->prepare( 'SHOW TABLES LIKE %s', $wpdb->base_prefix . '%' ), ARRAY_N ); // Rename tables foreach ( $tables as $table ) { $table = substr( $table[0], strlen( $wpdb->base_prefix ), strlen( $table[0] ) ); if ( $wpdb->query( 'RENAME TABLE `' . $wpdb->base_prefix . $table . '` TO `' . $this->prefix . $table . '`;' ) === false ) { HMWP_Classes_Error::setNotification( sprintf( __( 'Could not rename table %1$s. You may have to rename the table manually.', 'hide-my-wp' ), $wpdb->base_prefix . $table ), 'error' ); } } // If WP Multisite, rename all blogs if ( HMWP_Classes_Tools::isMultisites() ) { $blogs = $wpdb->get_col( "SELECT blog_id FROM `" . $this->prefix . "blogs` WHERE public = '1' AND archived = '0' AND mature = '0' AND spam = '0' ORDER BY blog_id DESC" ); //get list of blog id's // Make sure there are other blogs to update if ( is_array( $blogs ) ) { // Update each blog's user_roles option foreach ( $blogs as $blog ) { $wpdb->query( 'UPDATE `' . $this->prefix . $blog . '_options` SET option_name = "' . $this->prefix . $blog . '_user_roles" WHERE option_name = "' . $wpdb->base_prefix . $blog . '_user_roles" LIMIT 1;' ); } } } } /** * Change Prefix in User Database * * @return void */ protected function changePrefixOptionsDatabase() { global $wpdb; // Update options table $updated_options = $wpdb->query( 'UPDATE `' . $this->prefix . 'options` SET option_name = "' . $this->prefix . 'user_roles" WHERE option_name = "' . $wpdb->base_prefix . 'user_roles" LIMIT 1;' ); if ( $updated_options === false ) { HMWP_Classes_Error::setNotification( __( 'Could not update prefix references in options table.', 'better-wp-security' ), 'error' ); } } /** * Change Prefix in User Database * * @return void */ protected function changePrefixUserDatabase() { global $wpdb; // Get all usermeta data $rows = $wpdb->get_results( "SELECT * FROM `{$this->prefix}usermeta`" ); // Change all prefixes in usermeta foreach ( $rows as $row ) { if ( 0 !== strpos( $row->meta_key, $wpdb->base_prefix ) ) { continue; } $pos = $this->prefix . substr( $row->meta_key, strlen( $wpdb->base_prefix ), strlen( $row->meta_key ) ); $updated = $wpdb->query( $wpdb->prepare( "UPDATE `{$this->prefix}usermeta` SET meta_key = %s WHERE meta_key = %s LIMIT 1", $pos, $row->meta_key ) ); if ( ! $updated ) { HMWP_Classes_Error::setNotification( __( 'Could not update prefix references in usermeta table.', 'better-wp-security' ), 'error' ); } } } } models/Presets.php000064400000025362147600042240010174 0ustar00 __( "Minimal (No Config Rewrites)", 'hide-my-wp' ), 2 => __( "Safe Mode + Firewall + Compatibility Settings", 'hide-my-wp' ), 3 => __( "Safe Mode + Firewall + Brute Force + Events Log + Two factor", 'hide-my-wp' ), 4 => __( "Ghost Mode + Firewall + Brute Force + Events Log + Two factor", 'hide-my-wp' ), ); } /** * Get the title for the current option * * @param string $name Option name * * @return string|false */ public function getPresetTitles( $name ) { switch ( $name ) { case 'hmwp_admin_url': return __( 'Custom Admin Path', 'hide-my-wp' ); case 'hmwp_hide_admin': return __( 'Hide "wp-admin"', 'hide-my-wp' ); case 'hmwp_login_url': return __( 'Custom Login Path', 'hide-my-wp' ); case 'hmwp_hide_login': return __( 'Hide "login" Path', 'hide-my-wp' ); case 'hmwp_hide_newlogin': return __( 'Hide the New Login Path', 'hide-my-wp' ); case 'hmwp_admin-ajax_url': return __( 'Custom admin-ajax Path', 'hide-my-wp' ); case 'hmwp_hideajax_admin': return __( 'Hide wp-admin from Ajax URL', 'hide-my-wp' ); case 'hmwp_hideajax_paths': return __( 'Change Paths in Ajax Calls', 'hide-my-wp' ); case 'hmwp_wp-content_url': return __( 'Custom wp-content Path', 'hide-my-wp' ); case 'hmwp_wp-includes_url': return __( 'Custom wp-includes Path', 'hide-my-wp' ); case 'hmwp_upload_url': return __( 'Custom uploads Path', 'hide-my-wp' ); case 'hmwp_author_url': return __( 'Custom author Path', 'hide-my-wp' ); case 'hmwp_hide_authors': return __( 'Hide Author ID URL', 'hide-my-wp' ); case 'hmwp_plugin_url': return __( 'Custom plugins Path', 'hide-my-wp' ); case 'hmwp_hide_plugins': return __( 'Hide Plugin Names', 'hide-my-wp' ); case 'hmwp_themes_url': return __( 'Custom themes Path', 'hide-my-wp' ); case 'hmwp_hide_themes': return __( 'Hide Theme Names', 'hide-my-wp' ); case 'hmwp_themes_style': return __( 'Custom theme style name', 'hide-my-wp' ); case 'hmwp_wp-comments-post': return __( 'Custom comment Path', 'hide-my-wp' ); case 'hmwp_hide_oldpaths': return __( 'Hide WordPress Common Paths', 'hide-my-wp' ); case 'hmwp_hide_commonfiles': return __( 'Hide WordPress Common Files', 'hide-my-wp' ); /////////////////////////////////////////////////////////////// case 'hmwp_sqlinjection': return __( 'Firewall Against Script Injection', 'hide-my-wp' ); case 'hmwp_sqlinjection_level': return __( 'Firewall Strength', 'hide-my-wp' ); case 'hmwp_hide_unsafe_headers': return __( 'Remove Unsafe Headers', 'hide-my-wp' ); case 'hmwp_detectors_block': return __( 'Block Theme Detectors Crawlers', 'hide-my-wp' ); case 'hmwp_security_header': return __( 'Add Security Headers for XSS and Code Injection Attacks', 'hide-my-wp' ); case 'hmwp_hide_version': return __( 'Hide Version from Images, CSS and JS in WordPress', 'hide-my-wp' ); case 'hmwp_hide_version_random': return __( 'Random Static Number', 'hide-my-wp' ); case 'hmwp_hide_styleids': return __( 'Hide IDs from META Tags', 'hide-my-wp' ); case 'hmwp_hide_prefetch': return __( 'Hide WordPress DNS Prefetch META Tags', 'hide-my-wp' ); case 'hmwp_hide_generator': return __( 'Hide WordPress Generator META Tags', 'hide-my-wp' ); case 'hmwp_hide_comments': return __( 'Hide HTML Comments', 'hide-my-wp' ); case 'hmwp_disable_embeds': return __( 'Hide Embed scripts', 'hide-my-wp' ); case 'hmwp_disable_manifest': return __( 'Hide WLW Manifest scripts', 'hide-my-wp' ); case 'hmwp_mapping_text_show': return __( 'Text Mapping', 'hide-my-wp' ); case 'hmwp_mapping_url_show': return __( 'URL Mapping', 'hide-my-wp' ); case 'hmwp_bruteforce': return __( 'Use Brute Force Protection', 'hide-my-wp' ); case 'hmwp_bruteforce_username': return __( 'Wrong Username Protection', 'hide-my-wp' ); case 'hmwp_activity_log': return __( 'Log Users Events', 'hide-my-wp' ); } return false; } /** * Set the current preset * * @param int $index * * @return void */ public function setCurrentPreset( $index ) { $this->current = $index; } /** * Get the preset data * * @param string $name Preset name * * @return array|false */ public function getPresetData() { if ( method_exists( $this, 'getPreset' . $this->current ) ) { $presets = call_user_func( array( $this, 'getPreset' . $this->current ) ); if ( ! empty( $presets ) ) { foreach ( $presets as $name => $value ) { if ( $this->getPresetTitles( $name ) ) { $this->preset[ $this->current ][ $name ] = array( 'title' => $this->getPresetTitles( $name ), 'value' => $value ); } } if ( isset( $this->preset[ $this->current ] ) ) { return $this->preset[ $this->current ]; } } } return false; } /** * Get firewall option values * * @param $value * * @return string|void */ public function getFirewallLevel( $value ) { switch ( $value ) { case 1: return esc_html__( 'Minimal', 'hide-my-wp' ); case 2: return esc_html__( 'Medium', 'hide-my-wp' ); case 3: return esc_html__( '7G Firewall', 'hide-my-wp' ); case 4: return esc_html__( '8G Firewall', 'hide-my-wp' ); } } /** * Get preset value * * @param $name * * @return mixed|string */ public function getPresetValue( $name ) { $values = $this->getPresetData(); if ( isset( $values[ $name ]['value'] ) ) { $value = $values[ $name ]['value']; switch ( $name ) { case 'hmwp_sqlinjection_level': return $this->getFirewallLevel( $value ); default: if ( is_numeric( $value ) ) { return ( $value ? '' . esc_html__( 'Yes' ) . '' : '' . esc_html__( 'No' ) . '' ); } else { return $value; } } } return false; } /** * Define preset * * @return array */ public function getPreset1() { $default = HMWP_Classes_Tools::$default; $presets = array( 'hmwp_mode' => 'lite', 'hmwp_login_url' => 'newlogin', 'hmwp_sqlinjection' => 1, 'hmwp_sqlinjection_level' => 2, 'hmwp_hide_unsafe_headers' => 0, 'hmwp_detectors_block' => 0, 'hmwp_security_header' => 0, 'hmwp_hide_version' => 1, 'hmwp_hide_version_random' => 1, 'hmwp_hide_styleids' => 0, 'hmwp_hide_prefetch' => 1, 'hmwp_hide_generator' => 1, 'hmwp_hide_comments' => 1, 'hmwp_disable_embeds' => 1, 'hmwp_disable_manifest' => 1, 'hmwp_mapping_text_show' => 0, 'hmwp_mapping_url_show' => 0, 'hmwp_bruteforce' => 1, 'hmwp_bruteforce_username' => 1, 'hmwp_activity_log' => 1, ); return array_merge( $default, $presets ); } /** * Define preset * * @return array */ public function getPreset2() { $default = HMWP_Classes_Tools::$default; $lite = @array_merge( $default, HMWP_Classes_Tools::$lite ); $presets = array( 'hmwp_sqlinjection' => 1, 'hmwp_sqlinjection_level' => 2, 'hmwp_hide_unsafe_headers' => 1, 'hmwp_detectors_block' => 1, 'hmwp_security_header' => 1, 'hmwp_hide_version' => 1, 'hmwp_hide_version_random' => 1, 'hmwp_hide_styleids' => 0, 'hmwp_hide_prefetch' => 1, 'hmwp_hide_generator' => 1, 'hmwp_hide_comments' => 0, 'hmwp_disable_embeds' => 0, 'hmwp_disable_manifest' => 1, 'hmwp_mapping_text_show' => 0, 'hmwp_mapping_url_show' => 0, 'hmwp_bruteforce' => 0, 'hmwp_bruteforce_username' => 0, 'hmwp_activity_log' => 1, ); return array_merge( $lite, $presets ); } /** * Define preset * * @return array */ public function getPreset3() { $default = HMWP_Classes_Tools::$default; $lite = @array_merge( $default, HMWP_Classes_Tools::$lite ); $presets = array( 'hmwp_sqlinjection' => 1, 'hmwp_sqlinjection_level' => 2, 'hmwp_hide_unsafe_headers' => 1, 'hmwp_detectors_block' => 1, 'hmwp_security_header' => 1, 'hmwp_hide_version' => 1, 'hmwp_hide_version_random' => 1, 'hmwp_hide_styleids' => 0, 'hmwp_hide_prefetch' => 1, 'hmwp_hide_generator' => 1, 'hmwp_hide_comments' => 1, 'hmwp_disable_embeds' => 1, 'hmwp_disable_manifest' => 1, 'hmwp_mapping_text_show' => 1, 'hmwp_mapping_url_show' => 1, 'hmwp_bruteforce' => 1, 'hmwp_bruteforce_lostpassword' => 1, 'hmwp_bruteforce_register' => 1, 'hmwp_bruteforce_comments' => 1, 'hmwp_bruteforce_username' => 1, 'hmwp_activity_log' => 1, 'add_action' => 1, ); return array_merge( $lite, $presets ); } /** * Define preset * * @return array */ public function getPreset4() { $default = HMWP_Classes_Tools::$default; $ninja = @array_merge( $default, HMWP_Classes_Tools::$ninja ); $presets = array( 'hmwp_hideajax_paths' => 1, 'hmwp_disable_rest_api_param' => 1, 'hmwp_hide_oldpaths' => 1, 'hmwp_hide_oldpaths_plugins' => 1, 'hmwp_hide_oldpaths_themes' => 1, 'hmwp_themes_style' => 'design.css', 'hmwp_hide_oldpaths_types' => array( 'php', 'txt', 'html', 'lock', 'json', 'media' ), 'hmwp_hide_commonfiles' => 1, 'hmwp_hide_commonfiles_files' => array( 'wp-comments-post.php', 'wp-config-sample.php', 'readme.html', 'readme.txt', 'install.php', 'license.txt', 'php.ini', 'upgrade.php', 'bb-config.php', 'error_log', 'debug.log', 'hidemywp.conf' ), 'hmwp_disable_browsing' => 1, 'hmwp_sqlinjection' => 1, 'hmwp_sqlinjection_level' => 4, 'hmwp_hide_unsafe_headers' => 1, 'hmwp_detectors_block' => 1, 'hmwp_security_header' => 1, 'hmwp_hide_in_sitemap' => 1, 'hmwp_hide_author_in_sitemap' => 1, 'hmwp_robots' => 1, 'hmwp_hide_loggedusers' => 1, 'hmwp_fix_relative' => 1, 'hmwp_hide_version' => 1, 'hmwp_hide_version_random' => 1, 'hmwp_hide_styleids' => 0, 'hmwp_hide_prefetch' => 1, 'hmwp_hide_generator' => 1, 'hmwp_hide_comments' => 1, 'hmwp_disable_embeds' => 1, 'hmwp_disable_manifest' => 1, 'hmwp_mapping_text_show' => 1, 'hmwp_mapping_url_show' => 1, 'hmwp_bruteforce' => 1, 'hmwp_bruteforce_lostpassword' => 1, 'hmwp_bruteforce_register' => 1, 'hmwp_bruteforce_comments' => 1, 'hmwp_bruteforce_username' => 1, 'hmwp_activity_log' => 1, 'hmwp_2falogin' => 1, ); return array_merge( $ninja, $presets ); } } models/Rewrite.php000064400000350414147600042240010167 0ustar00_siteurl = wp_parse_url( $siteurl, PHP_URL_HOST ) . wp_parse_url( $siteurl, PHP_URL_PATH ); //Add the PORT if different from 80 if ( wp_parse_url( $siteurl, PHP_URL_PORT ) && wp_parse_url( $siteurl, PHP_URL_PORT ) <> 80 ) { $this->_siteurl = wp_parse_url( $siteurl, PHP_URL_HOST ) . ':' . wp_parse_url( $siteurl, PHP_URL_PORT ) . wp_parse_url( $siteurl, PHP_URL_PATH ); } //if multisite with subdomains, remove www. to change the paths in all dubdomains if( strpos( $this->_siteurl, 'www.' ) !== false && HMWP_Classes_Tools::isMultisites() && defined( 'SUBDOMAIN_INSTALL' ) && SUBDOMAIN_INSTALL ){ $this->_siteurl = str_replace( 'www.', '', $this->_siteurl ); }elseif ( strpos( $this->_siteurl, '//' ) === false ) { //if not www prefix, add // to the domain //don't add // when the www. is removed because it may not change the paths $this->_siteurl = '//' . trim( $this->_siteurl, '/' ); } } /** * Get the blog URL with path & port * * @return string The host name + path (e.g. //domain.com/path) */ public function getSiteUrl() { return apply_filters( 'hmwp_root_site_url', $this->_siteurl ); } /** * Start the buffer listener * * @throws Exception */ public function startBuffer() { if ( apply_filters( 'hmwp_start_buffer', true ) ) { //start the buffer only for non files or 404 pages ob_start( array( $this, 'getBuffer' ) ); } } /** * Modify the output buffer * Only text/html header types * * @param $buffer * * @return mixed * @throws Exception */ public function getBuffer( $buffer ) { //If ajax call if ( HMWP_Classes_Tools::isAjax() ) { //if change the ajax paths if ( apply_filters( 'hmwp_process_buffer', true ) && HMWP_Classes_Tools::getOption( 'hmwp_hideajax_paths' ) ) { //replace the buffer in Ajax $buffer = $this->find_replace( $buffer ); } } else { ////////////////////////////////////// //Should the buffer be loaded if ( apply_filters( 'hmwp_process_buffer', true ) ) { //Don't run HMWP in these cases if ( HMWP_Classes_Tools::getOption( 'hmwp_mode' ) <> 'default' ) { //If it's not the disabled //If there is no buffer if ( strlen( $buffer ) < 255 ) { return $buffer; } //Check if other plugins already did the cache try { //If the content is HTML if ( HMWP_Classes_Tools::isContentHeader( array( 'text/html' ) ) ) { //If the user set to change the paths for logged users $buffer = $this->find_replace( $buffer ); } } catch ( Exception $e ) { return $buffer; } } } } //Return the buffer to HTML return apply_filters( 'hmwp_buffer', $buffer ); } /************************************ * * BUID & FLUSH REWRITES ****************************************/ /** * Prepare redirect build * * @return HMWP_Models_Rewrite */ public function clearRedirect() { HMWP_Classes_Tools::$options = HMWP_Classes_Tools::getOptions(); $this->_replace = array(); return $this; } /** * Build the array with find and replace * Decide what goes to htaccess and not * * @return HMWP_Models_Rewrite */ public function buildRedirect() { if ( ! empty( $this->_replace ) ) { return $this; } add_action( 'home_url', array( $this, 'home_url' ), PHP_INT_MAX, 1 ); if ( HMWP_Classes_Tools::getOption( 'hmwp_mode' ) <> 'default' ) { if ( HMWP_Classes_Tools::isMultisiteWithPath() ) { //get all blogs global $wpdb; $this->paths = array(); $blogs = get_sites( array( 'number' => 10000, 'public' => 1, 'deleted' => 0, ) ); foreach ( $blogs as $blog ) { $this->paths[] = HMWP_Classes_Tools::getRelativePath( $blog->path ); } } //Redirect the AJAX if ( HMWP_Classes_Tools::getDefault( 'hmwp_admin_url' ) . '/' . HMWP_Classes_Tools::getDefault( 'hmwp_admin-ajax_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_admin-ajax_url' ) && HMWP_Classes_Tools::getDefault( 'hmwp_admin-ajax_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_admin-ajax_url' ) ) { $this->_replace['from'][] = HMWP_Classes_Tools::getDefault( 'hmwp_admin_url' ) . '/' . HMWP_Classes_Tools::getDefault( 'hmwp_admin-ajax_url' ); $this->_replace['to'][] = HMWP_Classes_Tools::getOption( 'hmwp_admin-ajax_url' ); $this->_replace['rewrite'][] = true; $this->_replace['from'][] = HMWP_Classes_Tools::getOption( 'hmwp_admin_url' ) . '/' . HMWP_Classes_Tools::getDefault( 'hmwp_admin-ajax_url' ); $this->_replace['to'][] = HMWP_Classes_Tools::getOption( 'hmwp_admin-ajax_url' ); $this->_replace['rewrite'][] = false; } //Redirect the ADMIN if ( HMWP_Classes_Tools::getDefault( 'hmwp_admin_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_admin_url' ) ) { $safeoptions = HMWP_Classes_Tools::getOptions( true ); if ( HMWP_Classes_Tools::getDefault( 'hmwp_admin_url' ) <> $safeoptions['hmwp_admin_url'] ) { $this->_replace['from'][] = "wp-admin" . '/'; $this->_replace['to'][] = $safeoptions['hmwp_admin_url'] . '/'; $this->_replace['rewrite'][] = true; } if ( HMWP_Classes_Tools::getOption( 'hmwp_admin_url' ) <> $safeoptions['hmwp_admin_url'] ) { $this->_replace['from'][] = "wp-admin" . '/'; $this->_replace['to'][] = HMWP_Classes_Tools::getOption( 'hmwp_admin_url' ) . '/'; $this->_replace['rewrite'][] = true; } } //Redirect the LOGIN if ( HMWP_Classes_Tools::getDefault( 'hmwp_login_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_login_url' ) ) { $this->_replace['from'][] = "wp-login.php"; $this->_replace['to'][] = HMWP_Classes_Tools::getOption( 'hmwp_login_url' ); $this->_replace['rewrite'][] = true; $this->_replace['from'][] = "wp-login.php"; $this->_replace['to'][] = HMWP_Classes_Tools::getOption( 'hmwp_login_url' ) . '/'; $this->_replace['rewrite'][] = true; } if ( HMWP_Classes_Tools::getOption( 'hmwp_lostpassword_url' ) <> '' ) { $this->_replace['from'][] = HMWP_Classes_Tools::getOption( 'hmwp_login_url' ) . "?action=lostpassword"; $this->_replace['to'][] = HMWP_Classes_Tools::getOption( 'hmwp_lostpassword_url' ); $this->_replace['rewrite'][] = false; $this->_replace['from'][] = HMWP_Classes_Tools::getDefault( 'hmwp_login_url' ) . "?action=lostpassword"; $this->_replace['to'][] = HMWP_Classes_Tools::getOption( 'hmwp_lostpassword_url' ); $this->_replace['rewrite'][] = true; } if ( HMWP_Classes_Tools::getDefault( 'hmwp_activate_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_activate_url' ) ) { if ( HMWP_Classes_Tools::getOption( 'hmwp_activate_url' ) <> '' ) { $this->_replace['from'][] = HMWP_Classes_Tools::getDefault( 'hmwp_activate_url' ); $this->_replace['to'][] = HMWP_Classes_Tools::getOption( 'hmwp_activate_url' ); $this->_replace['rewrite'][] = true; } } if ( HMWP_Classes_Tools::getOption( 'hmwp_register_url' ) <> '' ) { $this->_replace['from'][] = HMWP_Classes_Tools::getOption( 'hmwp_login_url' ) . "?action=register"; $this->_replace['to'][] = HMWP_Classes_Tools::getOption( 'hmwp_register_url' ); $this->_replace['rewrite'][] = false; $this->_replace['from'][] = HMWP_Classes_Tools::getDefault( 'hmwp_login_url' ) . "?action=register"; $this->_replace['to'][] = HMWP_Classes_Tools::getOption( 'hmwp_register_url' ); $this->_replace['rewrite'][] = true; } if ( HMWP_Classes_Tools::getOption( 'hmwp_logout_url' ) <> '' ) { $this->_replace['from'][] = HMWP_Classes_Tools::getOption( 'hmwp_login_url' ) . "?action=logout"; $this->_replace['to'][] = HMWP_Classes_Tools::getOption( 'hmwp_logout_url' ); $this->_replace['rewrite'][] = false; $this->_replace['from'][] = HMWP_Classes_Tools::getDefault( 'hmwp_login_url' ) . "?action=logout"; $this->_replace['to'][] = HMWP_Classes_Tools::getOption( 'hmwp_logout_url' ); $this->_replace['rewrite'][] = true; } //Modify plugins urls if ( HMWP_Classes_Tools::getOption( 'hmwp_hide_plugins' ) ) { $all_plugins = HMWP_Classes_Tools::getOption( 'hmwp_plugins' ); if ( ! empty( $all_plugins['to'] ) ) { foreach ( $all_plugins['to'] as $index => $plugin_path ) { if ( HMWP_Classes_Tools::isMultisiteWithPath() ) { foreach ( $this->paths as $path ) { $this->_replace['from'][] = $path . HMWP_Classes_Tools::getDefault( 'hmwp_plugin_url' ) . '/' . $all_plugins['from'][ $index ]; $this->_replace['to'][] = $path . HMWP_Classes_Tools::getOption( 'hmwp_plugin_url' ) . '/' . $plugin_path . '/'; $this->_replace['rewrite'][] = false; } } $this->_replace['from'][] = HMWP_Classes_Tools::getDefault( 'hmwp_plugin_url' ) . '/' . $all_plugins['from'][ $index ]; $this->_replace['to'][] = HMWP_Classes_Tools::getOption( 'hmwp_plugin_url' ) . '/' . $plugin_path . '/'; $this->_replace['rewrite'][] = true; } } } //Modify plugins if ( HMWP_Classes_Tools::getDefault( 'hmwp_plugin_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_plugin_url' ) ) { if ( HMWP_Classes_Tools::isMultisiteWithPath() ) { foreach ( $this->paths as $path ) { $this->_replace['from'][] = $path . HMWP_Classes_Tools::getDefault( 'hmwp_plugin_url' ) . '/'; $this->_replace['to'][] = $path . HMWP_Classes_Tools::getOption( 'hmwp_plugin_url' ) . '/'; $this->_replace['rewrite'][] = false; } } $this->_replace['from'][] = HMWP_Classes_Tools::getDefault( 'hmwp_plugin_url' ) . '/'; $this->_replace['to'][] = HMWP_Classes_Tools::getOption( 'hmwp_plugin_url' ) . '/'; $this->_replace['rewrite'][] = true; } //Modify themes urls if ( HMWP_Classes_Tools::getOption( 'hmwp_hide_themes' ) ) { $all_themes = HMWP_Classes_Tools::getOption( 'hmwp_themes' ); if ( ! empty( $all_themes['to'] ) ) { foreach ( $all_themes['to'] as $index => $theme_path ) { if ( HMWP_Classes_Tools::isMultisiteWithPath() ) { foreach ( $this->paths as $path ) { $this->_replace['from'][] = $path . HMWP_Classes_Tools::getDefault( 'hmwp_wp-content_url' ) . '/' . HMWP_Classes_Tools::getDefault( 'hmwp_themes_url' ) . '/' . $all_themes['from'][ $index ]; $this->_replace['to'][] = $path . HMWP_Classes_Tools::getOption( 'hmwp_themes_url' ) . '/' . $theme_path . '/'; $this->_replace['rewrite'][] = false; $this->_replace['from'][] = $path . HMWP_Classes_Tools::getDefault( 'hmwp_wp-content_url' ) . '/' . HMWP_Classes_Tools::getDefault( 'hmwp_themes_url' ) . '/' . $all_themes['from'][ $index ] . HMWP_Classes_Tools::getDefault( 'hmwp_themes_style' ); $this->_replace['to'][] = $path . HMWP_Classes_Tools::getOption( 'hmwp_themes_url' ) . '/' . $theme_path . '/' . HMWP_Classes_Tools::getOption( 'hmwp_themes_style' ); $this->_replace['rewrite'][] = false; } } if ( HMWP_Classes_Tools::getDefault( 'hmwp_themes_style' ) <> HMWP_Classes_Tools::getOption( 'hmwp_themes_style' ) ) { $this->_replace['from'][] = HMWP_Classes_Tools::getDefault( 'hmwp_wp-content_url' ) . '/' . HMWP_Classes_Tools::getDefault( 'hmwp_themes_url' ) . '/' . $all_themes['from'][ $index ] . HMWP_Classes_Tools::getDefault( 'hmwp_themes_style' ); $this->_replace['to'][] = HMWP_Classes_Tools::getOption( 'hmwp_themes_url' ) . '/' . $theme_path . '/' . HMWP_Classes_Tools::getOption( 'hmwp_themes_style' ); $this->_replace['rewrite'][] = true; $this->_replace['from'][] = HMWP_Classes_Tools::getOption( 'hmwp_themes_url' ) . '/' . $theme_path . '/' . HMWP_Classes_Tools::getDefault( 'hmwp_themes_style' ); $this->_replace['to'][] = HMWP_Classes_Tools::getOption( 'hmwp_themes_url' ) . '/' . $theme_path . '/' . HMWP_Classes_Tools::getOption( 'hmwp_themes_style' ); $this->_replace['rewrite'][] = false; } $this->_replace['from'][] = HMWP_Classes_Tools::getDefault( 'hmwp_wp-content_url' ) . '/' . HMWP_Classes_Tools::getDefault( 'hmwp_themes_url' ) . '/' . $all_themes['from'][ $index ]; $this->_replace['to'][] = HMWP_Classes_Tools::getOption( 'hmwp_themes_url' ) . '/' . $theme_path . '/'; $this->_replace['rewrite'][] = true; } } } //Modify theme URL if ( HMWP_Classes_Tools::getDefault( 'hmwp_themes_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_themes_url' ) ) { if ( HMWP_Classes_Tools::isMultisiteWithPath() ) { foreach ( $this->paths as $path ) { $this->_replace['from'][] = $path . HMWP_Classes_Tools::getDefault( 'hmwp_wp-content_url' ) . '/' . HMWP_Classes_Tools::getDefault( 'hmwp_themes_url' ) . '/'; $this->_replace['to'][] = $path . HMWP_Classes_Tools::getOption( 'hmwp_themes_url' ) . '/'; $this->_replace['rewrite'][] = false; } } $this->_replace['from'][] = HMWP_Classes_Tools::getDefault( 'hmwp_wp-content_url' ) . '/' . HMWP_Classes_Tools::getDefault( 'hmwp_themes_url' ) . '/'; $this->_replace['to'][] = HMWP_Classes_Tools::getOption( 'hmwp_themes_url' ) . '/'; $this->_replace['rewrite'][] = true; } //Modify uploads if ( ! HMWP_Classes_Tools::isDifferentUploadPath() ) { if ( HMWP_Classes_Tools::getDefault( 'hmwp_upload_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_upload_url' ) ) { if ( HMWP_Classes_Tools::isMultisiteWithPath() ) { foreach ( $this->paths as $path ) { $this->_replace['from'][] = $path . HMWP_Classes_Tools::getDefault( 'hmwp_wp-content_url' ) . '/' . HMWP_Classes_Tools::getDefault( 'hmwp_upload_url' ) . '/'; $this->_replace['to'][] = $path . HMWP_Classes_Tools::getOption( 'hmwp_upload_url' ) . '/'; $this->_replace['rewrite'][] = false; } } $this->_replace['from'][] = HMWP_Classes_Tools::getDefault( 'hmwp_wp-content_url' ) . '/' . HMWP_Classes_Tools::getDefault( 'hmwp_upload_url' ) . '/'; $this->_replace['to'][] = HMWP_Classes_Tools::getOption( 'hmwp_upload_url' ) . '/'; $this->_replace['rewrite'][] = true; } } //Modify hmwp_wp-content_url if ( HMWP_Classes_Tools::getDefault( 'hmwp_wp-content_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_wp-content_url' ) ) { if ( HMWP_Classes_Tools::isMultisiteWithPath() ) { foreach ( $this->paths as $path ) { $this->_replace['from'][] = $path . HMWP_Classes_Tools::getDefault( 'hmwp_wp-content_url' ) . '/'; $this->_replace['to'][] = $path . HMWP_Classes_Tools::getOption( 'hmwp_wp-content_url' ) . '/'; $this->_replace['rewrite'][] = false; } } $this->_replace['from'][] = HMWP_Classes_Tools::getDefault( 'hmwp_wp-content_url' ) . '/'; $this->_replace['to'][] = HMWP_Classes_Tools::getOption( 'hmwp_wp-content_url' ) . '/'; $this->_replace['rewrite'][] = true; } //Modify hmwp_wp-includes_url if ( HMWP_Classes_Tools::getDefault( 'hmwp_wp-includes_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_wp-includes_url' ) ) { if ( HMWP_Classes_Tools::isMultisiteWithPath() ) { foreach ( $this->paths as $path ) { $this->_replace['from'][] = $path . HMWP_Classes_Tools::getDefault( 'hmwp_wp-includes_url' ) . '/'; $this->_replace['to'][] = $path . HMWP_Classes_Tools::getOption( 'hmwp_wp-includes_url' ) . '/'; $this->_replace['rewrite'][] = false; } } $this->_replace['from'][] = HMWP_Classes_Tools::getDefault( 'hmwp_wp-includes_url' ) . '/'; $this->_replace['to'][] = HMWP_Classes_Tools::getOption( 'hmwp_wp-includes_url' ) . '/'; $this->_replace['rewrite'][] = true; } //Modify wp-comments-post if ( HMWP_Classes_Tools::getDefault( 'hmwp_wp-comments-post' ) <> HMWP_Classes_Tools::getOption( 'hmwp_wp-comments-post' ) ) { $this->_replace['from'][] = HMWP_Classes_Tools::getDefault( 'hmwp_wp-comments-post' ); $this->_replace['to'][] = HMWP_Classes_Tools::getOption( 'hmwp_wp-comments-post' ) . '/'; $this->_replace['rewrite'][] = true; } //Modify the author link if ( HMWP_Classes_Tools::getDefault( 'hmwp_author_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_author_url' ) ) { $this->_replace['from'][] = HMWP_Classes_Tools::getDefault( 'hmwp_author_url' ) . '/'; $this->_replace['to'][] = HMWP_Classes_Tools::getOption( 'hmwp_author_url' ) . '/'; $this->_replace['rewrite'][] = true; } if ( HMWP_Classes_Tools::getDefault( 'hmwp_wp-json' ) <> HMWP_Classes_Tools::getOption( 'hmwp_wp-json' ) ) { $this->_replace['from'][] = HMWP_Classes_Tools::getDefault( 'hmwp_wp-json' ) . '/'; $this->_replace['to'][] = HMWP_Classes_Tools::getOption( 'hmwp_wp-json' ) . '/'; $this->_replace['rewrite'][] = true; } } return $this; } /** * Rename all the plugin names with a hash */ public function hidePluginNames() { $dbplugins = array(); try { $all_plugins = HMWP_Classes_Tools::getAllPlugins(); foreach ( $all_plugins as $plugin ) { //If it's set to use custom plugins names mapping if ( HMWP_Classes_Tools::getOption( 'hmwp_hide_plugins_advanced' ) ) { //Check if the plugin is customized $plugins = (array) HMWP_Classes_Tools::getOption( 'hmw_plugins_mapping' ); if ( in_array( $plugin, array_keys( $plugins ), true ) ) { if ( $plugin <> $plugins[ $plugin ] ) { //change with the custom plugin names $dbplugins['to'][] = preg_replace( '/[^A-Za-z0-9-_]/', '', $plugins[ $plugin ] ); $dbplugins['from'][] = str_replace( ' ', '+', plugin_dir_path( $plugin ) ); } //go to the next plugin continue; } } $dbplugins['to'][] = substr( md5( $plugin ), 0, 10 ); $dbplugins['from'][] = str_replace( ' ', '+', plugin_dir_path( $plugin ) ); } } catch ( Exception $e ) { } HMWP_Classes_Tools::saveOptions( 'hmwp_plugins', $dbplugins ); } /** * Rename all the themes name with a hash */ public function hideThemeNames() { $dbthemes = array(); //Initialize WordPress Filesystem $wp_filesystem = HMWP_Classes_ObjController::initFilesystem(); if ( ! HMWP_Classes_Tools::isMultisites() ) { $theme = wp_get_theme(); if ( $theme->exists() && $theme->get_stylesheet() <> '' ) { $all_themes[ sanitize_text_field( $theme->get_stylesheet() ) ] = array( 'name' => $theme->get( 'Name' ), 'theme_root' => $theme->get_theme_root() ); } } else { $all_themes = HMWP_Classes_Tools::getAllThemes(); } foreach ( $all_themes as $theme => $value ) { if ( $wp_filesystem->is_dir( $value['theme_root'] ) ) { //If it's set to use custom themes names mapping if ( HMWP_Classes_Tools::getOption( 'hmwp_hide_themes_advanced' ) ) { //Check if the theme is customized $themes = (array) HMWP_Classes_Tools::getOption( 'hmw_themes_mapping' ); if ( in_array( $theme, array_keys( $themes ), true ) ) { if ( $theme <> $themes[ $theme ] ) { //change with the custom theme names $dbthemes['to'][] = $themes[ $theme ]; $dbthemes['from'][] = str_replace( ' ', '+', $theme ) . '/'; } //go to the next plugin continue; } } $dbthemes['to'][] = substr( md5( $theme ), 0, 10 ); $dbthemes['from'][] = str_replace( ' ', '+', $theme ) . '/'; } } HMWP_Classes_Tools::saveOptions( 'hmwp_themes', $dbthemes ); } /** * ADMIN_PATH is the new path and set in /config.php * * @return $this * @throws Exception */ public function setRewriteRules() { $this->_rewrites = array(); $this->_umrewrites = array(); include_once ABSPATH . 'wp-admin/includes/misc.php'; include_once ABSPATH . 'wp-admin/includes/file.php'; $home_root = HMWP_Classes_Tools::getHomeRootPath(); //Build the redirects $this->buildRedirect(); if ( ! empty( $this->_replace ) ) { //form the IIS rewrite call getIISRules if ( HMWP_Classes_Tools::isIIS() ) { add_filter( 'hmwp_iis_hide_files_rules', array( HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rules' ), 'getInjectionRewrite' ) ); //HIDE OLD PATHS RULES //If hmwp_hide_oldpaths do also the htaccess rewrite if ( HMWP_Classes_Tools::getOption( 'hmwp_hide_oldpaths' ) || HMWP_Classes_Tools::getOption( 'hmwp_hide_commonfiles' ) ) { add_filter( 'hmwp_iis_hide_paths_rules', array( HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rules' ), 'getHideOldPathRewrite' ), 9 ); } add_filter( 'iis7_url_rewrite_rules', array( $this, 'getIISRules' ) ); } else { //URL Mapping $hmwp_url_mapping = json_decode( HMWP_Classes_Tools::getOption( 'hmwp_url_mapping' ), true ); if ( isset( $hmwp_url_mapping['from'] ) && ! empty( $hmwp_url_mapping['from'] ) ) { foreach ( $hmwp_url_mapping['from'] as $index => $row ) { if ( substr( $hmwp_url_mapping['from'][ $index ], - 1 ) == '/' ) { $this->_umrewrites[] = array( 'from' => '([_0-9a-zA-Z-]+/)?' . str_replace( home_url() . '/', '', ltrim( $hmwp_url_mapping['to'][ $index ], '/' ) ) . '(.*)', 'to' => $home_root . str_replace( home_url() . '/', '', ltrim( $hmwp_url_mapping['from'][ $index ], '/' ) ) . "$" . ( substr_count( $hmwp_url_mapping['from'][ $index ], '(' ) + 2 ), ); } else { $this->_umrewrites[] = array( 'from' => '([_0-9a-zA-Z-]+/)?' . str_replace( home_url() . '/', '', ltrim( $hmwp_url_mapping['to'][ $index ], '/' ) ) . '$', 'to' => $home_root . str_replace( home_url() . '/', '', ltrim( $hmwp_url_mapping['from'][ $index ], '/' ) ), ); } } } if ( HMW_RULES_IN_CONFIG ) { //if set to add the HMW rules into config file foreach ( $this->_replace['to'] as $key => $row ) { if ( $this->_replace['rewrite'][ $key ] ) { if ( HMWP_Classes_Tools::isDifferentWPContentPath() && strpos( $this->_replace['from'][ $key ], HMWP_Classes_Tools::getDefault( 'hmwp_wp-content_url' ) ) !== false ) { $this->_rewrites[] = array( 'from' => '([_0-9a-zA-Z-]+/)?' . $this->_replace['to'][ $key ] . ( substr( $this->_replace['to'][ $key ], - 1 ) == '/' ? "(.*)" : "$" ), 'to' => '/' . $this->_replace['from'][ $key ] . ( substr( $this->_replace['to'][ $key ], - 1 ) == '/' ? "$" . ( substr_count( $this->_replace['to'][ $key ], '(' ) + 2 ) : "" ), ); } else { $this->_rewrites[] = array( 'from' => '([_0-9a-zA-Z-]+/)?' . $this->_replace['to'][ $key ] . ( substr( $this->_replace['to'][ $key ], - 1 ) == '/' ? "(.*)" : "$" ), 'to' => $home_root . $this->_replace['from'][ $key ] . ( substr( $this->_replace['to'][ $key ], - 1 ) == '/' ? "$" . ( substr_count( $this->_replace['to'][ $key ], '(' ) + 2 ) : "" ), ); } } } } if ( HMWP_Classes_Tools::getOption( 'hmwp_rewrites_in_wp_rules' ) ) {//if set to add the HMW rules into WP rules area foreach ( $this->_rewrites as $rewrite ) { if ( substr( $rewrite['to'], 0, strlen( $home_root ) ) === $home_root ) { $rewrite['to'] = substr( $rewrite['to'], strlen( $home_root ) ); } add_rewrite_rule( $rewrite['from'], $rewrite['to'], 'top' ); } } } } //Hook the rewrites rules $this->_umrewrites = apply_filters( 'hmwp_umrewrites', $this->_umrewrites ); $this->_rewrites = apply_filters( 'hmwp_rewrites', $this->_rewrites ); return $this; } /******** * * IIS **********/ /** * @param string $wrules * * @return string */ public function getIISRules( $wrules ) { $rules = ''; $rewrites = array(); $rules .= apply_filters( 'hmwp_iis_hide_paths_rules', false ); $rules .= apply_filters( 'hmwp_iis_hide_files_rules', false ); //////////////IIS URL MAPPING $hmwp_url_mapping = json_decode( HMWP_Classes_Tools::getOption( 'hmwp_url_mapping' ), true ); if ( isset( $hmwp_url_mapping['from'] ) && ! empty( $hmwp_url_mapping['from'] ) ) { foreach ( $hmwp_url_mapping['from'] as $index => $row ) { if ( substr( $hmwp_url_mapping['from'][ $index ], - 1 ) == '/' ) { $rewrites[] = array( 'from' => '([_0-9a-zA-Z-]+/)?' . str_replace( array( home_url() . '/' ), '', $hmwp_url_mapping['to'][ $index ] ) . '(.*)', 'to' => str_replace( array( home_url() . '/' ), '', $hmwp_url_mapping['from'][ $index ] ) . "{R:" . ( substr_count( $hmwp_url_mapping['from'][ $index ], '(' ) + 2 ) . '}', ); } else { $rewrites[] = array( 'from' => '([_0-9a-zA-Z-]+/)?' . str_replace( array( home_url() . '/' ), '', $hmwp_url_mapping['to'][ $index ] ) . '$', 'to' => str_replace( array( home_url() . '/' ), '', $hmwp_url_mapping['from'][ $index ] ), ); } } } if ( ! empty( $rewrites ) ) { foreach ( $rewrites as $rewrite ) { if ( strpos( $rewrite['to'], 'index.php' ) === false ) { $rules .= ' '; } } } ////////////////// IIS PATH CHANGING RULES $rewrites = array(); if ( ! empty( $this->_replace ) ) { foreach ( $this->_replace['to'] as $key => $row ) { if ( $this->_replace['rewrite'][ $key ] ) { $rewrites[] = array( 'from' => '([_0-9a-zA-Z-]+/)?' . $this->_replace['to'][ $key ] . ( substr( $this->_replace['to'][ $key ], - 1 ) == '/' ? "(.*)" : "$" ), 'to' => $this->_replace['from'][ $key ] . ( substr( $this->_replace['to'][ $key ], - 1 ) == '/' ? "{R:" . ( substr_count( $this->_replace['to'][ $key ], '(' ) + 2 ) . '}' : '' ), ); } } } if ( ! empty( $rewrites ) ) { foreach ( $rewrites as $rewrite ) { if ( strpos( $rewrite['to'], 'index.php' ) === false ) { $rules .= ' '; } } } return $rules . $wrules; } /** * Get Lavarage Cache for IIS * * @return string */ public function getIISCacheRules() { return ' '; } /** * @param $config_file * * @throws Exception */ public function deleteIISRules( $config_file ) { //Initialize WordPress Filesystem $wp_filesystem = HMWP_Classes_ObjController::initFilesystem(); // If configuration file does not exist then rules also do not exist so there is nothing to delete if ( ! $wp_filesystem->exists( $config_file ) ) { return; } if ( $wp_filesystem->get_contents( $config_file ) == '' ) { return; } if ( ! class_exists( 'DOMDocument', false ) ) { return; } if ( ! HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rules' )->isConfigWritable() ) { return; } $doc = new DOMDocument(); $doc->preserveWhiteSpace = false; if ( $doc->load( $config_file ) === false ) { return; } $xpath = new DOMXPath( $doc ); $rules = $xpath->query( '/configuration/system.webServer/rewrite/rules/rule[starts-with(@name,\'WpGhost\')]' ); if ( $rules->length > 0 ) { foreach ( $rules as $item ) { $parent = $item->parentNode; if ( method_exists( $parent, 'removeChild' ) ) { $parent->removeChild( $item ); } } } if ( ! HMWP_Classes_Tools::isMultisites() ) { $rules = $xpath->query( '/configuration/system.webServer/rewrite/rules/rule[starts-with(@name,\'wordpress\')] | /configuration/system.webServer/rewrite/rules/rule[starts-with(@name,\'WordPress\')]' ); if ( $rules->length > 0 ) { foreach ( $rules as $item ) { $parent = $item->parentNode; if ( method_exists( $parent, 'removeChild' ) ) { $parent->removeChild( $item ); } } } } $doc->formatOutput = true; saveDomDocument( $doc, $config_file ); } /***************************/ /** * Flush the Rules and write in htaccess or web.config * * @return bool * @throws Exception */ public function flushRewrites() { $rewritecode = ''; $home_root = HMWP_Classes_Tools::getHomeRootPath(); $config_file = HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rules' )->getConfFile(); $form = '' . esc_html__( "Okay, I set it up", 'hide-my-wp' ) . ''; //If Windows Server if ( HMWP_Classes_Tools::isIIS() ) { $this->deleteIISRules( $config_file ); if ( ! iis7_save_url_rewrite_rules() ) { $rewritecode .= $this->getIISRules( '' ); if ( $rewritecode <> '' ) { HMWP_Classes_Error::setNotification( sprintf( esc_html__( 'IIS detected. You need to update your %s file by adding the following lines after <rules> tag: %s', 'hide-my-wp' ), '' . $config_file . '', '

' . htmlentities( str_replace( '    ', ' ', $rewritecode ) ) . '
' . $form ), 'notice', false ); return false; //Always show IIS as manuall action } } } elseif ( HMWP_Classes_Tools::isWpengine() ) { $success = true; //if there are no rewrites, return true if ( ! empty( $this->_rewrites ) ) { if ( HMWP_Classes_Tools::getOption( 'hmwp_mapping_text_show' ) && HMWP_Classes_Tools::getOption( 'hmwp_mapping_file' ) ) { $rewritecode .= "" . PHP_EOL; $rewritecode .= "RewriteEngine On" . PHP_EOL; $rewritecode .= "RewriteCond %{HTTP:Cookie} !(wordpress_logged_in_|" . HMWP_LOGGED_IN_COOKIE . ") [NC]" . PHP_EOL; $rewritecode .= "RewriteCond %{REQUEST_URI} ^" . $home_root . HMWP_Classes_Tools::getOption( 'hmwp_wp-content_url' ) . "/[^\.]+\.[^\.]+ [NC,OR]" . PHP_EOL; $rewritecode .= "RewriteCond %{REQUEST_URI} ^" . $home_root . HMWP_Classes_Tools::getOption( 'hmwp_wp-includes_url' ) . "/[^\.]+\.[^\.]+ [NC,OR]" . PHP_EOL; $rewritecode .= "RewriteCond %{REQUEST_URI} ^" . $home_root . HMWP_Classes_Tools::getOption( 'hmwp_upload_url' ) . "/[^\.]+\.[^\.]+ [NC]" . PHP_EOL; $rewritecode .= "RewriteRule ^([_0-9a-zA-Z-]+/)?(.*)\.(js|css|scss)$ " . $home_root . "$1$2.$3h" . " [QSA,L]" . PHP_EOL; $rewritecode .= "" . PHP_EOL; } $rewritecode .= "" . PHP_EOL; $rewritecode .= "RewriteEngine On" . PHP_EOL; //Add the URL Mapping rules if ( ! empty( $this->_umrewrites ) ) { foreach ( $this->_umrewrites as $rewrite ) { $rewritecode .= 'RewriteRule ^' . $rewrite['from'] . ' ' . $rewrite['to'] . " [QSA,L]" . PHP_EOL; } } //Add the New Paths rules foreach ( $this->_rewrites as $rewrite ) { if ( strpos( $rewrite['to'], 'index.php' ) === false ) { $rewritecode .= 'RewriteRule ^' . $rewrite['from'] . ' ' . $rewrite['to'] . " [QSA,L]" . PHP_EOL; } } $rewritecode .= "" . PHP_EOL; } if ( $rewritecode <> '' ) { if ( ! HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rules' )->writeInHtaccess( $rewritecode, 'HMWP_RULES' ) ) { HMWP_Classes_Error::setNotification( sprintf( esc_html__( 'Config file is not writable. Create the file if not exists or copy to %s file the following lines: %s', 'hide-my-wp' ), '' . $config_file . '', '

# BEGIN HMWP_RULES
' . htmlentities( str_replace( ' ', ' ', $rewritecode ) ) . '# END HMWP_RULES
' . $form ), 'notice', false ); $success = false; } } else { HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rules' )->writeInHtaccess( '', 'HMWP_RULES' ); } $rewritecode = ''; //Add the URL Mapping rules if ( ! empty( $this->_umrewrites ) ) { foreach ( $this->_umrewrites as $rewrite ) { $rewritecode .= 'Source: ^' . str_replace( array( '.css', '.js' ), array( '\.css', '\.js' ), $rewrite['from'] ) . ' Destination: ' . $rewrite['to'] . " Rewrite type: 301 Permanent;
"; } } //Add the New Paths rules if ( ! empty( $this->_rewrites ) ) { foreach ( $this->_rewrites as $rewrite ) { if ( strpos( $rewrite['to'], 'wp-login.php' ) === false ) { $rewritecode .= 'Source: ^/' . str_replace( array( '.css', '.js' ), array( '\.css', '\.js' ), $rewrite['from'] ) . ' Destination: ' . $rewrite['to'] . " Rewrite type: Break;
"; } } } if ( $rewritecode <> '' ) { HMWP_Classes_Error::setNotification( sprintf( esc_html__( 'WpEngine detected. Add the redirects in the WpEngine Redirect rules panel %s.', 'hide-my-wp' ), '' . esc_html__( "Learn How To Add the Code", 'hide-my-wp' ) . '

' . $rewritecode . '
' . $form ), 'notice', false ); $success = false; //always show the WPEngine Rules as manually action } return $success; } elseif ( HMWP_Classes_Tools::isFlywheel() ) { $success = true; //Add the URL Mapping rules if ( ! empty( $this->_umrewrites ) ) { foreach ( $this->_umrewrites as $rewrite ) { $rewritecode .= 'Source: ^' . str_replace( array( '.css', '.js' ), array( '\.css', '\.js' ), $rewrite['from'] ) . ' Destination: ' . $rewrite['to'] . " Rewrite type: 301 Permanent;
"; } } //Add the New Paths rules if ( ! empty( $this->_rewrites ) ) { foreach ( $this->_rewrites as $rewrite ) { if ( strpos( $rewrite['to'], 'wp-login.php' ) === false ) { $rewritecode .= 'Source: ^/' . str_replace( array( '.css', '.js' ), array( '\.css', '\.js' ), $rewrite['from'] ) . ' Destination: ' . $rewrite['to'] . " Rewrite type: Break;
"; } } } if ( $rewritecode <> '' ) { HMWP_Classes_Error::setNotification( sprintf( esc_html__( 'Flywheel detected. Add the redirects in the Flywheel Redirect rules panel %s.', 'hide-my-wp' ), '' . esc_html__( "Learn How To Add the Code", 'hide-my-wp' ) . '

' . $rewritecode . '
' . $form ), 'notice', false ); $success = false; //always show the Flywheel Rules as manually action } return $success; } elseif ( ( HMWP_Classes_Tools::isApache() || HMWP_Classes_Tools::isLitespeed() ) ) { //if there are no rewrites, return true if ( ! empty( $this->_rewrites ) ) { if ( HMWP_Classes_Tools::getOption( 'hmwp_mapping_text_show' ) && HMWP_Classes_Tools::getOption( 'hmwp_mapping_file' ) ) { $rewritecode .= "" . PHP_EOL; $rewritecode .= "RewriteEngine On" . PHP_EOL; $rewritecode .= "RewriteCond %{HTTP:Cookie} !(wordpress_logged_in_|" . HMWP_LOGGED_IN_COOKIE . ") [NC]" . PHP_EOL; $rewritecode .= "RewriteCond %{REQUEST_URI} ^" . $home_root . HMWP_Classes_Tools::getOption( 'hmwp_wp-content_url' ) . "/[^\.]+\.[^\.]+ [NC,OR]" . PHP_EOL; $rewritecode .= "RewriteCond %{REQUEST_URI} ^" . $home_root . HMWP_Classes_Tools::getOption( 'hmwp_wp-includes_url' ) . "/[^\.]+\.[^\.]+ [NC,OR]" . PHP_EOL; $rewritecode .= "RewriteCond %{REQUEST_URI} ^" . $home_root . HMWP_Classes_Tools::getOption( 'hmwp_upload_url' ) . "/[^\.]+\.[^\.]+ [NC]" . PHP_EOL; $rewritecode .= "RewriteRule ^([_0-9a-zA-Z-]+/)?(.*)\.(js|css|scss)$ " . $home_root . "$1$2.$3h" . " [QSA,L]" . PHP_EOL; $rewritecode .= "" . PHP_EOL; } if ( HMWP_Classes_Tools::getOption( 'hmwp_file_cache' ) ) { $rewritecode .= '' . PHP_EOL; $rewritecode .= 'ExpiresActive On' . PHP_EOL; $rewritecode .= 'ExpiresDefault "access plus 1 month"' . PHP_EOL; $rewritecode .= '# Feed' . PHP_EOL; $rewritecode .= 'ExpiresByType application/rss+xml "access plus 1 hour"' . PHP_EOL; $rewritecode .= 'ExpiresByType application/atom+xml "access plus 1 hour"' . PHP_EOL; $rewritecode .= '# CSS, JavaScript' . PHP_EOL; $rewritecode .= 'ExpiresByType text/css "access plus 1 year"' . PHP_EOL; $rewritecode .= 'ExpiresByType text/javascript "access plus 1 year"' . PHP_EOL; $rewritecode .= 'ExpiresByType application/javascript "access plus 1 year"' . PHP_EOL . PHP_EOL; $rewritecode .= '# Webfonts' . PHP_EOL; $rewritecode .= 'ExpiresByType font/ttf "access plus 1 year"' . PHP_EOL; $rewritecode .= 'ExpiresByType font/otf "access plus 1 year"' . PHP_EOL; $rewritecode .= 'ExpiresByType font/woff "access plus 1 year"' . PHP_EOL; $rewritecode .= 'ExpiresByType font/woff2 "access plus 1 year"' . PHP_EOL; $rewritecode .= 'ExpiresByType application/vnd.ms-fontobject "access plus 1 year"' . PHP_EOL . PHP_EOL; $rewritecode .= '# Images' . PHP_EOL; $rewritecode .= 'ExpiresByType image/jpeg "access plus 1 year"' . PHP_EOL; $rewritecode .= 'ExpiresByType image/gif "access plus 1 year"' . PHP_EOL; $rewritecode .= 'ExpiresByType image/png "access plus 1 year"' . PHP_EOL; $rewritecode .= 'ExpiresByType image/webp "access plus 1 year"' . PHP_EOL; $rewritecode .= 'ExpiresByType image/svg+xml "access plus 1 year"' . PHP_EOL; $rewritecode .= 'ExpiresByType image/x-icon "access plus 1 year"' . PHP_EOL . PHP_EOL; $rewritecode .= '# Video' . PHP_EOL; $rewritecode .= 'ExpiresByType video/mp4 "access plus 1 year"' . PHP_EOL; $rewritecode .= 'ExpiresByType video/mpeg "access plus 1 year"' . PHP_EOL; $rewritecode .= 'ExpiresByType video/webm "access plus 1 year"' . PHP_EOL; $rewritecode .= "" . PHP_EOL; } $rewritecode .= "" . PHP_EOL; $rewritecode .= "RewriteEngine On" . PHP_EOL; //Add the URL Mapping rules if ( ! empty( $this->_umrewrites ) ) { foreach ( $this->_umrewrites as $rewrite ) { $rewritecode .= 'RewriteRule ^' . $rewrite['from'] . ' ' . $rewrite['to'] . " [QSA,L]" . PHP_EOL; } } //Add the New Paths rules foreach ( $this->_rewrites as $rewrite ) { if ( strpos( $rewrite['to'], 'index.php' ) === false ) { $rewritecode .= 'RewriteRule ^' . $rewrite['from'] . ' ' . $rewrite['to'] . " [QSA,L]" . PHP_EOL; } } $rewritecode .= "" . PHP_EOL ; } if ( $rewritecode <> '' ) { if ( ! HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rules' )->writeInHtaccess( $rewritecode, 'HMWP_RULES' ) ) { HMWP_Classes_Error::setNotification( sprintf( esc_html__( 'Config file is not writable. Create the file if not exists or copy to %s file the following lines: %s', 'hide-my-wp' ), '' . $config_file . '', '

# BEGIN HMWP_RULES
' . htmlentities( str_replace( ' ', ' ', $rewritecode ) ) . '# END HMWP_RULES
' . $form ), 'notice', false ); return false; } } else { HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rules' )->writeInHtaccess( '', 'HMWP_RULES' ); } } elseif ( HMWP_Classes_Tools::isNginx() ) { $cachecode = ''; //if there are no rewrites, return true if ( ! empty( $this->_rewrites ) ) { if ( HMWP_Classes_Tools::getOption( 'hmwp_mapping_text_show' ) && HMWP_Classes_Tools::getOption( 'hmwp_mapping_file' ) ) { $cachecode .= 'set $cond "";' . PHP_EOL; $cachecode .= 'if ($http_cookie !~* "wordpress_logged_in_|' . HMWP_LOGGED_IN_COOKIE . '" ) { set $cond cookie; }' . PHP_EOL; $cachecode .= 'if ($request_uri ~* ^' . $home_root . HMWP_Classes_Tools::getOption( 'hmwp_wp-content_url' ) . '/[^\.]+\.[^\.]+) { set $cond "${cond}+redirect_uri"; }' . PHP_EOL; $cachecode .= 'if ($request_uri ~* ^' . $home_root . HMWP_Classes_Tools::getOption( 'hmwp_wp-includes_url' ) . '/[^\.]+\.[^\.]+) { set $cond "${cond}+redirect_uri"; }' . PHP_EOL; $cachecode .= 'if ($request_uri ~* ^' . $home_root . HMWP_Classes_Tools::getOption( 'hmwp_upload_url' ) . '/[^\.]+\.[^\.]+) { set $cond "${cond}+redirect_uri"; }' . PHP_EOL; $cachecode .= 'if ($cond = "cookie+redirect_uri") { rewrite ^/([_0-9a-zA-Z-]+/)?(.*)\.(js|css|scss)$ /$1$2.$3h last; } ' . PHP_EOL . PHP_EOL; } if ( HMWP_Classes_Tools::getOption( 'hmwp_file_cache' ) ) { $cachecode .= 'location ~* \.(?:ico|css|js|gif|jpe?g|png)$ {' . PHP_EOL; $cachecode .= 'expires 365d;' . PHP_EOL; $cachecode .= 'add_header Pragma public;' . PHP_EOL; $cachecode .= 'add_header Cache-Control "public";' . PHP_EOL; $cachecode .= '}' . PHP_EOL . PHP_EOL; } //Add the URL Mapping rules if ( ! empty( $this->_umrewrites ) ) { foreach ( $this->_umrewrites as $rewrite ) { $rewritecode .= 'rewrite ^/' . $rewrite['from'] . ' ' . $rewrite['to'] . ";
"; } } //Add the New Paths rules foreach ( $this->_rewrites as $rewrite ) { //most servers have issue when redirecting the login path //let HMWP handle the login path if ( strpos( $rewrite['to'], 'wp-login.php' ) !== false ) { if ( ! defined( 'HMW_LOGIN_REWRITE_RULES' ) || ! HMW_LOGIN_REWRITE_RULES ) { continue; } } if ( strpos( $rewrite['to'], 'index.php' ) === false ) { if ( strpos( $rewrite['from'], '$' ) ) { $rewritecode .= 'rewrite ^/' . $rewrite['from'] . ' ' . $rewrite['to'] . ";
"; } else { $rewritecode .= 'rewrite ^/' . $rewrite['from'] . ' ' . $rewrite['to'] . " last;
"; } } } } if ( $rewritecode <> '' ) { $rewritecode = str_replace( '
', "\n", $rewritecode ); $rewritecode = $cachecode . 'if (!-e $request_filename) {' . PHP_EOL . $rewritecode . '}'; if ( ! HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rules' )->writeInNginx( $rewritecode, 'HMWP_RULES' ) ) { HMWP_Classes_Error::setNotification( sprintf( esc_html__( 'Config file is not writable. You have to added it manually at the beginning of the %s file: %s', 'hide-my-wp' ), '' . $config_file . '', '

# BEGIN HMWP_RULES
' . htmlentities( str_replace( ' ', ' ', $rewritecode ) ) . '# END HMWP_RULES
' ), 'notice', false ); return false; } } else { HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rules' )->writeInNginx( '', 'HMWP_RULES' ); } } return true; } /** * Not used yet * * @param $wp_rewrite * * @return mixed */ public function setRewriteIndexRules( $wp_rewrite ) { return $wp_rewrite; } /** * Flush the changes in htaccess * * @throws Exception */ public function flushChanges() { if ( ! did_action( 'wp_loaded' ) ) { add_action( 'wp_loaded', array( $this, 'flushChanges' ) ); } //Build the redirect table $this->clearRedirect()->setRewriteRules()->flushRewrites(); //Change the rest api for the rewrite process add_filter( 'rest_url_prefix', array( $this, 'replace_rest_api' ) ); //update the API URL rest_api_register_rewrites(); //Flush the rules in WordPress flush_rewrite_rules(); //Hook the flush process for compatibillity usage do_action( 'hmwp_flushed_rewrites', false ); } /** * Send the email notification */ public function sendEmail() { if ( HMWP_Classes_Tools::getOption( 'hmwp_send_email' ) ) { $options = HMWP_Classes_Tools::getOptions(); $lastsafeoptions = HMWP_Classes_Tools::getOptions( true ); if ( $lastsafeoptions['hmwp_admin_url'] <> $options['hmwp_admin_url'] || $lastsafeoptions['hmwp_login_url'] <> $options['hmwp_login_url'] ) { HMWP_Classes_Tools::sendEmail(); } } } /** * Add the custom param vars for: disable HMWP and admin tabs * * @param $vars * * @return array */ public function addParams( $vars ) { $vars[] = HMWP_Classes_Tools::getOption( 'hmwp_disable_name' ); return $vars; } /******************************* * * RENAME URLS **************************************************/ /** * Filters the home URL. * * @param string $url The complete site URL including scheme and path. * @param string $path Path relative to the site URL. Blank string if no path is specified. * @param string|null $scheme Scheme to give the site URL context. Accepts 'http', 'https', 'login', * 'login_post', 'admin', 'relative' or null. * @param int|null $blog_id Site ID, or null for the current site. */ public function home_url( $url, $path = '', $scheme = null ) { if ( ! apply_filters( 'hmwp_change_home_url', true ) ) { return $url; } if ( ! isset( $scheme ) ) { $scheme = ( ( ( isset( $_SERVER['HTTPS'] ) && $_SERVER['HTTPS'] == "on" ) || ( defined( 'FORCE_SSL_ADMIN' ) && FORCE_SSL_ADMIN ) || ( function_exists( 'is_ssl' ) && is_ssl() ) ) ? 'https' : 'http' ); $url = set_url_scheme( $url, $scheme ); } // Get the path from the URL $path = wp_parse_url( $url, PHP_URL_PATH); //get query $query = wp_parse_url( $url, PHP_URL_QUERY ); if ( $query <> '' ) { $query = '?' . $query; } if ( HMWP_Classes_Tools::getDefault( 'hmwp_login_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_login_url' ) ) { if ( in_array( $path, array( 'login', 'wp-login', 'wp-login.php' ) ) ) { //check if disable and do not redirect to log in if ( HMWP_Classes_Tools::getIsset( HMWP_Classes_Tools::getOption( 'hmwp_disable_name' ) ) ) { if ( HMWP_Classes_Tools::getValue( HMWP_Classes_Tools::getOption( 'hmwp_disable_name' ) ) == HMWP_Classes_Tools::getOption( 'hmwp_disable' ) ) { //add the disabled param in order to work without issues return add_query_arg( array( HMWP_Classes_Tools::getOption( 'hmwp_disable_name' ) => HMWP_Classes_Tools::getOption( 'hmwp_disable' ) ), $url ); } } if ( $query == '?action=lostpassword' && HMWP_Classes_Tools::getOption( 'hmwp_lostpassword_url' ) <> '' ) { $url = home_url( HMWP_Classes_Tools::getOption( 'hmwp_lostpassword_url' ), $scheme ); } elseif ( $query == '?action=register' && HMWP_Classes_Tools::getOption( 'hmwp_register_url' ) <> '' ) { $url = home_url( HMWP_Classes_Tools::getOption( 'hmwp_register_url' ), $scheme ); } else { $url = home_url( '', $scheme ); if ( function_exists( 'mb_stripos' ) ) { if ( mb_stripos( $url, '?' ) !== false ) { $url = substr( $url, 0, mb_stripos( $url, '?' ) ); } } elseif ( stripos( $url, '?' ) !== false ) { $url = substr( $url, 0, stripos( $url, '?' ) ); } $url .= '/' . HMWP_Classes_Tools::getOption( 'hmwp_login_url' ) . $query; if ( HMWP_Classes_Tools::getValue( 'nordt' ) ) { $url = add_query_arg( array( 'nordt' => true ), $url ); } } } } if ( HMWP_Classes_Tools::getDefault( 'hmwp_activate_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_activate_url' ) ) { if ( in_array( $path, array( 'wp-activate.php' ) ) ) { $url = site_url( '', $scheme ) . '/' . HMWP_Classes_Tools::getOption( 'hmwp_activate_url' ) . $query; } } return $url; } /** * Filters the site URL. * * @param string $url The complete site URL including scheme and path. * @param string $path Path relative to the site URL. Blank string if no path is specified. * @param string|null $scheme Scheme to give the site URL context. Accepts 'http', 'https', 'login', * 'login_post', 'admin', 'relative' or null. * @param int|null $blog_id Site ID, or null for the current site. */ public function site_url( $url, $path = '', $scheme = null ) { if ( ! apply_filters( 'hmwp_change_site_url', true ) ) { return $url; } if ( ! isset( $scheme ) ) { $scheme = ( ( ( isset( $_SERVER['HTTPS'] ) && $_SERVER['HTTPS'] == "on" ) || ( defined( 'FORCE_SSL_ADMIN' ) && FORCE_SSL_ADMIN ) || ( function_exists( 'is_ssl' ) && is_ssl() ) ) ? 'https' : 'http' ); $url = set_url_scheme( $url, $scheme ); } // Get the path from the URL $path = wp_parse_url( $url, PHP_URL_PATH); //get query $query = wp_parse_url( $url, PHP_URL_QUERY ); if ( $query <> '' ) { $query = '?' . $query; } if ( HMWP_Classes_Tools::getDefault( 'hmwp_login_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_login_url' ) ) { if ( in_array( $path, array( 'login', 'wp-login', 'wp-login.php' ) ) ) { //check if disable and do not redirect to log in if ( HMWP_Classes_Tools::getIsset( HMWP_Classes_Tools::getOption( 'hmwp_disable_name' ) ) ) { if ( HMWP_Classes_Tools::getValue( HMWP_Classes_Tools::getOption( 'hmwp_disable_name' ) ) == HMWP_Classes_Tools::getOption( 'hmwp_disable' ) ) { //add the disabled param in order to work without issues return add_query_arg( array( HMWP_Classes_Tools::getOption( 'hmwp_disable_name' ) => HMWP_Classes_Tools::getOption( 'hmwp_disable' ) ), $url ); } } if ( $query == '?action=lostpassword' && HMWP_Classes_Tools::getOption( 'hmwp_lostpassword_url' ) <> '' ) { $url = site_url( HMWP_Classes_Tools::getOption( 'hmwp_lostpassword_url' ), $scheme ); } elseif ( $query == '?action=register' && HMWP_Classes_Tools::getOption( 'hmwp_register_url' ) <> '' ) { $url = site_url( HMWP_Classes_Tools::getOption( 'hmwp_register_url' ), $scheme ); } else { $url = site_url( '', $scheme ); if ( function_exists( 'mb_stripos' ) ) { if ( mb_stripos( $url, '?' ) !== false ) { $url = substr( $url, 0, mb_stripos( $url, '?' ) ); } } elseif ( stripos( $url, '?' ) !== false ) { $url = substr( $url, 0, stripos( $url, '?' ) ); } $url .= '/' . HMWP_Classes_Tools::getOption( 'hmwp_login_url' ) . $query; if ( HMWP_Classes_Tools::getValue( 'nordt' ) ) { $url = add_query_arg( array( 'nordt' => true ), $url ); } } } } if ( HMWP_Classes_Tools::getDefault( 'hmwp_activate_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_activate_url' ) ) { if ( in_array( $path, array( 'wp-activate.php' ) ) ) { $url = site_url( '', $scheme ) . '/' . HMWP_Classes_Tools::getOption( 'hmwp_activate_url' ) . $query; } } return $url; } /** * Get the new admin URL * * @param string $url * @param string $path * @param integer | null $blog_id * * @return mixed|string */ public function admin_url( $url, $path = '', $blog_id = null ) { $find = $replace = array(); if ( ! defined( 'ADMIN_COOKIE_PATH' ) ) { return $url; } if ( HMWP_Classes_Tools::doChangePaths() ) { if ( HMWP_Classes_Tools::getDefault( 'hmwp_admin-ajax_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_admin-ajax_url' ) ) { if ( HMWP_Classes_Tools::getOption( 'hmwp_hideajax_admin' ) ) { $find[] = '/' . HMWP_Classes_Tools::getDefault( 'hmwp_admin_url' ) . '/' . HMWP_Classes_Tools::getDefault( 'hmwp_admin-ajax_url' ); } else { $find[] = '/' . HMWP_Classes_Tools::getDefault( 'hmwp_admin-ajax_url' ); } $replace[] = '/' . HMWP_Classes_Tools::getOption( 'hmwp_admin-ajax_url' ); } if ( HMWP_Classes_Tools::getDefault( 'hmwp_admin_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_admin_url' ) ) { $find[] = '/' . HMWP_Classes_Tools::getDefault( 'hmwp_admin_url' ) . '/'; $replace[] = '/' . HMWP_Classes_Tools::getOption( 'hmwp_admin_url' ) . '/'; } } elseif ( strpos( $url, HMWP_Classes_Tools::getDefault( 'hmwp_admin-ajax_url' ) ) === false ) { if ( HMWP_Classes_Tools::getDefault( 'hmwp_admin_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_admin_url' ) ) { $find[] = '/' . HMWP_Classes_Tools::getDefault( 'hmwp_admin_url' ) . '/'; $replace[] = '/' . HMWP_Classes_Tools::getOption( 'hmwp_admin_url' ) . '/'; } } //if there is a custom path for admin or ajax if ( ! empty( $find ) && ! empty( $replace ) ) { return str_replace( $find, $replace, $url ); } //Return the admin URL return $url; } /** * Change the admin URL for multisites * Filters the network admin URL. * * @param string $url The complete network admin URL including scheme and path. * @param string $path Path relative to the network admin URL. Blank string if * no path is specified. * @param string|null $scheme The scheme to use. Accepts 'http', 'https', * 'admin', or null. Default is 'admin', which obeys force_ssl_admin() and is_ssl(). */ public function network_admin_url( $url, $path = '', $scheme = null ) { $find = $replace = array(); if ( ! defined( 'ADMIN_COOKIE_PATH' ) ) { return $url; } if ( HMWP_Classes_Tools::getOption( 'hmwp_admin_url' ) == 'wp-admin' ) { return $url; } if ( HMWP_Classes_Tools::doChangePaths() ) { if ( HMWP_Classes_Tools::getDefault( 'hmwp_admin-ajax_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_admin-ajax_url' ) ) { if ( HMWP_Classes_Tools::getOption( 'hmwp_hideajax_admin' ) ) { $find[] = '/' . HMWP_Classes_Tools::getDefault( 'hmwp_admin_url' ) . '/' . HMWP_Classes_Tools::getDefault( 'hmwp_admin-ajax_url' ); } else { $find[] = '/' . HMWP_Classes_Tools::getDefault( 'hmwp_admin-ajax_url' ); } $replace[] = '/' . HMWP_Classes_Tools::getOption( 'hmwp_admin-ajax_url' ); } if ( HMWP_Classes_Tools::getDefault( 'hmwp_admin_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_admin_url' ) ) { $find[] = network_site_url( HMWP_Classes_Tools::getDefault( 'hmwp_admin_url' ) . '/', HMWP_Classes_Tools::getOption( 'hmwp_admin_url' ) ); $replace[] = network_site_url( '/' . HMWP_Classes_Tools::getOption( 'hmwp_admin_url' ) . '/', HMWP_Classes_Tools::getOption( 'hmwp_admin_url' ) ); } } elseif ( strpos( $url, HMWP_Classes_Tools::getDefault( 'hmwp_admin-ajax_url' ) ) === false ) { if ( HMWP_Classes_Tools::getDefault( 'hmwp_admin_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_admin_url' ) ) { $find[] = network_site_url( HMWP_Classes_Tools::getDefault( 'hmwp_admin_url' ) . '/', HMWP_Classes_Tools::getOption( 'hmwp_admin_url' ) ); $replace[] = network_site_url( '/' . HMWP_Classes_Tools::getOption( 'hmwp_admin_url' ) . '/', HMWP_Classes_Tools::getOption( 'hmwp_admin_url' ) ); } } //if there is a custom path for admin or ajax if ( ! empty( $find ) && ! empty( $replace ) ) { return str_replace( $find, $replace, $url ); } //Return the admin URL return $url; } /** * Change the plugin URL with the new paths * for some plugins * * @param $url * @param $path * @param $plugin * * @return null|string|string[] * @throws Exception */ public function plugin_url( $url, $path, $plugin ) { $plugins = array( 'rocket-lazy-load' ); if ( ! is_admin() ) { if ( $plugin <> '' && $url <> '' && HMWP_Classes_Tools::searchInString( $url, $plugins ) ) { $url = $this->find_replace_url( $url ); } } return $url; } /** * Login/Register title * * @param string $title * * @return string */ public function login_title( $title ) { if ( $title <> '' ) { $title = str_ireplace( array( ' ‹ — WordPress', 'WordPress' ), '', $title ); } return $title; } /** * Login Header Hook * * @throws Exception */ public function login_head() { add_filter( 'login_headerurl', array( $this, 'login_url' ), 99, 1 ); if ( HMWP_Classes_Tools::getOption( 'hmwp_remove_third_hooks' ) ) { if ( function_exists( 'get_theme_mod' ) && function_exists( 'wp_get_attachment_image_src' ) ) { $custom_logo_id = get_theme_mod( 'custom_logo' ); $image = wp_get_attachment_image_src( $custom_logo_id, 'full' ); if ( isset( $image[0] ) ) { echo ''; } } } } /** * Get the new Login URL * * @param $url * * @return string */ public function login_url( $url ) { if ( HMWP_Classes_Tools::getDefault( 'hmwp_login_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_login_url' ) && strpos( $url, HMWP_Classes_Tools::getDefault( 'hmwp_login_url' ) ) !== false ) { //check if disable and do not redirect to log in if ( HMWP_Classes_Tools::getIsset( HMWP_Classes_Tools::getOption( 'hmwp_disable_name' ) ) ) { if ( HMWP_Classes_Tools::getValue( HMWP_Classes_Tools::getOption( 'hmwp_disable_name' ) ) == HMWP_Classes_Tools::getOption( 'hmwp_disable' ) ) { //add the disabled param in order to work without issues return add_query_arg( array( HMWP_Classes_Tools::getOption( 'hmwp_disable_name' ) => HMWP_Classes_Tools::getOption( 'hmwp_disable' ) ), $url ); } } $url = site_url( HMWP_Classes_Tools::getOption( 'hmwp_login_url' ) ); } return $url; } /** * Hook the wp_login action from WordPress * * @param string $user_login * @param WP_User $user */ public function wp_login( $user_login = null, $user = null ) { HMWP_Classes_Tools::setCurrentUserRole( $user ); } /** * Hook the login_init from wp-login.php * * @throws Exception */ public function login_init() { if ( HMWP_Classes_Tools::getOption( 'hmwp_remove_third_hooks' ) ) { //////////////////////////////// Rewrite the login style wp_deregister_script( 'password-strength-meter' ); wp_deregister_script( 'user-profile' ); wp_deregister_style( 'forms' ); wp_deregister_style( 'l10n' ); wp_deregister_style( 'buttons' ); wp_deregister_style( 'login' ); if ( is_rtl() ) { wp_register_style('login', _HMWP_WPLOGIN_URL_.'css/login-rtl.min.css', array( 'dashicons', 'buttons', 'forms', 'l10n' ), HMWP_VERSION_ID, false); wp_register_style('forms', _HMWP_WPLOGIN_URL_.'css/forms-rtl.min.css', null, HMWP_VERSION_ID, false); wp_register_style('buttons', _HMWP_WPLOGIN_URL_.'css/buttons.min.css', null, HMWP_VERSION_ID, false); wp_register_style('l10n', _HMWP_WPLOGIN_URL_.'css/l10n-rtl.min.css', null, HMWP_VERSION_ID, false); }else{ wp_register_style('login', _HMWP_WPLOGIN_URL_.'css/login.min.css', array( 'dashicons', 'buttons', 'forms', 'l10n' ), HMWP_VERSION_ID, false); wp_register_style('forms', _HMWP_WPLOGIN_URL_.'css/forms.min.css', null, HMWP_VERSION_ID, false); wp_register_style('buttons', _HMWP_WPLOGIN_URL_.'css/buttons.min.css', null, HMWP_VERSION_ID, false); wp_register_style('l10n', _HMWP_WPLOGIN_URL_.'css/l10n.min.css', null, HMWP_VERSION_ID, false); } wp_register_script( 'password-strength-meter', _HMWP_WPLOGIN_URL_ . 'js/password-strength-meter.min.js', array( 'jquery', 'zxcvbn-async' ), HMWP_VERSION_ID, true ); wp_register_script( 'user-profile', _HMWP_WPLOGIN_URL_ . 'js/user-profile.min.js', array( 'jquery', 'password-strength-meter', 'wp-util' ), HMWP_VERSION_ID, true ); wp_localize_script( 'password-strength-meter', 'pwsL10n', array( 'unknown' => _x( 'Password strength unknown', 'password strength' ), 'short' => _x( 'Very weak', 'password strength' ), 'bad' => _x( 'Weak', 'password strength' ), 'good' => _x( 'Medium', 'password strength' ), 'strong' => _x( 'Strong', 'password strength' ), 'mismatch' => _x( 'Mismatch', 'password mismatch' ), ) ); $user_id = isset( $_GET['user_id'] ) ? (int) $_GET['user_id'] : 0; wp_localize_script( 'user-profile', 'userProfileL10n', array( 'user_id' => $user_id, 'nonce' => wp_create_nonce( 'reset-password-for-' . $user_id ), ) ); ///////////////////////////////////////////////////////// } // Prevent any infinite loop add_filter( 'wp_redirect', array( $this, 'loopCheck' ), 99, 1 ); // Remove Clasiera theme login loop remove_action( "login_init", "classiera_cubiq_login_init" ); remove_filter( "login_redirect", "loginstyle_login_redirect" ); //If Clean Login option is active or too many redirects $isRedirect = HMWP_Classes_Tools::getCustomLoginURL( false ); if ( HMWP_Classes_Tools::getValue( 'nordt' ) || $isRedirect || HMWP_Classes_Tools::getOption( 'hmwp_remove_third_hooks' ) ) { remove_all_actions( 'login_init' ); remove_all_actions( 'login_redirect' ); remove_all_actions( 'bbp_redirect_login' ); add_action( 'login_header', function() { global $error; if ( ! empty( $error ) ) { unset( $error ); } } ); add_filter( 'login_headerurl', array( $this, 'login_url' ) ); add_filter( 'login_redirect', array( $this, 'sanitize_login_redirect' ), 1, 3 ); } //handle the lost password and registration redirects if ( HMWP_Classes_Tools::getDefault( 'hmwp_login_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_login_url' ) ) { add_filter( 'lostpassword_redirect', array( $this, 'lostpassword_redirect' ), 1 ); add_filter( 'registration_redirect', array( $this, 'registration_redirect' ), 1 ); HMWP_Classes_ObjController::getClass( 'HMWP_Models_Cookies' )->setTestCookie(); } //hide language switcher on login page if ( HMWP_Classes_Tools::getOption( 'hmwp_disable_language_switcher' ) ) { add_filter( 'login_display_language_dropdown', '__return_false' ); } //Hook the login page and check if the user is already logged in if ( HMWP_Classes_Tools::getOption( 'hmwp_logged_users_redirect' ) ) { //if there is a reCaptcha test, don't redirect if ( ! HMWP_Classes_Tools::getIsset( 'nordt' ) ) { $this->dashboard_redirect(); } } do_action( 'hmwp_login_init' ); } /** * Hook the login page and check if the user is already logged in * * @return void */ public function dashboard_redirect() { global $current_user; //If the user is already logged in if ( ! HMWP_Classes_Tools::getValue( 'nordt' ) && ( ! isset( $_REQUEST['action'] ) || $_REQUEST['action'] == 'login' ) && isset( $current_user->ID ) && $current_user->ID > 0 ) { //redirect to admin dashboard wp_redirect( apply_filters( 'hmwp_url_login_redirect', admin_url() ) ); exit(); } } /** * Change the password confirm URL with the new URL * * @return string */ public function lostpassword_redirect() { return home_url( 'wp-login.php?checkemail=confirm' ); } /** * Change the register confirmation URL with the new URL * * @return string */ public function registration_redirect() { return home_url( 'wp-login.php?checkemail=registered' ); } /** * Called from WP hook to change the lost password URL * * @param $url * * @return mixed * @throws Exception */ public function lostpassword_url( $url ) { if ( HMWP_Classes_Tools::getOption( 'hmwp_lostpassword_url' ) <> '' ) { //check if the redirects are built $url = $this->find_replace_url( $url ); } return $url; } /** * Called from WP hook to change the register URL * * @param $url * * @return mixed * @throws Exception */ public function register_url( $url ) { if ( HMWP_Classes_Tools::getOption( 'hmwp_register_url' ) <> '' ) { //check if the redirects are built $url = $this->find_replace_url( $url ); } return $url; } /** * Get the new Logout URL * * @param string $url * @param string $redirect * * @return string */ public function logout_url( $url, $redirect = '' ) { $args = array(); if ( $url <> '' ) { $parsed = wp_parse_url( $url ); if ( $parsed['query'] <> '' ) { @parse_str( html_entity_decode( $parsed['query'] ), $args ); } } if ( ! isset( $args['_wpnonce'] ) ) { $args['_wpnonce'] = wp_create_nonce( 'log-out' ); //correct the logout URL $url = add_query_arg( array( '_wpnonce' => $args['_wpnonce'] ), home_url( 'wp-login.php?action=logout', 'login' ) ); } if ( HMWP_Classes_Tools::getOption( 'hmwp_logout_url' ) <> '' ) { //add the new URL $url = home_url() . '/' . add_query_arg( array( '_wpnonce' => $args['_wpnonce'] ), HMWP_Classes_Tools::getOption( 'hmwp_logout_url' ) ); } return $url; } /** * Get the new Author URL * * @param array $rewrite * * @return array */ public function author_url( $rewrite ) { if ( HMWP_Classes_Tools::getDefault( 'hmwp_author_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_author_url' ) ) { foreach ( $rewrite as $from => $to ) { $newfrom = str_replace( HMWP_Classes_Tools::getDefault( 'hmwp_author_url' ), HMWP_Classes_Tools::getOption( 'hmwp_author_url' ), $from ); $rewrite[ $newfrom ] = $to; } } return $rewrite; } /******************************** * * HOOK REDIRECTS *************************************************/ /** * Hook the logout to flush the changes set in admin * * @throws Exception */ public function wp_logout() { if ( apply_filters( 'hmwp_url_logout_redirect', false ) ) { $_REQUEST['redirect_to'] = apply_filters( 'hmwp_url_logout_redirect', false ); } do_action( 'hmwp_wp_logout' ); } /** * Hook the logout referrer and logout the user * * @param $action * @param $result */ public function check_admin_referer( $action, $result ) { if ( $action == "log-out" && isset( $_REQUEST['_wpnonce'] ) ) { $adminurl = strtolower( admin_url() ); $referer = strtolower( wp_get_referer() ); if ( ! $result && ! ( - 1 === $action && strpos( $referer, $adminurl ) === 0 ) ) { if ( function_exists( 'is_user_logged_in' ) && function_exists( 'wp_get_current_user' ) && is_user_logged_in() ) { if ( apply_filters( 'hmwp_url_logout_redirect', false ) ) { $_REQUEST['redirect_to'] = apply_filters( 'hmwp_url_logout_redirect', false ); } $user = wp_get_current_user(); $redirect_to = HMWP_Classes_Tools::getValue( 'redirect_to', home_url() ); $redirect_to = apply_filters( 'logout_redirect', $redirect_to, $redirect_to, $user ); wp_logout(); header( "Location: " . apply_filters( 'hmwp_url_logout_redirect', $redirect_to ) ); die; } wp_redirect( home_url() ); die; } } } /** * In case of redirects, correct the redirect links * * @param string $redirect The path or URL to redirect to. * @param string $status The HTTP response status code to use * * @return string * @throws Exception */ public function sanitize_redirect( $redirect, $status = '' ) { //correct wp-admin redirect if ( HMWP_Classes_Tools::getDefault( 'hmwp_admin_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_admin_url' ) ) { if ( strpos( $redirect, 'wp-admin' ) !== false ) { $redirect = $this->admin_url( $redirect ); } } //prevent redirect to new login if ( HMWP_Classes_Tools::getDefault( 'hmwp_login_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_login_url' ) ) { if ( HMWP_Classes_Tools::getOption( 'hmwp_hide_newlogin' ) ) { //if you do hide URLs is active if ( HMWP_Classes_Tools::doHideURLs() ) { $url = ( isset( $_SERVER['REQUEST_URI'] ) ? untrailingslashit( strtok( $_SERVER["REQUEST_URI"], '?' ) ) : false ); if ( strpos( $redirect, '/' . HMWP_Classes_Tools::getOption( 'hmwp_login_url' ) ) !== false ) { if ( $url ) { $url = rawurldecode( $url ); //redirected from admin, login, lost password, register, disconnect, then pass if ( strpos( $url, '/' . HMWP_Classes_Tools::getDefault( 'hmwp_admin_url' ) ) !== false || strpos( $url, '/' . HMWP_Classes_Tools::getOption( 'hmwp_admin_url' ) ) !== false || strpos( $url, '/' . HMWP_Classes_Tools::getOption( 'hmwp_login_url' ) ) !== false || ( HMWP_Classes_Tools::getOption( 'hmwp_lostpassword_url' ) && strpos( $url, '/' . HMWP_Classes_Tools::getOption( 'hmwp_lostpassword_url' ) ) !== false ) || ( HMWP_Classes_Tools::getOption( 'hmwp_register_url' ) && strpos( $url, '/' . HMWP_Classes_Tools::getOption( 'hmwp_register_url' ) ) !== false ) || ( HMWP_Classes_Tools::getOption( 'hmwp_logout_url' ) && strpos( $url, '/' . HMWP_Classes_Tools::getOption( 'hmwp_logout_url' ) ) !== false ) ) { return $redirect; } } if ( function_exists( 'is_user_logged_in' ) && ! is_user_logged_in() ) { $redirect = home_url(); } } } } } return $redirect; } /** * In case of login redirects, correct the redirect links * * @param string $redirect The path or URL to redirect to. * @param string $path * @param string $user * * @return string * @throws Exception */ public function sanitize_login_redirect( $redirect, $path = null, $user = null ) { if ( HMWP_Classes_Tools::getDefault( 'hmwp_login_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_login_url' ) ) { if ( strpos( $redirect, 'wp-login' ) !== false ) { $redirect = site_url( HMWP_Classes_Tools::getOption( 'hmwp_login_url' ) ); } } if ( HMWP_Classes_Tools::getDefault( 'hmwp_admin_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_admin_url' ) ) { if ( strpos( $redirect, 'wp-admin' ) !== false ) { $redirect = $this->admin_url( $redirect ); } } //if user is logged in if ( isset( $user ) && isset( $user->ID ) && ! is_wp_error( $user ) ) { //Set the current user for custom redirects HMWP_Classes_Tools::setCurrentUserRole( $user ); //overwrite the login redirect with the custom HMWP redirect $redirect = apply_filters( 'hmwp_url_login_redirect', $redirect ); //If the redirect URL is external, jump to redirect if ( wp_parse_url( $redirect, PHP_URL_HOST ) && wp_parse_url( $redirect, PHP_URL_HOST ) <> wp_parse_url( home_url(), PHP_URL_HOST ) ) { wp_redirect( $redirect ); exit(); } } //Stop loops and other hooks if ( HMWP_Classes_Tools::getValue( 'nordt' ) || HMWP_Classes_Tools::getOption( 'hmwp_remove_third_hooks' ) ) { //remove other redirect hooks remove_all_actions( 'login_redirect' ); //If user is logged in if ( isset( $user ) && isset( $user->ID ) ) { if ( ! is_wp_error( $user ) && empty( $_REQUEST['reauth'] ) ) { //If admin redirect if ( ( empty( $redirect ) || $redirect == 'wp-admin/' || $redirect == admin_url() ) ) { // If the user doesn't belong to a blog, send them to user admin. If the user can't edit posts, send them to their profile. if ( HMWP_Classes_Tools::isMultisites() && ! get_active_blog_for_user( $user->ID ) && ! is_super_admin( $user->ID ) ) { $redirect = user_admin_url(); } elseif ( method_exists( $user, 'has_cap' ) ) { if ( HMWP_Classes_Tools::isMultisites() && ! $user->has_cap( 'read' ) ) { $redirect = get_dashboard_url( $user->ID ); } elseif ( ! $user->has_cap( 'edit_posts' ) ) { $redirect = $user->has_cap( 'read' ) ? admin_url( 'profile.php' ) : home_url(); } } //overwrite the login redirect with the custom HMWP redirect $redirect = apply_filters( 'hmwp_url_login_redirect', $redirect ); wp_redirect( $redirect ); exit(); } //overwrite the login redirect with the custom HMWP redirect $redirect = apply_filters( 'hmwp_url_login_redirect', $redirect ); wp_redirect( $redirect ); exit(); } } } //overwrite the login redirect with the custom HMWP redirect return apply_filters( 'hmwp_url_login_redirect', $redirect ); } /** * Check if the current URL is the same with the redirect URL * * @param $url * * @return string * @throws Exception */ public function loopCheck( $url ) { if ( isset( $_SERVER['HTTP_HOST'] ) && isset( $_SERVER['REQUEST_URI'] ) && $url <> '' ) { $current_url = $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; $redirect_url = wp_parse_url( $url, PHP_URL_HOST ) . wp_parse_url( $url, PHP_URL_PATH ); if ( $current_url <> '' && $redirect_url <> '' ) { if ( $current_url == $redirect_url ) { return add_query_arg( array( 'nordt' => true ), $url ); } else { return remove_query_arg( array( 'nordt' ), $url ); } } } if ( HMWP_Classes_Tools::getOption( 'hmwp_hide_wplogin' ) || HMWP_Classes_Tools::getOption( 'hmwp_hide_login' ) ) { if ( HMWP_Classes_Tools::getDefault( 'hmwp_login_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_login_url' ) ) { //temporary deativate the change of home and site url add_filter( 'hmwp_change_home_url', '__return_false' ); add_filter( 'hmwp_change_site_url', '__return_false' ); if ( function_exists( 'is_user_logged_in' ) && is_user_logged_in() ) { $paths = array( site_url( 'wp-login.php', 'relative' ), site_url( 'wp-login', 'relative' ), ); } else { $paths = array( home_url( 'wp-login.php', 'relative' ), home_url( 'wp-login', 'relative' ), site_url( 'wp-login.php', 'relative' ), site_url( 'wp-login', 'relative' ), ); if ( HMWP_Classes_Tools::getOption( 'hmwp_hide_login' ) ) { $paths[] = home_url( 'login', 'relative' ); $paths[] = site_url( 'login', 'relative' ); } $paths = array_unique( $paths ); } //reactivate the change of the paths in home and site url add_filter( 'hmwp_change_home_url', '__return_true' ); add_filter( 'hmwp_change_site_url', '__return_true' ); $redirect_url = wp_parse_url( $url, PHP_URL_HOST ) . wp_parse_url( $url, PHP_URL_PATH ); if ( HMWP_Classes_Tools::searchInString( $redirect_url, $paths ) ) { if ( site_url( HMWP_Classes_Tools::getOption( 'hmwp_login_url' ), 'relative' ) <> $redirect_url ) { return add_query_arg( array( 'nordt' => true ), site_url( HMWP_Classes_Tools::getOption( 'hmwp_login_url' ) ) ); } } } } return $url; } /** * Check Hidden pages and return 404 if needed * * @return void * @throws Exception */ public function hideUrls() { //Check if is valid for moving on if ( HMWP_Classes_Tools::doHideURLs() ) { //temporary deativate the change of home and site url add_filter( 'hmwp_change_home_url', '__return_false' ); add_filter( 'hmwp_change_site_url', '__return_false' ); $url = untrailingslashit( strtok( $_SERVER["REQUEST_URI"], '?' ) ); $http_post = ( isset( $_SERVER['REQUEST_METHOD'] ) && 'POST' == $_SERVER['REQUEST_METHOD'] ); //if user is logged in and is not set to hide the admin urls if ( is_user_logged_in() ) { //redirect if no final slash is added if ( $_SERVER['REQUEST_URI'] == site_url( HMWP_Classes_Tools::getOption( 'hmwp_admin_url' ), 'relative' ) ) { wp_safe_redirect( $url . '/' ); exit(); } //Hide the wp-admin for logged users if ( HMWP_Classes_Tools::getDefault( 'hmwp_admin_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_admin_url' ) && HMWP_Classes_Tools::getOption( 'hmwp_hide_admin_loggedusers' ) ) { //If it's an ajax call, then let the path be reached by logged users if ( HMWP_Classes_Tools::isAjax() ) { $paths = array( home_url( HMWP_Classes_Tools::getDefault( 'hmwp_admin_url' ) . '/' . HMWP_Classes_Tools::getDefault( 'hmwp_admin-ajax_url' ), 'relative' ), site_url( HMWP_Classes_Tools::getDefault( 'hmwp_admin_url' ) . '/' . HMWP_Classes_Tools::getDefault( 'hmwp_admin-ajax_url' ), 'relative' ) ); if ( HMWP_Classes_Tools::searchInString( $url, $paths ) ) { return; } } $paths = array( home_url( HMWP_Classes_Tools::getDefault( 'hmwp_admin_url' ), 'relative' ), site_url( HMWP_Classes_Tools::getDefault( 'hmwp_admin_url' ), 'relative' ) ); if ( HMWP_Classes_Tools::searchInString( $url, $paths ) ) { if ( ! HMWP_Classes_Tools::userCan( 'manage_options' ) ) { $this->getNotFound( $url ); } } } } else { //Hide the param rest route if ( HMWP_Classes_Tools::getOption( 'hmwp_disable_rest_api_param' ) ) { $this->hideRestRouteParam(); } //if is set to hide the urls or not logged in if ( $url <> '' ) { ///////////////////////////////////////////////////// //Hide Admin URL when changed if ( HMWP_Classes_Tools::getDefault( 'hmwp_admin_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_admin_url' ) ) { if ( ! HMWP_Classes_Tools::isMultisites() && HMWP_Classes_Tools::getOption( 'hmwp_hide_newadmin' ) ) { if ( strpos( $url . '/', '/' . HMWP_Classes_Tools::getOption( 'hmwp_admin_url' ) . '/' ) !== false && HMWP_Classes_Tools::getOption( 'hmwp_hide_admin' ) ) { if ( strpos( $url . '/', '/' . HMWP_Classes_Tools::getOption( 'hmwp_admin-ajax_url' ) . '/' ) === false ) { $this->getNotFound( $url, '.' ); } } } elseif ( $_SERVER['REQUEST_URI'] == site_url( HMWP_Classes_Tools::getOption( 'hmwp_admin_url' ), 'relative' ) ) { //add slash on admin path if not added wp_safe_redirect( $url . '/' ); exit(); } $paths = array( home_url( HMWP_Classes_Tools::getDefault( 'hmwp_admin_url' ), 'relative' ), home_url( 'dashboard', 'relative' ), home_url( 'admin', 'relative' ), site_url( HMWP_Classes_Tools::getDefault( 'hmwp_admin_url' ), 'relative' ), site_url( 'dashboard', 'relative' ), site_url( 'admin', 'relative' ), ); $paths = array_unique( $paths ); if ( HMWP_Classes_Tools::searchInString( $url, $paths ) ) { if ( site_url( HMWP_Classes_Tools::getOption( 'hmwp_admin_url' ), 'relative' ) <> $url && HMWP_Classes_Tools::getOption( 'hmwp_hide_admin' ) ) { $this->getNotFound( $url ); } } } elseif ( strpos( $url, '/' . HMWP_Classes_Tools::getDefault( 'hmwp_admin_url' ) ) !== false && strpos( $url, admin_url( HMWP_Classes_Tools::getDefault( 'hmwp_admin-ajax_url' ), 'relative' ) ) === false && HMWP_Classes_Tools::getOption( 'hmwp_hide_admin' ) ) { //redirect to home page $this->getNotFound( $url , '.' ); } ///////////////////////////////////////////////////// //Protect lost password and register //If POST process if ( $http_post ) { //if password reset, allow access if ( HMWP_Classes_Tools::getOption( 'hmwp_lostpassword_url' ) <> '' ) { if ( strpos( $url, '/' . HMWP_Classes_Tools::getOption( 'hmwp_lostpassword_url' ) ) !== false ) { $_REQUEST['action'] = 'lostpassword'; } } //if registered, allow access if ( HMWP_Classes_Tools::getOption( 'hmwp_register_url' ) <> '' ) { if ( strpos( $url, '/' . HMWP_Classes_Tools::getOption( 'hmwp_register_url' ) ) !== false ) { $_REQUEST['action'] = 'register'; } } //if there is a different login path if ( defined( 'HMWP_DEFAULT_LOGIN' ) ) { //when submit on password protect page on wp-login.php //allow access to submit the password if ( $url == site_url( HMWP_Classes_Tools::getDefault( 'hmwp_login_url' ), 'relative' ) ) { if ( 'postpass' == HMWP_Classes_Tools::getValue( 'action' ) ) { return; } } } } elseif ( defined( 'HMWP_DEFAULT_LOGIN' ) ) { //when logout process on wp-login.php //allow access if ( $url == site_url( HMWP_Classes_Tools::getDefault( 'hmwp_login_url' ), 'relative' ) ) { if ( 'true' == HMWP_Classes_Tools::getValue( 'loggedout' ) ) { return; } } } ///////////////////////////////////////////////////// //Hide comments from spammers if ( HMWP_Classes_Tools::getOption( 'hmwp_hide_commonfiles' ) ) { $files = (array) HMWP_Classes_Tools::getOption( 'hmwp_hide_commonfiles_files' ); if ( ! empty( $files ) && ( $key = array_search( HMWP_Classes_Tools::getDefault( 'hmwp_wp-comments-post' ), $files ) ) !== false ) { if ( HMWP_Classes_Tools::getDefault( 'hmwp_wp-comments-post' ) <> HMWP_Classes_Tools::getOption( 'hmwp_wp-comments-post' ) ) { $paths = array( home_url( 'wp-comments-post.php', 'relative' ), ); if ( HMWP_Classes_Tools::searchInString( $url, $paths ) ) { $this->get403Error(); } } } } ///////////////////////////////////////////////////// //Hide Login URL when changed if ( HMWP_Classes_Tools::getOption( 'hmwp_hide_wplogin' ) || HMWP_Classes_Tools::getOption( 'hmwp_hide_login' ) ) { //initiate paths $paths = array(); //if the current path is not the custom login path & wp-login path is changed in HMWP if ( site_url( HMWP_Classes_Tools::getOption( 'hmwp_login_url' ), 'relative' ) <> $url && HMWP_Classes_Tools::getDefault( 'hmwp_login_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_login_url' ) ) { //get the relative login path $paths = array( home_url( 'wp-login.php', 'relative' ), home_url( 'wp-login', 'relative' ), site_url( 'wp-login.php', 'relative' ), site_url( 'wp-login', 'relative' ), ); if ( HMWP_Classes_Tools::getOption( 'hmwp_login_url' ) <> 'login.php' ) { $paths[] = home_url( 'login.php', 'relative' ); $paths[] = site_url( 'login.php', 'relative' ); } //if there is a POST on login when it's hidden //allow access on CloudPanel and WP Engine to prevent errors if ( ! $http_post && HMWP_Classes_Tools::getOption( 'hmwp_hide_login' ) ) { $paths[] = home_url( 'login', 'relative' ); $paths[] = site_url( 'login', 'relative' ); } } elseif ( defined( 'HMWP_DEFAULT_LOGIN' ) && //custom login is set in other plugins site_url( HMWP_DEFAULT_LOGIN, 'relative' ) <> $url && //current paths is different from login HMWP_DEFAULT_LOGIN <> HMWP_Classes_Tools::getDefault( 'hmwp_login_url' ) ) { $paths = array( home_url( HMWP_Classes_Tools::getDefault( 'hmwp_login_url' ), 'relative' ), site_url( HMWP_Classes_Tools::getDefault( 'hmwp_login_url' ), 'relative' ), ); if ( HMWP_DEFAULT_LOGIN <> 'login.php' ) { $paths[] = home_url( 'login.php', 'relative' ); $paths[] = site_url( 'login.php', 'relative' ); } if ( HMWP_DEFAULT_LOGIN <> 'login' && HMWP_Classes_Tools::getOption( 'hmwp_hide_login' ) ) { $paths[] = home_url( 'login', 'relative' ); $paths[] = site_url( 'login', 'relative' ); } } //remove duplicate paths in array $paths = array_unique( $paths ); if ( ! empty( $paths ) ) { //search the paths in URL and show not found if ( HMWP_Classes_Tools::searchInString( $url, $paths ) ) { $this->getNotFound( $url ); } } } ///////////////////////////////////////////////////// //Hide the author url when changed if ( HMWP_Classes_Tools::getDefault( 'hmwp_author_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_author_url' ) ) { $paths = array( home_url( 'author', 'relative' ) . '/', site_url( 'author', 'relative' ) . '/', ); if ( HMWP_Classes_Tools::searchInString( $url, $paths ) ) { $this->getNotFound( $url ); } } ///////////////////////////////////////////////////// //hide the /xmlrpc.php path when switched on if ( HMWP_Classes_Tools::getOption( 'hmwp_disable_xmlrpc' ) ) { $paths = array( home_url( 'xmlrpc.php', 'relative' ), home_url( 'wp-trackback.php', 'relative' ), site_url( 'xmlrpc.php', 'relative' ), site_url( 'wp-trackback.php', 'relative' ), ); if ( HMWP_Classes_Tools::searchInString( $url, $paths ) ) { $this->getNotFound( $url ); } } ///////////////////////////////////////////////////// //disable rest api if ( HMWP_Classes_Tools::getOption( 'hmwp_disable_rest_api' ) ) { $paths = array( home_url( 'wp-json', 'relative' ), home_url( HMWP_Classes_Tools::getOption( 'hmwp_wp-json' ), 'relative' ), ); if ( HMWP_Classes_Tools::searchInString( $url, $paths ) ) { $this->getNotFound( $url ); } } ///////////////////////////////////////////////////// //Hide the common php file in case of other servers $paths = array( home_url( 'install.php', 'relative' ), home_url( 'upgrade.php', 'relative' ), home_url( 'wp-config.php', 'relative' ), site_url( 'install.php', 'relative' ), site_url( 'upgrade.php', 'relative' ), site_url( 'wp-config.php', 'relative' ), ); if ( HMWP_Classes_Tools::searchInString( $url, $paths ) ) { $this->getNotFound( $url ); } ///////////////////////////////////////////////////// //hide the wp-signup for WP Multisite if ( ! HMWP_Classes_Tools::isMultisites() ) { $paths = array( home_url( 'wp-signup.php', 'relative' ), site_url( 'wp-signup.php', 'relative' ), ); if ( HMWP_Classes_Tools::searchInString( $url, $paths ) ) { $this->getNotFound( $url ); } } ///////////////////////////////////////////////////// } } //reactivate the change of the paths in home and site url add_filter( 'hmwp_change_home_url', '__return_true' ); add_filter( 'hmwp_change_site_url', '__return_true' ); } } /** * Search part of string in array * * @param string $string * @param array $haystack * * @return bool */ public function searchInString( $string, $haystack ) { foreach ( $haystack as $value ) { if ( $string && $value && $string <> '' && $value <> '' ) { if ( function_exists( 'mb_stripos' ) ) { if ( mb_stripos( $string, $value ) !== false ) { return true; } } elseif ( stripos( $string, $value ) !== false ) { return true; } } } return false; } /** * Return 404 page or redirect * * @param string $url Options: 404, NFError Not Found, NAError Not Available, or a specific page * @param string $option * * @throws Exception */ public function getNotFound( $url, $option = false ) { if(!$option){ $option = HMWP_Classes_Tools::getOption( 'hmwp_url_redirect' ); } if ( $option == '404' ) { if ( HMWP_Classes_Tools::isThemeActive( 'Pro' ) ) { global $wp_query; $wp_query->is_404 = true; wp_safe_redirect( home_url( '404' ) ); exit(); } else { $this->get404Page(); } } else if ( $option == 'NFError' ) { $this->get404Page(); } else if ( $option == 'NAError' ) { $this->get403Error(); } elseif ( $option == '.' ) { //redirect to front page wp_safe_redirect( home_url() ); exit(); } else { //redirect to custom page wp_safe_redirect( home_url( $option ) ); exit(); } die(); } /** * Display 404 page to bump bots and bad guys * * @param bool $usetheme If true force displaying basic 404 page * * @throws Exception */ function get404Page( $usetheme = false ) { global $wp_query; //Initialize WordPress Filesystem $wp_filesystem = HMWP_Classes_ObjController::initFilesystem(); try { if ( function_exists( 'status_header' ) ) { status_header( '404' ); } if ( isset( $wp_query ) && is_object( $wp_query ) ) { $wp_query->set_404(); } if ( $usetheme ) { $template = null; if ( function_exists( 'get_404_template' ) ) { $template = get_404_template(); } if ( function_exists( 'apply_filters' ) ) { $template = apply_filters( 'hmwp_404_template', $template ); } if ( $template && $wp_filesystem->exists( $template ) ) { ob_start(); include $template; echo $this->find_replace( ob_get_clean() ); exit(); } } header( 'HTTP/1.0 404 Not Found', true, 404 ); echo '' . esc_html__( '404 Not Found', 'hide-my-wp' ) . '

' . esc_html__( 'Page Not Found', 'hide-my-wp' ) . '

' . sprintf( esc_html__( 'The requested URL %s was not found on this server.', 'hide-my-wp' ), ( ( isset( $_SERVER['REQUEST_URI'] ) ) ? esc_url( $_SERVER['REQUEST_URI'] ) : '' ) ) . '

'; exit(); } catch ( Exception $e ) { } } /** * Display 403 error to bump bots and bad guys * * @throws Exception */ function get403Error() { try { header( 'HTTP/1.0 403 Forbidden', true, 403 ); echo '' . esc_html__( '403 Forbidden', 'hide-my-wp' ) . '

' . esc_html__( 'Forbidden', 'hide-my-wp' ) . '

' . sprintf( esc_html__( "You don't have the permission to access %s on this server.", 'hide-my-wp' ), ( ( isset( $_SERVER['REQUEST_URI'] ) ) ? esc_url( $_SERVER['REQUEST_URI'] ) : '' ) ) . '

'; exit(); } catch ( Exception $e ) { } } /************************************* * * FIND AND REPLACE *****************************************/ /** * repare the replace function * * @throws Exception */ public function prepareFindReplace() { $find = $replace = $findtext = $remplacetext = $findencoded = $findencodedfinal = $replaceencoded = $replaceencodedfinal = $findcdns = $replacecdns = $findurlmapping = $replaceurlmapping = array(); //If there are rewrite rules if ( ! empty( $this->_replace ) ) { //If URL Mapping is activated if ( HMWP_Classes_Tools::getOption( 'hmwp_mapping_cdn_show' ) ) { if ( $cdns = HMWP_Classes_ObjController::getClass( 'HMWP_Models_Compatibility' )->findCDNServers() ) { //if there are CDNs added if ( ! empty( $cdns ) ) { $cdns = array_unique( $cdns ); //remove duplicates foreach ( $cdns as $cdn ) { $cdn = wp_parse_url( $cdn, PHP_URL_HOST ) . wp_parse_url( $cdn, PHP_URL_PATH ) . '/'; //Add PORT if different from 80 if ( wp_parse_url( $cdn, PHP_URL_PORT ) && wp_parse_url( $cdn, PHP_URL_PORT ) <> 80 ) { $cdn = wp_parse_url( $cdn, PHP_URL_HOST ) . ':' . wp_parse_url( $cdn, PHP_URL_PORT ) . wp_parse_url( $cdn, PHP_URL_PATH ) . '/'; } $findcdn = preg_replace( '/^/', $cdn, (array) $this->_replace['from'] ); $replacecdn = preg_replace( '/^/', $cdn, (array) $this->_replace['to'] ); //merge the urls $findcdns = array_merge( $findcdns, $findcdn ); $replacecdns = array_merge( $replacecdns, $replacecdn ); } } } } //make sure the paths are without schema $find = array_map( array( $this, 'addDomainUrl' ), (array) $this->_replace['from'] ); $replace = array_map( array( $this, 'addDomainUrl' ), (array) $this->_replace['to'] ); //make sure the main domain is added on wp multisite with subdirectories //used for custom wp-content, custom wp-includes, custom uploads //If wp-content is in a different directory root if ( HMWP_Classes_Tools::isMultisiteWithPath() || HMWP_Classes_Tools::isDifferentWPContentPath() ) { $find = array_merge( $find, array_map( array( $this, 'addMainDomainUrl' ), (array) $this->_replace['from'] ) ); $replace = array_merge( $replace, array_map( array( $this, 'addMainDomainUrl' ), (array) $this->_replace['to'] ) ); } //change the javascript urls $findencoded = array_map( array( $this, 'changeEncodedURL' ), (array) $this->_replace['from'] ); $replaceencoded = array_map( array( $this, 'changeEncodedURL' ), (array) $this->_replace['to'] ); //change the javascript urls $findencodedfinal = array_map( array( $this, 'changeEncodedURLFinal' ), (array) $this->_replace['from'] ); $replaceencodedfinal = array_map( array( $this, 'changeEncodedURLFinal' ), (array) $this->_replace['to'] ); } //If URL Mapping is activated if ( HMWP_Classes_Tools::getOption( 'hmwp_mapping_url_show' ) ) { $hmwp_url_mapping = json_decode( HMWP_Classes_Tools::getOption( 'hmwp_url_mapping' ), true ); if ( isset( $hmwp_url_mapping['from'] ) && ! empty( $hmwp_url_mapping['to'] ) ) { $findurlmapping = $hmwp_url_mapping['from']; $replaceurlmapping = $hmwp_url_mapping['to']; unset( $hmwp_url_mapping ); } } //merge the urls $this->_replace['from'] = array_merge( $findtext, $findcdns, $find, $findencoded, $findencodedfinal, $findurlmapping ); $this->_replace['to'] = array_merge( $remplacetext, $replacecdns, $replace, $replaceencoded, $replaceencodedfinal, $replaceurlmapping ); //listen for filters $this->_replace = apply_filters( 'hmwp_replace_before', $this->_replace ); } /** * Add the main domain into URL * Used for WP Multisite with paths * * @param $url * * @return string */ public function addMainDomainUrl( $url ) { // Set main domain $mainDomain = $this->getSiteUrl(); // If multisite with path if (HMWP_Classes_Tools::isMultisiteWithPath()) { $path = wp_parse_url( site_url(), PHP_URL_PATH ); // Remove any path if exists if($path){ $mainDomain = str_replace( $path, '', $mainDomain ); } } // If is missing from the path, add the main domain if ( strpos( $url, $mainDomain ) === false ) { return $mainDomain . '/' . $url; } return $url; } /** * Add the domain into URL * * @param $url * * @return string */ public function addDomainUrl( $url ) { if ( strpos( $url, $this->getSiteUrl() ) === false ) { return $this->getSiteUrl() . '/' . $url; } return $url; } /** * Remove the Schema from url * Return slashed urls for javascript urls * * @param $url * * @return string */ public function changeEncodedURL( $url ) { if ( strpos( $url, $this->getSiteUrl() ) === false ) { return str_replace( '/', '\/', $this->getSiteUrl() . '/' . $url ); } return $url; } /** * @param $url * * @return mixed */ public function changeEncodedURLFinal( $url ) { if ( strpos( $url, $this->getSiteUrl() ) === false ) { return str_replace( '/', '\/', rtrim( $this->getSiteUrl() . '/' . $url, '/' ) ); } return $url; } /** * Change content * * @param $content * * @return null|string|string[] * @throws Exception */ public function find_replace( $content ) { if ( HMWP_Classes_Tools::doChangePaths() && apply_filters( 'hmwp_process_find_replace', true ) ) { if ( is_string( $content ) && $content <> '' ) { //if the changes were made already, return the content if ( strpos( $content, HMWP_Classes_Tools::getDefault( 'hmwp_wp-content_url' ) ) === false && strpos( $content, HMWP_Classes_Tools::getDefault( 'hmwp_wp-includes_url' ) ) === false && $this->_replaced ) { return $content; } //change and replace paths $this->clearRedirect(); //builder the redirects $this->buildRedirect(); //make sure to include the blog url $this->prepareFindReplace(); //fix the relative links before if ( HMWP_Classes_Tools::getOption( 'hmwp_fix_relative' ) ) { $content = $this->fixRelativeLinks( $content ); } //Find & Replace the tags and headers $content = $this->replaceHeadersAndTags( $content ); //Do the path replace for all paths if ( isset( $this->_replace['from'] ) && isset( $this->_replace['to'] ) && ! empty( $this->_replace['from'] ) && ! empty( $this->_replace['to'] ) ) { $content = str_ireplace( $this->_replace['from'], $this->_replace['to'], $content ); } //If Text Mapping is activated if ( HMWP_Classes_Tools::getOption( 'hmwp_mapping_text_show' ) ) { //Replace classes and IDs if ( $newcontent = $this->replaceTextMapping( $content ) ) { $content = $newcontent; } } //rename the CSS in Dynamic File mode to make sure they are not cached by Nginx of Apache if ( HMW_DYNAMIC_FILES && ! is_admin() ) { $content = preg_replace( array( '/(]+' . str_replace( '/', '\/', $this->getSiteUrl() ) . '[^>]+).(css|scss)([\'|"|\?][^>]+type=[\'"]text\/css[\'"][^>]+>)/i', '/(]+type=[\'"]text\/css[\'"][^>]+' . str_replace( '/', '\/', $this->getSiteUrl() ) . '[^>]+).(css|scss)([\'|"|\?][^>]+>)/i', '/(]+' . str_replace( '/', '\/', $this->getSiteUrl() ) . '[^>]+).(js)([\'|"|\?][^>]+>)/i', ), '$1.$2h$3', $content ); } } //emulate other CMS on request $content = $this->emulateCMS( $content ); //for debug purpose if ( HMWP_Classes_Tools::getValue( 'hmwp_debug' ) ) { $content .= '
' . print_r( $this->_replace, true ) . '
'; } //Set the replacement action to prevent multiple calls $this->_replaced = true; } //Return the buffer return $content; } /** * Add CMS Emulators for theme detectors * * @param $content * * @return string|string[]|null */ public function emulateCMS( $content ) { $generator = ''; $header = array(); //emulate other CMS if ( $emulate = HMWP_Classes_Tools::getOption( 'hmwp_emulate_cms' ) ) { if ( strpos( $emulate, 'drupal' ) !== false ) { switch ( $emulate ) { case 'drupal7': $generator = 'Drupal 7 (https://www.drupal.org)'; break; case 'drupal': $generator = 'Drupal 8 (https://www.drupal.org)'; break; case 'drupal9': $generator = 'Drupal 9 (https://www.drupal.org)'; break; case 'drupal10': $generator = 'Drupal 10 (https://www.drupal.org)'; break; case 'drupal11': $generator = 'Drupal 11 (https://www.drupal.org)'; break; default: $generator = 'Drupal (https://www.drupal.org)'; break; } $header['MobileOptimized'] = ''; $header['HandheldFriendly'] = ''; } elseif ( strpos( $emulate, 'joomla' ) !== false ) { switch ( $emulate ) { case 'joomla1': $generator = 'Joomla! 1.5 - Open Source Content Management'; break; default: $generator = 'Joomla! - Open Source Content Management'; break; } } $header['generator'] = ''; $header_str = str_replace( '$', '\$', join( "\n", $header ) ); $content = @preg_replace( '/(]*|)>)/si', sprintf( "$1\n%s", $header_str ) . PHP_EOL, $content, 1 ); } return $content; } /** * Rename the paths in URL with the new ones * * @param $url * * @return mixed * @throws Exception */ public function find_replace_url( $url ) { if ( strpos( $url, HMWP_Classes_Tools::getDefault( 'hmwp_wp-content_url' ) ) !== false || strpos( $url, HMWP_Classes_Tools::getDefault( 'hmwp_wp-includes_url' ) ) !== false ) { //change and replace paths if ( empty( $this->_replace ) ) { //builder the redirects $this->buildRedirect(); //make sure to include the blog url $this->prepareFindReplace(); } if ( isset( $this->_replace['from'] ) && isset( $this->_replace['to'] ) && ! empty( $this->_replace['from'] ) && ! empty( $this->_replace['to'] ) ) { foreach ( $this->_replace['rewrite'] as $index => $value ) { //add only the paths or the design path if ( ( $index && isset( $this->_replace['to'][ $index ] ) && substr( $this->_replace['to'][ $index ], - 1 ) == '/' ) || strpos( $this->_replace['to'][ $index ], '/' . HMWP_Classes_Tools::getOption( 'hmwp_themes_style' ) ) ) { $this->_replace['from'][] = $this->_replace['from'][ $index ]; $this->_replace['to'][] = $this->_replace['to'][ $index ]; } } //Don't replace include if content was already replaced $url = str_ireplace( $this->_replace['from'], $this->_replace['to'], $url ); } } return $url; } /** * Replace the wp-json URL is changed * * @param $url * * @return mixed */ public function replace_rest_api( $url ) { //Modify rest-api wp-json if ( HMWP_Classes_Tools::getDefault( 'hmwp_wp-json' ) <> HMWP_Classes_Tools::getOption( 'hmwp_wp-json' ) ) { $url = HMWP_Classes_Tools::getOption( 'hmwp_wp-json' ); } return $url; } /** * Change the image path to absolute when in feed * * @param string $content * * @return string */ public function fixRelativeLinks( $content ) { $content = preg_replace_callback( array( '~(\s(href|src|content)\s*[=|:]\s*[\"\'])([^\"\']+)([\"\'])~i', '~(\W(url\s*)[\(\"\']+)([^\]\)\"\']+)([\)\"\']+)~i', '~(([\"\']url[\"\']\s*:)\s*[\"\'])([^\"\']+)([\"\'])~i', '~([=|:]\s*[\"\'])(\\\/[^\"\']+)([\"\'])~i' ), array( $this, 'replaceLinks' ), $content ); return $content; } /** * If relative links then transform them to absolute * * @param $found * * @return string */ public function replaceLinks( $found ) { $url = $found[3]; //remove hashtags if( strpos( $url, '#' ) !== false ){ $url = substr( $url, 0, strpos( $url, '#' ) ); } if ( strpos( $url, '//' ) === false && strpos( $url, '\/\/' ) === false ) { //Change the path only if the WP common paths are found if ( strpos( $url, '/'. HMWP_Classes_Tools::getDefault( 'hmwp_wp-content_url' ) ) !== false || strpos( $url, '/'. HMWP_Classes_Tools::getDefault( 'hmwp_wp-includes_url' ) ) !== false || strpos( $url, '/'. HMWP_Classes_Tools::getDefault( 'hmwp_admin_url' ) ) !== false || strpos( $url, '/'. HMWP_Classes_Tools::getDefault( 'hmwp_login_url' ) ) !== false ) { return $found[1] . $this->_rel2abs( $url ) . $found[4]; } } elseif ( is_ssl() && strpos( $url, 'http:' ) !== false && strpos( $url, $this->getSiteUrl() ) !== false ) { //Change the schema from unsecure to secure return str_replace( 'http:', 'https:', $found[0] ); } return $found[0]; } /** * Change Relative links to Absolute links * * @param $rel * * @return string */ protected function _rel2abs( $rel ) { $scheme = $host = $path = ''; $backslash = false; //if relative with preview dir if ( strpos( $rel, "../" ) !== false ) { return $rel; } // return if already absolute URL if ( wp_parse_url( $rel, PHP_URL_SCHEME ) != '' ) { return $rel; } // parse base URL and convert to local variables: $scheme, $host, $path extract( wp_parse_url( home_url() ) ); //add the scheme to the URL if ( strpos( $rel, "//" ) === 0 ) { return $scheme . ':' . $rel; } //if url encoded, rezolve until absolute if ( strpos( $rel, '\/' ) !== false ) { //if backslashes then change the URLs to normal $backslash = true; $rel = str_replace( '\/', '/', $rel ); } // queries and anchors if ( $rel[0] == '#' || $rel[0] == '?' ) { return home_url() . $rel; } // dirty absolute URL if ( $path <> '' && ( strpos( $rel, $path . '/' ) === false || strpos( $rel, $path . '/' ) > 0 ) ) { $abs = $host . $path . "/" . $rel; } else { $abs = $host . "/" . $rel; } // replace '//' or '/./' or '/foo/../' with '/' $abs = preg_replace( "/(\/\.?\/)/", "/", $abs ); $abs = preg_replace( "/\/(?!\.\.)[^\/]+\/\.\.\//", "/", $abs ); // absolute URL is ready! if ( $backslash ) { return str_replace( '/', '\/', $scheme . '://' . $abs ); } else { return $scheme . '://' . $abs; } } /** * Remove the comments from source code * * @param $m * * @return string */ protected function _commentRemove( $m ) { return ( 0 === strpos( $m[1], '[' ) || false !== strpos( $m[1], '; rel=shortlink' ), true ); if ( function_exists( 'header_remove' ) ) { header_remove( "x-powered-by" ); header_remove( "x-cf-powered-by" ); header_remove( "server" ); header( 'X-Powered-By: -' ); } } //Remove Pingback from website header if ( HMWP_Classes_Tools::getOption( 'hmwp_disable_xmlrpc' ) ) { if ( function_exists( 'header_remove' ) ) { header_remove( "x-pingback" ); } } } /** * Add all needed security headers */ public function addSecurityHeader() { if ( HMWP_Classes_Tools::getOption( 'hmwp_security_header' ) ) { $headers = (array) HMWP_Classes_Tools::getOption( 'hmwp_security_headers' ); if ( ! empty( $headers ) ) { foreach ( $headers as $name => $value ) { if ( $value <> '' ) { header( $name . ": " . $value ); } } } } } /** * Find the text from Text Mapping in the source code * * @param $content * * @return mixed|string|string[]|null */ public function replaceTextMapping( $content ) { $findtextmapping = array(); // Change the text in css and js files only for visitors if ( HMWP_Classes_Tools::getOption( 'hmwp_mapping_text_show' ) && HMWP_Classes_Tools::getOption( 'hmwp_mapping_file' ) && function_exists( 'is_user_logged_in' ) && is_user_logged_in() ) { return $content; } // If it's ajax call and is set to change the paths in CSS and JS, change also in ajax to prevent name errors if ( HMWP_Classes_Tools::isAjax() && HMWP_Classes_Tools::getOption( 'hmwp_mapping_text_show' ) && HMWP_Classes_Tools::getOption( 'hmwp_mapping_file' )) { //add_filter( 'hmwp_option_hmwp_mapping_classes', '__return_false' ); } // Replace custom classes $hmwp_text_mapping = json_decode( HMWP_Classes_Tools::getOption( 'hmwp_text_mapping' ), true ); if ( isset( $hmwp_text_mapping['from'] ) && ! empty( $hmwp_text_mapping['from'] ) && isset( $hmwp_text_mapping['to'] ) && ! empty( $hmwp_text_mapping['to'] ) ) { foreach ( $hmwp_text_mapping['to'] as &$value ) { if ( $value <> '' ) { if ( strpos( $value, '{rand}' ) !== false ) { $value = str_replace( '{rand}', HMWP_Classes_Tools::generateRandomString( 5 ), $value ); } elseif ( strpos( $value, '{blank}' ) !== false ) { $value = str_replace( '{blank}', '', $value ); } } } $this->_findtextmapping = $hmwp_text_mapping['from']; $this->_replacetextmapping = $hmwp_text_mapping['to']; if ( ! empty( $this->_findtextmapping ) && ! empty( $this->_replacetextmapping ) ) { //change only the classes and ids if ( HMWP_Classes_Tools::getOption( 'hmwp_mapping_classes' ) ) { foreach ( $this->_findtextmapping as $from ) { $findtextmapping[] = '/\s(class|id|type|aria-labelledby|aria-controls|data-lp-type|data-elementor-type|data-widget_type)=[\'"][^\'"]*(' . addslashes( $from ) . ')[^\'"]*[\'"]/'; if ( HMWP_Classes_Tools::getOption( 'hmwp_mapping_text_show' ) && HMWP_Classes_Tools::getOption( 'hmwp_mapping_file' ) ) { $findtextmapping[] = "'<(style|script)((?!src|>).)*>.*?'is"; } $findtextmapping[] = "').)*>'is"; $findtextmapping[] = "']*>.*?'is"; $findtextmapping[] = "'<(a|div)[^>]*data-" . addslashes( $from ) . "[^>]*[^/]>'is"; } if ( ! empty( $findtextmapping ) ) { $content = preg_replace_callback( $findtextmapping, array( $this, 'replaceText' ), $content ); } } else { $content = str_ireplace( $this->_findtextmapping, $this->_replacetextmapping, $content ); } } unset( $hmwp_text_mapping ); } return $content; } /** * Find & Replace the tags and headers * * @param $content * * @return string|string[]|null */ public function replaceHeadersAndTags( $content ) { $find = $replace = array(); //Remove source commets if ( HMWP_Classes_Tools::getOption( 'hmwp_hide_comments' ) ) { $content = preg_replace_callback( '//', array( $this, '_commentRemove' ), $content ); } //Remove versions if ( HMWP_Classes_Tools::getOption( 'hmwp_hide_version' ) ) { if ( HMWP_Classes_Tools::getOption( 'hmwp_hide_version_random' ) ) { if ( function_exists( 'is_user_logged_in' ) && is_user_logged_in() ) { HMWP_Classes_Tools::saveOptions( 'hmwp_hide_version_random', mt_rand( 11111, 99999 ) ); } $find[] = '/(\?|\&|\&)ver=[0-9a-zA-Z\.\_\-\+]+(\&|\&)/'; $replace[] = '$1rnd=' . HMWP_Classes_Tools::getOption( 'hmwp_hide_version_random' ) . '$2'; $find[] = '/(\?|\&|\&)ver=[0-9a-zA-Z\.\_\-\+]+("|\')/'; $replace[] = '$1rnd=' . HMWP_Classes_Tools::getOption( 'hmwp_hide_version_random' ) . '$2'; } else { $find[] = '/(\?|\&|\&)ver=[0-9a-zA-Z\.\_\-\+]+(\&|\&)/'; $replace[] = '$1'; $find[] = '/(\?|\&|\&)ver=[0-9a-zA-Z\.\_\-\+]+("|\')/'; $replace[] = '$2'; } } if ( HMWP_Classes_Tools::getOption( 'hmwp_hide_in_sitemap' ) && HMWP_Classes_Tools::getOption( 'hmwp_hide_author_in_sitemap' ) ) { $find[] = '/(<\?xml-stylesheet[\s])([^>]+>)/i'; $replace[] = ''; } //Remove the Generator link if ( HMWP_Classes_Tools::getOption( 'hmwp_hide_generator' ) ) { $find[] = '/]*name=[\'"]generator[\'"][^>]*>/i'; $replace[] = ''; } //Remove WP prefetch domains that reveal the CMS if ( HMWP_Classes_Tools::getOption( 'hmwp_hide_prefetch' ) ) { $find[] = '/]*rel=[\'"]dns-prefetch[\'"][^>]*w.org[^>]*>/i'; $replace[] = ''; $find[] = '/]*rel=[\'"]dns-prefetch[\'"][^>]*wp.org[^>]*>/i'; $replace[] = ''; $find[] = '/]*rel=[\'"]dns-prefetch[\'"][^>]*wordpress.org[^>]*>/i'; $replace[] = ''; } //Remove the Pingback link from source code if ( HMWP_Classes_Tools::getOption( 'hmwp_disable_xmlrpc' ) ) { $find[] = '/(]+>)/i'; $replace[] = ''; } //remove Style IDs if ( HMWP_Classes_Tools::getOption( 'hmwp_hide_styleids' ) ) { $find[] = '/(]*rel=[^>]+)[\s]id=[\'"][0-9a-zA-Z._-]+[\'"]([^>]*>)/i'; $replace[] = '$1 $2'; $find[] = '/(]*)[\s]id=[\'"][0-9a-zA-Z._-]+[\'"]([^>]*>)/i'; $replace[] = '$1 $2'; $find[] = '/(]*)[\s]id=[\'"][0-9a-zA-Z._-]+[\'"]([^>]*>)/i'; $replace[] = '$1 $2'; $find[] = '/]*name=[\'"]msapplication-TileImage[\'"][^>]*>/i'; $replace[] = ''; } //remove the Feed from header if ( HMWP_Classes_Tools::getOption( 'hmwp_hide_feed' ) ) { $find[] = '/]*rel=[\'"]alternate[\'"][^>]*type=[\'"]application\/rss\+xml[\'"][^>]*>/i'; $replace[] = ''; $find[] = '/]*type=[\'"]application\/rss\+xml[\'"][^>]*rel=[\'"]alternate[\'"][^>]*>/i'; $replace[] = ''; $find[] = '/]*type=[\'"]application\/atom\+xml[\'"][^>]*>/i'; $replace[] = ''; } //remove wp-json if ( HMWP_Classes_Tools::getDefault( 'hmwp_wp-json' ) <> HMWP_Classes_Tools::getOption( 'hmwp_wp-json' ) ) { $find[] = '/(]+>)/i'; $replace[] = ''; } return preg_replace( $find, $replace, $content ); } /** * Replace the current buffer by content type * * @throws Exception */ public function findReplaceXML() { //Force to change the URL for xml content types if ( HMWP_Classes_Tools::isContentHeader( array( 'text/xml', 'application/xml' ) ) || ( isset( $_SERVER['REQUEST_URI'] ) && strpos( $_SERVER['REQUEST_URI'], '.xml' ) !== false ) ) { //change and replace paths $this->clearRedirect(); //builder the redirects $this->buildRedirect(); //make sure to include the blog url $this->prepareFindReplace(); $content = ob_get_contents(); if ( $content <> '' ) { $content = str_ireplace( $this->_replace['from'], $this->_replace['to'], $content ); if ( HMWP_Classes_Tools::getOption( 'hmwp_hide_author_in_sitemap' ) ) { $content = $this->replaceHeadersAndTags( $content ); } ob_end_clean(); echo $content; exit(); } } } /** * Replace the robots file fo rsecurity * * @throws Exception */ public function replaceRobots() { //Force to change the URL for xml content types if ( HMWP_Classes_Tools::isContentHeader( array( 'text/plain' ) ) || ( isset( $_SERVER['REQUEST_URI'] ) && strpos( $_SERVER['REQUEST_URI'], '.txt' ) !== false ) ) { //change and replace paths $this->clearRedirect(); //builder the redirects $this->buildRedirect(); $content = ob_get_contents(); if ( $content <> '' ) { $array = explode( "\n", $content ); foreach ( $array as $index => $row ) { if ( strpos( $row, '/wp-admin' ) !== false || strpos( $row, '/wp-login.php' ) !== false ) { unset( $array[ $index ] ); } } $content = join( "\n", $array ); $content = str_ireplace( $this->_replace['from'], $this->_replace['to'], $content ); ob_end_clean(); echo $content; exit(); } } } /** * Callback for Text Mapping * * @param $found * * @return mixed */ public function replaceText( $found ) { $content = $found[0]; if ( $content <> '' ) { $content = str_ireplace( $this->_findtextmapping, $this->_replacetextmapping, $content ); } return $content; } /** * Disable the emoji icons */ public function disableEmojicons() { // all actions related to emojis remove_action( 'admin_print_styles', 'print_emoji_styles' ); remove_action( 'wp_head', 'print_emoji_detection_script', 7 ); remove_action( 'admin_print_scripts', 'print_emoji_detection_script' ); remove_action( 'wp_print_styles', 'print_emoji_styles' ); remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' ); remove_filter( 'the_content_feed', 'wp_staticize_emoji' ); remove_filter( 'comment_text_rss', 'wp_staticize_emoji' ); add_filter( 'emoji_svg_url', '__return_false' ); // filter to remove TinyMCE emojis add_filter( 'tiny_mce_plugins', function( $plugins ) { if ( is_array( $plugins ) ) { return array_diff( $plugins, array( 'wpemoji' ) ); } else { return array(); } } ); } /** * Hides the REST API links from the head and HTTP headers. * * @return void */ public function hideRestApi() { remove_action( 'wp_head', 'rest_output_link_wp_head' ); remove_action( 'template_redirect', 'rest_output_link_header', 11 ); } /** * Modify REST API endpoints to hide user listings for unauthorized users. * * @param array $endpoints The array of registered REST API endpoints. * * @return array The modified array of REST API endpoints. */ public function hideRestUsers( $endpoints ) { // Remove the users listing from Rest API if (!current_user_can('list_users')) { if ( isset( $endpoints['/wp/v2/users'] ) ) { unset( $endpoints['/wp/v2/users'] ); } if ( isset( $endpoints['/wp/v2/users/(?P[\d]+)'] ) ) { unset( $endpoints['/wp/v2/users/(?P[\d]+)'] ); } } return $endpoints; } /** * Hide the 'rest_route' parameter when the REST API path is changed. * * @return void * @throws Exception */ public function hideRestRouteParam() { ///////////////////////////////////////////////////// //hide rest_route when rest api path is changed if ( HMWP_Classes_Tools::getValue( 'rest_route' ) ) { $this->getNotFound( false ); } } /** * Disable the Rest Api access */ public function disableRestApi() { remove_action( 'init', 'rest_api_init' ); remove_action( 'rest_api_init', 'rest_api_default_filters' ); remove_action( 'parse_request', 'rest_api_loaded' ); remove_action( 'wp_head', 'rest_output_link_wp_head' ); remove_action( 'template_redirect', 'rest_output_link_header', 11 ); add_filter( 'json_enabled', '__return_false' ); add_filter( 'json_jsonp_enabled', '__return_false' ); } /** * Disable the embeds */ public function disableEmbeds() { // Remove the REST API endpoint. remove_action( 'rest_api_init', 'wp_oembed_register_route' ); // Turn off oEmbed auto discovery. // Don't filter oEmbed results. remove_filter( 'oembed_dataparse', 'wp_filter_oembed_result' ); // Remove oEmbed discovery links. remove_action( 'wp_head', 'wp_oembed_add_discovery_links' ); // Remove oEmbed-specific JavaScript from the front-end and back-end. remove_action( 'wp_head', 'wp_oembed_add_host_js' ); } /** * Disable Windows Live Write */ public function disableManifest() { remove_action( 'wp_head', 'wlwmanifest_link' ); } /** * Disable Really Simple Discovery * Disable RSD support from XML RPC */ public function disableRsd() { remove_action( 'wp_head', 'rsd_link' ); remove_action( 'xmlrpc_rsd_apis', 'rest_output_rsd' ); } /** * Disable to commend from W3 Total Cache */ public function disableComments() { global $wp_super_cache_comments; remove_all_filters( 'w3tc_footer_comment' ); $wp_super_cache_comments = false; } /** * Replace the Error Message that contains WordPress * * @param string $message * @param string $error * * @return string */ public function replace_error_message( $message, $error ) { if ( is_protected_endpoint() ) { $message = esc_html__( 'There has been a critical error on your website. Please check your site admin email inbox for instructions.' ); } else { $message = esc_html__( 'There has been a critical error on your website.' ); } return $message; } } models/RoleManager.php000064400000005645147600042240010745 0ustar00ID, 'manage_options' ) ){ $allcaps[HMWP_CAPABILITY] = 1; } //If the user has multiple roles if ( !empty( $user->roles ) && is_array( $user->roles ) ) { foreach ( $user->roles as $role ) { /** @var WP_Role $allroles */ $role_object = get_role( $role ); foreach ( (array) $caps as $cap ) { if ( $role_object->has_cap( $cap ) ) { $allcaps[$cap] = 1; } } } } return $allcaps; } /** * Register HMWP Caps * in case they don't exist */ public function addHMWPCaps() { if ( function_exists( 'wp_roles' ) ) { /** @var WP_Role[] $allroles */ $allroles = wp_roles()->get_names(); if ( ! empty( $allroles ) ) { $allroles = array_keys( $allroles ); } if ( ! empty( $allroles ) ) { foreach ( $allroles as $role ) { if ( $role == 'administrator' ) { /** @var WP_Role $allroles */ $wp_role = get_role( $role ); $this->addCap( $wp_role, HMWP_CAPABILITY ); } } } } } public function removeHMWPCaps() { if ( function_exists( 'wp_roles' ) ) { /** @var WP_Role[] $allroles */ $allroles = wp_roles()->get_names(); if ( ! empty( $allroles ) ) { $allroles = array_keys( $allroles ); } if ( ! empty( $allroles ) ) { foreach ( $allroles as $role ) { /** @var WP_Role $allroles */ $wp_role = get_role( $role ); $this->removeCap( $wp_role, HMWP_CAPABILITY ); } } } } /** * Add a cap into WP for a role * * @param WP_Role $role * @param string $capability */ public function addCap( $role, $capability ) { if ( ! $role || ! method_exists( $role, 'add_cap' ) ) { return; } if ( ! isset( $role->capabilities[$capability] ) ) { $role->add_cap( $capability ); } } /** * Remove the caps for a role * * @param WP_Role $role * @param string $capability */ public function removeCap( $role, $capability ) { if ( ! $role || ! method_exists( $role, 'remove_cap' ) ) { return; } if ( isset( $role->capabilities[$capability] ) ) { $role->remove_cap( $capability ); } } } models/Rollback.php000064400000010376147600042240010277 0ustar00 $value ) { $this->{$key} = $value; } return $this; } /** * Print inline style. * * @access private */ private function print_inline_style() { ?> new_version = $this->version; $plugin_info->slug = $this->plugin_slug; $plugin_info->package = $this->package_url; $plugin_info->url = _HMWP_ACCOUNT_SITE_; $update_plugins->response[ $this->plugin_name ] = $plugin_info; set_site_transient( 'update_plugins', $update_plugins ); } /** * Initiates the plugin upgrade process by setting up the necessary arguments * and invoking the Plugin_Upgrader class to perform the upgrade. * * @return void */ protected function upgrade() { include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; $this->print_inline_style(); $upgrader = new \Plugin_Upgrader( new \WP_Ajax_Upgrader_Skin() ); $upgrader->upgrade( $this->plugin_name ); } /** * Executes the primary flow for applying a package and subsequently performing an upgrade. * * @return void */ public function run() { $this->apply_package(); $this->upgrade(); } /** * Handles the installation process of a plugin by setting up necessary * includes and running the Plugin_Upgrader with the provided arguments. * * @param mixed $args The arguments needed to set up the installation process. * * @return bool|WP_Error True if installation was successful, WP_Error on failure. */ public function install( $args ) { // Includes necessary for Plugin_Upgrader and Plugin_Installer_Skin include_once( ABSPATH . 'wp-admin/includes/file.php' ); include_once( ABSPATH . 'wp-admin/includes/misc.php' ); include_once( ABSPATH . 'wp-admin/includes/class-wp-upgrader.php' ); $this->set_plugin( $args )->apply_package(); $upgrader = new Plugin_Upgrader( new WP_Ajax_Upgrader_Skin() ); return $upgrader->install( $this->package_url, array( 'overwrite_package' => true ) ); } /** * Activates a specified plugin by updating the list of active plugins * and triggering activation hooks. * * @param string $plugin The plugin to be activated. * * @return null */ public function activate( $plugin ) { $plugin = trim( $plugin ); $current = get_option( 'active_plugins' ); $plugin = plugin_basename( $plugin ); if ( $plugin <> '' && ! in_array( $plugin, $current ) ) { $current[] = $plugin; sort( $current ); try { do_action( 'activate_plugin', $plugin, true ); update_option( 'active_plugins', $current ); do_action( 'activate_' . $plugin ); do_action( 'activated_plugin', $plugin, true ); } catch ( Exception $e ) { } } return null; } } models/Rules.php000064400000210766147600042240007645 0ustar00root_path = HMWP_Classes_Tools::getRootPath(); if ( HMWP_Classes_Tools::isLocalFlywheel() && HMWP_Classes_Tools::isNginx() ) { //set the path to the config directory $root_config = realpath( dirname( $this->root_path, 2 ) . '/conf/nginx/includes' ); //check if config directory exists if ( is_dir( $root_config ) ) { $this->config_file = str_replace( '\\', '/', $root_config ) . '/' . 'hidemywp.conf'; } } elseif ( HMWP_Classes_Tools::isNginx() ) { $this->config_file = $this->root_path . 'hidemywp.conf'; } elseif ( HMWP_Classes_Tools::isIIS() ) { $this->config_file = $this->root_path . 'web.config'; } elseif ( HMWP_Classes_Tools::isApache() || HMWP_Classes_Tools::isLitespeed() ) { $this->config_file = $this->root_path . '.htaccess'; } else { $this->config_file = false; } //Set known logged in cookies $this->whitelist_cookies[] = 'wordpress_logged_in_'; $this->whitelist_cookies[] = HMWP_LOGGED_IN_COOKIE; //Let third party cookie check $this->whitelist_cookies = apply_filters( 'hmwp_rules_whitelisted_cookies' , $this->whitelist_cookies ); $this->whitelist_cookies = array_unique( $this->whitelist_cookies ); // Add the whitelist IPs in config for hidden path access if( $whitelist_ip = HMWP_Classes_Tools::getOption( 'whitelist_ip' ) ){ if( !empty( $whitelist_ip ) ){ if( $whitelist_ip = (array) json_decode( $whitelist_ip, true ) ){ $this->whitelist_ips = array_merge( $this->whitelist_ips, $whitelist_ip ); } } } // Let third party IP addresses $this->whitelist_ips = apply_filters( 'hmwp_rules_whitelisted_ips' , $this->whitelist_ips ); // Filter / Sanitize IP addresses if( !empty($this->whitelist_ips) ){ $this->whitelist_ips = array_filter(array_map( function ( $ip ){ if ( !filter_var( $ip, FILTER_VALIDATE_IP ) ) { return false; } return trim($ip); }, $this->whitelist_ips )); } $this->whitelist_ips = array_unique( $this->whitelist_ips ); } /** * Get the config file * * @return mixed|void */ public function getConfFile() { return apply_filters( 'hmwp_config_file', $this->config_file ); } /** * Check if the config file is writable * * @param string $config_file * * @return bool */ public function isConfigWritable( $config_file = null ) { //Initialize WordPress Filesystem $wp_filesystem = HMWP_Classes_ObjController::initFilesystem(); //get the global config file if not specified if ( ! isset( $config_file ) ) { $config_file = $this->getConfFile(); } if ( $config_file ) { //If the config file does not exist if ( ! $wp_filesystem->exists( $config_file ) ) { //can write into directory if ( ! $wp_filesystem->is_writable( dirname( $config_file ) ) ) { return false; } //can create the file if ( ! $wp_filesystem->touch( $config_file ) ) { return false; } } elseif ( ! $wp_filesystem->is_writable( $config_file ) ) { //is writable return false; } } return true; } /** * Write to config file * * @param $rules * @param string $header * * @return bool * @throws Exception */ public function writeToFile( $rules, $header = 'HMWP_RULES' ) { if ( $this->getConfFile() ) { if ( HMWP_Classes_Tools::isNginx() ) { return $this->writeInNginx( $rules, $header ); } elseif ( HMWP_Classes_Tools::isIIS() && ! HMWP_Classes_Tools::getOption( 'logout' ) ) { return HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rewrite' )->flushRewrites(); } elseif ( HMWP_Classes_Tools::isApache() || HMWP_Classes_Tools::isLitespeed() ) { return $this->writeInHtaccess( $rules, $header ); } } return false; } /** * Find the regex text in specific file * * @param string $find * @param string $file * * @return bool */ public function find( $find, $file ) { $lines = file( $file ); foreach ( (array) $lines as $line ) { if ( preg_match( "/$find/", $line ) ) { return true; } } return false; } /** * Replace text in file * * @param $old * @param $new * @param $file * * @return bool */ public function findReplace( $old, $new, $file ) { $added = false; $lines = file( $file ); //If the line is found if ( $new <> '' ) { if ( $this->find( $old, $file ) ) { $fd = fopen( $file, 'w' ); foreach ( (array) $lines as $line ) { if ( ! preg_match( "/$old/", $line ) ) { fputs( $fd, $line ); } else { //add the new line and replace the old line fputs( $fd, $new ); $added = true; } } fclose( $fd ); } else { return $this->addLine( $new, $file ); } } return $added; } /** * Add the new line in file * * @param $new * @param $file * * @return bool */ public function addLine( $new, $file ) { $added = false; $lines = file( $file ); if ( $new <> '' ) { $fd = fopen( $file, 'w' ); foreach ( (array) $lines as $line ) { fputs( $fd, $line ); if ( preg_match( '/\$table_prefix/', $line ) ) { fputs( $fd, $new ); $added = true; } } fclose( $fd ); } return $added; } /** * Write the rules in the conf file * * @param $rules * @param $header * * @return bool */ public function writeInNginx( $rules, $header = 'HMWP_RULES' ) { return $this->insertWithMarkers( $header, $rules ); } /** * Write the rules into htaccess file * * @param $rules * @param $header * * @return bool */ public function writeInHtaccess( $rules, $header = 'HMWP_RULES' ) { if ( HMWP_Classes_Tools::isModeRewrite() ) { return $this->insertWithMarkers( $header, $rules ); } return false; } /** * Inserts an array of strings into a file (.htaccess ), placing it between * BEGIN and END markers. * * Replaces existing marked info. Retains surrounding * data. Creates file if none exists. * * @param string $marker The marker to alter. * @param array|string $insertion The new content to insert. * * @return bool True on write success, false on failure. */ public function insertWithMarkers( $marker, $insertion ) { //Initialize WordPress Filesystem $wp_filesystem = HMWP_Classes_ObjController::initFilesystem(); if ( ! $this->isConfigWritable() ) { if ( ! $this->forceOpenConfigFile( $this->getConfFile() ) ) { return false; } } $start_marker = "# BEGIN $marker"; $end_marker = "# END $marker"; if ( $insertion == '' ) { //delete the marker if there is no data to add in it if ( method_exists( $wp_filesystem, 'get_contents' ) && method_exists( $wp_filesystem, 'put_contents' ) ) { try { $htaccess = $wp_filesystem->get_contents( $this->getConfFile() ); $htaccess = preg_replace( "/$start_marker.*$end_marker/s", "", $htaccess ); $htaccess = preg_replace( "/\n+/", "\n", $htaccess ); $wp_filesystem->put_contents( $this->getConfFile(), $htaccess ); return true; } catch ( Exception $e ) { } } } if ( ! is_array( $insertion ) ) { $insertion = explode( "\n", $insertion ); $insertion = array_filter( $insertion ); } //open the file only if writable if ( $wp_filesystem->is_writable( $this->getConfFile() ) ) { $fp = fopen( $this->getConfFile(), 'r+' ); if ( ! $fp ) { return false; } // Attempt to get a lock. If the filesystem supports locking, this will block until the lock is acquired. flock( $fp, LOCK_EX ); $lines = array(); while ( ! feof( $fp ) ) { $lines[] = rtrim( fgets( $fp ), "\r\n" ); } // Split out the existing file into the preceding lines, and those that appear after the marker $pre_lines = $post_lines = $existing_lines = array(); $found_marker = $found_end_marker = false; foreach ( $lines as $line ) { if ( ! $found_marker && false !== strpos( $line, $start_marker ) ) { $found_marker = true; continue; } elseif ( ! $found_end_marker && false !== strpos( $line, $end_marker ) ) { $found_end_marker = true; continue; } if ( ! $found_marker ) { $pre_lines[] = $line; } elseif ( $found_end_marker ) { $post_lines[] = $line; } else { $existing_lines[] = $line; } } // Check to see if there was a change if ( $existing_lines === $insertion ) { flock( $fp, LOCK_UN ); fclose( $fp ); //Set the chmod back on file close $this->closeConfigFile( $this->getConfFile() ); return true; } // Generate the new file data if ( ! $found_marker ) { $new_file_data = implode( "\n", array_merge( array( $start_marker ), $insertion, array( $end_marker ), $pre_lines ) ); } else { $new_file_data = implode( "\n", array_merge( $pre_lines, array( $start_marker ), $insertion, array( $end_marker ), $post_lines ) ); } // Write to the start of the file, and truncate it to that length fseek( $fp, 0 ); $bytes = fwrite( $fp, $new_file_data ); if ( $bytes ) { ftruncate( $fp, ftell( $fp ) ); } fflush( $fp ); flock( $fp, LOCK_UN ); fclose( $fp ); //Set the chmod back on file close $this->closeConfigFile( $this->getConfFile() ); return (bool) $bytes; } return false; } /** * Force opening the file * * @param $config_file * * @return bool */ public function forceOpenConfigFile( $config_file ) { $this->config_chmod = false; //Initialize WordPress Filesystem $wp_filesystem = HMWP_Classes_ObjController::initFilesystem(); if ( ! HMWP_Classes_Tools::isWindows() && $wp_filesystem->exists( $config_file ) ) { if ( method_exists( $wp_filesystem, 'getchmod' ) && method_exists( $wp_filesystem, 'chmod' ) ) { $this->config_chmod = $wp_filesystem->getchmod( $config_file ); $wp_filesystem->chmod( $config_file, 0664 ); if ( is_writeable( $config_file ) ) { if ( method_exists( $wp_filesystem, 'copy' ) ) { $wp_filesystem->copy( $config_file, $config_file . '_bk' ); } return true; } } } return false; } /** * Set the chmod back on file close * * @param $config_file */ public function closeConfigFile( $config_file ) { //Initialize WordPress Filesystem $wp_filesystem = HMWP_Classes_ObjController::initFilesystem(); if ( $this->config_chmod && isset( $wp_filesystem ) ) { $wp_filesystem->chmod( $config_file, octdec( $this->config_chmod ) ); } } /** * Hide the Old Paths like /hmwp_wp-content_url, /hmwp_wp-includes_url */ public function getHideOldPathRewrite() { $rules = ''; $home_root = '/'; if ( HMWP_Classes_Tools::isMultisites() && defined( 'PATH_CURRENT_SITE' ) ) { $path = PATH_CURRENT_SITE; } else { $path = wp_parse_url( site_url(), PHP_URL_PATH ); } if ( $path ) { $home_root = trailingslashit( $path ); } $wp_content = HMWP_Classes_Tools::getDefault( 'hmwp_wp-content_url' ); $wp_includes = HMWP_Classes_Tools::getDefault( 'hmwp_wp-includes_url' ); $extensions = array(); $types = (array) HMWP_Classes_Tools::getOption( 'hmwp_hide_oldpaths_types' ); $files = (array) HMWP_Classes_Tools::getOption( 'hmwp_hide_commonfiles_files' ); if ( ! empty( $files ) && ( $key = array_search( HMWP_Classes_Tools::getDefault( 'hmwp_wp-comments-post' ), $files ) ) !== false ) { unset( $files[ $key ] ); } //Do not hide upgrade.php file from logged users if ( ! empty( $files ) && ( $key = array_search( 'upgrade.php', $files ) ) !== false ) { unset( $files[ $key ] ); } if ( in_array( 'css', $types ) ) { $extensions[] = '\.css'; $extensions[] = '\.scss'; } if ( in_array( 'js', $types ) ) { $extensions[] = '\.js'; } if ( in_array( 'php', $types ) ) { $extensions[] = '\.php'; } if ( in_array( 'html', $types ) ) { $extensions[] = '\.htm'; $extensions[] = '\.html'; } if ( in_array( 'txt', $types ) ) { $extensions[] = '\.rtf'; $extensions[] = '\.rtx'; $extensions[] = '\.txt'; } if ( in_array( 'xml', $types ) ) { $extensions[] = '\.xsd'; $extensions[] = '\.xml'; } if ( in_array( 'json', $types ) ) { $extensions[] = '\.json'; } if ( in_array( 'lock', $types ) ) { $extensions[] = '\.lock'; } if ( in_array( 'image', $types ) ) { $extensions[] = '\.jpg'; $extensions[] = '\.jpeg'; $extensions[] = '\.tiff'; $extensions[] = '\.gif'; $extensions[] = '\.bmp'; $extensions[] = '\.png'; $extensions[] = '\.webp'; } //Hook the list of the extensions to block on old paths $extensions = apply_filters( 'hmwp_common_paths_extensions', $extensions ); if ( HMWP_Classes_Tools::isNginx() ) { if ( HMWP_Classes_Tools::getOption( 'hmwp_hide_oldpaths' ) ) { //redirect media from the old paths to the new paths if ( in_array( 'media', $types ) ) { if ( HMWP_Classes_Tools::getDefault( 'hmwp_upload_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_upload_url' ) ) { $rules .= 'set $cond "";' . PHP_EOL; if ( !empty($this->whitelist_ips) ){ foreach ($this->whitelist_ips as $ip){ $rules .= 'if ($remote_addr = "' . $ip . '" ) { set $cond "whitelist"; }' . PHP_EOL; } } $rules .= 'if ($http_cookie !~* "' . join( '|', $this->whitelist_cookies ) . '") { set $cond "${cond}cookie"; }' . PHP_EOL; $rules .= 'if ($request_uri ~* ^' . $home_root . $wp_content . "/" . HMWP_Classes_Tools::getDefault( 'hmwp_upload_url' ) . '/[^\.]+.[^\.]+) { set $cond "${cond}+redirect_uri"; }' . PHP_EOL; $rules .= 'if ($cond = "cookie+redirect_uri") { rewrite ^' . $home_root . $wp_content . "/" . HMWP_Classes_Tools::getDefault( 'hmwp_upload_url' ) . "/(.*)$ " . $home_root . HMWP_Classes_Tools::getOption( 'hmwp_upload_url' ).'/$1 redirect; }' . PHP_EOL; } } if ( HMWP_Classes_Tools::getDefault( 'hmwp_wp-content_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_wp-content_url' ) ) { $rules .= 'set $cond "";' . PHP_EOL; if ( !empty($this->whitelist_ips) ){ foreach ($this->whitelist_ips as $ip){ $rules .= 'if ($remote_addr = "' . $ip . '" ) { set $cond "whitelist"; }' . PHP_EOL; } } $rules .= 'if ($http_cookie !~* "' . join( '|', $this->whitelist_cookies ) . '") { set $cond "${cond}cookie"; }' . PHP_EOL; $rules .= 'if ($request_uri ~* ^' . $home_root . $wp_content . '/?$) { set $cond "${cond}+deny_uri"; }' . PHP_EOL; $rules .= 'if ($request_uri ~* ^' . $home_root . $wp_content . '/[^\.]+/?$) { set $cond "${cond}+deny_uri"; }' . PHP_EOL; if ( HMWP_Classes_Tools::getDefault( 'hmwp_wp-includes_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_wp-includes_url' ) ) { $rules .= 'if ($request_uri ~* ^' . $home_root . $wp_includes . '/?$) { set $cond "${cond}+deny_uri"; }' . PHP_EOL; } if ( ! empty( $extensions ) ) { if ( HMWP_Classes_Tools::getDefault( 'hmwp_plugin_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_plugin_url' ) ) { $rules .= 'if ($request_uri ~* ^' . $home_root . HMWP_Classes_Tools::getDefault( 'hmwp_plugin_url' ) . '/[^\.]+(' . join( '|', $extensions ) . ')) { set $cond "${cond}+deny_uri"; }' . PHP_EOL; } if ( HMWP_Classes_Tools::getDefault( 'hmwp_themes_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_themes_url' ) ) { $rules .= 'if ($request_uri ~* ^' . $home_root . $wp_content . '/' . HMWP_Classes_Tools::getDefault( 'hmwp_themes_url' ) . '/[^\.]+(' . join( '|', $extensions ) . ')) { set $cond "${cond}+deny_uri"; }' . PHP_EOL; } if ( HMWP_Classes_Tools::getDefault( 'hmwp_upload_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_upload_url' ) ) { $rules .= 'if ($request_uri ~* ^' . $home_root . $wp_content . '/' . HMWP_Classes_Tools::getDefault( 'hmwp_upload_url' ) . '/[^\.]+(' . join( '|', $extensions ) . ')) { set $cond "${cond}+deny_uri"; }' . PHP_EOL; } if ( HMWP_Classes_Tools::getDefault( 'hmwp_wp-includes_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_wp-includes_url' ) ) { $rules .= 'if ($request_uri ~* ^' . $home_root . $wp_includes . '/[^\.]+(' . join( '|', $extensions ) . ')) { set $cond "${cond}+deny_uri"; }' . PHP_EOL; } } //hide the installation and upgrade files for not loggedin users $rules .= 'if ($request_uri ~* ^' . $home_root . 'wp-admin/(install.php|upgrade.php)) { set $cond "${cond}+deny_uri"; }' . PHP_EOL; $rules .= 'if ($cond = "cookie+deny_uri") { return 404; } ' . PHP_EOL; } } if ( HMWP_Classes_Tools::getOption( 'hmwp_hide_commonfiles' ) && ! empty( $files ) ) { $rules .= 'location ~ ^/(' . join( '|', $files ) . ') { deny all; }' . PHP_EOL; } } elseif ( HMWP_Classes_Tools::isApache() || HMWP_Classes_Tools::isLitespeed() ) { if ( in_array( 'media', $types ) ) { if ( HMWP_Classes_Tools::getDefault( 'hmwp_upload_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_upload_url' ) ) { $rules .= "" . PHP_EOL; $rules .= "RewriteEngine On" . PHP_EOL; $rules .= "RewriteBase $home_root" . PHP_EOL; if ( !empty($this->whitelist_ips) ){ foreach ($this->whitelist_ips as $ip){ $rules .= "RewriteCond %{REMOTE_ADDR} !^$ip$" . PHP_EOL; } } $rules .= "RewriteCond %{HTTP:Cookie} !(" . join( '|', $this->whitelist_cookies ) . ") [NC]" . PHP_EOL; $rules .= "RewriteCond %{THE_REQUEST} " . $home_root . $wp_content . "/" . HMWP_Classes_Tools::getDefault( 'hmwp_upload_url' ) . "/[^\.]+.[^\.]+ [NC]" . PHP_EOL; $rules .= "RewriteRule ^([_0-9a-zA-Z-]+/)?" . $wp_content . "/" . HMWP_Classes_Tools::getDefault( 'hmwp_upload_url' ) . "/(.*)$ " . $home_root . HMWP_Classes_Tools::getOption( 'hmwp_upload_url' ) . "/$2 [L,R=301]" . PHP_EOL; $rules .= "" . PHP_EOL . PHP_EOL; } } if ( HMWP_Classes_Tools::getOption( 'hmwp_sqlinjection_location' ) == 'file' && HMWP_Classes_Tools::getOption( 'hmwp_sqlinjection' ) && (int) HMWP_Classes_Tools::getOption( 'hmwp_sqlinjection_level' ) > 0 ) { $rules .= "" . PHP_EOL; $rules .= "RewriteEngine On" . PHP_EOL; $rules .= "RewriteBase $home_root" . PHP_EOL; // Prevent -f checks on index.php. if ( (int) HMWP_Classes_Tools::getOption( 'hmwp_sqlinjection_level' ) == 1 ) { $rules .= "RewriteCond %{THE_REQUEST} etc/passwd [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (\\<|%3C).*object.*(\\>|%3E) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (<|%3C)([^o]*o)+bject.*(>|%3E) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (\\<|%3C).*iframe.*(\\>|%3E) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (<|%3C)([^i]*i)+frame.*(>|%3E) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} base64_encode.*\\(.*\\) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} base64_(en|de)code[^(]*\\([^)]*\\) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (localhost|loopback|127\\.0\\.0\\.1) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} concat[^\\(]*\\( [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} union([^s]*s)+elect [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} union([^a]*a)+ll([^s]*s)+elect [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (sp_executesql) [NC]" . PHP_EOL; } if ( (int) HMWP_Classes_Tools::getOption( 'hmwp_sqlinjection_level' ) == 2 ) { $rules .= "RewriteCond %{HTTP_USER_AGENT} (%0A|%0D|%3C|%3E|%00) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{HTTP_USER_AGENT} (;|<|>|'|\\\"|\\)|\\(|%0A|%0D|%22|%28|%3C|%3E|%00).*(libwww-perl|wget|python|nikto|curl|scan|java|winhttp|HTTrack|clshttp|archiver|loader|email|harvest|extract|grab|miner) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{THE_REQUEST} (\\*|%2a)+(%20+|\\s+|%20+\\s+|\\s+%20+|\\s+%20+\\s+)HTTP(:/|/) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{THE_REQUEST} etc/passwd [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{THE_REQUEST} (%0A|%0D|\\r|\\n) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} owssvr\\.dll [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{HTTP_REFERER} (%0A|%0D|%3C|%3E|%00) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{HTTP_REFERER} \\.opendirviewer\\. [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{HTTP_REFERER} users\\.skynet\\.be.* [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=http:// [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=(\\.\\.//?)+ [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=/([a-z0-9_.]//?)+ [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} \\=PHP[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12} [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (\\.\\./|%2e%2e%2f|%2e%2e/|\\.\\.%2f|%2e\\.%2f|%2e\\./|\\.%2e%2f|\\.%2e/) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} ftp\\: [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} \\=\\|w\\| [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} ^(.*)/self/(.*)$ [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} ^(.*)cPath=http://(.*)$ [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} base64_encode.*\\(.*\\) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} base64_(en|de)code[^(]*\\([^)]*\\) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} GLOBALS(=|\\[|\\%[0-9A-Z]{0,2}) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} _REQUEST(=|\\[|\\%[0-9A-Z]{0,2}) [NC,OR]" . PHP_EOL; if ( ! HMWP_Classes_Tools::isPluginActive( 'backup-guard-gold/backup-guard-pro.php' ) && ! HMWP_Classes_Tools::isPluginActive( 'wp-reset/wp-reset.php' ) && ! HMWP_Classes_Tools::isPluginActive( 'wp-statistics/wp-statistics.php' ) ) { $rules .= "RewriteCond %{QUERY_STRING} (\\<|%3C).*script.*(\\>|%3E) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (\\<|%3C).*embed.*(\\>|%3E) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (<|%3C)([^e]*e)+mbed.*(>|%3E) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (\\<|%3C).*object.*(\\>|%3E) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (<|%3C)([^o]*o)+bject.*(>|%3E) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (\\<|%3C).*iframe.*(\\>|%3E) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (<|%3C)([^i]*i)+frame.*(>|%3E) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} ^.*(\\(|\\)|<|>|%3c|%3e).* [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (<|>|'|%0A|%0D|%3C|%3E|%00) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (;|<|>|'|\"|\\)|%0A|%0D|%22|%27|%3C|%3E|%00).*(/\\*|union|select|insert|drop|delete|cast|create|char|convert|alter|declare|script|set|md5|benchmark|encode) [NC,OR]" . PHP_EOL; } $rules .= "RewriteCond %{QUERY_STRING} ^.*(\\x00|\\x04|\\x08|\\x0d|\\x1b|\\x20|\\x3c|\\x3e|\\x7f).* [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (NULL|OUTFILE|LOAD_FILE) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (\\.{1,}/)+(motd|etc|bin) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (localhost|loopback|127\\.0\\.0\\.1) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} concat[^\\(]*\\( [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} union([^s]*s)+elect [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} union([^a]*a)+ll([^s]*s)+elect [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} \\-[sdcr].*(allow_url_include|allow_url_fopen|safe_mode|disable_functions|auto_prepend_file) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (sp_executesql) [NC]" . PHP_EOL; } if ( (int) HMWP_Classes_Tools::getOption( 'hmwp_sqlinjection_level' ) == 3 ) { $rules .= "RewriteCond %{HTTP_USER_AGENT} ([a-z0-9]{2000,}) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{HTTP_USER_AGENT} (<|%0a|%0d|%27|%3c|%3e|%00|0x00) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{HTTP_USER_AGENT} (ahrefs|alexibot|majestic|mj12bot|rogerbot) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{HTTP_USER_AGENT} ((c99|php|web)shell|remoteview|site((.){0,2})copier) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{HTTP_USER_AGENT} (econtext|eolasbot|eventures|liebaofast|nominet|oppo\sa33) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{HTTP_USER_AGENT} (base64_decode|bin/bash|disconnect|eval|lwp-download|unserialize) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{HTTP_USER_AGENT} (acapbot|acoonbot|asterias|attackbot|backdorbot|becomebot|binlar|blackwidow|blekkobot|blexbot|blowfish|bullseye|bunnys|butterfly|careerbot|casper|checkpriv|cheesebot|cherrypick|chinaclaw|choppy|clshttp|cmsworld|copernic|copyrightcheck|cosmos|crescent|cy_cho|datacha|demon|diavol|discobot|dittospyder|dotbot|dotnetdotcom|dumbot|emailcollector|emailsiphon|emailwolf|extract|eyenetie|feedfinder|flaming|flashget|flicky|foobot|g00g1e|getright|gigabot|go-ahead-got|gozilla|grabnet|grafula|harvest|heritrix|httrack|icarus6j|jetbot|jetcar|jikespider|kmccrew|leechftp|libweb|linkextractor|linkscan|linkwalker|loader|masscan|miner|mechanize|morfeus|moveoverbot|netmechanic|netspider|nicerspro|nikto|ninja|nutch|octopus|pagegrabber|petalbot|planetwork|postrank|proximic|purebot|pycurl|python|queryn|queryseeker|radian6|radiation|realdownload|scooter|seekerspider|semalt|siclab|sindice|sistrix|sitebot|siteexplorer|sitesnagger|skygrid|smartdownload|snoopy|sosospider|spankbot|spbot|sqlmap|stackrambler|stripper|sucker|surftbot|sux0r|suzukacz|suzuran|takeout|teleport|telesoft|true_robots|turingos|turnit|vampire|vikspider|voideye|webleacher|webreaper|webstripper|webvac|webviewer|webwhacker|winhttp|wwwoffle|woxbot|xaldon|xxxyy|yamanalab|yioopbot|youda|zeus|zmeu|zune|zyborg) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} ([a-z0-9]{2000,}) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (/|%2f)(:|%3a)(/|%2f) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (order(\s|%20)by(\s|%20)1--) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (/|%2f)(\*|%2a)(\*|%2a)(/|%2f) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (ckfinder|fck|fckeditor|fullclick) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} ((.*)header:|(.*)set-cookie:(.*)=) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (cmd|command)(=|%3d)(chdir|mkdir)(.*)(x20) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (globals|mosconfig([a-z_]{1,22})|request)(=|\[) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (/|%2f)((wp-)?config)((\.|%2e)inc)?((\.|%2e)php) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (thumbs?(_editor|open)?|tim(thumbs?)?)((\.|%2e)php) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (absolute_|base|root_)(dir|path)(=|%3d)(ftp|https?) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (localhost|loopback|127(\.|%2e)0(\.|%2e)0(\.|%2e)1) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (s)?(ftp|inurl|php)(s)?(:(/|%2f|%u2215)(/|%2f|%u2215)) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (\.|20)(get|the)(_|%5f)(permalink|posts_page_url)(\(|%28) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} ((boot|win)((\.|%2e)ini)|etc(/|%2f)passwd|self(/|%2f)environ) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (((/|%2f){3,3})|((\.|%2e){3,3})|((\.|%2e){2,2})(/|%2f|%u2215)) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (benchmark|char|exec|fopen|function|html)(.*)(\(|%28)(.*)(\)|%29) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (php)([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (e|%65|%45)(v|%76|%56)(a|%61|%31)(l|%6c|%4c)(.*)(\(|%28)(.*)(\)|%29) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (/|%2f)(=|%3d|$&|_mm|inurl(:|%3a)(/|%2f)|(mod|path)(=|%3d)(\.|%2e)) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (\+|%2b|%20)(d|%64|%44)(e|%65|%45)(l|%6c|%4c)(e|%65|%45)(t|%74|%54)(e|%65|%45)(\+|%2b|%20) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (\+|%2b|%20)(i|%69|%49)(n|%6e|%4e)(s|%73|%53)(e|%65|%45)(r|%72|%52)(t|%74|%54)(\+|%2b|%20) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (\+|%2b|%20)(s|%73|%53)(e|%65|%45)(l|%6c|%4c)(e|%65|%45)(c|%63|%43)(t|%74|%54)(\+|%2b|%20) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (\+|%2b|%20)(u|%75|%55)(p|%70|%50)(d|%64|%44)(a|%61|%41)(t|%74|%54)(e|%65|%45)(\+|%2b|%20) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (g|%67|%47)(l|%6c|%4c)(o|%6f|%4f)(b|%62|%42)(a|%61|%41)(l|%6c|%4c)(s|%73|%53)(=|\[|%[0-9A-Z]{0,2}) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (_|%5f)(r|%72|%52)(e|%65|%45)(q|%71|%51)(u|%75|%55)(e|%65|%45)(s|%73|%53)(t|%74|%54)(=|\[|%[0-9A-Z]{2,}) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (j|%6a|%4a)(a|%61|%41)(v|%76|%56)(a|%61|%31)(s|%73|%53)(c|%63|%43)(r|%72|%52)(i|%69|%49)(p|%70|%50)(t|%74|%54)(:|%3a)(.*)(;|%3b|\)|%29) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (b|%62|%42)(a|%61|%41)(s|%73|%53)(e|%65|%45)(6|%36)(4|%34)(_|%5f)(e|%65|%45|d|%64|%44)(e|%65|%45|n|%6e|%4e)(c|%63|%43)(o|%6f|%4f)(d|%64|%44)(e|%65|%45)(.*)(\()(.*)(\)) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (@copy|\\\$_(files|get|post)|allow_url_(fopen|include)|auto_prepend_file|blexbot|browsersploit|(c99|php)shell|curl(_exec|test)|disable_functions?|document_root|elastix|encodeuricom|exploit|fclose|fgets|file_put_contents|fputs|fsbuff|fsockopen|gethostbyname|grablogin|hmei7|input_file|null|open_basedir|outfile|passthru|phpinfo|popen|proc_open|quickbrute|remoteview|root_path|safe_mode|shell_exec|site((.){0,2})copier|sux0r|trojan|user_func_array|wget|xertive) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} ((\+|%2b)(concat|delete|get|select|union)(\+|%2b)) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (union)(.*)(select)(.*)(\(|%28) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (concat|eval)(.*)(\(|%28) [NC,OR]" . PHP_EOL; if ( ! HMWP_Classes_Tools::isPluginActive( 'wp-reset/wp-reset.php' ) && ! HMWP_Classes_Tools::isPluginActive( 'wp-statistics/wp-statistics.php' ) ) { $rules .= "RewriteCond %{QUERY_STRING} (<|%3c)(.*)(e|%65|%45)(m|%6d|%4d)(b|%62|%42)(e|%65|%45)(d|%64|%44)(.*)(>|%3e) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (<|%3c)(.*)(i|%69|%49)(f|%66|%46)(r|%72|%52)(a|%61|%41)(m|%6d|%4d)(e|%65|%45)(.*)(>|%3e) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (<|%3c)(.*)(o|%4f|%6f)(b|%62|%42)(j|%4a|%6a)(e|%65|%45)(c|%63|%43)(t|%74|%54)(.*)(>|%3e) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (<|%3c)(.*)(s|%73|%53)(c|%63|%43)(r|%72|%52)(i|%69|%49)(p|%70|%50)(t|%74|%54)(.*)(>|%3e) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (;|<|>|\'|\\\"|\)|%0a|%0d|%22|%27|%3c|%3e|%00)(.*)(/\*|alter|base64|benchmark|cast|concat|convert|create|encode|declare|delete|drop|insert|md5|request|script|select|union|update) [NC,OR]" . PHP_EOL; } $rules .= "RewriteCond %{REQUEST_URI} (\^|`|<|>|\\\|\|) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} ([a-z0-9]{2000,}) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (=?\\\(\'|%27)/?)(\.) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (/)(\*|\\\"|\'|\.|,|&|&?)/?$ [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (\.)(php)(\()?([0-9]+)(\))?(/)?$ [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (/)(vbulletin|boards|vbforum)(/)? [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} /((.*)header:|(.*)set-cookie:(.*)=) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (/)(ckfinder|fck|fckeditor|fullclick) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (\.(s?ftp-?)config|(s?ftp-?)config\.) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (\{0\}|\\\"?0\\\"?=\\\"?0|\(/\(|\.\.\.|\+\+\+|\\\\\\\") [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (thumbs?(_editor|open)?|tim(thumbs?)?)(\.php) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (\.|20)(get|the)(_)(permalink|posts_page_url)(\() [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (///|\?\?|/&&|/\*(.*)\*/|/:/|\\\\\\\\|0x00|%00|%0d%0a) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (/%7e)(root|ftp|bin|nobody|named|guest|logs|sshd)(/) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (/)(etc|var)(/)(hidden|secret|shadow|ninja|passwd|tmp)(/)?$ [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (s)?(ftp|http|inurl|php)(s)?(:(/|%2f|%u2215)(/|%2f|%u2215)) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (/)(=|\\\$&?|&?(pws|rk)=0|_mm|_vti_|(=|/|;|,)nt\.) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (\.)(ds_store|htaccess|htpasswd|init?|mysql-select-db)(/)?$ [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (/)(bin)(/)(cc|chmod|chsh|cpp|echo|id|kill|mail|nasm|perl|ping|ps|python|tclsh)(/)?$ [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (/)(::[0-9999]|%3a%3a[0-9999]|127\.0\.0\.1|localhost|loopback|makefile|pingserver|wwwroot)(/)? [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (\(null\)|\{\\\$itemURL\}|cAsT\(0x|echo(.*)kae|etc/passwd|eval\(|self/environ|\+union\+all\+select) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (/)?j((\s)+)?a((\s)+)?v((\s)+)?a((\s)+)?s((\s)+)?c((\s)+)?r((\s)+)?i((\s)+)?p((\s)+)?t((\s)+)?(%3a|:) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (/)(awstats|(c99|php|web)shell|document_root|error_log|listinfo|muieblack|remoteview|site((.){0,2})copier|sqlpatch|sux0r) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (/)((php|web)?shell|crossdomain|fileditor|locus7|nstview|php(get|remoteview|writer)|r57|remview|sshphp|storm7|webadmin)(.*)(\.|\() [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (/)(author-panel|bitrix|class|database|(db|mysql)-?admin|filemanager|htdocs|httpdocs|https?|mailman|mailto|msoffice|mysql|_?php-my-admin(.*)|tmp|undefined|usage|var|vhosts|webmaster|www)(/) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (base64_(en|de)code|benchmark|child_terminate|curl_exec|e?chr|eval|function|fwrite|(f|p)open|html|leak|passthru|p?fsockopen|phpinfo|posix_(kill|mkfifo|setpgid|setsid|setuid)|proc_(close|get_status|nice|open|terminate)|(shell_)?exec|system)(.*)(\()(.*)(\)) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (/)(^$|00.temp00|0day|3index|3xp|70bex?|admin_events|bkht|(php|web)?shell|c99|config(\.)?bak|curltest|db|dompdf|filenetworks|hmei7|index\.php/index\.php/index|jahat|kcrew|keywordspy|libsoft|marg|mobiquo|mysql|nessus|php-?info|racrew|sql|vuln|(web-?|wp-)?(conf\b|config(uration)?)|xertive)(\.php) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (\.)(7z|ab4|ace|afm|ashx|aspx?|bash|ba?k?|bin|bz2|cfg|cfml?|conf\b|config|ctl|dat|db|dist|dll|eml|engine|env|et2|exe|fec|fla|hg|inc|ini|inv|jsp|log|lqd|make|mbf|mdb|mmw|mny|module|old|one|orig|out|passwd|pdb|phtml|pl|profile|psd|pst|ptdb|pwd|py|qbb|qdf|rar|rdf|save|sdb|sql|sh|soa|svn|swf|swl|swo|swp|stx|tar|tax|tgz|theme|tls|tmd|wow|xtmpl|ya?ml|zlib)$ [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REMOTE_HOST} (163data|amazonaws|colocrossing|crimea|g00g1e|justhost|kanagawa|loopia|masterhost|onlinehome|poneytel|sprintdatacenter|reverse.softlayer|safenet|ttnet|woodpecker|wowrack) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{HTTP_REFERER} (semalt.com|todaperfeita) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{HTTP_REFERER} (order(\s|%20)by(\s|%20)1--) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{HTTP_REFERER} (blue\spill|cocaine|ejaculat|erectile|erections|hoodia|huronriveracres|impotence|levitra|libido|lipitor|phentermin|pro[sz]ac|sandyauer|tramadol|troyhamby|ultram|unicauca|valium|viagra|vicodin|xanax|ypxaieo) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_METHOD} ^(connect|debug|move|trace|track) [NC]" . PHP_EOL; } if ( (int) HMWP_Classes_Tools::getOption( 'hmwp_sqlinjection_level' ) == 4 ) { $rules .= "RewriteCond %{HTTP_USER_AGENT} ([a-z0-9]{2000,}) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{HTTP_USER_AGENT} (<|%0a|%0d|%27|%3c|%3e|%00|0x00) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{HTTP_USER_AGENT} (ahrefs|alexibot|majestic|mj12bot|rogerbot) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{HTTP_USER_AGENT} (oppo\sa33|(c99|php|web)shell|site((.){0,2})copier) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{HTTP_USER_AGENT} (base64_decode|bin/bash|disconnect|eval|unserializ) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{HTTP_USER_AGENT} (acapbot|acoonbot|alexibot|asterias|attackbot|awario|backdor|becomebot|binlar|blackwidow|blekkobot|blex|blowfish|bullseye|bunnys|butterfly|careerbot|casper) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{HTTP_USER_AGENT} (checkpriv|cheesebot|cherrypick|chinaclaw|choppy|clshttp|cmsworld|copernic|copyrightcheck|cosmos|crescent|datacha|diavol|discobot|dittospyder) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{HTTP_USER_AGENT} (dotbot|dotnetdotcom|dumbot|econtext|emailcollector|emailsiphon|emailwolf|eolasbot|eventures|extract|eyenetie|feedfinder|flaming|flashget|flicky|foobot|fuck) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{HTTP_USER_AGENT} (g00g1e|getright|gigabot|go-ahead-got|gozilla|grabnet|grafula|harvest|heritrix|httracks?|icarus6j|jetbot|jetcar|jikespider|kmccrew|leechftp|libweb|liebaofast) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{HTTP_USER_AGENT} (linkscan|linkwalker|loader|lwp-download|majestic|masscan|miner|mechanize|mj12bot|morfeus|moveoverbot|netmechanic|netspider|nicerspro|nikto|ninja|nominet|nutch) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{HTTP_USER_AGENT} (pagegrabber|petalbot|planetwork|postrank|proximic|purebot|queryn|queryseeker|radian6|radiation|realdownload|remoteview|rogerbot|scan|scooter|seekerspid) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{HTTP_USER_AGENT} (semalt|siclab|sindice|sistrix|sitebot|siteexplorer|sitesnagger|skygrid|smartdownload|snoopy|sosospider|spankbot|spbot|sqlmap|stackrambler|stripper|sucker|surftbot) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{HTTP_USER_AGENT} (sux0r|suzukacz|suzuran|takeout|teleport|telesoft|true_robots|turingos|turnit|vampire|vikspider|voideye|webleacher|webreaper|webstripper|webvac|webviewer|webwhacker) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{HTTP_USER_AGENT} (winhttp|wwwoffle|woxbot|xaldon|xxxyy|yamanalab|yioopbot|youda|zeus|zmeu|zune|zyborg) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} ([a-z0-9]{4000,}) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (/|%2f)(:|%3a)(/|%2f) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (etc/(hosts|motd|shadow)) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (order(\s|%20)by(\s|%20)1--) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (/|%2f)(\*|%2a)(\*|%2a)(/|%2f) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (`|<|>|\^|\|\\\\|0x00|%00|%0d%0a) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (f?ckfinder|f?ckeditor|fullclick) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} ((.*)header:|(.*)set-cookie:(.*)=) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (localhost|127(\.|%2e)0(\.|%2e)0(\.|%2e)1) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (cmd|command)(=|%3d)(chdir|mkdir)(.*)(x20) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (globals|mosconfig([a-z_]{1,22})|request)(=|\[) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (/|%2f)((wp-)?config)((\.|%2e)inc)?((\.|%2e)php) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (thumbs?(_editor|open)?|tim(thumbs?)?)((\.|%2e)php) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (absolute_|base|root_)(dir|path)(=|%3d)(ftp|https?) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (s)?(ftp|inurl|php)(s)?(:(/|%2f|%u2215)(/|%2f|%u2215)) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (\.|20)(get|the)(_|%5f)(permalink|posts_page_url)(\(|%28) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} ((boot|win)((\.|%2e)ini)|etc(/|%2f)passwd|self(/|%2f)environ) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (((/|%2f){3,3})|((\.|%2e){3,3})|((\.|%2e){2,2})(/|%2f|%u2215)) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (benchmark|char|exec|fopen|function|html)(.*)(\(|%28)(.*)(\)|%29) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (php)([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (e|%65|%45)(v|%76|%56)(a|%61|%31)(l|%6c|%4c)(.*)(\(|%28)(.*)(\)|%29) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (/|%2f)(=|%3d|$&|_mm|inurl(:|%3a)(/|%2f)|(mod|path)(=|%3d)(\.|%2e)) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (\+|%2b|%20)(d|%64|%44)(e|%65|%45)(l|%6c|%4c)(e|%65|%45)(t|%74|%54)(e|%65|%45)(\+|%2b|%20) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (\+|%2b|%20)(i|%69|%49)(n|%6e|%4e)(s|%73|%53)(e|%65|%45)(r|%72|%52)(t|%74|%54)(\+|%2b|%20) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (\+|%2b|%20)(s|%73|%53)(e|%65|%45)(l|%6c|%4c)(e|%65|%45)(c|%63|%43)(t|%74|%54)(\+|%2b|%20) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (\+|%2b|%20)(u|%75|%55)(p|%70|%50)(d|%64|%44)(a|%61|%41)(t|%74|%54)(e|%65|%45)(\+|%2b|%20) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (\\\\x00|(\\\"|%22|\'|%27)?0(\\\"|%22|\'|%27)?(=|%3d)(\\\"|%22|\'|%27)?0|cast(\(|%28)0x|or%201(=|%3d)1) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (g|%67|%47)(l|%6c|%4c)(o|%6f|%4f)(b|%62|%42)(a|%61|%41)(l|%6c|%4c)(s|%73|%53)(=|\[|%[0-9A-Z]{0,2}) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (_|%5f)(r|%72|%52)(e|%65|%45)(q|%71|%51)(u|%75|%55)(e|%65|%45)(s|%73|%53)(t|%74|%54)(=|\[|%[0-9A-Z]{2,}) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (b|%62|%42)(a|%61|%41)(s|%73|%53)(e|%65|%45)(6|%36)(4|%34)(_|%5f)(e|%65|%45|d|%64|%44)(e|%65|%45|n|%6e|%4e)(c|%63|%43)(o|%6f|%4f)(d|%64|%44)(e|%65|%45)(.*)(\()(.*)(\)) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (@copy|\\\$_(files|get|post)|allow_url_(fopen|include)|auto_prepend_file|blexbot|browsersploit|call_user_func_array|(php|web)shell|curl(_exec|test)|disable_functions?|document_root) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (elastix|encodeuricom|exploit|fclose|fgets|file_put_contents|fputs|fsbuff|fsockopen|gethostbyname|grablogin|hmei7|hubs_post-cta|input_file|invokefunction|(\b)load_file|open_basedir|outfile|p3dlite) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (pass(=|%3d)shell|passthru|phpinfo|phpshells|popen|proc_open|quickbrute|remoteview|root_path|safe_mode|shell_exec|site((.){0,2})copier|sp_executesql|sux0r|trojan|udtudt|user_func_array|wget|wp_insert_user|xertive) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} ((\+|%2b)(concat|delete|get|select|union)(\+|%2b)) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (union)(.*)(select)(.*)(\(|%28) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (concat|eval)(.*)(\(|%28) [NC,OR]" . PHP_EOL; if ( ! HMWP_Classes_Tools::isPluginActive( 'wp-reset/wp-reset.php' ) && ! HMWP_Classes_Tools::isPluginActive( 'wp-statistics/wp-statistics.php' ) ) { $rules .= "RewriteCond %{QUERY_STRING} (<|%3c)(.*)(e|%65|%45)(m|%6d|%4d)(b|%62|%42)(e|%65|%45)(d|%64|%44)(.*)(>|%3e) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (<|%3c)(.*)(i|%69|%49)(f|%66|%46)(r|%72|%52)(a|%61|%41)(m|%6d|%4d)(e|%65|%45)(.*)(>|%3e) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (<|%3c)(.*)(o|%4f|%6f)(b|%62|%42)(j|%4a|%6a)(e|%65|%45)(c|%63|%43)(t|%74|%54)(.*)(>|%3e) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (<|%3c)(.*)(s|%73|%53)(c|%63|%43)(r|%72|%52)(i|%69|%49)(p|%70|%50)(t|%74|%54)(.*)(>|%3e) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} (;|<|>|\'|\\\"|\)|%0a|%0d|%22|%27|%3c|%3e|%00)(.*)(/\*|alter|base64|benchmark|cast|concat|convert|create|encode|declare|delete|drop|insert|md5|request|script|select|union|update) [NC,OR]" . PHP_EOL; } $rules .= "RewriteCond %{REQUEST_URI} (,,,) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (-------) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (\^|`|<|>|\\\\|\|) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} ([a-z0-9]{2000,}) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (=?\\\\(\'|%27)/?)(\.) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (/)(\*|\\\"|\'|\.|,|&|&?)/?$ [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (\.)(php)(\()?([0-9]+)(\))?(/)?$ [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} /((.*)header:|(.*)set-cookie:(.*)=) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (/)(ckfinder|fck|fckeditor|fullclick) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (\.(s?ftp-?)config|(s?ftp-?)config\.) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (/)((force-)?download|framework/main)(\.php) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (\{0\}|\\\"?0\\\"?=\\\"?0|\(/\(|\.\.\.|\+\+\+|\\\\\\\") [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (/)(vbull(etin)?|boards|vbforum|vbweb|webvb)(/)? [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (thumbs?(_editor|open)?|tim(thumbs?)?)(\.php) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (\.|20)(get|the)(_)(permalink|posts_page_url)(\() [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (///|\?\?|/&&|/\*(.*)\*/|/:/|\\\\\\\\|0x00|%00|%0d%0a) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (/)(cgi_?)?alfa(_?cgiapi|_?data|_?v[0-9]+)?(\.php) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (/)((boot)?_?admin(er|istrator|s)(_events)?)(\.php) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (/%7e)(root|ftp|bin|nobody|named|guest|logs|sshd)(/) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (archive|backup|db|master|sql|wp|www|wwwroot)\.(gz|zip) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (/)(\.?mad|alpha|c99|php|web)?sh(3|e)ll([0-9]+|\w)(\.php) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (/)(admin-?|file-?)(upload)(bg|_?file|ify|svu|ye)?(\.php) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (/)(etc|var)(/)(hidden|secret|shadow|ninja|passwd|tmp)(/)?$ [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (s)?(ftp|http|inurl|php)(s)?(:(/|%2f|%u2215)(/|%2f|%u2215)) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (/)(=|\\\$&?|&?(pws|rk)=0|_mm|_vti_|(=|/|;|,)nt\.) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (\.)(ds_store|htaccess|htpasswd|init?|mysql-select-db)(/)?$ [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (/)(bin)(/)(cc|chmod|chsh|cpp|echo|id|kill|mail|nasm|perl|ping|ps|python|tclsh)(/)?$ [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (/)(::[0-9999]|%3a%3a[0-9999]|127\.0\.0\.1|ccx|localhost|makefile|pingserver|wwwroot)(/)? [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} ^(/)(123|backup|bak|beta|bkp|default|demo|dev(new|old)?|home|new-?site|null|old|old_files|old1)(/)?$ [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (/)?j((\s)+)?a((\s)+)?v((\s)+)?a((\s)+)?s((\s)+)?c((\s)+)?r((\s)+)?i((\s)+)?p((\s)+)?t((\s)+)?(%3a|:) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} ^(/)(old-?site(back)?|old(web)?site(here)?|sites?|staging|undefined)(/)?$ [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (/)(filemanager|htdocs|httpdocs|https?|login|mailman|mailto|msoffice|undefined|usage|var|vhosts|webmaster|www)(/) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (\(null\)|\{\\\$itemURL\}|cast\(0x|echo(.*)kae|etc/passwd|eval\(|null(.*)null|open_basedir|self/environ|\+union\+all\+select) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (/)(db-?|j-?|my(sql)?-?|setup-?|web-?|wp-?)?(admin-?)?(setup-?)?(conf\b|conf(ig)?)(uration)?(\.?bak|\.inc)?(\.inc|\.old|\.php|\.txt) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (/)((.*)crlf-?injection|(.*)xss-?protection|__(inc|jsc)|administrator|author-panel|database|downloader|(db|mysql)-?admin)(/) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (/)(haders|head|hello|helpear|incahe|includes?|indo(sec)?|infos?|install|ioptimizes?|jmail|js|king|kiss|kodox|kro|legion|libsoft)(\.php) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (/)(awstats|document_root|dologin\.action|error.log|extension/ext|htaccess\.|lib/php|listinfo|phpunit/php|remoteview|server/php|www\.root\.) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (base64_(en|de)code|benchmark|curl_exec|e?chr|eval|function|fwrite|(f|p)open|html|leak|passthru|p?fsockopen|phpinfo)(.*)(\(|%28)(.*)(\)|%29) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (posix_(kill|mkfifo|setpgid|setsid|setuid)|(child|proc)_(close|get_status|nice|open|terminate)|(shell_)?exec|system)(.*)(\(|%28)(.*)(\)|%29) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (/)((c99|php|web)?shell|crossdomain|fileditor|locus7|nstview|php(get|remoteview|writer)|r57|remview|sshphp|storm7|webadmin)(.*)(\.|%2e|\(|%28) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} /((wp-)((201\d|202\d|[0-9]{2})|ad|admin(fx|rss|setup)|booking|confirm|crons|data|file|mail|one|plugins?|readindex|reset|setups?|story))(\.php) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (/)(^$|-|\!|\w|\.(.*)|100|123|([^iI])?ndex|index\.php/index|3xp|777|7yn|90sec|99|active|aill|ajs\.delivery|al277|alexuse?|ali|allwrite)(\.php) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (/)(analyser|apache|apikey|apismtp|authenticat(e|ing)|autoload_classmap|backup(_index)?|bakup|bkht|black|bogel|bookmark|bypass|cachee?)(\.php) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (/)(clean|cm(d|s)|con|connector\.minimal|contexmini|contral|curl(test)?|data(base)?|db|db-cache|db-safe-mode|defau11|defau1t|dompdf|dst)(\.php) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (/)(elements|emails?|error.log|ecscache|edit-form|eval-stdin|export|evil|fbrrchive|filemga|filenetworks?|f0x|gank(\.php)?|gass|gel|guide)(\.php) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (/)(logo_img|lufix|mage|marg|mass|mide|moon|mssqli|mybak|myshe|mysql|mytag_js?|nasgor|newfile|nf_?tracking|nginx|ngoi|ohayo|old-?index)(\.php) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (/)(olux|owl|pekok|petx|php-?info|phpping|popup-pomo|priv|r3x|radio|rahma|randominit|readindex|readmy|reads|repair-?bak|root)(\.php) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (/)(router|savepng|semayan|shell|shootme|sky|socket(c|i|iasrgasf)ontrol|sql(bak|_?dump)?|support|sym403|sys|system_log|test|tmp-?(uploads)?)(\.php) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (/)(traffic-advice|u2p|udd|ukauka|up__uzegp|up14|upxx?|vega|vip|vu(ln)?(\w)?|webroot|weki|wikindex|wp_logns?|wp_wrong_datlib)(\.php) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (/)((wp-?)?install(ation)?|wp(3|4|5|6)|wpfootes|wpzip|ws0|wsdl|wso(\w)?|www|(uploads|wp-admin)?xleet(-shell)?|xmlsrpc|xup|xxu|xxx|zibi|zipy)(\.php) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (bkv74|cachedsimilar|core-stab|crgrvnkb|ctivrc|deadcode|deathshop|dkiz|e7xue|eqxafaj90zir|exploits|ffmkpcal|filellli7|(fox|sid)wso|gel4y|goog1es|gvqqpinc) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (@md5|00.temp00|0byte|0d4y|0day|0xor|wso1337|1h6j5|3xp|40dd1d|4price|70bex?|a57bze893|abbrevsprl|abruzi|adminer|aqbmkwwx|archivarix|backdoor|beez5|bgvzc29) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (handler_to_code|hax(0|o)r|hmei7|hnap1|home_url=|ibqyiove|icxbsx|indoxploi|jahat|jijle3|kcrew|keywordspy|laobiao|lock360|longdog|marijuan|mod_(aratic|ariimag)) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (mobiquo|muiebl|nessus|osbxamip|phpunit|priv8|qcmpecgy|r3vn330|racrew|raiz0|reportserver|r00t|respectmus|rom2823|roseleif|sh3ll|site((.){0,2})copier|sqlpatch|sux0r) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (sym403|telerik|uddatasql|utchiha|visualfrontend|w0rm|wangdafa|wpyii2|wsoyanzo|x5cv|xattack|xbaner|xertive|xiaolei|xltavrat|xorz|xsamxad|xsvip|xxxs?s?|zabbix|zebda) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (\.)(7z|ab4|ace|afm|alfa|as(h|m)x?|aspx?|aws|axd|bash|ba?k?|bat|bin|bz2|cfg|cfml?|cms|conf\b|config|ctl|dat|db|dist|dll|eml|eng(ine)?|env|et2|fec|fla|git(ignore)?)$ [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (\.)(hg|idea|inc|index|ini|inv|jar|jspa?|lib|local|log|lqd|make|mbf|mdb|mmw|mny|mod(ule)?|msi|old|one|orig|out|passwd|pdb|php\.(php|suspect(ed)?)|php([^\/])|phtml?|pl|profiles?)$ [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} (\.)(psd|pst|ptdb|production|pwd|py|qbb|qdf|rar|rdf|remote|save|sdb|sql|sh|soa|svn|swf|swl|swo|swp|stx|tar|tax|tgz?|theme|tls|tmb|tmd|wok|wow|xsd|xtmpl|xz|ya?ml|za|zlib)$ [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{HTTP_REFERER} (order(\s|%20)by(\s|%20)1--) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{HTTP_REFERER} (@unlink|assert\(|print_r\(|x00|xbshell) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{HTTP_REFERER} (100dollars|best-seo|blue\spill|cocaine|ejaculat|erectile|erections|hoodia|huronriveracres|impotence|levitra|libido|lipitor|mopub\.com|phentermin) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{HTTP_REFERER} (pornhelm|pro[sz]ac|sandyauer|semalt\.com|social-buttions|todaperfeita|tramadol|troyhamby|ultram|unicauca|valium|viagra|vicodin|xanax|ypxaieo) [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_METHOD} ^(connect|debug|move|trace|track) [NC]" . PHP_EOL; } $rules .= "RewriteRule ^(.*)$ - [F]" . PHP_EOL; $rules .= "" . PHP_EOL . PHP_EOL; } $rules .= "" . PHP_EOL; $rules .= "RewriteEngine On" . PHP_EOL; $rules .= "RewriteBase $home_root" . PHP_EOL; if ( !empty($this->whitelist_ips) ){ foreach ($this->whitelist_ips as $ip){ $rules .= "RewriteCond %{REMOTE_ADDR} !^$ip$" . PHP_EOL; } } $rules .= "RewriteCond %{HTTP:Cookie} !(" . join( '|', $this->whitelist_cookies ) . ") [NC]" . PHP_EOL; if ( defined( 'WP_ROCKET_MINIFY_CACHE_URL' ) ) { //If WP-Rocket is installed $rules .= "RewriteCond %{REQUEST_URI} !" . str_replace( array( home_url() . '/', HMWP_Classes_Tools::getDefault( 'hmwp_wp-content_url' ) ), '', ltrim( WP_ROCKET_MINIFY_CACHE_URL, '/' ) ) . " [NC]" . PHP_EOL; } if ( HMWP_Classes_Tools::getOption( 'hmwp_hide_oldpaths' ) ) { if ( HMWP_Classes_Tools::getDefault( 'hmwp_wp-content_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_wp-content_url' ) ) { $rules .= "RewriteCond %{REQUEST_URI} ^" . $home_root . $wp_content . "/?$ [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} ^" . $home_root . $wp_content . "/[^\.]+/?$ [NC,OR]" . PHP_EOL; } if ( HMWP_Classes_Tools::getDefault( 'hmwp_wp-includes_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_wp-includes_url' ) ) { $rules .= "RewriteCond %{THE_REQUEST} " . $home_root . $wp_includes . "/?$ [NC,OR]" . PHP_EOL; } if ( ! empty( $extensions ) ) { //hide wp-admin files like load-scripts.php when 7G and 8G firewall is loaded if ( HMWP_Classes_Tools::getOption( 'hmwp_sqlinjection' ) && ((int) HMWP_Classes_Tools::getOption( 'hmwp_sqlinjection_level' ) == 3 || (int) HMWP_Classes_Tools::getOption( 'hmwp_sqlinjection_level' ) == 4)) { if ( HMWP_Classes_Tools::getDefault( 'hmwp_admin_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_admin_url' ) ) { $rules .= "RewriteCond %{THE_REQUEST} " . $home_root . HMWP_Classes_Tools::getDefault( 'hmwp_admin_url' ) . "/[^\.]+(" . join( '|', $extensions ) . ") [NC,OR]" . PHP_EOL; } } if ( HMWP_Classes_Tools::getDefault( 'hmwp_plugin_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_plugin_url' ) ) { $rules .= "RewriteCond %{THE_REQUEST} " . $home_root . HMWP_Classes_Tools::getDefault( 'hmwp_plugin_url' ) . "/[^\.]+(" . join( '|', $extensions ) . ") [NC,OR]" . PHP_EOL; } if ( HMWP_Classes_Tools::getDefault( 'hmwp_themes_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_themes_url' ) ) { $rules .= "RewriteCond %{THE_REQUEST} " . $home_root . $wp_content . "/" . HMWP_Classes_Tools::getDefault( 'hmwp_themes_url' ) . "/[^\.]+(" . join( '|', $extensions ) . ") [NC,OR]" . PHP_EOL; } if ( HMWP_Classes_Tools::getDefault( 'hmwp_upload_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_upload_url' ) ) { $rules .= "RewriteCond %{THE_REQUEST} " . $home_root . $wp_content . '/' . HMWP_Classes_Tools::getDefault( 'hmwp_upload_url' ) . "/[^\.]+(" . join( '|', $extensions ) . ") [NC,OR]" . PHP_EOL; } if ( HMWP_Classes_Tools::getDefault( 'hmwp_wp-includes_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_wp-includes_url' ) ) { $rules .= "RewriteCond %{THE_REQUEST} " . $home_root . $wp_includes . "/[^\.]+(" . join( '|', $extensions ) . ") [NC,OR]" . PHP_EOL; } } } if ( HMWP_Classes_Tools::getOption( 'hmwp_hide_commonfiles' ) && ! empty( $files ) ) { $rules .= "RewriteCond %{THE_REQUEST} /([_0-9a-zA-Z-]+/)?(" . str_replace( '.', '\\.', join( '|', $files ) ) . ") [NC]" . PHP_EOL; } else { $rules .= "RewriteCond %{THE_REQUEST} /([_0-9a-zA-Z-]+/)?(upgrade\\.php|install\\.php) [NC]" . PHP_EOL; } $rules .= "RewriteRule ^(.*)$ - [L,R=404]" . PHP_EOL; $rules .= "" . PHP_EOL . PHP_EOL; if ( HMWP_Classes_Tools::getOption( 'hmwp_hide_commonfiles' ) ) { $rules .= "" . PHP_EOL; $rules .= "RewriteEngine On" . PHP_EOL; if ( ! empty( $files ) ) { $rules .= "RewriteCond %{REQUEST_URI} /(" . str_replace( '.', '\\.', join( '|', $files ) ) . ") [NC]" . PHP_EOL; } else { $rules .= "RewriteCond %{REQUEST_URI} /(error_log|wp-config-sample\\.php|readme\\.html|readme\\.txt|license\\.txt|install\\.php|wp-config\\.php|php\\.ini|php5\\.ini|bb-config\\.php) [NC]" . PHP_EOL; } $rules .= "RewriteRule ^(.*)$ - [L,R=404]" . PHP_EOL; $rules .= "" . PHP_EOL . PHP_EOL; } } elseif ( HMWP_Classes_Tools::isIIS() ) { if ( HMWP_Classes_Tools::getOption( 'hmwp_hide_oldpaths' ) ) { if ( HMWP_Classes_Tools::getDefault( 'hmwp_wp-content_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_wp-content_url' ) ) { $rules .= ' '; $rules .= ' '; } if ( ! empty( $extensions ) ) { if ( HMWP_Classes_Tools::getDefault( 'hmwp_plugin_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_plugin_url' ) ) { $rules .= ' '; } if ( HMWP_Classes_Tools::getDefault( 'hmwp_themes_url' ) <> HMWP_Classes_Tools::getOption( 'hmwp_themes_url' ) ) { $rules .= ' '; } } $rules .= ' '; } } return $rules; } /** * Add rules to protect the website from sql injection * * @return string */ public function getInjectionRewrite() { $rules = ''; if ( HMWP_Classes_Tools::isNginx() ) { if ( HMWP_Classes_Tools::getOption( 'hmwp_hide_authors' ) ) { $rules .= 'set $cond "";' . PHP_EOL; $rules .= 'if ($http_cookie !~* "' . join( '|', $this->whitelist_cookies ) . '") { set $cond cookie; }' . PHP_EOL; $rules .= 'if ($request_uri ~* author=\d+$) { set $cond "${cond}+author_uri"; }' . PHP_EOL; $rules .= 'if ($cond = "cookie+author_uri") { return 404; } ' . PHP_EOL; } if ( HMWP_Classes_Tools::getOption( 'hmwp_disable_browsing' ) ) { $rules .= 'autoindex off;' . PHP_EOL; } if ( HMWP_Classes_Tools::getOption( 'hmwp_security_header' ) ) { $headers = (array) HMWP_Classes_Tools::getOption( 'hmwp_security_headers' ); if ( ! empty( $headers ) ) { foreach ( $headers as $name => $value ) { if ( $value <> '' ) { $rules .= 'add_header ' . $name . ' "' . str_replace( '"', '\"', $value ) . '";' . PHP_EOL; } } } } if ( HMWP_Classes_Tools::getOption( 'hmwp_detectors_block' ) ) { $rules .= 'if ( $remote_addr = "35.214.130.87" ) { return 404; }' . PHP_EOL; $rules .= 'if ( $remote_addr = "192.185.4.40" ) { return 404; }' . PHP_EOL; $rules .= 'if ( $remote_addr = "15.235.50.223" ) { return 404; }' . PHP_EOL; $rules .= 'if ( $remote_addr = "172.105.48.130" ) { return 404; }' . PHP_EOL; $rules .= 'if ( $remote_addr = "167.99.233.123" ) { return 404; }' . PHP_EOL; $rules .= 'if ( $http_user_agent ~ "wpthemedetector" ) { return 404; }' . PHP_EOL; $rules .= 'if ( $http_referer ~ "wpthemedetector" ) { return 404; }' . PHP_EOL; $rules .= 'if ( $http_user_agent ~ "builtwith" ) { return 404; }' . PHP_EOL; $rules .= 'if ( $http_user_agent ~ "isitwp" ) { return 404; }' . PHP_EOL; $rules .= 'if ( $http_user_agent ~ "wapalyzer" ) { return 404; }' . PHP_EOL; $rules .= 'if ( $http_referer ~ "mShots" ) { return 404; }' . PHP_EOL; $rules .= 'if ( $http_referer ~ "WhatCMS" ) { return 404; }' . PHP_EOL; } } elseif ( HMWP_Classes_Tools::isApache() || HMWP_Classes_Tools::isLitespeed() ) { if ( HMWP_Classes_Tools::getOption( 'hmwp_hide_authors' ) ) { $rules .= "" . PHP_EOL; $rules .= "RewriteEngine On" . PHP_EOL; $rules .= "RewriteCond %{REQUEST_URI} !/wp-admin [NC]" . PHP_EOL; $rules .= "RewriteCond %{QUERY_STRING} ^author=\d+ [NC]" . PHP_EOL; $rules .= "RewriteRule ^(.*)$ - [L,R=404]" . PHP_EOL; $rules .= "" . PHP_EOL . PHP_EOL; } if ( HMWP_Classes_Tools::getOption( 'hmwp_disable_browsing' ) ) { $rules .= "Options -Indexes" . PHP_EOL; } if ( HMWP_Classes_Tools::getOption( 'hmwp_detectors_block' ) ) { $rules .= "" . PHP_EOL; $rules .= "RewriteEngine On" . PHP_EOL; $rules .= "RewriteCond %{REMOTE_ADDR} ^35.214.130.87$ [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REMOTE_ADDR} ^192.185.4.40$ [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REMOTE_ADDR} ^15.235.50.223$ [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REMOTE_ADDR} ^172.105.48.130$ [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{REMOTE_ADDR} ^167.99.233.123$ [NC,OR]" . PHP_EOL; $rules .= "RewriteCond %{HTTP_USER_AGENT} (wpthemedetector|builtwith|isitwp|wapalyzer|mShots|WhatCMS|gochyu|wpdetector|scanwp) [NC]" . PHP_EOL; $rules .= "RewriteRule ^(.*)$ - [L,R=404]" . PHP_EOL; $rules .= "" . PHP_EOL . PHP_EOL; } if ( HMWP_Classes_Tools::getOption( 'hmwp_hide_unsafe_headers' ) ) { $rules .= "" . PHP_EOL; $rules .= 'Header always unset x-powered-by' . PHP_EOL; $rules .= 'Header always unset server' . PHP_EOL; $rules .= 'ServerSignature Off' . PHP_EOL; $rules .= "" . PHP_EOL . PHP_EOL; } if ( HMWP_Classes_Tools::getOption( 'hmwp_security_header' ) ) { $headers = (array) HMWP_Classes_Tools::getOption( 'hmwp_security_headers' ); if ( ! empty( $headers ) ) { $rules .= "" . PHP_EOL; foreach ( $headers as $name => $value ) { if ( $value <> '' ) { $rules .= 'Header set ' . $name . ' "' . str_replace( '"', '\"', $value ) . '"' . PHP_EOL; } } $rules .= "" . PHP_EOL . PHP_EOL; } } } elseif ( HMWP_Classes_Tools::isIIS() ) { if ( HMWP_Classes_Tools::getOption( 'hmwp_hide_commonfiles' ) ) { $rules .= ' '; } if ( HMWP_Classes_Tools::getOption( 'hmwp_hide_authors' ) ) { $rules .= ' '; } } // Add in the rules return $rules . PHP_EOL; } /** * Check if the ADMIN_COOKIE_PATH is present in wp-config.php * * @return bool */ public function isConfigAdminCookie() { $config_file = HMWP_Classes_Tools::getConfigFile(); //Initialize WordPress Filesystem $wp_filesystem = HMWP_Classes_ObjController::initFilesystem(); if ( $wp_filesystem->exists( $config_file ) ) { $lines = file( $config_file ); foreach ( (array) $lines as $line ) { if ( preg_match( "/ADMIN_COOKIE_PATH/", $line ) && ! preg_match( "/^\/\//", trim( $line ) ) ) { return true; } } } return false; } } models/Salts.php000064400000005472147600042240007635 0ustar00defines = apply_filters( 'hmwp_salts', $defines ); } /** * Check if the Salt Values are valid * * @return bool */ public function validateSalts() { foreach ( $this->defines as $define ) { if ( ! defined( $define ) ) { return false; } $value = constant( $define ); if ( ! $value || 'put your unique phrase here' === $value ) { return false; } } return true; } /** * Add the new salt values in config file * * @return bool * @throws Exception */ public function generateSalts() { $return = false; $config_file = HMWP_Classes_Tools::getConfigFile(); /** @var HMWP_Models_Rules $rulesModel */ $rulesModel = HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rules' ); //filesystem $wp_filesystem = HMWP_Classes_ObjController::initFilesystem(); $content = $wp_filesystem->get_contents( $config_file ); foreach ( $this->defines as $define ) { if ( empty( $salts ) ) { $salts = $this->getNewSalts(); } $salt = array_pop( $salts ); if ( empty( $salt ) ) { $salt = wp_generate_password( 64, true, true ); } $salt = str_replace( '$', '\\$', $salt ); $regex = "/(define\s*\(\s*(['\"])$define\\2\s*,\s*)(['\"]).+?\\3(\s*\)\s*;)/"; $content = preg_replace( $regex, "\${1}'$salt'\${4}", $content ); } return $wp_filesystem->put_contents( $config_file, $content ); } /** * Generate new salt values * * @return array|string[] */ public function getNewSalts() { try { $chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_ []{}<>~`+=,.;:/?|'; $max = strlen( $chars ) - 1; for ( $i = 0; $i < 8; $i ++ ) { $key = ''; for ( $j = 0; $j < 64; $j ++ ) { $key .= substr( $chars, random_int( 0, $max ), 1 ); } $secret_keys[] = $key; } } catch ( Exception $ex ) { $secret_keys = wp_remote_get( 'https://api.wordpress.org/secret-key/1.1/salt/' ); if ( is_wp_error( $secret_keys ) ) { $secret_keys = array(); for ( $i = 0; $i < 8; $i ++ ) { $secret_keys[] = wp_generate_password( 64, true, true ); } } else { $secret_keys = explode( "\n", wp_remote_retrieve_body( $secret_keys ) ); foreach ( $secret_keys as $k => $v ) { $secret_keys[ $k ] = substr( $v, 28, 64 ); } } } return $secret_keys; } } models/Settings.php000064400000054640147600042240010350 0ustar00validate_keys = apply_filters( 'hmwp_validate_keys', array( 'hmwp_admin_url', 'hmwp_login_url', 'hmwp_activate_url', 'hmwp_lostpassword_url', 'hmwp_register_url', 'hmwp_logout_url', 'hmwp_plugin_url', 'hmwp_themes_url', 'hmwp_upload_url', 'hmwp_admin-ajax_url', 'hmwp_wp-content_url', 'hmwp_wp-includes_url', 'hmwp_author_url', 'hmwp_wp-comments-post', 'hmwp_themes_style', 'hmwp_wp-json', ) ); $this->invalid_names = apply_filters( 'hmwp_invalid_names', array( 'index.php', 'readme.html', 'sitemap.xml', '.htaccess', 'license.txt', 'wp-blog-header.php', 'wp-config.php', 'wp-config-sample.php', 'wp-cron.php', 'wp-mail.php', 'wp-load.php', 'wp-links-opml.php', 'wp-settings.php', 'wp-signup.php', 'wp-trackback.php', 'xmlrpc.php', 'content', 'includes', 'css', 'js', 'font', ) ); } /** * Set the permalinks in database * * @param array * $params * * @throws Exception */ public function savePermalinks( $params ) { HMWP_Classes_Tools::saveOptions( 'error', false ); HMWP_Classes_Tools::saveOptions( 'changes', false ); if ( isset( $params['hmwp_admin_url'] ) && isset( $params['hmwp_login_url'] ) && $params['hmwp_admin_url'] == $params['hmwp_login_url'] && $params['hmwp_admin_url'] <> '' ) { HMWP_Classes_Tools::saveOptions( 'error', true ); HMWP_Classes_Tools::saveOptions( 'test_frontend', false ); HMWP_Classes_Error::setNotification( esc_html__( "You can't set both ADMIN and LOGIN with the same name. Please use different names", 'hide-my-wp' ) ); return; } //send email when the admin is changed if ( isset( $params['hmwp_send_email'] ) ) { HMWP_Classes_Tools::$default['hmwp_send_email'] = $params['hmwp_send_email']; } if ( isset( $params['hmwp_mode'] ) && $params['hmwp_mode'] == 'default' ) { $params = HMWP_Classes_Tools::$default; } //////////////////////////////////////////// //Set the Category and Tags dirs global $wp_rewrite; $blog_prefix = ''; if ( HMWP_Classes_Tools::isMultisites() && ! is_subdomain_install() && is_main_site() && 0 === strpos( get_option( 'permalink_structure' ), '/blog/' ) ) { $blog_prefix = '/blog'; } if ( isset( $params['hmwp_category_base'] ) && method_exists( $wp_rewrite, 'set_category_base' ) ) { $category_base = $params['hmwp_category_base']; if ( ! empty( $category_base ) ) { $category_base = $blog_prefix . preg_replace( '#/+#', '/', '/' . str_replace( '#', '', $category_base ) ); } $wp_rewrite->set_category_base( $category_base ); } if ( isset( $params['hmwp_tag_base'] ) && method_exists( $wp_rewrite, 'set_tag_base' ) ) { $tag_base = $params['hmwp_tag_base']; if ( ! empty( $tag_base ) ) { $tag_base = $blog_prefix . preg_replace( '#/+#', '/', '/' . str_replace( '#', '', $tag_base ) ); } $wp_rewrite->set_tag_base( $tag_base ); } //Save all values $this->saveValues( $params, true ); //Some values need to be saved as blank is case no data is received //Set them to blank or value HMWP_Classes_Tools::saveOptions( 'hmwp_lostpassword_url', HMWP_Classes_Tools::getValue( 'hmwp_lostpassword_url', '' ) ); HMWP_Classes_Tools::saveOptions( 'hmwp_register_url', HMWP_Classes_Tools::getValue( 'hmwp_register_url', '' ) ); HMWP_Classes_Tools::saveOptions( 'hmwp_logout_url', HMWP_Classes_Tools::getValue( 'hmwp_logout_url', '' ) ); //Make sure the theme style name is ending with .css to be a static file if ( $stylename = HMWP_Classes_Tools::getValue( 'hmwp_themes_style' ) ) { if ( strpos( $stylename, '.css' ) === false ) { HMWP_Classes_Tools::saveOptions( 'hmwp_themes_style', $stylename . '.css' ); } } //generate unique names for plugins if needed if ( HMWP_Classes_Tools::getOption( 'hmwp_hide_plugins' ) ) { HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rewrite' )->hidePluginNames(); } if ( HMWP_Classes_Tools::getOption( 'hmwp_hide_themes' ) ) { HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rewrite' )->hideThemeNames(); } if ( ! HMWP_Classes_Tools::getOption( 'hmwp_hide_oldpaths' ) ) { HMWP_Classes_Tools::saveOptions( 'hmwp_hide_oldpaths_plugins', 0 ); HMWP_Classes_Tools::saveOptions( 'hmwp_hide_oldpaths_themes', 0 ); } //If no change is made on settings, just return if ( ! $this->checkOptionsChange() ) { return; } //Save the rules and add the rewrites $this->saveRules(); } /** * Check if the current setup changed the last settings * * @return bool */ public function checkOptionsChange() { $lastsafeoptions = HMWP_Classes_Tools::getOptions( true ); foreach ( $lastsafeoptions as $index => $value ) { if ( HMWP_Classes_Tools::getOption( $index ) <> $value ) { return true; } } return false; } /** * Check if the main paths were change and a logout is needed * * @return void */ public function checkMainPathsChange() { //If the admin is changed, require a logout if necessary $lastsafeoptions = HMWP_Classes_Tools::getOptions( true ); if ( ! empty( $lastsafeoptions ) ) { if ( $lastsafeoptions['hmwp_admin_url'] <> HMWP_Classes_Tools::getOption( 'hmwp_admin_url' ) ) { HMWP_Classes_Tools::saveOptions( 'logout', true ); } elseif ( $lastsafeoptions['hmwp_login_url'] <> HMWP_Classes_Tools::getOption( 'hmwp_login_url' ) ) { HMWP_Classes_Tools::saveOptions( 'logout', true ); } elseif ( $lastsafeoptions['hmwp_admin-ajax_url'] <> HMWP_Classes_Tools::getOption( 'hmwp_admin-ajax_url' ) ) { HMWP_Classes_Tools::saveOptions( 'logout', true ); } elseif ( $lastsafeoptions['hmwp_wp-json'] <> HMWP_Classes_Tools::getOption( 'hmwp_wp-json' ) ) { HMWP_Classes_Tools::saveOptions( 'logout', true ); } elseif ( $lastsafeoptions['hmwp_upload_url'] <> HMWP_Classes_Tools::getOption( 'hmwp_upload_url' ) ) { HMWP_Classes_Tools::saveOptions( 'logout', true ); } elseif ( $lastsafeoptions['hmwp_wp-content_url'] <> HMWP_Classes_Tools::getOption( 'hmwp_wp-content_url' ) ) { HMWP_Classes_Tools::saveOptions( 'logout', true ); } } } /** * Save the Values in database * * @param $params * @param bool $validate */ public function saveValues( $params, $validate = false ) { //Save the option values if ( ! empty( $params ) ) { foreach ( $params as $key => $value ) { if ( in_array( $key, array_keys( HMWP_Classes_Tools::$options ) ) ) { // Don't save these keys as they are handled later if ( in_array( $key, array('whitelist_ip', 'whitelist_urls', 'banlist_ip', 'banlist_hostname', 'banlist_user_agent', 'banlist_referrer', 'hmwp_geoblock_urls') ) ){ continue; } //Make sure is set in POST if ( HMWP_Classes_Tools::getIsset( $key ) ) { //sanitize the value first $value = HMWP_Classes_Tools::getValue( $key ); //set the default value in case of nothing to prevent empty paths and errors if ( $value == '' ) { if ( isset( HMWP_Classes_Tools::$default[ $key ] ) ) { $value = HMWP_Classes_Tools::$default[ $key ]; } elseif ( isset( HMWP_Classes_Tools::$init[ $key ] ) ) { $value = HMWP_Classes_Tools::$init[ $key ]; } } //Detect Invalid Names if ( $validate ) { //if there is no the default mode //Don't check the validation for whitelist URLs if ( isset( $params['hmwp_mode'] ) && $params['hmwp_mode'] <> 'default' ) { //check if the name is valid if ( $this->checkValidName( $key, $value ) && $this->checkValidPath( $key, $value ) ) { //Detect Weak Names $this->checkWeakName( $value ); //show weak names HMWP_Classes_Tools::saveOptions( $key, $value ); } } else { HMWP_Classes_Tools::saveOptions( $key, $value ); } } else { HMWP_Classes_Tools::saveOptions( $key, $value ); } } } } } } /** * Save the rules in the config file * * @throws Exception */ public function saveRules() { //CLEAR RULES ON DEFAULT if ( HMWP_Classes_Tools::getOption( 'hmwp_mode' ) == 'default' ) { HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rules' )->writeToFile( '', 'HMWP_VULNERABILITY' ); return; } //INSERT SEURITY RULES if ( ! HMWP_Classes_Tools::isIIS() ) { //For Nginx and Apache the rules can be inserted separately $rules = HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rules' )->getInjectionRewrite(); if ( HMWP_Classes_Tools::getOption( 'hmwp_hide_oldpaths' ) || HMWP_Classes_Tools::getOption( 'hmwp_hide_commonfiles' ) ) { $rules .= HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rules' )->getHideOldPathRewrite(); } if ( strlen( $rules ) > 2 ) { if ( ! HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rules' )->writeToFile( $rules, 'HMWP_VULNERABILITY' ) ) { $config_file = HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rules' )->getConfFile(); HMWP_Classes_Error::setNotification( sprintf( esc_html__( 'Config file is not writable. Create the file if not exists or copy to %s file with the following lines: %s', 'hide-my-wp' ), '' . $config_file . '', '
# BEGIN HMWP_VULNERABILITY
' . htmlentities( str_replace( ' ', ' ', $rules ) ) . '# END HMWP_VULNERABILITY
' ) ); } } } } /** * Save the Text mapping * * @param $hmwp_url_mapping_from * @param $hmwp_url_mapping_to * * @return void * @throws Exception */ public function saveTextMapping( $hmwp_text_mapping_from, $hmwp_text_mapping_to ) { $hmwp_text_mapping = array(); add_filter( 'hmwp_validate_keys', function ( $keys ) { return array( 'hmwp_text_mapping' ); } ); add_filter( 'hmwp_invalid_names', function ( $invalid_paths ) { return array( 'wp-post-image', 'wp-content', 'wp-includes', 'wp-admin', 'wp-login.php', 'uploads', ); } ); foreach ( $hmwp_text_mapping_from as $index => $from ) { if ( $hmwp_text_mapping_from[ $index ] <> '' && $hmwp_text_mapping_to[ $index ] <> '' ) { $hmwp_text_mapping_from[ $index ] = preg_replace( '/[^A-Za-z0-9-_.+*#:;~{}\!\s\/]/', '', $hmwp_text_mapping_from[ $index ] ); $hmwp_text_mapping_to[ $index ] = preg_replace( '/[^A-Za-z0-9-_.+*#:;~{}\!\s\/]/', '', $hmwp_text_mapping_to[ $index ] ); //check for invalid names if ( $this->checkValidName( 'hmwp_text_mapping', $hmwp_text_mapping_from[ $index ] ) && $this->checkValidName( 'hmwp_text_mapping', $hmwp_text_mapping_to[ $index ] ) ) { if ( ! isset( $hmwp_text_mapping['from'] ) || ! in_array( $hmwp_text_mapping_from[ $index ], (array) $hmwp_text_mapping['from'] ) ) { //Don't save the wp-posts for Woodmart theme if ( HMWP_Classes_Tools::isPluginActive( 'woocommerce/woocommerce.php' ) ) { if ( $hmwp_text_mapping_from[ $index ] == 'wp-post-image' ) { continue; } } if ( ! HMW_DYNAMIC_FILES && ! HMWP_Classes_Tools::getOption( 'hmwp_mapping_file' ) ) { if ( in_array( $hmwp_text_mapping_from[ $index ], array( 'elementor', 'wp-block', 'woocommerce', 'bricks' ) ) ) { HMWP_Classes_Error::setNotification( sprintf( esc_html__( 'Global class name detected: %s. Read this article first: %s' ), '' . $hmwp_text_mapping_from[ $index ] . '', 'Hiding plugins like WooCommerce and Elementor' ) ); } } if ( $hmwp_text_mapping_from[ $index ] <> $hmwp_text_mapping_to[ $index ] ) { $hmwp_text_mapping['from'][] = $hmwp_text_mapping_from[ $index ]; $hmwp_text_mapping['to'][] = $hmwp_text_mapping_to[ $index ]; } } else { HMWP_Classes_Error::setNotification( esc_html__( 'Error: You entered the same text twice in the Text Mapping. We removed the duplicates to prevent any redirect errors.' ) ); } } } } //let other plugins to change $hmwp_text_mapping = apply_filters( 'hmwp_text_mapping_before_save', $hmwp_text_mapping ); HMWP_Classes_Tools::saveOptions( 'hmwp_text_mapping', wp_json_encode( $hmwp_text_mapping ) ); } /** * Save the URL mapping * * @param $hmwp_url_mapping_from * @param $hmwp_url_mapping_to * * @return void * @throws Exception */ public function saveURLMapping( $hmwp_url_mapping_from, $hmwp_url_mapping_to ) { $hmwp_url_mapping = array(); add_filter( 'hmwp_validate_keys', function ( $keys ) { return array( 'hmwp_url_mapping' ); } ); add_filter( 'hmwp_invalid_names', function ( $invalid_paths ) { return array( 'wp-content', '/wp-content', site_url( 'wp-content' ), site_url( 'wp-content', 'relative' ), 'wp-includes', '/wp-includes', site_url( 'wp-includes' ), site_url( 'wp-includes', 'relative' ), 'wp-admin', '/wp-admin', site_url( 'wp-admin' ), site_url( 'wp-admin', 'relative' ), 'wp-login.php', '/wp-login.php', home_url( 'wp-login.php' ), home_url( 'wp-login.php', 'relative' ), 'uploads', 'wp-content/uploads', '/wp-content/uploads', 'plugins', 'wp-content/plugins', '/wp-content/plugins', 'themes', 'wp-content/themes', '/wp-content/themes', ); } ); foreach ( $hmwp_url_mapping_from as $index => $from ) { if ( $hmwp_url_mapping_from[ $index ] <> '' && $hmwp_url_mapping_to[ $index ] <> '' ) { $hmwp_url_mapping_from[ $index ] = preg_replace( '/[^A-Za-z0-9-_;:=%.#\/\?]/', '', $hmwp_url_mapping_from[ $index ] ); $hmwp_url_mapping_to[ $index ] = preg_replace( '/[^A-Za-z0-9-_;:%=.#\/\?]/', '', $hmwp_url_mapping_to[ $index ] ); if ( $this->checkValidName( 'hmwp_url_mapping', $hmwp_url_mapping_from[ $index ] ) && $this->checkValidName( 'hmwp_url_mapping', $hmwp_url_mapping_to[ $index ] ) ) { if ( ! isset( $hmwp_url_mapping['from'] ) || ( ! in_array( $hmwp_url_mapping_from[ $index ], (array) $hmwp_url_mapping['from'] ) && ! in_array( $hmwp_url_mapping_to[ $index ], (array) $hmwp_url_mapping['to'] ) ) ) { if ( $hmwp_url_mapping_from[ $index ] <> $hmwp_url_mapping_to[ $index ] ) { $hmwp_url_mapping['from'][] = $hmwp_url_mapping_from[ $index ]; $hmwp_url_mapping['to'][] = $hmwp_url_mapping_to[ $index ]; } } else { HMWP_Classes_Error::setNotification( esc_html__( 'Error: You entered the same URL twice in the URL Mapping. We removed the duplicates to prevent any redirect errors.' ) ); } } } } //let other plugins to change $hmwp_url_mapping = apply_filters( 'hmwp_url_mapping_before_save', $hmwp_url_mapping ); HMWP_Classes_Tools::saveOptions( 'hmwp_url_mapping', wp_json_encode( $hmwp_url_mapping ) ); if ( ! empty( $hmwp_url_mapping ) ) { //show rules to be added manually if ( ! HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rewrite' )->clearRedirect()->setRewriteRules()->flushRewrites() ) { HMWP_Classes_Tools::saveOptions( 'test_frontend', false ); HMWP_Classes_Tools::saveOptions( 'file_mappings', array() ); HMWP_Classes_Tools::saveOptions( 'error', true ); } } } /** * Check invalid name and avoid errors * * @param string $key DB Option name * @param string $name Option value * * @return bool */ public function checkValidName( $key, $name ) { if ( is_array( $name ) ) { foreach ( $name as $current ) { if ( ! $this->checkValidName( $key, $current ) ) { return false; } } } else { //initialize validation fields $this->initValidationFields(); if ( in_array( $key, $this->validate_keys ) ) { // Avoid names that lead to WordPress errors if ( ( $key <> 'hmwp_themes_url' && $name == 'themes' ) || ( $key == 'hmwp_themes_url' && $name == 'assets' ) || ( $key <> 'hmwp_upload_url' && $name == 'uploads' ) || in_array( $name, $this->invalid_names ) ) { HMWP_Classes_Error::setNotification( sprintf( esc_html__( "Invalid name detected: %s. You need to use another name to avoid WordPress errors.", 'hide-my-wp' ), '' . $name . '' ) ); return false; } } } return true; } /** * Check if the path is valid * * @param $key * @param $name * * @return bool */ public function checkValidPath( $key, $name ) { //initialize validation fields $this->initValidationFields(); if ( in_array( $key, $this->validate_keys ) ) { if ( strlen( $name ) > 1 && strlen( $name ) < 3 ) { HMWP_Classes_Error::setNotification( sprintf( esc_html__( "Short name detected: %s. You need to use unique paths with more than 4 chars to avoid WordPress errors.", 'hide-my-wp' ), '' . $name . '' ) ); return false; } if ( strpos( $name, '//' ) !== false ) { HMWP_Classes_Error::setNotification( sprintf( esc_html__( "Invalid name detected: %s. Add only the final path name to avoid WordPress errors.", 'hide-my-wp' ), '' . $name . '' ) ); return false; } if ( strpos( $name, '/' ) !== false && strpos( $name, '/' ) == 0 ) { HMWP_Classes_Error::setNotification( sprintf( esc_html__( "Invalid name detected: %s. The name can't start with / to avoid WordPress errors.", 'hide-my-wp' ), '' . $name . '' ) ); return false; } if ( strpos( $name, '/' ) !== false && substr( $name, - 1 ) == '/' ) { HMWP_Classes_Error::setNotification( sprintf( esc_html__( "Invalid name detected: %s. The name can't end with / to avoid WordPress errors.", 'hide-my-wp' ), '' . $name . '' ) ); return false; } $array = explode( '/', $name ); if ( ! empty( $array ) ) { foreach ( $array as $row ) { if ( substr( $row, - 1 ) === '.' ) { HMWP_Classes_Error::setNotification( sprintf( esc_html__( "Invalid name detected: %s. The paths can't end with . to avoid WordPress errors.", 'hide-my-wp' ), '' . $name . '' ) ); return false; } } } } return true; } /** * Check if the name is week for security * * @param string $name */ public function checkWeakName( $name ) { $invalit_paths = array( 'login', 'mylogin', 'wp-login', 'admin', 'wp-mail.php', 'wp-settings.php', 'wp-signup.php', 'wp-trackback.php', 'xmlrpc.php', 'wp-include', ); if ( in_array( $name, $invalit_paths ) ) { HMWP_Classes_Error::setNotification( sprintf( esc_html__( "Weak name detected: %s. You need to use another name to increase your website security.", 'hide-my-wp' ), '' . $name . '' ) ); } } /** * This function applies changes to permalinks. * It deletes the restore transient and clears the cache if there are no errors. * If no changes are made on settings and $force is false, the function returns true. * It forces the recheck security notification, clears the cache, removes the redirects, and flushes the WordPress rewrites. * If there are no errors, it checks if there is any main path change and saves the working options into backup. * It sends an email notification about the path changed, sets the cookies for the current path, activates frontend test, and triggers an action after applying the permalink changes. * * @param bool $force If true, the function will always apply the permalink changes. * * @return bool Returns true if the changes are applied successfully; otherwise, returns false. * * @throws Exception */ public function applyPermalinksChanged( $force = false ) { // Delete the restore transient delete_transient( 'hmwp_restore' ); //Clear the cache if there are no errors if ( HMWP_Classes_Tools::getOption( 'error' ) ) { return false; } //If no change is made on settings, just return if ( ! $force && ! $this->checkOptionsChange() ) { return true; } //Force the recheck security notification delete_option( HMWP_SECURITY_CHECK_TIME ); //Clear the cache and remove the redirects HMWP_Classes_Tools::emptyCache(); //Flush the WordPress rewrites HMWP_Classes_Tools::flushWPRewrites(); //check if the config file is writable or is WP-engine server if ( ! HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rules' )->isConfigWritable() || HMWP_Classes_Tools::isWpengine() ) { //if not writeable, call the rules to show manually changes //show rules to be added manually if ( ! HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rewrite' )->clearRedirect()->setRewriteRules()->flushRewrites() ) { HMWP_Classes_Tools::saveOptions( 'test_frontend', false ); HMWP_Classes_Tools::saveOptions( 'error', true ); } } else { //Flush the changes HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rewrite' )->flushChanges(); } //If there are no errors if ( ! HMWP_Classes_Error::isError() ) { //Check if there is any main path change $this->checkMainPathsChange(); if ( HMWP_Classes_Tools::getOption( 'hmwp_mode' ) == 'default' ) { //Save the working options into backup HMWP_Classes_Tools::saveOptionsBackup(); } //Redirect to the new admin URL if ( HMWP_Classes_Tools::getOption( 'logout' ) ) { //Send email notification about the path changed HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rewrite' )->sendEmail(); //Set the cookies for the current path $cookies = HMWP_Classes_ObjController::newInstance( 'HMWP_Models_Cookies' ); if ( HMWP_Classes_Tools::isNginx() || HMWP_Classes_Tools::isCloudPanel() || $cookies->setCookiesCurrentPath() ) { //remove the logout request HMWP_Classes_Tools::saveOptions( 'logout', false ); //activate frontend test HMWP_Classes_Tools::saveOptions( 'test_frontend', true ); remove_all_filters( 'wp_redirect' ); remove_all_filters( 'admin_url' ); //trigger action after apply the permalink changes do_action( 'hmwp_apply_permalink_changes' ); if ( ! HMWP_Classes_Tools::isNginx() && ! HMWP_Classes_Tools::isCloudPanel() ) { wp_redirect( HMWP_Classes_Tools::getSettingsUrl( HMWP_Classes_Tools::getValue( 'page' ) ) ); exit(); } } } //trigger action after apply the permalink changes do_action( 'hmwp_apply_permalink_changes' ); return true; } return false; } } models/Templogin.php000064400000047057147600042240010512 0ustar00expires = array( 'hour' => array( 'label' => esc_html__( 'One Hour', 'hide-my-wp' ), 'timestamp' => HOUR_IN_SECONDS ), '3_hours' => array( 'label' => esc_html__( 'Three Hours', 'hide-my-wp' ), 'timestamp' => HOUR_IN_SECONDS * 3 ), 'day' => array( 'label' => esc_html__( 'One Day', 'hide-my-wp' ), 'timestamp' => DAY_IN_SECONDS ), '3_days' => array( 'label' => esc_html__( 'Three Days', 'hide-my-wp' ), 'timestamp' => DAY_IN_SECONDS * 3 ), 'week' => array( 'label' => esc_html__( 'One Week', 'hide-my-wp' ), 'timestamp' => WEEK_IN_SECONDS ), 'month' => array( 'label' => esc_html__( 'One Month', 'hide-my-wp' ), 'timestamp' => MONTH_IN_SECONDS ), 'halfyear' => array( 'label' => esc_html__( 'Six Months', 'hide-my-wp' ), 'timestamp' => ( 6 * MONTH_IN_SECONDS ) ), 'year' => array( 'label' => esc_html__( 'One Year', 'hide-my-wp' ), 'timestamp' => YEAR_IN_SECONDS ), ); } /** * Get valid temporary user based on token * * @param string $token * * @return array|bool * @since 7.0 * */ public function findUserByToken( $token = '' ) { if ( empty( $token ) ) { return false; } $args = array( 'fields' => 'all', 'meta_key' => '_hmwp_expire', 'order' => 'DESC', 'orderby' => 'meta_value', 'meta_query' => array( 0 => array( 'key' => '_hmwp_token', 'value' => sanitize_text_field( $token ), 'compare' => '=', ), ), ); if ( HMWP_Classes_Tools::isMultisites() ) { //initiate users $users = array(); $current_blog_id = get_current_blog_id(); // Now, add this user to all sites $sites = get_sites( array( 'number' => 10000, 'public' => 1, 'deleted' => 0, ) ); if ( ! empty( $sites ) && count( $sites ) > 0 ) { foreach ( $sites as $site ) { switch_to_blog( $site->blog_id ); if ( $sub_query = new WP_User_Query( $args ) ) { $sub_users = $sub_query->get_results(); $users = array_merge( $users, $sub_users ); } } } switch_to_blog( $current_blog_id ); } else { $query = new WP_User_Query( $args ); $users = $query->get_results(); } if ( empty( $users ) ) { return false; } foreach ( $users as $user ) { if ( ! $expire = get_user_meta( $user->ID, '_hmwp_expire', true ) ) { return false; } if ( is_numeric( $expire ) && $expire <= $this->gtmTimestamp() ) { return false; } elseif ( $expire <= $this->gtmTimestamp() ) { $timestamp = ! empty( $this->expires[ $expire ] ) ? $this->expires[ $expire ]['timestamp'] : 0; update_user_meta( $user->ID, '_hmwp_expire', $this->gtmTimestamp() + $timestamp ); } $user->details = $this->getUserDetails( $user ); return $user; } return false; } /** * Get user temp login details * * @param $user * * @return mixed * * @since 7.0 */ public function getUserDetails( $user ) { $details = array(); $details['redirect_to'] = get_user_meta( $user->ID, '_hmwp_redirect_to', true ); $details['expire'] = get_user_meta( $user->ID, '_hmwp_expire', true ); $details['locale'] = get_user_meta( $user->ID, 'locale', true ); $details['templogin_url'] = $this->getTempLoginUrl( $user->ID ); $details['last_login_time'] = get_user_meta( $user->ID, '_hmwp_last_login', true ); $details['last_login'] = esc_html__( 'Not yet logged in', 'hide-my-wp' ); if ( ! empty( $details['last_login_time'] ) ) { $details['last_login'] = $this->timeElapsed( $details['last_login_time'], true ); } $details['status'] = 'Active'; if ( $this->isExpired( $user->ID ) ) { $details['status'] = 'Expired'; } $details['is_active'] = ( 'active' === strtolower( $details['status'] ) ) ? true : false; $details['user_role'] = ''; $details['user_role_name'] = ''; if ( HMWP_Classes_Tools::isMultisites() && is_super_admin( $user->ID ) ) { $details['user_role'] = 'super_admin'; $details['user_role_name'] = esc_html__( 'Super Admin', 'hide-my-wp' ); } else { global $wpdb; $capabilities = $user->{$wpdb->prefix . 'capabilities'}; if ( HMWP_Classes_Tools::isMultisites() ) { if ( $blog_id = get_user_meta( $user->ID, 'primary_blog', true ) ) { if ( defined( 'BLOG_ID_CURRENT_SITE' ) ) { if ( BLOG_ID_CURRENT_SITE <> $blog_id ) { $capabilities = $user->{$wpdb->prefix . $blog_id . '_' . 'capabilities'}; $details['user_blog_id'] = $blog_id; } } } } $wp_roles = new WP_Roles(); if ( ! empty( $capabilities ) ) { foreach ( $wp_roles->role_names as $role => $name ) { if ( array_key_exists( $role, $capabilities ) ) { $details['user_role'] = $role; $details['user_role_name'] = $name; } } } } return json_decode( wp_json_encode( $details ) ); } /** * Create a Temporary user * * @return array * * @since 7.0 */ public function createNewUser( $data ) { $result = array( 'error' => true ); $expire = ! empty( $data['expire'] ) ? $data['expire'] : 'day'; $blog_id = $data['blog_id'] ?? false; $super_admin = $data['super_admin'] ?? false; $password = HMWP_Classes_Tools::generateRandomString(); $username = $this->createUsername( $data ); $first_name = isset( $data['first_name'] ) ? sanitize_text_field( $data['first_name'] ) : ''; $last_name = isset( $data['last_name'] ) ? sanitize_text_field( $data['last_name'] ) : ''; $email = isset( $data['user_email'] ) ? sanitize_email( $data['user_email'] ) : ''; $role = ! empty( $data['user_role'] ) ? $data['user_role'] : 'subscriber'; $redirect_to = ! empty( $data['redirect_to'] ) ? sanitize_text_field( $data['redirect_to'] ) : ''; $user_args = array( 'first_name' => $first_name, 'last_name' => $last_name, 'user_login' => $username, 'user_pass' => $password, 'user_email' => $email, 'role' => $role, ); if ( $username <> '' && username_exists( $username ) ) { $result['errcode'] = 'username_exists'; $result['message'] = esc_html__( 'Email address already exists', 'hide-my-wp' ); } elseif ( $email <> '' && email_exists( $email ) ) { $result['errcode'] = 'email_exists'; $result['message'] = esc_html__( 'Email address already exists', 'hide-my-wp' ); } else { try { $user_id = wp_insert_user( $user_args ); if ( is_wp_error( $user_id ) ) { $code = $user_id->get_error_code(); $result['errcode'] = $code; $result['message'] = $user_id->get_error_message( $code ); } else { if ( HMWP_Classes_Tools::isMultisites() ) { if ( $super_admin ) { // Grant super admin access to this temporary users grant_super_admin( $user_id ); // Now, add this user to all sites $sites = get_sites( array( 'number' => 10000, 'public' => 1, 'deleted' => 0, ) ); if ( ! empty( $sites ) && count( $sites ) > 0 ) { foreach ( $sites as $site ) { // If user is not already member of blog? Add into this blog if ( ! is_user_member_of_blog( $user_id, $site->blog_id ) ) { add_user_to_blog( $site->blog_id, $user_id, 'administrator' ); } } } } elseif ( $blog_id ) { //if the user was not created for the main website if ( defined( 'BLOG_ID_CURRENT_SITE' ) ) { if ( BLOG_ID_CURRENT_SITE <> $blog_id ) { remove_user_from_blog( $user_id, BLOG_ID_CURRENT_SITE ); } } // If user is not already member of blog? Add into this blog if ( ! is_user_member_of_blog( $user_id, $blog_id ) ) { add_user_to_blog( $blog_id, $user_id, $role ); } } } update_user_meta( $user_id, '_hmwp_user', true ); update_user_meta( $user_id, '_hmwp_created', $this->gtmTimestamp() ); update_user_meta( $user_id, '_hmwp_expire', $expire ); update_user_meta( $user_id, '_hmwp_token', $this->generateToken( $user_id ) ); update_user_meta( $user_id, '_hmwp_redirect_to', $redirect_to ); //set locale $locale = ! empty( $data['locale'] ) ? $data['locale'] : 'en_US'; update_user_meta( $user_id, 'locale', $locale ); $result['error'] = false; $result['user_id'] = $user_id; } } catch ( Exception $e ) { $result['errcode'] = 'invalid_user'; $result['message'] = esc_html__( 'User could not be added', 'hide-my-wp' ); } } return $result; } /** * Create a ranadom username for the temporary user * * @param array $data * * @return string * @since 7.0 */ public function createUsername( $data ) { $first_name = isset( $data['user_first_name'] ) ? $data['user_first_name'] : ''; $last_name = isset( $data['user_last_name'] ) ? $data['user_last_name'] : ''; $email = isset( $data['user_email'] ) ? $data['user_email'] : ''; $name = ''; if ( ! empty( $first_name ) || ! empty( $last_name ) ) { $name = str_replace( array( '.', '+' ), '', strtolower( trim( $first_name . $last_name ) ) ); } else { if ( ! empty( $email ) ) { $explode = explode( '@', $email ); $name = str_replace( array( '.', '+' ), '', $explode[0] ); } } if ( username_exists( $name ) ) { $name = $name . substr( uniqid( '', true ), - 6 ); } $username = sanitize_user( $name, true ); /** * We are generating WordPress username from First Name & Last Name fields. * When First Name or Last Name comes with non latin words, generated username * is non latin and sanitize_user function discrad it and user is not being * generated. * * To avoid this, if this situation occurs, we are generating random username * for this user. */ if ( empty( $username ) ) { $username = HMWP_Classes_Tools::generateRandomString(); } return sanitize_user( $username, true ); } /** * Update user * * @param array $data * * @return array|int|WP_Error * @since 7.0 */ public function updateUser( $data ) { $expire = ! empty( $data['expire'] ) ? $data['expire'] : 'day'; $blog_id = $data['blog_id'] ?? false; $super_admin = $data['super_admin'] ?? false; $first_name = isset( $data['first_name'] ) ? sanitize_text_field( $data['first_name'] ) : ''; $last_name = isset( $data['last_name'] ) ? sanitize_text_field( $data['last_name'] ) : ''; $redirect_to = isset( $data['redirect_to'] ) ? sanitize_text_field( $data['redirect_to'] ) : ''; $role = ! empty( $data['user_role'] ) ? $data['user_role'] : 'subscriber'; $user_args = array( 'first_name' => $first_name, 'last_name' => $last_name, 'role' => $role, 'ID' => $data['user_id'] ); $user_id = wp_update_user( $user_args ); if ( is_wp_error( $user_id ) ) { $code = $user_id->get_error_code(); return array( 'error' => true, 'errcode' => $code, 'message' => $user_id->get_error_message( $code ), ); } if ( HMWP_Classes_Tools::isMultisites() ) { if ( $super_admin ) { grant_super_admin( $user_id ); } elseif ( $blog_id ) { $sites = get_sites( array( 'number' => 10000, 'public' => 1, 'deleted' => 0, ) ); //if the website was changed for the current user if ( ! empty( $sites ) && count( $sites ) > 0 ) { foreach ( $sites as $site ) { if ( $site->blog_id <> $blog_id ) { // If user is not already member of blog? Add into this blog if ( is_user_member_of_blog( $user_id, $site->blog_id ) ) { remove_user_from_blog( $user_id, $site->blog_id ); } } } } // If user is not already member of blog? Add into this blog if ( ! is_user_member_of_blog( $user_id, $blog_id ) ) { add_user_to_blog( $blog_id, $user_id, $role ); } } } update_user_meta( $user_id, '_hmwp_updated', $this->gtmTimestamp() ); update_user_meta( $user_id, '_hmwp_expire', $expire ); update_user_meta( $user_id, '_hmwp_redirect_to', $redirect_to ); //set locale $locale = ! empty( $data['locale'] ) ? $data['locale'] : 'en_US'; update_user_meta( $user_id, 'locale', $locale ); return $user_id; } /** * Get the expiration time based on string * * @param string $expire * @param string $date * * @return false|float|int * @since 7.0 * */ public function getUserExpireTime( $expire = 'day', $date = '' ) { $expire = in_array( $expire, array_keys( $this->expires ) ) ? $expire : 'day'; $current_timestamp = $this->gtmTimestamp(); $timestamp = $this->expires[ $expire ]['timestamp']; return $current_timestamp + floatval( $timestamp ); } /** * Get current GMT date time * * @return false|int * @since 7.0 * */ public function gtmTimestamp() { return strtotime( gmdate( 'Y-m-d H:i:s', time() ) ); } /** * Get Temporary Logins * * @param string $role * * @return array|bool * @since 7.0 * */ public function getTempUsers( $role = '' ) { $args = array( 'fields' => 'all', 'meta_key' => '_hmwp_expire', 'order' => 'DESC', 'orderby' => 'meta_value', 'meta_query' => array( 0 => array( 'key' => '_hmwp_user', 'value' => 1, ), ), ); if ( ! empty( $role ) ) { $args['role'] = $role; } if ( HMWP_Classes_Tools::isMultisites() ) { $users = array(); $current_blog_id = get_current_blog_id(); // Now, add this user to all sites $sites = get_sites( array( 'number' => 10000, 'public' => 1, 'deleted' => 0, ) ); if ( ! empty( $sites ) && count( $sites ) > 0 ) { foreach ( $sites as $site ) { switch_to_blog( $site->blog_id ); if ( $sub_query = new WP_User_Query( $args ) ) { $sub_users = $sub_query->get_results(); $users = array_merge( $users, $sub_users ); } } } switch_to_blog( $current_blog_id ); } else { $query = new WP_User_Query( $args ); $users = $query->get_results(); } return $users; } /** * Get the redable time elapsed string * * @param int $time * @param bool $ago * * @return string * @since 7.0 * */ public function timeElapsed( $time, $ago = false ) { if ( is_numeric( $time ) ) { if ( $ago ) { $etime = $this->gtmTimestamp() - $time; } else { $etime = $time - $this->gtmTimestamp(); } if ( $etime < 1 ) { return esc_html__( 'Expired', 'hide-my-wp' ); } $a = array( // 365 * 24 * 60 * 60 => 'year', // 30 * 24 * 60 * 60 => 'month', 24 * 60 * 60 => 'day', 60 * 60 => 'hour', 60 => 'minute', 1 => 'second', ); $a_plural = array( 'year' => 'years', 'month' => 'months', 'day' => 'days', 'hour' => 'hours', 'minute' => 'minutes', 'second' => 'seconds', ); foreach ( $a as $secs => $str ) { $d = $etime / $secs; if ( $d >= 1 ) { $r = round( $d ); $time_string = ( $r > 1 ) ? $a_plural[ $str ] : $str; if ( $ago ) { return sprintf( esc_html__( '%d %s ago', 'hide-my-wp' ), $r, $time_string ); } else { return sprintf( esc_html__( '%d %s remaining', 'hide-my-wp' ), $r, $time_string ); } } } return __( 'Expired', 'hide-my-wp' ); } else { return ! empty( $expiry_options[ $time ] ) ? $this->expires[ $time ]['label'] : ''; } } /** * Check if temporary login expired * * @param int $user_id * * @return bool * * @since 7.0 */ public function isExpired( $user_id = 0 ) { if ( empty( $user_id ) ) { $user_id = get_current_user_id(); } if ( empty( $user_id ) ) { return false; } $expire = get_user_meta( $user_id, '_hmwp_expire', true ); return ! empty( $expire ) && is_numeric( $expire ) && $this->gtmTimestamp() >= floatval( $expire ) ? true : false; } /** * Get temporary login url * * @param $user_id * * @return string * @since 7.0 * */ public function getTempLoginUrl( $user_id ) { if ( empty( $user_id ) ) { return ''; } $is_valid_temporary_login = $this->isValidTempLogin( $user_id ); if ( ! $is_valid_temporary_login ) { return ''; } $token = get_user_meta( $user_id, '_hmwp_token', true ); if ( empty( $token ) ) { return ''; } $login_url = add_query_arg( 'hmwp_token', $token, trailingslashit( home_url() ) ); // Make it compatible with iThemes Security plugin with Custom URL Login enabled $login_url = apply_filters( 'itsec_notify_admin_page_url', $login_url ); return apply_filters( 'hmwp_templogin_link', $login_url, $user_id ); } /** * Checks whether user is valid temporary user * * @param int $user_id * * @return bool */ public function isValidTempLogin( $user_id = 0 ) { if ( empty( $user_id ) ) { return false; } $check = get_user_meta( $user_id, '_hmwp_user', true ); return ! empty( $check ) ? true : false; } /** * Generate Temporary Login Token * * @param $user_id * * @return false|string * * @since 7.0 */ public function generateToken( $user_id ) { $byte_length = 64; if ( function_exists( 'random_bytes' ) ) { try { return bin2hex( random_bytes( $byte_length ) ); // phpcs:ignore } catch ( \Exception $e ) { } } if ( function_exists( 'openssl_random_pseudo_bytes' ) ) { $crypto_strong = false; $bytes = openssl_random_pseudo_bytes( $byte_length, $crypto_strong ); if ( true === $crypto_strong ) { return bin2hex( $bytes ); } } // Fallback $str = $user_id . microtime() . uniqid( '', true ); $salt = substr( md5( $str ), 0, 32 ); return hash( "sha256", $str . $salt ); } /** * Get all pages which needs to be blocked for temporary users * * @return array * @since 7.0 * */ public function getRestrictedPages() { $pages = array( 'user-new.php', 'user-edit.php', 'profile.php' ); $pages = apply_filters( 'hmwp_templogin_restricted_pages', $pages ); return $pages; } /** * Get all pages which needs to be blocked for temporary users * * @return array * @since 7.0 * */ public function getRestrictedActions() { $actions = array( 'deleteuser', 'delete' ); $actions = apply_filters( 'hmwp_templogin_restricted_actions', $actions ); return $actions; } /** * Update the temporary login status * * @param int $user_id * @param string $action * * @return bool * @since 7.0 * */ public function updateLoginStatus( $user_id = 0, $action = '' ) { if ( empty( $user_id ) || empty( $action ) ) { return false; } if ( ! $this->isValidTempLogin( $user_id ) ) { return false; } $manage_login = false; if ( 'disable' === $action ) { $manage_login = update_user_meta( $user_id, '_hmwp_expire', $this->gtmTimestamp() ); } elseif ( 'enable' === $action ) { $manage_login = update_user_meta( $user_id, '_hmwp_expire', 'day' ); } if ( $manage_login ) { return true; } return false; } /** * Delete all temporary logins * * @since 7.0 */ public function deleteTempLogins() { $users = $this->getTempUsers(); if ( count( $users ) > 0 ) { foreach ( $users as $user ) { if ( $user instanceof WP_User ) { $user_id = $user->ID; wp_delete_user( $user_id ); // Delete User // delete user from Multisite network too! if ( is_multisite() ) { // If it's a super admin, we can't directly delete user from network site. // We need to revoke super admin access first and then delete user if ( is_super_admin( $user_id ) ) { revoke_super_admin( $user_id ); } wpmu_delete_user( $user_id ); } } } } } /** * Send the log with the magic link * * @param $action * * @return void * @throws Exception */ public function sendToLog( $action ) { if ( HMWP_Classes_Tools::getOption( 'hmwp_activity_log' ) ) { $values = array( 'referer' => 'temporary_login', ); HMWP_Classes_ObjController::getClass( 'HMWP_Models_Log' )->hmwp_log_actions( $action, $values ); } } } update/v5/PucFactory.php000064400000000277147600042240011155 0ustar00updateChecker = $updateChecker; if ( isset($panelClass) ) { $this->panelClass = $panelClass; } if ( (strpos($this->panelClass, '\\') === false) ) { $this->panelClass = __NAMESPACE__ . '\\' . $this->panelClass; } add_filter('debug_bar_panels', array($this, 'addDebugBarPanel')); add_action('debug_bar_enqueue_scripts', array($this, 'enqueuePanelDependencies')); add_action('wp_ajax_puc_v5_debug_check_now', array($this, 'ajaxCheckNow')); } /** * Register the PUC Debug Bar panel. * * @param array $panels * @return array */ public function addDebugBarPanel($panels) { if ( $this->updateChecker->userCanInstallUpdates() ) { $panels[] = new $this->panelClass($this->updateChecker); } return $panels; } /** * Enqueue our Debug Bar scripts and styles. */ public function enqueuePanelDependencies() { wp_enqueue_style( 'puc-debug-bar-style-v5', $this->getLibraryUrl("/css/puc-debug-bar.css"), array('debug-bar'), '20221008' ); wp_enqueue_script( 'puc-debug-bar-js-v5', $this->getLibraryUrl("/js/debug-bar.js"), array('jquery'), '20221008' ); } /** * Run an update check and output the result. Useful for making sure that * the update checking process works as expected. */ public function ajaxCheckNow() { //phpcs:ignore WordPress.Security.NonceVerification.Missing -- Nonce is checked in preAjaxRequest(). if ( !isset($_POST['uid']) || ($_POST['uid'] !== $this->updateChecker->getUniqueName('uid')) ) { return; } $this->preAjaxRequest(); $update = $this->updateChecker->checkForUpdates(); if ( $update !== null ) { echo "An update is available:"; //phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_print_r -- For debugging output. echo '
', esc_html(print_r($update, true)), '
'; } else { echo 'No updates found.'; } $errors = $this->updateChecker->getLastRequestApiErrors(); if ( !empty($errors) ) { printf('

The update checker encountered %d API error%s.

', count($errors), (count($errors) > 1) ? 's' : ''); foreach (array_values($errors) as $num => $item) { $wpError = $item['error']; /** @var \WP_Error $wpError */ printf('

%d) %s

', intval($num + 1), esc_html($wpError->get_error_message())); echo '
'; printf('
Error code:
%s
', esc_html($wpError->get_error_code())); if ( isset($item['url']) ) { printf('
Requested URL:
%s
', esc_html($item['url'])); } if ( isset($item['httpResponse']) ) { if ( is_wp_error($item['httpResponse']) ) { $httpError = $item['httpResponse']; /** @var \WP_Error $httpError */ printf( '
WordPress HTTP API error:
%s (%s)
', esc_html($httpError->get_error_message()), esc_html($httpError->get_error_code()) ); } else { //Status code. printf( '
HTTP status:
%d %s
', esc_html(wp_remote_retrieve_response_code($item['httpResponse'])), esc_html(wp_remote_retrieve_response_message($item['httpResponse'])) ); //Headers. echo '
Response headers:
';
							foreach (wp_remote_retrieve_headers($item['httpResponse']) as $name => $value) {
								printf("%s: %s\n", esc_html($name), esc_html($value));
							}
							echo '
'; //Body. $body = wp_remote_retrieve_body($item['httpResponse']); if ( $body === '' ) { $body = '(Empty response.)'; } else if ( strlen($body) > self::RESPONSE_BODY_LENGTH_LIMIT ) { $length = strlen($body); $body = substr($body, 0, self::RESPONSE_BODY_LENGTH_LIMIT) . sprintf("\n(Long string truncated. Total length: %d bytes.)", $length); } printf('
Response body:
%s
', esc_html($body)); } } echo '
'; } } exit; } /** * Check access permissions and enable error display (for debugging). */ protected function preAjaxRequest() { if ( !$this->updateChecker->userCanInstallUpdates() ) { die('Access denied'); } check_ajax_referer('puc-ajax'); //phpcs:ignore WordPress.PHP.DiscouragedPHPFunctions.runtime_configuration_error_reporting -- Part of a debugging feature. error_reporting(E_ALL); //phpcs:ignore WordPress.PHP.IniSet.display_errors_Blacklisted @ini_set('display_errors', 'On'); } /** * Remove hooks that were added by this extension. */ public function removeHooks() { remove_filter('debug_bar_panels', array($this, 'addDebugBarPanel')); remove_action('debug_bar_enqueue_scripts', array($this, 'enqueuePanelDependencies')); remove_action('wp_ajax_puc_v5_debug_check_now', array($this, 'ajaxCheckNow')); } /** * @param string $filePath * @return string */ private function getLibraryUrl($filePath) { $absolutePath = realpath(dirname(__FILE__) . '/../../../' . ltrim($filePath, '/')); //Where is the library located inside the WordPress directory structure? $absolutePath = PucFactory::normalizePath($absolutePath); $pluginDir = PucFactory::normalizePath(WP_PLUGIN_DIR); $muPluginDir = PucFactory::normalizePath(WPMU_PLUGIN_DIR); $themeDir = PucFactory::normalizePath(get_theme_root()); if ( (strpos($absolutePath, $pluginDir) === 0) || (strpos($absolutePath, $muPluginDir) === 0) ) { //It's part of a plugin. return plugins_url(basename($absolutePath), $absolutePath); } else if ( strpos($absolutePath, $themeDir) === 0 ) { //It's part of a theme. $relativePath = substr($absolutePath, strlen($themeDir) + 1); $template = substr($relativePath, 0, strpos($relativePath, '/')); $baseUrl = get_theme_root_uri($template); if ( !empty($baseUrl) && $relativePath ) { return $baseUrl . '/' . $relativePath; } } return ''; } } endif; update/v5p4/DebugBar/Panel.php000064400000013407147600042240012053 0ustar00
'; public function __construct($updateChecker) { $this->updateChecker = $updateChecker; $title = sprintf( 'PUC (%s)', esc_attr($this->updateChecker->getUniqueName('uid')), $this->updateChecker->slug ); parent::__construct($title); } public function render() { printf( '
', esc_attr($this->updateChecker->getUniqueName('debug-bar-panel')), esc_attr($this->updateChecker->slug), esc_attr($this->updateChecker->getUniqueName('uid')), esc_attr(wp_create_nonce('puc-ajax')) ); $this->displayConfiguration(); $this->displayStatus(); $this->displayCurrentUpdate(); echo '
'; } private function displayConfiguration() { echo '

Configuration

'; echo ''; $this->displayConfigHeader(); $this->row('Slug', htmlentities($this->updateChecker->slug)); $this->row('DB option', htmlentities($this->updateChecker->optionName)); $requestInfoButton = $this->getMetadataButton(); $this->row('Metadata URL', htmlentities($this->updateChecker->metadataUrl) . ' ' . $requestInfoButton . $this->responseBox); $scheduler = $this->updateChecker->scheduler; if ( $scheduler->checkPeriod > 0 ) { $this->row('Automatic checks', 'Every ' . $scheduler->checkPeriod . ' hours'); } else { $this->row('Automatic checks', 'Disabled'); } if ( isset($scheduler->throttleRedundantChecks) ) { if ( $scheduler->throttleRedundantChecks && ($scheduler->checkPeriod > 0) ) { $this->row( 'Throttling', sprintf( 'Enabled. If an update is already available, check for updates every %1$d hours instead of every %2$d hours.', $scheduler->throttledCheckPeriod, $scheduler->checkPeriod ) ); } else { $this->row('Throttling', 'Disabled'); } } $this->updateChecker->onDisplayConfiguration($this); echo '
'; } protected function displayConfigHeader() { //Do nothing. This should be implemented in subclasses. } protected function getMetadataButton() { return ''; } private function displayStatus() { echo '

Status

'; echo ''; $state = $this->updateChecker->getUpdateState(); $checkButtonId = $this->updateChecker->getUniqueName('check-now-button'); if ( function_exists('get_submit_button') ) { $checkNowButton = get_submit_button( 'Check Now', 'secondary', 'puc-check-now-button', false, array('id' => $checkButtonId) ); } else { //get_submit_button() is not available in the frontend. Make a button directly. //It won't look the same without admin styles, but it should still work. $checkNowButton = sprintf( '', esc_attr($checkButtonId), esc_attr('Check Now') ); } if ( $state->getLastCheck() > 0 ) { $this->row('Last check', $this->formatTimeWithDelta($state->getLastCheck()) . ' ' . $checkNowButton . $this->responseBox); } else { $this->row('Last check', 'Never'); } $nextCheck = wp_next_scheduled($this->updateChecker->scheduler->getCronHookName()); $this->row('Next automatic check', $this->formatTimeWithDelta($nextCheck)); if ( $state->getCheckedVersion() !== '' ) { $this->row('Checked version', htmlentities($state->getCheckedVersion())); $this->row('Cached update', $state->getUpdate()); } $this->row('Update checker class', htmlentities(get_class($this->updateChecker))); echo '
'; } private function displayCurrentUpdate() { $update = $this->updateChecker->getUpdate(); if ( $update !== null ) { echo '

An Update Is Available

'; echo ''; $fields = $this->getUpdateFields(); foreach($fields as $field) { if ( property_exists($update, $field) ) { $this->row( ucwords(str_replace('_', ' ', $field)), isset($update->$field) ? htmlentities($update->$field) : null ); } } echo '
'; } else { echo '

No updates currently available

'; } } protected function getUpdateFields() { return array('version', 'download_url', 'slug',); } private function formatTimeWithDelta($unixTime) { if ( empty($unixTime) ) { return 'Never'; } $delta = time() - $unixTime; $result = human_time_diff(time(), $unixTime); if ( $delta < 0 ) { $result = 'after ' . $result; } else { $result = $result . ' ago'; } $result .= ' (' . $this->formatTimestamp($unixTime) . ')'; return $result; } private function formatTimestamp($unixTime) { return gmdate('Y-m-d H:i:s', $unixTime + (get_option('gmt_offset') * 3600)); } public function row($name, $value) { if ( is_object($value) || is_array($value) ) { //This is specifically for debugging, so print_r() is fine. //phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_print_r $value = '
' . htmlentities(print_r($value, true)) . '
'; } else if ($value === null) { $value = 'null'; } printf( '%1$s %2$s', esc_html($name), //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- Escaped above. $value ); } } endif; update/v5p4/DebugBar/PluginExtension.php000064400000002316147600042240014144 0ustar00updateChecker->getUniqueName('uid')) ) { return; } $this->preAjaxRequest(); $info = $this->updateChecker->requestInfo(); if ( $info !== null ) { echo 'Successfully retrieved plugin info from the metadata URL:'; //phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_print_r -- For debugging output. echo '
', esc_html(print_r($info, true)), '
'; } else { echo 'Failed to retrieve plugin info from the metadata URL.'; } exit; } } endif; update/v5p4/DebugBar/PluginPanel.php000064400000002265147600042240013232 0ustar00row('Plugin file', htmlentities($this->updateChecker->pluginFile)); parent::displayConfigHeader(); } protected function getMetadataButton() { $buttonId = $this->updateChecker->getUniqueName('request-info-button'); if ( function_exists('get_submit_button') ) { $requestInfoButton = get_submit_button( 'Request Info', 'secondary', 'puc-request-info-button', false, array('id' => $buttonId) ); } else { $requestInfoButton = sprintf( '', esc_attr($buttonId), esc_attr('Request Info') ); } return $requestInfoButton; } protected function getUpdateFields() { return array_merge( parent::getUpdateFields(), array('homepage', 'upgrade_notice', 'tested',) ); } } endif; update/v5p4/DebugBar/ThemePanel.php000064400000001075147600042240013034 0ustar00row('Theme directory', htmlentities($this->updateChecker->directoryName)); parent::displayConfigHeader(); } protected function getUpdateFields() { return array_merge(parent::getUpdateFields(), array('details_url')); } } endif; update/v5p4/Plugin/Package.php000064400000012653147600042240012134 0ustar00pluginAbsolutePath = $pluginAbsolutePath; $this->pluginFile = plugin_basename($this->pluginAbsolutePath); parent::__construct($updateChecker); //Clear the version number cache when something - anything - is upgraded or WP clears the update cache. add_filter('upgrader_post_install', array($this, 'clearCachedVersion')); add_action('delete_site_transient_update_plugins', array($this, 'clearCachedVersion')); } public function getInstalledVersion() { if ( isset($this->cachedInstalledVersion) ) { return $this->cachedInstalledVersion; } $pluginHeader = $this->getPluginHeader(); if ( isset($pluginHeader['Version']) ) { $this->cachedInstalledVersion = $pluginHeader['Version']; return $pluginHeader['Version']; } else { //This can happen if the filename points to something that is not a plugin. $this->updateChecker->triggerError( sprintf( "Cannot read the Version header for '%s'. The filename is incorrect or is not a plugin.", $this->updateChecker->pluginFile ), E_USER_WARNING ); return null; } } /** * Clear the cached plugin version. This method can be set up as a filter (hook) and will * return the filter argument unmodified. * * @param mixed $filterArgument * @return mixed */ public function clearCachedVersion($filterArgument = null) { $this->cachedInstalledVersion = null; return $filterArgument; } public function getAbsoluteDirectoryPath() { return dirname($this->pluginAbsolutePath); } /** * Get the value of a specific plugin or theme header. * * @param string $headerName * @param string $defaultValue * @return string Either the value of the header, or $defaultValue if the header doesn't exist or is empty. */ public function getHeaderValue($headerName, $defaultValue = '') { $headers = $this->getPluginHeader(); if ( isset($headers[$headerName]) && ($headers[$headerName] !== '') ) { return $headers[$headerName]; } return $defaultValue; } protected function getHeaderNames() { return array( 'Name' => 'Plugin Name', 'PluginURI' => 'Plugin URI', 'Version' => 'Version', 'Description' => 'Description', 'Author' => 'Author', 'AuthorURI' => 'Author URI', 'TextDomain' => 'Text Domain', 'DomainPath' => 'Domain Path', 'Network' => 'Network', //The newest WordPress version that this plugin requires or has been tested with. //We support several different formats for compatibility with other libraries. 'Tested WP' => 'Tested WP', 'Requires WP' => 'Requires WP', 'Tested up to' => 'Tested up to', 'Requires at least' => 'Requires at least', ); } /** * Get the translated plugin title. * * @return string */ public function getPluginTitle() { $title = ''; $header = $this->getPluginHeader(); if ( $header && !empty($header['Name']) && isset($header['TextDomain']) ) { $title = translate($header['Name'], $header['TextDomain']); } return $title; } /** * Get plugin's metadata from its file header. * * @return array */ public function getPluginHeader() { if ( !is_file($this->pluginAbsolutePath) ) { //This can happen if the plugin filename is wrong. $this->updateChecker->triggerError( sprintf( "Can't to read the plugin header for '%s'. The file does not exist.", $this->updateChecker->pluginFile ), E_USER_WARNING ); return array(); } if ( !function_exists('get_plugin_data') ) { require_once(ABSPATH . '/wp-admin/includes/plugin.php'); } return get_plugin_data($this->pluginAbsolutePath, false, false); } public function removeHooks() { remove_filter('upgrader_post_install', array($this, 'clearCachedVersion')); remove_action('delete_site_transient_update_plugins', array($this, 'clearCachedVersion')); } /** * Check if the plugin file is inside the mu-plugins directory. * * @return bool */ public function isMuPlugin() { static $cachedResult = null; if ( $cachedResult === null ) { if ( !defined('WPMU_PLUGIN_DIR') || !is_string(WPMU_PLUGIN_DIR) ) { $cachedResult = false; return $cachedResult; } //Convert both paths to the canonical form before comparison. $muPluginDir = realpath(WPMU_PLUGIN_DIR); $pluginPath = realpath($this->pluginAbsolutePath); //If realpath() fails, just normalize the syntax instead. if (($muPluginDir === false) || ($pluginPath === false)) { $muPluginDir = PucFactory::normalizePath(WPMU_PLUGIN_DIR); $pluginPath = PucFactory::normalizePath($this->pluginAbsolutePath); } $cachedResult = (strpos($pluginPath, $muPluginDir) === 0); } return $cachedResult; } } endif; update/v5p4/Plugin/PluginInfo.php000064400000007375147600042240012660 0ustar00sections = (array)$instance->sections; $instance->icons = (array)$instance->icons; return $instance; } /** * Very, very basic validation. * * @param \StdClass $apiResponse * @return bool|\WP_Error */ protected function validateMetadata($apiResponse) { if ( !isset($apiResponse->name, $apiResponse->version) || empty($apiResponse->name) || empty($apiResponse->version) ) { return new \WP_Error( 'puc-invalid-metadata', "The plugin metadata file does not contain the required 'name' and/or 'version' keys." ); } return true; } /** * Transform plugin info into the format used by the native WordPress.org API * * @return object */ public function toWpFormat(){ $info = new \stdClass; //The custom update API is built so that many fields have the same name and format //as those returned by the native WordPress.org API. These can be assigned directly. $sameFormat = array( 'name', 'slug', 'version', 'requires', 'tested', 'rating', 'upgrade_notice', 'num_ratings', 'downloaded', 'active_installs', 'homepage', 'last_updated', 'requires_php', ); foreach($sameFormat as $field){ if ( isset($this->$field) ) { $info->$field = $this->$field; } else { $info->$field = null; } } //Other fields need to be renamed and/or transformed. $info->download_link = $this->download_url; $info->author = $this->getFormattedAuthor(); $info->sections = array_merge(array('description' => ''), $this->sections); if ( !empty($this->banners) ) { //WP expects an array with two keys: "high" and "low". Both are optional. //Docs: https://wordpress.org/plugins/about/faq/#banners $info->banners = is_object($this->banners) ? get_object_vars($this->banners) : $this->banners; $info->banners = array_intersect_key($info->banners, array('high' => true, 'low' => true)); } return $info; } protected function getFormattedAuthor() { if ( !empty($this->author_homepage) ){ /** @noinspection HtmlUnknownTarget */ return sprintf('%s', $this->author_homepage, $this->author); } return $this->author; } } endif; update/v5p4/Plugin/Ui.php000064400000024264147600042240011157 0ustar00updateChecker = $updateChecker; $this->manualCheckErrorTransient = $this->updateChecker->getUniqueName('manual_check_errors'); add_action('admin_init', array($this, 'onAdminInit')); } public function onAdminInit() { if ( $this->updateChecker->userCanInstallUpdates() ) { $this->handleManualCheck(); add_filter('plugin_row_meta', array($this, 'addViewDetailsLink'), 10, 3); add_filter('plugin_row_meta', array($this, 'addCheckForUpdatesLink'), 10, 2); add_action('all_admin_notices', array($this, 'displayManualCheckResult')); } } /** * Add a "View Details" link to the plugin row in the "Plugins" page. By default, * the new link will appear before the "Visit plugin site" link (if present). * * You can change the link text by using the "puc_view_details_link-$slug" filter. * Returning an empty string from the filter will disable the link. * * You can change the position of the link using the * "puc_view_details_link_position-$slug" filter. * Returning 'before' or 'after' will place the link immediately before/after * the "Visit plugin site" link. * Returning 'append' places the link after any existing links at the time of the hook. * Returning 'replace' replaces the "Visit plugin site" link. * Returning anything else disables the link when there is a "Visit plugin site" link. * * If there is no "Visit plugin site" link 'append' is always used! * * @param array $pluginMeta Array of meta links. * @param string $pluginFile * @param array $pluginData Array of plugin header data. * @return array */ public function addViewDetailsLink($pluginMeta, $pluginFile, $pluginData = array()) { if ( $this->isMyPluginFile($pluginFile) && !isset($pluginData['slug']) ) { $linkText = apply_filters($this->updateChecker->getUniqueName('view_details_link'), __('View details')); if ( !empty($linkText) ) { $viewDetailsLinkPosition = 'append'; //Find the "Visit plugin site" link (if present). $visitPluginSiteLinkIndex = count($pluginMeta) - 1; if ( $pluginData['PluginURI'] ) { $escapedPluginUri = esc_url($pluginData['PluginURI']); foreach ($pluginMeta as $linkIndex => $existingLink) { if ( strpos($existingLink, $escapedPluginUri) !== false ) { $visitPluginSiteLinkIndex = $linkIndex; $viewDetailsLinkPosition = apply_filters( $this->updateChecker->getUniqueName('view_details_link_position'), 'before' ); break; } } } $viewDetailsLink = sprintf('%s', esc_url(network_admin_url('plugin-install.php?tab=plugin-information&plugin=' . urlencode($this->updateChecker->slug) . '&TB_iframe=true&width=600&height=550')), esc_attr(sprintf(__('More information about %s'), $pluginData['Name'])), esc_attr($pluginData['Name']), $linkText ); switch ($viewDetailsLinkPosition) { case 'before': array_splice($pluginMeta, $visitPluginSiteLinkIndex, 0, $viewDetailsLink); break; case 'after': array_splice($pluginMeta, $visitPluginSiteLinkIndex + 1, 0, $viewDetailsLink); break; case 'replace': $pluginMeta[$visitPluginSiteLinkIndex] = $viewDetailsLink; break; case 'append': default: $pluginMeta[] = $viewDetailsLink; break; } } } return $pluginMeta; } /** * Add a "Check for updates" link to the plugin row in the "Plugins" page. By default, * the new link will appear after the "Visit plugin site" link if present, otherwise * after the "View plugin details" link. * * You can change the link text by using the "puc_manual_check_link-$slug" filter. * Returning an empty string from the filter will disable the link. * * @param array $pluginMeta Array of meta links. * @param string $pluginFile * @return array */ public function addCheckForUpdatesLink($pluginMeta, $pluginFile) { if ( $this->isMyPluginFile($pluginFile) ) { $linkUrl = wp_nonce_url( add_query_arg( array( 'puc_check_for_updates' => 1, 'puc_slug' => $this->updateChecker->slug, ), self_admin_url('plugins.php') ), 'puc_check_for_updates' ); $linkText = apply_filters( $this->updateChecker->getUniqueName('manual_check_link'), __('Check for updates', 'plugin-update-checker') ); if ( !empty($linkText) ) { /** @noinspection HtmlUnknownTarget */ $pluginMeta[] = sprintf('%s', esc_attr($linkUrl), $linkText); } } return $pluginMeta; } protected function isMyPluginFile($pluginFile) { return ($pluginFile == $this->updateChecker->pluginFile) || (!empty($this->updateChecker->muPluginFile) && ($pluginFile == $this->updateChecker->muPluginFile)); } /** * Check for updates when the user clicks the "Check for updates" link. * * @see self::addCheckForUpdatesLink() * * @return void */ public function handleManualCheck() { $shouldCheck = isset($_GET['puc_check_for_updates'], $_GET['puc_slug']) && $_GET['puc_slug'] == $this->updateChecker->slug && check_admin_referer('puc_check_for_updates'); if ( $shouldCheck ) { $update = $this->updateChecker->checkForUpdates(); $status = ($update === null) ? 'no_update' : 'update_available'; $lastRequestApiErrors = $this->updateChecker->getLastRequestApiErrors(); if ( ($update === null) && !empty($lastRequestApiErrors) ) { //Some errors are not critical. For example, if PUC tries to retrieve the readme.txt //file from GitHub and gets a 404, that's an API error, but it doesn't prevent updates //from working. Maybe the plugin simply doesn't have a readme. //Let's only show important errors. $foundCriticalErrors = false; $questionableErrorCodes = array( 'puc-github-http-error', 'puc-gitlab-http-error', 'puc-bitbucket-http-error', ); foreach ($lastRequestApiErrors as $item) { $wpError = $item['error']; /** @var \WP_Error $wpError */ if ( !in_array($wpError->get_error_code(), $questionableErrorCodes) ) { $foundCriticalErrors = true; break; } } if ( $foundCriticalErrors ) { $status = 'error'; set_site_transient($this->manualCheckErrorTransient, $lastRequestApiErrors, 60); } } wp_redirect(add_query_arg( array( 'puc_update_check_result' => $status, 'puc_slug' => $this->updateChecker->slug, ), self_admin_url('plugins.php') )); exit; } } /** * Display the results of a manual update check. * * @see self::handleManualCheck() * * You can change the result message by using the "puc_manual_check_message-$slug" filter. */ public function displayManualCheckResult() { //phpcs:disable WordPress.Security.NonceVerification.Recommended -- Just displaying a message. if ( isset($_GET['puc_update_check_result'], $_GET['puc_slug']) && ($_GET['puc_slug'] == $this->updateChecker->slug) ) { $status = sanitize_key($_GET['puc_update_check_result']); $title = $this->updateChecker->getInstalledPackage()->getPluginTitle(); $noticeClass = 'updated notice-success'; $details = ''; if ( $status == 'no_update' ) { $message = sprintf(_x('The %s plugin is up to date.', 'the plugin title', 'plugin-update-checker'), $title); } else if ( $status == 'update_available' ) { $message = sprintf(_x('A new version of the %s plugin is available.', 'the plugin title', 'plugin-update-checker'), $title); } else if ( $status === 'error' ) { $message = sprintf(_x('Could not determine if updates are available for %s.', 'the plugin title', 'plugin-update-checker'), $title); $noticeClass = 'error notice-error'; $details = $this->formatManualCheckErrors(get_site_transient($this->manualCheckErrorTransient)); delete_site_transient($this->manualCheckErrorTransient); } else { $message = sprintf(__('Unknown update checker status "%s"', 'plugin-update-checker'), $status); $noticeClass = 'error notice-error'; } $message = esc_html($message); //Plugins can replace the message with their own, including adding HTML. $message = apply_filters( $this->updateChecker->getUniqueName('manual_check_message'), $message, $status ); printf( '

%s

%s
', esc_attr($noticeClass), //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- Was escaped above, and plugins can add HTML. $message, //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- Contains HTML. Content should already be escaped. $details ); } //phpcs:enable } /** * Format the list of errors that were thrown during an update check. * * @param array $errors * @return string */ protected function formatManualCheckErrors($errors) { if ( empty($errors) ) { return ''; } $output = ''; $showAsList = count($errors) > 1; if ( $showAsList ) { $output .= '
    '; $formatString = '
  1. %1$s %2$s
  2. '; } else { $formatString = '

    %1$s %2$s

    '; } foreach ($errors as $item) { $wpError = $item['error']; /** @var \WP_Error $wpError */ $output .= sprintf( $formatString, esc_html($wpError->get_error_message()), esc_html($wpError->get_error_code()) ); } if ( $showAsList ) { $output .= '
'; } return $output; } public function removeHooks() { remove_action('admin_init', array($this, 'onAdminInit')); remove_filter('plugin_row_meta', array($this, 'addViewDetailsLink'), 10); remove_filter('plugin_row_meta', array($this, 'addCheckForUpdatesLink'), 10); remove_action('all_admin_notices', array($this, 'displayManualCheckResult')); } } endif; update/v5p4/Plugin/Update.php000064400000006273147600042240012024 0ustar00copyFields($object, $update); return $update; } /** * @return string[] */ protected function getFieldNames() { return array_merge(parent::getFieldNames(), self::$extraFields); } /** * Transform the update into the format used by WordPress native plugin API. * * @return object */ public function toWpFormat() { $update = parent::toWpFormat(); $update->id = $this->id; $update->url = $this->homepage; $update->tested = $this->tested; $update->requires_php = $this->requires_php; $update->plugin = $this->filename; if ( !empty($this->upgrade_notice) ) { $update->upgrade_notice = $this->upgrade_notice; } if ( !empty($this->icons) && is_array($this->icons) ) { //This should be an array with up to 4 keys: 'svg', '1x', '2x' and 'default'. //Docs: https://developer.wordpress.org/plugins/wordpress-org/plugin-assets/#plugin-icons $icons = array_intersect_key( $this->icons, array('svg' => true, '1x' => true, '2x' => true, 'default' => true) ); if ( !empty($icons) ) { $update->icons = $icons; //It appears that the 'default' icon isn't used anywhere in WordPress 4.9, //but lets set it just in case a future release needs it. if ( !isset($update->icons['default']) ) { $update->icons['default'] = current($update->icons); } } } return $update; } } endif; update/v5p4/Plugin/UpdateChecker.php000064400000032053147600042240013304 0ustar00pluginAbsolutePath = $pluginFile; $this->pluginFile = plugin_basename($this->pluginAbsolutePath); $this->muPluginFile = $muPluginFile; //If no slug is specified, use the name of the main plugin file as the slug. //For example, 'my-cool-plugin/cool-plugin.php' becomes 'cool-plugin'. if ( empty($slug) ){ $slug = basename($this->pluginFile, '.php'); } //Plugin slugs must be unique. $slugCheckFilter = 'puc_is_slug_in_use-' . $slug; $slugUsedBy = apply_filters($slugCheckFilter, false); if ( $slugUsedBy ) { $this->triggerError(sprintf( 'Plugin slug "%s" is already in use by %s. Slugs must be unique.', $slug, $slugUsedBy ), E_USER_ERROR); } add_filter($slugCheckFilter, array($this, 'getAbsolutePath')); parent::__construct($metadataUrl, dirname($this->pluginFile), $slug, $checkPeriod, $optionName); //Backwards compatibility: If the plugin is a mu-plugin but no $muPluginFile is specified, assume //it's the same as $pluginFile given that it's not in a subdirectory (WP only looks in the base dir). if ( (strpbrk($this->pluginFile, '/\\') === false) && $this->isUnknownMuPlugin() ) { $this->muPluginFile = $this->pluginFile; } //To prevent a crash during plugin uninstallation, remove updater hooks when the user removes the plugin. //Details: https://github.com/YahnisElsts/plugin-update-checker/issues/138#issuecomment-335590964 add_action('uninstall_' . $this->pluginFile, array($this, 'removeHooks')); $this->extraUi = new Ui($this); } /** * Create an instance of the scheduler. * * @param int $checkPeriod * @return Scheduler */ protected function createScheduler($checkPeriod) { $scheduler = new Scheduler($this, $checkPeriod, array('load-plugins.php')); register_deactivation_hook($this->pluginFile, array($scheduler, 'removeUpdaterCron')); return $scheduler; } /** * Install the hooks required to run periodic update checks and inject update info * into WP data structures. * * @return void */ protected function installHooks(){ //Override requests for plugin information add_filter('plugins_api', array($this, 'injectInfo'), 20, 3); parent::installHooks(); } /** * Remove update checker hooks. * * The intent is to prevent a fatal error that can happen if the plugin has an uninstall * hook. During uninstallation, WP includes the main plugin file (which creates a PUC instance), * the uninstall hook runs, WP deletes the plugin files and then updates some transients. * If PUC hooks are still around at this time, they could throw an error while trying to * autoload classes from files that no longer exist. * * The "site_transient_{$transient}" filter is the main problem here, but let's also remove * most other PUC hooks to be safe. * * @internal */ public function removeHooks() { parent::removeHooks(); $this->extraUi->removeHooks(); $this->package->removeHooks(); remove_filter('plugins_api', array($this, 'injectInfo'), 20); } /** * Retrieve plugin info from the configured API endpoint. * * @uses wp_remote_get() * * @param array $queryArgs Additional query arguments to append to the request. Optional. * @return PluginInfo */ public function requestInfo($queryArgs = array()) { list($pluginInfo, $result) = $this->requestMetadata( PluginInfo::class, 'request_info', $queryArgs ); if ( $pluginInfo !== null ) { /** @var PluginInfo $pluginInfo */ $pluginInfo->filename = $this->pluginFile; $pluginInfo->slug = $this->slug; } $pluginInfo = apply_filters($this->getUniqueName('request_info_result'), $pluginInfo, $result); return $pluginInfo; } /** * Retrieve the latest update (if any) from the configured API endpoint. * * @uses UpdateChecker::requestInfo() * * @return Update|null An instance of Plugin Update, or NULL when no updates are available. */ public function requestUpdate() { //For the sake of simplicity, this function just calls requestInfo() //and transforms the result accordingly. $pluginInfo = $this->requestInfo(array('checking_for_updates' => '1')); if ( $pluginInfo === null ){ return null; } $update = Update::fromPluginInfo($pluginInfo); $update = $this->filterUpdateResult($update); return $update; } /** * Intercept plugins_api() calls that request information about our plugin and * use the configured API endpoint to satisfy them. * * @see plugins_api() * * @param mixed $result * @param string $action * @param array|object $args * @return mixed */ public function injectInfo($result, $action = null, $args = null){ $relevant = ($action == 'plugin_information') && isset($args->slug) && ( ($args->slug == $this->slug) || ($args->slug == dirname($this->pluginFile)) ); if ( !$relevant ) { return $result; } $pluginInfo = $this->requestInfo(); $this->fixSupportedWordpressVersion($pluginInfo); $pluginInfo = apply_filters($this->getUniqueName('pre_inject_info'), $pluginInfo); if ( $pluginInfo ) { return $pluginInfo->toWpFormat(); } return $result; } protected function shouldShowUpdates() { //No update notifications for mu-plugins unless explicitly enabled. The MU plugin file //is usually different from the main plugin file so the update wouldn't show up properly anyway. return !$this->isUnknownMuPlugin(); } /** * @param \stdClass|null $updates * @param \stdClass $updateToAdd * @return \stdClass */ protected function addUpdateToList($updates, $updateToAdd) { if ( $this->package->isMuPlugin() ) { //WP does not support automatic update installation for mu-plugins, but we can //still display a notice. $updateToAdd->package = null; } return parent::addUpdateToList($updates, $updateToAdd); } /** * @param \stdClass|null $updates * @return \stdClass|null */ protected function removeUpdateFromList($updates) { $updates = parent::removeUpdateFromList($updates); if ( !empty($this->muPluginFile) && isset($updates, $updates->response) ) { unset($updates->response[$this->muPluginFile]); } return $updates; } /** * For plugins, the update array is indexed by the plugin filename relative to the "plugins" * directory. Example: "plugin-name/plugin.php". * * @return string */ protected function getUpdateListKey() { if ( $this->package->isMuPlugin() ) { return $this->muPluginFile; } return $this->pluginFile; } protected function getNoUpdateItemFields() { return array_merge( parent::getNoUpdateItemFields(), array( 'id' => $this->pluginFile, 'slug' => $this->slug, 'plugin' => $this->pluginFile, 'icons' => array(), 'banners' => array(), 'banners_rtl' => array(), 'tested' => '', 'compatibility' => new \stdClass(), ) ); } /** * Alias for isBeingUpgraded(). * * @deprecated * @param \WP_Upgrader|null $upgrader The upgrader that's performing the current update. * @return bool */ public function isPluginBeingUpgraded($upgrader = null) { return $this->isBeingUpgraded($upgrader); } /** * Is there an update being installed for this plugin, right now? * * @param \WP_Upgrader|null $upgrader * @return bool */ public function isBeingUpgraded($upgrader = null) { return $this->upgraderStatus->isPluginBeingUpgraded($this->pluginFile, $upgrader); } /** * Get the details of the currently available update, if any. * * If no updates are available, or if the last known update version is below or equal * to the currently installed version, this method will return NULL. * * Uses cached update data. To retrieve update information straight from * the metadata URL, call requestUpdate() instead. * * @return Update|null */ public function getUpdate() { $update = parent::getUpdate(); if ( isset($update) ) { /** @var Update $update */ $update->filename = $this->pluginFile; } return $update; } /** * Get the translated plugin title. * * @deprecated * @return string */ public function getPluginTitle() { return $this->package->getPluginTitle(); } /** * Check if the current user has the required permissions to install updates. * * @return bool */ public function userCanInstallUpdates() { return current_user_can('update_plugins'); } /** * Check if the plugin file is inside the mu-plugins directory. * * @deprecated * @return bool */ protected function isMuPlugin() { return $this->package->isMuPlugin(); } /** * MU plugins are partially supported, but only when we know which file in mu-plugins * corresponds to this plugin. * * @return bool */ protected function isUnknownMuPlugin() { return empty($this->muPluginFile) && $this->package->isMuPlugin(); } /** * Get absolute path to the main plugin file. * * @return string */ public function getAbsolutePath() { return $this->pluginAbsolutePath; } /** * Register a callback for filtering query arguments. * * The callback function should take one argument - an associative array of query arguments. * It should return a modified array of query arguments. * * @uses add_filter() This method is a convenience wrapper for add_filter(). * * @param callable $callback * @return void */ public function addQueryArgFilter($callback){ $this->addFilter('request_info_query_args', $callback); } /** * Register a callback for filtering arguments passed to wp_remote_get(). * * The callback function should take one argument - an associative array of arguments - * and return a modified array or arguments. See the WP documentation on wp_remote_get() * for details on what arguments are available and how they work. * * @uses add_filter() This method is a convenience wrapper for add_filter(). * * @param callable $callback * @return void */ public function addHttpRequestArgFilter($callback) { $this->addFilter('request_info_options', $callback); } /** * Register a callback for filtering the plugin info retrieved from the external API. * * The callback function should take two arguments. If the plugin info was retrieved * successfully, the first argument passed will be an instance of PluginInfo. Otherwise, * it will be NULL. The second argument will be the corresponding return value of * wp_remote_get (see WP docs for details). * * The callback function should return a new or modified instance of PluginInfo or NULL. * * @uses add_filter() This method is a convenience wrapper for add_filter(). * * @param callable $callback * @return void */ public function addResultFilter($callback) { $this->addFilter('request_info_result', $callback, 10, 2); } protected function createDebugBarExtension() { return new DebugBar\PluginExtension($this); } /** * Create a package instance that represents this plugin or theme. * * @return InstalledPackage */ protected function createInstalledPackage() { return new Package($this->pluginAbsolutePath, $this); } /** * @return Package */ public function getInstalledPackage() { return $this->package; } } endif; update/v5p4/Theme/Package.php000064400000003445147600042240011737 0ustar00stylesheet = $stylesheet; $this->theme = wp_get_theme($this->stylesheet); parent::__construct($updateChecker); } public function getInstalledVersion() { return $this->theme->get('Version'); } public function getAbsoluteDirectoryPath() { if ( method_exists($this->theme, 'get_stylesheet_directory') ) { return $this->theme->get_stylesheet_directory(); //Available since WP 3.4. } return get_theme_root($this->stylesheet) . '/' . $this->stylesheet; } /** * Get the value of a specific plugin or theme header. * * @param string $headerName * @param string $defaultValue * @return string Either the value of the header, or $defaultValue if the header doesn't exist or is empty. */ public function getHeaderValue($headerName, $defaultValue = '') { $value = $this->theme->get($headerName); if ( ($headerName === false) || ($headerName === '') ) { return $defaultValue; } return $value; } protected function getHeaderNames() { return array( 'Name' => 'Theme Name', 'ThemeURI' => 'Theme URI', 'Description' => 'Description', 'Author' => 'Author', 'AuthorURI' => 'Author URI', 'Version' => 'Version', 'Template' => 'Template', 'Status' => 'Status', 'Tags' => 'Tags', 'TextDomain' => 'Text Domain', 'DomainPath' => 'Domain Path', ); } } endif; update/v5p4/Theme/Update.php000064400000004243147600042240011623 0ustar00 $this->slug, 'new_version' => $this->version, 'url' => $this->details_url, ); if ( !empty($this->download_url) ) { $update['package'] = $this->download_url; } return $update; } /** * Create a new instance of Theme_Update from its JSON-encoded representation. * * @param string $json Valid JSON string representing a theme information object. * @return self New instance of ThemeUpdate, or NULL on error. */ public static function fromJson($json) { $instance = new self(); if ( !parent::createFromJson($json, $instance) ) { return null; } return $instance; } /** * Create a new instance by copying the necessary fields from another object. * * @param \StdClass|self $object The source object. * @return self The new copy. */ public static function fromObject($object) { $update = new self(); $update->copyFields($object, $update); return $update; } /** * Basic validation. * * @param \StdClass $apiResponse * @return bool|\WP_Error */ protected function validateMetadata($apiResponse) { $required = array('version', 'details_url'); foreach($required as $key) { if ( !isset($apiResponse->$key) || empty($apiResponse->$key) ) { return new \WP_Error( 'tuc-invalid-metadata', sprintf('The theme metadata is missing the required "%s" key.', $key) ); } } return true; } protected function getFieldNames() { return array_merge(parent::getFieldNames(), self::$extraFields); } protected function getPrefixedFilter($tag) { return parent::getPrefixedFilter($tag) . '_theme'; } } endif; update/v5p4/Theme/UpdateChecker.php000064400000011106147600042240013104 0ustar00stylesheet = $stylesheet; parent::__construct( $metadataUrl, $stylesheet, $customSlug ? $customSlug : $stylesheet, $checkPeriod, $optionName ); } /** * For themes, the update array is indexed by theme directory name. * * @return string */ protected function getUpdateListKey() { return $this->directoryName; } /** * Retrieve the latest update (if any) from the configured API endpoint. * * @return Update|null An instance of Update, or NULL when no updates are available. */ public function requestUpdate() { list($themeUpdate, $result) = $this->requestMetadata(Update::class, 'request_update'); if ( $themeUpdate !== null ) { /** @var Update $themeUpdate */ $themeUpdate->slug = $this->slug; } $themeUpdate = $this->filterUpdateResult($themeUpdate, $result); return $themeUpdate; } protected function getNoUpdateItemFields() { return array_merge( parent::getNoUpdateItemFields(), array( 'theme' => $this->directoryName, 'requires' => '', ) ); } public function userCanInstallUpdates() { return current_user_can('update_themes'); } /** * Create an instance of the scheduler. * * @param int $checkPeriod * @return Scheduler */ protected function createScheduler($checkPeriod) { return new Scheduler($this, $checkPeriod, array('load-themes.php')); } /** * Is there an update being installed right now for this theme? * * @param \WP_Upgrader|null $upgrader The upgrader that's performing the current update. * @return bool */ public function isBeingUpgraded($upgrader = null) { return $this->upgraderStatus->isThemeBeingUpgraded($this->stylesheet, $upgrader); } protected function createDebugBarExtension() { return new DebugBar\Extension($this, DebugBar\ThemePanel::class); } /** * Register a callback for filtering query arguments. * * The callback function should take one argument - an associative array of query arguments. * It should return a modified array of query arguments. * * @param callable $callback * @return void */ public function addQueryArgFilter($callback){ $this->addFilter('request_update_query_args', $callback); } /** * Register a callback for filtering arguments passed to wp_remote_get(). * * The callback function should take one argument - an associative array of arguments - * and return a modified array or arguments. See the WP documentation on wp_remote_get() * for details on what arguments are available and how they work. * * @uses add_filter() This method is a convenience wrapper for add_filter(). * * @param callable $callback * @return void */ public function addHttpRequestArgFilter($callback) { $this->addFilter('request_update_options', $callback); } /** * Register a callback for filtering theme updates retrieved from the external API. * * The callback function should take two arguments. If the theme update was retrieved * successfully, the first argument passed will be an instance of Theme_Update. Otherwise, * it will be NULL. The second argument will be the corresponding return value of * wp_remote_get (see WP docs for details). * * The callback function should return a new or modified instance of Theme_Update or NULL. * * @uses add_filter() This method is a convenience wrapper for add_filter(). * * @param callable $callback * @return void */ public function addResultFilter($callback) { $this->addFilter('request_update_result', $callback, 10, 2); } /** * Create a package instance that represents this plugin or theme. * * @return InstalledPackage */ protected function createInstalledPackage() { return new Package($this->stylesheet, $this); } } endif; update/v5p4/Vcs/Api.php000064400000023235147600042240010605 0ustar00repositoryUrl = $repositoryUrl; $this->setAuthentication($credentials); } /** * @return string */ public function getRepositoryUrl() { return $this->repositoryUrl; } /** * Figure out which reference (i.e. tag or branch) contains the latest version. * * @param string $configBranch Start looking in this branch. * @return null|Reference */ public function chooseReference($configBranch) { $strategies = $this->getUpdateDetectionStrategies($configBranch); if ( !empty($this->strategyFilterName) ) { $strategies = apply_filters( $this->strategyFilterName, $strategies, $this->slug ); } foreach ($strategies as $strategy) { $reference = call_user_func($strategy); if ( !empty($reference) ) { return $reference; } } return null; } /** * Get an ordered list of strategies that can be used to find the latest version. * * The update checker will try each strategy in order until one of them * returns a valid reference. * * @param string $configBranch * @return array Array of callables that return Vcs_Reference objects. */ abstract protected function getUpdateDetectionStrategies($configBranch); /** * Get the readme.txt file from the remote repository and parse it * according to the plugin readme standard. * * @param string $ref Tag or branch name. * @return array Parsed readme. */ public function getRemoteReadme($ref = 'master') { $fileContents = $this->getRemoteFile($this->getLocalReadmeName(), $ref); if ( empty($fileContents) ) { return array(); } $parser = new PucReadmeParser(); return $parser->parse_readme_contents($fileContents); } /** * Get the case-sensitive name of the local readme.txt file. * * In most cases it should just be called "readme.txt", but some plugins call it "README.txt", * "README.TXT", or even "Readme.txt". Most VCS are case-sensitive so we need to know the correct * capitalization. * * Defaults to "readme.txt" (all lowercase). * * @return string */ public function getLocalReadmeName() { static $fileName = null; if ( $fileName !== null ) { return $fileName; } $fileName = 'readme.txt'; if ( isset($this->localDirectory) ) { $files = scandir($this->localDirectory); if ( !empty($files) ) { foreach ($files as $possibleFileName) { if ( strcasecmp($possibleFileName, 'readme.txt') === 0 ) { $fileName = $possibleFileName; break; } } } } return $fileName; } /** * Get a branch. * * @param string $branchName * @return Reference|null */ abstract public function getBranch($branchName); /** * Get a specific tag. * * @param string $tagName * @return Reference|null */ abstract public function getTag($tagName); /** * Get the tag that looks like the highest version number. * (Implementations should skip pre-release versions if possible.) * * @return Reference|null */ abstract public function getLatestTag(); /** * Check if a tag name string looks like a version number. * * @param string $name * @return bool */ protected function looksLikeVersion($name) { //Tag names may be prefixed with "v", e.g. "v1.2.3". $name = ltrim($name, 'v'); //The version string must start with a number. if ( !is_numeric(substr($name, 0, 1)) ) { return false; } //The goal is to accept any SemVer-compatible or "PHP-standardized" version number. return (preg_match('@^(\d{1,5}?)(\.\d{1,10}?){0,4}?($|[abrdp+_\-]|\s)@i', $name) === 1); } /** * Check if a tag appears to be named like a version number. * * @param \stdClass $tag * @return bool */ protected function isVersionTag($tag) { $property = $this->tagNameProperty; return isset($tag->$property) && $this->looksLikeVersion($tag->$property); } /** * Sort a list of tags as if they were version numbers. * Tags that don't look like version number will be removed. * * @param \stdClass[] $tags Array of tag objects. * @return \stdClass[] Filtered array of tags sorted in descending order. */ protected function sortTagsByVersion($tags) { //Keep only those tags that look like version numbers. $versionTags = array_filter($tags, array($this, 'isVersionTag')); //Sort them in descending order. usort($versionTags, array($this, 'compareTagNames')); return $versionTags; } /** * Compare two tags as if they were version number. * * @param \stdClass $tag1 Tag object. * @param \stdClass $tag2 Another tag object. * @return int */ protected function compareTagNames($tag1, $tag2) { $property = $this->tagNameProperty; if ( !isset($tag1->$property) ) { return 1; } if ( !isset($tag2->$property) ) { return -1; } return -version_compare(ltrim($tag1->$property, 'v'), ltrim($tag2->$property, 'v')); } /** * Get the contents of a file from a specific branch or tag. * * @param string $path File name. * @param string $ref * @return null|string Either the contents of the file, or null if the file doesn't exist or there's an error. */ abstract public function getRemoteFile($path, $ref = 'master'); /** * Get the timestamp of the latest commit that changed the specified branch or tag. * * @param string $ref Reference name (e.g. branch or tag). * @return string|null */ abstract public function getLatestCommitTime($ref); /** * Get the contents of the changelog file from the repository. * * @param string $ref * @param string $localDirectory Full path to the local plugin or theme directory. * @return null|string The HTML contents of the changelog. */ public function getRemoteChangelog($ref, $localDirectory) { $filename = $this->findChangelogName($localDirectory); if ( empty($filename) ) { return null; } $changelog = $this->getRemoteFile($filename, $ref); if ( $changelog === null ) { return null; } return Parsedown::instance()->text($changelog); } /** * Guess the name of the changelog file. * * @param string $directory * @return string|null */ protected function findChangelogName($directory = null) { if ( !isset($directory) ) { $directory = $this->localDirectory; } if ( empty($directory) || !is_dir($directory) || ($directory === '.') ) { return null; } $possibleNames = array('CHANGES.md', 'CHANGELOG.md', 'changes.md', 'changelog.md'); $files = scandir($directory); $foundNames = array_intersect($possibleNames, $files); if ( !empty($foundNames) ) { return reset($foundNames); } return null; } /** * Set authentication credentials. * * @param $credentials */ public function setAuthentication($credentials) { $this->credentials = $credentials; } public function isAuthenticationEnabled() { return !empty($this->credentials); } /** * @param string $url * @return string */ public function signDownloadUrl($url) { return $url; } /** * @param string $filterName */ public function setHttpFilterName($filterName) { $this->httpFilterName = $filterName; } /** * @param string $filterName */ public function setStrategyFilterName($filterName) { $this->strategyFilterName = $filterName; } /** * @param string $directory */ public function setLocalDirectory($directory) { if ( empty($directory) || !is_dir($directory) || ($directory === '.') ) { $this->localDirectory = null; } else { $this->localDirectory = $directory; } } /** * @param string $slug */ public function setSlug($slug) { $this->slug = $slug; } } endif; update/v5p4/Vcs/BaseChecker.php000064400000001043147600042240012224 0ustar00[^/]+?)/(?P[^/#?&]+?)/?$@', $path, $matches) ) { $this->username = $matches['username']; $this->repository = $matches['repository']; } else { throw new \InvalidArgumentException('Invalid BitBucket repository URL: "' . $repositoryUrl . '"'); } parent::__construct($repositoryUrl, $credentials); } protected function getUpdateDetectionStrategies($configBranch) { $strategies = array( self::STRATEGY_STABLE_TAG => function () use ($configBranch) { return $this->getStableTag($configBranch); }, ); if ( ($configBranch === 'master' || $configBranch === 'main') ) { $strategies[self::STRATEGY_LATEST_TAG] = array($this, 'getLatestTag'); } $strategies[self::STRATEGY_BRANCH] = function () use ($configBranch) { return $this->getBranch($configBranch); }; return $strategies; } public function getBranch($branchName) { $branch = $this->api('/refs/branches/' . $branchName); if ( is_wp_error($branch) || empty($branch) ) { return null; } //The "/src/{stuff}/{path}" endpoint doesn't seem to handle branch names that contain slashes. //If we don't encode the slash, we get a 404. If we encode it as "%2F", we get a 401. //To avoid issues, if the branch name is not URL-safe, let's use the commit hash instead. $ref = $branch->name; if ((urlencode($ref) !== $ref) && isset($branch->target->hash)) { $ref = $branch->target->hash; } return new Reference(array( 'name' => $ref, 'updated' => $branch->target->date, 'downloadUrl' => $this->getDownloadUrl($branch->name), )); } /** * Get a specific tag. * * @param string $tagName * @return Reference|null */ public function getTag($tagName) { $tag = $this->api('/refs/tags/' . $tagName); if ( is_wp_error($tag) || empty($tag) ) { return null; } return new Reference(array( 'name' => $tag->name, 'version' => ltrim($tag->name, 'v'), 'updated' => $tag->target->date, 'downloadUrl' => $this->getDownloadUrl($tag->name), )); } /** * Get the tag that looks like the highest version number. * * @return Reference|null */ public function getLatestTag() { $tags = $this->api('/refs/tags?sort=-target.date'); if ( !isset($tags, $tags->values) || !is_array($tags->values) ) { return null; } //Filter and sort the list of tags. $versionTags = $this->sortTagsByVersion($tags->values); //Return the first result. if ( !empty($versionTags) ) { $tag = $versionTags[0]; return new Reference(array( 'name' => $tag->name, 'version' => ltrim($tag->name, 'v'), 'updated' => $tag->target->date, 'downloadUrl' => $this->getDownloadUrl($tag->name), )); } return null; } /** * Get the tag/ref specified by the "Stable tag" header in the readme.txt of a given branch. * * @param string $branch * @return null|Reference */ protected function getStableTag($branch) { $remoteReadme = $this->getRemoteReadme($branch); if ( !empty($remoteReadme['stable_tag']) ) { $tag = $remoteReadme['stable_tag']; //You can explicitly opt out of using tags by setting "Stable tag" to //"trunk" or the name of the current branch. if ( ($tag === $branch) || ($tag === 'trunk') ) { return $this->getBranch($branch); } return $this->getTag($tag); } return null; } /** * @param string $ref * @return string */ protected function getDownloadUrl($ref) { return sprintf( 'https://bitbucket.org/%s/%s/get/%s.zip', $this->username, $this->repository, $ref ); } /** * Get the contents of a file from a specific branch or tag. * * @param string $path File name. * @param string $ref * @return null|string Either the contents of the file, or null if the file doesn't exist or there's an error. */ public function getRemoteFile($path, $ref = 'master') { $response = $this->api('src/' . $ref . '/' . ltrim($path)); if ( is_wp_error($response) || !is_string($response) ) { return null; } return $response; } /** * Get the timestamp of the latest commit that changed the specified branch or tag. * * @param string $ref Reference name (e.g. branch or tag). * @return string|null */ public function getLatestCommitTime($ref) { $response = $this->api('commits/' . $ref); if ( isset($response->values, $response->values[0], $response->values[0]->date) ) { return $response->values[0]->date; } return null; } /** * Perform a BitBucket API 2.0 request. * * @param string $url * @param string $version * @return mixed|\WP_Error */ public function api($url, $version = '2.0') { $url = ltrim($url, '/'); $isSrcResource = Utils::startsWith($url, 'src/'); $url = implode('/', array( 'https://api.bitbucket.org', $version, 'repositories', $this->username, $this->repository, $url )); $baseUrl = $url; if ( $this->oauth ) { $url = $this->oauth->sign($url,'GET'); } $options = array('timeout' => wp_doing_cron() ? 10 : 3); if ( !empty($this->httpFilterName) ) { $options = apply_filters($this->httpFilterName, $options); } $response = wp_remote_get($url, $options); if ( is_wp_error($response) ) { do_action('puc_api_error', $response, null, $url, $this->slug); return $response; } $code = wp_remote_retrieve_response_code($response); $body = wp_remote_retrieve_body($response); if ( $code === 200 ) { if ( $isSrcResource ) { //Most responses are JSON-encoded, but src resources just //return raw file contents. $document = $body; } else { $document = json_decode($body); } return $document; } $error = new \WP_Error( 'puc-bitbucket-http-error', sprintf('BitBucket API error. Base URL: "%s", HTTP status code: %d.', $baseUrl, $code) ); do_action('puc_api_error', $error, $response, $url, $this->slug); return $error; } /** * @param array $credentials */ public function setAuthentication($credentials) { parent::setAuthentication($credentials); if ( !empty($credentials) && !empty($credentials['consumer_key']) ) { $this->oauth = new OAuthSignature( $credentials['consumer_key'], $credentials['consumer_secret'] ); } else { $this->oauth = null; } } public function signDownloadUrl($url) { //Add authentication data to download URLs. Since OAuth signatures incorporate //timestamps, we have to do this immediately before inserting the update. Otherwise, //authentication could fail due to a stale timestamp. if ( $this->oauth ) { $url = $this->oauth->sign($url); } return $url; } } endif; update/v5p4/Vcs/GitHubApi.php000064400000032654147600042240011715 0ustar00[^/]+?)/(?P[^/#?&]+?)/?$@', $path, $matches) ) { $this->userName = $matches['username']; $this->repositoryName = $matches['repository']; } else { throw new \InvalidArgumentException('Invalid GitHub repository URL: "' . $repositoryUrl . '"'); } parent::__construct($repositoryUrl, $accessToken); } /** * Get the latest release from GitHub. * * @return Reference|null */ public function getLatestRelease() { //The "latest release" endpoint returns one release and always skips pre-releases, //so we can only use it if that's compatible with the current filter settings. if ( $this->shouldSkipPreReleases() && ( ($this->releaseFilterMaxReleases === 1) || !$this->hasCustomReleaseFilter() ) ) { //Just get the latest release. $release = $this->api('/repos/:user/:repo/releases/latest'); if ( is_wp_error($release) || !is_object($release) || !isset($release->tag_name) ) { return null; } $foundReleases = array($release); } else { //Get a list of the most recent releases. $foundReleases = $this->api( '/repos/:user/:repo/releases', array('per_page' => $this->releaseFilterMaxReleases) ); if ( is_wp_error($foundReleases) || !is_array($foundReleases) ) { return null; } } foreach ($foundReleases as $release) { //Always skip drafts. if ( isset($release->draft) && !empty($release->draft) ) { continue; } //Skip pre-releases unless specifically included. if ( $this->shouldSkipPreReleases() && isset($release->prerelease) && !empty($release->prerelease) ) { continue; } $versionNumber = ltrim($release->tag_name, 'v'); //Remove the "v" prefix from "v1.2.3". //Custom release filtering. if ( !$this->matchesCustomReleaseFilter($versionNumber, $release) ) { continue; } $reference = new Reference(array( 'name' => $release->tag_name, 'version' => $versionNumber, 'downloadUrl' => $release->zipball_url, 'updated' => $release->created_at, 'apiResponse' => $release, )); if ( isset($release->assets[0]) ) { $reference->downloadCount = $release->assets[0]->download_count; } if ( $this->releaseAssetsEnabled ) { //Use the first release asset that matches the specified regular expression. if ( isset($release->assets, $release->assets[0]) ) { $matchingAssets = array_values(array_filter($release->assets, array($this, 'matchesAssetFilter'))); } else { $matchingAssets = array(); } if ( !empty($matchingAssets) ) { if ( $this->isAuthenticationEnabled() ) { /** * Keep in mind that we'll need to add an "Accept" header to download this asset. * * @see setUpdateDownloadHeaders() */ $reference->downloadUrl = $matchingAssets[0]->url; } else { //It seems that browser_download_url only works for public repositories. //Using an access_token doesn't help. Maybe OAuth would work? $reference->downloadUrl = $matchingAssets[0]->browser_download_url; } $reference->downloadCount = $matchingAssets[0]->download_count; } else if ( $this->releaseAssetPreference === Api::REQUIRE_RELEASE_ASSETS ) { //None of the assets match the filter, and we're not allowed //to fall back to the auto-generated source ZIP. return null; } } if ( !empty($release->body) ) { $reference->changelog = Parsedown::instance()->text($release->body); } return $reference; } return null; } /** * Get the tag that looks like the highest version number. * * @return Reference|null */ public function getLatestTag() { $tags = $this->api('/repos/:user/:repo/tags'); if ( is_wp_error($tags) || !is_array($tags) ) { return null; } $versionTags = $this->sortTagsByVersion($tags); if ( empty($versionTags) ) { return null; } $tag = $versionTags[0]; return new Reference(array( 'name' => $tag->name, 'version' => ltrim($tag->name, 'v'), 'downloadUrl' => $tag->zipball_url, 'apiResponse' => $tag, )); } /** * Get a branch by name. * * @param string $branchName * @return null|Reference */ public function getBranch($branchName) { $branch = $this->api('/repos/:user/:repo/branches/' . $branchName); if ( is_wp_error($branch) || empty($branch) ) { return null; } $reference = new Reference(array( 'name' => $branch->name, 'downloadUrl' => $this->buildArchiveDownloadUrl($branch->name), 'apiResponse' => $branch, )); if ( isset($branch->commit, $branch->commit->commit, $branch->commit->commit->author->date) ) { $reference->updated = $branch->commit->commit->author->date; } return $reference; } /** * Get the latest commit that changed the specified file. * * @param string $filename * @param string $ref Reference name (e.g. branch or tag). * @return \StdClass|null */ public function getLatestCommit($filename, $ref = 'master') { $commits = $this->api( '/repos/:user/:repo/commits', array( 'path' => $filename, 'sha' => $ref, ) ); if ( !is_wp_error($commits) && isset($commits[0]) ) { return $commits[0]; } return null; } /** * Get the timestamp of the latest commit that changed the specified branch or tag. * * @param string $ref Reference name (e.g. branch or tag). * @return string|null */ public function getLatestCommitTime($ref) { $commits = $this->api('/repos/:user/:repo/commits', array('sha' => $ref)); if ( !is_wp_error($commits) && isset($commits[0]) ) { return $commits[0]->commit->author->date; } return null; } /** * Perform a GitHub API request. * * @param string $url * @param array $queryParams * @return mixed|\WP_Error */ protected function api($url, $queryParams = array()) { $baseUrl = $url; $url = $this->buildApiUrl($url, $queryParams); $options = array('timeout' => wp_doing_cron() ? 10 : 3); if ( $this->isAuthenticationEnabled() ) { $options['headers'] = array('Authorization' => $this->getAuthorizationHeader()); } if ( !empty($this->httpFilterName) ) { $options = apply_filters($this->httpFilterName, $options); } $response = wp_remote_get($url, $options); if ( is_wp_error($response) ) { do_action('puc_api_error', $response, null, $url, $this->slug); return $response; } $code = wp_remote_retrieve_response_code($response); $body = wp_remote_retrieve_body($response); if ( $code === 200 ) { $document = json_decode($body); return $document; } $error = new \WP_Error( 'puc-github-http-error', sprintf('GitHub API error. Base URL: "%s", HTTP status code: %d.', $baseUrl, $code) ); do_action('puc_api_error', $error, $response, $url, $this->slug); return $error; } /** * Build a fully qualified URL for an API request. * * @param string $url * @param array $queryParams * @return string */ protected function buildApiUrl($url, $queryParams) { $variables = array( 'user' => $this->userName, 'repo' => $this->repositoryName, ); foreach ($variables as $name => $value) { $url = str_replace('/:' . $name, '/' . urlencode($value), $url); } $url = 'https://api.github.com' . $url; if ( !empty($queryParams) ) { $url = add_query_arg($queryParams, $url); } return $url; } /** * Get the contents of a file from a specific branch or tag. * * @param string $path File name. * @param string $ref * @return null|string Either the contents of the file, or null if the file doesn't exist or there's an error. */ public function getRemoteFile($path, $ref = 'master') { $apiUrl = '/repos/:user/:repo/contents/' . $path; $response = $this->api($apiUrl, array('ref' => $ref)); if ( is_wp_error($response) || !isset($response->content) || ($response->encoding !== 'base64') ) { return null; } return base64_decode($response->content); } /** * Generate a URL to download a ZIP archive of the specified branch/tag/etc. * * @param string $ref * @return string */ public function buildArchiveDownloadUrl($ref = 'master') { $url = sprintf( 'https://api.github.com/repos/%1$s/%2$s/zipball/%3$s', urlencode($this->userName), urlencode($this->repositoryName), urlencode($ref) ); return $url; } /** * Get a specific tag. * * @param string $tagName * @return void */ public function getTag($tagName) { //The current GitHub update checker doesn't use getTag, so I didn't bother to implement it. throw new \LogicException('The ' . __METHOD__ . ' method is not implemented and should not be used.'); } public function setAuthentication($credentials) { parent::setAuthentication($credentials); $this->accessToken = is_string($credentials) ? $credentials : null; //Optimization: Instead of filtering all HTTP requests, let's do it only when //WordPress is about to download an update. add_filter('upgrader_pre_download', array($this, 'addHttpRequestFilter'), 10, 1); //WP 3.7+ } protected function getUpdateDetectionStrategies($configBranch) { $strategies = array(); if ( $configBranch === 'master' || $configBranch === 'main') { //Use the latest release. $strategies[self::STRATEGY_LATEST_RELEASE] = array($this, 'getLatestRelease'); //Failing that, use the tag with the highest version number. $strategies[self::STRATEGY_LATEST_TAG] = array($this, 'getLatestTag'); } //Alternatively, just use the branch itself. $strategies[self::STRATEGY_BRANCH] = function () use ($configBranch) { return $this->getBranch($configBranch); }; return $strategies; } /** * Get the unchanging part of a release asset URL. Used to identify download attempts. * * @return string */ protected function getAssetApiBaseUrl() { return sprintf( '//api.github.com/repos/%1$s/%2$s/releases/assets/', $this->userName, $this->repositoryName ); } protected function getFilterableAssetName($releaseAsset) { if ( isset($releaseAsset->name) ) { return $releaseAsset->name; } return null; } /** * @param bool $result * @return bool * @internal */ public function addHttpRequestFilter($result) { if ( !$this->downloadFilterAdded && $this->isAuthenticationEnabled() ) { //phpcs:ignore WordPressVIPMinimum.Hooks.RestrictedHooks.http_request_args -- The callback doesn't change the timeout. add_filter('http_request_args', array($this, 'setUpdateDownloadHeaders'), 10, 2); add_action('requests-requests.before_redirect', array($this, 'removeAuthHeaderFromRedirects'), 10, 4); $this->downloadFilterAdded = true; } return $result; } /** * Set the HTTP headers that are necessary to download updates from private repositories. * * See GitHub docs: * * @link https://developer.github.com/v3/repos/releases/#get-a-single-release-asset * @link https://developer.github.com/v3/auth/#basic-authentication * * @internal * @param array $requestArgs * @param string $url * @return array */ public function setUpdateDownloadHeaders($requestArgs, $url = '') { //Is WordPress trying to download one of our release assets? if ( $this->releaseAssetsEnabled && (strpos($url, $this->getAssetApiBaseUrl()) !== false) ) { $requestArgs['headers']['Accept'] = 'application/octet-stream'; } //Use Basic authentication, but only if the download is from our repository. $repoApiBaseUrl = $this->buildApiUrl('/repos/:user/:repo/', array()); if ( $this->isAuthenticationEnabled() && (strpos($url, $repoApiBaseUrl)) === 0 ) { $requestArgs['headers']['Authorization'] = $this->getAuthorizationHeader(); } return $requestArgs; } /** * When following a redirect, the Requests library will automatically forward * the authorization header to other hosts. We don't want that because it breaks * AWS downloads and can leak authorization information. * * @param string $location * @param array $headers * @internal */ public function removeAuthHeaderFromRedirects(&$location, &$headers) { $repoApiBaseUrl = $this->buildApiUrl('/repos/:user/:repo/', array()); if ( strpos($location, $repoApiBaseUrl) === 0 ) { return; //This request is going to GitHub, so it's fine. } //Remove the header. if ( isset($headers['Authorization']) ) { unset($headers['Authorization']); } } /** * Generate the value of the "Authorization" header. * * @return string */ protected function getAuthorizationHeader() { return 'Basic ' . base64_encode($this->userName . ':' . $this->accessToken); } } endif; update/v5p4/Vcs/GitLabApi.php000064400000026711147600042240011672 0ustar00repositoryHost = wp_parse_url($repositoryUrl, PHP_URL_HOST) . $port; if ( $this->repositoryHost !== 'gitlab.com' ) { $this->repositoryProtocol = wp_parse_url($repositoryUrl, PHP_URL_SCHEME); } //Find the repository information $path = wp_parse_url($repositoryUrl, PHP_URL_PATH); if ( preg_match('@^/?(?P[^/]+?)/(?P[^/#?&]+?)/?$@', $path, $matches) ) { $this->userName = $matches['username']; $this->repositoryName = $matches['repository']; } elseif ( ($this->repositoryHost === 'gitlab.com') ) { //This is probably a repository in a subgroup, e.g. "/organization/category/repo". $parts = explode('/', trim($path, '/')); if ( count($parts) < 3 ) { throw new \InvalidArgumentException('Invalid GitLab.com repository URL: "' . $repositoryUrl . '"'); } $lastPart = array_pop($parts); $this->userName = implode('/', $parts); $this->repositoryName = $lastPart; } else { //There could be subgroups in the URL: gitlab.domain.com/group/subgroup/subgroup2/repository if ( $subgroup !== null ) { $path = str_replace(trailingslashit($subgroup), '', $path); } //This is not a traditional url, it could be gitlab is in a deeper subdirectory. //Get the path segments. $segments = explode('/', untrailingslashit(ltrim($path, '/'))); //We need at least /user-name/repository-name/ if ( count($segments) < 2 ) { throw new \InvalidArgumentException('Invalid GitLab repository URL: "' . $repositoryUrl . '"'); } //Get the username and repository name. $usernameRepo = array_splice($segments, -2, 2); $this->userName = $usernameRepo[0]; $this->repositoryName = $usernameRepo[1]; //Append the remaining segments to the host if there are segments left. if ( count($segments) > 0 ) { $this->repositoryHost = trailingslashit($this->repositoryHost) . implode('/', $segments); } //Add subgroups to username. if ( $subgroup !== null ) { $this->userName = $usernameRepo[0] . '/' . untrailingslashit($subgroup); } } parent::__construct($repositoryUrl, $accessToken); } /** * Get the latest release from GitLab. * * @return Reference|null */ public function getLatestRelease() { $releases = $this->api('/:id/releases', array('per_page' => $this->releaseFilterMaxReleases)); if ( is_wp_error($releases) || empty($releases) || !is_array($releases) ) { return null; } foreach ($releases as $release) { if ( //Skip invalid/unsupported releases. !is_object($release) || !isset($release->tag_name) //Skip upcoming releases. || ( !empty($release->upcoming_release) && $this->shouldSkipPreReleases() ) ) { continue; } $versionNumber = ltrim($release->tag_name, 'v'); //Remove the "v" prefix from "v1.2.3". //Apply custom filters. if ( !$this->matchesCustomReleaseFilter($versionNumber, $release) ) { continue; } $downloadUrl = $this->findReleaseDownloadUrl($release); if ( empty($downloadUrl) ) { //The latest release doesn't have valid download URL. return null; } if ( !empty($this->accessToken) ) { $downloadUrl = add_query_arg('private_token', $this->accessToken, $downloadUrl); } return new Reference(array( 'name' => $release->tag_name, 'version' => $versionNumber, 'downloadUrl' => $downloadUrl, 'updated' => $release->released_at, 'apiResponse' => $release, )); } return null; } /** * @param object $release * @return string|null */ protected function findReleaseDownloadUrl($release) { if ( $this->releaseAssetsEnabled ) { if ( isset($release->assets, $release->assets->links) ) { //Use the first asset link where the URL matches the filter. foreach ($release->assets->links as $link) { if ( $this->matchesAssetFilter($link) ) { return $link->url; } } } if ( $this->releaseAssetPreference === Api::REQUIRE_RELEASE_ASSETS ) { //Falling back to source archives is not allowed, so give up. return null; } } //Use the first source code archive that's in ZIP format. foreach ($release->assets->sources as $source) { if ( isset($source->format) && ($source->format === 'zip') ) { return $source->url; } } return null; } /** * Get the tag that looks like the highest version number. * * @return Reference|null */ public function getLatestTag() { $tags = $this->api('/:id/repository/tags'); if ( is_wp_error($tags) || empty($tags) || !is_array($tags) ) { return null; } $versionTags = $this->sortTagsByVersion($tags); if ( empty($versionTags) ) { return null; } $tag = $versionTags[0]; return new Reference(array( 'name' => $tag->name, 'version' => ltrim($tag->name, 'v'), 'downloadUrl' => $this->buildArchiveDownloadUrl($tag->name), 'apiResponse' => $tag, )); } /** * Get a branch by name. * * @param string $branchName * @return null|Reference */ public function getBranch($branchName) { $branch = $this->api('/:id/repository/branches/' . $branchName); if ( is_wp_error($branch) || empty($branch) ) { return null; } $reference = new Reference(array( 'name' => $branch->name, 'downloadUrl' => $this->buildArchiveDownloadUrl($branch->name), 'apiResponse' => $branch, )); if ( isset($branch->commit, $branch->commit->committed_date) ) { $reference->updated = $branch->commit->committed_date; } return $reference; } /** * Get the timestamp of the latest commit that changed the specified branch or tag. * * @param string $ref Reference name (e.g. branch or tag). * @return string|null */ public function getLatestCommitTime($ref) { $commits = $this->api('/:id/repository/commits/', array('ref_name' => $ref)); if ( is_wp_error($commits) || !is_array($commits) || !isset($commits[0]) ) { return null; } return $commits[0]->committed_date; } /** * Perform a GitLab API request. * * @param string $url * @param array $queryParams * @return mixed|\WP_Error */ protected function api($url, $queryParams = array()) { $baseUrl = $url; $url = $this->buildApiUrl($url, $queryParams); $options = array('timeout' => wp_doing_cron() ? 10 : 3); if ( !empty($this->httpFilterName) ) { $options = apply_filters($this->httpFilterName, $options); } $response = wp_remote_get($url, $options); if ( is_wp_error($response) ) { do_action('puc_api_error', $response, null, $url, $this->slug); return $response; } $code = wp_remote_retrieve_response_code($response); $body = wp_remote_retrieve_body($response); if ( $code === 200 ) { return json_decode($body); } $error = new \WP_Error( 'puc-gitlab-http-error', sprintf('GitLab API error. URL: "%s", HTTP status code: %d.', $baseUrl, $code) ); do_action('puc_api_error', $error, $response, $url, $this->slug); return $error; } /** * Build a fully qualified URL for an API request. * * @param string $url * @param array $queryParams * @return string */ protected function buildApiUrl($url, $queryParams) { $variables = array( 'user' => $this->userName, 'repo' => $this->repositoryName, 'id' => $this->userName . '/' . $this->repositoryName, ); foreach ($variables as $name => $value) { $url = str_replace("/:{$name}", '/' . urlencode($value), $url); } $url = substr($url, 1); $url = sprintf('%1$s://%2$s/api/v4/projects/%3$s', $this->repositoryProtocol, $this->repositoryHost, $url); if ( !empty($this->accessToken) ) { $queryParams['private_token'] = $this->accessToken; } if ( !empty($queryParams) ) { $url = add_query_arg($queryParams, $url); } return $url; } /** * Get the contents of a file from a specific branch or tag. * * @param string $path File name. * @param string $ref * @return null|string Either the contents of the file, or null if the file doesn't exist or there's an error. */ public function getRemoteFile($path, $ref = 'master') { $response = $this->api('/:id/repository/files/' . $path, array('ref' => $ref)); if ( is_wp_error($response) || !isset($response->content) || $response->encoding !== 'base64' ) { return null; } return base64_decode($response->content); } /** * Generate a URL to download a ZIP archive of the specified branch/tag/etc. * * @param string $ref * @return string */ public function buildArchiveDownloadUrl($ref = 'master') { $url = sprintf( '%1$s://%2$s/api/v4/projects/%3$s/repository/archive.zip', $this->repositoryProtocol, $this->repositoryHost, urlencode($this->userName . '/' . $this->repositoryName) ); $url = add_query_arg('sha', urlencode($ref), $url); if ( !empty($this->accessToken) ) { $url = add_query_arg('private_token', $this->accessToken, $url); } return $url; } /** * Get a specific tag. * * @param string $tagName * @return void */ public function getTag($tagName) { throw new \LogicException('The ' . __METHOD__ . ' method is not implemented and should not be used.'); } protected function getUpdateDetectionStrategies($configBranch) { $strategies = array(); if ( ($configBranch === 'main') || ($configBranch === 'master') ) { $strategies[self::STRATEGY_LATEST_RELEASE] = array($this, 'getLatestRelease'); $strategies[self::STRATEGY_LATEST_TAG] = array($this, 'getLatestTag'); } $strategies[self::STRATEGY_BRANCH] = function () use ($configBranch) { return $this->getBranch($configBranch); }; return $strategies; } public function setAuthentication($credentials) { parent::setAuthentication($credentials); $this->accessToken = is_string($credentials) ? $credentials : null; } /** * Use release assets that link to GitLab generic packages (e.g. .zip files) * instead of automatically generated source archives. * * This is included for backwards compatibility with older versions of PUC. * * @return void * @deprecated Use enableReleaseAssets() instead. * @noinspection PhpUnused -- Public API */ public function enableReleasePackages() { $this->enableReleaseAssets( /** @lang RegExp */ '/\.zip($|[?&#])/i', Api::REQUIRE_RELEASE_ASSETS ); } protected function getFilterableAssetName($releaseAsset) { if ( isset($releaseAsset->url) ) { return $releaseAsset->url; } return null; } } endif; update/v5p4/Vcs/PluginUpdateChecker.php000064400000021622147600042240013760 0ustar00api = $api; parent::__construct($api->getRepositoryUrl(), $pluginFile, $slug, $checkPeriod, $optionName, $muPluginFile); $this->api->setHttpFilterName($this->getUniqueName('request_info_options')); $this->api->setStrategyFilterName($this->getUniqueName('vcs_update_detection_strategies')); $this->api->setSlug($this->slug); } public function requestInfo($unusedParameter = null) { //We have to make several remote API requests to gather all the necessary info //which can take a while on slow networks. if ( function_exists('set_time_limit') ) { @set_time_limit(60); } $api = $this->api; $api->setLocalDirectory($this->package->getAbsoluteDirectoryPath()); $info = new Plugin\PluginInfo(); $info->filename = $this->pluginFile; $info->slug = $this->slug; $this->setInfoFromHeader($this->package->getPluginHeader(), $info); $this->setIconsFromLocalAssets($info); $this->setBannersFromLocalAssets($info); //Pick a branch or tag. $updateSource = $api->chooseReference($this->branch); if ( $updateSource ) { $ref = $updateSource->name; $info->version = $updateSource->version; $info->last_updated = $updateSource->updated; $info->download_url = $updateSource->downloadUrl; if ( !empty($updateSource->changelog) ) { $info->sections['changelog'] = $updateSource->changelog; } if ( isset($updateSource->downloadCount) ) { $info->downloaded = $updateSource->downloadCount; } } else { //There's probably a network problem or an authentication error. do_action( 'puc_api_error', new \WP_Error( 'puc-no-update-source', 'Could not retrieve version information from the repository. ' . 'This usually means that the update checker either can\'t connect ' . 'to the repository or it\'s configured incorrectly.' ), null, null, $this->slug ); return null; } //Get headers from the main plugin file in this branch/tag. Its "Version" header and other metadata //are what the WordPress install will actually see after upgrading, so they take precedence over releases/tags. $mainPluginFile = basename($this->pluginFile); $remotePlugin = $api->getRemoteFile($mainPluginFile, $ref); if ( !empty($remotePlugin) ) { $remoteHeader = $this->package->getFileHeader($remotePlugin); $this->setInfoFromHeader($remoteHeader, $info); } //Sanity check: Reject updates that don't have a version number. //This can happen when we're using a branch, and we either fail to retrieve the main plugin //file or the file doesn't have a "Version" header. if ( empty($info->version) ) { do_action( 'puc_api_error', new \WP_Error( 'puc-no-plugin-version', 'Could not find the version number in the repository.' ), null, null, $this->slug ); return null; } //Try parsing readme.txt. If it's formatted according to WordPress.org standards, it will contain //a lot of useful information like the required/tested WP version, changelog, and so on. if ( $this->readmeTxtExistsLocally() ) { $this->setInfoFromRemoteReadme($ref, $info); } //The changelog might be in a separate file. if ( empty($info->sections['changelog']) ) { $info->sections['changelog'] = $api->getRemoteChangelog($ref, $this->package->getAbsoluteDirectoryPath()); if ( empty($info->sections['changelog']) ) { $info->sections['changelog'] = __('There is no changelog available.', 'plugin-update-checker'); } } if ( empty($info->last_updated) ) { //Fetch the latest commit that changed the tag or branch and use it as the "last_updated" date. $latestCommitTime = $api->getLatestCommitTime($ref); if ( $latestCommitTime !== null ) { $info->last_updated = $latestCommitTime; } } $info = apply_filters($this->getUniqueName('request_info_result'), $info, null); return $info; } /** * Check if the currently installed version has a readme.txt file. * * @return bool */ protected function readmeTxtExistsLocally() { return $this->package->fileExists($this->api->getLocalReadmeName()); } /** * Copy plugin metadata from a file header to a Plugin Info object. * * @param array $fileHeader * @param Plugin\PluginInfo $pluginInfo */ protected function setInfoFromHeader($fileHeader, $pluginInfo) { $headerToPropertyMap = array( 'Version' => 'version', 'Name' => 'name', 'PluginURI' => 'homepage', 'Author' => 'author', 'AuthorName' => 'author', 'AuthorURI' => 'author_homepage', 'Requires WP' => 'requires', 'Tested WP' => 'tested', 'Requires at least' => 'requires', 'Tested up to' => 'tested', 'Requires PHP' => 'requires_php', ); foreach ($headerToPropertyMap as $headerName => $property) { if ( isset($fileHeader[$headerName]) && !empty($fileHeader[$headerName]) ) { $pluginInfo->$property = $fileHeader[$headerName]; } } if ( !empty($fileHeader['Description']) ) { $pluginInfo->sections['description'] = $fileHeader['Description']; } } /** * Copy plugin metadata from the remote readme.txt file. * * @param string $ref GitHub tag or branch where to look for the readme. * @param Plugin\PluginInfo $pluginInfo */ protected function setInfoFromRemoteReadme($ref, $pluginInfo) { $readme = $this->api->getRemoteReadme($ref); if ( empty($readme) ) { return; } if ( isset($readme['sections']) ) { $pluginInfo->sections = array_merge($pluginInfo->sections, $readme['sections']); } if ( !empty($readme['tested_up_to']) ) { $pluginInfo->tested = $readme['tested_up_to']; } if ( !empty($readme['requires_at_least']) ) { $pluginInfo->requires = $readme['requires_at_least']; } if ( !empty($readme['requires_php']) ) { $pluginInfo->requires_php = $readme['requires_php']; } if ( isset($readme['upgrade_notice'], $readme['upgrade_notice'][$pluginInfo->version]) ) { $pluginInfo->upgrade_notice = $readme['upgrade_notice'][$pluginInfo->version]; } } /** * Add icons from the currently installed version to a Plugin Info object. * * The icons should be in a subdirectory named "assets". Supported image formats * and file names are described here: * @link https://developer.wordpress.org/plugins/wordpress-org/plugin-assets/#plugin-icons * * @param Plugin\PluginInfo $pluginInfo */ protected function setIconsFromLocalAssets($pluginInfo) { $icons = $this->getLocalAssetUrls(array( 'icon.svg' => 'svg', 'icon-256x256.png' => '2x', 'icon-256x256.jpg' => '2x', 'icon-128x128.png' => '1x', 'icon-128x128.jpg' => '1x', )); if ( !empty($icons) ) { //The "default" key seems to be used only as last-resort fallback in WP core (5.8/5.9), //but we'll set it anyway in case some code somewhere needs it. reset($icons); $firstKey = key($icons); $icons['default'] = $icons[$firstKey]; $pluginInfo->icons = $icons; } } /** * Add banners from the currently installed version to a Plugin Info object. * * The banners should be in a subdirectory named "assets". Supported image formats * and file names are described here: * @link https://developer.wordpress.org/plugins/wordpress-org/plugin-assets/#plugin-headers * * @param Plugin\PluginInfo $pluginInfo */ protected function setBannersFromLocalAssets($pluginInfo) { $banners = $this->getLocalAssetUrls(array( 'banner-772x250.png' => 'high', 'banner-772x250.jpg' => 'high', 'banner-1544x500.png' => 'low', 'banner-1544x500.jpg' => 'low', )); if ( !empty($banners) ) { $pluginInfo->banners = $banners; } } /** * @param array $filesToKeys * @return array */ protected function getLocalAssetUrls($filesToKeys) { $assetDirectory = $this->package->getAbsoluteDirectoryPath() . DIRECTORY_SEPARATOR . 'assets'; if ( !is_dir($assetDirectory) ) { return array(); } $assetBaseUrl = trailingslashit(plugins_url('', $assetDirectory . '/imaginary.file')); $foundAssets = array(); foreach ($filesToKeys as $fileName => $key) { $fullBannerPath = $assetDirectory . DIRECTORY_SEPARATOR . $fileName; if ( !isset($icons[$key]) && is_file($fullBannerPath) ) { $foundAssets[$key] = $assetBaseUrl . $fileName; } } return $foundAssets; } } endif; update/v5p4/Vcs/Reference.php000064400000002142147600042240011764 0ustar00properties = $properties; } /** * @param string $name * @return mixed|null */ public function __get($name) { return array_key_exists($name, $this->properties) ? $this->properties[$name] : null; } /** * @param string $name * @param mixed $value */ public function __set($name, $value) { $this->properties[$name] = $value; } /** * @param string $name * @return bool */ public function __isset($name) { return isset($this->properties[$name]); } } endif; update/v5p4/Vcs/ReleaseAssetSupport.php000064400000004517147600042240014053 0ustar00releaseAssetsEnabled = true; $this->assetFilterRegex = $nameRegex; $this->releaseAssetPreference = $preference; } /** * Disable release assets. * * @return void * @noinspection PhpUnused -- Public API */ public function disableReleaseAssets() { $this->releaseAssetsEnabled = false; $this->assetFilterRegex = null; } /** * Does the specified asset match the name regex? * * @param mixed $releaseAsset Data type and structure depend on the host/API. * @return bool */ protected function matchesAssetFilter($releaseAsset) { if ( $this->assetFilterRegex === null ) { //The default is to accept all assets. return true; } $name = $this->getFilterableAssetName($releaseAsset); if ( !is_string($name) ) { return false; } return (bool)preg_match($this->assetFilterRegex, $releaseAsset->name); } /** * Get the part of asset data that will be checked against the filter regex. * * @param mixed $releaseAsset * @return string|null */ abstract protected function getFilterableAssetName($releaseAsset); } endif;update/v5p4/Vcs/ReleaseFilteringFeature.php000064400000006154147600042240014635 0ustar00 100 ) { throw new \InvalidArgumentException(sprintf( 'The max number of releases is too high (%d). It must be 100 or less.', $maxReleases )); } else if ( $maxReleases < 1 ) { throw new \InvalidArgumentException(sprintf( 'The max number of releases is too low (%d). It must be at least 1.', $maxReleases )); } $this->releaseFilterCallback = $callback; $this->releaseFilterByType = $releaseTypes; $this->releaseFilterMaxReleases = $maxReleases; return $this; } /** * Filter releases by their version number. * * @param string $regex A regular expression. The release version number must match this regex. * @param int $releaseTypes * @param int $maxReleasesToExamine * @return $this * @noinspection PhpUnused -- Public API */ public function setReleaseVersionFilter( $regex, $releaseTypes = Api::RELEASE_FILTER_SKIP_PRERELEASE, $maxReleasesToExamine = 20 ) { return $this->setReleaseFilter( function ($versionNumber) use ($regex) { return (preg_match($regex, $versionNumber) === 1); }, $releaseTypes, $maxReleasesToExamine ); } /** * @param string $versionNumber The detected release version number. * @param object $releaseObject Varies depending on the host/API. * @return bool */ protected function matchesCustomReleaseFilter($versionNumber, $releaseObject) { if ( !is_callable($this->releaseFilterCallback) ) { return true; //No custom filter. } return call_user_func($this->releaseFilterCallback, $versionNumber, $releaseObject); } /** * @return bool */ protected function shouldSkipPreReleases() { //Maybe this could be a bitfield in the future, if we need to support //more release types. return ($this->releaseFilterByType !== Api::RELEASE_FILTER_ALL); } /** * @return bool */ protected function hasCustomReleaseFilter() { return isset($this->releaseFilterCallback) && is_callable($this->releaseFilterCallback); } } endif;update/v5p4/Vcs/ThemeUpdateChecker.php000064400000005217147600042240013566 0ustar00api = $api; parent::__construct($api->getRepositoryUrl(), $stylesheet, $customSlug, $checkPeriod, $optionName); $this->api->setHttpFilterName($this->getUniqueName('request_update_options')); $this->api->setStrategyFilterName($this->getUniqueName('vcs_update_detection_strategies')); $this->api->setSlug($this->slug); } public function requestUpdate() { $api = $this->api; $api->setLocalDirectory($this->package->getAbsoluteDirectoryPath()); $update = new Theme\Update(); $update->slug = $this->slug; //Figure out which reference (tag or branch) we'll use to get the latest version of the theme. $updateSource = $api->chooseReference($this->branch); if ( $updateSource ) { $ref = $updateSource->name; $update->download_url = $updateSource->downloadUrl; } else { do_action( 'puc_api_error', new \WP_Error( 'puc-no-update-source', 'Could not retrieve version information from the repository. ' . 'This usually means that the update checker either can\'t connect ' . 'to the repository or it\'s configured incorrectly.' ), null, null, $this->slug ); $ref = $this->branch; } //Get headers from the main stylesheet in this branch/tag. Its "Version" header and other metadata //are what the WordPress install will actually see after upgrading, so they take precedence over releases/tags. $remoteHeader = $this->package->getFileHeader($api->getRemoteFile('style.css', $ref)); $update->version = Utils::findNotEmpty(array( $remoteHeader['Version'], Utils::get($updateSource, 'version'), )); //The details URL defaults to the Theme URI header or the repository URL. $update->details_url = Utils::findNotEmpty(array( $remoteHeader['ThemeURI'], $this->package->getHeaderValue('ThemeURI'), $this->metadataUrl, )); if ( empty($update->version) ) { //It looks like we didn't find a valid update after all. $update = null; } $update = $this->filterUpdateResult($update); return $update; } } endif; update/v5p4/Vcs/VcsCheckerMethods.php000064400000002406147600042240013435 0ustar00branch = $branch; return $this; } /** * Set authentication credentials. * * @param array|string $credentials * @return $this */ public function setAuthentication($credentials) { $this->api->setAuthentication($credentials); return $this; } /** * @return Api */ public function getVcsApi() { return $this->api; } public function getUpdate() { $update = parent::getUpdate(); if ( isset($update) && !empty($update->download_url) ) { $update->download_url = $this->api->signDownloadUrl($update->download_url); } return $update; } public function onDisplayConfiguration($panel) { parent::onDisplayConfiguration($panel); $panel->row('Branch', $this->branch); $panel->row('Authentication enabled', $this->api->isAuthenticationEnabled() ? 'Yes' : 'No'); $panel->row('API client', get_class($this->api)); } } endif;update/v5p4/Autoloader.php000064400000005221147600042240011433 0ustar00rootDir = dirname(__FILE__) . '/'; $namespaceWithSlash = __NAMESPACE__ . '\\'; $this->prefix = $namespaceWithSlash; $this->libraryDir = $this->rootDir . '../..'; if ( !self::isPhar() ) { $this->libraryDir = realpath($this->libraryDir); } $this->libraryDir = $this->libraryDir . '/'; //Usually, dependencies like Parsedown are in the global namespace, //but if someone adds a custom namespace to the entire library, they //will be in the same namespace as this class. $isCustomNamespace = ( substr($namespaceWithSlash, 0, strlen(self::DEFAULT_NS_PREFIX)) !== self::DEFAULT_NS_PREFIX ); $libraryPrefix = $isCustomNamespace ? $namespaceWithSlash : ''; $this->staticMap = array( $libraryPrefix . 'PucReadmeParser' => 'update/vendor/PucReadmeParser.php', $libraryPrefix . 'Parsedown' => 'update/vendor/Parsedown.php', ); //Add the generic, major-version-only factory class to the static map. $versionSeparatorPos = strrpos(__NAMESPACE__, '\\v'); if ( $versionSeparatorPos !== false ) { $versionSegment = substr(__NAMESPACE__, $versionSeparatorPos + 1); $pointPos = strpos($versionSegment, 'p'); if ( ($pointPos !== false) && ($pointPos > 1) ) { $majorVersionSegment = substr($versionSegment, 0, $pointPos); $majorVersionNs = __NAMESPACE__ . '\\' . $majorVersionSegment; $this->staticMap[$majorVersionNs . '\\PucFactory'] = 'update/' . $majorVersionSegment . '/Factory.php'; } } spl_autoload_register(array($this, 'autoload')); } /** * Determine if this file is running as part of a Phar archive. * * @return bool */ private static function isPhar() { //Check if the current file path starts with "phar://". static $pharProtocol = 'phar://'; return (substr(__FILE__, 0, strlen($pharProtocol)) === $pharProtocol); } public function autoload($className) { if ( isset($this->staticMap[$className]) && file_exists($this->libraryDir . $this->staticMap[$className]) ) { include($this->libraryDir . $this->staticMap[$className]); return; } if ( strpos($className, $this->prefix) === 0 ) { $path = substr($className, strlen($this->prefix)); $path = str_replace(array('_', '\\'), '/', $path); $path = $this->rootDir . $path . '.php'; if ( file_exists($path) ) { include $path; } } } } endif; update/v5p4/InstalledPackage.php000064400000005571147600042240012537 0ustar00updateChecker = $updateChecker; } /** * Get the currently installed version of the plugin or theme. * * @return string|null Version number. */ abstract public function getInstalledVersion(); /** * Get the full path of the plugin or theme directory (without a trailing slash). * * @return string */ abstract public function getAbsoluteDirectoryPath(); /** * Check whether a regular file exists in the package's directory. * * @param string $relativeFileName File name relative to the package directory. * @return bool */ public function fileExists($relativeFileName) { return is_file( $this->getAbsoluteDirectoryPath() . DIRECTORY_SEPARATOR . ltrim($relativeFileName, '/\\') ); } /* ------------------------------------------------------------------- * File header parsing * ------------------------------------------------------------------- */ /** * Parse plugin or theme metadata from the header comment. * * This is basically a simplified version of the get_file_data() function from /wp-includes/functions.php. * It's intended as a utility for subclasses that detect updates by parsing files in a VCS. * * @param string|null $content File contents. * @return string[] */ public function getFileHeader($content) { $content = (string)$content; //WordPress only looks at the first 8 KiB of the file, so we do the same. $content = substr($content, 0, 8192); //Normalize line endings. $content = str_replace("\r", "\n", $content); $headers = $this->getHeaderNames(); $results = array(); foreach ($headers as $field => $name) { $success = preg_match('/^[ \t\/*#@]*' . preg_quote($name, '/') . ':(.*)$/mi', $content, $matches); if ( ($success === 1) && $matches[1] ) { $value = $matches[1]; if ( function_exists('_cleanup_header_comment') ) { $value = _cleanup_header_comment($value); } $results[$field] = $value; } else { $results[$field] = ''; } } return $results; } /** * @return array Format: ['HeaderKey' => 'Header Name'] */ abstract protected function getHeaderNames(); /** * Get the value of a specific plugin or theme header. * * @param string $headerName * @return string Either the value of the header, or an empty string if the header doesn't exist. */ abstract public function getHeaderValue($headerName); } endif; update/v5p4/Metadata.php000064400000010217147600042240011055 0ustar00 */ protected $extraProperties = array(); /** * Create an instance of this class from a JSON document. * * @abstract * @param string $json * @return self */ public static function fromJson($json) { throw new LogicException('The ' . __METHOD__ . ' method must be implemented by subclasses'); } /** * @param string $json * @param self $target * @return bool */ protected static function createFromJson($json, $target) { /** @var \StdClass $apiResponse */ $apiResponse = json_decode($json); if ( empty($apiResponse) || !is_object($apiResponse) ){ $errorMessage = "Failed to parse update metadata. Try validating your .json file with https://jsonlint.com/"; do_action('puc_api_error', new WP_Error('puc-invalid-json', $errorMessage)); //phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_trigger_error -- For plugin developers. trigger_error(esc_html($errorMessage), E_USER_NOTICE); return false; } $valid = $target->validateMetadata($apiResponse); if ( is_wp_error($valid) ){ do_action('puc_api_error', $valid); //phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_trigger_error -- For plugin developers. trigger_error(esc_html($valid->get_error_message()), E_USER_NOTICE); return false; } foreach(get_object_vars($apiResponse) as $key => $value){ $target->$key = $value; } return true; } /** * No validation by default! Subclasses should check that the required fields are present. * * @param \StdClass $apiResponse * @return bool|\WP_Error */ protected function validateMetadata($apiResponse) { return true; } /** * Create a new instance by copying the necessary fields from another object. * * @abstract * @param \StdClass|self $object The source object. * @return self The new copy. */ public static function fromObject($object) { throw new LogicException('The ' . __METHOD__ . ' method must be implemented by subclasses'); } /** * Create an instance of StdClass that can later be converted back to an * update or info container. Useful for serialization and caching, as it * avoids the "incomplete object" problem if the cached value is loaded * before this class. * * @return \StdClass */ public function toStdClass() { $object = new stdClass(); $this->copyFields($this, $object); return $object; } /** * Transform the metadata into the format used by WordPress core. * * @return object */ abstract public function toWpFormat(); /** * Copy known fields from one object to another. * * @param \StdClass|self $from * @param \StdClass|self $to */ protected function copyFields($from, $to) { $fields = $this->getFieldNames(); if ( property_exists($from, 'slug') && !empty($from->slug) ) { //Let plugins add extra fields without having to create subclasses. $fields = apply_filters($this->getPrefixedFilter('retain_fields') . '-' . $from->slug, $fields); } foreach ($fields as $field) { if ( property_exists($from, $field) ) { $to->$field = $from->$field; } } } /** * @return string[] */ protected function getFieldNames() { return array(); } /** * @param string $tag * @return string */ protected function getPrefixedFilter($tag) { return 'puc_' . $tag; } public function __set($name, $value) { $this->extraProperties[$name] = $value; } public function __get($name) { return isset($this->extraProperties[$name]) ? $this->extraProperties[$name] : null; } public function __isset($name) { return isset($this->extraProperties[$name]); } public function __unset($name) { unset($this->extraProperties[$name]); } } endif; update/v5p4/OAuthSignature.php000064400000005771147600042240012250 0ustar00consumerKey = $consumerKey; $this->consumerSecret = $consumerSecret; } /** * Sign a URL using OAuth 1.0. * * @param string $url The URL to be signed. It may contain query parameters. * @param string $method HTTP method such as "GET", "POST" and so on. * @return string The signed URL. */ public function sign($url, $method = 'GET') { $parameters = array(); //Parse query parameters. $query = wp_parse_url($url, PHP_URL_QUERY); if ( !empty($query) ) { parse_str($query, $parsedParams); if ( is_array($parsedParams) ) { $parameters = $parsedParams; } //Remove the query string from the URL. We'll replace it later. $url = substr($url, 0, strpos($url, '?')); } $parameters = array_merge( $parameters, array( 'oauth_consumer_key' => $this->consumerKey, 'oauth_nonce' => $this->nonce(), 'oauth_signature_method' => 'HMAC-SHA1', 'oauth_timestamp' => time(), 'oauth_version' => '1.0', ) ); unset($parameters['oauth_signature']); //Parameters must be sorted alphabetically before signing. ksort($parameters); //The most complicated part of the request - generating the signature. //The string to sign contains the HTTP method, the URL path, and all of //our query parameters. Everything is URL encoded. Then we concatenate //them with ampersands into a single string to hash. $encodedVerb = urlencode($method); $encodedUrl = urlencode($url); $encodedParams = urlencode(http_build_query($parameters, '', '&')); $stringToSign = $encodedVerb . '&' . $encodedUrl . '&' . $encodedParams; //Since we only have one OAuth token (the consumer secret) we only have //to use it as our HMAC key. However, we still have to append an & to it //as if we were using it with additional tokens. $secret = urlencode($this->consumerSecret) . '&'; //The signature is a hash of the consumer key and the base string. Note //that we have to get the raw output from hash_hmac and base64 encode //the binary data result. $parameters['oauth_signature'] = base64_encode(hash_hmac('sha1', $stringToSign, $secret, true)); return ($url . '?' . http_build_query($parameters)); } /** * Generate a random nonce. * * @return string */ private function nonce() { $mt = microtime(); $rand = null; if ( is_callable('random_bytes') ) { try { $rand = random_bytes(16); } catch (\Exception $ex) { //Fall back to mt_rand (below). } } if ( $rand === null ) { //phpcs:ignore WordPress.WP.AlternativeFunctions.rand_mt_rand $rand = function_exists('wp_rand') ? wp_rand() : mt_rand(); } return md5($mt . '_' . $rand); } } endif; update/v5p4/PucFactory.php000064400000026767147600042240011435 0ustar00 '', 'slug' => '', 'checkPeriod' => 12, 'optionName' => '', 'muPluginFile' => '', ); $args = array_merge($defaults, array_intersect_key($args, $defaults)); extract($args, EXTR_SKIP); //Check for the service URI if ( empty($metadataUrl) ) { $metadataUrl = self::getServiceURI($fullPath); } return self::buildUpdateChecker($metadataUrl, $fullPath, $slug, $checkPeriod, $optionName, $muPluginFile); } /** * Create a new instance of the update checker. * * This method automatically detects if you're using it for a plugin or a theme and chooses * the appropriate implementation for your update source (JSON file, GitHub, BitBucket, etc). * * @see UpdateChecker::__construct * * @param string $metadataUrl The URL of the metadata file, a GitHub repository, or another supported update source. * @param string $fullPath Full path to the main plugin file or to the theme directory. * @param string $slug Custom slug. Defaults to the name of the main plugin file or the theme directory. * @param int $checkPeriod How often to check for updates (in hours). * @param string $optionName Where to store bookkeeping info about update checks. * @param string $muPluginFile The plugin filename relative to the mu-plugins directory. * @return Plugin\UpdateChecker|Theme\UpdateChecker|Vcs\BaseChecker */ public static function buildUpdateChecker($metadataUrl, $fullPath, $slug = '', $checkPeriod = 12, $optionName = '', $muPluginFile = '') { $fullPath = self::normalizePath($fullPath); $id = null; //Plugin or theme? $themeDirectory = self::getThemeDirectoryName($fullPath); if ( self::isPluginFile($fullPath) ) { $type = 'Plugin'; $id = $fullPath; } else if ( $themeDirectory !== null ) { $type = 'Theme'; $id = $themeDirectory; } else { throw new \RuntimeException(sprintf( 'The update checker cannot determine if "%s" is a plugin or a theme. ' . 'This is a bug. Please contact the PUC developer.', htmlentities($fullPath) )); } //Which hosting service does the URL point to? $service = self::getVcsService($metadataUrl); $apiClass = null; if ( empty($service) ) { //The default is to get update information from a remote JSON file. $checkerClass = $type . '\\UpdateChecker'; } else { //You can also use a VCS repository like GitHub. $checkerClass = 'Vcs\\' . $type . 'UpdateChecker'; $apiClass = $service . 'Api'; } $checkerClass = self::getCompatibleClassVersion($checkerClass); if ( $checkerClass === null ) { //phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_trigger_error trigger_error( esc_html(sprintf( 'PUC %s does not support updates for %ss %s', self::$latestCompatibleVersion, strtolower($type), $service ? ('hosted on ' . $service) : 'using JSON metadata' )), E_USER_ERROR ); } if ( !isset($apiClass) ) { //Plain old update checker. return new $checkerClass($metadataUrl, $id, $slug, $checkPeriod, $optionName, $muPluginFile); } else { //VCS checker + an API client. $apiClass = self::getCompatibleClassVersion($apiClass); if ( $apiClass === null ) { //phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_trigger_error trigger_error(esc_html(sprintf( 'PUC %s does not support %s', self::$latestCompatibleVersion, $service )), E_USER_ERROR); } return new $checkerClass( new $apiClass($metadataUrl), $id, $slug, $checkPeriod, $optionName, $muPluginFile ); } } /** * * Normalize a filesystem path. Introduced in WP 3.9. * Copying here allows use of the class on earlier versions. * This version adapted from WP 4.8.2 (unchanged since 4.5.4) * * @param string $path Path to normalize. * @return string Normalized path. */ public static function normalizePath($path) { if ( function_exists('wp_normalize_path') ) { return wp_normalize_path($path); } $path = str_replace('\\', '/', $path); $path = preg_replace('|(?<=.)/+|', '/', $path); if ( substr($path, 1, 1) === ':' ) { $path = ucfirst($path); } return $path; } /** * Check if the path points to a plugin file. * * @param string $absolutePath Normalized path. * @return bool */ protected static function isPluginFile($absolutePath) { //Is the file inside the "plugins" or "mu-plugins" directory? $pluginDir = self::normalizePath(WP_PLUGIN_DIR); $muPluginDir = self::normalizePath(WPMU_PLUGIN_DIR); if ( (strpos($absolutePath, $pluginDir) === 0) || (strpos($absolutePath, $muPluginDir) === 0) ) { return true; } //Is it a file at all? Caution: is_file() can fail if the parent dir. doesn't have the +x permission set. if ( !is_file($absolutePath) ) { return false; } //Does it have a valid plugin header? //This is a last-ditch check for plugins symlinked from outside the WP root. if ( function_exists('get_file_data') ) { $headers = get_file_data($absolutePath, array('Name' => 'Plugin Name'), 'plugin'); return !empty($headers['Name']); } return false; } /** * Get the name of the theme's directory from a full path to a file inside that directory. * E.g. "/abc/public_html/wp-content/themes/foo/whatever.php" => "foo". * * Note that subdirectories are currently not supported. For example, * "/xyz/wp-content/themes/my-theme/includes/whatever.php" => NULL. * * @param string $absolutePath Normalized path. * @return string|null Directory name, or NULL if the path doesn't point to a theme. */ protected static function getThemeDirectoryName($absolutePath) { if ( is_file($absolutePath) ) { $absolutePath = dirname($absolutePath); } if ( file_exists($absolutePath . '/style.css') ) { return basename($absolutePath); } return null; } /** * Get the service URI from the file header. * * @param string $fullPath * @return string */ private static function getServiceURI($fullPath) { //Look for the URI if ( is_readable($fullPath) ) { $seek = array( 'github' => 'GitHub URI', 'gitlab' => 'GitLab URI', 'bucket' => 'BitBucket URI', ); $seek = apply_filters('puc_get_source_uri', $seek); $data = get_file_data($fullPath, $seek); foreach ($data as $key => $uri) { if ( $uri ) { return $uri; } } } //URI was not found so throw an error. throw new \RuntimeException( sprintf('Unable to locate URI in header of "%s"', htmlentities($fullPath)) ); } /** * Get the name of the hosting service that the URL points to. * * @param string $metadataUrl * @return string|null */ private static function getVcsService($metadataUrl) { $service = null; //Which hosting service does the URL point to? $host = (string)(wp_parse_url($metadataUrl, PHP_URL_HOST)); $path = (string)(wp_parse_url($metadataUrl, PHP_URL_PATH)); //Check if the path looks like "/user-name/repository". //For GitLab.com it can also be "/user/group1/group2/.../repository". $repoRegex = '@^/?([^/]+?)/([^/#?&]+?)/?$@'; if ( $host === 'gitlab.com' ) { $repoRegex = '@^/?(?:[^/#?&]++/){1,20}(?:[^/#?&]++)/?$@'; } if ( preg_match($repoRegex, $path) ) { $knownServices = array( 'github.com' => 'GitHub', 'bitbucket.org' => 'BitBucket', 'gitlab.com' => 'GitLab', ); if ( isset($knownServices[$host]) ) { $service = $knownServices[$host]; } } return apply_filters('puc_get_vcs_service', $service, $host, $path, $metadataUrl); } /** * Get the latest version of the specified class that has the same major version number * as this factory class. * * @param string $class Partial class name. * @return string|null Full class name. */ protected static function getCompatibleClassVersion($class) { if ( isset(self::$classVersions[$class][self::$latestCompatibleVersion]) ) { return self::$classVersions[$class][self::$latestCompatibleVersion]; } return null; } /** * Get the specific class name for the latest available version of a class. * * @param string $class * @return null|string */ public static function getLatestClassVersion($class) { if ( !self::$sorted ) { self::sortVersions(); } if ( isset(self::$classVersions[$class]) ) { return reset(self::$classVersions[$class]); } else { return null; } } /** * Sort available class versions in descending order (i.e. newest first). */ protected static function sortVersions() { foreach ( self::$classVersions as $class => $versions ) { uksort($versions, array(__CLASS__, 'compareVersions')); self::$classVersions[$class] = $versions; } self::$sorted = true; } protected static function compareVersions($a, $b) { return -version_compare($a, $b); } /** * Register a version of a class. * * @access private This method is only for internal use by the library. * * @param string $generalClass Class name without version numbers, e.g. 'PluginUpdateChecker'. * @param string $versionedClass Actual class name, e.g. 'PluginUpdateChecker_1_2'. * @param string $version Version number, e.g. '1.2'. */ public static function addVersion($generalClass, $versionedClass, $version) { if ( empty(self::$myMajorVersion) ) { $lastNamespaceSegment = substr(__NAMESPACE__, strrpos(__NAMESPACE__, '\\') + 1); self::$myMajorVersion = substr(ltrim($lastNamespaceSegment, 'v'), 0, 1); } //Store the greatest version number that matches our major version. $components = explode('.', $version); if ( $components[0] === self::$myMajorVersion ) { if ( empty(self::$latestCompatibleVersion) || version_compare($version, self::$latestCompatibleVersion, '>') ) { self::$latestCompatibleVersion = $version; } } if ( !isset(self::$classVersions[$generalClass]) ) { self::$classVersions[$generalClass] = array(); } self::$classVersions[$generalClass][$version] = $versionedClass; self::$sorted = false; } } endif; update/v5p4/Scheduler.php000064400000025163147600042240011261 0ustar00updateChecker = $updateChecker; $this->checkPeriod = $checkPeriod; //Set up the periodic update checks $this->cronHook = $this->updateChecker->getUniqueName('cron_check_updates'); if ( $this->checkPeriod > 0 ){ //Trigger the check via Cron. //Try to use one of the default schedules if possible as it's less likely to conflict //with other plugins and their custom schedules. $defaultSchedules = array( 1 => 'hourly', 12 => 'twicedaily', 24 => 'daily', ); if ( array_key_exists($this->checkPeriod, $defaultSchedules) ) { $scheduleName = $defaultSchedules[$this->checkPeriod]; } else { //Use a custom cron schedule. $scheduleName = 'every' . $this->checkPeriod . 'hours'; //phpcs:ignore WordPress.WP.CronInterval.ChangeDetected -- WPCS fails to parse the callback. add_filter('cron_schedules', array($this, '_addCustomSchedule')); } if ( !wp_next_scheduled($this->cronHook) && !defined('WP_INSTALLING') ) { //Randomly offset the schedule to help prevent update server traffic spikes. Without this //most checks may happen during times of day when people are most likely to install new plugins. $upperLimit = max($this->checkPeriod * 3600 - 15 * 60, 1); if ( function_exists('wp_rand') ) { $randomOffset = wp_rand(0, $upperLimit); } else { //This constructor may be called before wp_rand() is available. //phpcs:ignore WordPress.WP.AlternativeFunctions.rand_rand $randomOffset = rand(0, $upperLimit); } $firstCheckTime = time() - $randomOffset; $firstCheckTime = apply_filters( $this->updateChecker->getUniqueName('first_check_time'), $firstCheckTime ); wp_schedule_event($firstCheckTime, $scheduleName, $this->cronHook); } add_action($this->cronHook, array($this, 'maybeCheckForUpdates')); //In case Cron is disabled or unreliable, we also manually trigger //the periodic checks while the user is browsing the Dashboard. add_action( 'admin_init', array($this, 'maybeCheckForUpdates') ); //Like WordPress itself, we check more often on certain pages. /** @see wp_update_plugins */ add_action('load-update-core.php', array($this, 'maybeCheckForUpdates')); //phpcs:ignore Squiz.PHP.CommentedOutCode.Found -- Not actually code, just file names. //"load-update.php" and "load-plugins.php" or "load-themes.php". $this->hourlyCheckHooks = array_merge($this->hourlyCheckHooks, $hourlyHooks); foreach($this->hourlyCheckHooks as $hook) { add_action($hook, array($this, 'maybeCheckForUpdates')); } //This hook fires after a bulk update is complete. add_action('upgrader_process_complete', array($this, 'removeHooksIfLibraryGone'), 1, 0); add_action('upgrader_process_complete', array($this, 'upgraderProcessComplete'), 11, 2); } else { //Periodic checks are disabled. wp_clear_scheduled_hook($this->cronHook); } } /** * Remove all hooks if this version of PUC has been deleted or overwritten. * * Callback for the "upgrader_process_complete" action. */ public function removeHooksIfLibraryGone() { //Cancel all further actions if the current version of PUC has been deleted or overwritten //by a different version during the upgrade. If we try to do anything more in that situation, //we could trigger a fatal error by trying to autoload a deleted class. clearstatcache(); if ( !file_exists(__FILE__) ) { $this->removeHooks(); $this->updateChecker->removeHooks(); } } /** * Runs upon the WP action upgrader_process_complete. * * We look at the parameters to decide whether to call maybeCheckForUpdates() or not. * We also check if the update checker has been removed by the update. * * @param \WP_Upgrader $upgrader WP_Upgrader instance * @param array $upgradeInfo extra information about the upgrade */ public function upgraderProcessComplete( /** @noinspection PhpUnusedParameterInspection */ $upgrader, $upgradeInfo ) { //Sanity check and limitation to relevant types. if ( !is_array($upgradeInfo) || !isset($upgradeInfo['type'], $upgradeInfo['action']) || 'update' !== $upgradeInfo['action'] || !in_array($upgradeInfo['type'], array('plugin', 'theme')) ) { return; } //Filter out notifications of upgrades that should have no bearing upon whether or not our //current info is up-to-date. if ( is_a($this->updateChecker, Theme\UpdateChecker::class) ) { if ( 'theme' !== $upgradeInfo['type'] || !isset($upgradeInfo['themes']) ) { return; } //Letting too many things going through for checks is not a real problem, so we compare widely. if ( !in_array( strtolower($this->updateChecker->directoryName), array_map('strtolower', $upgradeInfo['themes']) ) ) { return; } } if ( is_a($this->updateChecker, Plugin\UpdateChecker::class) ) { if ( 'plugin' !== $upgradeInfo['type'] || !isset($upgradeInfo['plugins']) ) { return; } //Themes pass in directory names in the information array, but plugins use the relative plugin path. if ( !in_array( strtolower($this->updateChecker->directoryName), array_map('dirname', array_map('strtolower', $upgradeInfo['plugins'])) ) ) { return; } } $this->maybeCheckForUpdates(); } /** * Check for updates if the configured check interval has already elapsed. * Will use a shorter check interval on certain admin pages like "Dashboard -> Updates" or when doing cron. * * You can override the default behaviour by using the "puc_check_now-$slug" filter. * The filter callback will be passed three parameters: * - Current decision. TRUE = check updates now, FALSE = don't check now. * - Last check time as a Unix timestamp. * - Configured check period in hours. * Return TRUE to check for updates immediately, or FALSE to cancel. * * This method is declared public because it's a hook callback. Calling it directly is not recommended. */ public function maybeCheckForUpdates() { if ( empty($this->checkPeriod) ){ return; } $state = $this->updateChecker->getUpdateState(); $shouldCheck = ($state->timeSinceLastCheck() >= $this->getEffectiveCheckPeriod()); if ( $shouldCheck ) { //Sanity check: Do not proceed if one of the critical classes is missing. //That can happen - theoretically and extremely rarely - if maybeCheckForUpdates() //is called before the old version of our plugin has been fully deleted, or //called from an independent AJAX request during deletion. if ( !( class_exists(Utils::class) && class_exists(Metadata::class) && class_exists(Plugin\Update::class) && class_exists(Theme\Update::class) ) ) { return; } } //Let plugin authors substitute their own algorithm. $shouldCheck = apply_filters( $this->updateChecker->getUniqueName('check_now'), $shouldCheck, $state->getLastCheck(), $this->checkPeriod ); if ( $shouldCheck ) { $this->updateChecker->checkForUpdates(); } } /** * Calculate the actual check period based on the current status and environment. * * @return int Check period in seconds. */ protected function getEffectiveCheckPeriod() { $currentFilter = current_filter(); if ( in_array($currentFilter, array('load-update-core.php', 'upgrader_process_complete')) ) { //Check more often when the user visits "Dashboard -> Updates" or does a bulk update. $period = 60; } else if ( in_array($currentFilter, $this->hourlyCheckHooks) ) { //Also check more often on /wp-admin/update.php and the "Plugins" or "Themes" page. $period = 3600; } else if ( $this->throttleRedundantChecks && ($this->updateChecker->getUpdate() !== null) ) { //Check less frequently if it's already known that an update is available. $period = $this->throttledCheckPeriod * 3600; } else if ( defined('DOING_CRON') && constant('DOING_CRON') ) { //WordPress cron schedules are not exact, so let's do an update check even //if slightly less than $checkPeriod hours have elapsed since the last check. $cronFuzziness = 20 * 60; $period = $this->checkPeriod * 3600 - $cronFuzziness; } else { $period = $this->checkPeriod * 3600; } return $period; } /** * Add our custom schedule to the array of Cron schedules used by WP. * * @param array $schedules * @return array */ public function _addCustomSchedule($schedules) { if ( $this->checkPeriod && ($this->checkPeriod > 0) ){ $scheduleName = 'every' . $this->checkPeriod . 'hours'; $schedules[$scheduleName] = array( 'interval' => $this->checkPeriod * 3600, 'display' => sprintf('Every %d hours', $this->checkPeriod), ); } return $schedules; } /** * Remove the scheduled cron event that the library uses to check for updates. * * @return void */ public function removeUpdaterCron() { wp_clear_scheduled_hook($this->cronHook); } /** * Get the name of the update checker's WP-cron hook. Mostly useful for debugging. * * @return string */ public function getCronHookName() { return $this->cronHook; } /** * Remove most hooks added by the scheduler. */ public function removeHooks() { remove_filter('cron_schedules', array($this, '_addCustomSchedule')); remove_action('admin_init', array($this, 'maybeCheckForUpdates')); remove_action('load-update-core.php', array($this, 'maybeCheckForUpdates')); if ( $this->cronHook !== null ) { remove_action($this->cronHook, array($this, 'maybeCheckForUpdates')); } if ( !empty($this->hourlyCheckHooks) ) { foreach ($this->hourlyCheckHooks as $hook) { remove_action($hook, array($this, 'maybeCheckForUpdates')); } } } } endif; update/v5p4/StateStore.php000064400000011235147600042240011433 0ustar00optionName = $optionName; } /** * Get time elapsed since the last update check. * * If there are no recorded update checks, this method returns a large arbitrary number * (i.e. time since the Unix epoch). * * @return int Elapsed time in seconds. */ public function timeSinceLastCheck() { $this->lazyLoad(); return time() - $this->lastCheck; } /** * @return int */ public function getLastCheck() { $this->lazyLoad(); return $this->lastCheck; } /** * Set the time of the last update check to the current timestamp. * * @return $this */ public function setLastCheckToNow() { $this->lazyLoad(); $this->lastCheck = time(); return $this; } /** * @return null|Update */ public function getUpdate() { $this->lazyLoad(); return $this->update; } /** * @param Update|null $update * @return $this */ public function setUpdate(Update $update = null) { $this->lazyLoad(); $this->update = $update; return $this; } /** * @return string */ public function getCheckedVersion() { $this->lazyLoad(); return $this->checkedVersion; } /** * @param string $version * @return $this */ public function setCheckedVersion($version) { $this->lazyLoad(); $this->checkedVersion = strval($version); return $this; } /** * Get translation updates. * * @return array */ public function getTranslations() { $this->lazyLoad(); if ( isset($this->update, $this->update->translations) ) { return $this->update->translations; } return array(); } /** * Set translation updates. * * @param array $translationUpdates */ public function setTranslations($translationUpdates) { $this->lazyLoad(); if ( isset($this->update) ) { $this->update->translations = $translationUpdates; $this->save(); } } public function save() { $state = new \stdClass(); $state->lastCheck = $this->lastCheck; $state->checkedVersion = $this->checkedVersion; if ( isset($this->update)) { $state->update = $this->update->toStdClass(); $updateClass = get_class($this->update); $state->updateClass = $updateClass; $prefix = $this->getLibPrefix(); if ( Utils::startsWith($updateClass, $prefix) ) { $state->updateBaseClass = substr($updateClass, strlen($prefix)); } } update_site_option($this->optionName, $state); $this->isLoaded = true; } /** * @return $this */ public function lazyLoad() { if ( !$this->isLoaded ) { $this->load(); } return $this; } protected function load() { $this->isLoaded = true; $state = get_site_option($this->optionName, null); if ( !is_object($state) //Sanity check: If the Utils class is missing, the plugin is probably in the process //of being deleted (e.g. the old version gets deleted during an update). || !class_exists(Utils::class) ) { $this->lastCheck = 0; $this->checkedVersion = ''; $this->update = null; return; } $this->lastCheck = intval(Utils::get($state, 'lastCheck', 0)); $this->checkedVersion = Utils::get($state, 'checkedVersion', ''); $this->update = null; if ( isset($state->update) ) { //This mess is due to the fact that the want the update class from this version //of the library, not the version that saved the update. $updateClass = null; if ( isset($state->updateBaseClass) ) { $updateClass = $this->getLibPrefix() . $state->updateBaseClass; } else if ( isset($state->updateClass) ) { $updateClass = $state->updateClass; } $factory = array($updateClass, 'fromObject'); if ( ($updateClass !== null) && is_callable($factory) ) { $this->update = call_user_func($factory, $state->update); } } } public function delete() { delete_site_option($this->optionName); $this->lastCheck = 0; $this->checkedVersion = ''; $this->update = null; } private function getLibPrefix() { //This assumes that the current class is at the top of the versioned namespace. return __NAMESPACE__ . '\\'; } } endif; update/v5p4/Update.php000064400000001355147600042240010562 0ustar00slug = $this->slug; $update->new_version = $this->version; $update->package = $this->download_url; return $update; } } endif; update/v5p4/UpdateChecker.php000064400000101137147600042240012046 0ustar00debugMode = (bool)(constant('WP_DEBUG')); $this->metadataUrl = $metadataUrl; $this->directoryName = $directoryName; $this->slug = !empty($slug) ? $slug : $this->directoryName; $this->optionName = $optionName; if ( empty($this->optionName) ) { //BC: Initially the library only supported plugin updates and didn't use type prefixes //in the option name. Lets use the same prefix-less name when possible. if ( $this->filterSuffix === '' ) { $this->optionName = 'external_updates-' . $this->slug; } else { $this->optionName = $this->getUniqueName('external_updates'); } } if ( empty($this->translationType) ) { $this->translationType = $this->componentType; } $this->package = $this->createInstalledPackage(); $this->scheduler = $this->createScheduler($checkPeriod); $this->upgraderStatus = new UpgraderStatus(); $this->updateState = new StateStore($this->optionName); if ( did_action('init') ) { $this->loadTextDomain(); } else { add_action('init', array($this, 'loadTextDomain')); } $this->installHooks(); if ( ($this->wpCliCheckTrigger === null) && defined('WP_CLI') ) { $this->wpCliCheckTrigger = new WpCliCheckTrigger($this->componentType, $this->scheduler); } } /** * @internal */ public function loadTextDomain() { //We're not using load_plugin_textdomain() or its siblings because figuring out where //the library is located (plugin, mu-plugin, theme, custom wp-content paths) is messy. $domain = 'plugin-update-checker'; $locale = apply_filters( 'plugin_locale', (is_admin() && function_exists('get_user_locale')) ? get_user_locale() : get_locale(), $domain ); $moFile = $domain . '-' . $locale . '.mo'; $path = realpath(dirname(__FILE__) . '/../../languages'); if ($path && file_exists($path)) { load_textdomain($domain, $path . '/' . $moFile); } } protected function installHooks() { //Insert our update info into the update array maintained by WP. add_filter('site_transient_' . $this->updateTransient, array($this,'injectUpdate')); //Insert translation updates into the update list. add_filter('site_transient_' . $this->updateTransient, array($this, 'injectTranslationUpdates')); //Clear translation updates when WP clears the update cache. //This needs to be done directly because the library doesn't actually remove obsolete plugin updates, //it just hides them (see getUpdate()). We can't do that with translations - too much disk I/O. add_action( 'delete_site_transient_' . $this->updateTransient, array($this, 'clearCachedTranslationUpdates') ); //Rename the update directory to be the same as the existing directory. if ( $this->directoryName !== '.' ) { add_filter('upgrader_source_selection', array($this, 'fixDirectoryName'), 10, 3); } //Allow HTTP requests to the metadata URL even if it's on a local host. add_filter('http_request_host_is_external', array($this, 'allowMetadataHost'), 10, 2); //DebugBar integration. if ( did_action('plugins_loaded') ) { $this->maybeInitDebugBar(); } else { add_action('plugins_loaded', array($this, 'maybeInitDebugBar')); } } /** * Remove hooks that were added by this update checker instance. */ public function removeHooks() { remove_filter('site_transient_' . $this->updateTransient, array($this,'injectUpdate')); remove_filter('site_transient_' . $this->updateTransient, array($this, 'injectTranslationUpdates')); remove_action( 'delete_site_transient_' . $this->updateTransient, array($this, 'clearCachedTranslationUpdates') ); remove_filter('upgrader_source_selection', array($this, 'fixDirectoryName'), 10); remove_filter('http_request_host_is_external', array($this, 'allowMetadataHost'), 10); remove_action('plugins_loaded', array($this, 'maybeInitDebugBar')); remove_action('init', array($this, 'loadTextDomain')); if ( $this->scheduler ) { $this->scheduler->removeHooks(); } if ( $this->debugBarExtension ) { $this->debugBarExtension->removeHooks(); } } /** * Check if the current user has the required permissions to install updates. * * @return bool */ abstract public function userCanInstallUpdates(); /** * Explicitly allow HTTP requests to the metadata URL. * * WordPress has a security feature where the HTTP API will reject all requests that are sent to * another site hosted on the same server as the current site (IP match), a local host, or a local * IP, unless the host exactly matches the current site. * * This feature is opt-in (at least in WP 4.4). Apparently some people enable it. * * That can be a problem when you're developing your plugin and you decide to host the update information * on the same server as your test site. Update requests will mysteriously fail. * * We fix that by adding an exception for the metadata host. * * @param bool $allow * @param string $host * @return bool */ public function allowMetadataHost($allow, $host) { if ( $this->cachedMetadataHost === 0 ) { $this->cachedMetadataHost = wp_parse_url($this->metadataUrl, PHP_URL_HOST); } if ( is_string($this->cachedMetadataHost) && (strtolower($host) === strtolower($this->cachedMetadataHost)) ) { return true; } return $allow; } /** * Create a package instance that represents this plugin or theme. * * @return InstalledPackage */ abstract protected function createInstalledPackage(); /** * @return InstalledPackage */ public function getInstalledPackage() { return $this->package; } /** * Create an instance of the scheduler. * * This is implemented as a method to make it possible for plugins to subclass the update checker * and substitute their own scheduler. * * @param int $checkPeriod * @return Scheduler */ abstract protected function createScheduler($checkPeriod); /** * Check for updates. The results are stored in the DB option specified in $optionName. * * @return Update|null */ public function checkForUpdates() { $installedVersion = $this->getInstalledVersion(); //Fail silently if we can't find the plugin/theme or read its header. if ( $installedVersion === null ) { $this->triggerError( sprintf('Skipping update check for %s - installed version unknown.', $this->slug), E_USER_WARNING ); return null; } //Start collecting API errors. $this->lastRequestApiErrors = array(); add_action('puc_api_error', array($this, 'collectApiErrors'), 10, 4); $state = $this->updateState; $state->setLastCheckToNow() ->setCheckedVersion($installedVersion) ->save(); //Save before checking in case something goes wrong $state->setUpdate($this->requestUpdate()); $state->save(); //Stop collecting API errors. remove_action('puc_api_error', array($this, 'collectApiErrors'), 10); return $this->getUpdate(); } /** * Load the update checker state from the DB. * * @return StateStore */ public function getUpdateState() { return $this->updateState->lazyLoad(); } /** * Reset update checker state - i.e. last check time, cached update data and so on. * * Call this when your plugin is being uninstalled, or if you want to * clear the update cache. */ public function resetUpdateState() { $this->updateState->delete(); } /** * Get the details of the currently available update, if any. * * If no updates are available, or if the last known update version is below or equal * to the currently installed version, this method will return NULL. * * Uses cached update data. To retrieve update information straight from * the metadata URL, call requestUpdate() instead. * * @return Update|null */ public function getUpdate() { $update = $this->updateState->getUpdate(); //Is there an update available? if ( isset($update) ) { //Check if the update is actually newer than the currently installed version. $installedVersion = $this->getInstalledVersion(); if ( ($installedVersion !== null) && version_compare($update->version, $installedVersion, '>') ){ return $update; } } return null; } /** * Retrieve the latest update (if any) from the configured API endpoint. * * Subclasses should run the update through filterUpdateResult before returning it. * * @return Update An instance of Update, or NULL when no updates are available. */ abstract public function requestUpdate(); /** * Filter the result of a requestUpdate() call. * * @template T of Update * @param T|null $update * @param array|WP_Error|null $httpResult The value returned by wp_remote_get(), if any. * @return T */ protected function filterUpdateResult($update, $httpResult = null) { //Let plugins/themes modify the update. $update = apply_filters($this->getUniqueName('request_update_result'), $update, $httpResult); $this->fixSupportedWordpressVersion($update); if ( isset($update, $update->translations) ) { //Keep only those translation updates that apply to this site. $update->translations = $this->filterApplicableTranslations($update->translations); } return $update; } /** * The "Tested up to" field in the plugin metadata is supposed to be in the form of "major.minor", * while WordPress core's list_plugin_updates() expects the $update->tested field to be an exact * version, e.g. "major.minor.patch", to say it's compatible. In other case it shows * "Compatibility: Unknown". * The function mimics how wordpress.org API crafts the "tested" field out of "Tested up to". * * @param Metadata|null $update */ protected function fixSupportedWordpressVersion(Metadata $update = null) { if ( !isset($update->tested) || !preg_match('/^\d++\.\d++$/', $update->tested) ) { return; } $actualWpVersions = array(); $wpVersion = $GLOBALS['wp_version']; if ( function_exists('get_core_updates') ) { $coreUpdates = get_core_updates(); if ( is_array($coreUpdates) ) { foreach ($coreUpdates as $coreUpdate) { if ( isset($coreUpdate->current) ) { $actualWpVersions[] = $coreUpdate->current; } } } } $actualWpVersions[] = $wpVersion; $actualWpPatchNumber = null; foreach ($actualWpVersions as $version) { if ( preg_match('/^(?P\d++\.\d++)(?:\.(?P\d++))?/', $version, $versionParts) ) { if ( $versionParts['majorMinor'] === $update->tested ) { $patch = isset($versionParts['patch']) ? intval($versionParts['patch']) : 0; if ( $actualWpPatchNumber === null ) { $actualWpPatchNumber = $patch; } else { $actualWpPatchNumber = max($actualWpPatchNumber, $patch); } } } } if ( $actualWpPatchNumber === null ) { $actualWpPatchNumber = 999; } if ( $actualWpPatchNumber > 0 ) { $update->tested .= '.' . $actualWpPatchNumber; } } /** * Get the currently installed version of the plugin or theme. * * @return string|null Version number. */ public function getInstalledVersion() { return $this->package->getInstalledVersion(); } /** * Get the full path of the plugin or theme directory. * * @return string */ public function getAbsoluteDirectoryPath() { return $this->package->getAbsoluteDirectoryPath(); } /** * Trigger a PHP error, but only when $debugMode is enabled. * * @param string $message * @param int $errorType */ public function triggerError($message, $errorType) { if ( $this->isDebugModeEnabled() ) { //phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_trigger_error -- Only happens in debug mode. trigger_error(esc_html($message), $errorType); } } /** * @return bool */ protected function isDebugModeEnabled() { if ( $this->debugMode === null ) { $this->debugMode = (bool)(constant('WP_DEBUG')); } return $this->debugMode; } /** * Get the full name of an update checker filter, action or DB entry. * * This method adds the "puc_" prefix and the "-$slug" suffix to the filter name. * For example, "pre_inject_update" becomes "puc_pre_inject_update-plugin-slug". * * @param string $baseTag * @return string */ public function getUniqueName($baseTag) { $name = 'puc_' . $baseTag; if ( $this->filterSuffix !== '' ) { $name .= '_' . $this->filterSuffix; } return $name . '-' . $this->slug; } /** * Store API errors that are generated when checking for updates. * * @internal * @param \WP_Error $error * @param array|null $httpResponse * @param string|null $url * @param string|null $slug */ public function collectApiErrors($error, $httpResponse = null, $url = null, $slug = null) { if ( isset($slug) && ($slug !== $this->slug) ) { return; } $this->lastRequestApiErrors[] = array( 'error' => $error, 'httpResponse' => $httpResponse, 'url' => $url, ); } /** * @return array */ public function getLastRequestApiErrors() { return $this->lastRequestApiErrors; } /* ------------------------------------------------------------------- * PUC filters and filter utilities * ------------------------------------------------------------------- */ /** * Register a callback for one of the update checker filters. * * Identical to add_filter(), except it automatically adds the "puc_" prefix * and the "-$slug" suffix to the filter name. For example, "request_info_result" * becomes "puc_request_info_result-your_plugin_slug". * * @param string $tag * @param callable $callback * @param int $priority * @param int $acceptedArgs */ public function addFilter($tag, $callback, $priority = 10, $acceptedArgs = 1) { add_filter($this->getUniqueName($tag), $callback, $priority, $acceptedArgs); } /* ------------------------------------------------------------------- * Inject updates * ------------------------------------------------------------------- */ /** * Insert the latest update (if any) into the update list maintained by WP. * * @param \stdClass $updates Update list. * @return \stdClass Modified update list. */ public function injectUpdate($updates) { //Is there an update to insert? $update = $this->getUpdate(); if ( !$this->shouldShowUpdates() ) { $update = null; } if ( !empty($update) ) { //Let plugins filter the update info before it's passed on to WordPress. $update = apply_filters($this->getUniqueName('pre_inject_update'), $update); $updates = $this->addUpdateToList($updates, $update->toWpFormat()); } else { //Clean up any stale update info. $updates = $this->removeUpdateFromList($updates); //Add a placeholder item to the "no_update" list to enable auto-update support. //If we don't do this, the option to enable automatic updates will only show up //when an update is available. $updates = $this->addNoUpdateItem($updates); } return $updates; } /** * @param \stdClass|null $updates * @param \stdClass|array $updateToAdd * @return \stdClass */ protected function addUpdateToList($updates, $updateToAdd) { if ( !is_object($updates) ) { $updates = new stdClass(); $updates->response = array(); } $updates->response[$this->getUpdateListKey()] = $updateToAdd; return $updates; } /** * @param \stdClass|null $updates * @return \stdClass|null */ protected function removeUpdateFromList($updates) { if ( isset($updates, $updates->response) ) { unset($updates->response[$this->getUpdateListKey()]); } return $updates; } /** * See this post for more information: * @link https://make.wordpress.org/core/2020/07/30/recommended-usage-of-the-updates-api-to-support-the-auto-updates-ui-for-plugins-and-themes-in-wordpress-5-5/ * * @param \stdClass|null $updates * @return \stdClass */ protected function addNoUpdateItem($updates) { if ( !is_object($updates) ) { $updates = new stdClass(); $updates->response = array(); $updates->no_update = array(); } else if ( !isset($updates->no_update) ) { $updates->no_update = array(); } $updates->no_update[$this->getUpdateListKey()] = (object) $this->getNoUpdateItemFields(); return $updates; } /** * Subclasses should override this method to add fields that are specific to plugins or themes. * @return array */ protected function getNoUpdateItemFields() { return array( 'new_version' => $this->getInstalledVersion(), 'url' => '', 'package' => '', 'requires_php' => '', ); } /** * Get the key that will be used when adding updates to the update list that's maintained * by the WordPress core. The list is always an associative array, but the key is different * for plugins and themes. * * @return string */ abstract protected function getUpdateListKey(); /** * Should we show available updates? * * Usually the answer is "yes", but there are exceptions. For example, WordPress doesn't * support automatic updates installation for mu-plugins, so PUC usually won't show update * notifications in that case. See the plugin-specific subclass for details. * * Note: This method only applies to updates that are displayed (or not) in the WordPress * admin. It doesn't affect APIs like requestUpdate and getUpdate. * * @return bool */ protected function shouldShowUpdates() { return true; } /* ------------------------------------------------------------------- * JSON-based update API * ------------------------------------------------------------------- */ /** * Retrieve plugin or theme metadata from the JSON document at $this->metadataUrl. * * @param class-string $metaClass Parse the JSON as an instance of this class. It must have a static fromJson method. * @param string $filterRoot * @param array $queryArgs Additional query arguments. * @return array A metadata instance and the value returned by wp_remote_get(). */ protected function requestMetadata($metaClass, $filterRoot, $queryArgs = array()) { //Query args to append to the URL. Plugins can add their own by using a filter callback (see addQueryArgFilter()). $queryArgs = array_merge( array( 'installed_version' => strval($this->getInstalledVersion()), 'php' => phpversion(), 'locale' => get_locale(), ), $queryArgs ); $queryArgs = apply_filters($this->getUniqueName($filterRoot . '_query_args'), $queryArgs); //Various options for the wp_remote_get() call. Plugins can filter these, too. $options = array( 'timeout' => wp_doing_cron() ? 10 : 3, 'headers' => array( 'Accept' => 'application/json', ), ); $options = apply_filters($this->getUniqueName($filterRoot . '_options'), $options); //The metadata file should be at 'http://your-api.com/url/here/$slug/info.json' $url = $this->metadataUrl; if ( !empty($queryArgs) ){ $url = add_query_arg($queryArgs, $url); } $result = wp_remote_get($url, $options); $result = apply_filters($this->getUniqueName('request_metadata_http_result'), $result, $url, $options); //Try to parse the response $status = $this->validateApiResponse($result); $metadata = null; if ( !is_wp_error($status) ){ if ( (strpos($metaClass, '\\') === false) ) { $metaClass = __NAMESPACE__ . '\\' . $metaClass; } $metadata = call_user_func(array($metaClass, 'fromJson'), $result['body']); } else { do_action('puc_api_error', $status, $result, $url, $this->slug); $this->triggerError( sprintf('The URL %s does not point to a valid metadata file. ', $url) . $status->get_error_message(), E_USER_WARNING ); } return array($metadata, $result); } /** * Check if $result is a successful update API response. * * @param array|WP_Error $result * @return true|WP_Error */ protected function validateApiResponse($result) { if ( is_wp_error($result) ) { /** @var WP_Error $result */ return new WP_Error($result->get_error_code(), 'WP HTTP Error: ' . $result->get_error_message()); } if ( !isset($result['response']['code']) ) { return new WP_Error( 'puc_no_response_code', 'wp_remote_get() returned an unexpected result.' ); } if ( $result['response']['code'] !== 200 ) { return new WP_Error( 'puc_unexpected_response_code', 'HTTP response code is ' . $result['response']['code'] . ' (expected: 200)' ); } if ( empty($result['body']) ) { return new WP_Error('puc_empty_response', 'The metadata file appears to be empty.'); } return true; } /* ------------------------------------------------------------------- * Language packs / Translation updates * ------------------------------------------------------------------- */ /** * Filter a list of translation updates and return a new list that contains only updates * that apply to the current site. * * @param array $translations * @return array */ protected function filterApplicableTranslations($translations) { $languages = array_flip(array_values(get_available_languages())); $installedTranslations = $this->getInstalledTranslations(); $applicableTranslations = array(); foreach ($translations as $translation) { //Does it match one of the available core languages? $isApplicable = array_key_exists($translation->language, $languages); //Is it more recent than an already-installed translation? if ( isset($installedTranslations[$translation->language]) ) { $updateTimestamp = strtotime($translation->updated); $installedTimestamp = strtotime($installedTranslations[$translation->language]['PO-Revision-Date']); $isApplicable = $updateTimestamp > $installedTimestamp; } if ( $isApplicable ) { $applicableTranslations[] = $translation; } } return $applicableTranslations; } /** * Get a list of installed translations for this plugin or theme. * * @return array */ protected function getInstalledTranslations() { if ( !function_exists('wp_get_installed_translations') ) { return array(); } $installedTranslations = wp_get_installed_translations($this->translationType . 's'); if ( isset($installedTranslations[$this->directoryName]) ) { $installedTranslations = $installedTranslations[$this->directoryName]; } else { $installedTranslations = array(); } return $installedTranslations; } /** * Insert translation updates into the list maintained by WordPress. * * @param stdClass $updates * @return stdClass */ public function injectTranslationUpdates($updates) { $translationUpdates = $this->getTranslationUpdates(); if ( empty($translationUpdates) ) { return $updates; } //Being defensive. if ( !is_object($updates) ) { $updates = new stdClass(); } if ( !isset($updates->translations) ) { $updates->translations = array(); } //In case there's a name collision with a plugin or theme hosted on wordpress.org, //remove any preexisting updates that match our thing. $updates->translations = array_values(array_filter( $updates->translations, array($this, 'isNotMyTranslation') )); //Add our updates to the list. foreach($translationUpdates as $update) { $convertedUpdate = array_merge( array( 'type' => $this->translationType, 'slug' => $this->directoryName, 'autoupdate' => 0, //AFAICT, WordPress doesn't actually use the "version" field for anything. //But lets make sure it's there, just in case. 'version' => isset($update->version) ? $update->version : ('1.' . strtotime($update->updated)), ), (array)$update ); $updates->translations[] = $convertedUpdate; } return $updates; } /** * Get a list of available translation updates. * * This method will return an empty array if there are no updates. * Uses cached update data. * * @return array */ public function getTranslationUpdates() { return $this->updateState->getTranslations(); } /** * Remove all cached translation updates. * * @see wp_clean_update_cache */ public function clearCachedTranslationUpdates() { $this->updateState->setTranslations(array()); } /** * Filter callback. Keeps only translations that *don't* match this plugin or theme. * * @param array $translation * @return bool */ protected function isNotMyTranslation($translation) { $isMatch = isset($translation['type'], $translation['slug']) && ($translation['type'] === $this->translationType) && ($translation['slug'] === $this->directoryName); return !$isMatch; } /* ------------------------------------------------------------------- * Fix directory name when installing updates * ------------------------------------------------------------------- */ /** * Rename the update directory to match the existing plugin/theme directory. * * When WordPress installs a plugin or theme update, it assumes that the ZIP file will contain * exactly one directory, and that the directory name will be the same as the directory where * the plugin or theme is currently installed. * * GitHub and other repositories provide ZIP downloads, but they often use directory names like * "project-branch" or "project-tag-hash". We need to change the name to the actual plugin folder. * * This is a hook callback. Don't call it from a plugin. * * @access protected * * @param string $source The directory to copy to /wp-content/plugins or /wp-content/themes. Usually a subdirectory of $remoteSource. * @param string $remoteSource WordPress has extracted the update to this directory. * @param \WP_Upgrader $upgrader * @return string|WP_Error */ public function fixDirectoryName($source, $remoteSource, $upgrader) { global $wp_filesystem; /** @var \WP_Filesystem_Base $wp_filesystem */ //Basic sanity checks. if ( !isset($source, $remoteSource, $upgrader, $upgrader->skin, $wp_filesystem) ) { return $source; } //If WordPress is upgrading anything other than our plugin/theme, leave the directory name unchanged. if ( !$this->isBeingUpgraded($upgrader) ) { return $source; } //Fix the remote source structure if necessary. //The update archive should contain a single directory that contains the rest of plugin/theme files. //Otherwise, WordPress will try to copy the entire working directory ($source == $remoteSource). //We can't rename $remoteSource because that would break WordPress code that cleans up temporary files //after update. if ( $this->isBadDirectoryStructure($remoteSource) ) { //Create a new directory using the plugin slug. $newDirectory = trailingslashit($remoteSource) . $this->slug . '/'; if ( !$wp_filesystem->is_dir($newDirectory) ) { $wp_filesystem->mkdir($newDirectory); //Move all files to the newly created directory. $sourceFiles = $wp_filesystem->dirlist($remoteSource); if ( is_array($sourceFiles) ) { $sourceFiles = array_keys($sourceFiles); $allMoved = true; foreach ($sourceFiles as $filename) { //Skip for our newly created folder. if ( $filename === $this->slug ) { continue; } $previousSource = trailingslashit($remoteSource) . $filename; $newSource = trailingslashit($newDirectory) . $filename; if ( !$wp_filesystem->move($previousSource, $newSource, true) ) { $allMoved = false; break; } } if ( $allMoved ) { //Rename source. $source = $newDirectory; } else { //Delete our newly created folder including all files in it. $wp_filesystem->rmdir($newDirectory, true); //And return a relevant error. return new WP_Error( 'puc-incorrect-directory-structure', sprintf( 'The directory structure of the update was incorrect. All files should be inside ' . 'a directory named %s, not at the root of the ZIP archive. Plugin Update Checker tried to fix the directory structure, but failed.', htmlentities($this->slug) ) ); } } } } //Rename the source to match the existing directory. $correctedSource = trailingslashit($remoteSource) . $this->directoryName . '/'; if ( $source !== $correctedSource ) { $upgrader->skin->feedback(sprintf( 'Renaming %s to %s…', '' . basename($source) . '', '' . $this->directoryName . '' )); if ( $wp_filesystem->move($source, $correctedSource, true) ) { $upgrader->skin->feedback('Directory successfully renamed.'); return $correctedSource; } else { return new WP_Error( 'puc-rename-failed', 'Unable to rename the update to match the existing directory.' ); } } return $source; } /** * Is there an update being installed right now, for this plugin or theme? * * @param \WP_Upgrader|null $upgrader The upgrader that's performing the current update. * @return bool */ abstract public function isBeingUpgraded($upgrader = null); /** * Check for incorrect update directory structure. An update must contain a single directory, * all other files should be inside that directory. * * @param string $remoteSource Directory path. * @return bool */ protected function isBadDirectoryStructure($remoteSource) { global $wp_filesystem; /** @var \WP_Filesystem_Base $wp_filesystem */ $sourceFiles = $wp_filesystem->dirlist($remoteSource); if ( is_array($sourceFiles) ) { $sourceFiles = array_keys($sourceFiles); $firstFilePath = trailingslashit($remoteSource) . $sourceFiles[0]; return (count($sourceFiles) > 1) || (!$wp_filesystem->is_dir($firstFilePath)); } //Assume it's fine. return false; } /* ------------------------------------------------------------------- * DebugBar integration * ------------------------------------------------------------------- */ /** * Initialize the update checker Debug Bar plugin/add-on thingy. */ public function maybeInitDebugBar() { if ( class_exists('Debug_Bar', false) && class_exists('Debug_Bar_Panel', false) && file_exists(dirname(__FILE__) . '/DebugBar') ) { $this->debugBarExtension = $this->createDebugBarExtension(); } } protected function createDebugBarExtension() { return new DebugBar\Extension($this); } /** * Display additional configuration details in the Debug Bar panel. * * @param DebugBar\Panel $panel */ public function onDisplayConfiguration($panel) { //Do nothing. Subclasses can use this to add additional info to the panel. } } endif; update/v5p4/UpgraderStatus.php000064400000015610147600042240012314 0ustar00isBeingUpgraded('plugin', $pluginFile, $upgrader); } /** * Is there an update being installed for a specific theme? * * @param string $stylesheet Theme directory name. * @param \WP_Upgrader|null $upgrader The upgrader that's performing the current update. * @return bool */ public function isThemeBeingUpgraded($stylesheet, $upgrader = null) { return $this->isBeingUpgraded('theme', $stylesheet, $upgrader); } /** * Check if a specific theme or plugin is being upgraded. * * @param string $type * @param string $id * @param \Plugin_Upgrader|\WP_Upgrader|null $upgrader * @return bool */ protected function isBeingUpgraded($type, $id, $upgrader = null) { if ( isset($upgrader) ) { list($currentType, $currentId) = $this->getThingBeingUpgradedBy($upgrader); if ( $currentType !== null ) { $this->currentType = $currentType; $this->currentId = $currentId; } } return ($this->currentType === $type) && ($this->currentId === $id); } /** * Figure out which theme or plugin is being upgraded by a WP_Upgrader instance. * * Returns an array with two items. The first item is the type of the thing that's being * upgraded: "plugin" or "theme". The second item is either the plugin basename or * the theme directory name. If we can't determine what the upgrader is doing, both items * will be NULL. * * Examples: * ['plugin', 'plugin-dir-name/plugin.php'] * ['theme', 'theme-dir-name'] * * @param \Plugin_Upgrader|\WP_Upgrader $upgrader * @return array */ private function getThingBeingUpgradedBy($upgrader) { if ( !isset($upgrader, $upgrader->skin) ) { return array(null, null); } //Figure out which plugin or theme is being upgraded. $pluginFile = null; $themeDirectoryName = null; $skin = $upgrader->skin; if ( isset($skin->theme_info) && ($skin->theme_info instanceof \WP_Theme) ) { $themeDirectoryName = $skin->theme_info->get_stylesheet(); } elseif ( $skin instanceof \Plugin_Upgrader_Skin ) { if ( isset($skin->plugin) && is_string($skin->plugin) && ($skin->plugin !== '') ) { $pluginFile = $skin->plugin; } } elseif ( $skin instanceof \Theme_Upgrader_Skin ) { if ( isset($skin->theme) && is_string($skin->theme) && ($skin->theme !== '') ) { $themeDirectoryName = $skin->theme; } } elseif ( isset($skin->plugin_info) && is_array($skin->plugin_info) ) { //This case is tricky because Bulk_Plugin_Upgrader_Skin (etc) doesn't actually store the plugin //filename anywhere. Instead, it has the plugin headers in $plugin_info. So the best we can //do is compare those headers to the headers of installed plugins. $pluginFile = $this->identifyPluginByHeaders($skin->plugin_info); } if ( $pluginFile !== null ) { return array('plugin', $pluginFile); } elseif ( $themeDirectoryName !== null ) { return array('theme', $themeDirectoryName); } return array(null, null); } /** * Identify an installed plugin based on its headers. * * @param array $searchHeaders The plugin file header to look for. * @return string|null Plugin basename ("foo/bar.php"), or NULL if we can't identify the plugin. */ private function identifyPluginByHeaders($searchHeaders) { if ( !function_exists('get_plugins') ){ require_once( ABSPATH . '/wp-admin/includes/plugin.php' ); } $installedPlugins = get_plugins(); $matches = array(); foreach($installedPlugins as $pluginBasename => $headers) { $diff1 = array_diff_assoc($headers, $searchHeaders); $diff2 = array_diff_assoc($searchHeaders, $headers); if ( empty($diff1) && empty($diff2) ) { $matches[] = $pluginBasename; } } //It's possible (though very unlikely) that there could be two plugins with identical //headers. In that case, we can't unambiguously identify the plugin that's being upgraded. if ( count($matches) !== 1 ) { return null; } return reset($matches); } /** * @access private * * @param mixed $input * @param array $hookExtra * @return mixed Returns $input unaltered. */ public function setUpgradedThing($input, $hookExtra) { if ( !empty($hookExtra['plugin']) && is_string($hookExtra['plugin']) ) { $this->currentId = $hookExtra['plugin']; $this->currentType = 'plugin'; } elseif ( !empty($hookExtra['theme']) && is_string($hookExtra['theme']) ) { $this->currentId = $hookExtra['theme']; $this->currentType = 'theme'; } else { $this->currentType = null; $this->currentId = null; } return $input; } /** * @access private * * @param array $options * @return array */ public function setUpgradedPluginFromOptions($options) { if ( isset($options['hook_extra']['plugin']) && is_string($options['hook_extra']['plugin']) ) { $this->currentType = 'plugin'; $this->currentId = $options['hook_extra']['plugin']; } else { $this->currentType = null; $this->currentId = null; } return $options; } /** * @access private * * @param mixed $input * @return mixed Returns $input unaltered. */ public function clearUpgradedThing($input = null) { $this->currentId = null; $this->currentType = null; return $input; } } endif; update/v5p4/Utils.php000064400000003547147600042240010445 0ustar00$node) ) { $currentValue = $currentValue->$node; } else { return $default; } } return $currentValue; } /** * Get the first array element that is not empty. * * @param array $values * @param mixed|null $default Returns this value if there are no non-empty elements. * @return mixed|null */ public static function findNotEmpty($values, $default = null) { if ( empty($values) ) { return $default; } foreach ($values as $value) { if ( !empty($value) ) { return $value; } } return $default; } /** * Check if the input string starts with the specified prefix. * * @param string $input * @param string $prefix * @return bool */ public static function startsWith($input, $prefix) { $length = strlen($prefix); return (substr($input, 0, $length) === $prefix); } } endif; update/v5p4/WpCliCheckTrigger.php000064400000005030147600042240012632 0ustar00componentType = $componentType; $this->scheduler = $scheduler; if ( !defined('WP_CLI') || !class_exists(WP_CLI::class, false) ) { return; //Nothing to do if WP-CLI is not available. } /* * We can't hook directly into wp_update_plugins(), but we can hook into the WP-CLI * commands that call it. We'll use the "before_invoke:xyz" hook to trigger update checks. */ foreach ($this->getRelevantCommands() as $command) { WP_CLI::add_hook('before_invoke:' . $command, [$this, 'triggerUpdateCheckOnce']); } } private function getRelevantCommands() { $result = []; foreach (['status', 'list', 'update'] as $subcommand) { $result[] = $this->componentType . ' ' . $subcommand; } return $result; } /** * Trigger a potential update check once. * * @param mixed $input * @return mixed The input value, unchanged. * @internal This method is public so that it can be used as a WP-CLI hook callback. * It should not be called directly. * */ public function triggerUpdateCheckOnce($input = null) { if ( $this->wasCheckTriggered ) { return $input; } $this->wasCheckTriggered = true; $this->scheduler->maybeCheckForUpdates(); return $input; } }update/vendor/Parsedown.php000064400000000136147600042240011775 0ustar00DefinitionData = array(); # standardize line breaks $text = str_replace(array("\r\n", "\r"), "\n", $text); # remove surrounding line breaks $text = trim($text, "\n"); # split text into lines $lines = explode("\n", $text); # iterate through lines to identify blocks $markup = $this->lines($lines); # trim line breaks $markup = trim($markup, "\n"); return $markup; } # # Setters # function setBreaksEnabled($breaksEnabled) { $this->breaksEnabled = $breaksEnabled; return $this; } protected $breaksEnabled; function setMarkupEscaped($markupEscaped) { $this->markupEscaped = $markupEscaped; return $this; } protected $markupEscaped; function setUrlsLinked($urlsLinked) { $this->urlsLinked = $urlsLinked; return $this; } protected $urlsLinked = true; # # Lines # protected $BlockTypes = array( '#' => array('Header'), '*' => array('Rule', 'List'), '+' => array('List'), '-' => array('SetextHeader', 'Table', 'Rule', 'List'), '0' => array('List'), '1' => array('List'), '2' => array('List'), '3' => array('List'), '4' => array('List'), '5' => array('List'), '6' => array('List'), '7' => array('List'), '8' => array('List'), '9' => array('List'), ':' => array('Table'), '<' => array('Comment', 'Markup'), '=' => array('SetextHeader'), '>' => array('Quote'), '[' => array('Reference'), '_' => array('Rule'), '`' => array('FencedCode'), '|' => array('Table'), '~' => array('FencedCode'), ); # ~ protected $unmarkedBlockTypes = array( 'Code', ); # # Blocks # protected function lines(array $lines) { $CurrentBlock = null; foreach ($lines as $line) { if (chop($line) === '') { if (isset($CurrentBlock)) { $CurrentBlock['interrupted'] = true; } continue; } if (strpos($line, "\t") !== false) { $parts = explode("\t", $line); $line = $parts[0]; unset($parts[0]); foreach ($parts as $part) { $shortage = 4 - mb_strlen($line, 'utf-8') % 4; $line .= str_repeat(' ', $shortage); $line .= $part; } } $indent = 0; while (isset($line[$indent]) and $line[$indent] === ' ') { $indent ++; } $text = $indent > 0 ? substr($line, $indent) : $line; # ~ $Line = array('body' => $line, 'indent' => $indent, 'text' => $text); # ~ if (isset($CurrentBlock['continuable'])) { $Block = $this->{'block'.$CurrentBlock['type'].'Continue'}($Line, $CurrentBlock); if (isset($Block)) { $CurrentBlock = $Block; continue; } else { if ($this->isBlockCompletable($CurrentBlock['type'])) { $CurrentBlock = $this->{'block'.$CurrentBlock['type'].'Complete'}($CurrentBlock); } } } # ~ $marker = $text[0]; # ~ $blockTypes = $this->unmarkedBlockTypes; if (isset($this->BlockTypes[$marker])) { foreach ($this->BlockTypes[$marker] as $blockType) { $blockTypes []= $blockType; } } # # ~ foreach ($blockTypes as $blockType) { $Block = $this->{'block'.$blockType}($Line, $CurrentBlock); if (isset($Block)) { $Block['type'] = $blockType; if ( ! isset($Block['identified'])) { $Blocks []= $CurrentBlock; $Block['identified'] = true; } if ($this->isBlockContinuable($blockType)) { $Block['continuable'] = true; } $CurrentBlock = $Block; continue 2; } } # ~ if (isset($CurrentBlock) and ! isset($CurrentBlock['type']) and ! isset($CurrentBlock['interrupted'])) { $CurrentBlock['element']['text'] .= "\n".$text; } else { $Blocks []= $CurrentBlock; $CurrentBlock = $this->paragraph($Line); $CurrentBlock['identified'] = true; } } # ~ if (isset($CurrentBlock['continuable']) and $this->isBlockCompletable($CurrentBlock['type'])) { $CurrentBlock = $this->{'block'.$CurrentBlock['type'].'Complete'}($CurrentBlock); } # ~ $Blocks []= $CurrentBlock; unset($Blocks[0]); # ~ $markup = ''; foreach ($Blocks as $Block) { if (isset($Block['hidden'])) { continue; } $markup .= "\n"; $markup .= isset($Block['markup']) ? $Block['markup'] : $this->element($Block['element']); } $markup .= "\n"; # ~ return $markup; } protected function isBlockContinuable($Type) { return method_exists($this, 'block'.$Type.'Continue'); } protected function isBlockCompletable($Type) { return method_exists($this, 'block'.$Type.'Complete'); } # # Code protected function blockCode($Line, $Block = null) { if (isset($Block) and ! isset($Block['type']) and ! isset($Block['interrupted'])) { return; } if ($Line['indent'] >= 4) { $text = substr($Line['body'], 4); $Block = array( 'element' => array( 'name' => 'pre', 'handler' => 'element', 'text' => array( 'name' => 'code', 'text' => $text, ), ), ); return $Block; } } protected function blockCodeContinue($Line, $Block) { if ($Line['indent'] >= 4) { if (isset($Block['interrupted'])) { $Block['element']['text']['text'] .= "\n"; unset($Block['interrupted']); } $Block['element']['text']['text'] .= "\n"; $text = substr($Line['body'], 4); $Block['element']['text']['text'] .= $text; return $Block; } } protected function blockCodeComplete($Block) { $text = $Block['element']['text']['text']; $text = htmlspecialchars($text, ENT_NOQUOTES, 'UTF-8'); $Block['element']['text']['text'] = $text; return $Block; } # # Comment protected function blockComment($Line) { if ($this->markupEscaped) { return; } if (isset($Line['text'][3]) and $Line['text'][3] === '-' and $Line['text'][2] === '-' and $Line['text'][1] === '!') { $Block = array( 'markup' => $Line['body'], ); if (preg_match('/-->$/', $Line['text'])) { $Block['closed'] = true; } return $Block; } } protected function blockCommentContinue($Line, array $Block) { if (isset($Block['closed'])) { return; } $Block['markup'] .= "\n" . $Line['body']; if (preg_match('/-->$/', $Line['text'])) { $Block['closed'] = true; } return $Block; } # # Fenced Code protected function blockFencedCode($Line) { if (preg_match('/^['.$Line['text'][0].']{3,}[ ]*([\w-]+)?[ ]*$/', $Line['text'], $matches)) { $Element = array( 'name' => 'code', 'text' => '', ); if (isset($matches[1])) { $class = 'language-'.$matches[1]; $Element['attributes'] = array( 'class' => $class, ); } $Block = array( 'char' => $Line['text'][0], 'element' => array( 'name' => 'pre', 'handler' => 'element', 'text' => $Element, ), ); return $Block; } } protected function blockFencedCodeContinue($Line, $Block) { if (isset($Block['complete'])) { return; } if (isset($Block['interrupted'])) { $Block['element']['text']['text'] .= "\n"; unset($Block['interrupted']); } if (preg_match('/^'.$Block['char'].'{3,}[ ]*$/', $Line['text'])) { $Block['element']['text']['text'] = substr($Block['element']['text']['text'], 1); $Block['complete'] = true; return $Block; } $Block['element']['text']['text'] .= "\n".$Line['body'];; return $Block; } protected function blockFencedCodeComplete($Block) { $text = $Block['element']['text']['text']; $text = htmlspecialchars($text, ENT_NOQUOTES, 'UTF-8'); $Block['element']['text']['text'] = $text; return $Block; } # # Header protected function blockHeader($Line) { if (isset($Line['text'][1])) { $level = 1; while (isset($Line['text'][$level]) and $Line['text'][$level] === '#') { $level ++; } if ($level > 6) { return; } $text = trim($Line['text'], '# '); $Block = array( 'element' => array( 'name' => 'h' . min(6, $level), 'text' => $text, 'handler' => 'line', ), ); return $Block; } } # # List protected function blockList($Line) { list($name, $pattern) = $Line['text'][0] <= '-' ? array('ul', '[*+-]') : array('ol', '[0-9]+[.]'); if (preg_match('/^('.$pattern.'[ ]+)(.*)/', $Line['text'], $matches)) { $Block = array( 'indent' => $Line['indent'], 'pattern' => $pattern, 'element' => array( 'name' => $name, 'handler' => 'elements', ), ); $Block['li'] = array( 'name' => 'li', 'handler' => 'li', 'text' => array( $matches[2], ), ); $Block['element']['text'] []= & $Block['li']; return $Block; } } protected function blockListContinue($Line, array $Block) { if ($Block['indent'] === $Line['indent'] and preg_match('/^'.$Block['pattern'].'(?:[ ]+(.*)|$)/', $Line['text'], $matches)) { if (isset($Block['interrupted'])) { $Block['li']['text'] []= ''; unset($Block['interrupted']); } unset($Block['li']); $text = isset($matches[1]) ? $matches[1] : ''; $Block['li'] = array( 'name' => 'li', 'handler' => 'li', 'text' => array( $text, ), ); $Block['element']['text'] []= & $Block['li']; return $Block; } if ($Line['text'][0] === '[' and $this->blockReference($Line)) { return $Block; } if ( ! isset($Block['interrupted'])) { $text = preg_replace('/^[ ]{0,4}/', '', $Line['body']); $Block['li']['text'] []= $text; return $Block; } if ($Line['indent'] > 0) { $Block['li']['text'] []= ''; $text = preg_replace('/^[ ]{0,4}/', '', $Line['body']); $Block['li']['text'] []= $text; unset($Block['interrupted']); return $Block; } } # # Quote protected function blockQuote($Line) { if (preg_match('/^>[ ]?(.*)/', $Line['text'], $matches)) { $Block = array( 'element' => array( 'name' => 'blockquote', 'handler' => 'lines', 'text' => (array) $matches[1], ), ); return $Block; } } protected function blockQuoteContinue($Line, array $Block) { if ($Line['text'][0] === '>' and preg_match('/^>[ ]?(.*)/', $Line['text'], $matches)) { if (isset($Block['interrupted'])) { $Block['element']['text'] []= ''; unset($Block['interrupted']); } $Block['element']['text'] []= $matches[1]; return $Block; } if ( ! isset($Block['interrupted'])) { $Block['element']['text'] []= $Line['text']; return $Block; } } # # Rule protected function blockRule($Line) { if (preg_match('/^(['.$Line['text'][0].'])([ ]*\1){2,}[ ]*$/', $Line['text'])) { $Block = array( 'element' => array( 'name' => 'hr' ), ); return $Block; } } # # Setext protected function blockSetextHeader($Line, array $Block = null) { if ( ! isset($Block) or isset($Block['type']) or isset($Block['interrupted'])) { return; } if (chop($Line['text'], $Line['text'][0]) === '') { $Block['element']['name'] = $Line['text'][0] === '=' ? 'h1' : 'h2'; return $Block; } } # # Markup protected function blockMarkup($Line) { if ($this->markupEscaped) { return; } if (preg_match('/^<(\w*)(?:[ ]*'.$this->regexHtmlAttribute.')*[ ]*(\/)?>/', $Line['text'], $matches)) { $element = strtolower($matches[1]); if (in_array($element, $this->textLevelElements)) { return; } $Block = array( 'name' => $matches[1], 'depth' => 0, 'markup' => $Line['text'], ); $length = strlen($matches[0]); $remainder = substr($Line['text'], $length); if (trim($remainder) === '') { if (isset($matches[2]) or in_array($matches[1], $this->voidElements)) { $Block['closed'] = true; $Block['void'] = true; } } else { if (isset($matches[2]) or in_array($matches[1], $this->voidElements)) { return; } if (preg_match('/<\/'.$matches[1].'>[ ]*$/i', $remainder)) { $Block['closed'] = true; } } return $Block; } } protected function blockMarkupContinue($Line, array $Block) { if (isset($Block['closed'])) { return; } if (preg_match('/^<'.$Block['name'].'(?:[ ]*'.$this->regexHtmlAttribute.')*[ ]*>/i', $Line['text'])) # open { $Block['depth'] ++; } if (preg_match('/(.*?)<\/'.$Block['name'].'>[ ]*$/i', $Line['text'], $matches)) # close { if ($Block['depth'] > 0) { $Block['depth'] --; } else { $Block['closed'] = true; } } if (isset($Block['interrupted'])) { $Block['markup'] .= "\n"; unset($Block['interrupted']); } $Block['markup'] .= "\n".$Line['body']; return $Block; } # # Reference protected function blockReference($Line) { if (preg_match('/^\[(.+?)\]:[ ]*?(?:[ ]+["\'(](.+)["\')])?[ ]*$/', $Line['text'], $matches)) { $id = strtolower($matches[1]); $Data = array( 'url' => $matches[2], 'title' => null, ); if (isset($matches[3])) { $Data['title'] = $matches[3]; } $this->DefinitionData['Reference'][$id] = $Data; $Block = array( 'hidden' => true, ); return $Block; } } # # Table protected function blockTable($Line, array $Block = null) { if ( ! isset($Block) or isset($Block['type']) or isset($Block['interrupted'])) { return; } if (strpos($Block['element']['text'], '|') !== false and chop($Line['text'], ' -:|') === '') { $alignments = array(); $divider = $Line['text']; $divider = trim($divider); $divider = trim($divider, '|'); $dividerCells = explode('|', $divider); foreach ($dividerCells as $dividerCell) { $dividerCell = trim($dividerCell); if ($dividerCell === '') { continue; } $alignment = null; if ($dividerCell[0] === ':') { $alignment = 'left'; } if (substr($dividerCell, - 1) === ':') { $alignment = $alignment === 'left' ? 'center' : 'right'; } $alignments []= $alignment; } # ~ $HeaderElements = array(); $header = $Block['element']['text']; $header = trim($header); $header = trim($header, '|'); $headerCells = explode('|', $header); foreach ($headerCells as $index => $headerCell) { $headerCell = trim($headerCell); $HeaderElement = array( 'name' => 'th', 'text' => $headerCell, 'handler' => 'line', ); if (isset($alignments[$index])) { $alignment = $alignments[$index]; $HeaderElement['attributes'] = array( 'style' => 'text-align: '.$alignment.';', ); } $HeaderElements []= $HeaderElement; } # ~ $Block = array( 'alignments' => $alignments, 'identified' => true, 'element' => array( 'name' => 'table', 'handler' => 'elements', ), ); $Block['element']['text'] []= array( 'name' => 'thead', 'handler' => 'elements', ); $Block['element']['text'] []= array( 'name' => 'tbody', 'handler' => 'elements', 'text' => array(), ); $Block['element']['text'][0]['text'] []= array( 'name' => 'tr', 'handler' => 'elements', 'text' => $HeaderElements, ); return $Block; } } protected function blockTableContinue($Line, array $Block) { if (isset($Block['interrupted'])) { return; } if ($Line['text'][0] === '|' or strpos($Line['text'], '|')) { $Elements = array(); $row = $Line['text']; $row = trim($row); $row = trim($row, '|'); preg_match_all('/(?:(\\\\[|])|[^|`]|`[^`]+`|`)+/', $row, $matches); foreach ($matches[0] as $index => $cell) { $cell = trim($cell); $Element = array( 'name' => 'td', 'handler' => 'line', 'text' => $cell, ); if (isset($Block['alignments'][$index])) { $Element['attributes'] = array( 'style' => 'text-align: '.$Block['alignments'][$index].';', ); } $Elements []= $Element; } $Element = array( 'name' => 'tr', 'handler' => 'elements', 'text' => $Elements, ); $Block['element']['text'][1]['text'] []= $Element; return $Block; } } # # ~ # protected function paragraph($Line) { $Block = array( 'element' => array( 'name' => 'p', 'text' => $Line['text'], 'handler' => 'line', ), ); return $Block; } # # Inline Elements # protected $InlineTypes = array( '"' => array('SpecialCharacter'), '!' => array('Image'), '&' => array('SpecialCharacter'), '*' => array('Emphasis'), ':' => array('Url'), '<' => array('UrlTag', 'EmailTag', 'Markup', 'SpecialCharacter'), '>' => array('SpecialCharacter'), '[' => array('Link'), '_' => array('Emphasis'), '`' => array('Code'), '~' => array('Strikethrough'), '\\' => array('EscapeSequence'), ); # ~ protected $inlineMarkerList = '!"*_&[:<>`~\\'; # # ~ # public function line($text) { $markup = ''; # $excerpt is based on the first occurrence of a marker while ($excerpt = strpbrk($text, $this->inlineMarkerList)) { $marker = $excerpt[0]; $markerPosition = strpos($text, $marker); $Excerpt = array('text' => $excerpt, 'context' => $text); foreach ($this->InlineTypes[$marker] as $inlineType) { $Inline = $this->{'inline'.$inlineType}($Excerpt); if ( ! isset($Inline)) { continue; } # makes sure that the inline belongs to "our" marker if (isset($Inline['position']) and $Inline['position'] > $markerPosition) { continue; } # sets a default inline position if ( ! isset($Inline['position'])) { $Inline['position'] = $markerPosition; } # the text that comes before the inline $unmarkedText = substr($text, 0, $Inline['position']); # compile the unmarked text $markup .= $this->unmarkedText($unmarkedText); # compile the inline $markup .= isset($Inline['markup']) ? $Inline['markup'] : $this->element($Inline['element']); # remove the examined text $text = substr($text, $Inline['position'] + $Inline['extent']); continue 2; } # the marker does not belong to an inline $unmarkedText = substr($text, 0, $markerPosition + 1); $markup .= $this->unmarkedText($unmarkedText); $text = substr($text, $markerPosition + 1); } $markup .= $this->unmarkedText($text); return $markup; } # # ~ # protected function inlineCode($Excerpt) { $marker = $Excerpt['text'][0]; if (preg_match('/^('.$marker.'+)[ ]*(.+?)[ ]*(? strlen($matches[0]), 'element' => array( 'name' => 'code', 'text' => $text, ), ); } } protected function inlineEmailTag($Excerpt) { if (strpos($Excerpt['text'], '>') !== false and preg_match('/^<((mailto:)?\S+?@\S+?)>/i', $Excerpt['text'], $matches)) { $url = $matches[1]; if ( ! isset($matches[2])) { $url = 'mailto:' . $url; } return array( 'extent' => strlen($matches[0]), 'element' => array( 'name' => 'a', 'text' => $matches[1], 'attributes' => array( 'href' => $url, ), ), ); } } protected function inlineEmphasis($Excerpt) { if ( ! isset($Excerpt['text'][1])) { return; } $marker = $Excerpt['text'][0]; if ($Excerpt['text'][1] === $marker and preg_match($this->StrongRegex[$marker], $Excerpt['text'], $matches)) { $emphasis = 'strong'; } elseif (preg_match($this->EmRegex[$marker], $Excerpt['text'], $matches)) { $emphasis = 'em'; } else { return; } return array( 'extent' => strlen($matches[0]), 'element' => array( 'name' => $emphasis, 'handler' => 'line', 'text' => $matches[1], ), ); } protected function inlineEscapeSequence($Excerpt) { if (isset($Excerpt['text'][1]) and in_array($Excerpt['text'][1], $this->specialCharacters)) { return array( 'markup' => $Excerpt['text'][1], 'extent' => 2, ); } } protected function inlineImage($Excerpt) { if ( ! isset($Excerpt['text'][1]) or $Excerpt['text'][1] !== '[') { return; } $Excerpt['text']= substr($Excerpt['text'], 1); $Link = $this->inlineLink($Excerpt); if ($Link === null) { return; } $Inline = array( 'extent' => $Link['extent'] + 1, 'element' => array( 'name' => 'img', 'attributes' => array( 'src' => $Link['element']['attributes']['href'], 'alt' => $Link['element']['text'], ), ), ); $Inline['element']['attributes'] += $Link['element']['attributes']; unset($Inline['element']['attributes']['href']); return $Inline; } protected function inlineLink($Excerpt) { $Element = array( 'name' => 'a', 'handler' => 'line', 'text' => null, 'attributes' => array( 'href' => null, 'title' => null, ), ); $extent = 0; $remainder = $Excerpt['text']; if (preg_match('/\[((?:[^][]|(?R))*)\]/', $remainder, $matches)) { $Element['text'] = $matches[1]; $extent += strlen($matches[0]); $remainder = substr($remainder, $extent); } else { return; } if (preg_match('/^[(]((?:[^ ()]|[(][^ )]+[)])+)(?:[ ]+("[^"]*"|\'[^\']*\'))?[)]/', $remainder, $matches)) { $Element['attributes']['href'] = $matches[1]; if (isset($matches[2])) { $Element['attributes']['title'] = substr($matches[2], 1, - 1); } $extent += strlen($matches[0]); } else { if (preg_match('/^\s*\[(.*?)\]/', $remainder, $matches)) { $definition = strlen($matches[1]) ? $matches[1] : $Element['text']; $definition = strtolower($definition); $extent += strlen($matches[0]); } else { $definition = strtolower($Element['text']); } if ( ! isset($this->DefinitionData['Reference'][$definition])) { return; } $Definition = $this->DefinitionData['Reference'][$definition]; $Element['attributes']['href'] = $Definition['url']; $Element['attributes']['title'] = $Definition['title']; } $Element['attributes']['href'] = str_replace(array('&', '<'), array('&', '<'), $Element['attributes']['href']); return array( 'extent' => $extent, 'element' => $Element, ); } protected function inlineMarkup($Excerpt) { if ($this->markupEscaped or strpos($Excerpt['text'], '>') === false) { return; } if ($Excerpt['text'][1] === '/' and preg_match('/^<\/\w*[ ]*>/s', $Excerpt['text'], $matches)) { return array( 'markup' => $matches[0], 'extent' => strlen($matches[0]), ); } if ($Excerpt['text'][1] === '!' and preg_match('/^/s', $Excerpt['text'], $matches)) { return array( 'markup' => $matches[0], 'extent' => strlen($matches[0]), ); } if ($Excerpt['text'][1] !== ' ' and preg_match('/^<\w*(?:[ ]*'.$this->regexHtmlAttribute.')*[ ]*\/?>/s', $Excerpt['text'], $matches)) { return array( 'markup' => $matches[0], 'extent' => strlen($matches[0]), ); } } protected function inlineSpecialCharacter($Excerpt) { if ($Excerpt['text'][0] === '&' and ! preg_match('/^&#?\w+;/', $Excerpt['text'])) { return array( 'markup' => '&', 'extent' => 1, ); } $SpecialCharacter = array('>' => 'gt', '<' => 'lt', '"' => 'quot'); if (isset($SpecialCharacter[$Excerpt['text'][0]])) { return array( 'markup' => '&'.$SpecialCharacter[$Excerpt['text'][0]].';', 'extent' => 1, ); } } protected function inlineStrikethrough($Excerpt) { if ( ! isset($Excerpt['text'][1])) { return; } if ($Excerpt['text'][1] === '~' and preg_match('/^~~(?=\S)(.+?)(?<=\S)~~/', $Excerpt['text'], $matches)) { return array( 'extent' => strlen($matches[0]), 'element' => array( 'name' => 'del', 'text' => $matches[1], 'handler' => 'line', ), ); } } protected function inlineUrl($Excerpt) { if ($this->urlsLinked !== true or ! isset($Excerpt['text'][2]) or $Excerpt['text'][2] !== '/') { return; } if (preg_match('/\bhttps?:[\/]{2}[^\s<]+\b\/*/ui', $Excerpt['context'], $matches, PREG_OFFSET_CAPTURE)) { $Inline = array( 'extent' => strlen($matches[0][0]), 'position' => $matches[0][1], 'element' => array( 'name' => 'a', 'text' => $matches[0][0], 'attributes' => array( 'href' => $matches[0][0], ), ), ); return $Inline; } } protected function inlineUrlTag($Excerpt) { if (strpos($Excerpt['text'], '>') !== false and preg_match('/^<(\w+:\/{2}[^ >]+)>/i', $Excerpt['text'], $matches)) { $url = str_replace(array('&', '<'), array('&', '<'), $matches[1]); return array( 'extent' => strlen($matches[0]), 'element' => array( 'name' => 'a', 'text' => $url, 'attributes' => array( 'href' => $url, ), ), ); } } # ~ protected function unmarkedText($text) { if ($this->breaksEnabled) { $text = preg_replace('/[ ]*\n/', "
\n", $text); } else { $text = preg_replace('/(?:[ ][ ]+|[ ]*\\\\)\n/', "
\n", $text); $text = str_replace(" \n", "\n", $text); } return $text; } # # Handlers # protected function element(array $Element) { $markup = '<'.$Element['name']; if (isset($Element['attributes'])) { foreach ($Element['attributes'] as $name => $value) { if ($value === null) { continue; } $markup .= ' '.$name.'="'.$value.'"'; } } if (isset($Element['text'])) { $markup .= '>'; if (isset($Element['handler'])) { $markup .= $this->{$Element['handler']}($Element['text']); } else { $markup .= $Element['text']; } $markup .= ''; } else { $markup .= ' />'; } return $markup; } protected function elements(array $Elements) { $markup = ''; foreach ($Elements as $Element) { $markup .= "\n" . $this->element($Element); } $markup .= "\n"; return $markup; } # ~ protected function li($lines) { $markup = $this->lines($lines); $trimmedMarkup = trim($markup); if ( ! in_array('', $lines) and substr($trimmedMarkup, 0, 3) === '

') { $markup = $trimmedMarkup; $markup = substr($markup, 3); $position = strpos($markup, "

"); $markup = substr_replace($markup, '', $position, 4); } return $markup; } # # Deprecated Methods # function parse($text) { $markup = $this->text($text); return $markup; } # # Static Methods # static function instance($name = 'default') { if (isset(self::$instances[$name])) { return self::$instances[$name]; } $instance = new static(); self::$instances[$name] = $instance; return $instance; } private static $instances = array(); # # Fields # protected $DefinitionData; # # Read-Only protected $specialCharacters = array( '\\', '`', '*', '_', '{', '}', '[', ']', '(', ')', '>', '#', '+', '-', '.', '!', '|', ); protected $StrongRegex = array( '*' => '/^[*]{2}((?:\\\\\*|[^*]|[*][^*]*[*])+?)[*]{2}(?![*])/s', '_' => '/^__((?:\\\\_|[^_]|_[^_]*_)+?)__(?!_)/us', ); protected $EmRegex = array( '*' => '/^[*]((?:\\\\\*|[^*]|[*][*][^*]+?[*][*])+?)[*](?![*])/s', '_' => '/^_((?:\\\\_|[^_]|__[^_]*__)+?)_(?!_)\b/us', ); protected $regexHtmlAttribute = '[a-zA-Z_:][\w:.-]*(?:\s*=\s*(?:[^"\'=<>`\s]+|"[^"]*"|\'[^\']*\'))?'; protected $voidElements = array( 'area', 'base', 'br', 'col', 'command', 'embed', 'hr', 'img', 'input', 'link', 'meta', 'param', 'source', ); protected $textLevelElements = array( 'a', 'br', 'bdo', 'abbr', 'blink', 'nextid', 'acronym', 'basefont', 'b', 'em', 'big', 'cite', 'small', 'spacer', 'listing', 'i', 'rp', 'del', 'code', 'strike', 'marquee', 'q', 'rt', 'ins', 'font', 'strong', 's', 'tt', 'sub', 'mark', 'u', 'xm', 'sup', 'nobr', 'var', 'ruby', 'wbr', 'span', 'time', ); }update/vendor/PucReadmeParser.php000064400000030166147600042240013063 0ustar00parse_readme_contents( $file_contents ); } function parse_readme_contents( $file_contents ) { $file_contents = str_replace(array("\r\n", "\r"), "\n", $file_contents); $file_contents = trim($file_contents); if ( 0 === strpos( $file_contents, "\xEF\xBB\xBF" ) ) $file_contents = substr( $file_contents, 3 ); // Markdown transformations $file_contents = preg_replace( "|^###([^#]+)#*?\s*?\n|im", '=$1='."\n", $file_contents ); $file_contents = preg_replace( "|^##([^#]+)#*?\s*?\n|im", '==$1=='."\n", $file_contents ); $file_contents = preg_replace( "|^#([^#]+)#*?\s*?\n|im", '===$1==='."\n", $file_contents ); // === Plugin Name === // Must be the very first thing. if ( !preg_match('|^===(.*)===|', $file_contents, $_name) ) return array(); // require a name $name = trim($_name[1], '='); $name = $this->sanitize_text( $name ); $file_contents = $this->chop_string( $file_contents, $_name[0] ); // Requires at least: 1.5 if ( preg_match('|Requires at least:(.*)|i', $file_contents, $_requires_at_least) ) $requires_at_least = $this->sanitize_text($_requires_at_least[1]); else $requires_at_least = NULL; // Tested up to: 2.1 if ( preg_match('|Tested up to:(.*)|i', $file_contents, $_tested_up_to) ) $tested_up_to = $this->sanitize_text( $_tested_up_to[1] ); else $tested_up_to = NULL; // Requires PHP: 5.2.4 if ( preg_match('|Requires PHP:(.*)|i', $file_contents, $_requires_php) ) { $requires_php = $this->sanitize_text( $_requires_php[1] ); } else { $requires_php = null; } // Stable tag: 10.4-ride-the-fire-eagle-danger-day if ( preg_match('|Stable tag:(.*)|i', $file_contents, $_stable_tag) ) $stable_tag = $this->sanitize_text( $_stable_tag[1] ); else $stable_tag = NULL; // we assume trunk, but don't set it here to tell the difference between specified trunk and default trunk // Tags: some tag, another tag, we like tags if ( preg_match('|Tags:(.*)|i', $file_contents, $_tags) ) { $tags = preg_split('|,[\s]*?|', trim($_tags[1])); foreach ( array_keys($tags) as $t ) $tags[$t] = $this->sanitize_text( $tags[$t] ); } else { $tags = array(); } // Contributors: markjaquith, mdawaffe, zefrank $contributors = array(); if ( preg_match('|Contributors:(.*)|i', $file_contents, $_contributors) ) { $temp_contributors = preg_split('|,[\s]*|', trim($_contributors[1])); foreach ( array_keys($temp_contributors) as $c ) { $tmp_sanitized = $this->user_sanitize( $temp_contributors[$c] ); if ( strlen(trim($tmp_sanitized)) > 0 ) $contributors[$c] = $tmp_sanitized; unset($tmp_sanitized); } } // Donate Link: URL if ( preg_match('|Donate link:(.*)|i', $file_contents, $_donate_link) ) $donate_link = esc_url( $_donate_link[1] ); else $donate_link = NULL; // togs, conts, etc are optional and order shouldn't matter. So we chop them only after we've grabbed their values. foreach ( array('tags', 'contributors', 'requires_at_least', 'tested_up_to', 'stable_tag', 'donate_link') as $chop ) { if ( $$chop ) { $_chop = '_' . $chop; $file_contents = $this->chop_string( $file_contents, ${$_chop}[0] ); } } $file_contents = trim($file_contents); // short-description fu if ( !preg_match('/(^(.*?))^[\s]*=+?[\s]*.+?[\s]*=+?/ms', $file_contents, $_short_description) ) $_short_description = array( 1 => &$file_contents, 2 => &$file_contents ); $short_desc_filtered = $this->sanitize_text( $_short_description[2] ); $short_desc_length = strlen($short_desc_filtered); $short_description = substr($short_desc_filtered, 0, 150); if ( $short_desc_length > strlen($short_description) ) $truncated = true; else $truncated = false; if ( $_short_description[1] ) $file_contents = $this->chop_string( $file_contents, $_short_description[1] ); // yes, the [1] is intentional // == Section == // Break into sections // $_sections[0] will be the title of the first section, $_sections[1] will be the content of the first section // the array alternates from there: title2, content2, title3, content3... and so forth $_sections = preg_split('/^[\s]*==[\s]*(.+?)[\s]*==/m', $file_contents, -1, PREG_SPLIT_DELIM_CAPTURE|PREG_SPLIT_NO_EMPTY); $sections = array(); for ( $i=0; $i < count($_sections); $i +=2 ) { $title = $this->sanitize_text( $_sections[$i] ); if ( isset($_sections[$i+1]) ) { $content = preg_replace('/(^[\s]*)=[\s]+(.+?)[\s]+=/m', '$1

$2

', $_sections[$i+1]); $content = $this->filter_text( $content, true ); } else { $content = ''; } $sections[str_replace(' ', '_', strtolower($title))] = array('title' => $title, 'content' => $content); } // Special sections // This is where we nab our special sections, so we can enforce their order and treat them differently, if needed // upgrade_notice is not a section, but parse it like it is for now $final_sections = array(); foreach ( array('description', 'installation', 'frequently_asked_questions', 'screenshots', 'changelog', 'change_log', 'upgrade_notice') as $special_section ) { if ( isset($sections[$special_section]) ) { $final_sections[$special_section] = $sections[$special_section]['content']; unset($sections[$special_section]); } } if ( isset($final_sections['change_log']) && empty($final_sections['changelog']) ) $final_sections['changelog'] = $final_sections['change_log']; $final_screenshots = array(); if ( isset($final_sections['screenshots']) ) { preg_match_all('|
  • (.*?)
  • |s', $final_sections['screenshots'], $screenshots, PREG_SET_ORDER); if ( $screenshots ) { foreach ( (array) $screenshots as $ss ) $final_screenshots[] = $ss[1]; } } // Parse the upgrade_notice section specially: // 1.0 => blah, 1.1 => fnord $upgrade_notice = array(); if ( isset($final_sections['upgrade_notice']) ) { $split = preg_split( '#

    (.*?)

    #', $final_sections['upgrade_notice'], -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY ); if ( count($split) >= 2 ) { for ( $i = 0; $i < count( $split ); $i += 2 ) { $upgrade_notice[$this->sanitize_text( $split[$i] )] = substr( $this->sanitize_text( $split[$i + 1] ), 0, 300 ); } } unset( $final_sections['upgrade_notice'] ); } // No description? // No problem... we'll just fall back to the old style of description // We'll even let you use markup this time! $excerpt = false; if ( !isset($final_sections['description']) ) { $final_sections = array_merge(array('description' => $this->filter_text( $_short_description[2], true )), $final_sections); $excerpt = true; } // dump the non-special sections into $remaining_content // their order will be determined by their original order in the readme.txt $remaining_content = ''; foreach ( $sections as $s_name => $s_data ) { $remaining_content .= "\n

    {$s_data['title']}

    \n{$s_data['content']}"; } $remaining_content = trim($remaining_content); // All done! // $r['tags'] and $r['contributors'] are simple arrays // $r['sections'] is an array with named elements $r = array( 'name' => $name, 'tags' => $tags, 'requires_at_least' => $requires_at_least, 'tested_up_to' => $tested_up_to, 'requires_php' => $requires_php, 'stable_tag' => $stable_tag, 'contributors' => $contributors, 'donate_link' => $donate_link, 'short_description' => $short_description, 'screenshots' => $final_screenshots, 'is_excerpt' => $excerpt, 'is_truncated' => $truncated, 'sections' => $final_sections, 'remaining_content' => $remaining_content, 'upgrade_notice' => $upgrade_notice ); return $r; } function chop_string( $string, $chop ) { // chop a "prefix" from a string: Agressive! uses strstr not 0 === strpos if ( $_string = strstr($string, $chop) ) { $_string = substr($_string, strlen($chop)); return trim($_string); } else { return trim($string); } } function user_sanitize( $text, $strict = false ) { // whitelisted chars if ( function_exists('user_sanitize') ) // bbPress native return user_sanitize( $text, $strict ); if ( $strict ) { $text = preg_replace('/[^a-z0-9-]/i', '', $text); $text = preg_replace('|-+|', '-', $text); } else { $text = preg_replace('/[^a-z0-9_-]/i', '', $text); } return $text; } function sanitize_text( $text ) { // not fancy $text = function_exists('wp_strip_all_tags') ? wp_strip_all_tags($text) //phpcs:ignore WordPressVIPMinimum.Functions.StripTags.StripTagsOneParameter -- Using wp_strip_all_tags() if available : strip_tags($text); $text = esc_html($text); $text = trim($text); return $text; } function filter_text( $text, $markdown = false ) { // fancy, Markdown $text = trim($text); $text = call_user_func( array( __CLASS__, 'code_trick' ), $text, $markdown ); // A better parser than Markdown's for: backticks -> CODE if ( $markdown ) { // Parse markdown. if ( !class_exists('Parsedown', false) ) { /** @noinspection PhpIncludeInspection */ require_once(dirname(__FILE__) . '/Parsedown' . (version_compare(PHP_VERSION, '5.3.0', '>=') ? '' : 'Legacy') . '.php'); } $instance = Parsedown::instance(); $text = $instance->text($text); } $allowed = array( 'a' => array( 'href' => array(), 'title' => array(), 'rel' => array()), 'blockquote' => array('cite' => array()), 'br' => array(), 'p' => array(), 'code' => array(), 'pre' => array(), 'em' => array(), 'strong' => array(), 'ul' => array(), 'ol' => array(), 'li' => array(), 'h3' => array(), 'h4' => array() ); $text = balanceTags($text); $text = wp_kses( $text, $allowed ); $text = trim($text); return $text; } function code_trick( $text, $markdown ) { // Don't use bbPress native function - it's incompatible with Markdown // If doing markdown, first take any user formatted code blocks and turn them into backticks so that // markdown will preserve things like underscores in code blocks if ( $markdown ) $text = preg_replace_callback("!(
    |)(.*?)(
    |)!s", array( __CLASS__,'decodeit'), $text); $text = str_replace(array("\r\n", "\r"), "\n", $text); if ( !$markdown ) { // This gets the "inline" code blocks, but can't be used with Markdown. $text = preg_replace_callback("|(`)(.*?)`|", array( __CLASS__, 'encodeit'), $text); // This gets the "block level" code blocks and converts them to PRE CODE $text = preg_replace_callback("!(^|\n)`(.*?)`!s", array( __CLASS__, 'encodeit'), $text); } else { // Markdown can do inline code, we convert bbPress style block level code to Markdown style $text = preg_replace_callback("!(^|\n)([ \t]*?)`(.*?)`!s", array( __CLASS__, 'indent'), $text); } return $text; } function indent( $matches ) { $text = $matches[3]; $text = preg_replace('|^|m', $matches[2] . ' ', $text); return $matches[1] . $text; } function encodeit( $matches ) { if ( function_exists('encodeit') ) // bbPress native return encodeit( $matches ); $text = trim($matches[2]); $text = htmlspecialchars($text, ENT_QUOTES); $text = str_replace(array("\r\n", "\r"), "\n", $text); $text = preg_replace("|\n\n\n+|", "\n\n", $text); $text = str_replace('&lt;', '<', $text); $text = str_replace('&gt;', '>', $text); $text = "$text"; if ( "`" != $matches[1] ) $text = "
    $text
    "; return $text; } function decodeit( $matches ) { if ( function_exists('decodeit') ) // bbPress native return decodeit( $matches ); $text = $matches[2]; $trans_table = array_flip(get_html_translation_table(HTML_ENTITIES)); $text = strtr($text, $trans_table); $text = str_replace('
    ', '', $text); $text = str_replace('&', '&', $text); $text = str_replace(''', "'", $text); if ( '
    ' == $matches[1] )
    			$text = "\n$text\n";
    		return "`$text`";
    	}
    
    } // end class
    
    endif;
    view/assets/css/alert.min.css000064400000002631147600042240012214 0ustar00.hmwp_notice{background:#c6c6c6!important;padding:1em;margin:5px 5px 0 0;width:auto}.hmwp_notice_fixed{position:fixed;left:0;margin:0;width:100%;z-index:1}.hmwp_notice.success{font-size:1rem;background:#188a18!important;color:#fff}.hmwp_notice.danger{font-size:1rem;background-color:#e5765c!important;color:#fff}.hmwp_notice.notice{font-size:1rem;background:#fff!important;color:#444;border:0;border-left:4px solid #e5765c}.hmwp_notice.notice pre{display:block;font-size:.9rem;font-family:"IBM Plex Mono",monospace;font-weight:300;color:var(--hmwp-color-primary);margin:10px 0}.hmwp_notice.bg-danger{font-size:1rem;background-color:#dc3545!important}.hmwp_notice p{display:block;letter-spacing:normal;line-height:30px;margin:0 0 10px;font-style:normal;white-space:normal}.hmwp_confirm{display:inline-block;margin-left:10px}.hmwp_btn,.hmwp_notice p{font-size:1rem;font-weight:400}.hmwp_btn{border-radius:0;outline:0!important;display:inline-block;padding:10px 15px;margin-bottom:0;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none}.hmwp_btn-success{color:#fff;background-color:#01815b;border-color:transparent}.hmwp_btn-cancel,.hmwp_btn-secondary{background-color:transparent;border-color:#b5b5b5;color:#555;box-shadow:none}view/assets/css/bootstrap-select.min.css000064400000025003147600042240014375 0ustar00@-webkit-keyframes bs-notify-fadeOut{0%{opacity:.9}to{opacity:0}}@-o-keyframes bs-notify-fadeOut{0%{opacity:.9}to{opacity:0}}@keyframes bs-notify-fadeOut{0%{opacity:.9}to{opacity:0}}.bootstrap-select>select.bs-select-hidden,select.bs-select-hidden,select.selectpicker{display:none!important}.bootstrap-select{width:220px \0;vertical-align:middle}.bootstrap-select>.dropdown-toggle{position:relative;width:100%;text-align:right;white-space:nowrap;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.bootstrap-select>.dropdown-toggle:after{margin-top:-1px}.bootstrap-select>.dropdown-toggle.bs-placeholder,.bootstrap-select>.dropdown-toggle.bs-placeholder:active,.bootstrap-select>.dropdown-toggle.bs-placeholder:focus,.bootstrap-select>.dropdown-toggle.bs-placeholder:hover{color:#999}.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-danger,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-danger:active,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-danger:focus,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-danger:hover,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-dark,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-dark:active,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-dark:focus,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-dark:hover,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-info,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-info:active,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-info:focus,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-info:hover,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-primary,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-primary:active,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-primary:focus,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-primary:hover,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-secondary,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-secondary:active,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-secondary:focus,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-secondary:hover,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-success,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-success:active,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-success:focus,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-success:hover{color:rgba(255,255,255,.5)}.bootstrap-select>select{position:absolute!important;bottom:0;left:50%;display:block!important;width:.5px!important;height:100%!important;padding:0!important;opacity:0!important;border:0;z-index:0!important}.bootstrap-select>select.mobile-device{top:0;left:0;display:block!important;width:100%!important;z-index:2!important}.bootstrap-select.is-invalid .dropdown-toggle,.error .bootstrap-select .dropdown-toggle,.has-error .bootstrap-select .dropdown-toggle,.was-validated .bootstrap-select select:invalid+.dropdown-toggle{border-color:#b94a48}.bootstrap-select.is-valid .dropdown-toggle,.was-validated .bootstrap-select select:valid+.dropdown-toggle{border-color:#28a745}.bootstrap-select.fit-width{width:auto!important}.bootstrap-select:not([class*=col-]):not([class*=form-control]):not(.input-group-btn){width:220px}.bootstrap-select .dropdown-toggle:focus,.bootstrap-select>select.mobile-device:focus+.dropdown-toggle{outline:thin dotted #333!important;outline:5px auto -webkit-focus-ring-color!important;outline-offset:-2px}.bootstrap-select.form-control{margin-bottom:0;padding:0;border:0;height:auto}:not(.input-group)>.bootstrap-select.form-control:not([class*=col-]){width:100%}.bootstrap-select.form-control.input-group-btn{float:none;z-index:auto}.form-inline .bootstrap-select,.form-inline .bootstrap-select.form-control:not([class*=col-]){width:auto}.bootstrap-select:not(.input-group-btn),.bootstrap-select[class*=col-]{float:none;display:inline-block;margin-left:0}.bootstrap-select.dropdown-menu-right,.bootstrap-select[class*=col-].dropdown-menu-right,.row .bootstrap-select[class*=col-].dropdown-menu-right{float:right}.form-group .bootstrap-select,.form-horizontal .bootstrap-select,.form-inline .bootstrap-select{margin-bottom:0}.form-group-lg .bootstrap-select.form-control,.form-group-sm .bootstrap-select.form-control{padding:0}.form-group-lg .bootstrap-select.form-control .dropdown-toggle,.form-group-sm .bootstrap-select.form-control .dropdown-toggle{height:100%;font-size:inherit;line-height:inherit;border-radius:inherit}.bootstrap-select.form-control-lg .dropdown-toggle,.bootstrap-select.form-control-sm .dropdown-toggle{font-size:inherit;line-height:inherit;border-radius:inherit}.bootstrap-select.form-control-sm .dropdown-toggle{padding:.25rem .5rem}.bootstrap-select.form-control-lg .dropdown-toggle{padding:.5rem 1rem}.form-inline .bootstrap-select .form-control{width:100%}.bootstrap-select .dropdown-menu li.disabled a,.bootstrap-select.disabled,.bootstrap-select>.disabled{cursor:not-allowed}.bootstrap-select.disabled:focus,.bootstrap-select>.disabled:focus{outline:0!important}.bootstrap-select.bs-container{position:absolute;top:0;left:0;height:0!important;padding:0!important}.bootstrap-select.bs-container .dropdown-menu{z-index:1060}.bootstrap-select .dropdown-toggle .filter-option{position:static;top:0;left:0;float:left;height:100%;width:100%;text-align:left;overflow:hidden;-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto}.bs3.bootstrap-select .dropdown-toggle .filter-option,.input-group .bs3-has-addon.bootstrap-select .dropdown-toggle .filter-option .filter-option-inner{padding-right:inherit}.input-group .bs3-has-addon.bootstrap-select .dropdown-toggle .filter-option{position:absolute;padding-top:inherit;padding-bottom:inherit;padding-left:inherit;float:none}.bootstrap-select .dropdown-toggle .filter-option-inner-inner{overflow:hidden}.bootstrap-select .dropdown-toggle .filter-expand{width:0!important;float:left;opacity:0!important;overflow:hidden}.bootstrap-select .dropdown-toggle .caret{position:absolute;top:50%;right:12px;margin-top:-2px;vertical-align:middle}.input-group .bootstrap-select.form-control .dropdown-toggle{border-radius:inherit}.bootstrap-select[class*=col-] .dropdown-toggle{width:100%}.bootstrap-select .dropdown-menu{min-width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bootstrap-select .dropdown-menu>.inner:focus{outline:0!important}.bootstrap-select .dropdown-menu.inner{position:static;float:none;border:0;padding:0;margin:0;border-radius:0;-webkit-box-shadow:none;box-shadow:none}.bootstrap-select .dropdown-menu li{position:relative}.bootstrap-select .dropdown-menu li.active small{color:rgba(255,255,255,.5)!important}.bootstrap-select .dropdown-menu li a{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.bootstrap-select .dropdown-menu li a.opt{position:relative;padding-left:2.25em}.bootstrap-select .dropdown-menu li a span.check-mark{display:none}.bootstrap-select .dropdown-menu li a span.text{display:inline-block}.bootstrap-select .dropdown-menu li small{padding-left:.5em}.bootstrap-select .dropdown-menu .notify{position:absolute;bottom:5px;width:96%;margin:0 2%;min-height:26px;padding:3px 5px;background:#f5f5f5;border:1px solid #e3e3e3;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05);pointer-events:none;opacity:.9;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bootstrap-select .dropdown-menu .notify.fadeOut{-webkit-animation:300ms linear 750ms forwards bs-notify-fadeOut;-o-animation:300ms linear 750ms forwards bs-notify-fadeOut;animation:300ms linear 750ms forwards bs-notify-fadeOut}.bootstrap-select .no-results{padding:3px;background:#f5f5f5;margin:0 5px;white-space:nowrap}.bootstrap-select.fit-width .dropdown-toggle .filter-option{position:static;display:inline;padding:0}.bootstrap-select.fit-width .dropdown-toggle .filter-option-inner,.bootstrap-select.fit-width .dropdown-toggle .filter-option-inner-inner{display:inline}.bootstrap-select.fit-width .dropdown-toggle .bs-caret:before{content:'\00a0'}.bootstrap-select.fit-width .dropdown-toggle .caret{position:static;top:auto;margin-top:-1px}.bootstrap-select.show-tick .dropdown-menu .selected span.check-mark{position:absolute;display:inline-block;right:15px;top:5px}.bootstrap-select.show-tick .dropdown-menu li a span.text{margin-right:34px}.bootstrap-select .bs-ok-default:after{content:'';display:block;width:.5em;height:1em;border-style:solid;border-width:0 .26em .26em 0;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}.bootstrap-select.show-menu-arrow.open>.dropdown-toggle,.bootstrap-select.show-menu-arrow.show>.dropdown-toggle{z-index:1061}.bootstrap-select.show-menu-arrow .dropdown-toggle .filter-option:before{content:'';border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid rgba(204,204,204,.2);position:absolute;bottom:-4px;left:9px;display:none}.bootstrap-select.show-menu-arrow .dropdown-toggle .filter-option:after{content:'';border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;position:absolute;bottom:-4px;left:10px;display:none}.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle .filter-option:before{bottom:auto;top:-4px;border-top:7px solid rgba(204,204,204,.2);border-bottom:0}.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle .filter-option:after{bottom:auto;top:-4px;border-top:6px solid #fff;border-bottom:0}.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle .filter-option:before{right:12px;left:auto}.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle .filter-option:after{right:13px;left:auto}.bootstrap-select.show-menu-arrow.open>.dropdown-toggle .filter-option:after,.bootstrap-select.show-menu-arrow.open>.dropdown-toggle .filter-option:before,.bootstrap-select.show-menu-arrow.show>.dropdown-toggle .filter-option:after,.bootstrap-select.show-menu-arrow.show>.dropdown-toggle .filter-option:before{display:block}.bs-actionsbox,.bs-donebutton,.bs-searchbox{padding:4px 8px}.bs-actionsbox,.bs-donebutton{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bs-actionsbox .btn-group button{width:50%}.bs-donebutton{float:left}.bs-donebutton .btn-group button{width:100%}.bs-searchbox+.bs-actionsbox{padding:0 8px 4px}.bs-searchbox .form-control{margin-bottom:0;width:100%;float:none}view/assets/css/bootstrap.min.css000064400000465241147600042240013134 0ustar00@-webkit-keyframes progress-bar-stripes{0%{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{0%{background-position:1rem 0}to{background-position:0 0}}@-webkit-keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1;-webkit-transform:none;transform:none}}@keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1;-webkit-transform:none;transform:none}}body #hmwp_wrap *,body #hmwp_wrap ::after,body #hmwp_wrap ::before{box-sizing:border-box}body #hmwp_wrap,body.hmwp-settings .modal{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:.875rem;font-weight:400;line-height:1.5;color:#212529;text-align:left}#hmwp_wrap [tabindex="-1"]:focus:not(:focus-visible){outline:0!important}#hmwp_wrap hr{box-sizing:content-box;height:0;overflow:visible}dl,h1,h2,h3,h4,h5,h6,ol,p,ul{margin-top:0}dl,ol,p,ul{margin-bottom:1rem}abbr[data-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote,figure{margin:0 0 1rem}b,strong{font-weight:bolder}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}samp{font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar;display:block;font-size:87.5%;color:#212529}img,svg{vertical-align:middle}img{border-style:none}svg{overflow:hidden}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit;text-align:-webkit-match-parent}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.display-1,.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;line-height:1.2}.display-2,.display-3,.display-4{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3,.display-4{font-size:4.5rem}.display-4{font-size:3.5rem}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-inline,.list-unstyled{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid,.img-thumbnail{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}code,kbd{font-size:87.5%}code{color:#e83e8c;word-wrap:break-word}a>code,pre code{color:inherit}kbd{padding:.2rem .4rem;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre code{font-size:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.card>hr,.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9{position:relative;width:100%;padding-right:15px;padding-left:15px}.col-auto{position:relative;padding-right:15px;padding-left:15px}.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-last{-ms-flex-order:13;order:13}.order-0{-ms-flex-order:0;order:0}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-sm-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-sm-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-last{-ms-flex-order:13;order:13}.order-sm-0{-ms-flex-order:0;order:0}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-md-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-md-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-md-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-md-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-md-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-md-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-last{-ms-flex-order:13;order:13}.order-md-0{-ms-flex-order:0;order:0}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-lg-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-lg-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-last{-ms-flex-order:13;order:13}.order-lg-0{-ms-flex-order:0;order:0}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-xl-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-xl-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-last{-ms-flex-order:13;order:13}.order-xl-0{-ms-flex-order:0;order:0}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;margin-bottom:1rem;color:#212529}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table-sm td,.table-sm th{padding:.3rem}.table-bordered,.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th,.table-dark.table-bordered{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{color:#212529;background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#7abaff}.table-hover .table-primary:hover,.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#b3b7bb}.table-hover .table-secondary:hover,.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#8fd19e}.table-hover .table-success:hover,.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#86cfda}.table-hover .table-info:hover,.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#ffdf7e}.table-hover .table-warning:hover,.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#ed969e}.table-hover .table-danger:hover,.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-light tbody+tbody,.table-light td,.table-light th,.table-light thead th{border-color:#fbfcfc}.table-hover .table-light:hover,.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-dark tbody+tbody{border-color:#95999c}.table-hover .table-dark:hover,.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th,.table-hover .table-active:hover,.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#343a40;border-color:#454d55}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#343a40}.table-dark td,.table-dark th,.table-dark thead th{border-color:#454d55}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control:-ms-input-placeholder,.form-control::-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}input[type=date].form-control,input[type=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control{-webkit-appearance:none;-moz-appearance:none;appearance:none}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;font-size:1rem;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[multiple],select.form-control[size],textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}.valid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}.form-row>.col>.valid-tooltip,.form-row>[class*=col-]>.valid-tooltip{left:5px}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#28a745;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-valid,.was-validated .custom-select:valid{border-color:#28a745;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat,#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat}.custom-select.is-valid:focus,.was-validated .custom-select:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#28a745}.custom-control-input.is-valid~.custom-control-label::before,.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-control-input:valid~.custom-control-label::before,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#28a745}.custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated .custom-control-input:valid:checked~.custom-control-label::before{border-color:#34ce57;background-color:#34ce57}.custom-control-input.is-valid:focus~.custom-control-label::before,.was-validated .custom-control-input:valid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label::before{border-color:#28a745}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.form-row>.col>.invalid-tooltip,.form-row>[class*=col-]>.invalid-tooltip{left:5px}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-invalid,.was-validated .custom-select:invalid{border-color:#dc3545;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat,#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat}.custom-select.is-invalid:focus,.was-validated .custom-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#dc3545}.custom-control-input.is-invalid~.custom-control-label::before,.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-control-input:invalid~.custom-control-label::before,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}.custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated .custom-control-input:invalid:checked~.custom-control-label::before{border-color:#e4606d;background-color:#e4606d}.custom-control-input.is-invalid:focus~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label::before{border-color:#dc3545}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center}.form-inline .form-check,input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}@media (min-width:576px){.form-inline .form-group,.form-inline label{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;margin-bottom:0}.form-inline label{-ms-flex-pack:center;justify-content:center}.form-inline .form-group{-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-flow:row wrap;flex-flow:row wrap}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;-ms-flex-negative:0;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529;text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.btn.disabled,.btn:disabled{opacity:.65}.btn:not(:disabled):not(.disabled){cursor:pointer}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#0069d9;border-color:#0062cc;box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary.focus,.btn-secondary:focus{color:#fff;background-color:#5a6268;border-color:#545b62;box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#218838;border-color:#1e7e34;box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#138496;border-color:#117a8b;box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus,.btn-warning:focus{color:#212529;background-color:#e0a800;border-color:#d39e00;box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c82333;border-color:#bd2130;box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{color:#212529;background-color:#e2e6ea;border-color:#dae0e5;box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{color:#fff;background-color:#23272b;border-color:#1d2124;box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-outline-primary{color:#007bff;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-success{color:#28a745;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info{color:#17a2b8;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark{color:#343a40;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-link{font-weight:400;color:#007bff;text-decoration:none}.btn-link:hover{color:#0056b3;text-decoration:underline}.btn-link.focus,.btn-link:focus{text-decoration:underline}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after,.dropleft .dropdown-toggle:empty::after,.dropright .dropdown-toggle:empty::after,.dropup .dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropright .dropdown-toggle::after,.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid;vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{margin-left:.255em;vertical-align:.255em;content:"";display:none}.dropleft .dropdown-toggle::before{display:inline-block;margin-right:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent;vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#e9ecef}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}.dropdown-item.disabled,.dropdown-item:disabled{color:#adb5bd;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-ms-flex:1 1 auto;flex:1 1 auto}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:1}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:1}.btn-toolbar{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:center;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control,.input-group>.form-control-plaintext{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;min-width:0;margin-bottom:0}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control,.input-group>.form-control-plaintext+.custom-file,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.form-control{margin-left:-1px}.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.custom-file:not(:first-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.input-group:not(.has-validation)>.custom-file:not(:last-child) .custom-file-label::after,.input-group:not(.has-validation)>.custom-select:not(:last-child),.input-group:not(.has-validation)>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.custom-file:nth-last-child(n+3) .custom-file-label::after,.input-group.has-validation>.custom-select:nth-last-child(n+3),.input-group.has-validation>.form-control:nth-last-child(n+3){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-append,.input-group-prepend{display:-ms-flexbox;display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn:focus,.input-group-prepend .btn:focus{z-index:3}.input-group-prepend{margin-right:-1px}.input-group-append,.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-text{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.custom-select,.input-group-lg>.form-control:not(textarea){height:calc(1.5em + 1rem + 2px)}.input-group-lg>.custom-select,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.custom-select,.input-group-sm>.form-control:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-sm>.custom-select,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.input-group.has-validation>.input-group-append:nth-last-child(n+3)>.btn,.input-group.has-validation>.input-group-append:nth-last-child(n+3)>.input-group-text,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.btn,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;z-index:1;display:block;min-height:1.5rem;padding-left:1.5rem;-webkit-print-color-adjust:exact;color-adjust:exact}.custom-control-inline{display:-ms-inline-flexbox;display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;left:0;z-index:-1;width:1rem;height:1.25rem;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;border-color:#007bff;background-color:#007bff}.custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input:focus:not(:checked)~.custom-control-label::before{border-color:#80bdff}.custom-control-input:not(:disabled):active~.custom-control-label::before{color:#fff;background-color:#b3d7ff;border-color:#b3d7ff}.custom-control-input:disabled~.custom-control-label,.custom-control-input[disabled]~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label::before,.custom-control-input[disabled]~.custom-control-label::before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label::after,.custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:""}.custom-control-label::before{pointer-events:none;background-color:#fff;border:#adb5bd solid 1px}.custom-control-label::after{background:50%/50% 50% no-repeat}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{border-color:#007bff;background-color:#007bff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before,.custom-switch .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label::after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-switch .custom-control-label::after{transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label::after{background-color:#fff;-webkit-transform:translateX(.75rem);transform:translateX(.75rem)}.custom-select{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{display:none}.custom-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.custom-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.custom-file,.custom-file-input{position:relative;width:100%;height:calc(1.5em + .75rem + 2px)}.custom-file{display:inline-block;margin-bottom:0}.custom-file-input{z-index:2;margin:0;overflow:hidden;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-file-input:disabled~.custom-file-label,.custom-file-input[disabled]~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}.custom-file-input~.custom-file-label[data-browse]::after{content:attr(data-browse)}.custom-file-label,.custom-file-label::after{position:absolute;top:0;right:0;padding:.375rem .75rem;line-height:1.5;color:#495057}.custom-file-label{left:0;z-index:1;height:calc(1.5em + .75rem + 2px);overflow:hidden;font-weight:400;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label::after{bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);content:"Browse";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;height:1.4rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#007bff;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#007bff;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-moz-range-thumb{-moz-transition:none;transition:none}}.custom-range::-moz-range-thumb:active{background-color:#b3d7ff}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#007bff;border:0;border-radius:1rem;-ms-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-ms-thumb{-ms-transition:none;transition:none}}.custom-range::-ms-thumb:active{background-color:#b3d7ff}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label::before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-control-label::before,.custom-file-label,.custom-select{transition:none}}.nav{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-link{margin-bottom:-1px;border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#007bff}.nav-fill .nav-item,.nav-fill>.nav-link{-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;padding:.5rem 1rem}.navbar,.navbar .container,.navbar .container-fluid,.navbar .container-lg,.navbar .container-md,.navbar .container-sm,.navbar .container-xl{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{-ms-flex-preferred-size:100%;flex-basis:100%;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:50%/100% 100% no-repeat}.navbar-nav-scroll{max-height:75vh;overflow-y:auto}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-sm .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-md .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-lg .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xl .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover,.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link,.navbar-light .navbar-text a{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover,.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link,.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:rgba(255,255,255,.5)}.card{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{-ms-flex:1 1 auto;flex:1 1 auto;min-height:1px;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-bottom:-.75rem;border-bottom:0}.card-header-pills,.card-header-tabs{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem;border-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom,.card-img-top{-ms-flex-negative:0;flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{-ms-flex:1 0 0;flex:1 0 0;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group>.card{-ms-flex:1 0 0;flex:1 0 0;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion{overflow-anchor:none}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}.accordion>.card>.card-header{border-radius:0;margin-bottom:-1px}.breadcrumb,.pagination{display:-ms-flexbox;display:flex;list-style:none;border-radius:.25rem}.breadcrumb{-ms-flex-wrap:wrap;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;background-color:#e9ecef}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{padding-left:0}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:3;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.badge{transition:none}}a.badge:focus,a.badge:hover{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#007bff}a.badge-primary:focus,a.badge-primary:hover{color:#fff;background-color:#0062cc}a.badge-primary.focus,a.badge-primary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.badge-secondary{color:#fff;background-color:#6c757d}a.badge-secondary:focus,a.badge-secondary:hover{color:#fff;background-color:#545b62}a.badge-secondary.focus,a.badge-secondary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.badge-success{color:#fff;background-color:#28a745}a.badge-success:focus,a.badge-success:hover{color:#fff;background-color:#1e7e34}a.badge-success.focus,a.badge-success:focus{outline:0;box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.badge-info{color:#fff;background-color:#17a2b8}a.badge-info:focus,a.badge-info:hover{color:#fff;background-color:#117a8b}a.badge-info.focus,a.badge-info:focus{outline:0;box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.badge-warning{color:#212529;background-color:#ffc107}a.badge-warning:focus,a.badge-warning:hover{color:#212529;background-color:#d39e00}a.badge-warning.focus,a.badge-warning:focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.badge-danger{color:#fff;background-color:#dc3545}a.badge-danger:focus,a.badge-danger:hover{color:#fff;background-color:#bd2130}a.badge-danger.focus,a.badge-danger:focus{outline:0;box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.badge-light{color:#212529;background-color:#f8f9fa}a.badge-light:focus,a.badge-light:hover{color:#212529;background-color:#dae0e5}a.badge-light.focus,a.badge-light:focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.badge-dark{color:#fff;background-color:#343a40}a.badge-dark:focus,a.badge-dark:hover{color:#fff;background-color:#1d2124}a.badge-dark.focus,a.badge-dark:focus{outline:0;box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;z-index:2;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}.progress,.progress-bar{display:-ms-flexbox;display:flex;overflow:hidden}.progress{height:1rem;line-height:0;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;color:#fff;text-align:center;white-space:nowrap;background-color:#007bff;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:1s linear infinite progress-bar-stripes;animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.media{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start}.media-body{-ms-flex:1;flex:1}.list-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){.list-group-horizontal-sm{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){.list-group-horizontal-md{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#004085;background-color:#b8daff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#004085;background-color:#9fcdff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{opacity:.75}button.close{padding:0;background-color:transparent;border:0}a.close.disabled{pointer-events:none}.toast{-ms-flex-preferred-size:350px;flex-basis:350px;max-width:350px;font-size:.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.toast-body{padding:.75rem}.modal,.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translate(0,-50px);transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{-webkit-transform:none;transform:none}.modal.modal-static .modal-dialog{-webkit-transform:scale(1.02);transform:scale(1.02)}.modal-dialog-scrollable{display:-ms-flexbox;display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{-ms-flex-negative:0;flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);height:-webkit-min-content;height:-moz-min-content;height:min-content;content:""}.modal-dialog-centered.modal-dialog-scrollable{-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable::before{content:none}.modal-content{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:justify;justify-content:space-between;padding:1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .close{padding:1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem}.modal-footer{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered::before{height:calc(100vh - 3.5rem);height:-webkit-min-content;height:-moz-min-content;height:min-content}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.tooltip,.tooltip .arrow{position:absolute;display:block}.tooltip{z-index:1070;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow::before,.bs-tooltip-top .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow::before,.bs-tooltip-right .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow::before,.bs-tooltip-bottom .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow::before,.bs-tooltip-left .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover,.popover .arrow{position:absolute;display:block}.popover{top:0;left:0;z-index:1060;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .arrow{width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow::after,.popover .arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.arrow,.bs-popover-top>.arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=top]>.arrow::before,.bs-popover-top>.arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top]>.arrow::after,.bs-popover-top>.arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.arrow,.bs-popover-right>.arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right]>.arrow::before,.bs-popover-right>.arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right]>.arrow::after,.bs-popover-right>.arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom]>.arrow,.bs-popover-bottom>.arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=bottom]>.arrow::before,.bs-popover-bottom>.arrow::before{top:0;border-width:0 .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom]>.arrow::after,.bs-popover-bottom>.arrow::after{top:1px;border-width:0 .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.arrow,.bs-popover-left>.arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left]>.arrow::before,.bs-popover-left>.arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left]>.arrow::after,.bs-popover-left>.arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel,.carousel-inner{position:relative}.carousel.pointer-event{-ms-touch-action:pan-y;touch-action:pan-y}.carousel-inner{width:100%;overflow:hidden}.carousel-inner::after,.clearfix::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){-webkit-transform:translateX(100%);transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){-webkit-transform:translateX(-100%);transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;-webkit-transform:none;transform:none}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:50%/100% 100% no-repeat}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:.75s linear infinite spinner-border;animation:.75s linear infinite spinner-border}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:.75s linear infinite spinner-grow;animation:.75s linear infinite spinner-grow}.spinner-grow-sm{width:1rem;height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{-webkit-animation-duration:1.5s;animation-duration:1.5s}}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#007bff!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded-sm{border-radius:.2rem!important}.rounded{border-radius:.25rem!important}.rounded-right,.rounded-top{border-top-right-radius:.25rem!important}.rounded-top{border-top-left-radius:.25rem!important}.rounded-right{border-bottom-right-radius:.25rem!important}.rounded-bottom,.rounded-left{border-bottom-left-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important}.rounded-lg{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-0{border-radius:0!important}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-sm-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-md-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-lg-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;-ms-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.fixed-bottom,.fixed-top{position:fixed;right:0;left:0;z-index:1030}.fixed-top{top:0}.fixed-bottom{bottom:0}@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.min-vw-100{min-width:100vw!important}.min-vh-100{min-height:100vh!important}.vw-100{width:100vw!important}.vh-100{height:100vh!important}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-left:-3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-n1{margin:-.25rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem!important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem!important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem!important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem!important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.m-xl-n3{margin:-1rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem!important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem!important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:transparent}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important}.text-justify{text-align:justify!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-weight-bolder{font-weight:bolder!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0056b3!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#494f54!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#19692c!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#0f6674!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#ba8b00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#a71d2a!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#cbd3da!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#121416!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none{text-decoration:none!important}.text-break{word-break:break-word!important;word-wrap:break-word!important}.text-reset{color:inherit!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,::after,::before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd}thead{display:table-header-group}blockquote,img,pre,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}.container,body{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{color:inherit;border-color:#dee2e6}}view/assets/css/bootstrap.rtl.min.css000064400000415664147600042240013740 0ustar00@-webkit-keyframes progress-bar-stripes{0%{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{0%{background-position:1rem 0}to{background-position:0 0}}#hmwp_wrap *,#hmwp_wrap ::after,#hmwp_wrap ::before{box-sizing:border-box}body #hmwp_wrap,body.hmwp-settings .modal{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:right;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}address,hr{margin-bottom:1rem}hr{box-sizing:content-box;height:0;overflow:visible;margin-top:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}dl,h1,h2,h3,h4,h5,h6,ol,p,ul{margin-top:0}dl,ol,p,ul{margin-bottom:1rem}abbr[data-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0}address{font-style:normal;line-height:inherit}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-right:0}blockquote,figure{margin:0 0 1rem}dfn{font-style:italic}b,strong{font-weight:bolder}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent;-webkit-text-decoration-skip:objects}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;direction:ltr;unicode-bidi:bidi-override}samp{font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar;display:block;font-size:87.5%;color:#212529}img,svg{vertical-align:middle}img{border-style:none}svg{overflow:hidden}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:right;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-family:inherit;font-weight:500;line-height:1.2;color:inherit}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.display-1,.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;line-height:1.2}.display-2,.display-3,.display-4{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3,.display-4{font-size:4.5rem}.display-4{font-size:3.5rem}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-inline,.list-unstyled{padding-right:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-left:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer::before{content:"\2014 \00A0"}.img-fluid,.img-thumbnail{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}code,kbd{font-size:87.5%}code{color:#e83e8c;word-break:break-word}a>code,pre code{color:inherit}kbd{padding:.2rem .4rem;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre code{font-size:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{width:100%;padding-left:15px;padding-right:15px;margin-left:auto;margin-right:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid{width:100%;padding-left:15px;padding-right:15px;margin-left:auto;margin-right:auto}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-left:-15px;margin-right:-15px}.card>hr,.no-gutters{margin-left:0;margin-right:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-left:0;padding-right:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9{position:relative;width:100%;min-height:1px;padding-left:15px;padding-right:15px}.col-auto{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;min-height:1px;padding-left:15px;padding-right:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-last{-ms-flex-order:13;order:13}.order-0{-ms-flex-order:0;order:0}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-right:8.333333%}.offset-2{margin-right:16.666667%}.offset-3{margin-right:25%}.offset-4{margin-right:33.333333%}.offset-5{margin-right:41.666667%}.offset-6{margin-right:50%}.offset-7{margin-right:58.333333%}.offset-8{margin-right:66.666667%}.offset-9{margin-right:75%}.offset-10{margin-right:83.333333%}.offset-11{margin-right:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-last{-ms-flex-order:13;order:13}.order-sm-0{-ms-flex-order:0;order:0}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-right:0}.offset-sm-1{margin-right:8.333333%}.offset-sm-2{margin-right:16.666667%}.offset-sm-3{margin-right:25%}.offset-sm-4{margin-right:33.333333%}.offset-sm-5{margin-right:41.666667%}.offset-sm-6{margin-right:50%}.offset-sm-7{margin-right:58.333333%}.offset-sm-8{margin-right:66.666667%}.offset-sm-9{margin-right:75%}.offset-sm-10{margin-right:83.333333%}.offset-sm-11{margin-right:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-last{-ms-flex-order:13;order:13}.order-md-0{-ms-flex-order:0;order:0}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.offset-md-0{margin-right:0}.offset-md-1{margin-right:8.333333%}.offset-md-2{margin-right:16.666667%}.offset-md-3{margin-right:25%}.offset-md-4{margin-right:33.333333%}.offset-md-5{margin-right:41.666667%}.offset-md-6{margin-right:50%}.offset-md-7{margin-right:58.333333%}.offset-md-8{margin-right:66.666667%}.offset-md-9{margin-right:75%}.offset-md-10{margin-right:83.333333%}.offset-md-11{margin-right:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-last{-ms-flex-order:13;order:13}.order-lg-0{-ms-flex-order:0;order:0}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.offset-lg-0{margin-right:0}.offset-lg-1{margin-right:8.333333%}.offset-lg-2{margin-right:16.666667%}.offset-lg-3{margin-right:25%}.offset-lg-4{margin-right:33.333333%}.offset-lg-5{margin-right:41.666667%}.offset-lg-6{margin-right:50%}.offset-lg-7{margin-right:58.333333%}.offset-lg-8{margin-right:66.666667%}.offset-lg-9{margin-right:75%}.offset-lg-10{margin-right:83.333333%}.offset-lg-11{margin-right:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-last{-ms-flex-order:13;order:13}.order-xl-0{-ms-flex-order:0;order:0}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.offset-xl-0{margin-right:0}.offset-xl-1{margin-right:8.333333%}.offset-xl-2{margin-right:16.666667%}.offset-xl-3{margin-right:25%}.offset-xl-4{margin-right:33.333333%}.offset-xl-5{margin-right:41.666667%}.offset-xl-6{margin-right:50%}.offset-xl-7{margin-right:58.333333%}.offset-xl-8{margin-right:66.666667%}.offset-xl-9{margin-right:75%}.offset-xl-10{margin-right:83.333333%}.offset-xl-11{margin-right:91.666667%}}.table{width:100%;margin-bottom:1rem;background-color:transparent}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table .table{background-color:#fff}.table-sm td,.table-sm th{padding:.3rem}.table-bordered,.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th,.table-dark.table-bordered{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-hover .table-primary:hover,.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-hover .table-secondary:hover,.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-hover .table-success:hover,.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-hover .table-info:hover,.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-hover .table-warning:hover,.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-hover .table-danger:hover,.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-hover .table-light:hover,.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-hover .table-dark:hover,.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th,.table-hover .table-active:hover,.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#212529;border-color:#32383e}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#212529}.table-dark td,.table-dark th,.table-dark thead th{border-color:#32383e}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover{background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(2.25rem + 2px);padding:.375rem .75rem;font-size:1rem;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media screen and (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control:-ms-input-placeholder,.form-control::-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding-top:.375rem;padding-bottom:.375rem;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-left:0;padding-right:0}.form-control-sm{height:calc(1.8125rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(2.875rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[multiple],select.form-control[size],textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-left:-5px;margin-right:-5px}.form-row>.col,.form-row>[class*=col-]{padding-left:5px;padding-right:5px}.form-check{position:relative;display:block;padding-right:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-right:-1.25rem}.form-check-input:disabled~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;padding-right:0;margin-left:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-left:.3125rem;margin-right:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}.custom-select.is-valid,.form-control.is-valid,.was-validated .custom-select:valid,.was-validated .form-control:valid{border-color:#28a745}.custom-select.is-valid:focus,.form-control.is-valid:focus,.was-validated .custom-select:valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-select.is-valid~.valid-feedback,.custom-select.is-valid~.valid-tooltip,.form-control-file.is-valid~.valid-feedback,.form-control-file.is-valid~.valid-tooltip,.form-control.is-valid~.valid-feedback,.form-control.is-valid~.valid-tooltip,.was-validated .custom-select:valid~.valid-feedback,.was-validated .custom-select:valid~.valid-tooltip,.was-validated .form-control-file:valid~.valid-feedback,.was-validated .form-control-file:valid~.valid-tooltip,.was-validated .form-control:valid~.valid-feedback,.was-validated .form-control:valid~.valid-tooltip{display:block}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#28a745}.custom-control-input.is-valid~.custom-control-label::before,.was-validated .custom-control-input:valid~.custom-control-label::before{background-color:#71dd8a}.custom-control-input.is-valid~.valid-feedback,.custom-control-input.is-valid~.valid-tooltip,.was-validated .custom-control-input:valid~.valid-feedback,.was-validated .custom-control-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated .custom-control-input:valid:checked~.custom-control-label::before{background-color:#34ce57}.custom-control-input.is-valid:focus~.custom-control-label::before,.was-validated .custom-control-input:valid:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(40,167,69,.25)}.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#28a745}.custom-file-input.is-valid~.custom-file-label::after,.was-validated .custom-file-input:valid~.custom-file-label::after{border-color:inherit}.custom-file-input.is-valid~.valid-feedback,.custom-file-input.is-valid~.valid-tooltip,.was-validated .custom-file-input:valid~.valid-feedback,.was-validated .custom-file-input:valid~.valid-tooltip{display:block}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.custom-select.is-invalid,.form-control.is-invalid,.was-validated .custom-select:invalid,.was-validated .form-control:invalid{border-color:#dc3545}.custom-select.is-invalid:focus,.form-control.is-invalid:focus,.was-validated .custom-select:invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-select.is-invalid~.invalid-feedback,.custom-select.is-invalid~.invalid-tooltip,.form-control-file.is-invalid~.invalid-feedback,.form-control-file.is-invalid~.invalid-tooltip,.form-control.is-invalid~.invalid-feedback,.form-control.is-invalid~.invalid-tooltip,.was-validated .custom-select:invalid~.invalid-feedback,.was-validated .custom-select:invalid~.invalid-tooltip,.was-validated .form-control-file:invalid~.invalid-feedback,.was-validated .form-control-file:invalid~.invalid-tooltip,.was-validated .form-control:invalid~.invalid-feedback,.was-validated .form-control:invalid~.invalid-tooltip{display:block}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#dc3545}.custom-control-input.is-invalid~.custom-control-label::before,.was-validated .custom-control-input:invalid~.custom-control-label::before{background-color:#efa2a9}.custom-control-input.is-invalid~.invalid-feedback,.custom-control-input.is-invalid~.invalid-tooltip,.was-validated .custom-control-input:invalid~.invalid-feedback,.was-validated .custom-control-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated .custom-control-input:invalid:checked~.custom-control-label::before{background-color:#e4606d}.custom-control-input.is-invalid:focus~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(220,53,69,.25)}.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}.custom-file-input.is-invalid~.custom-file-label::after,.was-validated .custom-file-input:invalid~.custom-file-label::after{border-color:inherit}.custom-file-input.is-invalid~.invalid-feedback,.custom-file-input.is-invalid~.invalid-tooltip,.was-validated .custom-file-input:invalid~.invalid-feedback,.was-validated .custom-file-input:invalid~.invalid-tooltip{display:block}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center}.form-inline .form-check,input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}@media (min-width:576px){.form-inline .form-group,.form-inline label{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;margin-bottom:0}.form-inline label{-ms-flex-pack:center;justify-content:center}.form-inline .form-group{-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-flow:row wrap;flex-flow:row wrap}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-right:0}.form-inline .form-check-input{position:relative;margin-top:0;margin-left:.25rem;margin-right:0}.form-inline .custom-control{-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media screen and (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:focus,.btn:hover{text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.btn.disabled,.btn:disabled{opacity:.65}.btn:not(:disabled):not(.disabled){cursor:pointer}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary.focus,.btn-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary.focus,.btn-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus,.btn-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus,.btn-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus,.btn-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus,.btn-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-primary{color:#007bff;background-color:transparent;background-image:none;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-secondary{color:#6c757d;background-color:transparent;background-image:none;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-success{color:#28a745;background-color:transparent;background-image:none;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info{color:#17a2b8;background-color:transparent;background-image:none;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning{color:#ffc107;background-color:transparent;background-image:none;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger{color:#dc3545;background-color:transparent;background-image:none;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light{color:#f8f9fa;background-color:transparent;background-image:none;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark{color:#343a40;background-color:transparent;background-image:none;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-link,.btn-link:hover{background-color:transparent}.btn-link{font-weight:400;color:#007bff}.btn-link:hover{color:#0056b3;text-decoration:underline;border-color:transparent}.btn-link.focus,.btn-link:focus{text-decoration:underline;border-color:transparent;box-shadow:none}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}.fade{transition:opacity .15s linear}@media screen and (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media screen and (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle::after{display:inline-block;width:0;height:0;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-left:.3em solid transparent;border-bottom:0;border-right:.3em solid transparent}.dropdown-toggle:empty::after,.dropleft .dropdown-toggle:empty::after,.dropright .dropdown-toggle:empty::after,.dropup .dropdown-toggle:empty::after{margin-right:0}.dropdown-menu{position:absolute;top:100%;left:auto;z-index:1000;display:none;float:right;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:right;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-right{left:0;right:auto}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropright .dropdown-toggle::after,.dropup .dropdown-toggle::after{display:inline-block;width:0;height:0;margin-right:.255em;vertical-align:.255em;content:"";border-top:0;border-left:.3em solid transparent;border-bottom:.3em solid;border-right:.3em solid transparent}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-right:.125rem}.dropright .dropdown-toggle::after{border-top:.3em solid transparent;border-left:0;border-bottom:.3em solid transparent;border-right:.3em solid;vertical-align:0}.dropleft .dropdown-menu{top:0;left:100%;right:auto;margin-top:0;margin-left:.125rem}.dropleft .dropdown-toggle::after{width:0;height:0;margin-right:.255em;vertical-align:.255em;content:"";display:none}.dropleft .dropdown-toggle::before{display:inline-block;width:0;height:0;margin-left:.255em;content:"";border-top:.3em solid transparent;border-left:.3em solid;border-bottom:.3em solid transparent;vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{left:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}.dropdown-item.disabled,.dropdown-item:disabled{color:#6c757d;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-ms-flex:0 1 auto;flex:0 1 auto}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:1}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:1}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group,.btn-group-vertical .btn+.btn,.btn-group-vertical .btn+.btn-group,.btn-group-vertical .btn-group+.btn,.btn-group-vertical .btn-group+.btn-group{margin-right:-1px}.btn-toolbar{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn:first-child{margin-right:0}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-right-radius:0;border-bottom-right-radius:0}.dropdown-toggle-split{padding-left:.5625rem;padding-right:.5625rem}.dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-right:0}.dropleft .dropdown-toggle-split::before{margin-left:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-left:.375rem;padding-right:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-left:.75rem;padding-right:.75rem}.btn-group-vertical{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:center;justify-content:center}.btn-group-vertical .btn,.btn-group-vertical .btn-group{width:100%}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-right:0}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-left-radius:0;border-bottom-right-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-right-radius:0;border-top-left-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;margin-bottom:0}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control{margin-right:-1px}.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::after,.input-group>.custom-select:not(:last-child),.input-group>.form-control:not(:last-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label,.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file{-ms-flex-align:center;align-items:center}.input-group-append,.input-group-prepend,.input-group>.custom-file{display:-ms-flexbox;display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-prepend{margin-left:-1px}.input-group-append,.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-right:-1px}.input-group-text{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{height:calc(2.875rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{height:calc(1.8125rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.custom-control{position:relative;display:block;min-height:1.5rem;padding-right:1.5rem}.custom-control-inline{display:-ms-inline-flexbox;display:inline-flex;margin-left:1rem}.custom-control-input{position:absolute;z-index:-1;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;background-color:#007bff}.custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input:active~.custom-control-label::before{color:#fff;background-color:#b3d7ff}.custom-control-input:disabled~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label::before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0}.custom-control-label::after,.custom-control-label::before{position:absolute;top:.25rem;right:-1.5rem;display:block;width:1rem;height:1rem;content:""}.custom-control-label::before{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#dee2e6}.custom-control-label::after{background-repeat:no-repeat;background-position:center center;background-size:50% 50%}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label::before{background-color:#007bff}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{background-color:#007bff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::before{background-color:#007bff}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-select{display:inline-block;width:100%;height:calc(2.25rem + 2px);padding:.375rem .75rem .375rem 1.75rem;line-height:1.5;color:#495057;vertical-align:middle;background:#fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat left .75rem center;background-size:8px 10px;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(128,189,255,.5)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-left:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{opacity:0}.custom-select-lg,.custom-select-sm{height:calc(1.8125rem + 2px);padding-top:.375rem;padding-bottom:.375rem;font-size:75%}.custom-select-lg{height:calc(2.875rem + 2px);font-size:125%}.custom-file,.custom-file-input{position:relative;width:100%;height:calc(2.25rem + 2px)}.custom-file{display:inline-block;margin-bottom:0}.custom-file-input{z-index:2;margin:0;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-file-input:focus~.custom-file-label::after{border-color:#80bdff}.custom-file-input:disabled~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}.custom-file-label,.custom-file-label::after{position:absolute;top:0;left:0;padding:.375rem .75rem;line-height:1.5;color:#495057}.custom-file-label{right:0;z-index:1;height:calc(2.25rem + 2px);background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label::after{bottom:0;z-index:3;display:block;height:2.25rem;content:"Browse";background-color:#e9ecef;border-right:1px solid #ced4da;border-radius:.25rem 0 0 .25rem}.custom-range{width:100%;padding-right:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media screen and (prefers-reduced-motion:reduce){.custom-range::-webkit-slider-thumb{transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media screen and (prefers-reduced-motion:reduce){.custom-range::-moz-range-thumb{transition:none}}.custom-range::-moz-range-thumb:active{background-color:#b3d7ff}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-left:.2rem;margin-right:.2rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media screen and (prefers-reduced-motion:reduce){.custom-range::-ms-thumb{transition:none}}.custom-range::-ms-thumb:active{background-color:#b3d7ff}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-left:15px;background-color:#dee2e6;border-radius:1rem}.custom-control-label::before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media screen and (prefers-reduced-motion:reduce){.custom-control-label::before,.custom-file-label,.custom-select{transition:none}}.nav{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-right:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-right-radius:.25rem;border-top-left-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#007bff}.nav-fill .nav-item{-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;padding:.5rem 1rem}.navbar,.navbar>.container,.navbar>.container-fluid{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-left:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-right:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-left:0;padding-right:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{-ms-flex-preferred-size:100%;flex-basis:100%;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler:not(:disabled):not(.disabled){cursor:pointer}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;background-size:100% 100%}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{padding-left:0;padding-right:0}}@media (min-width:576px){.navbar-expand-sm{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-sm .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-left:.5rem;padding-right:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{padding-left:0;padding-right:0}}@media (min-width:768px){.navbar-expand-md{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-md .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-left:.5rem;padding-right:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{padding-left:0;padding-right:0}}@media (min-width:992px){.navbar-expand-lg{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-lg .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-left:.5rem;padding-right:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{padding-left:0;padding-right:0}}@media (min-width:1200px){.navbar-expand-xl{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xl .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-left:.5rem;padding-right:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid{padding-left:0;padding-right:0}.navbar-expand .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-left:.5rem;padding-right:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover,.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link,.navbar-light .navbar-text a{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover,.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link,.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-dark .navbar-text{color:rgba(255,255,255,.5)}.card{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>.list-group:first-child .list-group-item:first-child{border-top-right-radius:.25rem;border-top-left-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}.card-body{-ms-flex:1 1 auto;flex:1 1 auto;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-right:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-bottom:-.75rem;border-bottom:0}.card-header-pills,.card-header-tabs{margin-left:-.625rem;margin-right:-.625rem}.card-img-overlay{position:absolute;top:0;left:0;bottom:0;right:0;padding:1.25rem}.card-img{width:100%;border-radius:calc(.25rem - 1px)}.card-img-top{width:100%;border-top-right-radius:calc(.25rem - 1px);border-top-left-radius:calc(.25rem - 1px)}.card-img-bottom{width:100%;border-bottom-left-radius:calc(.25rem - 1px);border-bottom-right-radius:calc(.25rem - 1px)}.card-deck{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{-ms-flex-flow:row wrap;flex-flow:row wrap;margin-left:-15px;margin-right:-15px}.card-deck .card{display:-ms-flexbox;display:flex;-ms-flex:1 0 0;flex:1 0 0;-ms-flex-direction:column;flex-direction:column;margin-left:15px;margin-bottom:0;margin-right:15px}}.card-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group>.card{-ms-flex:1 0 0;flex:1 0 0;margin-bottom:0}.card-group>.card+.card{margin-right:0;border-right:0}.card-group>.card:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:first-child .card-header,.card-group>.card:first-child .card-img-top{border-top-left-radius:0}.card-group>.card:first-child .card-footer,.card-group>.card:first-child .card-img-bottom{border-bottom-left-radius:0}.card-group>.card:last-child{border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:last-child .card-header,.card-group>.card:last-child .card-img-top{border-top-right-radius:0}.card-group>.card:last-child .card-footer,.card-group>.card:last-child .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:only-child{border-radius:.25rem}.card-group>.card:only-child .card-header,.card-group>.card:only-child .card-img-top{border-top-right-radius:.25rem;border-top-left-radius:.25rem}.card-group>.card:only-child .card-footer,.card-group>.card:only-child .card-img-bottom{border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}.card-group>.card:not(:first-child):not(:last-child):not(:only-child),.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-footer,.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-header,.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom,.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-img-top{border-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion .card:not(:first-of-type):not(:last-of-type){border-bottom:0;border-radius:0}.accordion .card:not(:first-of-type) .card-header:first-child{border-radius:0}.accordion .card:first-of-type{border-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0}.accordion .card:last-of-type{border-top-right-radius:0;border-top-left-radius:0}.breadcrumb,.pagination{display:-ms-flexbox;display:flex;list-style:none;border-radius:.25rem}.breadcrumb{-ms-flex-wrap:wrap;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;background-color:#e9ecef}.breadcrumb-item+.breadcrumb-item{padding-right:.5rem}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-left:.5rem;color:#6c757d;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{padding-right:0}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-right:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:2;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.page-link:not(:disabled):not(.disabled){cursor:pointer}.page-item:first-child .page-link{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item:last-child .page-link{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item.active .page-link{z-index:1;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-left:.6em;padding-right:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#007bff}.badge-primary[href]:focus,.badge-primary[href]:hover{color:#fff;text-decoration:none;background-color:#0062cc}.badge-secondary{color:#fff;background-color:#6c757d}.badge-secondary[href]:focus,.badge-secondary[href]:hover{color:#fff;text-decoration:none;background-color:#545b62}.badge-success{color:#fff;background-color:#28a745}.badge-success[href]:focus,.badge-success[href]:hover{color:#fff;text-decoration:none;background-color:#1e7e34}.badge-info{color:#fff;background-color:#17a2b8}.badge-info[href]:focus,.badge-info[href]:hover{color:#fff;text-decoration:none;background-color:#117a8b}.badge-warning{color:#212529;background-color:#ffc107}.badge-warning[href]:focus,.badge-warning[href]:hover{color:#212529;text-decoration:none;background-color:#d39e00}.badge-danger{color:#fff;background-color:#dc3545}.badge-danger[href]:focus,.badge-danger[href]:hover{color:#fff;text-decoration:none;background-color:#bd2130}.badge-light{color:#212529;background-color:#f8f9fa}.badge-light[href]:focus,.badge-light[href]:hover{color:#212529;text-decoration:none;background-color:#dae0e5}.badge-dark{color:#fff;background-color:#343a40}.badge-dark[href]:focus,.badge-dark[href]:hover{color:#fff;text-decoration:none;background-color:#1d2124}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-left:0;padding-right:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-left:4rem}.alert-dismissible .close{position:absolute;top:0;left:0;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}.progress,.progress-bar{display:-ms-flexbox;display:flex}.progress{height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;color:#fff;text-align:center;white-space:nowrap;background-color:#007bff;transition:width .6s ease}@media screen and (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(-45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}.media{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start}.media-body{-ms-flex:1;flex:1}.list-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-right:0;margin-bottom:0}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-right-radius:.25rem;border-top-left-radius:.25rem}.list-group-item:last-child{margin-bottom:0;border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}.list-group-item:focus,.list-group-item:hover{z-index:1;text-decoration:none}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-flush .list-group-item{border-left:0;border-right:0;border-radius:0}.list-group-flush:first-child .list-group-item:first-child{border-top:0}.list-group-flush:last-child .list-group-item:last-child{border-bottom:0}.list-group-item-primary{color:#004085;background-color:#b8daff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#004085;background-color:#9fcdff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:left;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:not(:disabled):not(.disabled){cursor:pointer}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{color:#000;text-decoration:none;opacity:.75}button.close{padding:0;background-color:transparent;border:0;-webkit-appearance:none}.modal,.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;bottom:0;right:0;z-index:1050;display:none;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translate(0,-25%);transform:translate(0,-25%)}@media screen and (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{-webkit-transform:translate(0,0);transform:translate(0,0)}.modal-dialog-centered{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-height:calc(100% - (.5rem*2))}.modal-dialog-centered::before{display:block;height:calc(100vh - (.5rem*2));content:""}.modal-content{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;bottom:0;right:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:justify;justify-content:space-between;padding:1rem;border-bottom:1px solid #e9ecef;border-top-right-radius:.3rem;border-top-left-radius:.3rem}.modal-header .close{padding:1rem;margin:-1rem auto -1rem -1rem}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem}.modal-footer{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end;padding:1rem;border-top:1px solid #e9ecef}.modal-footer>:not(:first-child){margin-right:.25rem}.modal-footer>:not(:last-child){margin-left:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-centered{min-height:calc(100% - (1.75rem*2))}.modal-dialog-centered::before{height:calc(100vh - (1.75rem*2))}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg{max-width:800px}}.tooltip,.tooltip .arrow{position:absolute;display:block}.tooltip{z-index:1070;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:right;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow::before,.bs-tooltip-top .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow::before,.bs-tooltip-right .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow::before,.bs-tooltip-bottom .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow::before,.bs-tooltip-left .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover,.popover .arrow{position:absolute;display:block}.popover{top:0;left:0;z-index:1060;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:right;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .arrow{width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow::after,.popover .arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top] .arrow,.bs-popover-top .arrow{bottom:calc((.5rem + 1px)*-1)}.bs-popover-auto[x-placement^=top] .arrow::after,.bs-popover-auto[x-placement^=top] .arrow::before,.bs-popover-top .arrow::after,.bs-popover-top .arrow::before{border-width:.5rem .5rem 0}.bs-popover-auto[x-placement^=top] .arrow::before,.bs-popover-top .arrow::before{bottom:0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top] .arrow::after,.bs-popover-top .arrow::after{bottom:1px;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right] .arrow,.bs-popover-right .arrow{left:calc((.5rem + 1px)*-1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right] .arrow::after,.bs-popover-auto[x-placement^=right] .arrow::before,.bs-popover-right .arrow::after,.bs-popover-right .arrow::before{border-width:.5rem .5rem .5rem 0}.bs-popover-auto[x-placement^=right] .arrow::before,.bs-popover-right .arrow::before{left:0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right] .arrow::after,.bs-popover-right .arrow::after{left:1px;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom] .arrow,.bs-popover-bottom .arrow{top:calc((.5rem + 1px)*-1)}.bs-popover-auto[x-placement^=bottom] .arrow::after,.bs-popover-auto[x-placement^=bottom] .arrow::before,.bs-popover-bottom .arrow::after,.bs-popover-bottom .arrow::before{border-width:0 .5rem .5rem}.bs-popover-auto[x-placement^=bottom] .arrow::before,.bs-popover-bottom .arrow::before{top:0;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom] .arrow::after,.bs-popover-bottom .arrow::after{top:1px;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;right:50%;display:block;width:1rem;margin-right:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left] .arrow,.bs-popover-left .arrow{right:calc((.5rem + 1px)*-1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left] .arrow::after,.bs-popover-auto[x-placement^=left] .arrow::before,.bs-popover-left .arrow::after,.bs-popover-left .arrow::before{border-width:.5rem 0 .5rem .5rem}.bs-popover-auto[x-placement^=left] .arrow::before,.bs-popover-left .arrow::before{right:0;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left] .arrow::after,.bs-popover-left .arrow::after{right:1px;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;color:inherit;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-right-radius:calc(.3rem - 1px);border-top-left-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel,.carousel-inner{position:relative}.carousel-inner{width:100%;overflow:hidden}.carousel-item{position:relative;display:none;-ms-flex-align:center;align-items:center;width:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block;transition:transform .6s ease;transition:transform .6s ease,-webkit-transform .6s ease}@media screen and (prefers-reduced-motion:reduce){.carousel-item-next,.carousel-item-prev,.carousel-item.active{transition:none}}.carousel-item-next,.carousel-item-prev{position:absolute;top:0}.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translateX(0);transform:translateX(0)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.active.carousel-item-right,.carousel-item-next{-webkit-transform:translateX(-100%);transform:translateX(-100%)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.active.carousel-item-right,.carousel-item-next{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translateX(100%);transform:translateX(100%)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.carousel-fade .carousel-item{opacity:0;transition-duration:.6s;transition-property:opacity}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{opacity:0}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-prev,.carousel-fade .carousel-item-next,.carousel-fade .carousel-item-prev,.carousel-fade .carousel-item.active{-webkit-transform:translateX(0);transform:translateX(0)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-prev,.carousel-fade .carousel-item-next,.carousel-fade .carousel-item-prev,.carousel-fade .carousel-item.active{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{right:0}.carousel-control-next{left:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:no-repeat center center;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E")}.carousel-control-next-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E")}.carousel-indicators{position:absolute;left:0;bottom:10px;right:0;z-index:15;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding-right:0;margin-left:15%;margin-right:15%;list-style:none}.carousel-indicators li{position:relative;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;margin-left:3px;margin-right:3px;text-indent:-999px;cursor:pointer;background-color:rgba(255,255,255,.5)}.carousel-indicators li::after,.carousel-indicators li::before{position:absolute;right:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators li::before{top:-10px}.carousel-indicators li::after{bottom:-10px}.carousel-indicators .active{background-color:#fff}.carousel-caption{position:absolute;left:15%;bottom:20px;right:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#007bff!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-left:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-right:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-left:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-right:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded{border-radius:.25rem!important}.rounded-right,.rounded-top{border-top-left-radius:.25rem!important}.rounded-top{border-top-right-radius:.25rem!important}.rounded-right{border-bottom-left-radius:.25rem!important}.rounded-bottom,.rounded-left{border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-left-radius:.25rem!important}.rounded-left{border-top-right-radius:.25rem!important}.rounded-circle{border-radius:50%!important}.rounded-0{border-radius:0!important}.clearfix::after{clear:both}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.clearfix::after,.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;right:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-sm-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-md-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-lg-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}.float-left{float:right!important}.float-right{float:left!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:right!important}.float-sm-right{float:left!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:right!important}.float-md-right{float:left!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:right!important}.float-lg-right{float:left!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:right!important}.float-xl-right{float:left!important}.float-xl-none{float:none!important}}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.fixed-bottom,.fixed-top{position:fixed;left:0;right:0;z-index:1030}.fixed-top{top:0}.fixed-bottom{bottom:0}@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-left:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-right:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-left:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-right:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-left:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-right:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-left:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-right:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-left:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-right:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-left:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-right:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-left:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-right:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-left:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-right:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-left:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-right:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-left:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-right:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-left:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-right:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-left:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-right:3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-left:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-right:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-left:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-right:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-left:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-right:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-left:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-right:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-left:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-right:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-left:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-right:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-left:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-right:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-left:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-right:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-left:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-right:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-left:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-right:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-left:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-right:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-left:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-right:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-left:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-right:3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-left:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-right:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-left:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-right:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-left:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-right:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-left:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-right:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-left:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-right:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-left:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-right:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-left:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-right:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-left:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-right:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-left:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-right:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-left:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-right:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-left:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-right:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-left:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-right:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-left:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-right:3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-left:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-right:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-left:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-right:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-left:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-right:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-left:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-right:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-left:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-right:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-left:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-right:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-left:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-right:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-left:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-right:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-left:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-right:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-left:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-right:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-left:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-right:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-left:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-right:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-left:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-right:3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-left:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-right:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-left:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-right:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-left:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-right:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-left:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-right:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-left:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-right:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-left:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-right:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-left:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-right:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-left:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-right:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-left:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-right:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-left:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-right:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-left:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-right:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-left:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-right:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-left:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-right:3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-left:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-right:auto!important}}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}.text-justify{text-align:justify!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:right!important}.text-right{text-align:left!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:right!important}.text-sm-right{text-align:left!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:right!important}.text-md-right{text-align:left!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:right!important}.text-lg-right{text-align:left!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:right!important}.text-xl-right{text-align:left!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0062cc!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#545b62!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#1e7e34!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#117a8b!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#d39e00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#bd2130!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#dae0e5!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#1d2124!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,::after,::before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd}thead{display:table-header-group}blockquote,img,pre,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}.container,body{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{color:inherit;border-color:#dee2e6}}view/assets/css/font-awesome.min.css000064400000074065147600042240013523 0ustar00@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@font-face{font-family:'FontAwesome';src:url(../fonts/fontawesome-webfont.eot?v=4.7.0);src:url(../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0) format('embedded-opentype'),url(../fonts/fontawesome-webfont.woff2?v=4.7.0) format('woff2'),url(../fonts/fontawesome-webfont.woff?v=4.7.0) format('woff'),url(../fonts/fontawesome-webfont.ttf?v=4.7.0) format('truetype'),url(../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular) format('svg');font-weight:400;font-style:normal}.fa{display:inline-block;font:14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right,.pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scale(1,-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-close:before,.fa-remove:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-cog:before,.fa-gear:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-repeat:before,.fa-rotate-right:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-exclamation-triangle:before,.fa-warning:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-cogs:before,.fa-gears:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-floppy-o:before,.fa-save:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-sort:before,.fa-unsorted:before{content:"\f0dc"}.fa-sort-desc:before,.fa-sort-down:before{content:"\f0dd"}.fa-sort-asc:before,.fa-sort-up:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-gavel:before,.fa-legal:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-bolt:before,.fa-flash:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-clipboard:before,.fa-paste:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-chain-broken:before,.fa-unlink:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:"\f150"}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:"\f151"}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:"\f152"}.fa-eur:before,.fa-euro:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-inr:before,.fa-rupee:before{content:"\f156"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:"\f157"}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:"\f158"}.fa-krw:before,.fa-won:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-try:before,.fa-turkish-lira:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-bank:before,.fa-institution:before,.fa-university:before{content:"\f19c"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:"\f1c5"}.fa-file-archive-o:before,.fa-file-zip-o:before{content:"\f1c6"}.fa-file-audio-o:before,.fa-file-sound-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before,.fa-resistance:before{content:"\f1d0"}.fa-empire:before,.fa-ge:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-paper-plane:before,.fa-send:before{content:"\f1d8"}.fa-paper-plane-o:before,.fa-send-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-bed:before,.fa-hotel:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-y-combinator:before,.fa-yc:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery-full:before,.fa-battery:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-television:before,.fa-tv:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before{content:"\f2a3"}.fa-deaf:before,.fa-deafness:before,.fa-hard-of-hearing:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-sign-language:before,.fa-signing:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-address-card:before,.fa-vcard:before{content:"\f2bb"}.fa-address-card-o:before,.fa-vcard-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer-full:before,.fa-thermometer:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bath:before,.fa-bathtub:before,.fa-s15:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}view/assets/css/navbar.min.css000064400000072771147600042240012372 0ustar00@keyframes loading{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.hmwp_settings{padding:16px;margin:0 0 0 -20px}@media (max-width:783px){.hmwp_settings{padding:0;margin:0 0 0 -10px}}.hmwp_body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-ms-interpolation-mode:nearest-neighbor;image-rendering:optimizeQuality;text-rendering:optimizeLegibility;display:flex;color:#121116;font-size:.9rem;line-height:1.5}.hmwp_body *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}@media (max-width:783px){#hs-beacon{display:none!important}}.hmwp_u-flex{display:flex;align-items:center;justify-content:center}@font-face{font-family:'hmwp-icomoon';src:url(../fonts/icomoon.eot?-4yq2oj);src:url(../fonts/icomoon.eot?#iefix-4yq2oj) format("embedded-opentype"),url(../fonts/icomoon.woff?-4yq2oj) format("woff"),url(../fonts/icomoon.ttf?-4yq2oj) format("truetype"),url(../fonts/icomoon.svg?-4yq2oj#icomoon) format("svg");font-weight:400;font-style:normal}[class*=" hmwp_icon-"]:after,[class*=" hmwp_icon-"]:before,[class^=hmwp_icon-]:after,[class^=hmwp_icon-]:before,[id*=" hmwp_nav-"]:after,[id*=" hmwp_nav-"]:before,[id^=hmwp_nav-]:after,[id^=hmwp_nav-]:before{font-family:'hmwp-icomoon';speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[class*=" hmwp_icon-"] span.hidden,[class^=hmwp_icon-] span.hidden{display:inline-block;height:0;width:0;overflow:hidden}.hmwp_icon-chevron-right:before{content:"\e900"}.hmwp_icon-chevron-left:before{content:"\e900";transform:rotate(180deg)}.hmwp_icon-chevron-down:before{content:"\e901";transform:scale(.6)}.hmwp_icon-chevron-up:before{content:"\e902";top:50%;transform:translateY(-50%) scale(.6)}.hmwp_icon-rollback:before{content:"\e903"}#hmwp_nav-cloudflare:before,.hmwp_icon-addon:before{content:"\e904"}#hmwp_nav-addons:before,.hmwp_icon-addons:before{content:"\e905"}.hmwp_icon-book:before{content:"\e906"}#hmwp_nav-page_cdn:before,.hmwp_icon-cdn:before{content:"\e907"}#hmwp_nav-database:before,.hmwp_icon-database:before{content:"\e908"}.hmwp_icon-export:before{content:"\e909"}#hmwp_nav-cache:before,.hmwp_icon-files:before{content:"\e90a"}.hmwp_icon-help:before{content:"\e90b"}#hmwp_nav-dashboard:before,.hmwp_icon-home:before{content:"\e90c"}.hmwp_icon-import:before{content:"\e90d"}.hmwp_icon-important:before{content:"\e90e"}.hmwp_icon-information:before{content:"\e90f"}.hmwp_icon-information2:before{content:"\e910"}.hmwp_icon-interrogation:before{content:"\e911"}#hmwp_nav-media:before,.hmwp_icon-media:before{content:"\e912"}.hmwp_icon-plus:before{content:"\e913"}#hmwp_nav-preload:before,.hmwp_icon-refresh:before{content:"\e914"}#hmwp_nav-advanced_cache:before,.hmwp_icon-rules:before{content:"\e915"}#hmwp_nav-file_optimization:before,.hmwp_icon-stack:before{content:"\e916"}#hmwp_nav-tools:before,.hmwp_icon-tools:before{content:"\e917"}.hmwp_icon-trash:before{content:"\e918"}.hmwp_icon-user:before{content:"\e919"}.hmwp_icon-check:before{content:"\e920"}.hmwp_icon-check2:before{content:"\e921"}.hmwp_icon-close:before{content:"\e922"}.hmwp_title1{font-size:1.4rem;line-height:1;font-weight:600;letter-spacing:.01em}.hmwp_title2{font-size:1rem;line-height:1.5;letter-spacing:-.02em}.hmwp_field--radio label,.hmwp_title2,.hmwp_title3{font-weight:700}.hmwp_select select{font-size:.9rem;line-height:1.71429;font-weight:700}.hmwp_field--radio label,.hmwp_select label,.hmwp_title3{font-size:.9rem;line-height:1.71429;letter-spacing:-.011em}.hmwp_Header{display:flex;flex-direction:column;flex:0 0 225px}@media (max-width:783px){.hmwp_Header{flex:0 0 50px}}.hmwp_Header-logo{padding:32px 0 24px;text-align:center}@media (max-width:783px){.hmwp_Header-logo{padding:16px 0 8px}.hmwp_Header-logo-desktop{display:none}}.hmwp_Header-logo-mobile{display:none}@media (max-width:783px){.hmwp_Header-logo-mobile{display:inline-block}}.hmwp_Header-footer{margin-top:auto;padding:48px 20px 0;font-size:.6875rem;line-height:4.36364;color:#666;opacity:.6;font-weight:700}@media (max-width:783px){.hmwp_Header-footer{display:none}}.hmwp_Sidebar{position:relative;display:none;flex:0 0 290px;padding:24px 16px}@media (max-width:1239px){.hmwp_Sidebar{flex:0 0 260px}}@media (max-width:1083px){.hmwp_Sidebar{display:none!important}}.hmwp_Sidebar-title{margin-bottom:32px}.hmwp_Sidebar-notice{padding:8px 16px;margin-bottom:16px;background:#fff;border:1px solid #e8ebee;border-left:2px solid #1eadbf;border-radius:0 3px 3px 0;color:#666}.hmwp_Sidebar-notice p{margin:0}.hmwp_Sidebar-notice-link{display:inline-block;margin-top:8px;font-size:.6875rem;line-height:1.81818;color:#02707f;letter-spacing:-.05em;text-transform:uppercase;text-decoration:none;font-weight:700}.hmwp_Sidebar-notice-link:focus,.hmwp_Sidebar-notice-link:hover{color:#40bacb}.hmwp_Sidebar-info{padding:16px;background:#ebfaf5;margin-bottom:16px;border-radius:3px}.hmwp_Sidebar-info h4{padding-left:48px;font-weight:500}.hmwp_Sidebar-info p{margin:8px 0 0;font-size:.6875rem;line-height:1.45455;color:#666}.hmwp_Sidebar-info i{position:absolute;display:block;margin-top:-1px;width:40px;height:40px;color:#00a66b;font-size:1rem;line-height:2.35294;background:#c6f0de;border-radius:3px;text-align:center}.hmwp_Content{position:relative;background:#fff;padding:32px 24px;flex:1 1 auto;max-width:calc(960px + 270px)}@media (max-width:783px){.hmwp_Content{padding:24px 16px}}.hmwp_Content form>input:last-child{margin-top:24px;color:#fff!important}.hmwp_Content.isNotFull{max-width:960px}.hmwp_Content-tips{position:absolute;top:48px;right:24px;font-weight:700;color:#666}@media (max-width:1083px){.hmwp_Content-tips{display:none!important}}.hmwp_Page{margin-bottom:32px}.hmwp_Page-row{display:flex;flex-direction:row}@media (max-width:1239px){.hmwp_Page-row{flex-direction:column}}.hmwp_Page-col{flex:1 1 auto}.hmwp_Page-col--fixed{margin-left:24px;flex:0 0 325px}@media (max-width:1239px){.hmwp_Page-col--fixed{margin-left:0}}.hmwp_Page#dashboard #hmwp_action-refresh_account:before{transition:all 200ms ease-out;opacity:1;transform:translateY(0)}.hmwp_Page#dashboard #hmwp_action-refresh_account.hmwp_isLoading:before{animation:loading 1.2s infinite}.hmwp_Page#dashboard #hmwp_action-refresh_account.hmwp_isHidden:before{opacity:0}.hmwp_Page#dashboard #hmwp_action-refresh_account.hmwp_isShown:before{opacity:1}.hmwp_Page#dashboard .hmwp_documentation{margin-top:98px;padding:43px 16px}@media (max-width:1239px){.hmwp_Page#dashboard .hmwp_documentation{margin-top:40px}}.hmwp_Page#dashboard .hmwp_documentation .hmwp_button{margin-top:8px}.hmwp_Page#dashboard .hmwp_documentation i{font-size:3.375rem;line-height:1}.hmwp_Page#dashboard .hmwp_radio{padding-left:72px}.hmwp_Page#dashboard .hmwp_field--radio{padding:16px 8px}.hmwp_Page#dashboard .hmwp_field--radio:first-child{padding-top:0}.hmwp_Page#dashboard .hmwp_field--radio:last-child{padding-bottom:0}.hmwp_Page#dashboard .hmwp_field--radio .hmwp_field-description{font-style:normal;color:#666;margin-left:72px}.hmwp_Page#dashboard .hmwp_field-account{padding-bottom:0}.hmwp_Page#dashboard .hmwp_infoAccount{font-weight:700;margin-left:8px;color:#444}.hmwp_Page#dashboard .hmwp_infoAccount:before{content:"";position:relative;display:inline-block;width:13px;height:13px;background:#e0e4e9;border-radius:50%;color:#fff;margin-right:6px;text-align:center;top:2px;font-size:.5rem;line-height:1.625}.hmwp_Page#dashboard .hmwp_infoAccount.hmwp_isValid{color:#00a66b}.hmwp_Page#dashboard .hmwp_infoAccount.hmwp_isValid:before{content:"\e920";font-family:'hmwp-icomoon';speak:none;background:#3ece9d;top:-1px}.hmwp_Page#dashboard .hmwp_infoAccount.hmwp_isInvalid{color:#d60e5b}.hmwp_Page#dashboard .hmwp_infoAccount.hmwp_isInvalid:before{content:"!";font-weight:700;font-size:.625rem;line-height:1.3;speak:none;background:#d33f49;top:-1px}.hmwp_Page#dashboard #hmwp_account-data:before{content:none}.hmwp_Popin{display:none;position:fixed;width:772px;height:auto;top:50%;left:50%;background:#fff;border-radius:3px;transform:translateX(-50%) translateY(-50%);z-index:100000}.hmwp_Popin-overlay{display:none;position:fixed;opacity:0;width:100%;height:100%;top:0;left:0;background:rgba(0,0,0,.8);z-index:99999}.hmwp_Popin-header{display:flex;align-items:center;justify-content:space-between;height:64px;padding:0 32px;background:#2d1656;color:#fff;font-weight:600}.hmwp_Popin-close{color:#665090;font-size:1.5rem;line-height:1;transition:color 200ms ease-out;-webkit-transition:color 200ms ease-out}.hmwp_Popin-close:focus,.hmwp_Popin-close:hover{color:#fff;outline:0}.hmwp_Popin-content{padding:8px 32px;color:#666}.hmwp_Popin-flex{display:flex;flex-direction:row;align-items:center}.hmwp_Popin-flex div{margin-left:32px}.hmwp_Popin p{margin:16px 0}.hmwp_Popin .wp-rocket-data-table{padding:12px 24px;background:#f2f3f6!important;border:0}.hmwp_Popin .wp-rocket-data-table td{width:50%;color:#121116;padding:8px 0 8px 4px;border-bottom:1px solid #c2cad4}.hmwp_Popin .wp-rocket-data-table td:not(.column-primary){font-family:"Monaco";font-size:.75rem;line-height:1.66667;color:#666;letter-spacing:-.01em}.hmwp_Popin .wp-rocket-data-table tr{background:#f2f3f6;border-bottom:1px solid #e0e4e9}.hmwp_Popin .wp-rocket-data-table tr:last-child td{border-bottom:none}.hmwp_Popin .wp-rocket-data-table strong,.hmwp_field label{font-weight:500}.hmwp_Popin .wp-rocket-data-table em{font-style:normal}.hmwp_Popin .wp-rocket-data-table code{padding:0;margin:0;background:0 0}.hmwp_menuItem{position:relative;display:block;padding:16px 44px 18px 20px;text-decoration:none;color:#121116;border-top:1px solid #e0e4e9;border-left:2px solid transparent;overflow:hidden;transition:all 100ms ease-out;-webkit-transition:all 100ms ease-out}@media (max-width:783px){.hmwp_menuItem{width:57px;height:50px;padding:0}}.hmwp_menuItem:before{position:absolute;top:calc(50% - 12px);right:18px;text-align:center;font-size:1.4375rem;line-height:1;color:#121116;opacity:.4;transition:all 150ms ease-out;-webkit-transition:all 150ms ease-out}.hmwp_menuItem.isActive,.hmwp_menuItem:hover{color:#121116;background:#fff;border-left:2px solid #f56640}.hmwp_menuItem.isActive .hmwp_menuItem-title,.hmwp_menuItem:hover .hmwp_menuItem-title{color:#f56640}.hmwp_menuItem.isActive:before,.hmwp_menuItem:hover:before{color:#f56640;opacity:1}.hmwp_menuItem:focus,.hmwp_menuItem:focus:before{color:#121116}.hmwp_menuItem-title{font-size:.8125rem;line-height:1.46154;font-weight:700;letter-spacing:-.08px;text-transform:uppercase;color:#121116}@media (max-width:783px){.hmwp_menuItem-title{display:none!important}}.hmwp_menuItem-description{margin-top:2px;color:#72777c;font-size:.8125rem;line-height:1.23077;transition:all 150ms ease-out;-webkit-transition:all 150ms ease-out}@media (max-width:783px){.hmwp_menuItem-description{display:none}}.hmwp_menuItem.hmwp_cloudflareToggle{display:none;padding:10px 20px 8px 25px}@media (max-width:783px){.hmwp_menuItem.hmwp_cloudflareToggle{padding:8px 20px 8px 23px;height:35px}}.hmwp_menuItem.hmwp_cloudflareToggle .hmwp_menuItem-title{display:inline-block;font-size:.8125rem;line-height:1.84615;text-transform:inherit;font-weight:600}.hmwp_menuItem.hmwp_cloudflareToggle:before{position:relative;display:inline-block;top:2px;right:2px;margin-right:8px;font-size:1rem;line-height:1}#hmwp_nav-cache:before,#hmwp_nav-tools:before{right:20px}.hmwp_sectionHeader{position:relative;border-bottom:1px solid #e0e4e9;padding-bottom:24px}.hmwp_sectionHeader:before{content:'';position:absolute;display:block;width:48px;height:2px;bottom:-1px;left:0;background:#f56640}.hmwp_sectionHeader .hmwp_title1{line-height:48px}.hmwp_sectionHeader .hmwp_title1:before{display:inline-block;width:48px;height:48px;margin-right:24px;background:#fde0d9;color:#f56640;text-align:center;border-radius:3px}.hmwp_sectionHeader-description,.hmwp_sectionHeader-title{margin-top:8px;padding-left:72px}.hmwp_sectionHeader-description{color:#666}.hmwp_optionHeader{position:relative;display:flex;justify-content:space-between;margin-top:48px;padding-bottom:9px;border-bottom:1px solid #e0e4e9}.hmwp_optionHeader .hmwp_title2{line-height:24px;color:#f56640;padding-right:40px}.hmwp_optionHeader .hmwp_infoAction{margin-right:8px}.hmwp_optionHeader.hmwp_isHidden{display:none}.hmwp_fieldsContainer{margin-top:8px}.hmwp_field--radio .hmwp_field-description button,.hmwp_fieldsContainer-description{color:#666}.hmwp_fieldsContainer-description a:focus,.hmwp_fieldsContainer-description a:hover{color:#1eadbf}.hmwp_fieldsContainer-fieldset{margin-top:16px;background:#f9fafb;padding:16px;border:1px solid #e8ebee;border-radius:2px}.hmwp_fieldsContainer-fieldset--split{display:flex}.hmwp_fieldsContainer-fieldset--split .hmwp_field+.hmwp_field{border:0}.hmwp_fieldsContainer-fieldset--split .hmwp_field{flex:0 0 50%;padding:0}.hmwp_fieldsContainer-fieldset--split .hmwp_field:first-child{padding-right:15px}.hmwp_fieldsContainer-fieldset--split .hmwp_field:last-child{padding-left:15px}.hmwp_fieldsContainer-helper{margin-top:16px;color:#d60e5b;font-weight:500}.hmwp_fieldsContainer-helper:before{position:relative;top:3px;font-size:1.125rem;line-height:1;margin-right:4px}.hmwp_fieldsContainer.hmwp_isHidden{display:none}.hmwp_infoAction{position:relative;height:24px;font-size:.8125rem;line-height:1.84615;vertical-align:middle;letter-spacing:-.03em;font-weight:500;color:#666;white-space:nowrap;text-decoration:none;transition:all 200ms ease-out;-webkit-transition:all 200ms ease-out}.hmwp_infoAction:before{position:absolute;margin-left:-26px;font-size:1.125rem;line-height:1.33333;transition:color 200ms ease-out;-webkit-transition:color 200ms ease-out}.hmwp_infoAction--help{text-transform:uppercase;color:#02707f;font-weight:700;font-size:.75rem;line-height:2;letter-spacing:0}@media (max-width:783px){.hmwp_infoAction--help{display:none}}.hmwp_infoAction--help:before{color:#1eadbf}.hmwp_infoAction:focus,.hmwp_infoAction:hover{color:#f56640;outline:0}.hmwp_infoAction:focus:before,.hmwp_infoAction:hover:before{color:#ffa58b}.hmwp_button{position:relative;display:inline-block;width:auto;padding:8px 24px;text-align:center;background:#f56640;box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08);text-transform:uppercase;text-decoration:none;letter-spacing:-.08px;font-weight:700;border-radius:4px;color:#fff!important;white-space:nowrap;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:all 200ms ease-out;-webkit-transition:all 200ms ease-out;font-size:.8125rem;line-height:1.53846}.hmwp_button:hover{color:#fff!important}.hmwp_button:focus,.hmwp_button:hover{transform:translateY(-2px);box-shadow:0 7px 14px rgba(50,50,93,.25),0 3px 6px rgba(0,0,0,.2)}.hmwp_button--small{padding:5px 0;letter-spacing:-.08px;font-size:.6875rem;line-height:1.81818}.hmwp_button--icon{min-width:160px;padding-left:8px;padding-right:40px;text-align:left}.hmwp_button--icon:before{position:absolute;right:8px;font-size:.9375rem;line-height:1.33333}.hmwp_button--fixed{position:fixed;display:flex;padding:8px 16px;right:24px;bottom:32px;border-radius:16px}.hmwp_button--fixed:before{font-size:1.125rem;line-height:1;margin-right:8px}.hmwp_button--purple{background:#2d1656}.hmwp_button--blue{min-width:inherit;background:#1eadbf}.hmwp_button--lightBlue{min-width:inherit;background:#40bacb}.hmwp_button--red{background:#d33f49}.hmwp_button--blueDark{background:#02707f}.hmwp_button:focus{outline:0;color:#fff!important}.hmwp_field{padding:16px 0;transition:opacity 150ms ease-out;-webkit-transition:opacity 150ms ease-out}.hmwp_field+.hmwp_field,.hmwp_field+.hmwp_warningContainer{border-top:1px solid #e0e4e9}.hmwp_field:first-child{padding-top:0}.hmwp_field:last-child{padding-bottom:0}.hmwp_field-description{margin-top:4px;color:#666;font-size:.8125rem;line-height:1.53846}.hmwp_field-description .hmwp_js-popin{color:#444;text-decoration:underline}.hmwp_field-description .hmwp_js-popin:focus,.hmwp_field-description .hmwp_js-popin:hover,.hmwp_field-description a:focus,.hmwp_field-description a:hover,.hmwp_field-list a:focus,.hmwp_field-list a:hover{color:#1eadbf}.hmwp_field-description-helper{color:#00a66b}.hmwp_field-description-label{font-size:.875rem;line-height:1.42857;font-weight:500;color:#666}.hmwp_field-list{margin:0;color:#666;font-weight:500}.hmwp_field-list li+li{margin-top:16px}.hmwp_field-list li:before{position:relative;top:3px;margin-right:8px;color:#02707f;font-size:1.125rem;line-height:1.11111}.hmwp_field-list a{text-decoration:none}.hmwp_field-betweenText{margin:0 16px;font-weight:700}.hmwp_field .hmwp_button{margin:8px 0}.hmwp_field .hmwp_flex{display:flex;justify-content:space-between;align-items:center}@media (max-width:783px){.hmwp_field .hmwp_flex{text-align:left;flex-direction:column}}.hmwp_field .hmwp_flex--egal>div{flex:0 0 50%}@media (max-width:783px){.hmwp_field .hmwp_flex--egal>div{width:100%}}.hmwp_field .hmwp_flex--egal>div:last-child{text-align:right}@media (max-width:783px){.hmwp_field .hmwp_flex--egal>div:last-child{text-align:left}}.hmwp_field .hmwp_flex--egal>div .hmwp_field-description{font-style:normal;color:#666}.hmwp_field p{margin-bottom:0}.hmwp_field h4{font-size:.875rem;line-height:1.71429}.hmwp_field.hmwp_isDisabled{opacity:.55}.hmwp_field.hmwp_isParent{padding-bottom:0}.hmwp_field .hmwp_isHidden{display:none}.hmwp_field--children{display:none;padding-left:32px}.hmwp_field--children.hmwp_isOpen{display:block;margin-top:16px}.hmwp_field--children.hmwp_field--textarea{padding-right:80px}@media (max-width:1239px){.hmwp_field--children.hmwp_field--textarea{padding-right:32px}}@media (max-width:783px){.hmwp_field--children.hmwp_field--textarea{padding-right:0}}.hmwp_field--checkbox .hmwp_field-description{margin-left:32px}.hmwp_field--radio{padding:24px 16px}.hmwp_field--radio:first-child{padding-top:8px}.hmwp_field--radio:last-child{padding-bottom:8px}.hmwp_field--radio .hmwp_field-description{margin-left:88px}.hmwp_field--split{display:inline-block;width:50%;padding-right:16px;padding-bottom:0}.hmwp_field--split+.hmwp_field--split{padding-left:16px;padding-right:0}.hmwp_field--split+.hmwp_field--split:nth-child(2){padding-top:0;border-top:none}.hmwp_field--cache .hmwp_field--number,.hmwp_field--cache .hmwp_field--select{display:inline-block;padding-top:0;width:auto;padding-bottom:0;font-weight:700}.hmwp_field--cache .hmwp_field--select{position:relative;padding-left:8px;top:-2px;border-top:none}.hmwp_field--cache .hmwp_field--number .hmwp_text input[type=number]{background:#f2f3f6;height:35px;border:1px solid #e0e4e9;font-family:inherit;font-size:1em}.hmwp_field--cache .hmwp_field-description{margin:8px 0;color:#00a66b}.hmwp_field--cache .hmwp_field-description-label{color:#121116}.hmwp_fieldWarning{display:none;position:relative;padding:16px 16px 24px 56px;background:#19073b;margin:8px 0 0;color:#fff}.hmwp_fieldWarning.hmwp_isOpen{display:block}.hmwp_fieldWarning:after{content:'';position:absolute;display:block;top:-8px;left:20px;width:0;height:0;border-style:solid;border-width:0 12px 8px;border-color:transparent transparent #19073b}.hmwp_fieldWarning:before{content:'';position:absolute;display:block;width:calc(100% + 32px);height:100%;top:0;left:-16px;background:#19073b}.hmwp_fieldWarning-title{position:relative;color:#f56640;font-size:.875rem;line-height:1.42857;font-weight:700}.hmwp_fieldWarning-title:before{position:absolute;left:-36px;font-size:1.5rem;line-height:.83333}.hmwp_fieldWarning-description{position:relative;margin-top:8px}.hmwp_fieldWarning .hmwp_button{margin-top:16px}.hmwp_warningContainer+.hmwp_field,.hmwp_warningContainer+.hmwp_warningContainer{border-top:1px solid #e0e4e9;padding-top:16px}.hmwp_documentation{padding:24px 16px;border-radius:4px;color:#fff;text-align:center;background:#40bacb}.hmwp_documentation p{margin:8px 0 16px;font-weight:500}.hmwp_documentation i{display:block;font-size:2.25rem;line-height:1;margin-bottom:8px}.hmwp_documentation .hmwp_button{padding-left:16px;padding-right:16px}.hmwp_addon{padding:24px 0}.hmwp_addon .hmwp_flex{align-items:flex-start}@media (max-width:783px){.hmwp_addon .hmwp_flex{align-items:center}}.hmwp_addon .hmwp_flex>div{text-align:left}.hmwp_addon .hmwp_addon-title{margin-bottom:16px;font-weight:500}.hmwp_addon .hmwp_field-description{font-style:normal}.hmwp_addon .hmwp_addon-logo{text-align:center;flex:0 0 160px}@media (max-width:1239px){.hmwp_addon .hmwp_addon-logo{max-width:100px}.hmwp_addon .hmwp_addon-logo img{width:100%;height:auto}}@media (max-width:1083px){.hmwp_addon .hmwp_addon-logo{max-width:160px}}@media (max-width:783px){.hmwp_addon .hmwp_addon-logo{flex:0 0 auto;margin-bottom:16px}}.hmwp_addon .hmwp_addon-text{margin-left:32px;flex:1 1 auto}@media (max-width:1239px){.hmwp_addon .hmwp_addon-text{margin-left:16px}}@media (max-width:1083px){.hmwp_addon .hmwp_addon-text{margin-left:32px}}@media (max-width:783px){.hmwp_addon .hmwp_addon-text{margin-left:0}}.hmwp_addon .hmwp_addon-text a{display:inline-block;margin-top:24px}.hmwp_addon .hmwp_addon-text .button,.hmwp_notice{margin-top:24px}.hmwp_notice{position:relative;color:#444;background:#ebfaf5 url(../img/bg-activated.svg) no-repeat 90% bottom;background-size:350px;border-radius:4px;overflow:hidden}.hmwp_notice-container{padding:24px 25% 24px 40px}.hmwp_notice-supTitle{font-size:1rem;line-height:1.375;font-weight:700}.hmwp_notice-title{font-size:1.5rem;line-height:1.33333;color:#3ece9d;margin-top:16px;font-weight:700}.hmwp_notice-description{font-size:.875rem;line-height:1.57143;margin:16px 0 24px}.hmwp_notice-continue{color:#666}.hmwp_notice-close{position:absolute;top:24px;right:24px;color:#666;text-decoration:none;font-size:1.5rem;line-height:1;transition:color 200ms ease-out;-webkit-transition:color 200ms ease-out}.hmwp_notice-close:hover{color:#444}.hmwp_notice-close:focus{outline:0}.hmwp_tools{position:relative;display:flex;flex-direction:row;padding:32px 0}@media (max-width:1239px){.hmwp_tools{flex-direction:column}}@media (max-width:1083px){.hmwp_tools{flex-direction:row}}@media (max-width:783px){.hmwp_tools{flex-direction:column}}.hmwp_tools:nth-child(2){margin-top:16px}.hmwp_tools+.hmwp_tools{border-top:1px solid #e0e4e9}.hmwp_tools-label{display:block}.hmwp_tools-label:before{position:absolute;left:0;margin-top:5px;font-size:2.25rem;line-height:1;color:#f56640}.hmwp_tools-col{flex:1 1 auto}.hmwp_tools-col:first-child{padding-left:72px;padding-right:24px;min-width:340px}.hmwp_tools-col:last-child{text-align:right}@media (max-width:783px){.hmwp_tools-col:last-child{text-align:left}}.hmwp_tools .hmwp_button{margin-top:24px;white-space:normal}.hmwp_tools .hmwp_field-description{font-style:normal;color:#666}.hmwp_adblock{display:none;position:relative;background:#e8ebee;margin-top:24px;border-radius:4px}.hmwp_adblock-container{display:flex;padding:20px 56px 20px 24px}.hmwp_adblock img{margin-right:16px}.hmwp_adblock-title{font-size:1.375rem;line-height:1.36364;font-weight:700}.hmwp_adblock-description{color:#666;font-size:.8125rem;line-height:1.38462}.hmwp_adblock-description a{color:#02707f;text-decoration:underline}.hmwp_adblock-description a:focus,.hmwp_adblock-description a:hover{color:#f56640}.hmwp_adblock-close{position:absolute;top:20px;right:24px;color:#444;text-decoration:none;font-size:1.5rem;line-height:1;transition:color 200ms ease-out;-webkit-transition:color 200ms ease-out}.hmwp_adblock-close:hover{color:#121116}.hmwp_adblock-close:focus{outline:0}.hmwp_checkbox{position:relative;padding-left:32px}.hmwp_checkbox label{user-select:none}.hmwp_checkbox [type=checkbox]:checked,.hmwp_checkbox [type=checkbox]:not(:checked),.hmwp_radio [type=checkbox]:checked,.hmwp_radio [type=checkbox]:not(:checked){position:absolute;left:-9999px}.hmwp_checkbox [type=checkbox]:checked+label:before,.hmwp_checkbox [type=checkbox]:not(:checked)+label:before{content:'';position:absolute;left:0;top:4px;width:14px;height:14px;border:2px solid #444;border-radius:3px;transition:all 150ms ease-out;-webkit-transition:all 150ms ease-out}.hmwp_checkbox [type=checkbox]:checked+label:after,.hmwp_checkbox [type=checkbox]:not(:checked)+label:after{content:"\e921";position:absolute;top:5px;left:2px;color:#fff;font-family:'hmwp-icomoon';speak:none;font-size:.875rem;line-height:1.28571;transition:all 150ms ease-out;-webkit-transition:all 150ms ease-out}.hmwp_checkbox [type=checkbox]:not(:checked)+label:after{opacity:0;transform:scale(2)}.hmwp_checkbox [type=checkbox]:checked+label:after{opacity:1;transform:scale(1)}.hmwp_checkbox [type=checkbox]:checked+label:before{background:#19073b;border-color:#19073b}.hmwp_checkbox [type=checkbox]:checked:focus+label:before{background:#665090;border:2px dotted #665090}.hmwp_checkbox [type=checkbox]:focus+label:before{border:2px dotted #444}.hmwp_radio{position:relative;padding-left:88px}.hmwp_radio label{user-select:none;font-weight:700}.hmwp_radio [type=checkbox]:checked+label:after,.hmwp_radio [type=checkbox]:checked+label:before,.hmwp_radio [type=checkbox]:not(:checked)+label:after,.hmwp_radio [type=checkbox]:not(:checked)+label:before{content:'';position:absolute}.hmwp_radio [type=checkbox]:checked+label:before,.hmwp_radio [type=checkbox]:not(:checked)+label:before{left:0;width:52px;height:22px;background:#fff;border-radius:12px;border:1px solid #444;transition:all 150ms ease-out;-webkit-transition:all 150ms ease-out}.hmwp_radio [type=checkbox]:checked+label:after,.hmwp_radio [type=checkbox]:not(:checked)+label:after{width:18px;height:18px;border-radius:100%;background:#444;top:3px;left:3px;transition:all 150ms ease-out;-webkit-transition:all 150ms ease-out}.hmwp_radio [type=checkbox]:checked+label:before{border-color:#1eadbf}.hmwp_radio [type=checkbox]:checked+label:after{background:#1eadbf;left:33px}.hmwp_radio [type=checkbox]:checked+label .hmwp_radio-ui,.hmwp_radio [type=checkbox]:checked+label .hmwp_radio-ui:after,.hmwp_radio [type=checkbox]:not(:checked)+label .hmwp_radio-ui:before{position:absolute;left:4px;width:52px;text-transform:uppercase;letter-spacing:-.01em;font-weight:700;font-size:.6875rem;line-height:2.18182;transition:all 150ms ease-out;-webkit-transition:all 150ms ease-out}.hmwp_radio [type=checkbox]:not(:checked)+label .hmwp_radio-ui:before{content:attr(data-l10n-inactive);left:27px;color:#666}.hmwp_radio [type=checkbox]:checked+label .hmwp_radio-ui:after{content:attr(data-l10n-active);color:#02707f}.hmwp_radio--reverse{padding-right:72px;padding-left:0}.hmwp_radio--reverse [type=checkbox]:checked+label:before,.hmwp_radio--reverse [type=checkbox]:not(:checked)+label:before{right:0;left:inherit}.hmwp_radio--reverse [type=checkbox]:checked+label:after,.hmwp_radio--reverse [type=checkbox]:not(:checked)+label:after{right:33px;left:inherit}.hmwp_radio--reverse [type=checkbox]:checked+label:after{right:3px;left:inherit}.hmwp_radio--reverse [type=checkbox]:checked+label .hmwp_radio-ui,.hmwp_radio--reverse [type=checkbox]:checked+label .hmwp_radio-ui:after,.hmwp_radio--reverse [type=checkbox]:not(:checked)+label .hmwp_radio-ui:before{right:-2px;left:inherit}.hmwp_radio--reverse [type=checkbox]:not(:checked)+label .hmwp_radio-ui:before{right:-25px;left:inherit}.hmwp_radio [type=checkbox]:not(:checked):focus+label:before{border:1px dashed #444}.hmwp_radio [type=checkbox]:checked:focus+label:before{border:1px dashed #1eadbf}.hmwp_radio--tips [type=checkbox]:checked+label:before{border-color:#3ece9d}.hmwp_radio--tips [type=checkbox]:checked+label:after{background:#3ece9d}.hmwp_radio--tips [type=checkbox]:checked+label .hmwp_radio-ui:after{color:#00a66b}.hmwp_radio--tips [type=checkbox]:checked:focus+label:before{border:1px dashed #3ece9d}.hmwp_select{position:relative}.hmwp_select select{margin:0;padding:0 8px;height:36px;border:1px solid #e0e4e9;background:#f2f3f6;color:#121116;box-shadow:none;border-radius:0;letter-spacing:.011em}.hmwp_select select:focus,.hmwp_text input[type=number]:focus,.hmwp_text input[type=text]:focus,.hmwp_textarea textarea:focus{outline:0;border-color:#444;box-shadow:none}.hmwp_select label{font-weight:700;margin-left:8px}.hmwp_textarea{margin-top:8px}.hmwp_text input[type=number],.hmwp_text input[type=text],.hmwp_textarea textarea{padding:8px;width:100%;height:100px;font-family:Monaco;color:#121116;background:#fff;border:2px solid #c2cad4;border-radius:3px;font-size:.8125rem;line-height:1.23077;transition:border 200ms ease-out;-webkit-transition:border 200ms ease-out}.hmwp_textarea+.hmwp_field-description{color:#00a66b}.hmwp_text label{color:#666}.hmwp_text input[type=number],.hmwp_text input[type=text]{margin-top:8px;padding:0 8px;height:32px;font-size:.75rem;line-height:1.33333}.hmwp_text input[type=number]{width:80px}.hmwp_text input[type=number].hmwp_isError,.hmwp_text input[type=text].hmwp_isError{border-color:#d33f49}.hmwp_text--number label{margin-right:8px}.hmwp_upload input[type=file]{display:block;width:252px;margin:8px 8px 8px 0;padding:8px;border:1px solid #e0e4e9;background:#f2f3f6;color:#121116;font-size:.6875rem;line-height:1.45455}.hmwp_upload input[type=file]:focus{outline:0;border-color:#444;box-shadow:none}.hmwp_multiple{display:flex;align-items:center;flex-wrap:wrap}@media (max-width:783px){.hmwp_multiple{align-items:center;flex-direction:column}}.hmwp_multiple .hmwp_text{flex:1 1 auto;position:relative;top:-2px}@media (max-width:783px){.hmwp_multiple .hmwp_text{width:100%}}.hmwp_multiple .hmwp_button{margin-left:16px;width:auto;min-width:inherit;padding-right:30px}@media (max-width:783px){.hmwp_multiple .hmwp_button{margin-left:0}}.hmwp_multiple input[type=text]{flex-grow:2}.hmwp_multiple select{height:30px}.hmwp_multiple-default{margin-right:20px}.hmwp_multiple-list{display:none;padding:8px 0;margin:16px 0 0;background:#f2f3f6;border-radius:2px}.hmwp_multiple-list li{margin-bottom:0;padding:4px 16px;font-size:.8125rem;line-height:1.23077;font-family:Monaco}.hmwp_multiple-list li span{display:inline-block;transition:all 150ms ease-out;-webkit-transition:all 150ms ease-out}.hmwp_multiple-close{position:relative;top:3px;font-size:1rem;line-height:1;transition:color 200ms ease-out;-webkit-transition:color 200ms ease-out}.hmwp_multiple-close:focus{outline:0}.hmwp_multiple-close:focus,.hmwp_multiple-close:focus+span,.hmwp_multiple-close:hover,.hmwp_multiple-close:hover+span{color:#d33f49}view/assets/css/notice.min.css000064400000001356147600042240012371 0ustar00.hmwp-admin-notice{background:#fff;color:#555;border:4px;display:block;min-height:68px;padding:10px 40px 10px 125px;position:relative}.hmwp-admin-notice a{color:#10738b}.hmwp-notice-logo{clear:both;content:"";display:block;background-image:url(../img/logo.svg);background-size:77px auto;background-repeat:no-repeat;background-position:0 45%;width:125px;position:absolute;top:0;bottom:0;left:15px}.hmwp-admin-notice>.dashicons{color:#424242;position:absolute;right:20px;top:40%}.hmwp-notice-title{font-size:1.4rem;margin:0}.hmwp-notice-body{font-weight:400;margin:5px 0}.hmwp-notice-body:after{clear:both;content:"";display:block}.hmwp-notice-body li{float:left;margin-right:20px}.hmwp-notice-body .dashicons{font-size:1.4rem}.hmwp-blue{color:#10738b}view/assets/css/rtl.min.css000064400000001074147600042240011706 0ustar00#hmwp_wrap *{direction:rtl;unicode-bidi:embed}#wpwrap #wpcontent{padding:0!important}#hmwp_wrap a.position-absolute.float-right{left:7px;right:auto!important}#hmwp_wrap .card-title{text-align:right}#hmwp_wrap .hmwp_nav .hmwp_nav_item:before{left:18px!important;right:auto!important}.switch.switch-lg input+label::after,.switch.switch-sm input+label::after{right:2px;left:auto}.switch.switch-sm input:checked+label::after{right:calc(1.9875rem*.8);left:auto}.switch.switch-lg input:checked+label::after{right:calc(calc(1.5rem*.8)*2);left:auto}#hmwp_wrap h3{font-size:1.5rem}view/assets/css/settings.min.css000064400000016323147600042240012750 0ustar00@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(360deg)}}:root{--hmwp-color-primary:#3F72AF;--hmwp-color-border:#112D4E;--hmwp-color-light:#DBE2Ef;--hmwp-color-highlight:#FFA500;--hmwp-color-secundary:#554EBE;--hmwp-color-light-gray:#f5f8f9}#adminmenu .wp-menu-image img{max-width:10px}.hmwp-settings.php-error #adminmenuback,.hmwp-settings.php-error #adminmenuwrap{margin-top:0!important}#hmwp_wrap .hmwp_nav{flex:0 0 180px}#hmwp_wrap code{word-break:break-word!important}#hmwp_wrap .row>div.input-group{display:flex!important}#hmwp_wrap .row{float:none!important;width:auto!important}.hmwp-settings #update-nag,.hmwp-settings #wp-admin-bar-wpr-reset-ab,.hmwp-settings .analyst-modal,.hmwp-settings .notice-error,.hmwp-settings .notice-success,.hmwp-settings .notice-warning,.hmwp-settings .notice:not(.hmwp_notice),.hmwp-settings .screen-meta-toggle,.hmwp-settings .show-settings,.hmwp-settings .update-nag,.hmwp-settings .updated,.hmwp-settings .wccp_free_review-notice,.hmwp-settings div.cff_notice,.hmwp-settings div.error,.hmwp-settings div.fs-notice.promotion,.hmwp-settings div.fs-notice.success,.hmwp-settings div.fs-notice.updated{position:absolute;top:-1000px;display:none!important}.hmwp-settings #wpcontent{padding:0 0 0 5px!important}.hmwp-settings .btn-link,.hmwp-settings a{color:var(--hmwp-color-primary)}.dropdown-item.active,.dropdown-item:active,.hmwp-settings .wp_button{background-color:var(--hmwp-color-primary)}.hmwp-settings.uipc-body .modal-backdrop{z-index:1!important}.hmwp-settings #hmwp_wrap .wp_loading,.hmwp-settings #hmwp_wrap .wp_loading_min{border:16px solid var(--hmwp-color-light);border-top:16px solid var(--hmwp-color-primary);border-radius:50%;width:80px;height:80px;animation:spin 2s linear infinite;margin:20px auto 0}.hmwp-settings #hmwp_wrap .wp_loading_min{width:30px;height:30px;margin:5px auto}.hmwp-settings .dashicons-editor-help{vertical-align:text-bottom;color:rgba(0,0,0,.5)!important}.hmwp-settings .flex-row{align-items:flex-start}#hmwp_wrap .hmwp_nav .hmwp_nav_item{display:block;position:relative;font-size:.9rem;line-height:1.46154;font-weight:400;color:#888;border-bottom:1px solid var(--hmwp-color-light);text-decoration:none;width:100%;cursor:pointer}#hmwp_wrap .hmwp_nav .hmwp_nav_item.active,#hmwp_wrap .hmwp_nav .hmwp_nav_item:hover{color:#121116;font-weight:600;border-left:2px solid var(--hmwp-color-primary)}#hmwp_wrap .hmwp_nav .hmwp_nav_item_description{display:block;margin-top:2px;color:#da0;font-size:.85rem;font-weight:400;line-height:normal}#hmwp_wrap .hmwp_nav .hmwp_nav_item:before{position:absolute;top:calc(50% - 12px);right:18px;text-align:center;font-size:1.3rem;line-height:1;color:#121116;opacity:.4;transition:all 150ms ease-out;-webkit-transition:all 150ms ease-out}#hmwp_wrap .tab-panel:not(.tab-panel-first){display:none}.tab-panel-first{display:block}#hmwp_wrap .hmwp_row{position:relative;flex:1 1 auto}#hmwp_wrap select.form-control{max-width:100%}#hmwp_wrap .small{font-size:.8rem}#hmwp_wrap .hmwp_col_side{flex:0 0 300px}#hmwp_wrap .checker label{font-size:.9rem;font-weight:600}#hmwp_wrap .hmwp_header{background-color:var(--hmwp-color-light-gray);color:#292929!important;border-bottom:1px solid var(--hmwp-color-light);line-height:2.2rem}#hmwp_wrap .card-title{font-size:1.15rem;font-weight:400}#hmwp_wrap .bg-light,#hmwp_wrap .card-footer,#hmwp_wrap .table tbody tr.odd{background-color:var(--hmwp-color-light-gray)!important}#hmwp_wrap .fa-question-circle{color:var(--hmwp-color-primary)}#hmwp_wrap .bg-brown{background-color:#715127}#hmwp_wrap .text-warning{color:#daa300!important}#hmwp_wrap .text-link{color:#c74854}#hmwp_wrap .text-logo{color:var(--hmwp-color-primary)}.hmwp-settings .text-info{color:var(--hmwp-color-primary)!important}.hmwp-settings .btn-warning{color:#fff;background-color:var(--hmwp-color-highlight);border-color:var(--hmwp-color-highlight)}.hmwp-settings .btn-secondary{background-color:transparent;border-color:var(--hmwp-color-light);color:#555;box-shadow:none;border-radius:0}.hmwp-settings .btn-sidebar{background:var(--hmwp-color-light-gray);border-color:var(--hmwp-color-primary);-webkit-box-shadow:0 0 0 1px var(--hmwp-color-primary);box-shadow:0 0 0 1px var(--hmwp-color-border);color:var(--hmwp-color-border)!important;outline:2px solid transparent;outline-offset:0;border-radius:0}.hmwp-settings .btn-default:active,.hmwp-settings .btn-default:focus,.hmwp-settings .btn-default:hover,.hmwp-settings .btn-sidebar:active,.hmwp-settings .btn-sidebar:focus,.hmwp-settings .btn-sidebar:hover{color:#fff!important;background-color:var(--hmwp-color-primary)!important;border-color:var(--hmwp-color-border)!important}.hmwp-settings .btn-default{background:var(--hmwp-color-light-gray);border-color:var(--hmwp-color-border);-webkit-box-shadow:0 0 0 1px #007cba;box-shadow:0 0 0 1px #007cba;color:#016087!important;outline:2px solid transparent;outline-offset:0;border-radius:0}.hmwp-settings .btn-success{color:#fff;background-color:var(--hmwp-color-primary);border-color:var(--hmwp-color-border);border-radius:0}#hmwp_wrap .btn-outline-info:active,#hmwp_wrap .btn-outline-info:focus,#hmwp_wrap .btn-outline-info:hover,.hmwp-settings .btn-success:active,.hmwp-settings .btn-success:focus,.hmwp-settings .btn-success:hover{color:#fff;background-color:var(--hmwp-color-primary)!important;border-color:var(--hmwp-color-border)!important}.hmwp-settings .bootstrap-select{max-width:500px!important}#hmwp_wrap .btn-outline-info{border-color:var(--hmwp-color-primary)}#hmwp_wrap .table_securitycheck tr:hover button.close,.hmwp_feature.active .see_feature{display:block!important}#hmwp_wrap .table_securitycheck .fa{font-size:1.4rem!important}#hmwp_wrap .btn-outline-info:not(:disabled):not(.disabled).active,#hmwp_wrap .btn-outline-info:not(:disabled):not(.disabled):active,#hmwp_wrap .show>.btn-outline-info.dropdown-toggle{background-color:var(--hmwp-color-primary);border-color:var(--hmwp-color-primary)}#hmwp_wrap .hmwp_cdn_mapping_remove,#hmwp_wrap .hmwp_mapping_remove,#hmwp_wrap .hmwp_security_header_remove,#hmwp_wrap .hmwp_text_mapping_remove,#hmwp_wrap .hmwp_url_mapping_remove{position:absolute;font-size:1.4rem;color:#999;right:-20px;line-height:24px;top:7px;width:20px;height:30px;text-align:center;z-index:1;cursor:pointer}.switch-red input:checked+label::before{background-color:#a95f5f!important}#hmwp_wrap .hmwp-status-active{color:green}#hmwp_wrap .hmwp-status-expired{color:red}.hmwp-clipboard-text{width:50%;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;display:inline-block;padding:0;margin:0;line-height:18px;vertical-align:top;user-select:all}.hmwp_clipboard_copy{cursor:pointer}.hmwp-clipboard-copied{display:none;position:absolute;font-size:.8rem;margin:0 5px;color:#a9a9a9}@media (max-width:1500px) and (min-resolution:120dpi){#hmwp_wrap .hmwp_row{flex-direction:column!important}#hmwp_wrap .hmwp_col{width:100%}#hmwp_wrap .hmwp_col_side{margin-right:1em}#hmwp_wrap .hmwp_nav .hmwp_nav_button,#hmwp_wrap .hmwp_nav .hmwp_nav_item span{display:none}}@media (max-width:1239px){#hmwp_wrap .hmwp_row{flex-direction:column!important}#hmwp_wrap .hmwp_nav{flex:0 0 55px}#hmwp_wrap .hmwp_col_side{margin-right:1em}#hmwp_wrap .hmwp_nav .hmwp_nav_button,#hmwp_wrap .hmwp_nav .hmwp_nav_item span,#hmwp_wrap .hmwp_nav .text-logo{display:none}}@media screen and (max-width:575px){#hmwp_wrap .checker label{margin-bottom:25px}}view/assets/css/switchery.min.css000064400000005520147600042240013126 0ustar00.switch{font-size:1rem;position:relative;box-shadow:none;height:auto;background:inherit}.switch input{position:absolute;height:1px;width:1px;background:0 0;border:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;padding:0}.switch input+label{position:relative;min-width:calc(calc(2.375rem*.8)*2);border-radius:calc(2.375rem*.8);height:calc(2.375rem*.8);line-height:calc(2.375rem*.8);display:inline-block;cursor:pointer;outline:0;user-select:none;vertical-align:middle;text-indent:calc(calc(calc(2.375rem*.8)*2) + .5rem)}.switch input+label::after,.switch input+label::before{content:"";position:absolute;bottom:0;display:block}.switch input+label::before{top:0;left:0;width:calc(calc(2.375rem*.8)*2);right:0;background-color:var(--hmwp-color-light);border-radius:calc(2.375rem*.8);transition:.2s all}.switch input+label::after{top:2px;left:2px;width:calc(calc(2.375rem*.8) - calc(2px*2));height:calc(calc(2.375rem*.8) - calc(2px*2));border-radius:50%;background-color:#fff;transition:.2s all}.switch input:checked+label::before{background-color:var(--hmwp-color-primary)}.switch input:checked+label::after{margin-left:calc(2.375rem*.8)}.switch input:focus+label::before{outline:0;box-shadow:0 0 0 .15rem rgba(0,136,221,.25)}.switch input:disabled+label{color:#868e96;cursor:not-allowed}.switch input:disabled+label::before{background-color:var(--hmwp-color-light)}.switch.switch-sm,.switch.switch-xxs{font-size:.8rem}.switch.switch-xxs div.ml-5{margin-left:35px!important}.switch.switch-xxs input+label{min-width:calc(calc(1rem*.8)*2);height:calc(1.3rem*.8);line-height:calc(1.5375rem*.8);text-indent:calc(calc(calc(1rem*.8)*2) + .5rem)}.switch.switch-xxs input+label::before{width:calc(calc(1rem*.8)*2);margin-top:4px}.switch.switch-xxs input+label::after{width:calc(calc(1rem*.8) - calc(2px*2));height:calc(calc(1rem*.8) - calc(2px*2));margin-top:4px}.switch.switch-xxs input:checked+label::after{margin-left:calc(1rem*.8)}.switch.switch-sm input+label{min-width:calc(calc(1.5375rem*.8)*2);height:calc(1.5375rem*.8);line-height:calc(1.5375rem*.8);text-indent:calc(calc(calc(1.5375rem*.8)*2) + .5rem)}.switch.switch-sm input+label::before{width:calc(calc(1.5375rem*.8)*2)}.switch.switch-sm input+label::after{width:calc(calc(1.53rem*.8) - calc(2px*2));height:calc(calc(1.53rem*.8) - calc(2px*2))}.switch.switch-sm input:checked+label::after{margin-left:calc(1.5375rem*.8)}.switch.switch-lg{font-size:1.25rem}.switch.switch-lg input+label{min-width:calc(calc(3rem*.8)*2);height:calc(3rem*.8);line-height:calc(3rem*.8);text-indent:calc(calc(calc(3rem*.8)*2) + .5rem)}.switch.switch-lg input+label::before{width:calc(calc(3rem*.8)*2)}.switch.switch-lg input+label::after{width:calc(calc(3rem*.8) - calc(2px*2));height:calc(calc(3rem*.8) - calc(2px*2))}.switch.switch-lg input:checked+label::after{margin-left:calc(3rem*.8)}.switch+.switch{margin-left:1rem}.dropdown-menu{margin-top:.75rem}view/assets/fonts/fontawesome-webfont.eot000064400000503556147600042240014670 0ustar00nLPYxϐFontAwesomeRegular$Version 4.7.0 2016FontAwesome
    PFFTMkGGDEFp OS/22z@X`cmap
    :gasphglyfMLhead-6hhea
    $hmtxEy
    loca\maxp,8 name㗋ghpostkuːxY_<3232			'@i33spyrs@  pU]yn2@
    zZ@55
    zZZ@,_@s@	@(@@@-
    MM-
    MM@@@
    -`b
    $648""""""@D@,,@ 	m)@@	 	' D9>dY*	'								T										@	f	%RE	 		$!k(D'		%	%		0%/&p@0 !"""`>N^n~.>N^n~>N^n~ !"""`!@P`p 0@P`p!@P`p\XSB1ݬ
    
    	
    
    	,,,,,,,,,,,,,tLT$l	x	
    T(
    dl,4dpH$d,t(  !"0# $,$&D'()T**,,-.@./`/00123d4445 556 6\67H788`89L9:h:;<>?h?@H@A0ABXBCdCDLDEFG0GHIJ8KLMdN,NNOP`PQ4QRRlS,ST`U0WXZ[@[\<\]^(^_`pb,bddePefg`giLijDkklm@n,oLpqrsxttuD{`||}}~Hl@lH TH`@$\XDTXDP,8d\Hx tXpdxt@Œ\ ļŸƔ0dʨˀ͔xϰЌ,ш҈ӌ8,՜`lHش`Tڸ۔@lބ߬lp 4X$l(`	d
    
    
    ,,8(Xx|T@| !"x##l$$'h(*L,T.L1t1230345t6T7$89H::;<<?X@ABCDEHFHGpHHIxJ JKLMN@P@QRSDT ULV`VWXX4XZZ[d[\|]^`aHabcXdetfhghi\jxnp@svwxyz{h|}}\lt4t88LT||4xLX(  @lt$xLL HĠT(ʈˠϔldPՄxpڬTTވL<H$l4 Pl,xp,xtd44,hP	4
    
    4<,,408$8T |!h"$L%0&H'()*0*+,.$.012@234t5$69 ::;;<(<=4?@ACDFH`HILLLLLLLLLLLLLLLLp7!!!@pp p]!2#!"&463!&54>3!2+@&&&&@+$(($F#+&4&&4&x+#+".4>32".4>32467632DhgZghDDhg-iWDhgZghDDhg-iW&@(8 2N++NdN+';2N++NdN+'3
    8!  #"'#"$&6$ rL46$܏ooo|W%r4L&V|oooܳ%=M%+".'&%&'3!26<.#!";2>767>7#!"&5463!2 %3@m00m@3% 
    
    @
    :"7..7":6]^B@B^^BB^ $΄+0110+$
    (	
    
    t1%%1+`B^^B@B^^"'.54632>324
    #LoP$$Po>Z$_dC+I@$$@I+"#"'%#"&547&547%62V??V8<8y
    b%	I))9I		+	%%#"'%#"&547&547%62q2ZZ2IzyV)??V8<8)>~>[
    
    2b%	I))9I	%#!"&54>3 72 &6 }XX}.GuLlLuG.>mmUmEEm>/?O_o54&+";2654&+";2654&+";264&#!"3!2654&+";2654&+";264&#!"3!2654&+";2654&+";2654&+";267#!"&5463!2&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&^BB^^B@B^@&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&B^^B@B^^/?#!"&5463!2#!"&5463!2#!"&5463!2#!"&5463!2L44LL44LL44LL44LL44LL44LL44LL44L4LL44LL4LL44LL4LL44LL4LL44LL	/?O_o#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!28((88(@(88((88(@(88((88(@(88((88(@(88((88(@(88((88(@(88((88(@(88((88(@(88((88(@(8 (88((88(88((88(88((88(88((88(88((88(88((88(88((88(88((88(88((88/?O_#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!28((88(@(88((88(@(88(@(88((88((88(@(88(@(88((88(@(88((8 (88((88(88((88(88((88(88((88(88((88(88((88y"/&4?62	62,PP&PP,jPn#$"'	"/&47	&4?62	62	PP&P&&P&P&P&&P&P#+D++"&=#"&=46;546;232  #"'#"$&6$ 
    
    @
    
    
    
    @
    
    rK56$܏ooo|W@
    
    
    
    @
    
    
    rjK&V|oooܳ0#!"&=463!2  #"'#"$&6$ 
    
    
    @
    rK56$܏ooo|W@
    
    @
    rjK&V|oooܳ)5 $&54762>54&'.7>"&5462zz+i *bkQнQkb* j*LhLLhLzzBm +*i JyhQQhyJ i*+ mJ4LL44LL/?O%+"&=46;2%+"&546;2%+"&546;2+"&546;2+"&546;2`r@@r@@n4&"2#"/+"&/&'#"'&'&547>7&/.=46?67&'&547>3267676;27632Ԗ#H
    	,/
    1)
    ~'H
    (C
    	
    
    ,/
    1)	
    $H
    ԖԖm6%2X
    %	l2
    k	r6
    
    [21
    ..9Q
    
    $
    k2
    k	
    w3[20/;Cg+"&546;2+"&546;2+"&546;2!3!2>!'&'!+#!"&5#"&=463!7>3!2!2@@@@@@@`0
    
    o`^BB^`5FN(@(NF5 @@@L%%Ju		@LSyuS@%44%f5#!!!"&5465	7#"'	'&/&6762546;2&&??>
    
    LL
    >
     X 
      &&&AJ	A	J
    Wh##!"&5463!2!&'&!"&5!(8((88((`x
    c`(8`((88(@(8(D98( ,#!"&=46;46;2.  6 $$ @(r^aa@@`(_^aa2NC5.+";26#!26'.#!"3!"547>3!";26/.#!2W
    
    .@
    
    
    
    @.$S
    
    
    
    S$@
    
    9I
    
    
    
    I6>
    
    >%=$4&"2$4&"2#!"&5463!2?!2"'&763!463!2!2&4&&4&&4&&48(@(88(ч::(8@6@*&&*4&&4&&4&&4& (88(@(8888)@)'&&@$0"'&76;46;232  >& $$ `
    (r^aa`		@`2(^aa$0++"&5#"&54762  >& $$ ^
    ?@(r^aa`?		(^aa
    #!.'!!!%#!"&547>3!2<<<_@`&&
    5@5
    @&&>=(""='#"'&5476.  6 $$    ! (r^aaJ	%%(_^aa3#!"'&?&#"3267672#"$&6$3276&@*hQQhwI
    	mʬzzk)'@&('QнQh_
    	
    z8zoe$G!"$'"&5463!23267676;2#!"&4?&#"+"&=!2762@hk4&&&GaF*
    &@&ɆF*
    Ak4&nf&&&4BHrd@&&4rd
    Moe&/?O_o+"&=46;25+"&=46;25+"&=46;2#!"&=463!25#!"&=463!25#!"&=463!24&#!"3!26#!"&5463!2
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    
    
    @
    
    
    
    @
    
    
    
    @
    
    
    ^B@B^^BB^`@
    
    @
    @
    
    @
    @
    
    @
    @
    
    @
    @
    
    @
    @
    
    @
    3@
    
    
    MB^^B@B^^!54&"#!"&546;54 32@Ԗ@8(@(88( p (8jj(88(@(88@7+"&5&5462#".#"#"&5476763232>32@@
    @
    @KjKך=}\I&:k~&26]S
    &H&
    
    &H5KKut,4,	& x:;*4*&K#+"&546;227654$ >3546;2+"&="&/&546$ <X@@Gv"DװD"vG@@X<4L41!Sk @ G<_bb_4.54632&4&&M4&UF
    &""""&
    F&M&&M&%/B/%G-Ik"'!"&5463!62#"&54>4.54632#"&54767>4&'&'&54632#"&547>7676'&'.'&54632&4&&M4&UF
    &""""&
    FU
    &'8JSSJ8'&
    
    
    
    &'.${{$.'&
    
    &M&&M&%/B/%7;&'66'&;4[&$
    [2[
    $&[#/37#5#5!#5!!!!!!!#5!#5!5##!35!!!#'+/37;?3#3#3#3#3#3#3#3#3#3#3#3#3#3#3#3#3????  ^>>~??????~??~??^??^^?  ^??4&"2#"'.5463!2KjKKjv%'45%5&5L45&%jKKjK@5%%%%54L5&6'k54&"2#"'.5463!2#"&'654'.#32KjKKjv%'45%5&5L45&%%'4$.%%5&55&%jKKjK@5%%%%54L5&6'45%%%54'&55&6'
    yTdt#!"&'&74676&7>7>76&7>7>76&7>7>76&7>7>63!2#!"3!2676'3!26?6&#!"3!26?6&#!"g(sAeM,*$/
    !'&
    JP$G]
    x6,&`
    
    h`
    
    "9Hv@WkNC<.
    &k&
    ("$p"	.
    #u&#	%!'	pJvwEF#
    
    @
    
    
    
    @
    
    2#"'	#"'.546763!''!0#GG$/!''!	
    8""8
     X!	
    8"	"8
    	<)!!#"&=!4&"27+#!"&=#"&546;463!232(8&4&&4
    8(@(8
    qO@8((`(@Oq8(&4&&4&@`
    (88(
    Oq (8(`(q!)2"&42#!"&546;7>3!2  Ijjjj3e55e3gr`Ijjjj1GG1rP2327&7>7;"&#"4?2>54.'%3"&#"#ժ!9&WB03&K5!)V?@L'	
    >R>e;&L::%P>vO
    'h N_":-&+#
    :	'	+a%3 4'.#"32>54.#"7>7><5'./6$3232#"&#"+JBx)EB_I:I*CRzb3:dtB2P$$5.3bZF|\8!-T>5Fu\,,jn OrB,7676'5.'732>7"#"&#&#"OA
    zj=N!}:0e%	y
    +tD3~U#B4#
    g		'2
    %/!:
    T	bRU,7}%2"/&6;#"&?62+326323!2>?23&'.'.#"&"$#"#&=>764=464.'&#"&'!~:~!PP!~:~!P6,,$$%*'
    c2N 	
    ($"LA23Yl!x!*%%%%
    pP,T	NE	Q7^oH!+(
    3	 *Ueeu
    wga32632$?23&'.5&'&#"&"5$#"#&=>7>4&54&54>.'&#"&'2#".465!#".'&47>32!4&4>Q6,,Faw!*'
    =~Pl*	
    ($"LA23Yl	)!*<7@@7<
    
    <7@@7<
     pP,T	MF
    Q747ƢHoH!+(
    3	 tJHQ6wh',686,'$##$',686,'$##$/?%#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2&&&&&&&&&&&&&&&&&&&&f&&&&f&&&&f&&&&/?%#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2&&&&&&&&&&&&&&&&&&&&f&&&&f&&&&f&&&&/?%#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2&&&&&&&&&&&&&&&&&&&&f&&&&f&&&&f&&&&/?%#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2&&&&&&&&&&&&&&&&&&&&f&&&&f&&&&f&&&&/?O_o%+"&=46;2+"&=46;2+"&=46;2#!"&=463!2+"&=46;2#!"&=463!2#!"&=463!2#!"&=463!2
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    @
    
    
    
    
    
    
    
    @
    
    
    
    @
    
    
    
    @
    
    
    
    s
    
    
    s
    
    
    
    
    
    s
    
    
    
    
    
    s
    
    
    s
    
    
    /?O#"'&47632#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2
    			 	
    
    @
    
    
    
    
    
    @
    
    
    
    @
    
    @
    
    
    
    	 		 	
    
    
    s
    
    
    s
    
    
    s
    
    
    /?O#"&54632	#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2`		
    
    	 
    @
    
    
    
    
    
    @
    
    
    
    @
    
    @
    
    
    		
    @
    		
    
    
    s
    
    
    s
    
    
    s
    
    
    #"'#!"&5463!2632'
    mw@www
    '*wwww."&462!5	!"3!2654&#!"&5463!2pppp@
    
    @
    ^BB^^B@B^ppp@@ 
    @
    
    
     @B^^BB^^k%!7'34#"3276'	!7632k[[v
    
    6`%`$65&%[[k
    `5%&&'4&"2"&'&54 Ԗ!?H?!,,ԖԖmF!&&!Fm,%" $$ ^aa`@^aa-4'.'&"26% 547>7>2"KjKXQqYn	243nYqQ$!+!77!+!$5KK,ԑ	]""]ً	9>H7'3&7#!"&5463!2'&#!"3!26=4?6	!762xtt`  ^Qwww@?61B^^B@B^	@(` `\\\P`tt8`  ^Ͼww@w1^BB^^B~
    	@` \ \P+Z#!"&5463!12+"3!26=47676#"'&=# #"'.54>;547632www
    M8
    pB^^B@B^
    'sw-
    
    9*##;Noj'
    #ww@w
    "^BB^^B
    
    	*
    "g`81T`PSA:'*4/D#!"&5463!2#"'&#!"3!26=4?632"'&4?62	62www@?61
    
    B^^B@B^	@
    
    BRnBBn^ww@w1
    ^BB^^B
    	@
    BnnBC"&=!32"'&46;!"'&4762!#"&4762+!54624&&4&&44&&4&&44&&44&&4&&44&&6'&'+"&546;267:	&&&&	s@	
    Z&&&&Z
    	+6'&''&'+"&546;267667:	:	&&&&		s@	
    :	
    Z&&&&Z
    	:
    	z6'&''&47667S:	:	s@	
    :4:
    	|	&546h!!0a
    
    
    $#!"&5463!2#!"&5463!2&&&&&&&&@&&&&&&&&#!"&5463!2&&&&@&&&&&54646&5-	:	s:	
    :4:
    	+&5464646;2+"&5&5-		&&&&	:	s:	
    :	
    &&&&
    	:
    	&54646;2+"&5-	&&&&	s:	
    &&&&
    	62#!"&!"&5463!24@&&&&-:&&&&	"'&476244444Zf	"/&47	&4?62S44444#/54&#!4&+"!"3!;265!26 $$ &&&&&&&&@^aa@&&&&&&&&+^aa54&#!"3!26 $$ &&&&@^aa@&&&&+^aa+74/7654/&#"'&#"32?32?6 $$ }ZZZZ^aaZZZZ^aa#4/&"'&"327> $$ [4h4[j^aa"ZiZJ^aa:F%54&+";264.#"32767632;265467>$ $$ oW	5!"40K(0?i+! ":^aaXRdD4!&.uC$=1/J=^aa.:%54&+4&#!";#"3!2654&+";26 $$ ```^aa^aa/_#"&=46;.'+"&=32+546;2>++"&=.'#"&=46;>7546;232m&&m l&&l m&&m l&&ls&%&&%&&%&&%&&&l m&&m l&&l m&&m ,&%&&%&&%&&%&#/;"/"/&4?'&4?627626.  6 $$ I
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    ͒(r^aaɒ
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    (_^aa ,	"'&4?6262.  6 $$ Z4f44fz(r^aaZ&4ff4(_^aa	"4'32>&#" $&6$  WoɒV󇥔 zzz8YW˼[?zz:zz@5K #!#"'&547632!2A4@%&&K%54'u%%&54&K&&4A5K$l$L%%%54'&&J&j&K5K #"/&47!"&=463!&4?632%u'43'K&&%@4AA4&&K&45&%@6%u%%K&j&%K55K&$l$K&&u#5K@!#"'+"&5"/&547632K%K&56$K55K$l$K&&#76%%53'K&&%@4AA4&&K&45&%%u'5K"#"'&54?63246;2632K%u'45%u&&J'45%&L44L&%54'K%5%t%%$65&K%%4LL4@&%%K',"&5#"#"'.'547!34624&bqb>#5&44&6Uue7D#		"dž&/#!"&546262"/"/&47'&463!2
    &@&&4L
    
    r&4
    
    r
    
    L&&
    4&&&L
    
    rI@&
    
    r
    
    L4&&
    s/"/"/&47'&463!2#!"&546262&4
    
    r
    
    L&&
    &@&&4L
    
    r@@&
    
    r
    
    L4&&
    4&&&L
    
    r##!+"&5!"&=463!46;2!28(`8((8`(88(8((8(8 (8`(88(8((8(88(`8#!"&=463!28(@(88((8 (88((88z5'%+"&5&/&67-.?>46;2%6.@g.L44L.g@.
    .@g.
    L44L
    .g@.g.n.4LL43.n.gg.n.34LL4͙.n.g-  $54&+";264'&+";26/a^
    
    
    
    
    
    
    
    ^aa
    
    fm
    @
    J%55!;263'&#"$4&#"32+#!"&5#"&5463!"&46327632#!2$$8~+(888(+}(`8((8`]]k==k]]8,8e8P88P8`(88(@MMN4&#"327>76$32#"'.#"#"&'.54>54&'&54>7>7>32&z&^&./+>+)>J>	Wm7'
    '"''? &4&c&^|h_bml/J@L@#*
    #M6:D
    35sҟw$	'%
    '	\t3#!"&=463!2'.54>54''
    
    
    @
    1O``O1CZZ71O``O1BZZ7@
    
    @
    N]SHH[3`)TtbN]SHH[3^)Tt!1&' 547 $4&#"2654632 '&476 ==嘅}(zVl''ٌ@uhyyhu9(}VzD##D#	=CU%7.5474&#"2654632%#"'&547.'&476!27632#76$7&'7+NWb=嘧}(zVj\i1
    z,X
    Y[6
    $!%'FuJiys?_9ɍ?kyhun(}VzYF
    KA؉La
    02-F"@Qsp@_!3%54&+";264'&+";26#!"&'&7>2
    
    
    
    
    
    
    
    #%;"";%#`,@L5
    `		
    `	L`4LH`
    `	
    a	5
    L@#37;?Os!!!!%!!!!%!!!!!!!!%!!4&+";26!!%!!!!74&+";26%#!"&546;546;2!546;232 `@ `@ @@ @
    @
    
    @
     @  
    @
    
    @
    L44LL4^B@B^^B@B^4L  @@@@    @@  
    
    
    @@   
    
    
    M4LL44L`B^^B``B^^B`L7q.+"&=46;2#"&=".'673!54632#"&=!"+"&=46;2>767>3!546327>7&54>$32dFK1A
    0)L.٫C58.H(Ye#3C $=463!22>=463!2#!"&5463!2#!"&5463!2H&&/7#"&463!2!2LhLLhLhLLh!
    &&&&&&4hLLhLLhLLhL%z<
    0&4&&)17&4&
    &&#!"&5463!2!2\@\\@\\@\\\\ W*#!"&547>3!2!"4&5463!2!2W+B"5P+B@"5^=\@\ \H#t3G#3G:_Ht\\ @+32"'&46;#"&4762&&4&&44&&44&&4@"&=!"'&4762!54624&&44&&44&&4&&
    !!!3!!0@67&#".'&'#"'#"'32>54'6#!"&5463!28ADAE=\W{O[/5dI
    kDtpČe1?*w@www	(M&
    B{Wta28r=Ku?RZ^GwT	-@www$2+37#546375&#"#3!"&5463ww/Dz?swww@wS88	ww#'.>4&#"26546326"&462!5!&  !5!!=!!%#!"&5463!2B^8(Ԗ>@|K55KK55K^B(8ԖԖ€>v5KK55KKHG4&"&#"2654'32#".'#"'#"&54$327.54632@pp)*Pppp)*Pb	'"+`N*(a;2̓c`." b
    PTY9ppP*)pppP*)b ".`(*Nͣ2ͣ`+"'	b
    MRZB4&"24&"264&"26#"/+"&/&'#"'&547>7&/.=46?67&'&547>3267676;27632#"&'"'#"'&547&'&=4767&547>32626?2#"&'"'#"'&547&'&=4767&547>32626?2ԖLhLKjKLhLKjK	"8w
    s%(")v
    
    
    >
    	"8x
    s"+")v
    <
    3zLLz3
    3>8L3)x3
    3zLLz3
    3>8L3)x3
    ԖԖ4LL45KK54LL45KK
    #)0C	wZl/
    
    Y	
    N,&
    #)0C	vZl.
    
    YL0"qG^^Gqq$ ]G)FqqG^^Gqq$ ]G)Fq%O#"'#"&'&4>7>7.546$ '&'&'# '32$7>54'VZ|$2$
    |E~E<|
    $2$|ZV:(t}X(	
    &%(Hw쉉xH(%&	(XZT\MKG<m$4&"24&#!4654&#+32;254'>4'654&'>7+"&'&#!"&5463!6767>763232&4&&4N2`@`%)7&,$)'  
    %/0Ӄy#5 +1	&<$]`{t5KK5$e:1&+'3TF0h4&&4&3M:;b^v+D2 5#$IIJ 2E=\$YJ!$MCeM-+(K55KK5y*%Au]c>q4&"24&'>54'654&'654&+"+322654&5!267+#"'.'&'&'!"&5463!27>;2&4&&4+ 5#bW0/%
      ')$,&7)%`@``2Nh0##T3'"(0;e$5KK5 tip<&	1&4&&4&#\=E2&%IURI$#5 2D+v^b;:M2gc]vDEA%!bSV2MK55K(,,MeCM$!I@#"&547&547%6@?V8b%	I)94.""'."	67"'.54632>32+C`\hxeH>Hexh\`C+ED4
    #LoP$$Po>Q|I.3MCCM3.I|Q/Z$_dC+I@$$@I+ (@%#!"&5463!2#!"3!:"&5!"&5463!462
    ww@
    
    B^^B 
    4&@&&&4 ` 
    ww
     
    ^B@B^24& && &%573#7.";2634&#"35#347>32#!"&5463!2FtIG9;HIxI<,tԩw@wwwz4DD43EEueB&#1s@www.4&"26#!+"'!"&5463"&463!2#2&S3Ll&c4LL44LL4c@&&{LhLLhL'?#!"&5463!2#!"3!26546;2"/"/&47'&463!2www@B^^B@B^@&4t
    
    r
    
    &&`ww@w@^BB^^B@R&t
    
    r
    
    4&&@"&5!"&5463!462	#!"&54&>3!2654&#!*.54&>3!24&@&&&4 sw
    
    @B^^B
    
    @w4& && &3@w
     
    ^BB^ 
    
    I&5!%5!>732#!"&=4632654&'&'.=463!5463!2!2JJSq*5&=CKuuKC=&5*q͍S8( ^B@B^ (8`N`Ѣ΀GtO6)"M36J[E@@E[J63M")6OtG(8`B^^B`8	',26'&'&76'6'&6&'&6'&4#"7&64 654'.'&'.63226767.547&7662>76#!"&5463!2		/[		.
    =XĚ4,+"*+, 1JH'5G::#L5+@=&#w@wwwP.1GE,ԧ44+	;/5cFO:>JJ>:O9W5$@(b4@www'?$4&"2$4&"2#!"&5463!3!267!2#!#!"&5!"'&762&4&&4&&4&&48(@(88(c==c(8*&&*6&4&&4&&4&&4& (88(@(88HH88`(@&&('@1c4&'.54654'&#"#"&#"32632327>7#"&#"#"&54654&54>76763232632
    
    
    	N<;+gC8A`1a99gw|98aIe$IVNz<:LQJ
    ,-[%	061I()W,$-7,oIX()oζA;=N0
    eTZ
    	 (O#".'&'&'&'.54767>3232>32e^\4?P	bMO0#382W#& 9C9
    Lĉ"	82<*9FF(W283#0OMb	P?4\^eFF9*<28	"L
    9C9 &#!"3!2654&#!"&5463!2`B^^B@B^^ީwww@w^BB^^B@B^ww@w#!72#"'	#"'.546763YY!''!0#GG$/!''!&UUjZ	
    8""8
     X!	
    8"	"8
    	GW4.'.#"#".'.'.54>54.'.#"32676#!"&5463!2 1.-
    +$)
    c8
    )1)
    
    05.D
    <90)$9w@wwwW
    
    )1)
    7c
    )$+
    -.1 9$)0<
    D.59@www,T1# '327.'327.=.547&54632676TC_LҬ#+i!+*pDNBN,y[`m`%i]hbEm}au&,SXK
    &$f9s?
    _#"!#!#!54632V<%'ЭHH	(ںT\dksz &54654'>54'6'&&"."&'./"?'&546'&6'&6'&6'&6'&74"727&6/a49[aA)O%-j'&]]5r-%O)@a[9'
    0BA;+
    
    
    >HCU
    
    
    	#	
    	
    $				2	
    AC: oM=a-6OUwW[q	( -	q[WwUP6$C
    
    +) (	
    8&/
    &eMa	
    &
    $	
    
    %+"&54&"32#!"&5463!54 &@&Ԗ`(88(@(88(r&&jj8((88(@(8#'+2#!"&5463"!54&#265!375!35!B^^BB^^B
    
    
    
    `^B@B^^BB^
    
    
    `
    !="&462+"&'&'.=476;+"&'&$'.=476;pppp$!$qr
    %}#ߺppp!E$
    rqܢ#
    %
    ֻ!)?"&462"&4624&#!"3!26!.#!"#!"&547>3!2/B//B//B//B
    @
    
    
    2^B@B^\77\aB//B//B//B/@
    
    
    
    
    ~B^^B@2^5BB52.42##%&'.67#"&=463! 25KK5L4_u:B&1/&.-
    zB^^B4LvyKjK4L[!^k'!A3;):2*547&5462;U gIv0ZZ0L4@Ԗ@4L2RX='8P8'=XR U;Ig0,3lb??bl34LjjL4*\(88(\}I/#"/'&/'&?'&'&?'&76?'&7676767676`
    (5)0
    )*)
    0)5(
    
    (5)0
    ))))
    0)5(
    *)
    0)5(
    )5)0
    )**)
    0)5)
    
    )5)0
    )*5h$4&"24&#!4>54&#"+323254'>4'654&'!267+#"'&#!"&5463!2>767>32!2&4&&4N2$YGB
    (HGEG  HQ#5K4Li!<;5KK5 
    A#
    ("/?&}vh4&&4&3M95S+C=,@QQ9@@IJ 2E=L5i>9eME;K55K	J7R>@#zD<5=q%3#".'&'&'&'.#"!"3!32>$4&"2#!"#"&?&547&'#"&5463!&546323!2`  #A<(H(GY$2NL4K5#aWTƾh&4&&4K5;=!ihv}&?/"(
    #A
     5K2*!	Q@.'!&=C+S59M34L=E2 JI UR@@&4&&4&5K;ELf9>igR7J	K5h4&"24#"."&#"4&#"".#"!54>7#!"&54.'&'.5463246326326&4&&4IJ 2E=L43M95S+C=,@QQ9@@E;K55K	J7R>@#zD9eMZ4&&4&<#5K4LN2$YGB
    (HGEG  HV;5KK5 
    A#
    ("/?&}vhi!<4<p4.=!32>332653272673264&"2/#"'#"&5#"&54>767>5463!2@@2*!	Q@.'!&=C+S59M34L.9E2 JI UR&4&&4&Lf6Aig6Jy#@>R7J	K55K;E@TƾH  #A<(H(GY$2NL4K#5#a=4&&4&D=ihv}&?/"(
    #A
     5KK5;+54&#!764/&"2?64/!26 $$ &
    [6[[j6[&^aa@&4[[6[[6&+^aa+4/&"!"3!277$ $$ [6[
    &&[6j[
    ^aae6[j[6&&4[j[^aa+4''&"2?;2652?$ $$ [6[[6&&4[^aaf6j[[6[
    &&[^aa+4/&"4&+"'&"2? $$ [6&&4[j[6[j^aad6[&&
    [6[[j^aa  $2>767676&67>?&'4&'.'.'."#&6'&6&'3.'.&'&'&&'&6'&>567>#7>7636''&'&&'.'"6&'6'..'/"&'&76.'7>767&.'"76.7"7"#76'&'.'2#22676767765'4.6326&'.'&'"'>7>&&'.54>'>7>67&'&#674&7767>&/45'.67>76'27".#6'>776'>7647>?6#76'6&'676'&67.'&'6.'.#&'.&6'&.5/a^D&"	
    
    
    	4
    	$!	#
    	
    		
    	
    
    
    
     
    .0"Y
    	+
    
    
    !	
    	
    
    $	
    	"
    +
    
    
    		
    	Α	
    		
    ^aa
    
    	
    
    			
    	
    
    	
    
    		
    	
    		P '-(	#	*	$
    
    "
    !				
    *
    !	
    
    (				
    
    	
    $
    		
    2
    ~/$4&"2	#"/&547#"32>32&4&&4V%54'j&&'/덹:,{	&4&&4&V%%l$65&b'Cr!"k[G+;%!5!!5!!5!#!"&5463!2#!"&5463!2#!"&5463!2&&&&&&&&&&&&@&&&&&&&&&&&&{#"'&5&763!2{'
    **)*)'/!5!#!"&5!3!26=#!5!463!5463!2!2^B@B^&@&`^B`8(@(8`B^ B^^B&&B^(88(^G	76#!"'&?	#!"&5476	#"'&5463!2	'&763!2#"'c)'&@**@&('c(&*cc*&'
    *@&('c'(&*cc*&('c'(&@*19AS[#"&532327#!"&54>322>32"&462 &6 +&'654'32>32"&462QgRp|Kx;CByy 6Fe=
    BPPB
    =eF6 ԖV>!pRgQBC;xK|Ԗ{QNa*+%xx5eud_C(+5++5+(C_due2ԖԖ>NQ{u%+*jԖԖp!Ci4/&#"#".'32?64/&#"327.546326#"/&547'#"/&4?632632(* 8(!)(A(')* 8(!USxySSXXVzxTTUSxySSXXVzxT@( (8 *(('((8 SSUSx{VXXTTSSUSx{VXXT#!"5467&5432632t,Ԟ;F`j)6,>jK?s
    !%#!"&7#"&463!2+!'5#8EjjE8@&&&&@XYY&4&&4&qDS%q%N\jx2"&4#"'#"'&7>76326?'&'#"'.'&676326326&'&#"32>'&#"3254?''74&&4&l
    NnbSVZbRSD	
    zz
    	DSRb)+USbn
    \.2Q\dJ'.2Q\dJ.Q2.'Jd\Q2.'Jd`!O`	`&4&&4r$#@B10M5TNT{L5T
    	II	
    T5L;l'OT4M01B@#$*3;$*3;;3*$;3*$:$/ @@Qq`@"%3<2#!"&5!"&5467>3!263!	!!#!!46!#!(88(@(8(8(`((8D<++<8(`(8(`8(@(88( 8((`(8((<`(8(``(8||?%#"'&54632#"'&#"32654'&#"#"'&54632|udqܟs]
    =
    OfjL?R@T?"&
    >
    f?rRX=Edudsq
    =
    _MjiL?T@R?E& f
    >
    =XRr?b!1E)!34&'.##!"&5#3463!24&+";26#!"&5463!2
    
    08((88(@(8
    
    
    
    8((88((`(1
    
    `(88((88(@
    
    
    `(88(@(8(`#!"&5463!2w@www`@www/%#!"&=463!2#!"&=463!2#!"&=463!2&&&&&&&&&&&&&&&&&&&&&&&&@'7G$"&462"&462#!"&=463!2"&462#!"&=463!2#!"&=463!2ppppppp
    @
    
    
    ppp
    @
    
    
    
    @
    
    
    Рpppppp
    
    
    ppp
    
    
    
    
    
    <L\l|#"'732654'>75"##5!!&54>54&#"'>3235#!"&=463!2!5346=#'73#!"&=463!2#!"&=463!2}mQjB919+i1$AjM_3</BB/.#U_:IdDRE
    @
    
    k*Gj
    @
    
    
    @
    
    
    TP\BX-@8
    C)5XsJ@$3T4+,:;39SG2S.7<
    
    vcc))%Ll}
    
    
    
    
    5e2#!"&=463%&'&5476!2/&'&#"!#"/&'&=4'&?5732767654'&@02uBo
    T25XzrDCBBEh:%)0%HPIP{rQ9f#-+>;I@KM-/Q"@@@#-bZ$&P{<8[;:XICC>.'5oe80#.0(
    l0&%,"J&9%$<=DTIcs&/6323276727#"327676767654./&'&'737#"'&'&'&54'&54&#!"3!260%
    <4"VRt8<@<
    -#=XYhW8+0$"+dTLx-'I&JKkmuw<=V@!X@		v
    '|N;!/!$8:IObV;C#V
    
    &
    (mL.A:9 !./KLwPM$@@
    /?O_o%54&#!"3!2654&#!"3!2654&#!"3!2654&#!"3!2654&#!"3!2654&#!"3!2654&#!"3!2654&#!"3!2654&#!"3!26#!"&5463!2@@@@@@@@@^BB^^B@B^NB^^B@B^^#+3	'$"/&4762%/?/?/?/?%k*66bbbb|<<<bbbbbbbb%k66Ƒbbb<<<<^bbbbbb@M$4&"2!#"4&"2&#"&5!"&5#".54634&>?>;5463!2LhLLh
    		LhLLhL!'ԖԖ@'!&	
    ?&&LhLLhL		
    hLLhL	jjjj	&@6/"
    &&J#"'676732>54.#"7>76'&54632#"&7>54&#"&54$ ok;	-j=yhwi[+PM3ѩk=J%62>VcaaQ^ ]G"'9r~:`}Ch  0=Z٤W=#uY2BrUI1^Fk[|aL2#!67673254.#"67676'&54632#"&7>54&#"#"&5463ww+U	,iXբW<"uW1AqSH1bdww'74'!3#"&46327&#"326%35#5##33#!"&5463!20U6cc\=hlࠥYmmnnnnw@wwww&46#Ȏ;edwnnnnn@www	]#/#"$&6$3 &#"32>7!5!%##5#5353Еttu{zz{SZC`cot*tq||.EXN#??,<!5##673#$".4>2"&5!#2!46#!"&5463!2rM*
    *M~~M**M~~M*jjj&&&&`P%挐|NN||NN|*jjjj@&&&&@
    "'&463!2@4@&Z4@4&@
    #!"&4762&&4Z4&&4@@
    "'&4762&4@4&@&4&@
    "&5462@@4&&44@&&@
    3!!%!!26#!"&5463!2`m`
    ^BB^^B@B^
     `@B^^BB^^@
    "'&463!2#!"&4762@4@&&&&44@4&Z4&&4@
    "'&463!2@4@&4@4&@
    #!"&4762&&4Z4&&4@:#!"&5;2>76%6+".'&$'.5463!2^B@B^,9j9Gv33vG9H9+bI\
    A+=66=+A
    [">nSMA_:B^^B1&c*/11/*{'VO3@/$$/@*?Nh^l+!+"&5462!4&#"!/!#>32]_gTRdgdQV?UI*Gg?!2IbbIJaaiwE3300 084#"$'&6?6332>4.#"#!"&54766$32z䜬m
    IwhQQhbF*@&('kz
    	
    _hQнQGB'(&*eoz(q!#"'&547"'#"'&54>7632&4762.547>32#".'632%k'45%&+~(
    (h		&
    
    \(
    (		&
    
    ~+54'k%5%l%%l$65+~
    
    &		(
    (\
    
    &		h(
    (~+%'!)19K4&"24&"26.676&$4&"24&"24&"2#!"'&46$ KjKKjKjKKje2.e<^P,bKjKKjKjKKjKjKKj##LlLKjKKjKjKKjK~-M7>7&54$ LhяW.{+9E=cQdFK1A
    0)pJ2`[Q?l&٫C58.H(Y':d 6?32$64&$ #"'#"&'&4>7>7.546'&'&'# '32$7>54'Yj`a#",5NK
    ~EVZ|$2$
    |:
    $2$|ZV:(t}hfR88T
    h̲X(	
    &%(Hw(%&	(XZT\MKG{x|!#"'.7#"'&7>3!2%632u
    
    j
    H{(e9
    1bU#!"&546;5!32#!"&546;5!32#!"&546;5463!5#"&5463!2+!2328((88(``(88((88(``(88((88(`L4`(88(@(88(`4L`(8 (88(@(88((88(@(88((88(@(84L8(@(88((8L48OY"&546226562#"'.#"#"'.'."#"'.'.#"#"&5476$32&"5462И&4&NdN!>!
    1X:Dx++ww++xD:X1
    -U
    !*,*&4&hh&&2NN2D&
    
    ..J<
    $$
    767#"&'"&547&547&547.'&54>2l4
    
    2cKEooED
    )
    
    
    )
    Dg-;</-
    ?.P^P.?
    -/<;-gYY
    
    .2 L4H|O--O|HeO,,Oeq1Ls26%%4.2,44,2.4%%62sL1qcqAAq4#!#"'&547632!2#"&=!"&=463!54632
    
    		@	
    `
    		
    
    
    `?`
    
    
    @	
    	@	
    !		
    
    
    
    54&+4&+"#"276#!"5467&5432632
    
    
    	`		_
    v,Ԝ;G_j)``
    
    
    			_ԟ7
    ,>jL>54'&";;265326#!"5467&5432632			
    
    
    
    v,Ԝ;G_j)	`		
    
    `7
    ,>jL>X`$"&462#!"&54>72654&'547 7"2654'54622654'54&'46.' &6 &4&&4&yy%:hD:FppG9Fj 8P8 LhL 8P8 E;
    Dh:%>4&&4&}yyD~s[4Dd=PppP=d>hh>@jY*(88(*Y4LL4Y*(88(*YDw"
    A4*[s~>M4&"27 $=.54632>32#"' 65#"&4632632 65.5462&4&&4G9&
    <#5KK5!!5KK5#<
    &ܤ9Gpp&4&&4&@>buោؐ&$KjKnjjKjK$&jjb>Ppp
    %!5!#"&5463!!35463!2+32@\\8(@(8\@@\\@\(88(\@34#"&54"3#!"&5!"&5>547&5462;U gI@L4@Ԗ@4L2RX='8P8'=XR U;Ig04LjjL4*\(88(\@"4&+32!#!"&+#!"&5463!2pP@@Pjj@@\@\&0pj	 \\&-B+"&5.5462265462265462+"&5#"&5463!2G9L44L9G&4&&4&&4&&4&&4&L44L
    &=d4LL4d=&&`&&&&`&&&&4LL4
     &#3CS#!"&5463!2!&'&!"&5!463!2#!"&52#!"&=4632#!"&=463(8((88((`x
    c`(8@@@`((88(@(8(D98(`@@@@@/?O_o-=%+"&=46;25+"&=46;2+"&=46;2%+"&=46;2+"&=46;2%+"&=46;2%+"&=46;2%+"&=46;2+"&=46;2%+"&=46;2%+"&=46;2%+"&=46;2+"&=46;2%+"&=46;2%+"&=46;2+"&=46;2%+"&=46;2+"&=46;2!!!5463!2#!"&5463!2
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    &&&&@
    
    @
    @
    
    @
    
    @
    
    @
    @
    
    @
    @
    
    @
    @
    
    @
    @
    
    @
    @
    
    @
    @
    
    @
    @
    
    @
    @
    
    @
    @
    
    @
    @
    
    @
    @
    
    @
    @
    
    @
    @
    
    @
    @
    
    @
    
    @
    
    @
    
    
    `&&&&
    /?O_o%+"&=46;25+"&=46;2+"&=46;2%+"&=46;2+"&=46;2%+"&=46;2%+"&=46;2+"&=46;2%+"&=46;2+"&=46;2!!#!"&=!!5463!24&+"#54&+";26=3;26%#!"&5463!463!2!2
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    8(@(8
    @
    
    @
    
    @
    
    @
    
    @
    &&&@8((8@&@
    
    @
    @
    
    @
    
    @
    
    @
    @
    
    @
    @
    
    @
    @
    
    @
    @
    
    @
    @
    
    @
    @
    
    @
    
    @
    
    @
     (88( 
    
    @
    
    ``
    
    
    
    ``
    -&&& (88(&@<c$4&"2!#4&"254&+54&+"#";;26=326+"&5!"&5#"&46346?>;463!2KjKKjKjKKj&ԖԖ&&@&&KjKKjK
    jKKjK .&jjjj&4&@@&&#'1?I54&+54&+"#";;26=326!5!#"&5463!!35463!2+32 \\8(@(8\  \\@\(88(\:
    #32+53##'53535'575#5#5733#5;2+3@E&&`@@`    `@@`&&E%@`@ @ @		      		@ 0
    @!3!57#"&5'7!7!K5@   @5K@@@ #3%4&+"!4&+";265!;26#!"&5463!2&&&&&&&&w@www&&@&&&&@&&@www#354&#!4&+"!"3!;265!26#!"&5463!2&&&&&@&&@&w@www@&@&&&&&&@&:@www-M3)$"'&4762	"'&4762	s
    2
    
    .
    
    
    
    2
    
    w
    2
    
    .
    
    
    
    2
    
    w
    2
    
    
    
    
    
    2
    
    ww
    
    2
    
    
    
    
    
    2
    
    ww
    M3)"/&47	&4?62"/&47	&4?62S
    .
    
    2
    
    w
    
    2
    
    
    .
    
    2
    
    w
    
    2
    
    M
    .
    
    2
    
    
    
    2
    
    .
    
    .
    
    2
    
    
    
    2
    
    .M3S)$"'	"/&4762"'	"/&47623
    2
    
    ww
    
    2
    
    
    
    
    
    2
    
    ww
    
    2
    
    
    
    
    2
    
    w
    
    2
    
    
    
    .v
    2
    
    w
    
    2
    
    
    
    .M3s)"'&4?62	62"'&4?62	623
    .
    
    .
    
    2
    
    
    
    2
    
    .
    
    .
    
    2
    
    
    
    2
    .
    
    
    
    2
    
    w
    
    2v
    .
    
    
    
    2
    
    w
    
    2-Ms3	"'&4762s
    w
    
    2
    
    .
    
    
    
    2
    ww
    
    2
    
    
    
    
    
    2
    MS3"/&47	&4?62S
    .
    
    2
    
    w
    
    2
    
    M
    .
    
    2
    
    
    
    2
    
    .M
    3S"'	"/&47623
    2
    
    ww
    
    2
    
    
    
    m
    2
    
    w
    
    2
    
    
    
    .M-3s"'&4?62	623
    .
    
    .
    
    2
    
    
    
    2-
    .
    
    
    
    2
    
    w
    
    2/4&#!"3!26#!#!"&54>5!"&5463!2
    
    
    @
    ^B  &&  B^^B@B^ @
    
    
    MB^%Q=
    &&& $$ (r^aa(^aa!C#!"&54>;2+";2#!"&54>;2+";2pPPpQh@&&@j8(PppPPpQh@&&@j8(Pp@PppPhQ&&j (8pPPppPhQ&&j (8p!C+"&=46;26=4&+"&5463!2+"&=46;26=4&+"&5463!2Qh@&&@j8(PppPPpQh@&&@j8(PppPPp@hQ&&j (8pPPppP@hQ&&j (8pPPpp@@	#+3;G$#"&5462"&462"&462#"&462"&462"&462"&462#"&54632K54LKj=KjKKjKjKKjL45KKjK<^^^KjKKjppp\]]\jKL45KjKKjKujKKjK4LKjKK^^^jKKjKpppr]]\ $$ ^aaQ^aa,#"&5465654.+"'&47623 #>bqb&44&ɢ5"		#D7euU6&4&m1X".4>2".4>24&#""'&#";2>#".'&547&5472632>3=T==T==T==T=v)GG+v@bRRb@=&\Nj!>3lkik3hPTDDTPTDDTPTDDTPTDD|xxXK--K|Mp<#	)>dA{RXtfOT# RNftWQ,%4&#!"&=4&#!"3!26#!"&5463!2!28(@(88((88((8\@\\@\\(88(@(88(@(88@\\\\ u'E4#!"3!2676%!54&#!"&=4&#!">#!"&5463!2!2325([5@(\&8((88((8,9.+C\\@\ \6Z]#+#,k(88(@(88(;5E>:5E\\\ \1. $4@"&'&676267>"&462"&462.  > $$ n%%/02
    KjKKjKKjKKjKfff^aayy/PccP/jKKjKKjKKjKffff@^aa$4@&'."'.7>2"&462"&462.  > $$ n20/%7KjKKjKKjKKjKfff^aa3/PccP/y	jKKjKKjKKjKffff@^aa+7#!"&463!2"&462"&462.  > $$ &&&&KjKKjKKjKKjKfff^aa4&&4&jKKjKKjKKjKffff@^aa#+3C54&+54&+"#";;26=3264&"24&"2$#"'##"3!2@@KjKKjKKjKKjKܒ,gjKKjKKjKKjKXԀ,,#/;GS_kw+"=4;27+"=4;2'+"=4;2#!"=43!2%+"=4;2'+"=4;2+"=4;2'+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;54;2!#!"&5463!2`````````````````````p`K55KK55Kp`````````````````````````5KK55KK@*V#"'.#"63232+"&5.5462#"/.#"#"'&547>32327676R?d^7ac77,9xm#@#KjK#
    ڗXF@Fp:f_ #WIpp&3z	h[ 17q%q#::#5KKu't#!X:	%#+=&>7p@*2Fr56565'5&'.	#"32325#"'+"&5.5462#"/.#"#"'&547>32327676@ͳ8
    2.,#,fk*1x-!#@#KjK#
    ڗXF@Fp:f_ #WIpp&3z	e`vo8t-	:5	[*#::#5KKu't#!X:	%#+=&>7p
    3$	"/&47	&4?62#!"&=463!2I.
    
    2
    
    w
    
    2
    
    
    -@).
    
    2
    
    
    
    2
    
    .
    -@@-S$9%"'&4762		/.7>	"/&47	&4?62i2
    
    .
    
    
    
    2
    
    w
    E>
    
    u>
    
    .
    
    2
    
    w
    
    2
    
    
    2
    
    
    
    
    
    2
    
    ww
    !
    
    
    
    
    h.
    
    2
    
    
    
    2
    
    .
    ;#"'&476#"'&7'.'#"'&476'
    )'s
    "+5+@ա'
    )'F*4*Er4M:}}8GO
    *4*~
    (-/'	#"'%#"&7&67%632B;><V??V --C4
    <B=cB5!%%!b 7I))9I7	#"'.5!".67632y(
    #
    
    ##@,(
    )8!	!++"&=!"&5#"&=46;546;2!76232-SSS
    
    		SS``		
    
    K$4&"24&"24&"27"&5467.546267>5.5462 8P88P88P88P8P88P4,CS,4pp4,,4pp4,6d7AL*',4ppP88P8P88P8HP88P8`4Y&+(>EY4PppP4Y4Y4PppP4Y%*54&#"#"/.7!2<'G,')7N;2]=A+#H
    
    
    0PRH6^;<T%-S#:/*@Z}
    
    
    >h.%#!"&=46;#"&=463!232#!"&=463!2&&&@@&&&@&&&&&&&&&&&&f&&&&b#!"&=463!2#!"&'&63!2&&&&''%@% &&&&&&&&k%J%#/&'#!53#5!36?!#!'&54>54&#"'6763235
    Ź}4NZN4;)3.i%Sin1KXL7觧*		#&		*@jC?.>!&1'\%Awc8^;:+54&#"'6763235
    Ź}4NZN4;)3.i%PlnEcdJ觧*		#&		*-@jC?.>!&1'\%AwcBiC:D'P%!	#!"&'&6763!2P&:&?&:&?5"K,)""K,)h#".#""#"&54>54&#"#"'./"'"5327654.54632326732>32YO)I-D%n "h.=T#)#lQTv%.%P_	%	
    %_P%.%vUPl#)#T=@/#,-91P+R[Ql#)#|''
    59%D-I)OY[R+P19-,##,-91P+R[YO)I-D%95%_P%.%v'3!2#!"&463!5&=462 =462 &546 &&&&&4&r&4&@&4&&4&G݀&&&&f
    sCK&=462	#"'32=462!2#!"&463!5&'"/&4762%4632e*&4&i76`al&4&&&&&}n
    
    R
    
    
    
    R
    zfOego&&5`3&&&4&&4&
    D
    
    R
    
    
    
    R
    zv"!676"'.5463!2@@w^Cct~55~tcC&&@?JV|RIIR|V&&#G!!%4&+";26%4&+";26%#!"&546;546;2!546;232@@@@L44LL4^B@B^^B@B^4L  N4LL44L`B^^B``B^^B`LL4&"2%#"'%.5!#!"&54675#"#"'.7>7&5462!467%632&4&&4@o&&}c ;pG=(
    8Ai8^^.&4&&4&`	`fs&& jo/;J!#2
     KAE*,B^^B!`	$ -4&"2#"/&7#"/&767%676$!28P88PQr	@
    U	@
    {`PTP88P8P`
    	@U	@rQ!6'&+!!!!2Ѥ
    8̙e;<*@8 !GGGQII %764'	64/&"2 $$ f3f4:4^aaf4334f:4:^aa %64'&"	2 $$ :4f3f4F^aa4f44f^aa 764'&"27	2 $$ f:4:f4334^aaf4:4f3^aa %64/&"	&"2 $$ -f44f4^aa4f3f4:w^aa@7!!/#35%!'!%j/d
    jg2|855dc b@!	!%!!7!FG)DH:&HdS)U4&"2#"/ $'#"'&5463!2#"&=46;5.546232+>7'&763!2&4&&4f]wq4qw]	`dC&&:FԖF:&&Cd`4&&4&	]]	`d[}&&"uFjjFu"&&y}[d#2#!"&546;4 +"&54&" (88(@(88( r&@&Ԗ8((88(@(8@&&jj'3"&462&    .  > $$ Ԗ>aX,fff^aaԖԖa>TX,,~ffff@^aa/+"&=46;2+"&=46;2+"&=46;28((88((88((88((88((88((8 (88((88((88((88((88((88/+"&=46;2+"&=46;2+"&=46;28((88((88((88((88((88((8 (88((88(88((88(88((885E$4&"2%&'&;26%&.$'&;276#!"&5463!2KjKKj
    
    
    
    f	
    
    \
    
    w@wwwjKKjK"G
    
    
    ܚ
    
    f
    
    
    
    
    
    	@www  $64'&327/a^  !  ^aaJ@%%	65/	64'&"2	"/64&"'&476227<ij6j6u%k%~8p8}%%%k%}8p8~%<@%%% !232"'&76;!"/&76 
    ($>(
    		J &%$%64/&"'&"2#!"&5463!2ff4-4ff4fw@wwwf4f-f4@www/#5#5'&76	764/&"%#!"&5463!248`
    # \P\w@www4`8
    
    #@  `\P\`@www)4&#!"273276#!"&5463!2& *f4
    'w@www`&')4f*@www%5	64'&"3276'7>332#!"&5463!2`'(wƒa8!
    ,j.(&w@www`4`*'?_`ze<	bw4/*@www-.  6 $$  (r^aaO(_^aa
    -"'&763!24&#!"3!26#!"&5463!2yB((
    @
    
    
    w@www]#@## 
    
    @
    @www
    -#!"'&7624&#!"3!26#!"&5463!2y((@B@u
    @
    
    
    w@www###@
    
    @
    @www
    -'&54764&#!"3!26#!"&5463!2@@####@w@wwwB((@@www`%#"'#"&=46;&7#"&=46;632/.#"!2#!!2#!32>?6#
    !"'?_
    
    BCbCaf\	+
    ~2	
    
    	}0$
    
    
    q
    90r
    
    
    pr%Dpu?#!"&=46;#"&=46;54632'.#"!2#!!546;2D
    a__	g	
    
    *`-Uh1
    
    
    
    ߫}
    	$^L
    
    4b+"&=.'&?676032654.'.5467546;2'.#"ǟ
    B{PDg	q%%Q{%P46'-N/B).ĝ
    9kC<Q
    7>W*_x*%K./58`7E%_
    	,-3
    cVO2")#,)9;J)
    "!*
    #VD,'#/&>AX>++"''&=46;267!"&=463!&+"&=463!2+32Ԫ$
    		
    pU9ӑ
    @/*fo	
    
    VRfq
    f=SE!#"&5!"&=463!5!"&=46;&76;2>76;232#!!2#![
    
    
     
    
    
    
    %
    )
    	
    
    "
    
    Jg
    Uh
    BW&WX
    hU
    g
    84&#!!2#!!2#!+"&=#"&=46;5#"&=46;463!2j@jo
    g|@~vv
    un#467!!3'##467!++"'#+"&'#"&=46;'#"&=46;&76;2!6;2!6;232+32QKt# #FNQo!"դѧ!mY
    
    Zga~bm]
    
    [o"U+, @h
    h@@X
    hh
    @83H\#5"'#"&+73273&#&+5275363534."#22>4.#2>ut
    3NtRP*Ho2
    
    Lo@!R(Ozh=,GID2F
    
    
    8PuE>.'%&TeQ,jm{+>R{?jJrL6V		@`7>wmR1q
    uWei/rr
    :Vr"
    $7V4&#"326#"'&76;46;232!5346=#'73#"'&'73267##"&54632BX;4>ID2F
    
    
    +>R{8PuE>.'%&TeQ,jm{?jJrL6		@`rr
    :Vr3>wmR1q
    uWei@\%4&#"326#!"&5463!2+".'&'.5467>767>7>7632!2&%%&&&& &7.'	:@$LBWM{#&$h1D!		.I/!	Nr&&%%&&&&V?, L=8=9%pEL+%%r@W!<%*',<2(<&L,"r@\#"&546324&#!"3!26%#!#"'.'.'&'.'.546767>;&%%&&&& &i7qN	!/I.		!D1h$&#{MWBL$@:	'.&&%%&&&&=XNr%(M&<(2<,'*%<!W@r%%+LEp%9=8=L 	+=\d%54#"327354"%###5#5#"'&53327#"'#3632#"'&=4762#3274645"=424'.'&!  7>76#'#3%54'&#"32763##"'&5#327#!"&5463!2BBPJNC'%!	B?)#!CC $)54f"@@
    B+,A
    
    A+&+A
    
    ZK35N #J!1331CCC $)w@www2"33FYF~(-%"o4*)$(*	(&;;&&9LA38334S,;;,WT+<<+T;(\g7x:&&::&&<r%-@www	+=[c}#"'632#542%35!33!3##"'&5#327%54'&#"5#353276%5##"=354'&#"32767654"2 '.'&547>76 3#&'&'3#"'&=47632%#5#"'&53327''RZZ:kid YYY.06	62+YY-06	R[!.'CD''EH$VVX::Y
    X;:Y
    fyd/%jG&DC&&CD&O[52.
    [$C-D..D^^* ly1%=^I86i077S
    3
    $EWgO%33%OO%35	EEFWt;PP;pt;PP;pqJgTFQ%33&PP%33%R
    7>%3!+}{'+"&72'&76;2+"'66;2U
    &
    	(P
    
    *'eJ."-dZ-n -'74'&+";27&+";276'56#!"&5463!2~}		7e 	۩w@www"
    $Q#'!#
    @www
    I-22#!&$/.'.'.'=&7>?>369II ! '	$ !01$$%A'	$ ! g	
    \7@)(7Y
    	
     \7@)(7Y
    @	'5557	,VWQV.RW=?l%l`~0!#!#%777	5!	R!!XCCfff݀# `,{{{`Og4&"2 &6 $"&462$"&62>7>7>&46.'.'. '.'&7>76 Ԗ HR6L66LGHyU2LL2UyHHyU2LL2UyHn
    X6X
    
    XX
    ԖԖH6L66L6L2UyHHyU2LL2UyHHyU2Ln6X
    
    XX
    
    2#!"&54634&"2$4&"2ww@ww||||||w@www|||||||	!3	37! $$ n6^55^h
    ^aaM1^aaP
    *Cg'.676.7>.'$7>&'.'&'? 7%&'.'.'>767$/u5'&$I7ob?K\[zH,1+.@\7':Yi4&67&'&676'.'>7646&' '7>6'&'&7>7#!"&5463!2PR$++'TJXj7-FC',,&C
    ."!$28h/"	+p^&+3$
    i0(w@www+.i6=Bn\C1XR:#"'jj8Q.cAj57!?"0D$4"P[
    &2@wwwD"%.5#5>7>;!!76PYhpN!HrD0M
     C0N#>8\xx: W]oW-X45/%'#.5!5!#"37>#!"&5463!2p>,;$4
    5eD+WcEw@wwwK()F
    ,VhV^9tjA0/@www@#"'&76;46;23
    
    
    
    	&
    
     ++"&5#"&7632	
    ^
    
    
    c
     &
    
    @#!'&5476!2 &
    
    
    ^
    
    
    b	'&=!"&=463!546
     &
    
    	
    q&8#"'&#"#"5476323276326767q'T1[VA=QQ3qqHih"-bfGw^44O#A?66%CKJA}}  !"䒐""A$@C3^q|z=KK?6lk)%!%!VVuuu^-m5w}n~7M[264&"264&"2"&546+"&=##"&5'#"&5!467'&766276#"&54632    *<;V<<O@-K<&4'>&4.'.'.'.'.'&6&'.'.6767645.'#.'6&'&7676"&'&627>76'&7>'&'&'&'&766'.7>7676>76&6763>6&'&232.'.6'4."7674.'&#>7626'.'&#"'.'.'&676.67>7>5'&7>.'&'&'&7>7>767&'&67636'.'&67>7>.'.67	\
    
    	U7	
    J#!W!'	
    
    "';%
    
    k	)"	
    	'
    
    
    /7* 		I	,6
    *&"!
    
    O6*
    O $.(	*.'
    
    .x,	$CN	
    		*	
    6
    		
    7%&&_f&
    ",VL,G$3@@$+
    "
    
    
    V5 3"	
    ""#dA++
    y0D-%&n4P'A5j$9E#"c7Y
    6"	&
    8Z(;=I50' !!e
    R
    
    "+0n?t(-z.'<>R$A"24B@(	~	9B9,	*$		
    		<>	?0D9f?Ae 	.(;1.D	4H&.Ct iY% *	
    7
    
    
    
    J	 <
    W0%$	
    ""I!
    *D	 ,4A'4J"	.0f6D4pZ{+*D_wqi;W1G("%%T7F}AG!1#% JG3 '.2>Vb%&#'32&'!>?>'&' &>"6&#">&'>26 $$ *b6~#= XP2{&%gx| .W)oOLOsEzG<	CK}E	$MFD<5+
    z^aa$MWM1>]|YY^D
    եA<KmE6<"@9I5*^aa>^4./.543232654.#"#".#"32>#"'#"$&547&54632632':XM1h*+D($,/9p`DoC&JV;267676&#!"&=463!267
    #!"'&5463!26%8#!
    &&Z"M>2!
    	^I7LRx_@>MN""`=&&*%I},
    		L7_jj9/%4&#!"3!264&#!"3!26#!"&5463!2  &&&&&&&&19#"'#++"&5#"&5475##"&54763!2"&4628(3-	&B..B&	-3(8IggI`(8+Ue&.BB.&+8(kk`%-"&5#"&5#"&5#"&5463!2"&4628P8@B\B@B\B@8P8pPPp@`(88(`p.BB.0.BB.(88(Pppͺ!%>&'&#"'.$ $$ ^/(V=$<;$=V).X^aaJ`"(("`J^aa,I4."2>%'%"/'&5%&'&?'&767%476762%6[՛[[՛o
    ܴ
     
    
    		$
    $	"	$
    $		՛[[՛[[5`
    
    ^
    
    ^
    
    2`
    `2
    
    ^^
    
    `
    1%#"$54732$%#"$&546$76327668ʴhf킐&^zs,!V[vn)	6<ׂf{z}))Ns3(@+4&#!"3!2#!"&5463!2#!"&5463!2@&&&f&&&&@&&&&4&&4&@&&&&&&&& `BH+"/##"./#"'.?&5#"&46;'&462!76232!46 `&C6@Bb03eI;:&&&4L4&F
    Z4&w4) ''
    5r&4&&4&&4}G#&/.#./.'&4?63%27>'./&'&7676>767>?>%6})(."2*&@P9A
    #sGq]
    #lh<*46+(
    	
    <
    5R5"*>%"/	+[>hy
    	K
    !/Ui%6&'&676&'&6'.7>%.$76$% $.5476$6?62'.76&&'&676%.76&'..676#"NDQt	
    -okQ//jo_		%&JՂYJA-.--
    9\DtT+X?*<UW3'	26$>>W0{"F!"E 
    
    ^f`$"_]\<`F`FDh>CwlsJ@;=?s
    :i_^{8+?`
    )
    O`s2RDE58/Kr	#"'>7&4$&5mī"#̵$5$"^^W=acE*czk./"&4636$7.'>67.'>65.67>&/>z X^hc^O<q+f$H^XbVS!rȇr?5GD_RV@-FbV=3!G84&3Im<$/6X_D'=NUTL;2KPwtPt= 
    
    &ռ
    ,J~S/#NL,8JsF);??1zIEJpqDIPZXSF6\?5:NR=;.&1+!"&=!!%!5463!2sQ9Qs***sQNQsBUw
    wUBFHCCTww%1#"&=!"&=463!54632.  6 $$ 		
    
    
    `?(r^aa		
    
    
    
    (_^aa%1#!#"'&47632!2.  6 $$ 
    		@	
    `
    (r^aa
    
    ?		@	
    (_^aa/#"'&476324&#!"3!26#!"&5463!2&@&
    @
    
    
    w@www&@B@&
    
    @
    @www"&462  >& $$ Ԗ*(r^aaԖԖ (^aa]6#"$54732>%#"'!"&'&7>32'!!!2f:лѪz~u:
    ((%`V6B^hD%i(]̳ޛ	*>6߅r#!3?^BEa߀#9#36'&632#"'&'&63232#!"&5463!2
    Q,&U#+'
     ;il4L92<D`w@www`9ܩ6ɽ]`C477&@wwwD+"&5#"'&=4?5#"'&=4?546;2%6%66546;2
    	
    
    	
    wwwwcB
    G]B
    Gty]ty
    #3C#!+"&5!"&=463!46;2!24&#!"3!26#!"&5463!2@`@`^BB^^B@B^www@w@`@`2@B^^BB^^ww@w'/?P+5#"&547.467&546;532!764'!"+32#323!&ln@
    :MM:
    @nY*Yz--zY*55QDDU9pY-`]]`.X /2I$	t@@/!!/@@3,$,3$p$00&*0&&
    !P@RV2#"&/#"&/#"&546?#"&546?'&54632%'&54632763276%>S]8T;/M77T7%>ww@ww!"5bBBb//*
    8(@(87)(8=%/'#?w@www#~$EE y &L(88e):8(%O r		
    
    		O?GQaq47&67>&&'&67>&"$32#"#"'654  $&6 $6&$ CoL.*KPx.* 
    iSƓi
    7J?~pi{_Я;lLUZ=刈刈_t'<Z
    :!
    	@!
    j`Q7$ky, Rfk*4LlL=Z=刈&$&546$7%7&'5>]5%w&P?zrSF!|&0	##!"&5#5!3!3!3!32!546;2!5463)
    );));;))&&&@@&&&	
    6 $&727"'%+"'&7&54767%&4762֬>4Pt+8?::
    		
    ::AW``EvEEvE<."e$IE&O&EI&{h.`m"&#"&'327>73271[
    >+)@
    (]:2,C?*%Zx/658:@#N
    C=E(oE=W'c:#!#"$&6$3 &#"32>7!ڝyy,{ۀہW^F!LC=y:yw߂0H\R%"N^ '&76232762$"&5462"&46274&"&'264&#"'&&#"32$54'>$ $&6$ G>>0yx14J55J5J44J5Fd$?4J55%6E#42F%$fLlLq>>11J44%&4Z%44J54R1F$Z-%45J521Z%F1#:ʎ 9LlL#Qa"'&7622762%"&5462"&546274&#"&'73264&#"'&&#"32654'>#!"&5463!2
    
    55
    
    **.>.-@-R.>.-@-<+*q6- -- 0OpoOxzRrqP6z~{{Prr^aa]054&"#"&5!2654632!#"&57265&'&#".'&'#"&5467%&4>7>3263232654.547'654'63277.'.*#">7?67>?>32#"'7'>3'>3235?KcgA+![,7*
    2(-#=
    	/~[(D?G  |,)"#+)O8,+'6	y{=@0mI#938OAE`
    -
    )y_/FwaH8j7=7?%a	%%!?)L
    J
    9=5]~pj
    
     %(1$",I 
    $@((
    +!.S		-L__$'-9L	5V+	
    	6T+6.8-$0+
    t|S16]&#"'&#"67>76'&'&#"67>32764.#"#.32>67>7 $&54>7>7>7rJ@"kb2)W+,5/1		#
    
    Z
    -!$IOXp7sLCF9vz NAG#/ 5|Հ';RKR/J#=$,9,+$UCS7'2"1
     !/
    ,
    
    /--ST(::(ep4AM@=I>".)xΤlsY|qK@
    %(YQ&N
    EHv~<Zx'#"&5467&6?2?'&"/.7.546326#"&'&/7264/7'764&"'?>>32.AUpIUxYE.A%%%h%%hJ%D,FZxULsTgxUJrVD%hJ%@/LefL.C%Jh%CVsNUxϠ@.FZyUHpVA%h&%%%Ji%CWpIUybJ/Uy^G,D%Jh%@UsMtUC%hJ%C-KfyEX[_gj&/&'.''67>7>7&'&'&'>76763>7>#&'&'767672'%'7'+"&'&546323267>7%#"'4'6767672,32,+DCCQLDf'
    %:/d
    B	4@}
    &!0$?Jfdf-.=6(:!TO?
    !IG_U%
    .
    k*.=;	5gN_X	"
    ##
    292Q41
    *6nA;|
    BSN.	%1$
    6	$nk^'7GWgw2+"&5463#!"&5463!254&+";2654&+";2654&+";2654&+";2654&+";2654&+";2654&+";2654&+";2654&+";26#"&=! B^^BB^^B:FjB^8((`( `(8^BB^^B@B^"vEj^B(8(`(8(/?O_o/?2#!"&5463;26=4&+";26=4&+";26=4&+";26=4&+"54&+";2654&+";2654&+";2654&+";2654&+";2654&#!"3!2654&+";2654&+";2654&+";2654&+";2654&+";2654&+";2654&+";2654&+";2654&+";26@&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@`'	"&5#"&5&4762!762$"&462B\B@B\BOpP.BB..BB.8$PO広3CQ#".54>32#".546322#"&#"#"54>%".54>32%2#"&54>&X=L|<&X=M{2r_-$$-_rUU%&&5%ő'-
    "'.546762@FF$@B@$.&,&.]]|q#<<#(BBB%'-%'-'%'-"'%&'"'%.5467%467%62@ll@ll,@GG&!@@@@@@!&+#+#6#+$*`:p:px
    p=`$>>$&@&@
    
    @&p@	&.A!!"!&2673!"5432!%!254#!5!2654#!%!2#!8Zp?vdΊens6(N[RWu?rt1SrF|iZ@7މoy2IMC~[R yK{T:%,AGK2#!"&5463!!2654'654.#532#532"&5!654&#"327#2#>!!ww@ww~uk'JTMwa|
    DH>I1qFj?w@wwwsq*4p9O*¸Z^qh LE
    "(nz8B
    M'?"&4624&#"'.'324&#"3267##"&/632632.ʏhhMALR vGhг~~K„yO^
    ʏʏВ*LM@!שwwȍde)qrOPqȦs:03=7'.?67'67%'>&%'7%7./6D\$>	"N,?a0#O1G9'/P(1#00
    ($=!F"9|]"RE<6'o9%8J$\:\HiTe<?}V#oj?d,6%N#"
    HlSVY]C
    
    =@C4&"2!.#!"4&"2+"&=!"&=#"&546;>3!232^^^Y		^^^`pppp`]ibbi]~^^^e^^^PppPPppP]^^]3;EM2+"&=!"&=#"&546;>;5463!232264&"!.#!"264&" ]`pppp`]ibbi^^^dY		!^^^]@PppP@@PppP@]^^] ^^^e^^^ 3$#!#!"&5467!"&47#"&47#"&4762++&2
    $$
    2&&&4&&Z4&&##&&4&4&44&m4&m+DP4'&#"32763232674'&!"32763 3264'&$#"32763232> $$ g* o`#ə0#z#l(~̠)-g+^aaF s"	+g(*
    3#!|
    #/IK/%*%D=)[^aa	!!!'!!77!,/,-a/G	t%/;<HTbcq%7.#"32%74'&"32765"/7627#"5'7432#"/7632#"5'7432#"&5'74632	#"/6327#"/6327#"/46329"&/462"&/>21"&/567632#!.547632632
    	
    	*
    
    
    			X		
    
    ^
    
    `		
    
    ^b
    	c
    	fu
    U`59u
    
    
    
    4J
    	
    l~		~	F	
    	2
    
    
    		m|O, 	
    
    
    
    
    ru|	u
    
    "
    )9 $7 $&= $7 $&= $7 $&=  $&=46w`ww`ww`wb`VTEvEEvETVTEvEEvET*VTEvEEvET*EvEEvEEvEEv#^ct#!"&5463!2!&'&!"&5!632#"&'#"/&'&7>766767.76;267674767&5&5&'67.'&'&#3274(8((88((`x
    c`(8!3;:A0?ݫY
    
    	^U	47D$
    
    	74U3I
    |L38wtL0`((88(@(8(D98(Q1&(!;
    (g-	Up~R2(/{E(Xz*Z%(i6CmVo8#T#!"&5463!2!&'&!"&5!3367653335!3#4.5.'##'&'35(8((88((`x
    c`(8iFFZcrcZ`((88(@(8(D98(kk"	kkJ	 	!	k#S#!"&5463!2!&'&!"&5!%!5#7>;#!5#35!3#&'&/35!3(8((88((`x
    c`(8-Kg
    kL#DCJgjLD`((88(@(8(D98(jj	jjkkkk#8C#!"&5463!2!&'&!"&5!%!5#5327>54&'&#!3#32(8((88((`x
    c`(8 G]L*COJ?0R\wx48>`((88(@(8(D98(jjRQxk!RY#*2#!"&5463!2!&'&!"&5!!57"&462(8((88((`x
    c`(8Pppp`((88(@(8(D98(ppp	#*7JR5#5#5#5##!"&5463!2!&'&!"&5##5!"&54765332264&"<(8((88((`x
    c`(8kޑcO"jKKjK`((88(@(8(D98(SmmS?M&4&&4#9L^#!"&5463!2!&'&!"&5!#"/#"&=46;76276'.'2764'.(8((88((`x
    c`(86ddWW6&44`((88(@(8(D98(.	G5{{5]]$5995#3C#!"&5463!2!&'&!"&5!2#!"&5463#"'5632(8((88((`x
    c`(84LL44LL4l			`((88(@(8(D98(L44LL44L	
    Z
    	#7K[#!"&5463!2!&'&!"&5!>&'&7!/.?'&6?6.7>'(8((88((`x
    c`(8`3333v
    
    ?
    
    `((88(@(8(D98(&&-&&
    ?
    
    
    
    '6#'.
    '!67&54632".'654&#"32eaAɢ/PRAids`WXyzOvд:C;A:25@Ң>-05rn`H(' gQWZc[
    -%7'	%'-'%	%"'&54762[3[MN
    3",""3,3"ong$߆]gn$+)
    
    ")")"
    
    x#W#"&#!+.5467&546326$32327.'#"&5463232654&#"632#".#"oGn\u_MK'̨|g?CM7MM5,QAAIQqAy{b]BL4PJ9+OABIRo?z.z
    n6'+s:zcIAC65D*DRRD*wyal@B39E*DRRD*'/7  $&6$ 6277&47' 7'"' 6& 6'lLRRZB|RR>dZZLlLZRR«Z&>«|R  ! $&54$7 >54'5PffP牉@s-ff`-c6721>?>././76&/7>?>?>./&31#"$&(@8!IH2hM>'
    
    )-*
    h'N'!'Og,R"/!YQG54'63&547#5#"=3235#47##6323#324&"26%#!"&5463!2F]kbf$JMM$&N92Z2&`9UW=N9:PO;:dhe\=R
    +)&')-S99kJ<)UmQ/-Ya^"![Y'(<`X;_L6#)|tWW:;X	#'#3#!"&5463!2)
    p*xeשw@www0,\8@www9I#"'#"&'&>767&5462#"'.7>32>4."&'&54>32JrO<3>5-&FD(=Gq@C$39aLL²L4
    
    &)
    @]v
    q#CO!~󿵂72765'./"#"&'&5
    }1R<2"7MW'$	;IS7@5sQ@@)R#DvTA;
    0x
    I)!:>+)C	6.>
    !-I[4&#"324&#"3264&#"324&#"326&#"#".'7$4$32'#"$&6$32D2)+BB+)3(--(31)+BB+)4'--'4'#!0>R	HMŰ9ou7ǖD䣣
    R23('3_,--,R23('3_,--,NJ
    ?uWm%#"'%#"'.5	%&'&7632!
    ;
    	`u%"(!]#c)(	 #"'%#"'.5%&'&76	!
    	(%##fP_"(!)'+ʼn4I#"$'&6?6332>4.#"#!"&54766$32#!"&=46;46;2z䜬m
    IwhQQhbF*@&('k@z
    	
    _hQнQGB'(&*eozΘ@@`  >. $$ ffff^aafff^aa>"&#"#"&54>7654'&#!"#"&#"#"&54>765'46.'."&54632326323!27654'.5463232632,-,,",:!
    %]&
    %@2(/.+*)6!	<.$..**"+8#
    
    #Q3,,++#-:#"$$/:yuxv)%$	/?CG%!5%2#!"&5463!5#5!52#!"&54632#!"&5463#5!5`&&&& &&&&&&&&@&&&&&&&&&&&&%2 &547%#"&632%&546 #"'6\~~\h
    ~\h\V
    VVV%5$4&#"'64'73264&"&#"3272#!"&5463!2}XT==TX}}~>SX}}XS>~}w@www~:xx:~}}Xx9}}9xX}@www/>LXds.327>76 $&6$32762#"/&4762"/&47626+"&46;2'"&=462#"'&4?62E0l,
    
    *"T.D@Yooo@5D
    
    [		
    
    Z
    Z
    
    		[	 ``[
    
    
    
    Z
    
    	2
    ,l0
    (T".D5@oooY@D,
    
    Z
    
    		[			[		
    
    Z
    ``EZ
    
    		[		
    5%!  $&66='&'%77'727'%amlLmf?55>fFtuutFLlLHYCL||LY˄(E''E*(/?IYiy%+"&=46;2+"&=46;2+"&=46;2+"&=46;2%"&=!#+"&=46;2+"&=46;2+"&=46;2+"&=46;2!54!54>$ +"&=46;2#!"&=@&&@3P
    >P3&&rrr&&rrr
    he
    
    4LKM:%%:MKL4WT&&%/9##!"&563!!#!"&5"&5!2!5463!2!5463!2&&&&&&  &&&i@&&@&7'#5&?6262%%o;j|/&jJ%p&j;&i&p/|jţ%Jk%o%	:g"&5462#"&546324&#!"263662>7'&75.''&'&&'&6463!276i~ZYYZ~@OS;+[G[3YUD#o?D&G3I=JyTkBuhNV!WOhuAiSy*'^CC^'*SwwSTvvTSwwSTvvWID\_"[gq# /3qFr2/ $rg%4
    HffHJ4d#!#7!!7!#5!VFNrmNNNN!Y+?Ne%&'&'&7>727>'#&'&'&>2'&'&676'&76$7&'&767>76'6#
    <;11x#*#
    G,T93%/#0vNZ;:8)M:(	&C.J}2	%0
     	^*
    JF	
    &7'X"2LDM"	+6
    M2+'BQfXV#+]
    #'
    L/(eB9
    #,8!!!5!!5!5!5!5#26%!!26#!"&5!5&4&&pPPp@@&&@!&@PppP@*
    	9Q$"&54627"."#"&547>2"'.#"#"&5476$ "'&$ #"&5476$ (}R}hLK
    NN
    Ud:
    xx
    8
    
    
     ,, |2222
    MXXM
    
    ic,>>,
    
    		
    ̺
    
    
    '/7?KSck{4&"2$4&"24&"24&"24&"24&"24&"24&"24&"264&"24&#!"3!264&"2#!"&5463!2KjKKjKjKKjKjKKjKKjKKjKjKKjKjKKjKKjKKjKjKKjKLhLLhLKjKKj&&&&KjKKjL44LL44L5jKKjKKjKKjKjKKjKjKKjKjKKjKjKKjKjKKjKjKKjK4LL44LLjKKjK&&&&jKKjK4LL44LL	'E!#"+"&7>76;7676767>'#'"#!"&7>3!2W",&7'	#$	&gpf5O.PqZZdS-V"0kqzTxD!!8p8%'i_F?;kR(`
    !&)'
    (2!&6367!	&63!2!
    `B1LO(+#=)heCQg#s`f4#6q'X|0-g	>IY#6?>7&#!%'.'33#&#"#"/3674'.54636%#"3733#!"&5463!24:@7vH%hEP{0&<'VFJo1,1.F6A#L44LL44L"%	
     
    7x'6
    O\JYFw~v^fH$ !"xdjD"!6`J4LL44LL	+3@GXcgqz-<JX{&#"327&76'32>54.#"35#3;5#'#3537+5;3'23764/"+353$4632#"$2#462#"6462""'"&5&5474761256321##%354&'"&#"5#35432354323=#&#"32?4/&54327&#"#"'326'#"=35#5##3327"327'#"'354&3"5#354327&327''"&46327&#"3=#&#"32?"5#354327&3=#&"32?"#3274?67654'&'4/"&#!"&5463!2_gQQh^_~\[[\]_^hQQge<F$$$ !!&&/!/
    
    !!
    
    00/e&'!"e$
    		'!!''
    	8''NgL44LL44LUQghQUk=("
    !
    =))=2( '! 'L#(>(
    &DC(>(zL#DzG)<)4LL44LL	
    BWbjq}+532%+5324&+32763#4&'.546327&#"#"'3265#"&546325&#"32!264&"2%#'#735#535#535#3'654&+353#!"&5463!29$<=$@?SdO__J-<AA@)7")9,<$.%0*,G3@%)1??.+&((JgfJ*A!&jjjGZYGиwsswPiL>8aA	!M77MM77M3!
    4erJ]&3YM(,
    ,%7(#)
    ,(@=)M%A20C&Mee(X0&ĖjjjV	8Z8J9N/4$8NN88NN	#&:O[	$?b3'7'#3#%54+32%4+324+323'%#5#'#'##337"&##'!!732%#3#3##!"&53733537!572!56373353#'#'#"5#&#!'#'#463!2#"5#"5!&+&+'!!7353273532!2732%#54&+#32#46.+#2#3#3##+53254&".546;#"67+53254&.546;#"#'#'##"54;"&;7335wY-AJF=c(TS)!*RQ+*RQ+Y,B^9^Ft`njUM')	~PSPRm٘M77Mo7q
    
    @)U	8"E(1++NM77Mx378D62W74;9<-A"EA0:AF@1:ؗBf~~""12"4(w$#11#@}}!%+%5(v$:O\zK?*$\amcrVlOO176Nn23266&+"&#"3267;24&+"'&+";27%4&+";2?>23266&+"&#"3267;254+";27#76;2#!"&5463!23%#2%%,, _3$$2%%M>ALVb5)LDHeE:<
    EMj,K'-R
    M~M>ARVb5)LEHeE:<
    E
    JABI*'!($rL44LL44Lv%1 %3!x*k$2 %3!;5h
    n
    a
    !(lI;F	
    	
    	rp
    p8;5h
    
    t
    a
    !(lI;F`	#k4LL44LL
    	
    2HW[lt#"'5632#6324&'.54327&#"#"&'32767#533275#"=5&#"'#36323#4'&#"'#7532764&"24'&#"327'#"'&'36#!"&5463!2=!9n23BD$ &:BCRM.0AC'0RH`Q03'`.>,&I / *
     /
    
    8/n-(G@5$ S3=,.B..B02^`o?7je;9G+L44LL44LyE%#	Vb;A
    !p &'F:Aq)%)#orgT$v2 8)2z948/{8AB..B/q?@r<7(g/4LL44LL?#!"&'24#"&54"&/&6?&5>547&54626=L4@ԕ;U g3
    
    T
    2RX='8P8|5
    4Ljj U;Ig@
    	
    `
     "*\(88(]k
    &N4#"&54"3	.#"#!"&'7!&7&/&6?&5>547&54626;U gIm*]Z0L4@ԕ=o=CT
    
    T
    2RX='8P8|5
     U;IgXu?bl3@4Ljja`
    	
    `
     "*\(88(]k/7[%4&+";26%4&+";26%4&+";26!'&'!+#!"&5#"&=463!7>3!2!2@@@@@@0
    
    o`^BB^`5FN(@(NF5@@@u		@LSyuS@%44%,<H#"5432+"=4&#"326=46;2  >. $$ ~Isy9"SgR8vHD	w
    ffff^aam2N+	)H-mF+10*F		+fff^aab4&#"32>"#"'&'#"&54632?>;23>5!"3276#"$&6$3 k^?zb=ka`U4J{K_/4^W&	vx :XB0܂ff)
    fzzXlz=lapzob35!2BX
    G@8'	'=vN$\ff	1
    	SZz8zX#("/+'547'&4?6276	'D^h
    
    
    
    i%5@%[i
    
    
    
    h]@]h
    
    
    
    i%@5%[i
    
    
    
    h^@@)2#"&5476#".5327>OFi-ay~\~;'S{s:D8>)AJfh]F?X{[TC6LlG]v2'"%B];$-o%!2>7>3232>7>322>7>32".'.#"#"&'.#"#"&'.#"#546;!!!!!32#"&54>52#"&54>52#"&54>52-P&+#($P.-P$'#+&PZP&+#"+&P-($P-.P$(#+$P.-P$'#+&P-.P$+#pP@@PpH85K"&ZH85K"&ZH85K"&Z@Pp@@@pMSK5, :&LMSK5, :&LMSK5, :&!!3	!	@@@	#"$$3!!2"jaѻxlalxaaj!!3/"/'62'&63!2'y
    
    `I
    
    yMy
    
    `I
    
    y'W`#".'.#"32767!"&54>3232654.'&546#&'5&#"
    
    4$%Eӕ;iNL291 ;XxR`f՝Q8TWiWgW:;*:`Qs&?RWXJ8oNU0J1F@#)
    [%6_POQiX(o`_?5"$iʗ\&>bds6aP*< -;iFn*-c1BWg4'.'4.54632#7&'.#"#"'.#"32767'#"&54632326#!"&5463!2#$(	1$6]'
    !E3P|ad(2S;aF9'EOSej]m]<*rYshpt.#)$78L*khw@wwwB
    
    %
    $/$G6
    sP`X):F/fwH1pdlqnmPHuikw_:[9D'@www34."2>$4.#!!2>#!".>3!2QнQQнQQh~wwhfffнQQнQQнQZZQffff#>3!2#!".2>4."fffнQQнQQffffQнQQн	,\!"&?&#"326'3&'!&#"#"'  5467'+#"327#"&463!!'#"&463!2632(#AHs9q  ci<=
    #]$ KjKKjKKjKKjH#j#H&&&KjKKjKg	V	ijKKjKKjKKjK..n(([5KK55KK5[poNv<+#"'#"&546;&546$32322$B$22$$*$22$Xڭӯ$22$tX'hs2$ϧkc$22$1c$2F33F3VVT2#$2ԱVT2#$2g#2UU݃
    2$#2UU1݃2,u54#"67.632&#"32654'.#"32764.'&$#"7232&'##"&54732654&#"467&5463254632>32#"'&ru&9%"*#͟ O%GR=O&^opC8pP*bY
    _#$N Pb@6)?+0L15"4$.Es
    5IQ"!@h"Y7e|J>ziPeneHbIlF>^]@n*9
    6[_3#"&54632#.#"32%3#"&54632#.#"326%4&'.'&! ! 7>7>!
    =39?
    6'_
    >29?
    5'17m-VU--,bW.뮠@Fyu0HC$뮠@Fyu0HC$L=??
    <=! A	<`;+"&54&#!+"&5463!2#!"&546;2!26546;2pЇ0pp@Ipp>Sc+"&=46;254&+"&+";2=46;2;2=46;2;2%54&#!";2=;26#!"&5463!2A5DD5A7^6a7MB55B7?5B~```0`rr5A44A5v5AA5f*A``0`	!!!!	#!"&5463!2ړ7H7jv@vvv':@vvvMUahmrx#"'!"'!#"&547.547.54674&547&54632!62!632!#!627'!%!"67'#77!63!!7357/7'%#	%'3/&=&'	5#?&5476!p4q"""6" 'h*[
    |*,@?wAUMpV@˝)Ϳw7({*U%K6=0(M		"!O		dX$k
    !!!
    b	
    [TDOi
    @6bxBAݽ5
    
    ɝ:J+3,p
    x1Fi
    (R
    463!#!"&5%'4&#!"3`а@..@A-XfB$.BB..C}
    )&54$32&'%&&'67"w`Rd]G{o]>p6sc(@wgmJPAjyYWa͊AZq{HZ:<dv\gx>2ATKn+;"'&#"&#"+6!263 2&#"&#">3267&#">326e~└Ȁ|隚Ν|ū|iyZʬ7Ӕްr|uѥx9[[9jj9ANN+,#ll"BS32fk[/?\%4&+";26%4&+";26%4&+";26%4&+";26%#!"&5467&546326$32]]eeeeee$~i
    qfN-*#Sjt2"'qCB8!'>	
    !%)-159=AEIMQUY]agkosw{!	%!	5!#5#5#5#5#57777????#5!#5!#5!#5!#5!#5!#5!#5#537#5!#5!#5!#5!#5!#55#535353535353%"&546326#"'#32>54.&54>3237.#"Q%%%%%%%%%?iiihOiixiiyiixiiArssrrssr%sssrrssNs%%%%%%%%%%'32#".543232654&#"#"&54654&#"#"&547>326ڞUzrhgrxSПdU 7#"&463!2!2&&4&&&&4&KjKKjKjKKj &&&%&&&&4&&&&4&&&5jKKjKKjKKjK%z
    0&4&&3D7&4&
    %&'S4&"4&"'&"27"&462"&462!2#!"&54>7#"&463!2!2&4&4&4&4KjKKjKjKKj &&&%&&&&4&%&&ے&4"jKKjKKjKKjK%z
    0&4&&3D7&4&
    %&	&	!'!	!%!!!!%"'.763!2o]FooZY@:@!!gf//I62'"/"/"/"/"/"/"/7762762762762762762%"/77627&6?35!5!!3762762'"/"/"/"/"/"/%5#5!4ZSS6SS4SS4SS4SS4SS4SS4ZSS4SS4SS4SS4SS4SS4S-4ZSS4S@4SS4ZSS6SS4SS4SS4SS4SS4S@ZSSSSSSSSSSSSSSZSSSSSSSSSSSSSyZRRR@%:=
    :+:
    =RRZSSSSSSSSSSSSSCv!/&'&#""'&#"	32>;232>7>76#!"&54>7'3&547&547>763226323@```
    VFaaFV
    
    
    $.
    
    
    .$
    
    yy	.Q5ZE$ ,l*%>>%*>*98(QO!L\p'.'&67'#!##"327&+"&46;2!3'#"&7>;276;2+6267!"'&7&#"(6&#"#"'DgOOG`n%ELL{@&&Nc,sU&&!Fre&&ss#/,<=
    #]gLoGkP'r-n&4&2-ir&&?o 
    4_5OW! .54>762>7.'.7>+#!"&5#"&5463!2"&462{{BtxG,:`9(0bԿb0(9`:,GxtB&@&&@&K55K`?e==e?1O6#,
    #$
    ,#6OO&&&&5KK?!"'&'!2673267!'.."!&54632>321
    4q#F""8'go#-#,"tYg>oP$$Po>	Zep#)R0+I@$$@I++332++"&=#"&=46;.7>76$  @ᅪ*r@@r'/2+"&5".4>32!"&=463  &@~[՛[[u˜~gr&`u՛[[՛[~~@r=E32++"&=#"&=46;5&547&'&6;22676;2  >``@``ٱ?E,,=?rH@``@GݧH`jjrBJ463!2+"&=32++"&=#"&=46;5.7676%#"&5   &@~``@`` vXr&@``@+BF`rks463!2+"&=32++"&=#"&=46;5&547'/.?'+"&5463!2+7>6 %#"&5   &@~``@``~4e	
    0
    	io@& jV	
    0
    	Z9r&@``@Gɞ5o
    ,
    sp &@k^
    ,
    c8~~`r8>KR_32++"&=!+"&=#"&=46;.767666'27&547&#"&'2#"@@'Ϋ'sggsww@sgg@@-ssʃl99OOr99FP^l463!2+"&=$'.7>76%#"&=463!2+"&=%#"&54'>%&547.#"254&' &@L?CuГP	vY &@;"ޥ5݇ޥ5`&_ڿgwBF@&J_	s&&?%x%xJP\h463!2+"&='32++"&=#"&=46;5.7676632%#"&56'327&7&#"2#" &@L? ߺu``@``}
    ຒɞueeu9uee&_"|N@``@""|a~lo99r9@9;C2+"&5"/".4>327'&4?627!"&=463  &@Ռ		.	
    N~[՛[[u˜N		.	
    gr&`֌
    	.		Ou՛[[՛[~N
    	.		@r9A'.'&675#"&=46;5"/&4?62"/32+  '֪\
    	.		4		.	
    \r|ݧ憛@\		.	
    
    	.		\@r~9A"/&4?!+"&=##"$7>763546;2!'&4?62  m		-
    
    @ݧ憛@&
    
    -		@rm4
    
    -		ٮ*		-
    
    r+"&5&54>2  @[՛[rdGu՛[[r  ".4>2r[՛[[՛r5՛[[՛[[$2#!37#546375&#"#3!"&5463#22#y/Dz?s!#22#2##2S88	2#V#2L4>32#"&''&5467&5463232>54&#"#"'.Kg&RvgD
    $*2%	+Z hP=DXZ@7^?1
    ۰3O+lh4`M@8'+c+RI2
    \ZAhSQ>B>?S2Vhui/,R0+	ZRkmz+>Q2#"'.'&756763232322>4."7 #"'&546n/9bLHG2E"D8_
    pdddxO"2xxê_lx2X	
    !+'5>-pkW[C
    I
    I@50Oddd˥Mhfxx^ә	#'+/7!5!!5!4&"2!5!4&"24&"2!!! 8P88P 8P88P88P88PP88P8 P88P88P88P8 +N &6 !2#!+"&5!"&=463!46;23!#!"&54>32267632#"_>@`
    
    
    
    
    
    `
    
     L4Dgy 6Fe=OOU4L>
    
    
    
    `
    
    `
    
    4L2y5eud_C(====`L43V &6 #"/#"/&54?'&54?6327632#!"&54>32 7632_>			
    		
    						
    		
    			%%Sy 6Fe=J%>	
    						
    		
    						
    	%65%Sy5eud_C(zz.!6%$!2!!!46;24&"2!54&#!"&&&@ԖV@&&@&&ԖԖ@&3!!!	!5!'!53!!	#7IeeI7CzCl@@@#2#!"&?.54$3264&"!@մppp((ppp#+/2#!"&?.54$3264&"!264&"!@մ^^^@^^^@((^^^^^^v(#"'%.54632	"'%	632U/@k0G,zD#[k#
    /tg
    F
    Gz	#'#3!)
    p*xe0,\8T#/DM%2<GQ^lw
    &'&676676&'&7654&'&&546763"#"'3264&7.>&'%'.767&7667&766747665"'.'&767>3>7&'&'47.'.7676767&76767.'$73>?>67673>#6766666&'&6767.'"'276&67&54&&671&'6757>7&"2654&57>&>&'5#%67>76$7&74>=.''&'&'#'#''&'&'&'65.'&6767.'#%&''&'#2%676765&'&'&7&5&'6.7>&5R4&5S9
    W"-J0(/r
    V"-J0(.)#"6&4pOPppc|o}vQ[60XQW1V	
    #5X		N"&
    .
    )
    D>q J:102(z/=f*4!>S5b!%
    (!$p8~5..:5I
    
    ~T
    4~9p# !
    )& ?()5F	1	
    	
     d%{v*:
     @e
    s|D1d {:*dAA|oYk'&<tuut&vHCXXTR;w
    71™
    Z*&'
    1	9?	.
    
    $Gv5k65P.$.`aasa``Z9k'9؋ӗa-*Gl|Me_]`F&OܽsDD!/+``aa``a154&'"&#!!26#!"&5463!2
    
    
    iLCly5)*Hcelzzlec0hb,,beIVB9@RB9J_L44LL44L44%2"4:I;p!q4bb3p(P`t`P(6EC.7BI64LL44LL	.>$4&'6#".54$ 4.#!"3!2>#!"&5463!2Zjbjj[wٝ]>oӰٯ*-oXL44LL44L')꽽)J)]wL`ֺ۪e4LL44LL;4&#!"3!26#!"&5463!2#54&#!";#"&5463!2
    
    
    @
    ^BB^^B@B^
    
    
    B^^B@B^`@
    
    
    MB^^B@B^^>
    
    
    ^B@B^^5=Um	!	!!2#!"&=463!.'!"&=463!>2!2#264&"".54>762".54>762?(``(?b|b?B//B/]]FrdhLhdrF]]FrdhLhdrF@@@(?@@?(@9GG9@/B//BaItB!!BtIѶ!!ьItB!!BtIѶ!!ь-M32#!"&=46;7&#"&=463!2#>5!!4.'.46ՠ`@`ՠ`MsFFsMMsFFsMojjo@@jj@@<!(!!(!-3?32#!"&=46;7&#"&=463!2+!!64.'#ՠ`@`ՠ`		DqLLqDojjo@@jj@@B>=C-3;32#!"&=46;7&#"&=463!2+!!6.'#ՠ`@`ՠ`UVU96gg6ojjo@@jj@@β**ɍ-G32#!"&=46;7&#"&=463!2#>5!!&'.46ՠ`@`ՠ`MsFFsMkkojjo@@jj@@<!(!33!(!9I2#!"&=4637>7.'!2#!"&=463@b":1P4Y,++,Y4P1:"":1P4Y,++,Y4P1:"b@@@7hVX@K-AA-K@XVh77hVX@K-AA-K@XVh7Aj"#54&#"'54&#"3!26=476=4&#"#54&'&#"#54&'&'2632632#!"&5&=4632>3265K @0.B @0.B#6'&&
    l
    @0.B 2'	.B A2TA9B;h" d
    mpPTlLc_4.HK5]0CB.S0CB./#'?&&)$$)0CB. }(AB.z3M2"61d39L/PpuT(Ifc_E`1X"#4&"'&#"3!267654&"#4&"#4&26326#!"&'&5463246326\B B\B&@5K&@"6LB\B B\B sciL}QP%&#"!"3!754?27%>54&#!26=31?>Ijjq,J[j.-tjlV\$B.R1?@B.+?2`$v5K-%5KK5.olRIS+6K5̈$B\B 94E.&ʀ15uE&
    ԖPjjdXUGJ7!.B
    
    P2.B
    
    %2@	7K5(B@KjKj?+fUE,5K~!1.>F.F,Q5*H$b2#!"&=%!"&=463!7!"&'&=4634'&#!">3!!"3!32#!"3!23!26=n$32>32>32#"#.#"#.#"3!27654&#"547654&#"#654&Mye
    t|]WSSgSY\x{
    70"1i92DU1&=		=&0@c	>&/Btd4!*"8K4+"@H@/'=	t?_K93-]
    UlgQQgsW
    ]#+i>p&30&VZ&0B/
    %3B."to ){+C4I(
    /D0&p0D3[_cg"'&#"3!2676=4&"#54&#"#54&#"#4&'2632632632#!"&'&5463246#!#!#5K)B4J&@#\8P8 @0.B J65K J6k
    cJ/4qG^\hB2.1!~K5y?^\Vljt-.j[J,qjjI7$?1R.B+.B$`2?gvEo.5KK5%-K6+SIR[&.E49 B\B$5KG#!+"&5!"&=463!2+"&'+"'+"'&5>;2>76;2Y
    
    
    
    
    M	
    
    .x	-
    	N	
    
    
    	
    u
    
    ,
    u
    ?
    
    LW
    
    #		*:J4'&+326+"'#+"&5463!2  $6& $&6$ UbUI-uu,uuڎLlLAX!Jmf\$
    6uuu,KLlL-[k{276/&'&#"&5463276?6'.#"!276/&'&#"&5463276?6'.#"  $6&  $&6]h-%Lb`J%E5
    ,5R-h
    -%Lb`J%E5
    ,5R-'uu,uulL/hR
    
    dMLcNhR
    dMLcN1uuu,LlL@ 	'	7	'7	``H ``H !``H  ```H`'%		7'	7'7	' $&6$ X`(W:,:X`(WLLlLX`(W:BX`(XLlL
    	$%/9ES[#"&54632$"&4624&"26$4&#"2%#"&462$#"&4632#"32&! 24>  !#"&'.'#"$547.'!6$327&'77'&77N77N'qqqqqPOrqEsttsst}||}uԙ[WQ~,>	nP/RU P酛n	>,m'77'&77N77N6^Orqqqqqqt棣棣(~||on[usј^~33pc8{y%cq33dqpf	L 54 "2654"'&'"/&477&'.67>326?><
    x
    ,
    
    (-'sIVCVHr'-(
    
    $0@!BHp9[%&!@0$u
    
    ]\\]-$)!IHV
    D
    VHI!)$-#36>N"&462."&/.2?2?64/67>&  #!"&5463!2]]]3
    $;
    &|v;$
    (CS31	=rM=	4TC(Gzw@www]]]($-;,540=	sL	=45,;@www(2#"$&546327654&#"	&#"AZ\@/#%E1/##.1E$![A懇@@\!#21E!6!E13"|!	gL&5&'.#4&5!67&'&'5676&'6452>3.'5A5RV[t,G'Q4}-&r!
    G;>!g12sV&2:#;d=*'5E2/..FD֕71$1>2F!&12,@K
    r#"&5462>%.#"'&#"#"'>54#".'7654&&5473254&/>7326/632327?&$  $6 $&6$ !&"2&^	u_x^h
    ;J݃HJǭ
    qE
    Dm!
    M
    G?̯'%o8
    9U(F(ߎLlL&!&!SEm|[n{[<ɪ
    "p C
    Di%
    (KHCέpC
    B
    m8	
    @Kނ
    HF(LlL"*6%&6$	7&$5%%6'$2"&4}x3nQH:dΏXe8z'	li=!7So?vM '&7>>7'7>''>76.'6'El:Fgr
    *t6K3UZ83P)3^I%=9	)<}Jk+C-Wd	&U-TE+]Qr-<Q#0
    C+M8	3':$
    _Q=+If5[ˮ&&SGZoMkܬc#7&#"327#"'&$&546$;#"'654'632ե›fKYYKf¥yͩ䆎L1hvvƚwwkn]*]nlxDLw~?T8bb9SA}+5?F!3267!#"'#"4767%!2$324&#"6327.'!.#"۔c28Ψ-\?@hU0KeFjTlyE3aVsz.b؏W80]TSts<hO_u7bBtSbF/o|V]SHކJ34&#!"3!26#!!2#!"&=463!5!"&5463!2
    
    
    @
    ^B `` B^^B@B^ 
    
    @
    @B^@@^BB^^>3!"&546)2+6'.'.67>76%&F8$.39_0DD40DD0+*M7{L *="#
    U<-M93#D@U8vk_Y	[hD00DD00Dce-JF1BDN&)@
    /1 dy%F#"'&'&'&'&763276?6#"/#"/&54?'&763276"&'&'&5#&763567632#"'&7632654'&#"32>54'&#"'.5463!2#!3>7632#"'&'&#"'&767632yqoq>*432fba
    $B?
    	>B
    BB
    AA.-QPPR+	42
    %<ciђ:6&hHGhkG@n`IȌ5
    !m(|.mzyPQ-.	
    	je	
    q>@@?ppgVZE|fb6887a
    %RB?
    =B
    ABBAJvniQP\\PRh!cDS`gΒ23geFGPHXcCI_ƍ5"	
    n*T.\PQip
    [*81
    /
    9@:>t%6#".'.>%6%&7>'.#*.'&676./&'.54>754'&#"%4>327676=
    >vwd"
    
    l"3	/!,+	j2.|%&
    (N&wh>8X}xc2"W<4<,Z~fdaA`FBIT;hmA<7QC1>[u])		u1V(k1S)
    -	0B2*%M;W(0S[T]I)	A 5%R7&&T,Xq&&1X,LΒw%%;#!"&5463!546;2!2!+"&52#!"/&4?63!5!
    
    (&&@&&(&&@&&(
    
    (
    
    &&@&&@&&&&
    
    #''%#"'&54676%6%%
    hh @` ! ! 
    
    
    #52#"&5476!2#"&5476!2#"'&546
     
    
     
    
    
    @
    
    @
    
    @
    
    
     84&"2$4&"2$4&"2#"'&'&7>7.54$ KjKKjKjKKjKjKKjdne4"%!KjKKjKKjKKjKKjKKjK.٫8
    !%00C'Z'.W"&462"&462"&462 6?32$6&#"'#"&'5&6&>7>7&54>$ KjKKjKjKKjKjKKjhяW.{+9E=cQdFK1A
    0)LlLjKKjKKjKKjKKjKKjKpJ2`[Q?l&٫C58.H(Yee	
    
    			Y'w(O'R@$#"&#"'>7676327676#"
    b,XHUmM.U_t,7A3ge
    z9@xSaQBLb(	VU
    !!!==w)AU!!77'7'#'#274.#"#32!5'.>537#"76=4>5'.465!KkkK_5 5 #BH1`L
    
    I&v6SF!Sr99rS!`` /7K%s}HXV
    PV	e		Vd/9Q[ $547.546326%>>32"&5%632264&#"64'&""&'&"2>&2654&#";2P3>tSU<)tqH+>XX|Wh,:UStW|XX>=X*
    ))
    +^X^|WX=>X:_.2//a:Ru?
    	
    Q%-W|XW>J(	=u>XX|WX`
    
    *((*
    
    
    +2		2X>=XW|E03>$32!>7'&'&7!6./EUnohiI\0<{ >ORDƚ~˕VƻoR C37J6I`Tb<^M~M8O		
    5!#!"&!5!!52!5463	^B@B^`B^^B `B^^"^BB^0;%'#".54>327&$#"32$	!"$&6$3 ##320JUnLnʡ~~&q@tKL}'` -
    -oxnǑUyl}~~FڎLlLt`(88( 	7!'	!\W\d;tZ`_O;}54+";2%54+";2!4&"!4;234;2354;2354>3&546263232632#"&#"26354;2354;2354;2````pp``` !,! -&M<FI(2```@PppPpppppp#  #
    
    ppppp	j#"'&=!;5463!2#!"&=#".'.#!#"&463232>7>;>32#"&'#"!546	%. `@` :,.',-XjjXh-,'.,: kb>PppP>bk .%Z &
    :k%$> $``6&L')59I"TlԖlT"I95)'L&69GppG9$ >$%k:!+32&#!332 $&6$ ~O88OLlL>pN
    
    iLlL	'':Ma4&'#"'.7654.#""'&#"3!267#!"&54676$32#"'.76'&>$#"'.7654'&676mD5)
    z{6lP,@KijjOoɎȕ>>[ta)GG4?a)
    ll
    >;_-/
    9GH{zyN@,KԕoN繁y!
    ?hh>$
    D"
    >â?$	n"&5462'#".54>22654.'&'.54>32#"#*.5./"~~s!m{b6#	-SjR,l'(s-6^]Itg))[zxȁZ&+6,4$.X%%Dc*
    &D~WL}]I0"
    
    YYZvJ@N*CVTR3/A3$#/;'"/fR-,&2-"
    7Zr^Na94Rji3.I+
    
    &6W6>N%&60;96@7F6I3+4&#!"3!26%4&#!"3!26 $$ ^aa`@@^aa'7  $ >. %"&546;2#!"&546;2#/a^(^aa(N@@4&#!"3!26 $$ @@^aa`@^aa'  $ >. 7"&5463!2#/a^(n@^aa(N@%=%#!"'&7!>3!26=!26=!2%"&54&""&546 ##]VTV$KjKKjK$&4&Ԗ&4&>9G!5KK55KK5!&&jj&&#/;Im2+#!"&'#"&463>'.3%4&"26%4&"26%6.326#>;463!232#.+#!"&5#"5KK5sH..Hs5KK5e# )4# %&4&&4&&4&&4&` #4) #%~]eZ&&Ze]E-&&-EKjKj.<<.KjK)#)`"@&&`&&&&`&&)#`)"dXo&&oXG,8&&8!O##!!2#!+"'&7#+"'&7!"'&?63!!"'&?63!6;236;2!2@@8@7
    
    8Q
    	NQ
    	N
    	8G@
    
    8GQ
    	NQ
    	N7
    	88HHk%		".>2I20]@]@oo@@oo㔕a22]]p^|11|99|11|(%7'7'	'	7T dltl)qnluul)1$4&"24&"2 &6 +"&5476;2 &6 LhLLhLLhLLhL>
     &
      &`>hLLhLLhLLhL>&&>G
    	.7)1!62	1!62he220e22>	v
    +4	[d+
    d 135#5&'72!5!#"&'"'#"$547&54$ Eh`X(cYz:L:zYc\$_K`Pa}fiXXiޝfa	(+.>#5#5!5!5!54&+'#"3!267!7!#!"&5463!2U``'  jjV>(>VV>>Vq(^(>VV>>VV=&'&'&'&76'&'&.' #.h8"$Y
    ''>eX5,	,PtsK25MRLqS;:.K'5R
    
    ChhRt(+e^TTu B"$:2~<2HpwTT V/7GWg. %&32?673327>/.'676$4&"2 $&6$   $6& $&6$ d--m	
    	,6*6,	
    	mKjKKjoooKzz8zzȎLlLU4>>4-.YG0
    )xx)
    0GYޞ.jKKjKqoooolzzz80LlLD/7H#"'.7'654&#"'67'.6?>%"&46227#".547|D,=),9#7[͑fx!X: D$+s)hhijZt<F/*8C,q؜e\r,WBX/C2hhh=tXm>NZ+"&=46;2+"&=4>7>54&#"#"/.7632  >. $$ p=+& 35,W48'3	l
    zffff^aaP2P: D#;$#
    $*;?R
    Cfff^aa'Y	>O`"&5462&'.'.76.5632.'#&'.'&6?65\\[(	|	r[A@[[@A#2#
    7*
    <Y$
    +}"(
    q87] F 	_1)
    		#1Ke34&+326+"&=!#!"&763!2#!"&5463!2#>?4.'3#>?4.'3#>?4.'3Xe`64[l7
    
    ,	L;=+3&98&+)>>+3&98&+)>=+3&88&+)>	Wj|r>Q$~d$kaw+-wi[[\;/xgY$kaw+-wi[[\;/xgY$kaw+-wi[[\;/xgYJ\m4.'.'&#"#"'.'&47>7632327>7>54&'&#"327>"&47654'&462"'&476'&462"'&47>&'&462i$		$^"
    
    %%
    
    "^$		$W "@9O?1&&18?t@" W&%%&4KK6pp&46ZaaZ&4mttm^x	--	x^=/U7Ckkz'[$=&5%54'4&KK4r7>54 "&54>2"&462%"&54&#""&546 %#"&'&'.7>#"'&'.7>&4&&4&4&&4SZ&4&&44$#&&&j3$"('$&4&[՛[&4&&4F&4&]\&4&$
    	!D4%	,\44&&4&4&&4&-Z4&&4&;cX/)#&>B)&4&j9aU0'.4a7&&u՛[[4&&4&@&&]]&&Ώ0
    u40
    )4#g&'.#"32676%4/&#"326'&#"2632#2+&'%#"'&6?676676632%#"'&6767#"&'&6767#"'.7>327"#"&'&6763"'.7>;7632;>%5K$
    "0%>s$
    "0%>;;>%5KVL#>H30
    \($$(\(єyO2F/{(?0(TK.5sg$єy#-F/{$70(TK.5sg$L#>H30
    \($$(\#(@5"'K58!'"58!'"55"'K#dS$K		K$Sdx#@1
    wd>N;ET0((?
    -
    2K|1
    wd#N;ET0$(?
    -
    2K$#dS$K		K$SdxDN\2654& 265462"2654 #"32654>7>54."/&47&'?62 &4&&4&h՛[&4&r$'("$3j&&&#$4["@GB[
    "&&Β&&][u&&7a4.'0Ua9j&4&)B>&#)/Xc;u՛""
    Gi[Xh#"&54676324&'&#"'>54#"32#"54>54'.#"32>7>767632326#!"&5463!2b
    )
    :4FDN
    
    [1,^JK-*E#9gWRYvm0O	w@wwwC22c@X&!9{MA_"S4b// DR"XljPY<	@www%e4.#"32>7676#'.#"#"&54>3232>754&*#"&54>763 >32
    ''il$E/
    @P@
    ^`'W6&!.. ! -P5+
    
    
    E{n46vLeVz:,SN/
    M5M[
    	]$[^5iC'2H&!(?]v`*	l	b$9>
    =R2
    #"&5467%!"&7>3-.7>;%.7>322326/.76/.'&6766/&/&#"&676	&676&6766/&672? =1(H/ 	'96&@)9<')29%
    &06##$ J 07j)5@"*3%"!M
    %#K"%Ne8)'8_(9./=*%8!Q #P"\Q#N&a)<9bR]mp%"'.'&54>76%&54763263 #"/7#"'#"&/%$%322654&#"%'OV9
    nt
    |\d
    ϓ[nt
    |@D:)	
    ;98'+|j," 41CH^nVz(~R	9\'	r
    
    @L@
    	@w46HI(+C
    ,55,
    f[op@\j;(zV~i/5O#"'&54>32&#" 654'67'"'>54''&'"'6767&546767>7蒓`V BMR B9)̟!SH-77IXmSMH*k#".o;^J qןד>@YM
    $bKd ү[E";Kx%^6;%T,U:im=Mk).DT4'"&5463267&#" 6;64'.'4'>732676%#!"&5463!2),蛜s5-54&#"#"'654'.#"#"&#"3263232>3232>76 $$ Cf'/'%($UL
    (
    #'/'@3#@,G)+H+@#3
    ^aaX@_O#NW#O_.*	##(^aaq[632632#"&#"#".'&#"#".'&54767>7654.54632327&547>P9	B6?K?%O4T% >6>Z64Y=6>%S4N$?L?4B	@{:y/$ ,'R!F!8%
    #)(()#%:!F Q'+%0z:zO_4'.'&54>54&#"#"'654'.#"#"&#"3263232>3232>76#!"&5463!2Cf'.'%($VM
    )
    #'.'@
    3
    #A,G)+H+A#
    4
    w@wwwXA?4N$NW&M&L/*
    ##	+@www	O$>?>762'&#"./454327327>7>	EpB5
    3FAP/h\/NGSL	 RP*m95F84f&3Ga4B|wB.\FI*/.?&,5~K %
    &Y."7n<	"-I.M`{ARwJ!FX^dj''''"'7&'7&'7&'7&547'67'67'67'63277774$#"32$			*'ֱ,?g=OO&L&NJBg;1''ֱ.=gCIM
    $'&&NJBg=.%w؝\\w
    Ioo<<-NIDg=/%(ײ+AhEHO*"#*OICh=/'(ֲ/=h>ON.]xwڝ]7e[@)6!!"3#"&546%3567654'3!67!4&'7Sgny]K-#75LSl>9V%cPe}&Hn_HȌ=UoLQ1!45647UC"
    !-9[nx"&46254&"326754&"326754&"26754&"26#".547632632626326'4#"#"54732764&"264.#"327632>#"'"'#"'#"&5#"'67&'327&'&54>3267>7>7>32632632T"8""8)<())(<))))<))<))<))<)Tد{ՐRhx=8 78 n 81
    pH_6Soc
    F@b@?d?uKbM70[f5Y$35KUC<:[;+8 n 87 8/8Zlv]64qE 'YK0-AlB;
    W#;WS9
    &(#-7Z://:/Tr++r,,r++r,,r++r,,r++r,,ʠgxXVעe9222222^KVvF02OO23OO`lF;mhj84DroB@r+@222222C0DP`.r8h9~T4.&o@91P%14'!3#"&46327&#"326%35#5##33 $$ }Pcc]321IUΠ?LL?cc4MX&04;0XpD[[DpD,)&&Q	9V\26&".'&'&6?.#"#26327677>'32>&3#'&+"?626&"#!'.'!"&5463!>;26;2!2P  P 	
    92#.}SP9::%L\B )spN/9oJ5 
    !+D`]BgY9+,9%
    Pk4P  P &NnF!_7*}B<{o0&&B;*<@$ucRRc#@16#37c&@@@
    J"@*4^`EDBo/8927
    *@OLC!T!323X$BJ@@@&AS
    0C59"'D/&&D488$5A&%O#!"&547>7>2$7>/.".'&'&2>^B@B^>FFzn_0P:P2\nzFF>R&p^1P:P1^&R
    P2NMJMQ0Rr.B^^B	7:5]yPH!%%"FPy]5:7	=4QH!%%!Ht4=<"-/ ?1Pp+".'.'.?>;2>7$76&'&%.+"3!26#!"&54767>;2'
    +~'*OJ%%JN,&x'%^M,EE,M7ZE[P*FF*P:5
    
    ^B@B^){$.MK%%KM.$+X)o3"a  22!]4	I>"">,&S8JB##B12`
    `B^^B8&ra#11#$R&"&.2v%/%''%/%7%7'%7'/#&5'&&?&'&?&'&7%27674?6J"0<=_gNU?DfuYGb7=^H^`	=v~yT3GDPO	4Fѭqi_w\ހ!1uS%V_-d
    1=U{J8n~r'U4.#".'"3!264&"26+#!"&5463!232+32+320P373/./373P0T=@=T֙֙|`^B@B^^BB^`````*9deG-!
    
    !-Ged9IaallkOB^^BB^^B	+Yi"&54622#!"&54>;2>+32+32+#!"&5463!2324&#!"3!26֙֙0.I/ OBBO	-Q52-)&)-2
    ``
    
    ``
    
    `^B@B^^BB^`
    
    @
    
    
    |kkl"=IYL)CggC0[jM4				
    
    
    
    
    B^^BB^^B
    @
    
    @
    !1AQu4.#".'"3!24&"254&#!"3!2654&#!"3!2654&#!"3!26#!54&+"!54&+"!"&5463!2)P90,***,09P)J66S"@8@^B@@B^^BB^Ukc9		9ckU?@@88@@N@B^````^BB^^!1AQu#!"&4>32>72"&462#!"&=463!25#!"&=463!25#!"&=463!24&#!"3!546;2!546;2!26#!"&5463!2J66J)P90,***,09P)"@8@
    @
    
    `@@`
    ^B@B^^BB^ՀUUkc9		9c`@@88@@2
    
    @
    ````@B^^BB^^(%.'"&' $&  #"$&6$ wCιCwjJ~J>LlLśJSSJ͛>6LlL$,  $&6654&$ 3 72&&  lLmzzBl>KlLGzzG>'7#!"&54>7&54>2  62654' '3/U]B,ȍ,B]U/OQнQ>+X}}X0bӃۚӅb0}hQQh>ff#=#!"&4>3272"&462!3!26#!"&5463!;26=!2J66J)Q8PP8Q)
    
    ^B@B^^B``B^VVVld9KK9d`
    @B^^BB^``^+;K[eu4.#"'"3!264&"254&#!"3!2654&#!"3!26%54&+";2654&#!"3!26!54&#!"!#!"&5463!2"D/@@/D"?,,?pppp@@@@^B@B^^BB^D6]W2@@2W]67MMppp@@@@@@@@n`@B^^BB^^+;K[eu#!"&54>3272"&462#!"&=463!2%#!"&=463!2+"&=46;25#!"&=463!2!3!26#!"&5463!2?,V,?"D/@@/D"pppp@@@
    
    ^B@B^^BB^D7MM76]W2@@2W]֠ppp@@@@@@@@`
    @B^^BB^^A#"327.#"'63263#".'#"$&546$32326J9"65I).!1iCCu
    +I\Gw\B!al݇yǙV/]:=B>9+32%#!"&5463!2#"&54>54'&#"#"54654'.#"#"'.54>54'&'&543232654&432#"&54>764&'&'.54632 ?c'p& ?b1w{2V	?#&#9&CY'&.&#+B
    
    : &65&*2w1GF1)2<)<'
    
    (
    BH=ӊ:NT :O	)4:i F~b`e!}U3i?fRUX|'&'&Ic&Q
    	*2U.L6*/
    L:90%>..>%b>++z7ymlw45)0	33J@0!!TFL P]=GS-kwm	!*(%6&692? $&6$ 	' al@lLlL,&EC
    h$LlL
    /37;%"&546734&'4&" 67 54746 #5#5#5ppF::FDFNV^fnv~"/&4?.7&#"!4>3267622"&4"&46262"&42"&4462"$2"&42"&4"&46262"&4"&46262"&42"&4$2"&42"&42"&4
    
    
    
    R
    
    ,H8JfjQhjG^R,
    
    !4&&4&Z4&&4&4&&4&4&&4&&4&&44&&4&4&&4&Z4&&4&4&&4&4&&4&4&&4&4&&4&&4&&4&Z4&&4&Z4&&4&
    
    
    
    R
    
    ,[cGjhQRJ'A,
    
    &4&&4Z&4&&4Z&4&&4Z&4&&444&&4&&4&&4Z&4&&4Z&4&&4Z&4&&4&4&&4Z&4&&4Z&4&&4&&4&&4Z&4&&4Z&4&&4%-5=EM}+"&=#!"'+"&=&="&4626"&462&"&462"&462&"&462&"&462#!"&=46;4632676/&?.7&#"!2"&462&"&462&"&462"&462&"&462&"&462"&462&"&462"&462@?AA?
    @
    @R...R@`jlL.h)**$	%35K.....uvnu....@@jN **.t2#K5..R..R.
    @Hq '&'&54 &7676767654$'.766$76"&462&'&'&7>54.'.7>76ȵ|_ğyv/ۃ⃺k]
    :Buq
    CA
    _kނXVobZZbnW|V	0 	Q2-
    l}O		/	:1z	
    q%zG
    4(
    
    6Roaą\<
    
    )4	J}%!!#!"&5463!2^B@B^^BB^`@B^^BB^^%#!"&=463!2^B@B^^BB^B^^BB^^&))!32#!#!"&5463!463!2`B^^B^B@B^^B`^BB^^B@B^B^^BB^`B^^#3%764/764/&"'&"2?2#!"&5463!2
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    s^B@B^^BB^ג
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    @B^^BB^^#'7"/"/&4?'&4?62762!!%#!"&5463!2
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    ^B@B^^BB^
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    `@B^^BB^^	! $&6$ .2r`LlLf4LlL#.C&>"'&4762"/&4?62'"'&4762%'.>6.'.>6'>/>76&'&.'&7&'">?4'.677>7.>37654'&'67>776 $&6$ (4Z##
    &##
    &y"6&.JM@& "(XE*$+8
    jT?3#'.'&!3!2>?3.'#!57>7'./5!27#'.#!"g%%D-!gg<6WWZe#1=/2*]Y3-,C1/Dx] VFIq-HD2NK'>*%R=f
    07=.
    fD]\|yu,0>Seu#2#"'&5<>323#3#&'#334'."#"+236'&54.#"5#37326#!"&5463!2		<	zzjk-L+ )[$8=".un/2 ^B@B^^BB^5cy	
    
    (ݔI(8?C(3> #"($=@B^^BB^^0KS&'.'&'./674&$#">&>?>'76'# "&#./.'7676767>76$w
    .~kuBR] T%z+",|ޟj<)(!(	~ˣzF8"{%%#5)}''xJF0"H[$%EJ#%
    .Gk29(B13"?@S)5" #9dmW";L65RA0@T.$}i`:f3A%%
    BM<$q:)BD	aa%`]A&c|	Ms!
    Z
    2}i[F&**
    < ʣsc"J<&NsF%0@Wm6&'.6$.7>7$76".4>2.,&>6'"'&7>=GV:e#:$?+%
    
    q4g
    &3hT`ZtQмQQмpAP1LK!:<}҈`dlb,9'
    
    
    %%($!
    a3)W)x
    
    оQQоQQcQǡ-җe)Us2XD\ϼYd/?O_o#"=#"=4;543#"=#"=4;543#"=#"=4;543#"=#"=4;543#"=#"=4;543%#!"&5463!2++532325++532325++532325++532325++53232p00pp00pp00pp00pp008((88(@(80pp00pp00pp00pp00pp0     @(88((88     /Q/&'%&/"&=.6?&?&'&6?'.>-#".6?'.>'&6'.>54627>%>76#"'%
    %6
    
    27
    2G
    f!)p&4&p)!f
    G2
    72
    
    	*6	"
    47
    2G
    f!)p&4&p)!f
    G2
    72
    
    "	6*	!k
    3
    
    j&3
    %,*&&ր*9%
    3&j
    
    3
    k!./!>>$,*!k
    3.j&3
    %Ԝ9*&&ր*ǜ,%
    3&j
    
    3
    k!*,$>>!/.&6.'&$	&76$76$PutۥiPuGxy
    Զ[xy
    -_v١eNuv١e	=uʦ[t78X
    &6##'7-'%'&$  $6 $&6$ 31NE0gR=|||">"LlL^v!1f2iЂwgfZQQ^>"||||wLlL&ZXblw.'&>'&'&".'.'&&'&'&7>767>67>7626&'&>&'&>'.7>.676'&'&'&'.67.>7>6&'&676&'&676.676&'&>&'&676'.>6/4-LJg-$	6)j2%+QF)b3FSP21DK2AW")")$??8A&AE5lZm=gG2Sw*&>$5jD GHyX/4F r	1
    	1""!l=6>	6
    ,5./'e
    
    
    
    .*|Ed!
    u&&%&	&5d	
    ))66@C&8B@qL?P^7	G-hI[q:"T6
    ,6 
    &/`LwQ'	
    A	^			"		$&	_		y			*	<Copyright Dave Gandy 2016. All rights reserved.Copyright Dave Gandy 2016. All rights reserved.FontAwesomeFontAwesomeRegularRegularFONTLAB:OTFEXPORTFONTLAB:OTFEXPORTFontAwesomeFontAwesomeVersion 4.7.0 2016Version 4.7.0 2016FontAwesomeFontAwesomePlease refer to the Copyright section for the font trademark attribution notices.Please refer to the Copyright section for the font trademark attribution notices.Fort AwesomeFort AwesomeDave GandyDave Gandyhttp://fontawesome.iohttp://fontawesome.iohttp://fontawesome.io/license/http://fontawesome.io/license/	
    
     !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ab
    cdefghijklmnopqrstuvwxyz{|}~"	
    
     !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~	
    
     !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~glassmusicsearchenvelopeheartstar
    star_emptyuserfilmth_largethth_listokremovezoom_inzoom_outoffsignalcogtrashhomefile_alttimeroaddownload_altdownloaduploadinboxplay_circlerepeatrefreshlist_altlockflag
    headphones
    volume_offvolume_down	volume_upqrcodebarcodetagtagsbookbookmarkprintcamerafontbolditalictext_height
    text_width
    align_leftalign_centeralign_right
    align_justifylistindent_leftindent_rightfacetime_videopicturepencil
    map_markeradjusttinteditsharecheckmove
    step_backward
    fast_backwardbackwardplaypausestopforwardfast_forwardstep_forwardejectchevron_left
    chevron_right	plus_sign
    minus_signremove_signok_sign
    question_sign	info_sign
    screenshot
    remove_circle	ok_circle
    ban_circle
    arrow_leftarrow_rightarrow_up
    arrow_down	share_altresize_fullresize_smallexclamation_signgiftleaffireeye_open	eye_closewarning_signplanecalendarrandomcommentmagnet
    chevron_upchevron_downretweet
    shopping_cartfolder_closefolder_openresize_verticalresize_horizontal	bar_charttwitter_sign
    facebook_signcamera_retrokeycogscomments
    thumbs_up_altthumbs_down_alt	star_halfheart_emptysignout
    linkedin_signpushpin
    external_linksignintrophygithub_sign
    upload_altlemonphonecheck_emptybookmark_empty
    phone_signtwitterfacebookgithubunlockcredit_cardrsshddbullhornbellcertificate
    hand_right	hand_lefthand_up	hand_downcircle_arrow_leftcircle_arrow_rightcircle_arrow_upcircle_arrow_downglobewrenchtasksfilter	briefcase
    fullscreengrouplinkcloudbeakercutcopy
    paper_clipsave
    sign_blankreorderulol
    strikethrough	underlinetablemagictruck	pinterestpinterest_signgoogle_plus_signgoogle_plusmoney
    caret_downcaret_up
    caret_leftcaret_rightcolumnssort	sort_downsort_upenvelope_altlinkedinundolegal	dashboardcomment_altcomments_altboltsitemapumbrellapaste
    light_bulbexchangecloud_downloadcloud_uploaduser_mdstethoscopesuitcasebell_altcoffeefood
    file_text_altbuildinghospital	ambulancemedkitfighter_jetbeerh_signf0fedouble_angle_leftdouble_angle_rightdouble_angle_updouble_angle_down
    angle_leftangle_rightangle_up
    angle_downdesktoplaptoptabletmobile_phonecircle_blank
    quote_leftquote_rightspinnercirclereply
    github_altfolder_close_altfolder_open_alt
    expand_altcollapse_altsmilefrownmehgamepadkeyboardflag_altflag_checkeredterminalcode	reply_allstar_half_emptylocation_arrowcrop	code_forkunlink_279exclamationsuperscript	subscript_283puzzle_piece
    microphonemicrophone_offshieldcalendar_emptyfire_extinguisherrocketmaxcdnchevron_sign_leftchevron_sign_rightchevron_sign_upchevron_sign_downhtml5css3anchor
    unlock_altbullseyeellipsis_horizontalellipsis_vertical_303	play_signticketminus_sign_altcheck_minuslevel_up
    level_down
    check_sign	edit_sign_312
    share_signcompasscollapsecollapse_top_317eurgbpusdinrjpyrubkrwbtcfile	file_textsort_by_alphabet_329sort_by_attributessort_by_attributes_alt
    sort_by_ordersort_by_order_alt_334_335youtube_signyoutubexing	xing_signyoutube_playdropbox
    stackexchange	instagramflickradnf171bitbucket_signtumblrtumblr_signlong_arrow_down
    long_arrow_uplong_arrow_leftlong_arrow_rightwindowsandroidlinuxdribbleskype
    foursquaretrellofemalemalegittipsun_366archivebugvkweiborenren_372stack_exchange_374arrow_circle_alt_left_376dot_circle_alt_378vimeo_square_380
    plus_square_o_382_383_384_385_386_387_388_389uniF1A0f1a1_392_393f1a4_395_396_397_398_399_400f1ab_402_403_404uniF1B1_406_407_408_409_410_411_412_413_414_415_416_417_418_419uniF1C0uniF1C1_422_423_424_425_426_427_428_429_430_431_432_433_434uniF1D0uniF1D1uniF1D2_438_439uniF1D5uniF1D6uniF1D7_443_444_445_446_447_448_449uniF1E0_451_452_453_454_455_456_457_458_459_460_461_462_463_464uniF1F0_466_467f1f3_469_470_471_472_473_474_475_476f1fc_478_479_480_481_482_483_484_485_486_487_488_489_490_491_492_493_494f210_496f212_498_499_500_501_502_503_504_505_506_507_508_509venus_511_512_513_514_515_516_517_518_519_520_521_522_523_524_525_526_527_528_529_530_531_532_533_534_535_536_537_538_539_540_541_542_543_544_545_546_547_548_549_550_551_552_553_554_555_556_557_558_559_560_561_562_563_564_565_566_567_568_569f260f261_572f263_574_575_576_577_578_579_580_581_582_583_584_585_586_587_588_589_590_591_592_593_594_595_596_597_598f27euniF280uniF281_602_603_604uniF285uniF286_607_608_609_610_611_612_613_614_615_616_617_618_619_620_621_622_623_624_625_626_627_628_629uniF2A0uniF2A1uniF2A2uniF2A3uniF2A4uniF2A5uniF2A6uniF2A7uniF2A8uniF2A9uniF2AAuniF2ABuniF2ACuniF2ADuniF2AEuniF2B0uniF2B1uniF2B2uniF2B3uniF2B4uniF2B5uniF2B6uniF2B7uniF2B8uniF2B9uniF2BAuniF2BBuniF2BCuniF2BDuniF2BEuniF2C0uniF2C1uniF2C2uniF2C3uniF2C4uniF2C5uniF2C6uniF2C7uniF2C8uniF2C9uniF2CAuniF2CBuniF2CCuniF2CDuniF2CEuniF2D0uniF2D1uniF2D2uniF2D3uniF2D4uniF2D5uniF2D6uniF2D7uniF2D8uniF2D9uniF2DAuniF2DBuniF2DCuniF2DDuniF2DEuniF2E0uniF2E1uniF2E2uniF2E3uniF2E4uniF2E5uniF2E6uniF2E7_698uniF2E9uniF2EAuniF2EBuniF2ECuniF2EDuniF2EE=O<01hview/assets/fonts/fontawesome-webfont.svg000064400001551112147600042240014670 0ustar00
    
    
    
    Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016
     By ,,,
    Copyright Dave Gandy 2016. All rights reserved.
    
    
    
      
    
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
      
    
    view/assets/fonts/fontawesome-webfont.ttf000064400000503254147600042240014671 0ustar00
    PFFTMkGGDEFp OS/22z@X`cmap
    :gasphglyfMLhead-6hhea
    $hmtxEy
    loca\maxp,8 name㗋ghpostkuːxY_<3232			'@i33spyrs@  pU]yn2@
    zZ@55
    zZZ@,_@s@	@(@@@-
    MM-
    MM@@@
    -`b
    $648""""""@D@,,@ 	m)@@	 	' D9>dY*	'								T										@	f	%RE	 		$!k(D'		%	%		0%/&p@0 !"""`>N^n~.>N^n~>N^n~ !"""`!@P`p 0@P`p!@P`p\XSB1ݬ
    
    	
    
    	,,,,,,,,,,,,,tLT$l	x	
    T(
    dl,4dpH$d,t(  !"0# $,$&D'()T**,,-.@./`/00123d4445 556 6\67H788`89L9:h:;<>?h?@H@A0ABXBCdCDLDEFG0GHIJ8KLMdN,NNOP`PQ4QRRlS,ST`U0WXZ[@[\<\]^(^_`pb,bddePefg`giLijDkklm@n,oLpqrsxttuD{`||}}~Hl@lH TH`@$\XDTXDP,8d\Hx tXpdxt@Œ\ ļŸƔ0dʨˀ͔xϰЌ,ш҈ӌ8,՜`lHش`Tڸ۔@lބ߬lp 4X$l(`	d
    
    
    ,,8(Xx|T@| !"x##l$$'h(*L,T.L1t1230345t6T7$89H::;<<?X@ABCDEHFHGpHHIxJ JKLMN@P@QRSDT ULV`VWXX4XZZ[d[\|]^`aHabcXdetfhghi\jxnp@svwxyz{h|}}\lt4t88LT||4xLX(  @lt$xLL HĠT(ʈˠϔldPՄxpڬTTވL<H$l4 Pl,xp,xtd44,hP	4
    
    4<,,408$8T |!h"$L%0&H'()*0*+,.$.012@234t5$69 ::;;<(<=4?@ACDFH`HILLLLLLLLLLLLLLLLp7!!!@pp p]!2#!"&463!&54>3!2+@&&&&@+$(($F#+&4&&4&x+#+".4>32".4>32467632DhgZghDDhg-iWDhgZghDDhg-iW&@(8 2N++NdN+';2N++NdN+'3
    8!  #"'#"$&6$ rL46$܏ooo|W%r4L&V|oooܳ%=M%+".'&%&'3!26<.#!";2>767>7#!"&5463!2 %3@m00m@3% 
    
    @
    :"7..7":6]^B@B^^BB^ $΄+0110+$
    (	
    
    t1%%1+`B^^B@B^^"'.54632>324
    #LoP$$Po>Z$_dC+I@$$@I+"#"'%#"&547&547%62V??V8<8y
    b%	I))9I		+	%%#"'%#"&547&547%62q2ZZ2IzyV)??V8<8)>~>[
    
    2b%	I))9I	%#!"&54>3 72 &6 }XX}.GuLlLuG.>mmUmEEm>/?O_o54&+";2654&+";2654&+";264&#!"3!2654&+";2654&+";264&#!"3!2654&+";2654&+";2654&+";267#!"&5463!2&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&^BB^^B@B^@&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&B^^B@B^^/?#!"&5463!2#!"&5463!2#!"&5463!2#!"&5463!2L44LL44LL44LL44LL44LL44LL44LL44L4LL44LL4LL44LL4LL44LL4LL44LL	/?O_o#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!28((88(@(88((88(@(88((88(@(88((88(@(88((88(@(88((88(@(88((88(@(88((88(@(88((88(@(8 (88((88(88((88(88((88(88((88(88((88(88((88(88((88(88((88(88((88/?O_#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!28((88(@(88((88(@(88(@(88((88((88(@(88(@(88((88(@(88((8 (88((88(88((88(88((88(88((88(88((88(88((88y"/&4?62	62,PP&PP,jPn#$"'	"/&47	&4?62	62	PP&P&&P&P&P&&P&P#+D++"&=#"&=46;546;232  #"'#"$&6$ 
    
    @
    
    
    
    @
    
    rK56$܏ooo|W@
    
    
    
    @
    
    
    rjK&V|oooܳ0#!"&=463!2  #"'#"$&6$ 
    
    
    @
    rK56$܏ooo|W@
    
    @
    rjK&V|oooܳ)5 $&54762>54&'.7>"&5462zz+i *bkQнQkb* j*LhLLhLzzBm +*i JyhQQhyJ i*+ mJ4LL44LL/?O%+"&=46;2%+"&546;2%+"&546;2+"&546;2+"&546;2`r@@r@@n4&"2#"/+"&/&'#"'&'&547>7&/.=46?67&'&547>3267676;27632Ԗ#H
    	,/
    1)
    ~'H
    (C
    	
    
    ,/
    1)	
    $H
    ԖԖm6%2X
    %	l2
    k	r6
    
    [21
    ..9Q
    
    $
    k2
    k	
    w3[20/;Cg+"&546;2+"&546;2+"&546;2!3!2>!'&'!+#!"&5#"&=463!7>3!2!2@@@@@@@`0
    
    o`^BB^`5FN(@(NF5 @@@L%%Ju		@LSyuS@%44%f5#!!!"&5465	7#"'	'&/&6762546;2&&??>
    
    LL
    >
     X 
      &&&AJ	A	J
    Wh##!"&5463!2!&'&!"&5!(8((88((`x
    c`(8`((88(@(8(D98( ,#!"&=46;46;2.  6 $$ @(r^aa@@`(_^aa2NC5.+";26#!26'.#!"3!"547>3!";26/.#!2W
    
    .@
    
    
    
    @.$S
    
    
    
    S$@
    
    9I
    
    
    
    I6>
    
    >%=$4&"2$4&"2#!"&5463!2?!2"'&763!463!2!2&4&&4&&4&&48(@(88(ч::(8@6@*&&*4&&4&&4&&4& (88(@(8888)@)'&&@$0"'&76;46;232  >& $$ `
    (r^aa`		@`2(^aa$0++"&5#"&54762  >& $$ ^
    ?@(r^aa`?		(^aa
    #!.'!!!%#!"&547>3!2<<<_@`&&
    5@5
    @&&>=(""='#"'&5476.  6 $$    ! (r^aaJ	%%(_^aa3#!"'&?&#"3267672#"$&6$3276&@*hQQhwI
    	mʬzzk)'@&('QнQh_
    	
    z8zoe$G!"$'"&5463!23267676;2#!"&4?&#"+"&=!2762@hk4&&&GaF*
    &@&ɆF*
    Ak4&nf&&&4BHrd@&&4rd
    Moe&/?O_o+"&=46;25+"&=46;25+"&=46;2#!"&=463!25#!"&=463!25#!"&=463!24&#!"3!26#!"&5463!2
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    
    
    @
    
    
    
    @
    
    
    
    @
    
    
    ^B@B^^BB^`@
    
    @
    @
    
    @
    @
    
    @
    @
    
    @
    @
    
    @
    @
    
    @
    3@
    
    
    MB^^B@B^^!54&"#!"&546;54 32@Ԗ@8(@(88( p (8jj(88(@(88@7+"&5&5462#".#"#"&5476763232>32@@
    @
    @KjKך=}\I&:k~&26]S
    &H&
    
    &H5KKut,4,	& x:;*4*&K#+"&546;227654$ >3546;2+"&="&/&546$ <X@@Gv"DװD"vG@@X<4L41!Sk @ G<_bb_4.54632&4&&M4&UF
    &""""&
    F&M&&M&%/B/%G-Ik"'!"&5463!62#"&54>4.54632#"&54767>4&'&'&54632#"&547>7676'&'.'&54632&4&&M4&UF
    &""""&
    FU
    &'8JSSJ8'&
    
    
    
    &'.${{$.'&
    
    &M&&M&%/B/%7;&'66'&;4[&$
    [2[
    $&[#/37#5#5!#5!!!!!!!#5!#5!5##!35!!!#'+/37;?3#3#3#3#3#3#3#3#3#3#3#3#3#3#3#3#3????  ^>>~??????~??~??^??^^?  ^??4&"2#"'.5463!2KjKKjv%'45%5&5L45&%jKKjK@5%%%%54L5&6'k54&"2#"'.5463!2#"&'654'.#32KjKKjv%'45%5&5L45&%%'4$.%%5&55&%jKKjK@5%%%%54L5&6'45%%%54'&55&6'
    yTdt#!"&'&74676&7>7>76&7>7>76&7>7>76&7>7>63!2#!"3!2676'3!26?6&#!"3!26?6&#!"g(sAeM,*$/
    !'&
    JP$G]
    x6,&`
    
    h`
    
    "9Hv@WkNC<.
    &k&
    ("$p"	.
    #u&#	%!'	pJvwEF#
    
    @
    
    
    
    @
    
    2#"'	#"'.546763!''!0#GG$/!''!	
    8""8
     X!	
    8"	"8
    	<)!!#"&=!4&"27+#!"&=#"&546;463!232(8&4&&4
    8(@(8
    qO@8((`(@Oq8(&4&&4&@`
    (88(
    Oq (8(`(q!)2"&42#!"&546;7>3!2  Ijjjj3e55e3gr`Ijjjj1GG1rP2327&7>7;"&#"4?2>54.'%3"&#"#ժ!9&WB03&K5!)V?@L'	
    >R>e;&L::%P>vO
    'h N_":-&+#
    :	'	+a%3 4'.#"32>54.#"7>7><5'./6$3232#"&#"+JBx)EB_I:I*CRzb3:dtB2P$$5.3bZF|\8!-T>5Fu\,,jn OrB,7676'5.'732>7"#"&#&#"OA
    zj=N!}:0e%	y
    +tD3~U#B4#
    g		'2
    %/!:
    T	bRU,7}%2"/&6;#"&?62+326323!2>?23&'.'.#"&"$#"#&=>764=464.'&#"&'!~:~!PP!~:~!P6,,$$%*'
    c2N 	
    ($"LA23Yl!x!*%%%%
    pP,T	NE	Q7^oH!+(
    3	 *Ueeu
    wga32632$?23&'.5&'&#"&"5$#"#&=>7>4&54&54>.'&#"&'2#".465!#".'&47>32!4&4>Q6,,Faw!*'
    =~Pl*	
    ($"LA23Yl	)!*<7@@7<
    
    <7@@7<
     pP,T	MF
    Q747ƢHoH!+(
    3	 tJHQ6wh',686,'$##$',686,'$##$/?%#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2&&&&&&&&&&&&&&&&&&&&f&&&&f&&&&f&&&&/?%#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2&&&&&&&&&&&&&&&&&&&&f&&&&f&&&&f&&&&/?%#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2&&&&&&&&&&&&&&&&&&&&f&&&&f&&&&f&&&&/?%#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2&&&&&&&&&&&&&&&&&&&&f&&&&f&&&&f&&&&/?O_o%+"&=46;2+"&=46;2+"&=46;2#!"&=463!2+"&=46;2#!"&=463!2#!"&=463!2#!"&=463!2
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    @
    
    
    
    
    
    
    
    @
    
    
    
    @
    
    
    
    @
    
    
    
    s
    
    
    s
    
    
    
    
    
    s
    
    
    
    
    
    s
    
    
    s
    
    
    /?O#"'&47632#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2
    			 	
    
    @
    
    
    
    
    
    @
    
    
    
    @
    
    @
    
    
    
    	 		 	
    
    
    s
    
    
    s
    
    
    s
    
    
    /?O#"&54632	#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2`		
    
    	 
    @
    
    
    
    
    
    @
    
    
    
    @
    
    @
    
    
    		
    @
    		
    
    
    s
    
    
    s
    
    
    s
    
    
    #"'#!"&5463!2632'
    mw@www
    '*wwww."&462!5	!"3!2654&#!"&5463!2pppp@
    
    @
    ^BB^^B@B^ppp@@ 
    @
    
    
     @B^^BB^^k%!7'34#"3276'	!7632k[[v
    
    6`%`$65&%[[k
    `5%&&'4&"2"&'&54 Ԗ!?H?!,,ԖԖmF!&&!Fm,%" $$ ^aa`@^aa-4'.'&"26% 547>7>2"KjKXQqYn	243nYqQ$!+!77!+!$5KK,ԑ	]""]ً	9>H7'3&7#!"&5463!2'&#!"3!26=4?6	!762xtt`  ^Qwww@?61B^^B@B^	@(` `\\\P`tt8`  ^Ͼww@w1^BB^^B~
    	@` \ \P+Z#!"&5463!12+"3!26=47676#"'&=# #"'.54>;547632www
    M8
    pB^^B@B^
    'sw-
    
    9*##;Noj'
    #ww@w
    "^BB^^B
    
    	*
    "g`81T`PSA:'*4/D#!"&5463!2#"'&#!"3!26=4?632"'&4?62	62www@?61
    
    B^^B@B^	@
    
    BRnBBn^ww@w1
    ^BB^^B
    	@
    BnnBC"&=!32"'&46;!"'&4762!#"&4762+!54624&&4&&44&&4&&44&&44&&4&&44&&6'&'+"&546;267:	&&&&	s@	
    Z&&&&Z
    	+6'&''&'+"&546;267667:	:	&&&&		s@	
    :	
    Z&&&&Z
    	:
    	z6'&''&47667S:	:	s@	
    :4:
    	|	&546h!!0a
    
    
    $#!"&5463!2#!"&5463!2&&&&&&&&@&&&&&&&&#!"&5463!2&&&&@&&&&&54646&5-	:	s:	
    :4:
    	+&5464646;2+"&5&5-		&&&&	:	s:	
    :	
    &&&&
    	:
    	&54646;2+"&5-	&&&&	s:	
    &&&&
    	62#!"&!"&5463!24@&&&&-:&&&&	"'&476244444Zf	"/&47	&4?62S44444#/54&#!4&+"!"3!;265!26 $$ &&&&&&&&@^aa@&&&&&&&&+^aa54&#!"3!26 $$ &&&&@^aa@&&&&+^aa+74/7654/&#"'&#"32?32?6 $$ }ZZZZ^aaZZZZ^aa#4/&"'&"327> $$ [4h4[j^aa"ZiZJ^aa:F%54&+";264.#"32767632;265467>$ $$ oW	5!"40K(0?i+! ":^aaXRdD4!&.uC$=1/J=^aa.:%54&+4&#!";#"3!2654&+";26 $$ ```^aa^aa/_#"&=46;.'+"&=32+546;2>++"&=.'#"&=46;>7546;232m&&m l&&l m&&m l&&ls&%&&%&&%&&%&&&l m&&m l&&l m&&m ,&%&&%&&%&&%&#/;"/"/&4?'&4?627626.  6 $$ I
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    ͒(r^aaɒ
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    (_^aa ,	"'&4?6262.  6 $$ Z4f44fz(r^aaZ&4ff4(_^aa	"4'32>&#" $&6$  WoɒV󇥔 zzz8YW˼[?zz:zz@5K #!#"'&547632!2A4@%&&K%54'u%%&54&K&&4A5K$l$L%%%54'&&J&j&K5K #"/&47!"&=463!&4?632%u'43'K&&%@4AA4&&K&45&%@6%u%%K&j&%K55K&$l$K&&u#5K@!#"'+"&5"/&547632K%K&56$K55K$l$K&&#76%%53'K&&%@4AA4&&K&45&%%u'5K"#"'&54?63246;2632K%u'45%u&&J'45%&L44L&%54'K%5%t%%$65&K%%4LL4@&%%K',"&5#"#"'.'547!34624&bqb>#5&44&6Uue7D#		"dž&/#!"&546262"/"/&47'&463!2
    &@&&4L
    
    r&4
    
    r
    
    L&&
    4&&&L
    
    rI@&
    
    r
    
    L4&&
    s/"/"/&47'&463!2#!"&546262&4
    
    r
    
    L&&
    &@&&4L
    
    r@@&
    
    r
    
    L4&&
    4&&&L
    
    r##!+"&5!"&=463!46;2!28(`8((8`(88(8((8(8 (8`(88(8((8(88(`8#!"&=463!28(@(88((8 (88((88z5'%+"&5&/&67-.?>46;2%6.@g.L44L.g@.
    .@g.
    L44L
    .g@.g.n.4LL43.n.gg.n.34LL4͙.n.g-  $54&+";264'&+";26/a^
    
    
    
    
    
    
    
    ^aa
    
    fm
    @
    J%55!;263'&#"$4&#"32+#!"&5#"&5463!"&46327632#!2$$8~+(888(+}(`8((8`]]k==k]]8,8e8P88P8`(88(@MMN4&#"327>76$32#"'.#"#"&'.54>54&'&54>7>7>32&z&^&./+>+)>J>	Wm7'
    '"''? &4&c&^|h_bml/J@L@#*
    #M6:D
    35sҟw$	'%
    '	\t3#!"&=463!2'.54>54''
    
    
    @
    1O``O1CZZ71O``O1BZZ7@
    
    @
    N]SHH[3`)TtbN]SHH[3^)Tt!1&' 547 $4&#"2654632 '&476 ==嘅}(zVl''ٌ@uhyyhu9(}VzD##D#	=CU%7.5474&#"2654632%#"'&547.'&476!27632#76$7&'7+NWb=嘧}(zVj\i1
    z,X
    Y[6
    $!%'FuJiys?_9ɍ?kyhun(}VzYF
    KA؉La
    02-F"@Qsp@_!3%54&+";264'&+";26#!"&'&7>2
    
    
    
    
    
    
    
    #%;"";%#`,@L5
    `		
    `	L`4LH`
    `	
    a	5
    L@#37;?Os!!!!%!!!!%!!!!!!!!%!!4&+";26!!%!!!!74&+";26%#!"&546;546;2!546;232 `@ `@ @@ @
    @
    
    @
     @  
    @
    
    @
    L44LL4^B@B^^B@B^4L  @@@@    @@  
    
    
    @@   
    
    
    M4LL44L`B^^B``B^^B`L7q.+"&=46;2#"&=".'673!54632#"&=!"+"&=46;2>767>3!546327>7&54>$32dFK1A
    0)L.٫C58.H(Ye#3C $=463!22>=463!2#!"&5463!2#!"&5463!2H&&/7#"&463!2!2LhLLhLhLLh!
    &&&&&&4hLLhLLhLLhL%z<
    0&4&&)17&4&
    &&#!"&5463!2!2\@\\@\\@\\\\ W*#!"&547>3!2!"4&5463!2!2W+B"5P+B@"5^=\@\ \H#t3G#3G:_Ht\\ @+32"'&46;#"&4762&&4&&44&&44&&4@"&=!"'&4762!54624&&44&&44&&4&&
    !!!3!!0@67&#".'&'#"'#"'32>54'6#!"&5463!28ADAE=\W{O[/5dI
    kDtpČe1?*w@www	(M&
    B{Wta28r=Ku?RZ^GwT	-@www$2+37#546375&#"#3!"&5463ww/Dz?swww@wS88	ww#'.>4&#"26546326"&462!5!&  !5!!=!!%#!"&5463!2B^8(Ԗ>@|K55KK55K^B(8ԖԖ€>v5KK55KKHG4&"&#"2654'32#".'#"'#"&54$327.54632@pp)*Pppp)*Pb	'"+`N*(a;2̓c`." b
    PTY9ppP*)pppP*)b ".`(*Nͣ2ͣ`+"'	b
    MRZB4&"24&"264&"26#"/+"&/&'#"'&547>7&/.=46?67&'&547>3267676;27632#"&'"'#"'&547&'&=4767&547>32626?2#"&'"'#"'&547&'&=4767&547>32626?2ԖLhLKjKLhLKjK	"8w
    s%(")v
    
    
    >
    	"8x
    s"+")v
    <
    3zLLz3
    3>8L3)x3
    3zLLz3
    3>8L3)x3
    ԖԖ4LL45KK54LL45KK
    #)0C	wZl/
    
    Y	
    N,&
    #)0C	vZl.
    
    YL0"qG^^Gqq$ ]G)FqqG^^Gqq$ ]G)Fq%O#"'#"&'&4>7>7.546$ '&'&'# '32$7>54'VZ|$2$
    |E~E<|
    $2$|ZV:(t}X(	
    &%(Hw쉉xH(%&	(XZT\MKG<m$4&"24&#!4654&#+32;254'>4'654&'>7+"&'&#!"&5463!6767>763232&4&&4N2`@`%)7&,$)'  
    %/0Ӄy#5 +1	&<$]`{t5KK5$e:1&+'3TF0h4&&4&3M:;b^v+D2 5#$IIJ 2E=\$YJ!$MCeM-+(K55KK5y*%Au]c>q4&"24&'>54'654&'654&+"+322654&5!267+#"'.'&'&'!"&5463!27>;2&4&&4+ 5#bW0/%
      ')$,&7)%`@``2Nh0##T3'"(0;e$5KK5 tip<&	1&4&&4&#\=E2&%IURI$#5 2D+v^b;:M2gc]vDEA%!bSV2MK55K(,,MeCM$!I@#"&547&547%6@?V8b%	I)94.""'."	67"'.54632>32+C`\hxeH>Hexh\`C+ED4
    #LoP$$Po>Q|I.3MCCM3.I|Q/Z$_dC+I@$$@I+ (@%#!"&5463!2#!"3!:"&5!"&5463!462
    ww@
    
    B^^B 
    4&@&&&4 ` 
    ww
     
    ^B@B^24& && &%573#7.";2634&#"35#347>32#!"&5463!2FtIG9;HIxI<,tԩw@wwwz4DD43EEueB&#1s@www.4&"26#!+"'!"&5463"&463!2#2&S3Ll&c4LL44LL4c@&&{LhLLhL'?#!"&5463!2#!"3!26546;2"/"/&47'&463!2www@B^^B@B^@&4t
    
    r
    
    &&`ww@w@^BB^^B@R&t
    
    r
    
    4&&@"&5!"&5463!462	#!"&54&>3!2654&#!*.54&>3!24&@&&&4 sw
    
    @B^^B
    
    @w4& && &3@w
     
    ^BB^ 
    
    I&5!%5!>732#!"&=4632654&'&'.=463!5463!2!2JJSq*5&=CKuuKC=&5*q͍S8( ^B@B^ (8`N`Ѣ΀GtO6)"M36J[E@@E[J63M")6OtG(8`B^^B`8	',26'&'&76'6'&6&'&6'&4#"7&64 654'.'&'.63226767.547&7662>76#!"&5463!2		/[		.
    =XĚ4,+"*+, 1JH'5G::#L5+@=&#w@wwwP.1GE,ԧ44+	;/5cFO:>JJ>:O9W5$@(b4@www'?$4&"2$4&"2#!"&5463!3!267!2#!#!"&5!"'&762&4&&4&&4&&48(@(88(c==c(8*&&*6&4&&4&&4&&4& (88(@(88HH88`(@&&('@1c4&'.54654'&#"#"&#"32632327>7#"&#"#"&54654&54>76763232632
    
    
    	N<;+gC8A`1a99gw|98aIe$IVNz<:LQJ
    ,-[%	061I()W,$-7,oIX()oζA;=N0
    eTZ
    	 (O#".'&'&'&'.54767>3232>32e^\4?P	bMO0#382W#& 9C9
    Lĉ"	82<*9FF(W283#0OMb	P?4\^eFF9*<28	"L
    9C9 &#!"3!2654&#!"&5463!2`B^^B@B^^ީwww@w^BB^^B@B^ww@w#!72#"'	#"'.546763YY!''!0#GG$/!''!&UUjZ	
    8""8
     X!	
    8"	"8
    	GW4.'.#"#".'.'.54>54.'.#"32676#!"&5463!2 1.-
    +$)
    c8
    )1)
    
    05.D
    <90)$9w@wwwW
    
    )1)
    7c
    )$+
    -.1 9$)0<
    D.59@www,T1# '327.'327.=.547&54632676TC_LҬ#+i!+*pDNBN,y[`m`%i]hbEm}au&,SXK
    &$f9s?
    _#"!#!#!54632V<%'ЭHH	(ںT\dksz &54654'>54'6'&&"."&'./"?'&546'&6'&6'&6'&6'&74"727&6/a49[aA)O%-j'&]]5r-%O)@a[9'
    0BA;+
    
    
    >HCU
    
    
    	#	
    	
    $				2	
    AC: oM=a-6OUwW[q	( -	q[WwUP6$C
    
    +) (	
    8&/
    &eMa	
    &
    $	
    
    %+"&54&"32#!"&5463!54 &@&Ԗ`(88(@(88(r&&jj8((88(@(8#'+2#!"&5463"!54&#265!375!35!B^^BB^^B
    
    
    
    `^B@B^^BB^
    
    
    `
    !="&462+"&'&'.=476;+"&'&$'.=476;pppp$!$qr
    %}#ߺppp!E$
    rqܢ#
    %
    ֻ!)?"&462"&4624&#!"3!26!.#!"#!"&547>3!2/B//B//B//B
    @
    
    
    2^B@B^\77\aB//B//B//B/@
    
    
    
    
    ~B^^B@2^5BB52.42##%&'.67#"&=463! 25KK5L4_u:B&1/&.-
    zB^^B4LvyKjK4L[!^k'!A3;):2*547&5462;U gIv0ZZ0L4@Ԗ@4L2RX='8P8'=XR U;Ig0,3lb??bl34LjjL4*\(88(\}I/#"/'&/'&?'&'&?'&76?'&7676767676`
    (5)0
    )*)
    0)5(
    
    (5)0
    ))))
    0)5(
    *)
    0)5(
    )5)0
    )**)
    0)5)
    
    )5)0
    )*5h$4&"24&#!4>54&#"+323254'>4'654&'!267+#"'&#!"&5463!2>767>32!2&4&&4N2$YGB
    (HGEG  HQ#5K4Li!<;5KK5 
    A#
    ("/?&}vh4&&4&3M95S+C=,@QQ9@@IJ 2E=L5i>9eME;K55K	J7R>@#zD<5=q%3#".'&'&'&'.#"!"3!32>$4&"2#!"#"&?&547&'#"&5463!&546323!2`  #A<(H(GY$2NL4K5#aWTƾh&4&&4K5;=!ihv}&?/"(
    #A
     5K2*!	Q@.'!&=C+S59M34L=E2 JI UR@@&4&&4&5K;ELf9>igR7J	K5h4&"24#"."&#"4&#"".#"!54>7#!"&54.'&'.5463246326326&4&&4IJ 2E=L43M95S+C=,@QQ9@@E;K55K	J7R>@#zD9eMZ4&&4&<#5K4LN2$YGB
    (HGEG  HV;5KK5 
    A#
    ("/?&}vhi!<4<p4.=!32>332653272673264&"2/#"'#"&5#"&54>767>5463!2@@2*!	Q@.'!&=C+S59M34L.9E2 JI UR&4&&4&Lf6Aig6Jy#@>R7J	K55K;E@TƾH  #A<(H(GY$2NL4K#5#a=4&&4&D=ihv}&?/"(
    #A
     5KK5;+54&#!764/&"2?64/!26 $$ &
    [6[[j6[&^aa@&4[[6[[6&+^aa+4/&"!"3!277$ $$ [6[
    &&[6j[
    ^aae6[j[6&&4[j[^aa+4''&"2?;2652?$ $$ [6[[6&&4[^aaf6j[[6[
    &&[^aa+4/&"4&+"'&"2? $$ [6&&4[j[6[j^aad6[&&
    [6[[j^aa  $2>767676&67>?&'4&'.'.'."#&6'&6&'3.'.&'&'&&'&6'&>567>#7>7636''&'&&'.'"6&'6'..'/"&'&76.'7>767&.'"76.7"7"#76'&'.'2#22676767765'4.6326&'.'&'"'>7>&&'.54>'>7>67&'&#674&7767>&/45'.67>76'27".#6'>776'>7647>?6#76'6&'676'&67.'&'6.'.#&'.&6'&.5/a^D&"	
    
    
    	4
    	$!	#
    	
    		
    	
    
    
    
     
    .0"Y
    	+
    
    
    !	
    	
    
    $	
    	"
    +
    
    
    		
    	Α	
    		
    ^aa
    
    	
    
    			
    	
    
    	
    
    		
    	
    		P '-(	#	*	$
    
    "
    !				
    *
    !	
    
    (				
    
    	
    $
    		
    2
    ~/$4&"2	#"/&547#"32>32&4&&4V%54'j&&'/덹:,{	&4&&4&V%%l$65&b'Cr!"k[G+;%!5!!5!!5!#!"&5463!2#!"&5463!2#!"&5463!2&&&&&&&&&&&&@&&&&&&&&&&&&{#"'&5&763!2{'
    **)*)'/!5!#!"&5!3!26=#!5!463!5463!2!2^B@B^&@&`^B`8(@(8`B^ B^^B&&B^(88(^G	76#!"'&?	#!"&5476	#"'&5463!2	'&763!2#"'c)'&@**@&('c(&*cc*&'
    *@&('c'(&*cc*&('c'(&@*19AS[#"&532327#!"&54>322>32"&462 &6 +&'654'32>32"&462QgRp|Kx;CByy 6Fe=
    BPPB
    =eF6 ԖV>!pRgQBC;xK|Ԗ{QNa*+%xx5eud_C(+5++5+(C_due2ԖԖ>NQ{u%+*jԖԖp!Ci4/&#"#".'32?64/&#"327.546326#"/&547'#"/&4?632632(* 8(!)(A(')* 8(!USxySSXXVzxTTUSxySSXXVzxT@( (8 *(('((8 SSUSx{VXXTTSSUSx{VXXT#!"5467&5432632t,Ԟ;F`j)6,>jK?s
    !%#!"&7#"&463!2+!'5#8EjjE8@&&&&@XYY&4&&4&qDS%q%N\jx2"&4#"'#"'&7>76326?'&'#"'.'&676326326&'&#"32>'&#"3254?''74&&4&l
    NnbSVZbRSD	
    zz
    	DSRb)+USbn
    \.2Q\dJ'.2Q\dJ.Q2.'Jd\Q2.'Jd`!O`	`&4&&4r$#@B10M5TNT{L5T
    	II	
    T5L;l'OT4M01B@#$*3;$*3;;3*$;3*$:$/ @@Qq`@"%3<2#!"&5!"&5467>3!263!	!!#!!46!#!(88(@(8(8(`((8D<++<8(`(8(`8(@(88( 8((`(8((<`(8(``(8||?%#"'&54632#"'&#"32654'&#"#"'&54632|udqܟs]
    =
    OfjL?R@T?"&
    >
    f?rRX=Edudsq
    =
    _MjiL?T@R?E& f
    >
    =XRr?b!1E)!34&'.##!"&5#3463!24&+";26#!"&5463!2
    
    08((88(@(8
    
    
    
    8((88((`(1
    
    `(88((88(@
    
    
    `(88(@(8(`#!"&5463!2w@www`@www/%#!"&=463!2#!"&=463!2#!"&=463!2&&&&&&&&&&&&&&&&&&&&&&&&@'7G$"&462"&462#!"&=463!2"&462#!"&=463!2#!"&=463!2ppppppp
    @
    
    
    ppp
    @
    
    
    
    @
    
    
    Рpppppp
    
    
    ppp
    
    
    
    
    
    <L\l|#"'732654'>75"##5!!&54>54&#"'>3235#!"&=463!2!5346=#'73#!"&=463!2#!"&=463!2}mQjB919+i1$AjM_3</BB/.#U_:IdDRE
    @
    
    k*Gj
    @
    
    
    @
    
    
    TP\BX-@8
    C)5XsJ@$3T4+,:;39SG2S.7<
    
    vcc))%Ll}
    
    
    
    
    5e2#!"&=463%&'&5476!2/&'&#"!#"/&'&=4'&?5732767654'&@02uBo
    T25XzrDCBBEh:%)0%HPIP{rQ9f#-+>;I@KM-/Q"@@@#-bZ$&P{<8[;:XICC>.'5oe80#.0(
    l0&%,"J&9%$<=DTIcs&/6323276727#"327676767654./&'&'737#"'&'&'&54'&54&#!"3!260%
    <4"VRt8<@<
    -#=XYhW8+0$"+dTLx-'I&JKkmuw<=V@!X@		v
    '|N;!/!$8:IObV;C#V
    
    &
    (mL.A:9 !./KLwPM$@@
    /?O_o%54&#!"3!2654&#!"3!2654&#!"3!2654&#!"3!2654&#!"3!2654&#!"3!2654&#!"3!2654&#!"3!2654&#!"3!26#!"&5463!2@@@@@@@@@^BB^^B@B^NB^^B@B^^#+3	'$"/&4762%/?/?/?/?%k*66bbbb|<<<bbbbbbbb%k66Ƒbbb<<<<^bbbbbb@M$4&"2!#"4&"2&#"&5!"&5#".54634&>?>;5463!2LhLLh
    		LhLLhL!'ԖԖ@'!&	
    ?&&LhLLhL		
    hLLhL	jjjj	&@6/"
    &&J#"'676732>54.#"7>76'&54632#"&7>54&#"&54$ ok;	-j=yhwi[+PM3ѩk=J%62>VcaaQ^ ]G"'9r~:`}Ch  0=Z٤W=#uY2BrUI1^Fk[|aL2#!67673254.#"67676'&54632#"&7>54&#"#"&5463ww+U	,iXբW<"uW1AqSH1bdww'74'!3#"&46327&#"326%35#5##33#!"&5463!20U6cc\=hlࠥYmmnnnnw@wwww&46#Ȏ;edwnnnnn@www	]#/#"$&6$3 &#"32>7!5!%##5#5353Еttu{zz{SZC`cot*tq||.EXN#??,<!5##673#$".4>2"&5!#2!46#!"&5463!2rM*
    *M~~M**M~~M*jjj&&&&`P%挐|NN||NN|*jjjj@&&&&@
    "'&463!2@4@&Z4@4&@
    #!"&4762&&4Z4&&4@@
    "'&4762&4@4&@&4&@
    "&5462@@4&&44@&&@
    3!!%!!26#!"&5463!2`m`
    ^BB^^B@B^
     `@B^^BB^^@
    "'&463!2#!"&4762@4@&&&&44@4&Z4&&4@
    "'&463!2@4@&4@4&@
    #!"&4762&&4Z4&&4@:#!"&5;2>76%6+".'&$'.5463!2^B@B^,9j9Gv33vG9H9+bI\
    A+=66=+A
    [">nSMA_:B^^B1&c*/11/*{'VO3@/$$/@*?Nh^l+!+"&5462!4&#"!/!#>32]_gTRdgdQV?UI*Gg?!2IbbIJaaiwE3300 084#"$'&6?6332>4.#"#!"&54766$32z䜬m
    IwhQQhbF*@&('kz
    	
    _hQнQGB'(&*eoz(q!#"'&547"'#"'&54>7632&4762.547>32#".'632%k'45%&+~(
    (h		&
    
    \(
    (		&
    
    ~+54'k%5%l%%l$65+~
    
    &		(
    (\
    
    &		h(
    (~+%'!)19K4&"24&"26.676&$4&"24&"24&"2#!"'&46$ KjKKjKjKKje2.e<^P,bKjKKjKjKKjKjKKj##LlLKjKKjKjKKjK~-M7>7&54$ LhяW.{+9E=cQdFK1A
    0)pJ2`[Q?l&٫C58.H(Y':d 6?32$64&$ #"'#"&'&4>7>7.546'&'&'# '32$7>54'Yj`a#",5NK
    ~EVZ|$2$
    |:
    $2$|ZV:(t}hfR88T
    h̲X(	
    &%(Hw(%&	(XZT\MKG{x|!#"'.7#"'&7>3!2%632u
    
    j
    H{(e9
    1bU#!"&546;5!32#!"&546;5!32#!"&546;5463!5#"&5463!2+!2328((88(``(88((88(``(88((88(`L4`(88(@(88(`4L`(8 (88(@(88((88(@(88((88(@(84L8(@(88((8L48OY"&546226562#"'.#"#"'.'."#"'.'.#"#"&5476$32&"5462И&4&NdN!>!
    1X:Dx++ww++xD:X1
    -U
    !*,*&4&hh&&2NN2D&
    
    ..J<
    $$
    767#"&'"&547&547&547.'&54>2l4
    
    2cKEooED
    )
    
    
    )
    Dg-;</-
    ?.P^P.?
    -/<;-gYY
    
    .2 L4H|O--O|HeO,,Oeq1Ls26%%4.2,44,2.4%%62sL1qcqAAq4#!#"'&547632!2#"&=!"&=463!54632
    
    		@	
    `
    		
    
    
    `?`
    
    
    @	
    	@	
    !		
    
    
    
    54&+4&+"#"276#!"5467&5432632
    
    
    	`		_
    v,Ԝ;G_j)``
    
    
    			_ԟ7
    ,>jL>54'&";;265326#!"5467&5432632			
    
    
    
    v,Ԝ;G_j)	`		
    
    `7
    ,>jL>X`$"&462#!"&54>72654&'547 7"2654'54622654'54&'46.' &6 &4&&4&yy%:hD:FppG9Fj 8P8 LhL 8P8 E;
    Dh:%>4&&4&}yyD~s[4Dd=PppP=d>hh>@jY*(88(*Y4LL4Y*(88(*YDw"
    A4*[s~>M4&"27 $=.54632>32#"' 65#"&4632632 65.5462&4&&4G9&
    <#5KK5!!5KK5#<
    &ܤ9Gpp&4&&4&@>buោؐ&$KjKnjjKjK$&jjb>Ppp
    %!5!#"&5463!!35463!2+32@\\8(@(8\@@\\@\(88(\@34#"&54"3#!"&5!"&5>547&5462;U gI@L4@Ԗ@4L2RX='8P8'=XR U;Ig04LjjL4*\(88(\@"4&+32!#!"&+#!"&5463!2pP@@Pjj@@\@\&0pj	 \\&-B+"&5.5462265462265462+"&5#"&5463!2G9L44L9G&4&&4&&4&&4&&4&L44L
    &=d4LL4d=&&`&&&&`&&&&4LL4
     &#3CS#!"&5463!2!&'&!"&5!463!2#!"&52#!"&=4632#!"&=463(8((88((`x
    c`(8@@@`((88(@(8(D98(`@@@@@/?O_o-=%+"&=46;25+"&=46;2+"&=46;2%+"&=46;2+"&=46;2%+"&=46;2%+"&=46;2%+"&=46;2+"&=46;2%+"&=46;2%+"&=46;2%+"&=46;2+"&=46;2%+"&=46;2%+"&=46;2+"&=46;2%+"&=46;2+"&=46;2!!!5463!2#!"&5463!2
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    &&&&@
    
    @
    @
    
    @
    
    @
    
    @
    @
    
    @
    @
    
    @
    @
    
    @
    @
    
    @
    @
    
    @
    @
    
    @
    @
    
    @
    @
    
    @
    @
    
    @
    @
    
    @
    @
    
    @
    @
    
    @
    @
    
    @
    @
    
    @
    
    @
    
    @
    
    
    `&&&&
    /?O_o%+"&=46;25+"&=46;2+"&=46;2%+"&=46;2+"&=46;2%+"&=46;2%+"&=46;2+"&=46;2%+"&=46;2+"&=46;2!!#!"&=!!5463!24&+"#54&+";26=3;26%#!"&5463!463!2!2
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    
    @
    8(@(8
    @
    
    @
    
    @
    
    @
    
    @
    &&&@8((8@&@
    
    @
    @
    
    @
    
    @
    
    @
    @
    
    @
    @
    
    @
    @
    
    @
    @
    
    @
    @
    
    @
    @
    
    @
    
    @
    
    @
     (88( 
    
    @
    
    ``
    
    
    
    ``
    -&&& (88(&@<c$4&"2!#4&"254&+54&+"#";;26=326+"&5!"&5#"&46346?>;463!2KjKKjKjKKj&ԖԖ&&@&&KjKKjK
    jKKjK .&jjjj&4&@@&&#'1?I54&+54&+"#";;26=326!5!#"&5463!!35463!2+32 \\8(@(8\  \\@\(88(\:
    #32+53##'53535'575#5#5733#5;2+3@E&&`@@`    `@@`&&E%@`@ @ @		      		@ 0
    @!3!57#"&5'7!7!K5@   @5K@@@ #3%4&+"!4&+";265!;26#!"&5463!2&&&&&&&&w@www&&@&&&&@&&@www#354&#!4&+"!"3!;265!26#!"&5463!2&&&&&@&&@&w@www@&@&&&&&&@&:@www-M3)$"'&4762	"'&4762	s
    2
    
    .
    
    
    
    2
    
    w
    2
    
    .
    
    
    
    2
    
    w
    2
    
    
    
    
    
    2
    
    ww
    
    2
    
    
    
    
    
    2
    
    ww
    M3)"/&47	&4?62"/&47	&4?62S
    .
    
    2
    
    w
    
    2
    
    
    .
    
    2
    
    w
    
    2
    
    M
    .
    
    2
    
    
    
    2
    
    .
    
    .
    
    2
    
    
    
    2
    
    .M3S)$"'	"/&4762"'	"/&47623
    2
    
    ww
    
    2
    
    
    
    
    
    2
    
    ww
    
    2
    
    
    
    
    2
    
    w
    
    2
    
    
    
    .v
    2
    
    w
    
    2
    
    
    
    .M3s)"'&4?62	62"'&4?62	623
    .
    
    .
    
    2
    
    
    
    2
    
    .
    
    .
    
    2
    
    
    
    2
    .
    
    
    
    2
    
    w
    
    2v
    .
    
    
    
    2
    
    w
    
    2-Ms3	"'&4762s
    w
    
    2
    
    .
    
    
    
    2
    ww
    
    2
    
    
    
    
    
    2
    MS3"/&47	&4?62S
    .
    
    2
    
    w
    
    2
    
    M
    .
    
    2
    
    
    
    2
    
    .M
    3S"'	"/&47623
    2
    
    ww
    
    2
    
    
    
    m
    2
    
    w
    
    2
    
    
    
    .M-3s"'&4?62	623
    .
    
    .
    
    2
    
    
    
    2-
    .
    
    
    
    2
    
    w
    
    2/4&#!"3!26#!#!"&54>5!"&5463!2
    
    
    @
    ^B  &&  B^^B@B^ @
    
    
    MB^%Q=
    &&& $$ (r^aa(^aa!C#!"&54>;2+";2#!"&54>;2+";2pPPpQh@&&@j8(PppPPpQh@&&@j8(Pp@PppPhQ&&j (8pPPppPhQ&&j (8p!C+"&=46;26=4&+"&5463!2+"&=46;26=4&+"&5463!2Qh@&&@j8(PppPPpQh@&&@j8(PppPPp@hQ&&j (8pPPppP@hQ&&j (8pPPpp@@	#+3;G$#"&5462"&462"&462#"&462"&462"&462"&462#"&54632K54LKj=KjKKjKjKKjL45KKjK<^^^KjKKjppp\]]\jKL45KjKKjKujKKjK4LKjKK^^^jKKjKpppr]]\ $$ ^aaQ^aa,#"&5465654.+"'&47623 #>bqb&44&ɢ5"		#D7euU6&4&m1X".4>2".4>24&#""'&#";2>#".'&547&5472632>3=T==T==T==T=v)GG+v@bRRb@=&\Nj!>3lkik3hPTDDTPTDDTPTDDTPTDD|xxXK--K|Mp<#	)>dA{RXtfOT# RNftWQ,%4&#!"&=4&#!"3!26#!"&5463!2!28(@(88((88((8\@\\@\\(88(@(88(@(88@\\\\ u'E4#!"3!2676%!54&#!"&=4&#!">#!"&5463!2!2325([5@(\&8((88((8,9.+C\\@\ \6Z]#+#,k(88(@(88(;5E>:5E\\\ \1. $4@"&'&676267>"&462"&462.  > $$ n%%/02
    KjKKjKKjKKjKfff^aayy/PccP/jKKjKKjKKjKffff@^aa$4@&'."'.7>2"&462"&462.  > $$ n20/%7KjKKjKKjKKjKfff^aa3/PccP/y	jKKjKKjKKjKffff@^aa+7#!"&463!2"&462"&462.  > $$ &&&&KjKKjKKjKKjKfff^aa4&&4&jKKjKKjKKjKffff@^aa#+3C54&+54&+"#";;26=3264&"24&"2$#"'##"3!2@@KjKKjKKjKKjKܒ,gjKKjKKjKKjKXԀ,,#/;GS_kw+"=4;27+"=4;2'+"=4;2#!"=43!2%+"=4;2'+"=4;2+"=4;2'+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;54;2!#!"&5463!2`````````````````````p`K55KK55Kp`````````````````````````5KK55KK@*V#"'.#"63232+"&5.5462#"/.#"#"'&547>32327676R?d^7ac77,9xm#@#KjK#
    ڗXF@Fp:f_ #WIpp&3z	h[ 17q%q#::#5KKu't#!X:	%#+=&>7p@*2Fr56565'5&'.	#"32325#"'+"&5.5462#"/.#"#"'&547>32327676@ͳ8
    2.,#,fk*1x-!#@#KjK#
    ڗXF@Fp:f_ #WIpp&3z	e`vo8t-	:5	[*#::#5KKu't#!X:	%#+=&>7p
    3$	"/&47	&4?62#!"&=463!2I.
    
    2
    
    w
    
    2
    
    
    -@).
    
    2
    
    
    
    2
    
    .
    -@@-S$9%"'&4762		/.7>	"/&47	&4?62i2
    
    .
    
    
    
    2
    
    w
    E>
    
    u>
    
    .
    
    2
    
    w
    
    2
    
    
    2
    
    
    
    
    
    2
    
    ww
    !
    
    
    
    
    h.
    
    2
    
    
    
    2
    
    .
    ;#"'&476#"'&7'.'#"'&476'
    )'s
    "+5+@ա'
    )'F*4*Er4M:}}8GO
    *4*~
    (-/'	#"'%#"&7&67%632B;><V??V --C4
    <B=cB5!%%!b 7I))9I7	#"'.5!".67632y(
    #
    
    ##@,(
    )8!	!++"&=!"&5#"&=46;546;2!76232-SSS
    
    		SS``		
    
    K$4&"24&"24&"27"&5467.546267>5.5462 8P88P88P88P8P88P4,CS,4pp4,,4pp4,6d7AL*',4ppP88P8P88P8HP88P8`4Y&+(>EY4PppP4Y4Y4PppP4Y%*54&#"#"/.7!2<'G,')7N;2]=A+#H
    
    
    0PRH6^;<T%-S#:/*@Z}
    
    
    >h.%#!"&=46;#"&=463!232#!"&=463!2&&&@@&&&@&&&&&&&&&&&&f&&&&b#!"&=463!2#!"&'&63!2&&&&''%@% &&&&&&&&k%J%#/&'#!53#5!36?!#!'&54>54&#"'6763235
    Ź}4NZN4;)3.i%Sin1KXL7觧*		#&		*@jC?.>!&1'\%Awc8^;:+54&#"'6763235
    Ź}4NZN4;)3.i%PlnEcdJ觧*		#&		*-@jC?.>!&1'\%AwcBiC:D'P%!	#!"&'&6763!2P&:&?&:&?5"K,)""K,)h#".#""#"&54>54&#"#"'./"'"5327654.54632326732>32YO)I-D%n "h.=T#)#lQTv%.%P_	%	
    %_P%.%vUPl#)#T=@/#,-91P+R[Ql#)#|''
    59%D-I)OY[R+P19-,##,-91P+R[YO)I-D%95%_P%.%v'3!2#!"&463!5&=462 =462 &546 &&&&&4&r&4&@&4&&4&G݀&&&&f
    sCK&=462	#"'32=462!2#!"&463!5&'"/&4762%4632e*&4&i76`al&4&&&&&}n
    
    R
    
    
    
    R
    zfOego&&5`3&&&4&&4&
    D
    
    R
    
    
    
    R
    zv"!676"'.5463!2@@w^Cct~55~tcC&&@?JV|RIIR|V&&#G!!%4&+";26%4&+";26%#!"&546;546;2!546;232@@@@L44LL4^B@B^^B@B^4L  N4LL44L`B^^B``B^^B`LL4&"2%#"'%.5!#!"&54675#"#"'.7>7&5462!467%632&4&&4@o&&}c ;pG=(
    8Ai8^^.&4&&4&`	`fs&& jo/;J!#2
     KAE*,B^^B!`	$ -4&"2#"/&7#"/&767%676$!28P88PQr	@
    U	@
    {`PTP88P8P`
    	@U	@rQ!6'&+!!!!2Ѥ
    8̙e;<*@8 !GGGQII %764'	64/&"2 $$ f3f4:4^aaf4334f:4:^aa %64'&"	2 $$ :4f3f4F^aa4f44f^aa 764'&"27	2 $$ f:4:f4334^aaf4:4f3^aa %64/&"	&"2 $$ -f44f4^aa4f3f4:w^aa@7!!/#35%!'!%j/d
    jg2|855dc b@!	!%!!7!FG)DH:&HdS)U4&"2#"/ $'#"'&5463!2#"&=46;5.546232+>7'&763!2&4&&4f]wq4qw]	`dC&&:FԖF:&&Cd`4&&4&	]]	`d[}&&"uFjjFu"&&y}[d#2#!"&546;4 +"&54&" (88(@(88( r&@&Ԗ8((88(@(8@&&jj'3"&462&    .  > $$ Ԗ>aX,fff^aaԖԖa>TX,,~ffff@^aa/+"&=46;2+"&=46;2+"&=46;28((88((88((88((88((88((8 (88((88((88((88((88((88/+"&=46;2+"&=46;2+"&=46;28((88((88((88((88((88((8 (88((88(88((88(88((885E$4&"2%&'&;26%&.$'&;276#!"&5463!2KjKKj
    
    
    
    f	
    
    \
    
    w@wwwjKKjK"G
    
    
    ܚ
    
    f
    
    
    
    
    
    	@www  $64'&327/a^  !  ^aaJ@%%	65/	64'&"2	"/64&"'&476227<ij6j6u%k%~8p8}%%%k%}8p8~%<@%%% !232"'&76;!"/&76 
    ($>(
    		J &%$%64/&"'&"2#!"&5463!2ff4-4ff4fw@wwwf4f-f4@www/#5#5'&76	764/&"%#!"&5463!248`
    # \P\w@www4`8
    
    #@  `\P\`@www)4&#!"273276#!"&5463!2& *f4
    'w@www`&')4f*@www%5	64'&"3276'7>332#!"&5463!2`'(wƒa8!
    ,j.(&w@www`4`*'?_`ze<	bw4/*@www-.  6 $$  (r^aaO(_^aa
    -"'&763!24&#!"3!26#!"&5463!2yB((
    @
    
    
    w@www]#@## 
    
    @
    @www
    -#!"'&7624&#!"3!26#!"&5463!2y((@B@u
    @
    
    
    w@www###@
    
    @
    @www
    -'&54764&#!"3!26#!"&5463!2@@####@w@wwwB((@@www`%#"'#"&=46;&7#"&=46;632/.#"!2#!!2#!32>?6#
    !"'?_
    
    BCbCaf\	+
    ~2	
    
    	}0$
    
    
    q
    90r
    
    
    pr%Dpu?#!"&=46;#"&=46;54632'.#"!2#!!546;2D
    a__	g	
    
    *`-Uh1
    
    
    
    ߫}
    	$^L
    
    4b+"&=.'&?676032654.'.5467546;2'.#"ǟ
    B{PDg	q%%Q{%P46'-N/B).ĝ
    9kC<Q
    7>W*_x*%K./58`7E%_
    	,-3
    cVO2")#,)9;J)
    "!*
    #VD,'#/&>AX>++"''&=46;267!"&=463!&+"&=463!2+32Ԫ$
    		
    pU9ӑ
    @/*fo	
    
    VRfq
    f=SE!#"&5!"&=463!5!"&=46;&76;2>76;232#!!2#![
    
    
     
    
    
    
    %
    )
    	
    
    "
    
    Jg
    Uh
    BW&WX
    hU
    g
    84&#!!2#!!2#!+"&=#"&=46;5#"&=46;463!2j@jo
    g|@~vv
    un#467!!3'##467!++"'#+"&'#"&=46;'#"&=46;&76;2!6;2!6;232+32QKt# #FNQo!"դѧ!mY
    
    Zga~bm]
    
    [o"U+, @h
    h@@X
    hh
    @83H\#5"'#"&+73273&#&+5275363534."#22>4.#2>ut
    3NtRP*Ho2
    
    Lo@!R(Ozh=,GID2F
    
    
    8PuE>.'%&TeQ,jm{+>R{?jJrL6V		@`7>wmR1q
    uWei/rr
    :Vr"
    $7V4&#"326#"'&76;46;232!5346=#'73#"'&'73267##"&54632BX;4>ID2F
    
    
    +>R{8PuE>.'%&TeQ,jm{?jJrL6		@`rr
    :Vr3>wmR1q
    uWei@\%4&#"326#!"&5463!2+".'&'.5467>767>7>7632!2&%%&&&& &7.'	:@$LBWM{#&$h1D!		.I/!	Nr&&%%&&&&V?, L=8=9%pEL+%%r@W!<%*',<2(<&L,"r@\#"&546324&#!"3!26%#!#"'.'.'&'.'.546767>;&%%&&&& &i7qN	!/I.		!D1h$&#{MWBL$@:	'.&&%%&&&&=XNr%(M&<(2<,'*%<!W@r%%+LEp%9=8=L 	+=\d%54#"327354"%###5#5#"'&53327#"'#3632#"'&=4762#3274645"=424'.'&!  7>76#'#3%54'&#"32763##"'&5#327#!"&5463!2BBPJNC'%!	B?)#!CC $)54f"@@
    B+,A
    
    A+&+A
    
    ZK35N #J!1331CCC $)w@www2"33FYF~(-%"o4*)$(*	(&;;&&9LA38334S,;;,WT+<<+T;(\g7x:&&::&&<r%-@www	+=[c}#"'632#542%35!33!3##"'&5#327%54'&#"5#353276%5##"=354'&#"32767654"2 '.'&547>76 3#&'&'3#"'&=47632%#5#"'&53327''RZZ:kid YYY.06	62+YY-06	R[!.'CD''EH$VVX::Y
    X;:Y
    fyd/%jG&DC&&CD&O[52.
    [$C-D..D^^* ly1%=^I86i077S
    3
    $EWgO%33%OO%35	EEFWt;PP;pt;PP;pqJgTFQ%33&PP%33%R
    7>%3!+}{'+"&72'&76;2+"'66;2U
    &
    	(P
    
    *'eJ."-dZ-n -'74'&+";27&+";276'56#!"&5463!2~}		7e 	۩w@www"
    $Q#'!#
    @www
    I-22#!&$/.'.'.'=&7>?>369II ! '	$ !01$$%A'	$ ! g	
    \7@)(7Y
    	
     \7@)(7Y
    @	'5557	,VWQV.RW=?l%l`~0!#!#%777	5!	R!!XCCfff݀# `,{{{`Og4&"2 &6 $"&462$"&62>7>7>&46.'.'. '.'&7>76 Ԗ HR6L66LGHyU2LL2UyHHyU2LL2UyHn
    X6X
    
    XX
    ԖԖH6L66L6L2UyHHyU2LL2UyHHyU2Ln6X
    
    XX
    
    2#!"&54634&"2$4&"2ww@ww||||||w@www|||||||	!3	37! $$ n6^55^h
    ^aaM1^aaP
    *Cg'.676.7>.'$7>&'.'&'? 7%&'.'.'>767$/u5'&$I7ob?K\[zH,1+.@\7':Yi4&67&'&676'.'>7646&' '7>6'&'&7>7#!"&5463!2PR$++'TJXj7-FC',,&C
    ."!$28h/"	+p^&+3$
    i0(w@www+.i6=Bn\C1XR:#"'jj8Q.cAj57!?"0D$4"P[
    &2@wwwD"%.5#5>7>;!!76PYhpN!HrD0M
     C0N#>8\xx: W]oW-X45/%'#.5!5!#"37>#!"&5463!2p>,;$4
    5eD+WcEw@wwwK()F
    ,VhV^9tjA0/@www@#"'&76;46;23
    
    
    
    	&
    
     ++"&5#"&7632	
    ^
    
    
    c
     &
    
    @#!'&5476!2 &
    
    
    ^
    
    
    b	'&=!"&=463!546
     &
    
    	
    q&8#"'&#"#"5476323276326767q'T1[VA=QQ3qqHih"-bfGw^44O#A?66%CKJA}}  !"䒐""A$@C3^q|z=KK?6lk)%!%!VVuuu^-m5w}n~7M[264&"264&"2"&546+"&=##"&5'#"&5!467'&766276#"&54632    *<;V<<O@-K<&4'>&4.'.'.'.'.'&6&'.'.6767645.'#.'6&'&7676"&'&627>76'&7>'&'&'&'&766'.7>7676>76&6763>6&'&232.'.6'4."7674.'&#>7626'.'&#"'.'.'&676.67>7>5'&7>.'&'&'&7>7>767&'&67636'.'&67>7>.'.67	\
    
    	U7	
    J#!W!'	
    
    "';%
    
    k	)"	
    	'
    
    
    /7* 		I	,6
    *&"!
    
    O6*
    O $.(	*.'
    
    .x,	$CN	
    		*	
    6
    		
    7%&&_f&
    ",VL,G$3@@$+
    "
    
    
    V5 3"	
    ""#dA++
    y0D-%&n4P'A5j$9E#"c7Y
    6"	&
    8Z(;=I50' !!e
    R
    
    "+0n?t(-z.'<>R$A"24B@(	~	9B9,	*$		
    		<>	?0D9f?Ae 	.(;1.D	4H&.Ct iY% *	
    7
    
    
    
    J	 <
    W0%$	
    ""I!
    *D	 ,4A'4J"	.0f6D4pZ{+*D_wqi;W1G("%%T7F}AG!1#% JG3 '.2>Vb%&#'32&'!>?>'&' &>"6&#">&'>26 $$ *b6~#= XP2{&%gx| .W)oOLOsEzG<	CK}E	$MFD<5+
    z^aa$MWM1>]|YY^D
    եA<KmE6<"@9I5*^aa>^4./.543232654.#"#".#"32>#"'#"$&547&54632632':XM1h*+D($,/9p`DoC&JV;267676&#!"&=463!267
    #!"'&5463!26%8#!
    &&Z"M>2!
    	^I7LRx_@>MN""`=&&*%I},
    		L7_jj9/%4&#!"3!264&#!"3!26#!"&5463!2  &&&&&&&&19#"'#++"&5#"&5475##"&54763!2"&4628(3-	&B..B&	-3(8IggI`(8+Ue&.BB.&+8(kk`%-"&5#"&5#"&5#"&5463!2"&4628P8@B\B@B\B@8P8pPPp@`(88(`p.BB.0.BB.(88(Pppͺ!%>&'&#"'.$ $$ ^/(V=$<;$=V).X^aaJ`"(("`J^aa,I4."2>%'%"/'&5%&'&?'&767%476762%6[՛[[՛o
    ܴ
     
    
    		$
    $	"	$
    $		՛[[՛[[5`
    
    ^
    
    ^
    
    2`
    `2
    
    ^^
    
    `
    1%#"$54732$%#"$&546$76327668ʴhf킐&^zs,!V[vn)	6<ׂf{z}))Ns3(@+4&#!"3!2#!"&5463!2#!"&5463!2@&&&f&&&&@&&&&4&&4&@&&&&&&&& `BH+"/##"./#"'.?&5#"&46;'&462!76232!46 `&C6@Bb03eI;:&&&4L4&F
    Z4&w4) ''
    5r&4&&4&&4}G#&/.#./.'&4?63%27>'./&'&7676>767>?>%6})(."2*&@P9A
    #sGq]
    #lh<*46+(
    	
    <
    5R5"*>%"/	+[>hy
    	K
    !/Ui%6&'&676&'&6'.7>%.$76$% $.5476$6?62'.76&&'&676%.76&'..676#"NDQt	
    -okQ//jo_		%&JՂYJA-.--
    9\DtT+X?*<UW3'	26$>>W0{"F!"E 
    
    ^f`$"_]\<`F`FDh>CwlsJ@;=?s
    :i_^{8+?`
    )
    O`s2RDE58/Kr	#"'>7&4$&5mī"#̵$5$"^^W=acE*czk./"&4636$7.'>67.'>65.67>&/>z X^hc^O<q+f$H^XbVS!rȇr?5GD_RV@-FbV=3!G84&3Im<$/6X_D'=NUTL;2KPwtPt= 
    
    &ռ
    ,J~S/#NL,8JsF);??1zIEJpqDIPZXSF6\?5:NR=;.&1+!"&=!!%!5463!2sQ9Qs***sQNQsBUw
    wUBFHCCTww%1#"&=!"&=463!54632.  6 $$ 		
    
    
    `?(r^aa		
    
    
    
    (_^aa%1#!#"'&47632!2.  6 $$ 
    		@	
    `
    (r^aa
    
    ?		@	
    (_^aa/#"'&476324&#!"3!26#!"&5463!2&@&
    @
    
    
    w@www&@B@&
    
    @
    @www"&462  >& $$ Ԗ*(r^aaԖԖ (^aa]6#"$54732>%#"'!"&'&7>32'!!!2f:лѪz~u:
    ((%`V6B^hD%i(]̳ޛ	*>6߅r#!3?^BEa߀#9#36'&632#"'&'&63232#!"&5463!2
    Q,&U#+'
     ;il4L92<D`w@www`9ܩ6ɽ]`C477&@wwwD+"&5#"'&=4?5#"'&=4?546;2%6%66546;2
    	
    
    	
    wwwwcB
    G]B
    Gty]ty
    #3C#!+"&5!"&=463!46;2!24&#!"3!26#!"&5463!2@`@`^BB^^B@B^www@w@`@`2@B^^BB^^ww@w'/?P+5#"&547.467&546;532!764'!"+32#323!&ln@
    :MM:
    @nY*Yz--zY*55QDDU9pY-`]]`.X /2I$	t@@/!!/@@3,$,3$p$00&*0&&
    !P@RV2#"&/#"&/#"&546?#"&546?'&54632%'&54632763276%>S]8T;/M77T7%>ww@ww!"5bBBb//*
    8(@(87)(8=%/'#?w@www#~$EE y &L(88e):8(%O r		
    
    		O?GQaq47&67>&&'&67>&"$32#"#"'654  $&6 $6&$ CoL.*KPx.* 
    iSƓi
    7J?~pi{_Я;lLUZ=刈刈_t'<Z
    :!
    	@!
    j`Q7$ky, Rfk*4LlL=Z=刈&$&546$7%7&'5>]5%w&P?zrSF!|&0	##!"&5#5!3!3!3!32!546;2!5463)
    );));;))&&&@@&&&	
    6 $&727"'%+"'&7&54767%&4762֬>4Pt+8?::
    		
    ::AW``EvEEvE<."e$IE&O&EI&{h.`m"&#"&'327>73271[
    >+)@
    (]:2,C?*%Zx/658:@#N
    C=E(oE=W'c:#!#"$&6$3 &#"32>7!ڝyy,{ۀہW^F!LC=y:yw߂0H\R%"N^ '&76232762$"&5462"&46274&"&'264&#"'&&#"32$54'>$ $&6$ G>>0yx14J55J5J44J5Fd$?4J55%6E#42F%$fLlLq>>11J44%&4Z%44J54R1F$Z-%45J521Z%F1#:ʎ 9LlL#Qa"'&7622762%"&5462"&546274&#"&'73264&#"'&&#"32654'>#!"&5463!2
    
    55
    
    **.>.-@-R.>.-@-<+*q6- -- 0OpoOxzRrqP6z~{{Prr^aa]054&"#"&5!2654632!#"&57265&'&#".'&'#"&5467%&4>7>3263232654.547'654'63277.'.*#">7?67>?>32#"'7'>3'>3235?KcgA+![,7*
    2(-#=
    	/~[(D?G  |,)"#+)O8,+'6	y{=@0mI#938OAE`
    -
    )y_/FwaH8j7=7?%a	%%!?)L
    J
    9=5]~pj
    
     %(1$",I 
    $@((
    +!.S		-L__$'-9L	5V+	
    	6T+6.8-$0+
    t|S16]&#"'&#"67>76'&'&#"67>32764.#"#.32>67>7 $&54>7>7>7rJ@"kb2)W+,5/1		#
    
    Z
    -!$IOXp7sLCF9vz NAG#/ 5|Հ';RKR/J#=$,9,+$UCS7'2"1
     !/
    ,
    
    /--ST(::(ep4AM@=I>".)xΤlsY|qK@
    %(YQ&N
    EHv~<Zx'#"&5467&6?2?'&"/.7.546326#"&'&/7264/7'764&"'?>>32.AUpIUxYE.A%%%h%%hJ%D,FZxULsTgxUJrVD%hJ%@/LefL.C%Jh%CVsNUxϠ@.FZyUHpVA%h&%%%Ji%CWpIUybJ/Uy^G,D%Jh%@UsMtUC%hJ%C-KfyEX[_gj&/&'.''67>7>7&'&'&'>76763>7>#&'&'767672'%'7'+"&'&546323267>7%#"'4'6767672,32,+DCCQLDf'
    %:/d
    B	4@}
    &!0$?Jfdf-.=6(:!TO?
    !IG_U%
    .
    k*.=;	5gN_X	"
    ##
    292Q41
    *6nA;|
    BSN.	%1$
    6	$nk^'7GWgw2+"&5463#!"&5463!254&+";2654&+";2654&+";2654&+";2654&+";2654&+";2654&+";2654&+";2654&+";26#"&=! B^^BB^^B:FjB^8((`( `(8^BB^^B@B^"vEj^B(8(`(8(/?O_o/?2#!"&5463;26=4&+";26=4&+";26=4&+";26=4&+"54&+";2654&+";2654&+";2654&+";2654&+";2654&#!"3!2654&+";2654&+";2654&+";2654&+";2654&+";2654&+";2654&+";2654&+";2654&+";26@&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@`'	"&5#"&5&4762!762$"&462B\B@B\BOpP.BB..BB.8$PO広3CQ#".54>32#".546322#"&#"#"54>%".54>32%2#"&54>&X=L|<&X=M{2r_-$$-_rUU%&&5%ő'-
    "'.546762@FF$@B@$.&,&.]]|q#<<#(BBB%'-%'-'%'-"'%&'"'%.5467%467%62@ll@ll,@GG&!@@@@@@!&+#+#6#+$*`:p:px
    p=`$>>$&@&@
    
    @&p@	&.A!!"!&2673!"5432!%!254#!5!2654#!%!2#!8Zp?vdΊens6(N[RWu?rt1SrF|iZ@7މoy2IMC~[R yK{T:%,AGK2#!"&5463!!2654'654.#532#532"&5!654&#"327#2#>!!ww@ww~uk'JTMwa|
    DH>I1qFj?w@wwwsq*4p9O*¸Z^qh LE
    "(nz8B
    M'?"&4624&#"'.'324&#"3267##"&/632632.ʏhhMALR vGhг~~K„yO^
    ʏʏВ*LM@!שwwȍde)qrOPqȦs:03=7'.?67'67%'>&%'7%7./6D\$>	"N,?a0#O1G9'/P(1#00
    ($=!F"9|]"RE<6'o9%8J$\:\HiTe<?}V#oj?d,6%N#"
    HlSVY]C
    
    =@C4&"2!.#!"4&"2+"&=!"&=#"&546;>3!232^^^Y		^^^`pppp`]ibbi]~^^^e^^^PppPPppP]^^]3;EM2+"&=!"&=#"&546;>;5463!232264&"!.#!"264&" ]`pppp`]ibbi^^^dY		!^^^]@PppP@@PppP@]^^] ^^^e^^^ 3$#!#!"&5467!"&47#"&47#"&4762++&2
    $$
    2&&&4&&Z4&&##&&4&4&44&m4&m+DP4'&#"32763232674'&!"32763 3264'&$#"32763232> $$ g* o`#ə0#z#l(~̠)-g+^aaF s"	+g(*
    3#!|
    #/IK/%*%D=)[^aa	!!!'!!77!,/,-a/G	t%/;<HTbcq%7.#"32%74'&"32765"/7627#"5'7432#"/7632#"5'7432#"&5'74632	#"/6327#"/6327#"/46329"&/462"&/>21"&/567632#!.547632632
    	
    	*
    
    
    			X		
    
    ^
    
    `		
    
    ^b
    	c
    	fu
    U`59u
    
    
    
    4J
    	
    l~		~	F	
    	2
    
    
    		m|O, 	
    
    
    
    
    ru|	u
    
    "
    )9 $7 $&= $7 $&= $7 $&=  $&=46w`ww`ww`wb`VTEvEEvETVTEvEEvET*VTEvEEvET*EvEEvEEvEEv#^ct#!"&5463!2!&'&!"&5!632#"&'#"/&'&7>766767.76;267674767&5&5&'67.'&'&#3274(8((88((`x
    c`(8!3;:A0?ݫY
    
    	^U	47D$
    
    	74U3I
    |L38wtL0`((88(@(8(D98(Q1&(!;
    (g-	Up~R2(/{E(Xz*Z%(i6CmVo8#T#!"&5463!2!&'&!"&5!3367653335!3#4.5.'##'&'35(8((88((`x
    c`(8iFFZcrcZ`((88(@(8(D98(kk"	kkJ	 	!	k#S#!"&5463!2!&'&!"&5!%!5#7>;#!5#35!3#&'&/35!3(8((88((`x
    c`(8-Kg
    kL#DCJgjLD`((88(@(8(D98(jj	jjkkkk#8C#!"&5463!2!&'&!"&5!%!5#5327>54&'&#!3#32(8((88((`x
    c`(8 G]L*COJ?0R\wx48>`((88(@(8(D98(jjRQxk!RY#*2#!"&5463!2!&'&!"&5!!57"&462(8((88((`x
    c`(8Pppp`((88(@(8(D98(ppp	#*7JR5#5#5#5##!"&5463!2!&'&!"&5##5!"&54765332264&"<(8((88((`x
    c`(8kޑcO"jKKjK`((88(@(8(D98(SmmS?M&4&&4#9L^#!"&5463!2!&'&!"&5!#"/#"&=46;76276'.'2764'.(8((88((`x
    c`(86ddWW6&44`((88(@(8(D98(.	G5{{5]]$5995#3C#!"&5463!2!&'&!"&5!2#!"&5463#"'5632(8((88((`x
    c`(84LL44LL4l			`((88(@(8(D98(L44LL44L	
    Z
    	#7K[#!"&5463!2!&'&!"&5!>&'&7!/.?'&6?6.7>'(8((88((`x
    c`(8`3333v
    
    ?
    
    `((88(@(8(D98(&&-&&
    ?
    
    
    
    '6#'.
    '!67&54632".'654&#"32eaAɢ/PRAids`WXyzOvд:C;A:25@Ң>-05rn`H(' gQWZc[
    -%7'	%'-'%	%"'&54762[3[MN
    3",""3,3"ong$߆]gn$+)
    
    ")")"
    
    x#W#"&#!+.5467&546326$32327.'#"&5463232654&#"632#".#"oGn\u_MK'̨|g?CM7MM5,QAAIQqAy{b]BL4PJ9+OABIRo?z.z
    n6'+s:zcIAC65D*DRRD*wyal@B39E*DRRD*'/7  $&6$ 6277&47' 7'"' 6& 6'lLRRZB|RR>dZZLlLZRR«Z&>«|R  ! $&54$7 >54'5PffP牉@s-ff`-c6721>?>././76&/7>?>?>./&31#"$&(@8!IH2hM>'
    
    )-*
    h'N'!'Og,R"/!YQG54'63&547#5#"=3235#47##6323#324&"26%#!"&5463!2F]kbf$JMM$&N92Z2&`9UW=N9:PO;:dhe\=R
    +)&')-S99kJ<)UmQ/-Ya^"![Y'(<`X;_L6#)|tWW:;X	#'#3#!"&5463!2)
    p*xeשw@www0,\8@www9I#"'#"&'&>767&5462#"'.7>32>4."&'&54>32JrO<3>5-&FD(=Gq@C$39aLL²L4
    
    &)
    @]v
    q#CO!~󿵂72765'./"#"&'&5
    }1R<2"7MW'$	;IS7@5sQ@@)R#DvTA;
    0x
    I)!:>+)C	6.>
    !-I[4&#"324&#"3264&#"324&#"326&#"#".'7$4$32'#"$&6$32D2)+BB+)3(--(31)+BB+)4'--'4'#!0>R	HMŰ9ou7ǖD䣣
    R23('3_,--,R23('3_,--,NJ
    ?uWm%#"'%#"'.5	%&'&7632!
    ;
    	`u%"(!]#c)(	 #"'%#"'.5%&'&76	!
    	(%##fP_"(!)'+ʼn4I#"$'&6?6332>4.#"#!"&54766$32#!"&=46;46;2z䜬m
    IwhQQhbF*@&('k@z
    	
    _hQнQGB'(&*eozΘ@@`  >. $$ ffff^aafff^aa>"&#"#"&54>7654'&#!"#"&#"#"&54>765'46.'."&54632326323!27654'.5463232632,-,,",:!
    %]&
    %@2(/.+*)6!	<.$..**"+8#
    
    #Q3,,++#-:#"$$/:yuxv)%$	/?CG%!5%2#!"&5463!5#5!52#!"&54632#!"&5463#5!5`&&&& &&&&&&&&@&&&&&&&&&&&&%2 &547%#"&632%&546 #"'6\~~\h
    ~\h\V
    VVV%5$4&#"'64'73264&"&#"3272#!"&5463!2}XT==TX}}~>SX}}XS>~}w@www~:xx:~}}Xx9}}9xX}@www/>LXds.327>76 $&6$32762#"/&4762"/&47626+"&46;2'"&=462#"'&4?62E0l,
    
    *"T.D@Yooo@5D
    
    [		
    
    Z
    Z
    
    		[	 ``[
    
    
    
    Z
    
    	2
    ,l0
    (T".D5@oooY@D,
    
    Z
    
    		[			[		
    
    Z
    ``EZ
    
    		[		
    5%!  $&66='&'%77'727'%amlLmf?55>fFtuutFLlLHYCL||LY˄(E''E*(/?IYiy%+"&=46;2+"&=46;2+"&=46;2+"&=46;2%"&=!#+"&=46;2+"&=46;2+"&=46;2+"&=46;2!54!54>$ +"&=46;2#!"&=@&&@3P
    >P3&&rrr&&rrr
    he
    
    4LKM:%%:MKL4WT&&%/9##!"&563!!#!"&5"&5!2!5463!2!5463!2&&&&&&  &&&i@&&@&7'#5&?6262%%o;j|/&jJ%p&j;&i&p/|jţ%Jk%o%	:g"&5462#"&546324&#!"263662>7'&75.''&'&&'&6463!276i~ZYYZ~@OS;+[G[3YUD#o?D&G3I=JyTkBuhNV!WOhuAiSy*'^CC^'*SwwSTvvTSwwSTvvWID\_"[gq# /3qFr2/ $rg%4
    HffHJ4d#!#7!!7!#5!VFNrmNNNN!Y+?Ne%&'&'&7>727>'#&'&'&>2'&'&676'&76$7&'&767>76'6#
    <;11x#*#
    G,T93%/#0vNZ;:8)M:(	&C.J}2	%0
     	^*
    JF	
    &7'X"2LDM"	+6
    M2+'BQfXV#+]
    #'
    L/(eB9
    #,8!!!5!!5!5!5!5#26%!!26#!"&5!5&4&&pPPp@@&&@!&@PppP@*
    	9Q$"&54627"."#"&547>2"'.#"#"&5476$ "'&$ #"&5476$ (}R}hLK
    NN
    Ud:
    xx
    8
    
    
     ,, |2222
    MXXM
    
    ic,>>,
    
    		
    ̺
    
    
    '/7?KSck{4&"2$4&"24&"24&"24&"24&"24&"24&"24&"264&"24&#!"3!264&"2#!"&5463!2KjKKjKjKKjKjKKjKKjKKjKjKKjKjKKjKKjKKjKjKKjKLhLLhLKjKKj&&&&KjKKjL44LL44L5jKKjKKjKKjKjKKjKjKKjKjKKjKjKKjKjKKjKjKKjK4LL44LLjKKjK&&&&jKKjK4LL44LL	'E!#"+"&7>76;7676767>'#'"#!"&7>3!2W",&7'	#$	&gpf5O.PqZZdS-V"0kqzTxD!!8p8%'i_F?;kR(`
    !&)'
    (2!&6367!	&63!2!
    `B1LO(+#=)heCQg#s`f4#6q'X|0-g	>IY#6?>7&#!%'.'33#&#"#"/3674'.54636%#"3733#!"&5463!24:@7vH%hEP{0&<'VFJo1,1.F6A#L44LL44L"%	
     
    7x'6
    O\JYFw~v^fH$ !"xdjD"!6`J4LL44LL	+3@GXcgqz-<JX{&#"327&76'32>54.#"35#3;5#'#3537+5;3'23764/"+353$4632#"$2#462#"6462""'"&5&5474761256321##%354&'"&#"5#35432354323=#&#"32?4/&54327&#"#"'326'#"=35#5##3327"327'#"'354&3"5#354327&327''"&46327&#"3=#&#"32?"5#354327&3=#&"32?"#3274?67654'&'4/"&#!"&5463!2_gQQh^_~\[[\]_^hQQge<F$$$ !!&&/!/
    
    !!
    
    00/e&'!"e$
    		'!!''
    	8''NgL44LL44LUQghQUk=("
    !
    =))=2( '! 'L#(>(
    &DC(>(zL#DzG)<)4LL44LL	
    BWbjq}+532%+5324&+32763#4&'.546327&#"#"'3265#"&546325&#"32!264&"2%#'#735#535#535#3'654&+353#!"&5463!29$<=$@?SdO__J-<AA@)7")9,<$.%0*,G3@%)1??.+&((JgfJ*A!&jjjGZYGиwsswPiL>8aA	!M77MM77M3!
    4erJ]&3YM(,
    ,%7(#)
    ,(@=)M%A20C&Mee(X0&ĖjjjV	8Z8J9N/4$8NN88NN	#&:O[	$?b3'7'#3#%54+32%4+324+323'%#5#'#'##337"&##'!!732%#3#3##!"&53733537!572!56373353#'#'#"5#&#!'#'#463!2#"5#"5!&+&+'!!7353273532!2732%#54&+#32#46.+#2#3#3##+53254&".546;#"67+53254&.546;#"#'#'##"54;"&;7335wY-AJF=c(TS)!*RQ+*RQ+Y,B^9^Ft`njUM')	~PSPRm٘M77Mo7q
    
    @)U	8"E(1++NM77Mx378D62W74;9<-A"EA0:AF@1:ؗBf~~""12"4(w$#11#@}}!%+%5(v$:O\zK?*$\amcrVlOO176Nn23266&+"&#"3267;24&+"'&+";27%4&+";2?>23266&+"&#"3267;254+";27#76;2#!"&5463!23%#2%%,, _3$$2%%M>ALVb5)LDHeE:<
    EMj,K'-R
    M~M>ARVb5)LEHeE:<
    E
    JABI*'!($rL44LL44Lv%1 %3!x*k$2 %3!;5h
    n
    a
    !(lI;F	
    	
    	rp
    p8;5h
    
    t
    a
    !(lI;F`	#k4LL44LL
    	
    2HW[lt#"'5632#6324&'.54327&#"#"&'32767#533275#"=5&#"'#36323#4'&#"'#7532764&"24'&#"327'#"'&'36#!"&5463!2=!9n23BD$ &:BCRM.0AC'0RH`Q03'`.>,&I / *
     /
    
    8/n-(G@5$ S3=,.B..B02^`o?7je;9G+L44LL44LyE%#	Vb;A
    !p &'F:Aq)%)#orgT$v2 8)2z948/{8AB..B/q?@r<7(g/4LL44LL?#!"&'24#"&54"&/&6?&5>547&54626=L4@ԕ;U g3
    
    T
    2RX='8P8|5
    4Ljj U;Ig@
    	
    `
     "*\(88(]k
    &N4#"&54"3	.#"#!"&'7!&7&/&6?&5>547&54626;U gIm*]Z0L4@ԕ=o=CT
    
    T
    2RX='8P8|5
     U;IgXu?bl3@4Ljja`
    	
    `
     "*\(88(]k/7[%4&+";26%4&+";26%4&+";26!'&'!+#!"&5#"&=463!7>3!2!2@@@@@@0
    
    o`^BB^`5FN(@(NF5@@@u		@LSyuS@%44%,<H#"5432+"=4&#"326=46;2  >. $$ ~Isy9"SgR8vHD	w
    ffff^aam2N+	)H-mF+10*F		+fff^aab4&#"32>"#"'&'#"&54632?>;23>5!"3276#"$&6$3 k^?zb=ka`U4J{K_/4^W&	vx :XB0܂ff)
    fzzXlz=lapzob35!2BX
    G@8'	'=vN$\ff	1
    	SZz8zX#("/+'547'&4?6276	'D^h
    
    
    
    i%5@%[i
    
    
    
    h]@]h
    
    
    
    i%@5%[i
    
    
    
    h^@@)2#"&5476#".5327>OFi-ay~\~;'S{s:D8>)AJfh]F?X{[TC6LlG]v2'"%B];$-o%!2>7>3232>7>322>7>32".'.#"#"&'.#"#"&'.#"#546;!!!!!32#"&54>52#"&54>52#"&54>52-P&+#($P.-P$'#+&PZP&+#"+&P-($P-.P$(#+$P.-P$'#+&P-.P$+#pP@@PpH85K"&ZH85K"&ZH85K"&Z@Pp@@@pMSK5, :&LMSK5, :&LMSK5, :&!!3	!	@@@	#"$$3!!2"jaѻxlalxaaj!!3/"/'62'&63!2'y
    
    `I
    
    yMy
    
    `I
    
    y'W`#".'.#"32767!"&54>3232654.'&546#&'5&#"
    
    4$%Eӕ;iNL291 ;XxR`f՝Q8TWiWgW:;*:`Qs&?RWXJ8oNU0J1F@#)
    [%6_POQiX(o`_?5"$iʗ\&>bds6aP*< -;iFn*-c1BWg4'.'4.54632#7&'.#"#"'.#"32767'#"&54632326#!"&5463!2#$(	1$6]'
    !E3P|ad(2S;aF9'EOSej]m]<*rYshpt.#)$78L*khw@wwwB
    
    %
    $/$G6
    sP`X):F/fwH1pdlqnmPHuikw_:[9D'@www34."2>$4.#!!2>#!".>3!2QнQQнQQh~wwhfffнQQнQQнQZZQffff#>3!2#!".2>4."fffнQQнQQffffQнQQн	,\!"&?&#"326'3&'!&#"#"'  5467'+#"327#"&463!!'#"&463!2632(#AHs9q  ci<=
    #]$ KjKKjKKjKKjH#j#H&&&KjKKjKg	V	ijKKjKKjKKjK..n(([5KK55KK5[poNv<+#"'#"&546;&546$32322$B$22$$*$22$Xڭӯ$22$tX'hs2$ϧkc$22$1c$2F33F3VVT2#$2ԱVT2#$2g#2UU݃
    2$#2UU1݃2,u54#"67.632&#"32654'.#"32764.'&$#"7232&'##"&54732654&#"467&5463254632>32#"'&ru&9%"*#͟ O%GR=O&^opC8pP*bY
    _#$N Pb@6)?+0L15"4$.Es
    5IQ"!@h"Y7e|J>ziPeneHbIlF>^]@n*9
    6[_3#"&54632#.#"32%3#"&54632#.#"326%4&'.'&! ! 7>7>!
    =39?
    6'_
    >29?
    5'17m-VU--,bW.뮠@Fyu0HC$뮠@Fyu0HC$L=??
    <=! A	<`;+"&54&#!+"&5463!2#!"&546;2!26546;2pЇ0pp@Ipp>Sc+"&=46;254&+"&+";2=46;2;2=46;2;2%54&#!";2=;26#!"&5463!2A5DD5A7^6a7MB55B7?5B~```0`rr5A44A5v5AA5f*A``0`	!!!!	#!"&5463!2ړ7H7jv@vvv':@vvvMUahmrx#"'!"'!#"&547.547.54674&547&54632!62!632!#!627'!%!"67'#77!63!!7357/7'%#	%'3/&=&'	5#?&5476!p4q"""6" 'h*[
    |*,@?wAUMpV@˝)Ϳw7({*U%K6=0(M		"!O		dX$k
    !!!
    b	
    [TDOi
    @6bxBAݽ5
    
    ɝ:J+3,p
    x1Fi
    (R
    463!#!"&5%'4&#!"3`а@..@A-XfB$.BB..C}
    )&54$32&'%&&'67"w`Rd]G{o]>p6sc(@wgmJPAjyYWa͊AZq{HZ:<dv\gx>2ATKn+;"'&#"&#"+6!263 2&#"&#">3267&#">326e~└Ȁ|隚Ν|ū|iyZʬ7Ӕްr|uѥx9[[9jj9ANN+,#ll"BS32fk[/?\%4&+";26%4&+";26%4&+";26%4&+";26%#!"&5467&546326$32]]eeeeee$~i
    qfN-*#Sjt2"'qCB8!'>	
    !%)-159=AEIMQUY]agkosw{!	%!	5!#5#5#5#5#57777????#5!#5!#5!#5!#5!#5!#5!#5#537#5!#5!#5!#5!#5!#55#535353535353%"&546326#"'#32>54.&54>3237.#"Q%%%%%%%%%?iiihOiixiiyiixiiArssrrssr%sssrrssNs%%%%%%%%%%'32#".543232654&#"#"&54654&#"#"&547>326ڞUzrhgrxSПdU 7#"&463!2!2&&4&&&&4&KjKKjKjKKj &&&%&&&&4&&&&4&&&5jKKjKKjKKjK%z
    0&4&&3D7&4&
    %&'S4&"4&"'&"27"&462"&462!2#!"&54>7#"&463!2!2&4&4&4&4KjKKjKjKKj &&&%&&&&4&%&&ے&4"jKKjKKjKKjK%z
    0&4&&3D7&4&
    %&	&	!'!	!%!!!!%"'.763!2o]FooZY@:@!!gf//I62'"/"/"/"/"/"/"/7762762762762762762%"/77627&6?35!5!!3762762'"/"/"/"/"/"/%5#5!4ZSS6SS4SS4SS4SS4SS4SS4ZSS4SS4SS4SS4SS4SS4S-4ZSS4S@4SS4ZSS6SS4SS4SS4SS4SS4S@ZSSSSSSSSSSSSSSZSSSSSSSSSSSSSyZRRR@%:=
    :+:
    =RRZSSSSSSSSSSSSSCv!/&'&#""'&#"	32>;232>7>76#!"&54>7'3&547&547>763226323@```
    VFaaFV
    
    
    $.
    
    
    .$
    
    yy	.Q5ZE$ ,l*%>>%*>*98(QO!L\p'.'&67'#!##"327&+"&46;2!3'#"&7>;276;2+6267!"'&7&#"(6&#"#"'DgOOG`n%ELL{@&&Nc,sU&&!Fre&&ss#/,<=
    #]gLoGkP'r-n&4&2-ir&&?o 
    4_5OW! .54>762>7.'.7>+#!"&5#"&5463!2"&462{{BtxG,:`9(0bԿb0(9`:,GxtB&@&&@&K55K`?e==e?1O6#,
    #$
    ,#6OO&&&&5KK?!"'&'!2673267!'.."!&54632>321
    4q#F""8'go#-#,"tYg>oP$$Po>	Zep#)R0+I@$$@I++332++"&=#"&=46;.7>76$  @ᅪ*r@@r'/2+"&5".4>32!"&=463  &@~[՛[[u˜~gr&`u՛[[՛[~~@r=E32++"&=#"&=46;5&547&'&6;22676;2  >``@``ٱ?E,,=?rH@``@GݧH`jjrBJ463!2+"&=32++"&=#"&=46;5.7676%#"&5   &@~``@`` vXr&@``@+BF`rks463!2+"&=32++"&=#"&=46;5&547'/.?'+"&5463!2+7>6 %#"&5   &@~``@``~4e	
    0
    	io@& jV	
    0
    	Z9r&@``@Gɞ5o
    ,
    sp &@k^
    ,
    c8~~`r8>KR_32++"&=!+"&=#"&=46;.767666'27&547&#"&'2#"@@'Ϋ'sggsww@sgg@@-ssʃl99OOr99FP^l463!2+"&=$'.7>76%#"&=463!2+"&=%#"&54'>%&547.#"254&' &@L?CuГP	vY &@;"ޥ5݇ޥ5`&_ڿgwBF@&J_	s&&?%x%xJP\h463!2+"&='32++"&=#"&=46;5.7676632%#"&56'327&7&#"2#" &@L? ߺu``@``}
    ຒɞueeu9uee&_"|N@``@""|a~lo99r9@9;C2+"&5"/".4>327'&4?627!"&=463  &@Ռ		.	
    N~[՛[[u˜N		.	
    gr&`֌
    	.		Ou՛[[՛[~N
    	.		@r9A'.'&675#"&=46;5"/&4?62"/32+  '֪\
    	.		4		.	
    \r|ݧ憛@\		.	
    
    	.		\@r~9A"/&4?!+"&=##"$7>763546;2!'&4?62  m		-
    
    @ݧ憛@&
    
    -		@rm4
    
    -		ٮ*		-
    
    r+"&5&54>2  @[՛[rdGu՛[[r  ".4>2r[՛[[՛r5՛[[՛[[$2#!37#546375&#"#3!"&5463#22#y/Dz?s!#22#2##2S88	2#V#2L4>32#"&''&5467&5463232>54&#"#"'.Kg&RvgD
    $*2%	+Z hP=DXZ@7^?1
    ۰3O+lh4`M@8'+c+RI2
    \ZAhSQ>B>?S2Vhui/,R0+	ZRkmz+>Q2#"'.'&756763232322>4."7 #"'&546n/9bLHG2E"D8_
    pdddxO"2xxê_lx2X	
    !+'5>-pkW[C
    I
    I@50Oddd˥Mhfxx^ә	#'+/7!5!!5!4&"2!5!4&"24&"2!!! 8P88P 8P88P88P88PP88P8 P88P88P88P8 +N &6 !2#!+"&5!"&=463!46;23!#!"&54>32267632#"_>@`
    
    
    
    
    
    `
    
     L4Dgy 6Fe=OOU4L>
    
    
    
    `
    
    `
    
    4L2y5eud_C(====`L43V &6 #"/#"/&54?'&54?6327632#!"&54>32 7632_>			
    		
    						
    		
    			%%Sy 6Fe=J%>	
    						
    		
    						
    	%65%Sy5eud_C(zz.!6%$!2!!!46;24&"2!54&#!"&&&@ԖV@&&@&&ԖԖ@&3!!!	!5!'!53!!	#7IeeI7CzCl@@@#2#!"&?.54$3264&"!@մppp((ppp#+/2#!"&?.54$3264&"!264&"!@մ^^^@^^^@((^^^^^^v(#"'%.54632	"'%	632U/@k0G,zD#[k#
    /tg
    F
    Gz	#'#3!)
    p*xe0,\8T#/DM%2<GQ^lw
    &'&676676&'&7654&'&&546763"#"'3264&7.>&'%'.767&7667&766747665"'.'&767>3>7&'&'47.'.7676767&76767.'$73>?>67673>#6766666&'&6767.'"'276&67&54&&671&'6757>7&"2654&57>&>&'5#%67>76$7&74>=.''&'&'#'#''&'&'&'65.'&6767.'#%&''&'#2%676765&'&'&7&5&'6.7>&5R4&5S9
    W"-J0(/r
    V"-J0(.)#"6&4pOPppc|o}vQ[60XQW1V	
    #5X		N"&
    .
    )
    D>q J:102(z/=f*4!>S5b!%
    (!$p8~5..:5I
    
    ~T
    4~9p# !
    )& ?()5F	1	
    	
     d%{v*:
     @e
    s|D1d {:*dAA|oYk'&<tuut&vHCXXTR;w
    71™
    Z*&'
    1	9?	.
    
    $Gv5k65P.$.`aasa``Z9k'9؋ӗa-*Gl|Me_]`F&OܽsDD!/+``aa``a154&'"&#!!26#!"&5463!2
    
    
    iLCly5)*Hcelzzlec0hb,,beIVB9@RB9J_L44LL44L44%2"4:I;p!q4bb3p(P`t`P(6EC.7BI64LL44LL	.>$4&'6#".54$ 4.#!"3!2>#!"&5463!2Zjbjj[wٝ]>oӰٯ*-oXL44LL44L')꽽)J)]wL`ֺ۪e4LL44LL;4&#!"3!26#!"&5463!2#54&#!";#"&5463!2
    
    
    @
    ^BB^^B@B^
    
    
    B^^B@B^`@
    
    
    MB^^B@B^^>
    
    
    ^B@B^^5=Um	!	!!2#!"&=463!.'!"&=463!>2!2#264&"".54>762".54>762?(``(?b|b?B//B/]]FrdhLhdrF]]FrdhLhdrF@@@(?@@?(@9GG9@/B//BaItB!!BtIѶ!!ьItB!!BtIѶ!!ь-M32#!"&=46;7&#"&=463!2#>5!!4.'.46ՠ`@`ՠ`MsFFsMMsFFsMojjo@@jj@@<!(!!(!-3?32#!"&=46;7&#"&=463!2+!!64.'#ՠ`@`ՠ`		DqLLqDojjo@@jj@@B>=C-3;32#!"&=46;7&#"&=463!2+!!6.'#ՠ`@`ՠ`UVU96gg6ojjo@@jj@@β**ɍ-G32#!"&=46;7&#"&=463!2#>5!!&'.46ՠ`@`ՠ`MsFFsMkkojjo@@jj@@<!(!33!(!9I2#!"&=4637>7.'!2#!"&=463@b":1P4Y,++,Y4P1:"":1P4Y,++,Y4P1:"b@@@7hVX@K-AA-K@XVh77hVX@K-AA-K@XVh7Aj"#54&#"'54&#"3!26=476=4&#"#54&'&#"#54&'&'2632632#!"&5&=4632>3265K @0.B @0.B#6'&&
    l
    @0.B 2'	.B A2TA9B;h" d
    mpPTlLc_4.HK5]0CB.S0CB./#'?&&)$$)0CB. }(AB.z3M2"61d39L/PpuT(Ifc_E`1X"#4&"'&#"3!267654&"#4&"#4&26326#!"&'&5463246326\B B\B&@5K&@"6LB\B B\B sciL}QP%&#"!"3!754?27%>54&#!26=31?>Ijjq,J[j.-tjlV\$B.R1?@B.+?2`$v5K-%5KK5.olRIS+6K5̈$B\B 94E.&ʀ15uE&
    ԖPjjdXUGJ7!.B
    
    P2.B
    
    %2@	7K5(B@KjKj?+fUE,5K~!1.>F.F,Q5*H$b2#!"&=%!"&=463!7!"&'&=4634'&#!">3!!"3!32#!"3!23!26=n$32>32>32#"#.#"#.#"3!27654&#"547654&#"#654&Mye
    t|]WSSgSY\x{
    70"1i92DU1&=		=&0@c	>&/Btd4!*"8K4+"@H@/'=	t?_K93-]
    UlgQQgsW
    ]#+i>p&30&VZ&0B/
    %3B."to ){+C4I(
    /D0&p0D3[_cg"'&#"3!2676=4&"#54&#"#54&#"#4&'2632632632#!"&'&5463246#!#!#5K)B4J&@#\8P8 @0.B J65K J6k
    cJ/4qG^\hB2.1!~K5y?^\Vljt-.j[J,qjjI7$?1R.B+.B$`2?gvEo.5KK5%-K6+SIR[&.E49 B\B$5KG#!+"&5!"&=463!2+"&'+"'+"'&5>;2>76;2Y
    
    
    
    
    M	
    
    .x	-
    	N	
    
    
    	
    u
    
    ,
    u
    ?
    
    LW
    
    #		*:J4'&+326+"'#+"&5463!2  $6& $&6$ UbUI-uu,uuڎLlLAX!Jmf\$
    6uuu,KLlL-[k{276/&'&#"&5463276?6'.#"!276/&'&#"&5463276?6'.#"  $6&  $&6]h-%Lb`J%E5
    ,5R-h
    -%Lb`J%E5
    ,5R-'uu,uulL/hR
    
    dMLcNhR
    dMLcN1uuu,LlL@ 	'	7	'7	``H ``H !``H  ```H`'%		7'	7'7	' $&6$ X`(W:,:X`(WLLlLX`(W:BX`(XLlL
    	$%/9ES[#"&54632$"&4624&"26$4&#"2%#"&462$#"&4632#"32&! 24>  !#"&'.'#"$547.'!6$327&'77'&77N77N'qqqqqPOrqEsttsst}||}uԙ[WQ~,>	nP/RU P酛n	>,m'77'&77N77N6^Orqqqqqqt棣棣(~||on[usј^~33pc8{y%cq33dqpf	L 54 "2654"'&'"/&477&'.67>326?><
    x
    ,
    
    (-'sIVCVHr'-(
    
    $0@!BHp9[%&!@0$u
    
    ]\\]-$)!IHV
    D
    VHI!)$-#36>N"&462."&/.2?2?64/67>&  #!"&5463!2]]]3
    $;
    &|v;$
    (CS31	=rM=	4TC(Gzw@www]]]($-;,540=	sL	=45,;@www(2#"$&546327654&#"	&#"AZ\@/#%E1/##.1E$![A懇@@\!#21E!6!E13"|!	gL&5&'.#4&5!67&'&'5676&'6452>3.'5A5RV[t,G'Q4}-&r!
    G;>!g12sV&2:#;d=*'5E2/..FD֕71$1>2F!&12,@K
    r#"&5462>%.#"'&#"#"'>54#".'7654&&5473254&/>7326/632327?&$  $6 $&6$ !&"2&^	u_x^h
    ;J݃HJǭ
    qE
    Dm!
    M
    G?̯'%o8
    9U(F(ߎLlL&!&!SEm|[n{[<ɪ
    "p C
    Di%
    (KHCέpC
    B
    m8	
    @Kނ
    HF(LlL"*6%&6$	7&$5%%6'$2"&4}x3nQH:dΏXe8z'	li=!7So?vM '&7>>7'7>''>76.'6'El:Fgr
    *t6K3UZ83P)3^I%=9	)<}Jk+C-Wd	&U-TE+]Qr-<Q#0
    C+M8	3':$
    _Q=+If5[ˮ&&SGZoMkܬc#7&#"327#"'&$&546$;#"'654'632ե›fKYYKf¥yͩ䆎L1hvvƚwwkn]*]nlxDLw~?T8bb9SA}+5?F!3267!#"'#"4767%!2$324&#"6327.'!.#"۔c28Ψ-\?@hU0KeFjTlyE3aVsz.b؏W80]TSts<hO_u7bBtSbF/o|V]SHކJ34&#!"3!26#!!2#!"&=463!5!"&5463!2
    
    
    @
    ^B `` B^^B@B^ 
    
    @
    @B^@@^BB^^>3!"&546)2+6'.'.67>76%&F8$.39_0DD40DD0+*M7{L *="#
    U<-M93#D@U8vk_Y	[hD00DD00Dce-JF1BDN&)@
    /1 dy%F#"'&'&'&'&763276?6#"/#"/&54?'&763276"&'&'&5#&763567632#"'&7632654'&#"32>54'&#"'.5463!2#!3>7632#"'&'&#"'&767632yqoq>*432fba
    $B?
    	>B
    BB
    AA.-QPPR+	42
    %<ciђ:6&hHGhkG@n`IȌ5
    !m(|.mzyPQ-.	
    	je	
    q>@@?ppgVZE|fb6887a
    %RB?
    =B
    ABBAJvniQP\\PRh!cDS`gΒ23geFGPHXcCI_ƍ5"	
    n*T.\PQip
    [*81
    /
    9@:>t%6#".'.>%6%&7>'.#*.'&676./&'.54>754'&#"%4>327676=
    >vwd"
    
    l"3	/!,+	j2.|%&
    (N&wh>8X}xc2"W<4<,Z~fdaA`FBIT;hmA<7QC1>[u])		u1V(k1S)
    -	0B2*%M;W(0S[T]I)	A 5%R7&&T,Xq&&1X,LΒw%%;#!"&5463!546;2!2!+"&52#!"/&4?63!5!
    
    (&&@&&(&&@&&(
    
    (
    
    &&@&&@&&&&
    
    #''%#"'&54676%6%%
    hh @` ! ! 
    
    
    #52#"&5476!2#"&5476!2#"'&546
     
    
     
    
    
    @
    
    @
    
    @
    
    
     84&"2$4&"2$4&"2#"'&'&7>7.54$ KjKKjKjKKjKjKKjdne4"%!KjKKjKKjKKjKKjKKjK.٫8
    !%00C'Z'.W"&462"&462"&462 6?32$6&#"'#"&'5&6&>7>7&54>$ KjKKjKjKKjKjKKjhяW.{+9E=cQdFK1A
    0)LlLjKKjKKjKKjKKjKKjKpJ2`[Q?l&٫C58.H(Yee	
    
    			Y'w(O'R@$#"&#"'>7676327676#"
    b,XHUmM.U_t,7A3ge
    z9@xSaQBLb(	VU
    !!!==w)AU!!77'7'#'#274.#"#32!5'.>537#"76=4>5'.465!KkkK_5 5 #BH1`L
    
    I&v6SF!Sr99rS!`` /7K%s}HXV
    PV	e		Vd/9Q[ $547.546326%>>32"&5%632264&#"64'&""&'&"2>&2654&#";2P3>tSU<)tqH+>XX|Wh,:UStW|XX>=X*
    ))
    +^X^|WX=>X:_.2//a:Ru?
    	
    Q%-W|XW>J(	=u>XX|WX`
    
    *((*
    
    
    +2		2X>=XW|E03>$32!>7'&'&7!6./EUnohiI\0<{ >ORDƚ~˕VƻoR C37J6I`Tb<^M~M8O		
    5!#!"&!5!!52!5463	^B@B^`B^^B `B^^"^BB^0;%'#".54>327&$#"32$	!"$&6$3 ##320JUnLnʡ~~&q@tKL}'` -
    -oxnǑUyl}~~FڎLlLt`(88( 	7!'	!\W\d;tZ`_O;}54+";2%54+";2!4&"!4;234;2354;2354>3&546263232632#"&#"26354;2354;2354;2````pp``` !,! -&M<FI(2```@PppPpppppp#  #
    
    ppppp	j#"'&=!;5463!2#!"&=#".'.#!#"&463232>7>;>32#"&'#"!546	%. `@` :,.',-XjjXh-,'.,: kb>PppP>bk .%Z &
    :k%$> $``6&L')59I"TlԖlT"I95)'L&69GppG9$ >$%k:!+32&#!332 $&6$ ~O88OLlL>pN
    
    iLlL	'':Ma4&'#"'.7654.#""'&#"3!267#!"&54676$32#"'.76'&>$#"'.7654'&676mD5)
    z{6lP,@KijjOoɎȕ>>[ta)GG4?a)
    ll
    >;_-/
    9GH{zyN@,KԕoN繁y!
    ?hh>$
    D"
    >â?$	n"&5462'#".54>22654.'&'.54>32#"#*.5./"~~s!m{b6#	-SjR,l'(s-6^]Itg))[zxȁZ&+6,4$.X%%Dc*
    &D~WL}]I0"
    
    YYZvJ@N*CVTR3/A3$#/;'"/fR-,&2-"
    7Zr^Na94Rji3.I+
    
    &6W6>N%&60;96@7F6I3+4&#!"3!26%4&#!"3!26 $$ ^aa`@@^aa'7  $ >. %"&546;2#!"&546;2#/a^(^aa(N@@4&#!"3!26 $$ @@^aa`@^aa'  $ >. 7"&5463!2#/a^(n@^aa(N@%=%#!"'&7!>3!26=!26=!2%"&54&""&546 ##]VTV$KjKKjK$&4&Ԗ&4&>9G!5KK55KK5!&&jj&&#/;Im2+#!"&'#"&463>'.3%4&"26%4&"26%6.326#>;463!232#.+#!"&5#"5KK5sH..Hs5KK5e# )4# %&4&&4&&4&&4&` #4) #%~]eZ&&Ze]E-&&-EKjKj.<<.KjK)#)`"@&&`&&&&`&&)#`)"dXo&&oXG,8&&8!O##!!2#!+"'&7#+"'&7!"'&?63!!"'&?63!6;236;2!2@@8@7
    
    8Q
    	NQ
    	N
    	8G@
    
    8GQ
    	NQ
    	N7
    	88HHk%		".>2I20]@]@oo@@oo㔕a22]]p^|11|99|11|(%7'7'	'	7T dltl)qnluul)1$4&"24&"2 &6 +"&5476;2 &6 LhLLhLLhLLhL>
     &
      &`>hLLhLLhLLhL>&&>G
    	.7)1!62	1!62he220e22>	v
    +4	[d+
    d 135#5&'72!5!#"&'"'#"$547&54$ Eh`X(cYz:L:zYc\$_K`Pa}fiXXiޝfa	(+.>#5#5!5!5!54&+'#"3!267!7!#!"&5463!2U``'  jjV>(>VV>>Vq(^(>VV>>VV=&'&'&'&76'&'&.' #.h8"$Y
    ''>eX5,	,PtsK25MRLqS;:.K'5R
    
    ChhRt(+e^TTu B"$:2~<2HpwTT V/7GWg. %&32?673327>/.'676$4&"2 $&6$   $6& $&6$ d--m	
    	,6*6,	
    	mKjKKjoooKzz8zzȎLlLU4>>4-.YG0
    )xx)
    0GYޞ.jKKjKqoooolzzz80LlLD/7H#"'.7'654&#"'67'.6?>%"&46227#".547|D,=),9#7[͑fx!X: D$+s)hhijZt<F/*8C,q؜e\r,WBX/C2hhh=tXm>NZ+"&=46;2+"&=4>7>54&#"#"/.7632  >. $$ p=+& 35,W48'3	l
    zffff^aaP2P: D#;$#
    $*;?R
    Cfff^aa'Y	>O`"&5462&'.'.76.5632.'#&'.'&6?65\\[(	|	r[A@[[@A#2#
    7*
    <Y$
    +}"(
    q87] F 	_1)
    		#1Ke34&+326+"&=!#!"&763!2#!"&5463!2#>?4.'3#>?4.'3#>?4.'3Xe`64[l7
    
    ,	L;=+3&98&+)>>+3&98&+)>=+3&88&+)>	Wj|r>Q$~d$kaw+-wi[[\;/xgY$kaw+-wi[[\;/xgY$kaw+-wi[[\;/xgYJ\m4.'.'&#"#"'.'&47>7632327>7>54&'&#"327>"&47654'&462"'&476'&462"'&47>&'&462i$		$^"
    
    %%
    
    "^$		$W "@9O?1&&18?t@" W&%%&4KK6pp&46ZaaZ&4mttm^x	--	x^=/U7Ckkz'[$=&5%54'4&KK4r7>54 "&54>2"&462%"&54&#""&546 %#"&'&'.7>#"'&'.7>&4&&4&4&&4SZ&4&&44$#&&&j3$"('$&4&[՛[&4&&4F&4&]\&4&$
    	!D4%	,\44&&4&4&&4&-Z4&&4&;cX/)#&>B)&4&j9aU0'.4a7&&u՛[[4&&4&@&&]]&&Ώ0
    u40
    )4#g&'.#"32676%4/&#"326'&#"2632#2+&'%#"'&6?676676632%#"'&6767#"&'&6767#"'.7>327"#"&'&6763"'.7>;7632;>%5K$
    "0%>s$
    "0%>;;>%5KVL#>H30
    \($$(\(єyO2F/{(?0(TK.5sg$єy#-F/{$70(TK.5sg$L#>H30
    \($$(\#(@5"'K58!'"58!'"55"'K#dS$K		K$Sdx#@1
    wd>N;ET0((?
    -
    2K|1
    wd#N;ET0$(?
    -
    2K$#dS$K		K$SdxDN\2654& 265462"2654 #"32654>7>54."/&47&'?62 &4&&4&h՛[&4&r$'("$3j&&&#$4["@GB[
    "&&Β&&][u&&7a4.'0Ua9j&4&)B>&#)/Xc;u՛""
    Gi[Xh#"&54676324&'&#"'>54#"32#"54>54'.#"32>7>767632326#!"&5463!2b
    )
    :4FDN
    
    [1,^JK-*E#9gWRYvm0O	w@wwwC22c@X&!9{MA_"S4b// DR"XljPY<	@www%e4.#"32>7676#'.#"#"&54>3232>754&*#"&54>763 >32
    ''il$E/
    @P@
    ^`'W6&!.. ! -P5+
    
    
    E{n46vLeVz:,SN/
    M5M[
    	]$[^5iC'2H&!(?]v`*	l	b$9>
    =R2
    #"&5467%!"&7>3-.7>;%.7>322326/.76/.'&6766/&/&#"&676	&676&6766/&672? =1(H/ 	'96&@)9<')29%
    &06##$ J 07j)5@"*3%"!M
    %#K"%Ne8)'8_(9./=*%8!Q #P"\Q#N&a)<9bR]mp%"'.'&54>76%&54763263 #"/7#"'#"&/%$%322654&#"%'OV9
    nt
    |\d
    ϓ[nt
    |@D:)	
    ;98'+|j," 41CH^nVz(~R	9\'	r
    
    @L@
    	@w46HI(+C
    ,55,
    f[op@\j;(zV~i/5O#"'&54>32&#" 654'67'"'>54''&'"'6767&546767>7蒓`V BMR B9)̟!SH-77IXmSMH*k#".o;^J qןד>@YM
    $bKd ү[E";Kx%^6;%T,U:im=Mk).DT4'"&5463267&#" 6;64'.'4'>732676%#!"&5463!2),蛜s5-54&#"#"'654'.#"#"&#"3263232>3232>76 $$ Cf'/'%($UL
    (
    #'/'@3#@,G)+H+@#3
    ^aaX@_O#NW#O_.*	##(^aaq[632632#"&#"#".'&#"#".'&54767>7654.54632327&547>P9	B6?K?%O4T% >6>Z64Y=6>%S4N$?L?4B	@{:y/$ ,'R!F!8%
    #)(()#%:!F Q'+%0z:zO_4'.'&54>54&#"#"'654'.#"#"&#"3263232>3232>76#!"&5463!2Cf'.'%($VM
    )
    #'.'@
    3
    #A,G)+H+A#
    4
    w@wwwXA?4N$NW&M&L/*
    ##	+@www	O$>?>762'&#"./454327327>7>	EpB5
    3FAP/h\/NGSL	 RP*m95F84f&3Ga4B|wB.\FI*/.?&,5~K %
    &Y."7n<	"-I.M`{ARwJ!FX^dj''''"'7&'7&'7&'7&547'67'67'67'63277774$#"32$			*'ֱ,?g=OO&L&NJBg;1''ֱ.=gCIM
    $'&&NJBg=.%w؝\\w
    Ioo<<-NIDg=/%(ײ+AhEHO*"#*OICh=/'(ֲ/=h>ON.]xwڝ]7e[@)6!!"3#"&546%3567654'3!67!4&'7Sgny]K-#75LSl>9V%cPe}&Hn_HȌ=UoLQ1!45647UC"
    !-9[nx"&46254&"326754&"326754&"26754&"26#".547632632626326'4#"#"54732764&"264.#"327632>#"'"'#"'#"&5#"'67&'327&'&54>3267>7>7>32632632T"8""8)<())(<))))<))<))<))<)Tد{ՐRhx=8 78 n 81
    pH_6Soc
    F@b@?d?uKbM70[f5Y$35KUC<:[;+8 n 87 8/8Zlv]64qE 'YK0-AlB;
    W#;WS9
    &(#-7Z://:/Tr++r,,r++r,,r++r,,r++r,,ʠgxXVעe9222222^KVvF02OO23OO`lF;mhj84DroB@r+@222222C0DP`.r8h9~T4.&o@91P%14'!3#"&46327&#"326%35#5##33 $$ }Pcc]321IUΠ?LL?cc4MX&04;0XpD[[DpD,)&&Q	9V\26&".'&'&6?.#"#26327677>'32>&3#'&+"?626&"#!'.'!"&5463!>;26;2!2P  P 	
    92#.}SP9::%L\B )spN/9oJ5 
    !+D`]BgY9+,9%
    Pk4P  P &NnF!_7*}B<{o0&&B;*<@$ucRRc#@16#37c&@@@
    J"@*4^`EDBo/8927
    *@OLC!T!323X$BJ@@@&AS
    0C59"'D/&&D488$5A&%O#!"&547>7>2$7>/.".'&'&2>^B@B^>FFzn_0P:P2\nzFF>R&p^1P:P1^&R
    P2NMJMQ0Rr.B^^B	7:5]yPH!%%"FPy]5:7	=4QH!%%!Ht4=<"-/ ?1Pp+".'.'.?>;2>7$76&'&%.+"3!26#!"&54767>;2'
    +~'*OJ%%JN,&x'%^M,EE,M7ZE[P*FF*P:5
    
    ^B@B^){$.MK%%KM.$+X)o3"a  22!]4	I>"">,&S8JB##B12`
    `B^^B8&ra#11#$R&"&.2v%/%''%/%7%7'%7'/#&5'&&?&'&?&'&7%27674?6J"0<=_gNU?DfuYGb7=^H^`	=v~yT3GDPO	4Fѭqi_w\ހ!1uS%V_-d
    1=U{J8n~r'U4.#".'"3!264&"26+#!"&5463!232+32+320P373/./373P0T=@=T֙֙|`^B@B^^BB^`````*9deG-!
    
    !-Ged9IaallkOB^^BB^^B	+Yi"&54622#!"&54>;2>+32+32+#!"&5463!2324&#!"3!26֙֙0.I/ OBBO	-Q52-)&)-2
    ``
    
    ``
    
    `^B@B^^BB^`
    
    @
    
    
    |kkl"=IYL)CggC0[jM4				
    
    
    
    
    B^^BB^^B
    @
    
    @
    !1AQu4.#".'"3!24&"254&#!"3!2654&#!"3!2654&#!"3!26#!54&+"!54&+"!"&5463!2)P90,***,09P)J66S"@8@^B@@B^^BB^Ukc9		9ckU?@@88@@N@B^````^BB^^!1AQu#!"&4>32>72"&462#!"&=463!25#!"&=463!25#!"&=463!24&#!"3!546;2!546;2!26#!"&5463!2J66J)P90,***,09P)"@8@
    @
    
    `@@`
    ^B@B^^BB^ՀUUkc9		9c`@@88@@2
    
    @
    ````@B^^BB^^(%.'"&' $&  #"$&6$ wCιCwjJ~J>LlLśJSSJ͛>6LlL$,  $&6654&$ 3 72&&  lLmzzBl>KlLGzzG>'7#!"&54>7&54>2  62654' '3/U]B,ȍ,B]U/OQнQ>+X}}X0bӃۚӅb0}hQQh>ff#=#!"&4>3272"&462!3!26#!"&5463!;26=!2J66J)Q8PP8Q)
    
    ^B@B^^B``B^VVVld9KK9d`
    @B^^BB^``^+;K[eu4.#"'"3!264&"254&#!"3!2654&#!"3!26%54&+";2654&#!"3!26!54&#!"!#!"&5463!2"D/@@/D"?,,?pppp@@@@^B@B^^BB^D6]W2@@2W]67MMppp@@@@@@@@n`@B^^BB^^+;K[eu#!"&54>3272"&462#!"&=463!2%#!"&=463!2+"&=46;25#!"&=463!2!3!26#!"&5463!2?,V,?"D/@@/D"pppp@@@
    
    ^B@B^^BB^D7MM76]W2@@2W]֠ppp@@@@@@@@`
    @B^^BB^^A#"327.#"'63263#".'#"$&546$32326J9"65I).!1iCCu
    +I\Gw\B!al݇yǙV/]:=B>9+32%#!"&5463!2#"&54>54'&#"#"54654'.#"#"'.54>54'&'&543232654&432#"&54>764&'&'.54632 ?c'p& ?b1w{2V	?#&#9&CY'&.&#+B
    
    : &65&*2w1GF1)2<)<'
    
    (
    BH=ӊ:NT :O	)4:i F~b`e!}U3i?fRUX|'&'&Ic&Q
    	*2U.L6*/
    L:90%>..>%b>++z7ymlw45)0	33J@0!!TFL P]=GS-kwm	!*(%6&692? $&6$ 	' al@lLlL,&EC
    h$LlL
    /37;%"&546734&'4&" 67 54746 #5#5#5ppF::FDFNV^fnv~"/&4?.7&#"!4>3267622"&4"&46262"&42"&4462"$2"&42"&4"&46262"&4"&46262"&42"&4$2"&42"&42"&4
    
    
    
    R
    
    ,H8JfjQhjG^R,
    
    !4&&4&Z4&&4&4&&4&4&&4&&4&&44&&4&4&&4&Z4&&4&4&&4&4&&4&4&&4&4&&4&&4&&4&Z4&&4&Z4&&4&
    
    
    
    R
    
    ,[cGjhQRJ'A,
    
    &4&&4Z&4&&4Z&4&&4Z&4&&444&&4&&4&&4Z&4&&4Z&4&&4Z&4&&4&4&&4Z&4&&4Z&4&&4&&4&&4Z&4&&4Z&4&&4%-5=EM}+"&=#!"'+"&=&="&4626"&462&"&462"&462&"&462&"&462#!"&=46;4632676/&?.7&#"!2"&462&"&462&"&462"&462&"&462&"&462"&462&"&462"&462@?AA?
    @
    @R...R@`jlL.h)**$	%35K.....uvnu....@@jN **.t2#K5..R..R.
    @Hq '&'&54 &7676767654$'.766$76"&462&'&'&7>54.'.7>76ȵ|_ğyv/ۃ⃺k]
    :Buq
    CA
    _kނXVobZZbnW|V	0 	Q2-
    l}O		/	:1z	
    q%zG
    4(
    
    6Roaą\<
    
    )4	J}%!!#!"&5463!2^B@B^^BB^`@B^^BB^^%#!"&=463!2^B@B^^BB^B^^BB^^&))!32#!#!"&5463!463!2`B^^B^B@B^^B`^BB^^B@B^B^^BB^`B^^#3%764/764/&"'&"2?2#!"&5463!2
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    s^B@B^^BB^ג
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    @B^^BB^^#'7"/"/&4?'&4?62762!!%#!"&5463!2
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    ^B@B^^BB^
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    `@B^^BB^^	! $&6$ .2r`LlLf4LlL#.C&>"'&4762"/&4?62'"'&4762%'.>6.'.>6'>/>76&'&.'&7&'">?4'.677>7.>37654'&'67>776 $&6$ (4Z##
    &##
    &y"6&.JM@& "(XE*$+8
    jT?3#'.'&!3!2>?3.'#!57>7'./5!27#'.#!"g%%D-!gg<6WWZe#1=/2*]Y3-,C1/Dx] VFIq-HD2NK'>*%R=f
    07=.
    fD]\|yu,0>Seu#2#"'&5<>323#3#&'#334'."#"+236'&54.#"5#37326#!"&5463!2		<	zzjk-L+ )[$8=".un/2 ^B@B^^BB^5cy	
    
    (ݔI(8?C(3> #"($=@B^^BB^^0KS&'.'&'./674&$#">&>?>'76'# "&#./.'7676767>76$w
    .~kuBR] T%z+",|ޟj<)(!(	~ˣzF8"{%%#5)}''xJF0"H[$%EJ#%
    .Gk29(B13"?@S)5" #9dmW";L65RA0@T.$}i`:f3A%%
    BM<$q:)BD	aa%`]A&c|	Ms!
    Z
    2}i[F&**
    < ʣsc"J<&NsF%0@Wm6&'.6$.7>7$76".4>2.,&>6'"'&7>=GV:e#:$?+%
    
    q4g
    &3hT`ZtQмQQмpAP1LK!:<}҈`dlb,9'
    
    
    %%($!
    a3)W)x
    
    оQQоQQcQǡ-җe)Us2XD\ϼYd/?O_o#"=#"=4;543#"=#"=4;543#"=#"=4;543#"=#"=4;543#"=#"=4;543%#!"&5463!2++532325++532325++532325++532325++53232p00pp00pp00pp00pp008((88(@(80pp00pp00pp00pp00pp0     @(88((88     /Q/&'%&/"&=.6?&?&'&6?'.>-#".6?'.>'&6'.>54627>%>76#"'%
    %6
    
    27
    2G
    f!)p&4&p)!f
    G2
    72
    
    	*6	"
    47
    2G
    f!)p&4&p)!f
    G2
    72
    
    "	6*	!k
    3
    
    j&3
    %,*&&ր*9%
    3&j
    
    3
    k!./!>>$,*!k
    3.j&3
    %Ԝ9*&&ր*ǜ,%
    3&j
    
    3
    k!*,$>>!/.&6.'&$	&76$76$PutۥiPuGxy
    Զ[xy
    -_v١eNuv١e	=uʦ[t78X
    &6##'7-'%'&$  $6 $&6$ 31NE0gR=|||">"LlL^v!1f2iЂwgfZQQ^>"||||wLlL&ZXblw.'&>'&'&".'.'&&'&'&7>767>67>7626&'&>&'&>'.7>.676'&'&'&'.67.>7>6&'&676&'&676.676&'&>&'&676'.>6/4-LJg-$	6)j2%+QF)b3FSP21DK2AW")")$??8A&AE5lZm=gG2Sw*&>$5jD GHyX/4F r	1
    	1""!l=6>	6
    ,5./'e
    
    
    
    .*|Ed!
    u&&%&	&5d	
    ))66@C&8B@qL?P^7	G-hI[q:"T6
    ,6 
    &/`LwQ'	
    A	^			"		$&	_		y			*	<Copyright Dave Gandy 2016. All rights reserved.Copyright Dave Gandy 2016. All rights reserved.FontAwesomeFontAwesomeRegularRegularFONTLAB:OTFEXPORTFONTLAB:OTFEXPORTFontAwesomeFontAwesomeVersion 4.7.0 2016Version 4.7.0 2016FontAwesomeFontAwesomePlease refer to the Copyright section for the font trademark attribution notices.Please refer to the Copyright section for the font trademark attribution notices.Fort AwesomeFort AwesomeDave GandyDave Gandyhttp://fontawesome.iohttp://fontawesome.iohttp://fontawesome.io/license/http://fontawesome.io/license/	
    
     !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ab
    cdefghijklmnopqrstuvwxyz{|}~"	
    
     !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~	
    
     !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~glassmusicsearchenvelopeheartstar
    star_emptyuserfilmth_largethth_listokremovezoom_inzoom_outoffsignalcogtrashhomefile_alttimeroaddownload_altdownloaduploadinboxplay_circlerepeatrefreshlist_altlockflag
    headphones
    volume_offvolume_down	volume_upqrcodebarcodetagtagsbookbookmarkprintcamerafontbolditalictext_height
    text_width
    align_leftalign_centeralign_right
    align_justifylistindent_leftindent_rightfacetime_videopicturepencil
    map_markeradjusttinteditsharecheckmove
    step_backward
    fast_backwardbackwardplaypausestopforwardfast_forwardstep_forwardejectchevron_left
    chevron_right	plus_sign
    minus_signremove_signok_sign
    question_sign	info_sign
    screenshot
    remove_circle	ok_circle
    ban_circle
    arrow_leftarrow_rightarrow_up
    arrow_down	share_altresize_fullresize_smallexclamation_signgiftleaffireeye_open	eye_closewarning_signplanecalendarrandomcommentmagnet
    chevron_upchevron_downretweet
    shopping_cartfolder_closefolder_openresize_verticalresize_horizontal	bar_charttwitter_sign
    facebook_signcamera_retrokeycogscomments
    thumbs_up_altthumbs_down_alt	star_halfheart_emptysignout
    linkedin_signpushpin
    external_linksignintrophygithub_sign
    upload_altlemonphonecheck_emptybookmark_empty
    phone_signtwitterfacebookgithubunlockcredit_cardrsshddbullhornbellcertificate
    hand_right	hand_lefthand_up	hand_downcircle_arrow_leftcircle_arrow_rightcircle_arrow_upcircle_arrow_downglobewrenchtasksfilter	briefcase
    fullscreengrouplinkcloudbeakercutcopy
    paper_clipsave
    sign_blankreorderulol
    strikethrough	underlinetablemagictruck	pinterestpinterest_signgoogle_plus_signgoogle_plusmoney
    caret_downcaret_up
    caret_leftcaret_rightcolumnssort	sort_downsort_upenvelope_altlinkedinundolegal	dashboardcomment_altcomments_altboltsitemapumbrellapaste
    light_bulbexchangecloud_downloadcloud_uploaduser_mdstethoscopesuitcasebell_altcoffeefood
    file_text_altbuildinghospital	ambulancemedkitfighter_jetbeerh_signf0fedouble_angle_leftdouble_angle_rightdouble_angle_updouble_angle_down
    angle_leftangle_rightangle_up
    angle_downdesktoplaptoptabletmobile_phonecircle_blank
    quote_leftquote_rightspinnercirclereply
    github_altfolder_close_altfolder_open_alt
    expand_altcollapse_altsmilefrownmehgamepadkeyboardflag_altflag_checkeredterminalcode	reply_allstar_half_emptylocation_arrowcrop	code_forkunlink_279exclamationsuperscript	subscript_283puzzle_piece
    microphonemicrophone_offshieldcalendar_emptyfire_extinguisherrocketmaxcdnchevron_sign_leftchevron_sign_rightchevron_sign_upchevron_sign_downhtml5css3anchor
    unlock_altbullseyeellipsis_horizontalellipsis_vertical_303	play_signticketminus_sign_altcheck_minuslevel_up
    level_down
    check_sign	edit_sign_312
    share_signcompasscollapsecollapse_top_317eurgbpusdinrjpyrubkrwbtcfile	file_textsort_by_alphabet_329sort_by_attributessort_by_attributes_alt
    sort_by_ordersort_by_order_alt_334_335youtube_signyoutubexing	xing_signyoutube_playdropbox
    stackexchange	instagramflickradnf171bitbucket_signtumblrtumblr_signlong_arrow_down
    long_arrow_uplong_arrow_leftlong_arrow_rightwindowsandroidlinuxdribbleskype
    foursquaretrellofemalemalegittipsun_366archivebugvkweiborenren_372stack_exchange_374arrow_circle_alt_left_376dot_circle_alt_378vimeo_square_380
    plus_square_o_382_383_384_385_386_387_388_389uniF1A0f1a1_392_393f1a4_395_396_397_398_399_400f1ab_402_403_404uniF1B1_406_407_408_409_410_411_412_413_414_415_416_417_418_419uniF1C0uniF1C1_422_423_424_425_426_427_428_429_430_431_432_433_434uniF1D0uniF1D1uniF1D2_438_439uniF1D5uniF1D6uniF1D7_443_444_445_446_447_448_449uniF1E0_451_452_453_454_455_456_457_458_459_460_461_462_463_464uniF1F0_466_467f1f3_469_470_471_472_473_474_475_476f1fc_478_479_480_481_482_483_484_485_486_487_488_489_490_491_492_493_494f210_496f212_498_499_500_501_502_503_504_505_506_507_508_509venus_511_512_513_514_515_516_517_518_519_520_521_522_523_524_525_526_527_528_529_530_531_532_533_534_535_536_537_538_539_540_541_542_543_544_545_546_547_548_549_550_551_552_553_554_555_556_557_558_559_560_561_562_563_564_565_566_567_568_569f260f261_572f263_574_575_576_577_578_579_580_581_582_583_584_585_586_587_588_589_590_591_592_593_594_595_596_597_598f27euniF280uniF281_602_603_604uniF285uniF286_607_608_609_610_611_612_613_614_615_616_617_618_619_620_621_622_623_624_625_626_627_628_629uniF2A0uniF2A1uniF2A2uniF2A3uniF2A4uniF2A5uniF2A6uniF2A7uniF2A8uniF2A9uniF2AAuniF2ABuniF2ACuniF2ADuniF2AEuniF2B0uniF2B1uniF2B2uniF2B3uniF2B4uniF2B5uniF2B6uniF2B7uniF2B8uniF2B9uniF2BAuniF2BBuniF2BCuniF2BDuniF2BEuniF2C0uniF2C1uniF2C2uniF2C3uniF2C4uniF2C5uniF2C6uniF2C7uniF2C8uniF2C9uniF2CAuniF2CBuniF2CCuniF2CDuniF2CEuniF2D0uniF2D1uniF2D2uniF2D3uniF2D4uniF2D5uniF2D6uniF2D7uniF2D8uniF2D9uniF2DAuniF2DBuniF2DCuniF2DDuniF2DEuniF2E0uniF2E1uniF2E2uniF2E3uniF2E4uniF2E5uniF2E6uniF2E7_698uniF2E9uniF2EAuniF2EBuniF2ECuniF2EDuniF2EE=O<01hview/assets/fonts/fontawesome-webfont.woff000064400000277350147600042240015042 0ustar00wOFF~
    FFTM0kGGDEFL OS/2l>`2z@cmapi
    :gaspglyf _yLMheadb36-hheab$
    hmtxb
    Eylocae\maxpl ,namemD㗋posto`u=O<01hxc`d``b	`b`d`d:$Y<xc`fdbʢbl|6F0#Fnx͒Jqgje>"D>{EO >,"u^[[[jos_M%:0g80B.Lszðפ 1YlKWvest)Mk^Zֵ֪m׉Θbk̳26>'YҖjukZۺgm2 (4-iEkЖv}XBY``c9ZJV5eY߆6G΂`3|6[uIpn-[pL0Lp;׸%8o>F8	G8`Wί"E^_=(K,FK+ybx	TՕ0o}{uuuwUWիnnjmz-nvEEAAJ!*(hD2c%FʦEbb6$&7߹UUW7
    tw{98m8bI	ڃ݌7SEG!3j㔐=w;P^IA;RRnkLS.)o8G([)9O,,AtS
    h
    yujZupPGxNon{ho2AD-r]u5e^dMX8=r5ͻ^Q\~2V0 o0kC qA跍G<
    9v`|NXWI:"'aW޺O=}k#"7e	%Vs~-y$ŵXw&'q.n.EK#JDڝn봽7=|wL:Ӎ2vmrRv:=0P@DۓVZ7eOd7HMSY|[of'BL}ƷҗV^+{W=uҤ֦='j,|;vAo=0q8"I³8yZ6Ǵo9q<i3k1%&
    uk{H}@΁W—^qԷ4;gg7Ny/
    qPOЌL4q,ԇ"Sv=jL/UjC-woȍnj̮{j\
    vEk
    
    z>pn=^=ajID(෠quF;э5֮s7;QC7U[׈yZIۘػ*!$	dⵄŖ-ˇ?{mf6po~mԽwoG6Moza--m#]?]?Vkzܥܵ.>)9NH%&T/ _IAxOB]8(.v)G=HPSUP>fFE-GGs|'?~zI*R|[`-V'ݙGP3b'\RI̞#n;WٟDTѹb80^s6,rȥism15kk,}qWȝ;tseYqqC/0q|>
    3W/ըsF"sIoAHI 8C„w~@
    _(]h=r9p!;H-[Ifw;%=d꯵bmH)k=o\hEi7i:-!mn:`[G]GE,;syH62ƈs՗:I@^\wOVõ<g?]Y{?qKgH[X&tdn[,Z!H6#=nݳ;OWUG4]]6ٰp7[aM5PB]?4P呂7o\!׺ߜؤ
    2>8/p2h@k~ھB~a[r=Pr8SescF
    ӗ S#P|0z'zS)8aFBFE	VrJ(EfDpU\'h4P 	jd3}CvfM}Zlf,.pj1tYj2lƗ,U<:zt[%Y!1vMfrc:_n"7zwvm
    zuidtO.3Ku=.#Cjn(,THu_Z	6qhhP4#JH%jt3M)#zzdt1Dn~9/ȋB@NV?p'rf:;bBQHb$h3CG|#v2ydm)esvw~٬fp~DG	r0^XzˣՇcl&
     \`\8HHaIC?6:5H;lވ4C&\FjԬ,|MCݔ/f8ܮ2	.ҍl
    _/AkTVΝg~T΂<`2Q&;XAW@@gj{j,	suuE
    ֟:A
    8,&ռ
    }|b0lFQ$px=4ddm7nru"N:Ou^x@񝂍CG*%F>Tm?2.opˮ1r\T١K+L؜cn:8qyN\Dvj[ܦDy/*=H	[0l8=`Dd&76tOd٧,崅v2+׷ TU[NHN8W|fG{ܘlT_Z1 8j
    `Ar㼌`h*b
    #ռBj0s$n^7w$Gɡ;N
    .A>3;My?zpͥΙ4aqp҃GFw|]֯!ؾbvq8e+)h.,U~4]h.P4s)+kqD2uϸuE3V⭯ҟfS8/D]5ޖ*xWGj}l&klnçiPv'6#(%)>qEo6U+6ŋ8ۢlޏ>`Mn''zB-t/ꬱ3ik3
    55Z	1ao|+
    őm
    0$YəOa1ag9up9Gת+b=H߀Q1hT]ҒQ^?s9ػ lB|4TNYBL,
    g#5A㉐=!7~=/X]WuwZW避[ꞞWd==Bm®ҏ΋v?$
    E#
    L!7ط!TRRI4)H#l*:#H.)pӇ
    źRMB=ƅ(ǂ͵˥>A,_2%5pyn6/Mbt,L֮l+9QGb]*D;
    {PZ!*U1|s{"3\gGχyG:-nQg7`ԏ3xAx%ÏUXMZ&HX9>osGa
    '!lü|EW-ebbxsY06E>)VH߰}V=G~Ykh/;ۇ0{4.c\h`5
    FA5Tg[4#So3yuy=<'j{	hNk6	@1c/5-T:`YX]g~ilp!e>1x06?eoAsb̪fyb3@B߂Yq?;m)h4skPUfW62c>8F(t*GC	ym
    srp?ICY:ϻ&͜99TY-k%)@|FFh9*(RtKǻTXM-IP.%C"?,+ˆ=	>tUgQWw#Υ7݋[P	ޮ'j77̗9ZI
    SO4YkDE͂B~`Ig;mu֢zSg)rE܉=mK9ZD]4~7߉R6Hۂ(ji!BldpӜ^zz拾gF:qꢝkWl/СuX2rTsBנͫڂt}}ƶ_5	k4	A;oHLϹ)z.quAzyxjk5F-@lҙcڗҗ\6=
    O]9/5ڔ볝\tOCT3f(i
    ]wPiQwγ=JߌvGޮy[[,Et&QocÂyb66kMK|֋$Yz%P(^87DrK`%5.:	Ďx=mnًm]Ю&2G(-@Q7xu3%@p~нtS]=)AGAVg;*=$mz
    -|_EZˢk<5U5fFIj`=H})0~F,"N6k"}ṒkT"$mZPc',ϛtzՅ];+j+NG>K#h-zp6\;yb~9.m	\=qrqü=fS
    6u(؍3#0
    :Nz{SM]"`R.Cr`-U{낍znq	tx
    ic+Ԛ:3Y㳙N*aVP
    `1Qb@fc^X9̼ܶjtҜYӂhھ3	ijs+\8Tvi|Q<
    v߹c81-t\16GInJ:̇hXGr+4Hjv4l!,cC54{ٱ4dR~p*;9nC%d}dA4Q8iOi	TgdulUSAq$.j6U;MǶۏێۏj9JDvAFbmLOI=`jf:>IǁJ!
    6Txưqn̓S9ĀM|!ґ8X)hͅͳ(,ӌ2+lD3Qɕp$`Pt[ DV2opo%xZ)n:p4N)F ՆtT7Mu`8P*r
    >(O^tXi(M4!
    t(>hcU<@ܦç$M'(J׳Q܃<8Vjj7P?Ͼ;_!Q.h|:B)Ӓxܘs_d9aN=.WO.\|_O&tk.".Dp53͓	6`8IuKjk/wiUSusUlr
    ̥;ѠMe`TB&n¦\	g2pd[0OvzI'm%41}@€:įZ/r
    @1m8_.WRlv(F5Aս~]*@Qؿ
    VgM܊:MʞQZ㖵.
    HfJwKIA\f7zl}5VzGƐ
    u̻vߋaɰZ(S6Wz7ek[j#6[6iSڣn@d`[}i]<{bN&kG[Q`Ek$|'GOR4:	yX1dhz3TʷL-3DG%Z
    b锥3I陌R^cy,3P!@ieNq좀FS'}@4шÏ~*T(PY+=!?}>Ю+w*3Usƽ i[9a\uWeY5	+,iK\ʚe<zKC&Hdbktݩ7!;BTR@J	vKU8bUH^Q;Okb%[QHO9谉0r0}U>ʔV5^ܵ}ecFmۈrqLEl	"I5ڦfU2cW+O,
    MJ񝁧6y?*0&Nݚxq?)>e(	@qTVx>sjAi2W@WU{LГK^A'96&E[h8J*X>wyW+Vc*YP!3
    ^%"`ɒRcD@2ܵG5gL6}*Xl틵\"*p9B4MzA65L.2k,0^>G@@HtyZ4iepWtAh,8<{9ȽǷƶwZOYE<Z)t#/崐\F7ʔB>(&6ldit/=n>?&s]@Ν0Z.3Ĥ9MG6XIJHXa:C}36~>D3UO>[vZ_}סqN!ʃ
    -W 
    SHa)Y'lg8=`z(bwvi:2E!`;x,Y ߩ
    =Іj^ǻQ^_Yy`Q[&aYQ
    us0{&m胑*j)TC$YQ>*P}H˥_7!n?Vا(sOGRBXbG/*󨴉bE("lrʔ$ΫdJwGp6
    P/#jmtCR0}Bj̣RXvI>(j=:ECtV:O[h[5"uE3W.
    f[eܫ8P)e
    0Rԁd.ُ:~}t<)/Q
    cOBGGp<"-G-b΢y3b#5RPCk{d˚ ح6d]LdLu鋶
    LCzӮIYs;A@*nyڢKˏɩEWeMâx[*u-zҗrizH>2$=_j7{!h7Ύ|pfs%9LAQ,2WH(EEug&/
    $̃cm$0^(K_C]Di+/TRhOJ?Nޛ j;쁳#ISm0Q4WՏ5_fd"0ԏ ~D}R'k GK1(_/TFȤ8>Q8m.mstÁ-`wZaxx";ͯ2o2:h*4X-hW3snP,ɞ
    "ޗ`7Nw8ɐD\	(,f鄝	IM|؟նkÿl5nvxL/LM}ݻ/Еum.umd>Nh&kԵ-h#
    +qs}v.L8c|P=/2,T,\fxP!:*}uLvyj{C[	^܋lV͛CZk9~_+2_ʗ7%\~NVw|:$^fH-œl6[DniD>=}4b=U{xCu:6ݨ18=Z%ܓ&?i*V߻"z,K=,5keb PÒ}aM)dŐ".Aǝ2AnK%
    %7;QΤx9:J's9:(w̿sltWN~+lAڏm[w77n\W<9-N߹ti?";iw[;LvP2zrgkcl;#E*b8*<~h!:Q@qӼek/#@wꪫ'	r*2_2mppm"Oގ:wFgRۜ{zh?U_3m3ؾ)[_./d
    jG̨.+{7g|6w6؟>d5;{O"-<+jaW22pWagy6&BhI2%1S*[ϤF۷%nwT	QĶ!=00!dP$Oj!%l6bd[6,6`^Hfɖ3V߶[8|\MQ
    lƜYxj?KO3ٲ%))JrGƼQ̼)2c"^–;@Y5u!'hVGTi M9#(ן<4s{@efQ`Gy
    8L"KB3+fOx_c`=C@d-TOj+Jw]f1򉠦J -L[,Əvu&}z)AԫyzX߶"MWwP-蒺Mrk
    44LZvɎiZcKU/Nja,a!"Y<]K-{S&,-l5V(DSJZU+6UԤ)jȀMXju5xkOxkCf>v;oĂu)O[H%rJrZNCQn?|x_B*kgYn3:B4WͤuQ.RMF2>8G3J<ZŠrVŗY~P9w;<
    +iչ+5DDhp,;ʹjfƼ=䵫9 3Ƒ,@('h:Ƌ&mTkPq8󨴱!ä.#Q{==4V#mx	_)IfC#yFN
    uQRPQyQ
    u:]g*OU֧c'PfՅԭںo>x,uP^"yXdci+Y_'z6~(+q$U;{S<^xGn}ouvXt%&3`.:gA'%O0j@Ew:мjdqge4c&ūY3]*tI*
    r6% &AR^3$p,a2GÇ}O>W476Ոn7[YNqOecu/=cm:&4Co<}iAO6ăNYm:̲f3J"MK:Ek:e-O7
    6;kh}x?1/\g^y}7|4q'7o^ o.Uξ&d5v 3_P MpĹVjlU	a^vqǹ܈\?虽쪰:Oob2AL29zXvQ VUq^k%@$Ǡ#o}TscFW}$yF$y^2:l4/maԽ&oL3ѤNIq!#ĺ~N>0=ٞbDAw	OhCTѡ
    ֩FI.M#Œ3ze{EvceR]
    ecsERn`{ahZ]'3W0vIxV[mQ8f64Sc%WrF.aR6aLv0n=,L	ZBU\]aJXL7e銛
    ljQƀcHj\}MGޛ
    [X@"WdNS<+#(;<"w~omyL'DpEbY?~{{,o,RD(JbC>ܶ_dՇwffsܦk3ގ&~L	=$&Cyd"le؄ tQRʉ@*΋7JՄpC#5-Vgo!Gi
    4&NpOo޴խ9k'y=JS4/;٬vY3MiB<
    (Yuv<9_m@|zU
    _<';^;#b})Kywno%6,i7-+v(k6ic"Ym=t#WRTmR[nafʭklW޼(IdrUU5=^Dfj}-:$rp(%\x+>wW؄	Ou
    gq/,W:˺/Ɏ+y+&Lo)	@[@exbiu;:Ykw[50x:rsS&_Xxf[bT:7ak}Yx<5r'(>q-proɴ2HU&I-Kmhɠ\YFY`|fM0]63Bw5%#'iH(8[*k.Etc&aNmVJQKTMbX4?#4c왓Q,<v5?J	[Js'ڛiӒӇC>䶵hMz__m27b2HC'
     j
    ,JN؋
    LuqMZW7'./^L^DL%S	n4:OW^of߷Rпlq{\PȖ叙y4*xBav kx@͗qY’.3HQF|:rƔ9`P_SRL
    6b|jAn~<DN"u0Q\ Wuާfn6oH玤N	N'S;)̓vGvejOXJUPsps<׷4}am}SjTYCheubm20~t'r3:_H7M笜YrN:1!-z\MaP}l&pq6*_UYIG~O_KU8FT{t(av"CBf_F;QnqӳB$MU*rg,^GD,IH:7FD	Jlk6c']u;&FbFiB"&͙MykUP\M]J~qZ JP$5K?1/,#	K:I)DoY:Mg!'S$M }ÊN~$Ū3wm6]r׊sO^
    ll
    6H{RvBoLg(iZhVd˂]w!r<3H/7CyYN9Y@LceY֖Y$rz2dk`8v1gI1"0k~,c$tyh2^/sv骩m{TUM~{WÏɿmkUٹ?΅s4a:ZDg;@Vם4`gلw]x/goLvw'vڟڔyK<+Ǟ~NF=ΐ7.'hٖ}t)vSK4Yԉs]kWN-ЯK`~kR-^"9BF%`%5S'$^\o;NKM#_5yr֖
    jKgMdn7Y
    n NlݮmGYN̂09E&WKbK|ĸJﱵWr{ݷkQcZ\2R؛Oۡ_h]Ըy&܈V;~M/׭n߮>_[./m2A	qJ{>LM8Af]'vHTUOμŃ̚u\eAb~u:ynwݥIٸ$j[QV*b聇nEC*ZɭEo?҃&k=t#=KTrfWQjJN^yٔQW/Oo^rrj;NM4I`0wϚ _ߜ!Iouz#3tzi
    kjmfL'k
    ^9uDћVnǼ^߲rn_CSC "6Gi1#W0=p']@8z}Q/
    F"̒&=lFwdF3v1FuDFYV'F`.bNu䡁Vl|I׀ɷ*~)Z*!+uQvCM/vԂ.qcYs,wDiN6 YrLU߲[crcq5)V!c031;B0ތeG͝UaVNUe	(;;|d;_TA"?/}Mi	;]wt7WY㰛nNgh7EB7_RE=SxV5Psm`ržYazRat	k_F=dVٿgCj߇%T}[n.Z$Uq:ۛ*<ggnGh(U?.b=Ђ z3ek
    4	v^QVJRT+N1EyD;YC+dNA݇n$9MAyhpJ=^蹭%[ҫ{\r8L^Rڠg8ޥ~ad8U=gP'1.#l
    =ΑѬzR6np~[EfnG+y|:fE˻~E׶Mʟ]f}jE3qMOϚ{d?]uU?#/;s~򹃫ؚǀK-6B'闘̵Lgcg&=G'
    }S唩VCIsyRCM)rd7&UC͝w4Nsca7fl]tTwݵFè4ou֍2B>#o7(J~jE(EM-P3/rQQ@Wヌ(QUm)!sG7ꜜZ4	…Ulڟpd:Cce's2E;u*'$]"c4}
    vzyDzɨn4bTF.b4R#P*~6tjtŋdۥy1W!ןD}glْW_A4R/u|]P	Ǯ~:t[94{-.ǀyA0 x6-NMvM$c50ghQ61BnW_us;BEg}\"\aQ=#ͧվv1ŊSY(R.i[9JdQӜ<0@BNya)j0Vh2쬄sOeP5>I~1!-A8agjNq^76e/쾇ݳRuԢZ&UEJlpYo<2"_:979f阎.!
    hI4
    RkCjGBu+btQPu/А1TZ5V:+zp8jy\ST!zru8Y۸$ՅFuFYTj
    +[kj`GŦ+yl֦Y닍4R,+h")=U>yV˕!V]Z8G_
    jWpH ֬Q6P8=wQ9]W809{z$5p+҃D%ꔒ-R`5CbJihEI@xQ@-Jhnא!7#םY
    ѣX2MnƔi&#ix2nB~#}2n)Ͱ.woB(Yk"5nG
    PTF;NQ@(奣$%l7Q?lRPfB!wҤJƝaîGٍJ vKgWOӬL_$ta[!i&M>JLBfR%ۣ6!o"$,J{l2"Qo#BQ'!"#H:.	o	<9*a$
    <1ʔ/-
    ᪠(J&$
    f^oћ}6,+7
    g2.;H\Ұf,-JǒEw\Bwjǎ>fM..klDj.Xv}mW\:5֔jKضV3BS$l&ijDYdIO~q!rW)\3
    H.iT2R
    ˔D'i>-(*Qoc$`g#Aꆘ0ߨn7.>x;w,yc?Ơ36I61q	($,Njwܴtr(yh2l{s\p@5H?]JHʽgIhhh{ ef
    zUs|+DWxst-}"<;p>#?X;$}upȖow/&ν'dޒM-3g֛떤$yIEuR
    ;5ItБfb{g-:6ާ>k0ڹQs.A,1xBU\tBBA=
    )~3.{ҍPa~OBP:sQS=:Ufs1KɗM
    @PsygQ')_@\l`|N16fpp3,Y,wZ1~טOnoy'ǗlfCW?Ot=Kz
    (UQCdPn.<=y]Sd2KZu{d^&P^	qhEAakFQ7><~̈^=QbyAsX Gr9Aժ`	ΕMʆ돱,,)4KݑYZ?0Jd\;|h~ki?ev宰Kv2)i9Jcj~Uivo	V޴ʍX~eCkˆƆKڰZn߹ZXkon퀭:h7ΤG+Ș}I]Sfn"u!`*ئ(E3	MN4jnRXMGs/MtbRS{i+-v	aJu3Z/WS9ZK]>Ɵյ68N^~i>v$$&x;ό/nTu
    _pdR7#ƌ]Kqk^:J1)Ǥ5$2
    ;ʗ$X[Z(ޜhJ7*%2E叙#zg{hLK,M#ǤOkdւnnVZĦپ[ȷkV%ʂ:@S>Զ}S~.vm[kl&żVLsHuvM[2/z9ն.S<#y\6 nGfmȬ@xʃEӻeiwXDv
    [#:bL_hkm[-NٌEZ~emM%Y뛮%Zbth%:9}6xn.^%,uXF>.1^xoUQO7}\1B,53V̒ׄ'Ōzw67Oi6o_rUqp,1qOi#*n;6F(Ny'+ܣcTq333~xh4[ A=,Oc⋢rx{+=.zfGA=SMϒk߉kѥ1|ug\==j=$rR3,xٰU`B!"LQ Jc@({˯F/43ibM6A
    >A 0Z(	zcdI
    Q&Z+8LTW& aQ<a"*FS)1^T}uМ5`-q'6nh־ڻO׬%3<h%rܿe	:b
    VYzlN]6p/oyiOc5xrM{>_ؾv5>9Xruʓ3r0rdet|¶Ld_*5hct,g}Wi\<csp=iv6l۽N8E߹ٿ}aq̈́s+Wߚ
    DٶD^؉>[DPjq\j3th d[)7rhUW]jiK97
    X|/>g],pK4YW_ځ/&-.S0+0:AH4bc7o|~۶FyWub^yV{1
    o8S8#(緥~w޹jҢ6ĉ"h0PT	u) $`]+E:Eq؎W7jD-7(3uŲ{Ql`Y$OCoɊ= ;h>E3g^tPeNB*ʘ!x%	֙Y}IK %epH	ZR́H+!)ʵ	*	1B1ˬB`> &)ç	&
    ),~)|H}ؚ"odA[aO:)禓GwLr(yļCgQ#[UN84~c!yzݰҔZ3;zss.FMؾ1FSI`A	4QByE軼a"OiPSbnByḰXKG`SVЍC/|WM߫ʪkjv!:|uQ(UϜe׷]N#h<;vU{}fjH%X&?	Vu~V~j6A'MYvM!GP۹re紳 Dk/s)kq8vI8#x
    G,c?;_?!syٯ3ηw>w`||tuP~IhhnE/&jy+ٸuTS6ooOoh-Np8ޗU2$u]v$0$
    c߂ST6hBڭw.ci[ҙ-:g*Khq{FA
    lW?}'MR~<3.([v 'Tgx4JA]ԧ?21:yAc4Qd8`b4Dlu*l.]&' NY	?_EJOG#yn	^TA/UB
    {dȎU}xX1r_i}~8b*=^]W*s->KdfgQU(s,ZeM\]2)1
    $l!?OnG'o~P]h꙾V'E6Fo/q+Zjz*S`OƁ| MUa{o03g}(骪5J8+5OOWU$#+Z	J,2Yin>ŖXp'E!4l񺻜i	S(߁TR_ʠ̈́$^ŊMOwޯ,cӊф惞\I`T)&IX3W
    Sv$Fݸ{e1fHțaw(Q \9u\Ox7NЍ%hۑ\WTT۪˻UmʂjrS-kU-nE*+g]4u,}뮻mfmsMX9UuuUNGQ>+UUG7O(YA!9ې#I%y\gf6)+{?DC<Ukmb~c|T`ᾮ&
    >E7"B1;/ ʤA$vBfYtجG_))P@	p7:z3hfa2
    :v(^&m胍ɛ7Mi(&+;vv&1S	{\ر%W[7mnYm}5qoqQˊc^nBq]dZCG6\i9I/`b}ޥ75!parHٰ)
    |\n@s؇Ӂfs޿jZV+m#~xd	Iq|Y;$`kG^i[يFTX
    *QlN+xDՑ-ML[J ϧ},i.F,2"BGщ0~IeOÖ[咛o}Ta>ľ/oz>E}ʋ`vz%5QlҥH++l6gSÔ|Bh8ڱt}C_Ꮐ֣*=d[™M{WJfw.a44Do*VVA8sP-Ҟ}A"
    @"Ȥt0+||E4NŁݓ1	9)*YѶQoP@	J2::b?2Hϴ3Y_nx[b¼Y1-Mҧi.#?\!Бck3Fʷ׌8'חed($lٷYS hC:Sli,ɯ䝂Fi$柌tn_=PpT
    ;(3V{ID{iEZLI
    sҢc"3[*8#^NG#c`4cCf4q&E:r@B$=DMRI'04	'yP^?RxS^3Ԡj"!psmhg8G41$G>LxNy8.'RԇG@"LC8S1I.uߣBG?>sj6خ0FƆ{17qDXSJRʳR%FL!sM(~l^0av$.XV]Υt:Jt1"GЏeC7aR.#*fE|[rX\pM[\c3`Z*؇qfPW3f!u61SJrmoXQN[1c_.ʁ6a<K#QGRs7gc7P߀sޝtos02zr{V{n͕{6>]yTЊX(|'׵h%" ׫{i`./Md!]Ђ[xC9w<XcpKCabP#lmПur8/^W`Mfs(=TA{r\X݃f?8:4gdYc
    O*EuDmO[,	fs	6WX6b%֢Bۇߕ"l?YkZ&|l
    !\I8
    |`&11P/IK)){@'ZYhv&g
    @6`	wE&yIIJ9DI=Ab̚|/HuD@& 찇NQz^~y
    @^,,Q`qq__X(.l{^//T8 c#*bi&OaS	l"y$&̲Ds7Pu
    =j\.Qܑ?҆|rz4ʻ}ǃufůsfBQBEv^M94$?8<"<.L3jL(L5FVw߽wpf.p©Mnc^8(Uν>n.Key@{SF׆{`|737KݒpȕHdQ"p(@dYT
    cTYKKJ+VOwdC$ZѧtHοn w?&iG,
    蛙|шD>yA-@K#Lҗ|sĩi@3@gM/<X6t\_ey̺q*+j/2+&Z=9s{]	FlƎp7@Ŭ7G/Ð"^9M4%?}e%Ci*fFii&8{L?pG[mXګ`dl'k&cb5ncd`A0g	-X
    RY<zŽU-̞w'
    v8
    jBXV>גk5`YTTj,OƧ.
    fء6;*;ZdNywM"0ԈKՒ4D=#eLpEH6_-8(uwʫ%S$#0zޓd%NQoc[:@~ƹOqS>P䬕}Ǐ{"f+wm3;a8Zx
    9a>n
    
    f|}XϓѸ?Gc"[yggYQ@z䛒K="aU5v:top
    I+'	/NAO٠#HzK/ ]^z 1Q80)]h" +_TaU8icm<ǥe}d@ųAc`h9NQS&ݫMXKX~JЃ͠X)=PԯuM7:u&eVb{u+9denWjdSX	6>A8ozt+$5Fv_iN&,>V2
    7>#_f
    0ZҬ`>&$+H
    кeH!oڇևhN+?]¿0Ck~\,?0evgφ
    cuH`s$%C_V@DbQRUͫYA$|E{Z|uaޡU_CSnn"k ǥESʇ8A
    2}桫j>M_dd2/?(Jt5XOwNn
    r>-|<+> z?=y
    W~><W䯀\0gj[yc~޷CՀCC<9OE2VnK+gj2*j~y\'oޱL+0+1{iuW7*voܨUjFc=|LƦ~߮e˴P9i̫ˉ~d
    9yr }uf**?8?'a"U[/͑zyU@ʙpy=K.۳H+9ې3۽RNgQ l]}g+Dd3E
    d٠C|="猖D$1K/%cio&5OpFrrre+9Sn*YLID##@	fq 패a#'b}=I\̮'
    Zh|,=:=(T")F`EEVj,Q|FQ_/a|2rKbIxX^bI&$Jt2(i]NEWؗ,ޥxVcmpF&+a)
    z؇d=>>1F_9=!~S`;{L|cpn|U^;-.߄m";aX(Ȑ1|YYz_-^U{3u!C+Hn9d>)Ȯ˵UIͧ@E$*}*~ V9_XAW6Я5DT@BlEM+Քd0XvmRfFu%Tc^*-q)tS9岠G)AojYJ}A8I}JJer(Z`Y~IrXimf)~U(0$(@z)p_\zvOw^9;]WU5c(?	z?ܶg'hNrG]ua!z"!`4yp
    A72E{\G9 T2	ftBIQ
    WsxnRP>#G\(:4QSR
    7~F9r@ :bQ&eP3RNZD%&J ~2{@1HrX/SV18cYϷw5m4y /T4"9	|O"u(M(֍nb.e1"r%	ӆڠgt }*ݶ7DHBlg]rt9m72Z.T6kuuN^=ŒBaF_lcY@2n6J
    Ea (z6id0[\IoھfЅ<jW}qG9aM\WWr!(^k=sF-멜jH NQkpè],/?nMb=Zdy׻pQ/{B5T)~+0cы[pkM[J%~uD.7Jwuw:l{ٻp=[amEeĉuB=\,UX簙ŀb\CӴq 倢#ҤZa͍ta[;OgxlLl{]WlwGO܏za5xsbV3wgug=N~%8wo%q1c>(G3J&iJtX2E4}	{ѯDVV"oN`4~[b1BM%CvL|"0-m}Fq$Y";(:jш-P=4]W	im+wԀvZ9Zی|d涋]v8Uzxc]NnSz묝-'<ShC5j<Ҕ	{=.t(F~>WZYfu3 i7QKT
    h2
    SF}R&U*0,	61*ap2Հ::A/J\``AI_/qZΤoޒWz]aГ2KV@o/,hZ[8FCwЗ<O~pz7Q3;{aN
    jiZC1jvWqӰ^@ubw+#!δƮ2_Y~t$ّI)s";gZAIeߔZ=FaV;vkuvfe[ϳ}{XOV`^B5	5յvvNNyJ>)M`h3ͮsw׈sR7mKWlXu8wNYok׬?޲<;Y(6.x&U8ǹՓ9G̯/!?C#FlndB]]yu?y;xm/1HB
    D_A//Q!;tB!Ll
    1q]ee%]/+
    8{k:|KVUY3i$ambAl]Vjoinݮr.xIA->9XhJf3UVa1s8ٗ7RmDC1/Th&Dc5[O`LoFE
    &_ugKy%:jz%!W`׌Ot\hԆMKMgZ"
    H{<ܲh䂥3BNOsimM6W˂͢oabx+@]&m
    6bZؑʩ;G_^W"Z-FE/.[XGe#^eY3,1h@$NE `u:i4jAy	:
    ~%|8@0mLtJ<,a ZZQx7YfK'_6=iV;h
    vo8?i;ZWdu.;9 _H@X~w+*&V݄0ƳG3y&|fsGjlO8vN_Z?dy1BK:87+UZf{R[$Ґ&w(T5!=.MdnEk2M=2Mt,uEFq7-_	h᢯!ZESQ=w"6xoגyyQ;aZ@dԋc?ڭ%<%]C^%=Dhtw2}Og+a9g5ԸA~ij]iXcǴXmŕc-
    kU¢HQ.aQiӍ.nz
    ~LC}SPaa#Tf-V5K-=?QUqxl#_X,U{/~|ijQ?iځuo'?<]~dlp@`KysMI8pj
    22 A8_;ͪKpAu|Q__nNg)!(NiU~[^T	VmCg-V祯̌$eEz h΁v@bap([Ӣ~^՘)8oy#km>-<n~"5
    >
    `,g0}`O1k(O1FN/2+lESs_*3	- D[H
    |$>h^zN
    R % xN!+ސ_SRCAp4Xetf+XO\7뮋/FähZ,:oEJRb[hX`l @6)?llGz0=,El#;BcY[7?6s>9=1,	?䟃"zs`<h\Ȥ?,/gyLIhkh6ҋ;^׮}|GioH'anCҧvѻKNuu9/mBrhSڱtb9y97e4O1
    ĺb.ypvY&k[j_8ӟ籺\$%i2NC;q*O<$~J>oIzwm"8#e"L
    :R4pE\t#)_/9^\-}\_r9*GBpH~}>jƊOf/aAl}ع03wWrKDoSB﹄E;N#iQ"H܅ :33#^bZ=.*t7
    /lN3/]#ԊYod/2'a-ra|ƙpg+}C2ٌ,KKK<]`mfkẔ&ˆ-NZhn;]-_TDךNjڢnNO]eOȽP4]}iCS]I_%VuY[	4doD:9a*XP}	3FU.
    !nS`9^ik3XWG	sJAyx4͢}}4WNIk{+B6c[z=kKLw|c\k)[#^
    '?'xP:̚wkyݺ^tZ&gX^Z<4\kr|UrH`4͇>pklw*iBU
    ~u㪗K:_m-\bl@jGC1`Y*IbQԟ X=G,=i[:[Y3
    fȏgY\.۸EC铞|; FS[Z|QЁ>	Y`-tSkESI]Sq
    `k:/mդ7);psk~&*.(O^ްoPTQ1j}l~e6w댂NèZU@NfIbb0SB4TVq5H`9;Xed$i8p3!3@7f%St3w(7f*ojB(%&4H x*LTB<qJ7;xĒB1u9hԏ0P7@š!Ov)c?pY"h#^ކV!ю@JI+h
    Xjȏ3nAVpZC/LU:4qaEaa. `M18@
    a)p#`DIqhފո>IP!`6N$Or[FY-aMz-JRƤsjh642@ =?4
    yioO.6&@ƪ8
    g/"*,vh_.@ku-X+v&N8,s{YkUCӂv#tᬘVf(:fi 46/9-ehtGS&T#h*zDlBJ@]BZGzղ2Q\g9Fc6i,
    2FV;䝎+	(
    S@VL)ݛ%NV
    :aE(B?M'8iѪp|GA5A{z```]wxBaU&$nunw/E!ltg6tF^`r ΀vMs²=j_/ʷNS\ֶBrgUX49m_C{3	SjҚ=&@
    h(6UCZEJ`pj&=`ZJBsŌ 	aLfɤee2[4_6{A\qڊ
    %	k^qTUJjZlpUHݖymĠWOY\jY`Bxqz0`4?1FQKnEF6Ȏz2zKg,zBy|Dk`t鳲T9
    vCh
    hnBӺi~l/tkck6x֮r(rXc7L)DElP{W(@*M1G3Q_\UܶeIsP(p[Ym\zipG>6o|vݫȃxHwxIJQ$*c|ZBSʳr_	tB[Q́F&FDǦݵ>FF^n4ĻHdZg03LE-6tmYQy[n[uZ]k]O-\JXwP4Qg8vi"3bN~SQK.B.S(Wb
    d'~LYR4@lm$/kmȕX_51
    isQu Pf`>yIt/&NK4GK at=K2A≫
    l6QK'?
    ݛR:!+t³BGw$Iz508;6
    ob-b!B6 uٳϢ)
    )egKY@\͍4VB}f$9zx+C#…{
    i<AǜJ=żTgյ4kB(gjt7Lp:d<ÈSo^,齺S
    v5ku&sQ9QcsFlǜ-	EЈ`s5DrYuo{wigamj
    `Ihf܄vSWzM?6YNB&Cm
    @SY:hk]һ 0b_c␾_]|Ik:dMZ#kv:##^55ZO]ƬNgcD#5XJxb[ZBPCcHTT 9FXe*:~gbmQ(-D6n]]}o
    #˧QA?W&Md8qWаcۼIS@.js1/1
    Ņ9l\>$6eb/_SfŲ'{n,8>;lO00-q`@6m5
    zԡwգ2ӝX㬞VKuycRT9|b$OmkǤ%̣bgDܣ/</_ʷ_}~PDx5(߿|omC٫gߤ俾
    F~VYCN$mk/4U9'(h, 6qpiĢU,i8hxk#9dwz-]|VٲY>rI@ڒ\0׷˷D]}JNJ9W.h,cи	H%,g5Px j̭fvU\hH[m\h5՘;;9i6_Q}֢c&;ڢ19-}>WAb
    .c)In%UD>,/h021:AJ1{+[{q`)~jocGj1iL	b*idS!2}5ca2Zldiˊ9KqsTɴ;;afTU>%+kbGYjQ,VCj)[ePG<\x՞[]jt=~'}6*#A8ϭT2
    XbKpDZ(׷e!?x2K-_ȥ 5‚Ap~Uj,{??Z/go~ڒ[
    "m'N:La:hx>,jQ
    8;Ѡ;_+BU۴}KPkj6uO{{iI=
    ?s~^X@,h**#Q԰Q3aXHp)Brk$,1J=$_ߥ9$t0us0(LL>(U3')˲X|bk{.$#{b*M
    3R*V.+r?Q~{3FO]j\x	_b}*JpPh=->"WT>#БZ: a^a"/9$3yɘHy❕;/)aPp-YVtEzk;KKCm?9iN_u"iS"bPɦ˿	w:W(x7(cغDdb
    Q"!24:nH%Ux;R<4~:wCr\32;^q]9;ʉ4q6{;-g*{tGwGUe{{7f'3Nzhw	 ahb(Qv,(YZPς sLt??0}s9eqr>rtA/;wS@ʇ*]Nr J=RҵԞguH(-]RR$l^}{n"<̩'T]Gh=:6'cğ0J1HC1TOk0q)}F?H}wÊہ
    4i؟qOm'ێj%#=k3:)%ї¾袺sql&{dܑxMJfW8O
    	
    %ET
    O'%_IhN$tϚ"58>sdO2~$3џ~烌VJLLLdRJjˡ\䰼N1=f21]8GЋARyã[f
    jSGZ3GZ ]&D g`6Ko$XL	ZU}xRy$fsw,J6ؐR(K |FKdUX:4ri8Je~YhO!y΢R>zVtUGVw<0v&7TG8VlƢ!;^8OW/&H#LD90((ѓ?
    a)Am!L<|ئ%\ÌL4⏕`n?`VWkhb+iŚb%8ti5@/th$pK套sGXh%bɻb/u5K:`Ěcbֈ^:Mžrݹ׶gY5e\pA:K#xs"Nt;f
    dBC	3vDk/U1ղ9GsX-BC<27ǽ M.EguL͋\yY6{ZbuyE5%.wAP3}Sncez52QYͫx`բ*'/ΗCi~E'`ciE*&9ҞKA#
    \:+/c)q!r^={pn7\ݱdq;zkڗ,\Ր9N.N[EZ4w^/<4z29愘+GU=0R=9#}^)trgrt:".^Q~;3ʪrmNEE@~}Pf\tzMբI`/81iSNMPVv<_aO6)hNv9dyXOJA1`SNF0d
    7`z$
    8g0:aї
    Z\f0<\oqg~1?8`|l"[nb1 MysB'F~ZbvGNu_f͉kE/˚>6D٘HN T1P>GO6g\=WNeqot#uz:JO')%A]4QWCMR&
    $%j¢
    7Hl%GmPPF @9sBM\+,u`4cNZ#,U̥.aLQ<4I&ũ1@aWN]P9h^^=T0}\$y'ѾY!aED*nĈ\nE*eS4OpD1Kr2B}qj1Ʀ/T
    78KYY&駵lWSJ9=4OG:ٝf+\*Z8Nʢg^@$|%-ϦWHMVLR:/QJh{8s*dXJ5`j[pk&UYbd`l&LSTr@tڞ){iEڲZw:0Th	&!̀\V`);^L1C|]ߢr.-8euJ|W>RNr 8xA#b+<SfLM6e-
    !d#_ԚQ&qqPBkA(#ZqƗ!Jpl"1ײkIZVp@?-=6Ss,e:3eZ5R9+7N9InۇםXgCSٮ嫳lmu
    ,3m9zOPEǰB^rF&B^mc r4sͅj\g1H9T1rFBCZ0JPhwan]bյP5ނGnWgkuʥC?■ͮ|@-^%;x>@5eyAU954mƄWbp\!,GhD"	3!
    鄛HT\6H8`9LE5tV\){`{
    ꔻ@`N{9瞞ݷv5ٛ:WnYu?={%14*ve\{z?gme&b+hP9B{
    OQ,mճU[`l\5zHṽu=`zrX
    ~UӚ
    gv^5y#Q(2'}CWKs륊O67Րo6kCD&PS㯳XNoQ5\8<On}թNh
    f ft+x2mS48vו2
    )ѻ$:(Z1FbpB2kYcÐQ+Ꮏn#4wݩ/+kOT=#ʶN=;33Q
    @&.֯ɗ/oD{L=aMM=I;eχ,'d(E5^BK1gՀbAtp7oC/Ҳj8QQޢ>”YnPj.$Qlw[Dž@>|rFR=v?$ksH
    Lk꿿
    N	\|D gC ]ݭ~wS$cwT<б|"QDRMcjId*YN5~wQHպAk3`$0	t1B(_%ZUh*\TzR׋PyRя9h`AsdӬb ဟRX|
    NjhZ; 'h0{*AZ+ehȦ`<r^PHm˄V}TWkO' #gmkOW.QZQ{p=4A6
    Ҙ‹B3?#9Db%>OCxu'@<>W8-{j>9أW9.Yz&omC}s1e5\Z|犩]C-`.*
    45K}_.]|[NIwzd6?rp%K끼5kqAgZ 3g!BE	RǕ>Cl)I]{km;sZ=-Cs[֯{l|~󪧭[OVƀ#@Ik<I{wKk[V?ZE?oxtϥA E?PR>
    Tk	lR"7(/CmUe@$8} ,	a[ҳxq^Q:ZRPjVut%n2f9ر]7~,Un6c6:gѫ+-.?M&fv߱s#zVwq:꙱m۫۷c$_g)O&&\@bd34n'BX̡1R;q"LN,`/mO䔰m8F0V\6&yhM&t3J0`g@5zzX—#Ն1oԠRڮT}V*yp-"D$ן2pԓ1 8G07Oy#xh(>
    MswLiw:&mH)yi*F)I$qKwN^~2I6JU`>u0P5mh9vyռ%M|Vεz0cQ[}Уcvg-3盲^Y)Vؿ娢VԳVBa\Α.ї-&<_60¡0z̈B@}
    0gI=FS]+(]`\x\J
    KRqbN38ʔʗ5
    f	jA3]֚@ZOjM$%RN
    Y[wzterZlJYV9q* N&[5L[2<2?Kl*}*g?je܏Id?r
    `^1}/U߃wyE|k4~NT~WrZ@
    څ_(ZVT%ZZ#X>u㲻^Eo2˽T'v	<Ր*`cN-FK+P
    WAv4?JScF'c73 SRӀ\Q>j2;ⱳIܯ3s:,([.edW=s
    ~=; !FKl*`DǯP 1I𿐁I
    Ș,a8pc3X)WW`:5KQy7j$uE|pM5*`lh$J6R/#4*8BݺؖWX.m)R3fa-v4+JP%Fvځ'C78-6F
    @6aY9_,GoЧͳ%{#QkA6>ohͻ㥌d͟_G蓌/tk`RӍ)
    |:2r	⯿s<ʖ5E躉]]Zm/xƜO	XR\roytXQ]$^Ӎiܠ*nR gf5/C7A5(1Gu@|,J$4
    DIIDmx8=9="zcq2wНvȅGZ55!_u*ZmߴN3^#7$QLZu%!^AI1)91C|GDM߰A7Y݌:֨n;VBNRSq%yo|&5زgt1cL0o1Cٍe^w>½!6jf4K	GzidߴL]/y rEF~ӛUQ@߉`1qUwb\L(bY%)
    ZRlҿ˪0-WiUФIS+_!y]+r=`'tv7{}1{\ǃ$
    cϜZ;
    ;usg,kv۸U߻|ozrPQwGb
    "]lɵ\{h7{‡{8ֻo=`#vN_2}N$sSz̙Z	6t6@fn:6i!T$"W8=(}mZx}}5hKż{8P޾7yƾ7^:8,B7l{8O<Ĥlt	jC`)7a9Jl6C/?4gZ+q+IaɅq&gw.yEZEW~q7K&*/:;,woܳeCk57nug͵&շ7ڱf}?uP;o>r;N}ztPu]C<֘јsUۧ.
    o bo?7gW ,I$Z*!N|˲f<s&|헪m:?^KgzQtc+kx>7n鸧H1L"bN65|#.hd
    `/0뉚]R>[KR;tHdNkVrh*<;?Gj3 d4	ьi1;^Cg&cPSV9y8xqcn蒳ѡϷ]j^	閪8w<:ml튵ݳGVt*魏7Ϛq0Jg!=B_Sb>7LS*J&o#'q&]+F.O	s!qLCDktK||4cLzbU[)3K!wY޶oXq¾é	[?b(\5La乖/{satq/RˀƓ/=V!疕	rR|BDPxt|߳eg)VA"#^AqF$ڻ"db&B%+ձa6U{nm0YoM}4Ғ|y|*I{6b=}
    6d1yݰ=s/}qU|gFOS1
    j~;q/^u 5eZXnKDkc`LSUxM֔v)#(&:!PUԤ:ˮ>eKqGe6(ABO3cC~QgTh&*F&ak[:V#UJ5.Ugp+*¢*f=c(ךW1^4٠.QK wƐetC<(a,zB0V<[M>CwUc:y'܃i9}^< C08C\OPE^1sZR5Hvn}}n6mpb1,	P	؊A1eWv5wǽ#
    h#/_]ps3:u8ifٟ>0[v۶DY4ag
    "DR9KvHR]SPŷzJƛ3в
    ?X§)VF1Io0O%eœhyw	xA;2ބI>gvz
    _ap^i5ҕp}ϛwJ9ˉlԔV4W5qH>.{C[|_B>N=^[r9^5bUΙvJڂk|߰8NgNJhJ,JA9*rDx0s{P6_WFjpm8Ϛl#)ku?!ḰГ
    V{=ӓi3a3	`F`vin`n7<2n7unhC"$T/^BdG#yYl޼rU 5) 嘭C/YZ,[,rͱZhXqE~Djŗ=kqW[Y$9.v1rqj3܈m7%q\br2:.G!D8<%rըרi^`:X+r:]<cr6 yi䜂?DE;x6@KIhu϶aںqV-6uU;V3VZG>E
    ;B41zb_h
    {b#g¼p9t(J8!RY'%saX{D_!"8dr50.&ʷӾ6ې9p:X	qw3Ϡhu8eD07D{ s&ByfthsȤ'7VT
    lL./!”.75^FV=.H*^WR֮,_0.iW]ee+ܸ&wo]MP{(aW80=p\qZkք΁w3V]"KfEJne*kT7*>q{-ȕ*LnwWXr. ҫ.z=b69bX`-Q
    @w?qmEp_|#KWW%eB3µ{ҷe(K@ږ˃K{[@ Ǹys0df		Q9)8{!p笯k.U}>}kk׳v@՗.q٥W&oE3C^?C?G[۷={b<}aA uip(uiW2JM_+X	^]"~ǡ@)<MN=BóM-L!mL!]}c@ж\%:%Ko`**|3*]I˰@uXK	{(|I|~_ hq% A_&A%D̠ڍޠ-hCxB>Y3=8:Y7bzS8?%,S/ҋ^$(3HݝH
    $#BL*f@pO UFٳ\@ݟ e
    
    EHquAo=SgDQ.b&.{f׋w	Z%0.7s??~u?sȊ	'D;FFEl188:UgFͯ_6m0cYV7wU֜'706L6rh+FZ|T~8155ipMVOKZ۲s6žbD
    K읁;!f
    I5k%fpoZNK$p܉7&x8"~}3c@qL4GK2m
    L5	TNy#4I <1BD,5X
    ay$yRcTPYLєPZWfjzA3*SUs(go.KZ!Jڊ&A 0%Έ-B:)NゝKgu\6߸~-o_wSg+ggC.f$]HxGhc
    n@dV`2]zuܸVJhsUW+w,WD}nOӤ тf}́Rj5NͧyO8<lH.6N;@{ È^x]8!Dh"=eN23x,>
    I$,>扵pB]41+RKH)'!G,~%!z}< A
     &d!t2B	&Jd41Q4yAI@6d=c2/c~{V̢4WwvÑ@|']_41zJqKOtT)j$4+ӎ0KQ1sm|~2k5oZDnHg
    1,:/X9c^k4yUzKqjNo6yu4vg(tN')&]tjJC!SF4!H!C3Ą'$O={bj6iA9CN@qz|jP8uMn˦{n2z$aF/K17~;D1cA2=|ɪx\T>m:Vb̗o}Yn[7}_Yj/c
    7N\vu؆-5\ƭI~ĩ/,H]>|xq"vJϠ
    |.(D߼*+੧R\N?hp;$OUUӁzY&7uj^c`+)4U3ұsX&:tq{,8qd>IML]Z
    EM1VC9eVH꙾rJ	XEE
    ֣o_rUxv|0'5#GTO|x\.PިDK8ćGKgd,Xo3.A	5 $@k37_ c%ByN;IpMhZUTM6;$==<RIR5cX6IQ!3;*j
    n^JCCYzAHElEz@.Y!ᩡlI%Y@Գ2+^D*ԿV"h2-0e򽻴2.tKUr]Uт@@]bҿk5ԥ-:TB
    nz҈܄
    n"(E.VX䫋\I^X+PM2q2$E)2(O\"DO}Q
    :ZB"g[?kDQ3[]Ь,eR*7jw킗ƤwFFP^A}AA=pQdrעļڲ33)wgys&p߷W7z0	D{satD]3jA%SVW-80{WtNBD[|D`-
    BU0?1DɠXTFvKR8|dO2iMA9
    6ز4OIwI~y~4=:"`h0* 64`F)br#!f"G#jS1s2_F8tr}]Fsu9bW&Se!n%~g!a?FD[&NתM8!
    !P+:lbmVֶ̯sYD󂼊%tH@`u*	za-N2T_⾗+ZR>Y-{=MA<ɭ;S;xށ>\23['4'͝y6dF[Ha,rTH*OQW/JUZ<֋puBL!LHQXPu%!]Dkաm[")\0$R.w`бsZ"ebEVŸ]ӭ(8&t{+s^7{lyENK5c5*.J`sZϙmW'|/w;.Ѯx`mi3._#,9bnVw~6(b#0֟dD0Tپ0)H-^L*KlD?t0̹Ep|e,uO
    =kvg8b#+6B'G|bLzpӓʜ%?ϔO31d~rQ|ϻ~!*LGZ<C-%<
    2ɴxXnW<{;dmKQU&!h9W!sDߣ7#w_@'|Ļ_oPF>K*5D"ђb2x8@
    Yx
    ">!~S&JZ4O>ˑ!ټ;֗ eMkd#+MO#@
    *)T=/9NW
     	1ńA)_$7">sZ̔JSrmXē`;o]5'\G] O3`TD.ķҕ'130#nCXoa.&
    aH%
    &
     )!i-{`D6P	fӌxI;RRw%cÆŒN^^n[^Y
    օ+p[0-XE=J0#,!1@Q8T #~!?؄~<!vCq_&`f}󆂭t~5d&{ZpNMWd]iV\WBQFID$#N$5L]qPXTMjVDIh>d]2tx9>>]rհ"0|fڜ
    ;
    ۬n-{w*EXP*sǎpj9V8jhJG;H[K·%';VW9hJ
    wTOoϢ1Ҿvire/g}}?\cS[ڲڧѭ5^sZ18x3N]3L5i'O݅$#럍8\|Տ,t'
    z"`Հ4,{K};?}͍^ge5r[<4LLuB	Н/8ԭkGV$ʗ͒<pX֢c\?SP{zmZhHZx*RkjJZ;oR%UYOVV*__?M̺vvqRc =80jY3}B-Ӎa{- VTD8h{}
    e9$![N;#gV[eɲ$WȒle٘blf馛N$@BO@R)0KB
    A84\KliJl}̛7oDNOŦt^'`HT.MҀF-'
    =I$ݨPWشY0V3V"ར4h=sF1\U	l?|U'EX^*ՓbhV
    |(S16mZy|^v'`K€,,,/_>_G_?)egΌ1(;	xϯMϯ}Bh*
    !(0zOެGvJJ<{cyK1qA|^t@K9#72e|:?\}c`G0%S	вO?\0=C}%76
    OuL:{gp1`]LKXcr,w'cAL /?d${mX3x9OC&~ϜbϞ/N	W
    {C{m߾7[5ƼsO?ӧ,\x]!.gRښY:*doarrs3[{VEy>v[ˡoXM@Z!
    +VxV4Fxanwud<,>8d7[1j:pBZ~f3B5S~VrnV
    n#~0,/x聞?^ԙ3e/]wuow$3gbj4ר7!*FyjgQ;9?2~~hўtO:)t='݃==CuY4$[:,	tBoEԘLoHMe@-5,Bo;{q^̍,f4&vphȻv)"<
    '*|0Nز0[JnEE.W
    :LD.D8ߵ?ODPI1Wes烏8bavzigk6~[~΍qD>MfU^OM8Ru6.x~jTAkMgzև:j崉aU3iPRtLUxY`(@|R*EDzgcg@
    'uA`2+,vЋć/	DtUwmKbI"et'&d{bDrRINf$U`>[2ThӌNՅk-z*FO<(:sXv7b2uTt\k.7ǻt(?GC߱7N95Ct%igC̉gS`/@χU0>`;lc(|0v0:Җi#!5a
    *:0,O <R|MYJ)llj*SnE뇀`ODokͨCb
    +z%089fx1ÆiaPp_?=/!Uz2,lOZt9@`~mnCNNPf.l/IMlLX\ܗKj)Eu%u*bN c 7kg1( ;p{1-g1@\2t	7D	P4-oo')%z29L5)2<:B&):O¤T]EݶK~M[uN9\[F_)6TVpHtKu4ӬV6_WʧU;(+4%ɤfei^oH$S;C!;竭>N5)D{ʎ!K} rљyVЌw1Hde;N
    \DFChWvπw;ty9rӹp\;>#~`)ahZbizYjq;~\lЛS+rjBkoPl
    )^NA]'ޮh}f"c.!ok岭o<PB{?L'Eԗ
    D	=]*.gJŶ}Bot&&
    e\E^׭{/NK޽DX9#^4xC_
    jK"wCjM{.(,ր+MsQDQcTP^/4y5@^+/'w4}
    Zsũ"`W%
    yGIpC0:E?kݺYɎ+	U"5U@SxW.0pKaX}:]zInN6C̦߾uQ'|䘔UVєN=?v7	9l&mONb{#pG^]/	SJVN\*T-@vfVO!h4RhtLaH\d,Ӏ"F'aKDPo(z
    p=cwd7b]Z8p`"2X:"ŋ׃'H-2s֯{/Ǿh{ThrĐ!CT0b/b
    	Ԝ[9>(^0atvav؀ńQ1So4VxE
    Nln=˜zxϒŒ;ؼѤ$.	)_$1(}5$ӊEP۔&~F̩8ޫ`(1E(ѻ&G"T¹|b,i((18W0w#BSGXK{_gS.ф6g?{i֛뷛⥶v=vlTRadځӖȔ
    \v힁UU7V͋ *5}$2uC0w҇AåήCvELSY>{4&~MjF	%ۇt_O\',}%l)hz%ۺZyIF]݂Շ_'7~U)<2N(;h-Pq]aV%?yyNM	َy[{[h1r#}B+:>̮ׅN "
    	ܖ7Aq0t#I$O*}~TwDE	7^ ٝ#D(%M*6X>$@p^ 
    ")	zAG%b>>T^};
    OǘQ;c-/
    ^#7wVt	s&G'*-#צQ%^M'pc"-W+*m9zLԎp힒{ɑ]}}(b0};ax]t[)Q@]gДvÉ7g㮆'fToJfȬ"Rۚ˫DŽ*
    S?u=95jU!9F9j.4p|P{wΔ"Nz(mW`yخ`ŰKf?~Fm(ȑX0sr6D#P2	='HBL"-0j0dNG̏rF=/tu?"Ju*/^]2Q.Uԩ\|OYw/^p9ߡ%Ԟv%(-FʋkBeNk=vuP37g,	}QįKLZ>:MN⏆/"[I}II}{R…wu
    R_KnxRFmX`HS]}Gŝ-g(KqAM"qpn8o|5Rg1:?M
    N
    1a%O0<;,A[w*
    X'!(=i}&?#^$	^2)m4sDE|gPb2Dq>n.*?W̸x(Ļ8sDSD<\"53PsA907@RFq1xodYХ&]bnʁdbzya(rj~}@8
    	>>4J.]RRŨ2*F
    A6r]eH}KK۔JҡObƆL
    GhN'%+Sx̒jU,V/}2D5NwY8G,JeAh*c幔‚wޡ.0{DxSfѢ2w$F-:WY\D,oIyךnNI	,i)m#YǪjU-3Y$v%%3ZpV򒲗.#cNf.5d$C},KSצIX$fX͊DM^uVJ0Rs0=t@kToRZ$bX*eVEWϕ5T0Tnkޑ
    7&$2iyThF7ubqey#lR*[)IMk\a#u[N^3VqאnL(v\fTGQI7p=3?קw(snYISMg''gaFmL*1JJ2U,O}}]&k9-Di-%}jS*0XXWb%cRLR)$MNK,NcإUdfI$DĢ*$R fLMMuLձK7)lJehZ%V1՛
    ڒS.u4elJ=RSj>rlڮb4%ǎ-Y]#,EJ؈]?Sgz-K=:b+4A|hFCR("F'ch)=
    EjjR7﫧W*JoJL2lXBaar:ZcůM?'-Vxn]mPQY5eS0 Ư_?^:w.rMP	ToܞL"ʛ_b^GS7eZUd
    lX>ͧAGM1	0Bǖc(B0lEguKPpl
    G»vh[!A9v
    qo9b\#}v@04>
    B4ZQ)?ݘ:>uX vn(zHE~Jńs(7PzXx@?n;E)҃4EJACuJyc>,FuUiZ:^{P?cYոOBk3Xt5PTErׁn*~)pDM0;bMA폨p[인ւ	4]Lvky4a.YB\UE/5lbK2#M%PJvWθnpk'`@ɴ`iʌPW8Ġl%t	%ʌSQ~Vpj*$w^#G1i6}"vw"bzrMZښ]].?+;z##Jz~:vvۻ$31~eݹ+tJG;I	mWyؤqk*dƜ^VX_<:7''wtq}aYa#TH3:#CyVZWjU֕?;AY|.d7R]&ODh<*z@	i݉AwNA%L
    @vI0c*T.39R[VJЩ,՜bM1WR
    ߫>EƉN,`õ>U8z/{23Yh확b^āpQ{/RX_߲d8Ȭ6e;зk	}B
    rfq  HˠfŬD	ζ%,Ĭm
    ?sx\j\WWUqCS~mlY3M>qs3`ػoSL4.\剶jlu[I77쵥S4m323ȧꑳlg@͢؏1W%`T;ω
    ExCt#8*g30Gx{!w>滢xi$plɣ`
    ;f7kAfyh3>>GU4VO-HM֌oK<')m?%{[2p;>κK>e}}ڸ0D2`TIHnP(A!6Ƣ2hk}U3Yެșt#d}s|'s|\P_ξGփ$į8;BhQ",Ƙ{5k'ZUָߚ8~)A^R--.fGWԋZGE*.FzӘP.$-J}&\VTTnv?a/'n-{4yʐ`ʡ5e9<4eU斕dT	U6?AX&튨Řf5?MA6eb$d`t%Qp3`sb3NnMSpU5G
    [6CnqҀ 0y"U(tK\SR*1S$AW~gSvtQR[
    %ZԛgXo3c(|:c(sVl`nHz*_~uzP5X"ݫ~P]#jDy%Kj$-v!F~32ܪQ5`.|ap>nw/y#?X##Jw5(
    Nx4슩qV^=~R'Ҫe,ҧXM}jJ-)T:אw3rT'x}scFy7k
    V0\SM(2@u:-YzǮS8W[4;0qƷr6SBIXqLt&t&#M
    G#&t
    ڠ470݆IpX2M LuwDo2`
    %\7߳g
    ^mlmW)sX7ao`BfbnQ1J)?FT7ѣ;C6XV}EBq:ٗzhW*S/'W
    I~F,앀Ud
    A:ɫ+z:b4'Ŵ؉szkܮ.08q/8kYHE>QvŋgO~aժbx.쨽'TY&7(w^;[Ս$\0w/6p'">@'w.XHZɋ(jXyc\X{'Dy>z-zxy>xm˔ۜS^O]Ђ{E&``w)+ySL>cua=$+h)V,7RH֯a=U<35@fF9Ni@6݅LDQs-cr졂z	
    W^׏~чS25$Z}݊#q~d{VF^ުԚYl&'Jk~O V{W|šG&$d]8/vDj&7xҤU떦ʐ3{W(1O-T}2k@NH:e i|},Nj$}^\X,_+Vr{-sv7d/zkuxC499/%Vϕ4]j3=/#TQcϱͫHBw_Ee^f[џ376N3w\"R1v/}}"O{?1	E>9|.mV
    40
    lK҇k|2A?g`f.}WF\[XQ:J1D~NN*(|C^&@Gj1:;kN\	0ƅfӨp?$0oGG߽0Cは/zF4X~dIE[.9љwI` 샧'ab$~+/m`.- Qb'͛"+6XJ̓n+fA0H+l_sʴ!-TdؿOdɜiLjNqJɘeO;;%G'o;"),=K
    ][ g|Mo<<
    4/c遷xj~ܱja>txkla^3qniiЗ1MɎH͌و
    KQj1$ag2g#K|!yeDQLxX{i4{{VNl	Ѩr|_IG$iu,N?TW߂bt*xAutAՏ7Ѐ\84dه&I~Xsul0eZ~rsUJkG
    )2S~mVyn#~chVA+c%YY Z!W1tA1y51+AE8ICo.V3['1;Sv2Q:pؽ{/fb/vܽ1l^:fy%6?a2Gy8rmngô0.ׂ~XnjcpD1N70%p{UWܥ҄oS(آ	v-6=C=s"n"^D͐8'ݿ
    ڊEBTPAEU!DwUIOep$FZo|놪'܈s!}q"TPd(le+
    VW^DlYs:ahI`XkUq&HIR&
    5R		
    r#F-M>/?}DLeJ{L':y!=lgwKsC83jwV˩}.'v
    cUQ)I{W-Ly}0W_훰S%YIV١gD7;;ZX4vhH;n}5>J13U!P3xd}?1mډwER`*A 36?M~hIxY=	28Lq,6h=΅Pt{k0f7?rFR8`vG<ؔkTzgL+VaLwp
    #
    &ɼS,Y~>o~3b!wcE. k,)O>e 1z<gT%5"	V*1'_nFBQX
    !I'P!q`3QltStb‚	/<;ɖ?&%yD,eOp8jb>
    @Tᄊcη歿Zyw~?zEgZsq	snݴŖ'2;͹Gz,>#QQ?_bNɆӍivnjj~w`GS^`=O3cM#!ȧtxۄ~.k:D!,茮?:At$6p9*> bi([nϠA#鰺Ih*~[Dqt珓j`my. 7e5/6u_T
    BXa
    ?-t:Ufr4RJJoE--j#髳,*v>&$Q?㰗.;Q ]'׬=f͚S'
    3rxW˯f8{)VLo0床|`;&ޱ~Riqì^OMNTuG:I.AR(_Mo=pNtMj7#~s&#K(=q0:]pN8DG^>HY4׻]F#
    ÷,FhLuO'zܴ%*cvvd Elg:1hr35kgFatu~ˆm>џz9qLI)U<gx
    _ifmљ`.l8sdg鶍yXWx6ݴ
    e}ư_("/[0:ӻއ6:l6%P,4
    P8u,:N/6Ƿ7.Aߎgd
    6{r0x؋LF"\b6(%D"`Fvpg!b`	_J*eK83|q(ԦJ>WR!&)A|r*2H8%ݠJe[|MojP?C[8ra93{cbqo5&0
    4%eٳw<<` [S7߇?CӞ̶{"yPn)hAcWzZ*yb.urܚ[%XqᏣ605n'Ny'ND~^%s%藂]MLcBuJDO_D~_8;U\W#'soMgC=P9NWǐu0-ת׶Nnk9tz9MF̍("QIS?E@!&O">H@!}Z%?
    ?	qx6rD.L0"*r8"GO5E79?Е)Aֆu)~Q}@l Lrz\'I,\zӷyMڞ0`V+έxFGO_C?ҭm2h0~|lClq槇L?dnOuD`mptGDVf롷G3H	>F`h㖋mpM6\.f/ђE8	:|12ؑ92^
    ԍ5k F?pA
    Иwd<	w=6J@l^}SCGmrf%[ϧgi\	[x,ރ
    u*Ժ0:
    |WlrJi6}w
    ,i2ִi&׈y|[I0C^ymr򑯎i&"Hm$ۖOvyxt)^F(  
    buroQ i7c#RsMav))fDjL(sb&[sdTb1s_7牀:U_UX/ϭXqX@	Й[FAQJq#?)ߺ|V}+-H6aGtSxYq~ㅰVjhW#r#1!w48Q{n/i=(
    U-zFnU5˖gRqw`c4gej+6C9ein33Ѭ1[wc⭽ҿˏ^.L\xK1ms\rGU5^4Z!Oѷzh3Φwyeƹ;R=}&z(6It}	|ZieݲNˇdKۊ8'slj	9I!R jp%p%HZ޶(hʎҾ~ߗX;;<<4kA`6KTV2^4"?K/AnyܵE!JbG*/JZX?3ҹO;OCBp`D8or[Lf5~V;>QqJD>C\K7]A-aoy@]
    "
    ;vsHH'&!zXX5gԞNpCMN14^4xF~Fe21)^p?#fJZRԙ1]顕j3R%i5!̐?B{WJ-sva{>Zi9O?W'+ӼQJ0]zLBVQ=>J}FS*)ƉFZ5˨Vj	p4]!n
    sDs43Q:pӞ#
    'N%;g_= .2I_Y-,VH>{LBg6ep;kJW"u.#|
    ]H(PڰFtoQ,VXSTfAápuN\[;olBMEhZة>g6	%ؑY$h0ggyX$^TDVÅ b$RrIh;,J>`i9 P*NJ}׌.GBei:㳙CB01Z[-OL|9uG̘1G\~;]kLCSYbz	ɪ:QRnNH_X>҇BB),l}U1ƙ[	jV]Ҥ]/?ϝ8i	~%I7モl4Ub5˨5Q7Sߣ;{ȅ0N|v4-]$eq2\Ni%bd.3]@8m@n|7\9+إ29e9?G-n@@RHTlI[RV
    w=bCA9MVꐗ#bPƝ&bf.A@c5Iؚ=>,/eM|ဌb7dI~ЌӦ^@5p|n`LZAŦ*C}d.y<5PU=kR,5D«2+g/
    G32
    S}r.qnƬ(^*pٍ9=\<,Q?"|p)+Fkrxo>.|4߅Ad
    )S:ƦI|*Έ qGs6;^O~+r.uD 뻐%WCAQTیuրW3egչ+HD))0:&pLNt~NmyFyOs[
    `\ky;h_e0@.ӿx9?f`/Z^}WBHRo7z`@Q4ΆбLwl_7^=t=SUZ7HGqgEGJ}9RcjB=)Ĝl
    #=v~xqvwoDk(k.	@@ºk!}!HZ;wg_8}Vܯpt>׵>x4G;r>p<8"d4\:~FB/PGbfUޓJi8ۆݹuM5|35.axnoX0f1K4?szRG|{GgjCB*:m6H}Wu{ˁ6֒B-yC=Jۼ;&[8ի4|rq^9pH/U`mP<=cxOAX^kC]MIh'P?LqAC`S6ħR_h fA
    tL2jXBZ`͘piDlJALxfˮѺԘUА13CO9Ka|{۾Tz%E"˫T*7Cxvi2Vd9'a=zˣVIxF:x-
    i
    !p;m/Yp|x(~B%W~FA)1S~?E4=KR0j*^FR0*9GHgPR
    ArX㲁xkҽ쯎[q-E%C!PL4"zڲ\̛_L#e"քDWTSҁP)ǥ
    `Uo~گ9,O`g
    ^O&WK50<0Ħ]oGp
    +
    *HEL b5pdL_RӥJ`wDcCln%-u'w8_iJqXl0kD>%K>gg^Қ(a
    󬬔H΂l#*~)e,3L],.p`v:W62|]ţ^J+qXrJŰ/ab
    `ݰZ|tyֵB׭Tupm_%mzcNE(OD}˹8%ٛ	/VaMr8NJ
    ,3R,w_V^Xk a'VZ,CL{TpU"2vh{^scS*1b#OQCmxf.{@(*Fz孷A6/Vfp'wG`)gI	%[?hN}Do.ۇ̡cܴm}J'cy 
    *2u=/6uX8hklleTŏP7h:xXhxQƯKh
    :a׈~RF%
    6.x0Fsu.VltOa.`Epv:VvqdE&;HpYs`Pk3$7LXʎ&x9ݾJR35\zMphg>0[Ġ[JNMyFYԏO
    fNȼ믨Zwb!;;kԜ9_]Բ?RpD,V]Zn6yA;SkWi` @]!teKm&N̈ tpTڄ?D!~mR+u&
    Z9"O
     "FBM&AJ&PDzP_N"ce`:PK'`.
    c YDDg:1JjrQU	yH"6_zH7caO2is+szDm^uK~
    I\JlذSG8ӧQW}{Jޠ9Q-ry!pF}FKA
    P}%#2mW2cMK~??X͈gf63F{/CxU~hx_D0	D/(g[~=jGօFtZ.;NX8)˞93DkkpHα6A#}w{{Nޚ@gDvYv,[a%ģ5	;nPs;sZ(xpѐ+uG4߇s>=%s8Vo~Q:Ot?5'f=tgt%_4-9\GpOϒE7s0HuLcW@BT]nyKfm-1V|u+fÏ'76g#wv7
    /F)ˇ/Nw'gH\Ǩ^_9]>3OPh4\JnxIA4]:2p97i4TzYSFMa,qXKAJ9%+dDFرDBFt(LF_2du"ၝE9*D\5A5ЌoaZwmۛF^wLꛆScX6K+5gffgUߛvKsn1Qδƚ*L'S]+ ~)WOK%W'-3YP-
    VhU<įV-"aO_*}3nȽ]\g=tr	?|[s*Z9	7ݶwͥp|xbhd}-P*vsӋ+I4dʢ|ciS;<|ʊ}帤F9}4d^v
    dy֨A2
    -d8ߒS80DeDo[Ā=9io4gpìi5߾L^d)LX&s7tsX5KIՃ<7seajEo9'F^1#L9>kGYܝf^LMR_gSduvmySgOOgr[SFL8JFQx
    u6ʆez>z7Ʊ1ɰ]5CքяҡLؤMf)7&\
    Cʓ'kyD=X!.MXuutpsر^oS*qT8l{%zT
    TOmػj:D.[>*VRnBU~Q{ڞy&W(Z
    ɮvk:	(R,P(
    5\T:%E5k2U::fgR޳!Гd8m/St=Z
    `I;BVUafte	0)/p!cUJƧ7ŀ=d!]3iu+*4ƀ3s$\(RgEmpX7yLCZQgin^Rvzi{U{|*͖::+wiEHaWq9UuOQQ=>mLi\@WicUu`̶V^eL?UITch|58rTVRmSTQ+Ř~cՎ%p"覫!VS`D/\d߄[Vy!UEd…[[Fص¨ACV<4m,i)C;wf\Nr+K\ ֊lmN}W͠޸0Ӯra#2uSǼT!z؊?n+ks~WV_Ww>ҁɅRSI?;|Tɢqj5"#kU++A14rFty+INy0MYcXpdW>q++Zbmbilˊ]m`AZ^Lޒ|Xb"ku~pt8Bfx>[&cf0{
    ]3̟y~&H3P|m][`7TGYrfn,kfx/oK_
    *{t@2#g=/{Lg5S?(lK?òc!_03	γ%
    
    ɰRO׎-Smr;<ɪ)1Xɫl̊%"a 	ΘG՞v'bXZȝ܉l fm"&}GPX9{ΰ&ߐRasfW1^|q4t؍Dӻ'w'wTREdji}GU7c..}!.zsEmj1ݐ=0Z,SqK+J,q&ʹV
    )A{07Ы.B,=1ydq޼΅mIƣ*?	2|*0VB'G!$hBVa{(HeRzq#.Ob{o2E+RGqaaalZRJ-[~[ٗV-Tl"C",zw0gѬJƩ7+fg<Džo*pRGoҟ&%c^~[$[⑩.wػ<Gwąu	aDZ.n&EuFC~L_3ϐv5䙾/\!̫zBkhy8! GJR^ό*_4>Sk6A\6nLz#UCر-Wwa
    HII? 2Pj&%vsh1[M	ћr%݈$wHd~A7ś? WaºG~*|M^nYRo^zzj=#[ۀC^WbHRo0
    sdy46~ZC7{Ɨsݳǟn8d]IU֝{6NJgnys]7,m9F7	|s湟3i/峹7fe6ʏz&1>+aK;i
    c*kپm۞Ρѕs0HzBτ	=gWVOR>#9~Vs#ynIUMR<}H$ո6K.^P}M̓XO__,!0rI]^H@Ld\LӤ)5mbIV-ZP+B35p%oNਟqoD
    6q+uVhYᔅёBVӊ*bKh.8̲6_^ddyԠԘ]B"ђ),i37ܿM:_i~X@,-Ѭ,}pa<28<|{ޝʰ~Ő;,j^-@d.=4cj
    u
    V%]8})Ϸ$'*K	X1l8HH̛J41E!gy,U=U=M5账zGV!=G?l^3B_nevMIYdkۖg5:ñlfpl\Cl;>mJ_$\?7wj=zŊq
    }Lx	{oFQ.j.ZM]ImnvQ{eW`el|cΑJJbLsIR0)-
    ;UM*C*.T]<
    z]ʗu@VޗSޕ53J'Grd),ꁪaWwiְ]"Fs-aאbJ:Dr1I'.J	]-[|:j6"yFvju/cYx|P/Aޡ\(.]VH!O6qrqGvX?$K
    q3̘&丣߹|d:dnI&.BZzb@&[1㹞~_OG>բh^Q|w4]`]w`増s^toǿLψu)VBlNux$V6}yqc<$^GVM)$Ue_y[ń$`xK)J_Sn@6zD霘1-=F]` P{7>0!Mzm)?7?yi
    XyUUêVl9U5Qy,4(/5\}?o&,{w)3]:~@}.m@k&^I'%ŏqi%O(5LA١zjq ~q
    U@JXg[_REJrbrֿ|v e4LECލf?_^r9-R7~'rfna@S4S`@4z9Me`(x$[vrQ
    p
    AW_v.L1@!Cd/;)̡X?x{;T?Vvavՠ8mrqFߦt>_A?P5(~N{'\:o_\zʬc<%}[J5<<_yR6$kj~FLtɦqNDrÄ{ x!E:0r D8ҡhWaY[pq.pQrFv:
    :&!=QΊPXǠ&e":آ}0hԺA
    oU{6:+D޷32-my,ͿH[>`PPtQZ8f	:gAQV*)Bȃ&1^o)*kVy,Z/XV˸EJ?mN+gjGlч|}kC_s&`4l-B!W;ZmH5ƿ+qJ(l9@gQY9O2]:jXڠUPRbTyq[T|,1%g2WZBbhuaI,{bA1٪DP놜z|$X>tBwʞNjaNn6~,
    KڠuXh}y=HЂh$ATgwLa엪͏1axr
    Jt<&5Q)`6/4M%gooj,
    Z
    cMZpLh֩gGdWa75Ł"֨VFm:jYhڴi6͛q4eMݰn1Bt\T1Ux;$1HkhbĄЏH1S[.sKګd:IJ,
    ~~=8pӬٻddx
    &%b(Ns
    ZFsE=Xx-9FTx
    ʡ6usJnԬxO*(^Ffа4JH۷}wI@-mR硢',(1&^D
    +1/J_i^F"5P0c#ۜzw/]=s@+ܳ<4-#Hw4fEEixk!+T-
    m5_Vq&[A)fӆ5,(>,_mW`
    Ђv9t͛Eos84*O{lӧo	LjF/x^ý^&SP8>A&::ف V7C3!D6d!X|y:E_%7gk]&TmcVO#P_3k*"_/o>|1r'X>ҧ/%Hyӳ>Zj4һT@hnu/~LyCaaU4Wi@~dyGZqi$ݥ9pC@&sr<>K1ѿK;JD,~t&@84 -9Z.n}:Εz#dh!
    ǥkO[:!]Y)
    tdOrrvP2+2*TEڄUjPBwKΘ
    =|Ǥ<3n魠*ڿfMhsX>WgON'$u7tAұAqh͌̇D0'*&40<BXFFV}oq|߻Gg^äkשGNrJws`ϏUL:J^	ck@ }ߓM$?t^"YSN[yļ+]p}LFY>HCAqpyM?x	MzA
    >Dm7r)y蒾V͍l1ύ"wm_\s	ɬ?=OMfR5UCԫ{GeHa[y
    =sD RUW%Rd1'=uR(/_ 9ַܺI
    "%;0ݎb+MG`p\{?sX΁RKV7M3y>
    sh)wdcyt\̌m7x5~ngl4mp‰Ѩ!k	ԣIdBG4CBs5COYbjo۰8=vMa./lnMqfJ,ias2`0:{Y),fs~vAtT12?+E1VhcO=B@U
    Xy$c9h
    hׂU
    ׇL_CAkHq>yJ--?I'<TJ#2v$d1h0Y!}=nbJ0dN݊Tl_9V9Jkm{\n.ӡ>AB0fsfX
    |,c:k;u>CvFގsZLWTxc`d```a<=|EdՓg_(ETu=O'{?Law]+tw^nD.}kzՇ쯍U}ɩo9:΋;FШO;XSB[xe#2UoاC??✼	9Xz{w>	O3E*De[=픖wE:seI5oÞR݇G=SBPs|W+Ⱥ	}[0l]1V~ٴFoMr;'O^gLyhol7/ӌrq3}=vCCHF=ǡv@ilr.r4CүVldV¬L[eN0WԿoϓiosWwz:zQYY3RyK >?+#B|Jzj6]@UD-Pv>n໌u;WOMeFYг\l@*!u?'m
    '18>wCÚ\fMc}~5lmo,.}Yr[Kf\yBGyoC[
    |EE@
    \}d<z/
    |x{TgN.iBdb!3iMe$׹4M='4ri!e}Nҿ1H6dHAT8T*
    HGJ%K^
    2	RYHYRyr*УBTq"(*ѯTDSTuT-Iz
    jpE/N:R]ɕWgKnl7wSGG{oxDJ=é	=Ż7,5w0@N386C&9^5;J-H~i	>j^+zOPu//wR+=q v@GSLLgr_:KຈLzK[w˘Yu:sGXK˟Qt8;*3	s3=6(T~G77L4YCٜ9񜋮z]%q	ϖ1TeWe}(=drwsoWse
    \迎$H}nEc2pϘoKS
    }woZ{/o?9w*z %
    އaa/G|wywᘋɀu}є<m󐼇O~p)>kyg{ü,Ǜuβ(MxjAƿݤMk`RADݴ7?MhbW6;I&avk_@+@Uo'cBMH7g<dE	,p?-QvZ^SJr	/gp}oyw/xGY:wLƜle>[.1[.bq-	uyזK輵mwfyx~bbЇ1BL IvQK^Ik&LŽD0fb`0(JfRMdDI/DK1Z`*tMƬ d.do<UڨUڴMr;gzpXmk'F}FUF]=j;௲Ki"bD.xB$dy&_jQ>º\ՒO-9"ZmWj\DI滎SidIΩ+Щ})dG»2']ZJZrl$;2VznM"L4R+_
    ek=~^^8D9yWy1E&ϋx}WtȲuUb'X̔ؖ,O`ݶ5- 0̏1}̰Ls~N$ݾ}oW))L?nJ].ucԭRn4d 90
    X	ư	l
    l	[ְ
    	`{v`gv`w`o1P	`8`8VL¡pGp
    p'ppgp
    Pzj4Fj-hClX
    ]p}p5C!D0·B.KR.+J
    kZF	n[V
    n;N{^AxGQx'Ix
    gYxEx	^WUx3
    o;.x7!0	$|
    >
    "_/W5:|	߂ow=>~?O39~	_o~?Ÿ+
    ¿/0bpXaQ\qčpc7psĭpk߄v=;N3n;{^7c	XAMN~?Ax0p
    qgP<#H<
    cX<D<):xgxX:6
    [ڸ`袇kCpqq-x^x^Wx^x^7xތxގwxލxޏ>>O>>/f|߆ow;]n|߇Ca|
    ?ŏI~?E|_ƯWku~w{}?ƟOgso
    ?/W?_JQ2i
    TaQZFihcڄ6hsڂhkچDv=@;N3Bn;A{^7CST!LM~?@At0BhifP:#H:cX:D:NST:N3L:Φs\ydQ$E-jSlZM]rG}rɣ5S@!E4G@ΧB.KR.+JkZFn[Vn;N{^AzGQz'IzgYzEz^WcAv#(ot?StZ~Ayb:
    nN/vj DUϝS۫|\QHn
    vr3ot<ϦjCҾk5|lIuw9ba
    G10竖N^O踍nXouܾ
    
    sTSM!ˮnSV\ShKѳn~mX=[ڡ؍bZGNXv3Y_sT+N
    _L:>WGAhӲo{	NwG[VCɩrs#_e=oNgy5YVS&ufLD T^n5iY|^~Hˡgs;'MI#I3>+7A:p}=[|y-N*y.orJqQYX;(Ck8>koqDWpd5E=qunk6t$z"cÎ|١(S	cJ)0.Geɔq:-#$Y=f
    f-YVtyXKhQ]ԗH
    e_`~(5TAFֱQijhr&|`DC	{nA9YH61G&Ύm/%	iźAJcO wtCŗ^l4b&ψ8WV/g|%%Y]%Ԯ{M>ɏ63Y
    8Tcx7V.M\7r8G
    6CpWlЋcS\Ha/r6z#^`ޑ5,Q!^ߴ]&h#*ZL>K,GҧK\w>5]-2䖠qRs#?Xb9Vq-ˎJK!	<=
    "4sύ=qWv/TKkXedI$9GM7\@&SJ5H⁚+C%)RVU)&E}Uc|8L
    h,]M
    hR@dVui(KQIf)EU	)4>&<и+RRb\kӵJ+	$J+	$0, ʂ(	gu!в1tmZ&akEX+V4tV
    !6dZC@2dȐ0a
    zhL@fϻ?PUTTPUT*4US^nHKhĄ EE|Q_TEE|QĤ &!L
    bnb܊BLa)$EYU)&)K2!0XKb	C,aIIHJ3bC`1!f03bC`	_FYeA!0ʂ" DzC7DzC7DzC7*0!!!!!!! LA)S,z.sK"!UAT!"!"!"!"!"!"!"!"1)DC"JU۴41kƙ")қ:&]2XbB
    3Kooooooooof)Uzu]uYzRWzB׃VzJӺlROi);y4ҼSwJNi);y4ҼSWҴּӚwZNki;y5ּӚwZNkiͫckIҌѼ3WGؒ;yg4Ѽ3wFhY;yg5ռwVΊS&5&դtVj	view/assets/fonts/fontawesome-webfont.woff2000064400000226550147600042240015120 0ustar00wOF2-h
    -?FFTM `r
    (X6$p u[R	rGa*
    '=:&=r*
    ]tEn1F@|fm`$ؑ@d[BQ$([U<+(@P5`>P;(1lhԨ)YyJi|%ہ^G3nڕ
    ͐Dp\Yr LPt)6R^"SL~YRCXR	4Fy\[7n|s໌qM%K.ۺ,Lt'M,c+bׇOs^$z.mŠh&gbv'6:smb1بm0"ǂ*Vc$,0ATPT1<;`'H?sΩ:NDI$T[b4,μ」bl6ILi}ی&4m,'#ץRwbu,Kvm_-\HHH?m9P)9J$ƽ8~;rn=$Nddn!';8'N!-Jʶ.X=,"`:		 {K!'-FH	#$~Z_N5VU8Fȯ%PݫCp$Qrʽkk3ٷ:R%2{ީh%)8
    ILK6v#,;Ц6N2hvOOt#xTBfq^#?{5bI%-WZbA^1n5צNQY'S!t" `b3%35fv;lά9:jgf?grpx | $ eZ($w(ZrSv+ZqMݙm?&s[tSSj9?|
    >G,bDշ^^:l3NA`526LpS	Aߧ/U
    ֘'9\Նt!l PMR9n
    `(@ Hy)MdM
    5ԤH'ґmSuo9 1 tØuc@]KRbNv("y뽻{cscz&p5,jn kN!.n^Uu@|?v>rUaHR ՑI
    DˋQ~p
    ܍;;nL$t	:	hFCYTOFNN~}1"`a(?H \u0LԵ'͔PbnmOJl?s0,8xBBF_RiZ~e#jwhOc*&F6Yq{}?>u.4h%g`& )R5H}ˤkܩ'JOI_qOb'HǟBYEM6v5NJ
    ONFNx(1:\߫Ckcb8Q	d[L(el+2u-a֘d5;N$"HSFo2i"\h7IfN8qx#v
    6um	`NM-J\FrDZ0#'ꥈnGjLچXʌAgYs*Y^ٵ;"$hb=ϛ0vH-.D܎Yd+^{Cm,@N<.VMS+\D+R|6'q\T9DX<$p"酦$ҷ,psTbNkI_`
    FWV%w~DԐ*xiy[rZ[S%Gs`F<ㅣ V+!+؍9ykfb82s}l;[)e$Tk)v9{uut޳@E>|C<\4%Rv@׺C8\~)#k|.ao00Gq0%hp
    L"+>%^MˊNsq=䦆K4r-*%h#%;pP馔hC=
    &)baKL@t!~2S]rYlZ63ўJoOV;h&gO5RT/}{AZ&StͯPC0D,pbpзz) ]I>Q\Bl"^3R>r*C>xPUz}Y=̕}ж
    
    6-`/"H
    o&DI0E2Xa-{5<
    ,}``6jiim'w5RF,ч%SYWh6L_i샣=i13YI7NCpIĔ(r0{jrKТo)l3naT1\IE(m߃Dle$ÅwXU(@Ma"n,*vG̨x>GSg̉"Qvb0*zPEyɉ?7$%GpdY&f!a6|);u7#34mJij
    oOpȁv8jx(K/ZdxŃm7V_\fL7pXzH7-,(1KHbe,r-pL3=T2t2ټXk:Z5spSsT:.]D"@-Ȇ!A2ɶ-F}˒2BǃQ)tç|#4|\㨀`fc,#g1:-ty ]2Z~.)nj%RK(y`8C֍zK-N`^+n3ϴT3tQأ4<>:J0È%ݑZab`vͬaT/ZaޝГIi	W1_>)H"p|7mF^Z~f0J^I3V!{<+OeB#BcjL\-Zh[I<qv~k]GTD?S/-%ݒ7wi|CIqwcWx /7xHO/o]G]y߃#7b$tR$ ]a7FѮ,n!rI|28x6gSh	R^^D.xMMS?漞'G#~+v4d!FyT9-fVa7hB4,2Ɖ&vTHMqp4?R\Xa<4@MiHD_	EgRyMlTؠJݮ
    yc"HJ, 6u/ڴyVnJn۟H\PRBd|4_$k.w™IpS$|}j9m|1ߘn9395qS|xW9BVZ!mK/Ln;iu$*t3Ͷ@}B{Yԑz2Ju@a\MR7odze7/$4]^2kh$=%1IB؃ H|N.[M\Lb1Mg:NV._0,+,ht7l8s~IV^
    N˼Mؑjك-	oܮůQo[mj=rm>~z4$M}z sh""u7V{RûݦO-D9V٥gIʎKLg۶BTP'K̦
    qW֒3ep&ےLhpNaSw
    &;e(,-7vx-w$WnXUt8Y?KMctY؃p*Շ-БfL|[nL
    }4{5頠3᧌n$$,+DNԄ-HV>HOs\-;W6NM8Fi;7k26%֒a],:!ʲڽE,{UnawNg.I9r:jFbKΨf)*cG5-kb6UЩpZMO`$WDyA߻[4aJ?fD?=d(KD䴱:D/[#$A#KH.:x?%Vr@[B$}coS6`LPfM&ɔA<:vÚ
    Q~Pw[+`+j V+R*ul!|+'KY66_ud}_[yuۘjo$Y=yjRi)bԋLaD(XUwIڻZ$7ڻ9&4Z'DF[N]~dD?VQWͲ}vS>Nm+SqHaU!ΒWb_+UO]^l59	@1'A^mo:9ףs-N:tD-zkSja4rczFۻ ޿xv7[äC8#7p5+ ~*bJJYzֳw+-p/LL[cgnlcaPHF$}9`\
    83Ym1b>~ƽJ؂ϏyBs="f(zKM"H`wcEd:b86(9<clݘ/kgG^ESE)5G_^k߇v̚}T3;6 WvTCP_k._eєNJL{T!6j>h0#[㗚Kz,!32:6d>himE\=HZ+{6@Wʯ&lC',rX !8(\̭2-P8h@C4<~Z7j%)eeFpZ'15^6B3nco#~²qR@!ա z^Ks]T@TNT ,S*@7CīɅLiQN,	#:RѪj91-YPN¿\&yL8ӹ&0cvƉ\JA;Q;]IM8	sMf?԰Irr!K9я8p}Q콍g-*sm~XP0dM^?DdIm8eCN}cà٭$s7ۼ#յR{b4vMql)vOճjְr1f4cs_%v%lKZNi+V3'~NMG@HBb+vVFq@ݱuKZhp@E0uaSXdUK}ԯ8GXKiI%uR)EI-ږ8|1GΞf6Ȁ=!KF6Qf[X~_j\^͋^k`DsG]~㤛yo};+i%N}Q0ԥUu)M[Z`"7
    ?/[C{l)$Mr|^	a:"֊a	l>hya{2>CPL j?ntg]S{UӇ('b'fg0ӃLPAMtd)2úY!v&`o2P[aޔ5S|#+7J
    #ȸ_dU6#VDB"K|)otkl,lU)ݹe5OyUAt2_n53e*1v(K_HvVʉ3},ACUƍ؂Cuti-]`7]R
    !zsNt&̉̄k)SL̹y7$ϥDJNd"9
    31 IZ(^(
    lw6
    /@YB^}OT~9cc]{)}D8${yc,ʤ{tAW3zHImD4ܤUT3dID)
    I۬.d~[-K^2Zc
    8u,Y^\_ԁ_+cJ$\2:ZWbBw=[1'NYVz4;(fzNUf(p֙!x#L=#ŋThnba˳",T\o!@@sN%|
    tXj	j	Qo5oeF)o 9˷:h*'cJ孏[{ȄNfnz]8F/|1vg@J:YնNu:dhHo
    tM`R̍Ri:|N_P"B@ m`a:M	c2Ũ<ؓUOS\%a\Apꄯe\A.̰{wǿ~6	;s2ŋ`W`TyPgee000}/ǔ;h[tGD5^E#hȍ:f?	u3z0ڎ$T^TAhz	x
    I{5'rK
    zo l֢,b89-:G|W)bA5G<*ٕ:ğ!]gj~O&UN뢹8 g]-WW(WNI3Ngr3|m
    m'=[n힬M,?$HDD-O?5uX]˓37>*wg?*!JyT@UgzI_7&\tH.YZ(4Y'dT
    Fs-qya7
    [67K&J/$c/x[ᶏ;Īz1Fv]G'ڏQBSOІ$y(TS-;hűzT%Dts"=gwUuD?b$Zr9G<&Ña^2_Be;b~փ)Ό2j r8]'7
     bChTd)+mD).51-|Yy*oڤL 4A她=
    T@|X$in.KI|R@P@P*ak@۟=I	=l[ג"hX0QҜf˒펖c<#9`|cO}$o>eX<`,o_K3p{YAn[9M
    T(!"?Z]iEmĞ>'{Gt *~y`'A?٘#)o($ȉەLvYO1o_& .mv!*)$zmrt(:GGbeVwi$CO1 cZZ0G 7z@Jy~p)g,gYL.$, -<k{yc*02/q1gKM&R<7xCy[Mʛ
    #ͺDya3\wfwrFĸM]\NsWݍd<ӡW064tȴvȻ0>ԯ; )f#*	2<h ~'BwmH/wqMogC)̵67#BS>_-[L|RRlQ}\TH)
    9Fa"^bA:ݳQ4' =sO	'@.Y&8z
    ,i73y;U}p/IxVxilFZfhXc.bB*|&|ge/kuv\_HbdpG/A}㬬'xȜՋ;E
    !Wj{ZI$z{Op;x=׺q{5l23O=@jj#GYTn>&ެ#CBϩzLuylSaa0LTv3,2
    sdTrU}El1z`Xa*h{qiuU\"Lд@TXRUFg]sE5V0X/ukzB'كJx	Iz7YΕ1tyΚ_}|xm[xJ}zlDVrcsdsqv[&`oUl?<jC!	OeqB=J\`Lr孈d1MhowѹKiģd*;^ҋ$xHUU`]GkCꆂOQSCwog~yG8P{{H.$6!}d4,q>`llUMBRPe2A1RHqlBQ$W%bhBÚV@(?FAQ}dl+bNIMdT"+ƌo0`89\|5 ޣئ(yjqm(<\G	2dTP0$n@
    Ē!X㺕Nkճxikiݝͨћ"0?^2XF,{sr_e@VygN_iwq;XED\b1G(RsT<\ډQ2tT	;`[,AkKbDl#b8,]i\|kCxLq~r
    Ά>|žBab?aag30(	j"FA*{ߣd]ř+XHzsZSLu:˅)ҲnJEBnS>Ħ	mh,RT~}9,	/.H~!`ExOۖ mwIl꧴ёUzzk**|m*.?~
    chp?eY]*H|̛1e?V;	ا	2PQVlW6m5O3'^x,ҹa)TeUs10ft9T{!L@OLtǽ!^L!ti ^:CR	K
    ?2TYx۩Fq#0
    <hѭ)kesaTl
    x9d%+b8XZ ;gv8n7ϻa&^ob{w	OO7jϯزΞ,~WYػqÎzVoλg'5("ե
    AӃ[:P|Ӓ+>#2?$MndueSJ%e؞~Uq
    ޳҈zRnп,7˱>`
    /uFgOg)PJ\)Xk VF"\tr#wE]s:Y#n8Lm"6D
    VġH`Q ௢үQkG]<2N?U
    &|a_G܏}di!:`Ⱦ[\,Y]JϹߐì~OA%>]2Pl5pOѐ[ʀ4O@¡,Ҭ-,4X7-#?3{M·C18aY)M"ka_=4JqM?nh6kɜP 	2;3g4ՍZЦөGZk(mpvriZF}i:/czPuVQ9E&'/v<2ۊYQ)j.HN11sʗ؋{
    '|klT%1ꪋCgQUJ['Uֶ̝ؔ{81 rnҹ}
    :,й6X7fe'
    NM2p|4p6Vn듁p&S=[- ߞ~NjIY/c`YAq6-Y30#V~hsEPT;ub6WD#N1o>)ΘCx4$/jl1
    y./,Rr[YE*GЕKm/|7SISƗqF㍹6:cVs@w+k1caíw0:Y5Q"
    +g"%*2t`Gݴ
    f:hN33^~yө)o)l*H-;+|+[-ZGXf~Meb75[	Ho}pi8;`$7~Yw4RypJs}!*Yf~W]TKV0Fyl$"\AE?W
    ,[b0q.|xZ/ˁ]P*4$*(R7L&`goTܑ.$V̇hULHnei_"o߁e*mbD2u{ݹш
    ߶\ؿZDܚ
    vz1UlRl-wk2VxՑ;؀400=ԑx~޽ګo2RmԔ=_rZ&ן/߸([C{%b[f.\l$}VچU*B3lRPf	d'GLc[dN
    %C9X5h_
    cҠW?+`ރχ#CBW'B~cb
    5~}`AE((r{2me5
    t>`vd,p*=ϕƼ' o$ݥ;f`̢tɟJ$HZKԊk+LmR21,qFp̹-J%b=gV^y~׼0~-Pת{ƛB2XZ?oG!xn.}%}Oo	_?bJNv$bl;z`&Kx^]"d+geI2 B#(ijNN>SwFW|b	WoW^\q?1>BL/=iR,cykWZ)BUkjy4XK,
    3
    F9pKuշq@OAvyG4.,m#D"^ѣ8lQZ1C\4oJܨ힊dD6h[|L]V~.:0z*HX,Ͽ7zUQNe.7$:.0֣Mj9g{2ڬCO墸N٘@.W1Dz[[M%V5r!4&Ur
    s7%yNJ(?nYm"TCMmr.ݴ{bSNT]*}v`1^HvNoUۆAS6WOىe[(B͝to1bϫZH{~N}Vˋٹo<>#oTFD"%73.(?f]`!1%UqL:蜧ϸ|@8'+VWu۠0} +T/Qnl~c{pa=V:#vm~1t	0SPH]/jg/!{/c jh[=U@ʍqIg6Mmq%Y8dc`"Xt>"{riPO?0=/9FnV}OY[՜"I
    {GEz	`)ӇrOoKY꺧S4;L'>cN@8 ʋ{삕zb8_xV(X"]ΔěM6w,fgf+͜)TJUt>
    -]z}o*mGŶ1S<۵&:QzHjljL
    F,aY"'LˬɴbJp{6իh]m
    E=~fFvE`EWinux8!GVY??7K^+[2%_mwsZMZ?vl9fO{,'9/}
    T}6VzôvU[dT,_uVE+B:xaY.L4rP1"nj[)Xs54 4sS6{(,kW
    :Dm3/
    T*z'1o'3ow|Ћ=Y<
    aDm?F_Y3f^Lff'@&M7F0{GTB/fzqc].L.In^Wk(hc!Ȝ|%?%\6Qn*0''Whĩ=ŝLCgR񛙌9V玫؛AӚTQyč&i٣hQJ,#|d驺z|yYH{FI%ORD&k'	(kͷ_uXT4JotǠ`Xl/-ԩ
    TBIjԛ/
    Jn0,ħXBUHhFe%6%/:&zLldKT
    ^Gv͊SA4:DIʯ<!.1?nTzhԓ尵ZBCnI~+sm8T=f!c(KHSH7!LS.D4$~]ٴaGsiK7"dϸ}|{ܰQ7r-ŷzRaV]v4t2-讨YDیS@%_B(FHke%&5='jF,GoW9;(ڤX3z`fM<~1bR6t0luFIj˯JoIqĴ(cǘU@Ѣ#e&Vy(	{̧KuWKeZ
    ^>(wDI߹}x
    ƺ5gYG22&sσ!q\	CP%U
    fbS'HLbi,sF67߼D
    g̣oGa)jS-&>7yCCΖi]MRA0
    KfF=zggtf7Kx [L^.[ԭ>Zc736c͗qw*CCV<])E9)ϛ0lSM.$bASHib%zqݓV޷ʀ7+8{
    \HAZ#[80*r[-swnxP+HElY./k6wKb?88GI.ur޼l9Eiޜ`"ƃȇ˺&vIբu*J\[^enQ%j	?{nW+1ZC	$3!6/SG @4ΌE!Rd8hg?J~u?ZiD4K{j%)'xMaYvkEt,lc:wXk||2$.Ey=x*-LM_xC{t4.<Pr͙s1/N8uu.ӿS_rj]\av^sQZŜ-DuSg6{${r25>,	hcbJ֊?${ouo>ͨvCl(N9ߖQ]}3( z^)(Үe}E1\pB(yf̷HY/HI;,q«=d&T<)3SfV1ړ'vhDn$4n'r}b0DxoVUJgIN}4/|ߥ\$My"j}jib!NӽSBvC9wp7}5q2ѪҴUÍ,鼁I};Y͜ȝDJm[Osޥ$FlX~=/_SLJ&^(
    qwv#	꒎.P:bBfV2qgnٙl8VӅb0aG-OTlO=AfWO׭OJ{̑Ͳg k:I3*zA$̊kP
    `nFGx)GRPE%5\}3۵RuuW-2G%voMk xBuFN7ׂkV)12dB!4
    .
    N8O,f2TiV
    udLzyug’;Ks'^y+7UUOBж+$%O9elե*c@Fc6ggMU_~1fvV5
    -V
    0 )_D{Գb1#Q|k9=?Pocs$&}BoWT"M=Dy$,IN,چ	wIxE6xnCC-,ϕ̲Y
    :y~ʝ،=Yc,TxeqUk*OTq\E*/ؒ/NSUf:b?īHt$ٶUfudH"$2kQ/WiXNx
    r6_y{?2ڽC~{u8|܁Sf+{30`wbcCQ+zƪ\T-{]ξ6Ѯc?8Z~|&eD9qW2R,Y+y<`OwAbz6|]:qZOVgM̥ickJ0=,4,am"RC#,cfZ6RcGŢ:)e		eIr6.Z;P+O)$\wIV(h`z{%fpxl	}onr
    7%ӧ{
    xm1oВiq JO'V!"=$
    
    ї4KS+&Zۙ'憥Y^e~},x'"so߮d߽}{.kTJY;ffjKVB+jqMWL"e/׶߻YfxwI:kIq.DzdLWim]ɗ]
    f)B{lֻ`j~ކ;ā;~7-zAX'tbWO.$GS0Ra#QPO|P[%`C)c"ͽdD1xp_s*5ac]܎*t]8Ju׷uO
    աH>hLkq7gR2,ʪZ]|$CZm
    qX	LrSKb홞%H/w>G9(|vvNnNvX
    N
    Ѐ`p+{(u\ sQpݨ3q\͟$ﵧ;QSřz[jl	6n 8DT}㔨PE	%BWحYw.!/^mdSZ~j=*Qgd⨎0t]q-.PJBp1	ثatl/ypq{~TOH6	uNwY|
    AVrwDh4Kk+
    /@
    @OJZB1[?l{JՊq9PvoY6CJ$H`7Ei)*eK؂Y8{V)bpNv/A%;uh(w̃l}*4y|uV:&*P;LQg*}OW;xT!F[o
    l*KKUvܼƌ٫NY4$Gd+3$KVZF&FuRj.GNۖ5ƴrevvvȬ2MC[)|eGyb{)ڻ.I{l1CesZthɻRæGp7?(dW^=
    
    &fV͞iϟ\G6$$uP=ou87[%>`<.$MtӗB)GjSQUd`S"3ɽ}MױTth?7]iEHzş|-tdۑ,:Dj7lD6٧-+}ZU4^xOݼfQHU;"I{)1Z.@2󄖩b+qzVs^>V[ŵ-5v]蚮c""f\߬<ۋcy#Qj6dr#ȑJ4lO(yN}$m[-|Ԉ*S\ќ臉@@
    ie'm'q$s'B੻Ad).*	_y#z_Ы_{_a_=+䊒ӌϞ'Pܺw
    GJl.rqZvD(DCG&Cر!=ǣz4v($;{2 @iǘupcE
    	hh	s>
    L^fڻw
    TWޟR
    /_IĦM'B.,P-Hj)%PDp2^^w`K֫KPa>ξ﫥jϨg)KSټdGFYG$X`7%ҀcKQO"BաB'^.`";GleԒO^l:Q>45e=[7$ziF\*B'ǝAkoMFc3|Ӭ%v>!]€'!	}:xi/xcR^WICz_`~cVFvf]5OnC?ҷ79']/g}փiUIȃOt̒?k:[>TSiE<7E-N	ؐw;mDu[z+9g_PO$UYN[#jI&3\e4n)Rvcx/VC?Kg{GX"b(6ʛ|	RrI&-Nձ*?2BpEYP[.r?gOh/%lROE
    f N=d&u_qb?X°f:J/}?(u6P"L~iV-g1YBg	}HK24鵖r)ۡ#|ti@@JR[k
    xcE^I2߸dVoqPkZa2H/=(c[lW%icXchPq6cM?}iShRm]6;?'B}gMmǞCj,vԱ>G+zYl?Gܦ*{.m7AT^1D";RUr"bhlqw$/gyRmZp%0Bϝ#4b\q0n	N]M J},QrQ*ͯA\')yz'KdخDWdi@gzu'1\}^qI<>e^h)Q*lzBl?gGZ0`~9/ie+UrWWs6
    g*D}zyn+ህwUӋ։fG%!L[#"h2fmh|Fqb}*H#znV˴]xA 1mk
    	ׂV|=@=OBzPd5Vrl$ZՄ88^Ϗqp(:A6J5PY2		èV'Gpe᝭\hjp1awʓSA$|HE#7ч|p*
    `D]ZB-\6iWẍGGG׮~YJT7Mq^#0õqb0KVot[
    Ֆm^k k-dpݟ^Jd3ݕFFTϺۗ9o\S8qk"σxL_:PLh0!iˌ{8:zE
     Oy/Иl
    ,)GqQR`\J>[ip&Հ@
    $:Q8Bt:@`{>'aޝu99'LcиđHhd͞YGf/	N=Sf0T;WJ& I231kÉr`}A̶d@\q-9(B,vѣALXqH[!f-t|nPΤR^bGOf=+hWD;Kfx1^U]3@jK8{V. "k5hG¾pC鹒*6iS+пu4495dj+KkNqBM++?{2MNJVu90$#dV/,)
    Ak0Ƃ^Fߛn<%Jvq$d	@ww?Rs
    D1F-_E1}zcƝZh[$&DWx&fe% ~)	~XLt˛҅JK//(F[KY=;ؕb~$Vd]8|bJ):v 3RRQ}˺O	kUP}SVxsQro3z2F'֯nN?{"]1B+յ
    ;*
    eO]-N~2̜u%l(Zb9Mh]Z3')9#>*%)V`leY.5*D~-d5JZ!QӦ^fP/fjTXX&(f!Ý^g/j<	/륃S'J֓5V^	ߟ^m{2;
    0i7$&⩵ӵXEOSx5DZيt"hv_CS~A$<@f\;Sa)6C_Ίg0(4i-k<
    #5t\CCh>;!` 3-6htD]SeN
    }}"#Qn`F:>79$lVe~̈Ja%q~ܣ˴^lC
    f+/eBa<' \*FC;|c
    ڀNf!L2i~<[
    p&ѕAknnr틧n&fvnjn-25(!rC~D"`\T'j	P`0iO͚Fkrfuəکj\'3!BIElQ?m12pQe>RwتD.ۋ
    XN#'Njjо4!tK_fR!@棼CJ-jaH*Np@wV[;
    ➄sqHlڜA?y	"j!<U?hk1oa޻e8S1Н䋄!9hI
    B
    9Ko_([f0o!31C;XIh$ɀ禹@@0Wl
    ]&)s64wY3c.Mg^1Oqs#Ms3ZNLMi}
    9U~x~{$6FɬQEi2WvYFAVlVDXer(ZeͰ3)\t5\^"rШs
    wP5f7NK$f^q{"L]z`@DQh6f~hG5uU7G~
    .#3PTV!nژPf6Չ>l6	9@Җ5Ϛ62t@7
    L2	 t'ԯbHԼwWfɊ7=.=bx
    %d?
    a 9epHҩK\ۏ$C%0
    ntv:M`᳑Basp&)"-qc	@Ibk3ePF8ZmUL((qP05n'CVijɿX?qg^:ӛ[[PV86=Iɉ(cG@Lb!ll8߬MvvVbq~/%Ii҂ϡ֣T=!BPS:muvPsϥ;Z|s,G:pHgVuZR>f@e⋮@F<6Ͳ.L
    /)X3"LN>^mw'>\C]9b	Jn)snt__xEKD B	$gYAV>g$%L0L#{&ΝFtd\P=a4
    8"<ܝsL^^NEcvH-_>֋;|+c!8O/.规Jn8&,%st]6(kH6Fq#(ۉ[y{0(^ֿbףŬ&fzCqI<Μ$((h\EDCc_x/E.:i^+Ο1צ҂Ji4@`lxNL$搘6T.?4]X1h|}g8<1Ȥ<@K//5pלotpa jtbEEy&Ц4`د$L"JviljZ%=')8e`8T*M8.w~\(Htvr"jDoGG
    ilHe%ia&9dd>-i
    lMܰTA$VHG|
    $:1Rs\Z $Pjۇ]ًg8`簆 zߒVXݕxrtX/Ap2^[1~R{뚬ɇ:kCU'5n%'CXP06Gۮl[<NscOFeQ-gi$RNo7Wz
    _t"?z6y/H}ё{qL$
    -a[stnSn2ğ@ѷxHNp2&3	fx)WP'h7f> s!;p&QcN>OgdHE1u	{^گV}2@JHS>!~L^d	r5/GyNW-`ɚLJ=(RV2ȏM;:-A0<Ȥ	L1L~.ܤkgLinNdu'f]BsLA5ShKvvn-_e9eV"mB:GΫxcZX
    oyHKgT~cN¸OZK:bA%9C	]oʗw1)(t^?uƦ-A99NلL#A2Yu5/_=fqljއˡ?uArZ]AX _vM1V&P\6X2m7䥱[lҏ'AQ6RSQ}딭SeS\D-wLrTC]ӎorly݂XJ^fo-˰(X3R>\#	9VP饘QՐۑ,aeX#*gVTnqGL(Z)oMi!#ZH.$ɀW\p*ȶ/.gy 9L2p(#Z-)ijjԭ=0b`n0a]k2I)XE8fnDη%8CS.oěNg'dp-J=aYɹبNkY	Ե=fNH^f<(|E(SL\>u4vdN~HN[nDeh/ڈ(21he_ʔQnV=CHEgi~%B15czŕv
    >aY%e&c!pIB
    8г]~A-l641/[\\ZI
    T4Waa8'lxRYNej3:-:G6vad$$`M,ܔCz3!q1]Ӌn#xBl]K^t_@YugSk]OƤ&v:NaLewɋ-hY}:xi O x|+^ñCq%]{[[q"	x@LupՔj-[=ئ\ejq[%^W'Hjyc%J8Imx=C/].&w4D,Ƙ3"z`U
    |M:3Qc!_ǣW(WjqS#f(G4GޗI>nڄE٩^˗nHG[M'C&Ǹ'orUmNݾwJ?6\AbGNzŽ2qXDIa'HVT으Et|G3(
    oOtrJls<;3)YQ`gw8"o&7>cѭ^@&tT}g$}0hh)GTsy4r
     o
    MH;Φw~| !(ad"	-sQg#,1M|/uhR-.k$GK,݅1a=aYPA,q%!
    ONzvN6^>ƬAvJFӽ)
    /ުl̒B3GM'[,n\\kѣ
    m1hmo>!jM0C <埵ߎ\`K|_xN`ǀpWJjHLM<_=CM@Wޅ%ꉷdžf%MnpZ3@>'Md
    Y,BTuJ:o>b^չȑދGx_W`H"=ϟz&=@%ӌHqixDHXxjꄯK |@QTP+:uc}ОTB5ڨ81hȩaFuXLc[nNרxtNDX*N8s7|2
    R{>}78.GyՂOg#Qq'g
    fKY`9h2„6$} (T?}A`78LHFRG
    EFJXw!SKr@EKa2'ʌ%v[؟[7SFjj[5hMt,^i#Coq§ZeteWip_t^*>VlhZQjXB㨪9q7@'[=eH+^їa/G6z<6)yжDHwFv2nF)%d.)ەP6^÷r	{hj)ϰy"T㝼jMUd΂Mݱ[Dg4{+ݝ:<9qAw	L}A=£6۠evAu+U_Q3f?R\0R
    R^ ,VwW2`A	vG<94nX;??*uV0{[4"΂,qӼ?
    p}_gKB_
    %_g=Ih|.ݥąV^1䓺0	"{7ms9ꛦBNIpi{
    ]J :My%uGVցkkpyjp:G]Z$0
    _N+M7Y2l
    @x6q	459OТ}Trf52k t߲}pU\ursVlתa޲
    }Vm~3gm,\7m}-*,EHq$Yx=E_V'CRiND9/Cbx@8`2I̪,!f݄nE8b+Q2쪘CZ^?GVf砱(BIe+9:
    A
    v4RBH zѳy|x֣W?EtFOܔc=1E$V(T}rY!HhQ!.F/
    dիG0;j86t	8yQG/Za3=
    O_ؤJPגIRsZ=|ڼA##su曻;..tש:KIT'6m7":sbqyL@Z,Y	bg,n{O;]ɪ!_"=cӺdij2GBX$|i!*nT%;*^3/cEs4CwLj})<(YpHwW^HL-vpđ@wПp̹UK>1뷀L˾f0pΎ=_!	9q[ƭt-c\
    	@q]CAJpPao|ylN{F*3FxLTv0ԛV,jHA(\xxtP
    R^Sh"HJn#_p.$s2iB{TuZKt\LI%*P={b"UQ"VR}	>ZŊNVݮ-Jhσ
    ^;FQ,*+""00):;:VP8*e(7Jl0oHe^Ɗy%`4Y[eX}6KJ˩^#<ɝI_/23-@l4`P=K&=.)՜XvLfoBG]ޮ+؂PyInV`k-~SddcU.gƗ' 1N0P!ίH]Hf[Zx\. +\_4bOv#v!l,x<DxIN-Fe,/\mdPyIrǐ&$GKKև1qzG!A38̍97U;ȴVeg ݌LΐotpR#
    AD䶅)m"ǛX!-ΜaR_});;6П(o:֔qC^Ǖ۵A=zOb	d~hzn/J~ǪŤzS,JJ#2ŭiZ~_{c]obR:v:?e?	tZ]ָՠgժMk&zzq%UCW\Yڻes7ivZdTVQC$mČkiwƿ#;̋	%yG8@5:yq)|⌬N=Bց^\S8]]?{rW[-+Wq)^2-KK0g4LҼ&OSPdŞ-m>nxQyY崎byCQA)BD`<`7%f"Y>ШG]T}_T,a^&xԠ,v4EpW¶SANⅭgj)&d54($sDBݦxOhXQLw`qnPsTs'@Tz,2J*njވ4_}3יjҫ-%i
    POF?kjS#G'p1Jmba[2?kKq!@-^Y97*o0iMl=ߺ(7g_ǙWأ..
    pk#c]@qos]vKi]C+K6-/'S{VF#pƦuO&gzutxeL.vsMfџ@/)uA)0!۽)/Y_$mU?S^	GqVċj.vUH0mǕ*3bt3($F#PhzZo\d沠pmL~LjbmmK	qsN"Q_Qh9	-㳟CUџO=ކy5YkN.eui#uڒࠠp*!C_߻3Qpazmg-	-k
    8Z莧YPdM`TGhѤ]:dVNvcW:w|kҁ.:ӫOڑsw pT%z΁ه*0)A&3PPQ_i.-Z!%Ttf3k״+f66mPяH4ׇ2
    umMCͥpm*Y˭9_J[.9&,rHi߃8Ʌa[Nnx	J#u:nY}lzӮ^Y;zӉ1`7zv/_眓{='T `Jټ]ȇU)K{v[՝y`-0-?^[mSƐ=O#_DqqmR0)
    ibJ}I克WTm
    Aj/bYFNGuc\:i%fU,pIp ^yBcx2
    Vb6NdٍәTlW{tĈT{S/QYK7#pQcGogQG?e<tJ83YިF^:̊|ʚ8`r}QhF4뢺j":k2;k.,&zTIFTy=K;pr$Ѳ8f_TIV[[ź`.N0U8IY
    D57o-
    !mv9\/KR!6b\+'Ie/aFzͷ{P|w4ej-t۠^\SK+'JRSf4Ԗ+e"Ӄj\ʌE.>p!\B}vچN!"fR0rG߻* /J6Mn~}}<olϸpf%n~WXUlA!ˍ!ӫ8iD*z3@EYoJNC8f,R	ƏmwE(iwLe7xЬ2Lz B,'\n@Oޤlos4PcXY}tp-	yC&z
    Z`7)T)0jJׯ$7
    ۷oUckwY;8>+g6w&$>ނu>
    VZJg˿=>Oi]@QYOƽAIN%F(Y99JC4Q@J9u3p=0A1
    ,^>(HRBxLԇj-ap37ubNV4|u砋alezJ@5yCQ@RRqO¼p1Bj*O|O,0߰ʹн,u
    Hs5IJR(+FL?Fh#~J1p)O"-Jq
    Ƀ7u6(ۄ!P@>Á1
    &'s3هX,9Y|sACEvp|̺%37_*xC8
    <"'"G!£V볩s&<6D-mttzq5"mJ}_(^m'Vs۴F>}*sVӇ"m9oq{o!<]w@a#aYY}i|#r\I_ߙW+"푎Nܞ0|98ֽ
    .yfnsˡb~p*5E#s
    vN9>cQG!Ú8Њy6&-2~Q[aṖо)5_[z_itb(߭O=C/P4?9T,1լ9"fP]SԜ(0v4sJsbnQ{}#@ɏU^R+/6'
    Kh-Fs5XޖXyXQ3
    WKb"&â{[mpZֶ/ʲZ[Z-l$NeWHWM_
    Vӧxs䀱X
    )oC&6lktIp].@?wShs-$9nP[pYӲG:Etb&<
    E_p0JtzXB.R
    .EĎu-0OSBþm	Ǣ]vd`ÝXP[
    VC4O0&zu4&Eʙ'tAB%+DˎG~AxCPKZnRgx+i|oʜ8oqJ`G~ɕo P
    8yuq뢵𐠵Ռ=ƶT·n2paA/F[
    ]+p^F(?ɬ3ggQ)ĊDLm4G;?81[ѫT> =Q8)ʒ5ck+gdRA|vakBcz[C8^'դOS0* )5r|Ȥ^?z}[SWUT}?LU^}L	6h8
    bǎEڰn/MA66Mkr0.'})X"9O~.7@3_~I*`֣q^Q(Tߠ1``w2uՓأ0F(zcgsSolP8C4>@e1bς	 zF]5Qƃ/Y
    vAfGWJ;=yw@Rq\kK0{2tv0="w
    0Nr
    DnJ`37%/-*R.U+[lQ7H0x/{džq8>6F'0*G\Qa$;hfEBC-`0)y[hʑV
    H2pCxQP¥9>&zgိ*+kɼ'W_~IPg_CO{b̖aշN 
    ~A'/I팟o"ܬ*0wKOLxi1M*ˀzܗ{ meJ!,O'Z2Nm:ܢ*G`x]sҶ#fD\FIHw]I?7#ȂU.5w5ɮR?70:3np&9&VupAFsUc;I}!\Uv}bz:9y! Rξ
    N@)0ߗDd;(AXr[BNa+{?X/Jڽ՜vݶ6lҤgO%P
    (/V j>MTc74bɤ^~^()yIЄe7a'xU$u8/NΨ'nh贑51;^n48ߖSqF; Jx]]Y MG-WM_	KVgGg>W&i&
    əۣκ5XnF>gla⧲0x){8}>;|9	i 7?kNW APEjpYrҊJp7~V8o? 3#JF	;Sl6QAiCfT0YwI+~[kB41L[*;/jLAM0X}>.tغutjiZ6)udn?
    |n4oZ8H/h!}I>d	_Y3rDwc6ZKجA;T GXKb4p:I9m{#?{X%CKM;E({vT6LaY}jOѭTв`u Jۃ2f1D/MR1Cb @#^$yH"c%߀.MtBl7 ^]]]*eg^1:	v"t2=M@f]M̟D_w`tјmuJw"BhO;ֽ.w3,eJVKmC2LCyӝOLU{/\"K	h	bxZLRiO(=|V})׾[[P[n26YK	UL}W0$ڃR:O3Ij(ΒRօJ)HInS(gKp2\oNya軚8'p%KEEgO[:*׸pⳇWFt!Woڧ"˲"CրooBJd;'K͒__hv+dލ 'VmI.^˅	8BsfG08ռ*ʮ ꩐Tҕc6s~JimxY~V)Iƛ+hΜ;]EBAАQl"U,C)'fC{KD]p#(^ys==UjonlVeuiJ+$dU#;O
    	?92<;q>o	Trx&
    ['-xp0j[;3Iw6N?;K9YR2vrD3'
    KgՂ?h?r_K&`t͡񟞉y7&.>tu4ߛG
    :^MpvwڴYz~ڇձM٪!RWd;#	^zʈQt\Wy\OJ14:5\SXT ݓgvV9UkX,miM\(n>EI aIi_,(
    ;.s)=5AI(wXg}4YDp4{jq(Q
    ̷ZJUZfK*xC~p"2r#$!JzZY.^|h}zXaIEXgt^4R{fLypᚚ1ި|O
    25"tUAޗ@uRPNX1ZN/ܨxIQ×_y6EK / cuDo7դ	|2VCf+H
    :`wiy~wkt@4OE],<ͦ?sb1-
    JAA2-=t칙Cõ̍:
    Ba;WCEΞr{`&,'t[8qu
    -(J]4
    ʹ5ay
    hhY.4j&4aq'(5sXGjWB~cm۶/.6a_A5+=d>Ĺ_.h8tBs0HJll[UH4v.	>](
    k9. UA:,A-wyʰ҉VjVU^}|wTHӘ,Aq0;,ZD*#{lH7bRX0CduBѢ5d=V\T=Q37oqA̐AOlܿ!{_uDG_rkߘT^}Wo).8|gWPCeJx6N(~v_;ΞS?W#M˿^SmG
    θJQ50 i<&+;V=KrU
    e#,tFjëΓU|N'uLx&)
    6wrroG4
    LR	gnZa#t+2>if!ϥ)Ǿ>0$&qqJY\IS(ˤ7^+'wٚze!e-ݙ{awτ K"Jd
    Ly"FջPn)жw-YU6L8"!ѡ|Fj=cȠERz!z|%%N{9c׉S'I#ܳ&QFn๕!JƄeeo},XM0cs9]e08ux޾B䦂@h~T$%
    ?-&=EsnϨf'$Є`9wvȒߖ$sNy7zԯ3.ɉA>c,vA?p-?#Gv˧hm,QvG=KԾ	nk@p*;rQwZ*ړǤ 3νեwR-`Qz\ӧvch:pZ7ןg~#;xDtO|tҺ}&Y9ƮpbuU[]Tι#UFo~yեj`a~.;&\UBD<j5yуo)],+]*D89żmSTI9⺹"_KKgh&\^a=X(u`mgO,Ӊh}y$ے$E[b\ڊxl~[l:鈼,g\jgY	'&f)GL|ƭ*Qpr~;ZI]
    !q٘>0S|_Aeg<28@+5	3gKp:ELBvKj:*&z0V >GXCJIOErWb$W+^jɒϖ6HX#18ˌ5ԋ`֩wGU,03	̵1Q&g;!]vX~0a	\MF4C&h VӾӗ|怙w9}9/HY1˚W(u2igo}9~!V7;:H	xǗ~㲿vWزj
    w$kʪe1Z^W$S+ļњ,-3!cmh9% Q*;%_8FV(s߷f8dشgm5@@7V։!)^`#m܊Gk!yu訦(+q:­D݉5/bwb+bᎁ6}HЛm$te1-ě
    G]iܘ$Q:npysǩBq8Hr-;-cN*rJ]cGYucyUkuDQ):4^K<|XEޚ.Hxr亞jΚơ-]eU6xbk_loⰯuvoLzA+$^ҕ\w%>[PG<2FnD!$Sx8;;(~
    Wou\Ht*GĞv:[Lr-yGm
    k-6K=9D>GkaDl9*K2J8OsP"偙bN%
    pxcN&ay{Mlƪ3#LmN̕&>4wՙި|3}+e}_,,ALu[ϲQJ5'z@NԝZ̉ED@(PVdl\8N&,)I]dNY8+ʞ_wu⥊8#+1d8s6Ǭ}壯Uyfc+!)Ȧ1[N}3ǮIGu]x~^ʔ4
    qd[>,{1#^3ID=q$%ɥ:A*Cg
    R@BH@!Tnwl˭a]ɬz5{z1R&l\WџgEIّt)8RTp*YMڋFfR8VYbJir5Fč	N4egH%<ټ
    njc*v<᧼ /Ujao.lGvAvPؠZj9IdAvƉ<jO3j5KhiMt|en*=-ABQ׍.|"?Ïs\Z%gt2^L#;K0>;!SSI!!H>S|BϵŵQN,$,J,ya>A"TSMK"I쫈+;;Ӽ[5*^1!;m--?wb^eCiO{*NC/.Ms'f+vS'̘
    TkOHLTpRs#2Y@2N6^T)u[>4(n#*w²Jb$ȤFTxM3,"&
    ܴyWmk!o 	,˒e6GG\r]U2%8WH
    CQo娣)*[zb2nʹ.CL?gl2\#.WY`WG>r8e1jB
    Uq8`{l_d9)\$n+L[o"N>eYfC-\Qz%seg@% I^؄*ӬD/j1'$YF\(AЃ]xiZk$5U܈?ZN:5ZC'Zܤ}w~HEVN'O:R|J%ءC.^ڎ`g͐(3!a
    [0ɘ»#c]j)`rsJ!*jcf`o+
    ;mxx 2=
    }JKo
    a
    XN-K;xL@@a,u]ϺU,Y;Ia˯%y\	#2"daE޵>P~?nŠv]wZY׬a)33t2T۷MN6=?Cݹސd}1y"9gV˚!Z1qz&Ww-fRC|K>'cwA?`6$,|Ckٝ0->\#˽5KLiTom\[کNJXu}ꕵۡx[@4u	g@+"R.AST+8S3r
    P,qݕV^fbڝ]d|k
    xtQä=:qC/ѾK69@̦8ۃ)6mkϋz{vCGv̠d
    lCȇ`hr.SFmإ>2푈n\y
    3k43b?sNjT%a)2}7
     I
    }A6m"o'iLII5y?|Ue-Ңhb=Ϫ۱_*'{h3ry":U@>q|J!׎72ZΝ	]p%},r	Tāeu1't̖Xm٩X$:Dl>OKX[;4Eh!BAjZ<|:f^Oh5a Ku/bztw~8i$oot^3Q?rLˊfoInHiqUgg)Ӈi-aui4,a{ nY$HkJcJ8@t1Ay8RQ)(
    qr<'T2QUETԫ
    *DWV-J(YWZ~]^oP6{
    [=ʤƔڗ>!C/9kyyrL+>;ʒ[/	fn>O<1#ryw70"aYM0Ib8H^-ri
    a޴B7N9!gI 2iOB*{Ȫ!&FsSmt*Vch|ʢ&E=E+BJ&Q"/qd"8Yn$:W|8a%	F~\\ =w帙"i4}BW3߬[o4Yf"31Doڔr]CpϼAylk7S Lj
    @>s%0)uA 9-^{#x/ަL[`0/(?¨Y)؛a
    wI{ddC1ڐGdj<R0*eYCNsI(~.D*;	ڻ{VqS[BOl]yWMRZ$.%qj"̙.9*H*:HfcEpRoQ#"htL\V	Of}=Q]LH|_~kϣ񏈔vrți&!*)rIb@쪖%M5Нs!N=3h%`U3yV|pk,6խ]+{EΗ\^yn۔.*QzMOտD'TS\0WU'5:#h΅A%EZʜ5bҜ6M.^qӶX(1]l(4AҢۋVXkv)^ۚn6eQ~q`a4ElZ{!eٹRfmwš|Nwda{%Q	cygRA9zXBN|5ّO49_w9.fo(D\EPl~PˢA'Ǐm |)]ˍ1<|`){y?J;|Ɠ=J7MMA~weHb^;+4T1纲ѳ'ZNWRfZx
    R}Eڢu^}
    =ּ3CAlC\'EΩ).b.-GB؄HA|ZEy˭yH:$'Xv3&yVQJ/I^	'4ZY[}>ēnѭţvTow(kxǂ Կ^gWzۼr1k
    }Pc.fŝL@^-7pjorͤDⶴppKtrU}$gmJtAPvh*ٲ͛-Zv&dHj|4P9?]]zw wLz zЩ!.+',zb8*߮$jΆ,7bCo/]Eh+#PN:
    q͸E@G4+5|"E@8xy>XqI3%4&Ueѣxޜ+V[
    W?$U7H2ܘm
    &{}3}`RU=}ii*"Q:, !86ܤP'TsrvwMDKOxinM'\W	mFfPOV
    	\`%~JJvCm8kv9EgfvG١w20$-\IMD7OۺrU:Qڃ1<;	-:z^%qBZKQD{җxoe%*p7|-t<^xأbT*n}ۙo˞(ﴲ\^(Zn3fZ,2:"n@{8,-^wQRE~'>@^U>W5%3#X5"߶縵mw#,,C8閅WO=ĻH7=ζ:+
    ᓞ(NQxTa7$m};aÿmk.47Kt݋B{Z=+IwoN.R"kO5haCK0OP$/{qu[_f_".wy$8)"oX;34Z'G&o5gȬ	[푂px$~VlYy?A:O0O.?Iv{~lz]%xդ1G2
    ͯ4`1w^"B~<׎kh:&9Dɗ@	I4|ߖ^y~r׮ۙ|,y-nQߖBN"n%;TsB֭f =3EXX7W
    s	i*(*+"AC.ڥ+:WR^mSQMz+. sS!F]bZxL}NN
    $pgvEmA~DPh#.0k㲧on?֭l/Ox$]L`.\(P+:rj{x}cO#V ̥):f(ýQ ǀ*[յ~-`h1):ҙn@-݁'>c(>,U0.Q/sU*kޑR1&&;{=<	QdÅR%R	F@"zEG1M}<*:Q5	zW՟DKj~_[#Z/9XMFۇ{7șک+hsDf!!/y{ܸ=g0<)84TMʦzj^K"$L+܏!^\*d%\%Ns$Z:˼&,t'U}~#
    \ɝ/!-mYVB-Ei8ɷ92jW][тQT~79E3SѧB0n+\q\Xh;edIx6> XCVrpNFK|99QPba-~
    $GnX?:a.pf.!®Cf߄Z$
    ݞ\؉jrvb1F4
    %B B
    k"r,$$\7K5sn_+v P$ϩ3/x>Jaw/TiXFN)@ԅAK$r>Gnc	QR]
    ]e\C w^ʺ𑞯W6ު}LB|ұ61R
    pn=b>@kDRƌBMQnh50qb9jC_~Poaʀ1>bשiv63u_;fj/1'y9D8a n+.Zfq>ZTΟάs6
    wV@)w1`h	|ZwUia{]"5X MDXfl|6b3Z=cddž/bWOgL Á^~Їo;Lx0e_Z,Cõݷ%"({>96?C`/}G(?Zi	6m	v{L3Z[ax'96!12'pͥ[˔))L@ƙV~+r2ʑkk9Z	0NG25raQJ#+Z,OhO
    :X=`O0ߋWݴcZBb4l’ٟsԳܻYj(J՜:qZo%9" ]c,:ZrPA<@p/"
    g][uoW(AǸ3aIL/)^j_s;_"KY		mĄ"oj=1HfΤ;F 
    U\V>{9Yc6J?x̀W0M-7ؙHrV2
    I<(
    5uywjBtA֏o\e3YL\ʺkl#ss˯Gb/kBZ0rDhDq9WzC8 @C4.7U{_\_}#!|z(12Od@C?x7N.?yjvGCҌ"ʚYlC`2'%b[iܫ6hLF
    HO]
    M"U1P
    [9X
    |UB S~z|.4TP{.b9py-~^z
    \@JX`nbDWpk9_c,:2YaFμҦ׭b1DLcau"ҝTT7+ovzӀƣiO~}$f}e]Է99y26WLuSMvq9t)iG׉06G	-0I#u1}ŭ[cz6WŁ!-pi?K8'`PCrrp\B;ki~8߯I{'DʪJ"am@!BS҂ ?{łk}MqWW,/R+OC[Yw3|ck=}Qc;Y4ed6nگlc`,ɩߤ@7iM=Gs4g%rGpHC5p#S/ڝ*	ϓ]6}NxErP?SrbO{Qph*LbYSn
    /BZ;}m~9a4-h[͎ϭJ$1N&|'c䬥/ʺ&᧥,/94
    g)^D/P"܈Edӽ&S#pKDD
    ȚM9B4Ge@f~޻;a~WOk
    CL T|;v)␳aHz=lyNS^xG0fx!eƸ.9\(
    (noAiO@ut:)SPU6&*BvpF~[@]Ja0dTx͊ZСq0.W2v1hd-CZVA@Gñ|g;=E4'K<@|4^q	|\V1p%[#S#F#-CI̥+\),Wyy:#sQP^,JzF "穼ƹ0-hq(B?Z{)6{oݔ2WCtˋg5T8,+Oe0HUܺvRrAD
    6ř!D)n:nc	a=2ݫws9OYV@^XI{+#bWy+@%
    0.{'~{dzr/ێlL*bd_Ecfa"sص-	v$95]&,̋PLY$8>=[w<*	C~$\YY7W$Y^qF%EAWQ7{EH2C)Cu͔.w9AYȓKcd
    Ị<wTPNwbԡ"~H66_0wnDKAANe9iFVg?#|ּ^2|Ś{A&X|[QhY^oG|#W*fe`-ޣ\6i˺.tu/^ykA/˙5nnמz]1Z[ϝomV95˅_6	e^^!MMHчVx]m$ՏKJM4F-oQC23q/T])<6.jxo/|CA^[cB2|A	{o1K{2A`OF8;' 9ƀ@bR]ʷq,Vo<*l^ܫQcT_5?$U0_9׊ f)Cץ)יP["q,6
    #acd$\ـݻgyZgvbԷaz8{ț}BhA{mD.'*KOik;D #/h;@±
    !+ګ-ckn.v$?:ܗb{azKޣdGkyVֶZͥ:'Zsg.O\/+i.5j>(=>v
    w=7\4߈y~)qNKss~9<k
    {doÞ;Z荄AR4vríḾѲʀ&_>p9UF(#eI|K!Вl036nLGe*6Ne
    /ˌԎŪjj՚we7r|т֔讞
    AZSCr
    ֔BInt~-#ZVvLBr"9ŗ598Vxh_d^:|xmW(~
    My+)#%ʂu~ޯщ*KX8[4XL{J..
    5|E^]sҝcC~L@!=Iuzmʐ^IU:d݌a?a2h/iy;nQo (&=X;-?vkC)fm9ҟEf^-MזJ=4o,q˒i^X\lX޳ۓ{-:V{??&*_i]Ţ@T~9{UpMXאjS雩W::@VVپ=-}_ey{Ď^gifhjrԮ0(w90{T,OT<~
    >ϷXVX8^tΪ/y
    F&$ZLȏ!DHn˃8mL:dJ'!c\?<ƶ}@}݁
    "'||2_}W	3:}6)X.邈Iemś[:ޝrmL#hd c^o;6a!mLS
    >nN-j'9BPB"7%"J<Z)
    }B	[Sgԓd%7
    OMmfZdQ?8k
    8VjW{z
    5zՄff2!]J73Cƅ2P,Mwǹ*)5H% s9ҏtITH'~icK"~X=~KH^!Oq&
    "^S9c*l`t122Qd@Z1N[
    :H\t܆CeSSR|DXECydhp9@<(+$̙4;.9댋)5des׷z$Uf{<&v$b)KWTR8Yj'?K^GW{o%8dwJgMz	3.7S[^n?ԣlC9XdC?5{/{/{ 2D{D
    uwo̧
    CjcT#Țy+L@w1c@]?|K9dXe,r755뼼ِ\\5A	7	[B~bs^wE)`sOrя)eަlCZ@Kgߝz/miM)|DRѿ=/|pzWPC	!Uqu.fc^tX\ZZJ9V]бو+|fq,ҏA_/儘(# :ΓkQn~C
    <ϳMfɥ$<;eڤ1%iEUgq*;R1=XhW`VUr7.Y"qyW(M&qψb)cAnjIW4ytҝ1Q܃j	6W!hd77"N˴:CM\ti1r[?Ѓo{TEzr	6k?ZQ[7/V{.=ծ"+9= KLe,`Sw9oW͡ɓl
    _G׆aR0e_ǁu5X2k>[:kї/7:YÒ+W.1Ade;f4Y.H:^θ`"7%1$E5:DkP2r@5ݕ+Zf}G
    7R=4GObT˷
    ώ#_wTaҳjt[H	-ysGdhAu.Z54N^RӲG2Qё\I>]zP=>';r?8Dx[k5j4ITU	W0*hڬFgLRgX,cA!*}%sY|{F+u]$_oIr+sźv8sR?,%_'N,8+ kħFgd/$[5'Zǡ)A{P
    {2dfܥC(QUg1r\;Hbbτe+lI""Ӝ
    .?>ikV2Yr.6ы<OF}Klc+$#˧{ɘ
    6S9Ґud`*ٕX5=eou7~4-xf&|ۼc;¼,Z_ݥ&k㯩\&cwFc렮7ؔWK]}QY:HA=r/KuWT7Voi;Ս+ݖO?em+9W*3Mu=-ZR)Qv!EQa(9P+Bv{@E5*q]?vS!W㐸7g!N£IrWOԇdmbWBM!*I>t39 3D˓ʬy*{+IfD$5w[EGeLeurH1T~ΧtWyw$vsjf2(dFg]kSz!~']:4`lyi1Yʸ7yT)IJu ^ճķ'^DvIwN{+$>|ؿzFdaObDL{̬o<5|ʐ-DIߚkyBoW+o^'^N? =8\|7rp0~IqX3
    Xdyzl0Ep)KdBĔ,DKΞkm?^$fRd9M"Q%ƨѣfHç]9_RUAq}<=^F-ڋV욽Vq*ĝ/sru!`D[Iw=)	EkvkȿgouS,`*糣:gmb|{{qOuyeڬ(+7oʈz0'#2VQǗME}
    LK4~I:ֲnj5'Je9wse>{hPg,f!k土^Ɔl|wu|Ñ߬DQx3Ckp)eC>Ԟ$2f=:Hh5ڢhFL,@:E~7BV?Q#3QA.јڬxWujTa7`N"*kKbYJD:
    ,T3sq%̓!LooPMZ~8_BUh2|H@mEj]<m	wFɇ|![$Q#zT֞N6		讎HNb!b'rV!Rn&>ww)rR`><\|a 	+Q۹o=b$Jhܒ"A丄uu?\hG!7˽&K>p50E*~#>ĤR>p8%q{}#pqͿfOG[pVarNv
    @`HrrUHkέ|zg,tQͭNb)Y0G}ws=?1]Ο.:Xӻ$Vލځsw/@@{W,}v✥"ԸzEIIKUŏIeP`fq4ꒀy]%] -"Փ9szRi 
    ٪Ӎ럤1!Sj3
    ^-S`Y9%̥ʒ>2.-}pѷ7^-R2U[KV^j]N牅a"}-| k2a^!b)-D*57hoѠJ?\ζn<oQ0^06%g>)fU*7U'M$+6_7	ԤY|jipUzǵA[.`{f"[ꨃH170u eeɲHk.a03eTuu+(l:*owQʑGwE8wU՛nK- ͎KMr9]ay+2p+ҹx?_Q{(Ƕ;
    -!1FR9nf!К?n
     cD$=Kn,PYgxqͩ'C 
    }G%3CgQӜc$n%lcfUˌN^ޤM-'KVϚ9yezbQȵƏxTRQ5~
    ^u9g3f {&#TuH8%2t):N#s??%?05љT*Rg)Sאy"҇SAܻ錪)qRK=WH=.(<>L},7汫ƎP s+fIX\h;sb).VĦ,|pUYY
    }0ӐTzqMeRp-NS\ .]HdvidK9}dqzK5nX e5bF6ʍmC@;?{R,l=pe(FM-c<:GНn喊&RaRVz*/ҴT#H6v#I(V!QҠG߄+xm2k3zU35հ2o~Gqrv *
    [ՒC[~:m&$4ijB84|؍pHr+ƺQ)؂I
    gHSba-ui-l/о0\M}K?FdD{={<ԍ^Ѡ;|x݋	]94jFaf|l\Q!r53Lc6?aa5cG|-ls^8%6uO9QǟnXIx4paܽfζK~?+2yIb);(JΕFH+*1&"ɰɍPa%'of?cOOK8VzMécg֧6Y_}	om+zgT|VQ?'"xR;gO^L8;qaߘlLbL\Ww>k~[gwk:>2}ZB{W
    ,w&S ka@Ը?6>3n=)?{2H2,)qH`ޕ3jkTĞB?Qm$%)}bUq_cqY	-_1Ӂ)j?E=7>-96l. sx"hc[y7?N
    - TK79|ѰxzjgmhInHog)v~
    C;LJqupmW<˗=l+(lCPm-[IHHK(|LQkgª?CEBx}QN";FNUcE\k5EG
    н^Jv<+DkrKCN
    w¹*{Ϛ>jhÉW~{|kÿ$a=g1izf҆Mm z`0X*+Gn ?J>[Std>)`zdM+9,Z', į>cu}nmĐN=z8$Rգ3c1MEKY$
    5
    ]Y^=xܠKHUNyxUqYd*ggmnL%r䰼!@Z"["(͘pfk"v$ρ9&LIQV:WIZk7TT!X52QIe(ZP
    b}LLϰ:.'T/kS->lT5}Tr#e(SG:'WmP 8oVV7S*6⋫-7kI5P|-wSX-g`(TzI(jaZc^w.8g-fV]hl3.yOu2&8EAD|L|Z3ɡ2]ۑ5KqO[شܵ,Մ>k*jsέ	*Ѯ|\A[
    TO=5@'z=]Z(CGEfM8GWP+qNEmF068Z:b7-Ь%{Ch1^tm,R\HTZ#x㮽`Y'}?}iou8KP1㥙夆CZ"8@x
    µ-``Pj}6LlRU\6[CZN"*Y=3CȾ3ڣx~,ceG;,5R>Uw6ԼSAR7|aqu^ځ;V`ۼ:{~۔x9:7N+m1f75dGrzZFݬ(:%P
    9GaxLIrl2}>Mn?KwE/:T@Y_a^OME^3	O\s
    
    _^9$-Q5y'msс
    cvV I߇!?I$7ܡ\ód[#mH܁F&8$*pw,意hiḩt-,6i0I^,`Ś7{~5QR]5j^FiT\?8E|ӕ_eoH{UĠT&L-3QWnԤuM*
    ۥD+%j;bͮ' Y>
    (؟4w]|/JW#ȤZca7B'8:{} N$8oQ|W mOnL)Q^!WCM8}:Nhۑc&4ٝqo_@xމɐ5
    Q+t*\]w	C!W^"ywne/R=`*5bJzMwZN	hPQ7޴-␜EgC29*XYKUk&D\4]aw-5&_kD@;I1fͫ{C[ŏY}ExdS9ɇ@~$`KPK}=wvZR
    ?Ph{%Zdϙ'biys-KhOü. [4/%0y]|(珫DBˀ(D뺹"cfw8NgPmzdo*Ģj6hni[}iY
    LٱEf9eF8dǣOk@p#B\'Mo=)
    uĐEB>:6Qlo6]Z* )
    ˸kֿ /d?6
    Q7Dx'ey:KCaM۽T&ufTx_WD){5PJ7A2wWqo-Cg*te
    j^"~4{;fo-W?*wW1{|k.QZ"
    X-J/~۵dp;}WAD|Qķ~XC}6cT;k#7.{7c8T_4X;B*bm#"""*RJ)EDDDD̛?97t3Zkgсhzt&ޯw.YNˋվgH@E!6~brݴz]DDDDDDDfffffffVUUUUUUUi{z6Ndview/assets/fonts/icomoon.eot000064400000025310147600042240012325 0ustar00*$*LPAicomoonRegularVersion 1.0icomoon0OS/2`cmap^\gaspxglyf%head)'86hhea'p$hmtxv'locaB$(Dmaxp.(\ nameJ	(|post* 3	@"@@ @ "  797979>y	"/&47	&4?62yX_
    
    0
    
    _
    
    X_
    /0
    _X
    >B{	"'&4?62	62XX
    
    _//_
    
    Y^/^>`%"'	"/&4762__
    
    
    
    ^/^
    
    
    X
    U|2#"&546327>7654'.'&#"76*1#81"&'0&'.'04#'&67667>763'#"&'&4?'&4762762#"&'0`TU~$%%$~UT`
    
    VKLq!  !qLKVOGFn$$
    Mw`:()zNOXGLMMM		ML				MM		$%~TU``UT~%$
    
    !!qKLVVLKq!!bCCM=`xHVJJmMM		MM				MM				MM		y	%%
    %%%DClmm^m\]
    ouy}814&'4&5.'&"1"4#'81814&'.#.'0"#4"5'&""00"#08101*81326?326?>505'7'7''7'77'7	$N6c.cdciffiO@V
    CVS)RRRLNNRRRRqYX!XVVVVWX!X
    .#054&'.#&'.'&'".1"767203102303:381818181021263:7267267>526564564567>367>54&'&'&67>767!.#"13632&'.!&'&567>32267>5>3"45y9889z65!@MM0/00MN?	x./e00 "#f=<77=7>3267>7>'#"&'.#"&/.7>?67>81/&67>'76%27>7654'.'&#"32#"'.'&547>763>77>?>7:72623267>'.'267>'.".=4&'./.'.'&6762367>'.'&""#"<5.'&0>76&'&7223267>?>'.'.'.'.'.67>7036"'34i00!"5
    
    *IKFHBu<$!6%<q;ABG=%
     ..e01$				%
    A98UU89A@99TT99@811II118711JJ117
    )		I
    
    		
    &	6
    
    	
    
    
    
    
    		
    		
    KD 
    2(
    ! 5::3
    
    <	
    	
    DH	H
    
    !K	
    U89A@99UU99@A98UEJ117811II118711J
    		% (y%
    !	
    		#
    L	&
    
    %
    5
    #./6		
    	CIXm|814&'&'.'&#"327>767>=67>767>5045267#"&'53%5<5814&5.'>73267#"&'5%>752.#*504140567>7632#"&'>"&'53267#%5>7X543355W/-,EX331133X&'J\&&^bcDm"&^['CBi bb@j
    	{u-HH018j		~		jj
    &^['	i7Bh oT?  
    		   	
    k%>=$ʛ
    2
    
     $%
    ==S 1	."8.";:".0%%%"/*47b'.#!"3265463%;#!"&54&#"3!2654&''##"&/"&5"&5&474674637>!2#!
    !
    		
    n		
    ! 
    mm``	
    
    	
    $!
    
    H			!!	
    ]ld	c
    	
     3AO]l4&'./.#!"3!265041405'#5!"&5463%;#'!"3!2654&'!"3!2654&'!"3!2654&%32654&+"32#!"&54632#"3!26546xE/=T`	|sHHH		Vu
    R{			z		{		R					Pg%67>7654'.'&'4&'0&1&'.'&#"101327>767063>5/>54&'747>7632#"'.'&.#"'67>763247>767&'.'&573267#"'.'&'w #
    		
    # #**^43720/X('#%**%#'(X/02734^**#8&%++%&88&%++%&8"Y2*K##L)*+0--S%%		# %% #		K*2Y"%%S--0+*)L##e"((W00220/X(("%*	
    ##**^437734^**##
    	*%,K**K##L)*++*)M"#/+%&88&%++%&88&%z %		#0--S%%"Y22Y" %%S--0% #		'[	.'&73!26533!265676&'&'&+4&+"#"&54&'.'&6762N4N
    % 	
    !%
    
    
    		
    
    			!w>l 	a	 >P	O`				x	47k'.#!"3265463%;#!"&54&#"3!2654&''#7!"&5463!'&4762881##"&'&47 
    	
    	n
    	
      mmWe
    
    e$!
    
    H			!!	
    ]li
    	
    i ,H"'.'&547>76323#"&5463227>7654'.'&#"j]^((((^]jj]^((((^]zI"''""''"^RR{#$$#{RR^^RR{#$$#{RR@((^]jj]^((((^]jj]^((%n(!"(("!($#{RR^^RR{#$$#{RR^^RR{#$7`l"'.'&547>7632'27>7654'.'&#"#"&546?>54&#"3>323267#4&#"326j]^((((^]jj]^((((^]j^RR{#$$#{RR^^RR{#$$#{RR
    *
    !!W$$,;=A'?""""@((^]jj]^((((^]jj]^((<$#{RR^^RR{#$$#{RR^^RR{#$+!
    t M!
    ~+To""""0<%#"&546?>54&#"3>32327>767#4&#"326t6
    
    O
    =?I(("C/
    Qo9,,=Hv@--@@--@?	$9/<%''I>
    '1Q?  -@@--@@7|"'.'&547>7632'27>7654'.'&#"&67>7>7>7>7>54&'.#"'>7>32#467>32#"&'.5j]^((((^]jj]^((((^]j^RR{#$$#{RR^^RR{#$$#{RR
    	
    
    $ ,"6
    	P
    
    @((^]jj]^((((^]jj]^((<$#{RR^^RR{#$$#{RR^^RR{#$[ 
    
    
    	
    
    
    E
    ,	
    
    g
    
    
    
    SS+1@Pq~./.'&3267%:3267>76&'%6'"&'4637%#%76?7'.'&'.'&'"&746302101"32654&#"&54632	#Ӳ
    
    5a
    
    [D7
    X&L
    6
    rZ4%55%&55&
    %Y@!	K>#*aB	
    C|7!,I$_qƄΫo%6%%66%%6e[
    %4&#"326!"3!2654&%lljD01""#"#"&/.7>&'.'&#"'.767>76327>#"'.'&'#*'.?405>7267>3>783:362323:3/327>767>	=		h((e;;?EA@j''	
    	,+vHGMEAAo,,'	>
    	,,vGGMEAAo,,'	=	h((e;;?EA@j''		;		(9./CP78B	
    	J=>XI33=d	l
    J=>XH33>e	;		)9//CO87B
    	7:=@CSXin|4&'4&50"1.'"&1*'"1#";267>7>=4&5<'73#?2+"&=46335#2+"&=46;35#2#!"&54632#!"&5463"&5463!2#+
    99!v=@d?		
    
    		
    
    Ѻ
    
    
    
    
    *
    
    
    
    
    
    
    *
    
    
    	@96:A?_54&'%&"
    -#"&'.546?6%'.7>#"&'.546?6%'.7>*)VUkv)*uUUv)*uUU
    
    D
    
    
    
    D22D
    
    
    
    D11z36BO4'.#!"326=463!;#!"&=4&#"3!2654&'#4&#"326'4632#"&526?:37>7>/>767>76&/6&57>'.'..'76&'.'&*#'.'&?:3'76&'.'..'7>'&476&/>767>7>/>77626??'&'."'&.'j
    x
    hh}5&&55&&5	
    !1
    	
    ,,	
    1
     
    !
    1
    	
    ,+
    1
    $	/*).	
    
    
    
    .**/
    
    
    +n		n	+m		m
    ^g&55&&55&,+
    	
    1
     !1
    	
    ,+
    	
    1
    !
    !1	
    7/
    
    
    	/*)/	
    
    
    
    /** %3#3#!!5!5!!!3!265!6llllDC6CDQl?--?CCyllll-??-y,2!547>767"'.'&547>7632q^^%&&%^^q5/.FF./55/.FF./fGFU@@UFGf@F./55/.FF./55/.F337	f4fff3ffZK&&%"&/.546?>321>3251*1
    	
    x/	 	Z
    		
    :6$"/"/&4?'&4?62762s		E	
    
    
    E				E
    
    
    
    E		
    	E				E	
    
    
    E				E
    
    A_<))!>>>
    C+
    JvP`j,	R	
    r
    ~
    
    \Pd!`6uK
    		g	=	|	 	R	
    4icomoonicomoonVersion 1.0Version 1.0icomoonicomoonicomoonicomoonRegularRegularicomoonicomoonFont generated by IcoMoon.Font generated by IcoMoon.view/assets/fonts/icomoon.svg000064400000112643147600042240012343 0ustar00
    
    
    Generated by IcoMoon
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    view/assets/fonts/icomoon.ttf000064400000025044147600042240012337 0ustar000OS/2`cmap^\gaspxglyf%head)'86hhea'p$hmtxv'locaB$(Dmaxp.(\ nameJ	(|post* 3	@"@@ @ "  797979>y	"/&47	&4?62yX_
    
    0
    
    _
    
    X_
    /0
    _X
    >B{	"'&4?62	62XX
    
    _//_
    
    Y^/^>`%"'	"/&4762__
    
    
    
    ^/^
    
    
    X
    U|2#"&546327>7654'.'&#"76*1#81"&'0&'.'04#'&67667>763'#"&'&4?'&4762762#"&'0`TU~$%%$~UT`
    
    VKLq!  !qLKVOGFn$$
    Mw`:()zNOXGLMMM		ML				MM		$%~TU``UT~%$
    
    !!qKLVVLKq!!bCCM=`xHVJJmMM		MM				MM				MM		y	%%
    %%%DClmm^m\]
    ouy}814&'4&5.'&"1"4#'81814&'.#.'0"#4"5'&""00"#08101*81326?326?>505'7'7''7'77'7	$N6c.cdciffiO@V
    CVS)RRRLNNRRRRqYX!XVVVVWX!X
    .#054&'.#&'.'&'".1"767203102303:381818181021263:7267267>526564564567>367>54&'&'&67>767!.#"13632&'.!&'&567>32267>5>3"45y9889z65!@MM0/00MN?	x./e00 "#f=<77=7>3267>7>'#"&'.#"&/.7>?67>81/&67>'76%27>7654'.'&#"32#"'.'&547>763>77>?>7:72623267>'.'267>'.".=4&'./.'.'&6762367>'.'&""#"<5.'&0>76&'&7223267>?>'.'.'.'.'.67>7036"'34i00!"5
    
    *IKFHBu<$!6%<q;ABG=%
     ..e01$				%
    A98UU89A@99TT99@811II118711JJ117
    )		I
    
    		
    &	6
    
    	
    
    
    
    
    		
    		
    KD 
    2(
    ! 5::3
    
    <	
    	
    DH	H
    
    !K	
    U89A@99UU99@A98UEJ117811II118711J
    		% (y%
    !	
    		#
    L	&
    
    %
    5
    #./6		
    	CIXm|814&'&'.'&#"327>767>=67>767>5045267#"&'53%5<5814&5.'>73267#"&'5%>752.#*504140567>7632#"&'>"&'53267#%5>7X543355W/-,EX331133X&'J\&&^bcDm"&^['CBi bb@j
    	{u-HH018j		~		jj
    &^['	i7Bh oT?  
    		   	
    k%>=$ʛ
    2
    
     $%
    ==S 1	."8.";:".0%%%"/*47b'.#!"3265463%;#!"&54&#"3!2654&''##"&/"&5"&5&474674637>!2#!
    !
    		
    n		
    ! 
    mm``	
    
    	
    $!
    
    H			!!	
    ]ld	c
    	
     3AO]l4&'./.#!"3!265041405'#5!"&5463%;#'!"3!2654&'!"3!2654&'!"3!2654&%32654&+"32#!"&54632#"3!26546xE/=T`	|sHHH		Vu
    R{			z		{		R					Pg%67>7654'.'&'4&'0&1&'.'&#"101327>767063>5/>54&'747>7632#"'.'&.#"'67>763247>767&'.'&573267#"'.'&'w #
    		
    # #**^43720/X('#%**%#'(X/02734^**#8&%++%&88&%++%&8"Y2*K##L)*+0--S%%		# %% #		K*2Y"%%S--0+*)L##e"((W00220/X(("%*	
    ##**^437734^**##
    	*%,K**K##L)*++*)M"#/+%&88&%++%&88&%z %		#0--S%%"Y22Y" %%S--0% #		'[	.'&73!26533!265676&'&'&+4&+"#"&54&'.'&6762N4N
    % 	
    !%
    
    
    		
    
    			!w>l 	a	 >P	O`				x	47k'.#!"3265463%;#!"&54&#"3!2654&''#7!"&5463!'&4762881##"&'&47 
    	
    	n
    	
      mmWe
    
    e$!
    
    H			!!	
    ]li
    	
    i ,H"'.'&547>76323#"&5463227>7654'.'&#"j]^((((^]jj]^((((^]zI"''""''"^RR{#$$#{RR^^RR{#$$#{RR@((^]jj]^((((^]jj]^((%n(!"(("!($#{RR^^RR{#$$#{RR^^RR{#$7`l"'.'&547>7632'27>7654'.'&#"#"&546?>54&#"3>323267#4&#"326j]^((((^]jj]^((((^]j^RR{#$$#{RR^^RR{#$$#{RR
    *
    !!W$$,;=A'?""""@((^]jj]^((((^]jj]^((<$#{RR^^RR{#$$#{RR^^RR{#$+!
    t M!
    ~+To""""0<%#"&546?>54&#"3>32327>767#4&#"326t6
    
    O
    =?I(("C/
    Qo9,,=Hv@--@@--@?	$9/<%''I>
    '1Q?  -@@--@@7|"'.'&547>7632'27>7654'.'&#"&67>7>7>7>7>54&'.#"'>7>32#467>32#"&'.5j]^((((^]jj]^((((^]j^RR{#$$#{RR^^RR{#$$#{RR
    	
    
    $ ,"6
    	P
    
    @((^]jj]^((((^]jj]^((<$#{RR^^RR{#$$#{RR^^RR{#$[ 
    
    
    	
    
    
    E
    ,	
    
    g
    
    
    
    SS+1@Pq~./.'&3267%:3267>76&'%6'"&'4637%#%76?7'.'&'.'&'"&746302101"32654&#"&54632	#Ӳ
    
    5a
    
    [D7
    X&L
    6
    rZ4%55%&55&
    %Y@!	K>#*aB	
    C|7!,I$_qƄΫo%6%%66%%6e[
    %4&#"326!"3!2654&%lljD01""#"#"&/.7>&'.'&#"'.767>76327>#"'.'&'#*'.?405>7267>3>783:362323:3/327>767>	=		h((e;;?EA@j''	
    	,+vHGMEAAo,,'	>
    	,,vGGMEAAo,,'	=	h((e;;?EA@j''		;		(9./CP78B	
    	J=>XI33=d	l
    J=>XH33>e	;		)9//CO87B
    	7:=@CSXin|4&'4&50"1.'"&1*'"1#";267>7>=4&5<'73#?2+"&=46335#2+"&=46;35#2#!"&54632#!"&5463"&5463!2#+
    99!v=@d?		
    
    		
    
    Ѻ
    
    
    
    
    *
    
    
    
    
    
    
    *
    
    
    	@96:A?_54&'%&"
    -#"&'.546?6%'.7>#"&'.546?6%'.7>*)VUkv)*uUUv)*uUU
    
    D
    
    
    
    D22D
    
    
    
    D11z36BO4'.#!"326=463!;#!"&=4&#"3!2654&'#4&#"326'4632#"&526?:37>7>/>767>76&/6&57>'.'..'76&'.'&*#'.'&?:3'76&'.'..'7>'&476&/>767>7>/>77626??'&'."'&.'j
    x
    hh}5&&55&&5	
    !1
    	
    ,,	
    1
     
    !
    1
    	
    ,+
    1
    $	/*).	
    
    
    
    .**/
    
    
    +n		n	+m		m
    ^g&55&&55&,+
    	
    1
     !1
    	
    ,+
    	
    1
    !
    !1	
    7/
    
    
    	/*)/	
    
    
    
    /** %3#3#!!5!5!!!3!265!6llllDC6CDQl?--?CCyllll-??-y,2!547>767"'.'&547>7632q^^%&&%^^q5/.FF./55/.FF./fGFU@@UFGf@F./55/.FF./55/.F337	f4fff3ffZK&&%"&/.546?>321>3251*1
    	
    x/	 	Z
    		
    :6$"/"/&4?'&4?62762s		E	
    
    
    E				E
    
    
    
    E		
    	E				E	
    
    
    E				E
    
    A_<))!>>>
    C+
    JvP`j,	R	
    r
    ~
    
    \Pd!`6uK
    		g	=	|	 	R	
    4icomoonicomoonVersion 1.0Version 1.0icomoonicomoonicomoonicomoonRegularRegularicomoonicomoonFont generated by IcoMoon.Font generated by IcoMoon.view/assets/fonts/icomoon.woff000064400000025160147600042240012502 0ustar00wOFF*p*$OS/2``cmaph\\^gaspglyf%%head'66)hhea'$$hmtx'vloca(dDDB$maxp(  .name(J	post*P  3	@"@@ @ "  797979>y	"/&47	&4?62yX_
    
    0
    
    _
    
    X_
    /0
    _X
    >B{	"'&4?62	62XX
    
    _//_
    
    Y^/^>`%"'	"/&4762__
    
    
    
    ^/^
    
    
    X
    U|2#"&546327>7654'.'&#"76*1#81"&'0&'.'04#'&67667>763'#"&'&4?'&4762762#"&'0`TU~$%%$~UT`
    
    VKLq!  !qLKVOGFn$$
    Mw`:()zNOXGLMMM		ML				MM		$%~TU``UT~%$
    
    !!qKLVVLKq!!bCCM=`xHVJJmMM		MM				MM				MM		y	%%
    %%%DClmm^m\]
    ouy}814&'4&5.'&"1"4#'81814&'.#.'0"#4"5'&""00"#08101*81326?326?>505'7'7''7'77'7	$N6c.cdciffiO@V
    CVS)RRRLNNRRRRqYX!XVVVVWX!X
    .#054&'.#&'.'&'".1"767203102303:381818181021263:7267267>526564564567>367>54&'&'&67>767!.#"13632&'.!&'&567>32267>5>3"45y9889z65!@MM0/00MN?	x./e00 "#f=<77=7>3267>7>'#"&'.#"&/.7>?67>81/&67>'76%27>7654'.'&#"32#"'.'&547>763>77>?>7:72623267>'.'267>'.".=4&'./.'.'&6762367>'.'&""#"<5.'&0>76&'&7223267>?>'.'.'.'.'.67>7036"'34i00!"5
    
    *IKFHBu<$!6%<q;ABG=%
     ..e01$				%
    A98UU89A@99TT99@811II118711JJ117
    )		I
    
    		
    &	6
    
    	
    
    
    
    
    		
    		
    KD 
    2(
    ! 5::3
    
    <	
    	
    DH	H
    
    !K	
    U89A@99UU99@A98UEJ117811II118711J
    		% (y%
    !	
    		#
    L	&
    
    %
    5
    #./6		
    	CIXm|814&'&'.'&#"327>767>=67>767>5045267#"&'53%5<5814&5.'>73267#"&'5%>752.#*504140567>7632#"&'>"&'53267#%5>7X543355W/-,EX331133X&'J\&&^bcDm"&^['CBi bb@j
    	{u-HH018j		~		jj
    &^['	i7Bh oT?  
    		   	
    k%>=$ʛ
    2
    
     $%
    ==S 1	."8.";:".0%%%"/*47b'.#!"3265463%;#!"&54&#"3!2654&''##"&/"&5"&5&474674637>!2#!
    !
    		
    n		
    ! 
    mm``	
    
    	
    $!
    
    H			!!	
    ]ld	c
    	
     3AO]l4&'./.#!"3!265041405'#5!"&5463%;#'!"3!2654&'!"3!2654&'!"3!2654&%32654&+"32#!"&54632#"3!26546xE/=T`	|sHHH		Vu
    R{			z		{		R					Pg%67>7654'.'&'4&'0&1&'.'&#"101327>767063>5/>54&'747>7632#"'.'&.#"'67>763247>767&'.'&573267#"'.'&'w #
    		
    # #**^43720/X('#%**%#'(X/02734^**#8&%++%&88&%++%&8"Y2*K##L)*+0--S%%		# %% #		K*2Y"%%S--0+*)L##e"((W00220/X(("%*	
    ##**^437734^**##
    	*%,K**K##L)*++*)M"#/+%&88&%++%&88&%z %		#0--S%%"Y22Y" %%S--0% #		'[	.'&73!26533!265676&'&'&+4&+"#"&54&'.'&6762N4N
    % 	
    !%
    
    
    		
    
    			!w>l 	a	 >P	O`				x	47k'.#!"3265463%;#!"&54&#"3!2654&''#7!"&5463!'&4762881##"&'&47 
    	
    	n
    	
      mmWe
    
    e$!
    
    H			!!	
    ]li
    	
    i ,H"'.'&547>76323#"&5463227>7654'.'&#"j]^((((^]jj]^((((^]zI"''""''"^RR{#$$#{RR^^RR{#$$#{RR@((^]jj]^((((^]jj]^((%n(!"(("!($#{RR^^RR{#$$#{RR^^RR{#$7`l"'.'&547>7632'27>7654'.'&#"#"&546?>54&#"3>323267#4&#"326j]^((((^]jj]^((((^]j^RR{#$$#{RR^^RR{#$$#{RR
    *
    !!W$$,;=A'?""""@((^]jj]^((((^]jj]^((<$#{RR^^RR{#$$#{RR^^RR{#$+!
    t M!
    ~+To""""0<%#"&546?>54&#"3>32327>767#4&#"326t6
    
    O
    =?I(("C/
    Qo9,,=Hv@--@@--@?	$9/<%''I>
    '1Q?  -@@--@@7|"'.'&547>7632'27>7654'.'&#"&67>7>7>7>7>54&'.#"'>7>32#467>32#"&'.5j]^((((^]jj]^((((^]j^RR{#$$#{RR^^RR{#$$#{RR
    	
    
    $ ,"6
    	P
    
    @((^]jj]^((((^]jj]^((<$#{RR^^RR{#$$#{RR^^RR{#$[ 
    
    
    	
    
    
    E
    ,	
    
    g
    
    
    
    SS+1@Pq~./.'&3267%:3267>76&'%6'"&'4637%#%76?7'.'&'.'&'"&746302101"32654&#"&54632	#Ӳ
    
    5a
    
    [D7
    X&L
    6
    rZ4%55%&55&
    %Y@!	K>#*aB	
    C|7!,I$_qƄΫo%6%%66%%6e[
    %4&#"326!"3!2654&%lljD01""#"#"&/.7>&'.'&#"'.767>76327>#"'.'&'#*'.?405>7267>3>783:362323:3/327>767>	=		h((e;;?EA@j''	
    	,+vHGMEAAo,,'	>
    	,,vGGMEAAo,,'	=	h((e;;?EA@j''		;		(9./CP78B	
    	J=>XI33=d	l
    J=>XH33>e	;		)9//CO87B
    	7:=@CSXin|4&'4&50"1.'"&1*'"1#";267>7>=4&5<'73#?2+"&=46335#2+"&=46;35#2#!"&54632#!"&5463"&5463!2#+
    99!v=@d?		
    
    		
    
    Ѻ
    
    
    
    
    *
    
    
    
    
    
    
    *
    
    
    	@96:A?_54&'%&"
    -#"&'.546?6%'.7>#"&'.546?6%'.7>*)VUkv)*uUUv)*uUU
    
    D
    
    
    
    D22D
    
    
    
    D11z36BO4'.#!"326=463!;#!"&=4&#"3!2654&'#4&#"326'4632#"&526?:37>7>/>767>76&/6&57>'.'..'76&'.'&*#'.'&?:3'76&'.'..'7>'&476&/>767>7>/>77626??'&'."'&.'j
    x
    hh}5&&55&&5	
    !1
    	
    ,,	
    1
     
    !
    1
    	
    ,+
    1
    $	/*).	
    
    
    
    .**/
    
    
    +n		n	+m		m
    ^g&55&&55&,+
    	
    1
     !1
    	
    ,+
    	
    1
    !
    !1	
    7/
    
    
    	/*)/	
    
    
    
    /** %3#3#!!5!5!!!3!265!6llllDC6CDQl?--?CCyllll-??-y,2!547>767"'.'&547>7632q^^%&&%^^q5/.FF./55/.FF./fGFU@@UFGf@F./55/.FF./55/.F337	f4fff3ffZK&&%"&/.546?>321>3251*1
    	
    x/	 	Z
    		
    :6$"/"/&4?'&4?62762s		E	
    
    
    E				E
    
    
    
    E		
    	E				E	
    
    
    E				E
    
    A_<))!>>>
    C+
    JvP`j,	R	
    r
    ~
    
    \Pd!`6uK
    		g	=	|	 	R	
    4icomoonicomoonVersion 1.0Version 1.0icomoonicomoonicomoonicomoonRegularRegularicomoonicomoonFont generated by IcoMoon.Font generated by IcoMoon.view/assets/img/logo.svg000064400000056004147600042240011261 0ustar00
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    view/assets/img/minloading.png000064400000006712147600042240012430 0ustar00PNG
    
    
    IHDR7PLTE___```fffnnnvvv|||NNNNNNhhh777坝666hhh̲啕Ǚggg倀jjj'''TTTHHHpppͩ000̲OOOQQQkkk;;;>>>mmmAAA;;;岲iii999lll...YYY222qqq555NNNgggOOO四FFF[[[444QQQ!!!"""RRR崴666555999999""""""%%%VVV)))VVVʹAAA666   QQQ̂TTT***)))DDD888666PPP999̂###RRR777nnn111嚚倀kkk&&&<<$n; 
    `\T^;9/ۦge`C<2 ı{ueVUUO/,#峥ddbR?<1/٩X;10-TTRRDz][XTQD<<:7θyt_XE:л~{pJF:"ǿtp^	IDATX՗up@]WR B)^J)R-ڜl&7}%s+PhgɴN{9eΌFg?Iۼ>6ۻ7LU?Py?8a'Fuhfuk@4-_jZ.mvQL m6"L݃)n;vlHm!Ǐs3O}PDW'P1
    =POhŴnsSiZhĤ'ql6zs滗{$sko8n'jr^-A,vc#)Ks,<D\3J6쾱Ek$=M`IO39}WjF묵ql.MdL&-UpPf*slFEl%dXoF	0r%Wf#a;TX6PP<`hG"M"))7,1\gc)P;Tآb"@G]!p-'j^i$ZKzV5"PͤGEGsj!z̠9Dz\mJzG'{ڃaӵV޸ԥۂ$@Scx1g+ǚgHD@g1|^ \['6gH`8WuQ]C#顙cx
    
     {%=njIfy(=Նted
    'IXfi6}5L:gtˀ>F#FKymdE7B*S5Wvw=(QrG!nj9v.*JEW[)>Jw}!aJݔq<~o 
    
    ę>@G?qh2iՀ}nɈ؏VCC#C̨U[4GWTf5캳0AkIWnˢ'Fq4WlYfFz 7CS#mYd}h
    ]Pf蚁{(RpZgaF&"h@{4=Hٔ`K!DN k.dlH	{컁nNzuf^@2bp!=3c@zĘV+az)\ᙦV%2Y<9KUd>Rkc!(^9Ě#um#N{Lc_pf>CYLԭ>#c3US z+MJ>ܵwYkY-&4x{yB³#,8>u1kX Yj^'U@M#umj2זE=jAfPQ0sGL/`bOVQc&ɒ{W	5y.AyX=tbe=Q2I"GS;H|Kqr8Ԍ=P6k;'2ɣj=J2=ꅙ[A<0OgY7I`4K֛[,eQ,SRqY/LBCLG;hg<=lƿ0S/U7ohK{ĀQ``#ۛjxye,O'Zd;*Ѕ4A=@=N5Uzq\Nr=!>  >at2l14o*qqUf/vk#5X;@C%*]J7f,IENDB`view/assets/img/monitor_panel.png000064400000021206147600042240013150 0ustar00PNG
    
    
    IHDRbSRtEXtSoftwareAdobe ImageReadyqe<'iTXtXML:com.adobe.xmp        DIDATx	|T@XB 	 aI%`"V)RӊE>胈KY_Yc@Y@%,!H
    7L$!~^w&wνw{~
    +@\q .e2@\q .e2@\qqP
    Gs~ZŜš:"Yp=gf5 .͇侳&|S׉ٶȲ/uiL9H/K>>atLD7'ƖTo+9^>ˋg]s+phăg1ePTw6^V/Tud	ԺQl&z\^}[RXs8]O'ȹ2:qQOw݊h2!{GU"I.Y[m$=O߮a,.WewV|oBsּJ:p}3M%e.}HHP]3|$iat/۴5T޳{IZt2rƚۖg,RRVnt]fe|pKI;*eĬԿlVggG .e%RI>D~sԺ]`ݖT
    .mM|iYVCζj缡&PuԊͬBV-%X_/rG{_:g+cg;@25qgxcke
    2ѥ}[*Kox6lhβoġ%H:z5/Pzq%ҐS.*/R˺iɦVw'/rdBQG%M؝Zo0}g(T
    (FF4mP7LLN[Q=ġnm{䦳'Q?)2Ϳ,;nH!8Ast}_d)"=,9#y{$Veaor.k76GT}Vbb1zx6[B_\rtM;S_ۻĠ/?ywh@C]JVfv]`zk|p >k^fVy"r{o.t-{Oo3oY}cJ͘οR. .竝']:4F/l:2.S9'፥n{v+_OE[tV*á̮C7%jim-,IN$^[\(">ɼ?tBW^h$܍|HJvܕ#Cw۽XpšMדmN*Woz	)cE7c,yoe?wy4yA9VMq=q'|1EeLk*
    e]:Rrss㜳KiS7J<]mc/臎+Lףfe7j9,)C7pIYTR#ۊͼʝ+ڍ'jnZ/:-i岽rQGt^{[lfO|fzwȂOwUDi۲=$;*N
    
    Z{U@kRD47u^l${A~,[}MJv]WYguصFBnڙ3,st٦}g5Fof@3
    ˃!CXhua\AT>I%-u$Lx5/Y"Iw0Ogo_a.za<-gۍכoy#bV"I'%1Zooe<pEȒ[;wȶR9}=sH^
    >L)rDd;DV7Uby+vc/3K;)+h]*Ե3ݭ+K׿t&&|޺?7эa̤k2F#aXaUHu;zZK[Ϩ;[ݗi>ߚ-zV,wxo/g̝5:KR\_`=j7̺|bEߒWK2=oiJ޼`
    r:|yI+ʓ^^kѤ8Xg_q_~xd!b~z|=vR@=>iY'Adyw{_ynEIlܴ#xXCִTxߋ.˶ֺEqvk݃ՖfFH7.z,ɠut:Bw+RJ$ʭǟgR7Ȗ鼄e'ť.l1n)z!{mt=3O;P.d䖂R,WwRWI}#df*~	Q{i֕g3ЗVy=.oS>ͼokZBC7b-Xtv&[1YHIs}>UfI߻+O> vor݊.@
    -T	c{6KScz1c=|9Zy`	3rތ͒7CʅišY}'|M&Ч]S+2YCеQetKul3u_VF˥m}rY.2FO?|)Yr伥0Ŋ.4[-'2GHۛ*n^=]Ww9÷GǍ`]f\Ax$Vq=)~ =Γe90Ёj3}mp:UI+^lvU{2<
    QL̺2ѱE'vx|^|oH4;s*3`wgfz,K\2κNoċ{*{lM{:h}#C-]tklT(;=PM}8Z~l\R
    oY7bE112`{㱦UogםpH5'Ƹ!+{㳯3wFНjh]t	3ϫ.^6̴yS΃dYp‹aE;)@\|$ʭGXcKTS䙡/ֽ˘%n>7?V::|]d!ɬd	%ʻdDxO̼ig.C_m}4=?v,^l-cQg}
    zƢ-z3GyO3WIyƒI:eE'cmfiȶ*­Ej=ۛy$CVU
    ;|P$G,7n(E$77jx6ۍ;)+fA0ͷok=椳ikd{CѴQ1=u$ovb(pIdؾpnMe87$JYW8]ZK5uD.Y.oO{辕+%^' s|N{K:Y0kLe&:(y;BKZa{YȋWƧd	Xq/V.\P_Z.?Rg2rl}NJWJbz'|_aa!f}Ŋr3FK>}qde*^G@P_Y.w@@\$M#'jcqAQ>2ۣUu
    @c 9D2@\q .e22@\q .e2@\@\@Ԧ~!3>a]IߥH;s%7/,uj
    $uX.9 {H`J6
    )6rٴluܶ]I|K׷GQ (/_-Y?0( KDDۖ!՗~~
    ͼ}\FS\2vcG=8iϚ6jHYe>//?ǫg/$rLF1' PPP`ʿ7&XP	/֩]kIb|òq^+Aڽ
    e}:l.Z4s??]/Sz)ȹx8I휢֪KIYwY^VWO̽uߑy0& ~25љR8Zl><}%*2ˏи8\S^RsUa_\;PuEuݬz
    
    iLU?E4uy_^@Vr3UOT_n~*j|j|{l4	UdӲf\(~uY2.^௥瓿BvuVƩV?V
    ::AJ*JӗUruCu-O{71fK_o׺M5d=U@Ͳd2_4]/ݔ%(?]ERu8ژU*nkzpjKz>w}~c̹rugX	q@UlF?C۾wFR:U%U0z:O?uċ9,{L,_z2X&PdUaAtēovcHˎN^D+ΞgUe/]pk@9;Et0U*zxl{⦭Yq@۹;QàwS:xhQ?hZmIquf=QGo .dT;.QJ/Zvdxo`.}q@%;z?Q	ϨkE#ƪ:8#{bwz@\Pzvs,{Rރ)eU^!1JBV0:ջ;xTGo .d/AiTk-Pq%V u_,/oae|ўþѬ
    6kX:t}A?^Z:N\K[\>RGCMsRmxHObKWmelټ)jS@2roN>}>ѝ)@)?o򫭎,.z"/KS;q߾WϨGU*^:2Ze9g2JQQw}zUu|^Höض'fb.Med
    eUEF
    5D&ش=aW2MuzMmTDuZUļ͓Y%9nvQJ
    O
    YΦ_윫Q_~Pܿ}^~cߓP/qջ!)rjYg/H&^0z3A^rNQ?_ƂXLO(E3Pa8sg-R 8ӽ2
    P۲汇)Bue[ggE#_("=R:ven??fݜ2Koo]O6j6E&ՕꟂ,rxy2RRv'x)KAP#< .n$+/[lu\®%R9jQCJb@2,Bf|ބ:v.e\˧dKڵ7mܰMЮDw=q0%۔e2@\q .e2@\q .gIENDB`view/assets/img/speedometer_better.png000064400000242635147600042240014176 0ustar00PNG
    
    
    IHDRon=tEXtSoftwareAdobe ImageReadyqe< iTXtXML:com.adobe.xmp        U)BIDATxy\}=.w4)R),ٖб$zQd<<3x`c`?@321cσ==bKq$'emDZ$H[si.޻k9sZz!UWjvֹ9[$DZ>ɉ\C0G	፵`AB0?̭RNVsCZiz.̘V.2r'5	
    ^rLls뾃q[WUpGD"-5D"-WT*ȅ0g.{jG
    sB=Uvz/LOB&>\T&].eLsKjiA5z,HfL@C!t
    R
    XW*a&Qq\eHO}Xz?de=B].OԴt:Dǯ;	5S0nwQ H$kD.H[acK)}٨Z]]θg5=v3@H
    img0ݷJE3qֲ͡+p6 X탂XyjKḣlX;5 x{0Ag7gٜ3ߞ3T:-UWڦ@HPEtnpL2}ISLK.J=2Rcs;I|~ֳæF"I$i-m(rۑ3,LE'f~8õ&w2QzгʘYB-T1넬BmSU ,,߲X)Â#Y
    >{iL7aeL/ߍKA=`]Y,x{ïT">T{)f:2ԺV{H0VB(2jei(]nB"I$醪2q5鋻>m;[Eq.sS33CQ
    lEdY)7uϲl+}dG*z5@lt^{8sWޥ*ysBݿuQ*w@w	LX9!z_A]6I}
    [ےHo}YjiեmtH$kDZ\м:qnl]y 5$EgpYd
    %ht;;ԀX¦1KNJ(0X`!	dVl+55s!u6,|-|w
    ano^u_Lj-4[܃?3QOe`dA:U4rop1$D"<?;l.s62q&XՆ3Ukp,܋	هjd<$Km_Bg%5u{#cU[lWti^}	_{<,MϫCi~@k=(X*Tf^%ŗ"H$i˙ϮpgN/О׮L?eAT*UHM1UBr^4
    u~e@{+1.P6O.K.`Y)jvjoX*\9{.xk@[s:tٿi;5}v;Hg D"&H+{>TU]SUeTpLF g
    Nk}t"
    [l`r~m`Yt|JzZ.F6U`!vK)IyJo<̶=ZKfS*@D`M"[nۣ.M}ref_0S070P>=yaYK&%!=Ҋ(|ߟzѓFg@}!Wϙ=ͷߨ[af>\y75 cfrnH$k6zϯF8qNV=G\pT|~
    `:	AѢ@@62 FfY	h@6[:-f{~^n[M\
    =\߲o<
    $D"(.?UDqّߪ~UGvUgw0T.bqRy ƃCoye2n"
    ǺjTb:y0!"dKޥʃwx2wr2tfлXi$5DZ =\kt?Vf]`vS
    W=j%y1&.aʖ!dNbeGYzMB<[ķYGxihZ\[G{~}
    c~cgSo$I$R1쫃9#+﵍	8UùҚc	:yPZ}!5]\veWԐV22I
    _Avy4OxVlc?fpuQD"0ۃ~m^5>b!]^HC7+2h-^Q-,^:«	ցjU>Ykw'Mkwo6s][ wZ=zC;I$kfr.w{pΟRטmLϼ!*kZZ>Ww՟n,7F4H,
    uZ0tXCw:Ǻ}:,B_q,58-NNfAjݧNRo%I$j"ƩWu_=g8.1|
    `YK0ACRGa3XwPic=EGhɋVwEG&%34X4:M=u+dt}ڼ_+5FN"XHO3zms~%0
    Ln*LQkuܻaACJ-l	$ !PU^R;"۴I5W~޵||e:tNAa/j/⡖./BDI
    BZ&f!T&1>HXɑp{tvӽy%jCZYIkV;|'>
    @Z騺i'S`C
    \{Pߧ&%u"P£b(5iI=Jrn%G;}жˏXU>y{)6D='=1>CLm3E)@x&!pNOM|VBZQ6$P(?;pɚڏ;ֻQz'=I$R~W_[W^i]>V&*%XzNM\B-^P{P~B"d#WU$%;3;Hԧ㲨^.BZC:S;Q	? ݙS='=CԲ5q~5i->o^+йjO %EPiW4Q
    5;H6hBHhB"uFeE+3CEҍ9+|LBC7o;Y3;("5g+qzƮv-jo`hzۼT33
    8iM=`6,NYAH7V_ Qn͹3a.Yc}?`yM1,֤N<`Tybһ}uQPf:I)okS8^. SaN$Rg)vRqrI+/9wBsk^p7b_}QÑIeR}'{rܟ>qziiA5Bo-x[C-()YdH2+Ht!*/VKt!bVD	^vcP	MWyi_
    X:ꜬU'/A5mQqIt9̍64|~WNZ?X?sӏZD`Mԑy_~>OްġV=1NJ4yYA,#U.Co3غ(D!ITdO@X:H:A]PD
    Y	/\j	h	?~o5I֤ΰ&\:Woyb0w};NIYk-?!h'Cn3JJHQvҀYH21sh/2Oa$85Y
    - ye*w6oHIiH֤6}{`u4]뤋,A^cRq
    p̍]~j>!VuتzLL6
    #wpv}d-62bP0*g1qQUۅSsxlކp'u|5M'}COԷ{e!lo7dd;䐔pK-G̰o0COK"&Ϟ9{r ̩
    B-!QF`y ctsƙ*ޠm+ 6)3ZZ1c9gGI.Mp58+`vp"=YpLfcOta__jdU];!㞧uI֤F__EhNٯ\("lt.C0"-pI"W?bNGbxyHԟ+UNfu
    Cp4}Co0 㓬muR[xWXXg0nO?)s#]1ܝI֤^o^?s*Ep-iZOJ%+wtCI%V[9HG1+H0[x']=ۆc0hjr5TˑF`V`2w>r褥Q)FZf=w~g/S0eCƬkgEPCDOlZXC	^=:^X|ބ.7:iz߸fIuk:x{`3	hiq8+Rb⏺uOxi'륒E,֤E=|jzi\7%;(e/t-.؉QR`%	, $R-=o`QERGj֍QTq9b"LYm&[_ixdʘL
    #W`etN:?CZX]LU G-_Qx-s]R:`FR}	\pD\{,98Xo1X)5[Z癅pKߞM"WjHj\#Hw+*A.
    #W1j1L9hՅ2=L-6Cդ)p"}Fm<{_<%5i~h?7q?}<6N秖	׏f-!#(/;14Y_vϗY@I~?Hr
    f,TQ2ºQJ⺟
    {jTw@9;^oI~/Y̮eR.UN.*g?n1#Xec'#7V,HpԼ?f`MUޟ&ҕ
    c
    z,d}4Zf/"zx{eDZlc+ژGR6df I#,g&n{Aߕuqls>,RjJlWW1h%Sgێ#Xb9g

    u۹=?7afjo΃BXfk@F"#Wp]4 5X@*fo.4eㆬ!y тא//iUZN@=9F4>&툺zVןmaY3j>c]8WۭIdVrwz &X~ow񍟿4ֳ6%݅3ZhD.[|Qp@қ `]2no'-5mpɸ'־ǚ筜[ NhRgos-wgI+7)tL4Ι\dQ4ӘjRllB8}lj5(\xSPjW06#.oݴ}t I73TʣWs2; dGTTUōpJYc 鸤_񻎮R0??+SX&'.KB^V-̾/I+_RS}92 3,_+ڨEQwg{Bv"W8'!vnٹwO~[۶$5&}8q 'Q75: xˀ--a,2sv(D1]m?E1.{ ZBu ys-p-wuZ~}R9}-$I5,I+Ym\Lc{z j}^$Kxrjo [,yzj08Ն5[bL/ח)b7?ԝz*5&57^iS0税`/M<΅%k%Ջp&]mЋeCv\LN/WN뫵5?!k@]Ӭ:ǚn˛_cʤ>g dd-9kN "ukT[5wrA)l6gu͢4("T)R.DQ**# TԻ$E~j֫n(DZMLƀ \uw eʃb!4-WnLɫǦ|ƃٝ&&O[HO^.誵a0FZ*qܩBL/B3u0C!s6nĩAtiL<L2D: ,6K y ]=EfXtV1Yb26bgPLjũl[r#p i x9sn)|ʠX:Y{/<螜fR%/%BhLDO ˂sa<_AֵxLIfG9vb"peȬ1o`t<^[JF96mWjukUA!V̰&5bh+ ׎gFpO;w^%n'B`M4Yb3O^Dl~4M|,Xgq[ 9\6wӘ7qe$G.\2WVX|gy`W6JBtބȖl +ӹi٪,Z.r\TڊĘAI3z\{IăKL`4UVEFCR~^}'s[ xkRi}[~ޥxX j L+WK`}0^eCȕۂsP݄C0gqAΥZ'pn(A(Cw (d*YrHuƮYB$N~l e|zezE23ʐ\#)`:)c*%Q4΢+Xo6y ! wmu^:֤NX>SyGK> ?0-X% ^SZ՘}Y8!z a|dlIF ~EW+ȧZ}ڮ~ܹdj9j"s#D7[\;aRq&0d- oΕuU`+Im&;w_ԑ=G-AT][:`ce#Ⱦ DG^LAePl|vrKVcRuH>=r\uBgstWW`z%n餛gW WR9v`j/jlz{Y4(4F2?xpO07n㞧wXDW|v8C5M^1VcBj+Y5m0\",h`KBl|`|-u}2(H+#.qaX⼖ 5)Mm0E7 SrZހ*,|X=(?v[2F=C.;ƾgv^x [I5Bth k>F@ˑC|Vjfe \ұA:H>a4 A|a70r%Ao7b lx#I'_(E|\7 K+6trV@CZ=n`YߢkV~۸_YَzDRS(= W?Stٟ}60kjg?:?cl 8V絇X9YEuh Ɩu)-,t d̙S"G@KAsd~Fῦ)P&x-/ޘIp5g: /k=׽5!/"Sj9o 2A# i5~ki_ˬ;28~>gA^A t,l}p,dOcI+ʩC&z>| =W`FiuD֤;|.ݱ"^U~J/M{ֲ1ݡ6p~ 1rAAy~ِ5BOz2|/puiFd嚾>avj5r_} ht!][ թ.&݇T^ТԨ q [ p)-99ל;şޓ:D=t#ş\= M89i5Y GD*ݲDegBF^ǭ!ʼn[WEyY5ZFn#u[lT]Y$£nA׌ ȂQUq)$2xV9]'<q$4Ui$]G_T}h+Lqf*Ly.H^\ V,]ow i 8jq~ ^]d&&-~ R  9R(-X'Qe꾋H"^Ʈkq#W6ŚfVZxA^Fy𙿀AWcjKBsKdExN\{ ?[C 0 JZ(@B7i9뫺@ٰRWkeQ֤eP@Z*Nw c)o͠R5!\M.ku ?ʞ'ad/+xCƛewu,BZK;vwYd%- nE]b,4gp"ܷNf4G fŀ.]|p#&]Ivvnynz_-P1y垀v!9];=+2Z(5KH"6L-)s`\Ɋz[`Fv"I?nYﷲgY\]CEC.2eL# ØGQ:24G F60T  hloqjUu؁Φ. %t'gb 8*CejKf?/1a[_72/>FgPn.}0fpIe~w Hf0*t8ʗKHZ%voF.1|O}[dnA]ow fVɌ(m(zXQ&M {,c]D(],Ls{~Es/q"9&[BZz0g |doԊC"~QV H H$-%k[ B5& OOapU9lS¬d"ͳA] Ӓ&0b`zu z/m{X}?:;y)(+B6"u,/ؤU@,5{2_-KАڏd0r*wh Dσ4Q4"M}]܇ԫ槄dQ&2 X:Fx1P*5kfZ~t Ұd$P\]t W5R(pe +23T|A@-m~p~f%d?NpM`MOOMz+[pZVyp^"y;iuZ+dhR#'I扖͟ndZTc"ul |2dc5@PAF0%=k9ɔ qngv bZK/H#kO\\@.j i)L:~H #LƙVnbs3K ØMZC=Bww3 2V)M O0AuGܫ|ŬYiC;ܘɗ>d`UhR~WrNEƟUp.,q ǐeFI@t:iFޕ~>+ut=3W77W (aZ7 H%l(=;UQGpx<5n hlQb;{=3u-hN5>82Iף᧽ K|׬&)I tW}eD@w5a`axHprR:ѿjź dM5}=P(6&*x.i% 7r/+k^pH]vN 4\Ml- ̰iuAQ`#Cr+S\106O) $tLoVogXi6dm٪?.;en@ew1+ohViC  gK?08jV`8;v8ǮZI nq ss7vlIj1F_~ڳOzrGMbpF긁P6{-O.UoZP.ú4xZPo4P'P*Q]Iٷ(Z)>%jO;pn m,JHk5,BmhpW4 ʺ7~Q!ekoopY^0c[x:5}˞OM!kzq$^<0%@h-ߙL|(Z G 봚6!|~d'^>̯XKZ;3^d˳詖\nj<_g5Blɣvf"\EE>5aiTD,[Փ%'~$;ʯITG7e:V!IAjrj{W^tRTΜ3Ixe i3Z6 c4prQL Ը_s?OVB@FSWq= =tjYWZ~Һ*^ `a2LN ,BkѲ:D*_Ic]u(q5fD2[ӶD/y[1jMWq+/?P%L2tM_~,_0.K*ޘU~2^1,o]-> w>KF`Tw>kw*uscLyc=r`ց}yn& + GThEFqv:_uUh4i'ڹ-1Xͯzߗ:WyQ9"=iqv}NƋŠ|x(yr4R)o,eX42Fp*cruֵLڊzm֕UkåKH5jRW/x0Rق!83<Myan;u~=@-y}]1{M9)8N uajIDf Fkx=ܭDMd7d9a{5 t@df#QenuꓐoV^KN՝:Fхfxe(6{WT90 4-ߢ'lp9e1TP vνu/jLu1j'Ͼ}maGԮĆ4D&-;0jú: ~F V.(ӵj.Arb2|Ml'`o54.s!Aڲ,혔1g,V\m&nE^^5,afꓲWQr]&x9L+X_'<~E~skvA.2,|/nP- 0#@X0FeAcȗ<`9YLT` mq5]Oc)V,q}QN@D~9-۷AyK qqZs9!L FkpY͘c\.0$#6 Q-A:UhɣU| kȣP B5AXkK+%81Ç>RRԊ?7EփrZhedG4c%xH2Q _$7m8BսŃߡ:R,ӿ4)[|}X2IW3%M=a˪Z>a.Rٰ qԞUzhyNBUD~d L&&eok:AEG֪D>tFzAт:/M6>!9-gئG5K5kgQ~s!nOOLnOR;6S;mCo%܋S!u |˒9jY]A;*͂ >T?{o$Wu ι[J@* vږڍ_m wDf"쎰ybLijg_&ڎtDiwc#b!JJk[.w;gιK̪ͬВ%"U7>^)R+TN~#[L~j~ fW}hBbA.Y;!3ӼYx.Q8~*7u. .v舉C Ԟ͔X=#֝:#]v!w: [2(dE%6Py\t[|Wjd"y0R+^i0^3;^FP &L'\l,D*S̃YWs'z pCW2XT8=1r"Lͫ+-h,shzaZpI%S@{\Ӣ!UU8.Cx\g{3bjg*pN/54^QX"=2qr| OɥaMO7Xs'Xh0tF$jQUH<*ROPWU7HN"X ZŁ9O*HlRA.k2A=A55rS+HDz&D3,4G~\W`ܚz0 ,b ?sF%y:ֻ{0,ώ64+&2&lܓ Su8hd A /zŤ<*pxr>\$6\B`K5.&}!!ϦQH .+\^RM!ސA4bլɬL-K?< -Ĥ}Mb)b}Y1uMoFwq"H~ESo!ء2XTBh-xg OLJpS/ uQQ`bS5fƣB^=&r{J㝫%ľXɂZ,N,G4&z׉5"qC˫!$$yqT]ۃ8{kZ&yh^ ƈlGt fTDp$2mU A q11u|dd<}ɢ*ԏ/Y|$Q/cj}ߨ )/ʀ/WL_;]{|?,7ipL"{ b~kydΛWO}QeHd6;oKQ&bV֞,,CdF'E8)*yx8%oXus\$Z'Ze$/Jʐ4F*Z,Ds^dE* l"!bdjuxH.uөnz׏ɁJeMť6v{ΜPa%}˳LiVLf 0CbJ GF j)R8f!꾶6 #fu/'(b}6OQ 6hW7`r#ᾕX)xI׬PY/lԣϼW5A$0FDt,03 X) )z;aZ }+kN_q pSyfG{f3gSggCKO4)pm\r Y,IF)U<5ěQĤ PWtr+n0 )Ls%O :w5.[O4D2^>ZzE&]o̞NW?\R8Z@#N0 ,<(Yε3ƑxjhOZZ(%LRV0/Ge lPX%MHAE2~$BwF?H.'ީK{h"44:$^(f+}jz\d;'D 4F_Ugb0>q{Z"CMLJ!p nsg X;+gż'*yqޘ~_<7a:e$jiTx"-lbB-:Yp| 4x3 c+Sw@jTQp[Gn0!/ڡagٕ>1${@\ޙU{Q L]mxukD`r8/grbyAMITp4TVX#̯d M _LKO77zMq?=O?uԫvꖟEs$qϸQ5?i.=S vΥ4!M'OL IM$_ýՄGU᠉@kI>DgQ.t!Wьk_4c"Mc?mjWR~4|6ga33g/1 !1h&40. Ip9Qm~-5Du.]@}̒@PG`4}vCi]Wky?Vtxw{cbkT^P&e! '^ߠxvfp7gV:U""֟Įu~x t!o6Hz,c>$hXLh2ᐕ ,<ҍt~ň^[sU0?վ/w6ҵ<.nSA! "dR&a6RAWJ"JDI#-z7b&g}M o2?p,INch|7HWz먈7uCК)ūܼG.1.nJ#(=Vo-Рzav Zd`}^;b\?h0 ),! g|lktWҫoQ[U UH/{|_/OhcOp#+H'hO#mAcԞ>W뫛M'&}l2ei" sR-V-7"G87XfO7x߹m57k+9#ƛ|~e%U GBd_ X{~!s׶(ڂF:.B2'ZC$j64<( eR@ѓ$ط.ҏty5n,{V]+E ׷_쉽H&@<*D]LDT16! OtB-q!ٲ#]ҌkCצˊA1e^gYA>KUN蜄2# Ax5Q7>,8L k-r/$$~Kޱ?ݽnRJKlZqll/;K}11z SKOt"@G{>e RQDZ\j&e&i!Z|+1_T_7DCŮgirt@]CEN}hO ۷ug0$<OD{L (ܐ9&_~nXzތ\́g Ɗ ֹV츞 6Wv%Y2+Vzz} }owr׃8]hD9/?'5Ƞ$ڏGڏ(mBn6:>r>78?ycV*}C6cӘX-"+pJ -J~J%<]լRhщX|S@8%|o&>|aܝnZXĎn?݌<+њjCYX2Mm&S9+meh!Sl(dPudʹ+g ~;Hfעݫ_\w﫪)\I0NmeXo2W= 殧S(ꎺDէs2=hp$ &^EMGPLg}ˈ[ZDv V+e xH}}&}u>% *nx7/tF4QQ%Z= kXm]cٍ&?-nDeE4ݏ= ?Kh)7ne_ |sC~S)s)hFdžeUD"*\žngNO|7/Bק08"9~j/#NRhՇR8bUk z#sGl˔B܆"IJch,\}s5?񊩷kkj~LnM?"DV>#U$s\fzuqczx+ѓRy_-ȶyPS|5`pϿշwVi}8禧}o+|\[bEӽzb-ou8J x N[7\j SO,Ǣ1>-6nٺlWr5_% rrw]ܗ?6wt\Yǵ# 6M8ԵRŚj| G~F"0:6sa|hR:9;?饫((4o˟9}𯍶 ^|&3@)#EF\VTrᐐ Q@0qq\bu5Pr=Ґj&Ñ>Bvn>|[ƱOlF>e:Zo(}/1$ԘWꌼf & 1mG-'sJEFy(Q:1 3]q獮_4ZAa.skȭyˬJg7aLsOD/&N$Qޅ$ՓH`8nqa bM _[<5B^Tۃ6%Q2쒶n_ gD /w{j$})њ`[n4f8c<հ'N ~z@QV"ݵ7|TzVP8A=b ݓڎgqܙQL"5Y.RsWs+LA  MYpQ De)(\FT99hO)p|Ď?]KzJXb@ g -dl3f w^D97N%̡#'KdOtLd;T ~߽w§ܼ-Ӊmu,]сAX1ԃpZUjym 61MC"u:cR{U/0򦃠z{KE2ܰ(+:xw]2 }v#W%g۰>=FgRQQ=%r>l9fIʋɤdE EĖI`Ѷ:kNp?dfvr7m++%Nd{7ǒ7ԱN-j] ^nH<=^qSc{J\,#ˣx\$6'M腒3+5f;~vDz([֐/EX_( ~[_Gjb(tOAĘȲFe#rE 9VRѪ#rEHeC39fy9)/CmȪE7Hu|BQv) =o ݷ>ˏ7nڡZG{S{;?|§gAʂgVc5K\)C{i<ױ̟~@#q6TBZI38b:x/ !ܠ_Ԗ +b}M/,فaL,kkBwxsLyXy%u/ bNqcxO *&2Oqr'vTfFrːc Ow+{vX]7Vp`8@hI='h{M gؘ\anQqtnVD$f1 - iNr-  RVxV0WƠds:GOI_}FUUk=w-b3NYHKΉk'ƥœ|g[nylG *j Q9n]){;D>Y8rl%里r(,mu?k8j3mCHn ^Jp z/8h&9fMh*.SPh4XcrYB' >tH=7&A g-W ZK&UX7*"4&۴ZDu}:K|?% IY(}bC"FxWP@SZ˿1c/j07~1{Vybf.1j'] -9 9{Tѓ|֭W=HdlP IWˣdKc n\`{W$+ZAh͟^t}_X2vH## 9'h`?؞LXsb=?X!Tqi8 & -kokm}s-m`utX).7+ z0rE:ƨdƨx8w(GmyduE$. :U" gZiA,u)7NR;r"WןKxĩjWl@VB6JPv\YBcc 2M{a$qu+кAT~,{zvK}pn[6۷oؼMLC/cDϏʣ?MB?7t8$08V0.C)CiL9E0W[ h2q,xb]>cޯ7wdKu&Q"/~(RғF9Q0g=W8@ *IY=% Ԫ bI0!Ćt|/2Kan}__?1Ɏ>Xqnh D/Vʢ|#82:'JDY-A`< Vus4&|i" ~뵟/>6Rʼn{HueOZsW+}O}}C?y c{b}T"9!Fo<Z)҆t$!Q ɷLY)292+s˷']WcX?-~PUse6Z`G 3NהX/Vؘ#q>wcd`x]! ⋭Oytu{[VPzо_kǏmaJGicQYʶFgF2S~lH:ʽptپ\:k+M9'mE}|ܽKܑ@4Y]OE|d?Ͷs=fI0i$üQ8bZg(،!o[j! W2mFжY=}cwTw輒gHL4kyӂ;bf30f+((,Ƣ=^6D; 2='w(bP0ᯞ\;~ݑگ]S&w_S\4?%Հ{h=ܰ q˭?"oW-CA*&=7N{KSC{S)1/Z?!f0,GcTc…HC"15x?u;ҫv)b{^ͩB4%Co\YFd*L9,}gţKڌλg:d?e)Po/|' }[ׂayZ83"b*\Ѕq3,|IsڗneRsDWQ eB R}H ?t&cV'z/Q.-+x#d"-©;1XI1ckG7ThV؈6m)fpR[8yxH^e_y3ͪ؋av\~|=l[jk}f0+(cQAg)쏋JVv!Q>̕FsB ħq>*֍dY)*bBWw驶 WRZTwO>a~LeFхz>:m6:HݪR4ri^έdT+PPP8':0:ϕ)ƨ&J $3 [\$1, ߤaZ>D߇_uf"֭y@24ƫf-0R1z<:GdaM1#MigOnKJ3Ǖ7RzH%ߧk?̿F}Oc];[ 2ݣqѹMAX@fqr&ǭx/xUuB->"12iVg w~X6h:,| +c}+MM2>^~ ~CXI BLkDcHd|Bo+5؟\h( R Ŋ?={NmU.Ȁ޶n[ukЪ,aʜOhu $hgfn56s8a՘Zhp?1PږhF0v(zR|;?s,BoupwbѬ\/( Na36Z6Eguu I'bL >i${#gWpFm ?3>׵;JB4>)W(ݏ[|| PbB^RgU\Hmq ;lo^Arm7oo[ZA4w|?} _,0@>ȗݕ 1n>o%flt O=e־ AթHúI0~w7Ɛ?7SZKKg'o^d85!.U'5Oףx^E@k Q>8` (A??S WG+On**ךIE5#M לΛ63nyl=HF$MmKMD=>hb}^}LmXwcK{Y.6oJ1Z|8E0A%wyrGT]jPj`,! ~Dy[\7>pĄHC~o5ڢ5x#gTĆ3Pߨ<~a%62\L&4&Me}x]U1'H""Ð E'2q1m&] _z _jy?o׌{?!'*!,jIUyչ{@r1;[v4<}W5G0$u h; 1y?3{`т]Ě{}[#H):↝6>(Fg &VO>O\OK@գJ4Gzd$AaɘFɄ`w4<3ԒxσgE.~n/}T*m:yBjq~c乇d$(,ēzfwpmCFXd|i쇘fdg& stm@:72d>y7dIH`'*;h8wߎ܃'ZB+̵y-U!^=!2) kM.p'4@DDI뭲ԁ7| ,ci*w1ȗ DO0#س%45% 0ֿzg)qtw+tǎU`~7Ɋq³t\2^a}a k?,%0+>QBvoQ>}4;ʹʣjaM=QϏ̬ǡX_$|Cmg}*i?eǩ#_}7M/Z+j7]xhs'ϫbyRb.thD"R=ׂݳ[z" Oy8(QfJ >mL6*)B AbT^X( o FXfylHL"z%==>J}H-FX(b%}Q Iaް^r,ӹx,=n۷t9?=vF a#1dF]%y~B:HކԢ>>ù-2#N(((,4zv_[fwa/ŀX]&fWXZyo p$w Yq .)(x#Xm,,w"hB7X[tO-.n;uqE[R6ȹ w-5kl4NWa79bŰ1 -1$|~νGjsYu|um!pw3Rqxf͂s1 ew"{~Ƶ&՝WPPXc6z{r;'F7qÀɼc9JɮƊSMg/HoRs<c4vA3 "sFܼS}0rVH@h2 Nɀ^Pu[六:!=bncE/$sÚjP.2,QVke/ZAL%T+An5& WUj,\y8nNo$> 㫃d2E-EH՗gq݆uQ)rc p0;5HxVrĕhBXuI}{H h\yArXdq$yZ#k0ħ;)YEpgQ2,k)Gb|'r8HBQ:uN@k|߹^UE/Ju;^Aq̝5 "L4Aa7e`)VqJY҈š]y.󿖴Z#NkBVD2v?xA0l. XWTPPp{}[OخI:!!:0-d׍yoR7({<ς١G2ZkA! oGOF97k!6O@ٙ.Phsn~n Xf,w 4]@n3mbKYVI\\f$'UV(qmȗ}^(b1}Pf_{`iVBtg|'o&)=$ٹRVhaꤗSSʑOHD 7ړۑ?nYS+7/Z_~bG0k@ FCJjr . 6O]=L;𮋣 3u5+QK\߅!L0Y@3TsRc@{dqx\?:^QSH6%2O&[ІgO?1uK e.ǹHQsp1lO-&g#/>)*zn3'j_9^4ؖ;f!$asа.57ބ~ *((\d馾|2vqƬ2rHE6i5 ^*2٬Äֻaaļ 1s52Xag#p1xl\*>x%^jP#^V= ;"9&7MdڷPWw>fN #킚E,^ʴ g9؎LQ9֜҇KiP~j$Ck= 1rǰcý5-G[Xt{k5pF+.bqz|;+Ɏ36dNσ۸ί^x')ɲEϦM:iXo ǤZZf@o~]|3ʺ)(((Ԣ/1nE F o* 918v O.s E-H7uǺPS4t-ff8Ӳ$8) `X,}XAk]0(i/^`5WS; Ptܢ6HG1qdoxXk\265U$h^iF:CY~!kp;2Ȏ k3]C,J* ~ng\6WYuNE+N N*5|?|V6X*}P*ô1b {Ba'.x% mN'RWPESEbl50] abĜӁ-^a\!:ͣA).FoZ PC#VT/j0B\$~+[n)uk[k[FJv(UHإ Vr|x\z=;S&fҹ]{YUr\H֬,ے&=m|(miAYQq:r VZAAA)UXuu+=p1 > |~Ge&_ڏ\ &KaLp-/ b< ㄰ 2|d-S?p8 Á6dG:(1C~@uE[[Ժ BwH|zqan}d KƠMsziI"ۆlRf0c+](?zT'@zEѡ\義***(((qg=.>O{פf|1>"{L^;XN=CFB[}҆'l!,!T Y!0X:&ޟ=8A^B13$W#R#$e Be؇T32@ q < lh05I1>X]E듇;o/~͔jxsޘ^D}>\&Lעi)BՕ/w^F(mh^>gfW.B-^qC o1ܥHh; |%:8!C?TSB*u)*daD]>+A:"ɋu ͍ KHBh9R]M|CⳘi b,trɋ dC_~2D`E?x@_ueԌ|~:T֐OC1ۆmp1[ pK9L#qQL^.g5Q@NfN4=4(x_j0A5*SY*!NxHeOQ3lǑIe,)boYE%сXqɗ4#hA%] 3.!>/>hΚV{zS\5>IYhAk V޴?)å"HKcsn8?x~8qM>xEI f#TPc(0wbLqEBi0QdOSvho?s4l8T 5O;{ȡאu>$Մa׌ URTi8 2f^%7pIE#z!OVNNa%A'ON9 S Ea#p| #>,NIjSl "l2Y a^O@Id <\[a.9-7;Ac-C<4^&HLda%aѻ*ϝՉ#Hux\ 'K$h I*e "qI9=5FNTN] wɋq2[-ZF7VpQq/ VoZc T *Xr~(2>soS}Œ!PUh]=T<;eIx4))^Vɢ xTPj!s_fi0Dy؏>P5F.[7]ԃޛí^@(:%CKİVY l]JThHTeFE*֝WY].Lx^ʼnPTAx1c VJfXX=TJs4j:gf#ZC ZzZB6 YZc]c_@MW?綅)ى=9oYS:%jĥWP$Q jq4#HkQVR:T}Drm\SMVT*r#F!q8dƊsP,>$`=z{y.zö[ч+퐀tZ]Xm(SQTE FXg =A|ubDjba{P]n0p IB^a{#_}Q\4ݜ1cTj_1.T|"*:UI_jT)/x{FX8GE̪~pIѝ2'suA 7ьAvW!I5d.tB{?OuQkD:Cj]H@NTԷ!kSMdmP 9TC6r#NvI,tĔ)Du T+SwrBClΩIlC{q XF>- jͥ +ZyBdg*Znߓ|MU` ]oT8L..cwYDWA_ZBS+:<}2hژ1cQz2*GtT9/E// B Ѳgf/JGz jqV,KND}?ɿ&s U.u bg_N˾c3fA6 0j0ꪅ4=9"pz6 ׊QP̞Œc~EC@gۆC2''JVty(e٤=7$Xq1\A"DH8Kd'#2#oу5f&o亪I8!feuC'SX'.9GoĵM׫V&}{F׷Ӳ\) *Ef*! ͖U]kY+~jWW g߿8Om=wLK1f؃jQUO0r8oWhpy_al -(\>Ba!NQ|s 1H ڎ qtz>w(hK`Fd-7K)w[::ĺ*1 |ycm `A BQ jFI7?/,Cq=j [W𜤫O%r2DՊ MTvC09{] _?kT%6F= Ş<-:Ū7 _a5uZQkMkQ'ZJ |(n d:Ǟyƌ{0bNel) F9)1<]Nm]c|]XT# Bz])SwZ'.-2Q<5].(mD N Mel[OU?S%jCv,c\[["\9Dc[Jj2YmU2$RB}߮8ksDވ2_WвZ}|`̘ΪRNe3WNwJLQ\'*!ezpŏ@4(BNu8*peIrK'jDuվ>SX(VǣR+&LX*~%J?5q^2JX _zk{R;PNZ8]8}`^p7gg*zHD(L\n У*2:[Sz%KWA7LԺNzE_VPJ{35fq9+|O6f؃aT,u+RU3,,,Ty LB iyz`sصh0w; lӇXFI0= 5wΏ}{B[*q3vIQ:}]p<}sjD[VsrZY+ϴPsSw.<~ /ZpYK o^Z&eYkڪMq6J䍐7u["PF-Uk![TK(*V%iUBGĝ ׫V+韂ۆ}to?nμ1cg&%rP]x'WXŊHDLJ^ iT,+:LCJJ52n6BhI]D]i>[5SAn4z {p{K^~2fi* RRV d rv\2gKS BXUp]aZ LEJQdiԇCٝCt6ó?JbP*B۫<7.uO8D:ltS-UUjƪ;X=Вӵ~ 3g3f~4NLN L+'Q6?y(Ӻ %k*QXDu\fճU\-."RINԿrVO̤RHA$!T-N~ܷNȧ Ƶ#f08}薡\ĚX*QwNa,ۤNCZo:Xg h_{o#4fv|O/j.W;R "S7&%&4eFjxTLFV=ډ'?G3f~r@)Մ : 3e< ~@$qkGɉm[T(9Hq,ʹG;֑o_*`*CWJ45P!V͑jgr&-ඎ&_c$۬H5dS8ru8qw:+*$v'xHxɃwϼlδ1c7SFWGsXtGS ^[U;}K5k$,QMEꉮu"ZPͶ{w~_Ă,F&%rXԗV#`Ij{\jFF6j,ZJAK(bDMX_v{Szi͓օw^A-uwcwU6ZKuL $O]:wa:Y6\'/:Z&CG !2 <_v F]ј1cW*,j/P3a㢎t^L%< (V=VB㬕_Ue{%> }KۏܡصEEYP{XY˘ >T%jb=bvXH3R+\sh22x*vz \Nکexe\:̏XYCuj6տ+1*fiMsWK]2:Dq_ Զ6l:ۏ_>,nв:GD:霼hiI,JyIXlΰ1cAݩM T(#y _$ 4Bֲb -k[QyfB'FuGcoPOq/?f \o,lwDvϦZG_9]m勤`4=B`.9_vPs$KqDkJ+rՀ[5i9<|u:޳i ֹ~u:㙐/ a &Z(ӈ9}%! ćE.jX9qֺL)Pp1/1gИ1c<]z I-yZ PG<IsKG-ts^y)\U䊁+}s ~Pǻd|&@T#3w?|:eaqoH; }5i|'r~D5ŮaKf=@㸸(Vc%(+NKbh#[O\W7BX&MQb4Vr|¾TnvC5~+AM&qqj Gz#9>i[)B,f5Z\vוi۷~G?n3¼jg6/~gF !(+$%*؃Ns 7FBڇ}Wd#&n ^jG\/ 0RFmi[.=~f<YK XZ0Z'\pjEĭMBM֍Xݬh2V+ATK -G}_m{=s3%a:ڹ,ѫ4#}<">KP}&/1S q˗ E>rb0@r<5*qINXTrCs.,pxORKsZnvȒ(?ӥ@G 7ȳB$C,(dY+~+ZEI-B]<܈# r#4RO2гZOɽzN~)ҌW~!\Wd}av@7/`e"WoITOlWkvcO=t9Sƌۊ2g?TF u+ Õ{4~ \GADr%)j.+:ݝ!JMKeZCidp U lͰOf{fYU 0.#,-!JdTU$D7:#M*)&f ;Q6rO hӘIZ}_}n42\Q1'Tx]6p4<+Qx(/@D>V7g+نO*V9sƌ*va.l-Po(ZP#H \e 9R䥸 "jE8$RP)~}IKa bBkx]iDvO(_s%fv:Hb0\QO=dp]/m&b-=QR*jL 7UznNmP)|(p]並oy.)k< Ϙ Ao)^U;n$tιNRmni(D8/-TzcSƜ9cƌm%+B k « %j~ f| c QMkRs3MsbE;>Ee#ihcX˟Ҷ>СW0T kJZO6j>]Ӈ.}e<qCCD#DɄ+p*0!&5RtRq&pԞJ"lR,E%*(`>.t,E\g77㣧^. c[kww3ě]M,b.{.[R?n,l'"rWv&у ,G?/PX|ϓлy{a{o7q%!/ҞgU:!QưÎG跭,C;BO8Lu Aώ8)1-)]F۱g[T*/?sslVW{`(P$F R;j\z]hŭ :Tp,J ¡w)uB!\]lun8 EC*E*S4ڎ|m 3f^פ7z9yW~9Ԑ=L6A At Ta::(Dcmp>/DVFCYhJ# ]F/-^jKpՏR?~ V%I`8$8Uhr湼$ԟ%x]=`Ьv)XнoXO_ $ n<ƁWk\L咅 ;#!cƌMcD;VTI`>0]r Z3;g,םb L%@XTtB: dz%Kpw GZډ2.1ݜ4ݴy/m^+xϷo)֋sRBuǑP8mq[(+y/qٶQjW/!zii lLC8Uj-~*-Q`8Se}thiUAQ+S3t7/("ɖ #(g -Qj(D"rsaV\OYG0Vtl껣lc ShU:{߳1c J1P$4nq֡ ^/ǯvٮRNbݘثΓ{ɜ5cƌmP͸;aI*l]˞uOl1Ep"AV \2/gCvFcUIEqԳcW,TGX>ގ) Y~+zz"ҋ=zF֡|ׯM>w6L,""ZB[B*%4G ib4%Ʋ/ 4]:||j'9ym=H;kuvqLu)S& ߍͪp/z)zc G9cƌ(&%P%nsꉗJ#EG'&cFS 'Лq \̀WPh+tcmg?M跔[cO|<,mZ\s>g#-( @{/+'w ArkC%j/y,pCSb4IZtGξ;ȩ`xy&wmz#ֺlv"!"G?)4}vՉ+d8\~,˜ E#"IKVOTpR@'N<НR6+'FjMmK { Pov,9#?υd#ڱ|}RH 8'̥2,CΟZXr{@FQí+[P0g)X3O\8A} Qzh˴l["^/xXWɸ6<8S80o1f؝y%nu! } 2…,buDb[?\F+!VvN.>:т-94onkf=ZbPk7GݽJ9?[܀ɠO!W,pY_`Z49< MKu5f.3biso'L vFVyb_[O|39G”;<9; 59={`=r[rCh̘۲jRb%PQTrŋ@ӘYV"zLJ*tؘ d}1~T =լl1F6!UpY=qD;{Rw/fڞ]/#_$"tX{CQE%HNQ臮FUhQT W ĊLcJ EITynv`]v1[ŋ/{5ou4#T{<G7ޡR6G^o̙2fX\>O'%qgSGWR0χrz2NUBdD/q5 bAƺ ތ=ΝLPkQ8A v$3%~}fE՛oϕ;)vKE:e6٫baL ʨswvn2A}R{ƚNV[r97U;v{`mΞT# f# 0eTFcw{Ch}P$*=:jb3v[v~NQxT%ʖ4$xcDF.-zmbV^bm#rϿk?U (;Z岛\璐Sm_Y^+&@*lѽ 6 z`LΣ&dp5fEq![g"Zcn_@jEV9<Q{zg~ߜcƌ݊U8Ü;jP@⪧P"}-G[vcI+ʨG ?4Ny"̀GHU!Ho/b7}VH98!^T%ɶA\U4P}l(S+״c]=m%P%`>bzv -u_z2TTQ ߨVomkneUZ(f}6X^ej4+7ɽ˳QN/PG!pɧOjcƌX (űRs\1SOxsZ\7|rF*32 gLlq}ņ%+3f, ܷ\3fIH{@yo@ yzV*ER n4LV=pT-m~(N~U@Z2v  ջ%z-KmB?;xԤ 풌T)Nx\گ5(0E #+Z܂gJ„S^HJ. ޞT_4Au. jRQ-̌mjذp({S?s3V5.yj pVV'd^"^&v9O{>O,ChP!SPJ gE C,Rʐ5lθbhVY@'~[_ۈv2!*CIhzWzb 3Eۻ'`N,Rby}|;z0X3\+ mmQ448}W.qT˗`g2_ [}T\<=fOC= 2&UO*h/ڝ8fq~9>fΊ1c]^P? NȋP1b,p|; z KY O HVsǰbc0).Y4("i.'#u>zmQ?y~QG`-3-ag-42mm v0k_x_2.|S'$*ķ /Jm YD,h)+k +uҚ? f5A2&pjAZ`8=_@R99JjD܌Atcjua:iy[rZKs3xC԰*8A}s|/d p5AZ{jDB/ >isn`oc&NN"PjeYzvVo9H0'd@P-$V\7[CuߔлmT7S¢sjSeԆ|[bD1qG,ϧB+`V-![-w魓e Ԥu\uk.J3C'y »}M; GU~[?=I] dCjUNN~reaJ-!#O]/+,%r.m; Q)ZMBˣYz PѶiCoM <R!vwTejyAWBm^Gj95b/=ֻwNwc8+|-?^qBw(<1T$}ܚ3 a^mX秆_l;%XR y2A<!UT*/Zi3dGg,ʅbraz[s(Sٙjlz]WPA}b_p\piP܏Z[ (V{)}˴y(1?B/Z.Da޻Z. @ ;%>i-:QW9tt(2:-lQO| mgrێ-rS G`͒kZl#bX:T3IKy-%#vT+wzǐz@w'(> qYݹ8Q"!l2P' ;oȆ)% wڌz ޟ< |}8?[<Xޒ:SjV:l>{Ka}YSg9 s=tFff%Zd6]i^zO|3aXs{={f'O^t)%,.-y|zP($2*euy02ؚm}۷oǮC/ٽ;^}Oot9 0T:112Oe`r,9wH +p)3NP"h[>#z:JJd4?G-oӃiNt8!MC<J$Ѿȧ{d3Bؖ_܆oUoH]V1F*z5 /k8_Te[qC{ܵgsw^V֘1w=s& W\yܹ5<|$fg03=B?4L+#V櫯ȡ ?[{ -˂hiiAggvx/ݳ]C^9zlc+p< UfH)QT$¥ӏ*:l "DIߵ^ёcdKm=_ƬW2a3ZDNQOmc_̾Y>ٝm}c9}v3g{~w,˲BNSAPk8 /S+IBr,P ޮR*tC ^F>73yz\<oulǮ]x}1G@͡?o%b _g\Y+٪rHX/3 i8m)zwujG>?;<]yy_< Ͼ&6=_4 h"A_!n j gh(:1'$ @;+>_QWOܑ`^Q=ѴևNfw {_tYQ̚cb +cXu3`ZeLx7[XOO?%8%T2fUǷm-j8j[ħ>jplsJ=O>?/^8SSS( :zHGBla(qrl Ъ1K· zMjuPo`*i:4ċW nNZr\Bs3=#/8q;|W._j긐V'+}>`җ٘r:#3,}DI5mR c˹5D%t>~ߢat(!W`ւ-BtH:VQԕAD>QO4Op&;W8 J3݅<z]_(Ϧ/`[&ɲ-0ڄ!{XRS?]{Ys=Lv?rsT!R!W48mWX: Eϡ7~!_V2\:OX "gP`gv B.czv(_22>¡-cu{91a)2J`- iJIYtBM&?\ꥄz" <2UJʉ@|軎d%gZۄ#gz𥨅Dc+l?j-H&~s{ɯ`a soXO1V` U#1ufLtzv.ڏdu9&{썟?gϞJ"]amT+}p-0S>ʹc) :ОnmG b{/Z2JeIivK( 1;q szvvP@T xWwa(/ >s㘝ܟ >;VyT}e/^ uB d=`8V>C>ک_E)7sbb3D.P>* d=Oۧ]*Z-`oFa_Zh;QN6ƚ^9J0no*Əƶ5ֲ=K`}:ƅ9dhfr] nt|W2H^2b{__|jy]CôHxʫOq>?jsm]ho;b; ΰ^&UĴeAO-UW+=aK|Cs/_\Ňy]: -t:qU/.(>?U:8&+WԳgK2fmzGՂDhAr PODTJ'oV7+a d%:i?![,<Йq#D_O67nfUKuwΩ.!5  \'Ӳ,rv]`-v;T+Hy0M&[ߢ-ă :4J{ן?~_^w&'Q,֣ 218g{ZZojk+iǁnTf,7[\EUM躳XB']yX - ƞ< 1O.47k-Ek`uQ^f\EnRac9z5 |&Aw QxA(9]=cq@&^ 4{0S{h_?ßb$좚 ֕P!߱ xGC'ѽן<eekO#ߚFID -%CO϶Pv}sDGņrPlq0.f]P@,}wE0ʣ#G/ӊ⻹NMptkL[5NUзQa&ԁ.ZBG>BZ.$Y3u^$T3lѺ vN`i-Y'c=v.vlڅk F=ح/u>Fu12цZX Zyڥ &TgWM#98ZjIjqc33-ib<:f4^PaO|}cWӓp vM|ˆiAKw7#B= #PjlUˡN^ &"pq Ѿ*KvQQ.TC] nG+ QhoZ؏ mG5GQ8R K u5]3lKpz=31w|UB|omW >R{SgJQ{u_Sp/ͮ /^LFAZ8FC͡Zt.d6챖CR1aZ[A~rv2r-u.Y^*iѝu bvV?PzQFpfCޜcџgcu>t]Q{6 =c?{o#u^ #23rϪʬ̬}#Eeq+J60MG=m`Þ?d`cЏ10#`ui44=բ5$nťHڲܗ~ދܪ%VES|̈x{}5ZRFl} e/WAK+(;:,=VXY `e.՗Dob@*:܃XtF,2c$j'`ݸ ea^6B#n&fn"c9\=yŤZLzx^8)6`uڒ~t )Anlx=~8cDZW0gg$[WTToX*J2C"ziH@+t$V.E[%nxA l_=X])J3=.T *%:9/D;+?zo~JЛ#}L7q/>{ +ΠAL YԦ\C}dD{)ñQsTHn#5v2Аs$2}#lۍɓO30up/RZ? cO?lFoB?.JDS4u|m0{VV|9pHĺ=15oZDR^Pɾ=:8dF䁉$x28EɸpOV8TK*HXC'n_ Q`KJ椚Ow]؎*k:sGg2}}g"tݓ,h%t<ʅa&H;"׮ή8Rq(Ѷx_װ^,4j:kt]6W%RǾx翌9ik"fݿ;x2RE9L讃ѸM:7w!* VVOTuaXýXcdxzp=CX/?[žI&q4WW@/3P'\(Tߊ \" h() *6(xQ)& g _}Ir} mK[A 5A=Kh5u \nsszA7-yA /,Kw蝋nOculމ#>C9{X[މIP?FȝȽc¯`[8h"&y OCI| Zj 5lzh 8|"q6\N$X#A:I+fcXU DfT N+{/M9:&NS L>-$Xe?amt{S/TߗyՏ8<_Q7QSI "%y$o4#$JЍ EjCq IX q(l[>mDI +× OŵX@u Z[7G8?HKz|jVCNbׯX]`6Wry͟|t90R _j;ڡ@>/JOx$#:A.)٧1:eڇz?,{Y( 4ԯޕ̇@/UW1cuXkPxob=sRZ۲3Iۗo&ԭfm!7ԏȾWєhW'??U+4j_> TcP{X8vŘ2znMv?P)M yv@ā8mIO"$ȳ]Fby GS0WcVjEs3(ȍ 7rObQFŸe$ٱc_N F7*cUBE,ۯ.6xx5 ٖPGۈ^_q9䥇i-cNsįnjEf|S{%vڮ5e*qwZĺc}YXR]ZymĚ]`UG"Do}aii1N.?w \'Pg9FpԭOyuK_a+v[$ssEw-VB)k|BD7}Y#M:'J&%u#< ?p\QA/,{ ${cv2ΣOB)a ռ P* eC#'<eDD9y7wHe1 vq2-"5N{"䡂E2Eq||fU<$F'WaidP'?bV8Vi:qN p#PF{F0uG9qROq1VUq 8U 3RIEhH-Ҥ.L%$~#rp}0dk(֙D"H=v$֥WWc-&D$QD`>W!9uUWUy% }pa?wn݆iA_*H-Q -2,ۨ kTRz&o\~ۯwbK6yaKw{8QR:@Ik**H/'ki in6Oc}?PdjE^ԻsžHC3zs{7bprC0Y]F֋3κH爯Az%~ G@;ЭHuȱ~1\L9zzgu %D[>^}OnbĿKfy qhP@[upLvxmw~;.W Rb ycWaL=uB)d0_AgnµMav‹) KBC)%{ ?$~ċOsR]el6 $WA6O;Fmh7.u=,..{!l~F{2++oMA)-!TDjNam d.u k Գ1(e tl.*11LKCfդ|qck)")w`Ur$de{Au67xut‚} p~vIS/~ƹ7zw(AtPz4B{Y kz'|=c4.EH݃Aęypb{4%?#A+Mmtr-1e=$Pqi(x@+ *U,`)1u< O9.$SLߪ<4t#z=c댳c${BEZM#"(5?4"R-ItƿfZkɭdi.ּ2|ze8n[HyB6@i "3Z;<"grLL?rіh'ܞ_x\5jh))'PǠ|+H_jwTfo!Pū )f2+hsX6mOp\OF {8Haj﫡.OpB͉Aa#%f>4wSEle KoW{mkT]CV2>+tll4qw#%8~ ǀY4(2 oy:0C%'Lx0!t)l0Iכ ٩sh+Guh0&,*b]}iX8Bqc~e(#I[ 9 l4Ǻu[P]ѝO>HKW|ܞ 40$)"`Ii)=g$UUh*7{EqBwF"$x^<'Qn0$*ƽ2 ~2F|4G䤚-oArlNʽPs[( k(:#1̤FDYw R,4O=](Q\ti$8ޯ+ 1#5@v(ŭFG^O tyn>M"׏5/*Ҡ|v$4t G^nk#l&|18sAr톫W.+0M+4h`jx $yf EFjyބ^ZQGeP:ҿ+P Kh0t H*WnD-mDih Zs#^ L ODOmzyOC0s`H( ${E_ӰᅍJiYA0acGo"՜Pxz\~H"L ~6g^q Qo6[/i`.^GE^d&lFVEkT]*쯬ǃ'cHPAr;9 [LB46HY`#o#L_fFSbNǮ`aQёKr5&'JG q$ ^Uw:8$&Jݎ 9F| #Q-ZGR.Dq)uKG^P_ɴFiSϺ3O[9Nr"AKο7o̮WQ%a(A`qRN+UM`~6J9A pHD"#"HniO?b  :( "J(ȑINTZxaZז13u^ML0"PL"}El!JOa{}m SWQ8QE toTRvFT]=|lJ=g]9m0;fh7ܸqkF`+)TzW3bݗ5*a˛SBᜈ WYDmq˕7f}y*iDFbK`o69,ya k'KBFlK  ~cFEOÏ:᧺=-yvRVXoJ}H +/V┐P|Hdǣ4z`M7K|%J%1ڕj|Z rp ?1R?<EXJP\_ ZHj[PO {n/*J@|jd#J$w6+Q^$uuO=[~2˘NWOߏ/!* J$uL*0rZt%v Egu8X%UvĺjUMFU-<%$׏( )p#'O_GX-P );= iD)w bNN^>vHwG[\7}D k }C ;-Ŝ0(b-R;h$ b(BȦyaZ őGk7:U b;e0v5EMhfXQ)Ǘ%xU&'1:Jes^]Lckv"(KVM6D;\9Mqaw=$n(&J"\0bY(ddtɵ(6 yVm/mGEkDz7w>Ohͣn1V5a޸MC96VJ2Dx6Uڟ'օN'$H"jBQQmtobMrCiO$ =@  X=Z:#<톊iۦؐ+aHŽ@b֠$}-z݅_^W*@ :hE G}ա1mKbW8(i/3]6[fQĸy,QX#9MM PwxNl؊l8waHX' Okv65Z`֭(910\-uFIgc2T^Dmmt9QlІ ԖBF7ՎfQaJʺ 5@n'sVC}f#՜'4]DZ^^]킾\?p @+`z(P3rM,,#J|ikC\)̺HE(&& aMo|NvAalp\Icg(J5"ҴдN t݀ƭι;!}TԵڤ (и-@h̓=yO1N~]UQ%h z31ImY*#*#Bŭ"IX//̮!/Ȟ7Aʍ2ApO3&[FBVQzAxAe>'Aa*DL! antk6~4tsQ,+\9|D#XC ף!T67݇NeQH".8mTTqF:X UyuIt ŹO'a InB羑ctZ_өk6ZИ1#7;O CGn_OʈDF'yFTrs+ȯ1@K&ad2\-7vҖx'l7,.#wj5QW@lv"Ҽ$:":;x*{UE$mf\툥2)bⁿL܋6:-/MЪL6q@%iEn*°+I"}AavEW>A:U6HN*a#]-^DGy)Aaε4a*dE3Zw d7t#-"vuNķ< ?NǮ9D[+D5uc@~"͋l]Ch' j{zNX.b Un|  PA(X$v6A6%.v¤[P*עDZIMK, jHRNmY֚ǍbR6l9ja-waqV`gXsp}nw|!I2E"U)y@%c㣵#T& S:Bn ɶ`/c\`‹n=Aql[ n'!IKOMZL^"=j-nZw{O p>iLSA\:FUyr_;Jȁ}RZWt'n)&f,$$KgExĺ7jHܶmȖD[#s  zh{ٻUeUIJc0bPOY^0IԆALJa()uiHwjʁ_~`gU CT0چpM=6Vj']3F  4:.ɫJBl:Ƕ?D2JmA7aHb<6ͭ?4񠷸:̩rdr#)x#@cĐҍAsJp +0 wAM٭Qclxxz$=- UM.[B̚QjᲃU}A58/@_hGtkFvW]HYX(:#Nv#:֖GŋR֯}f? ? %ïvtuAnTpUMw狰oϠPo$Pg0bH 2ߠ\:#*DN_F)Շ:U:w`m:.]Ł#88>hGf'zSA(uBF"w|BQ"&x5CŶ`m6N۝㾮6`dat#8uԥc2">ׅV[Gl"@]+B1@|adB7nݸG^4I{GYG:(pQEؚ͋}c|b$*tU (k+$`z+6pģunr=#5蚴2?2> m{gdy.2GšH̏KuzH 6ۙ8JOrseWA*Sla uSt>ch`{U^MmRjI]hZuSAE`V oϡy$v~c-)q8s , #Y8;z3/"ArMk/v!9b 4ǀ=;n&fw^ yM^M E[]Xn"$Bv 绰 TL 6𒧎-Fb`0n@.3(\ҵ%c񓠃YbL)6$ 7 ާ`:XkK]ZaPN68BA_/xɧK֓Xǩ!cM6iIڊHo>ldei܋UeCO#[7(GqxqRr=y"k0>9Q8r_yաM>灰ŅiTn} Zw7pC03y؉t@sSp\>H:.,8VYV^Y:sE]cH :Nͦ řj5E{~H0Rmޅ7 w߂6H";uɪ~;;N]lp1>1~apHI7R0:<nX+A˯&8 ytk0/ ֤vE 7Q,ۗyb%MkJDA)݂ġ<}*40  xZ 9@oL\PA{cN%Tl_J,h:NxN8.Г3|aLA!ՏAjmK` t<q:rXdH7.5D,# MTZ ʨ3HlOҪ-iEyk˅B BgGIbaltgϞo޸wmuUg @q >y%6d ݃ꁳPk:gT\[,ty]N?jX l%:z^$X.Xs`/^t0Bŀxo4!r4\&$j7/%(= Ìhq{,sXzuuBE%HCSg{KZ ]Ru6`(e~{ b۵~A}K 71y@$v5^xb~O륿O&mjSχ s -AE){X#PLUg_řW Y:0_(ϠlldFThr/7nf?9Ǝxh~s" 9 ԩSSOKyH6h$ƪ6iD20TaE-lulϗŮ&րP "ܹ^+s~aJI4OXfW.ûXY; PF#2+ _@[jB.qVVr#_/|#\/m67jiܸdU:5ȳ?s)600*hy[%Yض Mn 'Oc'O\Wn$q=Wg\JNۼ6̚JLXs bM=_UCIwA}dk(%ZB_w߁( &hÝpʫX-[ʡgtCQd-Nl#3<*琘)]uF-ȳڢ>8iӐ8*(i.t(PS O G'u>wRdH.V8"GTZd`&©g׾/KߓWnDX'$u]v'IȳXkkײbZPAT62?>u4ơS\B"ĿWVwvzm7DADƵ`?c< T|$&XXX> e(r>=k&H}FXmߧ۩!QPSlP]~`Ͳ-P&94WN*$v+*?n_;*S0F]֦ ⹖4K}/Y}QGDB{sO?ޛ7n²̦qߩԅQ]'YP!׀|nMu&2/MEgA+v|ls}{FJUxXTb)OE!v./]t0H"yD$$ѱ::͵`qa j]t0ԲD>- Ӗy[}lI=xƦ?>rwxoq'D8n@'Fl|w:b4&g♧ӧ1JBS`QSZD9OQד[~J.5 Bn2ċJڭ~(Rxez-04~~qEZ1pmd?2ŦoLNNŋ_xƵ+EXDݲut\߼T߃m[;t]iH&&8{3&!顆i+?P6-ّ ~M}(EXGMߦ qYp_ 5Y6/)2k.G6|GX޳eG*?2 i1癶kY*!gzs7_˗.͛S",bׁ8QQUm_a0  i<h*zzۋ^ Ç~O/GOgHBc58~h0HAI3^r1qUiDWJ~ʫAٴBvkyJw뽲w)NxTAsRDBsȁ^}z7n~nN_Z\V +j"Ճ=兏-#A~5J#jX(cpu J"H#7WFGriY(!9fT̺X5O%"=]Q yFjϽW-PwXmUy%$~खM^٥W.-.>~?ɕssTimnu=XviZȑx,a J!`F]w_ġ3zсe3A ZF|Ȭ0%1nRͅYuYI}~9 E3{)EAX[0WQp:lJaG4(b>Vȃ"!kƑܹg_y[_YY9Yk#+GWW׎'jR/_Dڇj@g;;k1tg)=y|ƥįC4U&huZM[PY?FO_ů#AbЈ zS i%!Ț;"GWSBo6w\^5lEmxlݤk,c2Ol! Q>Gl] ,𸡔Vz' ^721zRЊ/,31 OgР/.`ZrGj]G4ƿm/ŎI-JMr$%6q˶,}ؿh{e4']e*ğYz?:"ą_kK@QЌ"}GHʋXA(xN,}x놣ok5dJHHHHH쌏ܸ /_&| i#lL_.κ02W`u-XE <[=E'b]ڲUj22˶iԱ=;Ah_{/bv^s{/o>Ow}@qbJ=?BIZPVhJ:+>vNLKN`<<'&WiAWS VU߅6Q-d#@HI1fJWXZoYM2gq> AG !,vdڹ73~ w$~o}$ phw  HnVeq`LCB&ڂ6Zf2¬䗼\j726tRNS!$56SC,SB`ƈpuݿfTp}͔dwA98CIDATx윱nPM`ZZYPf&3 s,y!bE2Z-_[L⾉\cauǾSHH˯"A8NmYTUYRUIVUQnKx "EYUSuǘ"E1{~ajύ[iJ[|~uuu$_$Bs5Mnn$Yt"qnۖIr +4̂^QF]]>iG@xZcRp Y{m2C47cK? Tv f9*$|Z No~nR Xh;g)]~|DZWDгiw(o0اUzZ{%+87 ݹ]bJ=Mas(ltsU پ׋GFizv?IAi7t=<7tx KȮmZ8 iKp]Arȯ&D?C NzYhQn4'5ÐZȸΏJ+"uί ݎub,Rig *!ix<ΰQp.4l2IVVBvA6Q{q==. umdIbڋ~MJ^6b΋m|n?8JedSbpϲArӜ5ywqWO$߇G3FkK6-9DlZs渄0)Bz{6j<"ָ'5 fQMԜ%wwa"m6W{/#7%$"~w ΢A\b,.Gi$ {v7O̮'fw|PŰVk:;_ 5w*^n1N՚bBߺ3O82@nj2vJ"f`hi˜aNeTka5IQ}5`Ijg)ޞ%^|NVk'c0BĞNGfQҮuFm'bjȈ^伮1鈚dOHxZAy_ Qz]ihx!u@&? ÛhuW:wWkCi?VCr9yW`d t5Ilbh %g2B!HW+ҭﳯ4fV7ת՚NBҺP9t]/iHD%!/pZR->m w9Td0\vfBIֶMP{] ^KJ=کXmBdZt-V5b ZTm%Jłݛ %!|RtUnݾ!=X<  L<BlFo#1g]^vƆtBH^bXfA:_9ƘsPZh'wtCB1"Z֦m*['roԚʙ ߇ԻuZcows\{uZ"Ob"ZzxrlVT.%'@o<h4Ji[{kH 99W$JL'8:^-mK赆4/{2VJ8Z[Ab^.37}#d e@.峦ޓ॑;YBڮ&ZF,ҽفe.! C ^PQC`")9MB𠇮[hwGf]ɼϮ"vi~y}{u[[m"jn^#1slϝƢ#cf YUa7A_ܿ}rA(!k'^5M D"B_{yjW22'O$`:17ZRs]XަRdN"ieAњ8'ORAj(^B ŠqBݠrtёEa7 9.j\Dk~Bɺ[J:b@㵟,wf:6hMYl!V ]!GnDh @/JkY3f{;̆\0tD^|5hɮf?n4wؒ' |knG"j{5P~e}uQ[#k+pbBL"T=du&cYVUX򄽇ΉDۃӘqG2jz2[e܄H>$cVcހ:_|kU{4[c97Q能9{2oa7! k6<%뻒q^z{z25zY/.JЉa''kք*$"r"Qo]R9 0IO%hD]>TM>d GO?}orG1m(Bpp虄X z K0u^Yg otD#)/D<'ڄHn"䍎א-|M^>>kzFyмQcװBoF٠yTLP7:矇l߰/'s dy>dh2G{m;(\A ,ho@[xezkqb5dm$kgw[ـK>kZ;ma3Nsm2Q?NxMD?u];aq= jra5Yxxkf;py@1]IO810fɠ)k@*E'Q[;αLʚԨ".u>3zˮlXӾP5Bo z7*:YE0F01{a^FjѺ=:Teގvx*`|KRgiКXmS}ӹjP@ ,Hآ|ا~{ݣAlړ7RR(\^liF@g6˄ݜ6'IpqGW5 עHoi06w3kCvZDk#kq\> 5N`5K|ޓݤiVIM\*rS?a=dc+G' `A8koP= Bs4]Qި.b5G]tm/[B}m/|_yomnϏ >2U[VkA6K|=8:"I0<`31} p4U5I?p5Ur Đuy>/;;o%.~^% Jx͗LVQdו5܎ T;g:?(X$2 #_Gjgl6Z^1|i'(Jjr Umd6eq6̂x=+ӆcb1PuT6lvPC#lkB;GS dm,y2E5uggѱ'Pzf *]"Gr{Ӭ5` jfma瀽ܖwS>|22C]Ʌ@'V 0]#xz5`WeES#TZAGnyAEsGVVnI]!BIs&R1TEo^%(HzزdE,,k:XlxZE7J*g!GT's%O@glg!_xfjUJt1[fJë́)b]tepx#~4Q.̏|>2\ƺ>{]?J˸T nYxb[d(ẇ}W^TWVu\4N6&'-d[]nT|^mxF3ŕjL F[ Е'{*j Xfg}_=3rU2jڦEqEB;PmC< I0=H h(샱(#M l]N( 6W=en55;8u+\\jZ2kؼ N k㿗~olv0Ћ@wJ=.|RSInN`/ l]t*AgLR8ރƟg+IAtͤPD A,k_z-"/񇧊=+[[Tl5GOͅc16P !_f^㍸x;>E=CeXdgSoVPi/y_ֲ>MG\Ԋ.w-6u( a+qU'ڎҜDk1l-ɗ_G@m0\d31v˚h6 |f1 ]77" xjxi:;xzs8VК)k4!k4蓯3e]|`$ &|WYFZyfG o@ADŽj#h tۃIqLË!voLl4#Hpqhw-o8t ?Ëj@(C<3٪tQ,Z m}᩶cZ3D E˖k05N5m}3x+]Gu#SUS5G#G%j=y\v'TΓVFE,dK~gv[!ljD.M4tZ0Z˸׊|wjzUPf52 #IN^;߶4"kvP#A"W6 y1]aɽ֤Ϲ14ήTuA_!txfLA(Ձf;ݡK#Q5zf',`XX_@{}5H_`GգR+7}[NԈ'`czY?|Ǣ}jQh2*|z7s7 HMGӶ<8ߞ݅i4?mz-nh7ҭa Fj_>J:;`Cߟ8]W33 aȱ;(T]_;=~  ~L̿u1_@Z@"ZmzT}߿{fb1"ktqipU×όT0(y,1tKt" 8m'WOl4dMq*lP`gGP>M 9p10:9Jq|dxu3''o܀e#k̤S=.U^^=y:1yw_C@i1_?ZRz` iĖtfWʪdfQ3GuX>s >تc)kyd+{:U!=gTʚA~ljˉ뢢q6fhbۥΡթbQdlBƦn8D!h3s׃5~A.4PX}l+PeZͲ A@!{$ RFe [zL{y@ WdAY Z[1jcW#>:W7~*8+_o,X(R͘1 GXW@A$kX+pw&UI)Ih#J)F:@xXx¬_k3m8OePd+}ČEanqž ծ+XBJ5jY|tSi_0hT>|/aTDT}327`ƔD۵f]Yңc-uag[cqg^ Ty =YXxlLĒļFbX z , 3eYÌC [|z&JRe;o4z?gko݉C;%>5?%,ʪ|#x:榴%u38[6n aagRft ͑$ [ ֹC-FjLjtJ:#+0j-O4XhimY<[$yc#3(Bg$JmDȻ0H\}!G:It}u-)/07fL:zכS $F(H1jkX|F\ZBu lj:ٕl1lR%jUA[P1PQ;NT>K2[RZ,ߚћ܉JSeM|#]yzU_k|Ul<ׁg`%(FxLߤoޱ;Wq㐧'a0hTcSa+r1ƌs:59Kd7Qp,}$#Q߀ML.2ӴrпUP&5n-诘Le#r·S!+7`a[ӎ$08/r˹y+`"Ƚ'8v ZR.s@w}WY16ډ[4jg@uzrg/>Rj'w$inNtI/B5=0K l EJ8!L&]DQM0x+ Du]Djw{JEHڊ@ܜaoN<0X| ; zGyԐҥס *aC.Tщ@q'aޜ,nO>t' CPTpiE?1, pw=8 @Q/gt(x_$ QUlaF(mqA"03TM<΁(uGbj0LI?cRw!1BlY}q|W2W^dkfUA-YyP$˲jɺc5Ayw2te Qj0k˺:=xoJZve UM:*t_r7rSL52e#kMnp I/ AB3IO^8=ةn<6=Q{cb^IA$*>usY^JUÞ`e/r/}d۴&~wb0T4ۥgϻOb YㆺcXݠk{y>j2Td}ЋI(vQ 1eTPA2*`2:Y(RX(Uć]r?\Q:PC?yKop x [L*.x9/ pwY|+H UVhta]dVڔm#Cm we! xJ#+H4u8rY;LR~g*c44 bڽv>CMbx}t6qBZ55F?=zbri7we"ʟ>k& zLTԐQ nR?_K^SvTF8ۓQ)Y^OW;c%fQ؋It.'(ǚ b5#fZ >gKQ֊b}`/ei/\^w]'jYCxۄ'%Y;VgVA5+ћ1J>7_#M\ڼwb¨ldB]k^̰/[eTbdмg]L1iFMc_yY μ]=mmok< K֊l o˚)gUg֎;h(_q {~oG&q$RbcT k[ >>(d[`;N0:tpF l$cmt".>ί>߯~2-"'j-|#J.ī㥛|s[C͊R0|.#{'(U>> *;\H.'ZX>TlN!QN_dskuH.x9N{uyrIIt]~O|j _k]*F 2EH7nֈ-[\*X^CUo]H!kVҼ&NaĺW6V@] B|˃IXifi ]h?uRߨIѬ> <;SB|aY(TW~ZW7Z!t9eXW^IU< 59<+sI>t~i@S5O@^ cD:N'`p{TUvD#&u8减4Zk}Dc2DV$k)HKLMR>2ٛyzcM:NÍ1X)_4 '`,/3+T*ڱ \-zv]k0Mڃׅmj)C]ʤqz4za\H:&T_ GEwո-J>@]g3xPÝŖj`&D;.|Xs]YuuZ7Q^?00Tk §N#* B!1XFv*S'R;sזyԽɘi=UŁAkpbC4n|,Ev>@a$rat =42ȞP"_|˗T{N8"_)\{LB֜v%'=eoŧy{疐g#qy(& $#׊D|dOw Z;#mO~k4}X+MDŬ6#Ձt>Cpͧ5u$@]E F"?8Tqmҽ>/r]Z+YN" l9|&}0#X!UT !u '{=:siͿ37$cڳD4XS{`31ȶʽ5a)bPw1mVQoiEݜ~%hF{Lt 63.Li-l , %a1vBRG\Y _,č /1$0Di%Ϲܶ=Ӛ}ɽ{@Z!'g >*7N._XYjOigneX½ĺTzZ0Et: ٰ;;UvivֺI},XB9x*v|Aj]G.NJ'#|X_ؔ05KLc=Ux!sB5NCŒcg6͖ *)bRyy;,GTC#DOojl=Sq*v>eС64^o#w]H8,PO/JnE%0#{@ȴrDo!~Fd2TӊX%ܕC,I?tƺJ>KW`^…unn=;u }⎨ 5ulkV#/jL hLrXeoXd TRRWYLfL=yp*3HG, *zfݱّ'ma;]J}ZBt3 'd@'`]!!)bH3,hB'#O$$꡷3#Է%",+lH`=8vf{O@ uYv1ZO87\gʘ۪~F` b&??^ :J-(,+`B>_'yW~饯ʠe![ aGl2ODhmB-Wsi!z:wNƺ2뢥 񎜲1³K8\z@W]09|ptä04\apB?д8H4ۚ.֞a-uiӟʂAH'^z!u>hB__cs57."TT;2JfV ">W%kj$C Hu ,u :&zpi'V823:\?7߷ٯ*u]= U2%`6W)J9bH'1+!1JW՚O5577567766F"E":R#{ ەbᵹnA8ӕ8IgQ}bZ:3h4Z-]Zz]|8pPm>#|:I͍uhuki/x RXAg1<{b괧%8-dip: ``ͩ=lmX?V:Si>mi_~ƺysԭ]{{zz{z;F հŁaE 9 q-bYl/v1uCt:ao/~T?rHjC9 41101ۛ*"X7| \9;.Y ] cc/<7t H̳Ě%lx,;W9܇5|X34tbusÝǵ"X_0H߬x7fG`xrߢpB}GvÎTƎ W[mKv4Sbf+pbua}#k8tn8 hСLߪp:~϶/C\$ T8:m<1ٸ'jp ? Au8ㅌ5 2}a}֊|֖Tf$V]Xu"Zfai WMaEdy1C4s)4vk+/3p" ^%7>eҩ nGyЌgp J1ҩ_ȡ =wYX;0Vp\ Bj05{ ;ؚ ("=wl⒪Kc+SqA /獰q8.Fgޛdd{9sFU–F\>X^aԴrhL|W#+"/Bk)\t"ֲKPTN>'P0X.]PUWW#o-|sFc ܇ ֙hkm[}+2)ETΉH>,-H$ E]M"]]#Bu إۃv +(xyveqz^)qȲ1~[ CXPue<\WCORvvh^o|y9=YÈj-]QGSWWSSGWWGSG{;/fRm3AՄ386rye#dε6P2!D+E/T y}ЃyWP)3h@]E;GjlxiKx00u uI4T=4T!H{y5Piz<\vq&&b\suͥ|40X[uYmc6ֶc G 4fz*VU½qAs\;;>NBY| c=O7op7\|p@~)k4 +^kTMiw}BOlk͛DK *DQ*藘VŌ=Z̪B !IoI)kՏo P6#IŋouehQqq 䀵ݭs,_It<ܞtmt ~ Us5Ɛ߯s"mMXL&U4b38{zI嘰iLf+ Zer _:uB>2<"3.T9}Rn#;?4-FV4ƚ%^=bշ 'V~ϵstUoA,kMNBб8ڰ\ޜChc.5CGX(4rv} Uc\r.=Lwwڢ;򕀘03rN̠I[8Bc3C.?i~*9C52$Qoc,S0 =d"DzXYw-7ƫpv2!UyE 󗧆0֬\_*>vi_+n.vg |QZ֎?dԈfSDh&yHDGܨMJwOm8S[#P 2$s*D8xj`rijҕ qoX X7m)~̋5;n2e¤UI-|B˵3RQ$L3J<0 o9OtYmz^{wU!kf%tq5rr6HE tNHYU*+5}mLmc!UNc8Y="m2!C-1gD.!p|3']|$D0sO:zgk\uz{YZm/kSׄkjR(Kq#?!\VϷldpk4ڠ[=p-^A|xP[YO旑< vTlsO,ӦZa-ދfXCq0WѤQ&C&SˌPIT%bF_~s<)l];cv`MṙO;&('&kU`@M *(1 A]\DzH^BsE0C?xKXO)M"4=C^Ώ8mB/NgK湛 o޼7wms?c@@yK-RؓJu vzPNz+[C]y X)`Ә [wzJy[ikl( J Tõ@-OҔ4o}axLa7LlT)X3 +-Vj5Řw2Nf 7iK<#.Mi+L+KKa׵X̢N];jBueW Lc$?JN- k1n8Ժ5Ӎ-+3j@z^Y}pΚ/)yXNrQGkF""\-`o-|F-XsmȺ:~4T٢=['e!:ȴ Fie/zkc=XK3-$ʌ+_4 Nw}EkwJɉdmL%Du4F9ztLꚅ& Ns!=fo]kz[s ;|/Gk$EǯvqL.jHMc-Q )##)ăAw\Gk(wtJ6n^215`-Wk5!ƚ)9<װּ|rL'M#$dB My*}utœ;WW>]v' 09@s=`G_N\K@02 ;SSD{ĞT*LvFJm%whhd3[W°G?~ w/x@qؙaZIENDB`view/assets/img/speedometer_high.png000064400000050714147600042240013623 0ustar00PNG  IHDRlwzPLTEyzٝҼɐܧےðЄ£ʶx}߮{لvޝ߲Ǖ堊njyx{ߦ䴢ڍuؔ꺀хrd;`#GG$;bt%g|We-qJ')RBq0.0Pg7EVLKMK";n.T ]GYohGtIhgj `:* k/y_}[[Z[<J}wX[Mx x(jKQ5$Ȕ18Q69X:5j3}k!>!u%փض1Ůיڂȇr\tG@tRNS $6$.AUUJ7qhݥudpU-x\Kl?:ʼعݐCC;/JN;IDATx1k@]GTI`#jvPSꡥt I(: LUnۤvBl{`>d",2݅P {-j[efӲ|ݨz^'MNhCu!D2 f@>329=Dw<[*qsvo B,sQPtƿ+Zjgͻrjf nѶgh4t(~)|A}.;d)qIMF5$N  9њ_5_Ŋ2>oY6M8`Fa7sIvܲjFC@)g=^9;_3yZ3]<6Z&~mk?kH0 faZKzq˳uRX Ci49ށDe%8%ږWbVi@viWXW.zøնiT #P0\yնhyw琊axКuBcBQt~zEQ-)EZ/MMgH ou}4-s\d)sɴtNL a\C[ŗW}yW0t<' -zC]+^|=~wqv6MJZ쒤uƒ8>ڴ{il@Bf(Z[wW[vnN쇏ߓ$JM۾֜m`-~^ޅl qj'$ uBYh%أ[8f=ZY+Zlǯڳb𑟝Vmuh]~LPFr7[Oe7- Yj7l,`i.^gȯޣǣ1*-*`Zw/=Ʊۦ.#h͕ [-!:W:/g#Q>c P"uWLK6]&ꏾORTXn?6]:ZNIKJ"Zz_G,D.kHD ɧMgŗGciB{/uٮG0~ FD~4dR8 o-j?<|ƉPZ%dEӤ~ ?8 3!5G"[WL t ۡV q28a0Uvˠ]6PtNDflv*%$cZ4VGG8`Z޹6_jZ:h'_7pz \hIpYTEs Y D I:kBS7sNmӴI&K.?>=2J aɄ!Z M~dl}#('R3Jb&i-\U)vZ_q :X5JȞհWU>a@A(Z;4}?Մs@%% 2hSj j{N <S;)+8i@{l:߬1)g첦zӮ275|n2F[3!{N`j3)oœ\xVnya>Zj&)zJ!"B2P+˄ &i wT!'6=q֔ 1h`Յ OWR%1VqhMu,6 urͨ^U՘4!dg꺣ziO^+G3N.UFkȰR9= B^c_'WՕbeAdn5kZ+ycmE C=(F5D1ug_ 纄0QҒ|Xrk*vDmtōm9Ddn XALی8+!UQM|VݓA54Z\DT*>zKStjRj&*j|Zs^%RKŢeF7fiNVpzG`4K--S-כ4EL6 xs|9vѲț=_ Ё;_֜|(֣Oi g=6p[p\`TٴtStmAUDuΡ=kGF޾!VKEMq×bt5a9!("MBrIj]c3&6JG;o9:q4GF;U*}7U/% O^Bn$3 pjHv.u7T3`&:""oX({˭_B3MRk{2n:>9R-3b1o?&NMe!Q0tIT*Bf3丏s*tdPbF`N ͈YM+(tEO&4"\cZtb"MMQch|s %=RƒA悔2':15`/\S*OדDV@a-=~8(wLPw>!q\qߦv66&C۴M]e` 45=` UbfV) %JC@ȥBK/{ofwqnqgh-_-^xS;#` 2 P<źsJ@:-m u:m<8^7v}u\H\k 5;`.DtA1J9ӱYYp!pLx.İN5jKĹF"ٍC Y7hiJOw^10t"v&\,*a) ;7Ԝp|>w~NH(d'&[2mR{=Oj X^(^ О+n=jL÷cX7\iJO`E9!Vk5ƛRRjAAOHΠgywWCaa׸.7Dot1oTکc:a0ޣ3am.1 {8 M7WniEꠞM_(\,+ Y7ޯw N) P'% )Da&dbիq}ck- IBd*&~ 2:~ꝂXj7_i-& <W14F8lYY[6oCa,4i[^dGB?/VEw{iLssV1(W5q։8v8P'I6E3ZK4(V):2[a.*.IwgqZtvj,k8g_xW] B8r7Vg˵z[t`ee͝EP [.bBJf^{ ',Ʒu&aƎb`Ț`iM2n:k `Z, yj'xZH)֚5ZXg76@ Y~oZ}<#G5,UB4ΰ})[kjMk*ʏ9Aund0"ߔ{RdV 5HȦhξV8qGJ ZÐ@J'Po]l,j*[kf \BUֲ]2xXzk⦊izu~c`#-no V9$nJƕo&21 8f5򔢈:fj;mBtJ b7(p9$Yb*r$ ^ij΍+1 ?RI}t,7qTOdv&fo O!Z`es>l0Iw%atTvē/Ms`t&+AxvrU,^E"h4:<jl|~\,A_|ye؆1N1Jo-"~Ou*6&"{j¹%gG) |a;tnz1~_|}li3~^E `6t{c6cXC8Ðd{Dl˕S\o{S\j4xN#|/!? X}"K]P3p||zHhKQj4;|Xǵm˜2YXbK:::s]#)(2򕑰/NKP -=jK]y@Ø*EX\\[64j)56lS[^>i9:WqF(ۯ/vm#()i|\TD﬊nus<}13$am,6pXvECHuez^P=sxSH&L?6d '[_q)׹k݁ξԠs{qJ?&mBmL&Ahkx!V~o[өPoᎫ1NVmȒ 6Q%A(`WgA\,So?"0^${"Y;of4-oۡ}_@$&s35RSTCXp"14僬h;ވ!r8ɧ~}">;R(Lo-n]@\-$=0 0zo\o gaO0KTY&EIAii]A_`PYaJb :<`  N*r\\=$iS`Nmryћ'rڵo QRT#6~;X]$\[ǾP ^ѝ u._wv۝OրF&\a󯗔~EUM"1ҚRbY ߨ6kvӋ_N5۷WuTً1ouhntE _ְ_Ǘv9YNjؽ8! 2·׮䶨=/~ouGe[ ?|^3R<]ַWf7.|5 Dcڝo}ۿgoqPMƓƄe%ã,hUePqD㙷^ݔJsqtd~FQsL;m#ojŃ70ɶ>OY _ OO5o3}N:npwv*=UEʛȳbNך%]LTnar|hN_d{{rzBSCT _ܩ-Yz/1> \%5jpYyLM*X_U v홅mi/I(kȭ+ \_gMpgu +,'B;Fޭd*- eIpK#$"ݼ"VuWyGtZ|/m=¦eZ/+}i $0C+{ՔkĀ(4 8[2d|By$U* ;SєѕuAEoG?VV7Ot'(5/D4y4y#k6c_jѴ O_=!&ʦaθO;г#3;wa_]kM( j }n̔JXo[#gv efjoS =pQ{ID m^gRc [^HLoY<j0*r'>.Yp6Edh!LUCg:.Y#΍u8 Q{M>əF55][coY | t. C,T"X rf9ύjdi{jibPdSbԫܮij'O΍nD,uaB7O+p!Fz=>Z!h+ki\`Lvvns=v#Ѳ|K M7*%Q fjquz4]F;elao!!XfDBta;jDݖKN>7IFKG7}f*9OL 5>yPQs&v.Xh/Ufp`yl oYzQGREөȨWTDW3g,L c4&Ϊb 0:C2QW$HU5>sOѰ r=۾"-.'sOoo?j'*|+ݑ}~9* '?|7k@ )klrÍ[U,d]?>/Llߦ9lfW_T#Ď6'd1 ?5΍S[<!LkE@\w'sodzONMj%&̵w 1RyQAȐ9gү^s4ꁱνPxZsLblȹtkD dF=gӑdMHS#z kƒ pgl2x3$c)sq|~%RE0Q5ѱh^Hw9qΈX~cVua꼽W[hPt;bڳ4"3Q=ٽ)j*~CNW(޽βSTЁugdЙ%7f6+_09$|vbRLf@Aؑ* 7F@*l"'P: :c?[ Î5Vtg*y^aE:{v $&*9O& *F~JXfچmܲh^q}]9C#>.*Qj[~;tU̎omj>W;_e9LU^2iW㋢G1wa2Tוe*Xa#5D|qiT0G_ t]OsZ` ∙JQ_jv> %[*ıU+NhV7@HTc0<(| ڗ:6Q9)X Sߞ̱&稌iN%^Y91TaaSvFM h<7Z+ xxZ :z|Fuva+ V=Oã|V޸H*M~IOXg9Yne6 |GFʂrN1ÊWC@?K HvPdAil/ q>EsD1A BwG: -k)@yzcy?‘o< 8,wk~PYJ(jZɀlVX\k%H0f98ިAv < ΌL)T +@^!cش*VBE -Ň|;NYCu "+i4:$sSz9;uJHV*J@QϭLH[9sM/O1rN8iLTշ:oHf}qT":ƌ"-&",؝:$y?^]#=^ )Zƒ)XȈFeqȺNL72Z v5]Ww۲;q{=Ѹ/{"լFݕ> E+*`Gw?ҹ'ỨF lm٥mr3Vw^QeB ~ HIh[+++> F=\ٕ#nO>Eil 6Y{a2, bI}ηos߾;/3cB8wwooQU^;4ԮkèDkucPͼe5kNLo/jpkѱEZ=6EJ$e$k1g A:#\IiXsJQJ5K%69Yaٲ$cA?C9Ձqݩg9Yc֜^Z'1jv\/Y߸o6ݱ:qh{{ ;R/*T:EM](IW J=5Ĝr(lpHҖݩG^ :|2r)m|╾S 0iӱ6TZqZYu9Q㵭I'eZgy`SΝk#$q~sԡk0ܽƷ M]#5 ]xЊ'ѿ-T'!|ʬi14"нG %"I̧DiƮ}w%P+wZJtuǧyV2^6$XzLAZB7PknH-RT¶*.2̈́tz/"X .7Ni9%$;yj!4Q˧R(>s})4hr;yr1 o@ѼŘ{hfQsc7&!frEEիޫ^xwxB-pѹ;cb)ѺסG2"HEaySAlD$sY<9 $ُb0H)Sl7~jO~D5Jykԙu;:@h 'X,A,L~ +VMa3~**!0ŨyW5 Dqz4nϘ\)TgBR1D1-Q?^jh5H~&X?hWZ6[HOMM< S@PXfj}M}A^mwꔵ^9juO!`,B͆ōHm4DkNnF[_A[5;8DNdXv/f2_2k8-za"vk fם3w)Кջ.4E69jD)ZSC f2 ir.k%%;^DHv"mbFTq=][*|t r;)~BH:'L$2;hКK팒/#bjj0y՗T,#sFo&b6=^cJ_"o:_gh[ KW|1'vwFx!ɮOLCB^5_ԝHuOƌATXFQ-QAn(޵ބ;M;m;AD#mXq1 5ahӂáHPd8mcn~}L=+z}?籶^~yP._|me`#CF9. K>ݵ{]czĄ[H{Ns_lf g{)\ly2Hk^l儙.tVOrŪL3٥8YdH 敁^b'#Ru24ISVSD,i/֜qgz /H$$=Eg1ڢeٟ=:֎ӼpJ.`AS+!*YT#K7G#8Eː]'n \Jq\]MgMU?w="sHż(rD1;[m>|m91Vg0;5ŵG><:uEQAzZ{/.Hj/;X+Bq$Hl48jS8Iί~wUo ksM-Ck1=v6Yň%hR G{؜ `F1֎אy.ՋYQ{ڳYU:/-VC1\ 3fWbUQ_w=otxlVߕO֥'y۬\/6{u^uqj\0,39iűF;&]bgﱯ;@K͖x\i~uw:E*9I\b37g'߮NԠ%f!]B;Ošnښ<ߕ+Eg+R=!lhR"C`ť9}6L2U3>xLۀ c a5|n!-2>pْ{]@ "3#1s T%!GuKme 3a$LL~ڻ_9{ЙX)*q=qu;ߤz\ At+sT_|浙,;zZ7>]< }|R#K(## gف=EL쎌L d;Kkϵ=plt'}?''%E}T5{ʦ"$0<)Zo1dyLafne ډoG&BG.n0>N|izRT( IEq>ƒ_v~HWd2cMNƯ|<^u2@oi/SPMw3Јy*q=9ݿKp@0z xk'X×l%R/,^aAU)s!5Yy?CA8\BL*FcOa8\M 1*ȒE< @Qɋ{_]s%rfvԕk)k0iY{nh=]<]i$fu,|L;Goj:~b`` Hσ\,^ \.bewd (@ȢHpoi'r7'Y16ґvEp6YۉIQBc55c555uhjHؐZ6/D%XϤ|k {a*VW~fYnZi!_dGc'17]??Л,4bS݄u4+Njmi}2*򒗱ylEEPQe ёP(T ;^5RsP̋Ҧ I'aYZU%lr9Sn (bʖc\t|JNۘBV0 wt2!.Tuu WW74qa9~cB}5Zl?0ޤvvXIyoYiu)ߝwՒ5Fc\`]MkS"Vk:ॴK˼ő"JA2`]g[p &`X!n7V)<>0jmlfֈf8 5֙qU ubEudzXoAEHl[:-uU/a͕D]20QFBԄߌ0ZCaaC5j'9h: ##]#% 7]^T+5W5/cLrZs\!'hS`愨(A.ce6"~cG3s-DuY9(2q[ jٚkk>} esĕ5wZ>͒z+rs pha ]DTQ2֨>U69&ʽTLʄ TեTB!NB p(TtH0eqq|uiQ`#ZbXIdkkֵ[r lpda*?y֧ Q|# 8s]) (TY,@IKn}ZZfoܘX]X%޽TmZJؔ?62)@֬A0ց"$Zcl_Zujؠ26*beb ySTst jpXMb L% 6`'H==b}_0i<2si^ƤE ms<l p :6XƖn<72al#Ã)cd*0^RC5&p[1LNr ԋ(>XdɄX4A X AFtlΒX+cڨâ_>YSX/}M9YNZ 1L Z1m0 N[ЄhpTyES:R4=,m17r cW$Hor=I!%s% iQ~g|r#2LwL/,=XNONG`[F}I"g?d>2P @8bIHYwRx.|LL$R#>86xtMJ-|/qةn0X5!iq?2J10We'/5]Cx!<5Xw)4Q 1pd^+W*~/.['`Z`= 'q -b`ldwN|_#/ÌZ΁5^5h-{XGOqqwK`נQ  „xN}= e.%@8ją"t@B|%~0m[PZ]+)YC)5-:#r\0hzjT {tcB԰Zy.V ·o{-٥he"YIZjͦ"j)w4҇N$[l8d͓tfZrŮa6H7J>!M&u<{Z&ȑPs8+)KhZ{&m%ZdovҤ8^m2.*4GbN*6ښ3BxܝK]!PHx4G$"کꆩ(cM[e:d<)"J}$#Jk1&*Ow.6N#֜m^ T}9@n\ ?LU_wrOɴ}c%5c~m2>wQc6 ;S+ç|Ś;}ƎUc=4ۊkk䓳) oج;{'('^.AE,7v#@'|_ѷ %MtxcMVK{Pi0cOp9;/ }-TlM4p95m腣Q*;[.e>y ;-/›t 7{lc- wxoGؚK,B̵fna-A 5'db *qѤ~cnؚ5PM5"ck]cwXZ+F&r'[UQ'/3·Ozby˜ ,h=(zkhprrYA~ߺ,ʊ]֙oy+qcvׄWZrC~8O /pjJyde,4Sߦ}>#'^։pMX|1\0>^{a ǵMTC{=1)FgnZܑ:ӌ7[c}es̥| CTawlhƪ Wվ[3wJX?uOcBT\ƭy/b}\nxVmZl=S(HܙRV̛6h@edVtC;):w(5@` mj偬)C dw*ʾoXG7pnHm! gĬ֯eWRSI4n ('liXժ@QԖOץ'v]* 8߯S6sWI5Wv.6 tܶ9~#̍]E=EiT g3Ji©&C/~dlʗ%r @9 pAC$)[Pkb|!)n$fqc17mrwz5K&mXi@xGEÇJk-,m[ǹr\ : !/$}ThyH+DvM {B}QL+ 4װ^6Z˷s}"AI&N40!ԃXZf>0S#"--DD}Ha= :9 i:T@9=@08Q )-*-|_DEŃO+d$d%EXgJpmab"Ur@*i:XtrR鐙dױNjd-ae) a=c!PQl<Z[.eRMSp3ZG:{*D]: 7Fn5-5YLu;5Hu N̽eԥoM%D/f +):]l]d* 'wJ/Z17 I-wE\ ?CU~Nؙ:k *% i8T1 -ur5?#U4c]1_E"m,$:k|B`zOkM:f/_߫uѝ[<:ո\a. .ЄUۿUІdIENDB`view/assets/img/speedometer_low.png000064400000235677147600042240013522 0ustar00PNG  IHDRlEKtEXtSoftwareAdobe ImageReadyqe< iTXtXML:com.adobe.xmp =DY85IDATx$y̪j HIbEr!ʮ"vO;) 2DQwqV+q/VWJu2)z' <0`f0yk[&2tW?7oc|WaJ)H$IMDHXMJ3*0}dK\ܭ:J:[b2Ք( 2 |ZK?3'jV $oԲ*[H.A3ϔxKdJw#H FPM"H䱃<$Ҡx̣nFaZѣQۙқꍾjOfgR>@-15[ ШÒfrZExU#`%a5\ TVWhP Ἀjs hR{zrנAf?Q~WjS f~|Yig@ MD"TH$R̊G e1 7_+O} >_<_3[գbf˓c{`l 5,q|44+D= Ek,f(' ;zj_pJCqLYzg?Àv۴mh/Yy]-{}Q^LUA=%VOHa3a0V:^< lΔ92BfSG#H$<_•r.few:Uf{~XU}>X=h֊%TCVo,Т—JT J6T9b;7dze!43}xoGBH6#u#0Ic}dg{0{e70t5Pvm>נ^^jȳkK YAn;k􊠬 eNs\~輆p(5XN$D":E1px~=h}f?ꓮFMNyP74@jpA8n <3sz[)/s hYUDIU ѫ 8#|> KHViM;Q,2Pm׀~>"5TWQJ.\mW*4m0gKn/ B.U)<3 .(g"WƖNH$jDfOfna˷ԃGfBe*zʓ9䭲q Yˀq !Ҳx<9$V" 5oߴ~9Bp7tMpN,HXJ`\1fGhxn~Ns-=5:H$A5D"] ϼ1UT*k}ҮϜJJTȕU] .}X:8`XJք "{2@qAʢ\"< j4!]As KkPE,iojط4`#\dč/Xm cC`L .^Ig D"&H7ͰYϝdOJ>>Nob JnA> f+cdoаƌYPm7CXҀZ22&. Wd][%r?e{DوSC#[] X_/R!X{ ܎ 'ʝ61q`*DPM"VCkٹ, zxُ^ %,TP7Uq &0O١55U#[hLͥ\6&5XyǖD *z'~y@a+T;$bהa]eF~撟p`|suٿɱ=IіЂerCYWLqk` sp:I$A5DJy3XP:M6;71or Yʢ?cO@XP_1uU: i˃jt֡:4s x4V{vܴT ҿUVK-TTΟP&tѣoA䲃&#ɗ~-OVm2B"I$Rg+8wf^ŏ1o \Min̋7q Z|)pl"[IAAWTPJ|zœ"V嗂KHSG,$ --MF 'B~_@DVVc"+&H$FaiL骘J?tfਇBYSDr(A tZ))JzK6 r(-q'8kKXزRHnH9g"ln+Q"H$iYGrs#ZÿfF?Y诜G]Ct\FxQ03K U 0,]X69[m8LoIVkŢg*gv{^!`ݖg<Ұ͇3[ͭϿ ꛰쾆U$WDPM"jLM'~6<jNA4f`j1̳**-cZ- X|}g([TȎ]"pt n{T.S/KJ(/qlUdڰ Pһ 2;ӑH$馂3y퓓A |:U07,vQ~HT;f?L!͚s&c⌬oFSRd_Q ՗Nw@3%yÂ4&ܛMOwA6w˰zl.`I$j zM6~B6Qa<8%.j2d[U[La-w ''qo{TTEEUrr5g+87 !JbuK=˶7׼FD"&HSN+W;ajӿS)(f-RJB}'ټWvm(rTwOP}z7:*F*dBȆ>l՝2)oŊYIwVe'w/z+DPM"n^}v]p?}KnrzP+܏IG:Ӌ͇X1zuyPd/kZ]ofJɧn!s6 )H32Ves1-lpM$A5DV &NOLeN@0;;{(TWmò ᄮ):lAutۃ|g]%Tig+,ihaK/rr>ݢ7&'32FEnI.EM@"u$~Z0wO1rU2yyd?`a*% YsK%#uؼVJx#}mR*.o5_yT5}l+ dY>asChD䡁,$RGJ:k5#,FxTNBe҂U:pVΆwj&IT4U/|;*][<@TQJ.vcau92lW ʾҾ`ԃ=c;CcvT*D"&H)~f'wr{Sh; ,[k#ӗ +L )pamR#6 / T]S*'˸B`㷂Y+s47>rZD"&HIs C#vby}YAQD'"`#]>T]c6S{˖YUt,8E_kpum|$A5tr7 ΜgSp4D;e,r}&PF$DnV,[ [^ޥoc'R䘤1 0QmϬm:jn\oLRKH$3GΜ ,E !LG(ki1 LS~IԧQOLzMgjVa֞E f"5;{dCZٵG,{{\DZ]8ı5.;{,Dp2`.,fk+ ztc)?i%(TxK1 0*eЀ=m_Tپ%IV0| ̑{p+'^_<}=Y6 |Mn5'$]BXd;&[0"T<ժ7?K )@Z9A&%f.<D MsR=CkZTHjs/Ksr9-jOZ;tlV2:sa=gO¿- gCh8V!f*m TϟRRiBM &9^l{Єg0.煾o|{j$A59A3gnŝ}䩇j`Q6Ӝ-M^Cf^(jOWfc;J () T\Gr 4\Uo9۾nJԦ$A5tC䎝7rg= rF`}sqV֡VD N^j~AuTSJ1/q^u Z3 VD"&s_ԁ?9jCձlPE1G&mA$cN_n2VI6yl조zOcw~\H$ҵ 'P9=cG}zk_E֘A# {l=!1EYL sMbml! X,*S~ߵ^컍z\_uY h$V&A"q&Ͻ|ԩhAr[G'')twHBno&nE+"DZ}-Lx3eYL>4Y?t:^ q&re6qjED"G8s=1rad:zJyH#oAm Q햨0k^j/Ƣ4y!\"&]'Ď$%)i/z.UUnGkFC uC~ywY,$b"iy#{铇L6/"3Xм.KS`q[\,Y؅ҚVbiz7-Y(['OAur% (@u~8w9;X8$A5vvXBA0K@g&_: 8lH"u?=0|IMp\6uQ4)Voy?&Id¸phlkOe}hL&g֛AfC[ A`77EҐ9M"u ,T a5!(?>`p;И{s/enߠ","K5馑<}`豟u`,6n7 ֪vZiL~]2)jSM^ `Ś-φJکO2^Шmk{5iud&vՏ,L/z~׆G!3֍(߮|;aِ)0$/D6)AJ@bh mWhd6> =?ف?&$TH&y g~l9 ^GChxe/:A zi`CbeI-. xt 4wKkw B6{?;|r\V*<#392s[va=9W"}DBx)Ŗy ?MZ hV$.d`=Qra(dH>]ugދ`B~ړDPM"uOR?7rO~c`q:b?S XRBhV"Qb[CP%gҪk"F ]wcm&4|\U("è F>hegOs?HAq?Q}^<[)8aae@glmЋZBR-3d6{KVTtss^$];Xл Gu+6pgVvj0RW,դ|7]ƭ 1}nق봜50' 6X#IbHvn.23e(ݿ8Q mេ .އN㇅dIV֤.oRMF '8Ͽg~OUAsў=pƌ<e8Pmn:9o)?%u3FlHݎ-clX`[EO)J=8kY}פYI]77?H0r8oɴ'6`:Ig6IB&  d%/G%t 1LI*vxWv=p,wP~!jXR>A5tUU? ΙgȏEcǏ:-#EPPQ]9SG0R Bj2T]MGSKJ$ϵBlA>X}ك?^"THWA}ll/>=|V#~lw)1\dxPwBqa|rX_bf-UT$ Eõi0P gV#c~1[eJd&up&jRGs?̅蝛< IJ= B6A5`h,/fmY}rH=R@-#2H"u94vRעUɫqX=yC ֣JB?TDPM"-ۿƞ;@놖|@|y)6Lő x. դ=)TZA5KŃ(Ѐ1Oy(_?V&g.s/FF"&đC?ǟa9^CEʇ[ eI |yHPn|O0;\Pԩ1H]%3zj>¥as;\jA5j|/p`z0HB 6><5yڸy: -dr9|Z1$՞D,钒(L⊊,,Mef ]Bf')V}}#guHդN?8cC@fn«C04N'-i2/ IZCc]~z t Ul)Hӥ=66*\ ߻T/:5H"&?t]ox =b0U`~v= 'sg {4X"ʿOjRIx`&X:LQhZV%/A Qm` [?S(6$/%yvҧ߯Vx (}8mJv"+ smP'n0Sޖ) ա\'jRa$lKĄYUT?2+o)_vm=k*Tay/}4w=aItVEMBcl=M-,(EFvjRU(&:^bD* La^dL =FY'ZDPMA}ގe8҃4]0, ]`}X_! G:ȤkP9]$ud|YgzvAL2'rELjD}rw?Ҡ$TJsoԗ)XBNex>ވaA  1^:@Ύ}u-B:c#N`ºňÔp0i٘@YL7*';:3;~&1jLA5- ʡnr+>E - &T E3b[͡6VsRtS,@53Z-B;L˶D]o7W@yI`u|ux'2wR=A5z1( +< ,EQA ks ?oYۣ-a"I#`&({:8$qV0ʘ_C7<8\}8S|- I5ԁ_ wVa6rM'F„cz3HFՋׯ0SxKq=d,!$ҍ!B'i#㊊P<$R15m8l|7KpE;p1. iK5 ]5&um6F =YL1[uS,épbCɢ$:# > s}jiA5 l' K[ Z|]qev6]!h<+"u·SM)%uݸ:|\8'k*0sd8HqQ0؞t=Io=]|o 6t}&W|߁lVE54O s58Ug;zz/"suRѫyy [ CSc㪉K:\vi҃Fb;噸Y,NL@!2V?ɧt9*_z{2QC1v?\ƞՖz0]!֕`#6& &Pxn{& Vg.YD183b*T+ޅ BW:26q=&E #cp˸5Fo?H߻w[]l`tIbw|cPR^h fTKtd-qBBҋFAQ E5s*Pg ^ u"X}<=xXd1m,O"Gs5LgFPox}|㛇/7Iդڡ=uY^UO=J*-'Y֘Le%DvMUIEEE+@RjqZs 08\&;!0Zo[OL/cq ôbsyEqg5>te9ʬΧ?&NFaT+{\)X/f}7z ʗSgRWmHZdL^{1iˁXhDgd^4Os)dm/6{mn/;_٪^airX̲%Ub ܊mC05&ЊoJr*SNR۽LF^AZhƱպ&Q֋bLYz{#8Ncbd(^GR5;z &5Qշ:7xV$jҼaeҗvW^sd7 zU΢AĉME3d+&D^GcBD?0a=[rH֤R$ujqm)9L9X/Ty["[wI3艰,\T8Y{&>W5>.gk?T;w ?չڬys 7T8'5XςmLR^B~JxaUE&uj/ ]Tӳcw0,g^jfvD-T wn,Q8UPܓHA5fܻ}W'F_:n=55N cVZ7OR3n(8qD0A%ȧԉ}5JH ,SNryT\s\$<⾭˱eUmT 81 s؜l(e:դw=ߝw~9S8`<_8fn,ka ˊ$ҍFVlQ5/'cӞmK[+U{"Y:IzTcŎޓ!rDhV|8%'tu5'ё$&d /ރAuALB%'X%?VJUR@]`,J Z$&]KY-ՌyjR5gŔ3]Vu8 M%㖑ǫeP+-V-1Vj&jk}ޟ7'_wߟ󿼃o+A5i=."N]f O-6rdj L!qn ~ށ'Vj@~!*ҁ[qEEsCYGQ4)\M8spB0.:<=;{iqymQP KmRevMnl_xp7?T;Y7-7̭CLPMZ77p`zT̀pPY&Rm',^$ҍ* N8YG3$q8ÛlbOjpϊ4U3{ bL=3 Z}v/2wNґ&&2y ;cx+P#ejjZuu?1jDكsbksaD.'Ӝ;8G[ӏsp<~r+VoxQ9eLJ@ϮljҪ|qΧpn5ЧL*hš5[0BJ M_==>r(!*!&~Kk \ =>F3kp/9\G ִ?4+. bIe|̨1ĺּW5BG}qMAv `L0t_@lKp57 wX` T\ IeOTJ*riEC͊,dSXKtyպ>$1G>7;{q6ϗդnUu73;=Ya|7i^JCjOIHׅfPm-N"ݨx[9Fh25̱ #T(uW|%z%()peU{7N<6%"jR7}+ۿTpY42,e]h}klK)F*7.%4KaGp"z̜fq"[nT Ho2k޼:p 敞 gxFtDsVrvcx0ˇ]ө3p٥F3`wg.>Z FZTn૰'ND PaCP2g`oψO2-U{^Z Y̔,/*$5`JxGnzL,|[ohvAE]1 YT~7@T\2Oy?>Q'[TjGwf^y{Sð-e謱VhJzAei b$+?]5uB'Mh~̠aS~;pIE}$x14ưgFEǒ}Wjҵ>=>?^ioy9u9Z8<7V 0<&8I=[ur*XPy`Oi.a,ЋoP/W>0iqA+AYK*S Ůςp&nMWQUiVŴ_ŎL ^SEjҵSě6oӧ}BWqlKn(T) X{ 6Xpm!`>;Mt61zC'+ V/gW5|Ko͎:)[rOC7~~JY##~M~IܛL_jU_Y|Y;~oƝ@i%p(q';Z]tk j5BP}HFSy=rPTQt}^Uif CtKk=ˋ,Df.!3(cWal|WG2wŚtU.{^8a:d ipK@Gxu==.@[DY@9%BIv#]I=^q'Lqr!]3)=7ɰE=͡կc׏ ">GiaIlO6|Ly2}zA5-~tgaz^Pb5frAˏ.IQ| 5[FfVEk&F*[ }_&YxLt1ù, U75 *N dY39Kݥ;(A5O׾wxvމ3uccZh@ߘEc8k葩QDz u0uL^&"*E[?rj"țmQ Ę?`{Sعkڅcpw?u[C{j> J$^)#oJ|x~rtIB {b. /T-oƎ(a\Z8hJ+Pƣl](vFM'\Ss; / O<6hDcP/iyl ] yQ5staCZ 48[5j䚓R2Ȇn.ƏHWE []j 5U&4Dg0&,soɠ*꼭Z}[8T(xQS9o65TJyCDXtU_$]4nC:!Q"]NFSƟz*ᠳo`&N6i1޼nKeT7W+??sEj<_~8s DhP'xCSa;62mP[y8= y1џAl OXo&V2U+**4np üڰC_h,[Hu6ɵIOtq~^>~a["&i'1_xc}fIS|C$ͅ:,l1afYg+Ijyn>mm(7PʝK|UlhEZffTQterrHfq? cTh* -5ZkiLo7VMmo Ruc_z `>|Jݺ64ҩc84Zk/а}"QP,^ tg vNYHSa5Š$ՐTKzNzlYGF W$62ƭ 'aě_>;$;ÂZƉ,7$yG_#Әk.s85 KWo0EGm"s+ [,vfVGi`T<#bf=ݶKREEҵoIs|nYKH(J[7lxB-=>vx?gvV7*/|=}熃Wk$^li`oa4iȕB3Zp7,.*H焤p >;}aaѸb>,;O$.iT:6 k{.>6R,w$_k~}ī?5p[6*y>!!Y*G%' Y ]i2S74x3 h ԃHˈ**86"xck>a,]67G`Qybw OV~q跩gIBІA\/\16p3e+PCW&mwƃbY▱Fx1 'V־$R"joaB9`q"_1}1#su2-j{3HMtg)CX?=lˬf'^'›/޷& o>-2L<8HUJ\h em>k+= "W "U\uQIҔ0gI5EWEQ ʔ8.? TggH(-6~9FPYlsTuOBHFW#f,jd k~W5BFP:&NL>)dp[+PjU:G;"^`%̶??h@zqТ -IzcfT[4D7Ļ̢.ځU9`I;l(vÌ?M!Z0cz+@afN$m ^><*Ħ.PTU?x#~=o2erJ f=9dE'y߰602F|+***ViZC&gx\q96N[ELۙpd%3LYUxy5(-ߙ[OMEP D}b~tf5 MnmcˊK-0ZC-ᩫ«iI^ȧ^tp;aWgPN=ZQ!>^ \g|c}lO"S7ckpf0t&y=:٧~ݸVhݸ3ŧe#["/5Y{ʙv;MsJ՝٠?yn^s|:!mOe渜^<1ľ,ztuTCW}! 7  Nj(ț)Ppy ɼƹQ):_5/\Nj&cLyͳFè徃]LĐyå{;Ћ%1}l<"#3!z}F‘vs?hs/qH-MpHΉ¤ c1x:jMRp\C3V ^ҋwoQYD1:7|>SQMFFǮkLGjߧO_*4|·3.Wԣlia᫙E&ṁ&Xh~?I*G T>8;ܦK!z=R_)ֲtEʖmb9#bJR6( ,nvMq}f@> j$ǝ(k s5 g@ԈD]dES+A*L,z OGuʱȼ(PCBoZQ)jp(pBٲKw&4.RN MwuWP;)b8Vzb],cUH`I0s]9j8|;s쾃TwL}}G}(6z+:we"_^ )\$!ckT\% nSB}E06֫6w],l^/T`tު룪 SQIά5CŶ "ݙ@(3Wa*k>\lwOa*`Шǽp4nse`W<4z[`9xF-;sQtqfdhr{!"g\v,/զJ]IQl7ht;9daʼ1[cDdt:9%B>};c/X_"a;ja姿8+DKP'et Bl! c J} "]>ܑ>TFVUtΉ";p'S>+"ף͢ W }r3n'JİeqUkb"(Sj 3(Ǯ^^gd֯Bf s4Ew d&Pr\woφ $H"emɒgy9v{͗HN$9cX~,[(i[dR@XegZͽU=݃rs?U΋2!egFU/(]sܞύYܟs5U.έ]2vǿݚc}b'/~˃{w0iȧrЂI-[4I:[qn#1Y0~MT$ ¦ȶEY1^'$7.r 7ڵA|B0&l d>.7TG-W[;uH+g.>w;w  ݇I1-Z%|~1'$yC?',#$< آe}`=\L1ST_p}_Bx%AŐD$'EN %Lk+#W%|MHY ʷ (qm7W!ӻ2xy}8f[WoW@ql8hmU6~틁sE<>0kz#"- CSk1޼ ?Cv5-œԹ\$0>C |ߊf՚I ut~WO_dy VrD8I鑘T/b~{C>ĜDNqO.G7cw"7CVē"'&w'U6MH5Ys`^ ʌuK9+#1y\x4ưr#2o+_k+L6Y5PGG'ųܱH)usҝ ,`0s0}+}OhfDktnVȕIO|g:SB A;598zf8)xBBRom8$wY8H]R'@cOkKb[7a1)˿ނ*1I}US}In_6F ZlXa U]=T5b'߯O/62D9%)P7X-ʃhgÑ/ѣ*LNP-[pXĉ d$;>MnuOpBoGҳSC gzkqmL,=R=IUg+CLXh^s +.K9En&:K 2=Ya ޤ es@ @]ѤT*^1fWz왯}u`zNQhtSzEHuQQ)x!s;fL8 C8MڝnS@J,CY %XnksԍAZ#դMɽ#<޶漩46:-j|]ݰ0o[%BQ2 ^ <ؑ9BF4NȠŷ󙘤r=EBjZM{fz*[ SUS|ߙD*G‹Y8s!'a(dd *NykrI#,ƄFfOg` 5+ۃk7>Wh)\-ٲu?lAaoH;FϡTa I/[P5{?{7aȸ+ )мo>[T%خiG0HTGnUoWrչFG Q"uptP6\rS^1w1۔RV=YhsI %0H D-Q_Uޭ/zTŅ M{\{"OGIpϲdgqP/c,<ڃi--f-0fWly@6A Co#F{+| D?K\`rɢAQ:8K?u w&;"v so=e<:''3Fʆ,iG17x>[˫5lB0]@Ω4ˁY9t I eIi80l[\LnTH¸x`7h~T qLZvC8o ץm:N#F4?"FuMZ#ۗc!C&)Lpx !- fv΍'{磌Qp%0B3dz?;??ƜL89⚝DQA($%sݒDZ /$ԓsX&)h j)f Ex&)E^F…;.YH.=GeIK_tQ÷l0ڠ"W;/T`ާ)5tWư15݅UDB=9M =RF0f!"R0I%A)F ۖ>.DȜ6+Acm%-S-Ij Qd>o#5 Qg/ !Quhi ?Q &qgs%푺dɼciH2DL~e'Ow-iύalo`jt*Xm\<.Vk''vv|$cN댠#MmYKO9t)Zx TV_9f!q]%לd+x:D]foV d;=O+Eޞgf.-]D%-#ynv-9Irc v"3ۉ &A8$w"T99 -Ee Mk"s7Q4BVɎ:/&*LmѓrCti4;x0¼0}6ޢfNM$TsKH >e:Q4<xt<S|ֵO$w4u˖guަ.w9ֶ.{;f~Lh?%f J\L-ڛqEK86^!j)Q@_槅D7xe |uzNk0TPf_ۚq(څnB#Ua,ȠO8J-Ia#8N(q[ǤFGz;p ~6 T gi :tnc&5΋H"t.0F1B.R漍kT)zp/$k;b12CLh+6g+Jx$$GNuH^ ̶!+'[?F{N;w[l?_k6 x TD.VMnB0#Q20:Uad1[zϤz"MQ9RXMG/!ɿq T*cjk4aQ)R6CIF(Jͣ Iİ%u!ۢ6ꨘqb],j &urTР^C(@ar8jEAA0WR@uыŋ"ʗDZ[/rrMHd\k-SupkVL 5 )GHByD`op$WVhi!k쎯Ff=5*Uw P~͏!9-H=.'<[.([teW==00nkd:6lW\+5荵_ŕ3 F7:T/7нEXq>,j w\}’q"thiށ FdWFdlbн-O"(u`1|F:HǽSj\w"R,Or%Z]}s^mrhiK*-7dd'-*F$F2:I68$#-""R-QU3g͟ߺna ]x|:y1<]-DCWK&$҈tqmKKԖɌb=x:/Ͳ͍Ɲ- ]R0aGwZU#H~k|1}rɬ%wT "P/%Z6M5GdcA3m z:_~֓'68=ШkQZDlX #SlRZYd%#U8U%.mK֢ Kɔ w35A2i8Ap6F3F:G"hlMx>A`߀?LvғVXNW<^oxSokaPp\7hD׷W Y J ـcfQn!UŽfKxќ-VyS- 1Ll/Ep!A VUxA8;16z~DS2.4cXldcHH&$ yNDFP+T/=;{hNu9TyEE~~0w 11d60b,Sʙ쒥b LxbZ鲘sʠ4H>[Y*ў[6+Ƥ^ 壟s}OkV|EоSg]4d1c4 uF.!HL،<1uTytOAwmy1l4Mqc{p&s1&4{\LC@;!D 4^ϐQ/gs=5Vf-EAo5Td* K c%xe'sD!I265aP.ݴ xz'<=?u[խ>f~;ϣ-O|d;qF_.ATʚ[CI4.4REڍ1y&& 6 "]3Ir/3A2cGzMGxp^lH~u~S'V@˙Ҿu3HK͹4(BLYKH#j$2V+(u]M]0tRE6 a3нu˜pTdoŋĨƝzG_t)u ǽ;{ ]o)??;{>G2= vt9"JVkA6C]$"й^a9(;IOEf+iGAL(,xe=0i,Y1[`.qP0 3E̱n5ik}%FMm먝yF1.It`##}jmԱaY~Mj)(,8ғfē$Caq3a0ע*[붘긠17떒 b_R5A\G_%UXYaK}o2v&RxbcT@7q-*45{2%+u& a H&y 5J70)oۃspz¬1V3ǠЋS bBy_$[Ǒfw3!pNZbyz|x=kVIB}ځ?ZGmͽ:2_rD+l^xIoj!Ώũ_LnQ^%nc`E>IdF.lTbflvp5iULpIGuѣd;]~dŒjZz_bڏ,zZb7yH6fB ,A6 8Sn +pgV9C(YOVLc<ӏz`}!p<0e12#LM C*,S,Äm6)ۑXE-mF|Hop-[PPJTӉG@WðHԷ-=d.1__GbیG^i8o] qLa6)r!BB%9%F1q`Mg/W\Ί%~ Gj3T~)_-XfI=к|GUk0.Ff;(9l:p>Ÿvc7"`é]@W\)Ly0 ˀMV`}Tʂ0vZZ*%jz:D9R@VR\.?Dr@A|-~GҽUDbx~w~V?E{0IoEf@8oՅH.zFCA(WPtd4dDrgJOOkW^'_ QA$Zj(,(0Iӕ(6$71U?+/0GX8k- j0 CZcmSCD;3! bpyGN 1J=R&FP (U_ ;}?}U5n< /ק|՝y7/MMcy3NZ8%|$6PsEn`S7nLh)$*(CcV-(HekU$n[+EoboT$D&]t M9t!cՠ2G2 $:)z [j' *h.Dō5dP8y'J!EAw`ap{ePib{DRJ5_RO;JOyP:jU[&|^*o+wM)o<d= 1-& bZ.l`HSyC^yD+cɭ"ܲOh~;-3nEo濬w[`z$|k?ăBS6dEη2Ɏia(l]%udwDn3օ#ЧBSxyӼuIT8:45>"DC@Ss_jhp56$j4sîR ^6c`|O Y[^*oZAὂ"Gs\>oC1v!eMHuk/ombi=cKp6#H.&PZͺɑbQsNuO(R}s19,Zt { +T;0(Ie0!K'  ԥ*e*tm 7#ϣ1vLjpfQ<>VE'l蒲'QԺu41-cHדPYXLcA;wbz]/_{{/|0F6˘.ɏ.l9#\N򱺔eX@F}e}ݐa! .li&5WREʑn|>`/?)Ǵm+fR=7?xJb"2RXN1."Qb r]3QwEWuGZ\,2i <p| AY`Y3t؃vP 8أZ\X6(rm>Rl&àvoݏ-?tf580znv9xX?ȧc8&RFnwؖD{z͡QW|P+p cN k⿓*ﺫAmWD+sOs܋Bu<"^CUAVK-ra T\QO5H#/`OLje L MG߬œ2C ì6  7" : Ib1Iot[,Rө^ ~??3{VPX>^uq'B?Z_=B4hZ#%d.Ją:0BL|/ߍz0Cex@R"nOBrSA=!GO ˛۶;N/KR3۰ɻ,N-owtWsޣT=!ҽ?rF=lݩ0Ck~ݺhucMIe./Ȥ4&l&A L$VxǞ9eRW*>䌂Ƶߺi}MOW2ƫd4^k}r\; ^q#cjt((,sby'O;_eg>ƘEN TkM,b+ŤmlMgxK؛ !VK>W\lWPxGВ'8B/_;5O)R QpH|_^ufZ)m>7<7-Y sZ_&F)9YA-ǵ8Yv2iC:_7J JU Y=8c߇p{ 4t3ʛgp6 8_>Jtp|!Hl`T0u}j((\>zfZ|x=3ޣG【HZ$`ױ5M,XoL 81ar ($T7r ԏVbM`Ys'`ޫH;v^޳?qt|^(+2M"2wPl&Ě bmeR \3P (ϔQN`ͪWgp V',dM$,֚0U9|m~GhE]_nw݅u?3{5hnbtloM/} 3ԬNF-gu\k*S鲕 .ډ8Lra w7#plȮ9y >wbvI E[t,MbN'7*]hǐNi&EdOC:e\Q\jEAڌ̰c&ׅ2Bp~ 5/DilJؽ]0ٝ#yVEAaE![9gHREVqxV2V\d3'}:uWjc]|:_MM{!tQ!'M5DH}C#R $zf 5N kx>:±)nFW PMz#/B [X15b 2V'l),&x$'oP\Afrf5kGG*[ȰP*W'HHک¿XӠn򨃪 QN.@`& շ`_"Ku><̩ 4:@Ǫʄ,=\%?#O0b|RU 2Ii.JDmƣOrʬ׭7>*3 : +G3= öw R4 PQޔ.28ii 9h&t?])|^ChaIx\4cmD{tٓEd3/e^,ʜ:d~D02:=CD'z,Q "1ARTa #zy!rT)C 'ZrݨRAVP9իHRApW_30X8Wʕr doC.P4 h\k$R/80X|NÈ Sfu1P Lb(0 bOMA'mJ`N"#EYsrlV + {U<+7z\ZU{B )n_N9O5RT>RB eGE>1I8_xM~f,,MAr/ 2@c-B,yTxޣz*dLH := L7fEU A.蝛04<^FbJh0Њ gAl A:|C!ŋAAąH[;1B麯~*AO}yꟄaR€ydZM%Ґg+˹#]7Y ;1qaJOS観?[޶qKaTf&5$ *AT=oE5m"v?uf|AFXrsh" + ]f^8R (T)j^/ g@*mYe#WSȼPs=QvhR%==ڦP8eTNkg>;~ Ppq |/{se&Icdۑ/ \ *8dn+: ]=vrrK!K&օC&fZn'#ƴ4Klպ3L%12 JA&W'ŋB?1Pk۳^xUxzʑc 57"R/4zHJO;W!!<BC ogz~Zh=TbQNګX#6&l?X"-#ԍ fpE߇-lSD4(3I3,U6velDyἸ:G4iG jaN唁1G0%5$ZkiNhut^:p( bAVr|+ ֝SG9ʇalFik ̅u_&Z:ਊz xKOoAϘ"ѽ=wB Ԧd$F" }x0>ᠭsy II)Bv [*Di(Dw'vȁ5l54Qb[X.ru.ӦEIu`d)| gOth B A\yQW@vRW-V&~|'zv^V?s \;& _ wvD͏2{4 1 Q*q;mˮhqYĆ)C?ϑY3D]7f-0/HHDud˅ŭ b'Av딓5&[a ݽPBv?<]aLC19LcXQB҈PS7fvU &BL`MTu)8T *\ъާR$ DqH-̠RAV7'i 8Nb*,KR~'_x ]YԴqeq..͔汤!QAJ5&i# F߭x'=vېشL!Dz)R);IJaҵQqTMNP?YXkȕ~ عU?;HTs pGj;fՎw'0!uY󢻹mq=r $koIU3OMuXV_NAjQh#IqxKv cBR!݅X0d /Mf<ܭ?| w~bߕn"OE9LjمQx6 ]uV1Pw`l- i|/Vğt{)@ZCd&3ѧew+bBZ%GJί}d(}LG*v}9ly,p@Rڣqcy}cn܋_R!fBZ/Wŋ +6 a5k$qBEw+pywT&d~MˊTO_AsiI8Z n%dq֋BS'il'G:b_!9T6/58A6fяʔ aalXSR H mcŋPsS+u)H]c!644,[&JQPXQ3]L%mxi8Gu@fUp:xdH.&x7w:xRP7 mD1G%%U=2Zޞ+b(^l#UAl 3ec8tJ!biőq qW~K]<7; 'q2(d0ð](F (q7V:^Htu lg_O;\JT4q4Y-J iI:5;yĜC]:d\)VWT5a?3}㏧]Z/32)J&Epxs{`u(bAPz4äZJLq=4Kce3&2RaxQ PMoۃG~G;|ּQ(SAbüAuczJhxowz9#ITpSTNi [g6ϣLyEV6vljη_Ә=LĐK#ؼ\'b.8~ y(RN>yGWW1K STͻYFi!aDΘM45: bB ]W/{HBMYt?컵/A(뢌,-kdnN#v+&UYk֘xi 9`Xma S`$22V616To_HW brGZۄB.7j%I|VT&֫5?|XךLRPj"S3.A5fHO98ʡݗMf,%RU񢂂T|-OH^e'Q@xZjR_񕞇>Kܖa̦!qwAǝ Vɻ+ƥG r}Lq3Vq!H CZT!'1*(T[9man{:TAd,rEXy }V'.HCh i3]FT ,&&^мx+78~g7PQ­w IK&80J9Qbf1RGk:$tTl$]@QbQg FMF\/*((:|{ŅTL8zӥQZfppΘkRz@0HoM>7C Ch7/K~o$qs)zsҶ mIDAwHEkB ԭ(Li1Q񢸜bL r| 8U,ZQkƅqb8,^v.UOZ,U ܞ}]Urŋ ݵU>OjzcPYx ^?P~%E$&'>3½k#ԋE4CZ"[s0&ye2},6؞BsE 95M }:}_.㽭+`<=K;yeDH}b9btFx%H!^fĝe~Se> bU񢂂Bo[>pq\[۪l5J QX!mC>dQqVa'h݊T_o_KRv 1$OcD81eM /1d_pyrnr^gɥEɭ B~~7v8:͹Vi-^38È gQIJXf<f@Ps/U4(cZ|vuZCx+ Vŋ MbgFݞn_9zUl/^li\KEakj* !IǼolWu RdKT_K?t۲]ůbE)'{(k_#of-v1&/%Wf}B#4~}Վ1[p#;jqqX#=PtS nqR*0[8oHo4'!- EV;ؖmTJK+Lthck'QQAat$z6=;5Qpysu6 _N…1Ғ&T>/Lb}bL^x̟ơ JiE@QR:[*cuyF\1~pbv!Jz?%;uK%GIޛI\灟ǑWG}M`p<5R25JKAk bH 5hkfk;}#"32+_OLVFFFf{<{ߧx4M1cӞ83g/|*fC^mMAZak XWNn jiAգop0Rұ MmVÜfŠ|1垚5rSq!PwPX{14 ^o P'vd@KsJV%x ;[?Le[EXg.Hffavw tӬp 9l\'«ئGڼT,dD9'O?5WϢ&,u D*GF4}Thyۥ ;ۧڏ^eq݀Y;8Zpdb73S5.U'\bRwu"FQ< ׁ7k+];7$^VYl=W~R˟n8b}eN'L=诺)$tȬd8q"ga\K5Kbg49 `xk+!竃&bmئS| 7pk s;ug G͞ ֮Mr07 -k_뙙;2L!-9nߧzMEZqV/үDbӏ/Rk;QA,TC'5HւTV@{Q<zm\=o÷]?g~+޷1\Rq.$oNt|b]FĶgK{酞Vsi~X\t?ۜ]@up8uC7l$Ҝj/F/{{|2ØN zr tUn)^!M>$v'Խ90y@5\kfƶv177(r '`lSllYkhDą.G5+I^CɦOg}܋ݣE/o [wQgtlT%߁w1G~ ٨*)^q HH+lw3=<%Β6&}JָgCiJ,n1)"jn]٪Ĵ𑜏\]rvg`{۔iЪ'N)x@40Z jc) c͊bF,4#0B! ѿ#{9VϼoccѬ盶|1@L D6X"%Y;\JfUN^wzOQwۏ~}sΉ S[ٖRT³4ћx n%Q!]EX; 5TpWmu^`gvȃ"qyV)6flsڏdoNP3o[.pgZ<*u5kɲv%ڒc:KQwuv :WsĄeZ4)K {Ey/7Ê 2B9^] CD e,(v tCs{[fp(ViA: ѹ8KNaXA|S z7]3(uU81ӣ*=H5W>~P9RVTg"")3ǭmoM`f!R FBV3}"IXJն_5 -7Zx{e,.R7_z_a#tA/~6:2(i\(SԄ,Y ="$EvVNן@j6gPL ]9eߛkF./#pyŋä3Ig^{G~b$䗥˄[3'\_Q4Բ2J lZRǂrxJ=J{tzw2.xQ&j)uq_!i; jkd+!S% ;c-aߛ>/mV-;c5d%NK)OU:s(/ʪ#ŽB]R'0]c|1cώZCy#/y]͢JĖxuĄ70"ةt*A^! .ѻ<><9(DmstS/mEv~'߯8r sO=iobu$gF g<|Tw_ qǎ*"u.^l!qDZCI w:t|j/< X39S?;S-]Z92˫ڍ\iթAi3}x9Zs#p$J'dg{<9`_ӮTڻ}剙n"M^q+1 %:J6[4q~6V D5~:6ɛ޿ `oWl28@ K^sU0u'GJ t]BacUmJ9JެXzYexá@!ddze~!``mO埼O?keYq+JFޝdhblfNO*X>G3a =&:0Wk<<էv}G]p6>V ޯΟ{iU6;m;; c/DkEE6@ИF6yJ|Wz#:#T U'yۿO}"wI}Jk={ޜ<ن}Gb?YqĎ Y peS5rE;RlLc*xԩ&"CG\U$au}'p0>?ITL1c X=u}gWyuLQajQ[[=1DzC/l.Bm ~0LZ;!YW-7 +HQ8Rb> tZG#S~"]zo{s9ӌnʴ*s:-rT.\' {V|llKM m輯:pEgW6ZreҾ'boO"ǎ[\ʫġ~W P7Vk+|{\9z-lhk?T2Mn̘c'?}' 1NRl3 #) =^hKr4R>v?9D?>.ίd=А07xcI92-K3.-г"b X?] ڑɘ@^b?l hT/5SӕqaWے_Z@Ib5@Jg;hJ+֢cJ0tmJEK#@8"Qn.ₚl"=Tݸ\ pZķenevm,d\a٪cf ,V+L[JGAJwj1ˇ;wr\sm l=|_=^S.^V!D#_mwLr1DAAwWKM'\-ɑ# XOZ Ӟ@v&Н P‹sJcƌm{U¿)?uӟzVSE512Empa),\mV{h[, ~%az9QEu{x嚧|;Vv AG^H+\ MtxԲ!u: @̓%"*ͧ^s|Xyl{:+2w$ Bp>}M%@ֵG3H+@\G3.!EZ:g2ʉ9 r*D4g\HYa@?8 RSA<^3w1c3݇;ŒM|y \tg$hOG=14fvm HK~f:HQ+1qZ^5T?P Z+[E_jsgTkֆ2k;Qg=nϥ+}n;Qz /g>9bzؐPO# N!/f%GhwIx3;:zN*6Ty2gtt 43(# ߛ( %և 1cŎx JOFd}㍭GqQFzNw4T 'mRKv333anlO9&kqӯwF#@}N|I60 |#xSkcCb(\#9ܥHhGq.vTeR>L繏O~&>quҵ^%N`^ tuC"Y.}oܞa,g&~PR^W(z OHN8kSƌmP }Bn.dS e=c(1"YqKsWir%h6Qd: KΓs={FY9g_6~P%b7.?54 xD(y^㶒q[``YP?}-/QT2%'i*2 uTtvs\QgUff\Y3P\n}fFPU<[ )! 6q`2=A﯒(r{>s?XK+SyҲM%1?WwZ FEb׫W>:b􈇌1fN[XЎ e& Wep8ZݯXA|pbkQz~[4{.0pF0Ќs뾲.`mf 9xYqJ%og NUӰXP]?7ϫhPD96]96־E ܨ&g]̶OxlɭhTwm"m;ƋY(98C 5)USy1֜_ͳi[EMN߆t'Mn+k^ a@A#in؆S֞gί@.9K) 7k/G1+ʷb d0θL:DWI ZnTɉK蝟2N%P\dF8ZiWshyeh-FL3 ҩIAL[2aTv? W^7 66yOfptFx" * 0r*ȉ9^r8 YWh,{WMB}k?4ʋƌm5'~~y.Mms {XDx|iz^^34xVѕ'b9pELj^ՏT_Ǚ*"qzPXY*HD].šX$UL!2{xO_7-vZZoe3u {sV'@(B@핉NTUw1ITmuq4/k3IMiIFyј`w/Yu %з9@ cJso`G% Mj2䈭@'b Ok↚Dc_oK͹u=NBn:Au75Oy򸯵2{Xp&.gOJ4Ƒ>=ߡo![z`}Mq9}YhK_%G"(lbr\mA220[pzͭ9 E3*ʹ8:)^cmƶ]8c8qDc)YTSFFwSȪ]w=(VzD#@-"Ą>OA-W\˖@Q]FNul̛ha>Vm$Xju[k^f] XAM7+zP,k1Osvy‰ԋІغ_N|Mkc=ntf]3Y ' C=~y%hN!EU[sTsyY]>w32yCShfcٽH?!ؑTmzD-/\UHM&` `F>}tBג4r\g̾.,eՉb+lqO@DKN֏S~Dʌ1H2>Ч,PGA3nL(X>}sooDTRۤX|/@X+xWne+zaPx-fj& ):kusM8R!~7sŋ0Q#in؆gPU_(XhT܍`3 䳤5C*Y.Nr![غ'-ήtB Y&2Z/̭pH>mQx u]!  =5pAS|gug)?ᏈM/Tskbx1#q[(Мz¹…:aу=$I{RW;د;6$:}FLƩ9MBPfKv dF㩪ȹ.\3ʋƌm|_퓅 ‹TxpAHK#{c"n N8 >ZΟrvTdEiuVZ-.iiL0iMѮoǮxbQ?wsed06qǧZt!#S.!JsgΑmj!ZC{E/-n]۱O=88Ǻ0)^*YN,zZXA-U+0ASBުXA[)r;\.5@gAƌm@{1w^UGC- SpiݬN;ј[D:I@r f8:rBbfS*F|<,0$Kc/` ҟ⠺~{dwW_Jt%w>e& anwLt"s=b1Q|edQ݂`>{ٴ)`{np$T8XTxS!,3赤yFE6T#XL0-p{Ec50*T 5FJ fZƘc۽ζ7UamqZX~ch <2qY!b 6hIN8_x>_o /fX[_uM]|2faUT{4iZĘiGNlwRQ>!IxP+~EW8eK-9{$L##j GF}wDf]ju匋k׾j B qU9Rlx{&xnP$`z}UD&nsJ>>G[h:̓?._][fx<-ٝ[oQ=V ^v9.8Bϭ!7%f4H(}Zk=TJx{~WJ 6u&CE*ƌm,;7/֠ d"B&z6D;DKBe`Oi2eN-N(b=-ڷγ+9+[8z{^QotawVkvּȍ"Ļ .@"XwBo0Xȷ ั*͠e@Ad +%bԃl@n־B.WV)C}BV&ZYPV\ŤF+/*թ/tbň|2Q~ ޻z 9Pm(O2K/1z#:G4"K<1:jcc˴c}:2&K`kZH'se>Ml,s-z1v h3ods4PMȓ31s@:S,1kd{8ԟ%vT؜_bc6}f0O᎜C: b*&@031p+cU'qˢ;bQ\3XNW j>be>ӎ?e[)' d,!_1vOc3,)^d'RGE~w .8`pi(i'( yRV%~ Ӟ{X|]֡Ѱ3쓽0lZ=h=fʅռBM)xy $Pl̪niXbTOOꙞ`* $:־SqērcVrQ“ycژŋ4,HnYe%w/y¥AaR5+ z DӀ$<[nͷp}>wf]Ao> q4]eb!;pϠhAir+.*gX NNps)<lɂRVu`=59?̹WTsɎ9w-j3f`Z߃}:4Z) Rrgv'Qރ6qy&liͪz]:vx9р`IvtukbQ^Z>j}]sB݀/0Tb@8 ?v[Qʑe^rqESXږDAa/#/ S@ڡҋ#,p@:$ѵ fBc>[h͹^z;;}#e+D[VےT;?\L A#Aדϛ n2u,a";s+8vf<>98IȰ0GV\,$[sTI.^dP]::S%>F`|^; [QBXŋҧ_5ɘN>xcB_Pw=Z)Nԇ"-c]+|T04EYD$/N ,]d$ʚ0X$bj#t$f rEATOO. Ktaf[-=>3OޭxXMQt(Ba.~'n2`mE/9xT=).+6}8: \V\>j{)V޷p`rѾeb Ѣfi(BrZA:oN#{N؇iM8 sEu8p4;J 'g$̋(ҔLgkj:ԏP[ZqQ[I-W-Br9Oy-ܨ/38){{K\tmdh?Ql 1 Y=R7z:m%e)qI$ڤ X~x̘=+b3ta+蛛E.I_֑Cz?wB`u{byٺi-Ё˱DDxG-4 nq-mNΪ) ł@#7oʋ"fёꬊiQ* 2 9rEi[¾6L1c{c;g,* \?JuZ#q!p X%hҶF;X ,YG˿VS!sl= ^Q4G5;8GVO<xNhU襭P sJtQc-.fEE:t;.p{6&=e¸(GK3f챴8?Ea ؚQ㠸dZs' +t%#u۸K zhȒNvY g^|>s?TZ~ڹyӉT RwY3rnQ1_%߈b5zg[qd'}p1[Q,E 2 4's.D^_q>pR?Pv|B(kez`7* ]\ ȉh^,z2JO#`0a1fq'v\[g bFvyy|(fh|N(i5 H+ ԧ1Lg oᚁjo2*7n˗GQDF:yfM[=[Y9ﲅcW{,5; t=R;/TfXƠM|ޅSvK}GǂȩDoը%f ahGNTTB@ V_R qdzkiA.\fZȘ>Q?ۖ]vk[7\zWtڜi@`K⣦rr?u'0z`?uÙiBlam_#(cPqV yۆao=i%cQ##lZ0(9V~HC4RP-[vW.塀- 36$.j=sMImӠ('T>)z'P²$D X4At#^4l WT&_Byqt[c'C춯o {rGo ,DO˟s3ufpVBHՕmAδc&-ab%5K/)'#(_pTuwS[JH@O*=m!Z MXV;ZQ"_4I/:l #P~L V[.@g Q~s=VF \ {SC#;y6aa;_3|BF'wc3:lRƖe\ cOiFlvz8-_Zز Thm2}a Koq5}JGخxF;9֮M 6f챰Deq{|I@`T#u!zF+s6׊vR4"cƏ,**4ou%N[jgk7=U7N:nMM[0C%I":DW[gMy; ;yb*g/1v?vd@(fp!JzR£ Ț G ֕(eY<"*ߔֹaTȨ qCo)a-E[\=ņ9gzC u?Uʹ|1JߍFx2\1,՘GMק %.s>B sf]vS깩O3@4PJR Gk1[ԃrZ&P8zCOA=qʜxDҌЦ-k #+V"ڼ\3G! V^B/jʌVDœ*GF&~+#'w82q*}.`?<`([דa;۪J eC!E}Mp;z4!$PG}5ITjm"PUXyOWvs-sIr*7Wi|h&fՔjmRoY$P=m޳}G4x1c[VJΰ9z@Ɋ4NȸUpb.HxF #H7E }YB?K\Iy)x&ژoGUG3M#Q k|+!8L+udY@|H0dutu=P&Hu.[`- ׮]2& Pכ/>'!hv-\lb{H=k(dQ8!'ܵVRꆍ1vѳgj8Uؽ`cgI>@ni+^lsf~XQμꨅf#Ie?ƌ{F@b@fEL  'RC䭚|cy%{M}Ğs@6Q6.R~g_>#o=TOO \gzG4JUMx[_Wv6iQN~Ǐo9oZJ \A 5s+\BCUY5n6hEHI:r4xy"Z3u$e’8k+9`W)] f-D`1+YxEQڡG#e&'>d:1c˴/g2i\]+-c=;#5%Z%_Ԣ)Cc+-G IQ8ZB]s*<^gcJ-SmTc4hk@U==8vyJVl4 Ze5UG eF48V3f.k>D@- v3 D4g0H&T1 f=ۊd(m݆/lتX Z5+a]GJf?%,SG] OE2HntZ1ک=2/K o8Y'@Ms; ]E*5^8Aܹ394>>͑?3>>E Jryz2CجmSȣb.1ˡPv܉wݻ-7y1ƌEԖopJs%WhnibdlP)eT=rN 5^YqP]sϠP)¶܏ S{t:E 0QQZ8ҳmscavh//2ŋg,Y@& Dn>/q}<9ixy栦Q!trzt9,{R/KYruzH=N |pvk5v~vkW^/]QΡ\\WWRh-e$}`_m]v_;t۷GMئ=;s[4_ˉg%|p,ؙ8z-#("~vJ4X3<&0c뿮8L=]FwWܱ PG l ޯ  C|Ǵն, Z;j."- [ 8JJJp5_U&l3H>hW.(.^0=iZ,SEK˗= ܶiݒE7WFg/~u洘>~yP-Q״ZVu9-8%DE^j~_\8s|ݻzA?qWO}?zL1Ym{apo.sU-Uħ Vr`hO6e۽%D@BrOlP]qAƧ~Rш<6>L8+*5H:,=h:E>\`TԵsӸx._͑kI<1 u3oM܎cN٢ɾ0zm͡m5Uu}:\{( yw[?|ٯkx֧TFaSE莹+_qjd3l{[=)'IU΅cޣFؚZxQ2捣;2!庅>]ט&.Sj9ZMQ -ŋ"ǩRu9Yn R`GTly[ŷamfPTr(,ckg.e3 |+[#hBj~N@ovDV* 5G@~X.c|r nk;w~^zG>2veEC1a"l^d!̀Z&>0(Gk_|,@Q{XXKq_v/Lܾ'N݉S'Cӓm}m#y/Ѕu0AB"Z[5!bIJ(S]&~p ơdD5nm;J, ra]c8B.c5 {2ZHE=8bF|.T2(qq |zP.ť˗؟+&jmlسu[ {;(:2U}/Y"T6lf[%9jmWs03%K. #]1/ZHG:? j8JŃ7m 0?l=:`/Ú;\[xӵ0# 2gE:)/qNX-uW1},+ea8B̀Zs0 {;O=-ߏt8/@5ΰ("`%8)Ua^m$`,\̙wq{b/>:1'>oBHZ@ 6exγ?=n!yQ&GYkݱ ^\WmolvBP!f!Q|b˰. 8$E\0IyL z}m_z՗ i;0'm۸=AX2hepƷv&˕{wY4if6N;T Չ\RB2 [8;<|s['bu/:S:{*ʱfV-QjgRǞG86E'c \1|u7#;zv"l ~۴U,~:[ ~bzh:Yȹx(5t1ΜhĸCdJd́RrLI[XvaG.C0a6;XhM1,KʃX11γV#="Ϻ}ovy65̈3#i1m! C +,$ZlȰ3<4!d7zW՝g#"wtl6_322#T#6#*%vĈ ڄ oSNcmpL•ŎjNOT6 X=v!1=`! '"q5u$+( Bq[^ dRPJ^T;9g@Y{3'܋F.÷aW\&4$Vw/s]B*D& t$[H fdpdN%֒Tk*@R]>Ӭ$ƪ|SןͿýL誚n7A&ّƂU40D /FY:rhhL20'q3慼㯛n8sKuV 1'Ew?QɌ/gߗ0ȩqn%!`{]XJ*Wʍk5n%|W27b'ǜv^j[KL'Ȏ"k>hɽ Ws"\EDHf 8s 仦mĉcRBO+1OSr$84t47~%@a}wN;wMK7.5t iۅQoG߶ɎanTޯ) ? .(|qODr@D;0"4ln޾mNV\ 2Ěa=KRgΠ!d`#W**qG:c 㨤2Etv*~wGXwύi.[I9}e\Xe@gkhn}{`G"-3 /+nC>;ǡ( Eŋ|ksdگ\w =IkFܩrbŝk,U'.u/׮5X[Q ]7'bZEsƏZޒ)C#`ӻ^UB'%Ez޸c ϗšh6 W VE[U]~ WOC/LozQ9 ?1OsnWVV_1rR]>fqy(i0"b2+54$tY{ BhA%QTa /'`a~BH/.KXu;v.'R-IӗgK)z;̑aUwTKT\o"kXeﻷ]`r*4Q鞩ee- ԕVQ+5̖s&_aHe@k0vUBڕ  =?`)8'4ʜ {z Ck֯6{ 'f$˗kzDEUESHMD d}-*"(FŖ |[Q\NviD ~<j\,6g /Ü|}(f8^'Wݰ Ήc.9@A&xMXML^TJ? =nu v2UtRK0 o2C2b>fKo&ϊ!~فD[ܾͦ%%V^|fQctξ+׾iV*)Ua F*"鎃gt\IiNt?. 9;}aW]yб6 BoqRzcovZQb);(B4i$}h\Bπ3 y[Y'1~`GjWZ""lin4^ fu;f} g ?/ G^"b[K8;N~U+R5OF"4JiWfP;Pǹ.XQ,;EѵU%Nz쩞Z- edhuKam-ītX1ė8{W]p.B hY.ҹ|2hqWK &VR"-Bzt =tFIEPY.w8~ UxBidMH/^]ngpᵦmW8^kyYTűh Y%&CAɭ!+g?8e\իWo<=X+8nMWɆ xi\T:"՜1:Vhu≂[S]]" 0Up-C0l,ZaTtϧZxnl#VTQug7ftpBxQAkBџyoa5wk^| ^dy',>kZD7:V)Qa(mh6mh߳PNp[f`] 'w&'=<ɀ!<-Z;o[oU Rr}2&rodo3+ɋ̱奥ヘk-Gd Ͻ/}$:Aɏз*,&rLQ؇(cWa @7myV{1aȖC !<']+>ZDǺ F'X- ٹ?WHW'1PtVNH";ٲF $mnK+WkwD2M5yS˧ =Rmiq3)D#]Zei߁{oEh0݆# />Mqb]}$'k%2 ~ a:})C R֮&XI}j.5:k/l՗O<9pk1qi6q:~vN ^G6Zu0T1ĺ O(cωG"4jxWR?M>;G1=όCʼ(.^Nn\W;M4'b)e8uG9ozL)*"^{Oa.\CЩ@[ (IO[U$(2R֗mz<%[dSyï+"/R. (Gp1+|KxW =?M0f?*(vr^dUi푏D3^ QW "j\.nޫlR'tb4?4jzKKK7|smiǼ1$Khn` c&f([e8W4$ɪ'6ҘDbSLB2 D.oGȽsuTę̮Ӏ~WѬތMG~p@v[쀛 &BNpY@G`"FduĻwmA}›`ֈGIL[/ҮM|"rҥ!՚zI/ql`LXAYj=2lm_5`=Eji@0@wQOۤ{juwF$0&C4U\ka~!UۚΆI N,@{)LgA%3F,r7/45.G*,%ni\_-m:|X}k*Iw6&|Y]G/hzXVV<踮׮KH&`8b&>B7*$Ѫ!оT0O]갲zY^Ixjv_N>6jl?m =7o<υz :!'~*6} ^8-.^:śUaBw:"Y&EI\<"mcM?h}ON9V{W8!`0\Ğko!$xxlٱ;H+Ytxi/Ql,. hQ_mu֮WE8fgnLfbepgP] "ճ3ziMz dD1`Q8yl8j^8Y:Xj͐Uca˕JWWeYZG[ݩPh:C{z:]?Po6 9%'0ztiޕ*(Xq vu%'nJ2:4 %*(BR >%mBo@.aEPߑ I{"byŵkWjU ɑcOPkCh^"ηP{= b칰LU5B؝Ih;eCvM , uazk+k#u~=(#\jȀ5kB{ X4ܐ(2N2gLS8r7r{W \~+kk/THF*78 :7ng;m$`N[eHs-ȹ RM$VV,%F{xs8dEN*6j'y>0+%nq`ueeH.bWHƵN; PNb#QZ֟#F>H}H'@.fms/>.e&M::ch fJ*Ƞ0LD$A7,``nɐ@B5 `dktBmYTEQhQogj QCHUQP'@KNrR$$׮R^GTڧZK7 &ՀQzC[?$ub/ݑT3O+&thDl+qSmI#_4jP13*CwHuUJ9vjz2ANþpׇ1Na(.Z~ yu)B]m'& u)kZuT֜Ȑ3b^Bkr2Qt;Ll[x]GQWK~amӢK>Za瀵!]c|IE4~֧CpRꆨ)b}4{q+TC0 џ tuuzN)#PIi3݇ Y8V*C X*,,qAo<DSlD22vZx}[!zbᅴy@! 9_S˪u)AZ3CWQ$.AH!su 8徳^5kyUS⣩D}bý,O"ȷ}zu֪5a8c(މ<0 =!$ 77KDQ rAe? ׻vF1t+ܞTŋ^'DA0*,#qvC~ WR%r\-"IH(r, _S9x}`dU,O}{ׁ`2 l]+XCoVYSFV8%eEZY$*Jj -![0@s)'9Xe5=YTp ըzG1!\!ZPZg6֘ʊ$PqnZےr.h@W]kz?ih4:[d |bH RPYP/afY.Ȼ,:9)CbpNSy|?H :?XVKV*|lum Nv?!'TS/ =Gq Dp#oUؙhh>*˜(U-FFZiVÖeuoO63w)|69. àx =]D" X/"$#@7yX-$mԵf}DoH $Z7x̀jU]StIJ.B`=93['P(ʱD>uJJ陠^WbM6XGNJ+aO900~Qu%^e DZʉ\X6T;p"Q1Iu*#ɴ< /N:,IqQأKZeeIsl>{!< [fBZ[)AYu!( ֥KC>C1 &'CͯeTGz )LHTEcK+MϯN{$GF@AbLKx#)ސ [Pd¢X!히},G._2- 2ݜDzK"B-e!JbweH?$#z |Aџ/Җ9P պz D:F~' P4|J!t%و&7,Krz7=&Ǹ b0Wm]SqC*- qb y= H0/t6wi9LONB3< ?Ol `APB."s+QWr1aX C`S Lp` X5f'+70ܭb@i" /ZBa؃~TtRl4Mõk`RNC䩌^v THn+<%a`{PuezTNz" j2AL0_-Ȧx++COڰRI6 #b\=1J@$2!1넭B,Y֛4 |"'A hNY*>)v`47TR%Lc"'Ykqh";o{d oxNkUΦ:O#Avc W75 H d2ٶ-n!<"Z$*Ufâ!%af#mȄC(K[VvkA?2q &E9y [gC.e7膉\.wUR%dh fJ+7=V a+n S}Tri!Twq>%CMݓlmHI]T^0?%v鯍 Аe $I15sr2*"b bY} o 2VH]Dۄ}Od'!)B9dFnF* *Hx PT_X5̴L ֥K0CBy3 אqxe[G;L٩LSHujOw ͉ Z>7IȗlwwMPqEFQvR "; H=EC3J( J ^EEGW H$<}NݙBR:}o|_x10Ix2K8h 1{p1'7@.#YvWf((BZj X:oiwpvVY]GR3?ԈdSxR]3lC*4F/y)A+Xp._ tNuLh$@3R v"B^/J> {_8!7 =cZM/6Wkd K!u!0m42(&Bo)+K`#g%-&&&j"sЈ,Wats'FrLɒZwȥϠT k)[(hӮ=asmP TJ]T߷wjPIHs;N Rao=qwdҪne]Q1FTzVDZ$ĭ1kp>\!odH) (p`"•AԐa3w}}jU Cz5>9gBr"NAwT{ǒ^Jx.[ܝpm)5 510iCz*jճq0j@K-Eu ryLONOR-JWџ)|`嶡V ;TsX &'~n|w^w*s F& `c^u^ǁݽ|m(CSk7_: b0!CʢGR B13M]hf$a{zXKn'$с'Qe 1<4'OO {49-J*hU ;y.ը6ONrւ΂mʺ4xYKΨnDp||wsJ߀`0pPhT /"uC`r3:ԏsB$n8;(Bc&K21ybAeH^Ffq>BĈpv#< Ou[zmss0m0(܅O pO.8֤B-uU4ȎI7a^04uvD`=ar.( ER 8z?ۻo?R EaTFYA N2EKBM|]0$<1%GR*Ћ⩥F t)Yl&88:4ȧ07A5haؒe~g6Ł5::ZBkmZ n]:\:/WSm*b  lD6tXݻoٳ{}t].4Y[@̫.^VeiL=4<{`y|$#1)qCEFɚ_֕:Q= ' 0L8{hsg@J ti8t0;R  ZaPbJ*dpjn,@jtH57:9TK؁t2d % ]eh(Q=X ,|8/9SfoBo,˸w#La޽xUpB ޷/;13!VyM,|zT HZW:& 4h

    ,U.bEb"KNx# PkC$ +a:DŽ:7 TzM:чZ}/Ψ֣U%'q%y~zqr}tp?Oj,Pv w 0tg76P QMY9m ; 3<NNO[D^Fx"~%\1ǀP}-uiEEeG]1ǽ7ok|N/?GAK4]+ W/4j q6xiqIKVcH5+zI;QXVYI跷zCu^C U4]%29GJ Ek/ +cQE.14: ; KK˗Y*t[8`y,@4~DhOBL!?BYq:Ҿꖿj}t %q)mI`%h9< jGB97J 8Wi ߓsu<;]8CK/,VSP@9I~a.&Z9 Lw'RB!XDNe-qoɫtOnZďڅ 2K")D<痮^kssWVǻ 6jprJ] Y y,?D*oOpΟGvi$#*?G+&4샵~24lT1'|$0q0J9xP;_{cUnP(ѣ8CHwSZ"3 1nV<hWN%K `HTVK3imٚ(?I-QcggffaX<07;ӱ$bIfԽx3sT Ovfgad?** pUB0~ʐJ QeS1{2qTH0 ~̽'`8<M(@D*o]y2lH7TKs1=9y׾oN$џGҙTbZ ;XidA㧏_B,}kOEVch4z6(71`I/`h iuYv0^|ŧ,-ޒ ES8ΡvXO< AD`=&^;w/K%4%oEN㤕Db]wU@I ϣ0!|1,D4= 0"`OB{j aFfk Vg_-^.B;־TBٽ{7}Bv$r̼&+6o"RPL*._Bt^3|XTۍIr퇝)_F^o%| .tg?᫋sϬ...VFZ"t7EU~-f#K$qIӰ3gE٫O}Y$!%['wH'&4 m!@Vd #"B+~p Npb._khFvk8 R T$Ut@+Ƚyw~o \Ώd8&Z:#8uzU(dZO6Ac:%^uv&.$,uu:m"۽kVZAO=Z7M9L0|˨˜|RY<Ke&śp5א>iP3}s f@\nH,_-͉2A,5 v` e, ;'n':`a?Mî|"ymVAVntm#ddh & ?߇s>* ?dM1a"wEw =.vcT^"˔"=*?϶JLZ(WPC| _ĺZٰ"-4X8Хe~#(0H8IOOS"x* 4aW,R7f162whk"赽N:`/6|N[67i@3az#2gor,_qMd| p@io!y(B}!<⋿; 7x?ʻZ$4k-.Q RMb Ѡ"u0p uҬ΀-;qU] moyW .HbmhZTV ɂ"9AQ-?F?AdO(.O)N nLxʰ- ~؁4hb?mOsgN ٲ; _Ú]@sg E˷K4{$򶙖azTŃ)(؛j =KoD-GN;)0Z*O- (}S^߬ u H &rgPPO}D*l:{.VWW!=W9M#eE6V]hׯ¿y 0y9:ʹB?җO)Ԛ. X+;^FsϝVIq2FU& ئX>v H$>< /#_x YἾ Upbӽ$]UK弙HQ?SfZ{QТZD)*+p{FqE`,BB2ݪ~k;7G_W_xч\uQHDHT2GE{0[y6$<)csuzӾ:C"YuE>_79>}[7?[ \D ,qDX"b+bw,>7&fuJUS4v~*3u B\!!tBD9'҆&<'Q⊈ E$MF__|~W~O]UPw#fVC&m.ŷhQ熺zHR)-`L| acT|5uE>|aN$155W{ PץZI[6<LX렫#kEuFa ZEDiP&/vqx+=7oج-M FqQ?~=嗢H39aJQ#7~(0f-73ℴctԱF1A? *YA#𱣔/:42o敫Wj-$縫1 ZƔ26ZBw[zQ=vc$, Tvɓ'Cip05 45T%fѬ5dCTNaRĉm?jA iWy/}7?3g__8ׯcuy qXD9,y,GQzp ~,94+$/.,l]im 8N=o=?x]SP谈 a^T^#H$D:$Uu!_Ǘ_{_`qqk+(k@!%NXڼ1tW'6JNiu0Ѳ@e?IcɸՂV䃿'TPPPPP_?9ip1Hr d mOܞHd<c Nm5D'I{O"K|;}: :2kK:%[%qTX]~oO&Z>hC|?^_X@9[CIZ&D_琔F\~<3ǫ򭄇9̏y y!߷U6~?gMRҩ*x'bnuâC̀6~6)7lNoȠ!|_Nh_ ."2 Y`yTrM#R-ܲNs dϏuv h'ѐ*e]Z|_C8a0ꅞ7 8 N1~u}s~NGQ VיoKjШ A@gm qJۮ"C03v2n!5!o߹t"_vPܟIENDB`view/assets/img/speedometer_medium.png000064400000051616147600042240014166 0ustar00PNG  IHDRlwzPLTEٿyž֢ѹԐ߫њzy|髖u㟵Ѱȯޛ׋v¿}ׇòzzG#d;`;Gca$7 bf! "I b?.!n)o $ n,p C%+ gxJ %N . 0A '<Ҷ0) 8;= $2k]2*+-KŻ0ݿ*[H*;x6 N/ð0`2${(.1SPOQAc 47(!UkS#nNJZ1,\um}X Ji0qܾBhfhEUjOl`0_ :K8 g/|?;rQQ[CUA%9˳HuCE M bkJ|Wv;TOJ;> bu:g Ub4~k' h ە?$+xR8 ꫉r[}c"j#M*k*[f(Rk{mbtq  )pۈжڗ9s~ɿ 1tRNS3'1K=O$@YybpplcѴۜJiӱo3P IDATxKOWgki]?*jT&*Eƺʒ؄˛tɳ1^P9U(+UXUXFt}Ͻs 6~ ױd< kP[ӼMx551AqUBД?}jqpp)<vA.DCa?*GU B~p n3L8! B-v=|/B0 |aGƁ[@7] !KD"lF8N#p8x=nd4%G@dP1Dbômb ޷{.k¹`N4 25%Ѡ? ꉀiRK@GsѓI߲i܆|6:?1:cKn ]P@Hÿxl4s;*Gbb4 r#[ /.1' $j5z Ԓ5B>7JHvXJ-eM*^~.٦^Hā MrsObbc!~;Bqy5qbE M}zkkyȽpva?KBPiytHp AxkoݶNv/^ReĕM~[h+dowMk:"ZVպg6" Ҥ 3=؃ӿؿ9Q;o.DB%1sV> 0.[R$.]Bxk[-m{#;/<}ޭTO۲Cq0!ÐuΞAFAoR7J".TfBZɑvnfL0 S-\`BF? wL,v @}X̖diP;q3ha?ڧÐRn7@-umCoҰ'+_%>2| lq=0KFk 93!V!Za;[oJeԎM@„ʖ i( ބ?+P8* j`~l"h?VKjۄm$JL-_2L/´cn Flqq=84r%N[6G-TÉrŅ&b⡭jq"Xz( ++a/~yE5mLԄGi)Gn?@!ۏ[,8{h 2(QO[]]M%@z]6v:\vyyƪ7Cx-l@QÈ=\3VjLHs-U4d]5ARi *!щ ҡ]pYe0 u3ܷ:LR pT+5C7hE+urUsYe@(`S[8FM[7po8h4َm+ﭯ :OS@Ofmad6W"GQ,S=MеlsdfVaD Trڨ7B8ţ V3m ɕR6wBD83NWCcfXOd"1F9MHc?qxOV&XO ^T" blua3♆^y{2K@!sww)\b3:d\dP#4o0ngƠciFiΞ 16>>9#a*`|t2$9+!|λwmŎUܵukBP8{7(HOhMK+MÕ+W$*пuu;/L u=;Lw)kSF&GOR+@j/?Un>5j̄8?_Oג 1D@[Y'٘z>yw\_IQcC]p)=6"j"6ep֯ emm-ozVtoN$z2"Pa'@ kJo1`o0ڲ=K{Z 5!-+'R\? ^k=HS ! &z]eL'Ku.!X$qn*!zL4]<56泯KoO䢔/Ys +󙂴kVst ʦ d,1篹vٯ…kL.~dM<%(u2u!q!d}ٚSNo0s|6?pNFSƘ-tY2 Nr=;}iWd22{z!F_GԂ@nZTܩPIgUn |۠7et`uMb-/ q 5Ԯfeȟ׎ 7?Qǿl/~gk;3 q"° P$""9X9(RA b5 Ei#4( @@\$ sBr諲4&q$>'2>7"WT rJ5{*ކbAXCvZ2Ȭ ~^#@zS=)u}p;L[G&[NE[S]% #N˖@n٧s; ka4_lf՛/d+ZNYC'Ƭe3ِ_".D7yꍦz?<:G5B0\oLSEZqm !U/Xx XCN^xbس^?%p=sb:ć7:E=)n6RLAX=/Xe ëo*q>@y'Y [UwrzoiƔ!L B,L1'kxe2/ Dzh .9~}*Sq|obں^LzF\j[c_:Ƴo/|=_,!"=S%ք֩ԇOcLӏ(~LgNs]S9e `ñN" V֪&Ǻ`J-%!*.:XI_nD|BET:TCE(%8)Z(DI+,}T-"FxbVƫ֖cnx4kMQLC@Z57c|=4wx/dOf/!{<"F1pAYKf3эG|rc_-a*;dRte F/Bv(vS:`J*tY~7w kaa2 }0j0yʆdEHa˦u^ޫ*(ZmJbl'r'&`RuW5T iz][_h֘Xi5vנQJ؉'_)k1OloMwPLp,WR)]oSUC_G<}̹ Ua-;<4kmzXy'i zP;15<7nyr\:VِTSBf,AtD44qexn?7^d_;T>UշDZbFru8i2bcMSٌ:eͱo1ύs@ȩ7y: Xd3Eu]imYex{9 jq`lMӢ\; dEhBF^ZJZ%A^,Yx.l9bmcHOcCz͋ iuXX [rH~8Cፓٛ@m;Yu0Ғ ?Hz5<7^(3 Q0!tUC86c*Wj['fWb0q~@PB[GMQfN|[L[aP)@ߋN! 'cvM6?7?J枟>0.?k@T[Ua;W@kH)֧(/3g\sٓҺIyȞWumLjyJm]e-vlA@-b;Ӝ-`{}Dȯ~iy6OSҩT8RaơXCo͜L?PI[Ϲ_b$+և5R`,ң}fam8Ĭwlɓгa$B4@L0jօ`3FU%DĈKu<:d8px`d5qj<="VBSvŝXzc,Z(_>$ks}c7.ǞecTwޘV木M&(Bnu[#qU0L6 _2Ãu?eڱ0j6#ʼdy}``7{pWXo~m>Xۮ70j-c/lz+G7mu- `)<|{f B.2Y2j]ԫ-HREqz$=X~lNz_equz0C*QkIce|)qR;1Ƌ_P+*qP9x[L˖Zu VkJiX: c>krΎ(׳go k(uuCDOQyv Z )5ms߱PG3NKb`-`˒Q.jq`:7_ P\>6+74dpKUo Y/i-aaM>JR RDB@փ u6K|}[F#B.ԏ}d.X#RU=RA5fM"GX`93[`L[6N`L|$dgU^18K`pV!SKK5hFg42]oCAOOrKvo'Cl!ثHu7ƴm:Gh< [kR|r`ut4VۤE9s-4$ew_%g$&ށ?Wd?~w׵N@e`=88Oidv@;5wCn=i vi-ɪwbGzoxȳq,,4b-:q\ttL2B%Sl,&d2Y񍙽 O֞D uA5/.1N0Ɖ:bP%^'˄pH. Х'WP4ȵs] Y_XK+?Y\hֹy 1;"kkMX_yY/\']m7 BLrCY&S%"M6>$?2,E' |/7'ᶶ۸ \cإϧН ,(PyukmW7nJGarl!x2dJ?~e ;\.~~> Ϥw˴/(Z^5^ĒuN h<%uUqtSVR{wG{pcy rw:(CP\ֿw /&${LpH3פ2 ņoD>H]AYsDÞ~8"1hi8h 7:q&^{v!;&O nfz0ѣҟQB:B ͩf[6D 6z(Yg$Q;Lp>VNY-T6ZX]͜4ړC-`,^\_yZVs}|m$tj!(ݱ2[ iVV𻠍ަ:/ -·;`i]Eѳ|6.JOul"9 k<&L&Dү,owzx46Hv,Ċv <(J cz~C!9_O4NSiD(B-q3]Vd5h!:7;!@c-g==֖ac5ڇ(v]~[!O]L uTTYtjc̷^RbMdNx!)un#5]m9!D7Z)GNx#WfZ@4oi6f//'QI|B#!7m4_ǘ Je ^*.5Ni.zq|hϨv#6@j-'mU΃Xk>Ɂ^d*0ɒhO:(n>ʨKA5б<%~?:$ҹΡHyaNcw:XfȵnSGJcV>fu,|L3ن]e P~P_ס+ԢI8:lS?p\Β{pFi\bGuF5/t >۽ֻ+2< ">Оhpk3$b{4]Z=AM:UN@dM(MFPSpx5S6},'RkN8iEtTWG}>'7b}20cX7&/|d,1&"=?! G^~PJMPI5lA<4 *ak -oDYxX@eLy8JןI05/jȴ-id-x@V(A=oYPֳͣxcosӉq͟)aE[[:ћtjR/VP:| X77YQꞔe)鷺5$ մ0Q'ܚ]mթEf r2%R@m^_Wa k()֔:i >Ng:rnOwXL#կ 䀚upZMkRhT! cNY|6׽>*Ž9+ HC.I5kW ,C\=1,}U.*OZ˗i,r  4[YƅcUְ={p50>EE 50W.U:un/Fk4T]ݠ:{NRV};恡z6 %yC8X'.&/g斏ǩA;oНMݹ<OdkY1NK<W~ )`k. b&;A'ٱٽ laX>{Uow#x@)ʱbj8YKgkjt[S[dDZkwG%T>=k耺`A@g#qhFtF*Qu공1D "?Tn@e=S,ռ&}g~4{sWs mxuCuPǜBR HL#4 4722s@*Ts"ԵEH"2h)s\ c`F^M|6~}]*"ԊP}#"6-gc>2`%DpE4OҁG ";ʢHr+> iw߾$`[_}+/-N%9sM}CrOhTWWi.|MtMթ <ދa Ǻ/gM7taM.Й{EҢE6}`9nF"86(N`C> Lupzrv__4Nơ.z2[>Lzdzb?쳯yj)9+jU7 LH,q̆(|A{*JzRHy2=Q_x齯k<յ! \EXKGZq /:gkgXOY7|{wrNuٽ2fPQ'ʱMcbL(5ؗA(%D^{ª'~ k{^dR>l1ue26Q#VAЕ:jzPt$k.rr7qb$VVVC=% !}2%VRtĉǷ=`mE:H]:iZOMؽǬ5IV@Ͻr-a;YEH/,(_HZӹ<ăDHB3>͛?lb5wP'-&MfG߾sߴ^i ˢ!bf:<ī`DkyiSc#jCt)sGvXMWxKN'{ QTGgnzm;m khH`-e4gBjycXۧPra\Y73RarekuX&40 DSo% Յ6 ֡\$B`txu#qn$VMfxm;  A;:OQ^VlS!TTr|T0" MDw?~ޠ5Ck'ޗtޠr#nuRjY,pʴE9CYm؛[- H[5}v;NB!*T`܆sbnBp.x%@$hD=h:WΊ#W >3ւ(`K$QVk0_ ZE+nkBW+pa-{B Mb"9 uiu8eiswyf]kTbD@ NVD#. E] X:cx0v.[N]w;6KF-%CJ ] %kar]+4̉LoK+:&iCaQWG/8|wHPPGyɟĖEEnmQFdn+%s;*$4sUTOkraiV+`R0ٮszkY71F-9WUlk~Gp[UhUkB$X{yonc$[o7˷DA(0VDQN}::MnI 1 >zm鳑.W&o4ٚ~qX'i֚>RcPvUjlllaXWD:''rYJ1JNkd $NQ;Y* DG samN2IVbnQ7@J Xc0bmXo&bQ*U[:ًhi\K+μS 6XBOz4wU;j<1@]#tA>V2֯[kW"ċ:uXN]l˲OQGQvu+g{z7a%& nF&bk2;7lfθ6SGYo߯k ~k*VC {Ok2YPֈ֑LhQYq87QfyT}ODus,16X9ef vV$Mg Uw;ND?x 3^Sߥ_ dztAxd*1kiquseؾ.FYܔJ GQY>'jAdh@]R#Mü"TRC$5\t(A7֚wё5y5J8|`ysed!{|7@q.t/LF" HYk_ⶩ]e5rj .tmɈ7yԁ iMNB#k͙ ԽK @Ns/eyT{ }y i䒞x7rKpȝ&jۉUj1{Zx64$b{: 5Ѽ7cXv.XOΨ5P}a{&O2*{vOATfˇNkzpJ&&$rk]ɭVLBH ُkȜ4BgWA {u[ kdL>HD9cB4QFƚjx^Ģ Ztq\ i0ɋ`scUcM^pvUU*a r,5hJ knFBOOX[Ʌ;%q%Zvw:X[,s 9 ";1tAރ )Wr *}.QbIhSKwSV>¡ $%vzHbXJ6GejroHQ'+!i `M罬:d닱hQ i2,s!^æ,/2' ʝpQFXT%r{6 2?c,`c Ѳ3]{ed5Ou太,z(xmJEPzpvj`r!Rsgzjw9l-,'BL!kz :%z3}tg!9gSbvrNb:Kɺ(Z kB֙nj#yMyogP$?ۤx((xp9b z$ZpEZTi~tyoCkY;Ni`mZlǡrkC'mMAtTY6Sã|CZ R٫7举QjPZg;m4q!g`=^hb9jN6R!ԟV[`M}á@1 `M{[WF+UpŢH >3.؏I5k(1&+.}`߯`+]9X+ aiqb^.-1 :̈́b|)3ېnuVf<3)v}iWܝ]L[e[d[2/`BFY!5"MfM=؞%U/6؄.pe c5v( NFm:(4>G=I9gW>O7 z 9 FtB)k~MCo^Jv?O O}`;hԚA; ֎UO/3/[o{8k' S&lݹdTSGE-PpڕNS+[0Fz:/52ieXC v_Wl{N =S '7in^T%a&(l>zMRjMiM [cӆߪ>HsmNu}zi(^Ag͹&ݹvt-tD*>+NBP1fCM BH#b0a@r2+ Azj~& J|XGj X믾;)7c-TQAJV;ф*2'`~"=s(lT[HUS*>cޘ Sga3zK>ݹГRmοDh[+=DC8ȍl!: )֟a5fTo)"ֈlm/" .) P F>eNR0[s3XOJ8eyW-٩ujژ8?G}F&)F#ii{HzK͌TԻNRkvMYlcOXבka[[)fG5U;lX|'o XW^T&?xlmj4=?5kMd$O X}Ŭ;ȅݹO`MTciK3m0jMYڰJZ AԙfXC(kcXX# :%`-X$e骫HS11t5Q)(&50}qןƸC]s2CIG]aTKi3AW^);51GuזҦZ,V prw \W#fAr1֣_yuX>kRgMVzߡbvK3_Qyɘj6y/}cPga 8; aI^){it&(i;wn4 kF9FAoʶ ֡[ud ;۾ymqm~~zsG"Myj-2wsjljabe\c|e|{|SZ Sj=sQ:GrxU#Z,ό92,:Fkk:FO[gr; @ ⮏Tζ.ƴAI&r?h5>kj}H]1$'p4^fuɍ> cM?I<9mQ;}UIB]5ai67oh5D-[R}RY "K'덥^_kppˁfL S:_QNrtO͉.䮨x׊v൉!XbSi˞̏V6nkZ{ \̑֒`$&my$GN,[^'uίO sԉ]Qͽ1ĪV!RKs<Э9HxӁ|hTU*rI!fA9=лjJ4Z2--d/~67Qo.x֟P?NlE׭BĬ cwkJ ѨXi:H_;=EXvv(M1l!(5Xa:ȫH|uF"i.i2&3 ^{DRc_Gv JM,S ah zE_g}oaei'0)54YBaګ3Ql b|~ni)}7ީˀVCb6Tb,B7h{w\ZsWWd0KU0Țg=~sϝMt/D90ZA Q3an?Ow# =s?Np!epKO̭E.A4&8|*&.(ub̓VH(jz={z\k/]ՔBoc^vq}7b .Ԣ_DATI*>/~N&rR" ;܊O{p;׹!sLd;E/D@GEdז?g͉6Ե75=??y6+$Yѐ3yD^ 64vlX2[_gI}gӨ#+e!8Š#B֫ AyY"{9B!GxdDK 'sKC*f=kJbMiFn=>~pcG%&' AB}G LkxXH]BL:'-α{+㏾T"D;s'O($5iρX #}~˭BL9p|ț>@fNSy҅= w[75T/c8kw1]ZvcM4"42m5|eiۊ9E\Qsm2m,Qk/Hw.FZnM'e5&Am6 ֳ̱{a8s0efͅ_c6;k7VGg?0<|r.hIu/RO 6YqQMP[mMWkRFv€梺YEKim`}6]EECTTӛ avj =kc ' _Wh[#/N>c݆2Āq}Y*@E|UkԺBk"_+ץNsmM޺_`[°Twg2-;/&U)pЧ̥0BF*BZ*B$ KV4 lWiiB=8zG{?~OY+WuF!Xq!0slT veÞsshэ)*Z84أ>_نҍ}d5ÚU53,f]Y:U Pomm:3҉Wv3v^9֟ gyr5 LuZєR1IaSP$6ْ8B*V34Q5?Hb=dOkc`_u1[:?ҾUZC6nTיg8xkj>Ay+V.Ietb??.簋-3RE_g6iE 6;[g2̷([1;[ Ik^%)㭭 3i@l;[bO#kҫ:اa酼$FK |:FZ kXlw6MQojh# z%YjM1B*VhYl /z3Cr2HSc*UJ*/xff.~lffͮ7ͼ2Uzרw;j\m@RveXV~mN}y xObK$T#b L5'T i2y#Tyu{I$xvu)ļ-t{o qA`zUTb['scxAҠ5/y'2\']q8)X`Bø̈́5BK;QoZV_z͈fҰ{fTbcӻ O{qVnx:z#)wuwbYY ^cu\.b=R u+갹CDH zbdJ_6Wz&팫b+\5aΜP}\B%gs{xmNlX˞WtZN?8h$H [/&X`O-59S*1`5"H0Y-廵KrDA!'eWz"Gzќ r ϋ5] 5X[7sTB"j…vdڽXZ{:uSFyFtg6"4RoW?Ú'THK'd kOYui]'Suh_K Ukj(v.cdJX*|`K֩^kXSU`gj#3dJ z&#POаZ@2AwԷ2Bj[q7Xo;9ֱgc&F+0NO++9@{ )ciiӋnq/gR)Qn)⧖t쯱.fkz[jZkFtur-u CkH3"r`M:mc Ŭ5%>Yծ0[ZO_|jVW OR.3 Z `-CsM_ݱzDzV*۔ŵժջٳ΍u0Ar@M`A >eX\Ri̷n-^g "LQX-JC!6B>EvjXkoFJ|@w>=4JZ(7*R 촮k63@,$(_,t`x6U  D\. Hm!H'4N/:=~/ 什`fQQ=JmPggVS-)?1<‡݅-#T0@H5\ٲVM-5 aSzbch%m(P_d&0kfvь;0:ǓGq؛եN4)Z4a}5val'z%c %9AG=w) X&j{BwP#֞WV,kMIcDdڏ?F 3f6P-9S|I ]km9!#HlY* 2XoYƘǚ//p$H$ hwBz*b?V>ڒxX߼044:4<::4J^CpeO+8[X'deN:vOoAOM]3-aȽf:\??3ڷ}m}da[aG斨v 50-+{§D^d H.s@o7XIgvIENDB`view/assets/js/bootstrap-select.min.js000064400000212721147600042240014052 0ustar00(function(root,factory){if(root===undefined&&window!==undefined)root=window;if(typeof define==="function"&&define.amd){define(["jquery"],function(a0){return factory(a0)})}else if(typeof module==="object"&&module.exports){module.exports=factory(require("jquery"))}else{factory(root["jQuery"])}})(this,function(jQuery){(function($){"use strict";var DISALLOWED_ATTRIBUTES=["sanitize","whiteList","sanitizeFn"];var uriAttrs=["background","cite","href","itemtype","longdesc","poster","src","xlink:href"];var ARIA_ATTRIBUTE_PATTERN=/^aria-[\w-]*$/i;var DefaultWhitelist={"*":["class","dir","id","lang","role","tabindex","style",ARIA_ATTRIBUTE_PATTERN],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]};var SAFE_URL_PATTERN=/^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi;var DATA_URL_PATTERN=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i;function allowedAttribute(attr,allowedAttributeList){var attrName=attr.nodeName.toLowerCase();if($.inArray(attrName,allowedAttributeList)!==-1){if($.inArray(attrName,uriAttrs)!==-1){return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN)||attr.nodeValue.match(DATA_URL_PATTERN))}return true}var regExp=$(allowedAttributeList).filter(function(index,value){return value instanceof RegExp});for(var i=0,l=regExp.length;i1?arguments[1]:undefined;var pos=position?Number(position):0;if(pos!=pos){pos=0}var start=Math.min(Math.max(pos,0),stringLength);if(searchLength+start>stringLength){return false}var index=-1;while(++index]+>/g,"")}if(normalize)string=normalizeToBase(string);string=string.toUpperCase();if(method==="contains"){searchSuccess=string.indexOf(searchString)>=0}else{searchSuccess=string.startsWith(searchString)}if(searchSuccess)break}}return searchSuccess}function toInteger(value){return parseInt(value,10)||0}var deburredLetters={"À":"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"};var reLatin=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g;var rsComboMarksRange="\\u0300-\\u036f",reComboHalfMarksRange="\\ufe20-\\ufe2f",rsComboSymbolsRange="\\u20d0-\\u20ff",rsComboMarksExtendedRange="\\u1ab0-\\u1aff",rsComboMarksSupplementRange="\\u1dc0-\\u1dff",rsComboRange=rsComboMarksRange+reComboHalfMarksRange+rsComboSymbolsRange+rsComboMarksExtendedRange+rsComboMarksSupplementRange;var rsCombo="["+rsComboRange+"]";var reComboMark=RegExp(rsCombo,"g");function deburrLetter(key){return deburredLetters[key]}function normalizeToBase(string){string=string.toString();return string&&string.replace(reLatin,deburrLetter).replace(reComboMark,"")}var escapeMap={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"};var createEscaper=function(map){var escaper=function(match){return map[match]};var source="(?:"+Object.keys(map).join("|")+")";var testRegexp=RegExp(source);var replaceRegexp=RegExp(source,"g");return function(string){string=string==null?"":""+string;return testRegexp.test(string)?string.replace(replaceRegexp,escaper):string}};var htmlEscape=createEscaper(escapeMap);var keyCodeMap={32:" ",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",65:"A",66:"B",67:"C",68:"D",69:"E",70:"F",71:"G",72:"H",73:"I",74:"J",75:"K",76:"L",77:"M",78:"N",79:"O",80:"P",81:"Q",82:"R",83:"S",84:"T",85:"U",86:"V",87:"W",88:"X",89:"Y",90:"Z",96:"0",97:"1",98:"2",99:"3",100:"4",101:"5",102:"6",103:"7",104:"8",105:"9"};var keyCodes={ESCAPE:27,ENTER:13,SPACE:32,TAB:9,ARROW_UP:38,ARROW_DOWN:40};var version={success:false,major:"3"};try{version.full=($.fn.dropdown.Constructor.VERSION||"").split(" ")[0].split(".");version.major=version.full[0];version.success=true}catch(err){}var selectId=0;var EVENT_KEY=".bs.select";var classNames={DISABLED:"disabled",DIVIDER:"divider",SHOW:"open",DROPUP:"dropup",MENU:"dropdown-menu",MENURIGHT:"dropdown-menu-right",MENULEFT:"dropdown-menu-left",BUTTONCLASS:"btn-default",POPOVERHEADER:"popover-title",ICONBASE:"glyphicon",TICKICON:"glyphicon-ok"};var Selector={MENU:"."+classNames.MENU};var elementTemplates={span:document.createElement("span"),i:document.createElement("i"),subtext:document.createElement("small"),a:document.createElement("a"),li:document.createElement("li"),whitespace:document.createTextNode(" "),fragment:document.createDocumentFragment()};elementTemplates.a.setAttribute("role","option");if(version.major==="4")elementTemplates.a.className="dropdown-item";elementTemplates.subtext.className="text-muted";elementTemplates.text=elementTemplates.span.cloneNode(false);elementTemplates.text.className="text";elementTemplates.checkMark=elementTemplates.span.cloneNode(false);var REGEXP_ARROW=new RegExp(keyCodes.ARROW_UP+"|"+keyCodes.ARROW_DOWN);var REGEXP_TAB_OR_ESCAPE=new RegExp("^"+keyCodes.TAB+"$|"+keyCodes.ESCAPE);var generateOption={li:function(content,classes,optgroup){var li=elementTemplates.li.cloneNode(false);if(content){if(content.nodeType===1||content.nodeType===11){li.appendChild(content)}else{li.innerHTML=content}}if(typeof classes!=="undefined"&&classes!=="")li.className=classes;if(typeof optgroup!=="undefined"&&optgroup!==null)li.classList.add("optgroup-"+optgroup);return li},a:function(text,classes,inline){var a=elementTemplates.a.cloneNode(true);if(text){if(text.nodeType===11){a.appendChild(text)}else{a.insertAdjacentHTML("beforeend",text)}}if(typeof classes!=="undefined"&&classes!=="")a.classList.add.apply(a.classList,classes.split(" "));if(inline)a.setAttribute("style",inline);return a},text:function(options,useFragment){var textElement=elementTemplates.text.cloneNode(false),subtextElement,iconElement;if(options.content){textElement.innerHTML=options.content}else{textElement.textContent=options.text;if(options.icon){var whitespace=elementTemplates.whitespace.cloneNode(false);iconElement=(useFragment===true?elementTemplates.i:elementTemplates.span).cloneNode(false);iconElement.className=this.options.iconBase+" "+options.icon;elementTemplates.fragment.appendChild(iconElement);elementTemplates.fragment.appendChild(whitespace)}if(options.subtext){subtextElement=elementTemplates.subtext.cloneNode(false);subtextElement.textContent=options.subtext;textElement.appendChild(subtextElement)}}if(useFragment===true){while(textElement.childNodes.length>0){elementTemplates.fragment.appendChild(textElement.childNodes[0])}}else{elementTemplates.fragment.appendChild(textElement)}return elementTemplates.fragment},label:function(options){var textElement=elementTemplates.text.cloneNode(false),subtextElement,iconElement;textElement.innerHTML=options.display;if(options.icon){var whitespace=elementTemplates.whitespace.cloneNode(false);iconElement=elementTemplates.span.cloneNode(false);iconElement.className=this.options.iconBase+" "+options.icon;elementTemplates.fragment.appendChild(iconElement);elementTemplates.fragment.appendChild(whitespace)}if(options.subtext){subtextElement=elementTemplates.subtext.cloneNode(false);subtextElement.textContent=options.subtext;textElement.appendChild(subtextElement)}elementTemplates.fragment.appendChild(textElement);return elementTemplates.fragment}};var Selectpicker=function(element,options){var that=this;if(!valHooks.useDefault){$.valHooks.select.set=valHooks._set;valHooks.useDefault=true}this.$element=$(element);this.$newElement=null;this.$button=null;this.$menu=null;this.options=options;this.selectpicker={main:{},search:{},current:{},view:{},isSearching:false,keydown:{keyHistory:"",resetKeyHistory:{start:function(){return setTimeout(function(){that.selectpicker.keydown.keyHistory=""},800)}}}};this.sizeInfo={};if(this.options.title===null){this.options.title=this.$element.attr("title")}var winPad=this.options.windowPadding;if(typeof winPad==="number"){this.options.windowPadding=[winPad,winPad,winPad,winPad]}this.val=Selectpicker.prototype.val;this.render=Selectpicker.prototype.render;this.refresh=Selectpicker.prototype.refresh;this.setStyle=Selectpicker.prototype.setStyle;this.selectAll=Selectpicker.prototype.selectAll;this.deselectAll=Selectpicker.prototype.deselectAll;this.destroy=Selectpicker.prototype.destroy;this.remove=Selectpicker.prototype.remove;this.show=Selectpicker.prototype.show;this.hide=Selectpicker.prototype.hide;this.init()};Selectpicker.VERSION="1.13.14";Selectpicker.DEFAULTS={noneSelectedText:"Nothing selected",noneResultsText:"No results matched {0}",countSelectedText:function(numSelected,numTotal){return numSelected==1?"{0} item selected":"{0} items selected"},maxOptionsText:function(numAll,numGroup){return[numAll==1?"Limit reached ({n} item max)":"Limit reached ({n} items max)",numGroup==1?"Group limit reached ({n} item max)":"Group limit reached ({n} items max)"]},selectAllText:"Select All",deselectAllText:"Deselect All",doneButton:false,doneButtonText:"Close",multipleSeparator:", ",styleBase:"btn",style:classNames.BUTTONCLASS,size:"auto",title:null,selectedTextFormat:"values",width:false,container:false,hideDisabled:false,showSubtext:false,showIcon:true,showContent:true,dropupAuto:true,header:false,liveSearch:false,liveSearchPlaceholder:null,liveSearchNormalize:false,liveSearchStyle:"contains",actionsBox:false,iconBase:classNames.ICONBASE,tickIcon:classNames.TICKICON,showTick:false,template:{caret:''},maxOptions:false,mobile:false,selectOnTab:false,dropdownAlignRight:false,windowPadding:0,virtualScroll:600,display:false,sanitize:true,sanitizeFn:null,whiteList:DefaultWhitelist};Selectpicker.prototype={constructor:Selectpicker,init:function(){var that=this,id=this.$element.attr("id");selectId++;this.selectId="bs-select-"+selectId;this.$element[0].classList.add("bs-select-hidden");this.multiple=this.$element.prop("multiple");this.autofocus=this.$element.prop("autofocus");if(this.$element[0].classList.contains("show-tick")){this.options.showTick=true}this.$newElement=this.createDropdown();this.buildData();this.$element.after(this.$newElement).prependTo(this.$newElement);this.$button=this.$newElement.children("button");this.$menu=this.$newElement.children(Selector.MENU);this.$menuInner=this.$menu.children(".inner");this.$searchbox=this.$menu.find("input");this.$element[0].classList.remove("bs-select-hidden");if(this.options.dropdownAlignRight===true)this.$menu[0].classList.add(classNames.MENURIGHT);if(typeof id!=="undefined"){this.$button.attr("data-id",id)}this.checkDisabled();this.clickListener();if(this.options.liveSearch){this.liveSearchListener();this.focusedParent=this.$searchbox[0]}else{this.focusedParent=this.$menuInner[0]}this.setStyle();this.render();this.setWidth();if(this.options.container){this.selectPosition()}else{this.$element.on("hide"+EVENT_KEY,function(){if(that.isVirtual()){var menuInner=that.$menuInner[0],emptyMenu=menuInner.firstChild.cloneNode(false);menuInner.replaceChild(emptyMenu,menuInner.firstChild);menuInner.scrollTop=0}})}this.$menu.data("this",this);this.$newElement.data("this",this);if(this.options.mobile)this.mobile();this.$newElement.on({"hide.bs.dropdown":function(e){that.$element.trigger("hide"+EVENT_KEY,e)},"hidden.bs.dropdown":function(e){that.$element.trigger("hidden"+EVENT_KEY,e)},"show.bs.dropdown":function(e){that.$element.trigger("show"+EVENT_KEY,e)},"shown.bs.dropdown":function(e){that.$element.trigger("shown"+EVENT_KEY,e)}});if(that.$element[0].hasAttribute("required")){this.$element.on("invalid"+EVENT_KEY,function(){that.$button[0].classList.add("bs-invalid");that.$element.on("shown"+EVENT_KEY+".invalid",function(){that.$element.val(that.$element.val()).off("shown"+EVENT_KEY+".invalid")}).on("rendered"+EVENT_KEY,function(){if(this.validity.valid)that.$button[0].classList.remove("bs-invalid");that.$element.off("rendered"+EVENT_KEY)});that.$button.on("blur"+EVENT_KEY,function(){that.$element.trigger("focus").trigger("blur");that.$button.off("blur"+EVENT_KEY)})})}setTimeout(function(){that.buildList();that.$element.trigger("loaded"+EVENT_KEY)})},createDropdown:function(){var showTick=this.multiple||this.options.showTick?" show-tick":"",multiselectable=this.multiple?' aria-multiselectable="true"':"",inputGroup="",autofocus=this.autofocus?" autofocus":"";if(version.major<4&&this.$element.parent().hasClass("input-group")){inputGroup=" input-group-btn"}var drop,header="",searchbox="",actionsbox="",donebutton="";if(this.options.header){header='

    "}if(this.options.liveSearch){searchbox='"}if(this.multiple&&this.options.actionsBox){actionsbox='
    '+'
    '+'"+'"+"
    "+"
    "}if(this.multiple&&this.options.doneButton){donebutton='
    '+'
    '+'"+"
    "+"
    "}drop='";return $(drop)},setPositionData:function(){this.selectpicker.view.canHighlight=[];this.selectpicker.view.size=0;for(var i=0;i=this.options.virtualScroll||this.options.virtualScroll===true},createView:function(isSearching,setSize,refresh){var that=this,scrollTop=0,active=[],selected,prevActive;this.selectpicker.isSearching=isSearching;this.selectpicker.current=isSearching?this.selectpicker.search:this.selectpicker.main;this.setPositionData();if(setSize){if(refresh){scrollTop=this.$menuInner[0].scrollTop}else if(!that.multiple){var element=that.$element[0],selectedIndex=(element.options[element.selectedIndex]||{}).liIndex;if(typeof selectedIndex==="number"&&that.options.size!==false){var selectedData=that.selectpicker.main.data[selectedIndex],position=selectedData&&selectedData.position;if(position){scrollTop=position-(that.sizeInfo.menuInnerHeight+that.sizeInfo.liHeight)/2}}}}scroll(scrollTop,true);this.$menuInner.off("scroll.createView").on("scroll.createView",function(e,updateValue){if(!that.noScroll)scroll(this.scrollTop,updateValue);that.noScroll=false});function scroll(scrollTop,init){var size=that.selectpicker.current.elements.length,chunks=[],chunkSize,chunkCount,firstChunk,lastChunk,currentChunk,prevPositions,positionIsDifferent,previousElements,menuIsDifferent=true,isVirtual=that.isVirtual();that.selectpicker.view.scrollTop=scrollTop;chunkSize=Math.ceil(that.sizeInfo.menuInnerHeight/that.sizeInfo.liHeight*1.5);chunkCount=Math.round(size/chunkSize)||1;for(var i=0;isize-1?0:that.selectpicker.current.data[size-1].position-that.selectpicker.current.data[that.selectpicker.view.position1-1].position;menuInner.firstChild.style.marginTop=marginTop+"px";menuInner.firstChild.style.marginBottom=marginBottom+"px"}else{menuInner.firstChild.style.marginTop=0;menuInner.firstChild.style.marginBottom=0}menuInner.firstChild.appendChild(menuFragment);if(isVirtual===true&&that.sizeInfo.hasScrollBar){var menuInnerInnerWidth=menuInner.firstChild.offsetWidth;if(init&&menuInnerInnerWidththat.sizeInfo.selectWidth){menuInner.firstChild.style.minWidth=that.sizeInfo.menuInnerInnerWidth+"px"}else if(menuInnerInnerWidth>that.sizeInfo.menuInnerInnerWidth){that.$menu[0].style.minWidth=0;var actualMenuWidth=menuInner.firstChild.offsetWidth;if(actualMenuWidth>that.sizeInfo.menuInnerInnerWidth){that.sizeInfo.menuInnerInnerWidth=actualMenuWidth;menuInner.firstChild.style.minWidth=that.sizeInfo.menuInnerInnerWidth+"px"}that.$menu[0].style.minWidth=""}}}}that.prevActiveIndex=that.activeIndex;if(!that.options.liveSearch){that.$menuInner.trigger("focus")}else if(isSearching&&init){var index=0,newActive;if(!that.selectpicker.view.canHighlight[index]){index=1+that.selectpicker.view.canHighlight.slice(1).indexOf(true)}newActive=that.selectpicker.view.visibleElements[index];that.defocusItem(that.selectpicker.view.currentActive);that.activeIndex=(that.selectpicker.current.data[index]||{}).index;that.focusItem(newActive)}}$(window).off("resize"+EVENT_KEY+"."+this.selectId+".createView").on("resize"+EVENT_KEY+"."+this.selectId+".createView",function(){var isActive=that.$newElement.hasClass(classNames.SHOW);if(isActive)scroll(that.$menuInner[0].scrollTop)})},focusItem:function(li,liData,noStyle){if(li){liData=liData||this.selectpicker.main.data[this.activeIndex];var a=li.firstChild;if(a){a.setAttribute("aria-setsize",this.selectpicker.view.size);a.setAttribute("aria-posinset",liData.posinset);if(noStyle!==true){this.focusedParent.setAttribute("aria-activedescendant",a.id);li.classList.add("active");a.classList.add("active")}}}},defocusItem:function(li){if(li){li.classList.remove("active");if(li.firstChild)li.firstChild.classList.remove("active")}},setPlaceholder:function(){var updateIndex=false;if(this.options.title&&!this.multiple){if(!this.selectpicker.view.titleOption)this.selectpicker.view.titleOption=document.createElement("option");updateIndex=true;var element=this.$element[0],isSelected=false,titleNotAppended=!this.selectpicker.view.titleOption.parentNode;if(titleNotAppended){this.selectpicker.view.titleOption.className="bs-title-option";this.selectpicker.view.titleOption.value="";var $opt=$(element.options[element.selectedIndex]);isSelected=$opt.attr("selected")===undefined&&this.$element.data("selected")===undefined}if(titleNotAppended||this.selectpicker.view.titleOption.index!==0){element.insertBefore(this.selectpicker.view.titleOption,element.firstChild)}if(isSelected)element.selectedIndex=0}return updateIndex},buildData:function(){var optionSelector=':not([hidden]):not([data-hidden="true"])',mainData=[],optID=0,startIndex=this.setPlaceholder()?1:0;if(this.options.hideDisabled)optionSelector+=":not(:disabled)";var selectOptions=this.$element[0].querySelectorAll("select > *"+optionSelector);function addDivider(config){var previousData=mainData[mainData.length-1];if(previousData&&previousData.type==="divider"&&(previousData.optID||config.optID)){return}config=config||{};config.type="divider";mainData.push(config)}function addOption(option,config){config=config||{};config.divider=option.getAttribute("data-divider")==="true";if(config.divider){addDivider({optID:config.optID})}else{var liIndex=mainData.length,cssText=option.style.cssText,inlineStyle=cssText?htmlEscape(cssText):"",optionClass=(option.className||"")+(config.optgroupClass||"");if(config.optID)optionClass="opt "+optionClass;config.optionClass=optionClass.trim();config.inlineStyle=inlineStyle;config.text=option.textContent;config.content=option.getAttribute("data-content");config.tokens=option.getAttribute("data-tokens");config.subtext=option.getAttribute("data-subtext");config.icon=option.getAttribute("data-icon");option.liIndex=liIndex;config.display=config.content||config.text;config.type="option";config.index=liIndex;config.option=option;config.selected=!!option.selected;config.disabled=config.disabled||!!option.disabled;mainData.push(config)}}function addOptgroup(index,selectOptions){var optgroup=selectOptions[index],previous=selectOptions[index-1],next=selectOptions[index+1],options=optgroup.querySelectorAll("option"+optionSelector);if(!options.length)return;var config={display:htmlEscape(optgroup.label),subtext:optgroup.getAttribute("data-subtext"),icon:optgroup.getAttribute("data-icon"),type:"optgroup-label",optgroupClass:" "+(optgroup.className||"")},headerIndex,lastIndex;optID++;if(previous){addDivider({optID:optID})}config.optID=optID;mainData.push(config);for(var j=0,len=options.length;jwidestOptionLength){widestOptionLength=combinedLength;that.selectpicker.view.widestOption=mainElements[mainElements.length-1]}}for(var len=selectData.length,i=0;i li")},render:function(){var that=this,element=this.$element[0],placeholderSelected=this.setPlaceholder()&&element.selectedIndex===0,selectedOptions=getSelectedOptions(element,this.options.hideDisabled),selectedCount=selectedOptions.length,button=this.$button[0],buttonInner=button.querySelector(".filter-option-inner-inner"),multipleSeparator=document.createTextNode(this.options.multipleSeparator),titleFragment=elementTemplates.fragment.cloneNode(false),showCount,countMax,hasContent=false;button.classList.toggle("bs-placeholder",that.multiple?!selectedCount:!getSelectValues(element,selectedOptions));this.tabIndex();if(this.options.selectedTextFormat==="static"){titleFragment=generateOption.text.call(this,{text:this.options.title},true)}else{showCount=this.multiple&&this.options.selectedTextFormat.indexOf("count")!==-1&&selectedCount>1;if(showCount){countMax=this.options.selectedTextFormat.split(">");showCount=countMax.length>1&&selectedCount>countMax[1]||countMax.length===1&&selectedCount>=2}if(showCount===false){if(!placeholderSelected){for(var selectedIndex=0;selectedIndex0){titleFragment.appendChild(multipleSeparator.cloneNode(false))}if(option.title){titleOptions.text=option.title}else if(thisData){if(thisData.content&&that.options.showContent){titleOptions.content=thisData.content.toString();hasContent=true}else{if(that.options.showIcon){titleOptions.icon=thisData.icon}if(that.options.showSubtext&&!that.multiple&&thisData.subtext)titleOptions.subtext=" "+thisData.subtext;titleOptions.text=option.textContent.trim()}}titleFragment.appendChild(generateOption.text.call(this,titleOptions,true))}else{break}}if(selectedCount>49){titleFragment.appendChild(document.createTextNode("..."))}}}else{var optionSelector=':not([hidden]):not([data-hidden="true"]):not([data-divider="true"])';if(this.options.hideDisabled)optionSelector+=":not(:disabled)";var totalCount=this.$element[0].querySelectorAll("select > option"+optionSelector+", optgroup"+optionSelector+" option"+optionSelector).length,tr8nText=typeof this.options.countSelectedText==="function"?this.options.countSelectedText(selectedCount,totalCount):this.options.countSelectedText;titleFragment=generateOption.text.call(this,{text:tr8nText.replace("{0}",selectedCount.toString()).replace("{1}",totalCount.toString())},true)}}if(this.options.title==undefined){this.options.title=this.$element.attr("title")}if(!titleFragment.childNodes.length){titleFragment=generateOption.text.call(this,{text:typeof this.options.title!=="undefined"?this.options.title:this.options.noneSelectedText},true)}button.title=titleFragment.textContent.replace(/<[^>]*>?/g,"").trim();if(this.options.sanitize&&hasContent){sanitizeHtml([titleFragment],that.options.whiteList,that.options.sanitizeFn)}buttonInner.innerHTML="";buttonInner.appendChild(titleFragment);if(version.major<4&&this.$newElement[0].classList.contains("bs3-has-addon")){var filterExpand=button.querySelector(".filter-expand"),clone=buttonInner.cloneNode(true);clone.className="filter-expand";if(filterExpand){button.replaceChild(clone,filterExpand)}else{button.appendChild(clone)}}this.$element.trigger("rendered"+EVENT_KEY)},setStyle:function(newStyle,status){var button=this.$button[0],newElement=this.$newElement[0],style=this.options.style.trim(),buttonClass;if(this.$element.attr("class")){this.$newElement.addClass(this.$element.attr("class").replace(/selectpicker|mobile-device|bs-select-hidden|validate\[.*\]/gi,""))}if(version.major<4){newElement.classList.add("bs3");if(newElement.parentNode.classList.contains("input-group")&&(newElement.previousElementSibling||newElement.nextElementSibling)&&(newElement.previousElementSibling||newElement.nextElementSibling).classList.contains("input-group-addon")){newElement.classList.add("bs3-has-addon")}}if(newStyle){buttonClass=newStyle.trim()}else{buttonClass=style}if(status=="add"){if(buttonClass)button.classList.add.apply(button.classList,buttonClass.split(" "))}else if(status=="remove"){if(buttonClass)button.classList.remove.apply(button.classList,buttonClass.split(" "))}else{if(style)button.classList.remove.apply(button.classList,style.split(" "));if(buttonClass)button.classList.add.apply(button.classList,buttonClass.split(" "))}},liHeight:function(refresh){if(!refresh&&(this.options.size===false||Object.keys(this.sizeInfo).length))return;var newElement=document.createElement("div"),menu=document.createElement("div"),menuInner=document.createElement("div"),menuInnerInner=document.createElement("ul"),divider=document.createElement("li"),dropdownHeader=document.createElement("li"),li=document.createElement("li"),a=document.createElement("a"),text=document.createElement("span"),header=this.options.header&&this.$menu.find("."+classNames.POPOVERHEADER).length>0?this.$menu.find("."+classNames.POPOVERHEADER)[0].cloneNode(true):null,search=this.options.liveSearch?document.createElement("div"):null,actions=this.options.actionsBox&&this.multiple&&this.$menu.find(".bs-actionsbox").length>0?this.$menu.find(".bs-actionsbox")[0].cloneNode(true):null,doneButton=this.options.doneButton&&this.multiple&&this.$menu.find(".bs-donebutton").length>0?this.$menu.find(".bs-donebutton")[0].cloneNode(true):null,firstOption=this.$element.find("option")[0];this.sizeInfo.selectWidth=this.$newElement[0].offsetWidth;text.className="text";a.className="dropdown-item "+(firstOption?firstOption.className:"");newElement.className=this.$menu[0].parentNode.className+" "+classNames.SHOW;newElement.style.width=0;if(this.options.width==="auto")menu.style.minWidth=0;menu.className=classNames.MENU+" "+classNames.SHOW;menuInner.className="inner "+classNames.SHOW;menuInnerInner.className=classNames.MENU+" inner "+(version.major==="4"?classNames.SHOW:"");divider.className=classNames.DIVIDER;dropdownHeader.className="dropdown-header";text.appendChild(document.createTextNode("​"));a.appendChild(text);li.appendChild(a);dropdownHeader.appendChild(text.cloneNode(true));if(this.selectpicker.view.widestOption){menuInnerInner.appendChild(this.selectpicker.view.widestOption.cloneNode(true))}menuInnerInner.appendChild(li);menuInnerInner.appendChild(divider);menuInnerInner.appendChild(dropdownHeader);if(header)menu.appendChild(header);if(search){var input=document.createElement("input");search.className="bs-searchbox";input.className="form-control";search.appendChild(input);menu.appendChild(search)}if(actions)menu.appendChild(actions);menuInner.appendChild(menuInnerInner);menu.appendChild(menuInner);if(doneButton)menu.appendChild(doneButton);newElement.appendChild(menu);document.body.appendChild(newElement);var liHeight=li.offsetHeight,dropdownHeaderHeight=dropdownHeader?dropdownHeader.offsetHeight:0,headerHeight=header?header.offsetHeight:0,searchHeight=search?search.offsetHeight:0,actionsHeight=actions?actions.offsetHeight:0,doneButtonHeight=doneButton?doneButton.offsetHeight:0,dividerHeight=$(divider).outerHeight(true),menuStyle=window.getComputedStyle?window.getComputedStyle(menu):false,menuWidth=menu.offsetWidth,$menu=menuStyle?null:$(menu),menuPadding={vert:toInteger(menuStyle?menuStyle.paddingTop:$menu.css("paddingTop"))+toInteger(menuStyle?menuStyle.paddingBottom:$menu.css("paddingBottom"))+toInteger(menuStyle?menuStyle.borderTopWidth:$menu.css("borderTopWidth"))+toInteger(menuStyle?menuStyle.borderBottomWidth:$menu.css("borderBottomWidth")),horiz:toInteger(menuStyle?menuStyle.paddingLeft:$menu.css("paddingLeft"))+toInteger(menuStyle?menuStyle.paddingRight:$menu.css("paddingRight"))+toInteger(menuStyle?menuStyle.borderLeftWidth:$menu.css("borderLeftWidth"))+toInteger(menuStyle?menuStyle.borderRightWidth:$menu.css("borderRightWidth"))},menuExtras={vert:menuPadding.vert+toInteger(menuStyle?menuStyle.marginTop:$menu.css("marginTop"))+toInteger(menuStyle?menuStyle.marginBottom:$menu.css("marginBottom"))+2,horiz:menuPadding.horiz+toInteger(menuStyle?menuStyle.marginLeft:$menu.css("marginLeft"))+toInteger(menuStyle?menuStyle.marginRight:$menu.css("marginRight"))+2},scrollBarWidth;menuInner.style.overflowY="scroll";scrollBarWidth=menu.offsetWidth-menuWidth;document.body.removeChild(newElement);this.sizeInfo.liHeight=liHeight;this.sizeInfo.dropdownHeaderHeight=dropdownHeaderHeight;this.sizeInfo.headerHeight=headerHeight;this.sizeInfo.searchHeight=searchHeight;this.sizeInfo.actionsHeight=actionsHeight;this.sizeInfo.doneButtonHeight=doneButtonHeight;this.sizeInfo.dividerHeight=dividerHeight;this.sizeInfo.menuPadding=menuPadding;this.sizeInfo.menuExtras=menuExtras;this.sizeInfo.menuWidth=menuWidth;this.sizeInfo.menuInnerInnerWidth=menuWidth-menuPadding.horiz;this.sizeInfo.totalMenuWidth=this.sizeInfo.menuWidth;this.sizeInfo.scrollBarWidth=scrollBarWidth;this.sizeInfo.selectHeight=this.$newElement[0].offsetHeight;this.setPositionData()},getSelectPosition:function(){var that=this,$window=$(window),pos=that.$newElement.offset(),$container=$(that.options.container),containerPos;if(that.options.container&&$container.length&&!$container.is("body")){containerPos=$container.offset();containerPos.top+=parseInt($container.css("borderTopWidth"));containerPos.left+=parseInt($container.css("borderLeftWidth"))}else{containerPos={top:0,left:0}}var winPad=that.options.windowPadding;this.sizeInfo.selectOffsetTop=pos.top-containerPos.top-$window.scrollTop();this.sizeInfo.selectOffsetBot=$window.height()-this.sizeInfo.selectOffsetTop-this.sizeInfo.selectHeight-containerPos.top-winPad[2];this.sizeInfo.selectOffsetLeft=pos.left-containerPos.left-$window.scrollLeft();this.sizeInfo.selectOffsetRight=$window.width()-this.sizeInfo.selectOffsetLeft-this.sizeInfo.selectWidth-containerPos.left-winPad[1];this.sizeInfo.selectOffsetTop-=winPad[0];this.sizeInfo.selectOffsetLeft-=winPad[3]},setMenuSize:function(isAuto){this.getSelectPosition();var selectWidth=this.sizeInfo.selectWidth,liHeight=this.sizeInfo.liHeight,headerHeight=this.sizeInfo.headerHeight,searchHeight=this.sizeInfo.searchHeight,actionsHeight=this.sizeInfo.actionsHeight,doneButtonHeight=this.sizeInfo.doneButtonHeight,divHeight=this.sizeInfo.dividerHeight,menuPadding=this.sizeInfo.menuPadding,menuInnerHeight,menuHeight,divLength=0,minHeight,_minHeight,maxHeight,menuInnerMinHeight,estimate,isDropup;if(this.options.dropupAuto){estimate=liHeight*this.selectpicker.current.elements.length+menuPadding.vert;isDropup=this.sizeInfo.selectOffsetTop-this.sizeInfo.selectOffsetBot>this.sizeInfo.menuExtras.vert&&estimate+this.sizeInfo.menuExtras.vert+50>this.sizeInfo.selectOffsetBot;if(this.selectpicker.isSearching===true){isDropup=this.selectpicker.dropup}this.$newElement.toggleClass(classNames.DROPUP,isDropup);this.selectpicker.dropup=isDropup}if(this.options.size==="auto"){_minHeight=this.selectpicker.current.elements.length>3?this.sizeInfo.liHeight*3+this.sizeInfo.menuExtras.vert-2:0;menuHeight=this.sizeInfo.selectOffsetBot-this.sizeInfo.menuExtras.vert;minHeight=_minHeight+headerHeight+searchHeight+actionsHeight+doneButtonHeight;menuInnerMinHeight=Math.max(_minHeight-menuPadding.vert,0);if(this.$newElement.hasClass(classNames.DROPUP)){menuHeight=this.sizeInfo.selectOffsetTop-this.sizeInfo.menuExtras.vert}maxHeight=menuHeight;menuInnerHeight=menuHeight-headerHeight-searchHeight-actionsHeight-doneButtonHeight-menuPadding.vert}else if(this.options.size&&this.options.size!="auto"&&this.selectpicker.current.elements.length>this.options.size){for(var i=0;ithis.sizeInfo.menuInnerHeight){this.sizeInfo.hasScrollBar=true;this.sizeInfo.totalMenuWidth=this.sizeInfo.menuWidth+this.sizeInfo.scrollBarWidth}if(this.options.dropdownAlignRight==="auto"){this.$menu.toggleClass(classNames.MENURIGHT,this.sizeInfo.selectOffsetLeft>this.sizeInfo.selectOffsetRight&&this.sizeInfo.selectOffsetRightthis.options.size){$window.off("resize"+EVENT_KEY+"."+this.selectId+".setMenuSize"+" scroll"+EVENT_KEY+"."+this.selectId+".setMenuSize")}}this.createView(false,true,refresh)},setWidth:function(){var that=this;if(this.options.width==="auto"){requestAnimationFrame(function(){that.$menu.css("min-width","0");that.$element.on("loaded"+EVENT_KEY,function(){that.liHeight();that.setMenuSize();var $selectClone=that.$newElement.clone().appendTo("body"),btnWidth=$selectClone.css("width","auto").children("button").outerWidth();$selectClone.remove();that.sizeInfo.selectWidth=Math.max(that.sizeInfo.totalMenuWidth,btnWidth);that.$newElement.css("width",that.sizeInfo.selectWidth+"px")})})}else if(this.options.width==="fit"){this.$menu.css("min-width","");this.$newElement.css("width","").addClass("fit-width")}else if(this.options.width){this.$menu.css("min-width","");this.$newElement.css("width",this.options.width)}else{this.$menu.css("min-width","");this.$newElement.css("width","")}if(this.$newElement.hasClass("fit-width")&&this.options.width!=="fit"){this.$newElement[0].classList.remove("fit-width")}},selectPosition:function(){this.$bsContainer=$('
    ');var that=this,$container=$(this.options.container),pos,containerPos,actualHeight,getPlacement=function($element){var containerPosition={},display=that.options.display||($.fn.dropdown.Constructor.Default?$.fn.dropdown.Constructor.Default.display:false);that.$bsContainer.addClass($element.attr("class").replace(/form-control|fit-width/gi,"")).toggleClass(classNames.DROPUP,$element.hasClass(classNames.DROPUP));pos=$element.offset();if(!$container.is("body")){containerPos=$container.offset();containerPos.top+=parseInt($container.css("borderTopWidth"))-$container.scrollTop();containerPos.left+=parseInt($container.css("borderLeftWidth"))-$container.scrollLeft()}else{containerPos={top:0,left:0}}actualHeight=$element.hasClass(classNames.DROPUP)?0:$element[0].offsetHeight;if(version.major<4||display==="static"){containerPosition.top=pos.top-containerPos.top+actualHeight;containerPosition.left=pos.left-containerPos.left}containerPosition.width=$element[0].offsetWidth;that.$bsContainer.css(containerPosition)};this.$button.on("click.bs.dropdown.data-api",function(){if(that.isDisabled()){return}getPlacement(that.$newElement);that.$bsContainer.appendTo(that.options.container).toggleClass(classNames.SHOW,!that.$button.hasClass(classNames.SHOW)).append(that.$menu)});$(window).off("resize"+EVENT_KEY+"."+this.selectId+" scroll"+EVENT_KEY+"."+this.selectId).on("resize"+EVENT_KEY+"."+this.selectId+" scroll"+EVENT_KEY+"."+this.selectId,function(){var isActive=that.$newElement.hasClass(classNames.SHOW);if(isActive)getPlacement(that.$newElement)});this.$element.on("hide"+EVENT_KEY,function(){that.$menu.data("height",that.$menu.height());that.$bsContainer.detach()})},setOptionStatus:function(selectedOnly){var that=this;that.noScroll=false;if(that.selectpicker.view.visibleElements&&that.selectpicker.view.visibleElements.length){for(var i=0;i3&&!that.dropdown){that.dropdown=that.$button.data("bs.dropdown");that.dropdown._menu=that.$menu[0]}});this.$button.on("click.bs.dropdown.data-api",function(){if(!that.$newElement.hasClass(classNames.SHOW)){that.setSize()}});function setFocus(){if(that.options.liveSearch){that.$searchbox.trigger("focus")}else{that.$menuInner.trigger("focus")}}function checkPopperExists(){if(that.dropdown&&that.dropdown._popper&&that.dropdown._popper.state.isCreated){setFocus()}else{requestAnimationFrame(checkPopperExists)}}this.$element.on("shown"+EVENT_KEY,function(){if(that.$menuInner[0].scrollTop!==that.selectpicker.view.scrollTop){that.$menuInner[0].scrollTop=that.selectpicker.view.scrollTop}if(version.major>3){requestAnimationFrame(checkPopperExists)}else{setFocus()}});this.$menuInner.on("mouseenter","li a",function(e){var hoverLi=this.parentElement,position0=that.isVirtual()?that.selectpicker.view.position0:0,index=Array.prototype.indexOf.call(hoverLi.parentElement.children,hoverLi),hoverData=that.selectpicker.current.data[index+position0];that.focusItem(hoverLi,hoverData,true)});this.$menuInner.on("click","li a",function(e,retainActive){var $this=$(this),element=that.$element[0],position0=that.isVirtual()?that.selectpicker.view.position0:0,clickedData=that.selectpicker.current.data[$this.parent().index()+position0],clickedIndex=clickedData.index,prevValue=getSelectValues(element),prevIndex=element.selectedIndex,prevOption=element.options[prevIndex],triggerChange=true;if(that.multiple&&that.options.maxOptions!==1){e.stopPropagation()}e.preventDefault();if(!that.isDisabled()&&!$this.parent().hasClass(classNames.DISABLED)){var option=clickedData.option,$option=$(option),state=option.selected,$optgroup=$option.parent("optgroup"),$optgroupOptions=$optgroup.find("option"),maxOptions=that.options.maxOptions,maxOptionsGrp=$optgroup.data("maxOptions")||false;if(clickedIndex===that.activeIndex)retainActive=true;if(!retainActive){that.prevActiveIndex=that.activeIndex;that.activeIndex=undefined}if(!that.multiple){if(prevOption)prevOption.selected=false;option.selected=true;that.setSelected(clickedIndex,true)}else{option.selected=!state;that.setSelected(clickedIndex,!state);$this.trigger("blur");if(maxOptions!==false||maxOptionsGrp!==false){var maxReached=maxOptions
    ');if(maxOptionsArr[2]){maxTxt=maxTxt.replace("{var}",maxOptionsArr[2][maxOptions>1?0:1]);maxTxtGrp=maxTxtGrp.replace("{var}",maxOptionsArr[2][maxOptionsGrp>1?0:1])}option.selected=false;that.$menu.append($notify);if(maxOptions&&maxReached){$notify.append($("
    "+maxTxt+"
    "));triggerChange=false;that.$element.trigger("maxReached"+EVENT_KEY)}if(maxOptionsGrp&&maxReachedGrp){$notify.append($("
    "+maxTxtGrp+"
    "));triggerChange=false;that.$element.trigger("maxReachedGrp"+EVENT_KEY)}setTimeout(function(){that.setSelected(clickedIndex,false)},10);$notify[0].classList.add("fadeOut");setTimeout(function(){$notify.remove()},1050)}}}}if(!that.multiple||that.multiple&&that.options.maxOptions===1){that.$button.trigger("focus")}else if(that.options.liveSearch){that.$searchbox.trigger("focus")}if(triggerChange){if(that.multiple||prevIndex!==element.selectedIndex){changedArguments=[option.index,$option.prop("selected"),prevValue];that.$element.triggerNative("change")}}}});this.$menu.on("click","li."+classNames.DISABLED+" a, ."+classNames.POPOVERHEADER+", ."+classNames.POPOVERHEADER+" :not(.close)",function(e){if(e.currentTarget==this){e.preventDefault();e.stopPropagation();if(that.options.liveSearch&&!$(e.target).hasClass("close")){that.$searchbox.trigger("focus")}else{that.$button.trigger("focus")}}});this.$menuInner.on("click",".divider, .dropdown-header",function(e){e.preventDefault();e.stopPropagation();if(that.options.liveSearch){that.$searchbox.trigger("focus")}else{that.$button.trigger("focus")}});this.$menu.on("click","."+classNames.POPOVERHEADER+" .close",function(){that.$button.trigger("click")});this.$searchbox.on("click",function(e){e.stopPropagation()});this.$menu.on("click",".actions-btn",function(e){if(that.options.liveSearch){that.$searchbox.trigger("focus")}else{that.$button.trigger("focus")}e.preventDefault();e.stopPropagation();if($(this).hasClass("bs-select-all")){that.selectAll()}else{that.deselectAll()}});this.$element.on("change"+EVENT_KEY,function(){that.render();that.$element.trigger("changed"+EVENT_KEY,changedArguments);changedArguments=null}).on("focus"+EVENT_KEY,function(){if(!that.options.mobile)that.$button.trigger("focus")})},liveSearchListener:function(){var that=this,noResults=document.createElement("li");this.$button.on("click.bs.dropdown.data-api",function(){if(!!that.$searchbox.val()){that.$searchbox.val("")}});this.$searchbox.on("click.bs.dropdown.data-api focus.bs.dropdown.data-api touchend.bs.dropdown.data-api",function(e){e.stopPropagation()});this.$searchbox.on("input propertychange",function(){var searchValue=that.$searchbox.val();that.selectpicker.search.elements=[];that.selectpicker.search.data=[];if(searchValue){var i,searchMatch=[],q=searchValue.toUpperCase(),cache={},cacheArr=[],searchStyle=that._searchStyle(),normalizeSearch=that.options.liveSearchNormalize;if(normalizeSearch)q=normalizeToBase(q);for(var i=0;i0){cache[li.headerIndex-1]=true;cacheArr.push(li.headerIndex-1)}cache[li.headerIndex]=true;cacheArr.push(li.headerIndex);cache[li.lastIndex+1]=true}if(cache[i]&&li.type!=="optgroup-label")cacheArr.push(i)}for(var i=0,cacheLen=cacheArr.length;i=112&&e.which<=123)return;isActive=that.$newElement.hasClass(classNames.SHOW);if(!isActive&&(isArrowKey||e.which>=48&&e.which<=57||e.which>=96&&e.which<=105||e.which>=65&&e.which<=90)){that.$button.trigger("click.bs.dropdown.data-api");if(that.options.liveSearch){that.$searchbox.trigger("focus");return}}if(e.which===keyCodes.ESCAPE&&isActive){e.preventDefault();that.$button.trigger("click.bs.dropdown.data-api").trigger("focus")}if(isArrowKey){if(!$items.length)return;liActive=that.selectpicker.main.elements[that.activeIndex];index=liActive?Array.prototype.indexOf.call(liActive.parentElement.children,liActive):-1;if(index!==-1){that.defocusItem(liActive)}if(e.which===keyCodes.ARROW_UP){if(index!==-1)index--;if(index+position0<0)index+=$items.length;if(!that.selectpicker.view.canHighlight[index+position0]){index=that.selectpicker.view.canHighlight.slice(0,index+position0).lastIndexOf(true)-position0;if(index===-1)index=$items.length-1}}else if(e.which===keyCodes.ARROW_DOWN||downOnTab){index++;if(index+position0>=that.selectpicker.view.canHighlight.length)index=0;if(!that.selectpicker.view.canHighlight[index+position0]){index=index+1+that.selectpicker.view.canHighlight.slice(index+position0+1).indexOf(true)}}e.preventDefault();var liActiveIndex=position0+index;if(e.which===keyCodes.ARROW_UP){if(position0===0&&index===$items.length-1){that.$menuInner[0].scrollTop=that.$menuInner[0].scrollHeight;liActiveIndex=that.selectpicker.current.elements.length-1}else{activeLi=that.selectpicker.current.data[liActiveIndex];offset=activeLi.position-activeLi.height;updateScroll=offsetscrollTop}}liActive=that.selectpicker.current.elements[liActiveIndex];that.activeIndex=that.selectpicker.current.data[liActiveIndex].index;that.focusItem(liActive);that.selectpicker.view.currentActive=liActive;if(updateScroll)that.$menuInner[0].scrollTop=offset;if(that.options.liveSearch){that.$searchbox.trigger("focus")}else{$this.trigger("focus")}}else if(!$this.is("input")&&!REGEXP_TAB_OR_ESCAPE.test(e.which)||e.which===keyCodes.SPACE&&that.selectpicker.keydown.keyHistory){var searchMatch,matches=[],keyHistory;e.preventDefault();that.selectpicker.keydown.keyHistory+=keyCodeMap[e.which];if(that.selectpicker.keydown.resetKeyHistory.cancel)clearTimeout(that.selectpicker.keydown.resetKeyHistory.cancel);that.selectpicker.keydown.resetKeyHistory.cancel=that.selectpicker.keydown.resetKeyHistory.start();keyHistory=that.selectpicker.keydown.keyHistory;if(/^(.)\1+$/.test(keyHistory)){keyHistory=keyHistory.charAt(0)}for(var i=0;i0){offset=activeLi.position-activeLi.height;updateScroll=true}else{offset=activeLi.position-that.sizeInfo.menuInnerHeight;updateScroll=activeLi.position>scrollTop+that.sizeInfo.menuInnerHeight}liActive=that.selectpicker.main.elements[searchMatch];that.activeIndex=matches[matchIndex];that.focusItem(liActive);if(liActive)liActive.firstChild.focus();if(updateScroll)that.$menuInner[0].scrollTop=offset;$this.trigger("focus")}}if(isActive&&(e.which===keyCodes.SPACE&&!that.selectpicker.keydown.keyHistory||e.which===keyCodes.ENTER||e.which===keyCodes.TAB&&that.options.selectOnTab)){if(e.which!==keyCodes.SPACE)e.preventDefault();if(!that.options.liveSearch||e.which!==keyCodes.SPACE){that.$menuInner.find(".active a").trigger("click",true);$this.trigger("focus");if(!that.options.liveSearch){e.preventDefault();$(document).data("spaceSelect",true)}}}},mobile:function(){this.$element[0].classList.add("mobile-device")},refresh:function(){var config=$.extend({},this.options,this.$element.data());this.options=config;this.checkDisabled();this.setStyle();this.render();this.buildData();this.buildList();this.setWidth();this.setSize(true);this.$element.trigger("refreshed"+EVENT_KEY)},hide:function(){this.$newElement.hide()},show:function(){this.$newElement.show()},remove:function(){this.$newElement.remove();this.$element.remove()},destroy:function(){this.$newElement.before(this.$element).remove();if(this.$bsContainer){this.$bsContainer.remove()}else{this.$menu.remove()}this.$element.off(EVENT_KEY).removeData("selectpicker").removeClass("bs-select-hidden selectpicker");$(window).off(EVENT_KEY+"."+this.selectId)}};function Plugin(option){var args=arguments;var _option=option;[].shift.apply(args);if(!version.success){try{version.full=($.fn.dropdown.Constructor.VERSION||"").split(" ")[0].split(".")}catch(err){if(Selectpicker.BootstrapVersion){version.full=Selectpicker.BootstrapVersion.split(" ")[0].split(".")}else{version.full=[version.major,"0","0"];console.warn("There was an issue retrieving Bootstrap's version. "+"Ensure Bootstrap is being loaded before bootstrap-select and there is no namespace collision. "+"If loading Bootstrap asynchronously, the version may need to be manually specified via $.fn.selectpicker.Constructor.BootstrapVersion.",err)}}version.major=version.full[0];version.success=true}if(version.major==="4"){var toUpdate=[];if(Selectpicker.DEFAULTS.style===classNames.BUTTONCLASS)toUpdate.push({name:"style",className:"BUTTONCLASS"});if(Selectpicker.DEFAULTS.iconBase===classNames.ICONBASE)toUpdate.push({name:"iconBase",className:"ICONBASE"});if(Selectpicker.DEFAULTS.tickIcon===classNames.TICKICON)toUpdate.push({name:"tickIcon",className:"TICKICON"});classNames.DIVIDER="dropdown-divider";classNames.SHOW="show";classNames.BUTTONCLASS="btn-light";classNames.POPOVERHEADER="popover-header";classNames.ICONBASE="";classNames.TICKICON="bs-ok-default";for(var i=0;i [data-toggle="dropdown"]',bootstrapKeydown).on("keydown.bs.dropdown.data-api",":not(.bootstrap-select) > .dropdown-menu",bootstrapKeydown).on("keydown"+EVENT_KEY,'.bootstrap-select [data-toggle="dropdown"], .bootstrap-select [role="listbox"], .bootstrap-select .bs-searchbox input',Selectpicker.prototype.keydown).on("focusin.modal",'.bootstrap-select [data-toggle="dropdown"], .bootstrap-select [role="listbox"], .bootstrap-select .bs-searchbox input',function(e){e.stopPropagation()});$(window).on("load"+EVENT_KEY+".data-api",function(){$(".selectpicker").each(function(){var $selectpicker=$(this);Plugin.call($selectpicker,$selectpicker.data())})})})(jQuery)});view/assets/js/bootstrap.min.js000064400000412600147600042240012573 0ustar00(function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?factory(exports,require("jquery")):typeof define==="function"&&define.amd?define(["exports","jquery"],factory):(global=typeof globalThis!=="undefined"?globalThis:global||self,factory(global.bootstrap={},global.jQuery))})(this,function(exports,$){"use strict";function _interopDefaultLegacy(e){return e&&typeof e==="object"&&"default"in e?e:{default:e}}var $__default=_interopDefaultLegacy($);function _defineProperties(target,props){for(var i=0;i=maxMajor){throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}}};Util.jQueryDetection();setTransitionEndSupport();var NAME="alert";var VERSION="4.6.0";var DATA_KEY="bs.alert";var EVENT_KEY="."+DATA_KEY;var DATA_API_KEY=".data-api";var JQUERY_NO_CONFLICT=$__default["default"].fn[NAME];var SELECTOR_DISMISS='[data-dismiss="alert"]';var EVENT_CLOSE="close"+EVENT_KEY;var EVENT_CLOSED="closed"+EVENT_KEY;var EVENT_CLICK_DATA_API="click"+EVENT_KEY+DATA_API_KEY;var CLASS_NAME_ALERT="alert";var CLASS_NAME_FADE="fade";var CLASS_NAME_SHOW="show";var Alert=function(){function Alert(element){this._element=element}var _proto=Alert.prototype;_proto.close=function close(element){var rootElement=this._element;if(element){rootElement=this._getRootElement(element)}var customEvent=this._triggerCloseEvent(rootElement);if(customEvent.isDefaultPrevented()){return}this._removeElement(rootElement)};_proto.dispose=function dispose(){$__default["default"].removeData(this._element,DATA_KEY);this._element=null};_proto._getRootElement=function _getRootElement(element){var selector=Util.getSelectorFromElement(element);var parent=false;if(selector){parent=document.querySelector(selector)}if(!parent){parent=$__default["default"](element).closest("."+CLASS_NAME_ALERT)[0]}return parent};_proto._triggerCloseEvent=function _triggerCloseEvent(element){var closeEvent=$__default["default"].Event(EVENT_CLOSE);$__default["default"](element).trigger(closeEvent);return closeEvent};_proto._removeElement=function _removeElement(element){var _this=this;$__default["default"](element).removeClass(CLASS_NAME_SHOW);if(!$__default["default"](element).hasClass(CLASS_NAME_FADE)){this._destroyElement(element);return}var transitionDuration=Util.getTransitionDurationFromElement(element);$__default["default"](element).one(Util.TRANSITION_END,function(event){return _this._destroyElement(element,event)}).emulateTransitionEnd(transitionDuration)};_proto._destroyElement=function _destroyElement(element){$__default["default"](element).detach().trigger(EVENT_CLOSED).remove()};Alert._jQueryInterface=function _jQueryInterface(config){return this.each(function(){var $element=$__default["default"](this);var data=$element.data(DATA_KEY);if(!data){data=new Alert(this);$element.data(DATA_KEY,data)}if(config==="close"){data[config](this)}})};Alert._handleDismiss=function _handleDismiss(alertInstance){return function(event){if(event){event.preventDefault()}alertInstance.close(this)}};_createClass(Alert,null,[{key:"VERSION",get:function get(){return VERSION}}]);return Alert}();$__default["default"](document).on(EVENT_CLICK_DATA_API,SELECTOR_DISMISS,Alert._handleDismiss(new Alert));$__default["default"].fn[NAME]=Alert._jQueryInterface;$__default["default"].fn[NAME].Constructor=Alert;$__default["default"].fn[NAME].noConflict=function(){$__default["default"].fn[NAME]=JQUERY_NO_CONFLICT;return Alert._jQueryInterface};var NAME$1="button";var VERSION$1="4.6.0";var DATA_KEY$1="bs.button";var EVENT_KEY$1="."+DATA_KEY$1;var DATA_API_KEY$1=".data-api";var JQUERY_NO_CONFLICT$1=$__default["default"].fn[NAME$1];var CLASS_NAME_ACTIVE="active";var CLASS_NAME_BUTTON="btn";var CLASS_NAME_FOCUS="focus";var SELECTOR_DATA_TOGGLE_CARROT='[data-toggle^="button"]';var SELECTOR_DATA_TOGGLES='[data-toggle="buttons"]';var SELECTOR_DATA_TOGGLE='[data-toggle="button"]';var SELECTOR_DATA_TOGGLES_BUTTONS='[data-toggle="buttons"] .btn';var SELECTOR_INPUT='input:not([type="hidden"])';var SELECTOR_ACTIVE=".active";var SELECTOR_BUTTON=".btn";var EVENT_CLICK_DATA_API$1="click"+EVENT_KEY$1+DATA_API_KEY$1;var EVENT_FOCUS_BLUR_DATA_API="focus"+EVENT_KEY$1+DATA_API_KEY$1+" "+("blur"+EVENT_KEY$1+DATA_API_KEY$1);var EVENT_LOAD_DATA_API="load"+EVENT_KEY$1+DATA_API_KEY$1;var Button=function(){function Button(element){this._element=element;this.shouldAvoidTriggerChange=false}var _proto=Button.prototype;_proto.toggle=function toggle(){var triggerChangeEvent=true;var addAriaPressed=true;var rootElement=$__default["default"](this._element).closest(SELECTOR_DATA_TOGGLES)[0];if(rootElement){var input=this._element.querySelector(SELECTOR_INPUT);if(input){if(input.type==="radio"){if(input.checked&&this._element.classList.contains(CLASS_NAME_ACTIVE)){triggerChangeEvent=false}else{var activeElement=rootElement.querySelector(SELECTOR_ACTIVE);if(activeElement){$__default["default"](activeElement).removeClass(CLASS_NAME_ACTIVE)}}}if(triggerChangeEvent){if(input.type==="checkbox"||input.type==="radio"){input.checked=!this._element.classList.contains(CLASS_NAME_ACTIVE)}if(!this.shouldAvoidTriggerChange){$__default["default"](input).trigger("change")}}input.focus();addAriaPressed=false}}if(!(this._element.hasAttribute("disabled")||this._element.classList.contains("disabled"))){if(addAriaPressed){this._element.setAttribute("aria-pressed",!this._element.classList.contains(CLASS_NAME_ACTIVE))}if(triggerChangeEvent){$__default["default"](this._element).toggleClass(CLASS_NAME_ACTIVE)}}};_proto.dispose=function dispose(){$__default["default"].removeData(this._element,DATA_KEY$1);this._element=null};Button._jQueryInterface=function _jQueryInterface(config,avoidTriggerChange){return this.each(function(){var $element=$__default["default"](this);var data=$element.data(DATA_KEY$1);if(!data){data=new Button(this);$element.data(DATA_KEY$1,data)}data.shouldAvoidTriggerChange=avoidTriggerChange;if(config==="toggle"){data[config]()}})};_createClass(Button,null,[{key:"VERSION",get:function get(){return VERSION$1}}]);return Button}();$__default["default"](document).on(EVENT_CLICK_DATA_API$1,SELECTOR_DATA_TOGGLE_CARROT,function(event){var button=event.target;var initialButton=button;if(!$__default["default"](button).hasClass(CLASS_NAME_BUTTON)){button=$__default["default"](button).closest(SELECTOR_BUTTON)[0]}if(!button||button.hasAttribute("disabled")||button.classList.contains("disabled")){event.preventDefault()}else{var inputBtn=button.querySelector(SELECTOR_INPUT);if(inputBtn&&(inputBtn.hasAttribute("disabled")||inputBtn.classList.contains("disabled"))){event.preventDefault();return}if(initialButton.tagName==="INPUT"||button.tagName!=="LABEL"){Button._jQueryInterface.call($__default["default"](button),"toggle",initialButton.tagName==="INPUT")}}}).on(EVENT_FOCUS_BLUR_DATA_API,SELECTOR_DATA_TOGGLE_CARROT,function(event){var button=$__default["default"](event.target).closest(SELECTOR_BUTTON)[0];$__default["default"](button).toggleClass(CLASS_NAME_FOCUS,/^focus(in)?$/.test(event.type))});$__default["default"](window).on(EVENT_LOAD_DATA_API,function(){var buttons=[].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLES_BUTTONS));for(var i=0,len=buttons.length;i0;this._pointerEvent=Boolean(window.PointerEvent||window.MSPointerEvent);this._addEventListeners()}var _proto=Carousel.prototype;_proto.next=function next(){if(!this._isSliding){this._slide(DIRECTION_NEXT)}};_proto.nextWhenVisible=function nextWhenVisible(){var $element=$__default["default"](this._element);if(!document.hidden&&$element.is(":visible")&&$element.css("visibility")!=="hidden"){this.next()}};_proto.prev=function prev(){if(!this._isSliding){this._slide(DIRECTION_PREV)}};_proto.pause=function pause(event){if(!event){this._isPaused=true}if(this._element.querySelector(SELECTOR_NEXT_PREV)){Util.triggerTransitionEnd(this._element);this.cycle(true)}clearInterval(this._interval);this._interval=null};_proto.cycle=function cycle(event){if(!event){this._isPaused=false}if(this._interval){clearInterval(this._interval);this._interval=null}if(this._config.interval&&!this._isPaused){this._updateInterval();this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval)}};_proto.to=function to(index){var _this=this;this._activeElement=this._element.querySelector(SELECTOR_ACTIVE_ITEM);var activeIndex=this._getItemIndex(this._activeElement);if(index>this._items.length-1||index<0){return}if(this._isSliding){$__default["default"](this._element).one(EVENT_SLID,function(){return _this.to(index)});return}if(activeIndex===index){this.pause();this.cycle();return}var direction=index>activeIndex?DIRECTION_NEXT:DIRECTION_PREV;this._slide(direction,this._items[index])};_proto.dispose=function dispose(){$__default["default"](this._element).off(EVENT_KEY$2);$__default["default"].removeData(this._element,DATA_KEY$2);this._items=null;this._config=null;this._element=null;this._interval=null;this._isPaused=null;this._isSliding=null;this._activeElement=null;this._indicatorsElement=null};_proto._getConfig=function _getConfig(config){config=_extends({},Default,config);Util.typeCheckConfig(NAME$2,config,DefaultType);return config};_proto._handleSwipe=function _handleSwipe(){var absDeltax=Math.abs(this.touchDeltaX);if(absDeltax<=SWIPE_THRESHOLD){return}var direction=absDeltax/this.touchDeltaX;this.touchDeltaX=0;if(direction>0){this.prev()}if(direction<0){this.next()}};_proto._addEventListeners=function _addEventListeners(){var _this2=this;if(this._config.keyboard){$__default["default"](this._element).on(EVENT_KEYDOWN,function(event){return _this2._keydown(event)})}if(this._config.pause==="hover"){$__default["default"](this._element).on(EVENT_MOUSEENTER,function(event){return _this2.pause(event)}).on(EVENT_MOUSELEAVE,function(event){return _this2.cycle(event)})}if(this._config.touch){this._addTouchEventListeners()}};_proto._addTouchEventListeners=function _addTouchEventListeners(){var _this3=this;if(!this._touchSupported){return}var start=function start(event){if(_this3._pointerEvent&&PointerType[event.originalEvent.pointerType.toUpperCase()]){_this3.touchStartX=event.originalEvent.clientX}else if(!_this3._pointerEvent){_this3.touchStartX=event.originalEvent.touches[0].clientX}};var move=function move(event){if(event.originalEvent.touches&&event.originalEvent.touches.length>1){_this3.touchDeltaX=0}else{_this3.touchDeltaX=event.originalEvent.touches[0].clientX-_this3.touchStartX}};var end=function end(event){if(_this3._pointerEvent&&PointerType[event.originalEvent.pointerType.toUpperCase()]){_this3.touchDeltaX=event.originalEvent.clientX-_this3.touchStartX}_this3._handleSwipe();if(_this3._config.pause==="hover"){_this3.pause();if(_this3.touchTimeout){clearTimeout(_this3.touchTimeout)}_this3.touchTimeout=setTimeout(function(event){return _this3.cycle(event)},TOUCHEVENT_COMPAT_WAIT+_this3._config.interval)}};$__default["default"](this._element.querySelectorAll(SELECTOR_ITEM_IMG)).on(EVENT_DRAG_START,function(e){return e.preventDefault()});if(this._pointerEvent){$__default["default"](this._element).on(EVENT_POINTERDOWN,function(event){return start(event)});$__default["default"](this._element).on(EVENT_POINTERUP,function(event){return end(event)});this._element.classList.add(CLASS_NAME_POINTER_EVENT)}else{$__default["default"](this._element).on(EVENT_TOUCHSTART,function(event){return start(event)});$__default["default"](this._element).on(EVENT_TOUCHMOVE,function(event){return move(event)});$__default["default"](this._element).on(EVENT_TOUCHEND,function(event){return end(event)})}};_proto._keydown=function _keydown(event){if(/input|textarea/i.test(event.target.tagName)){return}switch(event.which){case ARROW_LEFT_KEYCODE:event.preventDefault();this.prev();break;case ARROW_RIGHT_KEYCODE:event.preventDefault();this.next();break}};_proto._getItemIndex=function _getItemIndex(element){this._items=element&&element.parentNode?[].slice.call(element.parentNode.querySelectorAll(SELECTOR_ITEM)):[];return this._items.indexOf(element)};_proto._getItemByDirection=function _getItemByDirection(direction,activeElement){var isNextDirection=direction===DIRECTION_NEXT;var isPrevDirection=direction===DIRECTION_PREV;var activeIndex=this._getItemIndex(activeElement);var lastItemIndex=this._items.length-1;var isGoingToWrap=isPrevDirection&&activeIndex===0||isNextDirection&&activeIndex===lastItemIndex;if(isGoingToWrap&&!this._config.wrap){return activeElement}var delta=direction===DIRECTION_PREV?-1:1;var itemIndex=(activeIndex+delta)%this._items.length;return itemIndex===-1?this._items[this._items.length-1]:this._items[itemIndex]};_proto._triggerSlideEvent=function _triggerSlideEvent(relatedTarget,eventDirectionName){var targetIndex=this._getItemIndex(relatedTarget);var fromIndex=this._getItemIndex(this._element.querySelector(SELECTOR_ACTIVE_ITEM));var slideEvent=$__default["default"].Event(EVENT_SLIDE,{relatedTarget:relatedTarget,direction:eventDirectionName,from:fromIndex,to:targetIndex});$__default["default"](this._element).trigger(slideEvent);return slideEvent};_proto._setActiveIndicatorElement=function _setActiveIndicatorElement(element){if(this._indicatorsElement){var indicators=[].slice.call(this._indicatorsElement.querySelectorAll(SELECTOR_ACTIVE$1));$__default["default"](indicators).removeClass(CLASS_NAME_ACTIVE$1);var nextIndicator=this._indicatorsElement.children[this._getItemIndex(element)];if(nextIndicator){$__default["default"](nextIndicator).addClass(CLASS_NAME_ACTIVE$1)}}};_proto._updateInterval=function _updateInterval(){var element=this._activeElement||this._element.querySelector(SELECTOR_ACTIVE_ITEM);if(!element){return}var elementInterval=parseInt(element.getAttribute("data-interval"),10);if(elementInterval){this._config.defaultInterval=this._config.defaultInterval||this._config.interval;this._config.interval=elementInterval}else{this._config.interval=this._config.defaultInterval||this._config.interval}};_proto._slide=function _slide(direction,element){var _this4=this;var activeElement=this._element.querySelector(SELECTOR_ACTIVE_ITEM);var activeElementIndex=this._getItemIndex(activeElement);var nextElement=element||activeElement&&this._getItemByDirection(direction,activeElement);var nextElementIndex=this._getItemIndex(nextElement);var isCycling=Boolean(this._interval);var directionalClassName;var orderClassName;var eventDirectionName;if(direction===DIRECTION_NEXT){directionalClassName=CLASS_NAME_LEFT;orderClassName=CLASS_NAME_NEXT;eventDirectionName=DIRECTION_LEFT}else{directionalClassName=CLASS_NAME_RIGHT;orderClassName=CLASS_NAME_PREV;eventDirectionName=DIRECTION_RIGHT}if(nextElement&&$__default["default"](nextElement).hasClass(CLASS_NAME_ACTIVE$1)){this._isSliding=false;return}var slideEvent=this._triggerSlideEvent(nextElement,eventDirectionName);if(slideEvent.isDefaultPrevented()){return}if(!activeElement||!nextElement){return}this._isSliding=true;if(isCycling){this.pause()}this._setActiveIndicatorElement(nextElement);this._activeElement=nextElement;var slidEvent=$__default["default"].Event(EVENT_SLID,{relatedTarget:nextElement,direction:eventDirectionName,from:activeElementIndex,to:nextElementIndex});if($__default["default"](this._element).hasClass(CLASS_NAME_SLIDE)){$__default["default"](nextElement).addClass(orderClassName);Util.reflow(nextElement);$__default["default"](activeElement).addClass(directionalClassName);$__default["default"](nextElement).addClass(directionalClassName);var transitionDuration=Util.getTransitionDurationFromElement(activeElement);$__default["default"](activeElement).one(Util.TRANSITION_END,function(){$__default["default"](nextElement).removeClass(directionalClassName+" "+orderClassName).addClass(CLASS_NAME_ACTIVE$1);$__default["default"](activeElement).removeClass(CLASS_NAME_ACTIVE$1+" "+orderClassName+" "+directionalClassName);_this4._isSliding=false;setTimeout(function(){return $__default["default"](_this4._element).trigger(slidEvent)},0)}).emulateTransitionEnd(transitionDuration)}else{$__default["default"](activeElement).removeClass(CLASS_NAME_ACTIVE$1);$__default["default"](nextElement).addClass(CLASS_NAME_ACTIVE$1);this._isSliding=false;$__default["default"](this._element).trigger(slidEvent)}if(isCycling){this.cycle()}};Carousel._jQueryInterface=function _jQueryInterface(config){return this.each(function(){var data=$__default["default"](this).data(DATA_KEY$2);var _config=_extends({},Default,$__default["default"](this).data());if(typeof config==="object"){_config=_extends({},_config,config)}var action=typeof config==="string"?config:_config.slide;if(!data){data=new Carousel(this,_config);$__default["default"](this).data(DATA_KEY$2,data)}if(typeof config==="number"){data.to(config)}else if(typeof action==="string"){if(typeof data[action]==="undefined"){throw new TypeError('No method named "'+action+'"')}data[action]()}else if(_config.interval&&_config.ride){data.pause();data.cycle()}})};Carousel._dataApiClickHandler=function _dataApiClickHandler(event){var selector=Util.getSelectorFromElement(this);if(!selector){return}var target=$__default["default"](selector)[0];if(!target||!$__default["default"](target).hasClass(CLASS_NAME_CAROUSEL)){return}var config=_extends({},$__default["default"](target).data(),$__default["default"](this).data());var slideIndex=this.getAttribute("data-slide-to");if(slideIndex){config.interval=false}Carousel._jQueryInterface.call($__default["default"](target),config);if(slideIndex){$__default["default"](target).data(DATA_KEY$2).to(slideIndex)}event.preventDefault()};_createClass(Carousel,null,[{key:"VERSION",get:function get(){return VERSION$2}},{key:"Default",get:function get(){return Default}}]);return Carousel}();$__default["default"](document).on(EVENT_CLICK_DATA_API$2,SELECTOR_DATA_SLIDE,Carousel._dataApiClickHandler);$__default["default"](window).on(EVENT_LOAD_DATA_API$1,function(){var carousels=[].slice.call(document.querySelectorAll(SELECTOR_DATA_RIDE));for(var i=0,len=carousels.length;i0){this._selector=selector;this._triggerArray.push(elem)}}this._parent=this._config.parent?this._getParent():null;if(!this._config.parent){this._addAriaAndCollapsedClass(this._element,this._triggerArray)}if(this._config.toggle){this.toggle()}}var _proto=Collapse.prototype;_proto.toggle=function toggle(){if($__default["default"](this._element).hasClass(CLASS_NAME_SHOW$1)){this.hide()}else{this.show()}};_proto.show=function show(){var _this=this;if(this._isTransitioning||$__default["default"](this._element).hasClass(CLASS_NAME_SHOW$1)){return}var actives;var activesData;if(this._parent){actives=[].slice.call(this._parent.querySelectorAll(SELECTOR_ACTIVES)).filter(function(elem){if(typeof _this._config.parent==="string"){return elem.getAttribute("data-parent")===_this._config.parent}return elem.classList.contains(CLASS_NAME_COLLAPSE)});if(actives.length===0){actives=null}}if(actives){activesData=$__default["default"](actives).not(this._selector).data(DATA_KEY$3);if(activesData&&activesData._isTransitioning){return}}var startEvent=$__default["default"].Event(EVENT_SHOW);$__default["default"](this._element).trigger(startEvent);if(startEvent.isDefaultPrevented()){return}if(actives){Collapse._jQueryInterface.call($__default["default"](actives).not(this._selector),"hide");if(!activesData){$__default["default"](actives).data(DATA_KEY$3,null)}}var dimension=this._getDimension();$__default["default"](this._element).removeClass(CLASS_NAME_COLLAPSE).addClass(CLASS_NAME_COLLAPSING);this._element.style[dimension]=0;if(this._triggerArray.length){$__default["default"](this._triggerArray).removeClass(CLASS_NAME_COLLAPSED).attr("aria-expanded",true)}this.setTransitioning(true);var complete=function complete(){$__default["default"](_this._element).removeClass(CLASS_NAME_COLLAPSING).addClass(CLASS_NAME_COLLAPSE+" "+CLASS_NAME_SHOW$1);_this._element.style[dimension]="";_this.setTransitioning(false);$__default["default"](_this._element).trigger(EVENT_SHOWN)};var capitalizedDimension=dimension[0].toUpperCase()+dimension.slice(1);var scrollSize="scroll"+capitalizedDimension;var transitionDuration=Util.getTransitionDurationFromElement(this._element);$__default["default"](this._element).one(Util.TRANSITION_END,complete).emulateTransitionEnd(transitionDuration);this._element.style[dimension]=this._element[scrollSize]+"px"};_proto.hide=function hide(){var _this2=this;if(this._isTransitioning||!$__default["default"](this._element).hasClass(CLASS_NAME_SHOW$1)){return}var startEvent=$__default["default"].Event(EVENT_HIDE);$__default["default"](this._element).trigger(startEvent);if(startEvent.isDefaultPrevented()){return}var dimension=this._getDimension();this._element.style[dimension]=this._element.getBoundingClientRect()[dimension]+"px";Util.reflow(this._element);$__default["default"](this._element).addClass(CLASS_NAME_COLLAPSING).removeClass(CLASS_NAME_COLLAPSE+" "+CLASS_NAME_SHOW$1);var triggerArrayLength=this._triggerArray.length;if(triggerArrayLength>0){for(var i=0;i=0){return 1}}return 0}();function microtaskDebounce(fn){var called=false;return function(){if(called){return}called=true;window.Promise.resolve().then(function(){called=false;fn()})}}function taskDebounce(fn){var scheduled=false;return function(){if(!scheduled){scheduled=true;setTimeout(function(){scheduled=false;fn()},timeoutDuration)}}}var supportsMicroTasks=isBrowser&&window.Promise;var debounce=supportsMicroTasks?microtaskDebounce:taskDebounce;function isFunction(functionToCheck){var getType={};return functionToCheck&&getType.toString.call(functionToCheck)==="[object Function]"}function getStyleComputedProperty(element,property){if(element.nodeType!==1){return[]}var window=element.ownerDocument.defaultView;var css=window.getComputedStyle(element,null);return property?css[property]:css}function getParentNode(element){if(element.nodeName==="HTML"){return element}return element.parentNode||element.host}function getScrollParent(element){if(!element){return document.body}switch(element.nodeName){case"HTML":case"BODY":return element.ownerDocument.body;case"#document":return element.body}var _getStyleComputedProp=getStyleComputedProperty(element),overflow=_getStyleComputedProp.overflow,overflowX=_getStyleComputedProp.overflowX,overflowY=_getStyleComputedProp.overflowY;if(/(auto|scroll|overlay)/.test(overflow+overflowY+overflowX)){return element}return getScrollParent(getParentNode(element))}function getReferenceNode(reference){return reference&&reference.referenceNode?reference.referenceNode:reference}var isIE11=isBrowser&&!!(window.MSInputMethodContext&&document.documentMode);var isIE10=isBrowser&&/MSIE 10/.test(navigator.userAgent);function isIE(version){if(version===11){return isIE11}if(version===10){return isIE10}return isIE11||isIE10}function getOffsetParent(element){if(!element){return document.documentElement}var noOffsetParent=isIE(10)?document.body:null;var offsetParent=element.offsetParent||null;while(offsetParent===noOffsetParent&&element.nextElementSibling){offsetParent=(element=element.nextElementSibling).offsetParent}var nodeName=offsetParent&&offsetParent.nodeName;if(!nodeName||nodeName==="BODY"||nodeName==="HTML"){return element?element.ownerDocument.documentElement:document.documentElement}if(["TH","TD","TABLE"].indexOf(offsetParent.nodeName)!==-1&&getStyleComputedProperty(offsetParent,"position")==="static"){return getOffsetParent(offsetParent)}return offsetParent}function isOffsetContainer(element){var nodeName=element.nodeName;if(nodeName==="BODY"){return false}return nodeName==="HTML"||getOffsetParent(element.firstElementChild)===element}function getRoot(node){if(node.parentNode!==null){return getRoot(node.parentNode)}return node}function findCommonOffsetParent(element1,element2){if(!element1||!element1.nodeType||!element2||!element2.nodeType){return document.documentElement}var order=element1.compareDocumentPosition(element2)&Node.DOCUMENT_POSITION_FOLLOWING;var start=order?element1:element2;var end=order?element2:element1;var range=document.createRange();range.setStart(start,0);range.setEnd(end,0);var commonAncestorContainer=range.commonAncestorContainer;if(element1!==commonAncestorContainer&&element2!==commonAncestorContainer||start.contains(end)){if(isOffsetContainer(commonAncestorContainer)){return commonAncestorContainer}return getOffsetParent(commonAncestorContainer)}var element1root=getRoot(element1);if(element1root.host){return findCommonOffsetParent(element1root.host,element2)}else{return findCommonOffsetParent(element1,getRoot(element2).host)}}function getScroll(element){var side=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"top";var upperSide=side==="top"?"scrollTop":"scrollLeft";var nodeName=element.nodeName;if(nodeName==="BODY"||nodeName==="HTML"){var html=element.ownerDocument.documentElement;var scrollingElement=element.ownerDocument.scrollingElement||html;return scrollingElement[upperSide]}return element[upperSide]}function includeScroll(rect,element){var subtract=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var scrollTop=getScroll(element,"top");var scrollLeft=getScroll(element,"left");var modifier=subtract?-1:1;rect.top+=scrollTop*modifier;rect.bottom+=scrollTop*modifier;rect.left+=scrollLeft*modifier;rect.right+=scrollLeft*modifier;return rect}function getBordersSize(styles,axis){var sideA=axis==="x"?"Left":"Top";var sideB=sideA==="Left"?"Right":"Bottom";return parseFloat(styles["border"+sideA+"Width"])+parseFloat(styles["border"+sideB+"Width"])}function getSize(axis,body,html,computedStyle){return Math.max(body["offset"+axis],body["scroll"+axis],html["client"+axis],html["offset"+axis],html["scroll"+axis],isIE(10)?parseInt(html["offset"+axis])+parseInt(computedStyle["margin"+(axis==="Height"?"Top":"Left")])+parseInt(computedStyle["margin"+(axis==="Height"?"Bottom":"Right")]):0)}function getWindowSizes(document){var body=document.body;var html=document.documentElement;var computedStyle=isIE(10)&&getComputedStyle(html);return{height:getSize("Height",body,html,computedStyle),width:getSize("Width",body,html,computedStyle)}}var classCallCheck=function(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}};var createClass=function(){function defineProperties(target,props){for(var i=0;i2&&arguments[2]!==undefined?arguments[2]:false;var isIE10=isIE(10);var isHTML=parent.nodeName==="HTML";var childrenRect=getBoundingClientRect(children);var parentRect=getBoundingClientRect(parent);var scrollParent=getScrollParent(children);var styles=getStyleComputedProperty(parent);var borderTopWidth=parseFloat(styles.borderTopWidth);var borderLeftWidth=parseFloat(styles.borderLeftWidth);if(fixedPosition&&isHTML){parentRect.top=Math.max(parentRect.top,0);parentRect.left=Math.max(parentRect.left,0)}var offsets=getClientRect({top:childrenRect.top-parentRect.top-borderTopWidth,left:childrenRect.left-parentRect.left-borderLeftWidth,width:childrenRect.width,height:childrenRect.height});offsets.marginTop=0;offsets.marginLeft=0;if(!isIE10&&isHTML){var marginTop=parseFloat(styles.marginTop);var marginLeft=parseFloat(styles.marginLeft);offsets.top-=borderTopWidth-marginTop;offsets.bottom-=borderTopWidth-marginTop;offsets.left-=borderLeftWidth-marginLeft;offsets.right-=borderLeftWidth-marginLeft;offsets.marginTop=marginTop;offsets.marginLeft=marginLeft}if(isIE10&&!fixedPosition?parent.contains(scrollParent):parent===scrollParent&&scrollParent.nodeName!=="BODY"){offsets=includeScroll(offsets,parent)}return offsets}function getViewportOffsetRectRelativeToArtbitraryNode(element){var excludeScroll=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;var html=element.ownerDocument.documentElement;var relativeOffset=getOffsetRectRelativeToArbitraryNode(element,html);var width=Math.max(html.clientWidth,window.innerWidth||0);var height=Math.max(html.clientHeight,window.innerHeight||0);var scrollTop=!excludeScroll?getScroll(html):0;var scrollLeft=!excludeScroll?getScroll(html,"left"):0;var offset={top:scrollTop-relativeOffset.top+relativeOffset.marginTop,left:scrollLeft-relativeOffset.left+relativeOffset.marginLeft,width:width,height:height};return getClientRect(offset)}function isFixed(element){var nodeName=element.nodeName;if(nodeName==="BODY"||nodeName==="HTML"){return false}if(getStyleComputedProperty(element,"position")==="fixed"){return true}var parentNode=getParentNode(element);if(!parentNode){return false}return isFixed(parentNode)}function getFixedPositionOffsetParent(element){if(!element||!element.parentElement||isIE()){return document.documentElement}var el=element.parentElement;while(el&&getStyleComputedProperty(el,"transform")==="none"){el=el.parentElement}return el||document.documentElement}function getBoundaries(popper,reference,padding,boundariesElement){var fixedPosition=arguments.length>4&&arguments[4]!==undefined?arguments[4]:false;var boundaries={top:0,left:0};var offsetParent=fixedPosition?getFixedPositionOffsetParent(popper):findCommonOffsetParent(popper,getReferenceNode(reference));if(boundariesElement==="viewport"){boundaries=getViewportOffsetRectRelativeToArtbitraryNode(offsetParent,fixedPosition)}else{var boundariesNode=void 0;if(boundariesElement==="scrollParent"){boundariesNode=getScrollParent(getParentNode(reference));if(boundariesNode.nodeName==="BODY"){boundariesNode=popper.ownerDocument.documentElement}}else if(boundariesElement==="window"){boundariesNode=popper.ownerDocument.documentElement}else{boundariesNode=boundariesElement}var offsets=getOffsetRectRelativeToArbitraryNode(boundariesNode,offsetParent,fixedPosition);if(boundariesNode.nodeName==="HTML"&&!isFixed(offsetParent)){var _getWindowSizes=getWindowSizes(popper.ownerDocument),height=_getWindowSizes.height,width=_getWindowSizes.width;boundaries.top+=offsets.top-offsets.marginTop;boundaries.bottom=height+offsets.top;boundaries.left+=offsets.left-offsets.marginLeft;boundaries.right=width+offsets.left}else{boundaries=offsets}}padding=padding||0;var isPaddingNumber=typeof padding==="number";boundaries.left+=isPaddingNumber?padding:padding.left||0;boundaries.top+=isPaddingNumber?padding:padding.top||0;boundaries.right-=isPaddingNumber?padding:padding.right||0;boundaries.bottom-=isPaddingNumber?padding:padding.bottom||0;return boundaries}function getArea(_ref){var width=_ref.width,height=_ref.height;return width*height}function computeAutoPlacement(placement,refRect,popper,reference,boundariesElement){var padding=arguments.length>5&&arguments[5]!==undefined?arguments[5]:0;if(placement.indexOf("auto")===-1){return placement}var boundaries=getBoundaries(popper,reference,padding,boundariesElement);var rects={top:{width:boundaries.width,height:refRect.top-boundaries.top},right:{width:boundaries.right-refRect.right,height:boundaries.height},bottom:{width:boundaries.width,height:boundaries.bottom-refRect.bottom},left:{width:refRect.left-boundaries.left,height:boundaries.height}};var sortedAreas=Object.keys(rects).map(function(key){return _extends$1({key:key},rects[key],{area:getArea(rects[key])})}).sort(function(a,b){return b.area-a.area});var filteredAreas=sortedAreas.filter(function(_ref2){var width=_ref2.width,height=_ref2.height;return width>=popper.clientWidth&&height>=popper.clientHeight});var computedPlacement=filteredAreas.length>0?filteredAreas[0].key:sortedAreas[0].key;var variation=placement.split("-")[1];return computedPlacement+(variation?"-"+variation:"")}function getReferenceOffsets(state,popper,reference){var fixedPosition=arguments.length>3&&arguments[3]!==undefined?arguments[3]:null;var commonOffsetParent=fixedPosition?getFixedPositionOffsetParent(popper):findCommonOffsetParent(popper,getReferenceNode(reference));return getOffsetRectRelativeToArbitraryNode(reference,commonOffsetParent,fixedPosition)}function getOuterSizes(element){var window=element.ownerDocument.defaultView;var styles=window.getComputedStyle(element);var x=parseFloat(styles.marginTop||0)+parseFloat(styles.marginBottom||0);var y=parseFloat(styles.marginLeft||0)+parseFloat(styles.marginRight||0);var result={width:element.offsetWidth+y,height:element.offsetHeight+x};return result}function getOppositePlacement(placement){var hash={left:"right",right:"left",bottom:"top",top:"bottom"};return placement.replace(/left|right|bottom|top/g,function(matched){return hash[matched]})}function getPopperOffsets(popper,referenceOffsets,placement){placement=placement.split("-")[0];var popperRect=getOuterSizes(popper);var popperOffsets={width:popperRect.width,height:popperRect.height};var isHoriz=["right","left"].indexOf(placement)!==-1;var mainSide=isHoriz?"top":"left";var secondarySide=isHoriz?"left":"top";var measurement=isHoriz?"height":"width";var secondaryMeasurement=!isHoriz?"height":"width";popperOffsets[mainSide]=referenceOffsets[mainSide]+referenceOffsets[measurement]/2-popperRect[measurement]/2;if(placement===secondarySide){popperOffsets[secondarySide]=referenceOffsets[secondarySide]-popperRect[secondaryMeasurement]}else{popperOffsets[secondarySide]=referenceOffsets[getOppositePlacement(secondarySide)]}return popperOffsets}function find(arr,check){if(Array.prototype.find){return arr.find(check)}return arr.filter(check)[0]}function findIndex(arr,prop,value){if(Array.prototype.findIndex){return arr.findIndex(function(cur){return cur[prop]===value})}var match=find(arr,function(obj){return obj[prop]===value});return arr.indexOf(match)}function runModifiers(modifiers,data,ends){var modifiersToRun=ends===undefined?modifiers:modifiers.slice(0,findIndex(modifiers,"name",ends));modifiersToRun.forEach(function(modifier){if(modifier["function"]){console.warn("`modifier.function` is deprecated, use `modifier.fn`!")}var fn=modifier["function"]||modifier.fn;if(modifier.enabled&&isFunction(fn)){data.offsets.popper=getClientRect(data.offsets.popper);data.offsets.reference=getClientRect(data.offsets.reference);data=fn(data,modifier)}});return data}function update(){if(this.state.isDestroyed){return}var data={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:false,offsets:{}};data.offsets.reference=getReferenceOffsets(this.state,this.popper,this.reference,this.options.positionFixed);data.placement=computeAutoPlacement(this.options.placement,data.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding);data.originalPlacement=data.placement;data.positionFixed=this.options.positionFixed;data.offsets.popper=getPopperOffsets(this.popper,data.offsets.reference,data.placement);data.offsets.popper.position=this.options.positionFixed?"fixed":"absolute";data=runModifiers(this.modifiers,data);if(!this.state.isCreated){this.state.isCreated=true;this.options.onCreate(data)}else{this.options.onUpdate(data)}}function isModifierEnabled(modifiers,modifierName){return modifiers.some(function(_ref){var name=_ref.name,enabled=_ref.enabled;return enabled&&name===modifierName})}function getSupportedPropertyName(property){var prefixes=[false,"ms","Webkit","Moz","O"];var upperProp=property.charAt(0).toUpperCase()+property.slice(1);for(var i=0;ipopper[opSide]){data.offsets.popper[side]+=reference[side]+arrowElementSize-popper[opSide]}data.offsets.popper=getClientRect(data.offsets.popper);var center=reference[side]+reference[len]/2-arrowElementSize/2;var css=getStyleComputedProperty(data.instance.popper);var popperMarginSide=parseFloat(css["margin"+sideCapitalized]);var popperBorderSide=parseFloat(css["border"+sideCapitalized+"Width"]);var sideValue=center-data.offsets.popper[side]-popperMarginSide-popperBorderSide;sideValue=Math.max(Math.min(popper[len]-arrowElementSize,sideValue),0);data.arrowElement=arrowElement;data.offsets.arrow=(_data$offsets$arrow={},defineProperty(_data$offsets$arrow,side,Math.round(sideValue)),defineProperty(_data$offsets$arrow,altSide,""),_data$offsets$arrow);return data}function getOppositeVariation(variation){if(variation==="end"){return"start"}else if(variation==="start"){return"end"}return variation}var placements=["auto-start","auto","auto-end","top-start","top","top-end","right-start","right","right-end","bottom-end","bottom","bottom-start","left-end","left","left-start"];var validPlacements=placements.slice(3);function clockwise(placement){var counter=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;var index=validPlacements.indexOf(placement);var arr=validPlacements.slice(index+1).concat(validPlacements.slice(0,index));return counter?arr.reverse():arr}var BEHAVIORS={FLIP:"flip",CLOCKWISE:"clockwise",COUNTERCLOCKWISE:"counterclockwise"};function flip(data,options){if(isModifierEnabled(data.instance.modifiers,"inner")){return data}if(data.flipped&&data.placement===data.originalPlacement){return data}var boundaries=getBoundaries(data.instance.popper,data.instance.reference,options.padding,options.boundariesElement,data.positionFixed);var placement=data.placement.split("-")[0];var placementOpposite=getOppositePlacement(placement);var variation=data.placement.split("-")[1]||"";var flipOrder=[];switch(options.behavior){case BEHAVIORS.FLIP:flipOrder=[placement,placementOpposite];break;case BEHAVIORS.CLOCKWISE:flipOrder=clockwise(placement);break;case BEHAVIORS.COUNTERCLOCKWISE:flipOrder=clockwise(placement,true);break;default:flipOrder=options.behavior}flipOrder.forEach(function(step,index){if(placement!==step||flipOrder.length===index+1){return data}placement=data.placement.split("-")[0];placementOpposite=getOppositePlacement(placement);var popperOffsets=data.offsets.popper;var refOffsets=data.offsets.reference;var floor=Math.floor;var overlapsRef=placement==="left"&&floor(popperOffsets.right)>floor(refOffsets.left)||placement==="right"&&floor(popperOffsets.left)floor(refOffsets.top)||placement==="bottom"&&floor(popperOffsets.top)floor(boundaries.right);var overflowsTop=floor(popperOffsets.top)floor(boundaries.bottom);var overflowsBoundaries=placement==="left"&&overflowsLeft||placement==="right"&&overflowsRight||placement==="top"&&overflowsTop||placement==="bottom"&&overflowsBottom;var isVertical=["top","bottom"].indexOf(placement)!==-1;var flippedVariationByRef=!!options.flipVariations&&(isVertical&&variation==="start"&&overflowsLeft||isVertical&&variation==="end"&&overflowsRight||!isVertical&&variation==="start"&&overflowsTop||!isVertical&&variation==="end"&&overflowsBottom);var flippedVariationByContent=!!options.flipVariationsByContent&&(isVertical&&variation==="start"&&overflowsRight||isVertical&&variation==="end"&&overflowsLeft||!isVertical&&variation==="start"&&overflowsBottom||!isVertical&&variation==="end"&&overflowsTop);var flippedVariation=flippedVariationByRef||flippedVariationByContent;if(overlapsRef||overflowsBoundaries||flippedVariation){data.flipped=true;if(overlapsRef||overflowsBoundaries){placement=flipOrder[index+1]}if(flippedVariation){variation=getOppositeVariation(variation)}data.placement=placement+(variation?"-"+variation:"");data.offsets.popper=_extends$1({},data.offsets.popper,getPopperOffsets(data.instance.popper,data.offsets.reference,data.placement));data=runModifiers(data.instance.modifiers,data,"flip")}});return data}function keepTogether(data){var _data$offsets=data.offsets,popper=_data$offsets.popper,reference=_data$offsets.reference;var placement=data.placement.split("-")[0];var floor=Math.floor;var isVertical=["top","bottom"].indexOf(placement)!==-1;var side=isVertical?"right":"bottom";var opSide=isVertical?"left":"top";var measurement=isVertical?"width":"height";if(popper[side]floor(reference[side])){data.offsets.popper[opSide]=floor(reference[side])}return data}function toValue(str,measurement,popperOffsets,referenceOffsets){var split=str.match(/((?:\-|\+)?\d*\.?\d*)(.*)/);var value=+split[1];var unit=split[2];if(!value){return str}if(unit.indexOf("%")===0){var element=void 0;switch(unit){case"%p":element=popperOffsets;break;case"%":case"%r":default:element=referenceOffsets}var rect=getClientRect(element);return rect[measurement]/100*value}else if(unit==="vh"||unit==="vw"){var size=void 0;if(unit==="vh"){size=Math.max(document.documentElement.clientHeight,window.innerHeight||0)}else{size=Math.max(document.documentElement.clientWidth,window.innerWidth||0)}return size/100*value}else{return value}}function parseOffset(offset,popperOffsets,referenceOffsets,basePlacement){var offsets=[0,0];var useHeight=["right","left"].indexOf(basePlacement)!==-1;var fragments=offset.split(/(\+|\-)/).map(function(frag){return frag.trim()});var divider=fragments.indexOf(find(fragments,function(frag){return frag.search(/,|\s/)!==-1}));if(fragments[divider]&&fragments[divider].indexOf(",")===-1){console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.")}var splitRegex=/\s*,\s*|\s+/;var ops=divider!==-1?[fragments.slice(0,divider).concat([fragments[divider].split(splitRegex)[0]]),[fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider+1))]:[fragments];ops=ops.map(function(op,index){var measurement=(index===1?!useHeight:useHeight)?"height":"width";var mergeWithPrevious=false;return op.reduce(function(a,b){if(a[a.length-1]===""&&["+","-"].indexOf(b)!==-1){a[a.length-1]=b;mergeWithPrevious=true;return a}else if(mergeWithPrevious){a[a.length-1]+=b;mergeWithPrevious=false;return a}else{return a.concat(b)}},[]).map(function(str){return toValue(str,measurement,popperOffsets,referenceOffsets)})});ops.forEach(function(op,index){op.forEach(function(frag,index2){if(isNumeric(frag)){offsets[index]+=frag*(op[index2-1]==="-"?-1:1)}})});return offsets}function offset(data,_ref){var offset=_ref.offset;var placement=data.placement,_data$offsets=data.offsets,popper=_data$offsets.popper,reference=_data$offsets.reference;var basePlacement=placement.split("-")[0];var offsets=void 0;if(isNumeric(+offset)){offsets=[+offset,0]}else{offsets=parseOffset(offset,popper,reference,basePlacement)}if(basePlacement==="left"){popper.top+=offsets[0];popper.left-=offsets[1]}else if(basePlacement==="right"){popper.top+=offsets[0];popper.left+=offsets[1]}else if(basePlacement==="top"){popper.left+=offsets[0];popper.top-=offsets[1]}else if(basePlacement==="bottom"){popper.left+=offsets[0];popper.top+=offsets[1]}data.popper=popper;return data}function preventOverflow(data,options){var boundariesElement=options.boundariesElement||getOffsetParent(data.instance.popper);if(data.instance.reference===boundariesElement){boundariesElement=getOffsetParent(boundariesElement)}var transformProp=getSupportedPropertyName("transform");var popperStyles=data.instance.popper.style;var top=popperStyles.top,left=popperStyles.left,transform=popperStyles[transformProp];popperStyles.top="";popperStyles.left="";popperStyles[transformProp]="";var boundaries=getBoundaries(data.instance.popper,data.instance.reference,options.padding,boundariesElement,data.positionFixed);popperStyles.top=top;popperStyles.left=left;popperStyles[transformProp]=transform;options.boundaries=boundaries;var order=options.priority;var popper=data.offsets.popper;var check={primary:function primary(placement){var value=popper[placement];if(popper[placement]boundaries[placement]&&!options.escapeWithReference){value=Math.min(popper[mainSide],boundaries[placement]-(placement==="right"?popper.width:popper.height))}return defineProperty({},mainSide,value)}};order.forEach(function(placement){var side=["left","top"].indexOf(placement)!==-1?"primary":"secondary";popper=_extends$1({},popper,check[side](placement))});data.offsets.popper=popper;return data}function shift(data){var placement=data.placement;var basePlacement=placement.split("-")[0];var shiftvariation=placement.split("-")[1];if(shiftvariation){var _data$offsets=data.offsets,reference=_data$offsets.reference,popper=_data$offsets.popper;var isVertical=["bottom","top"].indexOf(basePlacement)!==-1;var side=isVertical?"left":"top";var measurement=isVertical?"width":"height";var shiftOffsets={start:defineProperty({},side,reference[side]),end:defineProperty({},side,reference[side]+reference[measurement]-popper[measurement])};data.offsets.popper=_extends$1({},popper,shiftOffsets[shiftvariation])}return data}function hide(data){if(!isModifierRequired(data.instance.modifiers,"hide","preventOverflow")){return data}var refRect=data.offsets.reference;var bound=find(data.instance.modifiers,function(modifier){return modifier.name==="preventOverflow"}).boundaries;if(refRect.bottombound.right||refRect.top>bound.bottom||refRect.right2&&arguments[2]!==undefined?arguments[2]:{};classCallCheck(this,Popper);this.scheduleUpdate=function(){return requestAnimationFrame(_this.update)};this.update=debounce(this.update.bind(this));this.options=_extends$1({},Popper.Defaults,options);this.state={isDestroyed:false,isCreated:false,scrollParents:[]};this.reference=reference&&reference.jquery?reference[0]:reference;this.popper=popper&&popper.jquery?popper[0]:popper;this.options.modifiers={};Object.keys(_extends$1({},Popper.Defaults.modifiers,options.modifiers)).forEach(function(name){_this.options.modifiers[name]=_extends$1({},Popper.Defaults.modifiers[name]||{},options.modifiers?options.modifiers[name]:{})});this.modifiers=Object.keys(this.options.modifiers).map(function(name){return _extends$1({name:name},_this.options.modifiers[name])}).sort(function(a,b){return a.order-b.order});this.modifiers.forEach(function(modifierOptions){if(modifierOptions.enabled&&isFunction(modifierOptions.onLoad)){modifierOptions.onLoad(_this.reference,_this.popper,_this.options,modifierOptions,_this.state)}});this.update();var eventsEnabled=this.options.eventsEnabled;if(eventsEnabled){this.enableEventListeners()}this.state.eventsEnabled=eventsEnabled}createClass(Popper,[{key:"update",value:function update$$1(){return update.call(this)}},{key:"destroy",value:function destroy$$1(){return destroy.call(this)}},{key:"enableEventListeners",value:function enableEventListeners$$1(){return enableEventListeners.call(this)}},{key:"disableEventListeners",value:function disableEventListeners$$1(){return disableEventListeners.call(this)}}]);return Popper}();Popper.Utils=(typeof window!=="undefined"?window:global).PopperUtils;Popper.placements=placements;Popper.Defaults=Defaults;var NAME$4="dropdown";var VERSION$4="4.6.0";var DATA_KEY$4="bs.dropdown";var EVENT_KEY$4="."+DATA_KEY$4;var DATA_API_KEY$4=".data-api";var JQUERY_NO_CONFLICT$4=$__default["default"].fn[NAME$4];var ESCAPE_KEYCODE=27;var SPACE_KEYCODE=32;var TAB_KEYCODE=9;var ARROW_UP_KEYCODE=38;var ARROW_DOWN_KEYCODE=40;var RIGHT_MOUSE_BUTTON_WHICH=3;var REGEXP_KEYDOWN=new RegExp(ARROW_UP_KEYCODE+"|"+ARROW_DOWN_KEYCODE+"|"+ESCAPE_KEYCODE);var EVENT_HIDE$1="hide"+EVENT_KEY$4;var EVENT_HIDDEN$1="hidden"+EVENT_KEY$4;var EVENT_SHOW$1="show"+EVENT_KEY$4;var EVENT_SHOWN$1="shown"+EVENT_KEY$4;var EVENT_CLICK="click"+EVENT_KEY$4;var EVENT_CLICK_DATA_API$4="click"+EVENT_KEY$4+DATA_API_KEY$4;var EVENT_KEYDOWN_DATA_API="keydown"+EVENT_KEY$4+DATA_API_KEY$4;var EVENT_KEYUP_DATA_API="keyup"+EVENT_KEY$4+DATA_API_KEY$4;var CLASS_NAME_DISABLED="disabled";var CLASS_NAME_SHOW$2="show";var CLASS_NAME_DROPUP="dropup";var CLASS_NAME_DROPRIGHT="dropright";var CLASS_NAME_DROPLEFT="dropleft";var CLASS_NAME_MENURIGHT="dropdown-menu-right";var CLASS_NAME_POSITION_STATIC="position-static";var SELECTOR_DATA_TOGGLE$2='[data-toggle="dropdown"]';var SELECTOR_FORM_CHILD=".dropdown form";var SELECTOR_MENU=".dropdown-menu";var SELECTOR_NAVBAR_NAV=".navbar-nav";var SELECTOR_VISIBLE_ITEMS=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)";var PLACEMENT_TOP="top-start";var PLACEMENT_TOPEND="top-end";var PLACEMENT_BOTTOM="bottom-start";var PLACEMENT_BOTTOMEND="bottom-end";var PLACEMENT_RIGHT="right-start";var PLACEMENT_LEFT="left-start";var Default$2={offset:0,flip:true,boundary:"scrollParent",reference:"toggle",display:"dynamic",popperConfig:null};var DefaultType$2={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)",reference:"(string|element)",display:"string",popperConfig:"(null|object)"};var Dropdown=function(){function Dropdown(element,config){this._element=element;this._popper=null;this._config=this._getConfig(config);this._menu=this._getMenuElement();this._inNavbar=this._detectNavbar();this._addEventListeners()}var _proto=Dropdown.prototype;_proto.toggle=function toggle(){if(this._element.disabled||$__default["default"](this._element).hasClass(CLASS_NAME_DISABLED)){return}var isActive=$__default["default"](this._menu).hasClass(CLASS_NAME_SHOW$2);Dropdown._clearMenus();if(isActive){return}this.show(true)};_proto.show=function show(usePopper){if(usePopper===void 0){usePopper=false}if(this._element.disabled||$__default["default"](this._element).hasClass(CLASS_NAME_DISABLED)||$__default["default"](this._menu).hasClass(CLASS_NAME_SHOW$2)){return}var relatedTarget={relatedTarget:this._element};var showEvent=$__default["default"].Event(EVENT_SHOW$1,relatedTarget);var parent=Dropdown._getParentFromElement(this._element);$__default["default"](parent).trigger(showEvent);if(showEvent.isDefaultPrevented()){return}if(!this._inNavbar&&usePopper){if(typeof Popper==="undefined"){throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)")}var referenceElement=this._element;if(this._config.reference==="parent"){referenceElement=parent}else if(Util.isElement(this._config.reference)){referenceElement=this._config.reference;if(typeof this._config.reference.jquery!=="undefined"){referenceElement=this._config.reference[0]}}if(this._config.boundary!=="scrollParent"){$__default["default"](parent).addClass(CLASS_NAME_POSITION_STATIC)}this._popper=new Popper(referenceElement,this._menu,this._getPopperConfig())}if("ontouchstart"in document.documentElement&&$__default["default"](parent).closest(SELECTOR_NAVBAR_NAV).length===0){$__default["default"](document.body).children().on("mouseover",null,$__default["default"].noop)}this._element.focus();this._element.setAttribute("aria-expanded",true);$__default["default"](this._menu).toggleClass(CLASS_NAME_SHOW$2);$__default["default"](parent).toggleClass(CLASS_NAME_SHOW$2).trigger($__default["default"].Event(EVENT_SHOWN$1,relatedTarget))};_proto.hide=function hide(){if(this._element.disabled||$__default["default"](this._element).hasClass(CLASS_NAME_DISABLED)||!$__default["default"](this._menu).hasClass(CLASS_NAME_SHOW$2)){return}var relatedTarget={relatedTarget:this._element};var hideEvent=$__default["default"].Event(EVENT_HIDE$1,relatedTarget);var parent=Dropdown._getParentFromElement(this._element);$__default["default"](parent).trigger(hideEvent);if(hideEvent.isDefaultPrevented()){return}if(this._popper){this._popper.destroy()}$__default["default"](this._menu).toggleClass(CLASS_NAME_SHOW$2);$__default["default"](parent).toggleClass(CLASS_NAME_SHOW$2).trigger($__default["default"].Event(EVENT_HIDDEN$1,relatedTarget))};_proto.dispose=function dispose(){$__default["default"].removeData(this._element,DATA_KEY$4);$__default["default"](this._element).off(EVENT_KEY$4);this._element=null;this._menu=null;if(this._popper!==null){this._popper.destroy();this._popper=null}};_proto.update=function update(){this._inNavbar=this._detectNavbar();if(this._popper!==null){this._popper.scheduleUpdate()}};_proto._addEventListeners=function _addEventListeners(){var _this=this;$__default["default"](this._element).on(EVENT_CLICK,function(event){event.preventDefault();event.stopPropagation();_this.toggle()})};_proto._getConfig=function _getConfig(config){config=_extends({},this.constructor.Default,$__default["default"](this._element).data(),config);Util.typeCheckConfig(NAME$4,config,this.constructor.DefaultType);return config};_proto._getMenuElement=function _getMenuElement(){if(!this._menu){var parent=Dropdown._getParentFromElement(this._element);if(parent){this._menu=parent.querySelector(SELECTOR_MENU)}}return this._menu};_proto._getPlacement=function _getPlacement(){var $parentDropdown=$__default["default"](this._element.parentNode);var placement=PLACEMENT_BOTTOM;if($parentDropdown.hasClass(CLASS_NAME_DROPUP)){placement=$__default["default"](this._menu).hasClass(CLASS_NAME_MENURIGHT)?PLACEMENT_TOPEND:PLACEMENT_TOP}else if($parentDropdown.hasClass(CLASS_NAME_DROPRIGHT)){placement=PLACEMENT_RIGHT}else if($parentDropdown.hasClass(CLASS_NAME_DROPLEFT)){placement=PLACEMENT_LEFT}else if($__default["default"](this._menu).hasClass(CLASS_NAME_MENURIGHT)){placement=PLACEMENT_BOTTOMEND}return placement};_proto._detectNavbar=function _detectNavbar(){return $__default["default"](this._element).closest(".navbar").length>0};_proto._getOffset=function _getOffset(){var _this2=this;var offset={};if(typeof this._config.offset==="function"){offset.fn=function(data){data.offsets=_extends({},data.offsets,_this2._config.offset(data.offsets,_this2._element)||{});return data}}else{offset.offset=this._config.offset}return offset};_proto._getPopperConfig=function _getPopperConfig(){var popperConfig={placement:this._getPlacement(),modifiers:{offset:this._getOffset(),flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};if(this._config.display==="static"){popperConfig.modifiers.applyStyle={enabled:false}}return _extends({},popperConfig,this._config.popperConfig)};Dropdown._jQueryInterface=function _jQueryInterface(config){return this.each(function(){var data=$__default["default"](this).data(DATA_KEY$4);var _config=typeof config==="object"?config:null;if(!data){data=new Dropdown(this,_config);$__default["default"](this).data(DATA_KEY$4,data)}if(typeof config==="string"){if(typeof data[config]==="undefined"){throw new TypeError('No method named "'+config+'"')}data[config]()}})};Dropdown._clearMenus=function _clearMenus(event){if(event&&(event.which===RIGHT_MOUSE_BUTTON_WHICH||event.type==="keyup"&&event.which!==TAB_KEYCODE)){return}var toggles=[].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE$2));for(var i=0,len=toggles.length;i0){index--}if(event.which===ARROW_DOWN_KEYCODE&&indexdocument.documentElement.clientHeight;if(!isModalOverflowing){this._element.style.overflowY="hidden"}this._element.classList.add(CLASS_NAME_STATIC);var modalTransitionDuration=Util.getTransitionDurationFromElement(this._dialog);$__default["default"](this._element).off(Util.TRANSITION_END);$__default["default"](this._element).one(Util.TRANSITION_END,function(){_this3._element.classList.remove(CLASS_NAME_STATIC);if(!isModalOverflowing){$__default["default"](_this3._element).one(Util.TRANSITION_END,function(){_this3._element.style.overflowY=""}).emulateTransitionEnd(_this3._element,modalTransitionDuration)}}).emulateTransitionEnd(modalTransitionDuration);this._element.focus()};_proto._showElement=function _showElement(relatedTarget){var _this4=this;var transition=$__default["default"](this._element).hasClass(CLASS_NAME_FADE$1);var modalBody=this._dialog?this._dialog.querySelector(SELECTOR_MODAL_BODY):null;if(!this._element.parentNode||this._element.parentNode.nodeType!==Node.ELEMENT_NODE){document.body.appendChild(this._element)}this._element.style.display="block";this._element.removeAttribute("aria-hidden");this._element.setAttribute("aria-modal",true);this._element.setAttribute("role","dialog");if($__default["default"](this._dialog).hasClass(CLASS_NAME_SCROLLABLE)&&modalBody){modalBody.scrollTop=0}else{this._element.scrollTop=0}if(transition){Util.reflow(this._element)}$__default["default"](this._element).addClass(CLASS_NAME_SHOW$3);if(this._config.focus){this._enforceFocus()}var shownEvent=$__default["default"].Event(EVENT_SHOWN$2,{relatedTarget:relatedTarget});var transitionComplete=function transitionComplete(){if(_this4._config.focus){_this4._element.focus()}_this4._isTransitioning=false;$__default["default"](_this4._element).trigger(shownEvent)};if(transition){var transitionDuration=Util.getTransitionDurationFromElement(this._dialog);$__default["default"](this._dialog).one(Util.TRANSITION_END,transitionComplete).emulateTransitionEnd(transitionDuration)}else{transitionComplete()}};_proto._enforceFocus=function _enforceFocus(){var _this5=this;$__default["default"](document).off(EVENT_FOCUSIN).on(EVENT_FOCUSIN,function(event){if(document!==event.target&&_this5._element!==event.target&&$__default["default"](_this5._element).has(event.target).length===0){_this5._element.focus()}})};_proto._setEscapeEvent=function _setEscapeEvent(){var _this6=this;if(this._isShown){$__default["default"](this._element).on(EVENT_KEYDOWN_DISMISS,function(event){if(_this6._config.keyboard&&event.which===ESCAPE_KEYCODE$1){event.preventDefault();_this6.hide()}else if(!_this6._config.keyboard&&event.which===ESCAPE_KEYCODE$1){_this6._triggerBackdropTransition()}})}else if(!this._isShown){$__default["default"](this._element).off(EVENT_KEYDOWN_DISMISS)}};_proto._setResizeEvent=function _setResizeEvent(){var _this7=this;if(this._isShown){$__default["default"](window).on(EVENT_RESIZE,function(event){return _this7.handleUpdate(event)})}else{$__default["default"](window).off(EVENT_RESIZE)}};_proto._hideModal=function _hideModal(){var _this8=this;this._element.style.display="none";this._element.setAttribute("aria-hidden",true);this._element.removeAttribute("aria-modal");this._element.removeAttribute("role");this._isTransitioning=false;this._showBackdrop(function(){$__default["default"](document.body).removeClass(CLASS_NAME_OPEN);_this8._resetAdjustments();_this8._resetScrollbar();$__default["default"](_this8._element).trigger(EVENT_HIDDEN$2)})};_proto._removeBackdrop=function _removeBackdrop(){if(this._backdrop){$__default["default"](this._backdrop).remove();this._backdrop=null}};_proto._showBackdrop=function _showBackdrop(callback){var _this9=this;var animate=$__default["default"](this._element).hasClass(CLASS_NAME_FADE$1)?CLASS_NAME_FADE$1:"";if(this._isShown&&this._config.backdrop){this._backdrop=document.createElement("div");this._backdrop.className=CLASS_NAME_BACKDROP;if(animate){this._backdrop.classList.add(animate)}$__default["default"](this._backdrop).appendTo(document.body);$__default["default"](this._element).on(EVENT_CLICK_DISMISS,function(event){if(_this9._ignoreBackdropClick){_this9._ignoreBackdropClick=false;return}if(event.target!==event.currentTarget){return}if(_this9._config.backdrop==="static"){_this9._triggerBackdropTransition()}else{_this9.hide()}});if(animate){Util.reflow(this._backdrop)}$__default["default"](this._backdrop).addClass(CLASS_NAME_SHOW$3);if(!callback){return}if(!animate){callback();return}var backdropTransitionDuration=Util.getTransitionDurationFromElement(this._backdrop);$__default["default"](this._backdrop).one(Util.TRANSITION_END,callback).emulateTransitionEnd(backdropTransitionDuration)}else if(!this._isShown&&this._backdrop){$__default["default"](this._backdrop).removeClass(CLASS_NAME_SHOW$3);var callbackRemove=function callbackRemove(){_this9._removeBackdrop();if(callback){callback()}};if($__default["default"](this._element).hasClass(CLASS_NAME_FADE$1)){var _backdropTransitionDuration=Util.getTransitionDurationFromElement(this._backdrop);$__default["default"](this._backdrop).one(Util.TRANSITION_END,callbackRemove).emulateTransitionEnd(_backdropTransitionDuration)}else{callbackRemove()}}else if(callback){callback()}};_proto._adjustDialog=function _adjustDialog(){var isModalOverflowing=this._element.scrollHeight>document.documentElement.clientHeight;if(!this._isBodyOverflowing&&isModalOverflowing){this._element.style.paddingLeft=this._scrollbarWidth+"px"}if(this._isBodyOverflowing&&!isModalOverflowing){this._element.style.paddingRight=this._scrollbarWidth+"px"}};_proto._resetAdjustments=function _resetAdjustments(){this._element.style.paddingLeft="";this._element.style.paddingRight=""};_proto._checkScrollbar=function _checkScrollbar(){var rect=document.body.getBoundingClientRect();this._isBodyOverflowing=Math.round(rect.left+rect.right)'+'
    '+'
    ',trigger:"hover focus",title:"",delay:0,html:false,selector:false,placement:"top",offset:0,container:false,fallbackPlacement:"flip",boundary:"scrollParent",customClass:"",sanitize:true,sanitizeFn:null,whiteList:DefaultWhitelist,popperConfig:null};var HOVER_STATE_SHOW="show";var HOVER_STATE_OUT="out";var Event={HIDE:"hide"+EVENT_KEY$6,HIDDEN:"hidden"+EVENT_KEY$6,SHOW:"show"+EVENT_KEY$6,SHOWN:"shown"+EVENT_KEY$6,INSERTED:"inserted"+EVENT_KEY$6,CLICK:"click"+EVENT_KEY$6,FOCUSIN:"focusin"+EVENT_KEY$6,FOCUSOUT:"focusout"+EVENT_KEY$6,MOUSEENTER:"mouseenter"+EVENT_KEY$6,MOUSELEAVE:"mouseleave"+EVENT_KEY$6};var CLASS_NAME_FADE$2="fade";var CLASS_NAME_SHOW$4="show";var SELECTOR_TOOLTIP_INNER=".tooltip-inner";var SELECTOR_ARROW=".arrow";var TRIGGER_HOVER="hover";var TRIGGER_FOCUS="focus";var TRIGGER_CLICK="click";var TRIGGER_MANUAL="manual";var Tooltip=function(){function Tooltip(element,config){if(typeof Popper==="undefined"){throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)")}this._isEnabled=true;this._timeout=0;this._hoverState="";this._activeTrigger={};this._popper=null;this.element=element;this.config=this._getConfig(config);this.tip=null;this._setListeners()}var _proto=Tooltip.prototype;_proto.enable=function enable(){this._isEnabled=true};_proto.disable=function disable(){this._isEnabled=false};_proto.toggleEnabled=function toggleEnabled(){this._isEnabled=!this._isEnabled};_proto.toggle=function toggle(event){if(!this._isEnabled){return}if(event){var dataKey=this.constructor.DATA_KEY;var context=$__default["default"](event.currentTarget).data(dataKey);if(!context){context=new this.constructor(event.currentTarget,this._getDelegateConfig());$__default["default"](event.currentTarget).data(dataKey,context)}context._activeTrigger.click=!context._activeTrigger.click;if(context._isWithActiveTrigger()){context._enter(null,context)}else{context._leave(null,context)}}else{if($__default["default"](this.getTipElement()).hasClass(CLASS_NAME_SHOW$4)){this._leave(null,this);return}this._enter(null,this)}};_proto.dispose=function dispose(){clearTimeout(this._timeout);$__default["default"].removeData(this.element,this.constructor.DATA_KEY);$__default["default"](this.element).off(this.constructor.EVENT_KEY);$__default["default"](this.element).closest(".modal").off("hide.bs.modal",this._hideModalHandler);if(this.tip){$__default["default"](this.tip).remove()}this._isEnabled=null;this._timeout=null;this._hoverState=null;this._activeTrigger=null;if(this._popper){this._popper.destroy()}this._popper=null;this.element=null;this.config=null;this.tip=null};_proto.show=function show(){var _this=this;if($__default["default"](this.element).css("display")==="none"){throw new Error("Please use show on visible elements")}var showEvent=$__default["default"].Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){$__default["default"](this.element).trigger(showEvent);var shadowRoot=Util.findShadowRoot(this.element);var isInTheDom=$__default["default"].contains(shadowRoot!==null?shadowRoot:this.element.ownerDocument.documentElement,this.element);if(showEvent.isDefaultPrevented()||!isInTheDom){return}var tip=this.getTipElement();var tipId=Util.getUID(this.constructor.NAME);tip.setAttribute("id",tipId);this.element.setAttribute("aria-describedby",tipId);this.setContent();if(this.config.animation){$__default["default"](tip).addClass(CLASS_NAME_FADE$2)}var placement=typeof this.config.placement==="function"?this.config.placement.call(this,tip,this.element):this.config.placement;var attachment=this._getAttachment(placement);this.addAttachmentClass(attachment);var container=this._getContainer();$__default["default"](tip).data(this.constructor.DATA_KEY,this);if(!$__default["default"].contains(this.element.ownerDocument.documentElement,this.tip)){$__default["default"](tip).appendTo(container)}$__default["default"](this.element).trigger(this.constructor.Event.INSERTED);this._popper=new Popper(this.element,tip,this._getPopperConfig(attachment));$__default["default"](tip).addClass(CLASS_NAME_SHOW$4);$__default["default"](tip).addClass(this.config.customClass);if("ontouchstart"in document.documentElement){$__default["default"](document.body).children().on("mouseover",null,$__default["default"].noop)}var complete=function complete(){if(_this.config.animation){_this._fixTransition()}var prevHoverState=_this._hoverState;_this._hoverState=null;$__default["default"](_this.element).trigger(_this.constructor.Event.SHOWN);if(prevHoverState===HOVER_STATE_OUT){_this._leave(null,_this)}};if($__default["default"](this.tip).hasClass(CLASS_NAME_FADE$2)){var transitionDuration=Util.getTransitionDurationFromElement(this.tip);$__default["default"](this.tip).one(Util.TRANSITION_END,complete).emulateTransitionEnd(transitionDuration)}else{complete()}}};_proto.hide=function hide(callback){var _this2=this;var tip=this.getTipElement();var hideEvent=$__default["default"].Event(this.constructor.Event.HIDE);var complete=function complete(){if(_this2._hoverState!==HOVER_STATE_SHOW&&tip.parentNode){tip.parentNode.removeChild(tip)}_this2._cleanTipClass();_this2.element.removeAttribute("aria-describedby");$__default["default"](_this2.element).trigger(_this2.constructor.Event.HIDDEN);if(_this2._popper!==null){_this2._popper.destroy()}if(callback){callback()}};$__default["default"](this.element).trigger(hideEvent);if(hideEvent.isDefaultPrevented()){return}$__default["default"](tip).removeClass(CLASS_NAME_SHOW$4);if("ontouchstart"in document.documentElement){$__default["default"](document.body).children().off("mouseover",null,$__default["default"].noop)}this._activeTrigger[TRIGGER_CLICK]=false;this._activeTrigger[TRIGGER_FOCUS]=false;this._activeTrigger[TRIGGER_HOVER]=false;if($__default["default"](this.tip).hasClass(CLASS_NAME_FADE$2)){var transitionDuration=Util.getTransitionDurationFromElement(tip);$__default["default"](tip).one(Util.TRANSITION_END,complete).emulateTransitionEnd(transitionDuration)}else{complete()}this._hoverState=""};_proto.update=function update(){if(this._popper!==null){this._popper.scheduleUpdate()}};_proto.isWithContent=function isWithContent(){return Boolean(this.getTitle())};_proto.addAttachmentClass=function addAttachmentClass(attachment){$__default["default"](this.getTipElement()).addClass(CLASS_PREFIX+"-"+attachment)};_proto.getTipElement=function getTipElement(){this.tip=this.tip||$__default["default"](this.config.template)[0];return this.tip};_proto.setContent=function setContent(){var tip=this.getTipElement();this.setElementContent($__default["default"](tip.querySelectorAll(SELECTOR_TOOLTIP_INNER)),this.getTitle());$__default["default"](tip).removeClass(CLASS_NAME_FADE$2+" "+CLASS_NAME_SHOW$4)};_proto.setElementContent=function setElementContent($element,content){if(typeof content==="object"&&(content.nodeType||content.jquery)){if(this.config.html){if(!$__default["default"](content).parent().is($element)){$element.empty().append(content)}}else{$element.text($__default["default"](content).text())}return}if(this.config.html){if(this.config.sanitize){content=sanitizeHtml(content,this.config.whiteList,this.config.sanitizeFn)}$element.html(content)}else{$element.text(content)}};_proto.getTitle=function getTitle(){var title=this.element.getAttribute("data-original-title");if(!title){title=typeof this.config.title==="function"?this.config.title.call(this.element):this.config.title}return title};_proto._getPopperConfig=function _getPopperConfig(attachment){var _this3=this;var defaultBsConfig={placement:attachment,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:SELECTOR_ARROW},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function onCreate(data){if(data.originalPlacement!==data.placement){_this3._handlePopperPlacementChange(data)}},onUpdate:function onUpdate(data){return _this3._handlePopperPlacementChange(data)}};return _extends({},defaultBsConfig,this.config.popperConfig)};_proto._getOffset=function _getOffset(){var _this4=this;var offset={};if(typeof this.config.offset==="function"){offset.fn=function(data){data.offsets=_extends({},data.offsets,_this4.config.offset(data.offsets,_this4.element)||{});return data}}else{offset.offset=this.config.offset}return offset};_proto._getContainer=function _getContainer(){if(this.config.container===false){return document.body}if(Util.isElement(this.config.container)){return $__default["default"](this.config.container)}return $__default["default"](document).find(this.config.container)};_proto._getAttachment=function _getAttachment(placement){return AttachmentMap[placement.toUpperCase()]};_proto._setListeners=function _setListeners(){var _this5=this;var triggers=this.config.trigger.split(" ");triggers.forEach(function(trigger){if(trigger==="click"){$__default["default"](_this5.element).on(_this5.constructor.Event.CLICK,_this5.config.selector,function(event){return _this5.toggle(event)})}else if(trigger!==TRIGGER_MANUAL){var eventIn=trigger===TRIGGER_HOVER?_this5.constructor.Event.MOUSEENTER:_this5.constructor.Event.FOCUSIN;var eventOut=trigger===TRIGGER_HOVER?_this5.constructor.Event.MOUSELEAVE:_this5.constructor.Event.FOCUSOUT;$__default["default"](_this5.element).on(eventIn,_this5.config.selector,function(event){return _this5._enter(event)}).on(eventOut,_this5.config.selector,function(event){return _this5._leave(event)})}});this._hideModalHandler=function(){if(_this5.element){_this5.hide()}};$__default["default"](this.element).closest(".modal").on("hide.bs.modal",this._hideModalHandler);if(this.config.selector){this.config=_extends({},this.config,{trigger:"manual",selector:""})}else{this._fixTitle()}};_proto._fixTitle=function _fixTitle(){var titleType=typeof this.element.getAttribute("data-original-title");if(this.element.getAttribute("title")||titleType!=="string"){this.element.setAttribute("data-original-title",this.element.getAttribute("title")||"");this.element.setAttribute("title","")}};_proto._enter=function _enter(event,context){var dataKey=this.constructor.DATA_KEY;context=context||$__default["default"](event.currentTarget).data(dataKey);if(!context){context=new this.constructor(event.currentTarget,this._getDelegateConfig());$__default["default"](event.currentTarget).data(dataKey,context)}if(event){context._activeTrigger[event.type==="focusin"?TRIGGER_FOCUS:TRIGGER_HOVER]=true}if($__default["default"](context.getTipElement()).hasClass(CLASS_NAME_SHOW$4)||context._hoverState===HOVER_STATE_SHOW){context._hoverState=HOVER_STATE_SHOW;return}clearTimeout(context._timeout);context._hoverState=HOVER_STATE_SHOW;if(!context.config.delay||!context.config.delay.show){context.show();return}context._timeout=setTimeout(function(){if(context._hoverState===HOVER_STATE_SHOW){context.show()}},context.config.delay.show)};_proto._leave=function _leave(event,context){var dataKey=this.constructor.DATA_KEY;context=context||$__default["default"](event.currentTarget).data(dataKey);if(!context){context=new this.constructor(event.currentTarget,this._getDelegateConfig());$__default["default"](event.currentTarget).data(dataKey,context)}if(event){context._activeTrigger[event.type==="focusout"?TRIGGER_FOCUS:TRIGGER_HOVER]=false}if(context._isWithActiveTrigger()){return}clearTimeout(context._timeout);context._hoverState=HOVER_STATE_OUT;if(!context.config.delay||!context.config.delay.hide){context.hide();return}context._timeout=setTimeout(function(){if(context._hoverState===HOVER_STATE_OUT){context.hide()}},context.config.delay.hide)};_proto._isWithActiveTrigger=function _isWithActiveTrigger(){for(var trigger in this._activeTrigger){if(this._activeTrigger[trigger]){return true}}return false};_proto._getConfig=function _getConfig(config){var dataAttributes=$__default["default"](this.element).data();Object.keys(dataAttributes).forEach(function(dataAttr){if(DISALLOWED_ATTRIBUTES.indexOf(dataAttr)!==-1){delete dataAttributes[dataAttr]}});config=_extends({},this.constructor.Default,dataAttributes,typeof config==="object"&&config?config:{});if(typeof config.delay==="number"){config.delay={show:config.delay,hide:config.delay}}if(typeof config.title==="number"){config.title=config.title.toString()}if(typeof config.content==="number"){config.content=config.content.toString()}Util.typeCheckConfig(NAME$6,config,this.constructor.DefaultType);if(config.sanitize){config.template=sanitizeHtml(config.template,config.whiteList,config.sanitizeFn)}return config};_proto._getDelegateConfig=function _getDelegateConfig(){var config={};if(this.config){for(var key in this.config){if(this.constructor.Default[key]!==this.config[key]){config[key]=this.config[key]}}}return config};_proto._cleanTipClass=function _cleanTipClass(){var $tip=$__default["default"](this.getTipElement());var tabClass=$tip.attr("class").match(BSCLS_PREFIX_REGEX);if(tabClass!==null&&tabClass.length){$tip.removeClass(tabClass.join(""))}};_proto._handlePopperPlacementChange=function _handlePopperPlacementChange(popperData){this.tip=popperData.instance.popper;this._cleanTipClass();this.addAttachmentClass(this._getAttachment(popperData.placement))};_proto._fixTransition=function _fixTransition(){var tip=this.getTipElement();var initConfigAnimation=this.config.animation;if(tip.getAttribute("x-placement")!==null){return}$__default["default"](tip).removeClass(CLASS_NAME_FADE$2);this.config.animation=false;this.hide();this.show();this.config.animation=initConfigAnimation};Tooltip._jQueryInterface=function _jQueryInterface(config){return this.each(function(){var $element=$__default["default"](this);var data=$element.data(DATA_KEY$6);var _config=typeof config==="object"&&config;if(!data&&/dispose|hide/.test(config)){return}if(!data){data=new Tooltip(this,_config);$element.data(DATA_KEY$6,data)}if(typeof config==="string"){if(typeof data[config]==="undefined"){throw new TypeError('No method named "'+config+'"')}data[config]()}})};_createClass(Tooltip,null,[{key:"VERSION",get:function get(){return VERSION$6}},{key:"Default",get:function get(){return Default$4}},{key:"NAME",get:function get(){return NAME$6}},{key:"DATA_KEY",get:function get(){return DATA_KEY$6}},{key:"Event",get:function get(){return Event}},{key:"EVENT_KEY",get:function get(){return EVENT_KEY$6}},{key:"DefaultType",get:function get(){return DefaultType$4}}]);return Tooltip}();$__default["default"].fn[NAME$6]=Tooltip._jQueryInterface;$__default["default"].fn[NAME$6].Constructor=Tooltip;$__default["default"].fn[NAME$6].noConflict=function(){$__default["default"].fn[NAME$6]=JQUERY_NO_CONFLICT$6;return Tooltip._jQueryInterface};var NAME$7="popover";var VERSION$7="4.6.0";var DATA_KEY$7="bs.popover";var EVENT_KEY$7="."+DATA_KEY$7;var JQUERY_NO_CONFLICT$7=$__default["default"].fn[NAME$7];var CLASS_PREFIX$1="bs-popover";var BSCLS_PREFIX_REGEX$1=new RegExp("(^|\\s)"+CLASS_PREFIX$1+"\\S+","g");var Default$5=_extends({},Tooltip.Default,{placement:"right",trigger:"click",content:"",template:''});var DefaultType$5=_extends({},Tooltip.DefaultType,{content:"(string|element|function)"});var CLASS_NAME_FADE$3="fade";var CLASS_NAME_SHOW$5="show";var SELECTOR_TITLE=".popover-header";var SELECTOR_CONTENT=".popover-body";var Event$1={HIDE:"hide"+EVENT_KEY$7,HIDDEN:"hidden"+EVENT_KEY$7,SHOW:"show"+EVENT_KEY$7,SHOWN:"shown"+EVENT_KEY$7,INSERTED:"inserted"+EVENT_KEY$7,CLICK:"click"+EVENT_KEY$7,FOCUSIN:"focusin"+EVENT_KEY$7,FOCUSOUT:"focusout"+EVENT_KEY$7,MOUSEENTER:"mouseenter"+EVENT_KEY$7,MOUSELEAVE:"mouseleave"+EVENT_KEY$7};var Popover=function(_Tooltip){_inheritsLoose(Popover,_Tooltip);function Popover(){return _Tooltip.apply(this,arguments)||this}var _proto=Popover.prototype;_proto.isWithContent=function isWithContent(){return this.getTitle()||this._getContent()};_proto.addAttachmentClass=function addAttachmentClass(attachment){$__default["default"](this.getTipElement()).addClass(CLASS_PREFIX$1+"-"+attachment)};_proto.getTipElement=function getTipElement(){this.tip=this.tip||$__default["default"](this.config.template)[0];return this.tip};_proto.setContent=function setContent(){var $tip=$__default["default"](this.getTipElement());this.setElementContent($tip.find(SELECTOR_TITLE),this.getTitle());var content=this._getContent();if(typeof content==="function"){content=content.call(this.element)}this.setElementContent($tip.find(SELECTOR_CONTENT),content);$tip.removeClass(CLASS_NAME_FADE$3+" "+CLASS_NAME_SHOW$5)};_proto._getContent=function _getContent(){return this.element.getAttribute("data-content")||this.config.content};_proto._cleanTipClass=function _cleanTipClass(){var $tip=$__default["default"](this.getTipElement());var tabClass=$tip.attr("class").match(BSCLS_PREFIX_REGEX$1);if(tabClass!==null&&tabClass.length>0){$tip.removeClass(tabClass.join(""))}};Popover._jQueryInterface=function _jQueryInterface(config){return this.each(function(){var data=$__default["default"](this).data(DATA_KEY$7);var _config=typeof config==="object"?config:null;if(!data&&/dispose|hide/.test(config)){return}if(!data){data=new Popover(this,_config);$__default["default"](this).data(DATA_KEY$7,data)}if(typeof config==="string"){if(typeof data[config]==="undefined"){throw new TypeError('No method named "'+config+'"')}data[config]()}})};_createClass(Popover,null,[{key:"VERSION",get:function get(){return VERSION$7}},{key:"Default",get:function get(){return Default$5}},{key:"NAME",get:function get(){return NAME$7}},{key:"DATA_KEY",get:function get(){return DATA_KEY$7}},{key:"Event",get:function get(){return Event$1}},{key:"EVENT_KEY",get:function get(){return EVENT_KEY$7}},{key:"DefaultType",get:function get(){return DefaultType$5}}]);return Popover}(Tooltip);$__default["default"].fn[NAME$7]=Popover._jQueryInterface;$__default["default"].fn[NAME$7].Constructor=Popover;$__default["default"].fn[NAME$7].noConflict=function(){$__default["default"].fn[NAME$7]=JQUERY_NO_CONFLICT$7;return Popover._jQueryInterface};var NAME$8="scrollspy";var VERSION$8="4.6.0";var DATA_KEY$8="bs.scrollspy";var EVENT_KEY$8="."+DATA_KEY$8;var DATA_API_KEY$6=".data-api";var JQUERY_NO_CONFLICT$8=$__default["default"].fn[NAME$8];var Default$6={offset:10,method:"auto",target:""};var DefaultType$6={offset:"number",method:"string",target:"(string|element)"};var EVENT_ACTIVATE="activate"+EVENT_KEY$8;var EVENT_SCROLL="scroll"+EVENT_KEY$8;var EVENT_LOAD_DATA_API$2="load"+EVENT_KEY$8+DATA_API_KEY$6;var CLASS_NAME_DROPDOWN_ITEM="dropdown-item";var CLASS_NAME_ACTIVE$2="active";var SELECTOR_DATA_SPY='[data-spy="scroll"]';var SELECTOR_NAV_LIST_GROUP=".nav, .list-group";var SELECTOR_NAV_LINKS=".nav-link";var SELECTOR_NAV_ITEMS=".nav-item";var SELECTOR_LIST_ITEMS=".list-group-item";var SELECTOR_DROPDOWN=".dropdown";var SELECTOR_DROPDOWN_ITEMS=".dropdown-item";var SELECTOR_DROPDOWN_TOGGLE=".dropdown-toggle";var METHOD_OFFSET="offset";var METHOD_POSITION="position";var ScrollSpy=function(){function ScrollSpy(element,config){var _this=this;this._element=element;this._scrollElement=element.tagName==="BODY"?window:element;this._config=this._getConfig(config);this._selector=this._config.target+" "+SELECTOR_NAV_LINKS+","+(this._config.target+" "+SELECTOR_LIST_ITEMS+",")+(this._config.target+" "+SELECTOR_DROPDOWN_ITEMS);this._offsets=[];this._targets=[];this._activeTarget=null;this._scrollHeight=0;$__default["default"](this._scrollElement).on(EVENT_SCROLL,function(event){return _this._process(event)});this.refresh();this._process()}var _proto=ScrollSpy.prototype;_proto.refresh=function refresh(){var _this2=this;var autoMethod=this._scrollElement===this._scrollElement.window?METHOD_OFFSET:METHOD_POSITION;var offsetMethod=this._config.method==="auto"?autoMethod:this._config.method;var offsetBase=offsetMethod===METHOD_POSITION?this._getScrollTop():0;this._offsets=[];this._targets=[];this._scrollHeight=this._getScrollHeight();var targets=[].slice.call(document.querySelectorAll(this._selector));targets.map(function(element){var target;var targetSelector=Util.getSelectorFromElement(element);if(targetSelector){target=document.querySelector(targetSelector)}if(target){var targetBCR=target.getBoundingClientRect();if(targetBCR.width||targetBCR.height){return[$__default["default"](target)[offsetMethod]().top+offsetBase,targetSelector]}}return null}).filter(function(item){return item}).sort(function(a,b){return a[0]-b[0]}).forEach(function(item){_this2._offsets.push(item[0]);_this2._targets.push(item[1])})};_proto.dispose=function dispose(){$__default["default"].removeData(this._element,DATA_KEY$8);$__default["default"](this._scrollElement).off(EVENT_KEY$8);this._element=null;this._scrollElement=null;this._config=null;this._selector=null;this._offsets=null;this._targets=null;this._activeTarget=null;this._scrollHeight=null};_proto._getConfig=function _getConfig(config){config=_extends({},Default$6,typeof config==="object"&&config?config:{});if(typeof config.target!=="string"&&Util.isElement(config.target)){var id=$__default["default"](config.target).attr("id");if(!id){id=Util.getUID(NAME$8);$__default["default"](config.target).attr("id",id)}config.target="#"+id}Util.typeCheckConfig(NAME$8,config,DefaultType$6);return config};_proto._getScrollTop=function _getScrollTop(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop};_proto._getScrollHeight=function _getScrollHeight(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)};_proto._getOffsetHeight=function _getOffsetHeight(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height};_proto._process=function _process(){var scrollTop=this._getScrollTop()+this._config.offset;var scrollHeight=this._getScrollHeight();var maxScroll=this._config.offset+scrollHeight-this._getOffsetHeight();if(this._scrollHeight!==scrollHeight){this.refresh()}if(scrollTop>=maxScroll){var target=this._targets[this._targets.length-1];if(this._activeTarget!==target){this._activate(target)}return}if(this._activeTarget&&scrollTop0){this._activeTarget=null;this._clear();return}for(var i=this._offsets.length;i--;){var isActiveTarget=this._activeTarget!==this._targets[i]&&scrollTop>=this._offsets[i]&&(typeof this._offsets[i+1]==="undefined"||scrollTopthis._items.length-1||t<0))if(this._isSliding)P(this._element).one(B.SLID,function(){return e.to(t)});else{if(n===t)return this.pause(),void this.cycle();var i=ndocument.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},t._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},t._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=t.left+t.right
    ',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent"},Ae="out",we={HIDE:"hide"+ve,HIDDEN:"hidden"+ve,SHOW:(De="show")+ve,SHOWN:"shown"+ve,INSERTED:"inserted"+ve,CLICK:"click"+ve,FOCUSIN:"focusin"+ve,FOCUSOUT:"focusout"+ve,MOUSEENTER:"mouseenter"+ve,MOUSELEAVE:"mouseleave"+ve},Ne="fade",Oe="show",ke=".tooltip-inner",Pe=".arrow",je="hover",He="focus",Le="click",Re="manual",Fe=function(){function i(t,e){if("undefined"==typeof h)throw new TypeError("Bootstrap tooltips require Popper.js (https://popper.js.org)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var t=i.prototype;return t.enable=function(){this._isEnabled=!0},t.disable=function(){this._isEnabled=!1},t.toggleEnabled=function(){this._isEnabled=!this._isEnabled},t.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=ge(t.currentTarget).data(e);n||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),ge(t.currentTarget).data(e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(ge(this.getTipElement()).hasClass(Oe))return void this._leave(null,this);this._enter(null,this)}},t.dispose=function(){clearTimeout(this._timeout),ge.removeData(this.element,this.constructor.DATA_KEY),ge(this.element).off(this.constructor.EVENT_KEY),ge(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&ge(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,(this._activeTrigger=null)!==this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},t.show=function(){var e=this;if("none"===ge(this.element).css("display"))throw new Error("Please use show on visible elements");var t=ge.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){ge(this.element).trigger(t);var n=ge.contains(this.element.ownerDocument.documentElement,this.element);if(t.isDefaultPrevented()||!n)return;var i=this.getTipElement(),r=qn.getUID(this.constructor.NAME);i.setAttribute("id",r),this.element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&ge(i).addClass(Ne);var o="function"==typeof this.config.placement?this.config.placement.call(this,i,this.element):this.config.placement,s=this._getAttachment(o);this.addAttachmentClass(s);var a=!1===this.config.container?document.body:ge(document).find(this.config.container);ge(i).data(this.constructor.DATA_KEY,this),ge.contains(this.element.ownerDocument.documentElement,this.tip)||ge(i).appendTo(a),ge(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new h(this.element,i,{placement:s,modifiers:{offset:{offset:this.config.offset},flip:{behavior:this.config.fallbackPlacement},arrow:{element:Pe},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){e._handlePopperPlacementChange(t)}}),ge(i).addClass(Oe),"ontouchstart"in document.documentElement&&ge(document.body).children().on("mouseover",null,ge.noop);var l=function(){e.config.animation&&e._fixTransition();var t=e._hoverState;e._hoverState=null,ge(e.element).trigger(e.constructor.Event.SHOWN),t===Ae&&e._leave(null,e)};if(ge(this.tip).hasClass(Ne)){var c=qn.getTransitionDurationFromElement(this.tip);ge(this.tip).one(qn.TRANSITION_END,l).emulateTransitionEnd(c)}else l()}},t.hide=function(t){var e=this,n=this.getTipElement(),i=ge.Event(this.constructor.Event.HIDE),r=function(){e._hoverState!==De&&n.parentNode&&n.parentNode.removeChild(n),e._cleanTipClass(),e.element.removeAttribute("aria-describedby"),ge(e.element).trigger(e.constructor.Event.HIDDEN),null!==e._popper&&e._popper.destroy(),t&&t()};if(ge(this.element).trigger(i),!i.isDefaultPrevented()){if(ge(n).removeClass(Oe),"ontouchstart"in document.documentElement&&ge(document.body).children().off("mouseover",null,ge.noop),this._activeTrigger[Le]=!1,this._activeTrigger[He]=!1,this._activeTrigger[je]=!1,ge(this.tip).hasClass(Ne)){var o=qn.getTransitionDurationFromElement(n);ge(n).one(qn.TRANSITION_END,r).emulateTransitionEnd(o)}else r();this._hoverState=""}},t.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},t.isWithContent=function(){return Boolean(this.getTitle())},t.addAttachmentClass=function(t){ge(this.getTipElement()).addClass(Ee+"-"+t)},t.getTipElement=function(){return this.tip=this.tip||ge(this.config.template)[0],this.tip},t.setContent=function(){var t=this.getTipElement();this.setElementContent(ge(t.querySelectorAll(ke)),this.getTitle()),ge(t).removeClass(Ne+" "+Oe)},t.setElementContent=function(t,e){var n=this.config.html;"object"==typeof e&&(e.nodeType||e.jquery)?n?ge(e).parent().is(t)||t.empty().append(e):t.text(ge(e).text()):t[n?"html":"text"](e)},t.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},t._getAttachment=function(t){return Se[t.toUpperCase()]},t._setListeners=function(){var i=this;this.config.trigger.split(" ").forEach(function(t){if("click"===t)ge(i.element).on(i.constructor.Event.CLICK,i.config.selector,function(t){return i.toggle(t)});else if(t!==Re){var e=t===je?i.constructor.Event.MOUSEENTER:i.constructor.Event.FOCUSIN,n=t===je?i.constructor.Event.MOUSELEAVE:i.constructor.Event.FOCUSOUT;ge(i.element).on(e,i.config.selector,function(t){return i._enter(t)}).on(n,i.config.selector,function(t){return i._leave(t)})}ge(i.element).closest(".modal").on("hide.bs.modal",function(){return i.hide()})}),this.config.selector?this.config=l({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},t._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},t._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||ge(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),ge(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusin"===t.type?He:je]=!0),ge(e.getTipElement()).hasClass(Oe)||e._hoverState===De?e._hoverState=De:(clearTimeout(e._timeout),e._hoverState=De,e.config.delay&&e.config.delay.show?e._timeout=setTimeout(function(){e._hoverState===De&&e.show()},e.config.delay.show):e.show())},t._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||ge(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),ge(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusout"===t.type?He:je]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=Ae,e.config.delay&&e.config.delay.hide?e._timeout=setTimeout(function(){e._hoverState===Ae&&e.hide()},e.config.delay.hide):e.hide())},t._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},t._getConfig=function(t){return"number"==typeof(t=l({},this.constructor.Default,ge(this.element).data(),"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),qn.typeCheckConfig(me,t,this.constructor.DefaultType),t},t._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},t._cleanTipClass=function(){var t=ge(this.getTipElement()),e=t.attr("class").match(Te);null!==e&&e.length&&t.removeClass(e.join(""))},t._handlePopperPlacementChange=function(t){var e=t.instance;this.tip=e.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(Se[t.placement.toUpperCase()]))},t._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(ge(t).removeClass(Ne),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},i._jQueryInterface=function(n){return this.each(function(){var t=ge(this).data(pe),e="object"==typeof n&&n;if((t||!/dispose|hide/.test(n))&&(t||(t=new i(this,e),ge(this).data(pe,t)),"string"==typeof n)){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return Ie}},{key:"NAME",get:function(){return me}},{key:"DATA_KEY",get:function(){return pe}},{key:"Event",get:function(){return we}},{key:"EVENT_KEY",get:function(){return ve}},{key:"DefaultType",get:function(){return be}}]),i}(),ge.fn[me]=Fe._jQueryInterface,ge.fn[me].Constructor=Fe,ge.fn[me].noConflict=function(){return ge.fn[me]=ye,Fe._jQueryInterface},Fe),zn=(Ue="popover",qe="."+(We="bs.popover"),Me=(xe=e).fn[Ue],Ke="bs-popover",Be=new RegExp("(^|\\s)"+Ke+"\\S+","g"),Qe="rtl"===document.documentElement.dir,Ve=l({},Gn.Default,{placement:"rtl"===Qe?"left":"right",trigger:"click",content:"",template:''}),Ye=l({},Gn.DefaultType,{content:"(string|element|function)"}),Ge="fade",Je=".popover-header",Ze=".popover-body",$e={HIDE:"hide"+qe,HIDDEN:"hidden"+qe,SHOW:(ze="show")+qe,SHOWN:"shown"+qe,INSERTED:"inserted"+qe,CLICK:"click"+qe,FOCUSIN:"focusin"+qe,FOCUSOUT:"focusout"+qe,MOUSEENTER:"mouseenter"+qe,MOUSELEAVE:"mouseleave"+qe},Xe=function(t){var e,n;function i(){return t.apply(this,arguments)||this}n=t,(e=i).prototype=Object.create(n.prototype),(e.prototype.constructor=e).__proto__=n;var r=i.prototype;return r.isWithContent=function(){return this.getTitle()||this._getContent()},r.addAttachmentClass=function(t){xe(this.getTipElement()).addClass(Ke+"-"+t)},r.getTipElement=function(){return this.tip=this.tip||xe(this.config.template)[0],this.tip},r.setContent=function(){var t=xe(this.getTipElement());this.setElementContent(t.find(Je),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(t.find(Ze),e),t.removeClass(Ge+" "+ze)},r._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},r._cleanTipClass=function(){var t=xe(this.getTipElement()),e=t.attr("class").match(Be);null!==e&&0=this._offsets[r]&&("undefined"==typeof this._offsets[r+1]||t2
    3
    4
    5
    6
    7
    8
    9
    0";div.setAttribute('style',important('font: 100px/1em sans-serif; -webkit-text-size-adjust: none; text-size-adjust: none; height: auto; width: 1em; padding: 0; overflow: visible;'));var container=document.createElement('div');container.setAttribute('style',important('width:0; height:0; overflow:hidden; visibility:hidden; position: absolute;'));container.appendChild(div);document.body.appendChild(container);var zoom=1000/div.clientHeight;zoom=Math.round(zoom*100)/100;document.body.removeChild(container);return{zoom:zoom,devicePxPerCssPx:zoom*devicePixelRatio()};};var firefox4=function(){var zoom=mediaQueryBinarySearch('min--moz-device-pixel-ratio','',0,10,20,0.0001);zoom=Math.round(zoom*100)/100;return{zoom:zoom,devicePxPerCssPx:zoom};};var firefox18=function(){return{zoom:firefox4().zoom,devicePxPerCssPx:devicePixelRatio()};};var opera11=function(){var zoom=window.top.outerWidth/window.top.innerWidth;zoom=Math.round(zoom*100)/100;return{zoom:zoom,devicePxPerCssPx:zoom*devicePixelRatio()};};var mediaQueryBinarySearch=function(property,unit,a,b,maxIter,epsilon){var matchMedia;var head,style,div;if(window.matchMedia){matchMedia=window.matchMedia;}else{head=document.getElementsByTagName('head')[0];style=document.createElement('style');head.appendChild(style);div=document.createElement('div');div.className='mediaQueryBinarySearch';div.style.display='none';document.body.appendChild(div);matchMedia=function(query){style.sheet.insertRule('@media '+query+'{.mediaQueryBinarySearch '+'{text-decoration: underline} }',0);var matched=getComputedStyle(div,null).textDecoration=='underline';style.sheet.deleteRule(0);return{matches:matched};};} var ratio=binarySearch(a,b,maxIter);if(div){head.removeChild(style);document.body.removeChild(div);} return ratio;function binarySearch(a,b,maxIter){var mid=(a+b)/2;if(maxIter<=0||b-a=0){func=opera11;} else if(window.devicePixelRatio){func=firefox18;} else if(firefox4().zoom>0.001){func=firefox4;} return func;}());return({zoom:function(){return detectFunction().zoom;},device:function(){return detectFunction().devicePxPerCssPx;}});}));var wpcom_img_zoomer={zoomed:false,timer:null,interval:1000,imgNeedsSizeAtts:function(img){if(img.getAttribute('width')!==null||img.getAttribute('height')!==null) return false;if(img.width3){scale=Math.ceil(scale*2)/2;} return scale;},shouldZoom:function(scale){var t=this;if("innerWidth"in window&&!window.innerWidth) return false;if(scale==1.0&&t.zoomed==false) return false;return true;},zoomImages:function(){var t=this;var scale=t.getScale();if(!t.shouldZoom(scale)){return;} t.zoomed=true;var imgs=document.getElementsByTagName("img");for(var i=0;iimg.getAttribute("scale")&&targetSize<=naturalSize) targetSize=thisVal;if(naturalSizeimg.getAttribute("scale")&&targetSize<=img.naturalWidth) targetSize=$2;if($2!=targetSize) return $1+targetSize;return $0;});newSrc=newSrc.replace(/([?&]h=)(\d+)/,function($0,$1,$2){if(newSrc==img.src){return $0;} var originalAtt='originalh',originalSize=img.getAttribute(originalAtt);if(originalSize===null){originalSize=$2;img.setAttribute(originalAtt,originalSize);} var size=img.clientHeight;var targetSize=Math.ceil(size*scale);targetSize=Math.max(targetSize,originalSize);if(scale>img.getAttribute("scale")&&targetSize<=img.naturalHeight) targetSize=$2;if($2!=targetSize) return $1+targetSize;return $0;});} else if(img.src.match(/^https?:\/\/([^\/.]+\.)*(wp|wordpress)\.com\/imgpress\?(.+)/)){var imgpressSafeFunctions=["zoom","url","h","w","fit","filter","brightness","contrast","colorize","smooth","unsharpmask"];var qs=RegExp.$3.split('&');for(var q in qs){q=qs[q].split('=')[0];if(imgpressSafeFunctions.indexOf(q)==-1){return false;}} img.width=img.width;img.height=img.height;if(scale==1) newSrc=img.src.replace(/\?(zoom=[^&]+&)?/,'?');else newSrc=img.src.replace(/\?(zoom=[^&]+&)?/,'?zoom='+scale+'&');} else if(img.src.match(/^https?:\/\/([^\/.]+\.)*(wp|wordpress)\.com\/latex\.php\?(latex|zoom)=(.+)/)||img.src.match(/^https?:\/\/i[\d]{1}\.wp\.com\/(.+)/)){if(navigator.userAgent.indexOf('Firefox')>-1){return;} img.width=img.width;img.height=img.height;if(scale==1) newSrc=img.src.replace(/\?(zoom=[^&]+&)?/,'?');else newSrc=img.src.replace(/\?(zoom=[^&]+&)?/,'?zoom='+scale+'&');if(!img.srcset&&img.src.match(/resize/)){newSrc=t.updateResizeUrl(newSrc,img.width,img.height);img.setAttribute('srcset',newSrc);}} else if(img.src.match(/^https?:\/\/[^\/]+\/.*[-@]([12])x\.(gif|jpeg|jpg|png)(\?|$)/)){img.width=img.width;img.height=img.height;var currentSize=RegExp.$1,newSize=currentSize;if(scale<=1) newSize=1;else newSize=2;if(currentSize!=newSize) newSrc=img.src.replace(/([-@])[12]x\.(gif|jpeg|jpg|png)(\?|$)/,'$1'+newSize+'x.$2$3');} else{return false;} if(newSrc!=img.src){var prevSrc,origSrc=img.getAttribute("src-orig");if(!origSrc){origSrc=img.src;img.setAttribute("src-orig",origSrc);} prevSrc=img.src;img.onerror=function(){img.src=prevSrc;if(img.getAttribute("scale-fail")=o.clientWidth&&n>=o.clientHeight}),l=0a[e]&&!t.escapeWithReference&&(n=J(f[o],a[e]-("right"===e?f.width:f.height))),ae({},o,n)}};return l.forEach(function(e){var t=-1===["left","top"].indexOf(e)?"secondary":"primary";f=le({},f,m[t](e))}),e.offsets.popper=f,e},priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:function(e){var t=e.offsets,o=t.popper,n=t.reference,i=e.placement.split("-")[0],r=Z,p=-1!==["top","bottom"].indexOf(i),s=p?"right":"bottom",d=p?"left":"top",a=p?"width":"height";return o[s]r(n[s])&&(e.offsets.popper[d]=r(n[s])),e}},arrow:{order:500,enabled:!0,fn:function(e,o){var n;if(!q(e.instance.modifiers,"arrow","keepTogether"))return e;var i=o.element;if("string"==typeof i){if(i=e.instance.popper.querySelector(i),!i)return e}else if(!e.instance.popper.contains(i))return console.warn("WARNING: `arrow.element` must be child of its popper element!"),e;var r=e.placement.split("-")[0],p=e.offsets,s=p.popper,d=p.reference,a=-1!==["left","right"].indexOf(r),l=a?"height":"width",f=a?"Top":"Left",m=f.toLowerCase(),h=a?"left":"top",c=a?"bottom":"right",u=S(i)[l];d[c]-us[c]&&(e.offsets.popper[m]+=d[m]+u-s[c]),e.offsets.popper=g(e.offsets.popper);var b=d[m]+d[l]/2-u/2,y=t(e.instance.popper),w=parseFloat(y["margin"+f],10),E=parseFloat(y["border"+f+"Width"],10),v=b-e.offsets.popper[m]-w-E;return v=$(J(s[l]-u,v),0),e.arrowElement=i,e.offsets.arrow=(n={},ae(n,m,Q(v)),ae(n,h,""),n),e},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(e,t){if(W(e.instance.modifiers,"inner"))return e;if(e.flipped&&e.placement===e.originalPlacement)return e;var o=v(e.instance.popper,e.instance.reference,t.padding,t.boundariesElement,e.positionFixed),n=e.placement.split("-")[0],i=T(n),r=e.placement.split("-")[1]||"",p=[];switch(t.behavior){case he.FLIP:p=[n,i];break;case he.CLOCKWISE:p=z(n);break;case he.COUNTERCLOCKWISE:p=z(n,!0);break;default:p=t.behavior}return p.forEach(function(s,d){if(n!==s||p.length===d+1)return e;n=e.placement.split("-")[0],i=T(n);var a=e.offsets.popper,l=e.offsets.reference,f=Z,m="left"===n&&f(a.right)>f(l.left)||"right"===n&&f(a.left)f(l.top)||"bottom"===n&&f(a.top)f(o.right),g=f(a.top)f(o.bottom),b="left"===n&&h||"right"===n&&c||"top"===n&&g||"bottom"===n&&u,y=-1!==["top","bottom"].indexOf(n),w=!!t.flipVariations&&(y&&"start"===r&&h||y&&"end"===r&&c||!y&&"start"===r&&g||!y&&"end"===r&&u);(m||b||w)&&(e.flipped=!0,(m||b)&&(n=p[d+1]),w&&(r=G(r)),e.placement=n+(r?"-"+r:""),e.offsets.popper=le({},e.offsets.popper,C(e.instance.popper,e.offsets.reference,e.placement)),e=P(e.instance.modifiers,e,"flip"))}),e},behavior:"flip",padding:5,boundariesElement:"viewport"},inner:{order:700,enabled:!1,fn:function(e){var t=e.placement,o=t.split("-")[0],n=e.offsets,i=n.popper,r=n.reference,p=-1!==["left","right"].indexOf(o),s=-1===["top","left"].indexOf(o);return i[p?"left":"top"]=r[o]-(s?i[p?"width":"height"]:0),e.placement=T(t),e.offsets.popper=g(i),e}},hide:{order:800,enabled:!0,fn:function(e){if(!q(e.instance.modifiers,"hide","preventOverflow"))return e;var t=e.offsets.reference,o=D(e.instance.modifiers,function(e){return"preventOverflow"===e.name}).boundaries;if(t.bottomo.right||t.top>o.bottom||t.right=2){urlparts.shift();var queryString=urlparts.join("#");var results=new RegExp("[\\?&#]*"+key+"=([^&#]*)").exec(queryString);if(results){return results[1]||0}}return false};$.hmwp_setHashParam=function(key,val){var urlparts=location.href.split("#");if(urlparts.length>=2){var add=true;var urlBase=urlparts.shift();var queryString=urlparts.join("#");var prefix=encodeURIComponent(key)+"=";var pars=queryString.split(/[&;]/g);for(var i=pars.length;i-- >0;){if(pars[i].lastIndexOf(prefix,0)!==-1||pars[i]===""){pars[i]=pars[i].replace(pars[i],prefix+val);add=false;break}}add&&pars.push(prefix+val);location.href=urlBase+"#"+pars.join("&")}else{location.href+="#"+key+"="+val}};$.hmwp_setStripe=function(rows){var count=0;$(rows).each(function(index,row){$(row).removeClass("odd");if($(row).is(":visible")){if(count%2==1){$(row).addClass("odd")}count++}})};$.fn.hmwp_loading=function(state){var $this=this;var loading='';$this.find("i").remove();if(state){$this.prepend(loading)}else{$(".hmwp_loading").remove()}return $this};$.fn.hmwp_fixPrefix=function(value){var $form=$("#hmwp_fixprefix_form");var $this=this;$this.hmwp_loading(true);$.post(ajaxurl,{action:$form.find("input[name=action]").val(),value:value,hmwp_nonce:$form.find("input[name=hmwp_nonce]").val(),_wp_http_referer:$form.find("input[name=_wp_http_referer]").val()}).done(function(response){$this.hmwp_loading(false);if(typeof response.success!=="undefined"&&typeof response.data!=="undefined"){if(response.success){$("body").prepend('");$this.hide()}else{$("body").prepend('")}}setTimeout(function(){$(".hmwp_notice").remove()},5e3)}).error(function(){$this.hmwp_loading(false);$("body").prepend('");setTimeout(function(){$(".hmwp_notice").remove()},5e3)},"json")};$.fn.hmwp_fixPermissions=function(){var $form=$("#hmwp_fixpermissions_form");var $this=this;$this.hmwp_loading(true);$("#fixcheckFilePermissions").hide();$.post(ajaxurl,{action:$form.find("input[name=action]").val(),value:$form.find("input[name=value]:checked").val(),hmwp_nonce:$form.find("input[name=hmwp_nonce]").val(),_wp_http_referer:$form.find("input[name=_wp_http_referer]").val()}).done(function(response){$("#hmwp_fixpermissions_modal").modal("hide");$this.hmwp_loading(false);if(typeof response.success!=="undefined"&&typeof response.data!=="undefined"){if(response.success){$("body").prepend('")}else{$("body").prepend('")}}setTimeout(function(){$(".hmwp_notice").remove()},5e3)}).error(function(){$this.hmwp_loading(false);$("body").prepend('");setTimeout(function(){$(".hmwp_notice").remove()},5e3)},"json")};$.fn.hmwp_fixSalts=function(value){var $form=$("#hmwp_fixsalts_form");var $this=this;$this.hmwp_loading(true);$.post(ajaxurl,{action:$form.find("input[name=action]").val(),value:value,hmwp_nonce:$form.find("input[name=hmwp_nonce]").val(),_wp_http_referer:$form.find("input[name=_wp_http_referer]").val()}).done(function(response){$this.hmwp_loading(false);if(typeof response.success!=="undefined"&&typeof response.data!=="undefined"){if(response.success){$("body").prepend('");$this.hide()}else{$("body").prepend('")}}setTimeout(function(){$(".hmwp_notice").remove()},5e3)}).error(function(){$this.hmwp_loading(false);$("body").prepend('");setTimeout(function(){$(".hmwp_notice").remove()},5e3)},"json")};$.fn.hmwp_fixAdmin=function(){var $form=$("#hmwp_fixadmin_form");var $this=this;$this.hmwp_loading(true);$.post(ajaxurl,{action:$form.find("input[name=action]").val(),name:$form.find("input[name=hmwp_username]").val(),hmwp_nonce:$form.find("input[name=hmwp_nonce]").val(),_wp_http_referer:$form.find("input[name=_wp_http_referer]").val()}).done(function(response){$("#hmwp_fixadmin_modal").modal("hide");$this.hmwp_loading(false);if(typeof response.success!=="undefined"&&typeof response.data!=="undefined"){if(response.success){$("body").prepend('")}else{$("body").prepend('")}}setTimeout(function(){$(".hmwp_notice").remove()},5e3)}).error(function(){$this.hmwp_loading(false);$("body").prepend('");setTimeout(function(){$(".hmwp_notice").remove()},5e3)},"json")};$.fn.hmwp_fixUpgrade=function(){var $form=$("#hmwp_fixupgrade_form");var $this=this;$this.hmwp_loading(true);$.post(ajaxurl,{action:$form.find("input[name=action]").val(),name:$form.find("input[name=hmwp_username]").val(),hmwp_nonce:$form.find("input[name=hmwp_nonce]").val(),_wp_http_referer:$form.find("input[name=_wp_http_referer]").val()}).done(function(response){$("#hmwp_fixadmin_modal").modal("hide");$this.hmwp_loading(false);if(typeof response.success!=="undefined"&&typeof response.data!=="undefined"){if(response.success){$("body").prepend('")}else{$("body").prepend('")}}setTimeout(function(){$(".hmwp_notice").remove()},5e3)}).error(function(){$this.hmwp_loading(false);$("body").prepend('");setTimeout(function(){$(".hmwp_notice").remove()},5e3)},"json")};$.fn.hmwp_fixSettings=function(name,value){var $form=$("#hmwp_fixsettings_form");var $this=this;$this.hmwp_loading(true);$.post(ajaxurl,{action:$form.find("input[name=action]").val(),name:name,value:value,hmwp_nonce:$form.find("input[name=hmwp_nonce]").val(),_wp_http_referer:$form.find("input[name=_wp_http_referer]").val()}).done(function(response){$this.hmwp_loading(false);if(typeof response.success!=="undefined"&&typeof response.data!=="undefined"){if(response.success){$("body").prepend('");$this.hide()}else{$("body").prepend('")}}setTimeout(function(){$(".hmwp_notice").remove()},5e3)}).error(function(){$this.hmwp_loading(false);$("body").prepend('");setTimeout(function(){$(".hmwp_notice").remove()},5e3)},"json")};$.fn.hmwp_fixConfig=function(name,value){var $form=$("#hmwp_fixconfig_form");var $this=this;$this.hmwp_loading(true);$.post(ajaxurl,{action:$form.find("input[name=action]").val(),name:name,value:value,hmwp_nonce:$form.find("input[name=hmwp_nonce]").val(),_wp_http_referer:$form.find("input[name=_wp_http_referer]").val()}).done(function(response){$this.hmwp_loading(false);if(typeof response.success!=="undefined"&&typeof response.data!=="undefined"){if(response.success){$("body").prepend('");$this.hide()}else{$("body").prepend('")}}setTimeout(function(){$(".hmwp_notice").remove()},5e3)}).error(function(){$this.hmwp_loading(false);$("body").prepend('");setTimeout(function(){$(".hmwp_notice").remove()},5e3)},"json")};$.fn.hmwp_securityCheckListen=function(){var $this=this;$this.find("form.hmwp_securityexclude_form").on("submit",function(){var $form=$(this);$.post(ajaxurl,$form.serialize()).done(function(response){if(typeof response.success!=="undefined"&&typeof response.data!=="undefined"){if(response.success){$form.parents("tr:last").hide();$("body").prepend('")}else{$("body").prepend('")}}setTimeout(function(){$(".hmwp_notice").remove()},5e3)}).error(function(){$("body").prepend('");setTimeout(function(){$(".hmwp_notice").remove()},5e3)},"json");return false});$this.find("form#hmwp_securitycheck").on("submit",function(){var $form=$(this);var $div=$this.find(".start_securitycheck");$div.after('
    ');$div.hide();$.post(ajaxurl,$form.serialize()).done(function(response){location.reload()}).error(function(){location.reload()});return false});$this.find("form#hmwp_resetexclude").on("submit",function(){var $form=$(this);$.post(ajaxurl,$form.serialize()).done(function(response){if(typeof response.success!=="undefined"&&typeof response.data!=="undefined"){if(response.success){$("body").prepend('")}else{$("body").prepend('")}}setTimeout(function(){$(".hmwp_notice").remove();$form.find("button[type=submit]").hmwp_loading(false)},5e3)}).error(function(){$("body").prepend('");setTimeout(function(){$(".hmwp_notice").remove()},5e3)});return false});$this.find("button.frontend_test").on("click",function(){var $button=$(this);var $form=$(this).parent("form");$this.find("#hmwp_frontendcheck_content").html("");$this.find("#hmwp_solutions").hide();$this.find("#hmwp_frontendcheck_content").addClass("wp_loading_min");$.post(ajaxurl,$form.serialize()).done(function(response){if(typeof response.success!=="undefined"&&typeof response.data!=="undefined"){if(response.success){$this.find("#hmwp_frontendcheck_content").html('")}else{$this.find("#hmwp_frontendcheck_content").html('")}}$this.find("#hmwp_frontendcheck_content").removeClass("wp_loading_min")}).error(function(){$this.find("#hmwp_frontendcheck_content").html('");$this.find("#hmwp_solutions").show();$this.find("#hmwp_frontendcheck_content").removeClass("wp_loading_min")});return false});$this.find(".show_task_passed").on("click",function(){$(".task_passed").show();$(".hide_task_passed").show();$(this).hide();$.hmwp_setStripe(".table_securitycheck tr")});$this.find(".hide_task_passed").on("click",function(){$(".task_passed").hide();$(".show_task_passed").show();$(this).hide();$.hmwp_setStripe(".table_securitycheck tr")});$.hmwp_setStripe(".table_securitycheck tr")};$.fn.hmwp_settingsListen=function(){var $this=this;var unsaved=false;$this.find("#hmwp_features_search").on("keyup",function(){if(typeof $searchTimeout!=="undefined"){clearTimeout($searchTimeout)}if($(this).val()!==""){var $search=$(this).val();var $searchTimeout=setTimeout(function(){$this.find(".hmwp_feature").each(function(){if($(this).text().toLowerCase().indexOf($search.toLowerCase())!==-1){$(this).parent("div").show()}else{$(this).parent("div").hide()}});if(!$this.find(".hmwp_feature").is(":visible")){$this.find("#hmwp_feature_none").show()}else{$this.find("#hmwp_feature_none").hide()}},1e3)}else{$this.find(".hmwp_feature").each(function(){$(this).parent("div").show()})}});$this.find(".hmwp_nav_item").on("click",function(ev){ev.preventDefault();$this.find(".tab-panel").hide();if($this.find("#"+$(this).data("tab")).length>0){$this.find("#"+$(this).data("tab")).show();$.hmwp_setHashParam("tab",$(this).data("tab"))}$this.find(".hmwp_nav_item").removeClass("active");$this.find(".hmwp_nav_item[data-tab="+$(this).data("tab")+"]").addClass("active")});$("button.hmwp_modal").on("click",function(){var $button=$(this);if($button.data("remote")){$($button.data("target")+" .modal-body").attr("src",$button.data("remote"));$($button.data("target")).on("hidden.bs.modal",function(){$button.hmwp_loading(true);location.reload()})}$($button.data("target")).modal("show")});if($("input[name=hmwp_mode]").val()!=="default"){if($.hmwp_getHashParam("tab")){var $current=$.hmwp_getHashParam("tab");$this.find(".tab-panel").hide();$this.find(".hmwp_nav_item").removeClass("active");$this.find("#"+$current).show();$this.find(".hmwp_nav_item[data-tab="+$current+"]").addClass("active")}else{$this.find("a.hmwp_nav_item:first").addClass("active");$this.find("a.hmwp_nav_item:first").trigger("click")}}$this.find("input.switch").not(".nopopup").change(function(){unsaved=true;if($("div."+$(this).attr("name")).length){if($(this).prop("checked")){$("div."+$(this).attr("name")).show()}else{$("div."+$(this).attr("name")).hide()}}});$this.find("input").not(".nopopup").change(function(){unsaved=true});$this.find("button[type=submit]:not(.noload)").click(function(){$(this).hmwp_loading(true)});$this.find("input[type=submit]:not(.noload)").click(function(){$(this).hmwp_loading(true)});$this.find("input.switch").each(function(){if(!$(this).prop("checked")){if($("div."+$(this).attr("name")).length){$("div."+$(this).attr("name")).hide()}}});$this.find("input[name=hmwp_admin_url]").on("keyup",function(){if($(this).val()!=="wp-admin"&&$(this).val()!=""){$this.find(".admin_warning").show();$this.find(".hmwp_hide_newadmin_div").show()}else{$this.find(".admin_warning").hide();$this.find(".hmwp_hide_newadmin_div").hide()}});$this.find("input[name=hmwp_login_url]").on("keyup",function(){if($(this).val()!=="wp-login.php"&&$(this).val()!=""){$this.find(".hmwp_hide_wplogin_div").show();$this.find(".hmwp_hide_newlogin_div").show()}else{$this.find(".hmwp_hide_wplogin_div").hide();$this.find(".hmwp_hide_newlogin_div").hide()}if($(this).val()!=="login"&&$(this).val()!=""){$this.find(".hmwp_hide_login_div").show()}else{$this.find(".hmwp_hide_login_div").hide()}});$this.find("input[name=hmwp_login_url]").trigger("keyup");$this.find("input[name=hmwp_hide_admin].switch").change(function(){if($(this).prop("checked")){$this.find(".wp-admin_warning").show();$this.find(".hmwp_hide_newadmin_div").show()}else{$this.find(".wp-admin_warning").hide();$this.find(".hmwp_hide_newadmin_div").hide()}});$this.find("input[name=hmwp_hide_oldpaths_plugins].switch").change(function(){if($(this).prop("checked")){$this.find("input[name=hmwp_hide_oldpaths]").prop("checked",true)}});$this.find("input[name=hmwp_hide_oldpaths_themes].switch").change(function(){if($(this).prop("checked")){$this.find("input[name=hmwp_hide_oldpaths]").prop("checked",true)}});$("#hmw_plugins_mapping_new").on("change",function(ev){var $name=$(this).find(":selected").text();var $value=$(this).find(":selected").val();var $div=$("div.hmw_plugins_mapping_new").clone();$div.appendTo("div.hmw_plugins_mappings");$div.find(".hmw_plugins_mapping_title").html($name);$div.find("input").attr("name","hmw_plugins_mapping["+$value+"]");$div.find("input").attr("value",$name);$(this).find(":selected").remove();$div.removeClass("hmw_plugins_mapping_new");if($(this).find("option").length==1){$(".hmw_plugins_mapping_select").hide()}$div.show()});$("#hmw_themes_mapping_new").on("change",function(ev){var $name=$(this).find(":selected").text();var $value=$(this).find(":selected").val();var $div=$("div.hmw_themes_mapping_new").clone();$div.appendTo("div.hmw_themes_mappings");$div.find(".hmw_themes_mapping_title").html($name);$div.find("input").attr("name","hmw_themes_mapping["+$value+"]");$div.find("input").attr("value",$name);$(this).find(":selected").remove();$div.removeClass("hmw_themes_mapping_new");if($(this).find("option").length==1){$(".hmw_themes_mapping_select").hide()}$div.show()});$("#hmwp_security_headers_new").on("change",function(ev){var $name=$(this).find(":selected").text();var $value=$(this).find(":selected").val();var $div=$("div."+$name);$div.appendTo("div.hmwp_security_headers");$div.find("input").attr("name","hmwp_security_headers["+$name+"]");$div.find("input").attr("value",$value);$(this).find(":selected").remove();if($(this).find("option").length==1){$(".hmwp_security_headers_new").hide()}$div.show()});$this.find("button.brute_use_math").on("click",function(){$this.find("input[name=brute_use_math]").val(1);$this.find("input[name=brute_use_captcha]").val(0);$this.find("input[name=brute_use_captcha_v3]").val(0);$this.find(".group_autoload button").removeClass("active");$(this).addClass("active");$this.find("div.brute_use_math").show();$this.find("div.brute_use_captcha").hide();$this.find("div.brute_use_captcha_v3").hide()});$this.find("button.brute_use_captcha").on("click",function(){$this.find("input[name=brute_use_captcha]").val(1);$this.find("input[name=brute_use_math]").val(0);$this.find("input[name=brute_use_captcha_v3]").val(0);$this.find(".group_autoload button").removeClass("active");$(this).addClass("active");$this.find("div.brute_use_captcha").show();$this.find("div.brute_use_math").hide();$this.find("div.brute_use_captcha_v3").hide()});$this.find("button.brute_use_captcha_v3").on("click",function(){$this.find("input[name=brute_use_captcha]").val(0);$this.find("input[name=brute_use_math]").val(0);$this.find("input[name=brute_use_captcha_v3]").val(1);$this.find(".group_autoload button").removeClass("active");$(this).addClass("active");$this.find("div.brute_use_captcha").hide();$this.find("div.brute_use_math").hide();$this.find("div.brute_use_captcha_v3").show()});$this.find("#hmwp_blockedips_form").on("submit",function(){$this.find("#hmwp_blockedips").html("");$this.find("#hmwp_blockedips").hmwp_loading(true);$.post(ajaxurl,$("form#hmwp_blockedips_form").serialize()).done(function(response){if(typeof response.data!=="undefined"){$("#hmwp_blockedips").html(response.data)}$this.find("#hmwp_blockedips").hmwp_loading()}).error(function(){$("#hmwp_blockedips").html("no blocked ips");$this.find("#hmwp_blockedips").hmwp_loading()},"json");return false});if($this.find("#hmwp_blockedips").length>0){$this.find("#hmwp_blockedips_form").trigger("submit")}$this.find(".ajax_submit input").on("change",function(){var $form=$(this).parents("form:last");var $input=$(this);$.post(ajaxurl,$form.serialize()).done(function(response){if(typeof response.success!=="undefined"&&typeof response.data!=="undefined"){if(response.success){$("body").prepend('");if($input.prop("checked")){$form.parents(".hmwp_feature:last").removeClass("bg-light").addClass("active")}else{$form.parents(".hmwp_feature:last").removeClass("active").addClass("bg-light")}unsaved=false}else{$("body").prepend('")}}setTimeout(function(){$(".hmwp_notice").remove()},5e3)}).error(function(){$("body").prepend('");setTimeout(function(){$(".hmwp_notice").remove()},5e3)})});$this.find("form").on("submit",function(){unsaved=false});window.onbeforeunload=function(e){e=e||window.event;if(unsaved){if(e){e.returnValue="You have unsaved changes."}return"You have unsaved changes."}};if($(".hmwp_clipboard_copy").length>0){var clipboard_link=new Clipboard(".hmwp_clipboard_copy");clipboard_link.on("success",function(e){var elem=e.trigger;var id=elem.getAttribute("id");var $copied=$('Copied').appendTo($("#"+id));$copied.show();setTimeout(function(){$copied.remove()},1e3)})}$("#hmwp_geoblock_selectall").click(function(){if($(this).is(":checked")){$(".selectpicker option").attr("selected","selected");$(".selectpicker").selectpicker("refresh")}else{$(".selectpicker option").attr("selected",false);$(".selectpicker").selectpicker("refresh")}})};$("#hmwp_wrap").ready(function(){$(this).hmwp_settingsListen();$(this).hmwp_securityCheckListen()})})(jQuery);view/blocks/ChangeCacheFiles.php000064400000013051147600042240012577 0ustar00 'default' && HMWP_Classes_Tools::isCachePlugin() ) { ?>
    view/blocks/ChangeFiles.php000064400000002617147600042240011661 0ustar00 view/blocks/Debug.php000064400000003371147600042240010535 0ustar00

    value="1"/>
    view/blocks/FrontendCheck.php000064400000002564147600042240012227 0ustar00 'default' ) { ?>

    view/blocks/FrontendLoginCheck.php000064400000022224147600042240013213 0ustar00 'default' ) { add_action( 'home_url', array( HMWP_Classes_ObjController::getClass( 'HMWP_Models_Rewrite' ), 'home_url' ), PHP_INT_MAX, 1 ); ?>
    view/blocks/SecurityCheck.php000064400000002544147600042240012255 0ustar00

    view/wplogin/css/buttons.css000064400000023775147600042240012212 0ustar00/* ---------------------------------------------------------------------------- NOTE: If you edit this file, you should make sure that the CSS rules for buttons in the following files are updated. * jquery-ui-dialog.css * editor.css WordPress-style Buttons ======================= Create a button by adding the `.button` class to an element. For backward compatibility, we support several other classes (such as `.button-secondary`), but these will *not* work with the stackable classes described below. Button Styles ------------- To display a primary button style, add the `.button-primary` class to a button. Button Sizes ------------ Adjust a button's size by adding the `.button-large` or `.button-small` class. Button States ------------- Lock the state of a button by adding the name of the pseudoclass as an actual class (e.g. `.hover` for `:hover`). TABLE OF CONTENTS: ------------------ 1.0 - Button Layouts 2.0 - Default Button Style 3.0 - Primary Button Style 4.0 - Button Groups 5.0 - Responsive Button Styles ---------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------------- 1.0 - Button Layouts ---------------------------------------------------------------------------- */ .wp-core-ui .button, .wp-core-ui .button-primary, .wp-core-ui .button-secondary { display: inline-block; text-decoration: none; font-size: 13px; line-height: 2.15384615; /* 28px */ min-height: 30px; margin: 0; padding: 0 10px; cursor: pointer; border-width: 1px; border-style: solid; -webkit-appearance: none; border-radius: 3px; white-space: nowrap; box-sizing: border-box; } /* Remove the dotted border on :focus and the extra padding in Firefox */ .wp-core-ui button::-moz-focus-inner, .wp-core-ui input[type="reset"]::-moz-focus-inner, .wp-core-ui input[type="button"]::-moz-focus-inner, .wp-core-ui input[type="submit"]::-moz-focus-inner { border-width: 0; border-style: none; padding: 0; } .wp-core-ui .button.button-large, .wp-core-ui .button-group.button-large .button { min-height: 32px; line-height: 2.30769231; /* 30px */ padding: 0 12px; } .wp-core-ui .button.button-small, .wp-core-ui .button-group.button-small .button { min-height: 26px; line-height: 2.18181818; /* 24px */ padding: 0 8px; font-size: 11px; } .wp-core-ui .button.button-hero, .wp-core-ui .button-group.button-hero .button { font-size: 14px; min-height: 46px; line-height: 3.14285714; padding: 0 36px; } .wp-core-ui .button.hidden { display: none; } /* Style Reset buttons as simple text links */ .wp-core-ui input[type="reset"], .wp-core-ui input[type="reset"]:hover, .wp-core-ui input[type="reset"]:active, .wp-core-ui input[type="reset"]:focus { background: none; border: none; box-shadow: none; padding: 0 2px 1px; width: auto; } /* ---------------------------------------------------------------------------- 2.0 - Default Button Style ---------------------------------------------------------------------------- */ .wp-core-ui .button, .wp-core-ui .button-secondary { color: #0071a1; border-color: #0071a1; background: #f3f5f6; vertical-align: top; } .wp-core-ui p .button { vertical-align: baseline; } .wp-core-ui .button.hover, .wp-core-ui .button:hover, .wp-core-ui .button-secondary:hover{ background: #f1f1f1; border-color: #016087; color: #016087; } .wp-core-ui .button.focus, .wp-core-ui .button:focus, .wp-core-ui .button-secondary:focus { background: #f3f5f6; border-color: #007cba; color: #016087; box-shadow: 0 0 0 1px #007cba; /* Only visible in Windows High Contrast mode */ outline: 2px solid transparent; /* Reset inherited offset from Gutenberg */ outline-offset: 0; } /* :active state */ .wp-core-ui .button:active, .wp-core-ui .button-secondary:active { background: #f3f5f6; border-color: #7e8993; box-shadow: none; } /* pressed state e.g. a selected setting */ .wp-core-ui .button.active, .wp-core-ui .button.active:hover { background-color: #e2e4e7; color: #00669b; border-color: #016087; box-shadow: inset 0 2px 5px -3px #016087; } .wp-core-ui .button.active:focus { border-color: #007cba; box-shadow: inset 0 2px 5px -3px #016087, 0 0 0 1px #007cba; } .wp-core-ui .button[disabled], .wp-core-ui .button:disabled, .wp-core-ui .button.disabled, .wp-core-ui .button-secondary[disabled], .wp-core-ui .button-secondary:disabled, .wp-core-ui .button-secondary.disabled, .wp-core-ui .button-disabled { color: #a0a5aa !important; border-color: #ddd !important; background: #f7f7f7 !important; box-shadow: none !important; cursor: default; transform: none !important; } /* Buttons that look like links, for a cross of good semantics with the visual */ .wp-core-ui .button-link { margin: 0; padding: 0; box-shadow: none; border: 0; border-radius: 0; background: none; cursor: pointer; text-align: left; /* Mimics the default link style in common.css */ color: #0073aa; text-decoration: underline; transition-property: border, background, color; transition-duration: .05s; transition-timing-function: ease-in-out; } .wp-core-ui .button-link:hover, .wp-core-ui .button-link:active { color: #006799; } .wp-core-ui .button-link:focus { color: #124964; box-shadow: 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8); /* Only visible in Windows High Contrast mode */ outline: 1px solid transparent; } .wp-core-ui .button-link-delete { color: #a00; } .wp-core-ui .button-link-delete:hover, .wp-core-ui .button-link-delete:focus { color: #dc3232; background: transparent; } .wp-core-ui .button-link-delete:disabled { /* overrides the default buttons disabled background */ background: transparent !important; } /* ---------------------------------------------------------------------------- 3.0 - Primary Button Style ---------------------------------------------------------------------------- */ .wp-core-ui .button-primary { background: #007cba; border-color: #007cba; color: #fff; text-decoration: none; text-shadow: none; } .wp-core-ui .button-primary.hover, .wp-core-ui .button-primary:hover, .wp-core-ui .button-primary.focus, .wp-core-ui .button-primary:focus { background: #0071a1; border-color: #0071a1; color: #fff; } .wp-core-ui .button-primary.focus, .wp-core-ui .button-primary:focus { box-shadow: 0 0 0 1px #fff, 0 0 0 3px #007cba; } .wp-core-ui .button-primary.active, .wp-core-ui .button-primary.active:hover, .wp-core-ui .button-primary.active:focus, .wp-core-ui .button-primary:active { background: #00669b; border-color: #00669b; box-shadow: none; color: #fff; } .wp-core-ui .button-primary[disabled], .wp-core-ui .button-primary:disabled, .wp-core-ui .button-primary-disabled, .wp-core-ui .button-primary.disabled { color: #a0a5aa !important; background: #f7f7f7 !important; border-color: #ddd !important; box-shadow: none !important; text-shadow: none !important; cursor: default; } /* ---------------------------------------------------------------------------- 4.0 - Button Groups ---------------------------------------------------------------------------- */ .wp-core-ui .button-group { position: relative; display: inline-block; white-space: nowrap; font-size: 0; vertical-align: middle; } .wp-core-ui .button-group > .button { display: inline-block; border-radius: 0; margin-right: -1px; } .wp-core-ui .button-group > .button:first-child { border-radius: 3px 0 0 3px; } .wp-core-ui .button-group > .button:last-child { border-radius: 0 3px 3px 0; } .wp-core-ui .button-group > .button-primary + .button { border-left: 0; } .wp-core-ui .button-group > .button:focus { position: relative; z-index: 1; } /* pressed state e.g. a selected setting */ .wp-core-ui .button-group > .button.active { background-color: #e2e4e7; color: #00669b; border-color: #016087; box-shadow: inset 0 2px 5px -3px #016087; } .wp-core-ui .button-group > .button.active:focus { border-color: #007cba; box-shadow: inset 0 2px 5px -3px #016087, 0 0 0 1px #007cba; } /* ---------------------------------------------------------------------------- 5.0 - Responsive Button Styles ---------------------------------------------------------------------------- */ @media screen and (max-width: 782px) { .wp-core-ui .button, .wp-core-ui .button.button-large, .wp-core-ui .button.button-small, input#publish, input#save-post, a.preview { padding: 0 14px; line-height: 2.71428571; /* 38px */ font-size: 14px; vertical-align: middle; min-height: 40px; margin-bottom: 4px; } /* Copy attachment URL button in the legacy edit media page. */ .wp-core-ui .copy-to-clipboard-container .copy-attachment-url { margin-bottom: 0; } #media-upload.wp-core-ui .button { padding: 0 10px 1px; min-height: 24px; line-height: 22px; font-size: 13px; } .media-frame.mode-grid .bulk-select .button { margin-bottom: 0; } /* Publish Metabox Options */ .wp-core-ui .save-post-status.button { position: relative; margin: 0 14px 0 10px; /* 14px right margin to match all other buttons */ } /* Reset responsive styles in Press This, Customizer */ .wp-core-ui.wp-customizer .button { font-size: 13px; line-height: 2.15384615; /* 28px */ min-height: 30px; margin: 0; vertical-align: inherit; } .media-modal-content .media-toolbar-primary .media-button { margin-top: 10px; margin-left: 5px; } /* Reset responsive styles on Log in button on iframed login form */ .interim-login .button.button-large { min-height: 30px; line-height: 2; padding: 0 12px 2px; } } view/wplogin/css/buttons.min.css000064400000013227147600042240012763 0ustar00.wp-core-ui .button{text-decoration:none}.wp-core-ui .button,.wp-core-ui .button-primary,.wp-core-ui .button-secondary{display:inline-block;font-size:13px;line-height:2.15384615;min-height:30px;margin:0;padding:0 10px;cursor:pointer;border-width:1px;border-style:solid;-webkit-appearance:none;border-radius:3px;white-space:nowrap;box-sizing:border-box}.wp-core-ui .button-secondary{text-decoration:none}.wp-core-ui button::-moz-focus-inner,.wp-core-ui input[type=button]::-moz-focus-inner,.wp-core-ui input[type=reset]::-moz-focus-inner,.wp-core-ui input[type=submit]::-moz-focus-inner{border-width:0;border-style:none;padding:0}.wp-core-ui .button-group.button-large .button,.wp-core-ui .button.button-large{min-height:32px;line-height:2.30769231;padding:0 12px}.wp-core-ui .button-group.button-small .button,.wp-core-ui .button.button-small{min-height:26px;line-height:2.18181818;padding:0 8px;font-size:11px}.wp-core-ui .button-group.button-hero .button,.wp-core-ui .button.button-hero{font-size:14px;min-height:46px;line-height:3.14285714;padding:0 36px}.wp-core-ui .button.hidden{display:none}.wp-core-ui input[type=reset],.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:focus,.wp-core-ui input[type=reset]:hover{background:0 0;border:0;box-shadow:none;padding:0 2px 1px;width:auto}.wp-core-ui .button,.wp-core-ui .button-secondary{color:#0071a1;border-color:#0071a1;background:#f3f5f6;vertical-align:top}.wp-core-ui p .button{vertical-align:baseline}.wp-core-ui .button-secondary:hover,.wp-core-ui .button.hover,.wp-core-ui .button:hover{background:#f1f1f1;border-color:#016087;color:#016087}.wp-core-ui .button-secondary:focus,.wp-core-ui .button.focus,.wp-core-ui .button:focus{background:#f3f5f6;border-color:#007cba;color:#016087;box-shadow:0 0 0 1px #007cba;outline:2px solid transparent;outline-offset:0}.wp-core-ui .button-secondary:active,.wp-core-ui .button:active{background:#f3f5f6;border-color:#7e8993;box-shadow:none}.wp-core-ui .button.active,.wp-core-ui .button.active:hover{background-color:#e2e4e7;color:#00669b;border-color:#016087;box-shadow:inset 0 2px 5px -3px #016087}.wp-core-ui .button-group>.button.active:focus,.wp-core-ui .button.active:focus{border-color:#007cba;box-shadow:inset 0 2px 5px -3px #016087,0 0 0 1px #007cba}.wp-core-ui .button-disabled,.wp-core-ui .button-secondary.disabled,.wp-core-ui .button-secondary:disabled,.wp-core-ui .button-secondary[disabled],.wp-core-ui .button.disabled,.wp-core-ui .button:disabled,.wp-core-ui .button[disabled]{color:#a0a5aa!important;border-color:#ddd!important;background:#f7f7f7!important;box-shadow:none!important;cursor:default;transform:none!important}.wp-core-ui .button-link{margin:0;padding:0;box-shadow:none;border:0;border-radius:0;background:0 0;cursor:pointer;text-align:left;color:#0073aa;text-decoration:underline;transition-property:border,background,color;transition-duration:.05s;transition-timing-function:ease-in-out}.wp-core-ui .button-link:active,.wp-core-ui .button-link:hover{color:#006799}.wp-core-ui .button-link:focus{color:#124964;box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);outline:1px solid transparent}.wp-core-ui .button-link-delete{color:#a00}.wp-core-ui .button-link-delete:focus,.wp-core-ui .button-link-delete:hover{color:#dc3232;background:0 0}.wp-core-ui .button-link-delete:disabled{background:0 0!important}.wp-core-ui .button-primary{background:#007cba;border-color:#007cba;color:#fff;text-decoration:none;text-shadow:none}.wp-core-ui .button-primary.focus,.wp-core-ui .button-primary.hover,.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#0071a1;border-color:#0071a1;color:#fff}.wp-core-ui .button-primary.focus,.wp-core-ui .button-primary:focus{box-shadow:0 0 0 1px #fff,0 0 0 3px #007cba}.wp-core-ui .button-primary.active,.wp-core-ui .button-primary.active:focus,.wp-core-ui .button-primary.active:hover,.wp-core-ui .button-primary:active{background:#00669b;border-color:#00669b;box-shadow:none;color:#fff}.wp-core-ui .button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#a0a5aa!important;background:#f7f7f7!important;border-color:#ddd!important;box-shadow:none!important;text-shadow:none!important;cursor:default}.wp-core-ui .button-group{position:relative;display:inline-block;white-space:nowrap;font-size:0;vertical-align:middle}.wp-core-ui .button-group>.button{display:inline-block;border-radius:0;margin-right:-1px}.wp-core-ui .button-group>.button:first-child{border-radius:3px 0 0 3px}.wp-core-ui .button-group>.button:last-child{border-radius:0 3px 3px 0}.wp-core-ui .button-group>.button-primary+.button{border-left:0}.wp-core-ui .button-group>.button:focus{position:relative;z-index:1}.wp-core-ui .button-group>.button.active{background-color:#e2e4e7;color:#00669b;border-color:#016087;box-shadow:inset 0 2px 5px -3px #016087}@media screen and (max-width:782px){.wp-core-ui .button,.wp-core-ui .button.button-large,.wp-core-ui .button.button-small,a.preview,input#publish,input#save-post{padding:0 14px;line-height:2.71428571;font-size:14px;vertical-align:middle;min-height:40px;margin-bottom:4px}.media-frame.mode-grid .bulk-select .button,.wp-core-ui .copy-to-clipboard-container .copy-attachment-url{margin-bottom:0}#media-upload.wp-core-ui .button{padding:0 10px 1px;min-height:24px;line-height:22px;font-size:13px}.wp-core-ui .save-post-status.button{position:relative;margin:0 14px 0 10px}.wp-core-ui.wp-customizer .button{font-size:13px;line-height:2.15384615;min-height:30px;margin:0;vertical-align:inherit}.media-modal-content .media-toolbar-primary .media-button{margin-top:10px;margin-left:5px}.interim-login .button.button-large{min-height:30px;line-height:2;padding:0 12px 2px}}view/wplogin/css/forms-rtl.css000064400000110143147600042240012423 0ustar00/*! This file is auto-generated */ /* Include margin and padding in the width calculation of input and textarea. */ input, select, textarea, button { box-sizing: border-box; font-family: inherit; font-size: inherit; font-weight: inherit; } textarea, input { font-size: 14px; } textarea { overflow: auto; padding: 2px 6px; /* inherits font size 14px */ line-height: 1.42857143; /* 20px */ resize: vertical; } input, select { margin: 0 1px; } textarea.code { padding: 4px 6px 1px; } input[type="text"], input[type="password"], input[type="color"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="email"], input[type="month"], input[type="number"], input[type="search"], input[type="tel"], input[type="time"], input[type="url"], input[type="week"], select, textarea { box-shadow: 0 0 0 transparent; border-radius: 4px; border: 1px solid #8c8f94; background-color: #fff; color: #2c3338; } input[type="text"], input[type="password"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="email"], input[type="month"], input[type="number"], input[type="search"], input[type="tel"], input[type="time"], input[type="url"], input[type="week"] { padding: 0 8px; /* inherits font size 14px */ line-height: 2; /* 28px */ /* Only necessary for IE11 */ min-height: 30px; } ::-webkit-datetime-edit { /* inherits font size 14px */ line-height: 1.85714286; /* 26px */ } input[type="text"]:focus, input[type="password"]:focus, input[type="color"]:focus, input[type="date"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="email"]:focus, input[type="month"]:focus, input[type="number"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="time"]:focus, input[type="url"]:focus, input[type="week"]:focus, input[type="checkbox"]:focus, input[type="radio"]:focus, select:focus, textarea:focus { border-color: #2271b1; box-shadow: 0 0 0 1px #2271b1; /* Only visible in Windows High Contrast mode */ outline: 2px solid transparent; } /* rtl:ignore */ input[type="email"], input[type="url"] { direction: ltr; } input[type="checkbox"], input[type="radio"] { border: 1px solid #8c8f94; border-radius: 4px; background: #fff; color: #50575e; clear: none; cursor: pointer; display: inline-block; line-height: 0; height: 1rem; margin: -0.25rem 0 0 0.25rem; outline: 0; padding: 0 !important; text-align: center; vertical-align: middle; width: 1rem; min-width: 1rem; -webkit-appearance: none; box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); transition: .05s border-color ease-in-out; } input[type="radio"]:checked + label:before { color: #8c8f94; } .wp-core-ui input[type="reset"]:hover, .wp-core-ui input[type="reset"]:active { color: #135e96; } td > input[type="checkbox"], .wp-admin p input[type="checkbox"], .wp-admin p input[type="radio"] { margin-top: 0; } .wp-admin p label input[type="checkbox"] { margin-top: -4px; } .wp-admin p label input[type="radio"] { margin-top: -2px; } input[type="radio"] { border-radius: 50%; margin-left: 0.25rem; /* 10px not sure if still necessary, comes from the MP6 redesign in r26072 */ line-height: 0.71428571; } input[type="checkbox"]:checked::before, input[type="radio"]:checked::before { float: right; display: inline-block; vertical-align: middle; width: 1rem; speak: never; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } input[type="checkbox"]:checked::before { /* Use the "Yes" SVG Dashicon */ content: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2020%2020%27%3E%3Cpath%20d%3D%27M14.83%204.89l1.34.94-5.81%208.38H9.02L5.78%209.67l1.34-1.25%202.57%202.4z%27%20fill%3D%27%233582c4%27%2F%3E%3C%2Fsvg%3E"); margin: -0.1875rem -0.25rem 0 0; height: 1.3125rem; width: 1.3125rem; } input[type="radio"]:checked::before { content: ""; border-radius: 50%; width: 0.5rem; /* 8px */ height: 0.5rem; /* 8px */ margin: 0.1875rem; /* 3px */ background-color: #3582c4; /* 16px not sure if still necessary, comes from the MP6 redesign in r26072 */ line-height: 1.14285714; } @-moz-document url-prefix() { input[type="checkbox"], input[type="radio"], .form-table input.tog { margin-bottom: -1px; } } /* Search */ input[type="search"] { -webkit-appearance: textfield; } input[type="search"]::-webkit-search-decoration { display: none; } .wp-admin input[type="file"] { padding: 3px 0; cursor: pointer; } input.readonly, input[readonly], textarea.readonly, textarea[readonly] { background-color: #f0f0f1; } ::-webkit-input-placeholder { color: #646970; } ::-moz-placeholder { color: #646970; opacity: 1; } :-ms-input-placeholder { color: #646970; } .form-invalid .form-required, .form-invalid .form-required:focus, .form-invalid.form-required input, .form-invalid.form-required input:focus, .form-invalid.form-required select, .form-invalid.form-required select:focus { border-color: #d63638 !important; box-shadow: 0 0 2px rgba(214, 54, 56, 0.8); } .form-table .form-required.form-invalid td:after { content: "\f534"; font: normal 20px/1 dashicons; color: #d63638; margin-right: -25px; vertical-align: middle; } /* Adjust error indicator for password layout */ .form-table .form-required.user-pass1-wrap.form-invalid td:after { content: ""; } .form-table .form-required.user-pass1-wrap.form-invalid .password-input-wrapper:after { content: "\f534"; font: normal 20px/1 dashicons; color: #d63638; margin: 0 -29px 0 6px; vertical-align: middle; } .form-input-tip { color: #646970; } input:disabled, input.disabled, select:disabled, select.disabled, textarea:disabled, textarea.disabled { background: rgba(255, 255, 255, 0.5); border-color: rgba(220, 220, 222, 0.75); box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.04); color: rgba(44, 51, 56, 0.5); } input[type="file"]:disabled, input[type="file"].disabled, input[type="file"][aria-disabled="true"], input[type="range"]:disabled, input[type="range"].disabled, input[type="range"][aria-disabled="true"] { background: none; box-shadow: none; cursor: default; } input[type="checkbox"]:disabled, input[type="checkbox"].disabled, input[type="checkbox"][aria-disabled="true"], input[type="radio"]:disabled, input[type="radio"].disabled, input[type="radio"][aria-disabled="true"], input[type="checkbox"]:disabled:checked:before, input[type="checkbox"].disabled:checked:before, input[type="radio"]:disabled:checked:before, input[type="radio"].disabled:checked:before { opacity: 0.7; cursor: default; } /*------------------------------------------------------------------------------ 2.0 - Forms ------------------------------------------------------------------------------*/ /* Select styles are based on the default button in buttons.css */ .wp-core-ui select { font-size: 14px; line-height: 2; /* 28px */ color: #2c3338; border-color: #8c8f94; box-shadow: none; border-radius: 3px; padding: 0 8px 0 24px; min-height: 30px; max-width: 25rem; -webkit-appearance: none; /* The SVG is arrow-down-alt2 from Dashicons. */ background: #fff url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%206l5%205%205-5%202%201-7%207-7-7%202-1z%22%20fill%3D%22%23555%22%2F%3E%3C%2Fsvg%3E') no-repeat left 5px top 55%; background-size: 16px 16px; cursor: pointer; vertical-align: middle; } .wp-core-ui select:hover { color: #2271b1; } .wp-core-ui select:focus { border-color: #2271b1; color: #0a4b78; box-shadow: 0 0 0 1px #2271b1; } .wp-core-ui select:active { border-color: #8c8f94; box-shadow: none; } .wp-core-ui select.disabled, .wp-core-ui select:disabled { color: #a7aaad; border-color: #dcdcde; background-color: #f6f7f7; /* The SVG is arrow-down-alt2 from Dashicons. */ background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%206l5%205%205-5%202%201-7%207-7-7%202-1z%22%20fill%3D%22%23a0a5aa%22%2F%3E%3C%2Fsvg%3E'); box-shadow: none; text-shadow: 0 1px 0 #fff; cursor: default; transform: none; } .wp-core-ui select[aria-disabled="true"] { cursor: default; } /* Reset Firefox inner outline that appears on :focus. */ /* This ruleset overrides the color change on :focus thus needs to be after select:focus. */ .wp-core-ui select:-moz-focusring { color: transparent; text-shadow: 0 0 0 #0a4b78; } /* Remove background focus style from IE11 while keeping focus style available on option elements. */ .wp-core-ui select::-ms-value { background: transparent; color: #50575e; } .wp-core-ui select:hover::-ms-value { color: #2271b1; } .wp-core-ui select:focus::-ms-value { color: #0a4b78; } .wp-core-ui select.disabled::-ms-value, .wp-core-ui select:disabled::-ms-value { color: #a7aaad; } /* Hide the native down arrow for select element on IE. */ .wp-core-ui select::-ms-expand { display: none; } .wp-admin .button-cancel { display: inline-block; min-height: 28px; padding: 0 5px; line-height: 2; } .meta-box-sortables select { max-width: 100%; } .meta-box-sortables input { vertical-align: middle; } .misc-pub-post-status select { margin-top: 0; } .wp-core-ui select[multiple] { height: auto; padding-left: 8px; background: #fff; } .submit { padding: 1.5em 0; margin: 5px 0; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; border: none; } form p.submit a.cancel:hover { text-decoration: none; } p.submit { text-align: right; max-width: 100%; margin-top: 20px; padding-top: 10px; } .textright p.submit { border: none; text-align: left; } table.form-table + p.submit, table.form-table + input + p.submit, table.form-table + input + input + p.submit { border-top: none; padding-top: 0; } #minor-publishing-actions input, #major-publishing-actions input, #minor-publishing-actions .preview { text-align: center; } textarea.all-options, input.all-options { width: 250px; } input.large-text, textarea.large-text { width: 99%; } .regular-text { width: 25em; } input.small-text { width: 50px; padding: 0 6px; } label input.small-text { margin-top: -4px; } input[type="number"].small-text { width: 65px; padding-left: 0; } input.tiny-text { width: 35px; } input[type="number"].tiny-text { width: 45px; padding-left: 0; } #doaction, #doaction2, #post-query-submit { margin: 0 0 0 8px; } /* @since 5.7.0 secondary bulk action controls require JS. */ .no-js label[for="bulk-action-selector-bottom"], .no-js select#bulk-action-selector-bottom, .no-js input#doaction2, .no-js label[for="new_role2"], .no-js select#new_role2, .no-js input#changeit2 { display: none; } .tablenav .actions select { float: right; margin-left: 6px; max-width: 12.5rem; } #timezone_string option { margin-right: 1em; } .wp-hide-pw > .dashicons, .wp-cancel-pw > .dashicons { position: relative; top: 3px; width: 1.25rem; height: 1.25rem; top: 0.25rem; font-size: 20px; } .wp-cancel-pw .dashicons-no { display: none; } label, #your-profile label + a { vertical-align: middle; } fieldset label, #your-profile label + a { vertical-align: middle; } .options-media-php [for*="_size_"] { min-width: 10em; vertical-align: baseline; } .options-media-php .small-text[name*="_size_"] { margin: 0 0 1em; } .wp-generate-pw { margin-top: 1em; position: relative; } .wp-pwd button { height: min-content; } .wp-pwd button.pwd-toggle .dashicons { position: relative; top: 0.25rem; } .wp-pwd { margin-top: 1em; position: relative; } .mailserver-pass-wrap .wp-pwd { display: inline-block; margin-top: 0; } /* rtl:ignore */ #mailserver_pass { padding-right: 2.5rem; } /* rtl:ignore */ .mailserver-pass-wrap .button.wp-hide-pw { background: transparent; border: 1px solid transparent; box-shadow: none; font-size: 14px; line-height: 2; width: 2.5rem; min-width: 40px; margin: 0; padding: 0 9px; position: absolute; right: 0; top: 0; } .mailserver-pass-wrap .button.wp-hide-pw:hover { background: transparent; border-color: transparent; } .mailserver-pass-wrap .button.wp-hide-pw:focus { background: transparent; border-color: #3582c4; border-radius: 4px; box-shadow: 0 0 0 1px #3582c4; /* Only visible in Windows High Contrast mode */ outline: 2px solid transparent; } .mailserver-pass-wrap .button.wp-hide-pw:active { background: transparent; box-shadow: none; transform: none; } #misc-publishing-actions label { vertical-align: baseline; } #pass-strength-result { background-color: #f0f0f1; border: 1px solid #dcdcde; color: #1d2327; margin: -1px 1px 5px; padding: 3px 5px; text-align: center; width: 25em; box-sizing: border-box; opacity: 0; } #pass-strength-result.short { background-color: #ffabaf; border-color: #e65054; opacity: 1; } #pass-strength-result.bad { background-color: #facfd2; border-color: #f86368; opacity: 1; } #pass-strength-result.good { background-color: #f5e6ab; border-color: #f0c33c; opacity: 1; } #pass-strength-result.strong { background-color: #b8e6bf; border-color: #68de7c; opacity: 1; } .password-input-wrapper { display: inline-block; } .password-input-wrapper input { font-family: Consolas, Monaco, monospace; } #pass1.short, #pass1-text.short { border-color: #e65054; } #pass1.bad, #pass1-text.bad { border-color: #f86368; } #pass1.good, #pass1-text.good { border-color: #f0c33c; } #pass1.strong, #pass1-text.strong { border-color: #68de7c; } #pass1:focus, #pass1-text:focus { box-shadow: 0 0 0 2px #2271b1; /* Only visible in Windows High Contrast mode */ outline: 2px solid transparent; } .pw-weak { display: none; } .indicator-hint { padding-top: 8px; } .wp-pwd [type="text"], .wp-pwd [type="password"] { margin-bottom: 0; /* Same height as the buttons */ min-height: 30px; } /* Hide the Edge "reveal password" native button */ .wp-pwd input::-ms-reveal { display: none; } #pass1-text, .show-password #pass1 { display: none; } #pass1-text::-ms-clear { display: none; } .show-password #pass1-text { display: inline-block; } p.search-box { float: left; margin: 0; } .network-admin.themes-php p.search-box { clear: right; } .search-box input[name="s"], .tablenav .search-plugins input[name="s"], .tagsdiv .newtag { float: right; margin: 0 0 0 4px; } .js.plugins-php .search-box .wp-filter-search { margin: 0; width: 280px; } input[type="text"].ui-autocomplete-loading, input[type="email"].ui-autocomplete-loading { background-image: url(../images/loading.gif); background-repeat: no-repeat; background-position: left 5px center; visibility: visible; } input.ui-autocomplete-input.open { border-bottom-color: transparent; } ul#add-to-blog-users { margin: 0 14px 0 0; } .ui-autocomplete { padding: 0; margin: 0; list-style: none; position: absolute; z-index: 10000; border: 1px solid #4f94d4; box-shadow: 0 1px 2px rgba(79, 148, 212, 0.8); background-color: #fff; } .ui-autocomplete li { margin-bottom: 0; padding: 4px 10px; white-space: nowrap; text-align: right; cursor: pointer; } /* Colors for the wplink toolbar autocomplete. */ .ui-autocomplete .ui-state-focus { background-color: #dcdcde; } /* Colors for the tags autocomplete. */ .wp-tags-autocomplete .ui-state-focus, .wp-tags-autocomplete [aria-selected="true"] { background-color: #2271b1; color: #fff; /* Only visible in Windows High Contrast mode */ outline: 2px solid transparent; } .button-add-site-icon { width: 100%; cursor: pointer; text-align: center; border: 1px dashed #c3c4c7; box-sizing: border-box; padding: 9px 0; line-height: 1.6; max-width: 270px; } .button-add-site-icon:focus, .button-add-site-icon:hover { background: #fff; } .site-icon-section .favicon-preview { float: right; } .site-icon-section .app-icon-preview { float: right; margin: 0 20px; } .site-icon-section .site-icon-preview img { max-width: 100%; } .button-add-site-icon:focus { background-color: #fff; border-color: #3582c4; border-style: solid; box-shadow: 0 0 0 1px #3582c4; outline: 2px solid transparent; } /*------------------------------------------------------------------------------ 15.0 - Comments Screen ------------------------------------------------------------------------------*/ .form-table { border-collapse: collapse; margin-top: 0.5em; width: 100%; clear: both; } .form-table, .form-table td, .form-table th, .form-table td p { font-size: 14px; } .form-table td { margin-bottom: 9px; padding: 15px 10px; line-height: 1.3; vertical-align: middle; } .form-table th, .form-wrap label { color: #1d2327; font-weight: 400; text-shadow: none; vertical-align: baseline; } .form-table th { vertical-align: top; text-align: right; padding: 20px 0 20px 10px; width: 200px; line-height: 1.3; font-weight: 600; } .form-table th.th-full, /* Not used by core. Back-compat for pre-4.8 */ .form-table .td-full { width: auto; padding: 20px 0 20px 10px; font-weight: 400; } .form-table td p { margin-top: 4px; margin-bottom: 0; } .form-table .date-time-doc { margin-top: 1em; } .form-table p.timezone-info { margin: 1em 0; display: flex; flex-direction: column; } #local-time { margin-top: 0.5em; } .form-table td fieldset label { margin: 0.35em 0 0.5em !important; display: inline-block; } .form-table td fieldset p label { margin-top: 0 !important; } .form-table td fieldset label, .form-table td fieldset p, .form-table td fieldset li { line-height: 1.4; } .form-table input.tog, .form-table input[type="radio"] { margin-top: -4px; margin-left: 4px; float: none; } .form-table .pre { padding: 8px; margin: 0; } table.form-table td .updated { font-size: 13px; } table.form-table td .updated p { font-size: 13px; margin: 0.3em 0; } /*------------------------------------------------------------------------------ 18.0 - Users ------------------------------------------------------------------------------*/ #profile-page .form-table textarea { width: 500px; margin-bottom: 6px; } #profile-page .form-table #rich_editing { margin-left: 5px } #your-profile legend { font-size: 22px; } #display_name { width: 15em; } #adduser .form-field input, #createuser .form-field input { width: 25em; } .color-option { display: inline-block; width: 24%; padding: 5px 15px 15px; box-sizing: border-box; margin-bottom: 3px; } .color-option:hover, .color-option.selected { background: #dcdcde; } .color-palette { display: table; width: 100%; border-spacing: 0; border-collapse: collapse; } .color-palette .color-palette-shade, .color-palette td { display: table-cell; height: 20px; padding: 0; border: none; } .color-option { cursor: pointer; } .create-application-password .form-field { max-width: 25em; } .create-application-password label { font-weight: 600; } .create-application-password p.submit { margin-bottom: 0; padding-bottom: 0; display: block; } #application-passwords-section .notice { margin-top: 20px; margin-bottom: 0; word-wrap: break-word; } .application-password-display input.code { width: 19em; } .auth-app-card.card { max-width: 768px; } .authorize-application-php .form-wrap p { display: block; } /*------------------------------------------------------------------------------ 19.0 - Tools ------------------------------------------------------------------------------*/ .tool-box .title { margin: 8px 0; font-size: 18px; font-weight: 400; line-height: 24px; } .label-responsive { vertical-align: middle; } #export-filters p { margin: 0 0 1em; } #export-filters p.submit { margin: 7px 0 5px; } /* Card styles */ .card { position: relative; margin-top: 20px; padding: 0.7em 2em 1em; min-width: 255px; max-width: 520px; border: 1px solid #c3c4c7; box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04); background: #fff; box-sizing: border-box; } /* Press this styles */ .pressthis h4 { margin: 2em 0 1em; } .pressthis textarea { width: 100%; font-size: 1em; } #pressthis-code-wrap { overflow: auto; } .pressthis-bookmarklet-wrapper { margin: 20px 0 8px; vertical-align: top; position: relative; z-index: 1; } .pressthis-bookmarklet, .pressthis-bookmarklet:hover, .pressthis-bookmarklet:focus, .pressthis-bookmarklet:active { display: inline-block; position: relative; cursor: move; color: #2c3338; background: #dcdcde; border-radius: 5px; border: 1px solid #c3c4c7; font-style: normal; line-height: 16px; font-size: 14px; text-decoration: none; } .pressthis-bookmarklet:active { outline: none; } .pressthis-bookmarklet:after { content: ""; width: 70%; height: 55%; z-index: -1; position: absolute; left: 10px; bottom: 9px; background: transparent; transform: skew(-20deg) rotate(-6deg); box-shadow: 0 10px 8px rgba(0, 0, 0, 0.6); } .pressthis-bookmarklet:hover:after { transform: skew(-20deg) rotate(-9deg); box-shadow: 0 10px 8px rgba(0, 0, 0, 0.7); } .pressthis-bookmarklet span { display: inline-block; margin: 0; padding: 0 9px 8px 12px; } .pressthis-bookmarklet span:before { color: #787c82; font: normal 20px/1 dashicons; content: "\f157"; position: relative; display: inline-block; top: 4px; margin-left: 4px; } .pressthis-js-toggle { margin-right: 10px; padding: 0; height: auto; vertical-align: top; } /* to override the button class being applied */ .pressthis-js-toggle.button.button { margin-right: 10px; padding: 0; height: auto; vertical-align: top; } .pressthis-js-toggle .dashicons { margin: 5px 7px 6px 8px; color: #50575e; } /*------------------------------------------------------------------------------ 20.0 - Settings ------------------------------------------------------------------------------*/ .timezone-info code { white-space: nowrap; } .defaultavatarpicker .avatar { margin: 2px 0; vertical-align: middle; } .options-general-php .date-time-text { display: inline-block; min-width: 10em; } .options-general-php input.small-text { width: 56px; margin: -2px 0; } .options-general-php .spinner { float: none; margin: -3px 3px 0; } .settings-php .language-install-spinner, .options-general-php .language-install-spinner, .user-edit-php .language-install-spinner, .profile-php .language-install-spinner { display: inline-block; float: none; margin: -3px 5px 0; vertical-align: middle; } .form-table.permalink-structure .available-structure-tags { margin-top: 8px; } .form-table.permalink-structure .available-structure-tags ul { display: flex; flex-wrap: wrap; margin: 8px 0 0; } .form-table.permalink-structure .available-structure-tags li { margin: 6px 0 0 5px; } .form-table.permalink-structure .available-structure-tags li:last-child { margin-left: 0; } .form-table.permalink-structure .structure-selection .row { margin-bottom: 16px; } .form-table.permalink-structure .structure-selection .row > div { max-width: calc(100% - 24px); display: inline-flex; flex-direction: column; } .form-table.permalink-structure .structure-selection .row label { font-weight: 600; } .form-table.permalink-structure .structure-selection .row p { margin-top: 0; } /*------------------------------------------------------------------------------ 21.0 - Network Admin ------------------------------------------------------------------------------*/ .setup-php textarea { max-width: 100%; } .form-field #site-address { max-width: 25em; } .form-field #domain { max-width: 22em; } .form-field #site-title, .form-field #admin-email, .form-field #path, .form-field #blog_registered, .form-field #blog_last_updated { max-width: 25em; } .form-field #path { margin-bottom: 5px; } #search-users, #search-sites { max-width: 60%; } .configuration-rules-label { font-weight: 600; margin-bottom: 4px; } /*------------------------------------------------------------------------------ Credentials check dialog for Install and Updates ------------------------------------------------------------------------------*/ .request-filesystem-credentials-dialog { display: none; /* The customizer uses visibility: hidden on the body for full-overlays. */ visibility: visible; } .request-filesystem-credentials-dialog .notification-dialog { top: 10%; max-height: 85%; } .request-filesystem-credentials-dialog-content { margin: 25px; } #request-filesystem-credentials-title { font-size: 1.3em; margin: 1em 0; } .request-filesystem-credentials-form legend { font-size: 1em; padding: 1.33em 0; font-weight: 600; } .request-filesystem-credentials-form input[type="text"], .request-filesystem-credentials-form input[type="password"] { display: block; } .request-filesystem-credentials-dialog input[type="text"], .request-filesystem-credentials-dialog input[type="password"] { width: 100%; } .request-filesystem-credentials-form .field-title { font-weight: 600; } .request-filesystem-credentials-dialog label[for="hostname"], .request-filesystem-credentials-dialog label[for="public_key"], .request-filesystem-credentials-dialog label[for="private_key"] { display: block; margin-bottom: 1em; } .request-filesystem-credentials-dialog .ftp-username, .request-filesystem-credentials-dialog .ftp-password { float: right; width: 48%; } .request-filesystem-credentials-dialog .ftp-password { margin-right: 4%; } .request-filesystem-credentials-dialog .request-filesystem-credentials-action-buttons { text-align: left; } .request-filesystem-credentials-dialog label[for="ftp"] { margin-left: 10px; } .request-filesystem-credentials-dialog #auth-keys-desc { margin-bottom: 0; } #request-filesystem-credentials-dialog .button:not(:last-child) { margin-left: 10px; } #request-filesystem-credentials-form .cancel-button { display: none; } #request-filesystem-credentials-dialog .cancel-button { display: inline; } .request-filesystem-credentials-dialog .ftp-username, .request-filesystem-credentials-dialog .ftp-password { float: none; width: auto; } .request-filesystem-credentials-dialog .ftp-username { margin-bottom: 1em; } .request-filesystem-credentials-dialog .ftp-password { margin: 0; } .request-filesystem-credentials-dialog .ftp-password em { color: #8c8f94; } .request-filesystem-credentials-dialog label { display: block; line-height: 1.5; margin-bottom: 1em; } .request-filesystem-credentials-form legend { padding-bottom: 0; } .request-filesystem-credentials-form #ssh-keys legend { font-size: 1.3em; } .request-filesystem-credentials-form .notice { margin: 0 0 20px; clear: both; } /*------------------------------------------------------------------------------ Privacy Policy settings screen ------------------------------------------------------------------------------*/ .tools-privacy-policy-page form { margin-bottom: 1.3em; } .tools-privacy-policy-page input.button { margin: 0 6px 0 1px; } .tools-privacy-policy-page select { margin: 0 6px 0.5em 1px; } .tools-privacy-edit { margin: 1.5em 0; } .tools-privacy-policy-page span { line-height: 2; } .privacy_requests .column-email { width: 40%; } .privacy_requests .column-type { text-align: center; } .privacy_requests thead td:first-child, .privacy_requests tfoot td:first-child { border-right: 4px solid #fff; } .privacy_requests tbody th { border-right: 4px solid #fff; background: #fff; box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.1); } .privacy_requests .row-actions { color: #787c82; } .privacy_requests .row-actions.processing { position: static; } .privacy_requests tbody .has-request-results th { box-shadow: none; } .privacy_requests tbody .request-results th .notice { margin: 0 0 5px; } .privacy_requests tbody td { background: #fff; box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.1); } .privacy_requests tbody .has-request-results td { box-shadow: none; } .privacy_requests .next_steps .button { word-wrap: break-word; white-space: normal; } .privacy_requests .status-request-confirmed th, .privacy_requests .status-request-confirmed td { background-color: #fff; border-right-color: #72aee6; } .privacy_requests .status-request-failed th, .privacy_requests .status-request-failed td { background-color: #f6f7f7; border-right-color: #d63638; } .privacy_requests .export_personal_data_failed a { vertical-align: baseline; } .status-label { font-weight: 600; } .status-label.status-request-pending { font-weight: 400; font-style: italic; color: #646970; } .status-label.status-request-failed { color: #d63638; font-weight: 600; } .wp-privacy-request-form { clear: both; } .wp-privacy-request-form-field { margin: 1.5em 0; } .wp-privacy-request-form input { margin: 0; } .email-personal-data::before { display: inline-block; font: normal 20px/1 dashicons; margin: 3px -2px 0 5px; speak: never; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; vertical-align: top; } .email-personal-data--sending::before { color: #d63638; content: "\f463"; animation: rotation 2s infinite linear; } .email-personal-data--sent::before { color: #68de7c; content: "\f147"; } /* =Media Queries -------------------------------------------------------------- */ @media screen and (max-width: 782px) { /* Input Elements */ textarea { -webkit-appearance: none; } input[type="text"], input[type="password"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="email"], input[type="month"], input[type="number"], input[type="search"], input[type="tel"], input[type="time"], input[type="url"], input[type="week"] { -webkit-appearance: none; padding: 3px 10px; /* Only necessary for IE11 */ min-height: 40px; } ::-webkit-datetime-edit { line-height: 1.875; /* 30px */ } input[type="checkbox"], .widefat th input[type="checkbox"], .widefat thead td input[type="checkbox"], .widefat tfoot td input[type="checkbox"] { -webkit-appearance: none; } .widefat th input[type="checkbox"], .widefat thead td input[type="checkbox"], .widefat tfoot td input[type="checkbox"] { margin-bottom: 8px; } input[type="checkbox"]:checked:before, .widefat th input[type="checkbox"]:before, .widefat thead td input[type="checkbox"]:before, .widefat tfoot td input[type="checkbox"]:before { width: 1.875rem; height: 1.875rem; margin: -0.1875rem -0.3125rem; } input[type="radio"], input[type="checkbox"] { height: 1.5625rem; width: 1.5625rem; } .wp-admin p input[type="checkbox"], .wp-admin p input[type="radio"] { margin-top: -0.1875rem; } input[type="radio"]:checked:before { vertical-align: middle; width: 0.5625rem; height: 0.5625rem; margin: 0.4375rem; line-height: 0.76190476; } .wp-upload-form input[type="submit"] { margin-top: 10px; } .wp-core-ui select, .wp-admin .form-table select { min-height: 40px; font-size: 16px; line-height: 1.625; /* 26px */ padding: 5px 8px 5px 24px; } .wp-admin .button-cancel { margin-bottom: 0; padding: 2px 0; font-size: 14px; vertical-align: middle; } #adduser .form-field input, #createuser .form-field input { width: 100%; } .form-table { box-sizing: border-box; } .form-table th, .form-table td, .label-responsive { display: block; width: auto; vertical-align: middle; } .label-responsive { margin: 0.5em 0; } .export-filters li { margin-bottom: 0; } .form-table .color-palette .color-palette-shade, .form-table .color-palette td { display: table-cell; width: 15px; height: 30px; padding: 0; } .form-table .color-palette { margin-left: 10px; } textarea, input { font-size: 16px; } .form-table td input[type="text"], .form-table td input[type="email"], .form-table td input[type="password"], .form-table td select, .form-table td textarea, .form-table span.description, #profile-page .form-table textarea { width: 100%; display: block; max-width: none; box-sizing: border-box; } .form-table .form-required.form-invalid td:after { float: left; margin: -30px 0 0 3px; } input[type="text"].small-text, input[type="search"].small-text, input[type="password"].small-text, input[type="number"].small-text, input[type="number"].small-text, .form-table input[type="text"].small-text { width: auto; max-width: 4.375em; /* 70px, enough for 4 digits to fit comfortably */ display: inline; padding: 3px 6px; margin: 0 3px; } .form-table .regular-text ~ input[type="text"].small-text { margin-top: 5px; } #pass-strength-result { width: 100%; box-sizing: border-box; padding: 8px; } .password-input-wrapper { display: block; } p.search-box { float: none; width: 100%; margin-bottom: 20px; display: flex; } p.search-box input[name="s"] { float: none; width: 100%; margin-bottom: 10px; vertical-align: middle; } p.search-box input[type="submit"] { margin-bottom: 10px; } .form-table span.description { display: inline; padding: 4px 0 0; line-height: 1.4; font-size: 14px; } .form-table th { padding: 10px 0 0; border-bottom: 0; } .form-table td { margin-bottom: 0; padding: 4px 0 6px; } .form-table.permalink-structure td code { display: inline-block; } .form-table.permalink-structure .structure-selection { margin-top: 8px; } .form-table.permalink-structure .structure-selection .row > div { max-width: calc(100% - 36px); width: 100%; } .form-table.permalink-structure td input[type="text"] { margin-top: 4px; } .form-table input.regular-text { width: 100%; } .form-table label { font-size: 14px; } .form-table td > label:first-child { display: inline-block; margin-top: 0.35em; } .background-position-control .button-group > label { font-size: 0; } .form-table fieldset label { display: block; } .form-field #domain { max-width: none; } /* New Password */ .wp-pwd { position: relative; } /* Needs higher specificity than normal input type text and password. */ #profile-page .form-table #pass1 { padding-left: 90px; } .wp-pwd button.button { background: transparent; border: 1px solid transparent; box-shadow: none; line-height: 2; margin: 0; padding: 5px 9px; position: absolute; left: 0; top: 0; width: 2.375rem; height: 2.375rem; min-width: 40px; min-height: 40px; } .wp-pwd button.wp-hide-pw { left: 2.5rem; } body.user-new-php .wp-pwd button.wp-hide-pw { left: 0; } .wp-pwd button.button:hover, .wp-pwd button.button:focus { background: transparent; } .wp-pwd button.button:active { background: transparent; box-shadow: none; transform: none; } .wp-pwd .button .text { display: none; } .wp-pwd [type="text"], .wp-pwd [type="password"] { line-height: 2; padding-left: 5rem; } body.user-new-php .wp-pwd [type="text"], body.user-new-php .wp-pwd [type="password"] { padding-left: 2.5rem; } .wp-cancel-pw .dashicons-no { display: inline-block; } .mailserver-pass-wrap .wp-pwd { display: block; } /* rtl:ignore */ #mailserver_pass { padding-left: 10px; } .options-general-php input[type="text"].small-text { max-width: 6.25em; margin: 0; } /* Privacy Policy settings screen */ .tools-privacy-policy-page form.wp-create-privacy-page { margin-bottom: 1em; } .tools-privacy-policy-page input#set-page, .tools-privacy-policy-page select { margin: 10px 0 0; } .tools-privacy-policy-page .wp-create-privacy-page span { display: block; margin-bottom: 1em; } .tools-privacy-policy-page .wp-create-privacy-page .button { margin-right: 0; } .wp-list-table.privacy_requests tr:not(.inline-edit-row):not(.no-items) td.column-primary:not(.check-column) { display: table-cell; } .wp-list-table.privacy_requests.widefat th input, .wp-list-table.privacy_requests.widefat thead td input { margin-right: 5px; } .wp-privacy-request-form-field input[type="text"] { width: 100%; margin-bottom: 10px; vertical-align: middle; } .regular-text { max-width: 100%; } } @media only screen and (max-width: 768px) { .form-field input[type="text"], .form-field input[type="email"], .form-field input[type="password"], .form-field select, .form-field textarea { width: 99%; } .form-wrap .form-field { padding: 0; } } @media only screen and (max-height: 480px), screen and (max-width: 450px) { /* Request Credentials / File Editor Warning */ .request-filesystem-credentials-dialog .notification-dialog, .file-editor-warning .notification-dialog { width: 100%; height: 100%; max-height: 100%; position: fixed; top: 0; margin: 0; right: 0; } } /* Smartphone */ @media screen and (max-width: 600px) { /* Color Picker Options */ .color-option { width: 49%; } } @media only screen and (max-width: 320px) { .options-general-php .date-time-text.date-time-custom-text { min-width: 0; margin-left: 0.5em; } } @keyframes rotation { 0% { transform: rotate(0deg); } 100% { transform: rotate(-359deg); } } view/wplogin/css/forms-rtl.min.css000064400000066245147600042240013222 0ustar00/*! This file is auto-generated */ @keyframes rotation{0%{transform:rotate(0deg)}to{transform:rotate(-359deg)}}button,input,select,textarea{box-sizing:border-box;font-family:inherit;font-weight:inherit;font-size:14px}button,select{font-size:inherit}textarea{overflow:auto;padding:2px 6px;line-height:1.42857143;resize:vertical}input,select{margin:0 1px}textarea.code{padding:4px 6px 1px}input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{box-shadow:0 0 0 transparent;border-radius:4px;border:1px solid #8c8f94;background-color:#fff;color:#2c3338}input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week]{padding:0 8px;line-height:2;min-height:30px}::-webkit-datetime-edit{line-height:1.85714286}input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=radio]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select:focus,textarea:focus{border-color:#2271b1;box-shadow:0 0 0 1px #2271b1;outline:2px solid transparent}input[type=email],input[type=url]{direction:ltr}input[type=checkbox]{border-radius:4px;line-height:0}input[type=checkbox],input[type=radio]{border:1px solid #8c8f94;background:#fff;color:#50575e;clear:none;cursor:pointer;display:inline-block;height:1rem;margin:-.25rem 0 0 .25rem;outline:0;padding:0!important;text-align:center;vertical-align:middle;width:1rem;min-width:1rem;-webkit-appearance:none;box-shadow:inset 0 1px 2px rgba(0,0,0,.1);transition:.05s border-color ease-in-out}input[type=radio]:checked+label:before{color:#8c8f94}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#135e96}.wp-admin p input[type=checkbox],.wp-admin p input[type=radio],td>input[type=checkbox]{margin-top:0}.wp-admin p label input[type=checkbox]{margin-top:-4px}.wp-admin p label input[type=radio]{margin-top:-2px}input[type=radio]{border-radius:50%;margin-left:.25rem;line-height:.71428571}input[type=checkbox]:checked::before,input[type=radio]:checked::before{float:right;display:inline-block;vertical-align:middle;speak:never;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input[type=checkbox]:checked::before{content:url(data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2020%2020%27%3E%3Cpath%20d%3D%27M14.83%204.89l1.34.94-5.81%208.38H9.02L5.78%209.67l1.34-1.25%202.57%202.4z%27%20fill%3D%27%233582c4%27%2F%3E%3C%2Fsvg%3E);margin:-.1875rem -.25rem 0 0;height:1.3125rem;width:1.3125rem}input[type=radio]:checked::before{content:"";border-radius:50%;width:.5rem;height:.5rem;margin:.1875rem;background-color:#3582c4;line-height:1.14285714}@-moz-document url-prefix(){.form-table input.tog,input[type=checkbox],input[type=radio]{margin-bottom:-1px}}input[type=search]{-webkit-appearance:textfield}input[type=search]::-webkit-search-decoration{display:none}.wp-admin input[type=file]{padding:3px 0;cursor:pointer}input.readonly,input[readonly],textarea.readonly,textarea[readonly]{background-color:#f0f0f1}::-webkit-input-placeholder{color:#646970}::-moz-placeholder{color:#646970;opacity:1}:-ms-input-placeholder{color:#646970}.form-invalid .form-required,.form-invalid .form-required:focus,.form-invalid.form-required input,.form-invalid.form-required input:focus,.form-invalid.form-required select,.form-invalid.form-required select:focus{border-color:#d63638!important;box-shadow:0 0 2px rgba(214,54,56,.8)}.form-table .form-required.form-invalid td:after{content:"";font:20px/1 dashicons;color:#d63638;margin-right:-25px;vertical-align:middle}.form-table .form-required.user-pass1-wrap.form-invalid td:after{content:""}.form-table .form-required.user-pass1-wrap.form-invalid .password-input-wrapper:after{content:"";font:20px/1 dashicons;color:#d63638;margin:0-29px 0 6px;vertical-align:middle}.form-input-tip{color:#646970}input.disabled,input:disabled,select.disabled,select:disabled,textarea.disabled,textarea:disabled{background:rgba(255,255,255,.5);border-color:rgba(220,220,222,.75);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);color:rgba(44,51,56,.5)}input[type=file].disabled,input[type=file]:disabled,input[type=file][aria-disabled=true],input[type=range].disabled,input[type=range]:disabled,input[type=range][aria-disabled=true]{background:0 0;box-shadow:none;cursor:default}input[type=checkbox].disabled,input[type=checkbox].disabled:checked:before,input[type=checkbox]:disabled,input[type=checkbox]:disabled:checked:before,input[type=checkbox][aria-disabled=true],input[type=radio].disabled,input[type=radio].disabled:checked:before,input[type=radio]:disabled,input[type=radio]:disabled:checked:before,input[type=radio][aria-disabled=true]{opacity:.7;cursor:default}.wp-core-ui select{font-size:14px;line-height:2;color:#2c3338;border-color:#8c8f94;box-shadow:none;border-radius:3px;padding:0 8px 0 24px;min-height:30px;max-width:25rem;-webkit-appearance:none;background:#fff url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%206l5%205%205-5%202%201-7%207-7-7%202-1z%22%20fill%3D%22%23555%22%2F%3E%3C%2Fsvg%3E)no-repeat left 5px top 55%;background-size:16px 16px;cursor:pointer;vertical-align:middle}.wp-core-ui select:hover{color:#2271b1}.wp-core-ui select:focus{border-color:#2271b1;color:#0a4b78;box-shadow:0 0 0 1px #2271b1}.wp-core-ui select:active{border-color:#8c8f94;box-shadow:none}.wp-core-ui select.disabled,.wp-core-ui select:disabled{color:#a7aaad;border-color:#dcdcde;background-color:#f6f7f7;background-image:url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%206l5%205%205-5%202%201-7%207-7-7%202-1z%22%20fill%3D%22%23a0a5aa%22%2F%3E%3C%2Fsvg%3E);box-shadow:none;text-shadow:0 1px 0#fff;cursor:default;transform:none}.wp-core-ui select[aria-disabled=true]{cursor:default}.wp-core-ui select:-moz-focusring{color:transparent;text-shadow:0 0 0#0a4b78}.wp-core-ui select::-ms-value{background:0 0;color:#50575e}.wp-core-ui select:hover::-ms-value{color:#2271b1}.wp-core-ui select:focus::-ms-value{color:#0a4b78}.wp-core-ui select.disabled::-ms-value,.wp-core-ui select:disabled::-ms-value{color:#a7aaad}.wp-core-ui select::-ms-expand{display:none}.wp-admin .button-cancel{display:inline-block;min-height:28px;padding:0 5px;line-height:2}.meta-box-sortables select,.site-icon-section .site-icon-preview img,p.submit{max-width:100%}#your-profile label+a,.meta-box-sortables input,fieldset label,label{vertical-align:middle}.form-table.permalink-structure .structure-selection .row p,.misc-pub-post-status select{margin-top:0}.wp-core-ui select[multiple]{height:auto;padding-left:8px;background:#fff}.submit{padding:1.5em 0;margin:5px 0;border-bottom-right-radius:3px;border-bottom-left-radius:3px;border:0}form p.submit a.cancel:hover{text-decoration:none}p.submit{text-align:right;margin-top:20px;padding-top:10px}.textright p.submit{border:0;text-align:left}table.form-table+input+input+p.submit,table.form-table+input+p.submit,table.form-table+p.submit{border-top:none;padding-top:0}#major-publishing-actions input,#minor-publishing-actions .preview,#minor-publishing-actions input{text-align:center}input.all-options,textarea.all-options{width:250px}input.large-text,textarea.large-text{width:99%}.regular-text{width:25em}input.small-text{width:50px;padding:0 6px}label input.small-text{margin-top:-4px}input[type=number].small-text{width:65px;padding-left:0}input.tiny-text{width:35px}input[type=number].tiny-text{width:45px;padding-left:0}#doaction,#doaction2,#post-query-submit{margin:0 0 0 8px}.tablenav .actions select{float:right;margin-left:6px;max-width:12.5rem}#timezone_string option{margin-right:1em}.wp-cancel-pw>.dashicons,.wp-hide-pw>.dashicons{position:relative;top:3px;width:1.25rem;height:1.25rem;top:.25rem;font-size:20px}.no-js input#changeit2,.no-js input#doaction2,.no-js label[for=bulk-action-selector-bottom],.no-js label[for=new_role2],.no-js select#bulk-action-selector-bottom,.no-js select#new_role2,.wp-cancel-pw .dashicons-no{display:none}.options-media-php [for*=_size_]{min-width:10em;vertical-align:baseline}#export-filters p,.options-media-php .small-text[name*=_size_]{margin:0 0 1em}.wp-generate-pw,.wp-pwd{margin-top:1em;position:relative}.wp-pwd button{height:min-content}.wp-pwd button.pwd-toggle .dashicons{position:relative;top:.25rem}.mailserver-pass-wrap .wp-pwd{display:inline-block;margin-top:0}#mailserver_pass{padding-right:2.5rem}.mailserver-pass-wrap .button.wp-hide-pw{background:0 0;border:1px solid transparent;box-shadow:none;font-size:14px;line-height:2;width:2.5rem;min-width:40px;margin:0;padding:0 9px;position:absolute;right:0;top:0}.mailserver-pass-wrap .button.wp-hide-pw:hover{background:0 0;border-color:transparent}.mailserver-pass-wrap .button.wp-hide-pw:focus{background:0 0;border-color:#3582c4;border-radius:4px;box-shadow:0 0 0 1px #3582c4;outline:2px solid transparent}.mailserver-pass-wrap .button.wp-hide-pw:active{background:0 0;box-shadow:none;transform:none}#misc-publishing-actions label,.privacy_requests .export_personal_data_failed a{vertical-align:baseline}#pass-strength-result{background-color:#f0f0f1;border:1px solid #dcdcde;color:#1d2327;margin:-1px 1px 5px;padding:3px 5px;text-align:center;width:25em;box-sizing:border-box;opacity:0}#pass-strength-result.short{background-color:#ffabaf;border-color:#e65054;opacity:1}#pass-strength-result.bad{background-color:#facfd2;border-color:#f86368;opacity:1}#pass-strength-result.good{background-color:#f5e6ab;border-color:#f0c33c;opacity:1}#pass-strength-result.strong{background-color:#b8e6bf;border-color:#68de7c;opacity:1}.password-input-wrapper{display:inline-block}.password-input-wrapper input{font-family:Consolas,Monaco,monospace}#pass1-text.short,#pass1.short{border-color:#e65054}#pass1-text.bad,#pass1.bad{border-color:#f86368}#pass1-text.good,#pass1.good{border-color:#f0c33c}#pass1-text.strong,#pass1.strong{border-color:#68de7c}#pass1-text:focus,#pass1:focus{box-shadow:0 0 0 2px #2271b1;outline:2px solid transparent}#pass1-text,.pw-weak,.show-password #pass1{display:none}.indicator-hint{padding-top:8px}.wp-pwd [type=password],.wp-pwd [type=text]{margin-bottom:0;min-height:30px}.wp-pwd input::-ms-reveal{display:none}#pass1-text::-ms-clear{display:none}.show-password #pass1-text{display:inline-block}p.search-box{float:left;margin:0}.network-admin.themes-php p.search-box{clear:right}.search-box input[name=s],.tablenav .search-plugins input[name=s],.tagsdiv .newtag{float:right;margin:0 0 0 4px}.js.plugins-php .search-box .wp-filter-search{margin:0;width:280px}input[type=email].ui-autocomplete-loading,input[type=text].ui-autocomplete-loading{background-image:url(../images/loading.gif);background-repeat:no-repeat;background-position:left 5px center;visibility:visible}input.ui-autocomplete-input.open{border-bottom-color:transparent}ul#add-to-blog-users{margin:0 14px 0 0}.ui-autocomplete{padding:0;margin:0;list-style:none;position:absolute;z-index:10000;border:1px solid #4f94d4;box-shadow:0 1px 2px rgba(79,148,212,.8);background-color:#fff}.ui-autocomplete li{margin-bottom:0;padding:4px 10px;white-space:nowrap;text-align:right;cursor:pointer}.ui-autocomplete .ui-state-focus{background-color:#dcdcde}.wp-tags-autocomplete .ui-state-focus,.wp-tags-autocomplete [aria-selected=true]{background-color:#2271b1;color:#fff;outline:2px solid transparent}.button-add-site-icon{width:100%;cursor:pointer;text-align:center;border:1px dashed #c3c4c7;box-sizing:border-box;padding:9px 0;line-height:1.6;max-width:270px}.button-add-site-icon:focus,.button-add-site-icon:hover{background:#fff}.site-icon-section .favicon-preview{float:right}.site-icon-section .app-icon-preview{float:right;margin:0 20px}.button-add-site-icon:focus{background-color:#fff;border-color:#3582c4;border-style:solid;box-shadow:0 0 0 1px #3582c4;outline:2px solid transparent}.form-table{border-collapse:collapse;width:100%;clear:both}.form-table,.form-table td,.form-table td p,.form-table th{font-size:14px}.form-table td{margin-bottom:9px;padding:15px 10px;line-height:1.3;vertical-align:middle}.form-table th{color:#1d2327;text-shadow:none;vertical-align:top;text-align:right;padding:20px 0 20px 10px;width:200px;line-height:1.3}.form-wrap label{color:#1d2327;font-weight:400;text-shadow:none;vertical-align:baseline}.form-table .td-full,.form-table th.th-full{width:auto;padding:20px 0 20px 10px;font-weight:400}.form-table td p{margin-top:4px;margin-bottom:0}.form-table .date-time-doc{margin-top:1em}.form-table p.timezone-info{margin:1em 0;display:flex;flex-direction:column}#local-time,.form-table{margin-top:.5em}.form-table td fieldset label{margin:.35em 0 .5em!important;display:inline-block;line-height:1.4}.form-table td fieldset p label{margin-top:0!important}.form-table td fieldset li,.form-table td fieldset p{line-height:1.4}.form-table input.tog,.form-table input[type=radio]{margin-top:-4px;margin-left:4px;float:none}.form-table .pre{padding:8px;margin:0}table.form-table td .updated{font-size:13px}table.form-table td .updated p{font-size:13px;margin:.3em 0}#profile-page .form-table textarea{width:500px;margin-bottom:6px}#profile-page .form-table #rich_editing{margin-left:5px}#your-profile legend{font-size:22px}#display_name{width:15em}#adduser .form-field input,#createuser .form-field input{width:25em}.color-option{display:inline-block;width:24%;padding:5px 15px 15px;box-sizing:border-box;margin-bottom:3px}.color-option.selected,.color-option:hover{background:#dcdcde}.color-palette{display:table;width:100%;border-spacing:0;border-collapse:collapse}.color-palette .color-palette-shade,.color-palette td{display:table-cell;height:20px;padding:0;border:0}.color-option{cursor:pointer}.create-application-password .form-field{max-width:25em}.create-application-password label,.form-table th,.form-table.permalink-structure .structure-selection .row label{font-weight:600}.create-application-password p.submit{margin-bottom:0;padding-bottom:0;display:block}#application-passwords-section .notice{margin-top:20px;margin-bottom:0;word-wrap:break-word}.application-password-display input.code{width:19em}.auth-app-card.card{max-width:768px}.authorize-application-php .form-wrap p{display:block}.tool-box .title{margin:8px 0;font-size:18px;font-weight:400;line-height:24px}.label-responsive{vertical-align:middle}#export-filters p.submit{margin:7px 0 5px}.card{position:relative;margin-top:20px;padding:.7em 2em 1em;min-width:255px;max-width:520px;border:1px solid #c3c4c7;box-shadow:0 1px 1px rgba(0,0,0,.04);background:#fff;box-sizing:border-box}.pressthis h4{margin:2em 0 1em}.pressthis textarea{width:100%;font-size:1em}#pressthis-code-wrap{overflow:auto}.pressthis-bookmarklet-wrapper{margin:20px 0 8px;vertical-align:top;position:relative;z-index:1}.pressthis-bookmarklet,.pressthis-bookmarklet:active,.pressthis-bookmarklet:focus,.pressthis-bookmarklet:hover{display:inline-block;position:relative;cursor:move;color:#2c3338;background:#dcdcde;border-radius:5px;border:1px solid #c3c4c7;font-style:normal;line-height:16px;font-size:14px;text-decoration:none}.pressthis-bookmarklet:active{outline:0}.pressthis-bookmarklet:after{content:"";width:70%;height:55%;z-index:-1;position:absolute;left:10px;bottom:9px;background:0 0;transform:skew(-20deg) rotate(-6deg);box-shadow:0 10px 8px rgba(0,0,0,.6)}.pressthis-bookmarklet:hover:after{transform:skew(-20deg) rotate(-9deg);box-shadow:0 10px 8px rgba(0,0,0,.7)}.pressthis-bookmarklet span{display:inline-block;margin:0;padding:0 9px 8px 12px}.pressthis-bookmarklet span:before{color:#787c82;font:20px/1 dashicons;content:"";position:relative;display:inline-block;top:4px;margin-left:4px}.pressthis-js-toggle,.pressthis-js-toggle.button.button{margin-right:10px;padding:0;height:auto;vertical-align:top}.pressthis-js-toggle .dashicons{margin:5px 7px 6px 8px;color:#50575e}.timezone-info code{white-space:nowrap}.defaultavatarpicker .avatar{margin:2px 0;vertical-align:middle}.options-general-php .date-time-text{display:inline-block;min-width:10em}.options-general-php input.small-text{width:56px;margin:-2px 0}.options-general-php .spinner{float:none;margin:-3px 3px 0}.options-general-php .language-install-spinner,.profile-php .language-install-spinner,.settings-php .language-install-spinner,.user-edit-php .language-install-spinner{display:inline-block;float:none;margin:-3px 5px 0;vertical-align:middle}.form-table.permalink-structure .available-structure-tags{margin-top:8px}.form-table.permalink-structure .available-structure-tags ul{display:flex;flex-wrap:wrap;margin:8px 0 0}.form-table.permalink-structure .available-structure-tags li{margin:6px 0 0 5px}.form-table.permalink-structure .available-structure-tags li:last-child{margin-left:0}.form-table.permalink-structure .structure-selection .row{margin-bottom:16px}.form-table.permalink-structure .structure-selection .row>div{max-width:calc(100% - 24px);display:inline-flex;flex-direction:column}.setup-php textarea{max-width:100%}.form-field #site-address{max-width:25em}.form-field #domain{max-width:22em}.form-field #admin-email,.form-field #blog_last_updated,.form-field #blog_registered,.form-field #path,.form-field #site-title{max-width:25em}.form-field #path{margin-bottom:5px}#search-sites,#search-users{max-width:60%}.configuration-rules-label{font-weight:600;margin-bottom:4px}.request-filesystem-credentials-dialog{display:none;visibility:visible}.request-filesystem-credentials-dialog .notification-dialog{top:10%;max-height:85%}.request-filesystem-credentials-dialog-content{margin:25px}#request-filesystem-credentials-title{font-size:1.3em;margin:1em 0}.request-filesystem-credentials-form legend{font-size:1em;font-weight:600;padding:1.33em 0 0}.request-filesystem-credentials-form input[type=password],.request-filesystem-credentials-form input[type=text]{display:block}.request-filesystem-credentials-dialog input[type=password],.request-filesystem-credentials-dialog input[type=text]{width:100%}.request-filesystem-credentials-form .field-title{font-weight:600}.request-filesystem-credentials-dialog label[for=hostname],.request-filesystem-credentials-dialog label[for=private_key],.request-filesystem-credentials-dialog label[for=public_key]{display:block;margin-bottom:1em}.request-filesystem-credentials-dialog .request-filesystem-credentials-action-buttons{text-align:left}.request-filesystem-credentials-dialog label[for=ftp]{margin-left:10px}.request-filesystem-credentials-dialog #auth-keys-desc{margin-bottom:0}#request-filesystem-credentials-dialog .button:not(:last-child){margin-left:10px}#request-filesystem-credentials-form .cancel-button{display:none}#request-filesystem-credentials-dialog .cancel-button{display:inline}.request-filesystem-credentials-dialog .ftp-password,.request-filesystem-credentials-dialog .ftp-username{float:none;width:auto}.request-filesystem-credentials-dialog .ftp-username{margin-bottom:1em}.request-filesystem-credentials-dialog .ftp-password,.wp-privacy-request-form input{margin:0}.request-filesystem-credentials-dialog .ftp-password em{color:#8c8f94}.request-filesystem-credentials-dialog label{display:block;line-height:1.5;margin-bottom:1em}.request-filesystem-credentials-form #ssh-keys legend{font-size:1.3em}.request-filesystem-credentials-form .notice{margin:0 0 20px;clear:both}.tools-privacy-policy-page form{margin-bottom:1.3em}.tools-privacy-policy-page input.button{margin:0 6px 0 1px}.tools-privacy-policy-page select{margin:0 6px .5em 1px}.tools-privacy-edit{margin:1.5em 0}.tools-privacy-policy-page span{line-height:2}.privacy_requests .column-email{width:40%}.privacy_requests .column-type{text-align:center}.privacy_requests tfoot td:first-child,.privacy_requests thead td:first-child{border-right:4px solid #fff}.privacy_requests tbody th{border-right:4px solid #fff}.privacy_requests .row-actions{color:#787c82}.privacy_requests .row-actions.processing{position:static}.privacy_requests tbody .has-request-results td,.privacy_requests tbody .has-request-results th{box-shadow:none}.privacy_requests tbody .request-results th .notice{margin:0 0 5px}.privacy_requests tbody td,.privacy_requests tbody th{background:#fff;box-shadow:inset 0-1px 0 rgba(0,0,0,.1)}.privacy_requests .next_steps .button{word-wrap:break-word;white-space:normal}.privacy_requests .status-request-confirmed td,.privacy_requests .status-request-confirmed th{background-color:#fff;border-right-color:#72aee6}.privacy_requests .status-request-failed td,.privacy_requests .status-request-failed th{background-color:#f6f7f7;border-right-color:#d63638}.status-label{font-weight:600}.status-label.status-request-pending{font-weight:400;font-style:italic;color:#646970}.status-label.status-request-failed{color:#d63638;font-weight:600}.wp-privacy-request-form{clear:both}.wp-privacy-request-form-field{margin:1.5em 0}.email-personal-data::before{display:inline-block;font:20px/1 dashicons;margin:3px -2px 0 5px;speak:never;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:top}.email-personal-data--sending::before{color:#d63638;content:"";animation:rotation 2s infinite linear}.email-personal-data--sent::before{color:#68de7c;content:""}@media screen and (max-width:782px){textarea{-webkit-appearance:none}input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week]{-webkit-appearance:none;padding:3px 10px;min-height:40px}::-webkit-datetime-edit{line-height:1.875}.widefat tfoot td input[type=checkbox],.widefat th input[type=checkbox],.widefat thead td input[type=checkbox],input[type=checkbox]{-webkit-appearance:none}.widefat tfoot td input[type=checkbox],.widefat th input[type=checkbox],.widefat thead td input[type=checkbox]{margin-bottom:8px}.widefat tfoot td input[type=checkbox]:before,.widefat th input[type=checkbox]:before,.widefat thead td input[type=checkbox]:before,input[type=checkbox]:checked:before{width:1.875rem;height:1.875rem;margin:-.1875rem -.3125rem}input[type=checkbox],input[type=radio]{height:1.5625rem;width:1.5625rem}.wp-admin p input[type=checkbox],.wp-admin p input[type=radio]{margin-top:-.1875rem}input[type=radio]:checked:before{vertical-align:middle;width:.5625rem;height:.5625rem;margin:.4375rem;line-height:.76190476}.wp-upload-form input[type=submit]{margin-top:10px}.wp-admin .form-table select,.wp-core-ui select{min-height:40px;font-size:16px;line-height:1.625;padding:5px 8px 5px 24px}.wp-admin .button-cancel{margin-bottom:0;padding:2px 0;font-size:14px;vertical-align:middle}#adduser .form-field input,#createuser .form-field input{width:100%}.form-table{box-sizing:border-box}.form-table td,.form-table th,.label-responsive{display:block;width:auto;vertical-align:middle}.label-responsive{margin:.5em 0}.export-filters li,.form-table td{margin-bottom:0}.form-table .color-palette .color-palette-shade,.form-table .color-palette td{display:table-cell;width:15px;height:30px;padding:0}.form-table .color-palette{margin-left:10px}input,textarea{font-size:16px}#profile-page .form-table textarea,.form-table span.description,.form-table td input[type=email],.form-table td input[type=password],.form-table td input[type=text],.form-table td select,.form-table td textarea{width:100%;display:block;max-width:none;box-sizing:border-box}.form-table span.description{display:inline;padding:4px 0 0;line-height:1.4;font-size:14px}.form-table .form-required.form-invalid td:after{float:left;margin:-30px 0 0 3px}.form-table input[type=text].small-text,input[type=number].small-text,input[type=password].small-text,input[type=search].small-text,input[type=text].small-text{width:auto;max-width:4.375em;display:inline;padding:3px 6px;margin:0 3px}.form-table .regular-text~input[type=text].small-text{margin-top:5px}#pass-strength-result{width:100%;box-sizing:border-box;padding:8px}.form-table fieldset label,.password-input-wrapper{display:block}p.search-box{float:none;width:100%;margin-bottom:20px;display:flex}p.search-box input[name=s]{float:none;width:100%;margin-bottom:10px;vertical-align:middle}p.search-box input[type=submit]{margin-bottom:10px}.form-table th{padding:10px 0 0;border-bottom:0}.form-table td{padding:4px 0 6px}.form-table.permalink-structure td code{display:inline-block}.form-table.permalink-structure .structure-selection{margin-top:8px}.form-table.permalink-structure .structure-selection .row>div{max-width:calc(100% - 36px);width:100%}.form-table.permalink-structure td input[type=text]{margin-top:4px}.form-table input.regular-text{width:100%}.form-table label{font-size:14px}.form-table td>label:first-child{display:inline-block;margin-top:.35em}.background-position-control .button-group>label{font-size:0}.form-field #domain{max-width:none}.wp-pwd{position:relative}#profile-page .form-table #pass1{padding-left:90px}.wp-pwd button.button{background:0 0;border:1px solid transparent;box-shadow:none;line-height:2;margin:0;padding:5px 9px;position:absolute;left:0;top:0;width:2.375rem;height:2.375rem;min-width:40px;min-height:40px}.wp-pwd button.wp-hide-pw{left:2.5rem}body.user-new-php .wp-pwd button.wp-hide-pw{left:0}.wp-pwd button.button:focus,.wp-pwd button.button:hover{background:0 0}.wp-pwd button.button:active{background:0 0;box-shadow:none;transform:none}.wp-pwd .button .text{display:none}.wp-pwd [type=password],.wp-pwd [type=text]{line-height:2;padding-left:5rem}body.user-new-php .wp-pwd [type=password],body.user-new-php .wp-pwd [type=text]{padding-left:2.5rem}.wp-cancel-pw .dashicons-no{display:inline-block}.mailserver-pass-wrap .wp-pwd{display:block}#mailserver_pass{padding-left:10px}.options-general-php input[type=text].small-text{max-width:6.25em;margin:0}.tools-privacy-policy-page form.wp-create-privacy-page{margin-bottom:1em}.tools-privacy-policy-page input#set-page,.tools-privacy-policy-page select{margin:10px 0 0}.tools-privacy-policy-page .wp-create-privacy-page span{display:block;margin-bottom:1em}.tools-privacy-policy-page .wp-create-privacy-page .button{margin-right:0}.wp-list-table.privacy_requests tr:not(.inline-edit-row):not(.no-items) td.column-primary:not(.check-column){display:table-cell}.wp-list-table.privacy_requests.widefat th input,.wp-list-table.privacy_requests.widefat thead td input{margin-right:5px}.wp-privacy-request-form-field input[type=text]{width:100%;margin-bottom:10px;vertical-align:middle}.regular-text{max-width:100%}}@media only screen and (max-width:768px){.form-field input[type=email],.form-field input[type=password],.form-field input[type=text],.form-field select,.form-field textarea{width:99%}.form-wrap .form-field{padding:0}}@media only screen and (max-height:480px),screen and (max-width:450px){.file-editor-warning .notification-dialog,.request-filesystem-credentials-dialog .notification-dialog{width:100%;height:100%;max-height:100%;position:fixed;top:0;margin:0;right:0}}@media screen and (max-width:600px){.color-option{width:49%}}@media only screen and (max-width:320px){.options-general-php .date-time-text.date-time-custom-text{min-width:0;margin-left:.5em}}view/wplogin/css/forms.css000064400000116300147600042240011625 0ustar00/* Include margin and padding in the width calculation of input and textarea. */ input, select, textarea, button { box-sizing: border-box; font-family: inherit; font-size: inherit; font-weight: inherit; } textarea, input { font-size: 14px; } textarea { overflow: auto; padding: 2px 6px; /* inherits font size 14px */ line-height: 1.42857143; /* 20px */ resize: vertical; } input, select { margin: 0 1px; } textarea.code { padding: 4px 6px 1px; } input[type="text"], input[type="password"], input[type="color"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="email"], input[type="month"], input[type="number"], input[type="search"], input[type="tel"], input[type="time"], input[type="url"], input[type="week"], select, textarea { box-shadow: 0 0 0 transparent; border-radius: 4px; border: 1px solid #8c8f94; background-color: #fff; color: #2c3338; } input[type="text"], input[type="password"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="email"], input[type="month"], input[type="number"], input[type="search"], input[type="tel"], input[type="time"], input[type="url"], input[type="week"] { padding: 0 8px; /* inherits font size 14px */ line-height: 2; /* 28px */ /* Only necessary for IE11 */ min-height: 30px; } ::-webkit-datetime-edit { /* inherits font size 14px */ line-height: 1.85714286; /* 26px */ } input[type="text"]:focus, input[type="password"]:focus, input[type="color"]:focus, input[type="date"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="email"]:focus, input[type="month"]:focus, input[type="number"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="time"]:focus, input[type="url"]:focus, input[type="week"]:focus, input[type="checkbox"]:focus, input[type="radio"]:focus, select:focus, textarea:focus { border-color: #2271b1; box-shadow: 0 0 0 1px #2271b1; /* Only visible in Windows High Contrast mode */ outline: 2px solid transparent; } /* rtl:ignore */ input[type="email"], input[type="url"] { direction: ltr; } input[type="checkbox"], input[type="radio"] { border: 1px solid #8c8f94; border-radius: 4px; background: #fff; color: #50575e; clear: none; cursor: pointer; display: inline-block; line-height: 0; height: 1rem; margin: -0.25rem 0.25rem 0 0; outline: 0; padding: 0 !important; text-align: center; vertical-align: middle; width: 1rem; min-width: 1rem; -webkit-appearance: none; box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); transition: .05s border-color ease-in-out; } input[type="radio"]:checked + label:before { color: #8c8f94; } .wp-core-ui input[type="reset"]:hover, .wp-core-ui input[type="reset"]:active { color: #135e96; } td > input[type="checkbox"], .wp-admin p input[type="checkbox"], .wp-admin p input[type="radio"] { margin-top: 0; } .wp-admin p label input[type="checkbox"] { margin-top: -4px; } .wp-admin p label input[type="radio"] { margin-top: -2px; } input[type="radio"] { border-radius: 50%; margin-right: 0.25rem; /* 10px not sure if still necessary, comes from the MP6 redesign in r26072 */ line-height: 0.71428571; } input[type="checkbox"]:checked::before, input[type="radio"]:checked::before { float: left; display: inline-block; vertical-align: middle; width: 1rem; speak: never; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } input[type="checkbox"]:checked::before { /* Use the "Yes" SVG Dashicon */ content: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2020%2020%27%3E%3Cpath%20d%3D%27M14.83%204.89l1.34.94-5.81%208.38H9.02L5.78%209.67l1.34-1.25%202.57%202.4z%27%20fill%3D%27%233582c4%27%2F%3E%3C%2Fsvg%3E"); margin: -0.1875rem 0 0 -0.25rem; height: 1.3125rem; width: 1.3125rem; } input[type="radio"]:checked::before { content: ""; border-radius: 50%; width: 0.5rem; /* 8px */ height: 0.5rem; /* 8px */ margin: 0.1875rem; /* 3px */ background-color: #3582c4; /* 16px not sure if still necessary, comes from the MP6 redesign in r26072 */ line-height: 1.14285714; } @-moz-document url-prefix() { input[type="checkbox"], input[type="radio"], .form-table input.tog { margin-bottom: -1px; } } /* Search */ input[type="search"] { -webkit-appearance: textfield; } input[type="search"]::-webkit-search-decoration { display: none; } .wp-admin input[type="file"] { padding: 3px 0; cursor: pointer; } input.readonly, input[readonly], textarea.readonly, textarea[readonly] { background-color: #f0f0f1; } ::-webkit-input-placeholder { color: #646970; } ::-moz-placeholder { color: #646970; opacity: 1; } :-ms-input-placeholder { color: #646970; } .form-invalid .form-required, .form-invalid .form-required:focus, .form-invalid.form-required input, .form-invalid.form-required input:focus, .form-invalid.form-required select, .form-invalid.form-required select:focus { border-color: #d63638 !important; box-shadow: 0 0 2px rgba(214, 54, 56, 0.8); } .form-table .form-required.form-invalid td:after { content: "\f534"; font: normal 20px/1 dashicons; color: #d63638; margin-left: -25px; vertical-align: middle; } /* Adjust error indicator for password layout */ .form-table .form-required.user-pass1-wrap.form-invalid td:after { content: ""; } .form-table .form-required.user-pass1-wrap.form-invalid .password-input-wrapper:after { content: "\f534"; font: normal 20px/1 dashicons; color: #d63638; margin: 0 6px 0 -29px; vertical-align: middle; } .form-input-tip { color: #646970; } input:disabled, input.disabled, select:disabled, select.disabled, textarea:disabled, textarea.disabled { background: rgba(255, 255, 255, 0.5); border-color: rgba(220, 220, 222, 0.75); box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.04); color: rgba(44, 51, 56, 0.5); } input[type="file"]:disabled, input[type="file"].disabled, input[type="file"][aria-disabled="true"], input[type="range"]:disabled, input[type="range"].disabled, input[type="range"][aria-disabled="true"] { background: none; box-shadow: none; cursor: default; } input[type="checkbox"]:disabled, input[type="checkbox"].disabled, input[type="checkbox"][aria-disabled="true"], input[type="radio"]:disabled, input[type="radio"].disabled, input[type="radio"][aria-disabled="true"], input[type="checkbox"]:disabled:checked:before, input[type="checkbox"].disabled:checked:before, input[type="radio"]:disabled:checked:before, input[type="radio"].disabled:checked:before { opacity: 0.7; cursor: default; } /*------------------------------------------------------------------------------ 2.0 - Forms ------------------------------------------------------------------------------*/ /* Select styles are based on the default button in buttons.css */ .wp-core-ui select { font-size: 14px; line-height: 2; /* 28px */ color: #2c3338; border-color: #8c8f94; box-shadow: none; border-radius: 3px; padding: 0 24px 0 8px; min-height: 30px; max-width: 25rem; -webkit-appearance: none; /* The SVG is arrow-down-alt2 from Dashicons. */ background: #fff url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%206l5%205%205-5%202%201-7%207-7-7%202-1z%22%20fill%3D%22%23555%22%2F%3E%3C%2Fsvg%3E') no-repeat right 5px top 55%; background-size: 16px 16px; cursor: pointer; vertical-align: middle; } .wp-core-ui select:hover { color: #2271b1; } .wp-core-ui select:focus { border-color: #2271b1; color: #0a4b78; box-shadow: 0 0 0 1px #2271b1; } .wp-core-ui select:active { border-color: #8c8f94; box-shadow: none; } .wp-core-ui select.disabled, .wp-core-ui select:disabled { color: #a7aaad; border-color: #dcdcde; background-color: #f6f7f7; /* The SVG is arrow-down-alt2 from Dashicons. */ background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%206l5%205%205-5%202%201-7%207-7-7%202-1z%22%20fill%3D%22%23a0a5aa%22%2F%3E%3C%2Fsvg%3E'); box-shadow: none; text-shadow: 0 1px 0 #fff; cursor: default; transform: none; } .wp-core-ui select[aria-disabled="true"] { cursor: default; } /* Reset Firefox inner outline that appears on :focus. */ /* This ruleset overrides the color change on :focus thus needs to be after select:focus. */ .wp-core-ui select:-moz-focusring { color: transparent; text-shadow: 0 0 0 #0a4b78; } /* Remove background focus style from IE11 while keeping focus style available on option elements. */ .wp-core-ui select::-ms-value { background: transparent; color: #50575e; } .wp-core-ui select:hover::-ms-value { color: #2271b1; } .wp-core-ui select:focus::-ms-value { color: #0a4b78; } .wp-core-ui select.disabled::-ms-value, .wp-core-ui select:disabled::-ms-value { color: #a7aaad; } /* Hide the native down arrow for select element on IE. */ .wp-core-ui select::-ms-expand { display: none; } .wp-admin .button-cancel { display: inline-block; min-height: 28px; padding: 0 5px; line-height: 2; } .meta-box-sortables select { max-width: 100%; } .meta-box-sortables input { vertical-align: middle; } .misc-pub-post-status select { margin-top: 0; } .wp-core-ui select[multiple] { height: auto; padding-right: 8px; background: #fff; } .submit { padding: 1.5em 0; margin: 5px 0; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border: none; } form p.submit a.cancel:hover { text-decoration: none; } p.submit { text-align: left; max-width: 100%; margin-top: 20px; padding-top: 10px; } .textright p.submit { border: none; text-align: right; } table.form-table + p.submit, table.form-table + input + p.submit, table.form-table + input + input + p.submit { border-top: none; padding-top: 0; } #minor-publishing-actions input, #major-publishing-actions input, #minor-publishing-actions .preview { text-align: center; } textarea.all-options, input.all-options { width: 250px; } input.large-text, textarea.large-text { width: 99%; } .regular-text { width: 25em; } input.small-text { width: 50px; padding: 0 6px; } label input.small-text { margin-top: -4px; } input[type="number"].small-text { width: 65px; padding-right: 0; } input.tiny-text { width: 35px; } input[type="number"].tiny-text { width: 45px; padding-right: 0; } #doaction, #doaction2, #post-query-submit { margin: 0 8px 0 0; } /* @since 5.7.0 secondary bulk action controls require JS. */ .no-js label[for="bulk-action-selector-bottom"], .no-js select#bulk-action-selector-bottom, .no-js input#doaction2, .no-js label[for="new_role2"], .no-js select#new_role2, .no-js input#changeit2 { display: none; } .tablenav .actions select { float: left; margin-right: 6px; max-width: 12.5rem; } #timezone_string option { margin-left: 1em; } .wp-hide-pw > .dashicons, .wp-cancel-pw > .dashicons { position: relative; top: 3px; width: 1.25rem; height: 1.25rem; top: 0.25rem; font-size: 20px; } .wp-cancel-pw .dashicons-no { display: none; } label, #your-profile label + a { vertical-align: middle; } fieldset label, #your-profile label + a { vertical-align: middle; } .options-media-php [for*="_size_"] { min-width: 10em; vertical-align: baseline; } .options-media-php .small-text[name*="_size_"] { margin: 0 0 1em; } .wp-generate-pw { margin-top: 1em; position: relative; } .wp-pwd button { height: min-content; } .wp-pwd button.pwd-toggle .dashicons { position: relative; top: 0.25rem; } .wp-pwd { margin-top: 1em; position: relative; } .mailserver-pass-wrap .wp-pwd { display: inline-block; margin-top: 0; } /* rtl:ignore */ #mailserver_pass { padding-right: 2.5rem; } /* rtl:ignore */ .mailserver-pass-wrap .button.wp-hide-pw { background: transparent; border: 1px solid transparent; box-shadow: none; font-size: 14px; line-height: 2; width: 2.5rem; min-width: 40px; margin: 0; padding: 0 9px; position: absolute; right: 0; top: 0; } .mailserver-pass-wrap .button.wp-hide-pw:hover { background: transparent; border-color: transparent; } .mailserver-pass-wrap .button.wp-hide-pw:focus { background: transparent; border-color: #3582c4; border-radius: 4px; box-shadow: 0 0 0 1px #3582c4; /* Only visible in Windows High Contrast mode */ outline: 2px solid transparent; } .mailserver-pass-wrap .button.wp-hide-pw:active { background: transparent; box-shadow: none; transform: none; } #misc-publishing-actions label { vertical-align: baseline; } #pass-strength-result { background-color: #f0f0f1; border: 1px solid #dcdcde; color: #1d2327; margin: -1px 1px 5px; padding: 3px 5px; text-align: center; width: 25em; box-sizing: border-box; opacity: 0; } #pass-strength-result.short { background-color: #ffabaf; border-color: #e65054; opacity: 1; } #pass-strength-result.bad { background-color: #facfd2; border-color: #f86368; opacity: 1; } #pass-strength-result.good { background-color: #f5e6ab; border-color: #f0c33c; opacity: 1; } #pass-strength-result.strong { background-color: #b8e6bf; border-color: #68de7c; opacity: 1; } .password-input-wrapper { display: inline-block; } .password-input-wrapper input { font-family: Consolas, Monaco, monospace; } #pass1.short, #pass1-text.short { border-color: #e65054; } #pass1.bad, #pass1-text.bad { border-color: #f86368; } #pass1.good, #pass1-text.good { border-color: #f0c33c; } #pass1.strong, #pass1-text.strong { border-color: #68de7c; } #pass1:focus, #pass1-text:focus { box-shadow: 0 0 0 2px #2271b1; /* Only visible in Windows High Contrast mode */ outline: 2px solid transparent; } .pw-weak { display: none; } .indicator-hint { padding-top: 8px; } .wp-pwd [type="text"], .wp-pwd [type="password"] { margin-bottom: 0; /* Same height as the buttons */ min-height: 30px; } /* Hide the Edge "reveal password" native button */ .wp-pwd input::-ms-reveal { display: none; } #pass1-text, .show-password #pass1 { display: none; } #pass1-text::-ms-clear { display: none; } .show-password #pass1-text { display: inline-block; } p.search-box { float: right; margin: 0; } .network-admin.themes-php p.search-box { clear: left; } .search-box input[name="s"], .tablenav .search-plugins input[name="s"], .tagsdiv .newtag { float: left; margin: 0 4px 0 0; } .js.plugins-php .search-box .wp-filter-search { margin: 0; width: 280px; } input[type="text"].ui-autocomplete-loading, input[type="email"].ui-autocomplete-loading { background-image: url(../images/loading.gif); background-repeat: no-repeat; background-position: right 5px center; visibility: visible; } input.ui-autocomplete-input.open { border-bottom-color: transparent; } ul#add-to-blog-users { margin: 0 0 0 14px; } .ui-autocomplete { padding: 0; margin: 0; list-style: none; position: absolute; z-index: 10000; border: 1px solid #4f94d4; box-shadow: 0 1px 2px rgba(79, 148, 212, 0.8); background-color: #fff; } .ui-autocomplete li { margin-bottom: 0; padding: 4px 10px; white-space: nowrap; text-align: left; cursor: pointer; } /* Colors for the wplink toolbar autocomplete. */ .ui-autocomplete .ui-state-focus { background-color: #dcdcde; } /* Colors for the tags autocomplete. */ .wp-tags-autocomplete .ui-state-focus, .wp-tags-autocomplete [aria-selected="true"] { background-color: #2271b1; color: #fff; /* Only visible in Windows High Contrast mode */ outline: 2px solid transparent; } .button-add-site-icon { width: 100%; cursor: pointer; text-align: center; border: 1px dashed #c3c4c7; box-sizing: border-box; padding: 9px 0; line-height: 1.6; max-width: 270px; } .button-add-site-icon:focus, .button-add-site-icon:hover { background: #fff; } .site-icon-section .favicon-preview { float: left; } .site-icon-section .app-icon-preview { float: left; margin: 0 20px; } .site-icon-section .site-icon-preview img { max-width: 100%; } .button-add-site-icon:focus { background-color: #fff; border-color: #3582c4; border-style: solid; box-shadow: 0 0 0 1px #3582c4; outline: 2px solid transparent; } /*------------------------------------------------------------------------------ 15.0 - Comments Screen ------------------------------------------------------------------------------*/ .form-table { border-collapse: collapse; margin-top: 0.5em; width: 100%; clear: both; } .form-table, .form-table td, .form-table th, .form-table td p { font-size: 14px; } .form-table td { margin-bottom: 9px; padding: 15px 10px; line-height: 1.3; vertical-align: middle; } .form-table th, .form-wrap label { color: #1d2327; font-weight: 400; text-shadow: none; vertical-align: baseline; } .form-table th { vertical-align: top; text-align: left; padding: 20px 10px 20px 0; width: 200px; line-height: 1.3; font-weight: 600; } .form-table th.th-full, /* Not used by core. Back-compat for pre-4.8 */ .form-table .td-full { width: auto; padding: 20px 10px 20px 0; font-weight: 400; } .form-table td p { margin-top: 4px; margin-bottom: 0; } .form-table .date-time-doc { margin-top: 1em; } .form-table p.timezone-info { margin: 1em 0; display: flex; flex-direction: column; } #local-time { margin-top: 0.5em; } .form-table td fieldset label { margin: 0.35em 0 0.5em !important; display: inline-block; } .form-table td fieldset p label { margin-top: 0 !important; } .form-table td fieldset label, .form-table td fieldset p, .form-table td fieldset li { line-height: 1.4; } .form-table input.tog, .form-table input[type="radio"] { margin-top: -4px; margin-right: 4px; float: none; } .form-table .pre { padding: 8px; margin: 0; } table.form-table td .updated { font-size: 13px; } table.form-table td .updated p { font-size: 13px; margin: 0.3em 0; } /*------------------------------------------------------------------------------ 18.0 - Users ------------------------------------------------------------------------------*/ #profile-page .form-table textarea { width: 500px; margin-bottom: 6px; } #profile-page .form-table #rich_editing { margin-right: 5px } #your-profile legend { font-size: 22px; } #display_name { width: 15em; } #adduser .form-field input, #createuser .form-field input { width: 25em; } .color-option { display: inline-block; width: 24%; padding: 5px 15px 15px; box-sizing: border-box; margin-bottom: 3px; } .color-option:hover, .color-option.selected { background: #dcdcde; } .color-palette { display: table; width: 100%; border-spacing: 0; border-collapse: collapse; } .color-palette .color-palette-shade, .color-palette td { display: table-cell; height: 20px; padding: 0; border: none; } .color-option { cursor: pointer; } .create-application-password .form-field { max-width: 25em; } .create-application-password label { font-weight: 600; } .create-application-password p.submit { margin-bottom: 0; padding-bottom: 0; display: block; } #application-passwords-section .notice { margin-top: 20px; margin-bottom: 0; word-wrap: break-word; } .application-password-display input.code { width: 19em; } .auth-app-card.card { max-width: 768px; } .authorize-application-php .form-wrap p { display: block; } /*------------------------------------------------------------------------------ 19.0 - Tools ------------------------------------------------------------------------------*/ .tool-box .title { margin: 8px 0; font-size: 18px; font-weight: 400; line-height: 24px; } .label-responsive { vertical-align: middle; } #export-filters p { margin: 0 0 1em; } #export-filters p.submit { margin: 7px 0 5px; } /* Card styles */ .card { position: relative; margin-top: 20px; padding: 0.7em 2em 1em; min-width: 255px; max-width: 520px; border: 1px solid #c3c4c7; box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04); background: #fff; box-sizing: border-box; } /* Press this styles */ .pressthis h4 { margin: 2em 0 1em; } .pressthis textarea { width: 100%; font-size: 1em; } #pressthis-code-wrap { overflow: auto; } .pressthis-bookmarklet-wrapper { margin: 20px 0 8px; vertical-align: top; position: relative; z-index: 1; } .pressthis-bookmarklet, .pressthis-bookmarklet:hover, .pressthis-bookmarklet:focus, .pressthis-bookmarklet:active { display: inline-block; position: relative; cursor: move; color: #2c3338; background: #dcdcde; border-radius: 5px; border: 1px solid #c3c4c7; font-style: normal; line-height: 16px; font-size: 14px; text-decoration: none; } .pressthis-bookmarklet:active { outline: none; } .pressthis-bookmarklet:after { content: ""; width: 70%; height: 55%; z-index: -1; position: absolute; right: 10px; bottom: 9px; background: transparent; transform: skew(20deg) rotate(6deg); box-shadow: 0 10px 8px rgba(0, 0, 0, 0.6); } .pressthis-bookmarklet:hover:after { transform: skew(20deg) rotate(9deg); box-shadow: 0 10px 8px rgba(0, 0, 0, 0.7); } .pressthis-bookmarklet span { display: inline-block; margin: 0; padding: 0 12px 8px 9px; } .pressthis-bookmarklet span:before { color: #787c82; font: normal 20px/1 dashicons; content: "\f157"; position: relative; display: inline-block; top: 4px; margin-right: 4px; } .pressthis-js-toggle { margin-left: 10px; padding: 0; height: auto; vertical-align: top; } /* to override the button class being applied */ .pressthis-js-toggle.button.button { margin-left: 10px; padding: 0; height: auto; vertical-align: top; } .pressthis-js-toggle .dashicons { margin: 5px 8px 6px 7px; color: #50575e; } /*------------------------------------------------------------------------------ 20.0 - Settings ------------------------------------------------------------------------------*/ .timezone-info code { white-space: nowrap; } .defaultavatarpicker .avatar { margin: 2px 0; vertical-align: middle; } .options-general-php .date-time-text { display: inline-block; min-width: 10em; } .options-general-php input.small-text { width: 56px; margin: -2px 0; } .options-general-php .spinner { float: none; margin: -3px 3px 0; } .settings-php .language-install-spinner, .options-general-php .language-install-spinner, .user-edit-php .language-install-spinner, .profile-php .language-install-spinner { display: inline-block; float: none; margin: -3px 5px 0; vertical-align: middle; } .form-table.permalink-structure .available-structure-tags { margin-top: 8px; } .form-table.permalink-structure .available-structure-tags ul { display: flex; flex-wrap: wrap; margin: 8px 0 0; } .form-table.permalink-structure .available-structure-tags li { margin: 6px 5px 0 0; } .form-table.permalink-structure .available-structure-tags li:last-child { margin-right: 0; } .form-table.permalink-structure .structure-selection .row { margin-bottom: 16px; } .form-table.permalink-structure .structure-selection .row > div { max-width: calc(100% - 24px); display: inline-flex; flex-direction: column; } .form-table.permalink-structure .structure-selection .row label { font-weight: 600; } .form-table.permalink-structure .structure-selection .row p { margin-top: 0; } /*------------------------------------------------------------------------------ 21.0 - Network Admin ------------------------------------------------------------------------------*/ .setup-php textarea { max-width: 100%; } .form-field #site-address { max-width: 25em; } .form-field #domain { max-width: 22em; } .form-field #site-title, .form-field #admin-email, .form-field #path, .form-field #blog_registered, .form-field #blog_last_updated { max-width: 25em; } .form-field #path { margin-bottom: 5px; } #search-users, #search-sites { max-width: 60%; } .configuration-rules-label { font-weight: 600; margin-bottom: 4px; } /*------------------------------------------------------------------------------ Credentials check dialog for Install and Updates ------------------------------------------------------------------------------*/ .request-filesystem-credentials-dialog { display: none; /* The customizer uses visibility: hidden on the body for full-overlays. */ visibility: visible; } .request-filesystem-credentials-dialog .notification-dialog { top: 10%; max-height: 85%; } .request-filesystem-credentials-dialog-content { margin: 25px; } #request-filesystem-credentials-title { font-size: 1.3em; margin: 1em 0; } .request-filesystem-credentials-form legend { font-size: 1em; padding: 1.33em 0; font-weight: 600; } .request-filesystem-credentials-form input[type="text"], .request-filesystem-credentials-form input[type="password"] { display: block; } .request-filesystem-credentials-dialog input[type="text"], .request-filesystem-credentials-dialog input[type="password"] { width: 100%; } .request-filesystem-credentials-form .field-title { font-weight: 600; } .request-filesystem-credentials-dialog label[for="hostname"], .request-filesystem-credentials-dialog label[for="public_key"], .request-filesystem-credentials-dialog label[for="private_key"] { display: block; margin-bottom: 1em; } .request-filesystem-credentials-dialog .ftp-username, .request-filesystem-credentials-dialog .ftp-password { float: left; width: 48%; } .request-filesystem-credentials-dialog .ftp-password { margin-left: 4%; } .request-filesystem-credentials-dialog .request-filesystem-credentials-action-buttons { text-align: right; } .request-filesystem-credentials-dialog label[for="ftp"] { margin-right: 10px; } .request-filesystem-credentials-dialog #auth-keys-desc { margin-bottom: 0; } #request-filesystem-credentials-dialog .button:not(:last-child) { margin-right: 10px; } #request-filesystem-credentials-form .cancel-button { display: none; } #request-filesystem-credentials-dialog .cancel-button { display: inline; } .request-filesystem-credentials-dialog .ftp-username, .request-filesystem-credentials-dialog .ftp-password { float: none; width: auto; } .request-filesystem-credentials-dialog .ftp-username { margin-bottom: 1em; } .request-filesystem-credentials-dialog .ftp-password { margin: 0; } .request-filesystem-credentials-dialog .ftp-password em { color: #8c8f94; } .request-filesystem-credentials-dialog label { display: block; line-height: 1.5; margin-bottom: 1em; } .request-filesystem-credentials-form legend { padding-bottom: 0; } .request-filesystem-credentials-form #ssh-keys legend { font-size: 1.3em; } .request-filesystem-credentials-form .notice { margin: 0 0 20px; clear: both; } /*------------------------------------------------------------------------------ Privacy Policy settings screen ------------------------------------------------------------------------------*/ .tools-privacy-policy-page form { margin-bottom: 1.3em; } .tools-privacy-policy-page input.button { margin: 0 1px 0 6px; } .tools-privacy-policy-page select { margin: 0 1px 0.5em 6px; } .tools-privacy-edit { margin: 1.5em 0; } .tools-privacy-policy-page span { line-height: 2; } .privacy_requests .column-email { width: 40%; } .privacy_requests .column-type { text-align: center; } .privacy_requests thead td:first-child, .privacy_requests tfoot td:first-child { border-left: 4px solid #fff; } .privacy_requests tbody th { border-left: 4px solid #fff; background: #fff; box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.1); } .privacy_requests .row-actions { color: #787c82; } .privacy_requests .row-actions.processing { position: static; } .privacy_requests tbody .has-request-results th { box-shadow: none; } .privacy_requests tbody .request-results th .notice { margin: 0 0 5px; } .privacy_requests tbody td { background: #fff; box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.1); } .privacy_requests tbody .has-request-results td { box-shadow: none; } .privacy_requests .next_steps .button { word-wrap: break-word; white-space: normal; } .privacy_requests .status-request-confirmed th, .privacy_requests .status-request-confirmed td { background-color: #fff; border-left-color: #72aee6; } .privacy_requests .status-request-failed th, .privacy_requests .status-request-failed td { background-color: #f6f7f7; border-left-color: #d63638; } .privacy_requests .export_personal_data_failed a { vertical-align: baseline; } .status-label { font-weight: 600; } .status-label.status-request-pending { font-weight: 400; font-style: italic; color: #646970; } .status-label.status-request-failed { color: #d63638; font-weight: 600; } .wp-privacy-request-form { clear: both; } .wp-privacy-request-form-field { margin: 1.5em 0; } .wp-privacy-request-form input { margin: 0; } .email-personal-data::before { display: inline-block; font: normal 20px/1 dashicons; margin: 3px 5px 0 -2px; speak: never; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; vertical-align: top; } .email-personal-data--sending::before { color: #d63638; content: "\f463"; animation: rotation 2s infinite linear; } .email-personal-data--sent::before { color: #68de7c; content: "\f147"; } /* =Media Queries -------------------------------------------------------------- */ @media screen and (max-width: 782px) { /* Input Elements */ textarea { -webkit-appearance: none; } input[type="text"], input[type="password"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="email"], input[type="month"], input[type="number"], input[type="search"], input[type="tel"], input[type="time"], input[type="url"], input[type="week"] { -webkit-appearance: none; padding: 3px 10px; /* Only necessary for IE11 */ min-height: 40px; } ::-webkit-datetime-edit { line-height: 1.875; /* 30px */ } input[type="checkbox"], .widefat th input[type="checkbox"], .widefat thead td input[type="checkbox"], .widefat tfoot td input[type="checkbox"] { -webkit-appearance: none; } .widefat th input[type="checkbox"], .widefat thead td input[type="checkbox"], .widefat tfoot td input[type="checkbox"] { margin-bottom: 8px; } input[type="checkbox"]:checked:before, .widefat th input[type="checkbox"]:before, .widefat thead td input[type="checkbox"]:before, .widefat tfoot td input[type="checkbox"]:before { width: 1.875rem; height: 1.875rem; margin: -0.1875rem -0.3125rem; } input[type="radio"], input[type="checkbox"] { height: 1.5625rem; width: 1.5625rem; } .wp-admin p input[type="checkbox"], .wp-admin p input[type="radio"] { margin-top: -0.1875rem; } input[type="radio"]:checked:before { vertical-align: middle; width: 0.5625rem; height: 0.5625rem; margin: 0.4375rem; line-height: 0.76190476; } .wp-upload-form input[type="submit"] { margin-top: 10px; } .wp-core-ui select, .wp-admin .form-table select { min-height: 40px; font-size: 16px; line-height: 1.625; /* 26px */ padding: 5px 24px 5px 8px; } .wp-admin .button-cancel { margin-bottom: 0; padding: 2px 0; font-size: 14px; vertical-align: middle; } #adduser .form-field input, #createuser .form-field input { width: 100%; } .form-table { box-sizing: border-box; } .form-table th, .form-table td, .label-responsive { display: block; width: auto; vertical-align: middle; } .label-responsive { margin: 0.5em 0; } .export-filters li { margin-bottom: 0; } .form-table .color-palette .color-palette-shade, .form-table .color-palette td { display: table-cell; width: 15px; height: 30px; padding: 0; } .form-table .color-palette { margin-right: 10px; } textarea, input { font-size: 16px; } .form-table td input[type="text"], .form-table td input[type="email"], .form-table td input[type="password"], .form-table td select, .form-table td textarea, .form-table span.description, #profile-page .form-table textarea { width: 100%; display: block; max-width: none; box-sizing: border-box; } .form-table .form-required.form-invalid td:after { float: right; margin: -30px 3px 0 0; } input[type="text"].small-text, input[type="search"].small-text, input[type="password"].small-text, input[type="number"].small-text, input[type="number"].small-text, .form-table input[type="text"].small-text { width: auto; max-width: 4.375em; /* 70px, enough for 4 digits to fit comfortably */ display: inline; padding: 3px 6px; margin: 0 3px; } .form-table .regular-text ~ input[type="text"].small-text { margin-top: 5px; } #pass-strength-result { width: 100%; box-sizing: border-box; padding: 8px; } .password-input-wrapper { display: block; } p.search-box { float: none; width: 100%; margin-bottom: 20px; display: flex; } p.search-box input[name="s"] { float: none; width: 100%; margin-bottom: 10px; vertical-align: middle; } p.search-box input[type="submit"] { margin-bottom: 10px; } .form-table span.description { display: inline; padding: 4px 0 0; line-height: 1.4; font-size: 14px; } .form-table th { padding: 10px 0 0; border-bottom: 0; } .form-table td { margin-bottom: 0; padding: 4px 0 6px; } .form-table.permalink-structure td code { display: inline-block; } .form-table.permalink-structure .structure-selection { margin-top: 8px; } .form-table.permalink-structure .structure-selection .row > div { max-width: calc(100% - 36px); width: 100%; } .form-table.permalink-structure td input[type="text"] { margin-top: 4px; } .form-table input.regular-text { width: 100%; } .form-table label { font-size: 14px; } .form-table td > label:first-child { display: inline-block; margin-top: 0.35em; } .background-position-control .button-group > label { font-size: 0; } .form-table fieldset label { display: block; } .form-field #domain { max-width: none; } /* New Password */ .wp-pwd { position: relative; } /* Needs higher specificity than normal input type text and password. */ #profile-page .form-table #pass1 { padding-right: 90px; } .wp-pwd button.button { background: transparent; border: 1px solid transparent; box-shadow: none; line-height: 2; margin: 0; padding: 5px 9px; position: absolute; right: 0; top: 0; width: 2.375rem; height: 2.375rem; min-width: 40px; min-height: 40px; } .wp-pwd button.wp-hide-pw { right: 2.5rem; } body.user-new-php .wp-pwd button.wp-hide-pw { right: 0; } .wp-pwd button.button:hover, .wp-pwd button.button:focus { background: transparent; } .wp-pwd button.button:active { background: transparent; box-shadow: none; transform: none; } .wp-pwd .button .text { display: none; } .wp-pwd [type="text"], .wp-pwd [type="password"] { line-height: 2; padding-right: 5rem; } body.user-new-php .wp-pwd [type="text"], body.user-new-php .wp-pwd [type="password"] { padding-right: 2.5rem; } .wp-cancel-pw .dashicons-no { display: inline-block; } .mailserver-pass-wrap .wp-pwd { display: block; } /* rtl:ignore */ #mailserver_pass { padding-left: 10px; } .options-general-php input[type="text"].small-text { max-width: 6.25em; margin: 0; } /* Privacy Policy settings screen */ .tools-privacy-policy-page form.wp-create-privacy-page { margin-bottom: 1em; } .tools-privacy-policy-page input#set-page, .tools-privacy-policy-page select { margin: 10px 0 0; } .tools-privacy-policy-page .wp-create-privacy-page span { display: block; margin-bottom: 1em; } .tools-privacy-policy-page .wp-create-privacy-page .button { margin-left: 0; } .wp-list-table.privacy_requests tr:not(.inline-edit-row):not(.no-items) td.column-primary:not(.check-column) { display: table-cell; } .wp-list-table.privacy_requests.widefat th input, .wp-list-table.privacy_requests.widefat thead td input { margin-left: 5px; } .wp-privacy-request-form-field input[type="text"] { width: 100%; margin-bottom: 10px; vertical-align: middle; } .regular-text { max-width: 100%; } } @media only screen and (max-width: 768px) { .form-field input[type="text"], .form-field input[type="email"], .form-field input[type="password"], .form-field select, .form-field textarea { width: 99%; } .form-wrap .form-field { padding: 0; } } @media only screen and (max-height: 480px), screen and (max-width: 450px) { /* Request Credentials / File Editor Warning */ .request-filesystem-credentials-dialog .notification-dialog, .file-editor-warning .notification-dialog { width: 100%; height: 100%; max-height: 100%; position: fixed; top: 0; margin: 0; left: 0; } } /* Smartphone */ @media screen and (max-width: 600px) { /* Color Picker Options */ .color-option { width: 49%; } } @media only screen and (max-width: 320px) { .options-general-php .date-time-text.date-time-custom-text { min-width: 0; margin-right: 0.5em; } } @keyframes rotation { 0% { transform: rotate(0deg); } 100% { transform: rotate(359deg); } } view/wplogin/css/forms.min.css000064400000066202147600042240012414 0ustar00@keyframes rotation{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}button,input,select,textarea{box-sizing:border-box;font-family:inherit;font-weight:inherit;font-size:14px}button,select{font-size:inherit}textarea{overflow:auto;padding:2px 6px;line-height:1.42857143;resize:vertical}input,select{margin:0 1px}textarea.code{padding:4px 6px 1px}input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{box-shadow:0 0 0 transparent;border-radius:4px;border:1px solid #8c8f94;background-color:#fff;color:#2c3338}input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week]{padding:0 8px;line-height:2;min-height:30px}::-webkit-datetime-edit{line-height:1.85714286}input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=radio]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select:focus,textarea:focus{border-color:#2271b1;box-shadow:0 0 0 1px #2271b1;outline:2px solid transparent}input[type=email],input[type=url]{direction:ltr}input[type=checkbox]{border-radius:4px;line-height:0}input[type=checkbox],input[type=radio]{border:1px solid #8c8f94;background:#fff;color:#50575e;clear:none;cursor:pointer;display:inline-block;height:1rem;margin:-.25rem .25rem 0 0;outline:0;padding:0!important;text-align:center;vertical-align:middle;width:1rem;min-width:1rem;-webkit-appearance:none;box-shadow:inset 0 1px 2px rgba(0,0,0,.1);transition:.05s border-color ease-in-out}input[type=radio]:checked+label:before{color:#8c8f94}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#135e96}.wp-admin p input[type=checkbox],.wp-admin p input[type=radio],td>input[type=checkbox]{margin-top:0}.wp-admin p label input[type=checkbox]{margin-top:-4px}.wp-admin p label input[type=radio]{margin-top:-2px}input[type=radio]{border-radius:50%;margin-right:.25rem;line-height:.71428571}input[type=checkbox]:checked::before,input[type=radio]:checked::before{float:left;display:inline-block;vertical-align:middle;speak:never;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input[type=checkbox]:checked::before{content:url(data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2020%2020%27%3E%3Cpath%20d%3D%27M14.83%204.89l1.34.94-5.81%208.38H9.02L5.78%209.67l1.34-1.25%202.57%202.4z%27%20fill%3D%27%233582c4%27%2F%3E%3C%2Fsvg%3E);margin:-.1875rem 0 0-.25rem;height:1.3125rem;width:1.3125rem}input[type=radio]:checked::before{content:"";border-radius:50%;width:.5rem;height:.5rem;margin:.1875rem;background-color:#3582c4;line-height:1.14285714}@-moz-document url-prefix(){.form-table input.tog,input[type=checkbox],input[type=radio]{margin-bottom:-1px}}input[type=search]{-webkit-appearance:textfield}input[type=search]::-webkit-search-decoration{display:none}.wp-admin input[type=file]{padding:3px 0;cursor:pointer}input.readonly,input[readonly],textarea.readonly,textarea[readonly]{background-color:#f0f0f1}::-webkit-input-placeholder{color:#646970}::-moz-placeholder{color:#646970;opacity:1}:-ms-input-placeholder{color:#646970}.form-invalid .form-required,.form-invalid .form-required:focus,.form-invalid.form-required input,.form-invalid.form-required input:focus,.form-invalid.form-required select,.form-invalid.form-required select:focus{border-color:#d63638!important;box-shadow:0 0 2px rgba(214,54,56,.8)}.form-table .form-required.form-invalid td:after{content:"";font:20px/1 dashicons;color:#d63638;margin-left:-25px;vertical-align:middle}.form-table .form-required.user-pass1-wrap.form-invalid td:after{content:""}.form-table .form-required.user-pass1-wrap.form-invalid .password-input-wrapper:after{content:"";font:20px/1 dashicons;color:#d63638;margin:0 6px 0-29px;vertical-align:middle}.form-input-tip{color:#646970}input.disabled,input:disabled,select.disabled,select:disabled,textarea.disabled,textarea:disabled{background:rgba(255,255,255,.5);border-color:rgba(220,220,222,.75);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);color:rgba(44,51,56,.5)}input[type=file].disabled,input[type=file]:disabled,input[type=file][aria-disabled=true],input[type=range].disabled,input[type=range]:disabled,input[type=range][aria-disabled=true]{background:0 0;box-shadow:none;cursor:default}input[type=checkbox].disabled,input[type=checkbox].disabled:checked:before,input[type=checkbox]:disabled,input[type=checkbox]:disabled:checked:before,input[type=checkbox][aria-disabled=true],input[type=radio].disabled,input[type=radio].disabled:checked:before,input[type=radio]:disabled,input[type=radio]:disabled:checked:before,input[type=radio][aria-disabled=true]{opacity:.7;cursor:default}.wp-core-ui select{font-size:14px;line-height:2;color:#2c3338;border-color:#8c8f94;box-shadow:none;border-radius:3px;padding:0 24px 0 8px;min-height:30px;max-width:25rem;-webkit-appearance:none;background:#fff url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%206l5%205%205-5%202%201-7%207-7-7%202-1z%22%20fill%3D%22%23555%22%2F%3E%3C%2Fsvg%3E)no-repeat right 5px top 55%;background-size:16px 16px;cursor:pointer;vertical-align:middle}.wp-core-ui select:hover{color:#2271b1}.wp-core-ui select:focus{border-color:#2271b1;color:#0a4b78;box-shadow:0 0 0 1px #2271b1}.wp-core-ui select:active{border-color:#8c8f94;box-shadow:none}.wp-core-ui select.disabled,.wp-core-ui select:disabled{color:#a7aaad;border-color:#dcdcde;background-color:#f6f7f7;background-image:url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%206l5%205%205-5%202%201-7%207-7-7%202-1z%22%20fill%3D%22%23a0a5aa%22%2F%3E%3C%2Fsvg%3E);box-shadow:none;text-shadow:0 1px 0#fff;cursor:default;transform:none}.wp-core-ui select[aria-disabled=true]{cursor:default}.wp-core-ui select:-moz-focusring{color:transparent;text-shadow:0 0 0#0a4b78}.wp-core-ui select::-ms-value{background:0 0;color:#50575e}.wp-core-ui select:hover::-ms-value{color:#2271b1}.wp-core-ui select:focus::-ms-value{color:#0a4b78}.wp-core-ui select.disabled::-ms-value,.wp-core-ui select:disabled::-ms-value{color:#a7aaad}.wp-core-ui select::-ms-expand{display:none}.wp-admin .button-cancel{display:inline-block;min-height:28px;padding:0 5px;line-height:2}.meta-box-sortables select,.site-icon-section .site-icon-preview img,p.submit{max-width:100%}#your-profile label+a,.meta-box-sortables input,fieldset label,label{vertical-align:middle}.form-table.permalink-structure .structure-selection .row p,.misc-pub-post-status select{margin-top:0}.wp-core-ui select[multiple]{height:auto;padding-right:8px;background:#fff}.submit{padding:1.5em 0;margin:5px 0;border-bottom-left-radius:3px;border-bottom-right-radius:3px;border:0}form p.submit a.cancel:hover{text-decoration:none}p.submit{text-align:left;margin-top:20px;padding-top:10px}.textright p.submit{border:0;text-align:right}table.form-table+input+input+p.submit,table.form-table+input+p.submit,table.form-table+p.submit{border-top:none;padding-top:0}#major-publishing-actions input,#minor-publishing-actions .preview,#minor-publishing-actions input{text-align:center}input.all-options,textarea.all-options{width:250px}input.large-text,textarea.large-text{width:99%}.regular-text{width:25em}input.small-text{width:50px;padding:0 6px}label input.small-text{margin-top:-4px}input[type=number].small-text{width:65px;padding-right:0}input.tiny-text{width:35px}input[type=number].tiny-text{width:45px;padding-right:0}#doaction,#doaction2,#post-query-submit{margin:0 8px 0 0}.tablenav .actions select{float:left;margin-right:6px;max-width:12.5rem}#timezone_string option{margin-left:1em}.wp-cancel-pw>.dashicons,.wp-hide-pw>.dashicons{position:relative;top:3px;width:1.25rem;height:1.25rem;top:.25rem;font-size:20px}.no-js input#changeit2,.no-js input#doaction2,.no-js label[for=bulk-action-selector-bottom],.no-js label[for=new_role2],.no-js select#bulk-action-selector-bottom,.no-js select#new_role2,.wp-cancel-pw .dashicons-no{display:none}.options-media-php [for*=_size_]{min-width:10em;vertical-align:baseline}#export-filters p,.options-media-php .small-text[name*=_size_]{margin:0 0 1em}.wp-generate-pw,.wp-pwd{margin-top:1em;position:relative}.wp-pwd button{height:min-content}.wp-pwd button.pwd-toggle .dashicons{position:relative;top:.25rem}.mailserver-pass-wrap .wp-pwd{display:inline-block;margin-top:0}#mailserver_pass{padding-right:2.5rem}.mailserver-pass-wrap .button.wp-hide-pw{background:0 0;border:1px solid transparent;box-shadow:none;font-size:14px;line-height:2;width:2.5rem;min-width:40px;margin:0;padding:0 9px;position:absolute;right:0;top:0}.mailserver-pass-wrap .button.wp-hide-pw:hover{background:0 0;border-color:transparent}.mailserver-pass-wrap .button.wp-hide-pw:focus{background:0 0;border-color:#3582c4;border-radius:4px;box-shadow:0 0 0 1px #3582c4;outline:2px solid transparent}.mailserver-pass-wrap .button.wp-hide-pw:active{background:0 0;box-shadow:none;transform:none}#misc-publishing-actions label,.privacy_requests .export_personal_data_failed a{vertical-align:baseline}#pass-strength-result{background-color:#f0f0f1;border:1px solid #dcdcde;color:#1d2327;margin:-1px 1px 5px;padding:3px 5px;text-align:center;width:25em;box-sizing:border-box;opacity:0}#pass-strength-result.short{background-color:#ffabaf;border-color:#e65054;opacity:1}#pass-strength-result.bad{background-color:#facfd2;border-color:#f86368;opacity:1}#pass-strength-result.good{background-color:#f5e6ab;border-color:#f0c33c;opacity:1}#pass-strength-result.strong{background-color:#b8e6bf;border-color:#68de7c;opacity:1}.password-input-wrapper{display:inline-block}.password-input-wrapper input{font-family:Consolas,Monaco,monospace}#pass1-text.short,#pass1.short{border-color:#e65054}#pass1-text.bad,#pass1.bad{border-color:#f86368}#pass1-text.good,#pass1.good{border-color:#f0c33c}#pass1-text.strong,#pass1.strong{border-color:#68de7c}#pass1-text:focus,#pass1:focus{box-shadow:0 0 0 2px #2271b1;outline:2px solid transparent}#pass1-text,.pw-weak,.show-password #pass1{display:none}.indicator-hint{padding-top:8px}.wp-pwd [type=password],.wp-pwd [type=text]{margin-bottom:0;min-height:30px}.wp-pwd input::-ms-reveal{display:none}#pass1-text::-ms-clear{display:none}.show-password #pass1-text{display:inline-block}p.search-box{float:right;margin:0}.network-admin.themes-php p.search-box{clear:left}.search-box input[name=s],.tablenav .search-plugins input[name=s],.tagsdiv .newtag{float:left;margin:0 4px 0 0}.js.plugins-php .search-box .wp-filter-search{margin:0;width:280px}input[type=email].ui-autocomplete-loading,input[type=text].ui-autocomplete-loading{background-image:url(../images/loading.gif);background-repeat:no-repeat;background-position:right 5px center;visibility:visible}input.ui-autocomplete-input.open{border-bottom-color:transparent}ul#add-to-blog-users{margin:0 0 0 14px}.ui-autocomplete{padding:0;margin:0;list-style:none;position:absolute;z-index:10000;border:1px solid #4f94d4;box-shadow:0 1px 2px rgba(79,148,212,.8);background-color:#fff}.ui-autocomplete li{margin-bottom:0;padding:4px 10px;white-space:nowrap;text-align:left;cursor:pointer}.ui-autocomplete .ui-state-focus{background-color:#dcdcde}.wp-tags-autocomplete .ui-state-focus,.wp-tags-autocomplete [aria-selected=true]{background-color:#2271b1;color:#fff;outline:2px solid transparent}.button-add-site-icon{width:100%;cursor:pointer;text-align:center;border:1px dashed #c3c4c7;box-sizing:border-box;padding:9px 0;line-height:1.6;max-width:270px}.button-add-site-icon:focus,.button-add-site-icon:hover{background:#fff}.site-icon-section .favicon-preview{float:left}.site-icon-section .app-icon-preview{float:left;margin:0 20px}.button-add-site-icon:focus{background-color:#fff;border-color:#3582c4;border-style:solid;box-shadow:0 0 0 1px #3582c4;outline:2px solid transparent}.form-table{border-collapse:collapse;width:100%;clear:both}.form-table,.form-table td,.form-table td p,.form-table th{font-size:14px}.form-table td{margin-bottom:9px;padding:15px 10px;line-height:1.3;vertical-align:middle}.form-table th{color:#1d2327;text-shadow:none;vertical-align:top;text-align:left;padding:20px 10px 20px 0;width:200px;line-height:1.3}.form-wrap label{color:#1d2327;font-weight:400;text-shadow:none;vertical-align:baseline}.form-table .td-full,.form-table th.th-full{width:auto;padding:20px 10px 20px 0;font-weight:400}.form-table td p{margin-top:4px;margin-bottom:0}.form-table .date-time-doc{margin-top:1em}.form-table p.timezone-info{margin:1em 0;display:flex;flex-direction:column}#local-time,.form-table{margin-top:.5em}.form-table td fieldset label{margin:.35em 0 .5em!important;display:inline-block;line-height:1.4}.form-table td fieldset p label{margin-top:0!important}.form-table td fieldset li,.form-table td fieldset p{line-height:1.4}.form-table input.tog,.form-table input[type=radio]{margin-top:-4px;margin-right:4px;float:none}.form-table .pre{padding:8px;margin:0}table.form-table td .updated{font-size:13px}table.form-table td .updated p{font-size:13px;margin:.3em 0}#profile-page .form-table textarea{width:500px;margin-bottom:6px}#profile-page .form-table #rich_editing{margin-right:5px}#your-profile legend{font-size:22px}#display_name{width:15em}#adduser .form-field input,#createuser .form-field input{width:25em}.color-option{display:inline-block;width:24%;padding:5px 15px 15px;box-sizing:border-box;margin-bottom:3px}.color-option.selected,.color-option:hover{background:#dcdcde}.color-palette{display:table;width:100%;border-spacing:0;border-collapse:collapse}.color-palette .color-palette-shade,.color-palette td{display:table-cell;height:20px;padding:0;border:0}.color-option{cursor:pointer}.create-application-password .form-field{max-width:25em}.create-application-password label,.form-table th,.form-table.permalink-structure .structure-selection .row label{font-weight:600}.create-application-password p.submit{margin-bottom:0;padding-bottom:0;display:block}#application-passwords-section .notice{margin-top:20px;margin-bottom:0;word-wrap:break-word}.application-password-display input.code{width:19em}.auth-app-card.card{max-width:768px}.authorize-application-php .form-wrap p{display:block}.tool-box .title{margin:8px 0;font-size:18px;font-weight:400;line-height:24px}.label-responsive{vertical-align:middle}#export-filters p.submit{margin:7px 0 5px}.card{position:relative;margin-top:20px;padding:.7em 2em 1em;min-width:255px;max-width:520px;border:1px solid #c3c4c7;box-shadow:0 1px 1px rgba(0,0,0,.04);background:#fff;box-sizing:border-box}.pressthis h4{margin:2em 0 1em}.pressthis textarea{width:100%;font-size:1em}#pressthis-code-wrap{overflow:auto}.pressthis-bookmarklet-wrapper{margin:20px 0 8px;vertical-align:top;position:relative;z-index:1}.pressthis-bookmarklet,.pressthis-bookmarklet:active,.pressthis-bookmarklet:focus,.pressthis-bookmarklet:hover{display:inline-block;position:relative;cursor:move;color:#2c3338;background:#dcdcde;border-radius:5px;border:1px solid #c3c4c7;font-style:normal;line-height:16px;font-size:14px;text-decoration:none}.pressthis-bookmarklet:active{outline:0}.pressthis-bookmarklet:after{content:"";width:70%;height:55%;z-index:-1;position:absolute;right:10px;bottom:9px;background:0 0;transform:skew(20deg) rotate(6deg);box-shadow:0 10px 8px rgba(0,0,0,.6)}.pressthis-bookmarklet:hover:after{transform:skew(20deg) rotate(9deg);box-shadow:0 10px 8px rgba(0,0,0,.7)}.pressthis-bookmarklet span{display:inline-block;margin:0;padding:0 12px 8px 9px}.pressthis-bookmarklet span:before{color:#787c82;font:20px/1 dashicons;content:"";position:relative;display:inline-block;top:4px;margin-right:4px}.pressthis-js-toggle,.pressthis-js-toggle.button.button{margin-left:10px;padding:0;height:auto;vertical-align:top}.pressthis-js-toggle .dashicons{margin:5px 8px 6px 7px;color:#50575e}.timezone-info code{white-space:nowrap}.defaultavatarpicker .avatar{margin:2px 0;vertical-align:middle}.options-general-php .date-time-text{display:inline-block;min-width:10em}.options-general-php input.small-text{width:56px;margin:-2px 0}.options-general-php .spinner{float:none;margin:-3px 3px 0}.options-general-php .language-install-spinner,.profile-php .language-install-spinner,.settings-php .language-install-spinner,.user-edit-php .language-install-spinner{display:inline-block;float:none;margin:-3px 5px 0;vertical-align:middle}.form-table.permalink-structure .available-structure-tags{margin-top:8px}.form-table.permalink-structure .available-structure-tags ul{display:flex;flex-wrap:wrap;margin:8px 0 0}.form-table.permalink-structure .available-structure-tags li{margin:6px 5px 0 0}.form-table.permalink-structure .available-structure-tags li:last-child{margin-right:0}.form-table.permalink-structure .structure-selection .row{margin-bottom:16px}.form-table.permalink-structure .structure-selection .row>div{max-width:calc(100% - 24px);display:inline-flex;flex-direction:column}.setup-php textarea{max-width:100%}.form-field #site-address{max-width:25em}.form-field #domain{max-width:22em}.form-field #admin-email,.form-field #blog_last_updated,.form-field #blog_registered,.form-field #path,.form-field #site-title{max-width:25em}.form-field #path{margin-bottom:5px}#search-sites,#search-users{max-width:60%}.configuration-rules-label{font-weight:600;margin-bottom:4px}.request-filesystem-credentials-dialog{display:none;visibility:visible}.request-filesystem-credentials-dialog .notification-dialog{top:10%;max-height:85%}.request-filesystem-credentials-dialog-content{margin:25px}#request-filesystem-credentials-title{font-size:1.3em;margin:1em 0}.request-filesystem-credentials-form legend{font-size:1em;font-weight:600;padding:1.33em 0 0}.request-filesystem-credentials-form input[type=password],.request-filesystem-credentials-form input[type=text]{display:block}.request-filesystem-credentials-dialog input[type=password],.request-filesystem-credentials-dialog input[type=text]{width:100%}.request-filesystem-credentials-form .field-title{font-weight:600}.request-filesystem-credentials-dialog label[for=hostname],.request-filesystem-credentials-dialog label[for=private_key],.request-filesystem-credentials-dialog label[for=public_key]{display:block;margin-bottom:1em}.request-filesystem-credentials-dialog .request-filesystem-credentials-action-buttons{text-align:right}.request-filesystem-credentials-dialog label[for=ftp]{margin-right:10px}.request-filesystem-credentials-dialog #auth-keys-desc{margin-bottom:0}#request-filesystem-credentials-dialog .button:not(:last-child){margin-right:10px}#request-filesystem-credentials-form .cancel-button{display:none}#request-filesystem-credentials-dialog .cancel-button{display:inline}.request-filesystem-credentials-dialog .ftp-password,.request-filesystem-credentials-dialog .ftp-username{float:none;width:auto}.request-filesystem-credentials-dialog .ftp-username{margin-bottom:1em}.request-filesystem-credentials-dialog .ftp-password,.wp-privacy-request-form input{margin:0}.request-filesystem-credentials-dialog .ftp-password em{color:#8c8f94}.request-filesystem-credentials-dialog label{display:block;line-height:1.5;margin-bottom:1em}.request-filesystem-credentials-form #ssh-keys legend{font-size:1.3em}.request-filesystem-credentials-form .notice{margin:0 0 20px;clear:both}.tools-privacy-policy-page form{margin-bottom:1.3em}.tools-privacy-policy-page input.button{margin:0 1px 0 6px}.tools-privacy-policy-page select{margin:0 1px .5em 6px}.tools-privacy-edit{margin:1.5em 0}.tools-privacy-policy-page span{line-height:2}.privacy_requests .column-email{width:40%}.privacy_requests .column-type{text-align:center}.privacy_requests tfoot td:first-child,.privacy_requests thead td:first-child{border-left:4px solid #fff}.privacy_requests tbody th{border-left:4px solid #fff}.privacy_requests .row-actions{color:#787c82}.privacy_requests .row-actions.processing{position:static}.privacy_requests tbody .has-request-results td,.privacy_requests tbody .has-request-results th{box-shadow:none}.privacy_requests tbody .request-results th .notice{margin:0 0 5px}.privacy_requests tbody td,.privacy_requests tbody th{background:#fff;box-shadow:inset 0-1px 0 rgba(0,0,0,.1)}.privacy_requests .next_steps .button{word-wrap:break-word;white-space:normal}.privacy_requests .status-request-confirmed td,.privacy_requests .status-request-confirmed th{background-color:#fff;border-left-color:#72aee6}.privacy_requests .status-request-failed td,.privacy_requests .status-request-failed th{background-color:#f6f7f7;border-left-color:#d63638}.status-label{font-weight:600}.status-label.status-request-pending{font-weight:400;font-style:italic;color:#646970}.status-label.status-request-failed{color:#d63638;font-weight:600}.wp-privacy-request-form{clear:both}.wp-privacy-request-form-field{margin:1.5em 0}.email-personal-data::before{display:inline-block;font:20px/1 dashicons;margin:3px 5px 0-2px;speak:never;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:top}.email-personal-data--sending::before{color:#d63638;content:"";animation:rotation 2s infinite linear}.email-personal-data--sent::before{color:#68de7c;content:""}@media screen and (max-width:782px){textarea{-webkit-appearance:none}input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week]{-webkit-appearance:none;padding:3px 10px;min-height:40px}::-webkit-datetime-edit{line-height:1.875}.widefat tfoot td input[type=checkbox],.widefat th input[type=checkbox],.widefat thead td input[type=checkbox],input[type=checkbox]{-webkit-appearance:none}.widefat tfoot td input[type=checkbox],.widefat th input[type=checkbox],.widefat thead td input[type=checkbox]{margin-bottom:8px}.widefat tfoot td input[type=checkbox]:before,.widefat th input[type=checkbox]:before,.widefat thead td input[type=checkbox]:before,input[type=checkbox]:checked:before{width:1.875rem;height:1.875rem;margin:-.1875rem -.3125rem}input[type=checkbox],input[type=radio]{height:1.5625rem;width:1.5625rem}.wp-admin p input[type=checkbox],.wp-admin p input[type=radio]{margin-top:-.1875rem}input[type=radio]:checked:before{vertical-align:middle;width:.5625rem;height:.5625rem;margin:.4375rem;line-height:.76190476}.wp-upload-form input[type=submit]{margin-top:10px}.wp-admin .form-table select,.wp-core-ui select{min-height:40px;font-size:16px;line-height:1.625;padding:5px 24px 5px 8px}.wp-admin .button-cancel{margin-bottom:0;padding:2px 0;font-size:14px;vertical-align:middle}#adduser .form-field input,#createuser .form-field input{width:100%}.form-table{box-sizing:border-box}.form-table td,.form-table th,.label-responsive{display:block;width:auto;vertical-align:middle}.label-responsive{margin:.5em 0}.export-filters li,.form-table td{margin-bottom:0}.form-table .color-palette .color-palette-shade,.form-table .color-palette td{display:table-cell;width:15px;height:30px;padding:0}.form-table .color-palette{margin-right:10px}input,textarea{font-size:16px}#profile-page .form-table textarea,.form-table span.description,.form-table td input[type=email],.form-table td input[type=password],.form-table td input[type=text],.form-table td select,.form-table td textarea{width:100%;display:block;max-width:none;box-sizing:border-box}.form-table span.description{display:inline;padding:4px 0 0;line-height:1.4;font-size:14px}.form-table .form-required.form-invalid td:after{float:right;margin:-30px 3px 0 0}.form-table input[type=text].small-text,input[type=number].small-text,input[type=password].small-text,input[type=search].small-text,input[type=text].small-text{width:auto;max-width:4.375em;display:inline;padding:3px 6px;margin:0 3px}.form-table .regular-text~input[type=text].small-text{margin-top:5px}#pass-strength-result{width:100%;box-sizing:border-box;padding:8px}.form-table fieldset label,.password-input-wrapper{display:block}p.search-box{float:none;width:100%;margin-bottom:20px;display:flex}p.search-box input[name=s]{float:none;width:100%;margin-bottom:10px;vertical-align:middle}p.search-box input[type=submit]{margin-bottom:10px}.form-table th{padding:10px 0 0;border-bottom:0}.form-table td{padding:4px 0 6px}.form-table.permalink-structure td code{display:inline-block}.form-table.permalink-structure .structure-selection{margin-top:8px}.form-table.permalink-structure .structure-selection .row>div{max-width:calc(100% - 36px);width:100%}.form-table.permalink-structure td input[type=text]{margin-top:4px}.form-table input.regular-text{width:100%}.form-table label{font-size:14px}.form-table td>label:first-child{display:inline-block;margin-top:.35em}.background-position-control .button-group>label{font-size:0}.form-field #domain{max-width:none}.wp-pwd{position:relative}#profile-page .form-table #pass1{padding-right:90px}.wp-pwd button.button{background:0 0;border:1px solid transparent;box-shadow:none;line-height:2;margin:0;padding:5px 9px;position:absolute;right:0;top:0;width:2.375rem;height:2.375rem;min-width:40px;min-height:40px}.wp-pwd button.wp-hide-pw{right:2.5rem}body.user-new-php .wp-pwd button.wp-hide-pw{right:0}.wp-pwd button.button:focus,.wp-pwd button.button:hover{background:0 0}.wp-pwd button.button:active{background:0 0;box-shadow:none;transform:none}.wp-pwd .button .text{display:none}.wp-pwd [type=password],.wp-pwd [type=text]{line-height:2;padding-right:5rem}body.user-new-php .wp-pwd [type=password],body.user-new-php .wp-pwd [type=text]{padding-right:2.5rem}.wp-cancel-pw .dashicons-no{display:inline-block}.mailserver-pass-wrap .wp-pwd{display:block}#mailserver_pass{padding-left:10px}.options-general-php input[type=text].small-text{max-width:6.25em;margin:0}.tools-privacy-policy-page form.wp-create-privacy-page{margin-bottom:1em}.tools-privacy-policy-page input#set-page,.tools-privacy-policy-page select{margin:10px 0 0}.tools-privacy-policy-page .wp-create-privacy-page span{display:block;margin-bottom:1em}.tools-privacy-policy-page .wp-create-privacy-page .button{margin-left:0}.wp-list-table.privacy_requests tr:not(.inline-edit-row):not(.no-items) td.column-primary:not(.check-column){display:table-cell}.wp-list-table.privacy_requests.widefat th input,.wp-list-table.privacy_requests.widefat thead td input{margin-left:5px}.wp-privacy-request-form-field input[type=text]{width:100%;margin-bottom:10px;vertical-align:middle}.regular-text{max-width:100%}}@media only screen and (max-width:768px){.form-field input[type=email],.form-field input[type=password],.form-field input[type=text],.form-field select,.form-field textarea{width:99%}.form-wrap .form-field{padding:0}}@media only screen and (max-height:480px),screen and (max-width:450px){.file-editor-warning .notification-dialog,.request-filesystem-credentials-dialog .notification-dialog{width:100%;height:100%;max-height:100%;position:fixed;top:0;margin:0;left:0}}@media screen and (max-width:600px){.color-option{width:49%}}@media only screen and (max-width:320px){.options-general-php .date-time-text.date-time-custom-text{min-width:0;margin-right:.5em}}view/wplogin/css/l10n-rtl.css000064400000007217147600042240012056 0ustar00/*! This file is auto-generated */ /*------------------------------------------------------------------------------ 27.0 - Localization ------------------------------------------------------------------------------*/ /* RTL except Hebrew (see below): Tahoma as the first font; */ body.rtl, body.rtl .press-this a.wp-switch-editor { font-family: Tahoma, Arial, sans-serif; } /* Arial is best for RTL headings. */ .rtl h1, .rtl h2, .rtl h3, .rtl h4, .rtl h5, .rtl h6 { font-family: Arial, sans-serif; font-weight: 600; } /* he_IL: Remove Tahoma from the font stack. Arial is best for Hebrew. */ body.locale-he-il, body.locale-he-il .press-this a.wp-switch-editor { font-family: Arial, sans-serif; } /* he_IL: Have be bold rather than italic. */ .locale-he-il em { font-style: normal; font-weight: 600; } /* zh_CN: Remove italic properties. */ .locale-zh-cn .howto, .locale-zh-cn .tablenav .displaying-num, .locale-zh-cn .js .input-with-default-title, .locale-zh-cn .link-to-original, .locale-zh-cn .inline-edit-row fieldset span.title, .locale-zh-cn .inline-edit-row fieldset span.checkbox-title, .locale-zh-cn #utc-time, .locale-zh-cn #local-time, .locale-zh-cn p.install-help, .locale-zh-cn p.help, .locale-zh-cn p.description, .locale-zh-cn span.description, .locale-zh-cn .form-wrap p { font-style: normal; } /* zh_CN: Enlarge dashboard widget 'Configure' link */ .locale-zh-cn .hdnle a { font-size: 12px; } /* zn_CH: Enlarge font size, set font-size: normal */ .locale-zh-cn form.upgrade .hint { font-style: normal; font-size: 100%; } /* zh_CN: Enlarge font-size. */ .locale-zh-cn #sort-buttons { font-size: 1em !important; } /* de_DE: Text needs more space for translation */ .locale-de-de #customize-header-actions .button, .locale-de-de-formal #customize-header-actions .button { padding: 0 5px 1px; /* default 0 10px 1px */ } .locale-de-de #customize-header-actions .spinner, .locale-de-de-formal #customize-header-actions .spinner { margin: 16px 3px 0; /* default 16px 4px 0 5px */ } /* ru_RU: Text needs more room to breathe. */ .locale-ru-ru #adminmenu { width: inherit; /* back-compat for pre-3.2 */ } .locale-ru-ru #adminmenu, .locale-ru-ru #wpbody { margin-right: 0; /* back-compat for pre-3.2 */ } .locale-ru-ru .inline-edit-row fieldset label span.title, .locale-ru-ru .inline-edit-row fieldset.inline-edit-date legend { width: 8em; /* default 6em */ } .locale-ru-ru .inline-edit-row fieldset label span.input-text-wrap, .locale-ru-ru .inline-edit-row fieldset .timestamp-wrap { margin-right: 8em; /* default 6em */ } .locale-ru-ru.post-php .tagsdiv .newtag, .locale-ru-ru.post-new-php .tagsdiv .newtag { width: 165px; /* default 180px - 15px */ } .locale-ru-ru.press-this .posting { margin-left: 277px; /* default 252px + 25px */ } .locale-ru-ru .press-this-sidebar { width: 265px; /* default 240px + 25px */ } .locale-ru-ru #customize-header-actions .button { padding: 0 5px 1px; /* default 0 10px 1px */ } .locale-ru-ru #customize-header-actions .spinner { margin: 16px 3px 0; /* default 16px 4px 0 5px */ } /* lt_LT: QuickEdit */ .locale-lt-lt .inline-edit-row fieldset label span.title, .locale-lt-lt .inline-edit-row fieldset.inline-edit-date legend { width: 8em; /* default 6em */ } .locale-lt-lt .inline-edit-row fieldset label span.input-text-wrap, .locale-lt-lt .inline-edit-row fieldset .timestamp-wrap { margin-right: 8em; /* default 6em */ } @media screen and (max-width: 782px) { .locale-ru-ru .inline-edit-row fieldset label span.input-text-wrap, .locale-ru-ru .inline-edit-row fieldset .timestamp-wrap, .locale-lt-lt .inline-edit-row fieldset label span.input-text-wrap, .locale-lt-lt .inline-edit-row fieldset .timestamp-wrap { margin-right: 0; } } view/wplogin/css/l10n-rtl.min.css000064400000004645147600042240012642 0ustar00/*! This file is auto-generated */ body.rtl,body.rtl .press-this a.wp-switch-editor{font-family:Tahoma,Arial,sans-serif}.rtl h1,.rtl h2,.rtl h3,.rtl h4,.rtl h5,.rtl h6{font-family:Arial,sans-serif;font-weight:600}body.locale-he-il,body.locale-he-il .press-this a.wp-switch-editor{font-family:Arial,sans-serif}.locale-he-il em{font-weight:600}.locale-he-il em,.locale-zh-cn #local-time,.locale-zh-cn #utc-time,.locale-zh-cn .form-wrap p,.locale-zh-cn .howto,.locale-zh-cn .inline-edit-row fieldset span.checkbox-title,.locale-zh-cn .inline-edit-row fieldset span.title,.locale-zh-cn .js .input-with-default-title,.locale-zh-cn .link-to-original,.locale-zh-cn .tablenav .displaying-num,.locale-zh-cn p.description,.locale-zh-cn p.help,.locale-zh-cn p.install-help,.locale-zh-cn span.description{font-style:normal}.locale-zh-cn .hdnle a{font-size:12px}.locale-zh-cn form.upgrade .hint{font-style:normal;font-size:100%}.locale-zh-cn #sort-buttons{font-size:1em!important}.locale-de-de #customize-header-actions .button,.locale-de-de-formal #customize-header-actions .button{padding:0 5px 1px}.locale-de-de #customize-header-actions .spinner,.locale-de-de-formal #customize-header-actions .spinner{margin:16px 3px 0}.locale-ru-ru #adminmenu{width:inherit;margin-right:0}.locale-ru-ru #wpbody{margin-right:0}.locale-ru-ru .inline-edit-row fieldset label span.title,.locale-ru-ru .inline-edit-row fieldset.inline-edit-date legend{width:8em}.locale-ru-ru .inline-edit-row fieldset .timestamp-wrap,.locale-ru-ru .inline-edit-row fieldset label span.input-text-wrap{margin-right:8em}.locale-ru-ru.post-new-php .tagsdiv .newtag,.locale-ru-ru.post-php .tagsdiv .newtag{width:165px}.locale-ru-ru.press-this .posting{margin-left:277px}.locale-ru-ru .press-this-sidebar{width:265px}.locale-ru-ru #customize-header-actions .button{padding:0 5px 1px}.locale-ru-ru #customize-header-actions .spinner{margin:16px 3px 0}.locale-lt-lt .inline-edit-row fieldset label span.title,.locale-lt-lt .inline-edit-row fieldset.inline-edit-date legend{width:8em}.locale-lt-lt .inline-edit-row fieldset .timestamp-wrap,.locale-lt-lt .inline-edit-row fieldset label span.input-text-wrap{margin-right:8em}@media screen and (max-width:782px){.locale-lt-lt .inline-edit-row fieldset .timestamp-wrap,.locale-lt-lt .inline-edit-row fieldset label span.input-text-wrap,.locale-ru-ru .inline-edit-row fieldset .timestamp-wrap,.locale-ru-ru .inline-edit-row fieldset label span.input-text-wrap{margin-right:0}}view/wplogin/css/l10n.css000064400000007272147600042240011260 0ustar00/*------------------------------------------------------------------------------ 27.0 - Localization ------------------------------------------------------------------------------*/ /* RTL except Hebrew (see below): Tahoma as the first font; */ body.rtl, body.rtl .press-this a.wp-switch-editor { font-family: Tahoma, Arial, sans-serif; } /* Arial is best for RTL headings. */ .rtl h1, .rtl h2, .rtl h3, .rtl h4, .rtl h5, .rtl h6 { font-family: Arial, sans-serif; font-weight: 600; } /* he_IL: Remove Tahoma from the font stack. Arial is best for Hebrew. */ body.locale-he-il, body.locale-he-il .press-this a.wp-switch-editor { font-family: Arial, sans-serif; } /* he_IL: Have be bold rather than italic. */ .locale-he-il em { font-style: normal; font-weight: 600; } /* zh_CN: Remove italic properties. */ .locale-zh-cn .howto, .locale-zh-cn .tablenav .displaying-num, .locale-zh-cn .js .input-with-default-title, .locale-zh-cn .link-to-original, .locale-zh-cn .inline-edit-row fieldset span.title, .locale-zh-cn .inline-edit-row fieldset span.checkbox-title, .locale-zh-cn #utc-time, .locale-zh-cn #local-time, .locale-zh-cn p.install-help, .locale-zh-cn p.help, .locale-zh-cn p.description, .locale-zh-cn span.description, .locale-zh-cn .form-wrap p { font-style: normal; } /* zh_CN: Enlarge dashboard widget 'Configure' link */ .locale-zh-cn .hdnle a { font-size: 12px; } /* zn_CH: Enlarge font size, set font-size: normal */ .locale-zh-cn form.upgrade .hint { font-style: normal; font-size: 100%; } /* zh_CN: Enlarge font-size. */ .locale-zh-cn #sort-buttons { font-size: 1em !important; } /* de_DE: Text needs more space for translation */ .locale-de-de #customize-header-actions .button, .locale-de-de-formal #customize-header-actions .button { padding: 0 5px 1px; /* default 0 10px 1px */ } .locale-de-de #customize-header-actions .spinner, .locale-de-de-formal #customize-header-actions .spinner { margin: 16px 3px 0; /* default 16px 4px 0 5px */ } /* ru_RU: Text needs more room to breathe. */ .locale-ru-ru #adminmenu { width: inherit; /* back-compat for pre-3.2 */ } .locale-ru-ru #adminmenu, .locale-ru-ru #wpbody { margin-left: 0; /* back-compat for pre-3.2 */ } .locale-ru-ru .inline-edit-row fieldset label span.title, .locale-ru-ru .inline-edit-row fieldset.inline-edit-date legend { width: 8em; /* default 6em */ } .locale-ru-ru .inline-edit-row fieldset label span.input-text-wrap, .locale-ru-ru .inline-edit-row fieldset .timestamp-wrap { margin-left: 8em; /* default 6em */ } .locale-ru-ru.post-php .tagsdiv .newtag, .locale-ru-ru.post-new-php .tagsdiv .newtag { width: 165px; /* default 180px - 15px */ } .locale-ru-ru.press-this .posting { margin-right: 277px; /* default 252px + 25px */ } .locale-ru-ru .press-this-sidebar { width: 265px; /* default 240px + 25px */ } .locale-ru-ru #customize-header-actions .button { padding: 0 5px 1px; /* default 0 10px 1px */ } .locale-ru-ru #customize-header-actions .spinner { margin: 16px 3px 0; /* default 16px 4px 0 5px */ } /* lt_LT: QuickEdit */ .locale-lt-lt .inline-edit-row fieldset label span.title, .locale-lt-lt .inline-edit-row fieldset.inline-edit-date legend { width: 8em; /* default 6em */ } .locale-lt-lt .inline-edit-row fieldset label span.input-text-wrap, .locale-lt-lt .inline-edit-row fieldset .timestamp-wrap { margin-left: 8em; /* default 6em */ } @media screen and (max-width: 782px) { .locale-ru-ru .inline-edit-row fieldset label span.input-text-wrap, .locale-ru-ru .inline-edit-row fieldset .timestamp-wrap, .locale-lt-lt .inline-edit-row fieldset label span.input-text-wrap, .locale-lt-lt .inline-edit-row fieldset .timestamp-wrap { margin-left: 0; } } view/wplogin/css/l10n.min.css000064400000004655147600042240012044 0ustar00/*! This file is auto-generated */ body.rtl,body.rtl .press-this a.wp-switch-editor{font-family:Tahoma,Arial,sans-serif}.rtl h1,.rtl h2,.rtl h3,.rtl h4,.rtl h5,.rtl h6{font-family:Arial,sans-serif;font-weight:600}body.locale-he-il,body.locale-he-il .press-this a.wp-switch-editor{font-family:Arial,sans-serif}.locale-he-il em{font-style:normal;font-weight:600}.locale-zh-cn #local-time,.locale-zh-cn #utc-time,.locale-zh-cn .form-wrap p,.locale-zh-cn .howto,.locale-zh-cn .inline-edit-row fieldset span.checkbox-title,.locale-zh-cn .inline-edit-row fieldset span.title,.locale-zh-cn .js .input-with-default-title,.locale-zh-cn .link-to-original,.locale-zh-cn .tablenav .displaying-num,.locale-zh-cn p.description,.locale-zh-cn p.help,.locale-zh-cn p.install-help,.locale-zh-cn span.description{font-style:normal}.locale-zh-cn .hdnle a{font-size:12px}.locale-zh-cn form.upgrade .hint{font-style:normal;font-size:100%}.locale-zh-cn #sort-buttons{font-size:1em!important}.locale-de-de #customize-header-actions .button,.locale-de-de-formal #customize-header-actions .button{padding:0 5px 1px}.locale-de-de #customize-header-actions .spinner,.locale-de-de-formal #customize-header-actions .spinner{margin:16px 3px 0}.locale-ru-ru #adminmenu{width:inherit}.locale-ru-ru #adminmenu,.locale-ru-ru #wpbody{margin-left:0}.locale-ru-ru .inline-edit-row fieldset label span.title,.locale-ru-ru .inline-edit-row fieldset.inline-edit-date legend{width:8em}.locale-ru-ru .inline-edit-row fieldset .timestamp-wrap,.locale-ru-ru .inline-edit-row fieldset label span.input-text-wrap{margin-left:8em}.locale-ru-ru.post-new-php .tagsdiv .newtag,.locale-ru-ru.post-php .tagsdiv .newtag{width:165px}.locale-ru-ru.press-this .posting{margin-right:277px}.locale-ru-ru .press-this-sidebar{width:265px}.locale-ru-ru #customize-header-actions .button{padding:0 5px 1px}.locale-ru-ru #customize-header-actions .spinner{margin:16px 3px 0}.locale-lt-lt .inline-edit-row fieldset label span.title,.locale-lt-lt .inline-edit-row fieldset.inline-edit-date legend{width:8em}.locale-lt-lt .inline-edit-row fieldset .timestamp-wrap,.locale-lt-lt .inline-edit-row fieldset label span.input-text-wrap{margin-left:8em}@media screen and (max-width:782px){.locale-lt-lt .inline-edit-row fieldset .timestamp-wrap,.locale-lt-lt .inline-edit-row fieldset label span.input-text-wrap,.locale-ru-ru .inline-edit-row fieldset .timestamp-wrap,.locale-ru-ru .inline-edit-row fieldset label span.input-text-wrap{margin-left:0}}view/wplogin/css/login-rtl.css000064400000017620147600042240012413 0ustar00/*! This file is auto-generated */ html, body { height: 100%; margin: 0; padding: 0; } body { background: #f0f0f1; min-width: 0; color: #3c434a; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; font-size: 13px; line-height: 1.4; } a { color: #2271b1; transition-property: border, background, color; transition-duration: .05s; transition-timing-function: ease-in-out; } a { outline: 0; } a:hover, a:active { color: #135e96; } a:focus { color: #043959; box-shadow: 0 0 0 2px #2271b1; /* Only visible in Windows High Contrast mode */ outline: 2px solid transparent; } p { line-height: 1.5; } .login .message, .login .notice, .login .success { border-right: 4px solid #72aee6; padding: 12px; margin-right: 0; margin-bottom: 20px; background-color: #fff; box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.1); word-wrap: break-word; } .login .success { border-right-color: #00a32a; } /* Match border color from common.css */ .login .notice-error { border-right-color: #d63638; } .login .login-error-list { list-style: none; } .login .login-error-list li + li { margin-top: 4px; } #loginform p.submit, .login-action-lostpassword p.submit { border: none; margin: -10px 0 20px; /* May want to revisit this */ } .login * { margin: 0; padding: 0; } .login .input::-ms-clear { display: none; } .login .pw-weak { margin-bottom: 15px; } .login .button.wp-hide-pw { background: transparent; border: 1px solid transparent; box-shadow: none; font-size: 14px; line-height: 2; width: 2.5rem; height: 2.5rem; min-width: 40px; min-height: 40px; margin: 0; padding: 5px 9px; position: absolute; left: 0; top: 0; } .login .button.wp-hide-pw:hover { background: transparent; } .login .button.wp-hide-pw:focus { background: transparent; border-color: #3582c4; box-shadow: 0 0 0 1px #3582c4; /* Only visible in Windows High Contrast mode */ outline: 2px solid transparent; } .login .button.wp-hide-pw:active { background: transparent; box-shadow: none; transform: none; } .login .button.wp-hide-pw .dashicons { width: 1.25rem; height: 1.25rem; top: 0.25rem; } .login .wp-pwd { position: relative; } .no-js .hide-if-no-js { display: none; } .login form { margin-top: 20px; margin-right: 0; padding: 26px 24px 34px; font-weight: 400; overflow: hidden; background: #fff; border: 1px solid #c3c4c7; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04); } .login form.shake { animation: shake 0.2s cubic-bezier(.19,.49,.38,.79) both; animation-iteration-count: 3; transform: translateX(0); } @keyframes shake { 25% { transform: translateX(20px); } 75% { transform: translateX(-20px); } 100% { transform: translateX(0); } } @media (prefers-reduced-motion: reduce) { .login form.shake { animation: none; transform: none; } } .login-action-confirm_admin_email #login { width: 60vw; max-width: 650px; margin-top: -2vh; } @media screen and (max-width: 782px) { .login-action-confirm_admin_email #login { box-sizing: border-box; margin-top: 0; padding-right: 4vw; padding-left: 4vw; width: 100vw; } } .login form .forgetmenot { font-weight: 400; float: right; margin-bottom: 0; } .login .button-primary { float: left; } .login .reset-pass-submit { display: flex; flex-flow: row wrap; justify-content: space-between; } .login .reset-pass-submit .button { display: inline-block; float: none; margin-bottom: 6px; } .login .admin-email-confirm-form .submit { text-align: center; } .admin-email__later { text-align: right; } .login form p.admin-email__details { margin: 1.1em 0; } .login h1.admin-email__heading { border-bottom: 1px #f0f0f1 solid; color: #50575e; font-weight: normal; padding-bottom: 0.5em; text-align: right; } .admin-email__actions div { padding-top: 1.5em; } .login .admin-email__actions .button-primary { float: none; margin-right: 0.25em; margin-left: 0.25em; } #login form p { margin-bottom: 0; } #login form .indicator-hint, #login #reg_passmail { margin-bottom: 16px; } #login form p.submit { margin: 0; padding: 0; } .login label { font-size: 14px; line-height: 1.5; display: inline-block; margin-bottom: 3px; } .login .forgetmenot label, .login .pw-weak label { line-height: 1.5; vertical-align: baseline; } .login h1 { text-align: center; } .login h1 a { background-image: url(../images/w-logo-blue.png?ver=20131202); background-image: none, url(../images/wordpress-logo.svg?ver=20131107); background-size: 84px; background-position: center top; background-repeat: no-repeat; color: #3c434a; height: 84px; font-size: 20px; font-weight: 400; line-height: 1.3; margin: 0 auto 25px; padding: 0; text-decoration: none; width: 84px; text-indent: -9999px; outline: none; overflow: hidden; display: block; } #login { width: 320px; padding: 5% 0 0; margin: auto; } .login #nav, .login #backtoblog { font-size: 13px; padding: 0 24px; } .login #nav { margin: 24px 0 0; } #backtoblog { margin: 16px 0; word-wrap: break-word; } .login #nav a, .login #backtoblog a { text-decoration: none; color: #50575e; } .login #nav a:hover, .login #backtoblog a:hover, .login h1 a:hover { color: #135e96; } .login #nav a:focus, .login #backtoblog a:focus, .login h1 a:focus { color: #043959; } .login .privacy-policy-page-link { text-align: center; width: 100%; margin: 3em 0 2em; } .login form .input, .login input[type="text"], .login input[type="password"] { font-size: 24px; line-height: 1.33333333; /* 32px */ width: 100%; border-width: 0.0625rem; padding: 0.1875rem 0.3125rem; /* 3px 5px */ margin: 0 0 16px 6px; min-height: 40px; max-height: none; } .login input.password-input { font-family: Consolas, Monaco, monospace; } .js.login input.password-input { padding-left: 2.5rem; } .login form .input, .login input[type="text"], .login form input[type="checkbox"] { background: #fff; } .js.login-action-resetpass input[type="text"], .js.login-action-resetpass input[type="password"], .js.login-action-rp input[type="text"], .js.login-action-rp input[type="password"] { margin-bottom: 0; } .login #pass-strength-result { font-weight: 600; margin: -1px 0 16px 5px; padding: 6px 5px; text-align: center; width: 100%; } body.interim-login { height: auto; } .interim-login #login { padding: 0; margin: 5px auto 20px; } .interim-login.login h1 a { width: auto; } .interim-login #login_error, .interim-login.login .message { margin: 0 0 16px; } .interim-login.login form { margin: 0; } /* Hide visually but not from screen readers */ .screen-reader-text, .screen-reader-text span { border: 0; clip: rect(1px, 1px, 1px, 1px); -webkit-clip-path: inset(50%); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; word-wrap: normal !important; /* many screen reader and browser combinations announce broken words as they would appear visually */ } /* Hide the Edge "reveal password" native button */ input::-ms-reveal { display: none; } #language-switcher { padding: 0; overflow: visible; background: none; border: none; box-shadow: none; } #language-switcher select { margin-left: 0.25em; } .language-switcher { margin: 0 auto; padding: 0 0 24px; text-align: center; } .language-switcher label { margin-left: 0.25em; } .language-switcher label .dashicons { width: auto; height: auto; } .login .language-switcher .button { margin-bottom: 0; } @media screen and (max-height: 550px) { #login { padding: 20px 0; } #language-switcher { margin-top: 0; } } @media screen and (max-width: 782px) { .interim-login input[type=checkbox] { width: 1rem; height: 1rem; } .interim-login input[type=checkbox]:checked:before { width: 1.3125rem; height: 1.3125rem; margin: -0.1875rem -0.25rem 0 0; } #language-switcher label, #language-switcher select { margin-left: 0; } } @media screen and (max-width: 400px) { .login .language-switcher .button { display: block; margin: 5px auto 0; } } view/wplogin/css/login-rtl.min.css000064400000014251147600042240013172 0ustar00/*! This file is auto-generated */ @keyframes shake{25%{transform:translateX(20px)}75%{transform:translateX(-20px)}to{transform:translateX(0)}}body,html{height:100%;margin:0;padding:0}body{background:#f0f0f1;min-width:0;color:#3c434a;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:13px;line-height:1.4}a{color:#2271b1;transition-property:border,background,color;transition-duration:.05s;transition-timing-function:ease-in-out;outline:0}.login #backtoblog a:hover,.login #nav a:hover,.login h1 a:hover,a:active,a:hover{color:#135e96}a:focus{color:#043959;box-shadow:0 0 0 2px #2271b1;outline:2px solid transparent}p{line-height:1.5}.login .message,.login .notice,.login .success{border-right:4px solid #72aee6;padding:12px;margin-right:0;margin-bottom:20px;background-color:#fff;box-shadow:0 1px 1px 0 rgba(0,0,0,.1);word-wrap:break-word}.login .success{border-right-color:#00a32a}.login .notice-error{border-right-color:#d63638}.login .login-error-list{list-style:none}.login .login-error-list li+li{margin-top:4px}#loginform p.submit,.login-action-lostpassword p.submit{border:0;margin:-10px 0 20px}#login form p.submit,.login *{margin:0;padding:0}.login .input::-ms-clear{display:none}.login .pw-weak{margin-bottom:15px}.login .button.wp-hide-pw{background:0 0;border:1px solid transparent;box-shadow:none;font-size:14px;line-height:2;width:2.5rem;height:2.5rem;min-width:40px;min-height:40px;margin:0;padding:5px 9px;position:absolute;left:0;top:0}.login .button.wp-hide-pw:hover{background:0 0}.login .button.wp-hide-pw:focus{background:0 0;border-color:#3582c4;box-shadow:0 0 0 1px #3582c4;outline:2px solid transparent}.login .button.wp-hide-pw:active{background:0 0;box-shadow:none;transform:none}.login .button.wp-hide-pw .dashicons{width:1.25rem;height:1.25rem;top:.25rem}.login .wp-pwd{position:relative}.no-js .hide-if-no-js{display:none}.login form,.login h1 a{font-weight:400;overflow:hidden}.login form{margin-top:20px;margin-right:0;padding:26px 24px 34px;background:#fff;border:1px solid #c3c4c7;box-shadow:0 1px 3px rgba(0,0,0,.04)}.login form.shake{animation:shake .2s cubic-bezier(.19,.49,.38,.79) both;animation-iteration-count:3;transform:translateX(0)}@media (prefers-reduced-motion:reduce){.login form.shake{animation:none;transform:none}}.login-action-confirm_admin_email #login{width:60vw;max-width:650px;margin-top:-2vh}@media screen and (max-width:782px){.login-action-confirm_admin_email #login{box-sizing:border-box;margin-top:0;padding-right:4vw;padding-left:4vw;width:100vw}}.login form .forgetmenot{font-weight:400;float:right;margin-bottom:0}.login .button-primary{float:left}.login .reset-pass-submit{display:flex;flex-flow:row wrap;justify-content:space-between}.login .reset-pass-submit .button{display:inline-block;float:none;margin-bottom:6px}.login .admin-email-confirm-form .submit,.login h1{text-align:center}.admin-email__later{text-align:right}.login form p.admin-email__details{margin:1.1em 0}.login h1.admin-email__heading{border-bottom:1px #f0f0f1 solid;color:#50575e;font-weight:400;padding-bottom:.5em;text-align:right}.admin-email__actions div{padding-top:1.5em}.login .admin-email__actions .button-primary{float:none;margin-right:.25em;margin-left:.25em}#login form p{margin-bottom:0}#login #reg_passmail,#login form .indicator-hint{margin-bottom:16px}.login label{font-size:14px;line-height:1.5;display:inline-block;margin-bottom:3px}.login .forgetmenot label,.login .pw-weak label{line-height:1.5;vertical-align:baseline}.login h1 a{background-image:none,url(../images/wordpress-logo.svg?ver=20131107);background-size:84px;background-position:center top;background-repeat:no-repeat;color:#3c434a;height:84px;font-size:20px;line-height:1.3;margin:0 auto 25px;padding:0;text-decoration:none;width:84px;text-indent:-9999px;outline:0;display:block}#login{width:320px;padding:5%0 0;margin:auto}.login #backtoblog,.login #nav{font-size:13px;padding:0 24px}.login #nav{margin:24px 0 0}#backtoblog{margin:16px 0;word-wrap:break-word}.login #backtoblog a,.login #nav a{text-decoration:none;color:#50575e}.login #backtoblog a:focus,.login #nav a:focus,.login h1 a:focus{color:#043959}.login .privacy-policy-page-link{text-align:center;width:100%;margin:3em 0 2em}.login form .input,.login input[type=password],.login input[type=text]{font-size:24px;line-height:1.33333333;width:100%;border-width:.0625rem;padding:.1875rem .3125rem;margin:0 0 16px 6px;min-height:40px;max-height:none}.login input.password-input{font-family:Consolas,Monaco,monospace}.js.login input.password-input{padding-left:2.5rem}.login form .input,.login form input[type=checkbox],.login input[type=text]{background:#fff}.js.login-action-resetpass input[type=password],.js.login-action-resetpass input[type=text],.js.login-action-rp input[type=password],.js.login-action-rp input[type=text]{margin-bottom:0}.login #pass-strength-result{font-weight:600;margin:-1px 0 16px 5px;padding:6px 5px;text-align:center;width:100%}body.interim-login{height:auto}.interim-login #login{padding:0;margin:5px auto 20px}.interim-login.login h1 a{width:auto}.interim-login #login_error,.interim-login.login .message{margin:0 0 16px}.interim-login.login form{margin:0}.screen-reader-text,.screen-reader-text span{border:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}input::-ms-reveal{display:none}#language-switcher{padding:0;overflow:visible;background:0 0;border:0;box-shadow:none}#language-switcher select,.language-switcher label{margin-left:.25em}.language-switcher{margin:0 auto;padding:0 0 24px;text-align:center}.language-switcher label .dashicons{width:auto;height:auto}.login .language-switcher .button{margin-bottom:0}@media screen and (max-height:550px){#login{padding:20px 0}#language-switcher{margin-top:0}}@media screen and (max-width:782px){.interim-login input[type=checkbox]{width:1rem;height:1rem}.interim-login input[type=checkbox]:checked:before{width:1.3125rem;height:1.3125rem;margin:-.1875rem -.25rem 0 0}#language-switcher label,#language-switcher select{margin-left:0}}@media screen and (max-width:400px){.login .language-switcher .button{display:block;margin:5px auto 0}}view/wplogin/css/login.css000064400000021153147600042240011610 0ustar00html, body { height: 100%; margin: 0; padding: 0; } body { background: #f0f0f1; min-width: 0; color: #3c434a; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; font-size: 13px; line-height: 1.4; } a { color: #2271b1; transition-property: border, background, color; transition-duration: .05s; transition-timing-function: ease-in-out; } a { outline: 0; } a:hover, a:active { color: #135e96; } a:focus { color: #043959; box-shadow: 0 0 0 2px #2271b1; /* Only visible in Windows High Contrast mode */ outline: 2px solid transparent; } p { line-height: 1.5; } .login .message, .login .notice, .login .success { border-left: 4px solid #72aee6; padding: 12px; margin-left: 0; margin-bottom: 20px; background-color: #fff; box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.1); word-wrap: break-word; } .login .success { border-left-color: #00a32a; } /* Match border color from common.css */ .login .notice-error { border-left-color: #d63638; } .login .login-error-list { list-style: none; } .login .login-error-list li + li { margin-top: 4px; } #loginform p.submit, .login-action-lostpassword p.submit { border: none; margin: -10px 0 20px; /* May want to revisit this */ } .login * { margin: 0; padding: 0; } .login .input::-ms-clear { display: none; } .login .pw-weak { margin-bottom: 15px; } .login .button.wp-hide-pw { background: transparent; border: 1px solid transparent; box-shadow: none; font-size: 14px; line-height: 2; width: 2.5rem; height: 2.5rem; min-width: 40px; min-height: 40px; margin: 0; padding: 5px 9px; position: absolute; right: 0; top: 0; } .login .button.wp-hide-pw:hover { background: transparent; } .login .button.wp-hide-pw:focus { background: transparent; border-color: #3582c4; box-shadow: 0 0 0 1px #3582c4; /* Only visible in Windows High Contrast mode */ outline: 2px solid transparent; } .login .button.wp-hide-pw:active { background: transparent; box-shadow: none; transform: none; } .login .button.wp-hide-pw .dashicons { width: 1.25rem; height: 1.25rem; top: 0.25rem; } .login .wp-pwd { position: relative; } .no-js .hide-if-no-js { display: none; } .login form { margin-top: 20px; margin-left: 0; padding: 26px 24px 34px; font-weight: 400; overflow: hidden; background: #fff; border: 1px solid #c3c4c7; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04); } .login form.shake { animation: shake 0.2s cubic-bezier(.19,.49,.38,.79) both; animation-iteration-count: 3; transform: translateX(0); } @keyframes shake { 25% { transform: translateX(-20px); } 75% { transform: translateX(20px); } 100% { transform: translateX(0); } } @media (prefers-reduced-motion: reduce) { .login form.shake { animation: none; transform: none; } } .login-action-confirm_admin_email #login { width: 60vw; max-width: 650px; margin-top: -2vh; } @media screen and (max-width: 782px) { .login-action-confirm_admin_email #login { box-sizing: border-box; margin-top: 0; padding-left: 4vw; padding-right: 4vw; width: 100vw; } } .login form .forgetmenot { font-weight: 400; float: left; margin-bottom: 0; } .login .button-primary { float: right; } .login .reset-pass-submit { display: flex; flex-flow: row wrap; justify-content: space-between; } .login .reset-pass-submit .button { display: inline-block; float: none; margin-bottom: 6px; } .login .admin-email-confirm-form .submit { text-align: center; } .admin-email__later { text-align: left; } .login form p.admin-email__details { margin: 1.1em 0; } .login h1.admin-email__heading { border-bottom: 1px #f0f0f1 solid; color: #50575e; font-weight: normal; padding-bottom: 0.5em; text-align: left; } .admin-email__actions div { padding-top: 1.5em; } .login .admin-email__actions .button-primary { float: none; margin-left: 0.25em; margin-right: 0.25em; } #login form p { margin-bottom: 0; } #login form .indicator-hint, #login #reg_passmail { margin-bottom: 16px; } #login form p.submit { margin: 0; padding: 0; } .login label { font-size: 14px; line-height: 1.5; display: inline-block; margin-bottom: 3px; } .login .forgetmenot label, .login .pw-weak label { line-height: 1.5; vertical-align: baseline; } .login h1 { text-align: center; } .login h1 a { background-image: url(../images/w-logo-blue.png?ver=20131202); background-image: none, url(../images/wordpress-logo.svg?ver=20131107); background-size: 84px; background-position: center top; background-repeat: no-repeat; color: #3c434a; height: 84px; font-size: 20px; font-weight: 400; line-height: 1.3; margin: 0 auto 25px; padding: 0; text-decoration: none; width: 84px; text-indent: -9999px; outline: none; overflow: hidden; display: block; } #login { width: 320px; padding: 5% 0 0; margin: auto; } .login #nav, .login #backtoblog { font-size: 13px; padding: 0 24px; } .login #nav { margin: 24px 0 0; } #backtoblog { margin: 16px 0; word-wrap: break-word; } .login #nav a, .login #backtoblog a { text-decoration: none; color: #50575e; } .login #nav a:hover, .login #backtoblog a:hover, .login h1 a:hover { color: #135e96; } .login #nav a:focus, .login #backtoblog a:focus, .login h1 a:focus { color: #043959; } .login .privacy-policy-page-link { text-align: center; width: 100%; margin: 3em 0 2em; } .login form .input, .login input[type="text"], .login input[type="password"] { font-size: 24px; line-height: 1.33333333; /* 32px */ width: 100%; border-width: 0.0625rem; padding: 0.1875rem 0.3125rem; /* 3px 5px */ margin: 0 6px 16px 0; min-height: 40px; max-height: none; } .login input.password-input { font-family: Consolas, Monaco, monospace; } .js.login input.password-input { padding-right: 2.5rem; } .login form .input, .login input[type="text"], .login form input[type="checkbox"] { background: #fff; } .js.login-action-resetpass input[type="text"], .js.login-action-resetpass input[type="password"], .js.login-action-rp input[type="text"], .js.login-action-rp input[type="password"] { margin-bottom: 0; } .login #pass-strength-result { font-weight: 600; margin: -1px 5px 16px 0; padding: 6px 5px; text-align: center; width: 100%; } body.interim-login { height: auto; } .interim-login #login { padding: 0; margin: 5px auto 20px; } .interim-login.login h1 a { width: auto; } .interim-login #login_error, .interim-login.login .message { margin: 0 0 16px; } .interim-login.login form { margin: 0; } /* Hide visually but not from screen readers */ .screen-reader-text, .screen-reader-text span { border: 0; clip: rect(1px, 1px, 1px, 1px); -webkit-clip-path: inset(50%); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; word-wrap: normal !important; /* many screen reader and browser combinations announce broken words as they would appear visually */ } /* Hide the Edge "reveal password" native button */ input::-ms-reveal { display: none; } #language-switcher { padding: 0; overflow: visible; background: none; border: none; box-shadow: none; } #language-switcher select { margin-right: 0.25em; } .language-switcher { margin: 0 auto; padding: 0 0 24px; text-align: center; } .language-switcher label { margin-right: 0.25em; } .language-switcher label .dashicons { width: auto; height: auto; } .login .language-switcher .button { margin-bottom: 0; } @media screen and (max-height: 550px) { #login { padding: 20px 0; } #language-switcher { margin-top: 0; } } @media screen and (max-width: 782px) { .interim-login input[type=checkbox] { width: 1rem; height: 1rem; } .interim-login input[type=checkbox]:checked:before { width: 1.3125rem; height: 1.3125rem; margin: -0.1875rem 0 0 -0.25rem; } #language-switcher label, #language-switcher select { margin-right: 0; } } @media screen and (max-width: 400px) { .login .language-switcher .button { display: block; margin: 5px auto 0; } } view/wplogin/css/login.min.css000064400000014202147600042240012367 0ustar00@keyframes shake{25%{transform:translateX(-20px)}75%{transform:translateX(20px)}to{transform:translateX(0)}}body,html{height:100%;margin:0;padding:0}body{background:#f0f0f1;min-width:0;color:#3c434a;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:13px;line-height:1.4}a{color:#2271b1;transition-property:border,background,color;transition-duration:.05s;transition-timing-function:ease-in-out;outline:0}.login #backtoblog a:hover,.login #nav a:hover,.login h1 a:hover,a:active,a:hover{color:#135e96}a:focus{color:#043959;box-shadow:0 0 0 2px #2271b1;outline:2px solid transparent}p{line-height:1.5}.login .message,.login .notice,.login .success{border-left:4px solid #72aee6;padding:12px;margin-left:0;margin-bottom:20px;background-color:#fff;box-shadow:0 1px 1px 0 rgba(0,0,0,.1);word-wrap:break-word}.login .success{border-left-color:#00a32a}.login .notice-error{border-left-color:#d63638}.login .login-error-list{list-style:none}.login .login-error-list li+li{margin-top:4px}#loginform p.submit,.login-action-lostpassword p.submit{border:0;margin:-10px 0 20px}#login form p.submit,.login *{margin:0;padding:0}.login .input::-ms-clear{display:none}.login .pw-weak{margin-bottom:15px}.login .button.wp-hide-pw{background:0 0;border:1px solid transparent;box-shadow:none;font-size:14px;line-height:2;width:2.5rem;height:2.5rem;min-width:40px;min-height:40px;margin:0;padding:5px 9px;position:absolute;right:0;top:0}.login .button.wp-hide-pw:hover{background:0 0}.login .button.wp-hide-pw:focus{background:0 0;border-color:#3582c4;box-shadow:0 0 0 1px #3582c4;outline:2px solid transparent}.login .button.wp-hide-pw:active{background:0 0;box-shadow:none;transform:none}.login .button.wp-hide-pw .dashicons{width:1.25rem;height:1.25rem;top:.25rem}.login .wp-pwd{position:relative}.no-js .hide-if-no-js{display:none}.login form,.login h1 a{font-weight:400;overflow:hidden}.login form{margin-top:20px;margin-left:0;padding:26px 24px 34px;background:#fff;border:1px solid #c3c4c7;box-shadow:0 1px 3px rgba(0,0,0,.04)}.login form.shake{animation:shake .2s cubic-bezier(.19,.49,.38,.79) both;animation-iteration-count:3;transform:translateX(0)}@media (prefers-reduced-motion:reduce){.login form.shake{animation:none;transform:none}}.login-action-confirm_admin_email #login{width:60vw;max-width:650px;margin-top:-2vh}@media screen and (max-width:782px){.login-action-confirm_admin_email #login{box-sizing:border-box;margin-top:0;padding-left:4vw;padding-right:4vw;width:100vw}}.login form .forgetmenot{font-weight:400;float:left;margin-bottom:0}.login .button-primary{float:right}.login .reset-pass-submit{display:flex;flex-flow:row wrap;justify-content:space-between}.login .reset-pass-submit .button{display:inline-block;float:none;margin-bottom:6px}.login .admin-email-confirm-form .submit,.login h1{text-align:center}.admin-email__later{text-align:left}.login form p.admin-email__details{margin:1.1em 0}.login h1.admin-email__heading{border-bottom:1px #f0f0f1 solid;color:#50575e;font-weight:400;padding-bottom:.5em;text-align:left}.admin-email__actions div{padding-top:1.5em}.login .admin-email__actions .button-primary{float:none;margin-left:.25em;margin-right:.25em}#login form p{margin-bottom:0}#login #reg_passmail,#login form .indicator-hint{margin-bottom:16px}.login label{font-size:14px;line-height:1.5;display:inline-block;margin-bottom:3px}.login .forgetmenot label,.login .pw-weak label{line-height:1.5;vertical-align:baseline}.login h1 a{background-image:none,url(../images/wordpress-logo.svg?ver=20131107);background-size:84px;background-position:center top;background-repeat:no-repeat;color:#3c434a;height:84px;font-size:20px;line-height:1.3;margin:0 auto 25px;padding:0;text-decoration:none;width:84px;text-indent:-9999px;outline:0;display:block}#login{width:320px;padding:5%0 0;margin:auto}.login #backtoblog,.login #nav{font-size:13px;padding:0 24px}.login #nav{margin:24px 0 0}#backtoblog{margin:16px 0;word-wrap:break-word}.login #backtoblog a,.login #nav a{text-decoration:none;color:#50575e}.login #backtoblog a:focus,.login #nav a:focus,.login h1 a:focus{color:#043959}.login .privacy-policy-page-link{text-align:center;width:100%;margin:3em 0 2em}.login form .input,.login input[type=password],.login input[type=text]{font-size:24px;line-height:1.33333333;width:100%;border-width:.0625rem;padding:.1875rem .3125rem;margin:0 6px 16px 0;min-height:40px;max-height:none}.login input.password-input{font-family:Consolas,Monaco,monospace}.js.login input.password-input{padding-right:2.5rem}.login form .input,.login form input[type=checkbox],.login input[type=text]{background:#fff}.js.login-action-resetpass input[type=password],.js.login-action-resetpass input[type=text],.js.login-action-rp input[type=password],.js.login-action-rp input[type=text]{margin-bottom:0}.login #pass-strength-result{font-weight:600;margin:-1px 5px 16px 0;padding:6px 5px;text-align:center;width:100%}body.interim-login{height:auto}.interim-login #login{padding:0;margin:5px auto 20px}.interim-login.login h1 a{width:auto}.interim-login #login_error,.interim-login.login .message{margin:0 0 16px}.interim-login.login form{margin:0}.screen-reader-text,.screen-reader-text span{border:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}input::-ms-reveal{display:none}#language-switcher{padding:0;overflow:visible;background:0 0;border:0;box-shadow:none}#language-switcher select,.language-switcher label{margin-right:.25em}.language-switcher{margin:0 auto;padding:0 0 24px;text-align:center}.language-switcher label .dashicons{width:auto;height:auto}.login .language-switcher .button{margin-bottom:0}@media screen and (max-height:550px){#login{padding:20px 0}#language-switcher{margin-top:0}}@media screen and (max-width:782px){.interim-login input[type=checkbox]{width:1rem;height:1rem}.interim-login input[type=checkbox]:checked:before{width:1.3125rem;height:1.3125rem;margin:-.1875rem 0 0-.25rem}#language-switcher label,#language-switcher select{margin-right:0}}@media screen and (max-width:400px){.login .language-switcher .button{display:block;margin:5px auto 0}}view/wplogin/images/loading.gif000064400000002534147600042240012551 0ustar00GIF89a ޥεddd%%%sss===ooo>>>???:::}}}AAA...@@@kkk999ggg555vvv///<<<! NETSCAPE2.0! ,@p"FšPiBA8Fb9 X U'D2M-:AB oC aPJh #oxOCh$x{ bE#u eDhJf}D_ Z `S PBVsA! , A",O$Fh"D7c,. Kv^b/X`$jK|>@89'!dhP0E! , <".0" ע\Ǩ*U<&a)@*VRQ spZLb!dE@f PE!!  , >hRe!( H9d$DpTzMdqx`GD!| iG! , i0p â@p(`I GAi cp0CQ( 'cIđi`pGzB H%Q a%%%  % BX{ BJGA! , ;" XDǛAhZIJd,cpga D"Hm $B!  , GpHDDTsHK!+1!axBȠ "Dt rD sC"{ RLsSA!, W=N =I2>q>0`ttâPԃ,ÐA`, U$\8.Гhp'! , 8"h4Iy2R\tЯCb$NBP &kZZ4)! ,  } bQH- !@ ;view/wplogin/images/w-logo-blue.png000064400000006051147600042240013302 0ustar00PNG  IHDRPPPLTEttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttfJܱtRNS  !"#$%&'()*+,-.012345689:;<=>?@ABCDEFGHIJKLMNOPQRSVWXYZ[\]^`abcdfghmopqstuwxyz{|}~%IDATC7qG$6Qs>Ŋ91DI3Y˵dkltZcSуQ. fO6|8iN%9q>1hZںŵ[t W?sulqʲ=J^J [R2Oqi}Ɣ,YԺ÷:,EkAkRxˮl9EK'CYtOڜckqyQ2trqMj*;-kңuGvc˚QVuq܋43U>hEDBo|0`NO%!rL^=ڕE qem2?qO"FV?qEauCcqj ; @eꦧӁj rZCA_Y ytG[ҁ>u߁g@6ʠmu7cdNm15C#\󅺭1?љ3Vݷd$st7{} HV9c1P-z싈 T T5eaT-F<&/ oF9 PT2pWAl>RmSGNslG4/8RI֑ϰ[=O}WkZ%ɵf-n"'Jv'Fvu8N%m {H(NRJ)q*B:l|b^W( cR~%ո6jqY/dLEs0+ \xmfj0[zH)ڮ$0vQZ?9#;qU1&pFyi:z(mS8N5* 9P"WH)EɶcF$2MU0J%J1IUJ;s\Jq+Fn-xHKY}++qmQlt5i(\+81WΑ38V dyn(G?qw+a\DwxƃJ W$e%AZfv'FRD1*l(=Y 0[*\?$>^Yʁf4Z0TjԡYfBGb9W*a7{^Y/V\ԡ$\+d_0\ !$LV)e,+@Ʃ1fȕe c&G؋kz(1r X 1XkYVc0AǁݲBq1`̐c 1`JπI2z0vV%mBrLaAy1 Ke7 P#PYk1ߪyèrLU@2ec**FfDqm9k9fUdF21~%mYՊ{B3^*amW\6Y*1Q=9VbFcJ5ȌH d: k4P-c BP+jsH 2pz`YFv)v9ŸGZv>|'c#e܂U@Fs/ ٖcc98B\}L?aUv5=WC^m=դ)r#-@:Q&VL/rc*o!mpdL= l]{d!2R»=gTF3"!YWd{0U _SBY:~R܀ZqMSC',` %|sx{VRSUeF08F+a[q/k4߇;u2GN.yUq&OIjHÒ_mA.(ؤYMncfcPHo" :ⲗ 'l,?$n^ rQytS=ꈺxŧq?.!9 WY[/.m clCjel6֫p2pQ/lcJtGyb/ƕ>;KJ~0.-itOV褴<%5KH?@ABCDEFGHIJKLMNOPQSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~xDIDATx]i@U(b99CV*iH/JeHE|!>W6R{6)8ٳ"9Tdx}=Ϲpo{^g{ku8MML[~7oX*-q@ǭڍI-BAn˜v7uEe+Ztkq@d73S*`Jp4gן^_& 1 34l|Rny/i]<]]ԠD l!b`ԚT] =ʞbvPDQd?eS#}61;j S~ai9R:J9TI瓛q'_ #B.89ݽUuLssNZM&suITMwҗnt lgT%E Wl)N/(J{^|oX7|9.yw铝@eZU>s> m'ޛ k/\_j (hv,kliJڄ^܈@%UX[xYZG?vYS\lfʹX [ו`m*uhW0k3$nӿ2|J[vb>ׯ. EӗzfRV*mS0M(Sze(mf| M]qCy8751.?_6|T*ni s;J)CS]Zō:M␼^X}}ۊku '?*no9)S|MNZ#x쵳/gbBiUGEb6&ӆ}3R<ܩWҾM#-h8F<^2 @e ϕ;iXBt b"߰Gly7_Йk4`ile\;HJ\t{ A6W$BERdj<lѭ ћTj$ 'GJ> 1 ?>8}pbBέ%ԁgV6Z⅕iKL3l@;2w߻+{?r\tܼE˟W)L4]e2v>kx8@o)̴FݽMm>`NVݧ#kݒgi^=kf/g9Z31Mnho=,=cz찤6'RUk[O>J4i#KI_.Qmg@Ֆ-B0DJRȘzɔ/h u҈VYKZi,8"a6 RR Ws>U5g_ãs,Eod4-e8Ő@Y{@ph<)/#[mP6T~>Bo[  bFSz7\YKa e`VOA)1\ӼV>S?No`K?bp>.FRv9'oMv/S| ewwM3N &R;P~ckNhH'$+jkA|_#_1«ƺk~J1('&O 6"cp;D1PBp6#V=J~͝ >xdZG⸄b(n:[0rlA 4\.(^(I5<3n9d< 1x`'e^ѮWc"P_\o+>I<9K6WoXU>p 2Q !MK48aXD&ǵfpjm@Ns QK E A&0ڎV`D\wlRXyX ܎o/V=NAz3V'~jk8n}[~5Bov|ADݿ}UO3nÎo'Y]uD-)/d!4^&AM1H%Z/Bhe_ϣRpujS뚄 D;b_ X=kSl]qESw=v]1[v,D3a@9'!޶5 FM^qd36$D³FM3o-`-eJ$\t\oFf V?jˎJةW](fRV'| d-s7?e5YEdhr;ٳJ秇&i5vڳo!p0 Ae1';}eӎ&0J+j+ }%{v|@(BL?f(HƨֈW hV JX36lgS7q[{ L(KPšQdlS=4 kM%;Z&qDpP돖Im[xAt-++d`̢4GK_BMHj BaK@uNpE:rڮ-k_BaL0+'K1$:qe@AL@@.8R`8!OVT{P0'z+~Uè2?G=ޠm&%`6 g/_s) (W`LQs tJT_3.CѾ5p IKITRD3xdDi)LbO' {:x!Qf O(ڷߺMLo/JaSrx O(7KũQLr 5 $<#yLَdy^'7qP gp\^+2'n^#@ LBÕۨ$8))@g!(`Ѿ;nc%KSD$[~;&c0@n %@S$[6My8 sqsPo|YM)HSu8kњhУńΙQ7*ߌR>$5 V#lP=wKB*6!D=x Xb N*>l”4~% (+@yܤb0Mv\;+f0k+[Fks >*=j攈NwvD'rHa0woEo5!HϙNfl گ*$>{Vpe Brxview/wplogin/images/wordpress-logo.png000064400000004660147600042240014143 0ustar00PNG  IHDR?MiPLTEFFF!u!u!u!u!u!u!u!u!u!u!u!u!u!u!uFFFFFFFFFFFF!uFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF!uFFF9N!tRNS@0` p@`P P0ϯp?IDATx^Aj0 H2X:u LW306zhIDH膿4Il,+f~%؏H Q, NHJ.jvKVcɺc=D2~MNahy,TV(E $vnqɢ!H09{#>ZxOrb8$ܚv@ 6?!n=%>0)$Hy "{qE2[ք ˔D4Avxg$s2JVoD)Z=PaDmċ3YvrUoF<,bjJA#^kpyu9cY_BI󭛐ؔ P{x=Ώ06T ҹt]bi !]h/ xlt@!tW:zd\za-<)ezs7%sdO&/xӺLjn_D]\9NcH"k FL %XZS wḬl' &2gKuV$&B @RaPT5J9fUא} hdNiN7+ V s]}:/o>J :D%MfG?lyD& ش7E 8昞 #sqc!~uWgopat +By 큝Z^J5IZ =y`YCQN@4js|q=kWxnϑ`T ={)I{$ܗva#aEl{S9M B1 j"A]QY-Ob-Haz3K ̜>5D97ޜ+VPOJpB 54B28*K&Y>h_K5Hl@aӚcIje8@dWIHȡuS X9s !!ۈN@Q$܃)`N$HOXᑐ9Į9Z-Ar_BB fխŲ=$Q}i+(kho*Abp27DZM@B%$$: !dz $p#I@1p83^<6@բZ=4"%X&H>H hbV"鹯Qrz͡<,[bfLb{s$aߧ+|ޜ7qe}HH Bt:>5,0IB+K1d([ena58ޠ97%Z]$j BY1KNGqiֶ)0dԫ,r1 h  n_lk FS (UUMfc#zc>$7hxzROB"UKu䳎B)AJ=U:[7̦ +"3As55Ϛ%_! { @Mx@fSL"5qbTGbT3_ R\d )obC(dHy=op*9&!^@ UkHzw*W򆎐1>BZ#m>i`<6Z3DXU"qU1F&XORh`U@"51 oz_jk>b%%r5^F<7@>VٚNMV*GrJc[׾uShit3rR'Cimf_ +FD;t73>6:۸z_o꬘ש#YuM MC3 ng~*@HVjda \ [Z s6 &Nl # Ɠ oU*7Yŗ` ^-&!h(~FD|s*_ $ȡ5fhمQ I6Rl"?d3ʍT`6ye ,|7: {sL)s0H3+7IENDB`view/wplogin/images/wordpress-logo.svg000064400000002761147600042240014156 0ustar00view/wplogin/js/password-strength-meter.js000064400000012100147600042240014750 0ustar00/** * @output wp-admin/js/password-strength-meter.js */ /* global zxcvbn */ window.wp = window.wp || {}; (function($){ var __ = wp.i18n.__, sprintf = wp.i18n.sprintf; /** * Contains functions to determine the password strength. * * @since 3.7.0 * * @namespace */ wp.passwordStrength = { /** * Determines the strength of a given password. * * Compares first password to the password confirmation. * * @since 3.7.0 * * @param {string} password1 The subject password. * @param {Array} disallowedList An array of words that will lower the entropy of * the password. * @param {string} password2 The password confirmation. * * @return {number} The password strength score. */ meter : function( password1, disallowedList, password2 ) { if ( ! Array.isArray( disallowedList ) ) disallowedList = [ disallowedList.toString() ]; if (password1 != password2 && password2 && password2.length > 0) return 5; if ( 'undefined' === typeof window.zxcvbn ) { // Password strength unknown. return -1; } var result = zxcvbn( password1, disallowedList ); return result.score; }, /** * Builds an array of words that should be penalized. * * Certain words need to be penalized because it would lower the entropy of a * password if they were used. The disallowedList is based on user input fields such * as username, first name, email etc. * * @since 3.7.0 * @deprecated 5.5.0 Use {@see 'userInputDisallowedList()'} instead. * * @return {string[]} The array of words to be disallowed. */ userInputBlacklist : function() { window.console.log( sprintf( /* translators: 1: Deprecated function name, 2: Version number, 3: Alternative function name. */ __( '%1$s is deprecated since version %2$s! Use %3$s instead. Please consider writing more inclusive code.' ), 'wp.passwordStrength.userInputBlacklist()', '5.5.0', 'wp.passwordStrength.userInputDisallowedList()' ) ); return wp.passwordStrength.userInputDisallowedList(); }, /** * Builds an array of words that should be penalized. * * Certain words need to be penalized because it would lower the entropy of a * password if they were used. The disallowed list is based on user input fields such * as username, first name, email etc. * * @since 5.5.0 * * @return {string[]} The array of words to be disallowed. */ userInputDisallowedList : function() { var i, userInputFieldsLength, rawValuesLength, currentField, rawValues = [], disallowedList = [], userInputFields = [ 'user_login', 'first_name', 'last_name', 'nickname', 'display_name', 'email', 'url', 'description', 'weblog_title', 'admin_email' ]; // Collect all the strings we want to disallow. rawValues.push( document.title ); rawValues.push( document.URL ); userInputFieldsLength = userInputFields.length; for ( i = 0; i < userInputFieldsLength; i++ ) { currentField = $( '#' + userInputFields[ i ] ); if ( 0 === currentField.length ) { continue; } rawValues.push( currentField[0].defaultValue ); rawValues.push( currentField.val() ); } /* * Strip out non-alphanumeric characters and convert each word to an * individual entry. */ rawValuesLength = rawValues.length; for ( i = 0; i < rawValuesLength; i++ ) { if ( rawValues[ i ] ) { disallowedList = disallowedList.concat( rawValues[ i ].replace( /\W/g, ' ' ).split( ' ' ) ); } } /* * Remove empty values, short words and duplicates. Short words are likely to * cause many false positives. */ disallowedList = $.grep( disallowedList, function( value, key ) { if ( '' === value || 4 > value.length ) { return false; } return $.inArray( value, disallowedList ) === key; }); return disallowedList; } }; // Backward compatibility. /** * Password strength meter function. * * @since 2.5.0 * @deprecated 3.7.0 Use wp.passwordStrength.meter instead. * * @global * * @type {wp.passwordStrength.meter} */ window.passwordStrength = wp.passwordStrength.meter; })(jQuery); view/wplogin/js/password-strength-meter.min.js000064400000003220147600042240015535 0ustar00window.wp=window.wp||{};(function($){var __=wp.i18n.__,sprintf=wp.i18n.sprintf;wp.passwordStrength={meter:function(password1,disallowedList,password2){if(!Array.isArray(disallowedList))disallowedList=[disallowedList.toString()];if(password1!=password2&&password2&&password2.length>0)return 5;if("undefined"===typeof window.zxcvbn){return-1}var result=zxcvbn(password1,disallowedList);return result.score},userInputBlacklist:function(){window.console.log(sprintf(__("%1$s is deprecated since version %2$s! Use %3$s instead. Please consider writing more inclusive code."),"wp.passwordStrength.userInputBlacklist()","5.5.0","wp.passwordStrength.userInputDisallowedList()"));return wp.passwordStrength.userInputDisallowedList()},userInputDisallowedList:function(){var i,userInputFieldsLength,rawValuesLength,currentField,rawValues=[],disallowedList=[],userInputFields=["user_login","first_name","last_name","nickname","display_name","email","url","description","weblog_title","admin_email"];rawValues.push(document.title);rawValues.push(document.URL);userInputFieldsLength=userInputFields.length;for(i=0;ivalue.length){return false}return $.inArray(value,disallowedList)===key});return disallowedList}};window.passwordStrength=wp.passwordStrength.meter})(jQuery);view/wplogin/js/user-profile.js000064400000042276147600042240012575 0ustar00/** * @output wp-admin/js/user-profile.js */ /* global ajaxurl, pwsL10n, userProfileL10n */ (function($) { var updateLock = false, __ = wp.i18n.__, $pass1Row, $pass1, $pass2, $weakRow, $weakCheckbox, $toggleButton, $submitButtons, $submitButton, currentPass, $passwordWrapper; function generatePassword() { if ( typeof zxcvbn !== 'function' ) { setTimeout( generatePassword, 50 ); return; } else if ( ! $pass1.val() || $passwordWrapper.hasClass( 'is-open' ) ) { // zxcvbn loaded before user entered password, or generating new password. $pass1.val( $pass1.data( 'pw' ) ); $pass1.trigger( 'pwupdate' ); showOrHideWeakPasswordCheckbox(); } else { // zxcvbn loaded after the user entered password, check strength. check_pass_strength(); showOrHideWeakPasswordCheckbox(); } /* * This works around a race condition when zxcvbn loads quickly and * causes `generatePassword()` to run prior to the toggle button being * bound. */ bindToggleButton(); // Install screen. if ( 1 !== parseInt( $toggleButton.data( 'start-masked' ), 10 ) ) { // Show the password not masked if admin_password hasn't been posted yet. $pass1.attr( 'type', 'text' ); } else { // Otherwise, mask the password. $toggleButton.trigger( 'click' ); } // Once zxcvbn loads, passwords strength is known. $( '#pw-weak-text-label' ).text( __( 'Confirm use of weak password' ) ); // Focus the password field. if ( 'mailserver_pass' !== $pass1.prop('id' ) ) { $( $pass1 ).trigger( 'focus' ); } } function bindPass1() { currentPass = $pass1.val(); if ( 1 === parseInt( $pass1.data( 'reveal' ), 10 ) ) { generatePassword(); } $pass1.on( 'input' + ' pwupdate', function () { if ( $pass1.val() === currentPass ) { return; } currentPass = $pass1.val(); // Refresh password strength area. $pass1.removeClass( 'short bad good strong' ); showOrHideWeakPasswordCheckbox(); } ); } function resetToggle( show ) { $toggleButton .attr({ 'aria-label': show ? __( 'Show password' ) : __( 'Hide password' ) }) .find( '.text' ) .text( show ? __( 'Show' ) : __( 'Hide' ) ) .end() .find( '.dashicons' ) .removeClass( show ? 'dashicons-hidden' : 'dashicons-visibility' ) .addClass( show ? 'dashicons-visibility' : 'dashicons-hidden' ); } function bindToggleButton() { if ( !! $toggleButton ) { // Do not rebind. return; } $toggleButton = $pass1Row.find('.wp-hide-pw'); $toggleButton.show().on( 'click', function () { if ( 'password' === $pass1.attr( 'type' ) ) { $pass1.attr( 'type', 'text' ); resetToggle( false ); } else { $pass1.attr( 'type', 'password' ); resetToggle( true ); } }); } /** * Handle the password reset button. Sets up an ajax callback to trigger sending * a password reset email. */ function bindPasswordResetLink() { $( '#generate-reset-link' ).on( 'click', function() { var $this = $(this), data = { 'user_id': userProfileL10n.user_id, // The user to send a reset to. 'nonce': userProfileL10n.nonce // Nonce to validate the action. }; // Remove any previous error messages. $this.parent().find( '.notice-error' ).remove(); // Send the reset request. var resetAction = wp.ajax.post( 'send-password-reset', data ); // Handle reset success. resetAction.done( function( response ) { addInlineNotice( $this, true, response ); } ); // Handle reset failure. resetAction.fail( function( response ) { addInlineNotice( $this, false, response ); } ); }); } /** * Helper function to insert an inline notice of success or failure. * * @param {jQuery Object} $this The button element: the message will be inserted * above this button * @param {bool} success Whether the message is a success message. * @param {string} message The message to insert. */ function addInlineNotice( $this, success, message ) { var resultDiv = $( '
    ' ); // Set up the notice div. resultDiv.addClass( 'notice inline' ); // Add a class indicating success or failure. resultDiv.addClass( 'notice-' + ( success ? 'success' : 'error' ) ); // Add the message, wrapping in a p tag, with a fadein to highlight each message. resultDiv.text( $( $.parseHTML( message ) ).text() ).wrapInner( '

    '); // Disable the button when the callback has succeeded. $this.prop( 'disabled', success ); // Remove any previous notices. $this.siblings( '.notice' ).remove(); // Insert the notice. $this.before( resultDiv ); } function bindPasswordForm() { var $generateButton, $cancelButton; $pass1Row = $( '.user-pass1-wrap, .user-pass-wrap, .mailserver-pass-wrap, .reset-pass-submit' ); // Hide the confirm password field when JavaScript support is enabled. $('.user-pass2-wrap').hide(); $submitButton = $( '#submit, #wp-submit' ).on( 'click', function () { updateLock = false; }); $submitButtons = $submitButton.add( ' #createusersub' ); $weakRow = $( '.pw-weak' ); $weakCheckbox = $weakRow.find( '.pw-checkbox' ); $weakCheckbox.on( 'change', function() { $submitButtons.prop( 'disabled', ! $weakCheckbox.prop( 'checked' ) ); } ); $pass1 = $('#pass1, #mailserver_pass'); if ( $pass1.length ) { bindPass1(); } else { // Password field for the login form. $pass1 = $( '#user_pass' ); } /* * Fix a LastPass mismatch issue, LastPass only changes pass2. * * This fixes the issue by copying any changes from the hidden * pass2 field to the pass1 field, then running check_pass_strength. */ $pass2 = $( '#pass2' ).on( 'input', function () { if ( $pass2.val().length > 0 ) { $pass1.val( $pass2.val() ); $pass2.val(''); currentPass = ''; $pass1.trigger( 'pwupdate' ); } } ); // Disable hidden inputs to prevent autofill and submission. if ( $pass1.is( ':hidden' ) ) { $pass1.prop( 'disabled', true ); $pass2.prop( 'disabled', true ); } $passwordWrapper = $pass1Row.find( '.wp-pwd' ); $generateButton = $pass1Row.find( 'button.wp-generate-pw' ); bindToggleButton(); $generateButton.show(); $generateButton.on( 'click', function () { updateLock = true; // Make sure the password fields are shown. $generateButton.not( '.skip-aria-expanded' ).attr( 'aria-expanded', 'true' ); $passwordWrapper .show() .addClass( 'is-open' ); // Enable the inputs when showing. $pass1.attr( 'disabled', false ); $pass2.attr( 'disabled', false ); // Set the password to the generated value. generatePassword(); // Show generated password in plaintext by default. resetToggle ( false ); // Generate the next password and cache. wp.ajax.post( 'generate-password' ) .done( function( data ) { $pass1.data( 'pw', data ); } ); } ); $cancelButton = $pass1Row.find( 'button.wp-cancel-pw' ); $cancelButton.on( 'click', function () { updateLock = false; // Disable the inputs when hiding to prevent autofill and submission. $pass1.prop( 'disabled', true ); $pass2.prop( 'disabled', true ); // Clear password field and update the UI. $pass1.val( '' ).trigger( 'pwupdate' ); resetToggle( false ); // Hide password controls. $passwordWrapper .hide() .removeClass( 'is-open' ); // Stop an empty password from being submitted as a change. $submitButtons.prop( 'disabled', false ); $generateButton.attr( 'aria-expanded', 'false' ); } ); $pass1Row.closest( 'form' ).on( 'submit', function () { updateLock = false; $pass1.prop( 'disabled', false ); $pass2.prop( 'disabled', false ); $pass2.val( $pass1.val() ); }); } function check_pass_strength() { var pass1 = $('#pass1').val(), strength; $('#pass-strength-result').removeClass('short bad good strong empty'); if ( ! pass1 || '' === pass1.trim() ) { $( '#pass-strength-result' ).addClass( 'empty' ).html( ' ' ); return; } strength = wp.passwordStrength.meter( pass1, wp.passwordStrength.userInputDisallowedList(), pass1 ); switch ( strength ) { case -1: $( '#pass-strength-result' ).addClass( 'bad' ).html( pwsL10n.unknown ); break; case 2: $('#pass-strength-result').addClass('bad').html( pwsL10n.bad ); break; case 3: $('#pass-strength-result').addClass('good').html( pwsL10n.good ); break; case 4: $('#pass-strength-result').addClass('strong').html( pwsL10n.strong ); break; case 5: $('#pass-strength-result').addClass('short').html( pwsL10n.mismatch ); break; default: $('#pass-strength-result').addClass('short').html( pwsL10n.short ); } } function showOrHideWeakPasswordCheckbox() { var passStrengthResult = $('#pass-strength-result'); if ( passStrengthResult.length ) { var passStrength = passStrengthResult[0]; if ( passStrength.className ) { $pass1.addClass( passStrength.className ); if ( $( passStrength ).is( '.short, .bad' ) ) { if ( ! $weakCheckbox.prop( 'checked' ) ) { $submitButtons.prop( 'disabled', true ); } $weakRow.show(); } else { if ( $( passStrength ).is( '.empty' ) ) { $submitButtons.prop( 'disabled', true ); $weakCheckbox.prop( 'checked', false ); } else { $submitButtons.prop( 'disabled', false ); } $weakRow.hide(); } } } } $( function() { var $colorpicker, $stylesheet, user_id, current_user_id, select = $( '#display_name' ), current_name = select.val(), greeting = $( '#wp-admin-bar-my-account' ).find( '.display-name' ); $( '#pass1' ).val( '' ).on( 'input' + ' pwupdate', check_pass_strength ); $('#pass-strength-result').show(); $('.color-palette').on( 'click', function() { $(this).siblings('input[name="admin_color"]').prop('checked', true); }); if ( select.length ) { $('#first_name, #last_name, #nickname').on( 'blur.user_profile', function() { var dub = [], inputs = { display_nickname : $('#nickname').val() || '', display_username : $('#user_login').val() || '', display_firstname : $('#first_name').val() || '', display_lastname : $('#last_name').val() || '' }; if ( inputs.display_firstname && inputs.display_lastname ) { inputs.display_firstlast = inputs.display_firstname + ' ' + inputs.display_lastname; inputs.display_lastfirst = inputs.display_lastname + ' ' + inputs.display_firstname; } $.each( $('option', select), function( i, el ){ dub.push( el.value ); }); $.each(inputs, function( id, value ) { if ( ! value ) { return; } var val = value.replace(/<\/?[a-z][^>]*>/gi, ''); if ( inputs[id].length && $.inArray( val, dub ) === -1 ) { dub.push(val); $('

    ' + response.message + '

    ' ); }).fail( function( response ) { $this.siblings( '.notice' ).remove(); $this.before( '

    ' + response.message + '

    ' ); }); e.preventDefault(); }); window.generatePassword = generatePassword; // Warn the user if password was generated but not saved. $( window ).on( 'beforeunload', function () { if ( true === updateLock ) { return __( 'Your new password has not been saved.' ); } } ); /* * We need to generate a password as soon as the Reset Password page is loaded, * to avoid double clicking the button to retrieve the first generated password. * See ticket #39638. */ $( function() { if ( $( '.reset-pass-submit' ).length ) { $( '.reset-pass-submit button.wp-generate-pw' ).trigger( 'click' ); } }); })(jQuery); view/wplogin/js/user-profile.min.js000064400000020755147600042240013355 0ustar00(function($){var updateLock=false,__=wp.i18n.__,$pass1Row,$pass1,$pass2,$weakRow,$weakCheckbox,$toggleButton,$submitButtons,$submitButton,currentPass,$passwordWrapper;function generatePassword(){if(typeof zxcvbn!=="function"){setTimeout(generatePassword,50);return}else if(!$pass1.val()||$passwordWrapper.hasClass("is-open")){$pass1.val($pass1.data("pw"));$pass1.trigger("pwupdate");showOrHideWeakPasswordCheckbox()}else{check_pass_strength();showOrHideWeakPasswordCheckbox()}bindToggleButton();if(1!==parseInt($toggleButton.data("start-masked"),10)){$pass1.attr("type","text")}else{$toggleButton.trigger("click")}$("#pw-weak-text-label").text(__("Confirm use of weak password"));if("mailserver_pass"!==$pass1.prop("id")){$($pass1).trigger("focus")}}function bindPass1(){currentPass=$pass1.val();if(1===parseInt($pass1.data("reveal"),10)){generatePassword()}$pass1.on("input"+" pwupdate",function(){if($pass1.val()===currentPass){return}currentPass=$pass1.val();$pass1.removeClass("short bad good strong");showOrHideWeakPasswordCheckbox()})}function resetToggle(show){$toggleButton.attr({"aria-label":show?__("Show password"):__("Hide password")}).find(".text").text(show?__("Show"):__("Hide")).end().find(".dashicons").removeClass(show?"dashicons-hidden":"dashicons-visibility").addClass(show?"dashicons-visibility":"dashicons-hidden")}function bindToggleButton(){if(!!$toggleButton){return}$toggleButton=$pass1Row.find(".wp-hide-pw");$toggleButton.show().on("click",function(){if("password"===$pass1.attr("type")){$pass1.attr("type","text");resetToggle(false)}else{$pass1.attr("type","password");resetToggle(true)}})}function bindPasswordResetLink(){$("#generate-reset-link").on("click",function(){var $this=$(this),data={user_id:userProfileL10n.user_id,nonce:userProfileL10n.nonce};$this.parent().find(".notice-error").remove();var resetAction=wp.ajax.post("send-password-reset",data);resetAction.done(function(response){addInlineNotice($this,true,response)});resetAction.fail(function(response){addInlineNotice($this,false,response)})})}function addInlineNotice($this,success,message){var resultDiv=$("
    ");resultDiv.addClass("notice inline");resultDiv.addClass("notice-"+(success?"success":"error"));resultDiv.text($($.parseHTML(message)).text()).wrapInner("

    ");$this.prop("disabled",success);$this.siblings(".notice").remove();$this.before(resultDiv)}function bindPasswordForm(){var $generateButton,$cancelButton;$pass1Row=$(".user-pass1-wrap, .user-pass-wrap, .mailserver-pass-wrap, .reset-pass-submit");$(".user-pass2-wrap").hide();$submitButton=$("#submit, #wp-submit").on("click",function(){updateLock=false});$submitButtons=$submitButton.add(" #createusersub");$weakRow=$(".pw-weak");$weakCheckbox=$weakRow.find(".pw-checkbox");$weakCheckbox.on("change",function(){$submitButtons.prop("disabled",!$weakCheckbox.prop("checked"))});$pass1=$("#pass1, #mailserver_pass");if($pass1.length){bindPass1()}else{$pass1=$("#user_pass")}$pass2=$("#pass2").on("input",function(){if($pass2.val().length>0){$pass1.val($pass2.val());$pass2.val("");currentPass="";$pass1.trigger("pwupdate")}});if($pass1.is(":hidden")){$pass1.prop("disabled",true);$pass2.prop("disabled",true)}$passwordWrapper=$pass1Row.find(".wp-pwd");$generateButton=$pass1Row.find("button.wp-generate-pw");bindToggleButton();$generateButton.show();$generateButton.on("click",function(){updateLock=true;$generateButton.not(".skip-aria-expanded").attr("aria-expanded","true");$passwordWrapper.show().addClass("is-open");$pass1.attr("disabled",false);$pass2.attr("disabled",false);generatePassword();resetToggle(false);wp.ajax.post("generate-password").done(function(data){$pass1.data("pw",data)})});$cancelButton=$pass1Row.find("button.wp-cancel-pw");$cancelButton.on("click",function(){updateLock=false;$pass1.prop("disabled",true);$pass2.prop("disabled",true);$pass1.val("").trigger("pwupdate");resetToggle(false);$passwordWrapper.hide().removeClass("is-open");$submitButtons.prop("disabled",false);$generateButton.attr("aria-expanded","false")});$pass1Row.closest("form").on("submit",function(){updateLock=false;$pass1.prop("disabled",false);$pass2.prop("disabled",false);$pass2.val($pass1.val())})}function check_pass_strength(){var pass1=$("#pass1").val(),strength;$("#pass-strength-result").removeClass("short bad good strong empty");if(!pass1||""===pass1.trim()){$("#pass-strength-result").addClass("empty").html(" ");return}strength=wp.passwordStrength.meter(pass1,wp.passwordStrength.userInputDisallowedList(),pass1);switch(strength){case-1:$("#pass-strength-result").addClass("bad").html(pwsL10n.unknown);break;case 2:$("#pass-strength-result").addClass("bad").html(pwsL10n.bad);break;case 3:$("#pass-strength-result").addClass("good").html(pwsL10n.good);break;case 4:$("#pass-strength-result").addClass("strong").html(pwsL10n.strong);break;case 5:$("#pass-strength-result").addClass("short").html(pwsL10n.mismatch);break;default:$("#pass-strength-result").addClass("short").html(pwsL10n.short)}}function showOrHideWeakPasswordCheckbox(){var passStrengthResult=$("#pass-strength-result");if(passStrengthResult.length){var passStrength=passStrengthResult[0];if(passStrength.className){$pass1.addClass(passStrength.className);if($(passStrength).is(".short, .bad")){if(!$weakCheckbox.prop("checked")){$submitButtons.prop("disabled",true)}$weakRow.show()}else{if($(passStrength).is(".empty")){$submitButtons.prop("disabled",true);$weakCheckbox.prop("checked",false)}else{$submitButtons.prop("disabled",false)}$weakRow.hide()}}}}$(function(){var $colorpicker,$stylesheet,user_id,current_user_id,select=$("#display_name"),current_name=select.val(),greeting=$("#wp-admin-bar-my-account").find(".display-name");$("#pass1").val("").on("input"+" pwupdate",check_pass_strength);$("#pass-strength-result").show();$(".color-palette").on("click",function(){$(this).siblings('input[name="admin_color"]').prop("checked",true)});if(select.length){$("#first_name, #last_name, #nickname").on("blur.user_profile",function(){var dub=[],inputs={display_nickname:$("#nickname").val()||"",display_username:$("#user_login").val()||"",display_firstname:$("#first_name").val()||"",display_lastname:$("#last_name").val()||""};if(inputs.display_firstname&&inputs.display_lastname){inputs.display_firstlast=inputs.display_firstname+" "+inputs.display_lastname;inputs.display_lastfirst=inputs.display_lastname+" "+inputs.display_firstname}$.each($("option",select),function(i,el){dub.push(el.value)});$.each(inputs,function(id,value){if(!value){return}var val=value.replace(/<\/?[a-z][^>]*>/gi,"");if(inputs[id].length&&$.inArray(val,dub)===-1){dub.push(val);$("

    '+response.message+"

    ")}).fail(function(response){$this.siblings(".notice").remove();$this.before('

    '+response.message+"

    ")});e.preventDefault()});window.generatePassword=generatePassword;$(window).on("beforeunload",function(){if(true===updateLock){return __("Your new password has not been saved.")}});$(function(){if($(".reset-pass-submit").length){$(".reset-pass-submit button.wp-generate-pw").trigger("click")}})})(jQuery);view/Advanced.php000064400000051575147600042240007750 0ustar00
    getAdminTabs(HMWP_Classes_Tools::getValue('page', 'hmwp_advanced')); ?>

    :
    :
    -
    . .
    -
    -
    -
    value="1"/>
    value="1"/>

    value="1"/>
    :
    user_email; } ?>
    show('blocks/ChangeCacheFiles'); ?> show('blocks/SecurityCheck'); ?>
    view/Backup.php000064400000020273147600042240007437 0ustar00

    getPresetsSelect() as $index => $presetSelect ) { ?>

    ', '' ); ?>
    view/Brute.php000064400000106316147600042240007316 0ustar00
    getAdminTabs( HMWP_Classes_Tools::getValue( 'page', 'hmwp_brute' ) ); ?>

    value="1"/>
    value="1"/>
    value="1"/>
    value="1"/>
    value="1"/>
    >
    ', '' ); ?>
    :
    ', '' ); ?>
    :
    ', '' ); ?>
    :
    :
    '' && HMWP_Classes_Tools::getOption( 'brute_captcha_secret_key' ) <> '' ) { ?>

    1. ', '' ); ?>
    >
    ', '' ); ?>
    :
    ', '' ); ?>
    :
    ', '' ); ?>
    '' && HMWP_Classes_Tools::getOption( 'brute_captcha_secret_key_v3' ) <> '' ) { ?>

    1. ', '' ); ?>
    :
    :
    :
    [hmwp_bruteforce]' ); ?>

    ', '', '', '' ) ?>
    value="1"/>
    value="1"/>


    ' ); ?>

    view/Connect.php000064400000007577147600042240007637 0ustar00

    :
    ' . esc_url(_HMWP_ACCOUNT_SITE_) . '' ); ?>

    ' . esc_url(_HMWP_ACCOUNT_SITE_) . '' ); ?>
    ', '', '', '' ); ?>
    view/Dashboard.php000064400000025140147600042240010117 0ustar00 ( 3600 * 24 * 7 ) ) ) { $do_check = true; } } else { $do_check = true; } } ?>
    stats ) { if ( ! HMWP_Classes_Tools::getOption( 'hmwp_activity_log' ) ) { if ( ! $view->stats['block_ip'] ) { $view->stats['block_ip'] = '-'; } if ( ! $view->stats['alerts'] ) { $view->stats['alerts'] = '-'; } } else { if ( ! $view->stats['block_ip'] ) { $view->stats['block_ip'] = 0; } if ( ! $view->stats['alerts'] ) { $view->stats['alerts'] = 0; } } ?>
    riskreport ) * 100 ) / count( $view->risktasks ) ) > 90 ) { ?>
    ', '', '
    ' ) ?>
    riskreport ) * 100 ) / count( $view->risktasks ) ) > 50 ) { ?>
    ', '', '
    ' ) ?>
    riskreport ) * 100 ) / count( $view->risktasks ) ) > 20 ) { ?>
    ' ) ?>
    riskreport ) * 100 ) / count( $view->risktasks ) ) > 0 ) { ?>
    ' ) ?>
    ' ) ?>
    riskreport ) * 100 ) / count( $view->risktasks ) ) > 0 ) { ?>
    :
      riskreport as $function => $row ) { ?>
    view/Firewall.php000064400000116322147600042240010000 0ustar00
    getAdminTabs( HMWP_Classes_Tools::getValue( 'page', 'hmwp_advanced' ) ); ?>

    value="1"/>
    :
    ', '' ); ?>
    ', '' ); ?>
    :
    value="1"/>
    value="1"/>

    value="1"/>
    :
    :
    :
      $country ) { if ( in_array( $code, $blocked_countries ) ) { echo '
    • ' . esc_html($country) . '
    • '; } } ?>

    :
    https://whatismyipaddress.com/' ) ?>
    '.$ip.'' ) ?>
    :

    :
    :
    :
    :
    show( 'blocks/SecurityCheck' ); ?>
    view/Log.php000064400000021407147600042240006753 0ustar00
    getAdminTabs( HMWP_Classes_Tools::getValue( 'page', 'hmwp_log' ) ); ?>

    listTable->loadPageTable(); ?>

    value="1"/>
    :

    view/Mapping.php000064400000064442147600042240007633 0ustar00
    getAdminTabs( HMWP_Classes_Tools::getValue( 'page', 'hmwp_mapping' ) ); ?>

    ', '', '', '' ) ?>
    $row ) { if ( isset( $wpclasses[ $hmwp_text_mapping['from'][ $index ] ] ) ) { unset( $wpclasses[ $hmwp_text_mapping['from'][ $index ] ] ); } ?>
    x
    ' ?>
    ' ?>
    $to ) { ?>
    value="1"/>
    value="1"/>
    ', '' ); ?>

    ', '', '', '' ) ?>
    :
    :
    :
    :
    $row ) { ?>
    x
    ' ?>
    ' ?>

    ', '', '', '' ) ?>
    $row ) { ?>
    x
    show( 'blocks/ChangeCacheFiles' ); ?> show( 'blocks/SecurityCheck' ); ?>
    show( 'blocks/ChangeFiles' ); ?>
    view/Notices.php000064400000001076147600042240007636 0ustar00
    X
    view/Overview.php000064400000027111147600042240010036 0ustar00
    $ids ) { foreach ( explode( ',', $ids ) as $id ) { if ( $id == 'hmwp_securitycheck_widget' ) { ?>

    dashboard(); ?>

    getFeatures(); ?>
    $feature ) { if ( isset( $feature['show'] ) && ! $feature['show'] ) { continue; } ?>
    show( 'blocks/ChangeCacheFiles' ); ?> show( 'blocks/SecurityCheck' ); ?> show( 'blocks/FrontendCheck' ); ?>
    view/Permalinks.php000064400000362223147600042240010343 0ustar00
    getAdminTabs(HMWP_Classes_Tools::getValue('page', 'hmwp_permalinks')); ?>
    show('blocks/FrontendLoginCheck'); //Download the new paths once they are confirmed if(HMWP_Classes_Tools::getOption('download_settings') ) { ?>

    >
    : ' . esc_url($custom_login) . '' ?>
    : ' . esc_url(site_url() . '/' . HMWP_Classes_Tools::getOption('hmwp_login_url')) . '' ?>
    'default') ? 'style="display:none"' : '') ?>>
    :
    >
    :
    >

    :
    https://whatismyipaddress.com/') ?>
    '.$ip.'' ) ?>
    :

    ' . sprintf(esc_html__('Your admin URL is changed by another plugin/theme in %s. To activate this option, disable the custom admin in the other plugin or deativate it.', 'hide-my-wp'), '' . esc_html(HMWP_DEFAULT_ADMIN) . '') . '
    '; echo ''; } else { if (HMWP_Classes_Tools::isGodaddy() ) { echo '
    ' . sprintf(esc_html__("Your admin URL can't be changed on %s hosting because of the %s security terms.", 'hide-my-wp'), 'Godaddy', 'Godaddy') . '
    '; echo ''; } elseif (HMWP_Classes_ObjController::getClass('HMWP_Models_Rules')->isConfigAdminCookie() ) { echo '
    ' . sprintf(esc_html__("The constant ADMIN_COOKIE_PATH is defined in wp-config.php by another plugin. You can't change %s unless you remove the line define('ADMIN_COOKIE_PATH', ...);.", 'hide-my-wp'), '' . esc_html(HMWP_Classes_Tools::getDefault('hmwp_admin_url')) . '') . '
    '; echo ''; } else { ?>
    :
    value="1"/>
    value="1"/>
    >
    value="1"/>

    ' . sprintf(esc_html__('Your login URL is changed by another plugin/theme in %s. To activate this option, disable the custom login in the other plugin or deativate it.', 'hide-my-wp'), '' . esc_html(HMWP_DEFAULT_LOGIN) . '') . '
    '; echo ''; echo ''; echo ''; echo ''; echo ''; ?>
    >
    value="1"/>
    value="1"/>
    >
    value="1"/>
    :
    >
    value="1"/>
    >
    value="1"/>
    value="1"/>
    :
    :
    :
    :

    :
    value="1"/>

    :
    value="1"/>
    value="1"/>

    :
    :
    :
    ' . esc_html(UPLOADS) . ''); ?>
    :
    value="1"/>
    :
    value="1"/>
    :
    value="1"/>
    ', ''); ?>
    ', ''); ?>

    :
    value="1"/>
    value="1"/>
    value="1"/>
    value="1"/>
    $value ) { if($value == '') { continue; } ?>
    x
    (count($plugins) - 1)) { ?>

    :
    value="1"/>
    value="1"/>
    :
    value="1"/>
    $value ) { if($value == '') { continue; } ?>
    x
    (count($themes) - 1)) { ?>

    :
    '.esc_html__('Settings') . ' > ' . esc_html__('Permalinks').''); ?>
    value="1"/>
    value="1"/>
    value="1"/>
    value="1"/>
    value="1"/>
    show('blocks/ChangeCacheFiles'); ?> show('blocks/SecurityCheck'); ?> show('blocks/FrontendCheck'); ?>
    view/SecurityCheck.php000064400000060615147600042240011003 0ustar00 ( 3600 * 24 * 7 ) ) ) { $do_check = true; } } else { $do_check = true; } } ?>

    :

    riskreport ) * 100 ) / count( $view->risktasks ) ) > 90 ) { ?>
    ', '', '
    ' ) ?>
    riskreport ) * 100 ) / count( $view->risktasks ) ) > 50 ) { ?>
    ', '', '
    ' ) ?>
    riskreport ) * 100 ) / count( $view->risktasks ) ) > 20 ) { ?>
    ' ) ?>
    riskreport ) * 100 ) / count( $view->risktasks ) ) > 0 ) { ?>
    ' ) ?>
    ' ) ?>
    report ) ) { $overview = array( 'success' => 0, 'warning' => 0, 'total' => 0 ); foreach ( $view->report as $row ) { $overview['success'] += (int) $row['valid']; $overview['warning'] += (int) $row['warning']; $overview['total'] += 1; } echo ''; echo ''; echo ' '; echo ''; echo '
    ' . esc_html__( 'Passed', 'hide-my-wp' ) . '

    ' . esc_html($overview['success']) . '

    ' . esc_html__( 'Failed', 'hide-my-wp' ) . '

    ' . esc_html( $overview['total'] - $overview['success'] ) . '

    '; if ( ( $overview['total'] - $overview['success'] ) == 0 ) { ?>
    securitycheck_time['timestamp'] ) ) { ?>
    securitycheck_time['timestamp'] + ( get_option( 'gmt_offset' ) * HOUR_IN_SECONDS ) ) )); ?>
    ', '', '', '', '', '', '
    ' ) ?>
    report ) ) { ?> report as $index => $row ) { ?>
    ' : '' . ( isset( $row['solution'] ) ? wp_kses_post( $row['solution'] ) : '' ) ) ?> '' ) { ?> '' ) { ?> '' ) { ?>
    view/Templogin.php000064400000067232147600042240010176 0ustar00
    getAdminTabs( HMWP_Classes_Tools::getValue( 'page', 'hmwp_templogin' ) ); ?>

    getTempLogins(); } else { ?>

    value="1"/>
    :
    :
    :
    value="1"/>


    ' ); ?>
    user->ID ) ) { ?>
    view/Tweaks.php000064400000222200147600042240007462 0ustar00get_names(); } ?>
    getAdminTabs( HMWP_Classes_Tools::getValue( 'page', 'hmwp_tweaks' ) ); ?>

    :
    value="1"/>
    :
    :
    ' ); ?>
    $name ) { ?>
    value="1"/>

    ', '', '', '' ) ?>
    value="1"/>
    value="1"/>
    ', '' ); ?>
    value="1"/>
    ', '' ); ?>
    value="1"/>
    value="1"/>
    ', '' ); ?>

    ', '', '', '' ) ?>
    value="1"/>
    value="1"/>

    ', '', '', '' ) ?>
    value="1"/>
    :
    value="1"/>
    value=""/>
    value="1"/>
    value="1"/>
    value="1"/>
    value="1"/>
    value="1"/>
    value="1"/>
    value="1"/>

    ', '', '', '' ) ?>
    value="1"/>
    :
    value="1"/>
    :
    value="1"/>
    :
    value="1"/>
    value="1"/>
    :
    value="1"/>
    :
    value="1"/>
    :
    value="1"/>
    :
    value="1"/>
    value="1"/>
    :
    value="1"/>
    :
    value="1"/>
    :
    show( 'blocks/ChangeCacheFiles' ); ?> show( 'blocks/SecurityCheck' ); ?>
    index.php000064400000013042147600042240006363 0ustar00 '' ) { return; } // Don't load brute force and events on cron jobs if ( ! HMWP_Classes_Tools::isCron() ) { // If Brute Force is activated if ( HMWP_Classes_Tools::getOption( 'hmwp_bruteforce' ) ) { HMWP_Classes_ObjController::getClass( 'HMWP_Controllers_Brute' ); } if ( HMWP_Classes_Tools::getOption( 'hmwp_activity_log' ) ) { HMWP_Classes_ObjController::getClass( 'HMWP_Controllers_Log' ); } if ( HMWP_Classes_Tools::getOption( 'hmwp_templogin' ) ) { HMWP_Classes_ObjController::getClass( 'HMWP_Controllers_Templogin' ); } } if ( is_admin() || is_network_admin() ) { // Check the user roles HMWP_Classes_ObjController::getClass( 'HMWP_Models_RoleManager' ); // Make sure to write the rewrites with other plugins add_action( 'rewrite_rules_array', array( HMWP_Classes_ObjController::getClass( 'HMWP_Classes_Tools' ), 'checkRewriteUpdate' ), 11, 1 ); // Hook activation and deactivation register_activation_hook( __FILE__, array( HMWP_Classes_ObjController::getClass( 'HMWP_Classes_Tools' ), 'hmwp_activate' ) ); register_deactivation_hook( __FILE__, array( HMWP_Classes_ObjController::getClass( 'HMWP_Classes_Tools' ), 'hmwp_deactivate' ) ); // Verify if there are updated and all plugins and themes are in the right list add_action( 'activated_plugin', array( HMWP_Classes_ObjController::getClass( 'HMWP_Classes_Tools' ), 'checkPluginsThemesUpdates' ), 11, 0 ); // When a theme is changed add_action( 'after_switch_theme', array( HMWP_Classes_ObjController::getClass( 'HMWP_Classes_Tools' ), 'checkPluginsThemesUpdates' ), 11, 0 ); } // If not default mode if ( ( HMWP_Classes_Tools::getOption( 'hmwp_mode' ) <> 'default' ) ) { // Update rules in .htaccess on other plugins update to avoid rule deletion if(!HMWP_Classes_Tools::isApache() || HMWP_Classes_Tools::isLitespeed()){ add_action( 'automatic_updates_complete', function( $options ) { if ( isset( $options['action'] ) && $options['action'] == 'update' ) { set_transient( 'hmwp_update', 1 ); } }, 10, 1 ); // When plugins are updated add_action( 'upgrader_process_complete', function( $upgrader_object, $options ) { $our_plugin = plugin_basename( __FILE__ ); if ( isset( $options['action'] ) && $options['action'] == 'update' ) { if ( $options['type'] == 'plugin' && isset( $options['plugins'] ) ) { foreach ( $options['plugins'] as $plugin ) { if ( $plugin <> $our_plugin ) { set_transient( 'hmwp_update', 1 ); } } } } }, 10, 2 ); } // Check if the cron is loaded in advanced settings if ( HMWP_Classes_Tools::getOption( 'hmwp_change_in_cache' ) || HMWP_Classes_Tools::getOption( 'hmwp_mapping_file' ) ) { // Run the HMWP CRON HMWP_Classes_ObjController::getClass( 'HMWP_Controllers_Cron' ); add_action( HMWP_CRON, array( HMWP_Classes_ObjController::getClass( 'HMWP_Controllers_Cron' ), 'processCron' ) ); } } // Request the plugin update when a new version is released if ( ! defined( 'WP_AUTO_UPDATE_HMWP' ) || WP_AUTO_UPDATE_HMWP ) { require dirname( __FILE__ ) . '/update.php'; } } } catch ( Exception $e ) { } } readme.txt000064400000041401147600042240006541 0ustar00===WP Ghost=== 1. Install the Plugin - Log In as an Administrator on your WordPress dashboard. - In the WordPress menu, go to Plugins > Add New Plugin tab. - Click on the Upload Plugin button from the top of the page. - Click to browse and upload the hide-my-wp.zip file. - After the upload, click the Activate Plugin button to activate the plugin. 2. Activate the plugin - From the plugins list, click on the Settings link to go to plugin’s settings. - Now enter the Activation Token from your account into the activation field. - Click to activate and start the plugin setup. 3. Select Safe Mode or Ghost Mode - Go to WP Ghost > Change Paths > Level of Security - Choose between 2 levels of security: Safe Mode and Ghost Mode. - Customize the paths as you like and click the Save button to apply changes. - Follow the WP Ghost instructions based on your server configuration. Enjoy WP Ghost! John == Changelog == = 8.1.02 = * Update - Added the AI support in the plugin settings page * Update - Remove the help icons for the plugin whitelabel option with custom domain * Fixed - Prevent changing the login path in posts slug * Fixed - Advanced Pack install domain not found error = 8.1.01 = * Update - Changed Hide My WP Ghost plugin name with short WP Ghost * Update - WP Ghost comes with a new plugin logo in 2025 * Update - More security on REST API for user listing when User Security is activated * Update - Plugin Security and Firewall rules = 8.0.21 = Update - Added gif and tiff to media redirect in Hide WP Common Paths Update - Allow activating hmwp_manage_settings capability only for a user using Roles & Capabilities plugin Fixed - Layout and improved functionality = 8.0.20 = Update - Compatibility with WP 6.7 Update - Compatibility with LiteSpeed Quic Cloud IP addresses automatically Fixed - Litespeed cache plugin compatibility and set /cache/ls directory by default Fixed - Whitelist website IP address on REST API disable to be able to be accessed by the installed plugins = 8.0.19 = Fixed - Compatibility with LiteSpeed when CDN is not set Fixed - Change paths when www. prefix exists on the domain = 8.0.17 = Update - Compatibility with WP Rocket Background CSS loader Update - Map Litespeed cache directory in URL Mapping Fixed - Remove dynamic CSS and JS when Text Mapping is switched off Fixed - Prevent changing wp-content and wp-includes paths in deep URL location and avoid 404 errors = 8.0.16 = Update - Layouts, Logo, colors Update - Added Drupal 11 in CMS simulation Update - Set 404 Not Found error as default option for hidden paths Fixed - Compatibility with Wordfence Scan Fixed - Changed deprecated PHP functions Fixed - Warnings when domain schema is not identified for the current website Fixed - Redirect to homepage the newadmin when user is not logged in = 8.0.15 = Update - Plugin layout Fixed - Compatibility with WP 6.6.2 Fixed - Compatibility with Squirrly SEO buffer when other cache plugins are active Fixed - Compatibility with Autoptimize minify = 8.0.14 = Update - Added the option to select all Countries in Geo Blocking Update - Brute Force compatibility with UsersWP plugin Fixed - Remove x_redirect_by header on redirect = 8.0.13 = Update - Added the option to disable Copy & Paste separately Fixed - PHP Error on HMWP_Models_Files due to the not found class Fixed - Layout, Typos, Small Bugs = 8.0.12 = Update - Compatibility with Wordfence = 8.0.11 = Update - Plugin security and compatibility with WP 6.6.1 & PHP 8.3 Update - Adding wp-admin path extensions into firewall when user is not logged in = 8.0.10 = Fixed - Google reCaptcha on frontend popup to load google header if not already loaded Fixed - Hide New Login Path to allow redirects from custom paths: lost password, signup and disconnect Fixed - WP Multisite active plugins check to ignore inactive plugins Fixed - Small bugs = 8.0.09 = Update - Add security preset loading options in Hide My WP > Restore Fixed - Library integrity on the update process Fixed - Cookie domain on WP multisite to redirect to new login path when changing sites from the network Fixed - Brute Force shortcode to work with different login forms = 8.0.07 = Fixed - Compatibility with WP 6.6 Fixed - Security update on wp-login.php and login.php = 8.0.06 = Update - Added the option to immediately block a wrong username in Brute Force Update - Sub-option layouts Fixed - File Permission check to receive the correct permissions when is set stronger than required Fixed - Hide login.php URL when hide default login path Fixed - Small bugs = 8.0.05 = Update - Added more path in Frontend Test to make sure the settings are okay before confirmation Fixed - Compatibility with Wordfence to not remove the rules from htaccess Fixed - Filter words in 8G Firewall that might be used in article slugs Fixed - Trim error in cookie when main domain cookie is set Fixed - Login header hooks to not remove custom login themes = 8.0.03 = Fixed - isPluginActive check error when is_plugin_active is not yet declared Fixed - Disable clicks and keys to work without jQuery Fixed - Remove the ghost filter from 8G Firewall = 8.0.02 = Fixed - Show error messages in Temporary login when a user already exists Fixed - Temporary users to work on WP Multisite > Subsites = 8.0.01 = Fixed - Login security when Elementor login form is created and Brute Force is active Fixed - Login access when member plugins are used for login process Fixed - Firewall warning on preg_match bot check in firewall.php = 8.0.00 = Update - Added Country Blocking & Geo Security feature Update - Added Firewall blacklist by User Agent Update - Added Firewall blacklist by Referrer Update - Added Firewall blacklist by Hostname Update - Added "Send magic link login" option in All Users user row actions on Hide My WP Advanced Pack plugin Update - Added the option to select the level of access for an IP address in whitelist Removed - Mysql database permission check as WordPress 6.5 handles DB permissions more secure Moved - Firewall section was moved to the main menu as includes more subsections Fixed - 8G Firewall compatibility with all page builder plugins = 7.3.05 = Update - Compatibility with WPEngine rules on wp-admin and wp-login.php Update - New Feature added "Magic Login URL" on Hide My WP Advanced Pack plugin Fixed - Prevent firewall to record all triggered filters as fail attempts Fixed - Remove filter on robots when 8G firewall is active Fixed - Frontend Login Check popup to prevent any redirect to admin panel in popup test Fixed - Prevent redirect the wp-admin to new login when wp-admin path is hidden = 7.3.04 = Update - Search option in Hide My WP > Overview > Features Update - Send Temporary Logins in Events log Fixed - Don't show Temporary Logins & 2FA in main menu when deactivated = 7.3.03 = Update - 8G Firewall on User Agents filters Update - Compatibility with WP 6.5.3 Update - Load the options when white label plugin is installed Fix - Restore settings error on applying the paths Fix - Prevent redirect the wp-admin to new login when wp-admin path is hidden = 7.3.01 = Update - Added translation in more languages like Arabic, Spanish, Finnish, French, Italian, Japanese, Dutch, Portuguese, Russian, Chinese Fix - "wp_redirect" when function is not yet declared in brute force Fix - "wp_get_current_user" error in events log when function is not yet declared = 7.3.00 = Update - Added the option to detect and fix all WP files and folders permissions in Security Check Update - Added the option to fix wp_ database prefix in Security Check Update - Added the option to fix admin username in Security Check Update - Added the option to fix salt security keys in Security Check Update - Layout and Fonts to integrate more with WordPress fonts Update - 7G & 8G firewall compatibility to work with more WP plugins and themes = 7.2.07 = Update - Added the option on Apache to insert the firewall rules into .htaccess Fixed - Screen 120dpi display layout Fixed - Hide reCaptcha secret key in Settings = 7.2.06 = Update - Added the 8G Firewall filter Update - Added the option to block the theme detectors Update - Added the option to block theme detectors crawlers by IP & agent Update - Added compatibility with Local by Flywheel Update - Firewall loads during WP load process to work on all server types Fixed - Load most firewall filters only in frontend to avoid compatibility issues with analytics plugins in admin dashboard Fixed - Avoid loading recaptcha on Password reset link Fixed - Avoid blocking ajax calls on non-admin users when the Hide wp-admin from non-admin users is activated = 7.2.05 = Update - Added the option ot manage/cancel the plan on Hide My WP Cloud Fixed - Custom login path issues on Nginx servers Fixed - Issues when the rules are not added correctly in config file and need to be handled by HMWP Fixed - Don't change the admin path when ajax path is not changed to avoid ajax errors = 7.2.04 = Compatibility with WP 6.5 Update - Compatibility with CloudPanel & Nginx servers Fixed - Warning in Nginx for $cond variable = 7.2.03 = Compatibility with PHP 8.3 and WP 6.4.3 Update - Compatibility with Hostinger Update - Compatibility with InstaWP Update - Compatibility with Solid Security Plugin (ex iThemes Security) Update - Added the option to block the API call by rest_route param Update - Added new detectors in the option to block the Theme Detectors Update - Security Check for valid WP paths Fixed - Don't load shortcode recapcha for logged users Fixed - Rewrite rules for the custom wp-login path on Cloud Panel and Nginx servers Fixed - Issue on change paths when WP Multisite with Subcategories Fixed - Hide rest_route param when Rest API directory is changed Fixed - Multilanguage support plugins Fixed - Small bugs & typos = 7.2.02 = * Update - Add shortcode on BruteForce [hmwp_bruteforce] for any login form * Update - Add security schema on ssl websites when changing relative to absolute paths * Update - Compatibility with WP 6.4.2 & PHP 8.3 * Fixed - Change the paths in cache files when WP Multisite with Subdirectories * Fixed - Small bugs in rewrite rules = 7.2.01 = * Update - Compatibility with WP 6.4.1 & PHP 8.3 * Update - The Frontend Check to check the valid changed paths * Update - The Security Check to check the plugins updated faster and work without error with Woocommerce update process * Update - Compatibility with Solid Security Plugin (ex iThemes Security) * Update - Hidden wp-admin and wp-login.php on file error due to config issue * Update - Hide rest_route param when Rest API directory is changed * Update - Add emulation for Drupal 10 and Joomla 5 * Fixed - Hide error when there are invalid characters in theme/plugins directory name * Fixed - Small bugs = 7.2.00 = * Update - Added the 2FA feature with both Code Scan and Email Code * Update - Added the option to add random number for static files to avoid caching when users are logged to the website * Fixed - Added the option to pass the 2FA and Brute Force protection when using the Safe URL * Fixed - Tweaks redirect for default path wasn't saved correctly * Fixed - Small Bugs = 7.1.17 = * Fixed - File extension blocked on wp-includes when WP Common Paths are activated * Fixed - Remove hidemywp from file download when the new paths are saved = 7.1.16 = * Update - Compatibility with WP 6.3.1 * Update - Compatibility with WPML plugin * Update - Security on Brute Force for the login page * Fixed - Small Bugs = 7.1.15 = * Update - Compatibility with WP 6.3 * Update - Security Check Report for debugging option when debug display is set to off * Update - Security Check Report for the URLs and files to follow the redirect and check if 404 error = 7.1.13 = * Update - Compatibility with more 2FA plugins * Update - Compatibility with ReallySimpleSSL = 7.1.11 = * Update - Json Response using WP functions * Update - Check the website logo on Frontend Check with custom paths * Fixed - Loading icon on settings backup * Fixed - Small bugs = 7.1.10 (26 May 2023) = * Update - Compatibility with WP 6.2.2 * Fixed - Update checker to work with the latest WordPress version * Fixed - Hide wp-login.php path for WP Engine server with PHP > 7.0 = 7.1.08 (26 May 2023) = * Update - Added the user role "Other" for unknown user roles * Update - Sync the new login with the Cloud to keep a record of the new login path and safe URL = 7.1.07 (19 May 2023) = * Update - Compatibility with WPEngine hosting * Update - Compatibility with WP 6.2.1 * Fixed - Loading on defaut ajax and json paths when the paths are customized * Fixed - Compatibility issues with Siteground when Ewww plugin is active * Fixed - To change the Sitegroud cache on Multisite in the background = 7.1.06 (15 May 2023) = * Update - Compatibility with Siteground * Update - Compatibility with Avada when cache plguins are enabled = 7.1.05 (05 May 2023) = * Update - Add compatibility for Cloud Panel servers * Update - Add the option to select the server type if it's not detected by the server * Fixed - Remove the rewrites from WordPress section when the plugin is deactivated * Fixed - User roles names display on Tweaks = 7.1.04 (03 May 2023) = * Update - File processing when the rules are not set correctly * Update - Security headers default values * Fixed - Compatibilities with the last versions of other plugins * Fixed - Reduce resource usage on 404 pages = 7.1.02 (24 Apr 2023) = * Update - Compatibility with other plugins * Update - UI & UX to guide the user into the recommended settings * Fixed - Increased plugins speed on compatibility check * Fixed - Common paths extensions check in settings = 7.0.15 (04 Apr 2023) = * Update - Add the option to check the frontend and prevent broken layouts on settings save * Update - Brute Force protection on lost password form * Update - Compatibility with Memberpress plugin * Fixed - My account link on multisite option = 7.0.14 (23 Mar 2023) = * Update - Compatibility with WP 6.2 * Update - Added the option to whitelist URLs * Update - Added the sub-option to show a white-screen on Inspect Element for desktop * Update - Added the options to hook the whitelisted/blacklisted IPs * Fixed - small bugs / typos / UI = 7.0.13 (28 Feb 2023) = * Update - Compatibility with PHP 8 on Security Check = 7.0.12 (20 Feb 2023) = * Compatibile with WP 6.2 * Fixed - Handle the physical custom paths for wp-content and uploads set by the site owner * Fixed - Compatibility with more plugins and themes = 7.0.11 (26 Ian 2023) = * Update - Remove the atom+xml meta from header * Update - Save all section on backup restore * Update - Update the File broken handler * Update - Login, Register, Logout handlers when the rules are not added correctly in the config file and prevent lockouts = 7.0.10 (19 Dec 2022) = * Update - Remove the noredirect param if the redirect is fixed * Update - Check the XML and TXT URI by REQUEST_URI to make sure the Sitemap and Robots URLs are identified * Update - Check the rewrite rules on WordPress Automatic updates too * Update - Add the option to disable HMWP Ghost custom paths for the whitelisted IPs = 7.0.05 (22 Nov 2022) = * Update - Fix login path on different backend URL from home URL = 7.0.04 (25 Oct 2022) = * Update - Compatibility with WP 6.1 * Update - Add More security to XML RPC * Update - Add GeoIP flag in Events log to see the IP country * Update - Compatibility with LiteSpeed servers and last version of WordPress = 7.0.03 (20 Oct 2022) = * Update - Add the Whitelabel IP option in Security Level and allow the Whitelabel IP addresses to pass login recaptcha and hidden URLs * Fixed - Allow self access to hidden paths to avoid cron errors on backup/migration plugins * Fixed - White screen on iphone > safari when disable inspect element option is on = 7.0.02 (28 Sept 2022) = * Update - Add the Brute Force protection on Register Form to prevent account spam * Update - Added the option to prioritize the loading of HMWP Ghost plugin for more compatibility with other plugins * Update - Compatibility with FlyingPress by adding the hook for fp_file_path on critical CSS remove process * Fixed - Remove the get_site_icon_url hook to avoid any issue on the login page with other themes * Fixed - Compatibility with ShortPixel webp extention when Feed Security is enabled * Fixed - Fixed the ltrim of null error on PHP 8.1 for site_url() path * Fixed - Disable Inspect Element on Mac for S + MAC combination and listen on Inspect Element window = 7.0.01 (10 Sept 2022)= * Update - Added Temporary Login feature * Fixed - Not to hide the image on login page when no custom image is set in Appearance > Customize > Site Logo * Update - Compatibility with Nicepage Builder plugin * Update - Compatibility with WP 6.0.2 uninstall.php000064400000001647147600042240007275 0ustar00deleteTempLogins(); } //remove user capability HMWP_Classes_ObjController::getClass( 'HMWP_Models_RoleManager' )->removeHMWPCaps(); // Delete the record from database delete_option( HMWP_OPTION ); delete_option( HMWP_OPTION_SAFE ); delete_option( HMWP_SECURITY_CHECK ); delete_option( HMWP_SECURITY_CHECK_IGNORE ); delete_option( HMWP_SECURITY_CHECK_TIME ); delete_option( HMWP_SALT_CHANGED ); wp_clear_scheduled_hook( HMWP_CRON ); update.php000064400000002256147600042240006543 0ustar00 Plugin\UpdateChecker::class, 'Theme\\UpdateChecker' => Theme\UpdateChecker::class, 'Vcs\\PluginUpdateChecker' => Vcs\PluginUpdateChecker::class, 'Vcs\\ThemeUpdateChecker' => Vcs\ThemeUpdateChecker::class, 'GitHubApi' => Vcs\GitHubApi::class, 'BitBucketApi' => Vcs\BitBucketApi::class, 'GitLabApi' => Vcs\GitLabApi::class, ) as $pucGeneralClass => $pucVersionedClass ) { MajorFactory::addVersion($pucGeneralClass, $pucVersionedClass, '5.4'); MinorFactory::addVersion($pucGeneralClass, $pucVersionedClass, '5.4'); } MajorFactory::buildUpdateChecker( _HMWP_ACCOUNT_SITE_ . '/api/wp/update/', _HMWP_ROOT_DIR_ . '/index.php', 'hide-my-wp' );