§
    ¸ìøjÔZ  ã                  óÆ  — U d Z ddlmZ ddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlmZ ddlZddlZ ee¦  «                             ¦   «         j        j        Zedz  Ze                     dd¬¦  «         dd	d
œZdZdZdZdZdZdZdddddddddœZddddddd d!œZddd"d#œZd$Z d%Z!i d&d'“d(d)“d*d+“d,d-“d.d/“d0d1“d2d3“d4d5“d6d7“d8d9“d:d;“d<d=“d>d?“d@dA“dBdC“dDdE“dFdG“dHdIdJdKdLdMdNdOdPdQœ	¥Z"g Z#dRe$dS<   d§dV„Z%	 	 d¨d©d_„Z&dªdc„Z'd«de„Z(d¬dg„Z)d­d®dj„Z*d­d®dk„Z+d­d®dl„Z,d¯dn„Z-d¯do„Z. e/dp¦  «         0                    ¦   «         Z1dq„ Z2d¯dr„Z3d¯ds„Z4	 	 d°d±d{„Z5edz  d|z  Z6d}Z7ddtd~e7fd²d„Z8d³d‚„Z9d³dƒ„Z:d´dµd…„Z;i d)d“d'd"“d+d†“dCd‡“dAd“d1dˆ“d‰d“d/dŠ“d-d‹“d=dŒ“d?d�“dŽd�“d7d�“d‘d’“d5d““d”d•“d–d—“d˜d™dšœ¥Z<d­d¶dœ„Z=d·d¸dž„Z>d¹dºd „Z?d»d¤„Z@d¼d¥„ZAeBd¦k    r e	jC         eA¦   «         ¦  «         dS dS )½u2  Aè‚¡å…¬å¼€è¡Œæƒ…å�–æ•° CLI â€”â€” å¤šæº�è‡ªåŠ¨åˆ‡æ�¢ï¼ˆä¸œæ–¹è´¢å¯Œ / è…¾è®¯ / æ–°æµªï¼‰ï¼Œå…� API Keyã€�å…�ç™»å½•ã€‚

å­�å‘½ä»¤ï¼š
  kline     å�•å�ªæ ‡çš„ K çº¿ï¼ˆæ—¥/å‘¨/æœˆï¼Œå‰�å¤�æ�ƒæˆ–å�Žå¤�æ�ƒï¼›åˆ†é’Ÿçº¿è§†æ•°æ�®æº�æ”¯æŒ�æƒ…å†µï¼‰
  snapshot  å…¨å¸‚åœºå¿«ç…§ï¼ˆæ¶¨è·Œå¹…/æ�¢æ‰‹/PE/PB/å¸‚å€¼ï¼Œå�«åŒ—äº¤æ‰€ï¼‰
  quote     å�•å�ªå®žæ—¶è¡Œæƒ…
  sectors   è¡Œä¸šæ�¿å�—åˆ—è¡¨ï¼ˆä¾�èµ–ä¸œæ–¹è´¢å¯Œï¼ŒæŽ¥å�£ä¸�å�¯ç”¨æ—¶é™�çº§æ��ç¤ºï¼‰
  members   æ�¿å�—æˆ�åˆ†è‚¡ï¼ˆå�Œä¸Šï¼‰

è®¾è®¡è¦�ç‚¹ï¼š
  - ä¸‰å®¶æŽ¥å�£æŒ‰ä¼˜å…ˆçº§è‡ªåŠ¨é™�çº§ï¼Œä»»ä¸€å®¶è¢«é™�æµ�/æ–­è¿žä¸�å½±å“�æ•´ä½“å�¯ç”¨æ€§
  - è¾“å‡ºå�•ä½�ç»Ÿä¸€ï¼šæˆ�äº¤é‡�=æ‰‹ã€�æˆ�äº¤é¢�=å…ƒã€�æ€»å¸‚å€¼=å…ƒã€�æµ�é€šå¸‚å€¼=å…ƒ
  - ç»“æžœç¼“å­˜äºŽ <skill>/cache/ï¼Œç›˜ä¸­é‡�å¤�è°ƒç”¨ä¸�ä¼šé‡�å¤�æ‰“æŽ¥å�£
  - å¸¦ --out æ—¶å†™ CSVï¼ˆUTF-8-SIGï¼ŒExcel å�¯ç›´æŽ¥æ‰“å¼€ï¼‰
é    )ÚannotationsN)ÚPathÚcacheT©ÚparentsÚexist_okzkMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0 Safari/537.36zhttps://finance.sina.com.cn/)z
User-AgentÚRefererz5https://push2his.eastmoney.com/api/qt/stock/kline/getz,https://push2.eastmoney.com/api/qt/clist/getz2https://web.ifzq.gtimg.cn/appstock/app/fqkline/getzhttps://qt.gtimg.cn/q=zKhttps://quotes.sina.cn/cn/api/json_v2.php/CN_MarketDataService.getKLineDataz`https://vip.stock.finance.sina.com.cn/quotes_service/api/json_v2.php/Market_Center.getHQNodeDataé   é   é   é   é<   ée   éf   ég   )Ú1mÚ5mÚ15mÚ30mÚ60mÚdayÚweekÚmonthr   r   r   Úm5Úm15Úm30Úm60)r   r   r   r   r   r   r   é   )ÚnoneÚqfqÚhfqz!m:0+t:6,m:0+t:80,m:1+t:2,m:1+t:23zm:0+t:81+s:2048Úf12ÚcodeÚf14ÚnameÚf2ÚpriceÚf3Úchg_pctÚf4ÚchgÚf5ÚvolumeÚf6ÚamountÚf7Ú	amplitudeÚf8ÚturnoverÚf9Úpe_dynÚf10Ú	vol_ratioÚf15ÚhighÚf16ÚlowÚf17ÚopenÚf18Ú	pre_closeÚf20ÚmcapÚf21Ú
float_mcapÚpbÚ	list_dateÚroeÚrev_yoyÚ
net_profitÚ
profit_yoyÚmain_inflowÚindustryÚpe_ttm)	Úf23Úf26Úf37Úf41Úf45Úf46Úf62Úf100Úf115z	list[str]Ú_TRIEDÚmsgÚstrc                óB   — t          d| › �t          j        ¬¦  «         d S )Nz[aq] )Úfile)ÚprintÚsysÚstderr)rW   s    ú/opt/stock-picker/scripts/aq.pyÚlogr_   G   s#   € Ý	ˆ-�#ˆ-ˆ-�cœjÐ)Ñ)Ô)Ð)Ð)Ð)ó    ÚurlÚparamsúdict | NoneÚretriesÚintÚtimeoutÚencodingú
str | Nonec                óD  — d }t          |¦  «        D ]s}	 t          j        | |t          |¬¦  «        }|                     ¦   «          |r||_        |c S # t          $ r&}|}t          j        d|dz   z  ¦  «         Y d }~Œld }~ww xY wt          t          |¦  «        ¦  «        ‚)N)rb   Úheadersrf   gš™™™™™Ù?r
   )ÚrangeÚrequestsÚgetÚUAÚraise_for_statusrg   Ú	ExceptionÚtimeÚsleepÚRuntimeErrorrX   )	ra   rb   rd   rf   rg   ÚlastÚiÚrÚes	            r^   Ú_getrx   K   sÄ   € à€DÝ�7‰^Œ^ð 	&ð 	&ˆð	&Ý”˜S¨½ÀWÐMÑMÔMˆAØ×ÒÑ Ô Ð Øð &Ø%�”
