Ë
    š„jV  ã                   óâ   — d dl Z d dlZddlmZ ddlmZ ddlmZ ddlm	Z	 ddl
mZmZmZmZmZmZmZmZmZmZmZmZmZmZ dd	lmZmZmZmZmZ  G d
„ de«      Z G d„ de«      Z  G d„ de«      Z!y)é    Né   )ÚInfoExtractor)ÚVidsIoIE)ÚVimeoIEé   )Ú	HTTPError)ÚKNOWN_EXTENSIONSÚExtractorErrorÚ
clean_htmlÚdetermine_extÚextract_attributesÚfloat_or_noneÚint_or_noneÚmimetype2extÚparse_iso8601Úsmuggle_urlÚstr_or_noneÚupdate_url_queryÚurl_or_noneÚurljoin)Úfind_elementsÚrequireÚtraverse_objÚtrim_strÚvaluec                   ó8   — e Zd Zej                  d„ «       Zdd„Zy)ÚPatreonBaseIEc                 óF   — | j                  d«      j                  d«      ryy )Núhttps://www.patreon.com/Ú
session_idz4Patreon/126.9.0.15 (Android; Android 14; Scale/2.10))Ú_get_cookiesÚget)Úselfs    úO/var/www/html/GAP/venv/lib/python3.12/site-packages/yt_dlp/extractor/patreon.pyÚpatreon_user_agentz PatreonBaseIE.patreon_user_agent"   s$   € ð ×ÑÐ7Ó8×<Ñ<¸\ÔJØIØó    Nc           	      óJ  — |€i }d|vr| j                   r| j                   |d<   |r|j                  ddi«       	 | j                  d|› �||r|nd|||| j                    ¬«      S # t        $ rµ}t	        |j
                  t        «      r;t        |j
                  j                  j                  j                  d«      «      dk7  r‚ | j                  | j                  |j
                  j                  d |«      |d	¬
«      }t        |dd	¬«      }	|	rt        d|	› �d¬«      ‚‚ d }~ww xY w)Nz
User-Agentújson-api-versionç      ð?zhttps://www.patreon.com/api/zDownloading API JSON)ÚnoteÚqueryÚfatalÚheadersÚimpersonatezContent-TypeÚjsonF©r,   )Úerrors.Údetail©Úget_allzPatreon said: T)Úexpected)r%   ÚupdateÚ_download_jsonr
   Ú
