Ë
    ×—ÄjH  ã                  óò   — d dl mZ d dlmZ d dlmZ d dlmZ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mZ d dlmZmZmZ er(d dlmZmZ d d	l
mZ d d
lmZmZ d dlmZ d dlmZ d dlmZ  G d„ de«      Zy)é    )Úannotations)ÚIterable)Údatetime)ÚTYPE_CHECKINGÚAnyN)ÚAdvisoryBase)Ú	AttributeÚNotSetÚOpt)ÚAdvisoryCreditÚCredit)ÚAdvisoryCreditDetailed)ÚAdvisoryVulnerabilityÚAdvisoryVulnerabilityInput)Ú	NamedUser)Ú
Repository)ÚTeamc                  óâ  ‡ — e Zd ZdZdˆ fd„Zedd„«       Zedd„«       Zedd„«       Zed d„«       Z	edd„«       Z
e	 	 d!d„«       Ze	 	 d"d	„«       Zed#d
„«       Zed$d„«       Zedd„«       Zed%d„«       Zed&d„«       Zed'd„«       Z	 	 	 	 d(	 	 	 	 	 	 	 	 	 	 	 d)d„Zd*d„Z	 	 	 	 	 	 d+d„Z	 	 	 	 d,d„Zd-d„Zdd„Zeeeeeeeef	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d.d„Zdd„Zdd„Zdd„Zdd„Zd/ˆ fd„Zˆ xZ S )0ÚRepositoryAdvisorya   
    This class represents a RepositoryAdvisory.

    The reference can be found here
    https://docs.github.com/en/rest/security-advisories/repository-advisories

    The OpenAPI schema can be found at

    - /components/schemas/repository-advisory

    c                ó\  •— t         ‰| �  «        t        | _        t        | _        t        | _        t        | _        t        | _        t        | _        t        | _	        t        | _
        t        | _        t        | _        t        | _        t        | _        t        | _        t         ‰| �  «        y ©N)ÚsuperÚ_initAttributesr
   Ú_authorÚ
_closed_atÚ_collaborating_teamsÚ_collaborating_usersÚ_created_atÚ_creditsÚ_credits_detailedÚ_cwe_idsÚ_private_forkÚ
_publisherÚ_stateÚ_submissionÚ_vulnerabilities)ÚselfÚ	__class__s    €ú^C:\Users\pivot\Documents\cueki\casual-preloader\Lib\site-packages\github/RepositoryAdvisory.pyr   z"RepositoryAdvisory._initAttributesF   s{   ø€ Ü‰ÑÔ!Ü-3ˆŒÜ/5ˆŒÜ;AˆÔ!Ü@FˆÔ!Ü06ˆÔÜ9?ˆŒÜJPˆÔÜ.4ˆŒÜ4:ˆÔÜ06ˆŒÜ&,ˆŒÜ6<ˆÔÜHNˆÔÜ‰ÑÕ!ó    c                ó.   — | j                   j                  S r   )r   Úvalue©r'   s    r)   ÚauthorzRepositoryAdvisory.authorW   s   € à�|‰|×!Ñ!Ð!r*   c                ó.   — | j                   j                  S r   )r   r,   r-   s    r)   Ú	closed_atzRepositoryAdvisory.closed_at[   ó   € à�‰×$Ñ$Ð$r*   c                ó.   — | j                   j                  S r   )r   r,   r-   s    r)   Úcollaborating_teamsz&RepositoryAdvisory.collaborating_teams_   ó   € à×(Ñ(×.Ñ.Ð.r*   c                ó.   — | j                   j                  S r   )r   r,   r-   s    r)   Úcollaborating_usersz&RepositoryAdvisory.collaborating_usersc   r4   r*   c                ó.   — | j                   j                  S r   )r   r,   r-   s    r)   Ú
created_atzRepositoryAdvisory.created_atg   ó   € à×Ñ×%Ñ%Ð%r*   c                ó.   — | j                   j                  S r   )r   r,   r-   s    r)   ÚcreditszRepositoryAdvisory.creditsk   s   € ð �}‰}×"Ñ"Ð"r*   c                ó.   — | j                   j                  S r   )r    r,   r-   s    r)   Úcredits_detailedz#RepositoryAdvisory.credits_detailedq   s   € ð ×%Ñ%×+Ñ+Ð+r*   c                ó.   — | j                   j                  S r   )r!   r,   r-   s    r)   Úcwe_idszRepositoryAdvisory.cwe_idsw   s   € à�}‰}×"Ñ"Ð"r*   c                ó.   — | j                   j                  S r   )r"   r,   r-   s    r)   Úprivate_forkzRepositoryAdvisory.private_fork{   s   € à×!Ñ!×'Ñ'Ð'r*   c                ó.   — | j                   j                  S r   )r#   r,   r-   s    r)   Ú	publisherzRepositoryAdvisory.publisher   r1   r*   c                ó.   — | j                   j                  S r   )r$   r,   r-   s    r)   ÚstatezRepositoryAdvisory.stateƒ   s   € à�{‰{× Ñ Ð r*   c                ó.   — | j                   j                  S r   )r%   r,   r-   s    r)   Ú
submissionzRepositoryAdvisory.submission‡   r9   r*   c                ó.   — | j                   j                  S r   )r&   r,   r-   s    r)   Úvulnerabilitiesz"RepositoryAdvisory.vulnerabilities‹   s   € à×$Ñ$×*Ñ*Ð*r*   c                ó6   — | j                  ||dœ|||dœg«      S )z 
        :calls: `PATCH /repos/{owner}/{repo}/security-advisories/{ghsa_id} <https://docs.github.com/en/rest/security-advisories/repository-advisories>`        )Ú	ecosystemÚname)ÚpackageÚvulnerable_version_rangeÚpatched_versionsÚvulnerable_functions)Úadd_vulnerabilities)r'   rK   Úpackage_namerN   rO   rP   s         r)   Úadd_vulnerabilityz$RepositoryAdvisory.add_vulnerability�   s:   € ð ×'Ñ'ð &/Ø ,ñ ð 1IØ(8Ø,@ñð
