Ë
    åÞËjH9  ã                   óÔ   — d Z ddlZddl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mZmZmZmZ ddlmZ ddlmZ g d¢Z G d„ d	e«      Z G d
„ de«      Z G d„ de«      Z G d„ de«      Zy)zÖ
    pygments.lexers.modeling
    ~~~~~~~~~~~~~~~~~~~~~~~~

    Lexers for modeling languages.

    :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    N)Ú
RegexLexerÚincludeÚbygroupsÚusingÚdefaultÚwords)	ÚTextÚCommentÚOperatorÚKeywordÚNameÚStringÚNumberÚPunctuationÚ
Whitespace)Ú	HtmlLexer)Ú_stan_builtins)ÚModelicaLexerÚ	BugsLexerÚ	JagsLexerÚ	StanLexerc                   óö  — e Zd ZdZdZdZdgZdgZdgZdZ	e
j                  e
j                  z  ZdZd	efd
ej"                  fdej$                  fg ed«      dej*                  dfdefdefdej2                  fdej4                  f edd¬«      ej:                  f edd¬«      ej>                  fdej@                  f edd¬«      ej>                  dfdejB                  fdej>                  dfeefg ed«      dej>                  fdej>                  dfeejD                  df e#d«      g ed«      eejH                  df e#d«      gdej*                  dfd ejJ                  fd! e&e'«      fd"ej*                  fgd#œZ(y$)%r   z#
    For Modelica source code.
    ÚModelicazhttp://www.modelica.org/Úmodelicaz*.moztext/x-modelicaz1.1z"(?:'(?:[^\\']|\\.)+'|[a-zA-Z_]\w*)z[\s\ufeff]+z//[^\n]*\n?z	/\*.*?\*/Ú
whitespaceú"Ústringz[()\[\]{},;]+z\.?[*^/+-]|\.|<>|[<>:=]=?z\d+(\.?\d*[eE][-+]?\d+|\.\d*)z\d+)SÚabsÚacosÚactualStreamÚarrayÚasinÚassertÚAssertionLevelÚatanÚatan2Ú
backSampleÚBooleanÚcardinalityÚcatÚceilÚchangeÚClockÚConnectionsÚcosÚcoshÚcrossÚdelayÚdiagonalÚdivÚedgeÚexpÚExternalObjectÚfillÚfloorÚgetInstanceNameÚholdÚhomotopyÚidentityÚinStreamÚintegerÚIntegerÚintervalÚinverseÚ	isPresentÚlinspaceÚlogÚlog10ÚmatrixÚmaxÚminÚmodÚndimsÚnoClockÚnoEventÚonesÚouterProductÚpreÚpreviousÚproductÚRealÚreinitÚremÚrootedÚsampleÚscalarÚ
semiLinearÚshiftSampleÚsignÚsinÚsinhÚsizeÚskewÚsmoothÚspatialDistributionÚsqrtÚStateSelectr   Ú	subSampleÚsumÚsuperSampleÚ	symmetricÚtanÚtanhÚterminalÚ	terminateÚtimeÚ	transposeÚvectorÚzerosz\b)Úsuffix)/Ú	algorithmÚ
annotationÚbreakÚconnectÚconstantÚconstrainedbyÚderÚdiscreteÚeachÚelseÚelseifÚelsewhenÚencapsulatedÚenumerationÚequationÚexitÚ
expandableÚextendsÚexternalÚ	firstTickÚfinalÚflowÚforÚifÚimportÚimpureÚinÚinitialÚinnerÚinputrA   ÚloopÚnondiscreteÚouterÚoutputÚ	parameterÚpartialÚ	protectedÚpublicÚpureÚ	redeclareÚreplaceableÚreturnÚstreamÚthenÚwhenÚwhilez(and|not|or)\b)
ÚblockÚclassÚ	connectorÚendÚfunctionÚmodelÚoperatorÚpackageÚrecordÚtyper    z(false|true)\bzwithin\búpackage-prefixz(function|record)\bz(if|for|when|while)\bz#popz\\[\'"?\\abfnrtv]z6(?i)<\s*html\s*>([^\\"]|\\.)+?(<\s*/\s*html\s*>|(?="))z<|\\?[^"\\<]+)r   Úrootr    r©   r   N))Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚurlÚaliasesÚ	filenamesÚ	mimetypesÚversion_addedÚreÚDOTALLÚ	MULTILINEÚflagsÚ_namer	   r
   ÚSingleÚ	Multiliner   r   ÚDoubler   r   r   ÚFloatr@   r   r   ÚBuiltinr   ÚReservedÚWordÚConstantÚClassr   Ú	NamespaceÚEscaper   r   Útokens© ó    úU/var/www/photos/backend/venv/lib/python3.12/site-packages/pygments/lexers/modeling.pyr   r      s  „ ñð €DØ