isinstanceÚcauser   r   Úresponser-   r"   Ú_parse_jsonÚ_webpage_read_contentr   )
r#   ÚepÚitem_idr+   r-   r,   r*   ÚeÚerr_jsonÚerr_messages
             r$   Ú	_call_apizPatreonBaseIE._call_api)   s/  € Øˆ?ØˆGØ˜wÑ&¨4×+BÒ+BØ$(×$;Ñ$;ˆG�LÑ!ÙØ�L‰LÐ,¨cÐ2Ô3ð	Ø×&Ñ&Ø.¨r¨dÐ3Ø¡d™dÐ0FØ 5°'à $× 7Ñ 7Ð7ð 'ó 9ð 9øô ò 	Ü˜aŸg™g¤yÔ1´\À!Ç'Á'×BRÑBR×BZÑBZ×B^ÑB^Ð_mÓBnÓ5oÐsyÒ5yØØ×'Ñ'¨×(BÑ(BÀ1Ç7Á7×CSÑCSÐUYÐ[bÓ(cÐelÐtyÐ'ÓzˆHÜ& xÐ1JÐTYÔZˆKÙÜ$ ~°k°]Ð%CÈdÔSÐSØûð	ús   º)A$ Á$	D"Á-B0DÄD")NNTN)Ú__name__Ú
__module__Ú__qualname__Ú	functoolsÚcached_propertyr%   rB   © r&   r$   r   r   !   s   „ Ø×Ññó ðôr&   r   c                   ó   — e Zd ZdZdZddi dd“dd“d	d
“dd“dd“dd“dd“dd“dd“dd“de“de“dd“dd“dd“d e“d!œd"d#d$dd%ddeedd&œd'd(œd)i dd*“dd+“dd,“dd-“dd“dd.“dd/“dd0“d1d2g“d3d4“d5e“d6d7“d8d9“d:d-“dd;“d<d=“de“d>d?ed@dAed@dBdCdDdEœ
¥d@d@dFœdGœdHd@dIœdJd@dIœdKdLdMd+dNdOddPdQdRdSœd'd(œdTi ddU“dd+“de“ddV“de“ddW“ddX“dd“ddY“ddZ“dd[“dd\“d6d]dDg“dd^“ddY“d e“d_œd`i dda“dd+“ddb“ddc“ddd“dde“ddf“ddg“de“ddh“dd“d e“de“ddi“d6g dj¢“ddc“d'dkœdli ddm“dd+“ddn“de“ddo“ddp“ddq“dd“d6drg“dds“de“d e“ddt“ddu“ddv“ddq“dwdkœdxdyd+dzd{d|d}d~dd~d€d�d‚eedƒd„œd…d†id‡gdˆd‰œdŠd‹dŒd�dŽd�d�d‘d’d‘ed“d”eedƒd•œd'd–œd—d˜d+d™dšedƒed›dœd�džd�edŸd d¡œd¢d@idGœd£d¤d+d¥d¦d§d¨d©dªd©eeed«d¬d­d®œd_œd¯d°d±d+d²d§d¨d©dªd©eeedd³d´dµœd!œgZdDZd¶d·iZd¸„ Z	d¹„ Z
dº„ Zy»)¼Ú	PatreonIEÚpatreonz]https?://(?:www\.)?patreon\.com/(?:creation\?hid=|(?:[^/?#]+/)?posts/(?:[\w-]+-)?)(?P<id>\d+)z*http://www.patreon.com/creation?hid=743933Ú e25505eec1053a6e6813b8ed369875ccÚidÚ743933ÚextÚmp3Ú	alt_titlez	cd166.mp3Útitlez*Episode 166: David Smalley of Dogma DebateÚdescriptionz$md5:34d207dd29aa90e24f1b3f58841b81c7ÚuploaderúCognitive Dissonance PodcastÚ	thumbnailúre:^https?://.*$Ú	timestampiÕSÚupload_dateÚ20140727Úuploader_idÚ87145Ú
like_countÚcomment_countÚuploader_urlú%https://www.patreon.com/dissonancepodÚ
channel_idÚ80642Úchannel_urlÚchannel_follower_count)ÚurlÚmd5Ú	info_dictz*http://www.patreon.com/creation?hid=754133Ú 3eb09345bf44bf60451b8b0b81759d0aÚ754133zCD 167 Extra)rM   rO   rR   rT   rV   r]   r^   r_   zPatron-only content)re   rf   rg   Úskipz,https://www.patreon.com/creation?hid=1682498ÚSU4fj_aEMVwÚmp4zI'm on Patreon!z
Traci OdenÚ20150211z$md5:8af6425f50bd46fbf29f3db0fc3a8364z
@TraciOdenÚ
categoriesÚEntertainmentÚdurationi  Ú
view_countÚtagszcount:39Ú	age_limitr   Úchannelz8https://www.youtube.com/channel/UCGLim4T2loE5rwCMdpCIPVgÚlive_statusÚnot_liveÚUCGLim4T2loE5rwCMdpCIPVgÚpublicTz"https://www.youtube.com/@TraciOdenzcount:4iÂÇÛTÚvideo)
ra   Úavailabilityrd   Úplayable_in_embedr_   r^   Úchannel_is_verifiedÚchaptersrX   Ú
media_type)Ú
noplaylistÚskip_download)re   rg   Úparamsz3https://www.patreon.com/posts/episode-166-of-743933©re   Úonly_matchingz$https://www.patreon.com/posts/743933z6https://www.patreon.com/posts/kitchen-as-seen-51706779Ú 96656690071f6d64895866008484251bÚ	555089736z&KITCHEN AS SEEN ON DEEZ NUTS EXTENDED!z	Cold OnesÚ20210526z$md5:557a409bd79d3898689419094934ba79Ú14936315)rM   rO   rR   rT   rV   rY   rS   r[   z7https://www.patreon.com/posts/video-sketchbook-32452882Ú32452882Ú4301314i‚|ú]Ú20191218zhttps://www.patreon.com/loishz$md5:e2693e97ee299c8ece47ffdb67e7d9d2zVIDEO // sketchbook flipthroughÚLoishÚ
sketchbookÚ1641751)re   rg   z5https://www.patreon.com/posts/premium-access-70282931Ú70282931zD[Premium Access + Uncut] The Office - 2x6 The Fight - Group Reactionz"https://www.patreon.com/thenormiesÚ573397Ú2929435zThe Normiesz$md5:79c9fd8778e2cef84049a94c058a5e23Ú20220809iTeòb)z
The Officezearly accessÚuncut)re   rg   rj   z6https://www.patreon.com/posts/hunter-x-hunter-34007913Ú34007913z-Hunter x Hunter | Kurapika DESTROYS Uvogin!!!Ú
YaBoyRoshiiáÜE^z"https://www.patreon.com/yaboyroshizHunter x HunterÚ14264111z!Kurapika is a walking cheat code!Ú20200213Ú2147162zJHTTP Error 401 for m3u8 request; site now requires login to play the videoz6https://www.patreon.com/posts/4k-spiderman-4k-96414599Ú	902250943uY   â�¤ï¸�(4K) Spiderman Girl Yeonhwaâ€™s Gift â�¤ï¸�(4K) ìŠ¤íŒŒì�´ë�”ë§¨ê±¸ ì—°í™”ì�˜ ì„ ë¬¼uZ   â�¤ï¸�(4K) Spiderman Girl Yeonhwaâ€™s Gift 
â�¤ï¸�(4K) ìŠ¤íŒŒì�´ë�”ë§¨ê±¸ ì—°í™”ì�˜ ì„ ë¬¼ÚNpickyeonhwaÚ90574422z"https://www.patreon.com/Yeonhwa726Ú10237902éF   iÉ†¢eÚ20240113zre:^https?://.+)rM   rO   rR   rS   rT   r[   r_   ra   rc   rp   rX   rY   r^   r]   rV   r€   Úm3u8z$Failed to parse XML: not well-formedzVideo removed)re   rg   r�   Úexpected_warningsrj   z7https://www.patreon.com/posts/holy-wars-solos-100601977é   Ú	100601977z<"Holy Wars" (Megadeth) Solos Transcription & Lesson/Analysisz$md5:d099ab976edfce6de2a65c2b169a88d3zBradley HallÚ24401883z)https://www.patreon.com/bradleyhallguitarÚ3193932iÿeøeÚ20240318)rM   rR   rS   rT   r[   r_   ra   rc   rd   rX   rY   r]   r^   rV   )re   Úplaylist_countrg   rj   z'https://www.patreon.com/posts/114721679Ú	114721679Ú20241025ÚJapanalysiszKarasawa Part 2z@Part 2 of this video https://www.youtube.com/watch?v=Azms2-VTASkz#https://www.patreon.com/japanalysisÚ80504268i7"gÚ9346307)rM   rO   rY   rT   r]   rV   r^   rR   rS   r_   r[   rc   rd   rX   ra   Úgetcommentsz2https://www.patreon.com/posts/scottfalco-146966245Ú	146966245zscottfalco 1080z$md5:a3f29bbd0a46b4821ec3400957c98aa2Ú
InsanimateÚ2828146z"https://www.patreon.com/InsanimateÚ6260877gÔµö>UU@i(9SiÚ20251230)rM   rO   rR   rS   rT   r[   r_   ra   rc   rd   r^   r]   rp   rX   rY   z@https://www.patreon.com/Insanimate/posts/meatcanyon-in-142663524Ú 132332e3bb345f75d8b471242346dee6Ú	142663524zMeatcanyon in Playgroundi*‡iÚ20251102)rM   rO   rR   rT   r[   r_   ra   rc   rd   r^   r]   rV   rX   rY   Úrefererr   c                 ó¸  — t        | j                  d|› �|d¬«      ddt        hf«      }|sy t        |dd„ hfdt        hfd	d
t        hfdœ«      }||d<   t        |d	ddt
        ht        f«      }t        |dt
        hf«      }|r�t        |j                  d«      «      dk(  r€| j                  ||dd| j                  ¬«      \  |d<   |d<   |d   D ]  }| j                  |d<   Œ t        |d	dt
        hf«      x}rO|d   j                  dg «      j                  |ddœ«       n'|s|r#|xs ||j                  d«      dk7  rdnd dœg|d<   |j                  d«      sy |S )Nzmedia/Fr0   ÚdataÚ
