+
    ` Àj7\  ã                   ó   € R t R.t^ RIHtHtHtHtHtHtH	t	H
t
Ht ^ RIHt ^ RIHtHtHtHtHtHt ^ RIt^ RIHtHtHtHtHt ^ RIHtHtHt ^ RI t ^ RI!H"t" ^ R	IH#t#H$t$H%t%H&t& ]	'       d   ^ R
I'H(t( ^ RI)H*t+  ! R R]4      t, ! R R]+PZ                  4      t. ! R R]/4      t0 ! R R]+Pb                  4      t2 ! R R]24      t3 ! R R]24      t4R# )Ú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                   ó�   a € ] tR t^;t o RtRt]]]].t	Rt
RV 3R lR lltV 3R lR ltV 3R	 lR
 ltV 3R lR ltV 3R ltRtV tR# )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.
Úhtml5libTNc                ó¶   <€ V ^8„  d   QhRS[ RS[S[,          RS[S[,          RS[S[,          RS[S[S[ S[S[,          S[S[,          S[3,          ,          /# )é   ÚmarkupÚuser_specified_encodingÚdocument_declared_encodingÚexclude_encodingsÚreturn)r   r   r   r   r   r   Úbool)ÚformatÚ__classdict__s   "€Úi/var/www/html/mycamper/aliexpress-site/backend/venv/lib/python3.14/site-packages/bs4/builder/_html5lib.pyÚ__annotate__ÚHTML5TreeBuilder.__annotate__W   si   ø€ ÷ *ñ *áð*ñ "*©)Õ!4ð*ñ %-©YÕ$7ð	*ñ
 $¡JÕ/ð*ñ 
‘%™
¡H©YÕ$7¹Á)Õ9LÉdÐRÕSÕ	Tñ*ó    c              #  óÎ   "  € W n         VR 3VR33 F.  w  rVV'       g   K  \        P                  ! RV RV R2^R7       K0  	  \        P                  ! V^R7       VRRR3x € R# 5i)r*   r+   zYou provided a value for z0, but the html5lib tree builder doesn't support Ú.©Ú
stacklevelNF)r)   ÚwarningsÚwarnr   Úwarn_if_markup_looks_like_xml)Úselfr(   r)   r*   r+   ÚvariableÚnames   &&&&&  r0   Ú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A%c                ó$   <€ V ^8„  d   QhRS[ RR/# )r'   r(   r,   N)r   )r.   r/   s   "€r0   r1   r2   u   s   ø€ ÷ #.ñ #.™:ð #.¨$ñ #.r3   c                óX  € V P                   e1   V P                   P                  e   \        P                  ! R^R7       \        P
                  ! V P                  R7      pV P                  f   Q hW P                  n        \        4       p\        V\        4      '       g   V P                  VR&   VP                  ! V3/ VB p\        V\        4      '       d	   RVn        M9VP                  P                   P"                  ^ ,          pVP$                  pWTn        RV P                  n        R# )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.r6   )ÚtreeÚoverride_encoding)ÚsoupÚ
parse_onlyr8   r9   r%   Ú
HTMLParserÚcreate_treebuilderÚunderlying_builderÚparserÚdictÚ
isinstanceÚstrr)   ÚparseÚoriginal_encodingÚ	tokenizerÚstreamÚcharEncodingr=   )r;   r(   rI   Úextra_kwargsÚdocrN   s   &&    r0   Ú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Ô!Ø)-ˆ×ÑÖ&r3   c                ó$   <€ V ^8„  d   QhRS[ RR/# )r'   ÚnamespaceHTMLElementsr,   ÚTreeBuilderForHtml5lib©r-   )r.   r/   s   "€r0   r1   r2   š   s   ø€ ÷ 'ñ 'Ù%)ð'à	!ñ'r3   c                óf   € \        WP                  V P                  R7      V n        V P                  # )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)rX   rD   r[   rH   )r;   rW   s   &&r0   rG   Ú#HTML5TreeBuilder.create_treebuilderš   s.   € ô #9Ø!§9¡9À×AXÑAXô#
ˆÔð ×&Ñ&Ð&r3   c                ó&   <€ V ^8„  d   QhRS[ RS[ /# )r'   Úfragmentr,   ©rL   )r.   r/   s   "€r0   r1   r2   ©   s   ø€ ÷ Fñ F±#ð F¹#ñ Fr3   c                ó   € RV,          # )zSee `TreeBuilder`.z)<html><head></head><body>%s</body></html>© )r;   r^   s   &&r0   Útest_fragment_to_documentÚ*HTML5TreeBuilder.test_fragment_to_document©   s   € à:¸XÕEÐEr3   c                ót   <€ V ^8„  d   Qh/ S[ ;R&   S[S[ ,          ;R&   S[;R&   R;R&   S[S[,          ;R&   # )r'   ÚNAMEÚfeaturesÚTRACKS_LINE_NUMBERSrX   rH   r)   )rL   r   r-   r   r   )r.   r/   s   "€r0   r1   r2   ;   sO   ø‡ ‚ ñ" Ññ# ñ& ‘s�mÑ>ñ' ñ. Ñ$ñ/ ð2 1Ñ0ñ3 ñ4 &¡iÕ0Ñ0ò5 r3   )rH   r)   )NNN)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__re   r   r   r   rf   rg   r>   rT   rG   rb   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__©r/   s   @r0   r   r   ;   sZ   ø‡ € ñð  €Dà# Z°¸Ð>€Hð !%Ð÷
*ò *÷<#.ð #.÷J'ð '÷Fð F÷] ƒ r3   c                   óð   a a€ ] tR t^®t oRV3R lV 3R llltV3R lR ltV3R lR ltV3R lR ltV3R	 lR
 ltV3R lR lt	V3R lR lt
V3R lR ltV3R lR ltV3R lR ltV3R ltRtVtV ;t# )rX   c                ó@   <€ V ^8„  d   QhRS[ RS[R,          RS[ RS[/# )r'   rW   rD   r"   r[   Úkwargs)r-   r   r   )r.   r/   s   "€r0   r1   Ú#TreeBuilderForHtml5lib.__annotate__²   s8   ø€ ÷ 5ñ 5á#ð5ñ �Õ'ð5ñ !ð	5ñ
 ñ5r3   c                óÊ   <€ V'       d   W n         M2\        P                  ! R \        ^R7       ^ RIHp V! RRV/VB V n         \        \        V `#  V4       RV n	        W0n
        R# )aK  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.r6   r!   r[   N)Ú zhtml.parser)rD   r8   r9   ÚDeprecationWarningÚbs4r"   ÚsuperrX   Ú__init__rI   r[   )r;   rW   rD   r[   rs   r"   Ú	__class__s   &&&&, €r0   rz   ÚTreeBuilderForHtml5lib.__init__²   sj   ø€ ÷ Ø�Iä�MŠMð ^Ü"Øõõ
 *ñ
 &ñ Ø6HðØLRñˆDŒIô 	Ô$ dÑ4Ð5JÔKð ˆŒØ"4Ör3   c                ó   <€ V ^8„  d   QhRR/# ©r'   r,   ÚElementra   )r.   r/   s   "€r0   r1   rt   Ó   s   ø€ ÷ 3ñ 3˜yñ 3r3   c                óx   € V P                   P                  4        \        V P                   V P                   R 4      # ©N)rD   Úresetr   ©r;   s   &r0   ÚdocumentClassÚ$TreeBuilderForHtml5lib.documentClassÓ   s'   € Ø�	‰	�‰ÔÜ�t—y‘y $§)¡)¨TÓ2Ð2r3   c                ó:   <€ V ^8„  d   QhRS[ S[S[3,          RR/# )r'   Útokenr,   N)r   rL   r   )r.   r/   s   "€r0   r1   rt   ×   s#   ø€ ÷ -ñ -¡4©©S¨¥>ð -°dñ -r3   c                ó   € \        \        VR ,          4      p\        \        \        ,          VR,          4      p\        \        \        ,          VR,          4      p\        P                  ! W#V4      pV P
                  P                  V4       R# )r=   ÚpublicIdÚsystemIdN)r   rL   r   r   Úfor_name_and_idsrD   Úobject_was_parsed)r;   r‡   r=   r‰   rŠ   Údoctypes   &&    r0   ÚinsertDoctypeÚ$TreeBuilderForHtml5lib.insertDoctype×   s`   € Üœ˜e F�mÓ,ˆÜ"&¤x´¥}°e¸JÕ6GÓ"HˆÜ"&¤x´¥}°e¸JÕ6GÓ"Hˆä×*Ò*¨4¸8ÓDˆØ�	‰	×#Ñ# GÖ,r3   c                ó*   <€ V ^8„  d   QhRS[ RS[ RR/# )r'   r=   Ú	namespacer,   r   r_   )r.   r/   s   "€r0   r1   rt   ß   s"   ø€ ÷ 2ñ 2¡ð 2±ð 2¸ñ 2r3   c                ó.  € R pR pV P                   eR   V P                  '       d@   V P                   P                  P                  P	                  4       w  r4Vf   Q hV^,
          pV P
                  P                  WW4R7      p\        WPP
                  V4      # )N)Ú
