§
    XŠtjy  ã                   ó²   — d Z ddlZddlmZ ddl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 dd	gZ G d
„ d	e¦  «        Z G d„ de¦  «        ZdS )z×
    pygments.lexers.pascal
    ~~~~~~~~~~~~~~~~~~~~~~

    Lexers for Pascal family languages.

    :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    N)ÚLexer)Úget_bool_optÚget_list_opt)	ÚCommentÚOperatorÚKeywordÚNameÚStringÚNumberÚPunctuationÚErrorÚ
Whitespace)ÚScanner)ÚModula2LexerÚDelphiLexerÚPortugolLexerc                   ó<   — e Zd ZdZdZdgZddgZg ZdZdZ	d„ Z
d	„ Zd
S )r   z;For Portugol, a Pascal dialect with keywords in Portuguese.ÚPortugolÚportugolz*.algz
*.portugolz>https://www.apoioinformatica.inf.br/produtos/visualg/linguagemÚ c                 óT   — t          j        | fi |¤Ž t          di |¤ddi¤Ž| _        d S )Nr   T© )r   Ú__init__r   Úlexer)ÚselfÚoptionss     úT/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/pygments/lexers/pascal.pyr   zPortugolLexer.__init__"   s>   € ÝŒ�tÐ'Ð'˜wÐ'Ð'Ð'Ý Ð:Ð: 7Ð:Ð:°TÐ:Ð:Ð:ˆŒ
ˆ
ˆ
ó    c                 ó6   — | j                              |¦  «        S )N)r   Úget_tokens_unprocessed)r   Útexts     r   r    z$PortugolLexer.get_tokens_unprocessed&   s   € ØŒz×0Ò0°Ñ6Ô6Ð6r   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚaliasesÚ	filenamesÚ	mimetypesÚurlÚversion_addedr   r    r   r   r   r   r      s]   € € € € € ØEÐEØ€DØˆl€GØ˜,Ð'€IØ€IØ
J€CØ€Mð;ð ;ð ;ð7ð 7ð 7ð 7ð 7r   c                   ó–   — e Zd ZdZdZg d¢ZddgZdgZdZdZ	d	Z
d
ZdZh d£Zh d£Zh d£Zh d£ZdddddœZh d£Zh d£ZdZh d£Zd„ Zd„ ZdS )r   aF  
    For Delphi (Borland Object Pascal),
    Turbo Pascal and Free Pascal source code.

    Additional options accepted:

    `turbopascal`
        Highlight Turbo Pascal specific keywords (default: ``True``).
    `delphi`
        Highlight Borland Delphi specific keywords (default: ``True``).
    `freepascal`
        Highlight Free Pascal specific keywords (default: ``True``).
    `units`
        A list of units that should be considered builtin, supported are
        ``System``, ``SysUtils``, ``Classes`` and ``Math``.
        Default is to consider all of them builtin.
    ÚDelphi)ÚdelphiÚpasÚpascalÚobjectpascalz*.pasz*.dprztext/x-pascalz+https://www.embarcadero.com/products/delphir   )8ÚabsoluteÚandÚarrayÚasmÚbeginÚbreakÚcaseÚconstÚconstructorÚcontinueÚ
