Hacked By AnonymousFox
3
��f�� � @ s� d Z ddlZddlZddlZddlZddddddd d
ddd
ddddddddddgZddddddddd d!d"d#d$d%d&d'd(d)d*gZdddddd+dddd"d d!d,d#d$d%d-d'd(d&d.d/d0d)d*gZddd1d#ddd d!d$d%d2d3d"d&d4gZdd1d5d6d+ddd,d2d3g
Z ddddd d!d"dd$d%d2d3gZ
ddd1ddd6ddd d!d,dd#g
Zd7Zd8Z
d9d:d;gZd<Zi Zd=d>� Zd?Zd@ZdAdB� ZeefdCdD�ZeefdEdF�ZdGdH� ZG dIdJ� dJe�ZG dKdL� dLe�ZG dMdN� dNe�ZG dOdP� dPee�ZG dQdR� dRee�ZddSlmZ eddT�ZeddU�Z eddV�Z!dWe_ dXej"_ dYej#_ dZe _ d[e j$_ d\e j%_ d]e j&_ d^e j'_ d_e j#_ d`e!_ e j$j e!j$_ e j%j e!j%_ e j&j e!j&_ dae!j(_ e j'j e!j'_ e j#j e!j#_ eZ)G dbd� dee�Z*G dcd� de e�Z+G ddd� de!e�Z,G ded� dee�Z-G dfd� de e�Z.G dgd� de!e�Z/dhdi� Z0e0� [0d�dkd�Z1dldm� Z2d�dndo�Z3dpdq� Z4drds� Z5d�dtd�Z6dud� Z7dvd� Z8d�dwd�Z9dxd� Z:dyZ;da<dzd� Z=ej>d{�Z?d�d~d�Z@d�d�d
�ZAG d�d�� d�eB�ZCd�ZDdaEd�d�d�ZFd�d�d�ZGeHd��ZIeJeI�ZKi ZLG d�d�� d�ejM�ZNd�d�d�ZOd�d�d
�ZPd�d�d�ZQddddePfd�d �ZRd�d�� ZSd�d�� ZTdaUd�d�� ZVdaWd�d�� ZXd�d�� ZYd�d�� ZZda[d�d�� Z\d�d�d��Z]d�d�� Z^d�d�� Z_d�d�� Z`d�d�� ZadS )�a3 Parse (absolute and relative) URLs.
urlparse module is based upon the following RFC specifications.
RFC 3986 (STD66): "Uniform Resource Identifiers" by T. Berners-Lee, R. Fielding
and L. Masinter, January 2005.
RFC 2732 : "Format for Literal IPv6 Addresses in URL's by R.Hinden, B.Carpenter
and L.Masinter, December 1999.
RFC 2396: "Uniform Resource Identifiers (URI)": Generic Syntax by T.
Berners-Lee, R. Fielding, and L. Masinter, August 1998.
RFC 2368: "The mailto URL scheme", by P.Hoffman , L Masinter, J. Zawinski, July 1998.
RFC 1808: "Relative Uniform Resource Locators", by R. Fielding, UC Irvine, June
1995.
RFC 1738: "Uniform Resource Locators (URL)" by T. Berners-Lee, L. Masinter, M.
McCahill, December 1994
RFC 3986 is considered the current standard and any future changes to
urlparse module should conform with it. The urlparse module is
currently not entirely compliant with this RFC due to defacto
scenarios for parsing, and for backward compatibility purposes, some
parsing quirks from older RFCs are retained. The testcases in
test_urlparse.py provides a good indicator of parsing behavior.
The WHATWG URL Parser spec should also be considered. We are not compliant with
it either due to existing user code API behavior expectations (Hyrum's Law).
It serves as a useful guide when making changes.
� N�urlparse�
urlunparse�urljoin� urldefrag�urlsplit�
urlunsplit� urlencode�parse_qs� parse_qsl�quote�
quote_plus�quote_from_bytes�unquote�unquote_plus�unquote_to_bytes�DefragResult�ParseResult�SplitResult�DefragResultBytes�ParseResultBytes�SplitResultBytes� Zftp�httpZgopherZnntpZimapZwais�fileZhttpsZshttpZmmsZprosperoZrtspZrtspuZsftpZsvnzsvn+sshZwsZwssZtelnetZsnewsZrsyncZnfsZgitzgit+sshZhdlZsipZsipsZtelZmailtoZnewszAabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+-.z!
� �
�
� c C s t j� tj� dS )z,Clear the parse cache and the quoters cache.N)�_parse_cache�clear�
_safe_quoters� r! r! �$/usr/lib64/python3.6/urllib/parse.py�clear_cache_ s r# �ascii�strictc C s | S )Nr! )�objr! r! r"