ROOTPLOIT
Server: LiteSpeed
System: Linux server71.web-hosting.com 4.18.0-513.18.1.lve.el8.x86_64 #1 SMP Thu Feb 22 12:55:50 UTC 2024 x86_64
User: niphet (1079)
PHP: 5.3.29
Disabled: NONE
Upload Files
File: //lib/python2.7/site-packages/google/protobuf/text_format.pyo

hc
@s+dZdZddlZddlZddlZejrBeZnddlm	Z	ddl
mZddl
mZddd	d
dgZ
e	je	je	je	jfZejdejZejd
ejZeejjejjgZeddfZdZdefdYZdefdYZ de!fdYZ"e#e#e#e#e$e#e$de$d	Z%dZ&de#e#e#e#e$e#e$e$d	Z'de#e#e#e#e$e$dZ(de#e#e#e#e$e$dZ)dZ*de!fdYZ+e#e#e$d Z,e#e#e$d!Z-e#e#e$d"Z.e#e#e$d#Z/d$e!fd%YZ0d&Z1d'Z2d(Z3d)Z4d*e!fd+YZ5e5Z6d,Z7d-Z8d.Z9d/Z:d0Z;d1Z<e#e#d2Z=e#e#d3Z>e#e#d4Z?e#d5Z@d6ZAd7ZBd8ZCdS(9sbContains routines for printing protocol messages in text format.

Simple usage example:

  # Create a proto object and serialize it to a text proto string.
  message = my_proto_pb2.MyMessage(foo='bar')
  text_proto = text_format.MessageToString(message)

  # Parse a text proto string.
  message = text_format.Parse(text_proto, my_proto_pb2.MyMessage())