attributesÚ	file_namec                 ó*   — | j                  d«      d   S )Nú.r   )Ú
rpartition)Úxs    r$   ú<lambda>z3PatreonIE._extract_from_media_api.<locals>.<lambda>\  s   € ¨a¯l©l¸3Ó.?ÀÑ.B€ r&   Ú
created_atÚdisplayrp   )rR   rX   rp   rM   )NÚviewer_playback_datare   Údownload_urlÚmimetyperž   rl   )r,   r-   ÚformatsÚ	subtitlesÚhttp_headersÚtranscript_urlÚenÚvtt)re   rO   r~   ry   Únone)re   Úvcodec)r   rB   Údictr   r   r   Úanyr   r"   Ú#_extract_m3u8_formats_and_subtitlesÚ_HTTP_HEADERSÚ
setdefaultÚappend)r#   Úmedia_idr·   rg   Úplayback_urlrÁ   ÚfrÆ   s           r$   Ú_extract_from_media_apiz!PatreonIE._extract_from_media_apiT  sµ  € Ü!Ø�N‰N˜V H :Ð.°ÀˆNÓFØ�\¤D 6Ð*ó,ˆ
ñ Øä  Ø!Ñ$BÐ#CÐDØ&¬¨Ð8Ø" J´°Ð@ñ.
ó ˆ	ð
 #ˆ	�$‰ä#Ø˜Ð$BÀEÌKÈ=ÔZ]Ð^ó`ˆä# J°Ä+ÀÐ0OÓPˆáœL¨¯©¸
Ó)CÓDÈÒNØ;?×;cÑ;cØ˜h¨°UÀD×DVÑDVð <dó <XÑ8ˆI�iÑ  )¨KÑ"8à˜yÑ)ò 7�Ø$(×$6Ñ$6��.Ò!ð7ä!-¨j¸9ÐFVÔYdÐXeÐ:fÓ!gÐgˆ~ÐgØ˜+Ñ&×1Ñ1°$¸Ó;×BÑBØ)Ø ñDõ ñ ™\ð $Ò3 |Ø$.§N¡N°<Ó$@ÀGÒ$K™&ÐQUñ%ð $ˆI�iÑ ð �}‰}˜YÔ'ØàÐr&   c                 óà
  — | j                  |«      }| j                  d|› �|dddddddd	œ¬
«      }|d   d   }t        |dt        j                  hfdt
        ht        fddt        ht        fdt        hfdt        hfdt        hfdœ«      }t        «       }g }d}t        |dd„ f«      D �]›  }	|	d   }
