+
    \j%                        R t ^ RIHt ^ RIt^ RIHtHt ]P                  ! R]P                  4      t	R R lt
R R ltR	 R
 ltR R ltR R ltRRRRRR/R R lltR# )u  USPTO (ABD Patent ve Marka Ofisi) şekli inceleme kuralları.

37 CFR 1.52 (genel biçim), 1.72 (abstract) ve 1.75 (claims) ile MPEP
608/1826'ya dayanır. Tüm kurallar deterministiktir (LLM'siz). Ortak
kurallar (istem numaralandırma, tek cümle, özet uzunluğu) `rules.py`'de
çalıştırılır; bu modül yalnızca USPTO'ya ÖZGÜ kontrolleri içerir.

Kaynak: 37 CFR 1.72(b), 37 CFR 1.75, MPEP 608.01(b) — The Abstract.
)annotationsN)FindingSeverityz^\s*(\d+)\s*[.)]\s+c                    V ^8  d   QhRRRR/#    abstractstrreturnlist[Finding] )formats   "^/Users/zincirx/Documents/projelerim/patentyazar/backend-python/app/services/formality/uspto.py__annotate__r      s      3 =     c           
         T ;'       g    RP                  4       '       d   . # \        R\        P                  RRRRRR7      .# )	u:   37 CFR 1.72(b): başvuruda abstract bulunması zorunludur. zuspto.abstract_missingozetz%Abstract of the Disclosure is missingzA patent application must include an abstract of the disclosure (37 CFR 1.72(b)). The abstract must commence on a separate sheet.uX   Add an abstract — a concise statement of the technical disclosure, on a separate page.37 CFR 1.72(b)rule_idseveritysectiontitledetail
suggestionlegal_basis)stripr   r   ERROR)r   s   &r   check_uspto_abstract_presentr      sM    B	,^^9'
2 )	
 r   c                    V ^8  d   QhRRRR/# r   claimsr	   r
   r   r   )r   s   "r   r   r   ,   s      s } r   c           
         \         P                  T ;'       g    R4      '       d   . # \        R\        P                  RRRRRR7      .# )	u,   37 CFR 1.75: en az bir istem bulunmalıdır.r   zuspto.claims_missingistemlerzNo claims foundzfThe specification must conclude with one or more claims (37 CFR 1.75). No numbered claim was detected.z.Add at least one numbered claim (1., 2., ...).z37 CFR 1.75r   )_CLAIM_STARTsearchr   r   r   )r"   s   &r   check_uspto_claims_presentr'   ,   sO    6<<R((	*^^#A H%	
 r   c                    V ^8  d   QhRRRR/# r   r   )r   s   "r   r   r   @   s      # - r   c           
         \        \        P                  ! RT ;'       g    R4      4      pV^8:  d   . # \        R\        P
                  RRV R2RV R2R	V^,
           R2R
R7      .# )u>   37 CFR 1.72(b): abstract 150 kelimeyi AŞAMAZ (kesin sınır).z\S+r   zuspto.abstract_too_longr   zAbstract exceeds 150 words (z words)zQThe abstract may not exceed 150 words (37 CFR 1.72(b)). The current abstract has z words.z!Shorten the abstract by at least r   r   )lenrefindallr   r   r   )r   wordss   & r   check_uspto_abstract_lengthr.   @   sz    

68>>r23E|	-^^0w?,,17'; ;53;-wO(	
 r   c                    V ^8  d   QhRRRR/# r   r   )r   s   "r   r   r   U   s            r   c                   a . ROpT ;'       g    RP                  4       o\        V3R lV 4       R4      pV'       g   . # \        R\        P                  RRRV R2R	VR
R7      .# )uP   MPEP 608.01(b): abstract önceki tekniğe atıf / karşılaştırma içermemeli.r   c              3  8   <"   T F  qS9   g   K  Vx  K  	  R # 5i)Nr   ).0tlows   & r   	<genexpr>4check_uspto_abstract_no_prior_art.<locals>.<genexpr>`   s     7?a3h?s   
Nzuspto.abstract_prior_artr   z5Abstract may compare the invention with the prior artzxThe abstract should not compare the invention with the prior art or refer to purported merits (MPEP 608.01(b)). Found: "z".zdRephrase the abstract as a neutral technical statement of what is new, without prior-art comparison.zMPEP 608.01(b))r   r   r   r   r   r   excerptr   )z	prior artzunlike conventionalzcompared tozin contrast tozadvantage overzbetter than)lowernextr   r   WARNING)r   prior_art_termshitr4   s   &  @r   !check_uspto_abstract_no_prior_artr=   U   s}    O >>r
 
 
"C
7?7
>C	.%%I5%
@ (	
 r   c                    V ^8  d   QhRRRR/# r!   r   )r   s   "r   r   r   x   s      # - r   c           
     R   \         P                  T ;'       g    R4       Uu. uF  p\        VP                  ^4      4      NK  	  pp\	        V4      ^8  d   . # T ;'       g    RP                  4       pRV9   g   RV9   d   . # \        R\        P                  RRRRR	R
7      .# u upi )ul  37 CFR 1.75(c): bağımlı istem önceki bir isteme atıf yapmalı.

USPTO'da bağımlı istemler "The ... of claim N" biçimiyle başlar.
Sezgisel kontrol: "claim" sözcüğünü hiç içermeyen ama 1'den büyük
numaralı istemler bağımsız sayılır — bu geçerlidir ama çoğu başvuruda
en az bir bağımlı istem beklenir; eksikse bilgilendirme verilir.
r   claimr"   zuspto.no_dependent_claimsr$   zNo dependent claims detectedzAll claims appear to be independent (no reference to another claim). Dependent claims ('The ... of claim N') are common practice and broaden protection scope.zgConsider adding dependent claims that reference the independent claim(s) to cover specific embodiments.z37 CFR 1.75(c)r   )	r%   finditerintgroupr*   r8   r   r   INFO)r"   mnumsr4   s   &   r   %check_uspto_claim_dependency_languagerG   x   s     &2%:%:6<<R%HI%HC
O%HDI
4y1}	<<R


 C#~S	/]]0D
F )	
  Js   #B$descriptionr   r"   r   c               (    V ^8  d   QhRRRRRRRR/# )r   rH   r	   r"   r   r
   r   r   )r   s   "r   r   r      s2        	
 r   c                    . pV\        V4      ,          pV\        V4      ,          pV\        V4      ,          pV\        V4      ,          pV\	        V4      ,          pV# )u;   Tüm USPTO-özgü deterministik kuralları çalıştırır.)r   r'   r.   r=   rG   )rH   r"   r   findingss   $$$ r   check_uspto_rulesrL      s^     !H,X66H*622H+H55H1(;;H5f==HOr   )__doc__
__future__r   r+   app.services.formality.modelsr   r   compile	MULTILINEr%   r   r'   r.   r=   rG   rL   r   r   r   <module>rR      sk    # 	 ;zz0",,?0(* FD  	 r   