ó
ð 	
r*   c                ó²  — t        |t        «      sJ |«       ‚|D ]+  }t        j                  j                  j	                  |«       Œ- d| j
                  t        |«      z   D �cg c]+  }t        j                  j                  j                  |«      ‘Œ- c}i}| j                  j                  d| j                  |¬«      \  }}| j                  |«       yc c}w )z¡
        :calls: `PATCH /repos/{owner}/{repo}/security-advisories/{ghsa_id} <https://docs.github.com/en/rest/security-advisories/repository-advisories>`
        rI   ÚPATCH©ÚinputN)Ú
isinstancer   Úgithubr   Ú_validate_vulnerabilityrI   ÚlistÚ_to_github_dictÚ
_requesterÚrequestJsonAndCheckÚurlÚ_useAttributes)r'   rI   ÚvulnerabilityÚpost_parametersÚheadersÚdatas         r)   rQ   z&RepositoryAdvisory.add_vulnerabilities¨   sÎ   € ô ˜/¬8Ô4ÐE°oÓEÐ4Û,ˆMÜ×(Ñ(×>Ñ>×VÑVÐWdÕeð -ð à&*×&:Ñ&:¼TÀ/Ó=RÒ&Ró á&R�Mô ×,Ñ,×BÑB×RÑRÐS`ÕaØ&Rñ ð
ˆð Ÿ™×;Ñ;ØØ�H‰HØ!ð <ó 
‰ˆ�ð
 	×Ñ˜DÕ!ùò ó   Á#0Cc                ó.   — | j                  ||dœg«       y)ad  
        Offers credit to a user for a vulnerability in a repository.

        Unless you are giving credit to yourself, the user having credit offered will need to explicitly accept the credit.
        :calls: `PATCH /repos/{owner}/{repo}/security-advisories/{ghsa_id} <https://docs.github.com/en/rest/security-advisories/repository-advisories>`

        ©ÚloginÚtypeN)Úoffer_credits)r'   Úlogin_or_userÚcredit_types      r)   Úoffer_creditzRepositoryAdvisory.offer_credit½   s   € ð 	×Ñ m¸[ÑIÐJÕKr*   c                ó²  — t        |t        «      sJ |«       ‚|D ]+  }t        j                  j                  j	                  |«       Œ- d| j
                  t        |«      z   D �cg c]+  }t        j                  j                  j                  |«      ‘Œ- c}i}| j                  j                  d| j                  |¬«      \  }}| j                  |«       yc c}w )a´  
        Offers credit to a list of users for a vulnerability in a repository.

        Unless you are giving credit to yourself, the user having credit offered will need to explicitly accept the credit.
        :calls: `PATCH /repos/{owner}/{repo}/security-advisories/{ghsa_id} <https://docs.github.com/en/rest/security-advisories/repository-advisories>`
        :param credited: iterable of dict with keys "login" and "type"

        r;   rU   rV   N)rX   r   rY   r   Ú_validate_creditr;   r[   r\   r]   r^   r_   r`   )r'   ÚcreditedÚcreditÚpatch_parametersrc   rd   s         r)   rj   z RepositoryAdvisory.offer_creditsË   sÊ   € ô ˜(¤HÔ-Ð7¨xÓ7Ð-ÛˆFÜ×!Ñ!×0Ñ0×AÑAÀ&ÕIð ð à#Ÿ|™|¬d°8«nÒ<óá<�Fô ×%Ñ%×4Ñ4×DÑDÀVÕLØ<ñð
Ðð Ÿ™×;Ñ;ØØ�H‰HØ"ð <ó 
‰ˆ�ð
 	×Ñ˜DÕ!ùòre   c                óÞ  — t        |t        t        j                  j                  f«      sJ |«       ‚t        |t        j                  j                  «      r|j                  }d| j
                  D �cg c]3  }|j                  |k7  sŒt        |j                  |j                  ¬«      ‘Œ5 c}i}| j                  j                  d| j                  |¬«      \  }}| j                  |«       yc c}w )ú¢
        :calls: `PATCH /repos/{owner}/{repo}/security-advisories/{ghsa_id} <https://docs.github.com/en/rest/security-advisories/repository-advisories>`_
        r;   rg   rU   rV   N)rX   ÚstrrY   r   rh   r;   Údictri   r]   r^   r_   r`   )r'   rk   rq   rr   rc   rd   s         r)   Úrevoke_creditz RepositoryAdvisory.revoke_creditè   sÐ   € ô ˜-¬#¬v×/?Ñ/?×/IÑ/IÐ)JÔKÐZÈ]ÓZÐKÜ�m¤V×%5Ñ%5×%?Ñ%?Ô@Ø)×/Ñ/ˆMàØIMÏÊóÙIU¸vÐY_×YeÑYeÐivÓYv”˜6Ÿ<™<¨f¯k©kÖ:Èñð
Ðð
 Ÿ™×;Ñ;ØØ�H‰HØ"ð <ó 
‰ˆ�ð
 	×Ñ˜DÕ!ùòs   Á1C*Â#C*c                ó„   — dg i}| j                   j                  d| j                  |¬«      \  }}| j                  |«       y)rt   r;   rU   rV   N©r]   r^   r_   r`   ©r'   rr   rc   rd   s       r)   Úclear_creditsz RepositoryAdvisory.clear_creditsû   sH   € ð -6°r¨?ÐØŸ™×;Ñ;ØØ�H‰HØ"ð <ó 