destructorÚdivÚdoÚdowntoÚelseÚendÚfileÚforÚfunctionÚgotoÚifÚimplementationÚinÚ	inheritedÚinlineÚ	interfaceÚlabelÚmodÚnilÚnotÚobjectÚofÚonÚoperatorÚorÚpackedÚ	procedureÚprogramÚrecordÚreintroduceÚrepeatr   ÚsetÚshlÚshrÚstringÚthenÚtoÚtypeÚunitÚuntilÚusesÚvarÚwhileÚwithÚxor)ÚasÚclassÚexceptÚexportsÚfinalizationÚfinallyÚinitializationÚisÚlibraryrR   ÚpropertyÚraiseÚ	threadvarÚtry)ÚdisposeÚexitÚfalseÚnewÚtrue>   rA   re   ra   rb   rd   r6   rj   r9   rL   rX   rq   rW   rD   rS   rr   rV   rt   r<   r:   rm   rG   ro   >   r&   ÚnearÚaliasÚcdeclÚexportrJ   r0   ÚdynamicÚstdcallÚvarargsÚvirtualÚexternalÚoverrideÚregisterÚsafecallÚ	assemblerÚ	interruptÚ	softfloatÚnostackframe>   ÚfarÚfar16ÚindexÚpublicÚcppdeclÚdefaultÚforwardÚprivater2   Úabstractr‡   Ú	protectedÚ	publishedÚ
oldfpccall>G   ÚboolÚbyteÚcharÚcompÚrealÚwordÚdwordÚint64ÚpboolÚpbyteÚpcharÚpcompÚpdateÚpwordÚtdateÚttimeÚdoubleÚpdwordÚpint64Úreal48Úsingler^   ÚtclassÚbooleanÚintegerÚlongintÚpdoubleÚphandleÚpointerÚpsingleÚpstringÚthandleÚtobjectÚvariantÚansicharÚbyteboolÚcardinalÚcurrencyÚextendedÚiunknownÚlongboolÚlongwordÚpbooleanÚpintegerÚplongintÚppointerÚpvariantÚshortintÚsmallintÚtextfileÚwidecharÚwordboolÚ	pansicharÚ	pcardinalÚ	pcurrencyÚ	pdatetimeÚ	pextendedÚ	plongwordÚ	pshortintÚ	psmallintÚ	pwidecharÚ	pwordboolÚ	tdatetimeÚ
ansistringÚ
pbytearrayÚ
pwordarrayÚ
widestringÚpansistringÚpwidestringÚshortstringÚpshortstring)ŠÚabsÚacquireexceptionobjectÚaddrÚ
ansitoutf8ÚappendÚarctanÚassertÚassignedÚ
assignfileÚbeginthreadÚ	blockreadÚ
blockwriter7   ÚchdirÚchrÚcloseÚ	closefileÚcomptocurrencyÚcomptodoubleÚconcatr;   ÚcopyÚcosÚdecÚdeleterv   ÚdoubletocompÚ	endthreadÚenummodulesÚenumresourcemodulesÚeofÚeolnÚeraseÚ
exceptaddrÚexceptobjectÚexcluderw   ÚexpÚfileposÚfilesizeÚfillcharÚfinalizeÚfindclasshinstanceÚfindhinstanceÚfindresourcehinstanceÚflushÚfracÚfreememÚ	get8087cwÚgetdirÚgetlasterrorÚgetmemÚgetmemorymanagerÚgetmodulefilenameÚgetvariantmanagerÚhaltÚhiÚhighÚincÚincludeÚ
initializeÚinsertÚintÚioresultÚismemorymanagersetÚisvariantmanagersetÚlengthÚlnÚloÚlowÚmkdirÚmovery   ÚoddÚolestrtostringÚolestrtostrvarÚordÚ
paramcountÚparamstrÚpiÚposÚpredÚptrÚ
pucs4charsÚrandomÚ	randomizeÚreadÚreadlnÚ
reallocmemÚreleaseexceptionobjectÚrenameÚresetÚrewriteÚrmdirÚroundÚrunerrorÚseekÚseekeofÚseekeolnÚ	set8087cwÚ	setlengthÚsetlinebreakstyleÚsetmemorymanagerÚ	setstringÚ
settextbufÚsetvariantmanagerÚsinÚsizeofÚsliceÚsqrÚsqrtÚstrÚstringofcharÚstringtoolestrÚstringtowidecharÚsuccÚswapÚtruncÚtruncateÚtypeinfoÚucs4stringtowidestringÚunicodetoutf8ÚuniquestringÚupcaseÚ
utf8decodeÚ
utf8encodeÚ
utf8toansiÚutf8tounicodeÚvalÚvararrayredimÚvarclearÚwidecharlentostringÚwidecharlentostrvarÚwidechartostringÚwidechartostrvarÚwidestringtoucs4stringÚwriteÚwriteln)ùÚabortÚaddexitprocÚaddterminateprocÚadjustlinebreaksÚallocmemÚansicomparefilenameÚansicomparestrÚansicomparetextÚansidequotedstrÚansiextractquotedstrÚansilastcharÚansilowercaseÚansilowercasefilenameÚansiposÚansiquotedstrÚansisamestrÚansisametextÚansistrcompÚansistricompÚansistrlastcharÚansistrlcompÚansistrlicompÚansistrlowerÚ
ansistrposÚansistrrscanÚansistrscanÚansistrupperÚansiuppercaseÚansiuppercasefilenameÚ	appendstrÚ	assignstrÚbeepÚ	booltostrÚbytetocharindexÚbytetocharlenÚbytetypeÚcallterminateprocsÚchangefileextÚ
charlengthÚchartobyteindexÚchartobytelenÚ
comparememÚ
comparestrÚcomparetextÚ	createdirÚ
createguidÚcurrentyearÚ	currtostrÚ
currtostrfÚdateÚdatetimetofiledateÚdatetimetostrÚdatetimetostringÚdatetimetosystemtimeÚdatetimetotimestampÚ	datetostrÚ	dayofweekÚ
decodedateÚdecodedatefullyÚ
decodetimeÚ
deletefileÚdirectoryexistsÚdiskfreeÚdisksizeÚ
disposestrÚ
encodedateÚ
encodetimeÚexceptionerrormessageÚexcludetrailingbackslashÚexcludetrailingpathdelimiterÚexpandfilenameÚexpandfilenamecaseÚexpanduncfilenameÚextractfiledirÚextractfiledriveÚextractfileextÚextractfilenameÚextractfilepathÚextractrelativepathÚextractshortpathnameÚfileageÚ	filecloseÚ
filecreateÚfiledatetodatetimeÚ
fileexistsÚfilegetattrÚfilegetdateÚfileisreadonlyÚfileopenÚfilereadÚ
filesearchÚfileseekÚfilesetattrÚfilesetdateÚfilesetreadonlyÚ	filewriteÚfinalizepackageÚ	findcloseÚfindcmdlineswitchÚ	findfirstÚfindnextÚfloattocurrÚfloattodatetimeÚfloattodecimalÚ
floattostrÚfloattostrfÚfloattotextÚfloattotextfmtÚ
fmtloadstrÚfmtstrÚforcedirectoriesÚformatÚ	formatbufÚ
formatcurrÚformatdatetimeÚformatfloatÚ
freeandnilÚgetcurrentdirÚgetenvironmentvariableÚgetfileversionÚgetformatsettingsÚgetlocaleformatsettingsÚgetmodulenameÚgetpackagedescriptionÚgetpackageinfoÚgettimeÚguidtostringÚ	incamonthÚincludetrailingbackslashÚincludetrailingpathdelimiterÚincmonthÚinitializepackageÚinterlockeddecrementÚinterlockedexchangeÚinterlockedexchangeaddÚinterlockedincrementÚinttohexÚinttostrÚisdelimiterÚisequalguidÚ
isleapyearÚispathdelimiterÚisvalididentÚ	languagesÚlastdelimiterÚloadpackageÚloadstrÚ	lowercaseÚmsecstotimestampÚnewstrÚnextcharindexÚnowÚoutofmemoryerrorÚ	quotedstrÚraiselastoserrorÚraiselastwin32errorÚ	removedirÚ
renamefileÚreplacedateÚreplacetimeÚsafeloadlibraryÚsamefilenameÚsametextÚsetcurrentdirÚshowexceptionÚsleepÚstrallocÚ
strbufsizeÚstrbytetypeÚstrcatÚstrcharlengthÚstrcompÚstrcopyÚ
strdisposeÚstrecopyÚstrendÚstrfmtÚstricompÚstringreplaceÚstringtoguidÚstrlcatÚstrlcompÚstrlcopyÚstrlenÚstrlfmtÚ	strlicompÚstrlowerÚstrmoveÚstrnewÚstrnextcharÚstrpasÚstrpcopyÚ	strplcopyÚstrposÚstrrscanÚstrscanÚ	strtoboolÚstrtobooldefÚ	strtocurrÚstrtocurrdefÚ	strtodateÚstrtodatedefÚstrtodatetimeÚstrtodatetimedefÚ
strtofloatÚstrtofloatdefÚstrtointÚ
strtoint64Ústrtoint64defÚstrtointdefÚ	strtotimeÚstrtotimedefÚstrupperÚsupportsÚsyserrormessageÚsystemtimetodatetimeÚtexttofloatÚtimeÚtimestamptodatetimeÚtimestamptomsecsÚ	timetostrÚtrimÚtrimleftÚ	trimrightÚtryencodedateÚtryencodetimeÚtryfloattocurrÚtryfloattodatetimeÚtrystrtoboolÚtrystrtocurrÚtrystrtodateÚtrystrtodatetimeÚtrystrtofloatÚtrystrtointÚtrystrtoint64ÚtrystrtotimeÚunloadpackageÚ	uppercaseÚwidecomparestrÚwidecomparetextÚ
widefmtstrÚ
wideformatÚwideformatbufÚwidelowercaseÚwidesamestrÚwidesametextÚwideuppercaseÚ
win32checkÚwraptext),ÚactivateclassgroupÚallocatehwndÚbintohexÚchecksynchronizeÚcollectionsequalÚcountgenerationsÚdeallocatehwndÚ	equalrectÚextractstringsÚ	findclassÚfindglobalcomponentÚgetclassÚgroupdescendantswithÚhextobinÚ
identtointÚinitinheritedcomponentÚ
inttoidentÚinvalidpointÚisuniqueglobalcomponentnameÚ	linestartÚobjectbinarytotextÚobjectresourcetotextÚobjecttexttobinaryÚobjecttexttoresourceÚpointsequalÚreadcomponentresÚreadcomponentresexÚreadcomponentresfileÚrectÚregisterclassÚregisterclassaliasÚregisterclassesÚregistercomponentsÚregisterintegerconstsÚregisternoiconÚregisternonactivexÚ
smallpointÚstartclassgroupÚteststreamformatÚunregisterclassÚunregisterclassesÚunregisterintegerconstsÚunregistermoduleclassesÚwritecomponentresfile)dÚarccosÚarccoshÚarccotÚarccothÚarccscÚarccschÚarcsecÚarcsechÚarcsinÚarcsinhÚarctan2ÚarctanhÚceilÚcomparevalueÚcosecantÚcoshÚcotÚcotanÚcothÚcscÚcschÚ
cycletodegÚcycletogradÚ
cycletoradÚ
degtocycleÚ	degtogradÚdegtoradÚdivmodÚdoubledecliningbalanceÚensurerangeÚfloorÚfrexpÚfuturevalueÚgetexceptionmaskÚgetprecisionmodeÚgetroundmodeÚgradtocycleÚ	gradtodegÚ	gradtoradÚhypotÚinrangeÚinterestpaymentÚinterestrateÚinternalrateofreturnÚintpowerÚ
isinfiniteÚisnanÚiszeroÚldexpÚlnxp1Úlog10Úlog2ÚlognÚmaxÚmaxintvalueÚmaxvalueÚmeanÚmeanandstddevÚminÚminintvalueÚminvalueÚmomentskewkurtosisÚnetpresentvalueÚnormÚnumberofperiodsÚpaymentÚperiodpaymentÚpolyÚ
popnstddevÚpopnvarianceÚpowerÚpresentvalueÚ
radtocycleÚradtodegÚ	radtogradÚrandgÚrandomrangeÚroundtoÚ	samevalueÚsecÚsecantÚsechÚsetexceptionmaskÚsetprecisionmodeÚsetroundmodeÚsignÚsimpleroundtoÚsincosÚsinhÚslndepreciationÚstddevÚsumÚsumintÚsumofsquaresÚsumsandsquaresÚsyddepreciationÚtanÚtanhÚtotalvarianceÚvariance)ÚSystemÚSysUtilsÚClassesÚMath>C   ÚahÚalÚaxÚbhÚblÚbpÚbxÚchÚclÚcsÚcxÚdhÚdiÚdlÚdsÚdxÚesÚfsÚgsÚsiÚspÚssÚcr0Úcr1Úcr2Úcr3Úcr4Údr0Údr1Údr2Údr3Údr4Údr5Údr6Údr7ÚeaxÚebpÚebxÚecxÚediÚedxÚesiÚespÚmm0Úmm1Úmm2Úmm3Úmm4Úmm5Úmm6Úmm7Úst0Úst1Úst2Úst3Úst4Úst5Úst6Úst7Úxmm0Úxmm1Úxmm2Úxmm3Úxmm4Úxmm5Úxmm6Úxmm7>  ÚbtrH   ÚjaÚjbÚjcÚjeÚjgÚjlÚjoÚjpÚjsÚjzrT   ÚaaaÚaadÚaamÚaasÚadcÚaddr3   ÚbsfÚbsrÚbtcÚbtrÚbtsÚcbwÚcdqÚclcÚcldÚcliÚcmcÚcmpÚcwdÚdaaÚdasrò   r=   Úhltr  r  ÚjaeÚjbeÚjgeÚjleÚjmpÚjnaÚjnbÚjncÚjneÚjngÚjnlÚjnoÚjnpÚjnsÚjnzÚjpeÚjpoÚlarÚldsÚleaÚlesÚlfsÚlgsÚlslÚlssÚltrÚmovÚmulÚnegÚnoprO   ÚoutÚpopÚrclÚrcrÚrepÚretÚrolÚrorÚrsmÚsalÚsarÚsbbr\   r]   ÚsmiÚstcÚstdÚstirG  ÚsubÚud1Úud2rh   ÚarplÚcallÚcltsÚcwdeÚemmsÚibtsÚidivÚimulÚinsbÚinsdÚinswÚint1Úint3ÚintoÚinvdÚiretÚjcxzÚjnaeÚjnbeÚjngeÚjnleÚlahfÚlgdtÚlidtÚljmpÚlldtÚlmswÚlockÚloopÚmovdÚmovqÚpopaÚpopfÚpushÚrepeÚrepzÚretfÚretnÚrsdcÚsahfÚsalcÚsetaÚsetbÚsetcÚseteÚsetgÚsetlÚsetoÚsetpÚsetsÚsetzÚsgdtÚshldÚshrdÚsidtÚsldtÚsmswÚsvdcÚsvtsÚtestÚumovÚverrÚverwÚwaitÚxaddÚxbtsÚxchgÚxlatÚboundÚbswapÚcmovaÚcmovbÚcmovcÚcmoveÚcmovgÚcmovlÚcmovoÚcmovpÚcmovsÚcmovzÚcmpsbÚcmpsdÚcmpswÚcpuidÚenterÚicebpÚint01Úint03ÚiretdÚiretwÚjecxzÚlcallÚleaveÚlodsbÚlodsdÚlodswÚloopeÚloopzÚmovsbÚmovsdÚmovswÚmovsxÚmovzxÚoutsbÚoutsdÚoutswÚpopadÚpopawÚpopfdÚpopfwÚpushaÚpushfÚrdmsrÚrdpmcÚrdshrÚrdtscÚrepneÚrepnzÚrsldtÚscasbÚscasdÚscaswÚsetaeÚsetbeÚsetgeÚsetleÚsetnaÚsetnbÚsetncÚsetneÚsetngÚsetnlÚsetnoÚsetnpÚsetnsÚsetnzÚsetpeÚsetpoÚsmintÚstosbÚstosdÚstoswÚsvldtÚwrmsrÚwrshrÚxlatbÚcmovaeÚcmovbeÚcmovgeÚcmovleÚcmovnaÚcmovnbÚcmovncÚcmovneÚcmovngÚcmovnlÚcmovnoÚcmovnpÚcmovnsÚcmovnzÚcmovpeÚcmovpoÚinvlpgÚloopneÚloopnzÚpushadÚpushawÚpushfdÚpushfwÚsetcxzÚsetnaeÚsetnbeÚsetngeÚsetnleÚsysretÚwbinvdÚcmovcxzÚcmovnaeÚcmovnbeÚcmovngeÚcmovnleÚcmpxchgÚloadallÚsyscallÚsysexitÚsmintoldÚsysenterÚ	cmpxchg8bÚ
cmpxchg486Ú
loadall286)MÚ	aleatorioÚ	algoritmoÚarquivoÚateÚcasoÚ
cronometroÚdebugÚeÚecoÚenquantoÚentaoÚescolhaÚescrevaÚescrevalÚfacaÚfalsoÚfimalgoritmoÚfimenquantoÚ
fimescolhaÚ	fimfuncaoÚfimparaÚfimprocedimentoÚ	fimrepitaÚfimseÚfuncaoÚinicior  Ú
interrompaÚleiaÚ	limpatelarM   ÚnaoÚouÚ	outrocasoÚparaÚpassoÚpausaÚprocedimentoÚrepitaÚretorneÚseÚsenaoÚtimerre   ÚvetorÚ
verdadeiroÚxour=   rM   rÝ   r‡  Úarcsenrâ   rñ   r˜  ÚExpÚgraupradr  Úlogr»  r'  ÚquadÚradpgrauÚraizqÚrandÚrandiÚsenÚTanÚascÚcaracÚ	caracpnumÚcomprÚcopiaÚmaiuscÚminuscÚ	numpcaracr(  >   r›   ÚlogicoÚinteiroÚ	caracterec                 óê  — t          j        | fi |¤Ž t          ¦   «         | _        t          ¦   «         | _        t          |dd¦  «        rG| j                             | j        ¦  «         | j                             | j        ¦  «         d| _	        d S d| _	        t          |dd¦  «        r| j                             | j
        ¦  «         t          |dd¦  «        r| j                             | j        ¦  «         t          |dd¦  «        r| j                             | j        ¦  «         t          |dt          | j        ¦  «        ¦  «        D ]'}| j                             | j        |         ¦  «         Œ(d S )Nr   FTÚturbopascalr.   Ú