ØˆHˆHˆHøÝð 	&ð 	&ð 	&ØˆDÝŒJ�s˜a !™e‘}Ñ%Ô%Ð%Ð%Ð%Ð%Ð%Ð%øøøøð	&øøøõ •s˜4‘y”yÑ
!Ô
!Ð!s   •;AÁ
BÁA>Á>BÚkeyÚreturnr   c                óš   — t           t          j        |                      d¦  «        ¦  «                             ¦   «         d d…         dz   z  S )Núutf-8é   z.json)ÚCACHEÚhashlibÚmd5ÚencodeÚ	hexdigest)ry   s    r^   Ú_cache_pathrƒ   [   s=   € Ý•G”K §
¢
¨7Ñ 3Ô 3Ñ4Ô4×>Ò>Ñ@Ô@ÀÀ"ÀÔEÈÑOÑPÐPr`   Úttlc                óp  — t          | ¦  «        }|                     ¦   «         rXt          j        ¦   «         |                     ¦   «         j        z
  |k     r't          j        |                     d¦  «        ¦  «        S  |¦   «         }|                     t          j	        |dt          ¬¦  «        d¦  «         |S )Nr|   F)Úensure_asciiÚdefault)rƒ   Úexistsrq   ÚstatÚst_mtimeÚjsonÚloadsÚ	read_textÚ
write_textÚdumpsrX   )ry   r„   ÚfnÚpÚdatas        r^   Ú_cachedr“   _   s�   € Ý�CÑÔ€AØ‡x‚x�z„zð 0•t”y‘{”{ Q§V¢V¡X¤XÔ%6Ñ6¸#Ò=Ð=ÝŒz˜!Ÿ+š+ gÑ.Ô.Ñ/Ô/Ð/Øˆ2‰4Œ4€DØ‡L‚L•”˜D¨u½cÐBÑBÔBÀGÑLÔLÐLØ€Kr`   útuple[str, str]c                ó  — t          j        ddt          | ¦  «        ¦  «        }t          |¦  «        dk    rt	          d| › �¦  «        ‚|d         dv r|dfS |d         dv r|d	fS |d         d
k    s|                     d¦  «        r|dfS |d	fS )u0   è¿”å›ž (çº¯6ä½�ä»£ç �, å¸‚åœºå‰�ç¼€ sh/sz/bj)ã€‚ú[^0-9]Ú é   u   é�žæ³• A è‚¡ä»£ç �: r   Ú69ÚshÚ03ÚszÚ4)Ú82Ú83Ú87Ú88Ú92Úbj)ÚreÚsubrX   ÚlenÚ
ValueErrorÚ
startswith)r#   Úcs     r^   Únormrª   i   s�   € å
Œˆy˜"�c $™iœiÑ(Ô(€AÝ
ˆ1�v„v�‚{€{ÝÐ6°Ð6Ð6Ñ7Ô7Ð7Øˆ„tˆt€|€|Ø�$ˆwˆØˆ„tˆt€|€|Ø�$ˆwˆØˆ„tˆs‚{€{�a—l’lÐ#AÑBÔB€{Ø�$ˆwˆØˆdˆ7€Nr`   ÚstockÚkindc                óÄ   — dt          | ¦  «        v rt          | ¦  «        S t          | ¦  «        \  }}|dk    r|                     d¦  «        rdnd|z   S |dk    rdnd|z   S )Nú.ÚindexÚ000z1.z0.rš   )rX   rª   r¨   ©r#   r¬   r©   Úmks       r^   Úem_secidr³   w   sn   € Ø
�c�$‰iŒiÐÐÝ�4‰yŒyÐÝ�‰JŒJ�E€A€rØˆw‚€ØŸš UÑ+Ô+Ð5��°¸Ñ:Ð:Ø˜$’J�JˆDˆD D¨AÑ-Ð-r`   c                óº   — |dk    r?t          j        ddt          | ¦  «        ¦  «        }|                     d¦  «        rdnd|z   S t	          | ¦  «        \  }}||z   S )Nr¯   r–   r—   r°   rš   rœ   )r¤   r¥   rX   r¨   rª   r±   s       r^   Ú	tx_symbolrµ   €   s\   € Øˆw‚€ÝŒF�9˜b¥# d¡)¤)Ñ,Ô,ˆØŸš UÑ+Ô+Ð5��°¸Ñ:Ð:Ý�‰JŒJ�E€A€rØ�‰6€Mr`   c                ó"   — t          | |¦  «        S ©N)rµ   )r#   r¬   s     r^   Úsina_symbolr¸   ˆ   s   € Ý�T˜4Ñ Ô Ð r`   úpd.DataFramec           
     ó¦  — t          | |¦  «        ddt          |         t          |         ddt          |¦  «        dœ}t	          t
          |¦  «                             ¦   «         }|                     d¦  «        pi }|                     d¦  «        pg }|st          d¦  «        ‚t          j
        d	„ |D ¦   «         g d
¢¬¦  «        }	|	j        dd …         D ]!}
t          j        |	|
         d¬¦  «        |	|
<   Œ"|	                     dd|                     d| ¦  «        ¦  «         |	                     dd|                     dd¦  «        ¦  «         d|	d<   |	S )Nzf1,f2,f3,f4,f5,f6z+f51,f52,f53,f54,f55,f56,f57,f58,f59,f60,f61Ú0Ú20500101)ÚsecidÚfields1Úfields2ÚkltÚfqtÚbegÚendÚlmtr’   Úklinesu   ä¸œè´¢æ— æ•°æ�®c                ó8   — g | ]}|                      d ¦  «        ‘ŒS )ú,)Úsplit©Ú.0rv   s     r^   ú
<listcomp>z_kline_em.<locals>.<listcomp>™   s"   € Ð2Ð2Ð2¨�q—w’w˜s‘|”|Ð2Ð2Ð2r`   )Údater=   Úcloser9   r;   r-   r/   r1   r)   r+   r3   ©Úcolumnsr
   Úcoerce©Úerrorsr   r#   r%   r—   Ú	eastmoneyÚsrc)r³   ÚKLTÚFQTrX   rx   ÚEM_KLINEr‹   rm   rs   ÚpdÚ	DataFramerÏ   Ú
to_numericÚinsert)r#   ÚperiodÚadjustÚlimitr¬   rb   Újsr’   ÚrowsÚdfr©   s              r^   Ú	_kline_emrâ   �   sd  € å˜$ Ñ%Ô%Ð2EØ@Ý�6Œ{¥3 v¤;Ø˜:­c°%©j¬jð	ð €Fõ 
�h˜Ñ	Ô	×	$Ò	$Ñ	&Ô	&€BØ�6Š6�&‰>Œ>Ð˜R€DØ�8Š8�HÑÔÐ# €DØð .ÝÐ,Ñ-Ô-Ð-Ý	ŒÐ2Ð2¨TÐ2Ñ2Ô2ðTð Tð Tð
Uñ 
Uô 
U€Bð ŒZ˜˜˜Œ^ð 6ð 6ˆÝ”˜b œe¨HÐ5Ñ5Ô5ˆˆ1‰ˆØ‡I‚Iˆa�˜Ÿš &¨$Ñ/Ô/Ñ0Ô0Ð0Ø‡I‚Iˆa�˜Ÿš &¨"Ñ-Ô-Ñ.Ô.Ð.Ø€B€u�IØ€Ir`   c                óh  — |t           vrt          d¦  «        ‚t          | |¦  «        }|dk    rdn|}t          t          d|› dt           |         › dt          t          |¦  «        d¦  «        › d|› �i¦  «                             ¦   «         }|                     d¦  «        pi                      |¦  «        pi }d }	|› t           |         › �|› d	�t           |         d	fD ]
}
|
|v r|
}	 nŒ|	s7d
„ | 	                    ¦   «         D ¦   «         }|st          d¦  «        ‚|d         }	||	         }t          j        d„ |D ¦   «         g d¢¬¦  «        }|j        dd …         D ]!}t          j        ||         d¬¦  «        ||<   Œ"||d                              t          ¦  «        j                             d¦  «                 }|                     ddt%          j        ddt          | ¦  «        ¦  «        ¦  «         |                     ddd¦  «         t          j        |d<   d|d<   |                     d¬¦  «        S )Nu   è…¾è®¯ä¸�æ”¯æŒ�è¯¥å‘¨æœŸr   r—   ÚparamrÇ   z,,,é€  r’   r   c                óF   — g | ]\  }}t          |t          ¦  «        ¯|¯|‘ŒS © )Ú
isinstanceÚlist)rÊ   ÚkÚvs      r^   rË   z_kline_tx.<locals>.<listcomp>±   s0   € ÐFÐFÐF‘t�q˜!­J°q½$Ñ,?Ô,?ÐFÀAÐF�ÐFÐFÐFr`   u   è…¾è®¯æ— æ•°æ�®r   c                ó"   — g | ]}|d d…         ‘ŒS )Nr˜   rç   rÉ   s     r^   rË   z_kline_tx.<locals>.<listcomp>¶   s    € Ð+Ð+Ð+ �q˜˜!˜”uÐ+Ð+Ð+r`   )rÌ   r=   rÍ   r9   r;   r-   rÎ   r
   rÐ   rÑ   rÌ   z^\d{4}-\d{2}-\d{2}r#   r–   r%   r/   ÚtencentrÔ   T©Údrop)Ú	TX_PERIODrs   rµ   rx   ÚTX_KLINEÚminre   r‹   rm   ÚitemsrØ   rÙ   rÏ   rÚ   ÚastyperX   ÚmatchrÛ   r¤   r¥   ÚNAÚreset_index)r#   rÜ   rÝ   rÞ   r¬   ÚsymÚfqrß   Údry   rê   Úcandsrà   rá   r©   s                  r^   Ú	_kline_txrü   ¤   sX  € Ø•YÐÐÝÐ5Ñ6Ô6Ð6Ý