‰ˆ�ð
 	×Ñ˜DÕ!r*   c	                ó�  — |t         u st        |t        «      sJ |«       ‚|t         u st        |t        «      sJ |«       ‚|t         u st        |t        «      sJ |«       ‚|t         u st        |t        «      sJ |«       ‚|t         u st        |t        «      sJ |«       ‚t        |t        «      r0|D ]+  }	t        j
                  j
                  j                  |	«       Œ- |t         u s)t        |t        «      rt        d„ |D «       «      sJ |«       ‚t        |t        «      r0|D ]+  }
t        j                  j                  j                  |
«       Œ- |t         u st        |t        «      sJ |«       ‚i }|t         ur||d<   |t         ur||d<   t        |t        «      r|j                  d«      r||d<   n||d<   |t         ur||d<   t        |t        «      r:|D �	cg c]+  }	t        j
                  j
                  j                  |	«      ‘Œ- c}	|d<   t        |t        «      rt        |«      |d	<   t        |t        «      r:|D �
cg c]+  }
t        j                  j                  j                  |
«      ‘Œ- c}
|d
<   |t         ur||d<   | j                  j                  d| j                  |¬«      \  }}| j!                  |«       | S c c}	w c c}
w )rt   c              3  ó<   K  — | ]  }t        |t        «      –— Œ y ­wr   )rX   ru   )Ú.0Úelements     r)   Ú	<genexpr>z*RepositoryAdvisory.edit.<locals>.<genexpr>   s   è ø€ Ð1bÑZaÈw´*¸WÄc×2JÑZaùs   ‚ÚsummaryÚdescriptionzCVSS:Úcvss_vector_stringÚseverityÚcve_idrI   r?   r;   rE   rU   rV   )r
   rX   ru   r   rY   r   rZ   Úallr   ro   Ú
