
    <i9                    >   S SK r S SKJr  S SKJrJrJrJr  S SKJ	r	  S SK
Jr  S SKJr  S SKJr  S SKJr  S S	KJr  S S
KJr  S SKJr  S SKJr  S SKJr  S SKJrJrJrJ r   S SK!J"r"  S SK#J$r$J%r%J&r&J'r'  S SK(J)r)J*r*J+r+J,r,J-r-J.r.J/r/J0r0  S SK1J2r2J3r3  S SK4J5r5   " S S\5      r6g)    N)DFA)PredictionContextCachePredictionContextSingletonPredictionContext PredictionContextFromRuleContext)TokenStream)Parser)ParserRuleContext)RuleContext)Token)str_list)ATN)	ATNConfig)ATNConfigSet)ATNSimulator)StarLoopEntryStateDecisionStateRuleStopStateATNState)PredictionMode)SemanticContextAND
andContext	orContext)
TransitionRuleTransitionActionTransitionPrecedencePredicateTransitionPredicateTransitionAtomTransitionSetTransitionNotSetTransition)DFAStatePredPrediction)NoViableAltExceptionc                     ^  \ rS rSrSrSrSrSrSrS\	S\
S\S\4U 4S jjrS	 rS
\S\S\4S jrS\S\S
\S\S\4
S jrS\S\4S jrS\S\S\4S jrS\S\4S jrS\S\S\S
\S\S\4S jrS\S\S\4S jrS\S\4S  jrS!\S"\ S\4S# jr!S\4S$ jr"S%\#S&\4S' jr$S(\%S\S)\4S* jr&S(\%S+\4S, jr'S\S\4S- jr(S\4S. jr)S\S\4S/ jr*S0\S\S1\4S2 jr+S3\,S\S4\%S5\S\S6\4S7 jr-S3\,S\S4\%S5\S\S8\S6\4S9 jr.S3\,S\S4\%S5\S\S8\S6\4S: jr/S; r0S<\4S= jr1\2" 5       r3S> \3\#Rh                  '   S? \3\#Rj                  '   S@ \3\#Rl                  '   SA \3\#Rn                  '   SB \3\#Rp                  '   SC \3\#Rr                  '   SD \3\#Rt                  '   SE \3\#Rv                  '   S3\,S\#S5\SF\S\S6\4SG jr<S3\,S\=4SH jr>S3\,SI\?S5\SF\S\4
SJ jr@S3\,SI\AS5\SF\S\4
SK jrBS3\,S\C4SL jrDS\4SM jrES\4SN jrFS\4SO jrGS
\4SP jrHSQ\I4SR jrJS
\S\S\S\4SS jrKS\4ST jrLS\SU\S\SV\4SW jrMS\S\4SX jrNS\SY\%S\S\SZ\4
S[ jrOS\S\\S\S\SZ\4
S] jrPS\S\S\SZ\S^\S(\%S\4S_ jrQS`rRU =rS$ )aParserATNSimulatori  )parserdecisionToDFApredictionMode_input_startIndex_outerContext_dfa
mergeCacheFr(   atnr)   sharedContextCachec                    > [         TU ]  X$5        Xl        X0l        [        R
                  U l        S U l        SU l        S U l	        S U l
        S U l        g Nr   )super__init__r(   r)   r   LLr*   r+   r,   r-   r.   r/   )selfr(   r0   r)   r1   	__class__s        W/home/james-whalen/.local/lib/python3.13/site-packages/antlr4/atn/ParserATNSimulator.pyr5   ParserATNSimulator.__init__  sP    1*,//!	     c                     g N )r7   s    r9   resetParserATNSimulator.reset#  s    r;   inputdecisionouterContextc                    [         R                  (       d  [         R                  (       a|  [        S[	        U5      -   S-   U R                  U5      -   S-   [	        UR                  S5      R                  5      -   S-   [	        UR                  S5      R                  5      -   5        Xl	        UR                  U l        X0l        U R                  U   nX@l        UR                  5       nUR                  n UR                   (       a*  UR#                  U R$                  R'                  5       5      nOUR(                  nUGc_  Uc  [*        R,                  n[         R                  (       d  [         R                  (       a`  [        S[	        UR.                  5      -   S-   U R                  U5      -   S-   UR1                  U R$                  R2                  S 5      -   5        SnU R5                  UR6                  [*        R,                  U5      n	UR                   (       ae  XR(                  l        U R;                  U	5      n	U R=                  U[?        U	S	95      nURA                  U R$                  R'                  5       U5        OU R=                  U[?        U	S	95      nXtl        U RC                  XGXU5      n
[         R                  (       a1  [        S
UR1                  U R$                  R2                  5      -   5        U
S U l        S U l"        URG                  U5        URI                  U5        $ ! S U l        S U l"        URG                  U5        URI                  U5        f = f)NzadaptivePredict decision  exec LA(1)== line    :zpredictATN decision z, outerContext=FconfigszDFA after predictATN: )%r'   debugdebug_list_atn_decisionsprintstrgetLookaheadNameLTlinecolumnr+   indexr,   r-   r)   r.   markprecedenceDfagetPrecedenceStartStater(   getPrecedences0r
   EMPTYrB   toStringliteralNamescomputeStartStateatnStartStaterJ   applyPrecedenceFilteraddDFAStater#   setPrecedenceStartStateexecATNr/   seekrelease)r7   rA   rB   rC   dfamrS   rX   fullCtx
s0_closurealts              r9   adaptivePredict"ParserATNSimulator.adaptivePredict&  s   ##'9'R'R-H=#23595J5J55QR#+,.1%((1+2B2B.CDFIJ $'uxx{'9'9#:; <  ;;)  *	JJL+	   001J1J1LM VVz'#4#:#:L%++/A/Z/Z03s||3DD'679=9N9Nu9UV'89;G;P;PQUQ\Q\QiQiko;pq r  !33C4E4EGXG^G^`gh
$$ &0FFN!%!;!;J!GJ))#x
/KLB//0I0I0KRP))#x
/KLBF,,slCC!''.dkk>V>V1WWXDI"DOJJuMM! DI"DOJJuMM!s   6HL+ +2Mrd   rX   
startIndexc           	      Z   [         R                  (       d  [         R                  (       a  [        S[	        UR
                  5      -   S-   U R                  U5      -   S-   [	        UR                  S5      R                  5      -   S-   [	        UR                  S5      R                  5      -   5        Un[         R                  (       a  [        S[	        U5      -   5        UR                  S5      n U R                  Xg5      nUc  U R                  XU5      nXR                  L ab  U R                  X5UR                  U5      n	UR!                  U5        U R#                  UR                  U5      n
U
[$        R&                  :w  a  U
$ U	eUR(                  (       Ga  U R*                  [,        R.                  :w  Gag  UR                  R0                  nUR2                  b  [         R                  (       a  [        S5        UR4                  nX:w  a  UR!                  U5        U R7                  UR2                  US5      n[9        U5      S:X  a+  [         R                  (       a  [        S	5        [;        U5      $ X:w  a  UR!                  U5        [         R<                  (       a&  [        S
[	        U5      -   S-   [	        U5      -   5        SnU R?                  UR@                  X]5      nU RC                  XUR                  XCR4                  5        U RE                  XXXE5      n
U
$ URF                  (       a  UR2                  c  URH                  $ UR4                  nUR!                  U5        U R7                  UR2                  US5      n[9        U5      S:X  a  U R                  X5UR                  U5      e[9        U5      S:X  a  [;        U5      $ U RK                  XXOSUUR                  5        [;        U5      $ UnU[L        RN                  :w  a!  URQ                  5         UR                  S5      nGM<  )NzexecATN decision rE   rF   rG   rH   zs0 = Tz*DFA state has preds in DFA sim LL failoverzFull LL avoidedzctx sensitive state z in r   F))r'   rK   rL   rM   rN   rB   rO   rP   rQ   rR   LAgetExistingTargetStatecomputeTargetStateERRORnoViableAltrJ   rb   7getSynValidOrSemInvalidAltThatFinishedDecisionEntryRuler   INVALID_ALT_NUMBERrequiresFullContextr*   r   SLLconflictingAlts
predicatesrS   evalSemanticContextlenmin	dfa_debugr\   r]   reportAttemptingFullContextexecATNWithFullContextisAcceptState
predictionreportAmbiguityr   EOFconsume)r7   rd   rX   rA   rk   rC   	previousDtDerh   rv   conflictIndexrf   rg   	stopIndexaltss                    r9   ra   ParserATNSimulator.execATN  s\   ##'9'R'R%CLL(99#$&*&;&;E&BC"588A;#3#3457:;=@!ASAS=TU V 	##'CG#$HHQK++I9Ay++CA>JJ $$U):K:KZX

:&RRS\SdSdfrs...J$$$)<)<@R@R)R"#))";";<<+)//JK$)KKM$2

:.&*&>&>q||\[_&`O?+Q.-33!"34"?33$2 

=1%//03|3DDfLsSTvUV!33C4E4E|]
00qyyR\^i^ij11#*Zf
<<'<<'!KK	

:&//lDQt9a<**5		:VVY\t9$ ((tUVU^U^_t9$IEII~HHQKO r;   r   r   c                 f    UR                   nUb  US-   S:  d  US-   [        U5      :  a  g X2S-      $ )NrG   r   )edgesry   )r7   r   r   r   s       r9   rn   )ParserATNSimulator.getExistingTargetState  s8    =AEAIQ#e*)<Q<r;   c                    U R                  UR                  US5      nUc(  U R                  XX0R                  5        U R                  $ [	        US9nU R                  U5      n[        R                  (       a  [        R                  " U5      n[        S[        U5      -   S-   [        U5      -   S-   [        U5      -   S-   [        [        R                  " U5      5      -   S-   [        U R                  U5      5      -   5        U[        R                  :w  a  SUl        XeR                  l        Xel        Ox[        R&                  " U R(                  U5      (       aR  U R                  U5      UR                  l        SUl        SUl        [/        UR                  R*                  5      Ul        UR                   (       aq  UR                  R0                  (       aV  U R3                  XPR4                  R7                  UR8                  5      5        UR:                  b  [        R                  Ul        U R                  XX55      nU$ )	NFrI   zSLL altSubSets=z
, configs=
, predict=z, allSubsetsConflict=z, conflictingAlts=T)computeReachSetrJ   
addDFAEdgerp   r#   getUniqueAltr'   rK   r   getConflictingAltSubsetsrM   rN   allSubsetsConflictgetConflictingAltsr   rs   r~   	uniqueAltr   #hasSLLConflictTerminatingPredictionr*   rv   rt   rz   hasSemanticContextpredicateDFAStater0   getDecisionStaterB   rw   )r7   rd   r   r   reachr   predictedAlt
altSubSetss           r9   ro   %ParserATNSimulator.computeTargetState  s   $$Y%6%65A=OOCAzz::: U#((/##'@@GJ#c*o5Ds5zQ$%'*<'89;RSN==jIJKMab D33E:;< =
 ///"AO".II'L??@S@SUZ[[(,(?(?(FAII%$(A!"AOqyy889AL??qyy;;""1hh&?&?&MN||'"55 OOCA1r;   dfaStatedecisionStatec                    [        UR                  5      nU R                  UR                  5      nU R	                  XAR                  U5      nUb,  U R                  XE5      Ul        [        R                  Ul	        g [        U5      Ul	        g r=   )ry   transitionsgetConflictingAltsOrUniqueAltrJ   getPredsForAmbigAltsgetPredicatePredictionsrw   r   rs   r   rz   )r7   r   r   naltsaltsToCollectPredsFrom	altToPreds         r9   r   $ParserATNSimulator.predicateDFAState  s     M--. "&!C!CHDTDT!U--.DFVFVX]^	 "&">">?U"aH"%"8"8H
 #&&<"=Hr;   r   c           	         [         R                  (       d  [         R                  (       a  [        S[	        U5      5        SnSnS n	Un
UR                  U5        UR                  S5      nSn U R                  XU5      n	U	cL  U R                  XFX5      nUR                  U5        U R                  X5      nU[        R                  :w  a  U$ Ue[        R                  " U	5      n[         R                  (       a]  [        S[	        U5      -   S-   [	        [        R                  " U5      5      -   S-   [	        [        R                  " U5      5      -   5        U R                  U	5      U	l        U	R                   [        R                  :w  a  U	R                   nOU R"                  [        R$                  La,  [        R                  " U5      nU[        R                  :w  a  OOO[        R&                  " U5      (       a4  [        R(                  " U5      (       a  Sn[        R*                  " U5      nO:U	n
U[,        R.                  :w  a!  UR1                  5         UR                  S5      nGM  U	R                   [        R                  :w  a  U R3                  XXUR4                  5        U$ U R7                  XXTR4                  US U	5        U$ )	Nr}   TFrG   zLL altSubSets=r   z, resolvesToJustOneViableAlt=)r'   rK   rL   rM   rN   rb   rm   r   rq   rr   r   rs   r   r   r   resolvesToJustOneViableAltr   r*   LL_EXACT_AMBIG_DETECTIONr   allSubsetsEqualgetSingleViableAltr   r   r   reportContextSensitivityrS   r   )r7   rd   r   rX   rA   rk   rC   rf   foundExactAmbigr   previousr   r   r   rh   r   s                   r9   r}   )ParserATNSimulator.execATNWithFullContext0  sU   
 ##'9'R'R*CG4

:HHQK((g>E} $$U(O

:&RRS[j...JG'@@GJ!''&Z8<G.55jABCEde.CCJOPQ R #//6EO 6 66$$$N,S,SS-HHT3#9#99 :
 "44Z@@^EcEcdnEoEo&*O#1#D#DZ#PL
 HEII~HHQKc l ??c444))#UPUP[P[\: 	SZotUZ[r;   closurerf   c           	         [         R                  (       a  [        S[        U5      -   5        U R                  c  [        5       U l        [        U5      nS nU H  n[         R                  (       a,  [        SU R                  U5      -   S-   [        U5      -   5        [        UR                  [        5      (       a;  U(       d  U[        R                  :X  a  Uc
  [        5       nUR                  U5        M  UR                  R                   H<  nU R!                  Xr5      nUc  M  UR#                  [%        XS9U R                  5        M>     M     S n	UcK  U[        R                  :w  a7  ['        U5      S:X  a  Un	O%U R)                  U5      [*        R,                  :w  a  Un	U	cE  [        U5      n	[/        5       n
U[        R                  :H  nU H  nU R1                  XiU
SX;5        M     U[        R                  :X  a  U R3                  XUL 5      n	UbF  U(       a  [4        R6                  " U	5      (       d$  U H  nU	R#                  X`R                  5        M      ['        U	5      S:X  a  g U	$ )Nz&in computeReachSet, starting closure: ztesting z at stateconfigrG   Fr   )r'   rK   rM   rN   r/   dictr   getTokenName
isinstancer   r   r   r   listappendr   getReachableTargetaddr   ry   r   r   rs   setr   "removeAllConfigsNotInRuleStopStater   hasConfigInRuleStopState)r7   r   r   rf   intermediateskippedStopStatesctranstargetr   closureBusytreatEofAsEpsilons               r9   r   "ParserATNSimulator.computeReachSet  s   ##:S\IJ??""fDO#G, ! A!''j4#4#4Q#77&@3q6IJ!''=11a599n(0,0F)%,,Q/,,00:% $$YV%FX - $  $EII< !#
 %""<0#2H2HH %
 = )E%K !UYY!Q{E7V " 		>$ ;;ELCXYE (G^ElElmrEsEs&		!__- 'u:q=Lr;   rJ   lookToEndOfRulec                 V   [         R                  " U5      (       a  U$ [        UR                  5      nU H  n[	        UR
                  [        5      (       a  UR                  X@R                  5        M?  U(       d  MH  UR
                  R                  (       d  Me  U R                  R                  UR
                  5      n[        R                  U;   d  M  U R                  R                  UR
                  R                     nUR                  [!        XdS9U R                  5        M     U$ Nr   )r   allConfigsInRuleStopStatesr   rf   r   r   r   r   r/   epsilonOnlyTransitionsr0   
nextTokensr   EPSILONruleToStopState	ruleIndexr   )r7   rJ   r   resultr   r   endOfRuleStates          r9   r   5ParserATNSimulator.removeAllConfigsNotInRuleStopState  s    44W==Ngoo.F&,,66

6??36<<#F#F#F!XX00>
==J.%)XX%=%=fll>T>T%UNJJy~Mt_  r;   pctxc           	      "   [        U R                  U5      n[        U5      n[        S[	        UR
                  5      5       HJ  nUR
                  U   R                  n[        XvS-   U5      n[        5       n	U R                  XU	SUS5        ML     U$ )Nr   rG   TF)
r   r0   r   rangery   r   r   r   r   r   )
r7   r   r   rf   initialContextrJ   ir   r   r   s
             r9   r\   $ParserATNSimulator.computeStartState'  s|    9$((CHw'q#amm,-A]]1%,,F&A#~6A%KLL[$G	 .
 r;   c                    [        5       n[        UR                  5      nU H  nUR                  S:w  a  M  UR                  R                  U R                  U R                  5      nUc  MJ  UR                  X$R                  R                  '   XTR                  La%  UR                  [        XES9U R                  5        M  UR                  X@R                  5        M     U Hx  nUR                  S:X  a  M  UR                  (       d7  UR                  UR                  R                  S 5      nXdR                  :X  a  M]  UR                  X@R                  5        Mz     U$ )NrG   )r   semantic)r   r   rf   rh   semanticContextevalPrecedencer(   r-   contextr   stateNumberr   r   r/   precedenceFilterSuppressedget)r7   rJ   statesFromAlt1	configSetr   updatedContextr   s          r9   r^   (ParserATNSimulator.applyPrecedenceFilterk  s    1	FzzQ#33BB4;;PTPbPbcN%7=~~N<<334%;%;;ivOQUQ`Q`afoo6  FzzQ 44(,,V\\-E-EtLNN*MM&//2 " r;   r   ttypec                 t    UR                  USU R                  R                  5      (       a  UR                  $ g r3   )matchesr0   maxTokenTyper   )r7   r   r   s      r9   r   %ParserATNSimulator.getReachableTarget  s,    ==488#8#899<<r;   	ambigAltsr   c                    S /US-   -  nU HC  nUR                   U;   d  M  [        XER                      UR                  5      XER                   '   ME     Sn[        SUS-   5       H8  nXG   c  [        R
                  XG'   M  XG   [        R
                  Ld  M3  US-  nM:     US:X  a  S n[        R                  (       a  [        S[        U5      -   5        U$ )NrG   r   zgetPredsForAmbigAlts result )
rh   r   r   r   r   NONEr'   rK   rM   r   )r7   r   rJ   r   r   r   	nPredAltsr   s           r9   r   'ParserATNSimulator.getPredsForAmbigAlts  s     Feai(	Auu	!#,Yuu-=q?P?P#Q	%%   	q%'"A|#.33	_%9%99Q		 # a<I##08I3FFGr;   r   c                     / nSn[        S[        U5      5       H@  nX%   nUb  XQ;   a  UR                  [        Xe5      5        U[        R
                  Ld  M>  SnMB     U(       d  g U$ )NFrG   T)r   ry   r   r$   r   r   )r7   r   r   pairscontainsPredicater   preds          r9   r   *ParserATNSimulator.getPredicatePredictions  se    !q#i.)A<D$^D45?///$(! * !r;   c                    U R                  X5      u  p4U R                  U5      nU[        R                  :w  a  U$ [	        U5      S:  a'  U R                  U5      nU[        R                  :w  a  U$ [        R                  $ r3   ) splitAccordingToSemanticValidity#getAltThatFinishedDecisionEntryRuler   rs   ry   )r7   rJ   rC   semValidConfigssemInvalidConfigsrh   s         r9   rr   JParserATNSimulator.getSynValidOrSemInvalidAltThatFinishedDecisionEntryRule  sw    -1-R-RSZ-i*66G&&&J !!#::;LMCC***
%%%r;   c                 V   [        5       nU Hp  nUR                  S:  dB  [        UR                  [        5      (       d  M4  UR
                  R                  5       (       d  MU  UR                  UR                  5        Mr     [        U5      S:X  a  [        R                  $ [        U5      $ r3   )r   reachesIntoOuterContextr   r   r   r   hasEmptyPathr   rh   ry   r   rs   rz   )r7   rJ   r   r   s       r9   r   6ParserATNSimulator.getAltThatFinishedDecisionEntryRule   sx    uA((*z!''=/Q/QVWV_V_VlVlVnVn  t9a<)))t9r;   c                 p   [        UR                  5      n[        UR                  5      nU H  nUR                  [        R                  LaS  UR                  R                  U R                  U5      nU(       a  UR                  U5        M`  UR                  U5        Ms  UR                  U5        M     X44$ r=   )r   rf   r   r   r   evalr(   r   )r7   rJ   rC   	succeededfailedr   predicateEvaluationResults          r9   r   3ParserATNSimulator.splitAccordingToSemanticValidity  s     1	goo.A  (<(<<,-,=,=,B,B4;;P\,]),MM!$JJqMa   !!r;   predPredictionscompletec                    [        5       nU GH7  nUR                  [        R                  L a'  UR	                  UR
                  5        U(       d    U$ MH  UR                  R                  U R                  U5      n[        R                  (       d  [        R                  (       a&  [        S[        U5      -   S-   [        U5      -   5        U(       d  M  [        R                  (       d  [        R                  (       a!  [        S[        UR
                  5      -   5        UR	                  UR
                  5        U(       a  GM7    U$    U$ )Nz
eval pred =zPREDICT )r   r   r   r   r   rh   r  r(   r'   rK   r{   rM   rN   )r7   r	  rC   r
  predictionspairr  s          r9   rx   &ParserATNSimulator.evalSemanticContext'  s    e#DyyO000)  (,		t{{L(Q%!''+=+G+GlSY.4s;T7UUV((%++/A/K/K*s488}45)x! $  r;   r   r   collectPredicatesr   c           	      0    SnU R                  XX4XWU5        g r3   )closureCheckingStopState)r7   r   rJ   r   r  rf   r   initialDepths           r9   r   ParserATNSimulator.closureC  s     %%f{!(8I	Kr;   depthc           
         [         R                  (       a  [        S[        U5      -   S-   5        [	        UR
                  [        5      (       Ga  UR                  R                  5       (       Gds  [        S[        UR                  5      5       GHN  nUR                  R                  U5      n	U	[        R                  L a  U(       a?  UR                  [        UR
                  [        R                   US9U R"                  5        Mx  [         R                  (       a1  [        SU R%                  UR
                  R&                  5      -   5        U R)                  XX4XVU5        M  U R*                  R,                  U	   n
UR                  R/                  U5      n[        XR0                  XR2                  S9nUR4                  Ul        U R7                  XX4XVS-
  U5        GMQ     g U(       a  UR                  XR"                  5        g [         R                  (       a1  [        SU R%                  UR
                  R&                  5      -   5        U R)                  XX4XVU5        g )Nzclosure()r   r   r   r   zFALLING off rule )r   rh   r   r   rG   )r'   rK   rM   rN   r   r   r   r   isEmptyr   ry   getReturnStater   EMPTY_RETURN_STATEr   r   rY   r/   getRuleNamer   closure_r0   states	getParentrh   r   r   r  )r7   r   rJ   r   r  rf   r  r   r   r   returnState
newContextr   s                r9   r  +ParserATNSimulator.closureCheckingStopStateI  s   ##*s6{*S01fllM22 >>))++q#fnn"56A"NN99!<E 1 D DD"#KK	N_NeNent(uw{  xG  xG  H$  277 %&9D<L<LV\\McMc<d&d e MM&;%,5FH "&((//%"8K!'!9!9!!<J!ZbxbxyA 170N0NA-11!k^eopgp  sD  E) 7* FOO4 &++-0@0@AWAW0XXYf{wWhir;   c           
         UR                   nUR                  (       d  UR                  XR                  5        Sn	UR                   GH  n
U	(       a  Sn	U R                  U5      (       a  M%  U=(       a    [        U
[        5      (       + nU R                  XXS:H  XW5      nUc  M^  Un[        UR                   [        5      (       a  U R                  bP  U R                  R                  (       a5  U
R                  U R                  R                  R                  :X  a  SUl        U=R                   S-  sl        X;   a  M  UR                  U5        SUl        US-  n[$        R&                  (       a  [)        S[+        U5      -   5        OJU
R,                  (       d  X;   a  GM[  UR                  U5        [        U
[.        5      (       a  US:  a  US-  nU R1                  XX;X]U5        GM     g )NTFr   rG   zdips into outer ctx: )r   r   r   r/   r   'canDropLoopEntryEdgeInLeftRecursiveRuler   r   getEpsilonTargetr   r.   rU   outermostPrecedenceReturnr]   r   r   r   dipsIntoOuterContextr'   rK   rM   rN   	isEpsilonr   r  )r7   r   rJ   r   r  rf   r  r   r   firstr   continueCollectingr   newDepths                 r9   r  ParserATNSimulator.closure_s  s   LL''KK0 A??GG!2!Z:aIY;Z7Z%%f1CaZQXlA} v||];; yy,1H1H66$)):Q:Q:[:[[;?A8--2-' OOA&37G0MH)//5A>?;;+$#*!!^44#q=$MH--a+[bn  AO r;   c                    UR                   nUR                  [        R                  :w  dO  UR                  (       a>  UR
                  R                  5       (       d  UR
                  R                  5       (       a  g[        UR
                  5      n[        SU5       HQ  nU R                  R                  UR
                  R                  U5         nUR                  UR                  :w  d  MQ    g   UR                  S   R                  nUR                   R"                  nU R                  R                  U   n[        SU5       GH-  nUR
                  R                  U5      n	U R                  R                  U	   n[        UR                  5      S:w  d  UR                  S   R$                  (       d    gUR                  S   R                  n
UR                  [        R&                  :X  a  XL a  M  XXL a  M  XL a  M  U
R                  [        R&                  :X  aV  [        U
R                  5      S:X  a=  U
R                  S   R$                  (       a  U
R                  S   R                  UL a  GM.    g   g)NFr   rG   T)r   	stateTyper   STAR_LOOP_ENTRYisPrecedenceDecisionr   r  r  ry   r   r0   r  r  r   r   r   endStater   r(  	BLOCK_END)r7   r   r   numCtxsr   r   decisionStartStateblockEndStateNumblockEndStatereturnStateNumberreturnStateTargets              r9   r$  :ParserATNSimulator.canDropLoopEntryEdgeInLeftRecursiveRule  s   LL ;;(222-->>))++>>..00 fnn%q'"A((//&..*G*G*JKK$$3 #
 ]]1-44-66BB(89 q'"A & = =a @((//*;<K;**+q08O8OPQ8R8\8\ !, 7 7 : A A$$(:(::?P?U
 + !1 !**h.@.@@)556!;%11!4>>%11!4;;q@ A #D r;   rS   c                 |    U R                   b  US:  a  U R                   R                  U   $ S[        U5      -   S-   $ )Nr   z<rule >)r(   	ruleNamesrN   )r7   rS   s     r9   r  ParserATNSimulator.getRuleName@  s;    ;;"uax;;((//c%j(3..r;   c                 $    U R                  X5      $ r=   )ruleTransitionsimr   r   r  	inContextrf   r   s          r9   <lambda>ParserATNSimulator.<lambda>G  s    6%r;   c                 (    U R                  XX4U5      $ r=   )precedenceTransitionr@  s          r9   rC  rD  I  s      ,='Rr;   c                 (    U R                  XX4U5      $ r=   )predTransitionr@  s          r9   rC  rD  K  s    6&7GLr;   c                 $    U R                  X5      $ r=   )actionTransitionr@  s          r9   rC  rD  M  s    V'r;   c                 *    [        UR                  US9$ r   )r   r   r@  s          r9   rC  rD  O  s    0r;   c                     U(       a:  UR                  [        R                  SS5      (       a  [        UR                  US9$ S $ Nr   rG   r   r   r   r   r   r   r@  s          r9   rC  rD  Q  6    4E!))TYT]T]_`bcJdJd	0njnnr;   c                     U(       a:  UR                  [        R                  SS5      (       a  [        UR                  US9$ S $ rM  rN  r@  s          r9   rC  rD  S  rO  r;   c                     U(       a:  UR                  [        R                  SS5      (       a  [        UR                  US9$ S $ rM  rN  r@  s          r9   rC  rD  U  rO  r;   rB  c           	      l    U R                   R                  UR                  S 5      nUc  g U" XX#XEU5      $ r=   )epsilonTargetMethodsr   serializationType)r7   r   r   r  rB  rf   r   re   s           r9   r%  #ParserATNSimulator.getEpsilonTargetX  s:    %%))!*=*=tD9T1M^__r;   c                     [         R                  (       a:  [        S[        UR                  5      -   S-   [        UR
                  5      -   5        [        UR                  US9$ )NzACTION edge rH   r   )r'   rK   rM   rN   r   actionIndexr   r   )r7   r   r   s      r9   rJ  #ParserATNSimulator.actionTransition_  sE    ##.3q{{#33c9C<NNOqxx77r;   ptc                 z   [         R                  (       ao  [        S[        U5      -   S-   [        UR                  5      -   S-   5        U R
                  b/  [        S[        U R
                  R                  5       5      -   5        S nU(       a  U(       a  U(       a  U R                  R                  nU R                  R                  U R                  5        UR                  5       R                  U R
                  U R                  5      nU R                  R                  U5        U(       a  [        UR                  US9nOM[!        UR"                  UR                  5       5      n	[        UR                  XS9nO[        UR                  US9n[         R                  (       a  [        S[        U5      -   5        U$ )NPRED (collectPredicates=) z>=_p, ctx dependent=truecontext surrounding pred is r   r   r   r   config from pred transition=)r'   rK   rM   rN   
precedencer(   getRuleInvocationStackr+   rS   rb   r,   getPredicater  r-   r   r   r   r   
r7   r   rY  r  rB  rf   r   currentPositionpredSucceeds	newSemCtxs
             r9   rF  'ParserATNSimulator.precedenceTransitiond  sC   ##,s3D/EEL&')CD E{{&4s4;;;];];_7``a
 #'++"3"3  !1!12!055dkk4CUCUV  1!		&AA&v'='=r?PQ	BII	Q		&9A##03q69:r;   c                    [         R                  (       a  [        S[        U5      -   S-   [        UR                  5      -   S-   [        UR
                  5      -   S-   [        UR                  5      -   5        U R                  b/  [        S[        U R                  R                  5       5      -   5        S nU(       Ga  UR                  (       a  UR                  (       a  U(       a  U(       a  U R                  R                  nU R                  R                  U R                  5        UR                  5       R                  U R                  U R                  5      nU R                  R                  U5        U(       a  [!        UR"                  US9nOM[%        UR&                  UR                  5       5      n	[!        UR"                  XS9nO[!        UR"                  US9n[         R                  (       a  [        S[        U5      -   5        U$ )	Nr[  r\  rH   z, ctx dependent=r]  r   r^  r_  )r'   rK   rM   rN   r   	predIndexisCtxDependentr(   ra  r+   rS   rb   r,   rb  r  r-   r   r   r   r   rc  s
             r9   rH  !ParserATNSimulator.predTransition  s   ##,s3D/EELsSUS_S_O``bll+,.@ACFrGXGXCYZ [{{&4s4;;;];];_7``ab&7&7B<M<MR[
 #'++"3"3  !1!12!055dkk4CUCUV  1!		&AA&v'='=r?PQ	BII	Q		&9A##03q69:r;   c                 V   [         R                  (       aJ  [        SU R                  UR                  R
                  5      -   S-   [        UR                  5      -   5        UR                  n[        R                  " UR                  UR                  5      n[        UR                  XAS9$ )Nz
CALL rule z, ctx=r  )r'   rK   rM   r  r   r   rN   r   followStater   creater   r   )r7   r   r   r   r!  s        r9   r?  !ParserATNSimulator.ruleTransition  sz    ##,!1!1!((2D2D!EEPSVW]WeWeSffgmm/66v~~{G^G^_
qxxLLr;   c                 Z    [         R                  " U5      n[         R                  " U5      $ r=   )r   r   getAlts)r7   rJ   altsetss      r9   r   %ParserATNSimulator.getConflictingAlts  s#     99'B%%g..r;   c                     S nUR                   [        R                  :w  a'  [        5       nUR	                  UR                   5        U$ UR
                  nU$ r=   )r   r   rs   r   r   rv   )r7   rJ   rv   s      r9   r   0ParserATNSimulator.getConflictingAltsOrUniqueAlt  sQ    s555!eO 1 12  &55Or;   c                 &   U[         R                  :X  a  gU R                  be  U R                  R                  bN  U[	        U R                  R                  5      :  a+  U R                  R                  U   S-   [        U5      -   S-   $ [        U5      $ )Nr   <r;  )r   r   r(   r[   ry   rN   )r7   r   s     r9   r   ParserATNSimulator.getTokenName  sr    eii<;;"KK$$0DKK,,--003c9CFBSHHq6Mr;   c                 B    U R                  UR                  S5      5      $ NrG   )r   rm   )r7   rA   s     r9   rO   #ParserATNSimulator.getLookaheadName  s      !--r;   nvaec                 .   [        S5        UR                  5        H  nSn[        UR                  R                  5      S:  a  UR                  R                  S   n[        U[        5      (       a  SU R                  UR                  5      -   nOI[        U[        5      (       a4  [        U[        5      nU(       a  SOSS-   [        UR                  5      -   n[        UR                  U R                  S5      S	-   U-   [        R                   S
9  M     g )Nzdead end configs: zno edgesr   zAtom ~ zSet TrH   )file)rM   getDeadEndConfigsry   r   r   r   r    r   labelr!   r"   rN   r   rZ   r(   sysstderr)r7   r|  r   r   r   negs         r9   dumpDeadEndConfigs%ParserATNSimulator.dumpDeadEndConfigs  s    "#'')AE177&&')GG''*a00#T%6%6qww%??E=11$Q(89C$'SR7QUUCE!**T[[$/#5=CJJO *r;   c                 n    [        U R                  XR                  U5      UR                  S5      X25      $ rz  )r%   r(   r   rP   )r7   rA   rC   rJ   rk   s        r9   rq   ParserATNSimulator.noViableAlt  s*    #DKK		*8MuxxXY{\crrr;   c                     [         R                  nU HG  nU[         R                  :X  a  UR                  nM%  UR                  U:w  d  M7  [         R                  s  $    U$ r=   )r   rs   rh   )r7   rJ   rh   r   s       r9   r   ParserATNSimulator.getUniqueAlt  sL    $$Ac,,,ee---	 
 
r;   from_toc                 F   [         R                  (       a;  [        S[        U5      -   S-   [        U5      -   S-   U R	                  U5      -   5        Uc  g U R                  X5      nUb  US:  d  X0R                  R                  :  a  U$ UR                  c"  S /U R                  R                  S-   -  Ul        XBR                  US-   '   [         R                  (       aB  U R                  c  S OU R                  R                  n[        SUR                  U5      -   5        U$ )NzEDGE z -> z upon r      rG   zDFA=
)r'   rK   rM   rN   r   r_   r0   r   r   r(   r[   rZ   )r7   rd   r  r   r  namess         r9   r   ParserATNSimulator.addDFAEdge  s    ##'CJ&/#b'9HDtGXGXYZG[[\:c&=AFa((*?*?&?I;;&DHH$9$9A$=>EKAaC## KK/DT[[5M5ME(S\\%001	r;   c                    X R                   L a  U$ UR                  R                  US 5      nUb  U$ [        UR                  5      Ul        UR
                  R                  (       d6  UR
                  R                  U 5        UR
                  R                  S5        X!R                  U'   [        R                  (       a  [        S[        U5      -   5        U$ )NTzadding new DFA state: )rp   r  r   ry   r   rJ   readonlyoptimizeConfigssetReadonlyr'   rK   rM   rN   )r7   rd   r   existings       r9   r_   ParserATNSimulator.addDFAState:  s    

?H ::>>!T*OCJJyy!!II%%d+II!!$'

1##*SV34r;   rv   r   c                    [         R                  (       d  [         R                  (       a]  [        S[	        UR
                  5      -   S-   [	        U5      -   S-   U R                  R                  5       R                  XE5      -   5        U R                  b7  U R                  R                  5       R                  U R                  XXRU5        g g )Nz%reportAttemptingFullContext decision=rH   , input=)r'   rK   retry_debugrM   rN   rB   r(   getTokenStreamgetTextgetErrorListenerDispatchr|   )r7   rd   rv   rJ   rk   r   s         r9   r|   .ParserATNSimulator.reportAttemptingFullContextL  s    ##'9'E'E9C<MMPSSVYZaVbb)*,0KK,F,F,H,P,PQ[,gh i;;"KK002NNt{{\_mv  JQ  R #r;   r   c                    [         R                  (       d  [         R                  (       a]  [        S[	        UR
                  5      -   S-   [	        U5      -   S-   U R                  R                  5       R                  XE5      -   5        U R                  b7  U R                  R                  5       R                  U R                  XXRU5        g g )Nz"reportContextSensitivity decision=rH   r  )r'   rK   r  rM   rN   rB   r(   r  r  r  r   )r7   rd   r   rJ   rk   r   s         r9   r   +ParserATNSimulator.reportContextSensitivityS  s    ##'9'E'E6S\\9JJSPSVW^S__)*,0KK,F,F,H,P,PQ[,gh i;;"KK002KKDKKY\js  BI  J #r;   exactc           	         [         R                  (       d  [         R                  (       aS  [        S[	        U5      -   S-   [	        U5      -   S-   U R
                  R                  5       R                  X45      -   5        U R
                  b7  U R
                  R                  5       R                  U R
                  XXEXg5        g g )NzreportAmbiguity rH   r  )
r'   rK   r  rM   rN   r(   r  r  r  r   )r7   rd   r   rk   r   r  r   rJ   s           r9   r   "ParserATNSimulator.reportAmbiguity[  s    ##'9'E'E" $s9~5;c'lJ)*,0KK,F,F,H,P,PQ[,gh i;;"KK002BB4;;PSajs|  G #r;   )r.   r+   r-   r,   r)   r/   r(   r*   )T__name__
__module____qualname____firstlineno__	__slots__rK   rL   r{   r  r	   r   r   r   r5   r?   r   intr
   ri   r   r#   ra   rn   ro   r   r   r   r}   boolr   r   r   r   r\   r^   r   r   r   r   r   rr   r   r   rx   r   r   r  r  r$  r  r   rS  RULE
PRECEDENCE	PREDICATEACTIONr   ATOMRANGESETr%  r   rJ  r   rF  r   rH  r   r?  r   r   r   rO   r%   r  rq   r   r   r_   r|   r   r   __static_attributes____classcell__)r8   s   @r9   r'   r'     s   I
 E$IKf # T Vl ,<K <# <L] <xT # T ( T + T # T \m T B x  3  &&S &H & &P> > >$e e e,8e/:e 58e 7H	eNkl kc k4 kB W[ 
( 
 
T 
H#L #Jz  S , c @ t |
&l 
&iz 
&, &"| "Rc "($ EV ae 8KY K K# Kae Kos K  HL K'ji 'j 'j[^ 'jrv 'j  AE 'j  MP 'j  dh 'jT0Ai 0A 0A3 0Abf 0Apt 0A| 0A  TX 0AX>B/ /  6-&)3S../2M--./(**+01++,-o).o))*,o(`i `: `QU `ae `os `  HL `8i 83C 8
) 8U jn z~   IM <I 2E Y] im w{ <MI M M/ /PL S .[ .P&: Ps s:K sUa snq s< :S  C H Hc X $Rc R3 RP\ Ril Rx{ RJ3 J3 J Jad Jps JG# G Gc GS G)-G9<GFRG Gr;   r'   )7r  antlr4r   antlr4.PredictionContextr   r   r   r   antlr4.BufferedTokenStreamr   antlr4.Parserr	   antlr4.ParserRuleContextr
   antlr4.RuleContextr   antlr4.Tokenr   antlr4.Utilsr   antlr4.atn.ATNr   antlr4.atn.ATNConfigr   antlr4.atn.ATNConfigSetr   antlr4.atn.ATNSimulatorr   antlr4.atn.ATNStater   r   r   r   antlr4.atn.PredictionModer   antlr4.atn.SemanticContextr   r   r   r   antlr4.atn.Transitionr   r   r   r   r   r    r!   r"   antlr4.dfa.DFAStater#   r$   antlr4.error.Errorsr%   r'   r>   r;   r9   <module>r     sm   T  % % 2   6 *  !  * 0 0 Z Z 4 R RI I I 8 4pG pGr;   