sourcelineÚ	sourcepos)rI   r[   rO   rP   ÚpositionrD   Únew_tagr   )r;   r=   r‘   r“   r”   Útags   &&&   r0   ÚelementClassÚ#TreeBuilderForHtml5lib.elementClassß   sŠ   € Ø$(ˆ
Ø#'ˆ	Ø�;‰;Ò" t×'>×'>Ð'>ð %)§K¡K×$9Ñ$9×$@Ñ$@×$IÑ$IÓ$KÑ!ˆJØÒ(Ð(Ð(Ø! A�ˆIØ�i‰i×ÑØ¨
ð  ó 
ˆô �sŸI™I yÓ1Ð1r3   c                ó$   <€ V ^8„  d   QhRS[ RR/# )r'   Údatar,   ÚTextNoder_   )r.   r/   s   "€r0   r1   rt   ï   s   ø€ ÷ 2ñ 2¡ð 2¨ñ 2r3   c                ó@   € \        \        V4      V P                  4      # r�   )rœ   r   rD   )r;   r›   s   &&r0   ÚcommentClassÚ#TreeBuilderForHtml5lib.commentClassï   s   € Üœ › t§y¡yÓ1Ð1r3   c                ó   <€ V ^8„  d   QhRR/# r~   ra   )r.   r/   s   "€r0   r1   rt   ò   s   ø€ ÷ $ñ $˜yñ $r3   c                ó   € \        4       h)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.
©ÚNotImplementedErrorrƒ   s   &r0   ÚfragmentClassÚ$TreeBuilderForHtml5lib.fragmentClassò   s   € ô "Ó#Ð#r3   c                ó   <€ V ^8„  d   QhRR/# r~   ra   )r.   r/   s   "€r0   r1   rt   ú   s   ø€ ÷ $ñ $˜Yñ $r3   c                ó   € \        4       h©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¢   rƒ   s   &r0   ÚgetFragmentÚ"TreeBuilderForHtml5lib.getFragmentú   ó   € ô
 "Ó#Ð#r3   c                ó"   <€ V ^8„  d   QhRRRR/# ©r'   Únoder   r,   Nra   )r.   r/   s   "€r0   r1   rt     s   ø€ ÷ 'ñ ' 	ð '¨dñ 'r3   c                óP   € V P                   P                  VP                  4       R # r�   )rD   ÚappendÚelement©r;   r®   s   &&r0   ÚappendChildÚ"TreeBuilderForHtml5lib.appendChild  s   € ð 	�	‰	×Ñ˜Ÿ™Ö&r3   c                ó   <€ V ^8„  d   QhRR/# )r'   r,   r"   ra   )r.   r/   s   "€r0   r1   rt   
  s   ø€ ÷ ñ ˜_ñ r3   c                ó   € V P                   # r�   )rD   rƒ   s   &r0   ÚgetDocumentÚ"TreeBuilderForHtml5lib.getDocument
  s   € Ø�y‰yÐr3   c                ó"   <€ V ^8„  d   QhRRRR/# r­   ra   )r.   r/   s   "€r0   r1   rt     s   ø€ ÷ $ñ $ 9ð $°ñ $r3   c                ó   € \        4       hr¨   r¢   r²   s   &&r0   ÚtestSerializerÚ%TreeBuilderForHtml5lib.testSerializer  r«   r3   c                óT   <€ V ^8„  d   Qh/ R;R&   S[ S[P                  ,          ;R&   # )r'   r"   rD   rI   )r   r%   rF   )r.   r/   s   "€r0   r1   rt   ®   s&   ø‡ ‚ Ø
Ññ á‘X×(Ñ(Õ)Ñ)ò r3   )rI   rD   r[   )NT)rh   ri   rj   rk   rz   r„   rŽ   r˜   rž   r¤   r©   r³   r·   r»   rm   rn   ro   Ú__classcell__)r{   r/   s   @@r0   rX   rX   ®   sr   ù‡ € ÷5õ 5÷B3ð 3÷-ð -÷2ð 2÷ 2ð 2÷$ð $÷$ð $÷'ð '÷ð ÷$ð $÷ … r3   rX   c                   óÀ   a € ] tR tRt o RtV 3R lR ltV 3R lR ltV 3R lR ltV 3R	 lR
 ltV 3R lR lt	V 3R lR lt