$€CØˆl€GØ�€IØ"Ð#€IØ€Mà�I‰I˜Ÿ™Ñ$€Eà1€Eð ˜TÐ"Ø˜WŸ^™^Ð,Ø˜7×,Ñ,Ð-ð
ñ �LÓ!Ø�6—=‘= (Ð+Ø˜{Ð+Ø)¨8Ð4Ø-¨v¯|©|Ð<Ø�V—^‘^Ð$Ùð 4ð, =Bô-Cð, EIÇLÁLð-Rñ. ð %ð .3ô4ð ×Ñðð  §¡Ð.Ùð =ØEJôLØMT×M]ÑM]Ð_fðhà × 0Ñ 0Ð1Ø˜'×*Ñ*Ð,<Ð=Ø�DˆMðc2
ñh �LÓ!Ø# W×%5Ñ%5Ð6Ø% w×'7Ñ'7¸Ð@Ø�D—J‘J Ð'Ù�F‹Oð
ñ �LÓ!Ø�D—N‘N FÐ+Ù�F‹Oð
ð �6—=‘= &Ð)Ø! 6§=¡=Ð1ØFÙ�9Óðà˜vŸ}™}Ð-ð
ñKL�FrÇ   r   c                   óH  — e Zd ZdZdZg d¢ZdgZdZdZdZ		 dZ
	 d	efgd
ej                  fg ed«       ed«      d eej"                  ee«      fdej&                  fdj)                  dj+                  e	e
z   «      «      ej.                  fdefdefdefdefdefdefgdœZd„ Zy)r   z=
    Pygments Lexer for OpenBugs and WinBugs
    models.
    ÚBUGS)ÚbugsÚwinbugsÚopenbugsú*.bugz4https://www.mrc-bsu.cam.ac.uk/software/bugs/openbugsú1.6)>r   ÚarccosÚarccoshÚarcsinÚarcsinhÚarctanÚarctanhÚcloglogr/   r0   Ú
cumulativeÚcutÚdensityÚdevianceÚequalsÚexprÚgammapÚilogitÚicloglogÚintegralrE   ÚlogfactÚloggamÚlogitrH   rI   Úphizpost.p.valueÚpowzprior.p.valueÚprobitzreplicate.postzreplicate.priorÚroundr\   r]   Úsolutionrb   Ústeprh   ri   ÚtruncÚinprodú
interp.linrB   ÚlogdetÚmeanz
eigen.valsÚodeÚprodzp.valueMÚrankÚrankedzreplicate.postMÚsdÚsortre   ÚDÚIÚFÚTÚC)ÚdbernÚdbinÚdcatÚdnegbinÚdpoisÚdhyperÚdbetaÚdchisqrÚddexpÚdexpÚdflatÚdgammaÚdgevÚdfÚdggammaÚdgparÚdloglikÚdlnormÚdlogisÚdnormÚdparÚdtÚdunifÚdweibÚdmultiÚddirchÚdmnormÚdmtÚdwishú\s+ú#.*$Úcommentsr   z(model)(\s+)(\{)ú(for|in)(?![\w.])ú({})(?=\s*\()ú|z[A-Za-z][\w.]*ú&[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?ú\[|\]|\(|\)|:|,|;ú<-|~z	\+|-|\*|/ú[{}]©r   r  rª   c                 óP   — t        j                  d| t         j                  «      ryy)Nz^\s*model\s*{gffffffæ?ç        ©rµ   ÚsearchÚM©Útexts    rÈ   Úanalyse_textzBugsLexer.analyse_textÍ   s   € Ü�9‰9Ð% t¬R¯T©TÔ2ØàrÇ   N)r«   r¬   r­   r®   r¯   r±   r²   r°   r´   Ú
_FUNCTIONSÚ_DISTRIBUTIONSr	   r
   rº   r   r   r   rÃ   r   r¿   ÚformatÚjoinr   r¾   r   r   rÅ   r)  rÆ   rÇ   rÈ   r   r   u   s  „ ñð
 €DÚ-€GØ�	€IØ
@€CØ€Mð!€Jðð&€Nðð �TˆNð
ð
 �g—n‘nÐ%ð