�D˜$Ñ
Ô
€CØ˜ÒÐˆˆ V€BÝ	�h˜ SÐ"\Ð"\­9°VÔ+<Ð"\Ð"\ÅÅSÈÁZÄZÐQTÑAUÔAUÐ"\Ð"\ÐXZÐ"\Ð"\Ð]Ñ	^Ô	^×	cÒ	cÑ	eÔ	e€BØ	�Š�‰ŒÐ	˜2×"Ò" 3Ñ'Ô'Ð-¨2€AØ
€CØÐ(•Y˜vÔ&Ð(Ð(¨R¨*¨*¨*µiÀÔ6GÈÐOð ð ˆØ�ˆ6ˆ6ØˆCØˆEð ð ð ØFÐF˜qŸwšw™yœyÐFÑFÔFˆØð 	2ÝÐ0Ñ1Ô1Ð1Ø�AŒhˆØˆSŒ6€DÝ	ŒÐ+Ð+ dÐ+Ñ+Ô+ØPÐPÐPð
Rñ 
Rô 
R€BàŒZ˜˜˜Œ^ð 6ð 6ˆÝ”˜b œe¨HÐ5Ñ5Ô5ˆˆ1‰ˆØ	ˆBˆvŒJ×Ò�cÑ"Ô"Ô&×,Ò,Ð-BÑCÔCÔ	D€BØ‡I‚Iˆa��œ 	¨2­s°4©y¬yÑ9Ô9Ñ:Ô:Ð:Ø‡I‚Iˆa�˜ÑÔÐÝ”5€B€x�LØ€B€u�IØ�>Š>˜tˆ>Ñ$Ô$Ð$r`   Ú	threadingc                 óü   — t          t          dd¦  «        } | €ct          j        t	          j        ¦   «         ¦  «        5  ddlm} |                     ¦   «         } ddd¦  «         n# 1 swxY w Y   | t          _	        | S )u  TickFlow å…�è´¹æœ�åŠ¡ï¼ˆæ— éœ€æ³¨å†Œï¼‰ï¼šä»…åŽ†å�²æ—¥/å‘¨/æœˆKï¼Œå�«æˆ�äº¤é¢�ï¼Œç›˜ä¸­ä¸�æ›´æ–°ã€‚

    å®¢æˆ·ç«¯æŒ‰çº¿ç¨‹éš”ç¦»â€”â€”SDK å®žä¾‹ä¸�æ˜¯çº¿ç¨‹å®‰å…¨çš„ï¼Œå…±ç”¨ä¸€ä¸ªä¼šè¢«å†…éƒ¨é”�ä¸²è¡ŒåŒ–ï¼Œ
    å¤šçº¿ç¨‹ç­‰äºŽé€€åŒ–æˆ�å�•çº¿ç¨‹ï¼Œæ‰¹é‡�å�–æ•°ä¼šæ…¢å��å€�ã€‚
    ÚclientNr   )ÚTickFlow)
ÚgetattrÚ	_TF_LOCALÚ
contextlibÚredirect_stdoutÚioÚStringIOÚtickflowr   Úfreerÿ   )r©   r   s     r^   Ú
_tf_clientr	  Å   s´   € õ 	•	˜8 TÑ*Ô*€AØ€yÝÔ'­¬©¬Ñ6Ô6ð 	 ð 	 Ø)Ð)Ð)Ð)Ð)Ð)Ø—’‘”ˆAð	 ð 	 ð 	 ñ 	 ô 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 øøøð 	 ð 	 ð 	 ð 	 ð �	ÔØ€Hs   ¾A%Á%A)Á,A)c                ó  — ddddœ                      |¦  «        }|st          d¦  «        ‚|dk    rt          d¦  «        ‚t          | ¦  «        \  }}|› d|                     ¦   «         › �}t	          j        t          j        ¦   «         ¦  «        5  t          ¦   «         j	                              ||t          t          |¦  «        d	¦  «        d
¬¦  «        }	d d d ¦  «         n# 1 swxY w Y   |	�t          |	¦  «        dk    rt          d¦  «        ‚|	                     ddi¬¦  «                             ¦   «         }
|
d                              t           ¦  «        j        d d…         |
d<   dD ]!}t#          j        |
|         d¬¦  «        |
|<   Œ"d|	j        v r t!          |	d         j        d         ¦  «        nd}t#          j        |||
d         |
d         |
d         |
d         |
d         |
d         |
d         ddœ
¦  «        S )NÚ1dÚ1wÚ1M©r   r   r   u$   TickFlow å…�è´¹æœ�åŠ¡ä¸�å�«è¯¥å‘¨æœŸr!   u'   TickFlow å…�è´¹æœ�åŠ¡ä»…æ��ä¾›å‰�å¤�æ�ƒr®   i'  T)rÜ   ÚcountÚas_dataframer   u   TickFlow æ— æ•°æ�®Ú
trade_daterÌ   rÎ   é
   )r=   r9   r;   rÍ   r-   r/   rÐ   rÑ   r%   r—   r=   rÍ   r9   r;   r-   r/   r  ©
r#   r%   rÌ   r=   rÍ   r9   r;   r-   r/   rÔ   )rm   rs   rª   Úupperr  r  r  r  r	  rÅ   rò   re   r¦   ÚrenameÚcopyrô   rX   rØ   rÚ   rÏ   ÚilocrÙ   )r#   rÜ   rÝ   rÞ   r¬   r‘   r©   r²   rø   Úrawrá   Úcolr%   s                r^   Ú	_kline_tfr  Ô   s7  € Ø˜d¨TÐ2Ð2×6Ò6°vÑ>Ô>€AØð CÝÐAÑBÔBÐBØ�‚€ÝÐDÑEÔEÐEÝ�‰JŒJ�E€A€rØÐ
Ð
�—’‘”Ð
Ð
€CÝ	Ô	#¥B¤K¡M¤MÑ	2Ô	2ð 9ð 9Ý‰lŒlÔ!×%Ò% c°!½3½sÀ5¹z¼zÈ5Ñ;QÔ;QØ37ð &ñ 9ô 9ˆð9ð 9ð 9ñ 9ô 9ð 9ð 9ð 9ð 9ð 9ð 9øøøð 9ð 9ð 9ð 9ð €{•c˜#‘h”h !’m�mÝÐ/Ñ0Ô0Ð0Ø	�Š˜\¨6Ð2ˆÑ	3Ô	3×	8Ò	8Ñ	:Ô	:€BØ�F”×"Ò"¥3Ñ'Ô'Ô+¨C¨R¨CÔ0€B€v�JØCð :ð :ˆÝ”-  3¤°Ð9Ñ9Ô9ˆˆ3‰ˆØ'-°´Ð'<Ð'<�3ˆs�6Œ{Ô Ô"Ñ#Ô#Ð#À"€DÝŒ<Ø˜4¨¨F¬Ø�6”
 R¨¤[Ø�6”
 2 e¤9Ø�X”,¨"¨X¬,¸zð	ð ñ ô ð s   ÂAC"Ã"C&Ã)C&c                ó‚  — ddddœ                      |¦  «        }|st          d¦  «        ‚t          t          t	          | |¦  «        |d|dœ¦  «                             ¦   «         }|st          d¦  «        ‚t          j        |¦  «        }|                     d	d
i¬¦  «        }dD ]!}t          j	        ||         d¬¦  «        ||<   Œ"|d         dz  |d<   | 
                    ddt          j        ddt          | ¦  «        ¦  «        ¦  «         | 
                    ddd¦  «         t          j        |d<   d|d<   |g d¢         S )Néð   i°  i   r  u   æ–°æµªä»…æ”¯æŒ�æ—¥/å‘¨/æœˆÚno)ÚsymbolÚscaleÚmaÚdatalenu   æ–°æµªæ— æ•°æ�®r   rÌ   rÎ   )r=   r9   r;   rÍ   r-   rÐ   rÑ   r-   ç      Y@r   r#   r–   r—   r
   r%   r/   ÚsinarÔ   r  )rm   rs   rx   Ú
SINA_KLINEr¸   r‹   rØ   rÙ   r  rÚ   rÛ   r¤   r¥   rX   rö   )	r#   rÜ   rÝ   rÞ   r¬   r  rß   rá   r©   s	            r^   Ú_kline_sinar%  î   s\  € Ø °Ð5Ð5×9Ò9¸&ÑAÔA€EØð 9ÝÐ7Ñ8Ô8Ð8Ý	�j¥[°°tÑ%<Ô%<ÀuØ!%°%ð9ð 9ñ 
:ô 
:ß:>º$¹&¼&ð àð .ÝÐ,Ñ-Ô-Ð-Ý	Œ�bÑ	Ô	€BØ	�Š˜E 6˜?ˆÑ	+Ô	+€BØ7ð 6ð 6ˆÝ”˜b œe¨HÐ5Ñ5Ô5ˆˆ1‰ˆØ�h”< %Ñ'€B€x�LØ‡I‚Iˆa��œ 	¨2­s°4©y¬yÑ9Ô9Ñ:Ô:Ð:Ø‡I‚Iˆa�˜ÑÔÐÝ”5€B€x�LØ€B€u�IØð *ð *ð *ô +ð +r`   r    éô  ÚautorÜ   rÝ   rÞ   Úsourcec           
     ó  — |dk    r|g}n|dv r|dk    rg d¢ng d¢}nddg}t           t          t          t          dœ}g }|D �]}		  ||	         | ||||¦  «        }