startswithr\   r[   r]   r^   r_   r`   )r'   r�   r‚   Úseverity_or_cvss_vector_stringr…   rI   r?   r;   rE   ra   rq   rr   rc   rd   s                 r)   ÚeditzRepositoryAdvisory.edit  s»  € ð œ&Ñ ¤J¨w¼Ô$<ÐE¸gÓEÐ<ØœfÑ$¬
°;ÄÔ(DÐQÀkÓQÐDØ-´Ñ7¼:Ø*¬Cô<
ð 	*à)ó	*ð 
ð œÑ¤:¨f´cÔ#:ÐB¸FÓBÐ:Ø¤&Ñ(¬J°ÌÔ,QÐbÐSbÓbÐQÜ�o¤xÔ0Û!0�Ü×,Ñ,×BÑB×ZÑZÐ[hÕið "1àœ&Ñ Ü�w¤Ô)¬cÑ1bÑZaÓ1bÔ.bð	àó	ð 
ô �gœxÔ(Û!�Ü×%Ñ%×4Ñ4×EÑEÀfÕMð "àœ‰¤*¨U´CÔ"8Ð?¸%Ó?Ð8Ø+-ÐØœ&Ñ Ø*1Ð˜YÑ'ØœfÑ$Ø.9Ð˜]Ñ+ÜÐ4´cÔ:Ø-×8Ñ8¸ÔAØ9WÐ Ð!5Ò6à/MÐ  Ñ,ØœÑØ)/Ð˜XÑ&Ü�o¤xÔ0ñ &5ó3á%4�Mô ×,Ñ,×BÑB×RÑRÐS`ÕaØ%4ñ3ÐÐ.Ñ/ô �gœxÔ(Ü*.¨w«-Ð˜YÑ'Ü�gœxÔ(á[bó+Ù[bÐQW”×%Ñ%×4Ñ4×DÑDÀVÕLÐ[bñ+Ð˜YÑ'ð œÑØ(-Ð˜WÑ%ØŸ™×;Ñ;ØØ�H‰HØ"ð <ó 
‰ˆ�ð
 	×Ñ˜DÔ!Øˆùò%3ùò+s   Ç0J>È=0Kc                ó„   — ddi}| j                   j                  d| j                  |¬«      \  }}| j                  |«       y)a  
        Accepts the advisory reported from an external reporter via private vulnerability reporting.

        :calls: `PATCH /repos/{owner}/{repo}/security-advisories/{ghsa_id} <https://docs.github.com/en/rest/security-advisories/repository-advisories>`

        rE   ÚdraftrU   rV   Nry   rz   s       r)   Úaccept_reportz RepositoryAdvisory.accept_reportG  sI   € ð $ WÐ-ÐØŸ™×;Ñ;ØØ�H‰HØ"ð <ó 
