o
    i#                     @   s  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  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 i ddd	d
ddddd
ddddddddd	d
dddddddddddddddd dd!d"d#d$dd%d&d'd(dd)d)d'd(dd*d*d+d,d-d.d'd(d/dd0d0d	d
dd1d2d#d$dd3d4d5id6d4d7id8d4d9ii d:d4d;id<d4d=id>d4d?id@d4dAidBd4dCidDd4dEidFd4dGidHd4dIidJd4dKidLd4dMidNd4dOidPd4dQidRd4dSidTd4dUidVd4dWidXd4dYidZd4d[ii d\d4d]id^d4d_id`d4daidbd4dciddd4deidfd4dgidhd4diidjd4dkidld4dmidnd4doidpd4dqidrd4dsidtd4duidvd4dwidxd4dyidzd4d{id|d4d}ii d~d4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4dii dd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4dii dd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4dii dd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4did d4didd4didd4dii dd4didd4d	id
d4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4did d4d!id"d4d#id$d4d%id&d4d'ii d(d4d)id*d4d+id,d4d-id.d4d/id0d4d1id2d4d3id4d4d5id6d4d7id8d4d9id:d4d;id<d4d=id>d4d?id@d4dAidBd4dCidDd4dEidFd4dGidHd4dIii dJd4dKidLd4dMidNd4dOidPd4dQidRd4dSidTd4dUidVd4dWidXd4dYidZd4d[id\d4d]id^d4d_id`d4daidbd4dciddd4deidfd4dgidhd4diidjd4dkii dld4dmidnd4doidpd4dqidrd4dsidtd4duidvd4dwidxd4dyidzd4d{id|d4d}id~d4didd4didd4didd4didd4didd4didd4didd4dii dd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4dii dd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4dii dd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4dii dd4didd4didd4didd4didd4didd4did d4didd4didd4didd4didd4d	id
d4didd4didd4didd4didd4didd4dii dd4didd4didd4didd4didd4did d4d!id"d4d#id$d4d%id&d4d'id(d4d)id*d4d+id,d4d-id.d4d/id0d4d1id2d4d3id4d4d5id6d4d7ii d8d4d9id:d4d;id<d4d=id>d4d?id@d4dAidBd4dCidDd4dEidFd4dGidHd4dIidJd4dKidLd4dMidNd4dOidPd4dQidRd4dSidTd4dUidVd4dWidXd4dYii dZd4d[id\d4d]id^d4d_id`d4daidbd4dciddd4deidfd4dgidhd4diidjd4dkidld4dmidnd4doidpd4dqidrd4dsidtd4duidvd4dwidxd4dyidzd4d{ii d|d4d}id~d4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4dii dd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4dii dd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4dii dd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4did d4didd4dii dd4didd4didd4d	id
d4didd4didd4didd4didd4didd4didd4didd4didd4didd4didd4did d4d!id"d4d#id$d4d%ii d&d4d'id(d4d)id*d4d+id,d4d-id.d4d/id0d4d1id2d4d3id4d4d5id6d4d7id8d4d9id:d4d;id<d4d=id>d4d?id@d4dAidBd4dCidDd4dEidFd4dGii dHd4dIidJd4dKidLd4dMidNd4dOidPd4dQidRd4dSidTd4dUidVd4dWidXd4dYidZd4d[id\d4d]id^d4d_id`d4daidbd4dciddd4deidfd4dgidhd4diid4djid4dkid4dlid4dmid4dnid4doid4dpidqd	d
drddsd	d
ddtd#d$ddu
ZG dvdw dweZdS (x      N   )InfoExtractor   )	HTTPError)
NO_DEFAULTExtractorErrorparse_qsunescapeHTMLunified_timestampurlencode_postdataDTVDIRECTVusernamepassword)nameusername_fieldpassword_fieldATTzAT&T U-verseuseridATTOTTzDIRECTV NOWemailloginpasswordRCNRogersUserNameUserPasswordComcast_SSOzComcast XFINITYuserpasswdzlogin.xfinity.com)r   r   r   login_hostnameTWCzTime Warner Cable | SpectrumEcom_User_IDEcom_PasswordBrighthousez Bright House Networks | Spectrum
j_username
j_passwordCharter_DirectzCharter SpectrumIDToken1IDToken2SpectrumPhiloident)r   r   VerizonzVerizon FiOSzssoauth.verizon.comFuboCablevisionzOptimum/Cablevisionthr030r   z3 Rivers Communicationscom140zAccess MontanaacecommunicationsAcenTekacm010zAcme Communicationsada020zAdams Cable Servicealb020zAlbany Mutual TelephonealgonazAlgona Municipal UtilitiesallwestzAll West Communicationsall025zAllen's Communicationsspl010zAlliance Communicationsall070zALLO CommunicationsalpinezAlpine Communicationshun015zAmerican Broadbandnwc010zAmerican Broadband Missouriz	com130-02zAmerican Community Networksz	com130-01zAmerican Warrior Networkstom020z!Amherst Telephone/Tomorrow Valleytvc020	AndycablearkwestzArkwest Communicationsart030zArthur Mutual Telephone CompanyarvigArvig
nttcash010zAshland Home NetastoundzAstound (now Wave)dix030zATC Broadbandara010zATC Communicationsz	she030-02zAyersville CommunicationsbaldwinzBaldwin Lightstreambal040z
Ballard TVcit025zBardstown Cable TVbay030zBay Country Communicationstel095z"Beaver Creek Cooperative Telephonebea020zBeaver Valley Cablebee010zBee Line Cablewir030zBeehive Broadbandbra020BELDbel020zBellevue Municipal Cablez	vol040-01zBen Lomand Connect / BLTVbev010BEVCOMMbig020zBig Sandy Broadbandble020zBledsoe Telephone Cooperativebvt010zBlue Valley Tele-Communicationsbra050zBrandenburg Telephone Co.bte010z$Bristol Tennessee Essential ServicesannearundelBroadstripebtc010zBTC Communicationsbtc040zBTC Vision - Nahuntabul010zBulloch Telephone Cooperativebut010zButler-Bremer Communicationsz
tel160-cspzC Spire SNAPcsicablezCable Services Inc.cableamericaCableAmericacab038zCableSouth Media 3zweh010-camtelzCam-Tel Companycar030zCameron CommunicationscanbytelzCanby Telcomcrt020z
CapRock Tvcar050zCarnegie Cablecasz	CAS CablecasscommCASSCOMMz	mid180-02zCatalina Broadband SolutionscccommzCC Communications
nttccde010zCDE LightbandcfunetzCedar Falls Utilitiesz	dem010-01zCelect-Bloomer Telephone Areaz	dem010-02zCelect-Bruce Telephone Areaz	dem010-03zCelect-Citizens Connected Areaz	dem010-04z!Celect-Elmwood/Spring Valley Areaz	dem010-06zCelect-Mosaic Telecomz	dem010-05zCelect-West WI Telephone Areaz	net010-02zCellcom/Nsight Telservicescen100	CentraCom
nttccst010zCentral Scott / CSTVcha035zChaparral CableVisioncha050z/Chariton Valley Communication Corporation, Inc.cha060zChatmoss Cablevision
nttcche010zCherokee Communicationsche050zChesapeake Bay CommunicationscimtelzCim-Tel Cable, LLC.cit180z Citizens Cablevision - Floyd, VAcit210zCitizens Cablevision, Inc.cit040zCitizens Fibercit250zCitizens Mutualwar040zCitizens Telephone Corporationwat025zCity Of Monroe	wadsworthCityLinknor100zCL Telcla010z+Clarence Telephone and Cedar Communicationsser060zClear Choice Communicationstac020zClick! Cable TVwar020z
CLICK1.NETcml010z%CML Telephone Cooperative AssociationcnsCNScom160zCo-Mo Connectcoa020zCoast Communicationscoa030zCoaxial Cable TVmid055z"Cobalt TV (Mid-State Community TV)col070zColumbia Power & Water Systemscol080zColumbus Telephonenor105z"Communications 1 Cablevision, Inc.com150zCommunity Cable & Broadbandcom020z Community Communications Companycoy010commZoomcom025zComplete Communication Servicescat020	Comporiumcom071zComSouth TelesysconsolidatedcableConsolidated
conwaycorpzConway Corporationcoo050z"Coon Valley Telecommunications Inccoo080zCooperative Telephone Companycpt010zCP-TELcra010zCraw-Kan Telephone	crestviewzCrestview Cable CommunicationscrosszCross TVcro030zCrosslake Communicationsctc040zCTC - Brainerd MNphe030zCTV-Beam - East Alabamacun010zCunningham Telephone & Cabledpc010zD & P Communicationsdak030z!Dakota Central Telecommunications
nttcdel010zDelcambre Telephone LLCz
tel160-delzDelta Telephone Companysal040
DiamondNetz	ind060-dczDirect Communicationsdoy010zDoylestown Cable TVdic010DRNdtc020DTCdtc010zDTC Cable (Delhi)dum010zDumont Telephone Companydun010zDunkerton Telephone Cooperativecci010zDuo County TelecomeaglezEagle Communicationszweh010-eastzEast Arkansas Cable TVeatelzEATEL Video, LLCell010ECTAemerytelcomzEmery Telcom Video LLCnor200zEmpire AccessendeavorzEndeavor Communicationssun045z'Enhanced Telecommunications Corporationmid030enTouchepb020zEPB Smartnetjea010zEPlus Broadbandcom065ETCete010zEtex Communicationszfbc-telezF&B Communicationsfal010zFalcon Broadbandfam010zFamilyView CableVisionfar020z Farmers Mutual Telephone Companyfay010zFayetteville Public Utilitiessal060fibrantfid010zFidelity Communicationsfor030zFJ Communicationsfli020zFlint River Communicationsfar030zFMT - Jesupfoo010zFoothills Communicationsfor080zForsyth CableNetfbcommzFrankfort Plant Boardz
tel160-frazFranklin Telephone Company
nttcftc010FTCfullchannelzFull Channel, Inc.gar040z-Gardonville Cooperative Telephone Associationgbt010zGBT Communications, Inc.tec010zGenuine Telecomclr010zGiant Communicationsgla010zGlasgow EPBgle010zGlenwood Telecommunicationsgra060zGLW Broadband Inc.
goldenwestzGolden West Cablevisionvis030zGrantsburg TelcomgpcomzGreat Plains Communicationsgri010zGridley Cable Inchbc010zH&B Cable Serviceshae010zHaefele TV Inc.htc010zHalstad Telephone Companyhar005zHarlan Municipal Utilitieshar020zHart Communicationsced010zHartelco TVhea040z(Heart of Iowa Communications Cooperativehtc020zHickory Telephone Company
nttchig010zHighland Communication Serviceshig030zHighland Mediaspc010zHilliary Communicationshin020zHinton CATV Co.hometelzHomeTel Entertainment, Inc.	hoodcanalzHood Canal Communicationszweh010-hopezHope - Prescott Cable TVhorizoncablezHorizon Cable TV, Inc.hor040zHorizon Chillicothe Telephonehtc030zHTC Communications Co. - ILhtccommzHTC Communications, Inc. - IAwal005zHuxley CommunicationsimonzImOn Communicationsind040zIndependence Telecommunicationsrrc010zInland Networksstc020zInnovative Cable TV St Croixcar100z%Innovative Cable TV St Thomas-St Johnicc010zInside Connect Cableint100zIntegra Telecomint050z"Interstate Telecommunications Coopirv010zIrvine Cablek2c010zK2 Communicationskal010zKalida Telephone Company, Inc.kal030z$Kalona Cooperative Telephone Companykmt010	KMTelecomkpu010zKPU Telecommunicationskuh010zKuhn Communications, Inc.lak130zLakeland Communicationslan010Langcolau020z*Laurel Highland Total Communications, Inc.leh010z#Lehigh Valley Cooperative Telephonebra010zLimestone Cable/Bracken Cableloc020LISCOlit020
Litestreamtel140LivComloc010zLocalTel Communicationszweh010-longviewzLongview - Kilgore Cable TVlon030zLonsdale Video Ventures, LLClns010z Lost Nation-Elwood Telephone Co.
nttclpc010zLPC ConnectlumoszLumos NetworksmadisonzMadison Communicationsmad030zMadison County Cable Inc.
nttcmah010zMahaska Communication Groupmar010z"Marne & Elk Horn Telephone Companymcc040zMcClure Telephone Co.mctvMCTVmerrimaczMerrimac Communications Ltd.metronetMetronetmhtcMHTC	midhudsonzMid-Hudson Cable	midriverszMid-Rivers Communicationsmid045zMidstate Communicationsmil080zMilford Communicationsmin030MINET
nttcmin010z
Minford TVz	san040-02zMitchell Telecommlg010MLGCmon060zMon-Cre TVEmou110zMountain Telephonemou050zMountain Village CablemtacommzMTA Communications, LLCmtc010z	MTC Cablemed040zMTC Technologiesman060MTCCmtc030zMTCO Communicationsmul050zMulberry Telecommunicationsmur010zMurray Electric SystemmusfiberzMUS FiberNETmpwzMuscatine Power & Water
nttcsli010z
myEVTV.comnor115NCCnor260NDTCnctczNebraska Central Telecom, Inc.nel020zNelsonville TV Cablenem010Nemontnew075zNew Hope Telephone Cooperativenor240NICPcic010zNineStar ConnectnktelcoNKTelconortexzNortex Communicationsnor140z#North Central Telephone Cooperativenor030zNorthland Communicationsnor075zNorthwest Communicationsnor125zNorwood Light Broadbandnet010zNsight Telservicesdur010Ntecnts010zNTS Communicationsnew045z
NU-TelecomnulinkNuLinkjam030NVCfar035zOmniTel Communications	onesourcezOneSource Communicationscit230zOpelika Power ServicesdaltonutilitiesOptiLinkmid140OPTURAote010zOTEC Communication Companycci020zPackerland Broadbandpan010z*Panora Telco/Guthrie Center Communicationsotterz)Park Region Telephone & Otter Tail Telcommid050z"Partner Communications Cooperativefib010Pathway
paulbunyanzPaul Bunyan Communicationspem020zPembroke Telephone Companymck010z#Peoples Rural Telephone Cooperativepul010zPES Energizephi010zPhilippi Communications System
phonoscopezPhonoscope Cablepin070zPine Belt Communications, Inc.zweh010-pinezPine Bluff Cable TVpin060zPineland Telephone Cooperativecam010zPinpoint Communicationspio060zPioneer BroadbandpioncommzPioneer CommunicationspioneerzPioneer DTVpla020zPlant TiftNet, Inc.par010PLWCpro035PMTvik011zPolar CablevisionpottawatomiezPottawatomie Telephone Co.premiercommzPremier Communicationspsc010PSCpan020PTCIqco010QCOLqua010zQuality Cablevisionrad010zRadcliffe Telephone Companycar040zRainbow Communicationsrai030zRainier Connectral010zRalls Technologiesrct010zRC Technologiesred040zRed River Communicationsree010zReedsburg Utility Commissionmol010zReliance Connects- Oregonres020zReserve Telecommunicationszweh010-resortzResort TV Cablerld010z*Richland Grant Telephone Cooperative, Inc.riv030z$River Valley Telecommunications CooprockportcablezRock Port Cablevisionrsf010zRS FiberrtczRTC Communication Corpres040zRTC-Reservation Telephone Coop.rte010zRTEC Communicationsstc010zS&Tsan020zSan Bruno Cable TVz	san040-01Santelsav010z(SCI Broadband-Savage Communications Inc.sco050zScottsboro Electric Power Boardscr010zScranton Telephone CompanyselcoSELCOshe010Shentelshe030z+Sherwood Mutual Telephone Association, Inc.z
ind060-ssczSilver Star CommunicationssjobergzSjoberg's Inc.sou025SKTsky050z
SkyBest TV
nttcsmi010zSmithville Communicationswoo010Solarussou075z)South Central Rural Telephone Cooperativesou065zSouth Holt Cablevision, Inc.sou035z&South Slope Cooperative Communicationsspa020zSpanish Fork Community Networkspe010zSpencer Municipal Utilitiesspi005zSpillway Communications, Inc.srt010SRT	cccsmc010zSt. Maarten Cable TVsta025zStar Communicationssco020STEuin010zSTRATA Networkssum010zSumner Cable TVpie010zSurry TV/PCSI TVswa010zSwayzee Communications
sweetwaterzSweetwater Cable Television Cozweh010-talequahzTahlequah Cable TVtctTCTtel050zTele-Media Companycom050zThe Community Agencythr020zThree Rivercab140zTown & Country Technologiestra010zTrans-Videotre010zTrenton TV Cable Companytccz%Tri County Communications Cooperativetri025zTriCounty Telecomtri110zTrioTel Communications, Inc.tro010zTroy Cablevision, Inc.tscTSCcit220zTullahoma Utilities Boardtvc030zTV Cable of Rensselaertvc015z	TVC Cablecab180TVisiontwi040z
Twin LakestvtinczTwin Valleyuis010zUnion Telephone Companyuni110zUnited Communications - TNuni120zUnited Servicesuss020zUS Sonetcab060zUSA Communicationsshe005z!USA Communications/Shellsburg, IAval040zValley TeleCom Groupval025zValley Telecommunicationsval030zValparaiso Broadbandcla050zVast Broadbandsul015z(Venture Communications Cooperative, Inc.ver025zVernon Communications Co-opzweh010-vicksburgzVicksburg Videovis070zVision Communications
volcanotelzVolcano Vision, Inc.z	vol040-02zVolFirst / BLTVver070VTel
nttcvtx010VTX1z	bci010-02zVyve Broadbandwab020zWabash Mutual Telephone
waitsfieldzWaitsfield Cablewal010zWalnut CommunicationswavebroadbandWavewav030zWaverly Communications Utilitywbi010WBIweb020z1Webster-Calhoun Cooperative Telephone Associationwes005zWest Alabama TV Cable
carolinatazWest Carolina Communicationswct010z"West Central Telephone Associationwes110z(West River Cooperative Telephone Companyani030zWesTel Systems	westianetzWestern Iowa Networks
nttcwhi010zWhidbey Telecomzweh010-whitezWhite County Cable TVwes130Wiatelwik010Wiktelwil070z0Wilkes Communications, Inc./RiverStreet Networkswil015zWilson Communicationswin010zWindomnet/SMBSwin090zWindstream Cable TVwctaz)Winnebago Cooperative Telecom Associationwtc010WTCzWTC Communications, Inc.zWyandotte CablezX-Stream ServiceszXIT CommunicationszYelcot Communicationsyondooz
Zito MediazSling TVzidentity.sling.com
Suddenlinkz
Optimum TV)
wil040wya010z	hin020-02xit010yel010z	mid180-01cou060slingtvr  	AlticeOnec                       sL   e Zd ZdZdZdZdZ fddZedd Z	ed	d
 Z