|
�t	          |
¦  «        sŒ+|
d	         d
k    |
d         d
k    z  }|                     ¦   «         r>t          d|	› dt          |                     ¦   «         ¦  «        › d�¦  «         |
|          }
t	          |
¦  «        rEt           
                    |	¦  «         |
                     |¦  «                             d¬¦  «        c S Œë# t          $ r%}| 
                    |	› d|› �¦  «         Y d }~�Œd }~ww xY wt          dd                     |¦  «        z   ¦  «        ‚)Nr'  r  rå   )ÚtxÚtfÚemr#  )r+  r*  r,  r#  r,  r*  )r,  r*  r#  r+  rÍ   r   r=   u	   è­¦å‘Šï¼šu    æº�å‰”é™¤ u.    è¡Œé�žæ­£ä»·æ ¼ï¼ˆå‰�å¤�æ�ƒé•¿åŽ†å�²ä¼ªå€¼ï¼‰Trî   ú: u   æ‰€æœ‰ K çº¿æº�å�‡å¤±è´¥ -> ú | )râ   rü   r%  r  r¦   Úanyr_   re   ÚsumrV   ÚappendÚtailr÷   rp   rs   Újoin)r#   rÜ   rÝ   rÞ   r¬   r(  ÚchainÚfnsÚerrsÚsrá   Úbadrw   s                r^   Úfetch_kliner9    sÉ  € à�ÒÐØ�ˆˆØ	Ð+Ð	+Ð	+ð 05¸ª|¨|Ð+Ð+Ð+Ð+Ø0Ð0Ð0ð 	ˆð �t�ˆÝ¥)µ[Í	Ð
RÐ
R€CØ€DØð %ñ %ˆð	%Ø��Q”˜˜f f¨e°TÑ:Ô:ˆBØˆz¥ R¡¤ˆzØà�g”; !Ò#¨¨6¬
°aªÑ8ˆCØ�wŠw‰yŒyð ÝÐl ÐlÐl­c°#·'²'±)´)©n¬nÐlÐlÐlÑmÔmÐmØ˜˜”X�Ý�2‰wŒwð =Ý—’˜aÑ Ô Ð Ø—w’w˜u‘~”~×1Ò1°tÐ1Ñ<Ô<Ð<Ð<Ð<ð=øõ ð 	%ð 	%ð 	%Ø�KŠK˜1˜˜ ˜˜Ñ$Ô$Ð$Ð$Ð$Ð$Ð$Ñ$øøøøð	%øøøå
Ð5¸¿
º
À4Ñ8HÔ8HÑHÑ
IÔ
IÐIs   Á&D,Á,B<D,Ä,
EÄ6EÅEÚklinei  é,  c                óD  — t                                dd¬¦  «         t           | › d�z  }|                     ¦   «         rlt          j        ¦   «         |                     ¦   «         j        z
  |k     r;	 t          j        |¦  «        }t          |¦  «        dk    r|S n# t          $ r Y nw xY w	 t          | |||¦  «        }n8# t          $ r+ 	 t          | |||d¬¦  «        }n# t          $ r Y Y dS w xY wY nw xY w	 |                     |dd	¬
¦  «         n# t          $ r Y nw xY w|S )u`   å¸¦ç£�ç›˜ç¼“å­˜çš„æ—¥Kã€‚ç›˜ä¸­æ¯�è½®å�ªé‡�æŠ“å¿«ç…§ï¼ŒK çº¿åœ¨ TTL å†…å¤�ç”¨ï¼Œçœ�è·¨å¢ƒ RTTã€‚Tr   z.csvé‚   r+  )r(  NFú	utf-8-sig©r¯   rg   )ÚKLINE_CACHEÚmkdirrˆ   rq   r‰   rŠ   rØ   Úread_csvr¦   rp   r9  Úto_csv)r#   rÜ   rÝ   rÞ   r„   Úfrá   rê   s           r^   Úkline_cachedrE  &  sl  € õ ×Ò˜d¨TÐÑ2Ô2Ð2Ý˜�m�m�mÑ#€AØ‡x‚x�z„zð •t”y‘{”{ Q§V¢V¡X¤XÔ%6Ñ6¸#Ò=Ð=ð	Ý”˜Q‘”ˆBÝ�2‰wŒw˜#Š~ˆ~Ø�	ð øåð 	ð 	ð 	ØˆDð	øøøðÝ˜˜f f¨eÑ4Ô4ˆˆøÝð ð ð ð	Ý˜D &¨&°%ÀÐEÑEÔEˆAˆAøÝð 	ð 	ð 	Ø�4�4�4ð	øøøð ˆAðøøøð
Ø	�Š�˜%¨+ˆÑ6Ô6Ð6Ð6øÝð ð ð Øˆðøøøà€HsZ   Á0(B Â
B'Â&B'Â+B> Â>
C3Ã	CÃC3Ã
C-Ã(C3Ã,C-Ã-C3Ã2C3Ã7D Ä
DÄDÚscopeú
list[dict]c                óp  — | dk    rt           nt          }g d}}	 |dddddd|d                     t          ¦  «        dd	œ
}t	          t
          |¦  «                             ¦   «         }|                     d
