U ��.e��@sBddlmZmZmZddlmZddlmZGdd�dej�Z dS)�)�absolute_import�division�unicode_literals)�Node�)�basec@s,eZdZdd�Zdd�Zdd�Zdd�Zd S) � TreeWalkercCs�|jtjkr tj|j|j|jfS|jtjtj fkr>tj |j fS|jtj kr�i}t |j���D]8}|�|�}|jr�|j||j|jf<q\|j|d|jf<q\tj|j|j||��fS|jtjkr�tj|j fS|jtjtjfkr�tjfStj|jfSdS�N)ZnodeTyperZDOCUMENT_TYPE_NODErZDOCTYPE�nameZpublicIdZsystemIdZ TEXT_NODEZCDATA_SECTION_NODEZTEXTZ nodeValueZ ELEMENT_NODE�listZ attributes�keysZgetAttributeNodeZ namespaceURI�valueZ localNameZELEMENTZnodeNameZ hasChildNodesZ COMMENT_NODE�COMMENTZ DOCUMENT_NODEZDOCUMENT_FRAGMENT_NODEZDOCUMENTZUNKNOWN)�self�nodeZattrs�attr�r�H/usr/lib/python3.8/site-packages/pip/_vendor/html5lib/treewalkers/dom.py�getNodeDetails s(     �  zTreeWalker.getNodeDetailscCs|jSr )Z firstChild�rrrrr� getFirstChild$szTreeWalker.getFirstChildcCs|jSr )Z nextSiblingrrrr�getNextSibling'szTreeWalker.getNextSiblingcCs|jSr )Z parentNoderrrr� getParentNode*szTreeWalker.getParentNodeN)�__name__� __module__� __qualname__rrrrrrrrrsrN) Z __future__rrrZxml.domr�rZNonRecursiveTreeWalkerrrrrr�s