|
dk(  rËt        |	dt        hf«      xs i }t        |j                  d«      «      }t        |j                  d«      «      }t        |j                  d«      «      }|r<|t        v r4|�2|dz  }|j                  |› d|› �|||t        |dt        hf«      d œ«       t        |	d!t        hf«      x}sŒÇ|j!                  |«       ŒÙ|
d"k(  r8|j#                  t        |	dd#t        hfd!t$        hfdd$t        hfd%œ«      «       �Œ|
d&k(  r;t        |	ddt        hf«      x}s�Œ3|j'                  d'g «      j                  |«       �ŒV|
d(k(  s�Œ]|j#                  t        |	ddt        hfd!t$        hfdd$t        hfdd)t        hfd*œ«      «       �Œž t        |d+d$t        hf«      x}rý| j)                  d,|d-d.d/¬0«      \  }}|rt+        d1|› �d2|xs g i«      }t-        j.                  |«      r:| j1                  t-        j2                  || j4                  d3   «      t,        d4¬5«      }n%| j1                  t7        || j4                  «      «      }| j9                  ||d6| j4                  d7d7d8¬9«      x}r5t;        j.                  |«      s|j<                  d:k7  r|j                  |«       t        |d;t        hf«      }|rÚ|j                  d<«      }t?        |«      }|t        v r|j                  |||d$   d=œ«       nq|d>k(  st?        |j                  d$«      «      d?k(  rO| jA                  |d$   || j4                  ¬@«      \  }}|D ]  }| j4                  |dA<   Œ |j                  |||dBœ«       t        |dCtB        ht$        hf«      x}r|j!                  |«       t        |dDtE        dEdFd4d4¬G«      hdHtF        hdEf«      D ]=  }||v rŒ| jI                  |«      x}sŒ|j                  |«       |j!                  |«       Œ? t        |dI«      }d }|r"|j                  d«      r| jK                  |«      }|s|d7u r| jM                  dJ|d4¬K«       nj|s| jM                  dL|d4¬K«       nStO        |«      dk(  r|j#                  |d   «       n0|D ]  }|j#                  |«       Œ  | jP                  ||fi |¤dM|i¤ŽS ||d!<   ||dM<   |S )NNúposts/z*download_url,mimetype,size_bytes,file_namez‡comment_count,content,content_teaser_text,cleaned_teaser_text,embed,image,like_count,post_file,published_at,title,current_user_can_viewúfull_name,urlr   zurl,name,patron_countÚfalsez7audio,user,user_defined_tags,campaign,attachments_media)zfields[media]úfields[post]úfields[user]zfields[post_tag]úfields[campaign]újson-api-use-default-includesÚinclude©r+   r¶   r·   rR   )ÚcontentÚcontent_teaser_textÚcleaned_teaser_textÚimage)Ú	large_urlre   Úpublished_atr]   r^   )rR   rS   rV   rX   r]   r^   r   Úincludedc                 ó   — |d   S )NÚtyperH   ©Ú_Úvs     r$   r½   z)PatreonIE._real_extract.<locals>.<lambda>•  s
   € ÀAÀfÁI€ r&   rç   ÚmediarÁ   rÂ   Ú
size_bytesr   ú-r¸   )rM   rO   Úfilesizere   rQ   rM   ÚuserÚ	full_namere   )rT   r[   r_   Úpost_tagrr   ÚcampaignÚpatron_count)rt   ra   rc   rd   Úembedz"//vimeo\.com/(\d+)(?:/([\da-f]+))?zvimeo id)r   r   )NN)ÚgroupÚdefaultzhttps://player.vimeo.com/video/Úhr´   T)Úurl_transparentzChecking embed URLF)é“  i­  )r-   r,   ÚerrnoteÚexpected_statusrù   Ú	post_fileÚname)rM   rO   re   ry   rž   )r-   rÅ   )rM   rÃ   rÄ   rÑ   rß   zdata-media-idz\d+)Úattrr   ÚregexÚhtml.Úcurrent_user_can_viewz#You do not have access to this post)Úvideo_idr5   z%No supported media found in this postÚ__post_extractor))Ú	_match_idrB   r   ÚstrÚstripr   rÌ   r   r   r   ÚsetrË   r"   r   r	   rÐ   Úaddr6   r   rÏ   Ú_search_regexr   r   ÚsuitableÚ
url_resultÚ_smuggle_referrerrÎ   r   Ú_request_webpager   Ústatusr   rÍ   Úintr   r   rÔ   Úextract_commentsÚraise_no_formatsÚlenÚplaylist_result)r#   re   r  Úpostr·   ÚinfoÚseen_media_idsÚentriesÚidxrÝ   Úinclude_typeÚmedia_attributesrÁ   rO   rì   rÑ   rñ   Ú	embed_urlÚvimeo_idÚ
vimeo_hashÚentryÚurlhrü   rý   rÃ   rÄ   rÓ   rë   Úcan_view_postÚcommentss                                 r$   Ú_real_extractzPatreonIE._real_extract|  s,  € Ø—>‘> #Ó&ˆØ�~‰~Ø�X�JÐ Ø!Mð !jØ /Ø$+Ø$;Ø18ØTñ2ð ó 	ˆð ˜&‘\ ,Ñ/ˆ
Ü˜JØ¤§	¡	˜{Ð+ØUÔXbÐWcÔehÐiØ!Ð#7¼+¸ÌÐLØ(¬=¨/Ð:Ø'¬+¨Ð7Ø-´¨}Ð=ñ)
ó ˆô ›ˆØˆØˆÜ# D¨:Ñ7MÐ*NÓOó '	ˆGØ" 6™?ˆLØ˜wÒ&Ü#/°¸,ÌÈÐ9OÓ#PÒ#VÐTVÐ Ü*Ð+;×+?Ñ+?ÀÓ+OÓP�Ü"Ð#3×#7Ñ#7¸
Ó#CÓD�ô )Ð)9×)=Ñ)=¸lÓ)KÓL�
Ù CÔ+;Ñ$;À
Ð@VØ˜1‘H�CØ—N‘NØ!) 
¨!¨C¨5Ð1Ø"Ø$.Ø+Ü%1Ð2BÀ[ÔSVÐRWÐDXÓ%Yñ$ô ô  ,¨G°d¼S¸E°]ÓCÐC�8ÑCØ"×&Ñ& xÕ0à Ò'Ø—‘œL¨Ø!-¨{¼S¸EÐ BØ$(¬;¨-Ð#8Ø%1°5¼;¸-Ð$Hñ3ó ö ð  Ò+Ü+¨G°lÀGÌcÈUÐ5SÓTÐT�8ÒTØ—O‘O F¨BÓ/×6Ñ6°xÖ@à Ô+Ø—‘œL¨Ø ,¨g¼°uÐ=Ø#'¬+¨Ð"7Ø$0°%¼+¸Ð#GØ/;¸^ÌkÈ]Ð.[ñ	3ó ö ðE'	ôR % Z°'¸5Ä;À-Ð1PÓQÐQˆ9ÐQà#'×#5Ñ#5Ø5°yØ &°,ð $6ó $@Ñ ˆH�jñ Ü,Ø5°h°ZÐ@Ø˜*Ò*¨Ð+ó-�	ô ×Ñ 	Ô*ØŸ™Ü×-Ñ-¨i¸×9KÑ9KÈIÑ9VÓWÜ¨Tð (ó 3‘ð Ÿ™¬°I¸t×?QÑ?QÓ(RÓS�à×,Ñ,Ø˜8Ð%9À4×CUÑCUØ U¸Jð -ó ð ˆtð ô
 ×$Ñ$ YÔ/°4·;±;À#Ò3EØ—N‘N 5Ô)ä  ¨k¼D¸6Ð-BÓCˆ	ÙØ—=‘= Ó(ˆDÜ Ó%ˆCØÔ&Ñ&Ø—‘Ø"ØØ$ UÑ+ñ õ ð
 ˜’¤M°)·-±-ÀÓ2FÓ$GÈ6Ò$QØ%)×%MÑ%MØ˜eÑ$ h¸×8JÑ8Jð &Nó &LÑ"�˜à ò ;�AØ(,×(:Ñ(:�A�nÒ%ð;à—‘Ø"Ø&Ø!*ñ ô ô
 (¨	°JÄÀÌÀ}Ð3UÓVÐVˆxÐVØ×"Ñ" 8Ô,ä$ ZØœ¨?À&ÐPTÐ[_Ô`ÐaØÔ$Ð% ð2
ó ò 		-ˆHð
 ˜>Ñ)ØØ×4Ñ4°XÓ>Ð>ˆuÑ>Ø—‘˜uÔ%Ø×"Ñ" 8Õ,ð		-ô % ZÐ1HÓIˆØˆÙ˜TŸX™X oÔ6Ø×,Ñ,¨XÓ6ˆHá˜=¨EÑ1Ø×!Ñ!Ð"GÐRZÐeiÐ!ÕjÙØ×!Ñ!Ð"IÐT\ÐgkÐ!ÕlÜ�‹\˜QÒØ�K‰K˜ ™
Õ#à ò #�Ø—‘˜TÕ"ð#à'�4×'Ñ'¨°Ñ]¸TÑ]ÐT\Ò]Ð]àˆˆT‰
Ø#+ˆÐÑ Øˆr&   c              #   óF  ‡K  — d }d}dddddddd	d
œ}t        j                  d«      D ]õ  }|j                  |rd|ini «       | j                  d|› d�||d|› �¬«      }d }t	        |dd„ f«      D ]�  }|dz  }t	        |d«      Ši t	        |dt
        hfddt        hfddt        hfddddt        d«      hft        ht        fddt        hfdœ«      ¥t	        |dˆfd„dd t        hfd!t        hfd"œfd#¬$«      ¥d%‰i¥–— Œ� |t	        |d&«      k  rt	        |d'«      }|�Œõ y  y ­w)(Nr   é2   a`  parent.commenter.campaign,parent.post.user,parent.post.campaign.creator,parent.replies.parent,parent.replies.commenter.campaign,parent.replies.post.user,parent.replies.post.campaign.creator,commenter.campaign,post.user,post.campaign.creator,replies.parent,replies.commenter.campaign,replies.post.user,replies.post.campaign.creator,on_behalf_of_campaignzbody,created,is_by_creatorzimage_url,full_name,urlzimage_tiny_url,namez-createdr)   rØ   )zpage[count]rÝ   zfields[comment]rÚ   zfilter[flair]Úsortr(   rÜ   r   úpage[cursor]rÖ   z	/commentszDownloading comments page ©r+   r*   )r¶   rå   c                 ó    — |d   dk(  xr |d   S )Nrç   ÚcommentrM   rH   rè   s     r$   r½   z)PatreonIE._get_comments.<locals>.<lambda>!  s   € ÐVWÐX^ÑV_ÐclÑVlÒVxÐqrÐswÑqx€ r&   )ÚrelationshipsÚ	commenterr¶   rM   rM   r·   ÚbodyÚcreatedr*  Úparentr¶   ÚrootÚis_by_creator)rM   ÚtextrX   r.  Úauthor_is_uploaderrå   c                 ó(   •— |d   ‰k(  xr |d   dk(  S )NrM   rç   rï   rH   )ré   rê   Ú	author_ids     €r$   r½   z)PatreonIE._get_comments.<locals>.<lambda>.  s   ø€ °°4±¸IÑ1EÒ1]È!ÈFÉ)ÐW]ÑJ]€ r&   rð   Ú	image_url)ÚauthorÚauthor_thumbnailFr3   r4  )ÚmetaÚcount)r¶   éÿÿÿÿrM   )Ú	itertoolsr9  r6   rB   r   r   r  r   r   rÌ   Úboolr   )	r#   Úpost_idÚcursorr9  r�   Úpager:   r)  r4  s	           @r$   Ú_get_commentszPatreonIE._get_comments  sª  øè ø€ ØˆØˆàð zØ;Ø5Ø2ØØ #Ø-4ñ	