¦  «        pi }|                     d¦  «        pg }t          |t          ¦  «        r!t          |                     ¦   «         ¦  «        }|snX|                     |¦  «         t          |¦  «        |                     dd¦  «        k    rn|dz  }t          j        d¦  «         �Œ|st!          d¦  «        ‚t#          j        |¦  «                             t          ¬¦  «        }|d                              t*          ¦  «        j                             d¦  «        |d<   d|d<   |                     d¦  «        S )Nr£   r
   TéÈ   r   r(   rÇ   Ú bd1d9ddb04089700cf9c27f6f7426281©
ÚpnÚpzÚpoÚnpÚflttÚinvtÚfidÚfsÚfieldsÚutr’   ÚdiffÚtotalr   gš™™™™™©?u   ä¸œè´¢å¿«ç…§ä¸ºç©ºrÎ   r#   r˜   rÓ   rÔ   Úrecords)ÚFS_BJÚFS_ALLr3  ÚSNAP_FIELDSrx   ÚEM_LISTr‹   rm   rè   Údictré   ÚvaluesÚextendr¦   rq   rr   rs   rØ   rÙ   r  rô   rX   ÚzfillÚto_dict)	rF  rS  ÚoutrL  rb   rß   rú   rV  rá   s	            r^   Ú_snap_emrc  A  s™  € Ø˜4’-�-�ˆ¥V€BØ�!ˆ€CðØ #¨Q°aÀÈAØ R°3·8²8½KÑ3HÔ3HØ:ð<ð <ˆõ •'˜6Ñ"Ô"×'Ò'Ñ)Ô)ˆØ�FŠF�6‰NŒNÐ ˜bˆØ�uŠu�V‰}Œ}Ð" ˆÝ�d�DÑ!Ô!ð 	'Ý˜Ÿš™œÑ&Ô&ˆDØð 	ØØ�
Š
�4ÑÔÐÝˆs‰8Œ8�q—u’u˜W aÑ(Ô(Ò(Ð(ØØ
ˆa‰ˆÝŒ
�4ÑÔÐñð  ð 1ÝÐ/Ñ0Ô0Ð0Ý	Œ�cÑ	Ô	×	!Ò	!­+Ð	!Ñ	6Ô	6€BØ�F”×"Ò"¥3Ñ'Ô'Ô+×1Ò1°!Ñ4Ô4€B€v�JØ€B€u�IØ�:Š:�iÑ Ô Ð r`   c                ól  ‡— ddl m} | dk    rdndŠd1ˆfd„}g }d}d	} |d
¬¦  «        5 }|dk     rw|dk     rqt          |                     |t	          ||d
z   ¦  «        ¦  «        ¦  «        }d}|D ]\  }	}
|
r|                     |
¦  «         d}Œ|rdn|d	z   }|d
z  }|dk     r|dk     °qddd¦  «         n# 1 swxY w Y   t          ¦   «         g }}|D �]�}
|
D �]–}|                     d¦  «        }|r||v rŒ|                     |¦  «         	 t          |                     d¦  «        pd¦  «        dz  }t          |                     d¦  «        pd¦  «        }t          |                     d¦  «        pd¦  «        }t          |                     d¦  «        pd¦  «        }|                     i d|“d|                     d¦  «        “dt          |                     d¦  «        pd¦  «        “dt          |                     d¦  «        pd¦  «        “dt          |                     d¦  «        pd¦  «        “d|“d|“dt          |                     d¦  «        pd¦  «        “dt          |                     d¦  «        pd¦  «        “d t          |                     d ¦  «        pd¦  «        “d!t          |                     d"¦  «        pd¦  «        “d#t          |                     d$¦  «        pd¦  «        “d%|r|nd“d|r|nd“d&t          |                     d'¦  «        pd¦  «        d(z  “d)t          |                     d*¦  «        pd¦  «        d(z  “d+d,“¦  «         �Œ‡# t          $ r Y �Œ”w xY w�ŒŸ|st          d-¦  «        ‚t          |¦  «        d.k     r t          d/t          |¦  «        › d0�¦  «         |S )2uV   æ–°æµªå…¨å¸‚åœºå¿«ç…§ã€‚ä¸²è¡Œ 56 é¡µè¦� 70 ç§’ä»¥ä¸Šï¼Œæ”¹æˆ� 4 è·¯å¹¶å�‘æ‹‰åˆ†é¡µã€‚r   )ÚThreadPoolExecutorr£   Úhs_bjsÚhs_aru   re   c                óÎ   •— | ddd‰dddœ}	 t          t          |d¬¦  «        }|                     ¦   «         }| t          |t          ¦  «        r|ng fS # t
          $ r | g fcY S w xY w)	Néd   r  r
   r—   Úpage)rj  ÚnumÚsortÚascÚnoder  Ú_s_r_aé   )rf   )rx   Ú	SINA_LISTr‹   rè   ré   rp   )ru   rb   rv   rà   rn  s       €r^   rj  z_snap_sina.<locals>.pageb  s�   ø€ Ø C°À!Ø¨"¸ð@ð @ˆð	Ý•Y °Ð3Ñ3Ô3ˆAØ—6’6‘8”8ˆDØ�z¨$µÑ5Ô5Ð=�t�t¸2Ð>Ð>øÝð 	ð 	ð 	Ø�b�5ˆLˆLˆLð	øøøs   �AA ÁA$Á#A$r
   é   )Úmax_workersr   é    FTNr#   r-   r"  r/   ÚperrD   r%   r'   Útrader)   Úchangepercentr+   Úpricechanger=   r9   r;   r?   Ú
settlementr3   ÚturnoverratiorL   rA   Úmktcapç     ˆÃ@rC   ÚnmcrÔ   r#  u   æ–°æµªå¿«ç…§ä¸ºç©ºi   u   è­¦å‘Šï¼šæ–°æµªå¿«ç…§å�ªå�–åˆ° u    å�ªï¼Œå�¯èƒ½è¢«é™�æµ�)ru   re   )Úconcurrent.futuresre  ré   Úmaprk   r1  Úsetrm   ÚaddÚfloatrp   rs   r¦   r_   )rF  re  rj  ÚbatchesÚempty_streakÚpage_noÚexÚresÚhitÚ_rà   Úseenrb  Úxr#   ÚvolÚamtÚpeÚpbvrn  s                      @r^   Ú
_snap_sinar�  \  s¦  ø€ à5Ð5Ð5Ð5Ð5Ð5à ’}�}ˆ8ˆ8¨&€Dðð ð ð ð ð ð !#€GØ€LØ€GØ	Ð	¨Ð	*Ñ	*Ô	*ð 	¨bØ˜QÒÐ 7¨S¢= =Ý�r—v’v˜d¥E¨'°7¸Q±;Ñ$?Ô$?Ñ@Ô@ÑAÔAˆCØˆCØð ð ‘��4Øð Ø—N’N 4Ñ(Ô(Ð(Ø�CøØ #Ð9˜1˜1¨¸Ñ)9ˆLØ�q‰LˆGð ˜QÒÐ 7¨S¢= =ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ ‘”�rˆ#€DØð ñ ˆØð 	ñ 	ˆAØ—5’5˜‘=”=ˆDØð ˜4 4˜<˜<ØØ�HŠH�T‰NŒNˆNðÝ˜AŸEšE (™OœOÐ0¨qÑ1Ô1°EÑ9�Ý˜AŸEšE (™OœOÐ0¨qÑ1Ô1�Ý˜1Ÿ5š5 ™<œ<Ð,¨1Ñ-Ô-�Ý˜AŸEšE $™KœKÐ,¨1Ñ-Ô-�Ø—
’
ð Ø˜DðØ"(¨!¯%ª%°©-¬-ðà�U 1§5¢5¨¡>¤>Ð#6°QÑ7Ô7ðð �u Q§U¢U¨?Ñ%;Ô%;Ð%@¸qÑAÔAðð �5 §¢ }Ñ!5Ô!5Ð!:¸Ñ;Ô;ð	ð
 ˜cðð
 $,¨Sðð �E !§%¢%¨¡-¤-Ð"4°1Ñ5Ô5ðð �E !§%¢%¨¡-¤-Ð"4°1Ñ5Ô5ðð �5 §¢ u¡¤Ð!2°Ñ3Ô3ðð  ¥ q§u¢u¨\Ñ':Ô':Ð'?¸aÑ!@Ô!@ðð ¥ a§e¢e¨OÑ&<Ô&<Ð&AÀÑ BÔ Bðð  BÐ0˜b˜b¨Dðð  Ð.˜#˜#¨$ðð �E !§%¢%¨¡/¤/Ð"6°QÑ7Ô7¸#Ñ=ðð !¥%¨¯ª¨e©¬Ð(9¸Ñ":Ô":¸SÑ"@ðð ˜6ðñ ô ð ñ øõ" ð ð ð Ø‘ðøøøñ7	ð: ð 1ÝÐ/Ñ0Ô0Ð0Ý
ˆ3�x„x�$‚€ÝÐN­c°#©h¬hÐNÐNÐNÑOÔOÐOØ€Js%   ªA>B4Â4B8Â;B8ÄIMÍ
M+Í*M+Úallc                óÆ  ‡ ‡— |dk    r|gnddg}ˆ ˆfd„}g }|D ]£}	  ||¦  «        }|rbt          j        |¦  «        }|j        D ]%}	|	dvrt          j        ||	         d¬¦  «        ||	<   Œ&t                               d|› �¦  «         |c S Œs# t          $ r$}
|                     |› d	|
› �¦  «         Y d }
~
Œœd }
~
ww xY wt          d
d                     |¦  «        z   ¦  «        ‚)Nr'  r,  r#  c                ó<   •‡ — t          d‰ › d‰› �‰ˆ ˆfd„¦  «        S )Nzsnap|ú|c                 óL   •— ‰ dk    rt          ‰¦  «        nt          ‰¦  «        S )Nr,  )rc  r�  )r7  rF  s   €€r^   ú<lambda>z.fetch_snapshot.<locals>._run.<locals>.<lambda>¤  s!   ø€ °!°t²)°)�x¨™œ˜ÅÈEÑARÔAR€ r`   )r“   )r7  rF  r„   s   `€€r^   Ú_runzfetch_snapshot.<locals>._run¢  s=   øø€ ÝÐ*˜qÐ*Ð* 5Ð*Ð*¨CØRÐRÐRÐRÐRñTô Tð 	Tr`   )r#   r%   rK   rÔ   rE   rÐ   rÑ   zsnap:r-  u   æ‰€æœ‰å¿«ç…§æº�å�‡å¤±è´¥ -> r.  )	rØ   rÙ   rÏ   rÚ   rV   r1  rp   rs   r3  )rF  r„   r(  r4  r—  r6  r7  Úrecsrá   r©   rw   s   ``         r^   Úfetch_snapshotr™     sN  øø€ Ø 6Ò)Ð)ˆfˆXˆX°°f¨~€EðTð Tð Tð Tð Tð Tð €DØð %ð %ˆð
	%Ø�4˜‘7”7ˆDØð Ý”\ $Ñ'Ô'�Øœð Fð F�AØÐ PÐPÐPÝ "¤¨b°¬e¸HÐ EÑ EÔ E˜˜1™øÝ—’˜k a˜k˜kÑ*Ô*Ð*Ø�	�	�	ðøõ ð 	%ð 	%ð 	%Ø�KŠK˜1˜˜ ˜˜Ñ$Ô$Ð$Ð$Ð$Ð$Ð$Ð$øøøøð	%øøøå
Ð5¸¿
º
À4Ñ8HÔ8HÑHÑ
IÔ
IÐIs   �A,BÂ
B;ÂB6Â6B;é   rr  r˜   rq   é   é    é!   é"   Ú
amount_wané%   é&   rŽ  é'   é+   Úfloat_mcap_yié,   Úmcap_yié-   é.   é1   )rD   r7   r]  c                óÂ  — t          | |¦  «        }t          t          |z   d¬¦  «        }t          j        d|j        ¦  «        }|st          d¦  «        ‚|                     d¦  «                             d¦  «        }d|dœ}t           
                    ¦   «         D ]Z\  }}|t          |¦  «        k     rB||         }	|d	v r|	||<   Œ*	 t          |	¦  «        ||<   Œ># t          t          f$ r d ||<   Y ŒVw xY wŒ[|                     d