‰ˆ�ð
 	×Ñ˜DÕ!r*   c                ó„   — ddi}| j                   j                  d| j                  |¬«      \  }}| j                  |«       y)zÃ
        Publishes the advisory.

        :calls: `PATCH /repos/{owner}/{repo}/security-advisories/{ghsa_id} <https://docs.github.com/en/rest/security-advisories/repository-advisories>`

        rE   Ú	publishedrU   rV   Nry   rz   s       r)   ÚpublishzRepositoryAdvisory.publishV  sI   € ð $ [Ð1ÐØŸ™×;Ñ;ØØ�H‰HØ"ð <ó 
‰ˆ�ð
 	×Ñ˜DÕ!r*   c                óV   — | j                   j                  d| j                  dz   «       y)a  
        Requests a CVE for the advisory.

        :calls: `POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve <https://docs.github.com/en/rest/security-advisories/repository-advisories#request-a-cve-for-a-repository-security-advisory>`_

        ÚPOSTz/cveN)r]   r^   r_   r-   s    r)   Úrequest_cvezRepositoryAdvisory.request_cvee  s%   € ð 	�‰×+Ñ+ØØ�H‰H�vÑõ	
r*   c                ó„   — ddi}| j                   j                  d| j                  |¬«      \  }}| j                  |«       y)zÀ
        Closes the advisory.

        :calls: `PATCH /repos/{owner}/{repo}/security-advisories/{ghsa_id} <https://docs.github.com/en/rest/security-advisories/repository-advisories>`

        rE   ÚclosedrU   rV   Nry   rz   s       r)   ÚclosezRepositoryAdvisory.closeq  sI   € ð $ XÐ.ÐØŸ™×;Ñ;ØØ�H‰HØ"ð <ó 
‰ˆ�ð
 	×Ñ˜DÕ!r*   c                ó.  •— d|v r2| j                  t        j                  j                  |d   «      | _        d|v r;|d   �t	        |d   t
        «      s
J |d   «       ‚| j                  |d   «      | _        d|v r2| j                  t        j                  j                  |d   «      | _
        d|v r2| j                  t        j                  j                  |d   «      | _        d|v r;|d   �t	        |d   t
        «      s
J |d   «       ‚| j                  |d   «      | _        d|v r2| j                  t        j                  j                  |d   «      | _        d|v r2| j                  t        j                  j                  |d   «      | _        d|v r| j#                  |d   «      | _        d	|v r2| j                  t        j&                  j&                  |d	   «      | _        d
|v r2| j                  t        j                  j                  |d
   «      | _        d|v r| j-                  |d   «      | _        d|v r| j1                  |d   «      | _        d|v r2| j                  t        j4                  j4                  |d   «      | _        t8        ‰| �u  |«       y )Nr.   r0   r3   r6   r8   r;   r=   r?   rA   rC   rE   rG   rI   )Ú_makeClassAttributerY   r   r   rX   ru   Ú_makeDatetimeAttributer   Ú_makeListOfClassesAttributer   r   r   r   r   r   r   r    Ú_makeListOfStringsAttributer!   r   r"   r#   Ú_makeStringAttributer$   Ú_makeDictAttributer%   r   r&   r   r`   )r'   Ú
