ó
    …~i7\  ã                   óœ  • S r S/rSSKJrJrJrJrJrJrJ	r	J
r
Jr  SSKJr  SSKJrJrJrJrJrJr  SSKrSSKJrJrJrJrJr  SSKJrJrJr  SSK r SS	K!J"r"  SS
KJ#r#J$r$J%r%J&r&  \	(       a  SSK'J(r(  SSK)J*r+   " S S\5      r, " S S\+RZ                  5      r. " S S\/5      r0 " S S\+Rb                  5      r2 " S S\25      r3 " S S\25      r4g)ÚMITÚHTML5TreeBuilderé    )	ÚAnyÚcastÚDictÚIterableÚOptionalÚSequenceÚTYPE_CHECKINGÚTupleÚUnion)Ú	TypeAlias)Ú_AttributeValueÚ_AttributeValuesÚ	_EncodingÚ
_EncodingsÚ_NamespaceURLÚ
_RawMarkupN)ÚDetectsXMLParsedAsHTMLÚ
PERMISSIVEÚHTMLÚHTML_5ÚHTMLTreeBuilder)ÚNamespacedAttributeÚPageElementÚnonwhitespace_re)Ú
namespaces)ÚCommentÚDoctypeÚNavigableStringÚTag©ÚBeautifulSoup)Úbasec                   óü   • \ rS rSr% SrSr\\S'   \\\	\
/r\\   \S'   Sr\\S'   S\S	'   \\   \S
'      SS\S
\\   S\\   S\\   S\\\\\   \\   \4      4
S jjrS\SS4S jrS\SS4S jrS\S\4S jrSrg)r   é;   a>  Use `html5lib <https://github.com/html5lib/html5lib-python>`_ to
build a tree.

Note that `HTML5TreeBuilder` does not support some common HTML
`TreeBuilder` features. Some of these features could theoretically
be implemented, but at the very least it's quite difficult,
because html5lib moves the parse tree around as it's being built.

Specifically:

* This `TreeBuilder` doesn't use different subclasses of
  `NavigableString` (e.g. `Script`) based on the name of the tag
  in which the string was found.
