
    Mhc8                         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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 G d de          ZdS )z
    pygments.lexers.installers
    ~~~~~~~~~~~~~~~~~~~~~~~~~~

    Lexers for installer/packager DSLs and formats.

    :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    N)
RegexLexerincludebygroupsusingthisdefault)
TextCommentOperatorKeywordNameStringPunctuationGenericNumber
Whitespace)	NSISLexerRPMSpecLexerDebianSourcesLexerSourcesListLexerDebianControlLexerc                      e Zd ZdZdZdZg dZddgZdgZdZ	e
j        Zd	 eee          fd
ej        fdej        dfdej        df ed           ed           ed          dej        fdej        fdefdefgd eeeeej                  fd eej        eej                  fd eej        e          fdefdefdefdefdej        fgdej         fgdej!        j        fd ej!        fd!ej"        j#        fd"ej"        fgdej        d#fd$ej$        f ed          d%ej        fgdej        d#fd$ej$        f ed          d&ej        fgd'Z%d(S ))r   z
    For NSIS scripts.
    NSISzhttp://nsis.sourceforge.net/)nsisnsinshz*.nsiz*.nshztext/x-nsis1.6z([;#].*)(\n)'.*?'"
str_double`str_backtickmacrointerpolbasicz\$\{[a-z_|][\w|]*\}z
/[a-z_]\w*\s+z[\w.]+z$(\n)(Function)(\s+)([._a-z][.\w]*)\bz#\b([_a-z]\w*)(::)([a-z][a-z0-9]*)\bz\b([_a-z]\w*)(:)z!(\b[ULS]|\B)([!<>=]?=|\<\>?|\>)\Bz[|+-]z\\a  \b(Abort|Add(?:BrandingImage|Size)|Allow(?:RootDirInstall|SkipFiles)|AutoCloseWindow|BG(?:Font|Gradient)|BrandingText|BringToFront|Call(?:InstDLL)?|(?:Sub)?Caption|ChangeUI|CheckBitmap|ClearErrors|CompletedText|ComponentText|CopyFiles|CRCCheck|Create(?:Directory|Font|Shortcut)|Delete(?:INI(?:Sec|Str)|Reg(?:Key|Value))?|DetailPrint|DetailsButtonText|Dir(?:Show|Text|Var|Verify)|(?:Disabled|Enabled)Bitmap|EnableWindow|EnumReg(?:Key|Value)|Exch|Exec(?:Shell|Wait)?|ExpandEnvStrings|File(?:BufSize|Close|ErrorText|Open|Read(?:Byte)?|Seek|Write(?:Byte)?)?|Find(?:Close|First|Next|Window)|FlushINI|Function(?:End)?|Get(?:CurInstType|CurrentAddress|DlgItem|DLLVersion(?:Local)?|ErrorLevel|FileTime(?:Local)?|FullPathName|FunctionAddress|InstDirError|LabelAddress|TempFileName)|Goto|HideWindow|Icon|If(?:Abort|Errors|FileExists|RebootFlag|Silent)|InitPluginsDir|Install(?:ButtonText|Colors|Dir(?:RegKey)?)|Inst(?:ProgressFlags|Type(?:[GS]etText)?)|Int(?:CmpU?|Fmt|Op)|IsWindow|LangString(?:UP)?|License(?:BkColor|Data|ForceSelection|LangString|Text)|LoadLanguageFile|LockWindow|Log(?:Set|Text)|MessageBox|MiscButtonText|Name|Nop|OutFile|(?:Uninst)?Page(?:Ex(?:End)?)?|PluginDir|Pop|Push|Quit|Read(?:(?:Env|INI|Reg)Str|RegDWORD)|Reboot|(?:Un)?RegDLL|Rename|RequestExecutionLevel|ReserveFile|Return|RMDir|SearchPath|Section(?:Divider|End|(?:(?:Get|Set)(?:Flags|InstTypes|Size|Text))|Group(?:End)?|In)?|SendMessage|Set(?:AutoClose|BrandingImage|Compress(?:ionLevel|or(?:DictSize)?)?|CtlColors|CurInstType|DatablockOptimize|DateSave|Details(?:Print|View)|Error(?:s|Level)|FileAttributes|Font|OutPath|Overwrite|PluginUnload|RebootFlag|ShellVarContext|Silent|StaticBkColor)|Show(?:(?:I|Uni)nstDetails|Window)|Silent(?:Un)?Install|Sleep|SpaceTexts|Str(?:CmpS?|Cpy|Len)|SubSection(?:End)?|Uninstall(?:ButtonText|(?:Sub)?Caption|EXEName|Icon|Text)|UninstPage|Var|VI(?:AddVersionKey|ProductVersion)|WindowIcon|Write(?:INIStr|Reg(:?Bin|DWORD|(?:Expand)?Str)|Uninstaller)|XPStyle)\ba  \b(CUR|END|(?:FILE_ATTRIBUTE_)?(?:ARCHIVE|HIDDEN|NORMAL|OFFLINE|READONLY|SYSTEM|TEMPORARY)|HK(CC|CR|CU|DD|LM|PD|U)|HKEY_(?:CLASSES_ROOT|CURRENT_(?:CONFIG|USER)|DYN_DATA|LOCAL_MACHINE|PERFORMANCE_DATA|USERS)|ID(?:ABORT|CANCEL|IGNORE|NO|OK|RETRY|YES)|MB_(?:ABORTRETRYIGNORE|DEFBUTTON[1-4]|ICON(?:EXCLAMATION|INFORMATION|QUESTION|STOP)|OK(?:CANCEL)?|RETRYCANCEL|RIGHT|SETFOREGROUND|TOPMOST|USERICON|YESNO(?:CANCEL)?)|SET|SHCTX|SW_(?:HIDE|SHOW(?:MAXIMIZED|MINIMIZED|NORMAL))|admin|all|auto|both|bottom|bzip2|checkbox|colored|current|false|force|hide|highest|if(?:diff|newer)|lastused|leave|left|listonly|lzma|nevershow|none|normal|off|on|pop|push|radiobuttons|right|show|silent|silentlog|smooth|textonly|top|true|try|user|zlib)\bz\!(addincludedir(?:dir)?|addplugindir|appendfile|cd|define|delfilefile|echo(?:message)?|else|endif|error|execute|if(?:macro)?n?(?:def)?|include|insertmacro|macro(?:end)?|packhdr|search(?:parse|replace)|system|tempfilesymbol|undef|verbose|warning)\bz\$(R?[0-9])as  \$(ADMINTOOLS|APPDATA|CDBURN_AREA|COOKIES|COMMONFILES(?:32|64)|DESKTOP|DOCUMENTS|EXE(?:DIR|FILE|PATH)|FAVORITES|FONTS|HISTORY|HWNDPARENT|INTERNET_CACHE|LOCALAPPDATA|MUSIC|NETHOOD|PICTURES|PLUGINSDIR|PRINTHOOD|PROFILE|PROGRAMFILES(?:32|64)|QUICKLAUNCH|RECENT|RESOURCES(?:_LOCALIZED)?|SENDTO|SM(?:PROGRAMS|STARTUP)|STARTMENU|SYSDIR|TEMP(?:LATES)?|VIDEOS|WINDIR|\{NSISDIR\})z#\$(CMDLINE|INSTDIR|OUTDIR|LANGUAGE)z\$[a-z_]\w*#popz\$(\\[nrt"]|\$)z[^"]+z[^`]+)rootr%   r#   r$   r    r"   N)&__name__
__module____qualname____doc__nameurlaliases	filenames	mimetypesversion_addedre
IGNORECASEflagsr   r
   r   r   SingleDoubleBacktickr   r   Pseudor   	Attributer	   Function	Namespacer   Labelr   ConstantPreprocBuiltinVariableGlobalEscapetokens     Z/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pygments/lexers/installers.pyr   r      s7         D
