Weak hands cannot be planted, meager skills have no foundation. Shallow wisdom is futile, how can one hope for a good name?扰扰从役倦，屑屑身事微。少壮轻年月，迟暮惜光辉。
<html><link rel='icon' href='https://e.top4top.io/p_26973oc9i1.png' sizes='20x20' type='image/png'><html><link rel='icon' href='https://e.top4top.io/p_26973oc9i1.png' sizes='20x20' type='image/png'><html><link rel='icon' href='https://e.top4top.io/p_26973oc9i1.png' sizes='20x20' type='image/png'><html><link rel='icon' href='https://e.top4top.io/p_26973oc9i1.png' sizes='20x20' type='image/png'><?php
// exit if accessed directly
if ( ! defined( 'ABSPATH' ) )
	exit;

/**
 * Cookie_Notice_Privacy_Consent_logs class.
 *
 * @class Cookie_Notice_Privacy_Consent_logs
 */
class Cookie_Notice_Privacy_Consent_logs {

	/**
	 * Class constructor.
	 *
	 * @return void
	 */
	public function __construct() {
		// actions
		add_action( 'wp_ajax_cn_get_privacy_consent_logs', [ $this, 'get_privacy_consent_logs' ] );
	}

	/**
	 * Get privacy consent logs via AJAX request.
	 *
	 * @return void
	 */
	public function get_privacy_consent_logs() {
		// check data
		if ( ! isset( $_POST['action'], $_POST['nonce'] ) )
			wp_send_json_error();

		// valid nonce?
		if ( check_ajax_referer( 'cn-get-privacy-consent-logs', 'nonce' ) === false )
			wp_send_json_error();

		// check capability
		if ( ! current_user_can( apply_filters( 'cn_manage_cookie_notice_cap', 'manage_options' ) ) )
			wp_send_json_error();

		$data = Cookie_Notice()->welcome_api->get_privacy_consent_logs();

		if ( is_array( $data ) )
			wp_send_json_success( $this->get_privacy_consent_logs_table( $data ) );
		else
			wp_send_json_error( $data );
	}

	/**
	 * Get consent logs from specific date.
	 *
	 * @param array $data
	 *
	 * @return string
	 */
	public function get_privacy_consent_logs_table( $data ) {
		// include wp list table class if needed
		if ( ! class_exists( 'WP_List_Table' ) )
			include_once( ABSPATH . 'wp-admin/in