
    /ji                        d dl Z d dl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 d dlmZmZmZmZmZ d dlmZ d dlmZ d dlmZmZm Z  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*m+Z+m,Z, d dl-m.Z. d dl/m0Z0 d dl1m2Z2 d dl3m4Z4 d dl5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZB d dlCmDZDmEZEmFZFmGZGmHZHmIZI d dlJmKZKmLZLmMZM d dlNmOZO d dlPmQZQ d dlRmSZS d dlTmUZU erd dlVmWZW  G d de      ZXy)    N)Path)SimpleNamespace)TYPE_CHECKINGAnyCallableDictListLiteralOptionalPatternSequenceSetUnioncast)CookieGeolocationSetCookieParamStorageStateWebErrorLocation)
CDPSession)Clock)ChannelOwnerfrom_channelfrom_nullable_channel)ConsoleMessage)Debugger)Dialog)
DisposableDisposableStub)ErrorTargetClosedError)EventContextManagerImpl)APIRequestContext)Frame)	HarRouter)HarContentPolicyHarModeRouteFromHarNotFoundPolicyRouteHandlerRouteHandlerCallbackTimeoutSettingsURLMatchWebSocketRouteHandlerCallbackasync_readfileasync_writefilelocals_to_paramsparse_errorto_impl)RequestResponseRouteWebSocketRouteWebSocketRouteHandlerserialize_headers)BindingCallPageWorker)escape_regex_flags)Tracing)Waiter)WebError)Browserc                       e Zd Z edi 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"Zd#ed$ed%ed&ed'd(f
 fd)Zd'efd*Z	de