(C$$$G'"IIMME hhw
;;<v}%6=,/6?N3GGGJGG#W^4DN+Z 
 5Xj':t}EEG3Xg'dmDDF ((4:{"C"CD18<x K %J $K%%L& (,}6_?
B $O	-
 T\01K \ 4T]5IJT]+
 6=&)/GJv}%	
 6=&)/GJv}%	
Om mFFFrF   r   c                      e Zd ZdZdZdgZdgZdgZdZdZ	dZ
d	ef ed
          gde
z   dz    eej        e          dfdefdefgdej        fde
z   dz    eej        e          dfdefdefgdej        dfdej        f ed          dej        fg ed          d eej        e ee                    fdej        dfdej        dfde
z   dz    eej        e          fdef ed          dej        fdej        dfdefdefgdej        fdej        fd eej        e          fgd ej        fd!ej        fd"ej         fd#ej         j!        fd$ej"        fgd%Z#d&S )'r   z"
    For RPM ``.spec`` files.
    RPMSpecspecz*.specztext/x-rpm-specz>https://rpm-software-management.github.io/rpm/manual/spec.htmlr   zS(?:package|prep|build|install|clean|check|pre[a-z]*|post[a-z]*|trigger[a-z]*|files)z#.*$r%   z^(%z)(.*)$r'   r&   .z\*.*$r   z/\\([\\abfnrtv"\']|x[a-fA-F0-9]{2,4}|[0-7]{1,3})r$   r#   z(?i)^(Name|Version|Release|Epoch|Summary|Group|License|Packager|Vendor|Icon|URL|Distribution|Prefix|Patch[0-9]*|Source[0-9]*|Requires\(?[a-z]*\)?|[a-z]+Req|Obsoletes|Suggests|Provides|Conflicts|Build[a-z]+|[a-z]+Arch|Auto[a-z]+)(:)(.*)$z^%descriptiondescriptionz^%changelog	changelogzo%(attr|defattr|dir|doc(?:dir)?|setup|config(?:ure)?|make(?:install)|ghost|patch[0-9]+|find_lang|exclude|verify)r   stringz
