
    ei)                     <   d dl mZmZmZmZmZ d dlmZ ddl mZm	Z	 ddl
mZmZ ddlmZmZ deeef         d	efd
ZdZdZdZdez  Zdez  Zedz  Zdez  ZedfedfedfedfedfedfedffZdeeeef                  d	eeeef                  fdZded	eeeef                  fdZdZded	efdZ de	d	efdZ!ded	efdZ"ded	e#fd Z$d!ed	e#fd"Z%d#ed	ee         fd$Z&d#ed	eeeef                  fd%Z'd&eeef         d	efd'Z(d(ee         d	efd)Z)d*ed	efd+Z*d,S )-    )AnyIterableIteratorTupleUnion)parse   )URIHash32   )denomsfrom_wei)sliding_windowtakesecondsreturnc                     t          |           dk    rdS t          t          t          |                               }d                    d t	          d|          D                       S )Nr   0s c              3   (   K   | ]\  }}| | V  d S N ).0amountunits      n/var/www/html/volatility/venv/lib/python3.11/site-packages/ccxt/static_dependencies/ethereum/utils/humanize.py	<genexpr>z#humanize_seconds.<locals>.<genexpr>"   s1      OO,&$v%t%%OOOOOO       )int_consume_leading_zero_units_humanize_secondsjoinr   )r   unit_valuess     r   humanize_secondsr%      s_    
7||qt-.?G.M.MNNK77OO$q+:N:NOOOPPPr   <   i     im        ymwdhs
units_iterc              #   D   K   | D ]\  }}|dk    r||fV   | E d {V  d S )Nr   r   )r0   r   r   s      r   r!   r!   9   sX       #  Q;;4.   r   c              #   R   K   | }t           D ]\  }}|s d S ||z  }||fV  ||z  }d S r   )UNITS)r   	remainderdurationr   nums        r   r"   r"   F   sZ      I  $ 	EE8#4iX		 r      valuec                     t          |           t          dz   k    r|                                 S |                                 }|d t                   }|dt          z  d          }| d| S )Nr   ..)lenDISPLAY_HASH_CHARShex)r8   value_as_hexheadtails       r   humanize_bytesrB   V   so    
5zz'!+++yy{{99;;L+++,D//112Ddr   c                      t          |           S r   )rB   )r8   s    r   humanize_hashrD   _   s    %   r   uric                     t          |           st          |  d          t          j        |           }|j        }|d t
                   }|dt
          z  d          }d| d| S )NzW does not look like a valid IPFS uri. Currently, only CIDv0 hash schemes are supported.r:   zipfs://r;   )is_ipfs_uri	TypeErrorr   urlparsenetlocr=   )rE   parsed	ipfs_hashr@   rA   s        r   humanize_ipfs_urirM   c   s    s 
 5 5 5
 
 	

 ^C  FI((()DR,,../D#T##T###r   c                     t          | t                    sdS t          j        |           }|j        dk    s|j        sdS t          |j                  S )NFipfs)
isinstancestrr   rI   schemerJ   _is_CIDv0_ipfs_hash)r8   rK   s     r   rG   rG   q   sQ    eS!! u^E""F}fmuv}---r   rL   c                 Z    |                      d          rt          |           dk    rdS dS )NQm.   TF)
startswithr<   )rL   s    r   rS   rS   |   s2    D!! c)nn&:&:t5r   valuesc               '      K   dV  t          t          d|           d          D ]\  }\  }}|dz   |k    r|V  t          |           V  d S )Nr   r	   r   )	enumerater   r<   )rX   indexleftrights       r   _find_breakpointsr^      sp      
GGG ).F*C*CQ G G  }e!8uKKKK
f++r   c               '   |   K   t          dt          |            D ]!\  }}| ||         }|d         |d         fV  "dS )z
    Return a tuple of consecutive ranges of integers.

    :param values: a sequence of ordered integers

    - fn(1, 2, 3) -> ((1, 3),)
    - fn(1, 2, 3, 7, 8, 9) -> ((1, 3), (7, 9))
    - fn(1, 7, 8, 9) -> ((1, 1), (7, 9))
    r	   r   r:   N)r   r^   )rX   r\   r]   chunks       r   _extract_integer_rangesra      s_       &a):F)CDD " "etEz"Ahb	!!!!!" "r   boundsc                 D    | \  }}||k    rt          |          S | d| S )N-)rQ   )rb   r\   r]   s      r   _humanize_rangere      s4    KD%u}}4yy     r   values_iterc                     t          |           }|sdS d                    t          t          t	          |                     S )z
    Return a concise, human-readable string representing a sequence of integers.

    - fn((1, 2, 3)) -> '1-3'
    - fn((1, 2, 3, 7, 8, 9)) -> '1-3|7-9'
    - fn((1, 2, 3, 5, 7, 8, 9)) -> '1-3|5|7-9'
    - fn((1, 7, 8, 9)) -> '1|7-9'
    z(empty)|)tupler#   mapre   ra   )rf   rX   s     r   humanize_integer_sequencerk      sA     ;F PyxxO-Df-MNNOOOr   numberc                     | t           j        k    rd}n| t           j        k    rd}nd}t          | |          }t	          |           d| }|S )Nethergweiwei )r   finneymweir   rQ   )rl   r   r   xs       r   humanize_weiru      s\    	6;		fd##Fv;;AHr   N)+typingr   r   r   r   r   urllibr   r
   r   currencyr   r   toolzr   r   floatr    rQ   r%   SECONDMINUTEHOURDAYYEARMONTHWEEKr3   r!   r"   r=   bytesrB   rD   rM   boolrG   rS   r^   ra   re   rk   ru   r   r   r   <module>r      sw                           
       
       QeE3J/ QC Q Q Q Q 
	4i
Sy
3w 
3K
CL	3K#J	3KSMSM	
sCx)
eCHo
 
 
 

s 
xc3h'@ 
 
 
 
  % C    ! !C ! ! ! !$3 $3 $ $ $ $.s .t . . . .3 4    s x}    "S "XeCHo-F " " " "!E#s(O ! ! ! ! !P8C= PS P P P P 	 	 	 	 	 	 	 	r   