
kR\a              '   @   s  d  d l  Z  d  d l m Z d d   Z i d e j j j f d e j j j f d e j j f d e j j f d	 e j f d
 e j	 f d e j
 f d e j f d e j f d e j f d e j f d e j f d e j j f d e j j f d e j j f d e j f d e j f d e j f d e j f d e j f d e j j f d e j j f d e j j f d e j j f d e j j f d e j j f d e j f d  e j f d! e j f d" e j f d# e j f d$ e j j f d% e j j f d& e f d' e j f d( e j j f d) e j f g% d* 6Z e  j e  j BZ d+ d,   e d* D Z ie j d- 6e j d. 6e j d/ 6e j d0 6e j d1 6e j d2 6e j d3 6e j d4 6e j d5 6e j d6 6e j d7 6e j d8 6e j d9 6e j d: 6e j d; 6e j d< 6e j d= 6e j j d> 6e j d? 6e j d@ 6e j dA 6e j dB 6e j dC 6e j dD 6e j dE 6e j dF 6e j dG 6e j dH 6e j dI 6e j dJ 6e j dK 6e j dL 6e j dM 6e j dN 6e j dO 6e j dP 6e j dQ 6e j dR 6e j dS 6e j dT 6e j dU 6e j dV 6e j dW 6e j dX 6e j dY 6e j dZ 6e j d[ 6e j d\ 6e j d] 6e j d^ 6e j d_ 6e j d` 6e j da 6e j db 6e j dc 6e j dd 6e j de 6e j df 6e j dg 6e j dh 6e j di 6e j dj 6e j dk 6e j dl 6e j dm 6e j dn 6e j do 6e j dp 6e j dq 6e j dr 6e j ds 6e j dt 6e j du 6e j dv 6e j dw 6e j j  dx 6e j dy 6e j dz 6e j d{ 6e j d| 6e j d} 6e j d~ 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d 6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d	6e j d
6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d 6e j d!6e j d"6e j d#6e j d$6e j d%6e j d&6e j d'6e j d(6e j d)6e j d*6e j d+6e j d,6e j d-6e j d.6e j d/6e j d06e j d16e j d26e j d36e j d46e j d56e j d66e j d76e j d86e j d96e j d:6e j d;6e j d<6e j d=6e j d>6e j d?6e j d@6e j dA6e j dB6e j dC6e j dD6e j dE6e j dF6e j dG6e j dH6e j dI6e j dJ6e j dK6e j dL6e j dM6e j dN6e j dO6e j dP6e j dQ6e j dR6e j dS6e j dT6e j dU6e j dV6e j dW6e j dX6e j dY6e j dZ6e j d[6e j d\6e j d]6e j d^6e j d_6e j d`6e j da6e j db6e j dc6e j dd6e j de6e j df6e j dg6e j dh6e j di6e j dj6e j dk6e j dl6e j dm6e j dn6e j do6e j dp6e j dq6e j dr6e j ds6e j dt6e j du6e j dv6e j dw6e j dx6e j dy6e j dz6e j d{6e j d|6e j d}6e j d~6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j j  d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j j  d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d 6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d	6e j d
6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j j! d6e j d6e j d6e j d6e j d6e j d6e j j d6e j j d6e j j d6e j j d6e j j d6e j j d6e j j d 6e j j d!6e j j d"6e j j d#6e j j d$6e j j d%6e j j d&6e j j d'6e j j d(6e j j d)6e j j d*6e j j d+6e j j d,6e j j d-6e j j d.6e j j d/6e j j d06e j j d16e j j d26e j j d36e j j d46e j d56e j j d66e j j d76e j j d86e j j d96e j j d:6e j j d;6Z" i' e j j  d<6e j j  d=6e j j  d>6e j j  d?6e j j  d@6e j j  dA6e j j dB6e j j dC6e j j dD6e j dE6e j dF6e j dG6e j dH6e j dI6e j dJ6e j dK6e j dL6e j dM6e j dN6e j dO6e j dP6e j dQ6e j dR6e j dS6e j dT6e j d 6e j dU6e j dV6e j dW6e j dX6e j dY6e j dZ6e j d[6e j d\6e j d]6e j d^6e j d_6e j d`6e j da6Z# iU e j db6e j dc6e j dd6e j de6e j df6e j dg6e j dh6e j di6e j dj6e j dk6e j dl6e j dm6e j dn6e j do6e j dp6e j dq6e j dr6e j ds6e j dt6e j du6e j dv6e j dw6e j dx6e j dy6e j dz6e j d{6e j d|6e j d}6e j d~6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d6Z$ i
 e j d6e j d6e j d6e j d6e j d6e j d6e j d6e j d[6e j dN6e j dX6Z% d S(      N)tokensc             C   sR   |  j    } t j |  pK t j |  pK t j |  pK t j | t j  |  f S)N)upperKEYWORDS_COMMONgetKEYWORDS_ORACLEKEYWORDS_PLPGSQLKEYWORDSr   Name)valueval r   9/var/www/dbchiro/venv/build/sqlparse/sqlparse/keywords.py