¦  «        �|d
         dz  |d<   |                     d¦  «        �|d         dz  |d<   |                     d¦  «        �|d         dz  |d<   |S )NÚgbk)rg   z
="([^"]*)"u   è…¾è®¯è¡Œæƒ…è§£æž�å¤±è´¥r
   ú~rí   )rÔ   r  )r%   rq   r#   rŸ  r|  r/   r¦  g    „×—ArA   r¤  rC   )rµ   rx   ÚTX_QUOTEr¤   ÚsearchÚtextrs   ÚgrouprÈ   Ú_TX_IDXró   r¦   r‚  Ú	TypeErrorr§   rm   )
r#   r¬   rø   rv   ÚmÚpartsrb  rê   ru   rë   s
             r^   Úfetch_quoterµ  ½  sƒ  € Ý
�D˜$Ñ
Ô
€CÝ�X˜‰^ eÐ,Ñ,Ô,€AÝ
Œ	�- ¤Ñ(Ô(€AØð 7ÝÐ5Ñ6Ô6Ð6Ø�GŠG�A‰JŒJ×Ò˜SÑ!Ô!€EØ sÐ
+Ð
+€CÝ—’‘”ð 	"ð 	"‰ˆˆ1Ø�s�5‰zŒzŠ>ˆ>Ø�a”ˆAØÐ,Ð,Ð,Ø��A‘�ð"Ý" 1™XœX�C˜‘F�FøÝ!¥:Ð.ð "ð "ð "Ø!�C˜‘F�F�Fð"øøøð ð ‡w‚wˆ|ÑÔÐ(Ø˜LÔ)¨CÑ/ˆˆH‰Ø
‡w‚wˆyÑÔÐ%Ø˜)”n sÑ*ˆˆF‰Ø
‡w‚wˆÑÔÐ+Ø Ô0°3Ñ6ˆˆLÑØ€Js   ÃCÃC2Ã1C2éx   c                ó8  ‡‡— | dk    rdndŠdddddd	d
ddddœ
Šˆˆfd„}t          d| › �||¦  «        }|st          d¦  «        ‚t          j        |¦  «                             ‰¬¦  «        }|j        D ]%}|dvrt          j        ||         d¬¦  «        ||<   Œ&|S )NrK   zm:90+t:2zm:90+t:3r#   r%   r)   r/   r3   rJ   Úup_countÚ
down_countÚleaderÚ
leader_chg)
r"   r$   r(   r.   r2   rS   Úf104Úf105Úf128Úf136c                 ó^  •— ddddddd‰d                      ‰¦  «        ddœ
} t          t          | ¦  «                             ¦   «         }|                     d¦  «        pi }|                     d	¦  «        pg }t          |t          ¦  «        r!t          |                     ¦   «         ¦  «        }|S )
Nr
   r&  r   r(   rÇ   rJ  rK  r’   rV  )	r3  rx   r\  r‹   rm   rè   r]  ré   r^  )rb   rß   rú   rV  rT  rS  s       €€r^   Ú_pullzfetch_sectors.<locals>._pullß  s£   ø€ Ø ¨A°QÀÈ1Ø R°3·8²8¸FÑ3CÔ3CØ:ð<ð <ˆõ •'˜6Ñ"Ô"×'Ò'Ñ)Ô)ˆØ�FŠF�6‰NŒNÐ ˜bˆØ�uŠu�V‰}Œ}Ð" ˆÝ�d�DÑ!Ô!ð 	'Ý˜Ÿš™œÑ&Ô&ˆDØˆr`   zsector|uk   æ�¿å�—æŽ¥å�£ä¸�å�¯ç”¨ï¼ˆä¸œè´¢ push2 å�¯èƒ½è¢«é™�æµ�ï¼‰ï¼Œå�¯æ”¹ç”¨ snapshot å�ŽæŒ‰è¡Œä¸šä»£ç �è‡ªè¡Œè�šå�ˆrÎ   )r#   r%   rº  rÐ   rÑ   )r“   rs   rØ   rÙ   r  rÏ   rÚ   )r¬   r„   rÁ  r˜  rá   r©   rT  rS  s         @@r^   Úfetch_sectorsrÂ  Ù  sù   øø€ Ø˜zÒ)Ð)ˆˆ¨z€BØ F°)À8Ø }¸jØ"¨H¸lðLð L€Fð	ð 	ð 	ð 	ð 	ð 	õ Ð#˜TÐ#Ð# S¨%Ñ0Ô0€DØð JÝð  Iñ  Jô  Jð  	JÝ	Œ�dÑ	Ô	×	"Ò	"¨6Ð	"Ñ	2Ô	2€BØŒZð :ð :ˆØÐ.Ð.Ð.Ý”M " Q¤%°Ð9Ñ9Ô9ˆBˆq‰EøØ€Ir`   Úboardc                ó4  ‡ — ˆ fd„}t          d‰ › �||¦  «        }|st          d‰ › d�¦  «        ‚t          j        |¦  «                             t
          ¬¦  «        }|d                              t          ¦  «        j                             d¦  «        |d<   |S )Nc                 ón  •— dddddddd‰› �d                      t          ¦  «        ddœ
} t          t          | ¦  «                             ¦   «         }|                     d	¦  «        pi }|                     d
¦  «        pg }t          |t          ¦  «        r!t          | 	                    ¦   «         ¦  «        n|S )Nr
   r&  r   r(   zb:rÇ   rJ  rK  r’   rV  )