V 3R lR ltV 3R lR ltV 3R ltRtV tR# )ÚAttrListi  z@Represents a Tag's attributes in a way compatible with html5lib.c                ó    <€ V ^8„  d   QhRS[ /# )r'   r±   )r    )r.   r/   s   "€r0   r1   ÚAttrList.__annotate__  s   ø€ ÷ .ñ .¡ñ .r3   c                óZ   € Wn         \        V P                   P                  4      V n        R # r�   )r±   rJ   Úattrs)r;   r±   s   &&r0   rz   ÚAttrList.__init__  s   € ØŒÜ˜$Ÿ,™,×,Ñ,Ó-ˆŽ
r3   c                óF   <€ V ^8„  d   QhRS[ S[S[S[3,          ,          /# ©r'   r,   ©r   r   rL   r   )r.   r/   s   "€r0   r1   rÂ     s#   ø€ ÷ 3ñ 3™(¡5©©oÐ)=Õ#>Õ?ñ 3r3   c                ód   € \        V P                  P                  4       4      P                  4       # r�   )ÚlistrÄ   ÚitemsÚ__iter__rƒ   s   &r0   rÌ   ÚAttrList.__iter__  s#   € Ü�D—J‘J×$Ñ$Ó&Ó'×0Ñ0Ó2Ð2r3   c                ó*   <€ V ^8„  d   QhRS[ RS[RR/# )r'   r=   Úvaluer,   N©rL   r   )r.   r/   s   "€r0   r1   rÂ   "  s"   ø€ ÷ #ñ #¡ð #©Oð #Àñ #r3   c                óÒ  € V P                   P                  ;'       g    / pWP                  R . 4      9   gF   V P                   P                  V9   dˆ   WP                  V P                   P                  . 4      9   d^   \	        V\
        4      '       gH   \	        V\        4      '       g   Q hV P                   P                  \        P                  ! V4      4      pW P                   V&   R# )Ú*N)
r±   Úcdata_list_attributesÚgetr=   rK   rÊ   rL   Úattribute_value_list_classr   Úfindall)r;   r=   rÏ   Ú	list_attrs   &&& r0   Ú__setitem__ÚAttrList.__setitem__"  s«   € ð —L‘L×6Ñ6×<Ð<¸"ˆ	Ø—=‘=  bÓ)Ô)Ø�L‰L×Ñ Ô*ØŸ™ d§l¡l×&7Ñ&7¸Ó<Ô<ô ˜e¤T×*Ò*Ü! %¬×-Ò-Ð-Ð-ØŸ™×?Ñ?Ü$×,Ò,¨UÓ3ó�ð #�‰�TÓr3   c                óF   <€ V ^8„  d   QhRS[ S[S[S[3,          ,          /# rÇ   rÈ   )r.   r/   s   "€r0   r1   rÂ   3  s#   ø€ ÷ (ñ (‘x¡¡c©?Ð&:Õ ;Õ<ñ (r3   c                óH   € \        V P                  P                  4       4      # r�   )rÊ   rÄ   rË   rƒ   s   &r0   rË   ÚAttrList.items3  s   € Ü�D—J‘J×$Ñ$Ó&Ó'Ð'r3   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# rÇ   )r   rL   )r.   r/   s   "€r0   r1   rÂ   6  s   ø€ ÷ 'ñ '‘h™s•mñ 'r3   c                óH   € \        V P                  P                  4       4      # r�   ©rÊ   rÄ   Úkeysrƒ   s   &r0   rà   ÚAttrList.keys6  s   € Ü�D—J‘J—O‘OÓ%Ó&Ð&r3   c                ó    <€ V ^8„  d   QhRS[ /# rÇ   ©Úint)r.   r/   s   "€r0   r1   rÂ   9  s   ø€ ÷ ñ ™ñ r3   c                ó,   € \        V P                  4      # r�   )ÚlenrÄ   rƒ   s   &r0   Ú__len__ÚAttrList.__len__9  s   € Ü�4—:‘:‹Ðr3   c                ó&   <€ V ^8„  d   QhRS[ RS[/# ©r'   r=   r,   rÐ   )r.   r/   s   "€r0   r1   rÂ   <  s   ø€ ÷  ñ  ¡ð  ©ñ  r3   c                ó(   € V P                   V,          # r�   )rÄ   ©r;   r=   s   &&r0   Ú__getitem__ÚAttrList.__getitem__<  s   € Ø�z‰z˜$ÕÐr3   c                ó&   <€ V ^8„  d   QhRS[ RS[/# rê   )rL   r-   )r.   r/   s   "€r0   r1   rÂ   ?  s   ø€ ÷ /ñ /¡ð /©ñ /r3   c                óN   € V\        V P                  P                  4       4      9   # r�   rß   rì   s   &&r0   Ú__contains__ÚAttrList.__contains__?  s   € Ø”t˜DŸJ™JŸO™OÓ-Ó.Ñ.Ð.r3   c                ó2   <€ V ^8„  d   Qh/ S[ ;R&   S[;R&   # )r'   r±   rÄ   )r    r   )r.   r/   s   "€r0   r1   rÂ     s   ø‡ ‚ ñ �Lñ ñ Ñò	 r3   )rÄ   r±   N)rh   ri   rj   rk   rl   rz   rÌ   rØ   rË   rà   rç   rí   rñ   rm   rn   ro   rp   s   @r0   rÀ   rÀ     s`   ø‡ € ÙJ÷
.ð .÷3ð 3÷#ð #÷"(ð (÷'ð '÷ð ÷ ð  ÷/ð /÷U ƒ r3   rÀ   c                   óv   a € ] tR tRt o ]V 3R lR l4       t]V 3R lR l4       tV 3R lR ltV 3R ltR	t	V t
R
# )ÚBeautifulSoupNodeiC  c                ó    <€ V ^8„  d   QhRS[ /# rÇ   )r   )r.   r/   s   "€r0   r1   ÚBeautifulSoupNode.__annotate__K  s   ø€ ÷ ñ ™ñ r3   c                óª   € V P                   f   V P                  f   Q hV P                   e   V P                   # V P                  f   Q hV P                  # r�   )r—   Ústringrƒ   s   &r0   r±   ÚBeautifulSoupNode.elementJ  sH   € à�x‰xÒ# t§{¡{Ò'>Ð>Ð>Ø�8‰8ÒØ—8‘8ˆOà—;‘;Ò*Ð*Ð*Ø—;‘;Ðr3   c                ó    <€ V ^8„  d   QhRS[ /# rÇ   rã   )r.   r/   s   "€r0   r1   r÷   T  s   ø€ ÷ $ñ $™#ñ $r3   c                ó   € \        4       h)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¢   rƒ   s   &r0   ÚnodeTypeÚBeautifulSoupNode.nodeTypeS  s   € ô "Ó#Ð#r3   c                ó4   <€ V ^8„  d   QhRS[ P                  /# rÇ   ©Útreebuilder_baseÚNode)r.   r/   s   "€r0   r1   r÷   _  s   ø€ ÷ $ñ $Ñ+×0Ñ0ñ $r3   c                ó   € \        4       hr�   r¢   rƒ   s   &r0   Ú	cloneNodeÚBeautifulSoupNode.cloneNode_  s   € Ü!Ó#Ð#r3   c                óx   <€ V ^8„  d   Qh/ S[ S[,          ;R&   S[ S[,          ;R&   R;R&   S[ S[,          ;R&   # )r'   r—   rù   r"   rD   r‘   )r   r    r   r   )r.   r/   s   "€r0   r1   r÷   C  sE   ø‡ ‚ á	‘#�Ññ ñ ‘_Õ%Ñ%ñ ð Ññ	 ñ
 ™Õ&Ñ&ò r3   ra   N)rh   ri   rj   rk   Úpropertyr±   rý   r  rm   rn   ro   rp   s   @r0   rõ   rõ   C  s>   ø‡ € ð ÷ó ðð ÷$ó ð$÷$ð $÷9 ƒ r3   rõ   c                   óV  a € ] tR tRt o V 3R lR ltV 3R lR ltV 3R lR lt]]]	]]3,          3,          t
]]
]3,          tV 3R lR	 lt]! ]]4      tRV 3R lR lltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR lt]! ]4      tV 3R ltRtV tR
# )r   ic  c                ó:   <€ V ^8„  d   QhRS[ RRRS[S[,          /# )r'   r±   rD   r"   r‘   )r    r   r   )r.   r/   s   "€r0   r1   ÚElement.__annotate__f  s*   ø€ ÷ ;ñ ;Ùð;Ø"1ð;Ù>FÁ}Õ>Uñ;r3   c                óŠ   € Wn         R V n        W n        W0n        \        P
                  P                  WP                  4       R # r�   )r—   rù   rD   r‘   r  r  rz   r=   )r;   r±   rD   r‘   s   &&&&r0   rz   ÚElement.__init__f  s2   € ð ŒØˆŒØŒ	Ø"ŒÜ×Ñ×&Ñ& t¯\©\Ö:r3   c                ó"   <€ V ^8„  d   QhRRRR/# )r'   r®   rõ   r,   Nra   )r.   r/   s   "€r0   r1   r
  o  s   ø€ ÷ 3ñ 3Ð 3ð 3¸ñ 3r3   c                ó<  € R p\        VP                  4      \        J d   VP                  ;r#MVP                  pWn        Ve?   VP                  e1   \        V\        4      '       g   VP                  P                  4        Veº   V P                  e¬   V P                  P                  '       d�   \        V P                  P                  R,          4      \        J db   V P                  P                  R,          pV P                  P                  WB,           4      pVP                  V4       WPP                  n        R # \        V\        4      '       d   V P                  P                  V4      pV P                  e9   V P                  P                  '       d   V P                  P                  R4      pM?V P                  P                  e   V P                  P                  4       pMV P                  pV P                  P!                  W0P                  VR7       R # )NF)ÚparentÚmost_recent_elementéÿÿÿÿ)Útyperù   r   r±   r  rK   rL   Úextractr—   ÚcontentsrD   Ú