dd Z  ZS )AdobePassIEz+https://sp.auth.adobe.com/adobe-services/%szBMozilla/5.0 (X11; Linux i686; rv:47.0) Gecko/20100101 Firefox/47.0zap-mvpdzDownloading Provider Login Pagec                    s6   |   }||dpi  ||d< t j|i |S )Nheaders)geo_verification_headersupdategetsuper_download_webpage_handle)selfargskwargsr  	__class__ N/home/ubuntu/.local/lib/python3.10/site-packages/yt_dlp/extractor/adobepass.pyr  \  s   z$AdobePassIE._download_webpage_handlec                 C   s   i S )Nr  )mso_infor  r  r  _get_mso_headersc  s   zAdobePassIE._get_mso_headersc           
      C   s~   t d}t |d}| |_t |d}t |d}||_t |d}||_t |d}	ddi|	_||	_dt |  d	 S )
Nchanneltitleitemguidzmedia:ratingschemez
urn:v-chipz?<rss version="2.0" xmlns:media="http://search.yahoo.com/mrss/">z</rss>)etreeElement
SubElementtextattribtostringdecode)
provider_idr  r	  ratingr  channel_titler  resource_titleresource_guidresource_ratingr  r  r  _get_mvpd_resourceh  s   

zAdobePassIE._get_mvpd_resourcec           7         s>
   d}|rt|  ni  fddfdd}i df fdd	}d	d
 }	dfdd	}