freepascalÚunits)r   r   r[   ÚkeywordsÚbuiltinsr   ÚupdateÚPORTUGOL_KEYWORDSÚPORTUGOL_BUILTIN_TYPESÚis_portugolÚTURBO_PASCAL_KEYWORDSÚDELPHI_KEYWORDSÚFREE_PASCAL_KEYWORDSr   ÚlistÚBUILTIN_UNITS)r   r   rb   s      r   r   zDelphiLexer.__init__’  sf  € ÝŒ�tÐ'Ð'˜wÐ'Ð'Ð'Ý™œˆŒÝ™œˆŒÝ˜ ¨UÑ3Ô3ð 	?ØŒM× Ò  Ô!7Ñ8Ô8Ð8ØŒM× Ò  Ô!<Ñ=Ô=Ð=Ø#ˆDÔÐÐà$ˆDÔå˜G ]°DÑ9Ô9ð AØ”×$Ò$ TÔ%?Ñ@Ô@Ð@Ý˜G X¨tÑ4Ô4ð ;Ø”×$Ò$ TÔ%9Ñ:Ô:Ð:Ý˜G \°4Ñ8Ô8ð @Ø”×$Ò$ TÔ%>Ñ?Ô?Ð?Ý$ W¨gµt¸DÔ<NÑ7OÔ7OÑPÔPð ?ð ?�Ø”×$Ò$ TÔ%7¸Ô%=Ñ>Ô>Ð>Ð>ð?ð ?r   c              #   óF  K  — t          |t          j        t          j        z  t          j        z  ¦  «        }dg}d}d}d}d}d}d}	t          ¦   «         }
ddg}|j        �	sAt          }|d         dk    �rI|                     d¦  «        r	t          }�nÇ| j
        sK|                     d¦  «        r6|j                             d¦  «        rt          j        }�nƒt          j        }�nu|                     d¦  «        rt          j        }�nR| j
        r|                     d	¦  «        r	t"          }�n-| j
        s-|                     d
