Ë
    ôU.jmV  ã                   óè   — d dl Zd dlZd dlZddlmZmZ ddlmZm	Z	m
Z
 ddlmZ d„ Z ed«      hZd„ Zd	d
ddœZd„ Z ej&                  d«      Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z y)é    Né   )ÚMetricÚMETRIC_LABEL_NAME_RE)ÚExemplarÚSampleÚ	Timestamp)ÚfloatToGoStringc              #   ó\   K  — t        t        j                  | «      «      E d{  –—†  y7 Œ­w)z^Parse Openmetrics text format from a unicode string.

    See text_fd_to_metric_families.
    N)Útext_fd_to_metric_familiesÚStringIO)Útexts    úfC:\xampp\htdocs\tradingbinance\backend\.venv\Lib\site-packages\prometheus_client/openmetrics/parser.pyÚtext_string_to_metric_familiesr      s!   è ø€ ô
 *¬(×*;Ñ*;¸DÓ*AÓB×BÒBús   ‚",¤*¥,Úinfc                 óF   — t        | «      }|t        vry| t        |«      k7  S )NF)ÚfloatÚ_CANONICAL_NUMBERSr	   )ÚsÚfs     r   Ú_isUncanonicalNumberr      s'   € Üˆa‹€AØÔ"Ñ"ØØ” Ó"Ñ"Ð"ó    Ú\Ú
Ú")z\\z\nz\"c                 ó2   — t         | j                  d«         S )Nr   )ÚESCAPE_SEQUENCESÚgroup)Úmatchs    r   Ú_replace_escape_sequencer   &   s   € Ü˜EŸK™K¨›NÑ+Ð+r   z\\[\\n"]c                 ó6   — t         j                  t        | «      S ©N)ÚESCAPING_REÚsubr   )r   s    r   Ú_replace_escapingr$   -   s   € Ü�?‰?Ô3°QÓ7Ð7r   c                 óN  — g }d}| D ]y  }|r\|dk(  r|j                  d«       nB|dk(  r|j                  d«       n+|dk(  r|j                  d«       n|j                  d|z   «       d}Œa|dk(  rd}Œi|j                  |«       Œ{ |r|j                  d«       dj                  |«      S )NFr   r   Únr   TÚ )ÚappendÚjoin)r   ÚresultÚslashÚchars       r   Ú_unescape_helpr-   1   sž   € Ø€FØ€EãˆÙØ�tŠ|Ø—‘˜dÕ#Ø˜’Ø—‘˜cÕ"Ø˜’Ø—‘˜dÕ#à—‘˜d T™kÔ*Ø‰Eà�tŠ|Ø‘à—‘˜dÕ#ð ñ" Ø�‰�dÔà�7‰7�6‹?Ðr   c                 óº   — dj                  | «      } | | j                  «       k7  sd| v rt        d| ›�«      ‚	 t        | «      S # t        $ r t	        | «      cY S w xY w)Nr'   Ú_zInvalid value: )r)   ÚstripÚ
ValueErrorÚintr   )Úvalues    r   Ú_parse_valuer4   L   s]   € Ø�G‰G�E‹N€EØ�—‘“Ò ¨¡Ü˜?¨5¨)Ð4Ó5Ð5ðÜ�5‹zÐøÜò Ü�U‹|Òðús   ¸
A ÁAÁAc           
      óþ  — dj                  | «      } | sy | | j                  «       k7  sd| v rt        d| ›�«      ‚	 t        t	        | «      d«      S # t        $ r£ 	 | j                  dd«      }t        t	        |d   «      t	        |d   d d j                  dd«      «      «      cY S # t        $ rJ t        | «      }t        j                  |«      st        j                  |«      rt        d| ›�«      ‚|cY cY S w xY ww xY w)	Nr'   r/   zInvalid timestamp: r   Ú.é   é	   Ú0)r)   r0   r1   r   r2   ÚsplitÚljustr   ÚmathÚisnanÚisinf)Ú	timestampÚpartsÚtss      r   Ú_parse_timestamprB   V   sð   € Ø—‘˜	Ó"€IÙØØ�I—O‘OÓ%Ò%¨°	Ñ)9ÜÐ.¨y¨mÐ<Ó=Ð=ðäœ˜Y›¨Ó+Ð+øÜò 