is_keyword   s
    r   z(--|# )\+.*?(\r\n|\r|\n|$)z/\*\+[\s\S]*?\*/z(--|# ).*?(\r\n|\r|\n|$)z/\*[\s\S]*?\*/z(\r\n|\r|\n)z\s+z:=z::z\*z`(``|[^`])*`u   ´(´´|[^´])*´u#   (\$(?:[_A-ZÀ-Ü]\w*)?\$)[\s\S]*?\1z\?z%(\(\w+\))?sz(?<!\w)[$:?]\w+z(CASE|IN|VALUES|USING)\bu   (@|##|#)[A-ZÀ-Ü]\w+u   [A-ZÀ-Ü]\w*(?=\s*\.)u   (?<=\.)[A-ZÀ-Ü]\w*u   [A-ZÀ-Ü]\w*(?=\()z-?0x[\dA-F]+z-?\d*(\.\d+)?E-?\d+z-?(\d+(\.\d*)|\.\d+)u   -?\d+(?![_A-ZÀ-Ü])z'(''|\\\\|\\'|[^'])*'z(""|".*?[^\\]")z(?<![\w\])])(\[[^\]]+\])z[((LEFT\s+|RIGHT\s+|FULL\s+)?(INNER\s+|OUTER\s+|STRAIGHT\s+)?|(CROSS\s+|NATURAL\s+)?)?JOIN\bzEND(\s+IF|\s+LOOP|\s+WHILE)?\bzNOT\s+NULL\bzUNION\s+ALL\bzCREATE(\s+OR\s+REPLACE)?\bzDOUBLE\s+PRECISION\bu   [0-9_A-ZÀ-Ü][_$#\w]*z[;:()\[\],\.]z[<>=~!]+z[+/@#%^&|`?^-]+rootc             C   s1   g  |  ]' \ } } t  j | t  j | f  q Sr   )recompileFLAGSmatch).0rxttr   r   r   
<listcomp>X   s   	 r   ZABORTZABSZABSOLUTEZACCESSZADAZADDZADMINZAFTERZ	AGGREGATEZALIASZALLZALLOCATEZANALYSEZANALYZEANYZARRAYLENZAREZASCZ
ASENSITIVEZ	ASSERTIONZ
ASSIGNMENTZ
ASYMMETRICATZATOMICZAUDITZAUTHORIZATIONZAUTO_INCREMENTZAVGZBACKWARDZBEFOREZBEGINZBETWEENZBITVARZ
BIT_LENGTHZBOTHZBREADTHZCACHECALLZCALLEDZCARDINALITYZCASCADEZCASCADEDZCASTZCATALOGZCATALOG_NAMEZCHAINZCHARACTERISTICSZCHARACTER_LENGTHZCHARACTER_SET_CATALOGZCHARACTER_SET_NAMEZCHARACTER_SET_SCHEMAZCHAR_LENGTHCHARSETZCHECKZCHECKED
CHECKPOINTZCLASSZCLASS_ORIGINZCLOBZCLOSEZCLUSTERZCOALESCEZCOBOLZCOLLATEZ	COLLATIONZCOLLATION_CATALOGZCOLLATION_NAMEZCOLLATION_SCHEMAZCOLLECTZCOLUMNZCOLUMN_NAMEZCOMPRESSZCOMMAND_FUNCTIONZCOMMAND_FUNCTION_CODECOMMENTZCOMMITZ	COMMITTEDZ
COMPLETIONZCONCURRENTLYZCONDITION_NUMBERZCONNECTZ
CONNECTIONZCONNECTION_NAMEZ
CONSTRAINTCONSTRAINTSZCONSTRAINT_CATALOGZCONSTRAINT_NAMEZCONSTRAINT_SCHEMAZCONSTRUCTORZCONTAINSCONTINUEZ
CONVERSIONZCONVERTCOPYZCORRESPONTINGZCOUNTZCREATEDBZ
CREATEUSERZCROSSZCUBEZCURRENTZCURRENT_DATEZCURRENT_PATHZCURRENT_ROLEZCURRENT_TIMEZCURRENT_TIMESTAMPZCURRENT_USERZCURSORZCURSOR_NAMEZCYCLEZDATAZDATABASEZDATETIME_INTERVAL_CODEZDATETIME_INTERVAL_PRECISIONZDAYZ
DEALLOCATEZDECLAREDEFAULTZDEFAULTSZ
DEFERRABLEZDEFERREDZDEFINEDZDEFINERZ	DELIMITERZ
DELIMITERSZDEREFZDESCZDESCRIBEZ
DESCRIPTORZDESTROYZ
DESTRUCTORZDETERMINISTICZDIAGNOSTICSZ
DICTIONARYZDISABLEZ
DISCONNECTZDISPATCHZDOZDOMAINZDYNAMICZDYNAMIC_FUNCTIONZDYNAMIC_FUNCTION_CODEZEACHZENABLEENCODINGZ	ENCRYPTEDzEND-EXECZENGINEZEQUALSESCAPEZEVERYZEXCEPTZ	EXCEPTIONZ	EXCLUDINGZ	EXCLUSIVEZEXECZEXECUTEZEXISTINGZEXISTSZEXTERNALZEXTRACTFALSEZFETCHFILEZFINALZFIRSTZFORCEZFOREACHZFOREIGNZFORTRANZFORWARDFOUNDZFREEZFREEZEZFULLZFUNCTIONZGENERALZ	GENERATEDGETGLOBALZGOZGOTOZGRANTZGRANTEDZGROUPINGZHANDLERZHAVINGZ	HIERARCHYZHOLDZHOSTZ
IDENTIFIEDZIDENTITYZIGNOREZILIKEZ	IMMEDIATEZ	IMMUTABLEZIMPLEMENTATIONZIMPLICITZ	INCLUDINGZ	INCREMENTZINDEXZ
INDITCATORZINFIXZINHERITSZINITIALZ
INITIALIZEZ	INITIALLYZINOUTZINPUTZINSENSITIVEZINSTANTIABLEZINSTEADZ	INTERSECTZINTOZINVOKERZISZISNULLZ	ISOLATIONZITERATEKEYZ
KEY_MEMBERZKEY_TYPEZLANCOMPILERLANGUAGEZLARGEZLASTZLATERALZLEADINGZLENGTHLESSZLEVELZLIMITZLISTENZLOADZLOCALZ	LOCALTIMEZLOCALTIMESTAMPZLOCATIONZLOCATORZLOCKZLOWERZMAPZMATCHZ
MAXEXTENTSZMAXVALUEZMESSAGE_LENGTHZMESSAGE_OCTET_LENGTHZMESSAGE_TEXTZMETHODZMINUTEMINUSZMINVALUEZMODZMODEZMODIFIESZMODIFYZMONTHZMOREZMOVEZMUMPSZNAMESZNATIONALZNATURALZNCHARZNCLOBZNEWNEXTNOZNOAUDITZ
NOCOMPRESSZ
NOCREATEDBZNOCREATEUSERNONEZNOTZNOTFOUNDZNOTHINGNOTIFYZNOTNULLZNOWAITZNULLZNULLABLEZNULLIFZOBJECTZOCTET_LENGTHZOFZOFFZOFFLINEZOFFSETZOIDSZOLDZONLINEZONLYZOPENZ	OPERATIONZOPERATORZOPTIONOPTIONSZ
ORDINALITYZOUTZOUTPUTZOVERLAPSZOVERLAYZ
OVERRIDINGZOWNERZPADZ	PARAMETERZ
PARAMETERSZPARAMETER_MODEZPARAMATER_NAMEZPARAMATER_ORDINAL_POSITIONZPARAMETER_SPECIFIC_CATALOGZPARAMETER_SPECIFIC_NAMEZPARAMATER_SPECIFIC_SCHEMAPARTIALZPASCALZPCTFREEZPENDANTZPLACINGZPLIZPOSITIONZPOSTFIXZ	PRECISIONPREFIXZPREORDERZPREPAREZPRESERVEZPRIMARYZPRIORZ
PRIVILEGESZ
PROCEDURALZ	PROCEDUREZPUBLICZRAISEZRAWREADZREADSZRECHECKZ	RECURSIVEZREFZ
REFERENCESZREFERENCINGZREINDEXZRELATIVEZRENAMEZ
REPEATABLERESETZRESOURCEZRESTARTZRESTRICTRESULTZRETURNZRETURNED_LENGTHZRETURNED_OCTET_LENGTHZRETURNED_SQLSTATEZ	RETURNINGZRETURNSZREVOKEZRIGHTZROLEZROLLBACKZROLLUPZROUTINEZROUTINE_CATALOGZROUTINE_NAMEZROUTINE_SCHEMAZROWZROWSZ	ROW_COUNTZRULEZ
SAVE_POINTZSCALEZSCHEMAZSCHEMA_NAMEZSCOPEZSCROLLZSEARCHZSECONDZSECURITYZSELFZ	SENSITIVEZSEQUENCEZSERIALIZABLESERVER_NAMEZSESSIONZSESSION_USERZSETOFZSETSZSHAREZSHOWZSIMILARZSIMPLEZSIZEZSOMEZSOURCESPACEZSPECIFICZSPECIFICTYPEZSPECIFIC_NAMEZSQLZSQLBUFZSQLCODEZSQLERRORZSQLEXCEPTIONZSQLSTATEZ
SQLWARNINGZSTABLEZSTARTZ	STATEMENTZSTATICZ
STATISTICSZSTDINSTDOUTZSTORAGEZSTRICTZ	STRUCTUREZSTYPEZSUBCLASS_ORIGINZSUBLISTZ	SUBSTRINGZ
SUCCESSFULZSUMZ	SYMMETRICZSYNONYMZSYSIDZSYSTEMZSYSTEM_USERZTABLEZ
TABLE_NAMETEMPTEMPLATE	TEMPORARYZ	TERMINATEZTHANZ	TIMESTAMPZTIMEZONE_HOURZTIMEZONE_MINUTEZTOZTOASTZTRAILINGZ
TRANSATIONZTRANSACTIONS_COMMITTEDZTRANSACTIONS_ROLLED_BACKZTRANSATION_ACTIVEZ	TRANSFORMZ
TRANSFORMSZ	TRANSLATEZTRANSLATIONZTREATZTRIGGERZTRIGGER_CATALOGZTRIGGER_NAMEZTRIGGER_SCHEMAZTRIMTRUEZTRUNCATEZTRUSTEDZTYPEZUIDZUNCOMMITTEDZUNDERZUNENCRYPTEDZUNIONZUNIQUEUNKNOWNZUNLISTENZUNNAMEDZUNNESTZUNTILZUPPERUSAGEZUSEUSERZUSER_DEFINED_TYPE_CATALOGZUSER_DEFINED_TYPE_NAMEZUSER_DEFINED_TYPE_SCHEMAZUSINGZVACUUMZVALIDZVALIDATEZ	VALIDATORZVALUESZVARIABLEVERBOSEVERSIONZVIEWZVOLATILEZWHENEVERZWITHZWITHOUTZWORKWRITEZYEARZZONEARRAYZBIGINTBINARYZBITZBLOBZBOOLEANZCHARZ	CHARACTERZDATEZDECZDECIMALFLOATINTZINT8ZINTEGERZINTERVALLONGNUMBERZNUMERICZREALZROWIDZROWLABELZROWNUMZSERIALZSERIAL8ZSIGNEDZSMALLINTZSYSDATEZTEXTZTINYINTZUNSIGNEDZVARCHARZVARCHAR2ZVARYINGZSELECTZINSERTDELETEZUPDATEZREPLACEZMERGEZDROPZCREATEZALTERZWHEREZFROMZINNERZJOINZSTRAIGHT_JOINZANDZORZLIKEZONINZSETZBYZGROUPZORDERZLEFTZOUTERZIFZENDZTHENZLOOPZASZELSEZFORZWHILEZCASEZWHENZMINMAXZDISTINCTZARCHIVEZ
ARCHIVELOGZBACKUPZBECOMEZBLOCKZBODYZCANCELZCHANGEZCOMPILEZCONTENTSZCONTROLFILEZDATAFILEZDBAZDISMOUNTZDOUBLEZDUMPZEVENTSZ
EXCEPTIONSZEXPLAINZEXTENTZ
EXTERNALLYZFLUSHZFREELISTZ	FREELISTSZ	INDICATORZINITRANSZINSTANCEZLAYERZLINKZLISTSZLOGFILEZMANAGEZMANUALZMAXDATAFILESZMAXINSTANCESZMAXLOGFILESZMAXLOGHISTORYZMAXLOGMEMBERSZMAXTRANSZ
MINEXTENTSMODULEZMOUNTZNOARCHIVELOGZNOCACHEZNOCYCLEZ
NOMAXVALUEZ
NOMINVALUEZNOORDERZNORESETLOGSNORMALZNOSORTZOPTIMALZOWNPACKAGEZPARALLELZPCTINCREASEZPCTUSEDZPLANZPRIVATEZPROFILEZQUOTAZRECOVERZ	RESETLOGSZ
RESTRICTEDZREUSEZROLESZ	SAVEPOINTZSCNZSECTIONZSEGMENTZSHAREDZSNAPSHOTZSORTZSTATEMENT_IDSTOPZSWITCHZTABLESZ
TABLESPACEZTHREADZTIMEZTRACINGZTRANSACTIONZTRIGGERSZ	UNLIMITEDZUNLOCKZ	PARTITIONZOVERZPERFORMZNOTICEZPLPGSQLZINHERITZINDEXES)&r   Zsqlparser   r   CommentSingleZHintZ	MultilineZNewline
WhitespaceZ
AssignmentZPunctuationZWildcardr	   ZLiteralZPlaceholderZKeywordNumberZHexadecimalZFloatZIntegerStringZSymbolZDDLZBuiltinOperatorZ
ComparisonZ	SQL_REGEX
IGNORECASEUNICODEr   ZOrderZDMLZCTEr   r   r   r   r   r   r   r   <module>   s  		

































































































































































































































































































































































































































































































































































































