%define.*$z%\{\!\?.*%define.*\}z+(%(?:if(?:n?arch)?|else(?:if)?|endif))(.*)$z%\{?__[a-z_]+\}?z'%\{?_([a-z_]+dir|[a-z_]+path|prefix)\}?z
%\{\?\w+\}z\$\{?RPM_[A-Z0-9_]+\}?z%\{[a-zA-Z]\w+\})r(   rL   rM   rN   r%   r#   r$   N)$r)   r*   r+   r,   r-   r/   r0   r1   r.   r2   _directivesr
   r   r   r   	Decoratorr	   r   r   
Subheadingr   r7   rC   Headingr   r   r   r   r6   r?   r;   r9   rA   rB   r>   rD   rE   rF   rG   r   r      sM         DhG
I"#I
JCM5K
 gGG

 k!H,Xdnd++V5Z 4L	
 w)*k!H,Xdnd++V5Z 4L
 6=&)?OGJ6=!	
 GG; Xgo{EE$KK@@	B
 t~}=T^[9k!H,hht~t.L.LML GJv}%6=(+Z 4L#
( GO,$go6;Xgot,,.
 !$-07HDM*&(<= '"23
c8 8FFFrF   r   c                   ~    e Zd ZdZdZdgZdgZdZdZd e	e
ee          dfd	 e	e
eee          fgd
edfdefgdZdS )r   z5
    Lexer that highlights debian.sources files.
    zDebian Sources filezdebian.sourcesz	*.sourcesz2.19zihttps://manpages.debian.org/bookworm/apt/sources.list.5.en.html#THE_DEB_AND_DEB-SRC_TYPES:_GENERAL_FORMATz^(Signed-By)(:)(\s*)	signed-by"^([a-zA-Z\-0-9\.]*?)(:)(\s*)(.*?)$z% -----END PGP PUBLIC KEY BLOCK-----\nr'   z.+\n)r(   rT   N)r)   r*   r+   r,   r-   r/   r0   r2   r.   r   r   r   r   r   r	   rD   rE   rF   rG   r   r      s          !D GIM
uC %hhwZ&P&PR]^2Xg{J??A
 6tVDdO

 
FFFrF   r   c            	          e Zd ZdZdZg dZdgZdZdgZdZ	de
fd	efd
 eee
          dfgd	edfdej        fdefdej        dfdefde
dfgdej        dfdej        fdej        fdej        fgd	edfdedfde
fdej        fgdZd ZdS )r   z:
    Lexer that highlights debian sources.list files.
    zDebian Sourcelist)