ð		à—O‘O C¨Ó+ˆEÜœS  q¡›]¬C°°a±¸¸!°×0BÑ0BÀ1ÀcÓ0JÓ,KÓLÒLøÜò 	ä�yÓ!ˆBÜ�z‰z˜"Œ~¤§¡¨B¤Ü Ð#6°y°mÐ!DÓEÐEØŒIð	úð
ús1   »A Á	C<ÁAB%Â"C<Â%AC8Ã3C<Ã7C8Ã8C<c                 ón   — d}||kD  r'| |dz
  |z
     dk(  r|dz  }||kD  r| |dz
  |z
     dk(  rŒ|dz  dk(  S )Nr   r7   r   r   © )r   ÚcharposÚnum_bslashess      r   Ú_is_character_escapedrG   l   s_   € Ø€LØ�\Ò!Ø�˜1‘˜|Ñ+Ñ,°Ò4Ø˜Ñˆð �\Ò!Ø�˜1‘˜|Ñ+Ñ,°Ó4à˜!Ñ˜qÑ Ð r   c                 óH  — d}g }g }i }d}| D �]�  }|dk(  r|dk(  rd}�nyd}|j                  |«       �nd|dk(  r|dk(  rd}�nV|j                  |«       �nC|dk(  r|dk(  rd	}�n5t        d
| z   «      ‚|d	k(  r�|dk(  rd}�n|dk(  radj                  |«      }t        j                  |«      st        d| z   «      ‚||v rt        d| z   «      ‚dj                  |«      ||<   g }g }d}n³|j                  |«       n¡|dk(  r|dk(  rd}n”|dk(  rd}nŒt        d
| z   «      ‚|dk(  r\d	}|dk(  r|j                  d«       n`|dk(  r|j                  d«       nI|dk(  r|j                  d«       n2|j                  d|z   «       n|dk(  r|dk(  r ||fS t        d
| z   «      ‚|dz  }�Œ’ ||fS )NÚstartoflabelnamer   Ú}ÚendoflabelsÚ	labelnameÚ=Úlabelvaluequoter   Ú
labelvalueúInvalid line: r   Úlabelvalueslashr'   zInvalid line, bad label name: z$Invalid line, duplicate label name: ÚendoflabelvalueÚ,r&   r   Ú r7   )r(   r1   r)   r   r   )r   ÚstaterL   rO   ÚlabelsÚ
labels_lenr,   Úlns           r   Ú _parse_labels_with_state_machinerY   t   sÿ  € à€EØ€IØ€JØ€FØ€JäˆØÐ&Ò&Ø�sŠ{Ø%’à#�Ø× Ñ  Ö&Ø�kÒ!Ø�sŠ{Ø)’à× Ñ  Ö&ØÐ'Ò'Ø�sŠ{Ø$’ä Ð!1°DÑ!8Ó9Ð9Ø�lÒ"Ø�tŠ|Ø)’Ø˜’Ø—W‘W˜YÓ'�Ü+×1Ñ1°"Ô5Ü$Ð%EÈÑ%LÓMÐMØ˜‘<Ü$Ð%KÈdÑ%RÓSÐSØŸW™W ZÓ0��r‘
Ø�	Ø�
Ø)‘à×!Ñ! $Õ'ØÐ'Ò'Ø�sŠ{Ø#‘Ø˜’Ø%‘ä Ð!1°DÑ!8Ó9Ð9ØÐ'Ò'Ø ˆEØ�tŠ|Ø×!Ñ! $Õ'Ø˜’Ø×!Ñ! $Õ'Ø˜’Ø×!Ñ! #Õ&à×!Ñ! $¨¡+Õ.Ø�mÒ#Ø�sŠ{Øð �:ÐÐô !Ð!1°DÑ!8Ó9Ð9Ø�a‰Š
ðm ðn �:ÐÐr   c                 ó¤  — i }| r
d| vrt         ‚| }	 |�r |j                  d«      }|d | }||dz   d  }|r|d   dk7  rt         ‚|dd  }|r|d   dk(  rt         ‚|r|d   dk(  rt         ‚d}|t        |«      k  r6|j                  d|«      }t        |d | |«      sn|dz  }|t        |«      k  rŒ6|dz   }|d| }d|v rt	        |«      }t        j                  |«      st        d| z   «      ‚||v rt        d	| z   «      ‚|||<   ||dz   d  }|j                  d«      rd}	nd}	||	d  }|r|	dk(  rt         ‚|r�Œ |S # t         $ r t        d
| z   «      ‚w xY w)NrM   r7   r   r   rS   éÿÿÿÿr   zinvalid line, bad label name: z$invalid line, duplicate label name: zInvalid labels: )r1   ÚindexÚlenrG   r$   r   r   Ú
startswith)
r   rV   Ú
sub_labelsÚvalue_startÚ
label_nameÚvalue_substrÚiÚ	quote_endÚlabel_valueÚ
next_commas
             r   Ú_parse_labelsrg   ¶   sÔ  € Ø€Fñ �˜4‘ÜÐð €Jð84âà$×*Ñ*¨3Ó/ˆKØ# L [Ð1ˆJØ# K°!¡OÐ$4Ð5ˆJñ  ¨A¡°#Ò!5Ü Ð ð & a b˜>ˆLñ  ¨A¡°#Ò!5Ü Ð Ù <°Ñ#3°sÒ#:Ü Ð ð ˆAØ”c˜,Ó'Ò'Ø ×&Ñ& s¨AÓ.�Ü,¨\¸"¸1Ð-=¸qÔAØØ�Q‘�ð	 ”c˜,Ó'Ó'ð ˜A™ˆIØ$ Q yÐ1ˆKà�{Ñ"Ü/°Ó<�Ü'×-Ñ-¨jÔ9Ü Ð!AÀDÑ!HÓIÐIØ˜VÑ#Ü Ð!GÈ$Ñ!NÓOÐOØ!,ˆF�:Ñð $ I°¡M NÐ3ˆJØ×$Ñ$ SÔ)Ø‘
à�
Ø# J KÐ0ˆJñ ˜j¨AšoÜ Ð óc ðf ˆøäò 4ÜÐ+¨dÑ2Ó3Ð3ð4ús   ’BD7 Â.BD7 Ä5D7 Ä7Ec                 ó¤  — d}| j                  d«      }|dk(  s|| d | v r<| j                  d«      }| d | }| |dz   d  }t        |«      \  }}}t        |i |||«      S | d | }|| vr%| j	                  d«      }	| |dz   |	 }
t        |
«      }n"t        | |dz   d  «      \  }}|t        |«      z   }	| |	dz   d  }t        |«      \  }}}t        |||||«      S )Nz # Ú{r[   rT   r7   rJ   r   )Úfindr\   Ú_parse_remaining_textr   Úrindexrg   rY   r]   )r   Ú	separatorÚlabel_startÚname_endÚnameÚremaining_textr3   r?   ÚexemplarÚ	label_endÚlabelrV   rW   s                r   Ú_parse_sampleru   ú   s  € Ø€Ià—)‘)˜C“.€KØ�bÒ˜I¨¨l¨{Ð);Ñ;à—:‘:˜c“?ˆØ�I�Xˆˆà˜h¨™l˜mÐ,ˆÜ%:¸>Ó%JÑ"ˆˆy˜(Ü�d˜B  y°(Ó;Ð;à��Ð€DØ˜Ñð —K‘K Ó$ˆ	Ø�[ 1‘_ YÐ/ˆÜ˜uÓ%‰ô >¸dÀ;ÐQRÁ?ÐCSÐ>TÓUÑˆ�
Ø¤ T£Ñ*ˆ	à˜) a™-˜.Ð)€NÜ!6°~Ó!FÑ€Eˆ9�hÜ�$˜  y°(Ó;Ð;r   c                 ó8  — | j                  dd«      }t        |d   «      }t        |«      dk(  r|d d fS g }g }g }d }d}|d   } t        | «      }|D �]&  }	|dk(  r$|	dk(  r|sd}Œ|	dk(  rd}Œ|j	                  |	«       Œ-|dk(  r|	dk(  rd}Œ:t        d| z   «      ‚|dk(  r|	dk(  rd	}ŒUt        d| z   «      ‚|d	k(  rI|	d
k(  r6| j                  d
«      | j                  d«      }}
t        | |
dz   | «      }d}Œ£t        d| z   «      ‚|dk(  r	|	dk(  sŒ¼d}Œ¿|dk(  r|	dk(  rd}ŒÌt        d| z   «      ‚|dk(  r0|	dk(  r|st        d| z   «      ‚|	dk(  rd}Œü|j	                  |	«       �Œ|dk(  s�Œ|j	                  |	«       �Œ) |dk(  r|st        d| z   «      ‚|dk(  r|st        d| z   «      ‚|dv rt        d| z   «      ‚t        |«      }d }|�Rt        d„ |j                  «       D «       «      }|dkD  rt        d| z   «      ‚t        |t        |«      t        |«      «      }|||fS )NrT   r7   r   r?   Ú#ÚexemplarspaceÚexemplarhashrP   Úexemplarstartoflabelsri   rJ   ÚexemplarparsedlabelsÚexemplarvaluespaceÚexemplarvalueÚexemplartimestamp)ry   rx   rz   r{   c              3   óP   K  — | ]  \  }}t        |«      t        |«      z   –— Œ  y ­wr!   )r]   )Ú.0ÚkÚvs      r   Ú	<genexpr>z(_parse_remaining_text.<locals>.<genexpr>c  s#   è ø€ ÐRÑ:Q±$°!°Qœc !›f¤s¨1£v�oÑ:Qùs   ‚$&é€   zExemplar labels are too long: )r:   r4   r]   Úiterr(   r1   r\   rl   rg   rB   ÚsumÚitemsr   )r   Ú
split_textÚvalr?   Úexemplar_valueÚexemplar_timestampÚexemplar_labelsrU   Úitr,   rn   rs   rA   rr   Úexemplar_lengths                  r   rk   rk     s™  € Ø—‘˜C Ó#€JÜ
�z !‘}Ó
%€CÜ
ˆ:ƒ˜!Òà�D˜$ˆÐà€IØ€NØÐØ€Oà€EØ�a‰=€Dä	ˆd‹€BÜˆØ�KÒØ�sŠ{¡9Ø'‘Ø˜’Ø&‘à× Ñ  Õ&Ø�nÒ$Ø�sŠ{Ø'‘ä Ð!1°DÑ!8Ó9Ð9Ø�oÒ%Ø�sŠ{Ø/‘ä Ð!1°DÑ!8Ó9Ð9ØÐ-Ò-Ø�sŠ{Ø)-¯©°C«¸$¿+¹+ÀcÓ:J˜Y�Ü"/°°[À1±_ÀYÐ0OÓ"P�Ø.‘ä Ð!1°DÑ!8Ó9Ð9ØÐ,Ò,Ø�s‹{Ø,‘ØÐ*Ò*Ø�sŠ{Ø'‘ä Ð!1°DÑ!8Ó9Ð9Ø�oÒ%Ø�sŠ{¡>Ü Ð!1°DÑ!8Ó9Ð9Ø˜’Ø+‘à×%Ñ% dÖ+ØÐ)Ô)Ø×%Ñ% dÖ+ðS ðX �Ò¡IÜÐ)¨DÑ0Ó1Ð1ð Ð#Ò#Ñ,>ÜÐ)¨DÑ0Ó1Ð1ð ÐbÑbÜÐ)¨DÑ0Ó1Ð1ä	˜)Ó	$€BØ€HØÐ"ÜÑR¸/×:OÑ:OÔ:QÓRÓRˆØ˜SÒ ÜÐ=ÀÑDÓEÐEÜØÜ˜Ó(ÜÐ/Ó0ó
ˆð ��HÐÐr   c                 ó@  — |dk(  ri S |dk(  r.| j                   |k(  r| j                  j                  «       }|d= |S |dk(  r| j                  j                  «       }||= |S |dv r1| j                   |dz   k(  r| j                  j                  «       }|d= |S | j                  S )NÚinfoÚsummaryÚquantileÚstateset©Ú	histogramÚgaugehistogramÚ_bucketÚle)rp   rV   Úcopy)Úsamplerp   ÚtypÚds       r   Ú_group_for_sampler�   o  s¦   € Ø
ˆf‚}àˆ	Ø
ˆiÒ˜FŸK™K¨4Ò/Ø�M‰M×ÑÓ ˆØˆjˆMØˆØ
ˆjÒØ�M‰M×ÑÓ ˆØˆdˆGØˆØ
Ð-Ñ-°&·+±+ÀÈ	ÑAQÒ2QØ�M‰M×ÑÓ ˆØˆdˆGØˆØ�=‰=Ðr   c                 ó>  ‡‡	‡
‡‡‡‡‡— d }d }ˆ	ˆ
ˆˆˆˆˆˆfd„}| D ]ö  }|j                   t        ‰«      d  }t        |‰d«      }||k7  s|j                  |k7  r|� |«        d Š
d Š	dŠdŠdŠdŠdŠ|}|j                  }|dk(  r`t	        |j
                  d   «      }|dk  rdŠ‰	�|‰	k  rt        d‰z   «      ‚|j                  ‰k  rt        d	‰z   «      ‚|Š	|j                  ŠŒÆ|d
v r|j                  Š
Œ×|dv rdŠŒÞ|dv sŒãdŠ|j                  dk  sŒõdŠŒø |� |«        y y )Nc                  ó"  •— ‰ t        d«      k7  rt        d‰z   «      ‚‰�‰‰k7  rt        d‰z   «      ‚‰r‰€t        d‰z   «      ‚‰r‰€t        d‰z   «      ‚‰s‰s‰�t        d‰z   «      ‚‰r‰rt        d‰z   «      ‚‰s‰rt        d‰z   «      ‚y y )	Nz+Infz+Inf bucket missing: z!Count does not match +Inf value: z+_count must be present if _sum is present: z-_gcount must be present if _gsum is present: z1_sum/_gsum must be present if _count is present: z(Cannot have _sum with negative buckets: z6Cannot have negative _gsum with non-negative buckets: )r   r1   )ÚbucketÚcountÚhas_gsumÚhas_negative_bucketsÚhas_negative_gsumÚhas_sumrp   r3   s   €€€€€€€€r   Ú	do_checksz#_check_histogram.<locals>.do_checks†  s¿   ø€ Ø”U˜6“]Ò"ÜÐ4°tÑ;Ó<Ð<ØÐ ¨%¢ÜÐ@À4ÑGÓHÐHÙ�u�}ÜÐJÈTÑQÓRÐRÙ˜˜ÜÐLÈtÑSÓTÐTÙ™8¨Ð):ÜÐPÐSWÑWÓXÐXÙ¡GÜÐGÈ$ÑNÓOÐOÙ#Ñ(9ÜÐUÐX\Ñ\Ó]Ð]ð ):Ð#r   r•   Fr   r—   r˜   TzBuckets out of order: zBucket values out of order: )Ú_countÚ_gcount)Ú_sum)Ú_gsum)rp   r]   r�   r?   r   rV   r1   r3   )Úsamplesrp   r   r?   r¦   r   ÚsuffixÚgÚbr    r¡   r¢   r£   r¤   r¥   r3   s    `       @@@@@@@r   Ú_check_histogramr¯   ‚  sV  ÿ€ Ø€EØ€I÷^ó ^ó  ˆØ—‘œ˜D›	˜
Ð#ˆÜ˜a  {Ó3ˆØ�Š:˜Ÿ™¨	Ò1ØÐ Ù”ØˆEØˆFØ#(Ð ØˆGØˆHØ %ÐØˆEØˆØ—K‘Kˆ	à�YÒÜ�a—h‘h˜t‘nÓ%ˆAØ�1ŠuØ'+Ð$ØÐ! a¨6¢kÜ Ð!9¸DÑ!@ÓAÐAØ�w‰w˜ŠÜ Ð!?À$Ñ!FÓGÐGØˆFØ—G‘G‰EØÐ,Ñ,Ø—G‘G‰EØ�xÑØ‰GØ�yÒ ØˆHØ�w‰w˜‹{Ø$(Ñ!ðC ðF ÐÙ�ð r   c           
   #   óŠ  ‡‡K  — d}g }d}t        «       Šddgg d¢g d¢g d¢dgd	œŠˆˆfd