ˆô —O‘O AÓ&ò 	ˆDà�M‰M±f˜>¨6Ñ2À"ÔEØ—~‘~Ø˜˜	 Ð+¨W¸FÐKeÐfjÐekÐIlð &ó nˆHð ˆFÜ'¨Ð3GÑIxÐ2yÓzò �Ø˜‘
�Ü(¨Ð2^Ó_�	ðÜ" 7Ø#¤k ]Ð3Ø!-¨v¼°uÐ =Ø&2°IÄ¸Ð%OØ#2°H¸fÀtÌeÐTZËmÈ_ÐF]Ô`cÐ_dÔfiÐ"jØ/;¸_ÌtÈfÐ.Uñ-ó ðô # 8Ø"Ó$]Ð_kØ'2´S°EÐ&:Ø1<¼{¸mÐ0Lñnð.ð %*ô	+ðð   ñó ð	ð( ”| HÐ.?Ó@Ò@Ü% hÐ0BÓC�à‰~Ùñ?	ùs   ƒDD!ÄD!N)rC   rD   rE   ÚIE_NAMEÚ
_VALID_URLr  Ú_TESTSÚ_RETURN_TYPErÎ   rÔ   r"  r@  rH   r&   r$   rJ   rJ   B   sw  „ Ø€GØq€Jð <Ø1ð
Ø�(ð
à�5ð
ð ˜ð
ð ÐAð	
ð
 ÐAð
ð Ð6ð
ð Ð+ð
ð ˜ð
ð ˜:ð
ð ˜7ð
ð ˜#ð
ð ˜Sð
ð ÐCð
ð ˜'ð
ð ÐBð
ð  % cð!
ñ	ð. <Ø1àØØ#Ø6Ø+ØØ ØCñ	
ð &ñð >ð
Ø�-ð
à�5ð
ð Ð'ð
ð ˜ð	
ð
 Ð+ð
ð ˜:ð
ð ÐAð
ð ˜<ð
ð ˜?Ð+ð
ð ˜ð
ð ˜#ð
ð �Jð
ð ˜ð
ð �|ð
ð ÐUð
ð  ˜:ð!
ð" ˜#ð#
ð$ 5Ø$Ø&)Ø!%Ø@Ø Ø#'Ø!Ø#Ø!ò7
ð< Ø!ñ
ñ?#ðH EØñð 6Øñð HØ1àØØ=Ø#Ø+Ø%ØAØ%ñ	
ð &ñð" Ið
Ø�*ð
à�5ð
ð ˜Sð
ð ˜9ð	
ð
 ˜#ð
ð ˜ð
ð ˜:ð
ð Ð,ð
ð Ð;ð
ð ÐAð
ð Ð6ð
ð ˜ð
ð �\ 7Ð+ð
ð ˜)ð
ð Ð:ð
ð  % cð!
ñ	ð0 Gð
Ø�*ð
à�5ð
ð Ð[ð
ð Ð?ð	
ð
 ˜(ð
ð ˜9ð
ð ˜ð
ð ÐAð
ð ˜Sð
ð ˜:ð
ð Ð,ð
ð % cð
ð ˜#ð
ð ˜ð
ð Ò;ð
ð  Ð@ð!
ð$ &ñ+ð0 Hð
Ø�*ð
à�5ð
ð ÐDð
ð ˜#ð	
ð
 ˜ð
ð ˜ð
ð Ð?ð
ð Ð,ð
ð Ð&Ð'ð
ð ˜:ð
ð ˜Sð
ð % cð
ð Ð>ð
ð ˜:ð
ð ˜)ð
ð  Ð@ð!
ð$ ]ñ+ð0 HàØØpØxØ&Ø%Ø@Ø$Ø?ØØ#Ø%Ø ØØ+ñ
ð" # FÐ+ØDÐEØñ-ð2 IØàØSØAØ&Ø%ØGØ#ØFØ&)Ø#Ø%ØØ Ø+ñ
ð  &ñ)ð. 9àØØ%Ø%ØØ+Ø Ø&Ø]ØAØ%Ø@Ø&)Ø#Ø#ñ
ð" ! $Ð'ñ)ð0 DàØØ&ØAØ$Ø$Ø@Ø#Ø?Ø&)Ø ØØ Ø#Ø%ñ
ñ	ð. RØ1àØØ/Ø$Ø$Ø@Ø#Ø?Ø&)Ø ØØ+Ø#Ø%ñ
ñ	ðgG€FðP €Lð 	Ð-ð€Mò&òPNó`-r&   rJ   c                   óþ   — e Zd ZdZdZdddddddded	ddd
dœddœdddddddddddd
dœddœddedddddddddd
dœddœd d!d"d#d"d!d$d$d%d&d'edd(œd)d*d+œd,d-d.d/d0d1d2d.d-d2dd'd3œd4dœd5d6d7œd8d6d7œd9d6d7œd:d6d7œd;d6d7œg
Zd<„ Zd=„ Zy>)?ÚPatreonCampaignIEzpatreon:campaignzÎ(?x)
        https?://(?:www\.)?patreon\.com/(?:
            (?:m|api/campaigns)/(?P<campaign_id>\d+)|
            (?:cw?/)?(?P<vanity>(?!creation[?/]|posts/|rss[?/])[\w-]+)
        )(?:/posts)?/?(?:$|[?#])z&https://www.patreon.com/dissonancepod/rU   r`   rb   zfre:(?s).*We produce a weekly news podcast focusing on stories that deal with skepticism and religion.*r   r\   rW   )rR   rc   rM   rS   ra   rt   rs   rd   r[   r_   rT   rV   éD   )re   rg   Úplaylist_mincountz'https://www.patreon.com/m/4767637/postszNot Just BikesÚ4767637z$https://www.patreon.com/notjustbikesz]re:(?s).*Not Just Bikes started as a way to explain why we chose to live in the Netherlands.*ÚJasonÚ37306634)rR   rM   ra   rc   rS   rs   rt   r_   rT   r[   rV   éG   z3https://www.patreon.com/api/campaigns/4243769/postszSecond ThoughtÚ4243769z%https://www.patreon.com/secondthoughtz;re:(?s).*Second Thought is an educational YouTube channel.*z