* You can't use a `SoupStrainer` to parse only part of a document.
Úhtml5libÚNAMEÚfeaturesTÚTRACKS_LINE_NUMBERSÚTreeBuilderForHtml5libÚunderlying_builderÚuser_specified_encodingNÚmarkupÚdocument_declared_encodingÚexclude_encodingsÚreturnc              #   ó¾   #   • X l         US4US44 H*  u  pVU(       d  M  [        R                  " SU SU S3SS9  M,     [        R                  " USS9  US S S4v •  g 7f)	Nr/   r0   zYou provided a value for z0, but the html5lib tree builder doesn't support Ú.é   ©Ú
stacklevelF)r-   ÚwarningsÚwarnr   Úwarn_if_markup_looks_like_xml)Úselfr.   r-   r/   r0   ÚvariableÚnames          ÚR/home/mande/repo/quber/.venv/lib/python3.13/site-packages/bs4/builder/_html5lib.pyÚprepare_markupÚHTML5TreeBuilder.prepare_markupW   s}   é € ð (?Ô$ð (Ð)EÐFØÐ 3Ð4ó
‰NˆH÷ ˆxÜ—’Ø/°¨vÐ5eÐfjÐekÐklÐmØ ôñ
ô 	×<Ò<¸VÐPQÒRà�t˜T 5Ð)Ó)ùs
   ‚AŸ>Ac                 ó8  • U R                   b,  U R                   R                  b  [        R                  " SSS9  [        R
                  " U R                  S9nU R                  c   eX R                  l        [        5       n[        U[        5      (       d  U R                  US'   UR                  " U40 UD6n[        U[        5      (       a  SUl        O5UR                  R                   R"                  S   nUR$                  nXTl        SU R                  l        g)zyRun some incoming markup through some parsing process,
populating the `BeautifulSoup` object in `HTML5TreeBuilder.soup`.
Nz‚You provided a value for parse_only, but the html5lib tree builder doesn't support parse_only. The entire document will be parsed.é   r5   )ÚtreeÚoverride_encodingr   )ÚsoupÚ
parse_onlyr7   r8   r'   Ú
HTMLParserÚcreate_treebuilderr,   ÚparserÚdictÚ
isinstanceÚstrr-   ÚparseÚoriginal_encodingÚ	tokenizerÚstreamÚcharEncodingr<   )r:   r.   rH   Úextra_kwargsÚdocrM   s         r=   ÚfeedÚHTML5TreeBuilder.feedu   sú   € ð �9‰9Ñ  T§Y¡Y×%9Ñ%9Ñ%EÜ�MŠMð UØòô ×$Ò$¨$×*AÑ*AÑBˆØ×&Ñ&Ñ2Ð2Ð2Ø)/×ÑÔ&Ü“vˆÜ˜&¤#×&Ñ&ð 15×0LÑ0LˆLÐ,Ñ-à�lŠl˜6Ñ2 \Ñ2ˆô �fœc×"Ñ"ð %)ˆCÕ!à &× 0Ñ 0× 7Ñ 7× DÑ DÀQÑ GÐð !2× 6Ñ 6ÐØ$5Ô!Ø)-ˆ×ÑÕ&ó    ÚnamespaceHTMLElementsc                 ó`   • [        XR                  U R                  S9U l        U R                  $ )z¨Called by html5lib to instantiate the kind of class it
calls a 'TreeBuilder'.

:param namespaceHTMLElements: Whether or not to namespace HTML elements.

:meta private:
)Ústore_line_numbers)r+   rD   rX   r,   )r:   rV   s     r=   rG   Ú#HTML5TreeBuilder.create_treebuilderš   s.   € ô #9Ø!§9¡9À×AXÑAXñ#
ˆÔð ×&Ñ&Ð&rU   Úfragmentc                 ó   • SU-  $ )zSee `TreeBuilder`.z)<html><head></head><body>%s</body></html>© )r:   rZ   s     r=   Útest_fragment_to_documentÚ*HTML5TreeBuilder.test_fragment_to_document©   s   € à:¸XÑEÐErU   )r,   r-   )NNN)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r(   rK   Ú__annotations__r   r   r   r)   r   r*   Úboolr	   r   r   r   r   r>   rS   rG   r]   Ú__static_attributes__r\   rU   r=   r   r   ;   só   ‡ ñð  €Dˆ#Óà# Z°¸Ð>€Hˆh�s‰mÓ>ð !%Ð˜Ó$à0Ó0Ø% iÑ0Ó0ð
 8<Ø:>Ø26ñ*àð*ð "*¨)Ñ!4ð*ð %-¨YÑ$7ð	*ð
 $ JÑ/ð*ð 
�%˜
 H¨YÑ$7¸À)Ñ9LÈdÐRÑSÑ	Tõ*ð<#.˜:ð #.¨$ô #.ðJ'Ø%)ð'à	!ô'ðF°#ð F¸#÷ FrU   c            	       óú   ^ • \ rS rSr% S\S'   \\R                     \S'     SS\S\S   S\S\	4U 4S	 jjjr