„}| D �]î  }|d   dk(  r|dd }|rt        d|z   «      ‚|st        d«      ‚|dk(  rd}Œ6|j                  d«      �r2|j                  dd«      }t	        |«      dk  rt        d|z   «      ‚|d   |k(  rrt        d|z   «      ‚|d   |k7  r;|� ||	
«      –— |d   }d}
d}	d}d}t        «       }d}t        «       }g }|d   g}|d   dk(  r�t        d|z   «      ‚t        |d   «      }Œø|d   dk(  rM	�t        d|z   «      ‚|d   }	|	dk(  rt        d|z   «      ‚‰j                  |	dg«      D �cg c]  }||z   ‘Œ	 }}�ŒM|d   d k(  r
�t        d!|z   «      ‚|d   }
�Œlt        d|z   «      ‚t        |«      }|j                  |vrI|� ||	
«      –— |j                  }d}d}
d"}	g }d}d}t        «       }t        «       }|j                  g}	d#k(  r||j                  vrt        d$|z   «      ‚|d%z   |j                  k(  rE|j                  j                  d&d'«      d'k(  st        |j                  d&   «      rt        d(|z   «      ‚|d%z   |j                  k(  rBt        |j                  t        «      s(|j                  j                  «       st        d)|z   «      ‚|d*z   |j                  k(  s|d+z   |j                  k(  rBt        |j                  t        «      s(|j                  j                  «       st        d,|z   «      ‚|	d-k(  rf||j                  k(  rWd.t        |j                  j                  d/d«      «      cxk  rdk  rn nt        |j                  d/   «      rt        d0|z   «      ‚t!        t#        t%        |||	«      j'                  «       «      «      }�||k7  r|v rt        d1|z   «      ‚|�J||k(  rE|j(                  du du k7  rt        d2|z   «      ‚|�,||j(                  kD  r|	d3k7  rt        d4|z   «      ‚t        «       }|j                  t!        t#        |j                  j'                  «       «      «      f}|j(                  k7  s|vrj+                  |«       j-                  |«       |}|j(                  }j-                  |«       |	d#k(  r|j                  d5vrt        d6|z   «      ‚|	d3k(  r|j                  dk7  rt        d7|z   «      ‚|	d-k(  r,||j                  k(  r|j                  d.k  rt        d8|z   «      ‚|j                  t	        |«      d d9v r-t/        j0                  |j                  «      rt        d:|z   «      ‚|j                  t	        |«      d d;v r|j                  d.k  rt        d<|z   «      ‚|j2                  s�Œ¡|	d=v r|j                  j5                  d%«      r�ŒÂ|	d>v r|j                  j5                  d«      r�Œãt        d?|z   «      ‚ |� ||	
«      –— |st        d@«      ‚yc c}w ­w)AzßParse Prometheus text format from a file descriptor.

    This is a laxer parser than the main Go parser,
    so successful parsing does not imply that the parsed
    text meets the specification.

    Yields Metric's.
    NFÚ_totalÚ_created)r'   r§   r©   r²   )r§   r©   r—   r²   )r¨   rª   r—   Ú_info)Úcounterr‘   r•   r–   r�   c                 óz  •— |€d}t        ‰j                  |g «      dgz   «      D ].  }| |z   ‰v rt        d| z   |z   «      ‚‰j                  | |z   «       Œ0 |€d}|€d}|r"| j	                  d|z   «      st        d| z   «      ‚|r|dv rt        d| z   «      ‚|dv rt        || «       t        | |||«      }||_        |S )	NÚunknownr'   zClashing name: r/   z!Unit does not match metric name: )r�   r“   z(Units not allowed for this metric type: r”   )ÚsetÚgetr1   ÚaddÚendswithr¯   r   r«   )	rp   Údocumentationr›   Úunitr«   r¬   ÚmetricÚ
