t_c@`sddlmZmZmZddlmZmZddlZddlm Z ddlm Z ddlm Z ddl m Z dd lmZdd lmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z d e!d Z"d d e!dZ#dZ$de%fdYZ&ej'dZ(dZ)de*e+dZ,de-fdYZ.dS(i(tabsolute_importtdivisiontunicode_literals(twith_metaclasstviewkeysNi(t _inputstream(t _tokenizer(t treebuilders(tMarker(t_utils(tspaceCharacterstasciiUpper2LowertspecialElementstheadingElementst cdataElementstrcdataElementst tokenTypest tagTokenTypest namespacesthtmlIntegrationPointElementst"mathmlTextIntegrationPointElementstadjustForeignAttributestadjustMathMLAttributestadjustSVGAttributestEt_ReparseExceptionuetreecK`s1tj|}t|d|}|j||S(uParse an HTML document as a string or file-like object into a tree :arg doc: the document to parse as a string or file-like object :arg treebuilder: the treebuilder to use when parsing :arg namespaceHTMLElements: whether or not to namespace HTML elements :returns: parsed tree Example: >>> from html5lib.html5parser import parse >>> parse('

This is a doc

') tnamespaceHTMLElements(RtgetTreeBuildert HTMLParsertparse(tdoct treebuilderRtkwargsttbtp((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRsudivcK`s7tj|}t|d|}|j|d||S(u#Parse an HTML fragment as a string or file-like object into a tree :arg doc: the fragment to parse as a string or file-like object :arg container: the container context to parse the fragment in :arg treebuilder: the treebuilder to use when parsing :arg namespaceHTMLElements: whether or not to namespace HTML elements :returns: parsed tree Example: >>> from html5lib.html5libparser import parseFragment >>> parseFragment('this is a fragment') Rt container(RRRt parseFragment(RR#RRR R!R"((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyR$1sc`s dtffdY}|S(Nt Decoratedc`seZfdZRS(c`s^xE|jD]7\}}t|tjr:|}n|||>> from html5lib.html5parser import HTMLParser >>> parser = HTMLParser() # generates parser with etree builder >>> parser = HTMLParser('lxml', strict=True) # generates parser with lxml builder which is strict uetreec`s+i|]!\}}|j|qS((ttree(t.0tnametcls(tself(sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pys ys N( tstricttNoneRRR6terrorst getPhasesR&tphases(R:R6R;Rtdebug((R:sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyt__init__]s    udivcK`sz||_||_||_tj|d|||_|jy|jWn%tk ru|j|jnXdS(Ntparser( t innerHTMLModeR#t scriptingRt HTMLTokenizert tokenizertresettmainLoopR(R:tstreamt innerHTMLR#RDR ((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyt_parse|s      cC`s|jjt|_g|_g|_d|_|jr|jj |_ |j t krp|j j |j _nH|j tkr|j j|j _n$|j dkr|j j|j _n|jd|_|jj|jnt|_ |jd|_d|_d|_t|_dS(Nu no quirksu plaintextu beforeHtmluinitial(R6RGtFalset firstStartTagR=tlogt compatModeRCR#tlowerRJRRFt rcdataStatetstateRt rawtextStatetplaintextStateR?tphasetinsertHtmlElementtresetInsertionModeR<t lastPhasetbeforeRCDataPhasetTruet framesetOK(R:((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRGs*           cC`s't|dsdS|jjjdjS(uName of the character encoding that was used to decode the input stream, or :obj:`None` if that is not determined yet u tokenizeriN(thasattrR<RFRIt charEncodingR8(R:((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pytdocumentEncodingscC`se|jdkrK|jtdkrKd|jkoJ|jdjtdkS|j|jftkSdS(Nuannotation-xmlumathmluencodingu text/htmluapplication/xhtml+xml(u text/htmluapplication/xhtml+xml(R8t namespaceRt attributest translateR R(R:telement((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pytisHTMLIntegrationPoints cC`s|j|jftkS(N(R_R8R(R:Rb((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pytisMathMLTextIntegrationPointscC`s?td}td}td}td}td}td}td}x|jD]}d} |} x=| dk r| } |jjr|jjdnd} | r| jnd} | r| jnd} | d }||kr|j| d | jd id} qet |jjd ks| |jj ks|j | ru||krc|d t ddgks|||fks| t dkr| dkr||kr|d dks|j| r||||fkr|j}n |jd}||kr|j| } qe||kr&|j| } qe||krD|j| } qe||krb|j| } qe||kr|j| } qe||kre|j| } qeqeW||krP| drP| d rP|jdi| d d 6qPqPWt}g}xG|r:|j|j|jj}|r|j|ks7tqqWdS(Nu CharactersuSpaceCharactersuStartTaguEndTaguCommentuDoctypeu ParseErroriutypeudataudatavarsiunameumglyphu malignmarkumathmluannotation-xmlusvguinForeignContentu selfClosinguselfClosingAcknowledgedu&non-void-element-with-trailing-solidus(RRFR<R6t openElementsR_R8t parseErrortgettlentdefaultNamespaceRdt frozensetRRcRUR?tprocessCharacterstprocessSpaceCharacterstprocessStartTagt processEndTagtprocessCommenttprocessDoctypeRZtappendt processEOFtAssertionError(R:tCharactersTokentSpaceCharactersTokent StartTagTokent EndTagTokent CommentTokent DoctypeTokentParseErrorTokenttokent prev_tokent new_tokent currentNodetcurrentNodeNamespacetcurrentNodeNameR*RUt reprocessR?((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRHsp       "                  cO`s&|j|td|||jjS(uParse a HTML document into a well-formed tree :arg stream: a file-like object or string containing the HTML to be parsed The optional encoding parameter must be a string that indicates the encoding. If specified, that encoding will be used, regardless of any BOM or later declaration (such as in a meta element). :arg scripting: treat noscript elements as if JavaScript was turned on :returns: parsed tree Example: >>> from html5lib.html5parser import HTMLParser >>> parser = HTMLParser() >>> parser.parse('

This is a doc

') N(RKRLR<R6t getDocument(R:RItargsR ((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRscO`s#|j|t|||jjS(uZParse a HTML fragment into a well-formed tree fragment :arg container: name of the element we're setting the innerHTML property if set to None, default to 'div' :arg stream: a file-like object or string containing the HTML to be parsed The optional encoding parameter must be a string that indicates the encoding. If specified, that encoding will be used, regardless of any BOM or later declaration (such as in a meta element) :arg scripting: treat noscript elements as if JavaScript was turned on :returns: parsed tree Example: >>> from html5lib.html5libparser import HTMLParser >>> parser = HTMLParser() >>> parser.parseFragment('this is a fragment') (RKRZR6t getFragment(R:RIRR ((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyR$suXXX-undefined-errorcC`s^|dkri}n|jj|jjj||f|jrZtt||ndS(N( R<R=RqRFRItpositionR;t ParseErrorR(R:t errorcodetdatavars((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRf;s   % cC`st|tdS(N(tadjust_attributesR(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRCscC`st|tdS(N(RR(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRFscC`st|tdS(N(RtadjustForeignAttributesMap(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRIscC`s|jjdS(N(RBRU(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pytreparseTokenNormalLscC`s]t}idd6dd6dd6dd6dd 6dd 6dd 6d d 6dd6dd6dd6dd6dd6dd6}x|jjdddD]}|j}d}||jjdkr|jstt}|j}n|dkr|jstn| r|j|jj krqn||kr5|j ||}Pq|r|j d}PqqW||_ dS(NuinSelectuselectuinCellutduthuinRowutru inTableBodyutbodyutheadutfootu inCaptionucaptionu inColumnGroupucolgroupuinTableutableuinBodyuheadubodyu inFramesetuframesetu beforeHeaduhtmlii(uselectucolgroupuheaduhtml( RLR6ReR8R<RJRsRZR_RiR?RU(R:tlasttnewModestnodetnodeNamet new_phase((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRWPsD       cC`su|dkst|jj||dkrC|jj|j_n|jj|j_|j|_|j d|_dS(NuRAWTEXTuRCDATAutext(uRAWTEXTuRCDATA( RsR6t insertElementRFRSRRRQRUt originalPhaseR?(R:R{t contentType((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pytparseRCDataRawtext|s  N(R3R4t__doc__R<RLRZRARKRGtpropertyR^RcRdRHRR$RfRRRRRWR(((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRVs" "  C       ,c`s!d}d}dt|||fdYdfdY}dfdY}d fd Y}d fd Y}d fdY}dfdY}dffdYdfdY} dffdY} dffdYdffdY} dffdY} dffdY} dffd Y}d!ffd"Y}d#ffd$Y}d%fd&Y}d'ffd(Y}d)fd*Y}d+ffd,Y}d-ffd.Y}d/fd0Y}d1fd2Y}i|d36|d46|d56|d66|d76|d86d96| d:6| d;6d<6| d=6| d>6| d?6|d@6|dA6|dB6|dC6|dD6|dE6|dF6|dG6|dH6|dI6S(JNc`s,dtjDfd}|S(u4Logger that records which phase processes each tokencS`si|]\}}||qS(((R7tkeytvalue((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pys s c`sjjdrt|dkr|d}i|dd6}|dtkrd|d|d                        tInHeadNoscriptPhasecB`seZeZdZdZdZdZdZdZ dZ dZ dZ d Z d Zd Zejd efde fde fgZe e_ejde fde fgZee_RS(cS`s|jjd|jtS(Nueof-in-head-noscript(RBRfRRZ(R:((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRr/s cS`s|jjdj|S(NuinHead(RBR?Ro(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRo4scS`s|jjd|j|S(Nuchar-in-head-noscript(RBRfR(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRk7s cS`s|jjdj|S(NuinHead(RBR?Rl(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRl<scS`s|jjdj|S(NuinBody(RBR?Rm(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyR?scS`s|jjdj|S(NuinHead(RBR?Rm(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRBscS`s"|jjdi|dd6dS(Nuunexpected-start-taguname(RBRf(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pytstartTagHeadNoscriptEscS`s,|jjdi|dd6|j|S(Nuunexpected-inhead-noscript-taguname(RBRfR(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRHs cS`sQ|jjjj}|jdks7td|j|jjd|j_dS(NunoscriptuExpected noscript got %suinHead(RBR6ReRR8RsR?RU(R:R{R((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pytendTagNoscriptMs"cS`s,|jjdi|dd6|j|S(Nuunexpected-inhead-noscript-taguname(RBRfR(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pytendTagBrRs cS`s"|jjdi|dd6dS(Nuunexpected-end-taguname(RBRf(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRWscS`s|jtddS(Nunoscript(RR(R:((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRZsuhtmlubasefontubgsoundulinkumetaunoframesustyleuheadunoscriptubr(ubasefontubgsoundulinkumetaunoframesustyle(uheadunoscript(R3R4RRRrRoRkRlRRRRRRRRR RRRR(((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyR,s,                 tAfterHeadPhasec B`seZeZdZdZdZdZdZdZ dZ dZ dZ d Z d Zejd efd efd efde fde fgZe e_ejde fgZe e_RS(cS`s|jtS(N(RRZ(R:((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRrns cS`s|j|S(N(R(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRkrs cS`s|jjdj|S(NuinBody(RBR?Rm(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRvscS`s6t|j_|jj||jjd|j_dS(NuinBody(RLRBR[R6RR?RU(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyt startTagBodyys cS`s*|jj||jjd|j_dS(Nu inFrameset(R6RRBR?RU(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pytstartTagFrameset~scS`s|jjdi|dd6|jjj|jj|jjdj|xG|jjdddD],}|jdkrh|jjj |PqhqhWdS(Nu#unexpected-start-tag-out-of-my-headunameuinHeadiuhead( RBRfR6ReRqRR?RmR8tremove(R:R{R((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pytstartTagFromHeads  cS`s"|jjdi|dd6dS(Nuunexpected-start-taguname(RBRf(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRscS`s|j|S(N(R(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRs cS`s|j|S(N(R(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRs cS`s"|jjdi|dd6dS(Nuunexpected-end-taguname(RBRf(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRscS`s?|jjtdd|jjd|j_t|j_dS(NubodyuStartTaguinBody(R6RRRBR?RURZR[(R:((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRsuhtmlubodyuframesetubaseubasefontubgsoundulinkumetaunoframesuscriptustyleutitleuheadubr( ubaseubasefontubgsoundulinkumetaunoframesuscriptustyleutitle(ubodyuhtmlubr(R3R4RRRrRkRRRRRRRRRR RRRR(((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRks0                t InBodyPhasec,`seZdZfdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#d"Z$d#Z%d$Z&d%Z'd&Z(d'Z)d(Z*d)Z+d*Z,d+Z-d,Z.d-Z/d.Z0d/Z1d0Z2d1Z3d2Z4d3Z5e6j7d4j8fde fd>e fd?e fde fe9efdefdYefdefd]efd^efdefdkefdlefdefdpefdqefdefdefd{efd|efd}efd~efde fde!fde"fde#fde%fde&fde$fde'fde(fde)fg!Z:e*e:_;e6j7d>e,fd4e-fde.fdYe/fdSe+fde0fe9e1fde2fde3fdse4fg Z<e5e<_;RS(uprocessSpaceCharactersc`s)t|j|||j|_dS(N(tsuperRAtprocessSpaceCharactersNonPreRl(R:RR (R(sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRAscS`s4|j|jko3|j|jko3|j|jkS(N(R8R_R`(R:tnode1tnode2((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pytisMatchingFormattingElementscS`s|jj||jjd}g}xS|jjdddD]8}|tkrVPq@|j||r@|j|q@q@Wt|dkstt|dkr|jjj |dn|jjj|dS(Nii( R6RRetactiveFormattingElementsRRRqRhRsR(R:R{RbtmatchingElementsR((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pytaddFormattingElements  c S`sWtd}xD|jjddd D])}|j|kr&|jjdPq&q&WdS(Nuddudtuliuputbodyutdutfootuthutheadutrubodyuhtmliu expected-closing-tag-but-got-eof( uddudtuliuputbodyutdutfootuthutheadutrubodyuhtml(RjR6ReR8RBRf(R:tallowed_elementsR((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRrs  cS`s|d}|j|_|jdrb|jjdjdkrb|jjdj rb|d}n|r|jj|jj|ndS( Nudatau iupreulistingutextareai(upreulistingutextarea( RRlRR6ReR8t hasContentt#reconstructActiveFormattingElementsR(R:R{R((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyt!processSpaceCharactersDropNewlines    cS`s}|ddkrdS|jj|jj|d|jjrytg|dD]}|tk^qOryt|j_ndS(Nudatau(R6RRRBR[tanyR RL(R:R{tchar((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRks  #cS`s%|jj|jj|ddS(Nudata(R6RR(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRs cS`s|jjdj|S(NuinHead(RBR?Rm(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pytstartTagProcessInHeadscS`s|jjdidd6t|jjdksK|jjdjdkr`|jjstn`t|j_ xQ|dj D]?\}}||jjdj kr}||jjdj |tdS(Niuhtmlu eof-in-table(R6ReR8RBRfRJRs(R:((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRrscS`sH|jj}|jjd|j_||jj_|jjj|dS(Nu inTableText(RBRUR?RRl(R:R{R((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRls cS`sH|jj}|jjd|j_||jj_|jjj|dS(Nu inTableText(RBRUR?RRk(R:R{R((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRks cS`s3t|j_|jjdj|t|j_dS(NuinBody(RZR6tinsertFromTableRBR?RkRL(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRs cS`sG|j|jjjt|jj||jjd|j_dS(Nu inCaption( R8R6RRqRRRBR?RU(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pytstartTagCaptions cS`s4|j|jj||jjd|j_dS(Nu inColumnGroup(R8R6RRBR?RU(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pytstartTagColgroups cS`s|jtdd|S(NucolgroupuStartTag(R;R(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyt startTagColscS`s4|j|jj||jjd|j_dS(Nu inTableBody(R8R6RRBR?RU(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pytstartTagRowGroups cS`s|jtdd|S(NutbodyuStartTag(R=R(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pytstartTagImplyTbodyscS`sN|jjdidd6dd6|jjjtd|jjsJ|SdS(Nu$unexpected-start-tag-implies-end-tagutableu startNameuendName(RBRfRURnRRJ(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRs   cS`s|jjdj|S(NuinHead(RBR?Rm(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pytstartTagStyleScriptscS`sqd|dkr`|ddjtdkr`|jjd|jj||jjjn |j|dS(Nutypeudatauhiddenu unexpected-hidden-input-in-table( RaR RBRfR6RReRR(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRs cS`s_|jjd|jjdkr[|jj||jjd|j_|jjjndS(Nuunexpected-form-in-tablei(RBRfR6RR<RReR(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRs cS`sQ|jjdi|dd6t|j_|jjdj|t|j_dS(Nu)unexpected-start-tag-implies-table-voodoounameuinBody(RBRfRZR6R9R?RmRL(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRs cS`s|jjdddr|jj|jjdjdkro|jjdidd6|jjdjd6nx-|jjdjdkr|jjjqrW|jjj|jjn|jj st |jjdS(NutableRiuend-tag-too-early-namedugotNameu expectedName( R6RRReR8RBRfRRWRJRs(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyt endTagTables   cS`s"|jjdi|dd6dS(Nuunexpected-end-taguname(RBRf(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyt endTagIgnorescS`sQ|jjdi|dd6t|j_|jjdj|t|j_dS(Nu'unexpected-end-tag-implies-table-voodoounameuinBody(RBRfRZR6R9R?RnRL(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRs uhtmlucaptionucolgroupucolutbodyutfootutheadutduthutrutableustyleuscriptuinputuformubody(utbodyutfootuthead(utduthutr(ustyleuscript( ubodyucaptionucolucolgroupuhtmlutbodyutdutfootuthutheadutr(R3R4RRR8RrRlRkRR:R;R<R=R>RR?RRRR@RARR RRRRR((R(sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyR7sH                            tInTableTextPhasec`s\eZd ZfdZdZdZdZdZdZdZ d Z RS( u originalPhaseucharacterTokensc`s/t|j||d|_g|_dS(N(RRAR<RtcharacterTokens(R:RR (RB(sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRA6s cS`sdjg|jD]}|d^q}tg|D]}|tk^q3ritdd6|d6}|jjdj|n|r|jj|ng|_dS(Nuudatau CharactersutypeuinTable( tjoinRCRR RRBR?RR6(R:R!RR{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pytflushCharacters;s)%cS`s|j|j|j_|S(N(RERRBRU(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRoDs cS`s|j|j|j_tS(N(RERRBRURZ(R:((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRrIs cS`s(|ddkrdS|jj|dS(Nudatau(RCRq(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRkNscS`s|jj|dS(N(RCRq(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRlSscS`s|j|j|j_|S(N(RERRBRU(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRmXs cS`s|j|j|j_|S(N(RERRBRU(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRn]s (u originalPhaseucharacterTokens( R3R4RRARERoRrRkRlRmRn((RB(sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRB3s     tInCaptionPhasec `seZeZdZdZdZdZdZdZ dZ dZ dZ e jd jfdefgZee_e jd e fde fde fgZe e_RS(cS`s|jjddd S(NucaptionRutable(R6R(R:((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pytignoreEndTagCaptionfscS`s|jjdjdS(NuinBody(RBR?Rr(R:((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRriscS`s|jjdj|S(NuinBody(RBR?Rk(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRklscS`s@|jj|j}|jjjtd|s<|SdS(Nucaption(RBRfRGRURnR(R:R{t ignoreEndTag((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pytstartTagTableElementos   cS`s|jjdj|S(NuinBody(RBR?Rm(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRwscS`s|js|jj|jjdjdkrc|jjdidd6|jjdjd6nx-|jjdjdkr|jjjqfW|jjj|jj|jj d|j_ n|jj st |jjdS(Niucaptionu$expected-one-end-tag-but-got-anotherugotNameu expectedNameuinTable( RGR6RReR8RBRfRR3R?RURJRs(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyt endTagCaptionzs     cS`s@|jj|j}|jjjtd|s<|SdS(Nucaption(RBRfRGRURnR(R:R{RH((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyR@s   cS`s"|jjdi|dd6dS(Nuunexpected-end-taguname(RBRf(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRAscS`s|jjdj|S(NuinBody(RBR?Rn(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRsuhtmlucaptionucolucolgrouputbodyutdutfootuthutheadutrutableubody( ucaptionucolucolgrouputbodyutdutfootuthutheadutr( ubodyucolucolgroupuhtmlutbodyutdutfootuthutheadutr(R3R4RRRGRrRkRIRRJR@RARR RRRRR((R(sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRFbs*              tInColumnGroupPhasec`seZeZdZdZdZdZdZdZ dZ dZ e j djfd efgZee_e j d e fd e fgZe e_RS( cS`s|jjdjdkS(Niuhtml(R6ReR8(R:((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pytignoreEndTagColgroupscS`s\|jjdjdkr/|jjs+tdS|j}|jtd|sXt SdS(Niuhtmlucolgroup( R6ReR8RBRJRsRLtendTagColgroupRRZ(R:RH((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRrs cS`s-|j}|jtd|s)|SdS(Nucolgroup(RLRMR(R:R{RH((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRks cS`s.|jj||jjjt|d|j|S|jjsPt|jjdS(NutdRutableuth(R6RR[RBRJRsRf(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRTs  cS`s|jjdj|S(NuinBody(RBR?Rm(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRscS`s|jj|dddr|jj|d|jjdj|dkr|jjdi|dd6xFtr|jjj}|j|dkrnPqnqnWn|jjj|jj |jj d|j_ n|jjdi|dd6dS(NunameRutableiuunexpected-cell-end-taguinRowuunexpected-end-tag( R6RRReR8RBRfRZRR3R?RU(R:R{R((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRZs    cS`s"|jjdi|dd6dS(Nuunexpected-end-taguname(RBRf(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRAscS`s;|jj|dddr*|j|S|jjdS(NunameRutable(R6RR[RBRf(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyt endTagImplys cS`s|jjdj|S(NuinBody(RBR?Rn(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRsuhtmlucaptionucolucolgrouputbodyutdutfootuthutheadutrubodyutable( ucaptionucolucolgrouputbodyutdutfootuthutheadutr(utduth(ubodyucaptionucolucolgroupuhtml(utableutbodyutfootutheadutr(R3R4RRR[RrRkRTRRZRAR\RR RRRRR((R(sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRYs(             t InSelectPhasec`seZeZdZdZdZdZdZdZ dZ dZ dZ d Z d Zd Zejd jfd efdefdefde fde fgZe e_ejd e fde fdefgZee_RS(cS`sB|jjdjdkr,|jjdn|jjs>tdS(Niuhtmlu eof-in-select(R6ReR8RBRfRJRs(R:((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRrscS`s,|ddkrdS|jj|ddS(Nudatau(R6R(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRkscS`s@|jjdjdkr,|jjjn|jj|dS(Niuoption(R6ReR8RR(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pytstartTagOptionscS`sl|jjdjdkr,|jjjn|jjdjdkrX|jjjn|jj|dS(Niuoptionuoptgroup(R6ReR8RR(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pytstartTagOptgroup s cS`s'|jjd|jtddS(Nuunexpected-select-in-selectuselect(RBRft endTagSelectR(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyR scS`sU|jjd|jjdddr?|jtd|S|jjsQtdS(Nuunexpected-input-in-selectuselectR(RBRfR6RR`RRJRs(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyR s cS`s|jjdj|S(NuinHead(RBR?Rm(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyR scS`s"|jjdi|dd6dS(Nuunexpected-start-tag-in-selectuname(RBRf(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyR s cS`sJ|jjdjdkr,|jjjn|jjdidd6dS(Niuoptionuunexpected-end-tag-in-selectuname(R6ReR8RRBRf(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyt endTagOption s cS`s|jjdjdkrE|jjdjdkrE|jjjn|jjdjdkrq|jjjn|jjdidd6dS(Niuoptioniuoptgroupuunexpected-end-tag-in-selectuname(R6ReR8RRBRf(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pytendTagOptgroup% s cS`s|jjdddrb|jjj}x%|jdkrQ|jjj}q-W|jjn|jjstt|jj dS(NuselectR( R6RReRR8RBRWRJRsRf(R:R{R((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyR`2 scS`s"|jjdi|dd6dS(Nuunexpected-end-tag-in-selectuname(RBRf(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyR= s uhtmluoptionuoptgroupuselectuinputukeygenutextareauscript(uinputukeygenutextarea(R3R4RRRrRkR^R_RRRRRaRbR`RR RRRRR((R(sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyR]s4                   tInSelectInTablePhasec B`seZeZdZdZdZdZdZdZ e j defgZ ee _ e j defgZe e_ RS(cS`s|jjdjdS(NuinSelect(RBR?Rr(R:((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRrU scS`s|jjdj|S(NuinSelect(RBR?Rk(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRkX scS`s5|jjdi|dd6|jtd|S(Nu5unexpected-table-element-start-tag-in-select-in-tableunameuselect(RBRfRR(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyR[ scS`s|jjdj|S(NuinSelect(RBR?Rm(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyR` scS`sU|jjdi|dd6|jj|dddrQ|jtd|SdS(Nu3unexpected-table-element-end-tag-in-select-in-tableunameRutableuselect(RBRfR6RRR(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyR@c scS`s|jjdj|S(NuinSelect(RBR?Rn(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRi sucaptionutableutbodyutfootutheadutrutduth(ucaptionutableutbodyutfootutheadutrutduth(ucaptionutableutbodyutfootutheadutrutduth(R3R4RRRrRkRRR@RR RRRR(((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRcR s        tInForeignContentPhasec-`seZeZedddddddddd d d d d ddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+g,Zd,Zfd-Zd.Zd/Z RS(0ububigu blockquoteubodyubrucenterucodeuddudivudludtuemuembeduh1uh2uh3uh4uh5uh6uheaduhruiuimguliulistingumenuumetaunobruolupupreurubyususmalluspanustrongustrikeusubusuputableuttuuuuluvarcS`s+i$dd6dd6dd6dd6d d 6d d 6d d6dd6dd6dd6dd6dd6dd6dd6dd6dd 6d!d"6d#d$6d%d&6d'd(6d)d*6d+d,6d-d.6d/d06d1d26d3d46d5d66d7d86d9d:6d;d<6d=d>6d?d@6dAdB6dCdD6dEdF6dGdH6}|dI|kr'||dI|dI s(RBR[RRLRk(R:R{(R(sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRk s   cS`s|jjd}|d|jksV|ddkrt|djdddh@r|jjdi|dd6xm|jjdj|jjkr|jj |jjd r|jj |jjd r|jjj qwW|S|jt d kr|jj |n3|jt d krA|j||jj|n|jj||j|d <|jj||d r|jjj t|d tdS(Niuhtmlueof-in-frameset(R6ReR8RBRfRJRs(R:((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRr scS`s|jjddS(Nuunexpected-char-in-frameset(RBRf(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRk" scS`s|jj|dS(N(R6R(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyR% scS`s$|jj||jjjdS(N(R6RReR(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyt startTagFrame( scS`s|jjdj|S(NuinBody(RBR?Rm(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pytstartTagNoframes, scS`s"|jjdi|dd6dS(Nu unexpected-start-tag-in-framesetuname(RBRf(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyR/ s cS`s|jjdjdkr,|jjdn|jjj|jj r{|jjdjdkr{|jjd|j_ndS(Niuhtmlu)unexpected-frameset-in-frameset-innerhtmluframesetu afterFrameset( R6ReR8RBRfRRJR?RU(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pytendTagFrameset3 s  cS`s"|jjdi|dd6dS(Nuunexpected-end-tag-in-framesetuname(RBRf(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyR? s uhtmluframesetuframeunoframes(R3R4RRRrRkRRmRnRRoRR RRRRR((R(sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRl s$            tAfterFramesetPhasec`seZeZdZdZdZdZdZdZ e j dj fdefgZ ee _e j defgZe e_RS(cS`sdS(N((R:((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRrT scS`s|jjddS(Nuunexpected-char-after-frameset(RBRf(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRkX scS`s|jjdj|S(NuinHead(RBR?Rm(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRn[ scS`s"|jjdi|dd6dS(Nu#unexpected-start-tag-after-framesetuname(RBRf(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyR^ s cS`s|jjd|j_dS(NuafterAfterFrameset(RBR?RU(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRb scS`s"|jjdi|dd6dS(Nu!unexpected-end-tag-after-framesetuname(RBRf(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRe s uhtmlunoframes(R3R4RRRrRkRnRRRR RRRRR((R(sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRpP s         tAfterAfterBodyPhasecB`sqeZeZdZdZdZdZdZdZ dZ e j defgZ e e _RS(cS`sdS(N((R:((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRrw scS`s|jj||jjdS(N(R6RR(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRoz scS`s|jjdj|S(NuinBody(RBR?Rl(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRl} scS`s*|jjd|jjd|j_|S(Nuexpected-eof-but-got-charuinBody(RBRfR?RU(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRk scS`s|jjdj|S(NuinBody(RBR?Rm(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyR scS`s8|jjdi|dd6|jjd|j_|S(Nuexpected-eof-but-got-start-tagunameuinBody(RBRfR?RU(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyR s cS`s8|jjdi|dd6|jjd|j_|S(Nuexpected-eof-but-got-end-tagunameuinBody(RBRfR?RU(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRn s uhtml(R3R4RRRrRoRlRkRRRnR RRR(((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRqt s        tAfterAfterFramesetPhasecB`seZeZdZdZdZdZdZdZ dZ dZ e j defd e fgZe e_RS( cS`sdS(N((R:((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRr scS`s|jj||jjdS(N(R6RR(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRo scS`s|jjdj|S(NuinBody(RBR?Rl(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRl scS`s|jjddS(Nuexpected-eof-but-got-char(RBRf(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRk scS`s|jjdj|S(NuinBody(RBR?Rm(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyR scS`s|jjdj|S(NuinHead(RBR?Rm(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pytstartTagNoFrames scS`s"|jjdi|dd6dS(Nuexpected-eof-but-got-start-taguname(RBRf(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyR s cS`s"|jjdi|dd6dS(Nuexpected-eof-but-got-end-taguname(RBRf(R:R{((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRn s uhtmlunoframes(R3R4RRRrRoRlRkRRsRRnR RRR(((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyRr s          uinitialu beforeHtmlu beforeHeaduinHeaduinHeadNoscriptu afterHeaduinBodyutextuinTableu inTableTextu inCaptionu inColumnGroupu inTableBodyuinRowuinCelluinSelectuinSelectInTableuinForeignContentu afterBodyu inFramesetu afterFramesetuafterAfterBodyuafterAfterFrameset(R(R@RNRRRRRRRR5R7RFRKRORURYR]RcRdRkRlRpRqRr((RRBRsQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyR>sh  %H%-f?B!/F@bYLc&r.8$%%c`s[t|dt@}|rWt|dfd|djD|d s(RR*R&(R{Retneeds_adjustment((ResQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyR suEndTagcC`s9|dkri}nit|d6|d6|d6|d6S(Nutypeunameudatau selfClosing(R<R(R8R*R`R ((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyR s  RcB`seZdZRS(uError in parsed document(R3R4R(((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyR s(/t __future__RRRtpip._vendor.sixRRR(tRRRttreebuilders.baseRR t constantsR R R R RRRRRRRRRRRRRRZRR$R5tobjectRtmemoizeR>RR<RLRt ExceptionR(((sQ/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/html5parser.pyts6 j  7W