¦  «        rt"          }|	r|j        dk    rd}	�nù|                     d¦  «        r�t$          }d}|s|rr|j        dk    r|dxx         dz  cc<   �nº|j        dk    r|dxx         dz  cc<   �n�|j        dk    r|dxx         dz  cc<   �n€|j        dk    r|dxx         dz  cc<   �nc|                     d¦  «        �rf|j                             ¦   «         }|dk    rt(          j        j        }�n|| j        v rŽt0          }| j
        r
|dv rd}d}�nú|s|r7|| j        v r.|d         dk    r"|d         dk    rd}d}ddg}t          ¦   «         }
|dv rd}	�n·|dk    r|                     d¦  «         �nš|dk    rd}d}�nŽ|dv rd}d}�n„| j
        s|r|| j        v rt0          j        }�nd| j
        s|r|dv rt0          j        }d}�nG|rm| j
        s#|                     d¦  «        rt(          j        }�nt(          j        }d}| j
        r,|
                     |j                             ¦   «         ¦  «         �nØ| j
        s|rt(          j         }d}�n¿| j
        s<|	r:t(          j!        }|
                     |j                             ¦   «         ¦  «         �n|||
v rt(          j!        }�nj| j
        r|| j"        v rt0          j#        }�nL| j
        s|| j$        v rt0          j#        }�n.| j
        s|| j%        v rt0          j        }�n| j
        s|s|| j&        v rt(          j        }�nðt(          }�nç| j
        r3|                     d¦  «        rtN          }|                     d¦  «         �n­| j
        s3|                     d¦  «        rtN          }|                     d¦  «         �ns| j
        s#|                     d¦  «        rtN          j(        }�nI| j
        s#|                     d ¦  «        rtR          j*        }�n|                     d!¦  «        rtR          j+        }�nü|                     d"¦  «        rtR          j,        }�nÙt[          |¦  «        dk    r| .                    ¦   «          | /                    ¦   «          �nœ|d         dk    �rA| j
        r�|                     d#¦  «        rtN          j0        }�ne|                     d¦  «        rtN          }| .                    ¦   «          �n3|                     d$¦  «        r	tN          }�n| /                    ¦   «          | .                    ¦   «          �në|                     d#¦  «        rtN          j0        }�nÈ|                     d¦  «        rtN          }| .                    ¦   «          �n–|                     d%¦  «        r	tN          }�nx| /                    ¦   «          | .                    ¦   «          �nN| j
        �sF|d         dk    �r9|                     d¦  «        r	t          }�n|                     d&¦  «        rt0          }| .                    ¦   «          �né|                     d¦  «        r6|j                             d¦  «        rt          j        }�n¬t          j        }�nž|                     d¦  «        rt          j        }�n{|                     d¦  «        rtN          }|                     d¦  «         �nH|                     d'¦  «        rt(          j!        }�n%|                     d¦  «        rH|j                             ¦   «         }|| j1        v rt0          }næ|| j2        v rt(          j        }nÐt(          }nÈ|                     d(¦  «        rt"          }n«|                     d¦  «        rt$          }nŽ|                     d ¦  «        rtR          j*        }nl|                     d!¦  «        rtR          j+        }nJ|                     d"¦  «        rtR          j,        }n(| /                    ¦   «          | .                    ¦   «          | j
        s$|j         3                    ¦   «         r|j        d)k    }|j4        ||j        pd*fV — |j        �	¯?d S d S )+NÚinitialFr   éÿÿÿÿz\s+z\{.*?\}|\(\*.*?\*\)ú$z//.*?$z/(<\-)|(>=)|(<=)|%|<|>|-|\+|\*|\=|(<>)|\/|\.|:|,z[-+*\/=<>:;,.@\^]ú;z[\(\)\[\]]+ú(é   ú)ú[ú]z[A-Za-z_][A-Za-z_0-9]*Úresult)rZ  re  T)rL   rE   r5   rr   )rV   rS   rD   r:   r<   )r.  r`  z\s*\.\s*z\"r^   ú'z\#(\d+|\$[0-9A-Fa-f]+)z\$[0-9A-Fa-f]+z\d+(?![eE]|\.[^.])z&\d+(\.\d+([eE][+-]?\d+)?|[eE][+-]?\d+)z''z[^\"]*z[^']*rA   z@@[A-Za-z_][A-Za-z_0-9]*z[-+*\/=<>:;,.@\^]+ú.r   )5r   ÚreÚDOTALLÚ	MULTILINEÚ