seen_namesÚtype_suffixess	          €€r   Úbuild_metricz0text_fd_to_metric_families.<locals>.build_metricÓ  sç   ø€ Øˆ;ØˆCÜ˜-×+Ñ+¨C°Ó4¸°tÑ;Ö<ˆFØ�f‰} 
Ñ*Ü Ð!2°TÑ!9¸FÑ!BÓCÐCØ�N‰N˜4 &™=Õ)ð =ð Ð ØˆMØˆ<ØˆDÙ˜Ÿ™ c¨D¡jÔ1ÜÐ@À4ÑGÓHÐHÙ�CÐ/Ñ/ÜÐGÈ$ÑNÓOÐOØÐ1Ñ1Ü˜W dÔ+Ü˜˜m¨S°$Ó7ˆà ˆŒØˆr   r[   r   zReceived line after # EOF: zReceived blank linez# EOFTrw   rT   é   é   rP   r   z!Received metadata after samples: r7   ÚHELPzMore than one HELP for metric: ÚTYPEzMore than one TYPE for metric: ÚuntypedzInvalid TYPE for metric: r'   ÚUNITzMore than one UNIT for metric: r¶   r“   zStateset missing label: r—   r˜   ÚNaNzInvalid le label: z!Bucket value must be an integer: r§   r¨   z Count value must be an integer: r‘   r   r’   zInvalid quantile label: zInvalid metric grouping: z*Mix of timestamp presence within a group: r�   z*Timestamps went backwards within a group: )r   r7   z4Stateset samples can only have values zero and one: z&Info samples can only have value one: z$Quantile values cannot be negative: )r±   r©   r§   r—   r¨   rª   z$Counter-like samples cannot be NaN: )r±   r©   r§   r—   r¨   z)Counter-like samples cannot be negative: r”   )r´   zTInvalid line only histogram/gaugehistogram buckets and counters can have exemplars: zMissing # EOF at end)r·   r1   r^   r:   r]   r-   r¸   ru   rp   rV   r   Ú
isinstancer3   r2   Ú
is_integerr   ÚtupleÚsortedr�   r‡   r?   r(   r¹   r<   r=   rr   rº   )Úfdrp   Úallowed_namesÚeofrÀ   Úliner@   r«   r»   r›   r¼   r   Úseen_groupsÚgroup_timestampÚgroup_timestamp_samplesr&   rš   r­   Ú	series_idr¾   r¿   s                      @@r   r   r   ½  s†  ùè ø€ ð €DØ€MØ
€Cä“€Jà˜jÐ)Ú5Ú>Ú9Ø�	ñ€Mõô, ˆØ�‰8�tÒØ˜˜�9ˆDáÜÐ:¸TÑAÓBÐBáÜÐ2Ó3Ð3à�7Š?Ø‰CØ�_‰_˜SÕ!Ø—J‘J˜s AÓ&ˆEÜ�5‹z˜AŠ~Ü Ð!1°DÑ!8Ó9Ð9Ø�Q‰x˜4Ò¡GÜ Ð!DÀtÑ!KÓLÐLØ�Q‰x˜4ÒØÐ#Ù& t¨]¸CÀÀwÓOÒOà˜Q‘x�Ø�Ø�Ø $�Ø�Ü!›e�Ø"&�Ü*-«%Ð'Ø�Ø!& q¡ 
�à�Q‰x˜6Ò!Ø Ð,Ü$Ð%FÈÑ%MÓNÐNÜ .¨u°Q©xÓ 8‘Ø�q‘˜VÒ#Ø�?Ü$Ð%FÈÑ%MÓNÐNØ˜A‘h�Ø˜)Ò#Ü$Ð%@À4Ñ%GÓHÐHØ3@×3DÑ3DÀSÈ2È$Ô3OÓ PÑ3O¨a ¨£Ð3O�Ò PØ�q‘˜VÒ#ØÐ#Ü$Ð%FÈÑ%MÓNÐNØ˜Q‘x’ä Ð!1°DÑ!8Ó9Ð9ä" 4Ó(ˆFØ�{‰{ -Ñ/ØÐ#Ù& t¨]¸CÀÀwÓOÒOà—{‘{�Ø $�Ø�Ø�Ø�Ø�Ø"&�Ü*-«%Ð'Ü!›e�Ø!'§¡ �à�jÒ  T°·±Ñ%>Ü Ð!;¸dÑ!BÓCÐCØ�yÑ  F§K¡KÒ/ØŸ™×*Ñ*¨4°Ó7¸5Ò@Ü0°·±¸tÑ1DÔEÜ Ð!5¸Ñ!<Ó=Ð=Ø�yÑ  F§K¡KÒ/Ü'¨¯©´cÔ:À6Ç<Á<×CZÑCZÔC\Ü Ð!DÀtÑ!KÓLÐLØ˜‘ F§K¡KÒ/°4¸)Ñ3CÀvÇ{Á{Ò3RÜ'¨¯©´cÔ:À6Ç<Á<×CZÑCZÔC\Ü Ð!CÀdÑ!JÓKÐKØ�yÒ  T¨V¯[©[Ò%8Ø¤5¨¯©×):Ñ):¸:ÀrÓ)JÓ#KÔPÈqÕPÜ0°·±¸zÑ1JÔKÜ Ð!;¸dÑ!BÓCÐCä”fÔ.¨v°t¸SÓA×GÑGÓIÓJÓKˆAØÐ  Q¨%¢Z°A¸Ñ4DÜ Ð!<¸tÑ!CÓDÐDØÐ  Q¨%¢ZØ×$Ñ$¨Ð,°/ÀTÐ2IÒJÜ$Ð%QÐTXÑ%XÓYÐYØ"Ð.°?ÀV×EUÑEUÒ3UÐZ]ÐagÒZgÜ$Ð%QÐTXÑ%XÓYÐYä*-«%Ð'àŸ™¤e¬F°6·=±=×3FÑ3FÓ3HÓ,IÓ&JÐKˆIØ×Ñ ?Ò2°iÐG^Ñ6^à—‘˜vÔ&Ø#×'Ñ'¨	Ô2àˆEØ$×.Ñ.ˆOØ�O‰O˜AÔà�jÒ  V§\¡\¸Ñ%?Ü Ð!WÐZ^Ñ!^Ó_Ð_Ø�fŠ} §¡°Ò!2Ü Ð!IÈDÑ!PÓQÐQØ�iÒ D¨F¯K©KÒ$7¸F¿L¹LÈ1Ò<LÜ Ð!GÈ$Ñ!NÓOÐOØ�{‰{œ3˜t›9˜:Ð&Ð*eÑeÔjn×jtÑjtØ—L‘Lôk"ä Ð!GÈ$Ñ!NÓOÐOØ�{‰{œ3˜t›9˜:Ð&Ð*\Ñ\Ðag×amÑamÐpqÒaqÜ Ð!LÈtÑ!SÓTÐTØ�ŒØÐ;Ñ;ÀÇÁ×@TÑ@TÐU^Ö@_Ø˜{Ñ*¨v¯{©{×/CÑ/CÀHÖ/MÜ Ð!wÐz~Ñ!~ÓÐðo ðr ÐÙ˜4 °°T¸7ÓCÒCáÜÐ/Ó0Ð0ð ùòc !Qùs%   „E'YÅ+X>Å7QY×Y×0YØ2Y)!Úior   r<   ÚreÚmetrics_corer   r   r«   r   r   r   Úutilsr	   r   r   r   r   r   r   Úcompiler"   r$   r-   r4   rB   rG   rY   rg   ru   rk   r�   r¯   r   rD   r   r   Ú<module>rÙ      s¢   ðó Û Û 	ç 7ß 1Ñ 1Ý #òCñ ˜E“l�^Ð ò#ð ØØñÐ ò,ð ˆb�j‰j˜Ó%€ò8òò6òò,!ò?òDA4òH<ò>Sòlò&8óvi1r   