+
    0j^                         R t ^ RIt^ RIHt ^ RIHtHt ^ RIHt ^ RI	H
t
 ]P                  ! ]4      t ! R R]]
,          4      tR# )z'Startpage search engine implementation.N)Mapping)AnyClassVar)BaseSearchEngine)
TextResultc                      a  ] tR t^t o RtRtRtRtRtRt	RR/t
R	tR
RRRRR/tV 3R lR ltRV 3R lR lltV 3R ltRtV tR# )	StartpagezStartpage search engine.	startpagetextgooglez#https://www.startpage.com/sp/searchPOSTRefererhttps://www.startpage.com/z&//div[contains(@class, 'result')][./a]titlez.//h2//text()hrefz	./a/@hrefbodyz.//p//text()c                    < V ^8  d   QhRS[ /# )   return)str)format__classdict__s   "k/Users/mitch_tango/dev/rabbit-r1-livekit/agent/.venv/lib/python3.14/site-packages/ddgs/engines/startpage.py__annotate__Startpage.__annotate__   s           c                    V P                   P                  RR4      P                  pV P                  V4      pVP	                  R4      pV'       d
   V^ ,          MRV n        V P
                  # )zGet sc param.GETr   z.//form[@id="search"]//input[@name="sc"]/@value )http_clientrequestr
   extract_treexpath_sc)self	resp_texttreesc_elementss   &   r   get_scStartpage.get_sc   sX    $$,,U4PQVV	  +jj!QR%0;q>bxxr   c                h   < V ^8  d   QhRS[ RS[ RS[ RS[ R,          RS[RS[ RS[S[ S[3,          /# )	r   queryregion
safesearch	timelimitNpagekwargsr   )r   intdictr   )r   r   s   "r   r   r   '   s]        	
 :   
c3hr   c                8   VP                  4       P                  R4      w  rxRRRRRR/p	RVRR	R
RRV P                  4       RRRRRRRRRRRV RVP                  4        2RWP                  4       ,          RR/p
V^8  d   \	        V4      V
R&   V'       d   WJR&   V
# )z1Build a payload for the Startpage search request.-onheavymoderateoffnoner+   catwebtdevicescluienglishlanguageabp1abd0abeqsr_qadfsegmentorganicr/   	with_date)lowersplitr(   upperr   )r$   r+   r,   r-   r.   r/   r0   countrylangsafesearch_basepayloads   &&&&&&,    r   build_payloadStartpage.build_payload'   s     ,,S1*j%PU5$++-9	333dV1W]]_-.O$4$4$67y#
 !8!$iGFO#,K r   c                ~   < V ^8  d   Qh/ S[ S[S[S[3,          ,          ;R&   S[ S[S[S[3,          ,          ;R&   # )r   headers_updateelements_xpath)r   r2   r   r   )r   r   s   "r   r   r      s<      T#s(^,X  WS#X./  r   )r#   N)   )__name__
__module____qualname____firstlineno____doc__namecategoryprovider
search_urlsearch_methodrW   items_xpathrX   r(   rT   __annotate_func____static_attributes____classdictcell__)r   s   @r   r   r      sb     "DHH6JM09;W/XN:K3N  5  r   r   )r^   loggingcollections.abcr   typingr   r   	ddgs.baser   ddgs.resultsr   	getLoggerrZ   loggerr    r   r   <module>rp      s9    -  #   & #			8	$9 , 9r   