ddjjd}d|v rB|dn|}tdD ]}jj|pTi }|d}|rc||drcd }|s|sk|	  dd|\}}|rx|s{|	  j	ddt
dt ji ddid\}}|d }|d|d< ||d< jd d!t
d"|i ddid}jd#d$td%|d& |d' d(dd)idd* }d+| |d,< jd-| d.d/t||d0d1d)d+| d2dd3 }jjd4 d5d6||d7d8||d9 d:}|d;kr|\}}d<|v r&d=|d>}|d? nd@|v r;dA|dB}|d? ndC|v rC|}ndD|v r\|
|dEdF}j|j dG}n||j}||dH dI | dJ |idEdK}|\}}dL|v r||dM n|dNkr͈jdOdPt
|dQddEdRt j dEdS dTdTdUd tdV}jdWdXt
dY|i dTdTdUd dZd[}||dM na|d\kr|\}}d]|v rd^|vrjd_|d`dadb}|dc} nbdd|v r||dH dI | dJ |idEdK}!|!\} }de| v rtdfn?jdg|d`dadb}|dhdi}|djdk}|dldm}|dc} || |gdH dI | dJ |idEdK\} }de| v rStdnjdo| dpdadb}"j|"dqddridG}#j|#ds dMt|#dt |#du dvddwid n|dxv r|\}}||j}|\} }jdy| dudzdb}$jd{| d|d}db}% dI | dJ |du|$d||%i}&jd~dqt
|& dTdTdUd}#j|#d dMt|#dt |$dvddwid nR|dkr3|\}'}|'}(d|(d< j|jd|(d}||dH dI | dJ |idEdK\})}|
|)|jd}*|*d\}+}|+}(d|(d< j|jd|(d}||dM n|dkr||d\}'}|'}(d|(d< j|jd|(d},|,\}-}d|-v r^|,}nd|-d}.j|.d|(d}/jd|/ d|(d}||dH dI | dJ |idEdK\})}|
|)|jd}*|*d\}+}|+}(d|(d< j|jd|(d}||dM ny|dkr|\}}jdddt |jt
||d dTdTdd}0jddd|0d3 |0d dd nD|\}}|
||jd}*|*r|*d}||j} dId| dJd|i}1|dv rd|1d< ||dH|1dEdK}|dkr.||dM zjjd dtd||d|d}2W n" tye }3 z|s`t!|3j"t#r`|3j"j$dkr`|	   d }3~3ww d|2v ruj%j|i  qHt&|2d}||d< j%j|| ||}4|4r||4drd }4|4sjjd dt||||ddd|d}5d|5v rÈj%j|i  qHd|5v rt|5ddEdt&|5d}4|4||< j%j|| |'|d|dd jjd dt|4||dd7d|d}6d|6v rj%j|i  qH|6  S d S )Nap_msoc                    s     d| d| d| |S )N<z>(.+?)</>)_search_regex)xml_strtagr  r  r  xml_text~  s   z0AdobePassIE._extract_mvpd_auth.<locals>.xml_textc                    s,   t tdd | |}|o|tt kS )Nz[_ ]GMT )r
   resubinttime)tokendate_eletoken_expires)r   r  r  