new_stringÚreplace_withÚ_most_recent_elementÚ_last_descendantÚnext_elementrŒ   )r;   r®   Ústring_childÚchildÚold_elementÚnew_elementr  s   &&     r0   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Ð(9Ø&*§h¡h×&?Ñ&?ÀÓ&FÑ#Ø—‘×*Ñ*Ò6ð
 '+§i¡i×&@Ñ&@Ó&BÑ#à&*§l¡lÐ#à�I‰I×'Ñ'ØŸh™hÐ<Oð (ö r3   c                ó    <€ V ^8„  d   QhRS[ /# rÇ   )rÀ   )r.   r/   s   "€r0   r1   r
  ¤  s   ø€ ÷ "ñ "™xñ "r3   c                óL   € V P                   f   Q h\        V P                   4      # r�   )r—   rÀ   rƒ   s   &r0   ÚgetAttributesÚElement.getAttributes¤  s!   € Ø�x‰xÒ#Ð#Ð#Ü˜Ÿ™Ó!Ð!r3   c                ó4   <€ V ^8„  d   QhRS[ S[,          RR/# )r'   Ú
attributesr,   N)r   Ú_Html5libAttributes)r.   r/   s   "€r0   r1   r
  ¯  s!   ø€ ÷ =ñ =©Ñ1DÕ(Eð =È$ñ =r3   c                ó&  € V P                   f   Q hVeý   \        V4      ^ 8”  dë   \        VP                  4       4       F,  w  r#\	        V\
        4      '       g   K  \        V!  pW W1V&   K.  	  \        \        V4      pV P                  P                  P                  V P                  V4       \        VP                  4       4       F  w  r&W`P                   V&   K  	  V P                  P                  P                  V P                   4       R # R # R # r�   )r—   ræ   rÊ   rË   rK   Útupler   r   r   rD   ÚbuilderÚ$_replace_cdata_list_attribute_valuesr=   Úset_up_substitutions)r;   r$  r=   rÏ   Únew_nameÚnormalized_attributesÚvalue_or_valuess   &&     r0   Ú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Ö<ñ; ':Ñ!r3   Nc                ó8   <€ V ^8„  d   QhRS[ RS[R,          RR/# )r'   r›   ÚinsertBeforerõ   r,   N)rL   r   )r.   r/   s   "€r0   r1   r
  Ò  s+   ø€ ÷ #ñ #Ùð#Ù'/Ð0CÕ'Dð#à	ñ#r3   c                ó¼   € \        V P                  P                  V4      V P                  4      pV'       d   V P                  W24       R # V P	                  V4       R # r�   )rœ   rD   r  r1  r³   )r;   r›   r1  Útexts   &&& r0   Ú
insertTextÚElement.insertTextÒ  sB   € ô ˜Ÿ	™	×,Ñ,¨TÓ2°D·I±IÓ>ˆßØ×Ñ˜dÖ1à×Ñ˜TÖ"r3   c                ó&   <€ V ^8„  d   QhRRRRRR/# )r'   r®   rõ   ÚrefNoder,   Nra   )r.   r/   s   "€r0   r1   r
  Û  s%   ø€ ÷ ñ Ø'ðØ2Eðà	ñr3   c                ó�  € V P                   f   Q hV P                   P                  VP                  4      p\        VP                  4      \        J dÉ   V P                   P
                  '       d­   \        V P                   P
                  V^,
          ,          4      \        J dx   V P                   P
                  V^,
          ,          p\        V4      \        J g   Q hV P                  P                  WAP                  ,           4      pVP                  V4       R # V P                   P                  W1P                  4       Wn
        R # r�   )r—   Úindexr±   r  r   r  rD   r  r  Úinsertr  )r;   r®   r7  r9  Úold_nodeÚnew_strs   &&&   r0   r1  Ú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ØŽKr3   c                ó"   <€ V ^8„  d   QhRRRR/# r­   ra   )r.   r/   s   "€r0   r1   r
  î  s   ø€ ÷ ñ  	ð ¨dñ r3   c                ó:   € VP                   P                  4        R # r�   )r±   r  r²   s   &&r0   ÚremoveChildÚElement.removeChildî  s   € Ø�‰×ÑÖr3   c                ó"   <€ V ^8„  d   QhRRRR/# )r'   Ú	newParentr   r,   Nra   )r.   r/   s   "€r0   r1   r
  ñ  s   ø€ ÷ N2ñ N2¨)ð N2¸ñ N2r3   c                ó´  € V P                   pVf   Q hVP                   pVf   Q hVP                  pVP                  RR4      p\        VP                  4      ^ 8”  d'   Vf   Q hVP                  R,          pVP
                  pMRpVP
                  pVP                  p\        V4      ^ 8”  du   V^ ,          p	Ve   WYn        MW9n        Win        Ve   W•n        MW“n        Ve   W–n        VR,          P                  RRR7      p
V
f   Q hVV
n        Ve   V
Vn        RV
n        V F$  pW;n        VP                  P                  V4       K&  	  . Vn        WBn        R# )z1Move all of this tag's children into another tag.NFT)Úis_initializedÚaccept_selfr  )
r—   Únext_siblingr  ræ   r  r  Úprevious_elementÚprevious_siblingr  r°   )r;   rC  r±   Ú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   &&          r0   Ú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Ör3   c                ó    <€ V ^8„  d   QhRS[ /# rÇ   rY   )r.   r/   s   "€r0   r1   r
  G  s   ø€ ÷ >ñ >™Dñ >r3   c                ór   € V P                   R J ;'       g#    \        V P                   P                  4      ^ 8„  # r�   )r—   ræ   r  rƒ   s   &r0   Ú
hasContentÚElement.hasContentG  s-   € Ø�x‰x˜4Ð×=Ð=¤3 t§x¡x×'8Ñ'8Ó#9¸AÑ#=Ð=r3   c                ó4   <€ V ^8„  d   QhRS[ P                  /# rÇ   r   )r.   r/   s   "€r0   r1   r
  L  s   ø€ ÷ ñ Ñ+×0Ñ0ñ r3   c                ó   € V P                   f   Q hV P                  P                  V P                   P                  V P                  4      p\        WP                  V P                  4      pV P                   F  w  r4WBP                  V&   K  	  V# r�   )r—   rD   r–   r=   r‘   r   r$  )r;   r—   r®   ÚkeyrÏ   s   &    r0   r  ÚElement.cloneNodeL  si   € Ø�x‰xÒ#Ð#Ð#Ø�i‰i×Ñ §¡§¡¨t¯~©~Ó>ˆÜ�sŸI™I t§~¡~Ó6ˆØŸ/œ/‰JˆCØ#(�O‰O˜CÓ ñ *àˆr3   c                óF   <€ V ^8„  d   QhRS[ S[S[,          S[3,          /# rÇ   )r   r   r   rL   )r.   r/   s   "€r0   r1   r
  T  s#   ø€ ÷ -ñ -™e¡H©]Õ$;¹SÐ$@ÕAñ -r3   c                ó€   € V P                   f   \        R,          V P                  3# V P                   V P                  3# )NÚhtml)r‘   r   r=   rƒ   s   &r0   ÚgetNameTupleÚElement.getNameTupleT  s3   € Ø�>‰>Ò!Ü˜fÕ% t§y¡yÐ0Ð0à—>‘> 4§9¡9Ð,Ð,r3   c                óN   <€ V ^8„  d   Qh/ S[ S[,          ;R&   S[;R&   S[;R&   # )r'   r‘   Ú_Html5libAttributeNamer%  )r   r   r   )r.   r/   s   "€r0   r1   r
  c  s3   ø‡ ‚ Ù™Õ&Ñ&ñ ñN &ÑCñO ñT #ÑFòU r3   )r‘   rD   rù   r—   r�   )rh   ri   rj   rk   rz   r³   r!  r   rL   r   rb  r   r%  r.  r  r$  r4  r1  r@  rR  rV  r  r_  Ú	nameTuplerm   rn   ro   rp   s   @r0   r   r   c  sÇ   ø‡ € ÷;ð ;÷3ð 3÷j"ð "ð ).¨c°5¸¸c¸µ?Ð.BÕ(CÐð &*Ð*@À#Ð*EÕ%FÐ÷=ð =ñB ˜-¨Ó7€J÷#ò #÷ð ÷&ð ÷N2ð N2÷l>ð >÷
ð ÷-ð -ñ ˜Ó&€I÷o ƒ r3   r   c                   ó2   a € ] tR tRt o V 3R lR ltRtV tR# )rœ   i]  c                ó$   <€ V ^8„  d   QhRS[ RR/# )r'   r±   rD   r"   )r   )r.   r/   s   "€r0   r1   ÚTextNode.__annotate___  s   ø€ ÷ ñ ¡ð °ñ r3   c                ól   € \         P                  P                  V R 4       R V n        Wn        W n        R # r�   )r  r  rz   r—   rù   rD   )r;   r±   rD   s   &&&r0   rz   ÚTextNode.__init___  s)   € Ü×Ñ×&Ñ& t¨TÔ2ØˆŒØŒØŽ	r3   )rD   rù   r—   N)rh   ri   rj   rk   rz   rn   ro   rp   s   @r0   rœ   rœ   ]  s   ø‡ € ÷ö r3   rœ   )5Ú__license__Ú__all__Útypingr   r   r   r   r   r	   r
   r   r   Útyping_extensionsr   Úbs4._typingr   r   r   r   r   r   r8   Úbs4.builderr   r   r   r   r   Úbs4.elementr   r   r   r%   Úhtml5lib.constantsr   r   r   r   r    rx   r"   Úhtml5lib.treebuildersr#   r  r   ÚTreeBuilderrX   ÚobjectrÀ   r  rõ   r   rœ   ra   r3   r0   Ú<module>rt     sÑ   ðà€ð ð€÷
÷ 
õ 
õ (÷÷ ó ÷õ ÷ñ ó
 õ÷ó ÷ Ý!å :ôpF�ô pFôfd$Ð-×9Ñ9ô d$ôN+/ˆvô +/ô\$Ð(×-Ñ-ô $ô@w'Ðô w'ôtÐ ö r3   