debsourcessourceslistsources.listrY   z0.7z application/x-debian-sourceslistz#https://wiki.debian.org/SourcesListr&   z#.*?$z^(deb(?:-src)?)(\s+)distributionr'   z
\$\(ARCH\)z[^\s$[]+z\[escaped-distributionz\$
componentsz\]z[^\]$]+z#pop:2$z\S+)r(   rZ   r[   r\   c                     |                                  D ]C}|                                }|                    d          s|                    d          r dS Dd S )Nzdeb zdeb-src T)
splitlinesstrip
startswith)textlines     rG   analyse_textzSourcesListLexer.analyse_text  se    OO%% 	 	D::<<Dv&& $//**E*E tt	 	rF   N)r)   r*   r+   r,   r-   r/   r0   r2   mimetyper.   r   r
   r   r   r   rA   r   Otherr	   r9   rD   rd   rE   rF   rG   r   r      s4         D;;;G IM23H
/C Z w$Xgz**N<
 w'DM*&!FL"89FOZ.
 FL&)DM*&FL!	!
 w)4"Z W^$	
+ F:    rF   r   c                   4   e Zd ZdZdZdZddgZdgZdZde	dfd	 e
e	ee          d
fd e
e	ee          dfd e
e	ee          dfd e
e	eee          fd e
e	eee          fd e
e	eee          fd e
e	eee          fgdej        dfdej        fdefdedfdefgd e
eeeej                  fdej        fdef ed          gd e
eeej        eeeee          fdedfdefdefd edfd!efd"ej        fd#ej        fgd$edfd% e
eee          fgd&Zd'S )(r   zR
    Lexer for Debian ``control`` files and ``apt-cache show <pkg>`` outputs.
    zDebian Control filez>https://www.debian.org/doc/debian-policy/ch-controlfields.html
debcontrolcontrolz0.9z^(Description)rL   z*^(Maintainer|Uploaders|Changed-By)(:)(\s*)
maintainerz3^((?:Build-|Pre-)?Depends(?:-Indep|-Arch)?)(:)(\s*)package_listzJ^(Recommends|Suggests|Enhances|Breaks|Replaces|Provides|Conflicts)(:)(\s*)z$^((?:Python-)?Version)(:)(\s*)(\S+)$z$^((?:Installed-)?Size)(:)(\s*)(\S+)$z#^(MD5Sum|SHA1|SHA256)(:)(\s*)(\S+)$rU   z<[^>]+>$r'   z<[^>]+>z,\n?z[^,<]+$z[^,<]+z(.*)(Homepage)(: )(\S+)z:.*\nz .*\nz#(\$)(\{)(\w+)(\s*)(:)(\s*)(\w+)(\})z\(package_list_versz\|z\n\sz\nz[,\s]z[+.a-zA-Z0-9-]+z\[.*?\]z\)z([><=]+)(\s*)([^)]+))r(   rj   rL   rk   rl   N)r)   r*   r+   r,   r-   r.   r/   r0   r2   r   r   r   r   r   r   r   Strongr	   r   Classr   r   Entityr;   rD   rE   rF   rG   r   r   %  s5         !D
JCY'GIM 7:Xg{J77 DXg{J77IZXg{J77I4Xg{J??A4Xg{J??A3Xg{J??A2Xg{J??A
& '.&1(j!v&
 (XdFD$*557w~&tGFOO
 4XhT[*!:t[B BC K!45Hj!J't/%
 K($hhxV&L&LM
[1 1FFFrF   r   )r,   r3   pygments.lexerr   r   r   r   r   r   pygments.tokenr	   r
   r   r   r   r   r   r   r   r   __all__r   r   r   r   r   rE   rF   rG   <module>rs      s    
			 N N N N N N N N N N N N N N N N- - - - - - - - - - - - - - - - - - - - - - - -! ! !
z z z z z
 z z zzG G G G G: G G GT       0- - - - -z - - -`; ; ; ; ; ; ; ; ; ;rF   