attributesr(   s     €r)   r`   z!RepositoryAdvisory._useAttributes€  sŸ  ø€ Ø�zÑ!Ø×3Ñ3´F×4DÑ4D×4NÑ4NÐPZÐ[cÑPdÓeˆDŒLØ˜*Ñ$Ø˜kÑ*Ð2´jÀÈKÑAXÔZ]Ô6^ÐwÐ`jÐkvÑ`wÓwÐ^Ø"×9Ñ9¸*À[Ñ:QÓRˆDŒOØ  JÑ.Ø(,×(HÑ(HÜ—‘× Ñ  *Ð-BÑ"Có)ˆDÔ%ð ! JÑ.Ø(,×(HÑ(HÜ× Ñ ×*Ñ*¨JÐ7LÑ,Mó)ˆDÔ%ð ˜:Ñ%Ø˜lÑ+Ð3´zÀ*È\ÑBZÔ\_Ô7`ð ÐblØñcó Ð`ð  $×:Ñ:¸:ÀlÑ;SÓTˆDÔØ˜
Ñ"Ø ×<Ñ<Ü×%Ñ%×4Ñ4Ø˜9Ñ%óˆDŒMð  Ñ+Ø%)×%EÑ%EÜ×-Ñ-×DÑDØÐ-Ñ.ó&ˆDÔ"ð ˜
Ñ"Ø ×<Ñ<¸ZÈ	Ñ=RÓSˆDŒMØ˜ZÑ'Ø!%×!9Ñ!9¼&×:KÑ:K×:VÑ:VÐXbÐcqÑXrÓ!sˆDÔØ˜*Ñ$Ø"×6Ñ6´v×7GÑ7G×7QÑ7QÐS]Ð^iÑSjÓkˆDŒOØ�jÑ Ø×3Ñ3°J¸wÑ4GÓHˆDŒKØ˜:Ñ%Ø#×6Ñ6°zÀ,Ñ7OÓPˆDÔØ 
Ñ*Ø$(×$DÑ$DÜ×,Ñ,×BÑBØÐ,Ñ-ó%ˆDÔ!ô 	‰Ñ˜zÕ*r*   )ÚreturnÚNone)rž   r   )rž   r   )rž   z
list[Team])rž   zlist[NamedUser])rž   zlist[AdvisoryCredit])rž   zlist[AdvisoryCreditDetailed])rž   z	list[str])rž   r   )rž   ru   )rž   údict[str, Any])rž   zlist[AdvisoryVulnerability])NNNN)rK   ru   rR   ú
str | NonerN   r¡   rO   r¡   rP   zlist[str] | Nonerž   rŸ   )rI   z$Iterable[AdvisoryVulnerabilityInput]rž   rŸ   )rk   ústr | NamedUserrl   ru   rž   rŸ   )rp   zIterable[Credit]rž   rŸ   )rk   r¢   rž   rŸ   )r�   úOpt[str]r‚   r£   rˆ   r£   r…   r£   rI   z)Opt[Iterable[AdvisoryVulnerabilityInput]]r?   zOpt[Iterable[str]]r;   zOpt[Iterable[Credit]]rE   r£   rž   r   )r�   r    rž   rŸ   )!Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Úpropertyr.   r0   r3   r6   r8   r;   r=   r?   rA   rC   rE   rG   rI   rS   rQ   rm   rj   rw   r{   r
   r‰   rŒ   r�   r’   r•   r`   Ú__classcell__)r(   s   @r)   r   r   9   sP  ø„ ñ
õ"ð" ò"ó ð"ð ò%ó ð%ð ò/ó ð/ð ò/ó ð/ð ò&ó ð&ð ð#à	ò#ó ð#ð
 ð,à	%ò,ó ð,ð
 ò#ó ð#ð ò(ó ð(ð ò%ó ð%ð ò!ó ð!ð ò&ó ð&ð ò+ó ð+ð $(Ø/3Ø'+Ø15ð
àð
ð !ð
ð #-ð	
ð
 %ð
ð /ð
ð 
ó
ó2"ð*Là&ðLð ðLð 
ó	Lð"à"ð"ð 
ó"ó:"ó&
"ð #Ø &Ø39Ø!ØEKØ&,Ø)/Ø ð>àð>ð ð>ð )1ð	>ð
 ð>ð Cð>ð $ð>ð 'ð>ð ð>ð 
ó>ó@"ó"ó

ó"÷,+ñ ,+r*   r   )Ú
__future__r   Úcollections.abcr   r   Útypingr   r   Úgithub.AdvisoryCreditrY   Úgithub.AdvisoryCreditDetailedÚgithub.AdvisoryVulnerabilityÚgithub.NamedUserÚgithub.RepositoryÚgithub.TeamÚgithub.AdvisoryBaser   Úgithub.GithubObjectr	   r
   r   r   r   r   r   r   r   r   r   r   © r*   r)   Ú<module>r¶      sR   ðõB #å $Ý ß %ã Û $Û #Û Û Û Ý ,ß 6Ñ 6áß<ÝDß^Ý*Ý,Ý ôs+˜õ s+r*   