SS jrS\\\	4   S
S4S jrS\S\S
S4S jrS\S
S4S jrSS jrSS jrSS jrSS jrSS jrSrU =r$ )r+   é®   r#   rD   rH   NrV   rX   Úkwargsc                 óÂ   >• U(       a  X l         O0[        R                  " S[        SS9  SSKJn  U"  SSU0UD6U l         [        [        U ]#  U5        S U l	        X0l
        g )NaK  The optionality of the 'soup' argument to the TreeBuilderForHtml5lib constructor is deprecated as of Beautiful Soup 4.13.0: 'soup' is now required. If you can't pass in a BeautifulSoup object here, or you get this warning and it seems mysterious to you, please contact the Beautiful Soup developer team for possible un-deprecation.é   r5   r   r"   rX   )Ú zhtml.parser)rD   r7   r8   ÚDeprecationWarningÚbs4r#   Úsuperr+   Ú__init__rH   rX   )r:   rV   rD   rX   ri   r#   Ú	__class__s         €r=   rp   ÚTreeBuilderForHtml5lib.__init__²   sm   ø€ ö Ø�Iä�MŠMð ^Ü"Øòõ
 *ñ
 &Ø!ñØ6HðØLRñˆDŒIô 	Ô$ dÑ4Ð5JÔKð ˆŒØ"4ÕrU   r1   ÚElementc                 óx   • U R                   R                  5         [        U R                   U R                   S 5      $ ©N)rD   Úresetrs   ©r:   s    r=   ÚdocumentClassÚ$TreeBuilderForHtml5lib.documentClassÓ   s'   € Ø�	‰	�‰ÔÜ�t—y‘y $§)¡)¨TÓ2Ð2rU   Útokenc                 óö   • [        [        US   5      n[        [        [           US   5      n[        [        [           US   5      n[        R                  " X#U5      nU R
                  R                  U5        g )Nr<   ÚpublicIdÚsystemId)r   rK   r	   r   Úfor_name_and_idsrD   Úobject_was_parsed)r:   rz   r<   r|   r}   Údoctypes         r=   ÚinsertDoctypeÚ$TreeBuilderForHtml5lib.insertDoctype×   s`   € Üœ˜e F™mÓ,ˆÜ"&¤x´¡}°e¸JÑ6GÓ"HˆÜ"&¤x´¡}°e¸JÑ6GÓ"Hˆä×*Ò*¨4¸8ÓDˆØ�	‰	×#Ñ# GÕ,rU   r<   Ú	namespacec                 ó  • S nS nU R                   bK  U R                  (       a:  U R                   R                  R                  R	                  5       u  p4Uc   eUS-
  nU R
                  R                  XX4S9n[        XPR
                  U5      $ )Né   )Ú
sourcelineÚ	sourcepos)rH   rX   rN   rO   ÚpositionrD   Únew_tagrs   )r:   r<   rƒ   r†   r‡   Útags         r=   ÚelementClassÚ#TreeBuilderForHtml5lib.elementClassß   s‡   € Ø$(ˆ
Ø#'ˆ	Ø�;‰;Ñ" t×'>×'>ð %)§K¡K×$9Ñ$9×$@Ñ$@×$IÑ$IÓ$KÑ!ˆJØÑ(Ð(Ð(Ø! A™ˆIØ�i‰i×ÑØ¨
ð  ð 
ˆô �sŸI™I yÓ1Ð1rU   ÚdataÚTextNodec                 ó@   • [        [        U5      U R                  5      $ ru   )rŽ   r   rD   )r:   r�   s     r=   ÚcommentClassÚ#TreeBuilderForHtml5lib.commentClassï   s   € Üœ › t§y¡yÓ1Ð1rU   c                 ó   • [        5       e)zÔThis is only used by html5lib HTMLParser.parseFragment(),
which is never used by Beautiful Soup, only by the html5lib
unit tests. Since we don't currently hook into those tests,
the implementation is left blank.
©ÚNotImplementedErrorrw   s    r=   ÚfragmentClassÚ$TreeBuilderForHtml5lib.fragmentClassò   s   € ô "Ó#Ð#rU   c                 ó   • [        5       e©z€This is only used by the html5lib unit tests. Since we
don't currently hook into those tests, the implementation is
left blank.
r“   rw   s    r=   ÚgetFragmentÚ"TreeBuilderForHtml5lib.getFragmentú   ó   € ô
 "Ó#Ð#rU   c                 óN   • U R                   R                  UR                  5        g ru   )rD   ÚappendÚelement©r:   Únodes     r=   ÚappendChildÚ"TreeBuilderForHtml5lib.appendChild  s   € ð 	�	‰	×Ñ˜Ÿ™Õ&rU   c                 ó   • U R                   $ ru   )rD   rw   s    r=   ÚgetDocumentÚ"TreeBuilderForHtml5lib.getDocument
  s   € Ø�y‰yÐrU   c                 ó   • [        5       er˜   r“   rŸ   s     r=   ÚtestSerializerÚ%TreeBuilderForHtml5lib.testSerializer  r›   rU   )rH   rD   rX   )NT)r1   rs   ©r    rs   r1   N)r1   r#   )r_   r`   ra   rb   rd   r	   r'   rF   re   r   rp   rx   r   rK   r�   r‹   r�   r•   r™   r¡   r¤   r§   rf   Ú__classcell__)rq   s   @r=   r+   r+   ®   sÃ   ø‡ Ø
