File: //usr/local/lib/python3.10/dist-packages/httpx/__pycache__/_urlparse.cpython-310.pyc
o
���grH �
@ s� d Z ddlmZ ddlZddlZddlZddlZddlmZ dZ dZ
dZe�d �Z
d
�dd� ed
d�D ��Zd
�dd� ed
d�D ��Zd
�dd� ed
d�D ��Zd
�dd� ed
d�D ��Zd
�dd� ed
d�D ��Zd
�dd� ed
d�D ��Ze�djdddddd��Ze�djdddd��Ze�d�e�d�e�d�e�d�e�d�e�d�e�d�e�d�d �Ze�d!�Ze�d"�ZG d#d$� d$ej�ZdFdGd*d+�ZdHd-d.�ZdId3d4�Z dJd:d;�Z!dKd<d=�Z"dLd?d@�Z#dMdBdC�Z$dMdDdE�Z%dS )Na�
An implementation of `urlparse` that provides URL validation and normalization
as described by RFC3986.
We rely on this implementation rather than the one in Python's stdlib, because:
* It provides more complete URL validation.
* It properly differentiates between an empty querystring and an absent querystring,
to distinguish URLs with a trailing '?'.
* It handles scheme, hostname, port, and path normalization.
* It supports IDNA hostnames, normalizing them to their encoded form.
* The API supports passing individual components, as well as the complete URL string.
Previously we relied on the excellent `rfc3986` package to handle URL parsing and
validation, but this module provides a simpler alternative, with less indirection
required.
� )�annotationsN� )�
InvalidURLi zBABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~z!$&'()*+,;=z%[A-Fa-f0-9]{2}� c C � g | ]
}|d vrt |��qS ))� �"