JT ChapmanÚ32718287)rR   rd   rM   ra   rc   rS   rs   rt   r_   rT   r[   rV   éÉ   zhttps://www.patreon.com/c/OgSogÚ8504388ÚOGSoGzHre:(?s)Hello and welcome to our Patreon page. We are Mari, Lasercorn, .+zhttps://www.patreon.com/OgSogÚ72323575z
David Mosszre:https?://.+/.+)rM   rR   rS   rt   ra   rc   r_   r[   rT   rV   rd   rs   iK  zChannel removed)re   rg   rH  rj   z,https://www.patreon.com/c/anythingelse/postsÚ9631148zAnything Else?z$md5:b2f20eec4cb5520d9a4be4971f28add5zdan Ú13852412z$https://www.patreon.com/anythingelse)rM   rR   rS   rT   r[   r_   rt   ra   rc   rs   rV   é—   z'https://www.patreon.com/cw/anythingelseTr‚   z%https://www.patreon.com/c/OgSog/postsz+https://www.patreon.com/dissonancepod/postsz!https://www.patreon.com/m/5932659z-https://www.patreon.com/api/campaigns/4243769c              #   ó8  K  — d }d|ddddœ}t        j                  d«      D ]t  }|j                  |rd|ini «       | j                  d||d|› �¬	«      }t	        |d
«      }t	        |d«      D ]$  }| j                  t        d|«      t        «      –— Œ& |�Œt y  y ­w)Nzpatreon_url,urlrØ   z-published_at)rÙ   zfilter[campaign_id]zfilter[is_draft]r%  rÜ   r   r&  ÚpostszDownloading posts page r'  )r8  Ú
paginationÚcursorsÚnext)r¶   .r·   Úpatreon_urlr   )r;  r9  r6   rB   r   r  r   rJ   )r#   Úcampaign_idr>  r�   r?  Ú
posts_jsonÚpost_urls          r$   Ú_entrieszPatreonCampaignIE._entries©  sº   è ø€ Øˆà-Ø#.Ø 'Ø#Ø-4ñ
ˆô —O‘O AÓ&ò 
	ˆDà�M‰M±f˜>¨6Ñ2À"ÔEØŸ™¨°ÀFÐSjÐkoÐjpÐQq˜ÓrˆJä! *Ð.WÓXˆFÜ(¨Ð5_Ó`ò `�Ø—o‘o¤gÐ.HÈ(Ó&SÔU^Ó_Ó_ð`ð ‰~Ùñ
	ùs   ‚BBÂBc                 óð  ‡	— | j                  |«      j                  dd«      \  }Š	|€L| j                  d‰	‰	ddœ¬«      d   }t        |ˆ	fd„d	t	        d