IGNORECASEr[   Úeosr   Úscanr   r�  ÚmatchÚ
startswithr   ÚPreprocÚ	MultilineÚSingler   r   Úlowerr	   ÚBuiltinÚPseudorˆ  r   ÚBLOCK_KEYWORDSrá   ÚFUNCTION_MODIFIERSr¿  ÚClassÚFunctionrB  ÚPropertyÚLabelrŒ  ÚTypeÚBUILTIN_TYPESÚ
DIRECTIVESr‰  r
   ÚCharr   ÚHexÚIntegerÚFloatÚlenrr  Úget_charÚEscapeÚASM_INSTRUCTIONSÚASM_REGISTERSÚstripÚ	start_pos)r   r!   ÚscannerÚstackÚin_function_blockÚin_property_blockÚwas_dotÚnext_token_is_functionÚnext_token_is_propertyÚcollect_labelsÚblock_labelsÚbrace_balanceÚtokenÚlowercase_names                 r   r    z"DelphiLexer.get_tokens_unprocessed¦  sA
  è è € Ý˜$¥¤	­B¬LÑ 8½2¼=Ñ HÑIÔIˆØ�ˆØ!ÐØ!ÐØˆØ!&ÐØ!&ÐØˆÝ‘u”uˆØ˜A˜ˆà”+ñ R	@ÝˆEà�RŒy˜IÒ%Ñ%Ø—<’< Ñ'Ô'ð I'Ý&�E‘EØÔ)ð G'¨g¯lªlÐ;QÑ.RÔ.Rð G'Ø”}×/Ò/°Ñ4Ô4ð 2Ý '¤˜™å 'Ô 1˜™Ø—\’\ )Ñ,Ô,ð B'Ý#œN�E‘EØÔ%ð @'¨'¯,ª,Ð7iÑ*jÔ*jð @'Ý$�E‘EØÔ)ð ~'¨g¯lªlÐ;OÑ.PÔ.Pð ~'Ý$�Eà%ð /¨'¬-¸3Ò*>Ð*>Ø).˜ùØ—\’\ .Ñ1Ô1ð y'Ý'�Eà-2Ð*ð )ð 2Ð,=ð 2Ø"œ=¨CÒ/Ð/Ø)¨!Ð,Ð,Ô,°Ñ1Ð,Ð,Ñ,Ñ,Ø$œ]¨cÒ1Ð1Ø)¨!Ð,Ð,Ô,°Ñ1Ð,Ð,Ñ,Ñ,Ø$œ]¨cÒ1Ð1Ø)¨!Ð,Ð,Ô,°Ñ1Ð,Ð,Ñ,Ñ,Ø$œ]¨cÒ1Ð1Ø)¨!Ð,Ð,Ô,°Ñ1Ð,Ð,Ñ,ùØ—\’\Ð";Ñ<Ô<ñ i'Ø%,¤]×%8Ò%8Ñ%:Ô%:�NØ%¨Ò1Ð1Ý $¤Ô 3˜™Ø'¨4¬=Ð8Ð8Ý '˜ð  Ô+ð >Ø-Ð1KÐKÐKØ48Ð 1Ø9=Ð 6ùà 1ð 5Ð5Fð 5Ø$2°dÔ6IÐ$IÐ$IØ$1°!Ô$4¸Ò$9Ð$9Ø$1°!Ô$4¸Ò$9Ð$9Ø49Ð 1Ø49Ð 1Ø12°A° Ý/2©u¬u Ø-Ð1BÐBÐBØ15 ¡Ø!/°5Ò!8Ð!8Ø %§¢¨UÑ 3Ô 3Ð 3Ñ 3Ø!/°:Ò!=Ð!=Ø48Ð 1Ø9=Ð 6Ñ 6Ø!/ð 4Bð "Bð "Bð 59Ð 1Ø9=Ð 6ùð "Ô-ð 1%Ð2Cð 1%Ø*¨dÔ.EÐEÐEÝ '¤˜™ð "Ô-ð ,%Ð2Cð ,%Ø*Ð.?Ð?Ð?Ý '¤˜Ø15Ð.Ñ.ð 0ð %%ð  $Ô/ð H°G·L²LÀÑ4MÔ4Mð HÝ$(¤J˜E™Eõ %)¤M˜EØ5:Ð2à#Ô/ð HØ ,× 0Ò 0°´×1DÒ1DÑ1FÔ1FÑ GÔ GÐ Gùð "Ô-ð %Ð2Hð %Ý $¤˜Ø16Ð.Ñ.ð "Ô-ð %°.ð %Ý $¤