d'd(fd+Zd,ed'd(fd-Zd.ed'd(fd/Zd0ed'd(fd1Zd2ed'd(fd3Zd2ee   d'd(fd4Zd2ed'd(fd5Zd2ee   d'd(fd6Zed'ee
   fd7       Zed'ed8   fd9       Zd:eeeef      d;ee   d<ee   d=eee e   ef      d>ee!   d'd(fd?Z"d'e
fd@Z#ddAeee$e   f   d'ee%   fdBZ&dCe$e'   d'd(fdDZ(	 	 	 ddEeee e   f   dFeee e   f   dGeee e   f   d'd(fdHZ)	 ddIe$e   dJed'd(fdKZ*ddLZ+ddMe,d'd(fdNZ-dOeeef   d'd(fdPZ.dQed'd(fdRZ/	 ddSedGeeef   d'e0fdTZ1dEedUe2d'e0fdVZ3dEedUe2d'e0fdWZ4	 ddXe5dYe6dZe7d'e8fd[Z9	 ddXe5dYee6   d'd(fd\Z:	 dd]ee;   d^ee;   d_e<d`   d'd(fdaZ=dXe5dYe>d'd(fdbZ?ddcZ@	 dd_e<d`   d'd(fddZA	 	 	 	 	 ddeeeef   dXee e   ef   dfeBdgedhe<di   dje!d'd(fdkZCddlZDddmZE	 	 ddnedoe2d2ed'eFfdpZGddqZHd'efdrZIddsed'd(fdtZJ	 ddGeeef   dued'eKfdvZLdweeKeef   d'd(fdxZMd'ee   fdyZN	 ddnedoe2d2ed'eOfdzZP	 	 ddoe2eQgef   d2ed'eFeQ   fd{ZR	 	 ddoe2e
gef   d2ed'eFe
   fd|ZSd}eTd'd(fd~ZUdeVdedee   dee
   d'd(f
dZWdeVdeeX   dedee
   d'd(f
dZYdned'd(fdZZde[d'd(fdZ\de]dee
   de^d'd(fdZ_deVdee
   d'd(fdZ`deXdee
   d'd(fdZaed'ee
   fd       Zbed'eeT   fd       Zcdee
edf   d'eefdZfed'egfd       Zhed'eifd       Zjedd       Zked'elfd       Zm xZnS )BrowserContextBackgroundPagebackgroundpageClosecloseConsoleconsoler   dialogDownloaddownloadFrameAttachedframeattachedFrameDetachedframedetachedFrameNavigatedframenavigatedr:   page	PageClose	pageclosePageLoadpageloadr?   weberrorServiceWorkerserviceworkerr3   requestr4   responseRequestFailedrequestfailedRequestFinishedrequestfinishedparenttypeguidinitializerreturnNc                     t            ||||       d  _        |j                  j                  dk(  rt        d|       _        g  _        g  _        g  _        i  _	        t        d        _        d  _        |d    _        t                _         j                  j!                  d       _         j                  j!                  d       _        t        t&        t)        |d                _        t        t,        t)        |d                _        t)        |d          _         j                   j0                  _        t3                _         j6                  j9                  d fd	        j6                  j9                  d
 fd        j6                  j9                  d fd        j6                  j9                  d fd        j6                  j9                  d fd        j6                  j9                  d fd        j6                  j9                  d fd        j6                  j9                  d fd        j6                  j9                  d fd        j6                  j9                  d fd        j6                  j9                  d fd        j6                  j9                  d fd        j6                  j9                  d  fd!       t;        j<                          _         jA                   jB                  jD                   fd"       d  _#        g  _$         jK                  tL        jB                  jN                  dtL        jB                  jP                  dtL        jB                  jR                  dtL        jB                  jT                  dtL        jB                  jV                  d tL        jB                  jX                  di       d# _-        y )$Nr@   optionsbaseURLrecordVideotracingdebuggerrequestContextbindingCallc                 >    j                  t        | d               S )Nbinding)_on_bindingr   paramsselfs    _/var/www/html/maxservice/venv/lib/python3.12/site-packages/playwright/_impl/_browser_context.py<lambda>z)BrowserContext.__init__.<locals>.<lambda>   s    4++L	9J,KL     rF   c                 $    j                         S N)	_on_close)_rr   s    rs   rt   z)BrowserContext.__init__.<locals>.<lambda>   s    DNN,< ru   rR   c                 >    j                  t        | d               S )NrR   )_on_pager   rp   s    rs   rt   z)BrowserContext.__init__.<locals>.<lambda>   s    4==fVn1M#N ru   routec           	          j                   j                  j                  t        | j	                  d                        S )Nr|   )_loopcreate_task	_on_router   getrp   s    rs   rt   z)BrowserContext.__init__.<locals>.<lambda>   s3    4::11 G!45 ru   webSocketRoutec                 p    j                   j                  j                  t        | d                     S )Nr   )r~   r   _on_web_socket_router   rp   s    rs   rt   z)BrowserContext.__init__.<locals>.<lambda>   s2    4::11)) (8!9: ru   serviceWorkerc                 >    j                  t        | d               S )Nworker)_on_service_workerr   rp   s    rs   rt   z)BrowserContext.__init__.<locals>.<lambda>   s    422<x@P3QR ru   rH   c                 &    j                  |       S rw   )_on_console_message)eventrr   s    rs   rt   z)BrowserContext.__init__.<locals>.<lambda>   s    $2259 ru   rI   c                 >    j                  t        | d               S )NrI   )
_on_dialogr   rp   s    rs   rt   z)BrowserContext.__init__.<locals>.<lambda>   s    T__\&BR5S%T ru   	pageErrorc                     j                  t        | d   d         t        | d         t        t        | j                  d      xs dddd            S )NerrorrR   location r   )urllinecolumn)_on_page_errorr1   r   r   r   r   rp   s    rs   rt   z)BrowserContext.__init__.<locals>.<lambda>   sR    4..F7OG45%fVn5$JJz*Qb!q.Q ru   rZ   c                 p    j                  t        | d         t        | j                  d                  S )NrZ   rR   )_on_requestr   r   r   rp   s    rs   rt   z)BrowserContext.__init__.<locals>.<lambda>   s0    4++VI./%fjj&89 ru   r[   c                 p    j                  t        | d         t        | j                  d                  S )Nr[   rR   )_on_responser   r   r   rp   s    rs   rt   z)BrowserContext.__init__.<locals>.<lambda>   s0    4,,VJ/0%fjj&89 ru   requestFailedc           
          j                  t        | d         | d   | j                  d      t        | j                  d                  S )NrZ   responseEndTimingfailureTextrR   )_on_request_failedr   r   r   rp   s    rs   rt   z)BrowserContext.__init__.<locals>.<lambda>   sE    422VI./*+

=)%fjj&89	 ru   requestFinishedc           
          j                  t        | d         t        | j                  d            | d   t        | j                  d                  S )NrZ   r[   r   rR   )_on_request_finishedr   r   r   rp   s    rs   rt   z)BrowserContext.__init__.<locals>.<lambda>   sJ    444VI./%fjj&<=*+%fjj&89	 ru   c                 :    j                   j                  d      S NT)_closed_future
set_result)contextrr   s    rs   rt   z)BrowserContext.__init__.<locals>.<lambda>   s    t/B/B/M/Md/S ru   F).super__init___browser	__class____name__r   _pages_routes_web_socket_routes	_bindingsr+   _timeout_settings_owner_page_optionsset_service_workersr   	_base_url_videos_dirr=   r   _tracingr   	_debugger_requestr   _clock_channelonasyncioFuturer   onceEventsrE   _close_reason_har_routers"_set_event_to_subscription_mappingrB   rG   r   r3   r4   r^   r\   _closing_or_closed)rr   r`   ra   rb   rc   r   s   `    rs   r   zBrowserContext.__init__p   s3    	t[9 .2$$	1 F3DM"$+-?A)+!0!6+/(3I(>-0U(,(9(9)(D*.--*;*;M*JWl;y3I&JK#',{:?V2W#X+7DT8U+V*.*@*@'DkL	
 	"<=N	
 		
 		
 	R	
 	9	

 	T	
 	
	
 		
 		
 		
 		
 /6nn.>		KKS	
 -1-///%%--y%%,,h%%--y%%..
%%557H%%33_		
 #(ru   c                 "    d| j                    dS )Nz<BrowserContext browser=>)browserrr   s    rs   __repr__zBrowserContext.__repr__   s    )$,,q99ru   c                 F   | j                   j                  |       | j                  t        j                  j
                  |       |j                  rP|j                  j                         s5|j                  j                  t
        j                  j                  |       y y y rw   )	r   appendemitrB   r   r:   _opener	is_closedPopup)rr   rR   s     rs   r{   zBrowserContext._on_page   si    4 		.'',,d3<< 6 6 8LLdkk//6 !9<ru   r|   c           	      N   K    |_         |j                  j                         } j                  j	                         }|D ]  }|r|j
                  s j                  r y |j                  |j                  j                        sE| j                  vrT|j                  r j                  j                  |       	 |j                  |       d {   }t         j                        dk(  r3t        j                   j                  j!                   fdd             	 |s y  	 |j#                  d       d {    y 7 p# t         j                        dk(  r3t        j                   j                  j!                   fdd             w w xY w7 W# t$        $ r Y y w xY ww)Nr   c                  $     j                         S rw   )_update_interception_patternsr   s   rs   rt   z*BrowserContext._on_route.<locals>.<lambda>  s    D$F$F$H ru   T)_contextrZ   
_safe_pager   copy_close_was_calledr   matchesr   will_expireremovehandlelenr   r   _connectionwrap_api_call_inner_continue	Exception)rr   r|   rR   route_handlersroute_handlerhandleds   `     rs   r   zBrowserContext._on_route   si    }}'')**,+ 	M//D4K4K (():):;DLL0((##M2 - 4 4U ;;t||$)''((66H$
 )	*	 ''--- <t||$)''((66H$ * . 		sn   B9F%=EEEAF%$F%(F <F=F F%EAFF%F 	F"F%!F""F%web_socket_routec                    K   t        fd| j                  D        d       }|r|j                         d {    y j                          y 7 w)Nc              3   X   K   | ]!  }|j                  j                        r| # y wrw   )r   r   ).0r   r   s     rs   	<genexpr>z6BrowserContext._on_web_socket_route.<locals>.<genexpr>  s.      ! (()9)=)=> s   '*)nextr   r   connect_to_server)rr   r   r   s    ` rs   r   z#BrowserContext._on_web_socket_route  sT     %)%<%<
 
 &&'7888..0 9s   6AAAbinding_callc                     | j                   j                  |j                  d         }|y t        j                  |j                  |             y )Nname)r   r   _initializerr   r   call)rr   r   funcs      rs   ro   zBrowserContext._on_binding!  sB    ~~!!,";";F"CD<L--d34ru   timeoutc                 $    | j                  |      S rw   )$_set_default_navigation_timeout_implrr   r   s     rs   set_default_navigation_timeoutz-BrowserContext.set_default_navigation_timeout'  s    88AAru   c                 :    | j                   j                  |       y rw   )r   r   r   s     rs   r   z3BrowserContext._set_default_navigation_timeout_impl*  s    ==gFru   c                 $    | j                  |      S rw   )_set_default_timeout_implr   s     rs   set_default_timeoutz"BrowserContext.set_default_timeout-  s    --g66ru   c                 :    | j                   j                  |       y rw   )r   r   r   s     rs   r   z(BrowserContext._set_default_timeout_impl0  s    227;ru   c                 6    | j                   j                         S rw   )r   r   r   s    rs   pageszBrowserContext.pages3  s    {{!!ru   r@   c                     | j                   S rw   )r   r   s    rs   r   zBrowserContext.browser7      }}ru   record_har_pathrecord_har_contentrecord_har_omit_contentrecord_har_url_filterrecord_har_modec                    K   |sy t        |      }|j                  d      rdnd}|xs |du rdn|}| j                  j                  |d |||xs d       d {    y 7 w)Nz.zipattachembedTomitfullharrR   r   update_contentupdate_mode)strendswithr   _record_into_har)rr   r   r   r  r  r  default_policycontent_policys           rs   _initialize_har_from_optionsz+BrowserContext._initialize_har_from_options;  s      o.'008Hg 	 ,> ,
-5F> 	 mm,,%)(2F - 
 	
 	
s   AA!AA!c                    K   | j                   rt        d      t        | j                  j	                  dd        d {         S 7 w)Nz Please use browser.new_context()newPage)r   r    r   r   sendr   s    rs   new_pagezBrowserContext.new_pageT  s=     :;;$--"4"4Y"EEFFEs   <A	A	A	urlsc                    K   |g }t        |t              r|g}| j                  j                  dd t	        |             d {   S 7 w)Ncookies)r  )
isinstancer  r   r  dict)rr   r  s     rs   r  zBrowserContext.cookiesY  sD     <DdC 6D]]''	44IIIIs   AAA	Ar  c                 n   K   | j                   j                  dd t        |             d {    y 7 w)N
addCookies)r  r   r  r  )rr   r  s     rs   add_cookieszBrowserContext.add_cookies`  '     mm  tT'5JKKK   +535r   domainpathc                 $  K   | j                   j                  dd t        |t              r|nd t        |t              r|j
                  nd t        |t              rt        |      nd t        |t              r|nd t        |t              r|j
                  nd t        |t              rt        |      nd t        |t              r|nd t        |t              r|j
                  nd t        |t              rt        |      nd d	       d {    y 7 w)NclearCookies)	r   nameRegexSourcenameRegexFlagsr"  domainRegexSourcedomainRegexFlagsr#  pathRegexSourcepathRegexFlags)r   r  r  r  r   patternr<   )rr   r   r"  r#  s       rs   clear_cookieszBrowserContext.clear_cookiesc  s      mm   *4 543=dG3L4<<RV0:40I&t,t$.vs$;&&0&AFNNt 3=VW2M&v.SW *4 543=dG3L4<<RV0:40I&t,t!
 	
 	
s   DDD	Dpermissionsoriginc                 |   K   | j                   j                  dd t        t                            d {    y 7 w)NgrantPermissionsr   r  r0   locals)rr   r.  r/  s      rs   grant_permissionsz BrowserContext.grant_permissions  s-      mm  !3T;KFH;UVVV   2<:<c                 X   K   | j                   j                  dd        d {    y 7 w)NclearPermissions)r   r  r   s    rs   clear_permissionsz BrowserContext.clear_permissions  s!     mm  !3T:::s    *(*geolocationc                 |   K   | j                   j                  dd t        t                            d {    y 7 w)NsetGeolocationr2  )rr   r9  s     rs   set_geolocationzBrowserContext.set_geolocation  s+     mm  !149I&(9STTTr5  headersc           	         K   | j                   j                  dd t        t        |                   d {    y 7 w)NsetExtraHTTPHeaders)r=  )r   r  r  r8   )rr   r=  s     rs   set_extra_http_headersz%BrowserContext.set_extra_http_headers  s4     mm  !46G6P)Q
 	
 	
s   4><>offlinec                 n   K   | j                   j                  dd t        |             d {    y 7 w)N
setOffline)rA  r  )rr   rA  s     rs   set_offlinezBrowserContext.set_offline  r   r!  scriptc           	         K   |r!t        |       d {   j                         }t        |t              st	        d      t        | j                  j                  dd t        |             d {         S 7 e7 
w)Nz1Either path or script parameter must be specifiedaddInitScript)source)	r.   decoder  r  r    r   r   r  r  )rr   rE  r#  s      rs   add_init_scriptzBrowserContext.add_init_script  sn      *40088:F&#&KLL--$$_dD<OPP
 	
 1 Qs"   A=A9AA=0A;1	A=;A=callbackc           	      2  K   | j                   D ]  }||j                  v st        d| d       || j                  v rt        d| d      || j                  |<   t        | j                  j                  dd t        |             d {         S 7 w)Nz
Function "z1" has been already registered in one of the pagesz" has been already registeredexposeBinding)r   )r   r   r    r   r   r  r  )rr   r   rK  rR   s       rs   expose_bindingzBrowserContext.expose_binding  s     KK 	Dt~~% &WX 	
 4>>!*TF*GHII't--$$_dDdOLL
 	
Ls   BA+BB	Bc                 J   K   | j                  |fd       d {   S 7 w)Nc                      | S rw    )rH  argsrK  s     rs   rt   z0BrowserContext.expose_function.<locals>.<lambda>  s    Xt_ ru   )rN  )rr   r   rK  s     `rs   expose_functionzBrowserContext.expose_function  s!     ((/TUUUUs   #!#r   handlertimesc           
          K    j                   j                  dt         j                   j                  rdnd|              j                          d {    t         fd       S 7 w)Nr   TFc                  (    j                         S rw   )unroute)rT  rr   r   s   rs   rt   z&BrowserContext.route.<locals>.<lambda>  s    dll3&@ ru   )r   insertr)   r   _dispatcher_fiberr   r   )rr   r   rT  rU  s   ``` rs   r|   zBrowserContext.route  sj      	..E		
 00222@$GG 	3s   AA2A0A2c                    K   g }g }| j                   D ]E  }|j                  |k7  s|r!|j                  |k7  r|j                  |       5|j                  |       G | j	                  ||d       d {    y 7 w)Ndefault)r   r   rT  r   _unroute_internal)rr   r   rT  removed	remainingr|   s         rs   rX  zBrowserContext.unroute  sr      	\\ 	&EyyCG0H  'u%		&
 $$WiCCCs   A/A91A72A9r^  r_  behavior)r\  ignoreErrorswaitc                    K   || _         ,dk7  r't        j                  t        fd|        d {    | j	                          d {    y 7 7 w)Nr\  c                 &    | j                        S rw   )stop)routerr`  s    rs   rt   z2BrowserContext._unroute_internal.<locals>.<lambda>  s    V[[5J ru   )r   r   gathermapr   )rr   r^  r_  r`  s      `rs   r]  z BrowserContext._unroute_internal  sS      !H	$9..#&JG"TUUU00222 V2s!   1AAAAAAc                    K   | j                   j                  dt        | j                  ||             | j	                          d {    y 7 w)Nr   )r   rY  r7   r   (_update_web_socket_interception_patterns)rr   r   rT  s      rs   route_web_socketzBrowserContext.route_web_socket  sC      	&&!$..#w?	
 ;;===s   AAAAc                 T    | j                   D ]  }|j                           g | _         y rw   )r   dispose)rr   rf  s     rs   _dispose_har_routersz#BrowserContext._dispose_har_routers  s)    '' 	FNN	ru   c                 z   K   | j                  | j                  g |       d {    | j                          y 7 wrw   )r]  r   rn  )rr   r`  s     rs   unroute_allzBrowserContext.unroute_all  s6      $$T\\2x@@@!!# 	As   !;9;r
  notFoundupdateupdateContent)r  r  
updateModec                 Z  K   |r)| j                   j                  |d |||       d {    y t        j                  | j                  j
                  t        |      |xs d|       d {   }| j                  j                  |       |j                  |        d {    y 7 |7 ;7 	w)Nr	  abort)local_utilsfilenot_found_actionurl_matcher)
r   r  r%   creater   rw  r  r   r   add_context_route)rr   r
  r   rq  rr  rs  rt  rf  s           rs   route_from_harzBrowserContext.route_from_har  s      --00,& 1     ''((44S%0	
 
 	  (&&t,,,
 	-s4   &B+B%AB++B',3B+B) B+'B+)B+c                    K   t        j                  | j                        }| j                  j	                  dd d|i       d {    y 7 w)NsetNetworkInterceptionPatternspatterns)r)   prepare_interception_patternsr   r   r  rr   r  s     rs   r   z,BrowserContext._update_interception_patterns  sB     ==dllKmm  ,dZ4J
 	
 	
   AAA
Ac                    K   t        j                  | j                        }| j                  j	                  dd d|i       d {    y 7 w)N setWebSocketInterceptionPatternsr  )r7   r  r   r   r  r  s     rs   rj  z7BrowserContext._update_web_socket_interception_patterns  sI     (FF##
 mm  .z86L
 	
 	
r  r   	predicatec                 v   || j                   j                         }t        | d| d      }|j                  |d| d| d       |t        j
                  j                  k7  r,|j                  | t        j
                  j                  d        |j                  | ||       t        |j                               S )Nzbrowser_context.expect_event()zTimeout z%ms exceeded while waiting for event ""c                      t               S rw   )r!   rQ  ru   rs   rt   z-BrowserContext.expect_event.<locals>.<lambda>!  s
    ;L;N ru   )r   r   r>   reject_on_timeoutrB   r   rE   reject_on_eventwait_for_eventr"   result)rr   r   r  r   waiters        rs   expect_eventzBrowserContext.expect_event  s     ?,,446G =eWAFG  xy(MeWTUV	
 N))///""n++113N 	dE95&v}}77ru   c                 n   d| _         | j                  r| | j                  j                  v r%| j                  j                  j                  |        | j                  j                  J | | j                  j                  j
                  j                  j                  v rC| j                  j                  j
                  j                  j                  j                  |        | j                          | j                  j                          | j                  t        j                  j                  |        y r   )r   r   	_contextsr   _browser_type_playwright	selectors_contexts_for_selectorsrn  r   _reset_stack_counterr   rB   r   rE   r   s    rs   rx   zBrowserContext._on_close&  s    "&==t}}...''..t4==..:::==..::DD\\] ++77AAYY`` 	!!#**,		.''--t4ru   c                     | j                   S rw   )r   r   s    rs   r   zBrowserContext.is_closed8  s    &&&ru   reasonc                 z   K    j                   ry | _        d _          j                  j                  |       d {    d fd} j                  j
                  j                  |d       d {     j                  j                  dd d|i       d {     j                   d {    y 7 t7 B7 7 w)NT)r  c                  V   K    j                   j                          d {    y 7 wrw   )r   _export_all_harsr   s   rs   _inner_closez*BrowserContext.close.<locals>._inner_closeC  s     --00222s   )')rF   r  rd   N)	r   r   rZ   rm  r   r   r   r  r   )rr   r  r  s   `  rs   rF   zBrowserContext.close;  s     ""#"&ll""&"111	3 mm''55lDIIImm  $60BCCC!!!! 	2
 	JC!sE   ;B;B33B;2B53&B;B7B;-B9.B;5B;7B;9B;	indexedDBc                    K   | j                   j                  dd d|i       d {   }|r't        |t        j                  |             d {    |S 7 /7 w)NstorageStater  )r   send_return_as_dictr/   jsondumps)rr   r#  r  r  s       rs   storage_statezBrowserContext.storage_stateJ  s[      }}88D;	":
 
 !$

6(:;;;
 <s!   #AA(AAAAr  c                    K   t        |t        t        f      r't        j                  t        |       d {         }n|}| j                  j                  dd d|i       d {    y 7 37 w)NsetStorageStater  )r  r  r   r  loadsr.   r   r  )rr   r  states      rs   set_storage_statez BrowserContext.set_storage_stateT  s`      lS$K0JJ^L%AABE Emm  !2D>5:QRRR  B 	Ss!   4A.A*-A.$A,%A.,A.c                 x    | j                   r| j                   S | j                  r| j                  j                   S y rw   )r   r   r   s    rs   _effective_close_reasonz&BrowserContext._effective_close_reason]  s1    %%%====...ru   c                    K   | j                  |||      4 d {   }	 d d d       d {     d {   S 7 7 # 1 d {  7  sw Y    xY w7 wrw   )r  )rr   r   r  r   
event_infos        rs   r  zBrowserContext.wait_for_eventd  s[      $$UIw? 	 	:	 		 	 	 	 	sF   A:A>A<	AAAAAAAAc                 X    | j                  t        j                  j                  ||      S rw   )r  r:   r   rG   rr   r  r   s      rs   expect_console_messagez%BrowserContext.expect_console_messagek  s#    
   !4!4iIIru   c                 X    | j                  t        j                  j                  ||      S rw   )r  rB   r   r:   r  s      rs   expect_pagezBrowserContext.expect_pager  s%    
   !6!6!;!;YPPru   r   c                     | |_         | j                  j                  |       | j                  t        j
                  j                  |       y rw   )r   r   addr   rB   r   rX   )rr   r   s     rs   r   z!BrowserContext._on_service_workery  s7    !!&)		.''55v>ru   response_end_timingfailure_textc                     ||_         |j                  |       | j                  t        j                  j
                  |       |r+|j                  t        j                  j
                  |       y y rw   )_failure_text_set_response_end_timingr   rB   r   r\   r:   )rr   rZ   r  r  rR   s        rs   r   z!BrowserContext._on_request_failed~  sU     !-(()<=		.''55w?IIdkk//9 ru   c                    |j                  |       | j                  t        j                  j                  |       |r*|j                  t
        j                  j                  |       |r|j                  j                  d       y y r   )r  r   rB   r   r^   r:   _finished_futurer   )rr   rZ   r[   r  rR   s        rs   r   z#BrowserContext._on_request_finished  sd     	(()<=		.''77AIIdkk117;%%006 ru   c                 z   t        || j                  | j                        }|j                  }|r*|j	                  t
        j                  j                  |       |j                  }|r*|j	                  t        j                  j                  |       | j	                  t        j                  j                  |       y rw   )r   r~   rZ  r   r   r;   r   rG   rR   r:   rB   )rr   r   messager   rR   s        rs   r   z"BrowserContext._on_console_message  s|     

D4J4JKKK--w7||IIdkk))73		.''//9ru   c                    | j                  t        j                  j                  |      }|j                  }|r.|j                  t
        j                  j                  |      xs |}|sW|j                  dk(  r$t        j                  |j                                y t        j                  |j                                y y )Nbeforeunload)r   rB   r   r   rR   r:   ra   r   r   acceptdismiss)rr   rI   has_listenersrR   s       rs   r   zBrowserContext._on_dialog  s    		."7"7">">G{{ IIdkk&8&8&AR]M
 {{n,##FMMO4##FNN$45 ru   r   r   c           
          | j                  t        j                  j                  t        | j                  | j
                  |||             |r+|j                  t        j                  j                  |       y y rw   )r   rB   r   r?   r~   rZ  r:   	PageError)rr   r   rR   r   s       rs   r   zBrowserContext._on_page_error  s[     			!!**TZZ!7!7uhO	
 IIdkk++U3 ru   c                     | j                  t        j                  j                  |       |r+|j                  t        j                  j                  |       y y rw   )r   rB   r   r3   r:   )rr   rZ   rR   s      rs   r   zBrowserContext._on_request  s<    		.''//9IIdkk))73 ru   c                     | j                  t        j                  j                  |       |r+|j                  t        j                  j                  |       y y rw   )r   rB   r   r4   r:   )rr   r[   rR   s      rs   r   zBrowserContext._on_response  s<    		.''00(;IIdkk**H5 ru   c                     g S rw   rQ  r   s    rs   background_pageszBrowserContext.background_pages  s    	ru   c                 ,    t        | j                        S rw   )listr   r   s    rs   service_workerszBrowserContext.service_workers  s    D))**ru   c                   K   t        |      }i }t        |t              r|j                  |d<   n+t        |t              r|j                  |d<   nt        d      t        | j                  j                  dd |       d {         S 7 w)NrR   framezpage: expected Page or FramenewCDPSession)r2   r  r:   r   r$   r    r   r  )rr   rR   rq   s      rs   new_cdp_sessionzBrowserContext.new_cdp_session  sr     t}dD!!]]F6Ne$"mmF7O677$--"4"4_dF"SSTTSs   A>B B		Bc                     | j                   S rw   )r   r   s    rs   ri   zBrowserContext.tracing  r   ru   c                     | j                   S rw   )r   r   s    rs   rj   zBrowserContext.debugger  s    ~~ru   c                     | j                   S rw   )r   r   s    rs   rZ   zBrowserContext.request  r   ru   c                     | j                   S rw   )r   r   s    rs   clockzBrowserContext.clock  s    {{ru   rQ  rw   )NNNr  )NN)NNNNN)rd   r#   )or   
__module____qualname__r   r   r   r  r   r   r   r:   r{   r5   r   r6   r   r9   ro   floatr   r   r   r   r   propertyr	   r   r   r   r   r&   boolr   r'   r  r  r   r   r  r   r  r-  r4  r8  r   r<  r@  rD  r   rJ  r   rN  rS  r,   r*   intr   r|   rX  r)   r
   r]  r-   rk  rn  rp  r(   r}  r   rj  r"   r  rx   r   rF   r   r  r  r  r   r  r   r  r  r;   r   r3   r   r4   r   r   r   r   r    r   r   r   r   r  r  r$   r   r  r=   ri   r   rj   rZ   r   r  __classcell__)r   s   @rs   rB   rB   Z   sw    '  	
   & & (     &   !" &#$ *%F*x("x(*-x(58x(GKx(	x(t:# :7T 7d 7U t @1> 1d 15 5 5Be B BGHUO GPT G75 7T 7<% <T < "tDz " " ),  
!%c	"23
 %%56
 "*$	

  (gclC.?(@A
 "'*
 

2G G
J%Xc](:"; JtF| JL.)A Ld L
 *.+/)-	
C%&
 c73<'(
 C%&	

 

> 9=W#C=W25W	W
;U U U
DcN 
t 

L L$ L <@	
	
(-c4i(8	
		

 
 
Z 
V# V Vj V JNHH&:HCFH	H" HL
D
D&./C&D
D	
D  @D		3l#	3 %	3 ;<		3
 
	3>>&C>	> FJ$ AB$	$ )-/348"-49- 73<$%- -	-
 - 01- - 
-6

 #	88 8 	8
 
!8&5$'4 '"# " "  @D#t)$8<	S!,T"9:S	S#  HL  %- ?D 	  7;J^,d23J J 
!	0	J -1QTFDL)Q Q 
!	&	Q? ?D ?
:: #: sm	:
 tn: 
:77 8$7 #	7
 tn7 
7: :$ :6 6D 644"*4.4<L4	447 4(4. 4T 4
6X 6Xd^ 6 6
 $t*   +f + +	U%e*< 	U 	U    (     u  ru   rB   )Yr   r  pathlibr   typesr   typingr   r   r   r   r	   r
   r   r   r   r   r   r    playwright._impl._api_structuresr   r   r   r   r   playwright._impl._cdp_sessionr   playwright._impl._clockr   playwright._impl._connectionr   r   r   !playwright._impl._console_messager   playwright._impl._debuggerr   playwright._impl._dialogr   playwright._impl._disposabler   r   playwright._impl._errorsr    r!   'playwright._impl._event_context_managerr"   playwright._impl._fetchr#   playwright._impl._framer$   playwright._impl._har_routerr%   playwright._impl._helperr&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   playwright._impl._networkr3   r4   r5   r6   r7   r8   playwright._impl._pager9   r:   r;   playwright._impl._str_utilsr<   playwright._impl._tracingr=   playwright._impl._waiterr>   playwright._impl._web_errorr?   playwright._impl._browserr@   rB   rQ  ru   rs   <module>r     s       !     5 ) 
 = / + C = K 5 ) 2     = < : - + 01M
\ M
ru   