ñ �JÓÙ�LÓ!à Ù�g×'Ñ'¨¨{Ó;ð=ð " 7×#3Ñ#3Ð4à×$Ñ$ T§Y¡Y¨z¸NÑ/JÓ%KÓLØ�\‰\ðð  Ð%à6¸Ð?à! ;Ð/ð �hÐà˜8Ð$à�kÐ"ð1
ñ"€FóHrÇ   r   c                   ó¬  — e Zd ZdZdZdgZddgZdZdZdZ	 e
d	„ d
D «       «      ZdZdefgdefgdej                   fdej"                  fg ed«       ed«      d eej*                  ee«      fdej.                  fdej0                  fdj3                  dj5                  e	ez   ez   «      «      ej6                  f ed«      defdefdefdefdefgdœZd„ Zy) r   z"
    Pygments Lexer for JAGS.
    ÚJAGSÚjagsz*.jagrÎ   z https://mcmc-jags.sourceforge.iorÏ   )2r   rÐ   rÑ   rÒ   rÓ   rÔ   rÕ   r/   r0   rÖ   rÛ   r6   rß   ÚifelserÞ   rE   rá   râ   rã   rä   rå   ræ   rç   r\   r]   rb   ré   rh   ri   rê   rë   rì   rí   rH   rî   rI   rð   re   ró   rB   rñ   rô   Útr   Úacoshr"   Úasinhr%   rø   rö   c              #   ó&   K  — | ]	  }d |› �–— Œ y­w)z[dpq]NrÆ   )Ú.0Úxs     rÈ   ú	<genexpr>zJagsLexer.<genexpr>ë   s   è ø€ ò Q¨1˜U 1 #œ;ñ Qùs   ‚)ÚbernÚbetaÚdchiqsqrr  r  r  Úgammaz	gen.gammaÚlogisÚlnormÚnegbinÚnchisqrÚnormÚparÚpoisÚweib)r  r  Údbetabinrú   rû   rü   rÿ   r  r  r  r  r  ÚdbinomÚdchisqÚdnbinomÚdweibullÚddirichr  z[a-zA-Z][\w.]*\bú(?s)/\*.*?\*/r  r  r   z(model|data)(\s+)(\{)zvar(?![\w.])r  r  r  Únamesr  r  r  z&\+|-|\*|\/|\|\|[&]{2}|[<>=]=?|\^|%.*?%r   )r   rL  r  rª   c                 óè   — t        j                  d| t         j                  «      rMt        j                  d| t         j                  «      ryt        j                  d| t         j                  «      ryyy)Nz^\s*model\s*\{z^\s*data\s*\{gÍÌÌÌÌÌì?z^\s*varg333333Ó?r   r$  r'  s    rÈ   r)  zJagsLexer.analyse_text   sL   € Ü�9‰9Ð&¨¬b¯d©dÔ3Ü�y‰yÐ)¨4´·±Ô6ØÜ—‘˜: t¬R¯T©TÔ2ØààrÇ   N) r«   r¬   r­   r®   r¯   r±   r²   r°   r´   r*  Útupler+  Ú_OTHER_DISTRIBUTIONSr	   r   r
   r»   rº   r   r   r   rÃ   r   ÚDeclarationr¿   r,  r-  r¾   r   r   rÅ   r)  rÆ   rÇ   rÈ   r   r   Ô   s_  „ ñð €DØˆh€GØ˜'Ð"€IØ
,€CØ€Mð	€Jñ ñ QðPôQó Q€Nð
*Ðð �TˆNð
ð
 ! $Ð'ð
ð ˜w×0Ñ0Ð1à�g—n‘nÐ%ð	
ñ �JÓÙ�LÓ!à%Ù�g×'Ñ'¨¨{Ó;ð=à˜g×1Ñ1Ð2à! 7×#3Ñ#3Ð4ð ×$Ñ$ T§Y¡Y¨zØ,:ñ0;à,@ñ0Aó &Bó Cð �\‰\ðñ
 �GÓà6¸Ð?Ø! ;Ð/à�hÐà6¸ÐAØ�kÐ"ð3
ñ)€FóV	rÇ   r   c                   óX  — e Zd ZdZdZdgZdgZdZdZde	fgde
j                  fd	e
j                  fgd
ef ed«       ed«      dj                  dj!                  d«      «       eej&                  e	e«      fdefdefdj                  dj!                  ej,                  «      «      efdefdj                  dj!                  ej.                  «      «      ej0                  fd eeeeee«      fd eeeeee«      fdefdj                  dj!                  ej6                  «      «      ej:                  fdj                  dj!                  ej<                  «      «       eeeej:                  «      fdej:                  j>                  fdj                  dj!                  ej@                  «      «      ejB                  fdejD                  fde#jH                  fde#jH                  fde#jH                  fde#jH                  fde#jH                  fd e#jJ                  fd!efd"efd#efd$efd%efgd&œZ&d'„ Z'y())r   a  Pygments Lexer for Stan models.

    The Stan modeling language is specified in the *Stan Modeling Language
    User's Guide and Reference Manual, v2.17.0*,
    `pdf <https://github.com/stan-dev/stan/releases/download/v2.17.0/stan-reference-2.17.0.pdf>`__.
    ÚStanÚstanz*.stanzhttps://mc-stan.orgrÏ   r  rK  z	(//|#).*$z"[^"]*"r  r   z({})(\s*)(\{{)r  )Ú	functionsÚdataztransformed\s+?dataÚ