r3  r[  rx   r\  r‹   rm   rè   r]  ré   r^  )rb   rß   rú   rV  rÃ  s       €r^   rÁ  zfetch_members.<locals>._pullõ  s§   ø€ Ø ¨A°QÀÈ1Ø \¨% \ \¸S¿XºXÅkÑ=RÔ=RØ:ð<ð <ˆõ •'˜6Ñ"Ô"×'Ò'Ñ)Ô)ˆØ�FŠF�6‰NŒNÐ ˜bˆØ�uŠu�V‰}Œ}Ð" ˆÝ&0°µtÑ&<Ô&<ÐF�t�D—K’K‘M”MÑ"Ô"Ð"À$ÐFr`   zmembers|u   æ�¿å�— u    æ— æˆ�åˆ†æ•°æ�®rÎ   r#   r˜   )	r“   rs   rØ   rÙ   r  r[  rô   rX   r`  )rÃ  r„   rÁ  r˜  rá   s   `    r^   Úfetch_membersrÆ  ô  s°   ø€ ðGð Gð Gð Gð Gõ Ð%˜eÐ%Ð% s¨EÑ2Ô2€DØð >ÝÐ< UÐ<Ð<Ð<Ñ=Ô=Ð=Ý	Œ�dÑ	Ô	×	"Ò	"­;Ð	"Ñ	7Ô	7€BØ�F”×"Ò"¥3Ñ'Ô'Ô+×1Ò1°!Ñ4Ô4€B€v�JØ€Ir`   rá   rb  Úheadc           
     ó  — |rm|                       |dd¬¦  «         t          t          j        |t	          t          | ¦  «        ¦  «        t          | j        ¦  «        dœd¬¦  «        ¦  «         d S t          j	        dddd	¦  «        5  t          |  
                    |¦  «                             dd
¬¦  «        ¦  «         d d d ¦  «         n# 1 swxY w Y   t          | ¦  «        |k    r"t          dt          | ¦  «        › d�¦  «         d S d S )NFr>  r?  )Úsavedrà   rÏ   )r†   zdisplay.widthrI  zdisplay.max_columnsé2   r}   )r¯   Úmax_colwidthu   ... å…± u    è¡Œï¼ˆ--out è�½ç›˜çœ‹å…¨é‡�ï¼‰)rC  r[   r‹   r�   re   r¦   ré   rÏ   rØ   Úoption_contextrÇ  Ú	to_string)rá   rb  rÇ  s      r^   Ú_emitrÎ    sa  € Ø
ð Ø
�	Š	�#˜U¨[ˆ	Ñ9Ô9Ð9Ý�dŒj 3µµC¸±G´G±´Ý%)¨"¬*Ñ%5Ô%5ð7ð 7ØEJðLñ Lô Lñ 	Mô 	Mð 	MàˆÝ	Ô	˜?¨CÐ1FÈÑ	KÔ	Kð Eð EÝˆb�gŠg�d‰mŒm×%Ò%¨EÀÐ%ÑCÔCÑDÔDÐDðEð Eð Eñ Eô Eð Eð Eð Eð Eð Eð Eøøøð Eð Eð Eð Eå
ˆ2�w„w�‚~€~ÝÐA�˜R™œÐAÐAÐAÑBÔBÐBÐBÐBð €~s   Â8CÃCÃCc           
     ór  — t          j        d¬¦  «        }|                     dd¬¦  «        }|                     d¦  «        }|                     d¦  «         |                     dd	t          t          ¦  «        ¬
¦  «         |                     ddt          t          ¦  «        ¬
¦  «         |                     dt          d¬¦  «         |                     ddddg¬
¦  «         |                     ddg d¢¬
¦  «         |                     d¦  «         |                     dt          d¬¦  «         |                     d¦  «        }|                     ddddg¬
¦  «         |                     dt          d¬¦  «         |                     ddg d¢¬
¦  «         |                     d¦  «         |                     dt          d ¬¦  «         |                     d!¦  «        }|                     d¦  «         |                     ddddg¬
¦  «         |                     d"¦  «        }|                     dd#d#d$g¬
¦  «         |                     d¦  «         |                     dt          d%¬¦  «         |                     d&¦  «        }|                     d'¦  «         |                     d¦  «         |                     dt          d%¬¦  «         | 	                    | ¦  «        }|j
        dk    rMt          t          |j        |j        |j        |j        |j        |j        ¦  «        |j        |j        ¦  «         d S |j
        dk    r;t          t+          |j        |j        |j        ¦  «        |j        |j        ¦  «         d S |j
        d!k    r>t1          t3          j        t7          |j        |j        ¦  «        d(d)¬*¦  «        ¦  «         d S |j
        d"k    r/t          t9          |j        ¦  «        |j        |j        ¦  «         d S |j
        d&k    r/t          t;          |j        ¦  «        |j        |j        ¦  «         d S d S )+Nu,   Aè‚¡å…¬å¼€æ•°æ�® CLIï¼ˆå¤šæº�è‡ªåŠ¨é™�çº§ï¼‰)ÚdescriptionÚcmdT)ÚdestÚrequiredr:  r#   z--periodr   )r‡   Úchoicesz--adjustr    z--limitr&  )Útyper‡   z--kindr«   r¯   z--sourcer'  )r'  r,  r*  r#  r+  z--outz--headr  Úsnapshotz--scoper‘  r£   z--ttlr   )r'  r,  r#  r   ÚquoteÚsectorsrK   Úconceptrp  ÚmembersrÃ  Fr   )r†   Úindent)ÚargparseÚArgumentParserÚadd_subparsersÚ