¬«      ht
        t        t        d«      hf«      }dddddœ}| j                  d|› �|dd|¬«      xs i }|j                  d«      xs i }t        |d«      }t        |dd„ fi t        d¬«      }d||| j                  |«      t        t        |d«      «      t        |d«      t        t        |d«      «      ||t        |d«      t        |j                  d	«      «      t        |d«      t        |d«      t        |d «      rd!nd"t        t        |d#«      «      d$œS )%Nr\  ÚvanityÚsearchÚ5)Úqz
page[size]rÞ   r¶   c                 ó„   •— |d   dk(  xr6 |d   d   j                  «       j                  d‰j                  «       › �«      S )Nrç   zcampaign-documentr·   re   ú/)ÚlowerÚendswith)ré   rê   ra  s     €r$   r½   z1PatreonCampaignIE._real_extract.<locals>.<lambda>Ç  sG   ø€ ˜Q˜v™YÐ*=Ñ=ÒÀ!ÀLÁ/ÐRWÑBX×B^ÑB^ÓB`×BiÑBiÐlmÐnt×nzÑnzÓn|Ðm}Ðj~ÓB€ r&   rM   Ú	campaign_)Ústartzcampaign IDrØ   r×   zEname,summary,url,patron_count,creation_count,is_nsfw,avatar_photo_urlÚcreator)rÜ   rÚ   rÛ   rÝ   z
campaigns/zDownloading campaign infoF)r*   r,   r+   )r·   rý   rå   c                 ó   — |d   dk(  S )Nrç   rï   rH   rè   s     r$   r½   z1PatreonCampaignIE._real_extract.<locals>.<lambda>Ù  s   € ¸¸6¹ÀfÑ9L€ r&   )rö   Úexpected_typer4   Úplaylist)r·   Úsummary)r·   re   )r·   ró   )r·   rð   )r·   Úcreation_count)r·   Úis_nsfwé   r   )r·   Úavatar_photo_url)Ú_typerM   rR   r  rS   rc   rd   ra   rt   r_   r[   rT   r¥   rs   rV   )Ú_match_valid_urlrõ   rB   r   r   ÚfilterrÌ   r   r"   rË   r_  r   r   r   r   )
r#   re   r\  Úresultsr�   Úcampaign_responseÚcampaign_infoÚchannel_nameÚ	user_infora  s
            @r$   r"  zPatreonCampaignIE._real_extract¿  s¶  ø€ Ø"×3Ñ3°CÓ8×>Ñ>¸}ÈhÓWÑˆ�VØÐØ—n‘n X¨vØØ!ñ>�nó ð ñˆGô ' wÛØ”x kÔ2Ð3´V¼SÄ7È=ÓCYÐBZð1\ó ]ˆKð
 .5Ø+Ø gØ ñ	
ˆð !ŸN™NØ˜˜Ð&¨Ø,°EØð +ó ò  ð  ð 	ð
 *×-Ñ-¨fÓ5Ò;¸ˆÜ# MÐ3IÓJˆÜ Ø 
Ñ,LÐMØ¤d°Eô;ˆ	ð
  ØØ!Ø—}‘} [Ó1Ü%¤l°=ÐB[Ó&\Ó]Ü'¨Ð7LÓMÜ&1´,¸}ÐNlÓ2mÓ&nØ%Ø#Ü(¨Ð4IÓJÜ& y§}¡}°TÓ':Ó;Ü$ YÐ0KÓLÜ*¨=Ð:ZÓ[Ü+¨MÐ;TÔU™Ð[\Ü$¤\°-ÐAcÓ%dÓeñ
ð 	
r&   N)	rC   rD   rE   rA  rB  r  rC  r_  r"  rH   r&   r$   rF  rF  <  s|  „ Ø €Gð$€Jð 8à3ØBØð EØ!Ø5ØØ&)Ø"ØCØ6Ø,ñ
ð  ñ!ð$ 9à%ØØ#ØAØ{ØØ'ØBØØ%Ø,ñ
ð  ñð" Eà%Ø&)ØØ#ØBØYØØ'ØCØ$Ø%Ø,ñ
ð !ñ!ð$ 1àØØfØØ#Ø:Ø;Ø%Ø$Ø-Ø&)Øñ
ð !Ø!ñ#ð( >àØ%ØAØØ%ØBØ'Ø#ØAØØ-ñ
ð !ñ!ð$ 9Øñð 7Øñð =Øñð 3Øñð ?ØñðCd€FòLó,-
r&   rF  )"rF   r;  Úcommonr   Úsproutvideor   Úvimeor   Únetworking.exceptionsr   Úutilsr	   r
   r   r   r   r   r   r   r   r   r   r   r   r   Úutils.traversalr   r   r   r   r   r   rJ   rF  rH   r&   r$   ú<module>r‚     s_   ðÛ Û å !Ý !Ý Ý -÷÷ ÷ ÷ ÷ õ ô�Mô ôBw�ô wôtp
˜õ p
r&   