is_expired  s   z2AdobePassIE._extract_mvpd_auth.<locals>.is_expiredFc           
   	      s   | \}}j d|ddd}td|stj|j|}|rOtj|} d}|r;||j	kr;t
d| d|j	 d	|jd
krOd tj|jd
d}|}	|	| j||t|	i  ddidS )Nz&<form[^>]+action=(["\'])(?P<url>.+?)\1zpost urlurlgroupz	https?://r   z)Unexpected login URL hostname; expected "z" but got "z)". Aborting before submitting credentialshttpsz#Upgrading login URL scheme to https)r
  Content-Type!application/x-www-form-urlencodeddatar  )_html_search_regexr"  matchurllibparseurljoinr*  urlparser  hostnamer   r
  write_debug
urlunparse_replace_hidden_inputsr  r  r   r  )
form_page_resnoter1  validate_url	form_pageurlhpost_url
url_parsedexpected_hostname	form_data)r  r  video_idr  r  	post_form  s2   




z1AdobePassIE._extract_mvpd_auth.<locals>.post_formc                   S   s   t ddd)NzThis video is only available for users of participating TV providers. Use --ap-mso to specify Adobe Pass Multiple-system operator Identifier and --ap-username and --ap-password or --netrc to provide account credentials.Texpected)r   r  r  r  r  raise_mvpd_required  s   z;AdobePassIE._extract_mvpd_auth.<locals>.raise_mvpd_requiredc                    sH   d} j d| | d|rtnd |d}|sd S |r"tj|t|}|S )Nz%[0-9]{,2};\s*(?:URL|url)=\'?([^\'"]+)z\(?i)<meta\s+(?=(?:[a-z-]+="[^"]+"\s+)*http-equiv="refresh")(?:[a-z-]+="[^"]+"\s+)*?content="zmeta refresh redirect)defaultfatal)r  r   r4  r5  r6  r	   )htmlr*  rL  REDIRECT_REGEXredirect_urlr  r  r  extract_redirect_url  s   z<AdobePassIE._extract_mvpd_auth.<locals>.extract_redirect_url	anonymousz
Linux i686)ap_42ap_11ap_zz
User-Agentr  r	  r   authn_tokensimpleTokenExpiresap_usernameap_passwordz'https://sp.auth.adobe.com/indiv/deviceszRegistering device with Adobefingerprintr.  zapplication/json; charset=UTF-8r0  deviceIdpass_sfpAp_21z+https://sp.auth.adobe.com/o/client/registerzRegistering client with Adobesoftware_statementz(https://sp.auth.adobe.com/o/client/tokenzObtaining access tokenclient_credentials	client_idclient_secret)
grant_typer_  r`  z0application/x-www-form-urlencoded; charset=UTF-8access_tokenzBearer Authorizationz$https://sp.auth.adobe.com/reggie/v1/z/regcodezObtaining registration codejson)	requestorrZ  format)r.  rc  codezauthenticate/samlz"Downloading Provider Redirect Pagetruefalsez	adobe.com)noflashmso_idrequestor_id	no_iframedomain_namerO  reg_code)queryr  r   zautomatically signing you inz%window\.location\s*=\s*[\'"]([^\'"]+)zoauth redirectzConfirming auto loginzautomatically signed in withz?continue:\s*"(https://oauth\.xfinity\.com/oauth/authorize\?.+)"zoauth redirect (signed)z<form name="signin"zhttp-equiv="refresh"T)rL  )r  z
Logging inr   r   )r?  z5<button class="submit" value="Resume">Resume</button>zConfirming Loginr*   z*https://idp.philo.com/auth/init/login_codezRequesting Philo auth codewebzweb-)r+   devicesend_confirm_link
send_tokendevice_identinclude_login_linkzapplication/json)r.  Acceptz+Type auth code you have received [Return]: z,https://idp.philo.com/auth/update/login_codezSubmitting tokenr&  z https://idp.philo.com/idp/submitzConfirming Philo Loginr,   zPlease wait ...z	'N'== "Y"z,self\.parent\.location=(["\'])(?P<url>.+?)\1zSAML Redirect URLr*  r+  zDownloading SAML Login PagezVerizon FiOS - sign inzPlease try again.zGWe're sorry, but either the User ID or Password entered is not correct.z$var\surl\s*=\s*(["\'])(?P<url>.+?)\1z\//z\--z\x26&z/Failed to login, incorrect User ID or Password.z1xmlHttp\.open\("POST"\s*,\s*(["\'])(?P<url>.+?)\1zSAML Login URLzDownloading SAML Responseztext/xmltargetValueSAMLResponse
RelayState)r|  r}  r/  )r)   r&   z"RelayState\s*=\s*"(?P<relay>.+?)";relayz*SAMLRequest\s*=\s*"(?P<saml_request>.+?)";SAMLRequestsaml_requestzAhttps://tveauthn.spectrum.net/tveauthentication/api/v1/manualAuthSAMLRedirectUrir  r   historyzSending first bookend)rp  )r*  z*Downloading Auth Association Redirect Page   zSending final bookendr  zPressing Continue...history_valzSending First Bookendz-id="password" type="password" name="password"zurl:\s*[\'"]([^\'"]+)ajaxurlzSubmitting TryAuthzQhttps://authorize.suddenlink.net/saml/module.php/authSynacor/login.php?AuthState=zGetting Login PagezSending Final Bookendr-   z(https://api.fubo.tv/partners/tve/connectzAuthenticating with Fuboz Unable to authenticate with Fubo)r   r   )rw  r.  )rp  r1  r  z/https://sp.auth.adobe.com/adobe-services/oauth2zAuthenticating with Adobez!Failed to authenticate with Adobestate)rg  r  z1Downloading Provider Redirect Page (meta refresh)r   r   )r.   r  r!  _eventId_proceedr   sessionzRetrieving SessionGET)_methodrl  ro  i  z<pendingLogout
authnTokensimpleTokenTTL	authorizezRetrieving Authorization TokensimpleTokenMsoID1)resource_idrl  authentication_tokenrk  userMetaz<errordetailsrH  
authzTokensimpleSamlNameIDsimpleSamlSessionIndex)ap_19ap_23shortAuthorizezRetrieving Media TokensimpleTokenAuthenticationGuid)authz_tokenrl  session_guidhashed_guid)NF)(	get_paramMSO_INFO_USER_AGENTrangecacheload_MVPD_CACHEr  _get_login_info_download_json_handlerd  dumpsuuiduuid4hexencode
get_header_download_jsonr   r  _SERVICE_PROVIDER_TEMPLATEr  r2  _download_webpage_DOWNLOADING_LOGIN_PAGE_request_webpagegetpassr   replacer  r<  r*  r   
isinstancecauser   statusstorer	   r  )7r  r*  rF  rl  resourcer]  rk  r)  rG  rJ  rP  mvpd_headersr	  _requestor_inforU  r   r   device_inforA  	device_idregistrationrb  ro  provider_redirect_page_resprovider_redirect_pageoauth_redirect_urlprovider_login_page_resmvpd_confirm_page_resmvpd_confirm_page
philo_codesaml_redirect_urlsaml_login_pagesaml_login_page_ressaml_login_urlsaml_response_jsonrelay_stater  
login_jsonfirst_bookend_pagehidden_dataprovider_association_redirectprovider_refresh_redirect_urllast_bookend_page provider_login_redirect_page_resprovider_login_redirect_pageprovider_tryauth_urlprovider_tryauth_pagefubo_responserE  r  er  r  short_authorizer  )r  r  rF  r   r  _extract_mvpd_authw  sf  



	



































"



	

   zAdobePassIE._extract_mvpd_auth)__name__
__module____qualname__r  r  r  r  r  staticmethodr  r  r  __classcell__r  r  r   r  r  U  s    

r  )r  rd  r"  r%  urllib.parser4  r  xml.etree.ElementTreer  ElementTreecommonr   networking.exceptionsr   utilsr   r   r   r	   r
   r   r  r  r  r  r  r  <module>   s-    	 %*/48>CHKNQTWZ]`cfilorux{~                        #  &  )  ,  /  2  5  8  ;  >  A  D  G  J  M  P  S  V  Y  \  _  b  e  h  k  n  q  t  w  z  }               
                                "    %    (    +    .    1    4    7    :    =    @    C    F    I    L    O    R    U    X    [    ^    a    d    g    j    m    p    s    v    y    |                     	                                                !      $      '      *      -      0      3      6      9      <      ?      B      E      H      K      N      Q      T      W      Z      ]      `      c      f      i      l      o      r      u      x      {      ~                                                                                                #        &        )        ,        /        2        5        8        ;        >        A        D        G        J        M        P        S        V        Y        \        _        b        e        h        k        n        q        t        w        z        }                                       
                                                                                "          %          (          +          .          1          4          7          :          =          @          C          F          I          L          O          R          U          X          [          ^          a          d          g          j          m          p          s          v          y          |                                             	                                                                                                !            $            '            *            -            0            3            6            9            <            ?            B            E            H            K            N            Q            T            W            Z            ]            `            c            f            i            l            o            r            u            x            {            ~                                                                                                                                                                        #              &              )              ,              /              2              5              8              ;              >              A              D              G              J              M              P              S              V              Y              \              _              b              e              h              k              n              q              t              w              z              }                                                               
                                                                                                                                "                %                (                +                .                1                4                7                :                =                @                C                F                I                L                O                R                U                X                [                ^                a                d                g                j                m                p                s                v                y                |                                                                     	                                                                                                                                                !                  $                  '                  *                  -                  0                  3                  6                  9                  <                  ?                  B                  E                  H                  K                  N                  Q                  T                  W                  Z                  ]                  `                  c                  f                  i                  l                  o                  r                  u                  x                  {                  ~                                                                                                                                                                                                                                                $          
          K