+
    j{                        R t ^ RIHt ^ RIt^ RIt^ RIHtHt ^ RIH	t	H
t
 ^ RIHt ^ RIHtHtHtHt ]! RR.R	7      t ! R
 R]	4      t]P)                  R4      R R l4       tR# )u  İtiraz / şekli inceleme yazısı ayıklama endpoint'i.

Hedef patent ofisinin (TR | EP | US) gönderdiği şekli inceleme/itiraz
yazısı veya formal Office Action PDF'ini alıp, tespit edilen eksiklik
maddelerini yapılandırılmış biçimde döner. "İtiraz → düzeltme → değişiklik
evrakı" döngüsünün ilk halkasıdır: ayıklanan maddeler doğrudan değişiklik
evrakı formuna ön-doldurulabilir.
)annotationsN)	APIRouterHTTPException)	BaseModelField)Jurisdiction)ObjectionExtractionErrorObjectionReportextract_objection_textparse_objectionz
/objection	objection)prefixtagsc                  n    ] tR t^t$ Rt]! R^RR7      tR]R&   ]! ]P                  RR7      t
R	]R
&   RtR# )ObjectionParseRequestu   Frontend → backend isteği..u8   Base64 kodlanmış şekli inceleme/itiraz yazısı PDF'i)
min_lengthdescriptionstr
pdf_base64ul   Yazının ait olduğu patent ofisi (TR | EP | US). Prompt ve kural eşleştirme tablosu buna göre seçilir.)defaultr   r   jurisdiction N)__name__
__module____qualname____firstlineno____doc__r   r   __annotations__r   TRr   __static_attributes__r       S/Users/zincirx/Documents/projelerim/patentyazar/backend-python/app/api/objection.pyr   r      s>    'NJ 
 "'>"L, r    r   z/parsec                    V ^8  d   QhRRRR/# )   reqr   returnr	   r   )formats   "r!   __annotate__r'   /   s     F F&; F Fr    c                  "    \         P                  ! V P                  RR7      pTP                  R4      '       g   \        RRR7      h \        T4      p\        Y0P                  R
7      G Rj  xL
 #   \        P                  \
        3 d   p\        RRT 2R7      ThRp?ii ; i  \         d   p\        R	\        T4      R7      ThRp?ii ; i Lb5i)uJ   Şekli inceleme/itiraz yazısı PDF'inden eksiklik maddelerini çıkarır.T)validatei  zPDF base64 decode edilemedi: )status_codedetailNs   %PDF-u(   Yüklenen dosya geçerli bir PDF değil.i  )r   )base64	b64decoder   binasciiError
ValueErrorr   
startswithr
   r   r   r   r   )r$   	pdf_bytesexctexts   &   r!   parse_objection_letterr5   .   s     $$S^^dC	 ))=
 	

G%i0 !4D4DEEE! NNJ' &CC5$I
	 $ GCH=3FG Fs\   C"A4 CCB( C/C0C4B%B  B%%C(C3C

CC)r   
__future__r   r,   r.   fastapir   r   pydanticr   r   app.services.formality.modelsr   app.services.objectionr   r	   r
   r   routerr   postr5   r   r    r!   <module>r=      sc    #   , % 6  
,k]	;I " XF Fr    