s kenton@google.com (Kenton Varda)iN(t
type_checkers(t
descriptor(t
text_encodingtMessageToStringtPrintMessaget
PrintFieldtPrintFieldValuetMerges-?inf(?:inity)?f?snanf?t't"sgoogle.protobuf.AnytErrorcBseZdZRS(s'Top-level module error for text_format.(t__name__t
__module__t__doc__(((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR
Ist
ParseErrorcBs2eZdZddddZdZdZRS(s3Thrown in case of text parsing or tokenizing error.cCs|dk	r[|dk	r[t|}|dk	rF|dj|7}ndj||}n|dk	rtt|j|ntt|j||_||_dS(Ns:{0}s	{0} : {1}(tNonetstrtformattsuperRt__init__t_linet_column(tselftmessagetlinetcolumntloc((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyRPs	cCs|jS(N(R(R((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pytGetLine]scCs|jS(N(R(R((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyt	GetColumn`sN(RRR
RRRR(((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyRMs
	t
TextWritercBs,eZdZdZdZdZRS(cCs.tjrtj|_ntj|_dS(N(tsixtPY2tiotBytesIOt_writertStringIO(Rtas_utf8((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyRfs	cCs@tjr0t|tjr0|jd}q0n|jj|S(Nsutf-8(RRt
isinstancet	text_typetencodeR"twrite(Rtval((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR(ls	cCs
|jjS(N(R"tclose(R((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR*rscCs
|jjS(N(R"tgetvalue(R((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR+us(RRRR(R*R+(((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyRds			ic

Csjt|}
t|
|||||||||	
}|j||
j}|
j|rf|jS|S(sConvert protobuf message to text format.

  Floating point values can be formatted compactly with 15 digits of
  precision (which is the most that IEEE 754 "double" can guarantee)
  using float_format='.15g'. To ensure that converting to text and back to a
  proto will result in an identical value, float_format='.17g' should be used.

  Args:
    message: The protocol buffers message.
    as_utf8: Produce text output in UTF8 format.
    as_one_line: Don't introduce newlines between fields.
    pointy_brackets: If True, use angle brackets instead of curly braces for
      nesting.
    use_index_order: If True, print fields of a proto message using the order
      defined in source code instead of the field number. By default, use the
      field number order.
    float_format: If set, use this to specify floating point number formatting
      (per the "Format Specification Mini-Language"); otherwise, str() is used.
    use_field_number: If True, print field numbers instead of names.
    descriptor_pool: A DescriptorPool used to resolve Any types.
    indent: The indent level, in terms of spaces, for pretty print.
    message_formatter: A function(message, indent, as_one_line): unicode|None
      to custom format selected sub-messages (usually based on message type).
      Use to pretty print parts of the protobuf for easier diffing.

  Returns:
    A string of the text formatted protocol buffer message.
  (Rt_PrinterRR+R*trstrip(
RR$tas_one_linetpointy_bracketstuse_index_ordertfloat_formattuse_field_numbertdescriptor_pooltindenttmessage_formattertouttprintertresult((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyRys&	


cCs1|jtjjko0|jjo0|jjjS(N(ttypeRtFieldDescriptortTYPE_MESSAGEtmessage_typethas_optionst
GetOptionst	map_entry(tfield((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyt_IsMapEntryscCs8t|||||||||	|

}|j|dS(N(R,R(RR6R4R$R.R/R0R1R2R3R5R7((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyRs	c
	Cs5t||||||||	}
|
j||dS(s%Print a single field name/value pair.N(R,R(R@tvalueR6R4R$R.R/R0R1R5R7((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyRsc
	Cs5t||||||||	}
|
j||dS(s0Print a single field value (not including name).N(R,R(R@RBR6R4R$R.R/R0R1R5R7((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyRscCs|dkr+ddlm}|j}nddlm}|j}y|j|}Wntk
rndSX|j|}|S(s!Returns a protobuf message instance.

  Args:
    type_name: Fully-qualified protobuf  message type name string.
    descriptor_pool: DescriptorPool instance.

  Returns:
    A Message instance of type matching type_name, or None if the a Descriptor
    wasn't found matching type_name.
  i(R3(tsymbol_databaseN(Rtgoogle.protobufR3tDefaultRCtFindMessageTypeByNametKeyErrortGetPrototype(t	type_nameR3tpool_modRCtdatabasetmessage_descriptorR<((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyt_BuildMessageFromTypeNames
R,c
BsheZdZdeeeed	ed	d	d	ZdZdZdZdZ	dZ
dZRS(
s)Text format printer for protocol message.icCs^||_||_||_||_||_||_||_||_|	|_|
|_	dS(sZInitialize the Printer.

    Floating point values can be formatted compactly with 15 digits of
    precision (which is the most that IEEE 754 "double" can guarantee)
    using float_format='.15g'. To ensure that converting to text and back to a
    proto will result in an identical value, float_format='.17g' should be used.

    Args:
      out: To record the text format result.
      indent: The indent level for pretty print.
      as_utf8: Produce text output in UTF8 format.
      as_one_line: Don't introduce newlines between fields.
      pointy_brackets: If True, use angle brackets instead of curly braces for
        nesting.
      use_index_order: If True, print fields of a proto message using the order
        defined in source code instead of the field number. By default, use the
        field number order.
      float_format: If set, use this to specify floating point number formatting
        (per the "Format Specification Mini-Language"); otherwise, str() is
        used.
      use_field_number: If True, print field numbers instead of names.
      descriptor_pool: A DescriptorPool used to resolve Any types.
      message_formatter: A function(message, indent, as_one_line): unicode|None
        to custom format selected sub-messages (usually based on message type).
        Use to pretty print parts of the protobuf for easier diffing.
    N(
R6R4R$R.R/R0R1R2R3R5(RR6R4R$R.R/R0R1R2R3R5((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyRs%									cCst|j|j}|r|j|j|jjd|jd|jf|j	||jj|j
rwdndtStSdS(s5Serializes if message is a google.protobuf.Any field.s%s[%s]t s
N(
RMtTypeNameR3tMergeFromStringRBR6R(R4ttype_urlt_PrintMessageFieldValueR.tTruetFalse(RRtpacked_message((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyt_TryPrintAsAnyMessage.s$
cCsu|j||j|j}|dkr+tS|j}|jd|j|j||j|jrjdndtS(NRNs
(R5R4R.RRTR6R(RS(RRt	formattedR6((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyt_TryCustomFormatMessage;s	
cCs%|jr|j|rdS|jjtkrA|j|rAdS|j}|jrl|jddnx|D]\}}t	|rxt
|D]5}|jd|d||}|j||qWqs|j
tjjkr
x1|D]}|j||qWqs|j||qsWdS(seConvert protobuf message to text format.

    Args:
      message: The protocol buffers message.
    NtkeycSs|djS(Ni(tindex(tx((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyt<lambda>StRB(R5RXt
DESCRIPTORt	full_namet_ANY_FULL_TYPE_NAMERVt
ListFieldsR0tsortRAtsortedt
GetEntryClassRtlabelRR:tLABEL_REPEATED(RRtfieldsR@RBRYtentry_submsgtelement((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyRFs"	
cCsa|j}|jd|j|jr?|jt|jn|jr|jd|jjj	r|j
tjj
kr|jtjjkr|j|jjn|j|j|jdn;|j
tjjkr|j|jjn|j|j|jtjjkr'|jdn|j|||jrP|jdn
|jddS(s%Print a single field name/value pair.RNt[t]s: s
N(R6R(R4R2Rtnumbertis_extensiontcontaining_typeR>tmessage_set_wire_formatR9RR:R;RetLABEL_OPTIONALR<R_t
TYPE_GROUPtnametcpp_typetCPPTYPE_MESSAGERR.(RR@RBR6((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyRds*			
	cCs|jrd}d}nd}d}|jra|jjd||j||jj|nZ|jjd||jd7_|j||jd8_|jjd|j|dS(	Nt<t>t{t}s %s s %s
iRN(R/R.R6R(RR4(RRBtopenbtcloseb((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyRRs			

cCs|j}|jtjjkr.|j|n|jtjjkr|jjj	|d}|dk	rz|j|jq|jt
|n'|jtjjkr,|jdt|tjr|jd}n|}|jtjjkrt}n	|j}|jtj|||jdn|jtjjkrg|rW|jdq|jdnP|jtkr|jdk	r|jdj|j|n|jt
|dS(sPrint a single field value (not including name).

    For repeated fields, the value should be a single element.

    Args:
      field: The descriptor of the field to be printed.
      value: The value of the field.
    s"sutf-8ttruetfalses{1:{0}}N(R6RsRR:RtRRtCPPTYPE_ENUMt	enum_typetvalues_by_numbertgetRR(RrRtCPPTYPE_STRINGR%RR&R'R9t
TYPE_BYTESRTR$RtCEscapetCPPTYPE_BOOLt_FLOAT_TYPESR1R(RR@RBR6t
enum_valuet	out_valuetout_as_utf8((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyRs2		
		N(RRR
RTRRRVRXRRRRR(((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR,s &	
			!	cCs^t|ts<tjr*|jd}q<|jd}nt|jd|||d|S(sParses a text representation of a protocol message into a message.

  NOTE: for historical reasons this function does not clear the input
  message. This is different from what the binary msg.ParseFrom(...) does.

  Example
    a = MyProto()
    a.repeated_field.append('test')
    b = MyProto()

    text_format.Parse(repr(a), b)
    text_format.Parse(repr(a), b) # repeated_field contains ["test", "test"]

    # Binary version:
    b.ParseFromString(a.SerializeToString()) # repeated_field is now "test"

  Caller is responsible for clearing the message as needed.

  Args:
    text: Message text representation.
    message: A protocol buffer message to merge into.
    allow_unknown_extension: if True, skip over missing extensions and keep
      parsing
    allow_field_number: if True, both field number and field name are allowed.
    descriptor_pool: A DescriptorPool used to resolve Any types.

  Returns:
    The same message passed as argument.

  Raises:
    ParseError: On text parsing problems.
  sutf-8s
R3(R%RRtPY3tdecodeR't
ParseLinestsplit(ttextRtallow_unknown_extensiontallow_field_numberR3((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pytParses%	cCs^t|ts<tjr*|jd}q<|jd}nt|jd|||d|S(s^Parses a text representation of a protocol message into a message.

  Like Parse(), but allows repeated values for a non-repeated field, and uses
  the last one.

  Args:
    text: Message text representation.
    message: A protocol buffer message to merge into.
    allow_unknown_extension: if True, skip over missing extensions and keep
      parsing
    allow_field_number: if True, both field number and field name are allowed.
    descriptor_pool: A DescriptorPool used to resolve Any types.

  Returns:
    The same message passed as argument.

  Raises:
    ParseError: On text parsing problems.
  sutf-8s
R3(R%RRRRR't
MergeLinesR(RRRRR3((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyRs	cCs%t||d|}|j||S(sParses a text representation of a protocol message into a message.

  Args:
    lines: An iterable of lines of a message's text representation.
    message: A protocol buffer message to merge into.
    allow_unknown_extension: if True, skip over missing extensions and keep
      parsing
    allow_field_number: if True, both field number and field name are allowed.
    descriptor_pool: A DescriptorPool used to resolve Any types.

  Returns:
    The same message passed as argument.

  Raises:
    ParseError: On text parsing problems.
  R3(t_ParserR(tlinesRRRR3tparser((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyRs	cCs%t||d|}|j||S(sParses a text representation of a protocol message into a message.

  Args:
    lines: An iterable of lines of a message's text representation.
    message: A protocol buffer message to merge into.
    allow_unknown_extension: if True, skip over missing extensions and keep
      parsing
    allow_field_number: if True, both field number and field name are allowed.
    descriptor_pool: A DescriptorPool used to resolve Any types.

  Returns:
    The same message passed as argument.

  Raises:
    ParseError: On text parsing problems.
  R3(RR(RRRRR3R((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR3s	RcBseZdZeeddZdZdZdZdZ	dZ
dZdZd	Z
ed
ZdZRS(
s(Text format parser for protocol message.cCs||_||_||_dS(N(RRR3(RRRR3((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyRQs		cCs:t|ts!|jd}n|j|jd|S(sBParses a text representation of a protocol message into a message.sutf-8s
(R%RRRR(RRR((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pytParseFromStringYscCst|_|j|||S(sBParses a text representation of a protocol message into a message.(RTt_allow_multiple_scalarst
_ParseOrMerge(RRR((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR_s	cCs|j|jd|S(sBMerges a text representation of a protocol message into a message.s
(t_MergeLinesR(RRR((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyRPescCst|_|j|||S(sBMerges a text representation of a protocol message into a message.(RSRR(RRR((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyRis	cCs3t|}x |js.|j||qWdS(sConverts a text representation of a protocol message into a message.

    Args:
      lines: Lines of a message's text representation.
      message: A protocol buffer message to merge into.

    Raises:
      ParseError: On text parsing problems.
    N(t	TokenizertAtEndt_MergeField(RRRt	tokenizer((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyRos
c	Cs|j}|jdr|jg}x&|jdrO|j|jq*Wdj|}|js|jd|jn|jj	|}|s|j
rd}q|jd|n.||jkr|jd||jfn|j
dn(|j}|jro|jrot|tt}|jj|d}|r|jr|jj|}qn|jj|d}|s|jj|jd}|r|jtjjkrd}qn|r|jtjjkr|jj|krd}n|s'|jd|j|fn|r\|jr|jr|j |jj}|dk	r||jkr|jd|j||jj|jfqn|j!tjj"kr|jd	|j#}n|j
d	|j$}|j%tjj&krI|jdrIxMtrE|||||jdr5Pn|j
d
qWqf||||n
t'||jd
s|jdndS(
sMerges a single protocol message field into a message.

    Args:
      tokenizer: A tokenizer to parse the field name and values.
      message: A protocol message to record the data.

    Raises:
      ParseError: In case of text parsing problems.
    Rjt.s+Message type "%s" does not have extensions.sExtension "%s" not registered. Did you import the _pb2 module which defines it? If you are trying to place the extension in the MessageSet field of another message that is in an Any or MessageSet field, that message's _pb2 module must be imported as wells1Extension "%s" does not extend message type "%s".Rks*Message type "%s" has no field named "%s".sbField "%s" is specified along with field "%s", another member of oneof "%s" for message type "%s".t:t,t;N((R^t
TryConsumetConsumeIdentifiertappendtjoint
is_extendabletParseErrorPreviousTokenR_t
Extensionst_FindExtensionByNameRRRntConsumetConsumeIdentifierOrNumberRtisdigittParseIntegerRStfields_by_numberRt_FindExtensionByNumbertfields_by_nametlowerR9RR:RqR<RrRtcontaining_oneoft
WhichOneofRsRtt_MergeMessageFieldt_MergeScalarFieldReRft_SkipFieldContents(	RRRRLRrR@Rltwhich_oneoftmerger((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR}s
				
	

		
cCs|jg}|jd|j|j|jd|j|j|jd|jg}x&|jdr|j|jqnWdj|dj|fS(sBConsumes a google.protobuf.Any type URL and returns the type name.Rt/(RRRRR(RRtprefixRr((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyt_ConsumeAnyTypeUrls


cCst|}|jdr$d}n|jdd}|jjtkr|jdr|j|\}}|jd|jd|jdrd}n|jdd}t||j}	|	st	d|nxH|j|s'|j
r|jd	|fn|j||	qW|j
tjjkrXt||jj}
nt||j}
|
j|	d
|n|j
tjjkr|jr|j|j}q(|rt||jj}q(t||jj}n5|jr|j|}nt||j}|jxH|j|sr|j
r_|jd	|fn|j||q+W|r|jjdj}|tjjkrt||j|j}
|
j|jq|jt||j|j<ndS(
s"Merges a single scalar field into a message.

    Args:
      tokenizer: A tokenizer to parse the field value.
      message: The message of which field is a member.
      field: The descriptor of the field to be merged.

    Raises:
      ParseError: In case of text parsing problems.
    RuRvRwRxRjRkRs$Type %s not found in descriptor poolsExpected "%s".ttype_url_prefixRBN(RARRR<R_R`RRMR3RRRRReRR:RftgetattrRrtaddtPackRmRRdtSetInParentRRsRtRYt	MergeFromRB(RRRR@tis_map_entryt	end_tokenRtpacked_type_nametexpanded_any_end_tokentexpanded_any_sub_messagetany_messagetsub_messaget
value_cpptypeRB((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyRsb	


	

	
		
cCs%|j}t|do$|jdkS(Ntsyntaxtproto3(R^thasattrR(RRL((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyt_IsProto3SyntaxAs	cCs|j}d}|jtjjtjjtjjfkrHt|}no|jtjj	tjj
tjjfkrt|}n6|jtjj
tjjfkrt|}n|jtjjtjjfkrt|}n|jtjjtjjfkr|j}n|jtjjkr5|j}n|jtjjkrY|j}n^|jtjjkr}|j}n:|jtjjkr|j|}ntd|j|jtjj kr|j!r|j"|j#|qt$||j%j#|n|j&|}|j!ru|j're|re|j(|re|j)d|j*j+|j+fq||j"|<nZ|j'r|r|j,|j%r|j)d|j*j+|j%fnt-||j%|dS(sHMerges a single scalar field into a message.

    Args:
      tokenizer: A tokenizer to parse the field value.
      message: A protocol message to record the data.
      field: The descriptor of the field to be merged.

    Raises:
      ParseError: In case of text parsing problems.
      RuntimeError: On runtime errors.
    sUnknown field type %ds;Message type "%s" should not have multiple "%s" extensions.s7Message type "%s" should not have multiple "%s" fields.N(.RRR9RR:t
TYPE_INT32tTYPE_SINT32t
TYPE_SFIXED32t
_ConsumeInt32t
TYPE_INT64tTYPE_SINT64t
TYPE_SFIXED64t
_ConsumeInt64tTYPE_UINT32tTYPE_FIXED32t_ConsumeUint32tTYPE_UINT64tTYPE_FIXED64t_ConsumeUint64t
TYPE_FLOATtTYPE_DOUBLEtConsumeFloatt	TYPE_BOOLtConsumeBooltTYPE_STRINGt
ConsumeStringRtConsumeByteStringt	TYPE_ENUMtConsumeEnumtRuntimeErrorReRfRmRRRRrRRtHasExtensionRR^R_tHasFieldtsetattr(RRRR@t_RBtcan_check_presence((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyRGs\					N(RRR
RTRRRRRPRRRRRtstaticmethodRR(((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyRNs						m		HcCsJ|jdr<|jdr<|jdr<t|n
t|dS(s}Skips over contents (value or message) of a field.

  Args:
    tokenizer: A tokenizer to parse the field name and values.
  RRwRuN(Rt	LookingAtt_SkipFieldValuet_SkipFieldMessage(R((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyRs
cCs|jdrI|jx|jdr8|jqW|jdn
|jt||jds||jdndS(sSkips over a complete field (name and value/message).

  Args:
    tokenizer: A tokenizer to parse the field name and values.
  RjRRkRRN(RRRR(R((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyt
_SkipFields


cCsm|jdrd}n|jdd}x.|jdr[|jdr[t|q.W|j|dS(sfSkips over a field message.

  Args:
    tokenizer: A tokenizer to parse the field name and values.
  RuRvRwRxN(RRRR(Rt	delimiter((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyRs	
#cCsq|jr#x|jrqWdS|jrmt|rmt|rm|jrmtd|jndS(sSkips over a field value.

  Args:
    tokenizer: A tokenizer to parse the field name and values.

  Raises:
    ParseError: In case an invalid field value is found.
  NsInvalid field value: (tTryConsumeByteStringtTryConsumeIdentifiert_TryConsumeInt64t_TryConsumeUint64tTryConsumeFloatRttoken(R((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyRs

RcBseZdZejdZejdejZejdejZejdj	ddgge
D]Zdjde^qaZ
ejd	Zejd
ZedZdZd
ZdZdZdZdZdZdZdZdZdZdZdZedZ dZ!dZ"dZ#dZ$dZ%dZ&d Z'd!Z(d"Z)d#Z*d$Z+d%Z,RS(&sProtocol buffer text representation tokenizer.

  This class handles the lower level string parsing by splitting it into
  meaningful tokens.

  It was directly ported from the Java protocol buffer API.
  s\s+s	(\s*#.*$)s(\s|(#.*$))+t|s[a-zA-Z_][0-9a-zA-Z_+-]*s#([0-9+-]|(\.[0-9]))[0-9a-zA-Z_.+-]*s!{qt}([^{qt}\n\\]|\\.)*({qt}|\\?$)tqts
[^\d\W]\w*s\w+cCsd|_d|_d|_d|_d|_t||_d|_d|_	d|_
t|_||_
|rx|jp~|j|_|j|jdS(NiiR](t	_positionRRRt_token_startRtitert_linest
_current_linet_previous_linet_previous_columnRSt_more_linest_skip_commentst_WHITESPACE_OR_COMMENTt_WHITESPACEt_whitespace_patternt_SkipWhitespacet	NextToken(RRt
skip_comments((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyRs										
cCs
|j|kS(N(R(RR((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyRscCs|jS(s^Checks the end of the text was reached.

    Returns:
      True iff the end was reached.
    (R(R((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR
scCsxxqt|j|jkrsyt|j|_Wn$tk
rWd|_t|_dSX|jd7_d|_qWdS(NR]ii(	tlenRRtnextRt
StopIterationRTRR(R((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyt_PopLines
		cCsdx]tr_|j|jj|j|j}|s8Pnt|jd}|j|7_qWdS(Ni(RSRRtmatchRRRtgroup(RRtlength((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyRs	
cCs!|j|kr|jtStS(sTries to consume a given piece of text.

    Args:
      token: Text to consume.

    Returns:
      True iff the text was consumed.
    (RRRSRT(RR((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR's	
cCs)|j|s%|jd|ndS(sConsumes a piece of text.

    Args:
      token: Text to consume.

    Raises:
      ParseError: If the text couldn't be consumed.
    sExpected "%s".N(RR(RR((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR5s	cCs;|j}|jj|s-|jdn|j|S(NsExpected comment.(Rt_COMMENTRRR(RR8((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pytConsumeCommentAs
	
cCsS|jdko|jdk}|j}|j}|j|koF|}||fS(sCConsumes a comment, returns a 2-tuple (trailing bool, comment str).i(RRRR(Rtjust_startedtbefore_parsingtcommentttrailing((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pytConsumeCommentOrTrailingCommentHs	cCs+y|jtSWntk
r&tSXdS(N(RRSRRT(R((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyRXs


cCs;|j}|jj|s-|jdn|j|S(sConsumes protocol message field identifier.

    Returns:
      Identifier string.

    Raises:
      ParseError: If an identifier couldn't be consumed.
    sExpected identifier.(Rt_IDENTIFIERRRR(RR8((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR_s
		
cCs+y|jtSWntk
r&tSXdS(N(RRSRRT(R((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pytTryConsumeIdentifierOrNumberns


cCs?|j}|jj|s1|jd|n|j|S(sConsumes protocol message field identifier.

    Returns:
      Identifier string.

    Raises:
      ParseError: If an identifier couldn't be consumed.
    s&Expected identifier or number, got %s.(Rt_IDENTIFIER_OR_NUMBERRRR(RR8((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyRus
		
cCs+y|jtSWntk
r&tSXdS(N(tConsumeIntegerRSRRT(R((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pytTryConsumeIntegers


cCsRyt|jd|}Wn(tk
rC}|jt|nX|j|S(sConsumes an integer number.

    Args:
      is_long: True if the value should be returned as a long integer.
    Returns:
      The integer parsed.

    Raises:
      ParseError: If an integer couldn't be consumed.
    tis_long(t_ParseAbstractIntegerRt
ValueErrorRRR(RRR8te((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyRs
cCs+y|jtSWntk
r&tSXdS(N(RRSRRT(R((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyRs


cCsLyt|j}Wn(tk
r=}|jt|nX|j|S(sConsumes an floating point number.

    Returns:
      The number parsed.

    Raises:
      ParseError: If a floating point number couldn't be consumed.
    (t
ParseFloatRRRRR(RR8R((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyRs	
cCsLyt|j}Wn(tk
r=}|jt|nX|j|S(sConsumes a boolean value.

    Returns:
      The bool parsed.

    Raises:
      ParseError: If a boolean value couldn't be consumed.
    (t	ParseBoolRRRRR(RR8R((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyRs	
cCs+y|jtSWntk
r&tSXdS(N(RRSRRT(R((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyRs


cCsI|j}ytj|dSWn"tk
rD}|j|nXdS(sConsumes a string value.

    Returns:
      The string parsed.

    Raises:
      ParseError: If a string value couldn't be consumed.
    sutf-8N(RRR&tUnicodeDecodeErrort_StringParseError(Rt	the_bytesR((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyRs
	cCsR|jg}x3|jrD|jdtkrD|j|jqWdj|S(sConsumes a byte array value.

    Returns:
      The array parsed (as a string).

    Raises:
      ParseError: If a byte array value couldn't be consumed.
    iR](t_ConsumeSingleByteStringRt_QUOTESRR(Rtthe_list((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyRs	cCs|j}t|dks+|dtkrD|jd|fnt|dksj|d|dkr|jd|fnytj|dd!}Wn(tk
r}|jt|nX|j|S(sOConsume one token of a string literal.

    String literals (whether bytes or text) can come in multiple adjacent
    tokens which are automatically concatenated, like in C or Python.  This
    method only consumes one token.

    Returns:
      The token parsed.
    Raises:
      ParseError: When the wrong format data is found.
    iisExpected string but found: %riisString missing ending quote: %r(	RRR%RRt	CUnescapeRRR(RRR8R((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR$s	"&
cCsOyt||j}Wn(tk
r@}|jt|nX|j|S(N(t	ParseEnumRRRRR(RR@R8R((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyRs
cCst||jd|jdS(sCreates and *returns* a ParseError for the previously read token.

    Args:
      message: A message to set for the exception.

    Returns:
      A ParseError instance.
    i(RRR(RR((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyRs	cCst||jd|jdS(s9Creates and *returns* a ParseError for the current token.i(RRR(RR((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyRscCs|jdt|S(NsCouldn't parse string: (RR(RR((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR"scCs|j|_|j|_|jt|j7_|j|jsPd|_dS|jj	|j
|j}|r|jr|jj	|j
|j}n|r|j
d}||_n|j
|j|_dS(s Reads the next meaningful token.R]Ni(RRRRRRRRt_TOKENRRRRR
(RRR((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyRs
		(-RRR
tretcompileRt	MULTILINERRRR%tmarkRR)RRRSRRRRRRRRRRRRRRRTRRRRRRRR$RRRR"R(((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyRsJ,																									cCst|dtdtS(sConsumes a signed 32bit integer number from tokenizer.

  Args:
    tokenizer: A tokenizer used to parse the number.

  Returns:
    The integer parsed.

  Raises:
    ParseError: If a signed 32bit integer couldn't be consumed.
  t	is_signedR(t_ConsumeIntegerRSRT(R((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR8scCst|dtdtS(sConsumes an unsigned 32bit integer number from tokenizer.

  Args:
    tokenizer: A tokenizer used to parse the number.

  Returns:
    The integer parsed.

  Raises:
    ParseError: If an unsigned 32bit integer couldn't be consumed.
  R.R(R/RT(R((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyRGscCs+yt|tSWntk
r&tSXdS(N(RRSRRT(R((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyRVs


cCst|dtdtS(sConsumes a signed 32bit integer number from tokenizer.

  Args:
    tokenizer: A tokenizer used to parse the number.

  Returns:
    The integer parsed.

  Raises:
    ParseError: If a signed 32bit integer couldn't be consumed.
  R.R(R/RS(R((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR^scCs+yt|tSWntk
r&tSXdS(N(RRSRRT(R((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyRms


cCst|dtdtS(sConsumes an unsigned 64bit integer number from tokenizer.

  Args:
    tokenizer: A tokenizer used to parse the number.

  Returns:
    The integer parsed.

  Raises:
    ParseError: If an unsigned 64bit integer couldn't be consumed.
  R.R(R/RTRS(R((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyRuscCs7yt|d|d|tSWntk
r2tSXdS(NR.R(R/RSRRT(RR.R((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyt_TryConsumeIntegers

cCsXyt|jd|d|}Wn(tk
rI}|jt|nX|j|S(sUConsumes an integer number from tokenizer.

  Args:
    tokenizer: A tokenizer used to parse the number.
    is_signed: True if a signed integer must be parsed.
    is_long: True if a long integer must be parsed.

  Returns:
    The integer parsed.

  Raises:
    ParseError: If an integer with given characteristics couldn't be consumed.
  R.R(RRRRRR(RR.RR8R((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR/s
cCsAt|d|}tdt|t|}|j||S(sParses an integer.

  Args:
    text: The text to parse.
    is_signed: True if a signed integer must be parsed.
    is_long: True if a long integer must be parsed.

  Returns:
    The integer value.

  Raises:
    ValueError: Thrown Iff the text is not a valid integer.
  Ri(Rt_INTEGER_CHECKERStintt
CheckValue(RR.RR8tchecker((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyRs
cCsLy$|rt|dSt|dSWn!tk
rGtd|nXdS(sParses an integer without checking size/signedness.

  Args:
    text: The text to parse.
    is_long: True if the value should be returned as a long integer.

  Returns:
    The integer value.

  Raises:
    ValueError: Thrown Iff the text is not a valid integer.
  isCouldn't parse integer: %sN(tlongR2R(RR((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyRs

cCsyt|SWntk
rtj|rT|ddkrGtdStdSqtj|rmtdSyt|jdSWqtk
rtd|qXnXdS(	sParse a floating point number.

  Args:
    text: Text to parse.

  Returns:
    The number parsed.

  Raises:
    ValueError: If a floating point number couldn't be parsed.
  it-s-inftinftnantfsCouldn't parse float: %sN(tfloatRt_FLOAT_INFINITYRt
_FLOAT_NANR-(R((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyRs




cCs0|dkrtS|dkr tStd	d
S(
sParse a boolean value.

  Args:
    text: Text to parse.

  Returns:
    Boolean values parsed

  Raises:
    ValueError: If text is not a valid boolean.
  R{ttt1RSR|R9t0RTsExpected "true" or "false".N(R{R=R>RS(R|R9R?RT(RSRTR(R((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR s
cCs|j}yt|d}WnNtk
rl|jj|d}|dkrtd|j|fqniXt|jdr|jj	dkr|Sn|j
j|d}|dkrtd|j|fn|jS(s&Parse an enum value.

  The value can be specified by a number (the enum value), or by
  a string literal (the enum name).

  Args:
    field: Enum field descriptor.
    value: String value.

  Returns:
    Enum value number.

  Raises:
    ValueError: If the enum value could not be parsed.
  is%Enum type "%s" has no value named %s.RRs+Enum type "%s" has no value with number %d.N(R~R2Rtvalues_by_nameRRR_RtfileRRRl(R@RBtenum_descriptorRlR((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR(s 	
(DR
t
__author__R R*RRR2R5tgoogle.protobuf.internalRRDRRt__all__tUint32ValueCheckertInt32ValueCheckertUint64ValueCheckertInt64ValueCheckerR1R+t
IGNORECASER;R<t	frozensetR:t
CPPTYPE_FLOATtCPPTYPE_DOUBLERR%R`t	ExceptionR
RtobjectRRTRRRARRRRMR,RRRRRRRRRRt
_TokenizerRRRRRRR0R/RRRR R((((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyt<module>)s						)	

	/#@				V