ÓØ�X×(Ñ(Ñ)Ó)ð
 +/Ø#'ñ	5à#ð5ð �Ñ'ð5ð !ð	5ð
 ÷5ð 5ôB3ð- 4¨¨S¨¡>ð -°dô -ð2 ð 2°ð 2¸ô 2ð 2 ð 2¨ô 2ô$ô$ô'ô÷$ò $rU   r+   c                   óÔ   • \ rS rSr% Sr\\S'   \\S'   S\4S jrS\	\
\\4      4S jrS\S	\SS
4S jrS\	\
\\4      4S jrS\	\   4S jrS\4S jrS\S\4S jrS\S\4S jrSrg
)ÚAttrListi  z@Represents a Tag's attributes in a way compatible with html5lib.rž   Úattrsc                 óX   • Xl         [        U R                   R                  5      U l        g ru   )rž   rI   r­   )r:   rž   s     r=   rp   ÚAttrList.__init__  s   € ØŒÜ˜$Ÿ,™,×,Ñ,Ó-ˆ�
rU   r1   c                 ód   • [        U R                  R                  5       5      R                  5       $ ru   )Úlistr­   ÚitemsÚ__iter__rw   s    r=   r³   ÚAttrList.__iter__  s#   € Ü�D—J‘J×$Ñ$Ó&Ó'×0Ñ0Ó2Ð2rU   r<   ÚvalueNc                 óÄ  • U R                   R                  =(       d    0 nXR                  S/ 5      ;   dC  U R                   R                  U;   a„  XR                  U R                   R                  / 5      ;   a[  [	        U[
        5      (       dF  [	        U[        5      (       d   eU R                   R                  [        R                  " U5      5      nX R                   U'   g )NÚ*)
rž   Úcdata_list_attributesÚgetr<   rJ   r±   rK   Úattribute_value_list_classr   Úfindall)r:   r<   rµ   Ú	list_attrs       r=   Ú__setitem__ÚAttrList.__setitem__"  s¨   € ð —L‘L×6Ñ6×<¸"ˆ	Ø—=‘=  bÓ)Ó)Ø�L‰L×Ñ Ó*ØŸ™ d§l¡l×&7Ñ&7¸Ó<Ó<ô ˜e¤T×*Ñ*Ü! %¬×-Ñ-Ð-Ð-ØŸ™×?Ñ?Ü$×,Ò,¨UÓ3ó�ð #�‰�TÒrU   c                 óH   • [        U R                  R                  5       5      $ ru   )r±   r­   r²   rw   s    r=   r²   ÚAttrList.items3  s   € Ü�D—J‘J×$Ñ$Ó&Ó'Ð'rU   c                 óH   • [        U R                  R                  5       5      $ ru   ©r±   r­   Úkeysrw   s    r=   rÃ   ÚAttrList.keys6  s   € Ü�D—J‘J—O‘OÓ%Ó&Ð&rU   c                 ó,   • [        U R                  5      $ ru   )Úlenr­   rw   s    r=   Ú__len__ÚAttrList.__len__9  s   € Ü�4—:‘:‹ÐrU   c                 ó    • U R                   U   $ ru   )r­   ©r:   r<   s     r=   Ú__getitem__ÚAttrList.__getitem__<  s   € Ø�z‰z˜$ÑÐrU   c                 óN   • U[        U R                  R                  5       5      ;   $ ru   rÂ   rÊ   s     r=   Ú__contains__ÚAttrList.__contains__?  s   € Ø”t˜DŸJ™JŸO™OÓ-Ó.Ñ.Ð.rU   )r­   rž   )r_   r`   ra   rb   rc   r!   rd   r   rp   r   r   rK   r   r³   r½   r²   rÃ   ÚintrÇ   rË   re   rÎ   rf   r\   rU   r=   r¬   r¬     s®   ‡ ÙJàƒLØÓð. ô .ð3˜( 5¨¨oÐ)=Ñ#>Ñ?ô 3ð# ð #¨Oð #Àô #ð"(�x  c¨?Ð&:Ñ ;Ñ<ô (ð'�h˜s‘mô 'ð˜ô ð  ð  ¨ô  ð/ ð /¨÷ /rU   r¬   c                   ó¢   • \ rS rSr% \\   \S'   \\   \S'   S\S'   \\   \S'   \	S\
4S j5       r\	S\4S	 j5       rS\R                  4S
 jrSrg)ÚBeautifulSoupNodeiC  rŠ   Ústringr#   rD   rƒ   r1   c                 ó¢   • U R                   c  U R                  c   eU R                   b  U R                   $ U R                  c   eU R                  $ ru   )rŠ   rÓ   rw   s    r=   rž   ÚBeautifulSoupNode.elementJ  sH   € à�x‰xÑ# t§{¡{Ñ'>Ð>Ð>Ø�8‰8ÑØ—8‘8ˆOà—;‘;Ñ*Ð*Ð*Ø—;‘;ÐrU   c                 ó   • [        5       e)zµReturn the html5lib constant corresponding to the type of
the underlying DOM object.

NOTE: This property is only accessed by the html5lib test
suite, not by Beautiful Soup proper.
r“   rw   s    r=   ÚnodeTypeÚBeautifulSoupNode.nodeTypeS  s   € ô "Ó#Ð#rU   c                 ó   • [        5       eru   r“   rw   s    r=   Ú	cloneNodeÚBeautifulSoupNode.cloneNode_  s   € Ü!Ó#Ð#rU   r\   N)r_   r`   ra   rb   r	   r!   rd   r    r   Úpropertyr   rž   rÐ   r×   Útreebuilder_baseÚNoderÚ   rf   r\   rU   r=   rÒ   rÒ   C  so   ‡ à	�#‰ÓØ�_Ñ%Ó%Ø
ÓØ˜Ñ&Ó&àð˜ó ó ðð ð$˜#ó $ó ð$ð$Ð+×0Ñ0÷ $rU   rÒ   c                   óh  • \ rS rSr% \\   \S'   S\SSS\\   4S jrSS
 jr	S\
4S jr\\\\\4   4   r\\S'   \\\4   r\\S'   S\\   SS	4S jr\" \\5      r SS\S\S   SS	4S jjr      SS jrSS jrSS jrS\4S jrS\R:                  4S jrS\\\   \4   4S jr\" \5      r Sr!g	)rs   ic  rƒ   rž   rD   r#   c                 óˆ   • Xl         S U l        X l        X0l        [        R
                  R                  XR                  5        g ru   )rŠ   rÓ   rD   rƒ   rÝ   rÞ   rp   r<   )r:   rž   rD   rƒ   s       r=   rp   ÚElement.__init__f  s2   € ð ŒØˆŒØŒ	Ø"ŒÜ×Ñ×&Ñ& t¯\©\Õ:rU   rÒ   r1   Nc                 ó  • S n[        UR                  5      [        L a  UR                  =p#OUR                  nXl        Ub<  UR                  b/  [        U[        5      (       d  UR                  R                  5         Ub©  U R                  bœ  U R                  R                  (       a�  [        U R                  R                  S   5      [        L aX  U R                  R                  S   nU R                  R                  XB-   5      nUR                  U5        XPR                  l        g [        U[        5      (       a  U R                  R                  U5      nU R                  b7  U R                  R                  (       a  U R                  R                  S5      nO>U R                  R                  b  U R                  R                  5       nOU R                  nU R                  R!                  X0R                  US9  g )NéÿÿÿÿF)ÚparentÚmost_recent_element)ÚtyperÓ   r    rž   rä   rJ   rK   ÚextractrŠ   ÚcontentsrD   Ú