add_parserÚadd_argumentré   rÕ   rÖ   re   Ú
parse_argsrÑ  rÎ  r9  r#   rÜ   rÝ   rÞ   r¬   r(  rb  rÇ  r™  rF  r„   r[   r‹   r�   rµ  rÂ  rÆ  rÃ  )	ÚargvÚapr¥   rê   r7  ÚqÚsecr³  Úas	            r^   Úmainrç    sÌ  € Ý	Ô	 Ð-[Ð	\Ñ	\Ô	\€BØ
×
Ò
 °Ð
Ñ
6Ô
6€Cà�Š�wÑÔ€AØ‡N‚N�6ÑÔÐØ‡N‚N�: uµd½3±i´i€NÑ@Ô@Ð@Ø‡N‚N�: uµd½3±i´i€NÑ@Ô@Ð@Ø‡N‚N�9¥3°€NÑ4Ô4Ð4Ø‡N‚N�8 W°wÀÐ6H€NÑIÔIÐIØ‡N‚N�: vÐ7YÐ7YÐ7Y€NÑZÔZÐZØ‡N‚N�7ÑÔÐØ‡N‚N�8¥#¨r€NÑ2Ô2Ð2à�Š�zÑ"Ô"€AØ‡N‚N�9 e°e¸T°]€NÑCÔCÐCØ‡N‚N�7¥¨b€NÑ1Ô1Ð1Ø‡N‚N�: vÐ7MÐ7MÐ7M€NÑNÔNÐNØ‡N‚N�7ÑÔÐØ‡N‚N�8¥#¨r€NÑ2Ô2Ð2à�Š�wÑÔ€AØ‡N‚N�6ÑÔÐØ‡N‚N�8 W°wÀÐ6H€NÑIÔIÐIà
�.Š.˜Ñ
#Ô
#€CØ×Ò�X z¸JÈ	Ð;RÐÑSÔSÐSØ×Ò�WÑÔÐØ×Ò�X¥C°ÐÑ4Ô4Ð4à�Š�yÑ!Ô!€AØ‡N‚N�7ÑÔÐØ‡N‚N�7ÑÔÐØ‡N‚N�8¥#¨r€NÑ2Ô2Ð2à
�Š�dÑÔ€Aà„u�ÒÐÝ�k˜!œ& !¤(¨A¬H°a´g¸q¼vÀqÄxÑPÔPÐRSÔRWÐYZÔY_Ñ`Ô`Ð`Ð`Ð`Ø	
Œ�*Ò	Ð	Ý�n˜QœW a¤e¨Q¬XÑ6Ô6¸¼¸q¼vÑFÔFÐFÐFÐFØ	
Œ�'Ò	Ð	Ý�dŒj� Q¤V¨Q¬VÑ4Ô4À5ÐQRÐSÑSÔSÑTÔTÐTÐTÐTØ	
Œ�)Ò	Ð	Ý�m˜AœFÑ#Ô# Q¤U¨A¬FÑ3Ô3Ð3Ð3Ð3Ø	
Œ�)Ò	Ð	Ý�m˜AœGÑ$Ô$ a¤e¨Q¬VÑ4Ô4Ð4Ð4Ð4ð 
Ð	r`   Ú__main__)rW   rX   )Nr   r   N)
ra   rX   rb   rc   rd   re   rf   re   rg   rh   )ry   rX   rz   r   )ry   rX   r„   re   )r#   rX   rz   r”   )r«   )r#   rX   r¬   rX   rz   rX   )rz   r¹   )r   r    r&  r«   r'  )r#   rX   rÜ   rX   rÝ   rX   rÞ   re   r¬   rX   r(  rX   rz   r¹   )
r#   rX   rÜ   rX   rÝ   rX   rÞ   re   r„   re   )rF  rX   rz   rG  )r‘  r   r'  )rF  rX   r„   re   r(  rX   rz   r¹   )r#   rX   r¬   rX   rz   r]  )rK   r¶  )r¬   rX   r„   re   rz   r¹   )r;  )rÃ  rX   r„   re   rz   r¹   )rá   r¹   rb  rh   rÇ  re   r·   )DÚ__doc__Ú
__future__r   rÜ  r  r   r  r‹   r¤   r\   rq   Úpathlibr   ÚpandasrØ   rl   Ú__file__ÚresolveÚparentÚROOTr~   rA  rn   r×   r\  rñ   r­  r$  rq  rÕ   rð   rÖ   rZ  rY  r[  rV   Ú__annotations__r_   rx   rƒ   r“   rª   r³   rµ   r¸   râ   rü   Ú
__import__Úlocalr  r	  r  r%  r9  r@  Ú	KLINE_TTLrE  rc  r�  r™  r±  rµ  rÂ  rÆ  rÎ  rç  Ú__name__Úexitrç   r`   r^   ú<module>r÷     sÀ  ððð ð ð #Ð "Ð "Ð "Ð "Ð "à €€€Ø Ð Ð Ð Ø €€€Ø 	€	€	€	Ø €€€Ø 	€	€	€	Ø 
€
€
€
Ø €€€Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ø €€€à€tˆH�~„~×ÒÑÔÔ&Ô-€Øˆw‰€Ø ‡‚�D 4€Ñ (Ô (Ð (ðCà-ðð €ð
 C€Ø
8€Ø?€Ø#€ØZ€
ð+€	ð �a ¨2°bØ˜3¨ð.ð .€à 6°GØ ¨e¸EðCð C€	à˜ 1Ð%Ð%€à	,€Ø€ðØ	ˆ6ðØ˜&ðØ"&¨ðØ15°yðØBFÈðàˆ(ðà˜(ðà$(¨+ðà7;¸Zðð 	ˆ(ðð ˜;ðð ).¨vðð 8=¸eðð 
ˆ6ð	ð ˜+ð	ð (-¨fð	ð 7<¸\ð	ð
 ˜¨E¸)Ø °]Ø ðð ð €ð €Ð Ð Ð Ñ ð*ð *ð *ð *ð ?@Ø37ð"ð "ð "ð "ð "ð Qð Qð Qð Qðð ð ð ðð ð ð ð.ð .ð .ð .ð .ðð ð ð ð ð!ð !ð !ð !ð !ð
ð ð ð ð.%ð %ð %ð %ð< ˆJ�{Ñ#Ô#×)Ò)Ñ+Ô+€	ðð ð ðð ð ð ð4+ð +ð +ð +ð* ?DØEKðJð Jð Jð Jð Jð> �W‰n˜wÑ&€Ø€	ð +0¸uØ!¨iðð ð ð ð ð6!ð !ð !ð !ð6Að Að Að AðHJð Jð Jð Jð Jð,ˆ6�1ð �f˜að  ¨!ð ¨[¸!ð ¸VÀQð Ø�QðØ ðØ$)¨2ðØ/8¸"ðØ>DÀbðà�"ðà" Bðà(2°Bðà8<¸bðð ˜ðð ,¨Rðð 2;¸Bðð GIØð	ð ð €ðð ð ð ð ð8ð ð ð ð ð6ð ð ð ð ð&	Cð 	Cð 	Cð 	Cð.5ð .5ð .5ð .5ðb ˆzÒÐØ€C„HˆTˆT‰VŒVÑÔÐÐÐð Ðr`   