parametersztransformed\s+parametersr¤   zgenerated\s+quantitiesztarget\s*\+=zjacobian\s*\+=z({})\bz
T(?=\s*\[)z/(<)(\s*)(upper|lower|offset|multiplier)(\s*)(=)z(,)(\s*)(upper)(\s*)(=)z
[;,\[\]()]r  z(~)(\s*)({})(?=\s*\()z[A-Za-z]\w*__\bz[A-Za-z]\w*(?=\s*\()]z$[0-9]+(\.[0-9]*)?([eE][+-]?[0-9]+)?iz\.[0-9]+([eE][+-]?[0-9]+)?iz[0-9]+iz#[0-9]+(\.[0-9]*)?([eE][+-]?[0-9]+)?z\.[0-9]+([eE][+-]?[0-9]+)?z[0-9]+z[A-Za-z]\w*\bz<-|(?:\+|-|\.?/|\.?\*|=)?=|~z;\+|-|\.?\*|\.?/|\\|'|\.?\^|!=?|<=?|>=?|\|\||&&|%|\?|:|%/%|!r   z\|r!  c                 óP   — t        j                  d| t         j                  «      ryy)Nz^\s*parameters\s*\{g      ð?r#  r$  r'  s    rÈ   r)  zStanLexer.analyse_text  s   € Ü�9‰9Ð+¨T´2·4±4Ô8ØàrÇ   N)(r«   r¬   r­   r®   r¯   r±   r²   r°   r´   r	   r
   r»   rº   r   r   r,  r-  r   r   rÃ   r   r   ÚKEYWORDSÚTYPESÚTyper   r   Ú	FUNCTIONSr   r¾   ÚDISTRIBUTIONSÚPseudoÚRESERVEDr¿   ÚFunctionr   r½   r@   rÅ   r)  rÆ   rÇ   rÈ   r   r   ,  sk  „ ñð €DØˆh€GØ�
€IØ
€CØ€Mð �TˆNð
ð ˜w×0Ñ0Ð1à˜7Ÿ>™>Ð*ð
ð ˜Ð á�JÓá�LÓ!à×%Ñ% d§i¡ið 1<ó '=ó >ñ �g×'Ñ'¨¨{Ó;ð=ð
 ˜gÐ&à Ð(à×Ñ˜dŸi™i¨×(?Ñ(?Ó@ÓAÀ7ÐKà˜GÐ$à×Ñ˜dŸi™i¨×(<Ñ(<Ó=Ó>ÀÇÁÐMð @Ù�h 
¨G°ZÀÓMðOà'Ù�k :¨w¸
ÀKÓPðRð ˜KÐ(à×$Ñ$ S§X¡X¨n×.FÑ.FÓ%GÓHÈ$Ï,É,ÐWØ%×,Ñ,¨S¯X©X°n×6RÑ6RÓ-SÓTÙ˜ :¨t¯|©|Ó<ð>ð   §¡×!4Ñ!4Ð5Ø×Ñ˜dŸi™i¨×(?Ñ(?Ó@ÓAÀ7×CSÑCSÐTà% t§}¡}Ð5à4°f·l±lÐCØ+¨V¯\©\Ð:Ø˜Ÿ™Ð&à3°V·\±\ÐBØ*¨F¯L©LÐ9à˜Ÿ™Ð'à˜tÐ$à,¨hÐ7àKÈXÐVà�kÐ"à�KÐ ðq9
ñC€FóJrÇ   r   )r®   rµ   Úpygments.lexerr   r   r   r   r   r   Úpygments.tokenr	   r
   r   r   r   r   r   r   r   Úpygments.lexers.htmlr   Úpygments.lexersr   Ú__all__r   r   r   r   rÆ   rÇ   rÈ   ú<module>re     sl   ðñó 
ç O× O÷$÷ $õ $õ +Ý *â
B€ô[�Jô [ô|\�
ô \ô~U�
ô UôpW�
õ WrÇ   