new_stringÚreplace_withÚ_most_recent_elementÚ_last_descendantÚnext_elementr   )r:   r    Ústring_childÚchildÚold_elementÚnew_elementrå   s          r=   r¡   ÚElement.appendChildo  s‚  € Ø26ˆä�—‘Ó¤Ò/ð $(§;¡;Ð.ˆL˜5à—L‘LˆEØŒð ÑØ—‘Ñ(Ü˜u¤c×*Ñ*à�L‰L× Ñ Ô"ð Ñ$Ø—‘Ñ$¨¯©×):×):Ü�T—X‘X×&Ñ& rÑ*Ó+¬Ò>ð
 Ÿ(™(×+Ñ+¨BÑ/ˆKØŸ)™)×.Ñ.¨{Ñ/IÓJˆKØ×$Ñ$ [Ô1Ø-8�I‰IÕ*ä˜$¤×$Ñ$àŸ	™	×,Ñ,¨TÓ2�ð
 �x‰xÑ#¨¯©×(9×(9Ø&*§h¡h×&?Ñ&?ÀÓ&FÑ#Ø—‘×*Ñ*Ñ6ð
 '+§i¡i×&@Ñ&@Ó&BÑ#à&*§l¡lÐ#à�I‰I×'Ñ'ØŸh™hÐ<Oð (ò rU   c                 óJ   • U R                   c   e[        U R                   5      $ ru   )rŠ   r¬   rw   s    r=   ÚgetAttributesÚElement.getAttributes¤  s!   € Ø�x‰xÑ#Ð#Ð#Ü˜Ÿ™Ó!Ð!rU   Ú_Html5libAttributeNameÚ_Html5libAttributesÚ
attributesc                 ó  • U R                   c   eUb÷  [        U5      S:”  aç  [        UR                  5       5       H*  u  p#[	        U[
        5      (       d  M  [        U6 nX	 X1U'   M,     [        [        U5      nU R                  R                  R                  U R                  U5        [        UR                  5       5       H  u  p&X`R                   U'   M     U R                  R                  R                  U R                   5        g g g ©Nr   )rŠ   rÆ   r±   r²   rJ   Útupler   r   r   rD   ÚbuilderÚ$_replace_cdata_list_attribute_valuesr<   Úset_up_substitutions)r:   rø   r<   rµ   Únew_nameÚnormalized_attributesÚvalue_or_valuess          r=   ÚsetAttributesÚElement.setAttributes¯  sè   € Ø�x‰xÑ#Ð#Ð#ØÑ!¤c¨*£o¸Ó&9ô  $ J×$4Ñ$4Ó$6Ö7‘�Ü˜d¤E×*Ó*Ü2°DÐ9�HØ"Ð(Ø+0˜xÓ(ñ	  8ô %)Ô)9¸:Ó$FÐ!ð �I‰I×Ñ×BÑBØ—	‘	Ð0ôô *.Ð.C×.IÑ.IÓ.KÖ)LÑ%�Ø!0—‘˜“ñ *Mð �I‰I×Ñ×2Ñ2°4·8±8Õ<ð; ':Ð!rU   r�   ÚinsertBeforec                 ó¶   • [        U R                  R                  U5      U R                  5      nU(       a  U R                  X25        g U R	                  U5        g ru   )rŽ   rD   ré   r  r¡   )r:   r�   r  Útexts       r=   Ú
insertTextÚElement.insertTextÒ  sB   € ô ˜Ÿ	™	×,Ñ,¨TÓ2°D·I±IÓ>ˆÞØ×Ñ˜dÕ1à×Ñ˜TÕ"rU   c                 óZ  • U R                   c   eU R                   R                  UR                  5      n[        UR                  5      [        L a°  U R                   R
                  (       a•  [        U R                   R
                  US-
     5      [        L ai  U R                   R
                  US-
     n[        U5      [        L d   eU R                  R                  XAR                  -   5      nUR                  U5        g U R                   R                  X1R                  5        Xl
        g )Nr…   )rŠ   Úindexrž   ræ   r    rè   rD   ré   rê   Úinserträ   )r:   r    ÚrefNoder
  Úold_nodeÚnew_strs         r=   r  ÚElement.insertBeforeÛ  sÖ   € ð �x‰xÑ#Ð#Ð#Ø—‘—‘˜wŸ™Ó/ˆä�—‘Ó¤/Ò1Ø—‘×!×!Ü�T—X‘X×&Ñ& u¨q¡yÑ1Ó2´oÒEð —x‘x×(Ñ(¨°©Ñ3ˆHÜ˜“>¤_Ò4Ð4Ð4Ø—i‘i×*Ñ*¨8·l±lÑ+BÓCˆGØ×!Ñ! 'Õ*à�H‰H�O‰O˜E§<¡<Ô0Ø�KrU   c                 ó8   • UR                   R                  5         g ru   )rž   rç   rŸ   s     r=   ÚremoveChildÚElement.removeChildî  s   € Ø�‰×ÑÕrU   c                 ó€  • U R                   nUc   eUR                   nUc   eUR                  nUR                  SS5      n[        UR                  5      S:”  a!  Uc   eUR                  S   nUR
                  nOSnUR
                  nUR                  n[        U5      S:”  ad  US   n	Ub  XYl        OX9l        Xil        Ub  X•l        OX“l        Ub  X–l        US   R                  SSS9n
U
c   eUU
l        Ub  U
Ul        SU
l        U H$  nX;l        UR                  R                  U5        M&     / Ul        XBl        g)z1Move all of this tag's children into another tag.NFr   rã   T)Úis_initializedÚaccept_self)
rŠ   Únext_siblingrì   rÆ   rè   rí   Úprevious_elementÚprevious_siblingrä   r�   )r:   Ú	newParentrž   Únew_parent_elementÚfinal_next_elementÚnew_parents_last_descendantÚnew_parents_last_childÚ(new_parents_last_descendant_next_elementÚ	to_appendÚfirst_childÚlast_childs_last_descendantrï   s               r=   ÚreparentChildrenÚElement.reparentChildrenñ  sŒ  € ð —(‘(ˆØÑ"Ð"Ð"Ø&Ÿ]™]ÐØ!Ñ-Ð-Ð-ð %×1Ñ1Ðà&8×&IÑ&IÈ%ÐQVÓ&WÐ#ÜÐ!×*Ñ*Ó+¨aÓ/ð /Ñ:Ð:Ð:Ø%7×%@Ñ%@ÀÑ%DÐ"à+×8Ñ8ñ 5ð
 &*Ð"Ø7I×7VÑ7VÐ4à×$Ñ$ˆ	Üˆy‹>˜AÓð $ A™,ˆKØ*Ñ6Ø/JÕ,à/AÔ,Ø+AÔ(Ø*Ñ6Ø;FÕ8à2=Ô/Ø%Ñ1Ø6AÔ3ð +4°B©-×*HÑ*HØ$°$ð +Ið +Ð'ð /Ñ:Ð:Ð:à8ð (Ô4ð 8ÑCð 0ð 9ÔIð 8<Ð'Ô4ãˆEØ-ŒLØ×'Ñ'×.Ñ.¨uÖ5ñ ð
 ˆÔØ1ÕrU   c                 óp   • U R                   S L =(       d"    [        U R                   R                  5      S:„  $ rú   )rŠ   rÆ   rè   rw   s    r=   Ú
hasContentÚElement.hasContentG  s*   € Ø�x‰x˜4Ð×=¤3 t§x¡x×'8Ñ'8Ó#9¸AÑ#=Ð=rU   c                 ó  • U R                   c   eU R                  R                  U R                   R                  U R                  5      n[        XR                  U R                  5      nU R                   H  u  p4XBR                  U'   M     U$ ru   )rŠ   rD   r‰   r<   rƒ   rs   rø   )r:   rŠ   r    Úkeyrµ   s        r=   rÚ   ÚElement.cloneNodeL  si   € Ø�x‰xÑ#Ð#Ð#Ø�i‰i×Ñ §¡§¡¨t¯~©~Ó>ˆÜ�sŸI™I t§~¡~Ó6ˆØŸ/œ/‰JˆCØ#(�O‰O˜CÓ ñ *àˆrU   c                 óv   • U R                   c  [        S   U R                  4$ U R                   U R                  4$ )NÚhtml)rƒ   r   r<   rw   s    r=   ÚgetNameTupleÚElement.getNameTupleT  s3   € Ø�>‰>Ñ!Ü˜fÑ% t§y¡yÐ0Ð0à—>‘> 4§9¡9Ð,Ð,rU   )rƒ   rD   rÓ   rŠ   )r    rÒ   r1   Nru   )r    rÒ   r  rÒ   r1   Nr©   )r  rs   r1   N)"r_   r`   ra   rb   r	   r   rd   r!   rp   r¡   r¬   rô   r   rK   r   rö   r   r   r÷   r  rÜ   rø   r  r  r  r"  re   r%  rÝ   rÞ   rÚ   r,  Ú	nameTuplerf   r\   rU   r=   rs   rs   c  s9  ‡ Ø˜Ñ&Ó&ð;Øð;Ø"1ð;Ø>FÀ}Ñ>Uô;ô3ðj"˜xô "ð ).¨c°5¸¸c¸±?Ð.BÑ(CÐ˜IÓCð &*Ð*@À#Ð*EÑ%FÐ˜ÓFð=¨Ð1DÑ(Eð =È$ô =ñB ˜-¨Ó7€Jð HLñ#Øð#Ø'/Ð0CÑ'Dð#à	õ#ðØ'ðØ2Eðà	ôô&ôN2ðl>˜Dô >ð
Ð+×0Ñ0ô ð-˜e H¨]Ñ$;¸SÐ$@ÑAô -ñ ˜Ó&ƒIrU   rs   c                   ó&   • \ rS rSrS\SS4S jrSrg)rŽ   i]  rž   rD   r#   c                 ój   • [         R                  R                  U S 5        S U l        Xl        X l        g ru   )rÝ   rÞ   rp   rŠ   rÓ   rD   )r:   rž   rD   s      r=   rp   ÚTextNode.__init___  s)   € Ü×Ñ×&Ñ& t¨TÔ2ØˆŒØŒØ�	rU   )rD   rÓ   rŠ   N)r_   r`   ra   rb   r    rp   rf   r\   rU   r=   rŽ   rŽ   ]  s   † ð ð °÷ rU   rŽ   )5Ú__license__Ú__all__Útypingr   r   r   r   r	   r
   r   r   r   Útyping_extensionsr   Úbs4._typingr   r   r   r   r   r   r7   Úbs4.builderr   r   r   r   r   Úbs4.elementr   r   r   r'   Úhtml5lib.constantsr   r   r   r    r!   rn   r#   Úhtml5lib.treebuildersr$   rÝ   r   ÚTreeBuilderr+   Úobjectr¬   rÞ   rÒ   rs   rŽ   r\   rU   r=   Ú<module>r=     sÑ   ðà€ð ð€÷
÷ 
õ 
õ (÷÷ ó ÷õ ÷ñ ó
 õ÷ó ö Ý!å :ôpF�ô pFôfd$Ð-×9Ñ9ô d$ôN+/ˆvô +/ô\$Ð(×-Ñ-ô $ô@w'Ðô w'ôtÐ õ rU   