˜Ø$×(Ò(¨¬×)<Ò)<Ñ)>Ô)>Ñ?Ô?Ð?Ñ?à'¨<Ð7Ð7Ý $¤
˜™ØÔ)ð %¨nÀÔ@[Ð.[Ð.[Ý '¤˜™Ø!Ô-ð 	%°.ÀDÔDVÐ2VÐ2VÝ '¤˜™Ø!Ô-ð %°.ÀDÄOÐ2SÐ2SÝ '¤˜™ð "Ô-ð %°gð %À.ÐTXÔTaÐBaÐBaÝ $¤˜™å $˜™ØÔ%ð '¨'¯,ª,°uÑ*=Ô*=ð 'Ý"�EØ—L’L Ñ*Ô*Ð*Ñ*ØÔ)ð '¨g¯lªl¸4Ñ.@Ô.@ð 'Ý"�EØ—L’L Ñ*Ô*Ð*Ñ*ØÔ)ð '¨g¯lªlÐ;TÑ.UÔ.Uð 'Ý"œK�E‘EØÔ)ð 
'¨g¯lªlÐ;LÑ.MÔ.Mð 
'Ý"œJ�E‘EØ—\’\Ð"7Ñ8Ô8ð 'Ý"œN�E‘EØ—\’\Ð"KÑLÔLð 'Ý"œL�E‘Eõ ˜5‘z”z A’~�~ØŸ	š	™œ˜Ø×$Ò$Ñ&Ô&Ð&Ñ&à�r”˜hÒ&Ñ&ØÔ#ð $Ø—|’| EÑ*Ô*ð 	$Ý &¤˜™Ø Ÿš eÑ,Ô,ð $Ý &˜ØŸ	š	™œ˜™Ø Ÿš iÑ0Ô0ð $Ý &˜™à×(Ò(Ñ*Ô*Ð*ØŸ	š	™œ˜™à—|’| EÑ*Ô*ð 	$Ý &¤˜™Ø Ÿš dÑ+Ô+ð $Ý &˜ØŸ	š	™œ˜™Ø Ÿš hÑ/Ô/ð $Ý &˜™à×(Ò(Ñ*Ô*Ð*ØŸ	š	™œ˜™ØÔ%ñ & ¨%°¬)°uÒ*<Ñ*<Ø—<’< Ñ'Ô'ð % Ý&�E‘EØ—\’\ &Ñ)Ô)ð # Ý#�EØ—I’I‘K”K�K‘KØ—\’\Ð"8Ñ9Ô9ð   Ø”}×/Ò/°Ñ4Ô4ð 2Ý '¤˜™å 'Ô 1˜™Ø—\’\ )Ñ,Ô,ð  Ý#œN�E‘EØ—\’\ $Ñ'Ô'ð  Ý"�EØ—L’L Ñ*Ô*Ð*Ñ*Ø—\’\Ð"=Ñ>Ô>ð  Ý œJ�E‘EØ—\’\Ð";Ñ<Ô<ð  Ø%,¤]×%8Ò%8Ñ%:Ô%:�NØ%¨Ô)>Ð>Ð>Ý '˜˜Ø'¨4Ô+=Ð=Ð=Ý $¤˜˜å $˜˜Ø—\’\Ð"7Ñ8Ô8ð  Ý$�E�EØ—\’\ .Ñ1Ô1ð 
 Ý'�E�EØ—\’\Ð"3Ñ4Ô4ð  Ý"œJ�E�EØ—\’\Ð"7Ñ8Ô8ð  Ý"œN�E�EØ—\’\Ð"KÑLÔLð  Ý"œL�E�Eà×$Ò$Ñ&Ô&Ð&Ø—I’I‘K”K�Kð Ô#ð /¨¬×(;Ò(;Ñ(=Ô(=ð /Ø!œ-¨3Ò.�àÔ# U¨G¬MÐ,?¸RÐ?Ð?Ð?Ð?ðe ”+ñ R	@ð R	@ð R	@ð R	@ð R	@r   N)r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   rŽ  r�  r�  r®  r¯  r¶  rµ  r’  r¿  r¾  r‹  rŒ  r   r    r   r   r   r   r   *   s7  € € € € € ðð ð" €DØ9Ð9Ð9€GØ˜'Ð"€IØ Ð!€IØ
7€CØ€Mð	Ðð€OðÐðð ð €Nðð ð Ððð ð €Jðð ð €Mð" 
ðBB
ðF
ð 
ðkJð J€MðX	ð 	ð 	€Mð'ð 'ð 'ÐðRNÐð`ð ð Ðð?ð ?ð ?ð(^@ð ^@ð ^@ð ^@ð ^@r   )r%   r   Úpygments.lexerr   Úpygments.utilr   r   Úpygments.tokenr   r   r   r	   r
   r   r   r   r   Úpygments.scannerr   Úpygments.lexers.modula2r   Ú__all__r   r   r   r   r   ú<module>rÔ     sT  ððð ð 
€	€	€	à  Ð  Ð  Ð  Ð  Ð  Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4ð+ð +ð +ð +ð +ð +ð +ð +ð +ð +ð +ð +ð +ð +ð +ð +ð +ð +ð +ð +ð +ð +à $Ð $Ð $Ð $Ð $Ð $ð 1Ð 0Ð 0Ð 0Ð 0Ð 0à˜/Ð
*€ð7ð 7ð 7ð 7ð 7�Eñ 7ô 7ð 7ð"Z	@ð Z	@ð Z	@ð Z	@ð Z	@�%ñ Z	@ô Z	@ð Z	@ð Z	@ð Z	@r   