From 02b40d56fd5b8a99c1b4d0f2e310d8aff19fb444 Mon Sep 17 00:00:00 2001 From: leancloud-bot Date: Thu, 26 May 2022 17:05:34 +0800 Subject: [PATCH] 0.10.12 --- Plugins.meta | 8 + Plugins/LC.Google.Protobuf.dll | Bin 0 -> 358912 bytes Plugins/LC.Google.Protobuf.dll.meta | 33 + Plugins/LC.Google.Protobuf.pdb | Bin 0 -> 142288 bytes Plugins/LC.Google.Protobuf.pdb.meta | 7 + Plugins/LC.Google.Protobuf.xml | 9125 +++++++++++++++++++++++++++ Plugins/LC.Google.Protobuf.xml.meta | 7 + Plugins/LiveQuery.deps.json | 111 + Plugins/LiveQuery.deps.json.meta | 7 + Plugins/LiveQuery.dll | Bin 0 -> 22016 bytes Plugins/LiveQuery.dll.meta | 33 + Plugins/LiveQuery.pdb | Bin 0 -> 12328 bytes Plugins/LiveQuery.pdb.meta | 7 + Plugins/Realtime.dll | Bin 0 -> 299008 bytes Plugins/Realtime.dll.meta | 33 + Plugins/Realtime.pdb | Bin 0 -> 105448 bytes Plugins/Realtime.pdb.meta | 7 + Plugins/link.xml | 10 + Plugins/link.xml.meta | 7 + package.json | 16 + package.json.meta | 7 + 21 files changed, 9418 insertions(+) create mode 100644 Plugins.meta create mode 100644 Plugins/LC.Google.Protobuf.dll create mode 100644 Plugins/LC.Google.Protobuf.dll.meta create mode 100644 Plugins/LC.Google.Protobuf.pdb create mode 100644 Plugins/LC.Google.Protobuf.pdb.meta create mode 100644 Plugins/LC.Google.Protobuf.xml create mode 100644 Plugins/LC.Google.Protobuf.xml.meta create mode 100644 Plugins/LiveQuery.deps.json create mode 100644 Plugins/LiveQuery.deps.json.meta create mode 100644 Plugins/LiveQuery.dll create mode 100644 Plugins/LiveQuery.dll.meta create mode 100644 Plugins/LiveQuery.pdb create mode 100644 Plugins/LiveQuery.pdb.meta create mode 100644 Plugins/Realtime.dll create mode 100644 Plugins/Realtime.dll.meta create mode 100644 Plugins/Realtime.pdb create mode 100644 Plugins/Realtime.pdb.meta create mode 100644 Plugins/link.xml create mode 100644 Plugins/link.xml.meta create mode 100644 package.json create mode 100644 package.json.meta diff --git a/Plugins.meta b/Plugins.meta new file mode 100644 index 0000000..6271850 --- /dev/null +++ b/Plugins.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d2859eadfdf5a46aa94a0f2a701adcbd +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/LC.Google.Protobuf.dll b/Plugins/LC.Google.Protobuf.dll new file mode 100644 index 0000000000000000000000000000000000000000..9f7148282a9fa88b7146410d8c44cfeb835b2f69 GIT binary patch literal 358912 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

=adF{`Cf|iN|i@s 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 literal 0 HcmV?d00001 diff --git a/Plugins/LC.Google.Protobuf.dll.meta b/Plugins/LC.Google.Protobuf.dll.meta new file mode 100644 index 0000000..e08873b --- /dev/null +++ b/Plugins/LC.Google.Protobuf.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 97a8f14b903fb4ddda61fb28914afaf8 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/LC.Google.Protobuf.pdb b/Plugins/LC.Google.Protobuf.pdb new file mode 100644 index 0000000000000000000000000000000000000000..24a1b678f34ffef29567eebc825c2a900da0d492 GIT binary patch literal 142288 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 QnQ`$|Wzn4Y#D4An0e>@U761SM literal 0 HcmV?d00001 diff --git a/Plugins/LC.Google.Protobuf.pdb.meta b/Plugins/LC.Google.Protobuf.pdb.meta new file mode 100644 index 0000000..b1d029b --- /dev/null +++ b/Plugins/LC.Google.Protobuf.pdb.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 8f3654e10898a485ea17f5a39a4018b4 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/LC.Google.Protobuf.xml b/Plugins/LC.Google.Protobuf.xml new file mode 100644 index 0000000..0a7b479 --- /dev/null +++ b/Plugins/LC.Google.Protobuf.xml @@ -0,0 +1,9125 @@ + + + + LC.Google.Protobuf + + + +

+ Provides a utility routine to copy small arrays much more quickly than Buffer.BlockCopy + + + + + The threshold above which you should use Buffer.BlockCopy rather than ByteArray.Copy + + + + + Determines which copy routine to use based on the number of bytes to be copied. + + + + + Reverses the order of bytes in the array + + + + + Immutable array of bytes. + + + + + Unsafe operations that can cause IO Failure and/or other catastrophic side-effects. + + + + + Constructs a new ByteString from the given byte array. The array is + *not* copied, and must not be modified after this constructor is called. + + + + + Internal use only. Ensure that the provided array is not mutated and belongs to this instance. + + + + + Constructs a new ByteString from the given byte array. The array is + *not* copied, and must not be modified after this constructor is called. + + + + + Returns an empty ByteString. + + + + + Returns the length of this ByteString in bytes. + + + + + Returns true if this byte string is empty, false otherwise. + + + + + Converts this into a byte array. + + The data is copied - changes to the returned array will not be reflected in this ByteString. + A byte array with the same data as this ByteString. + + + + Converts this into a standard base64 representation. + + A base64 representation of this ByteString. + + + + Constructs a from the Base64 Encoded String. + + + + + Constructs a from data in the given stream, synchronously. + + If successful, will be read completely, from the position + at the start of the call. + The stream to copy into a ByteString. + A ByteString with content read from the given stream. + + + + Constructs a from data in the given stream, asynchronously. + + If successful, will be read completely, from the position + at the start of the call. + The stream to copy into a ByteString. + The cancellation token to use when reading from the stream, if any. + A ByteString with content read from the given stream. + + + + Constructs a from the given array. The contents + are copied, so further modifications to the array will not + be reflected in the returned ByteString. + This method can also be invoked in ByteString.CopyFrom(0xaa, 0xbb, ...) form + which is primarily useful for testing. + + + + + Constructs a from a portion of a byte array. + + + + + Creates a new by encoding the specified text with + the given encoding. + + + + + Creates a new by encoding the specified text in UTF-8. + + + + + Retuns the byte at the given index. + + + + + Converts this into a string by applying the given encoding. + + + This method should only be used to convert binary data which was the result of encoding + text with the given encoding. + + The encoding to use to decode the binary data into text. + The result of decoding the binary data with the given decoding. + + + + Converts this into a string by applying the UTF-8 encoding. + + + This method should only be used to convert binary data which was the result of encoding + text with UTF-8. + + The result of decoding the binary data with the given decoding. + + + + Returns an iterator over the bytes in this . + + An iterator over the bytes in this object. + + + + Returns an iterator over the bytes in this . + + An iterator over the bytes in this object. + + + + Creates a CodedInputStream from this ByteString's data. + + + + + Compares two byte strings for equality. + + The first byte string to compare. + The second byte string to compare. + true if the byte strings are equal; false otherwise. + + + + Compares two byte strings for inequality. + + The first byte string to compare. + The second byte string to compare. + false if the byte strings are equal; true otherwise. + + + + Compares this byte string with another object. + + The object to compare this with. + true if refers to an equal ; false otherwise. + + + + Returns a hash code for this object. Two equal byte strings + will return the same hash code. + + A hash code for this object. + + + + Compares this byte string with another. + + The to compare this with. + true if refers to an equal byte string; false otherwise. + + + + Used internally by CodedOutputStream to avoid creating a copy for the write + + + + + Copies the entire byte array to the destination array provided at the offset specified. + + + + + Writes the entire byte array to the provided stream + + + + + Reads and decodes protocol message fields. + + + + This class is generally used by generated code to read appropriate + primitives from the stream. It effectively encapsulates the lowest + levels of protocol buffer format. + + + Repeated fields and map fields are not handled by this class; use + and to serialize such fields. + + + + + + Whether to leave the underlying stream open when disposing of this stream. + This is always true when there's no stream. + + + + + Buffer of data read from the stream or provided at construction time. + + + + + The index of the buffer at which we need to refill from the stream (if there is one). + + + + + The position within the current buffer (i.e. the next byte to read) + + + + + The stream to read further input from, or null if the byte array buffer was provided + directly on construction, with no further data available. + + + + + The last tag we read. 0 indicates we've read to the end of the stream + (or haven't read anything yet). + + + + + The next tag, used to store the value read by PeekTag. + + + + + The total number of bytes read before the current buffer. The + total bytes read up to the current position can be computed as + totalBytesRetired + bufferPos. + + + + + The absolute position of the end of the current message. + + + + + Creates a new CodedInputStream reading data from the given byte array. + + + + + Creates a new that reads from the given byte array slice. + + + + + Creates a new reading data from the given stream, which will be disposed + when the returned object is disposed. + + The stream to read from. + + + + Creates a new reading data from the given stream. + + The stream to read from. + true to leave open when the returned + is disposed; false to dispose of the given stream when the + returned object is disposed. + + + + Creates a new CodedInputStream reading data from the given + stream and buffer, using the default limits. + + + + + Creates a new CodedInputStream reading data from the given + stream and buffer, using the specified limits. + + + This chains to the version with the default limits instead of vice versa to avoid + having to check that the default values are valid every time. + + + + + Creates a with the specified size and recursion limits, reading + from an input stream. + + + This method exists separately from the constructor to reduce the number of constructor overloads. + It is likely to be used considerably less frequently than the constructors, as the default limits + are suitable for most use cases. + + The input stream to read from + The total limit of data to read from the stream. + The maximum recursion depth to allow while reading. + A CodedInputStream reading from with the specified size + and recursion limits. + + + + Returns the current position in the input stream, or the position in the input buffer + + + + + Returns the last tag read, or 0 if no tags have been read or we've read beyond + the end of the stream. + + + + + Returns the size limit for this stream. + + + This limit is applied when reading from the underlying stream, as a sanity check. It is + not applied when reading from a byte array data source without an underlying stream. + The default value is Int32.MaxValue. + + + The size limit. + + + + + Returns the recursion limit for this stream. This limit is applied whilst reading messages, + to avoid maliciously-recursive data. + + + The default limit is 100. + + + The recursion limit for this stream. + + + + + Internal-only property; when set to true, unknown fields will be discarded while parsing. + + + + + Internal-only property; provides extension identifiers to compatible messages while parsing. + + + + + Disposes of this instance, potentially closing any underlying stream. + + + As there is no flushing to perform here, disposing of a which + was constructed with the leaveOpen option parameter set to true (or one which + was constructed to read from a byte array) has no effect. + + + + + Verifies that the last call to ReadTag() returned tag 0 - in other words, + we've reached the end of the stream when we expected to. + + The + tag read was not the one specified + + + + Peeks at the next field tag. This is like calling , but the + tag is not consumed. (So a subsequent call to will return the + same value.) + + + + + Reads a field tag, returning the tag of 0 for "end of stream". + + + If this method returns 0, it doesn't necessarily mean the end of all + the data in this CodedInputStream; it may be the end of the logical stream + for an embedded message, for example. + + The next field tag, or 0 for end of stream. (0 is never a valid tag.) + + + + Skips the data for the field with the tag we've just read. + This should be called directly after , when + the caller wishes to skip an unknown field. + + + This method throws if the last-read tag was an end-group tag. + If a caller wishes to skip a group, they should skip the whole group, by calling this method after reading the + start-group tag. This behavior allows callers to call this method on any field they don't understand, correctly + resulting in an error if an end-group tag has not been paired with an earlier start-group tag. + + The last tag was an end-group tag + The last read operation read to the end of the logical stream + + + + Skip a group. + + + + + Reads a double field from the stream. + + + + + Reads a float field from the stream. + + + + + Reads a uint64 field from the stream. + + + + + Reads an int64 field from the stream. + + + + + Reads an int32 field from the stream. + + + + + Reads a fixed64 field from the stream. + + + + + Reads a fixed32 field from the stream. + + + + + Reads a bool field from the stream. + + + + + Reads a string field from the stream. + + + + + Reads an embedded message field value from the stream. + + + + + Reads an embedded group field from the stream. + + + + + Reads an embedded group unknown field from the stream. + + + + + Reads a bytes field value from the stream. + + + + + Reads a uint32 field value from the stream. + + + + + Reads an enum field value from the stream. + + + + + Reads an sfixed32 field value from the stream. + + + + + Reads an sfixed64 field value from the stream. + + + + + Reads an sint32 field value from the stream. + + + + + Reads an sint64 field value from the stream. + + + + + Reads a length for length-delimited data. + + + This is internally just reading a varint, but this method exists + to make the calling code clearer. + + + + + Peeks at the next tag in the stream. If it matches , + the tag is consumed and the method returns true; otherwise, the + stream is left in the original position and the method returns false. + + + + + Same code as ReadRawVarint32, but read each byte individually, checking for + buffer overflow. + + + + + Reads a raw Varint from the stream. If larger than 32 bits, discard the upper bits. + This method is optimised for the case where we've got lots of data in the buffer. + That means we can check the size just once, then just read directly from the buffer + without constant rechecking of the buffer length. + + + + + Reads a varint from the input one byte at a time, so that it does not + read any bytes after the end of the varint. If you simply wrapped the + stream in a CodedInputStream and used ReadRawVarint32(Stream) + then you would probably end up reading past the end of the varint since + CodedInputStream buffers its input. + + + + + + + Reads a raw varint from the stream. + + + + + Reads a 32-bit little-endian integer from the stream. + + + + + Reads a 64-bit little-endian integer from the stream. + + + + + Decode a 32-bit value with ZigZag encoding. + + + ZigZag encodes signed integers into values that can be efficiently + encoded with varint. (Otherwise, negative values must be + sign-extended to 64 bits to be varint encoded, thus always taking + 10 bytes on the wire.) + + + + + Decode a 32-bit value with ZigZag encoding. + + + ZigZag encodes signed integers into values that can be efficiently + encoded with varint. (Otherwise, negative values must be + sign-extended to 64 bits to be varint encoded, thus always taking + 10 bytes on the wire.) + + + + + Sets currentLimit to (current position) + byteLimit. This is called + when descending into a length-delimited embedded message. The previous + limit is returned. + + The old limit. + + + + Discards the current limit, returning the previous limit. + + + + + Returns whether or not all the data before the limit has been read. + + + + + + Returns true if the stream has reached the end of the input. This is the + case if either the end of the underlying input source has been reached or + the stream has reached a limit created using PushLimit. + + + + + Called when buffer is empty to read more bytes from the + input. If is true, RefillBuffer() gurantees that + either there will be at least one byte in the buffer when it returns + or it will throw an exception. If is false, + RefillBuffer() returns false if no more bytes were available. + + + + + + + Read one byte from the input. + + + the end of the stream or the current limit was reached + + + + + Reads a fixed size of bytes from the input. + + + the end of the stream or the current limit was reached + + + + + Reads and discards bytes. + + the end of the stream + or the current limit was reached + + + + Abstraction of skipping to cope with streams which can't really skip. + + + + + Encodes and writes protocol message fields. + + + + This class is generally used by generated code to write appropriate + primitives to the stream. It effectively encapsulates the lowest + levels of protocol buffer format. Unlike some other implementations, + this does not include combined "write tag and value" methods. Generated + code knows the exact byte representations of the tags they're going to write, + so there's no need to re-encode them each time. Manually-written code calling + this class should just call one of the WriteTag overloads before each value. + + + Repeated fields and map fields are not handled by this class; use RepeatedField<T> + and MapField<TKey, TValue> to serialize such fields. + + + + + + Computes the number of bytes that would be needed to encode a + double field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + float field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + uint64 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode an + int64 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode an + int32 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + fixed64 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + fixed32 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + bool field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + string field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + group field, including the tag. + + + + + Computes the number of bytes that would be needed to encode an + embedded message field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + bytes field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + uint32 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + enum field, including the tag. The caller is responsible for + converting the enum value to its numeric value. + + + + + Computes the number of bytes that would be needed to encode an + sfixed32 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode an + sfixed64 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode an + sint32 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode an + sint64 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a length, + as written by . + + + + + Computes the number of bytes that would be needed to encode a varint. + + + + + Computes the number of bytes that would be needed to encode a varint. + + + + + Computes the number of bytes that would be needed to encode a tag. + + + + + The buffer size used by CreateInstance(Stream). + + + + + Creates a new CodedOutputStream that writes directly to the given + byte array. If more bytes are written than fit in the array, + OutOfSpaceException will be thrown. + + + + + Creates a new CodedOutputStream that writes directly to the given + byte array slice. If more bytes are written than fit in the array, + OutOfSpaceException will be thrown. + + + + + Creates a new which write to the given stream, and disposes of that + stream when the returned CodedOutputStream is disposed. + + The stream to write to. It will be disposed when the returned CodedOutputStream is disposed. + + + + Creates a new CodedOutputStream which write to the given stream and uses + the specified buffer size. + + The stream to write to. It will be disposed when the returned CodedOutputStream is disposed. + The size of buffer to use internally. + + + + Creates a new CodedOutputStream which write to the given stream. + + The stream to write to. + If true, is left open when the returned CodedOutputStream is disposed; + if false, the provided stream is disposed as well. + + + + Creates a new CodedOutputStream which write to the given stream and uses + the specified buffer size. + + The stream to write to. + The size of buffer to use internally. + If true, is left open when the returned CodedOutputStream is disposed; + if false, the provided stream is disposed as well. + + + + Returns the current position in the stream, or the position in the output buffer + + + + + Writes a double field value, without a tag, to the stream. + + The value to write + + + + Writes a float field value, without a tag, to the stream. + + The value to write + + + + Writes a uint64 field value, without a tag, to the stream. + + The value to write + + + + Writes an int64 field value, without a tag, to the stream. + + The value to write + + + + Writes an int32 field value, without a tag, to the stream. + + The value to write + + + + Writes a fixed64 field value, without a tag, to the stream. + + The value to write + + + + Writes a fixed32 field value, without a tag, to the stream. + + The value to write + + + + Writes a bool field value, without a tag, to the stream. + + The value to write + + + + Writes a string field value, without a tag, to the stream. + The data is length-prefixed. + + The value to write + + + + Writes a message, without a tag, to the stream. + The data is length-prefixed. + + The value to write + + + + Writes a group, without a tag, to the stream. + + The value to write + + + + Write a byte string, without a tag, to the stream. + The data is length-prefixed. + + The value to write + + + + Writes a uint32 value, without a tag, to the stream. + + The value to write + + + + Writes an enum value, without a tag, to the stream. + + The value to write + + + + Writes an sfixed32 value, without a tag, to the stream. + + The value to write. + + + + Writes an sfixed64 value, without a tag, to the stream. + + The value to write + + + + Writes an sint32 value, without a tag, to the stream. + + The value to write + + + + Writes an sint64 value, without a tag, to the stream. + + The value to write + + + + Writes a length (in bytes) for length-delimited data. + + + This method simply writes a rawint, but exists for clarity in calling code. + + Length value, in bytes. + + + + Encodes and writes a tag. + + The number of the field to write the tag for + The wire format type of the tag to write + + + + Writes an already-encoded tag. + + The encoded tag + + + + Writes the given single-byte tag directly to the stream. + + The encoded tag + + + + Writes the given two-byte tag directly to the stream. + + The first byte of the encoded tag + The second byte of the encoded tag + + + + Writes the given three-byte tag directly to the stream. + + The first byte of the encoded tag + The second byte of the encoded tag + The third byte of the encoded tag + + + + Writes the given four-byte tag directly to the stream. + + The first byte of the encoded tag + The second byte of the encoded tag + The third byte of the encoded tag + The fourth byte of the encoded tag + + + + Writes the given five-byte tag directly to the stream. + + The first byte of the encoded tag + The second byte of the encoded tag + The third byte of the encoded tag + The fourth byte of the encoded tag + The fifth byte of the encoded tag + + + + Writes a 32 bit value as a varint. The fast route is taken when + there's enough buffer space left to whizz through without checking + for each byte; otherwise, we resort to calling WriteRawByte each time. + + + + + Writes out an array of bytes. + + + + + Writes out part of an array of bytes. + + + + + Encode a 32-bit value with ZigZag encoding. + + + ZigZag encodes signed integers into values that can be efficiently + encoded with varint. (Otherwise, negative values must be + sign-extended to 64 bits to be varint encoded, thus always taking + 10 bytes on the wire.) + + + + + Encode a 64-bit value with ZigZag encoding. + + + ZigZag encodes signed integers into values that can be efficiently + encoded with varint. (Otherwise, negative values must be + sign-extended to 64 bits to be varint encoded, thus always taking + 10 bytes on the wire.) + + + + + Indicates that a CodedOutputStream wrapping a flat byte array + ran out of space. + + + + + Flushes any buffered data and optionally closes the underlying stream, if any. + + + + By default, any underlying stream is closed by this method. To configure this behaviour, + use a constructor overload with a leaveOpen parameter. If this instance does not + have an underlying stream, this method does nothing. + + + For the sake of efficiency, calling this method does not prevent future write calls - but + if a later write ends up writing to a stream which has been disposed, that is likely to + fail. It is recommend that you not call any other methods after this. + + + + + + Flushes any buffered data to the underlying stream (if there is one). + + + + + Verifies that SpaceLeft returns zero. It's common to create a byte array + that is exactly big enough to hold a message, then write to it with + a CodedOutputStream. Calling CheckNoSpaceLeft after writing verifies that + the message was actually as big as expected, which can help bugs. + + + + + If writing to a flat array, returns the space left in the array. Otherwise, + throws an InvalidOperationException. + + + + + Utility to compare if two Lists are the same, and the hash code + of a List. + + + + + Checks if two lists are equal. + + + + + Gets the list's hash code. + + + + + Representation of a map field in a Protocol Buffer message. + + Key type in the map. Must be a type supported by Protocol Buffer map keys. + Value type in the map. Must be a type supported by Protocol Buffers. + + + For string keys, the equality comparison is provided by . + + + Null values are not permitted in the map, either for wrapper types or regular messages. + If a map is deserialized from a data stream and the value is missing from an entry, a default value + is created instead. For primitive types, that is the regular default value (0, the empty string and so + on); for message types, an empty instance of the message is created, as if the map entry contained a 0-length + encoded value for the field. + + + This implementation does not generally prohibit the use of key/value types which are not + supported by Protocol Buffers (e.g. using a key type of byte) but nor does it guarantee + that all operations will work in such cases. + + + The order in which entries are returned when iterating over this object is undefined, and may change + in future versions. + + + + + + Creates a deep clone of this object. + + + A deep clone of this object. + + + + + Adds the specified key/value pair to the map. + + + This operation fails if the key already exists in the map. To replace an existing entry, use the indexer. + + The key to add + The value to add. + The given key already exists in map. + + + + Determines whether the specified key is present in the map. + + The key to check. + true if the map contains the given key; false otherwise. + + + + Removes the entry identified by the given key from the map. + + The key indicating the entry to remove from the map. + true if the map contained the given key before the entry was removed; false otherwise. + + + + Gets the value associated with the specified key. + + The key whose value to get. + When this method returns, the value associated with the specified key, if the key is found; + otherwise, the default value for the type of the parameter. + This parameter is passed uninitialized. + true if the map contains an element with the specified key; otherwise, false. + + + + Gets or sets the value associated with the specified key. + + The key of the value to get or set. + The property is retrieved and key does not exist in the collection. + The value associated with the specified key. If the specified key is not found, + a get operation throws a , and a set operation creates a new element with the specified key. + + + + Gets a collection containing the keys in the map. + + + + + Gets a collection containing the values in the map. + + + + + Adds the specified entries to the map. The keys and values are not automatically cloned. + + The entries to add to the map. + + + + Returns an enumerator that iterates through the collection. + + + An enumerator that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Adds the specified item to the map. + + The item to add to the map. + + + + Removes all items from the map. + + + + + Determines whether map contains an entry equivalent to the given key/value pair. + + The key/value pair to find. + + + + + Copies the key/value pairs in this map to an array. + + The array to copy the entries into. + The index of the array at which to start copying values. + + + + Removes the specified key/value pair from the map. + + Both the key and the value must be found for the entry to be removed. + The key/value pair to remove. + true if the key/value pair was found and removed; false otherwise. + + + + Gets the number of elements contained in the map. + + + + + Gets a value indicating whether the map is read-only. + + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Compares this map with another for equality. + + + The order of the key/value pairs in the maps is not deemed significant in this comparison. + + The map to compare this with. + true if refers to an equal map; false otherwise. + + + + Adds entries to the map from the given stream. + + + It is assumed that the stream is initially positioned after the tag specified by the codec. + This method will continue reading entries from the stream until the end is reached, or + a different tag is encountered. + + Stream to read from + Codec describing how the key/value pairs are encoded + + + + Writes the contents of this map to the given coded output stream, using the specified codec + to encode each entry. + + The output stream to write to. + The codec to use for each entry. + + + + Calculates the size of this map based on the given entry codec. + + The codec to use to encode each entry. + + + + + Returns a string representation of this repeated field, in the same + way as it would be represented by the default JSON formatter. + + + + + A codec for a specific map field. This contains all the information required to encode and + decode the nested messages. + + + + + Creates a new entry codec based on a separate key codec and value codec, + and the tag to use for each map entry. + + The key codec. + The value codec. + The map tag to use to introduce each map entry. + + + + The tag used in the enclosing message to indicate map entries. + + + + + A mutable message class, used for parsing and serializing. This + delegates the work to a codec, but implements the interface + for interop with and . + This is nested inside Codec as it's tightly coupled to the associated codec, + and it's simpler if it has direct access to all its fields. + + + + + Provides a central place to implement equality comparisons, primarily for bitwise float/double equality. + + + + + Returns an equality comparer for suitable for Protobuf equality comparisons. + This is usually just the default equality comparer for the type, but floating point numbers are compared + bitwise. + + The type of equality comparer to return. + The equality comparer. + + + + Returns an equality comparer suitable for comparing 64-bit floating point values, by bitwise comparison. + (NaN values are considered equal, but only when they have the same representation.) + + + + + Returns an equality comparer suitable for comparing 32-bit floating point values, by bitwise comparison. + (NaN values are considered equal, but only when they have the same representation.) + + + + + Returns an equality comparer suitable for comparing nullable 64-bit floating point values, by bitwise comparison. + (NaN values are considered equal, but only when they have the same representation.) + + + + + Returns an equality comparer suitable for comparing nullable 32-bit floating point values, by bitwise comparison. + (NaN values are considered equal, but only when they have the same representation.) + + + + + Read-only wrapper around another dictionary. + + + + + The contents of a repeated field: essentially, a collection with some extra + restrictions (no null values) and capabilities (deep cloning). + + + This implementation does not generally prohibit the use of types which are not + supported by Protocol Buffers but nor does it guarantee that all operations will work in such cases. + + The element type of the repeated field. + + + + Creates a deep clone of this repeated field. + + + If the field type is + a message type, each element is also cloned; otherwise, it is + assumed that the field type is primitive (including string and + bytes, both of which are immutable) and so a simple copy is + equivalent to a deep clone. + + A deep clone of this repeated field. + + + + Adds the entries from the given input stream, decoding them with the specified codec. + + The input stream to read from. + The codec to use in order to read each entry. + + + + Calculates the size of this collection based on the given codec. + + The codec to use when encoding each field. + The number of bytes that would be written to a by , + using the same codec. + + + + Writes the contents of this collection to the given , + encoding each value using the specified codec. + + The output stream to write to. + The codec to use when encoding each value. + + + + Gets and sets the capacity of the RepeatedField's internal array. WHen set, the internal array is reallocated to the given capacity. + The new value is less than Count -or- when Count is less than 0. + + + + + Adds the specified item to the collection. + + The item to add. + + + + Removes all items from the collection. + + + + + Determines whether this collection contains the given item. + + The item to find. + true if this collection contains the given item; false otherwise. + + + + Copies this collection to the given array. + + The array to copy to. + The first index of the array to copy to. + + + + Removes the specified item from the collection + + The item to remove. + true if the item was found and removed; false otherwise. + + + + Gets the number of elements contained in the collection. + + + + + Gets a value indicating whether the collection is read-only. + + + + + Adds all of the specified values into this collection. + + The values to add to this collection. + + + + Adds all of the specified values into this collection. This method is present to + allow repeated fields to be constructed from queries within collection initializers. + Within non-collection-initializer code, consider using the equivalent + method instead for clarity. + + The values to add to this collection. + + + + Returns an enumerator that iterates through the collection. + + + An enumerator that can be used to iterate through the collection. + + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Compares this repeated field with another for equality. + + The repeated field to compare this with. + true if refers to an equal repeated field; false otherwise. + + + + Returns the index of the given item within the collection, or -1 if the item is not + present. + + The item to find in the collection. + The zero-based index of the item, or -1 if it is not found. + + + + Inserts the given item at the specified index. + + The index at which to insert the item. + The item to insert. + + + + Removes the item at the given index. + + The zero-based index of the item to remove. + + + + Returns a string representation of this repeated field, in the same + way as it would be represented by the default JSON formatter. + + + + + Gets or sets the item at the specified index. + + + The element at the specified index. + + The zero-based index of the element to get or set. + The item at the specified index. + + + + Extension methods for , effectively providing + the familiar members from previous desktop framework versions while + targeting the newer releases, .NET Core etc. + + + + + Returns the public getter of a property, or null if there is no such getter + (either because it's read-only, or the getter isn't public). + + + + + Returns the public setter of a property, or null if there is no such setter + (either because it's write-only, or the setter isn't public). + + + + + Provides extension methods on Type that just proxy to TypeInfo. + These are used to support the new type system from .NET 4.5, without + having calls to GetTypeInfo all over the place. While the methods here are meant to be + broadly compatible with the desktop framework, there are some subtle differences in behaviour - but + they're not expected to affect our use cases. While the class is internal, that should be fine: we can + evaluate each new use appropriately. + + + + + See https://msdn.microsoft.com/en-us/library/system.type.isassignablefrom + + + + + Returns a representation of the public property associated with the given name in the given type, + including inherited properties or null if there is no such public property. + Here, "public property" means a property where either the getter, or the setter, or both, is public. + + + + + Returns a representation of the public method associated with the given name in the given type, + including inherited methods. + + + This has a few differences compared with Type.GetMethod in the desktop framework. It will throw + if there is an ambiguous match even between a private method and a public one, but it *won't* throw + if there are two overloads at different levels in the type hierarchy (e.g. class Base declares public void Foo(int) and + class Child : Base declares public void Foo(long)). + + One type in the hierarchy declared more than one method with the same name + + + + Represents a non-generic extension definition. This API is experimental and subject to change. + + + + + Internal use. Creates a new extension with the specified field number. + + + + + Gets the field number of this extension + + + + + Represents a type-safe extension identifier used for getting and setting single extension values in instances. + This API is experimental and subject to change. + + The message type this field applies to + The field value type of this extension + + + + Creates a new extension identifier with the specified field number and codec + + + + + Represents a type-safe extension identifier used for getting repeated extension values in instances. + This API is experimental and subject to change. + + The message type this field applies to + The repeated field value type of this extension + + + + Creates a new repeated extension identifier with the specified field number and codec + + + + + Provides extensions to messages while parsing. This API is experimental and subject to change. + + + + + Creates a new empty extension registry + + + + + Gets the total number of extensions in this extension registry + + + + + Returns whether the registry is readonly + + + + + Adds the specified extension to the registry + + + + + Adds the specified extensions to the registry + + + + + Clears the registry of all values + + + + + Gets whether the extension registry contains the specified extension + + + + + Copies the arrays in the registry set to the specified array at the specified index + + The array to copy to + The array index to start at + + + + Returns an enumerator to enumerate through the items in the registry + + Returns an enumerator for the extensions in this registry + + + + Removes the specified extension from the set + + The extension + true if the extension was removed, otherwise false + + + + Clones the registry into a new registry + + + + + Methods for managing s with null checking. + + Most users will not use this class directly and its API is experimental and subject to change. + + + + + Gets the value of the specified extension + + + + + Gets the value of the specified repeated extension or null if it doesn't exist in this set + + + + + Gets the value of the specified repeated extension, registering it if it doesn't exist + + + + + Sets the value of the specified extension. This will make a new instance of ExtensionSet if the set is null. + + + + + Gets whether the value of the specified extension is set + + + + + Clears the value of the specified extension + + + + + Clears the value of the specified extension + + + + + Tries to merge a field from the coded input, returning true if the field was merged. + If the set is null or the field was not otherwise merged, this returns false. + + + + + Merges the second set into the first set, creating a new instance if first is null + + + + + Clones the set into a new set. If the set is null, this returns null + + + + + Used for keeping track of extensions in messages. + methods route to this set. + + Most users will not need to use this class directly + + The message type that extensions in this set target + + + + Gets a hash code of the set + + + + + Returns whether this set is equal to the other object + + + + + Calculates the size of this extension set + + + + + Writes the extension values in this set to the output stream + + + + + Factory methods for . + + + + + Retrieves a codec suitable for a string field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a bytes field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a bool field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an int32 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an sint32 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a fixed32 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an sfixed32 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a uint32 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an int64 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an sint64 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a fixed64 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an sfixed64 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a uint64 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a float field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a double field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an enum field with the given tag. + + The tag. + A conversion function from to the enum type. + A conversion function from the enum type to . + A codec for the given tag. + + + + Retrieves a codec suitable for a string field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a bytes field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a bool field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an int32 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an sint32 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a fixed32 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an sfixed32 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a uint32 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an int64 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an sint64 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a fixed64 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an sfixed64 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a uint64 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a float field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a double field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an enum field with the given tag. + + The tag. + A conversion function from to the enum type. + A conversion function from the enum type to . + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a message field with the given tag. + + The tag. + A parser to use for the message type. + A codec for the given tag. + + + + Retrieves a codec suitable for a group field with the given tag. + + The start group tag. + The end group tag. + A parser to use for the group message type. + A codec for given tag + + + + Creates a codec for a wrapper type of a class - which must be string or ByteString. + + + + + Creates a codec for a wrapper type of a struct - which must be Int32, Int64, UInt32, UInt64, + Bool, Single or Double. + + + + + Helper code to create codecs for wrapper types. + + + Somewhat ugly with all the static methods, but the conversions involved to/from nullable types make it + slightly tricky to improve. So long as we keep the public API (ForClassWrapper, ForStructWrapper) in place, + we can refactor later if we come up with something cleaner. + + + + + Returns a field codec which effectively wraps a value of type T in a message. + + + + + + + An encode/decode pair for a single field. This effectively encapsulates + all the information needed to read or write the field value from/to a coded + stream. + + + This class is public and has to be as it is used by generated code, but its public + API is very limited - just what the generated code needs to call directly. + + + + This never writes default values to the stream, and does not address "packedness" + in repeated fields itself, other than to know whether or not the field *should* be packed. + + + + + Merges an input stream into a value + + + + + Merges a value into a reference to another value, returning a boolean if the value was set + + + + + Returns a delegate to write a value (unconditionally) to a coded output stream. + + + + + Returns the size calculator for just a value. + + + + + Returns a delegate to read a value from a coded input stream. It is assumed that + the stream is already positioned on the appropriate tag. + + + + + Returns a delegate to merge a value from a coded input stream. + It is assumed that the stream is already positioned on the appropriate tag + + + + + Returns a delegate to merge two values together. + + + + + Returns the fixed size for an entry, or 0 if sizes vary. + + + + + Gets the tag of the codec. + + + The tag of the codec. + + + + + Gets the end tag of the codec or 0 if there is no end tag + + + The end tag of the codec. + + + + + Default value for this codec. Usually the same for every instance of the same type, but + for string/ByteString wrapper fields the codec's default value is null, whereas for + other string/ByteString fields it's "" or ByteString.Empty. + + + The default value of the codec's type. + + + + + Write a tag and the given value, *if* the value is not the default. + + + + + Reads a value of the codec type from the given . + + The input stream to read from. + The value read from the stream. + + + + Calculates the size required to write the given value, with a tag, + if the value is not the default. + + + + + A tree representation of a FieldMask. Each leaf node in this tree represent + a field path in the FieldMask. + + For example, FieldMask "foo.bar,foo.baz,bar.baz" as a tree will be: + + [root] -+- foo -+- bar + | | + | +- baz + | + +- bar --- baz + + + By representing FieldMasks with this tree structure we can easily convert + a FieldMask to a canonical form, merge two FieldMasks, calculate the + intersection to two FieldMasks and traverse all fields specified by the + FieldMask in a message tree. + + + + + Creates an empty FieldMaskTree. + + + + + Creates a FieldMaskTree for a given FieldMask. + + + + + Adds a field path to the tree. In a FieldMask, every field path matches the + specified field as well as all its sub-fields. For example, a field path + "foo.bar" matches field "foo.bar" and also "foo.bar.baz", etc. When adding + a field path to the tree, redundant sub-paths will be removed. That is, + after adding "foo.bar" to the tree, "foo.bar.baz" will be removed if it + exists, which will turn the tree node for "foo.bar" to a leaf node. + Likewise, if the field path to add is a sub-path of an existing leaf node, + nothing will be changed in the tree. + + + + + Merges all field paths in a FieldMask into this tree. + + + + + Converts this tree to a FieldMask. + + + + + Gathers all field paths in a sub-tree. + + + + + Adds the intersection of this tree with the given to . + + + + + Merges all fields specified by this FieldMaskTree from to . + + + + + Merges all fields specified by a sub-tree from to . + + + + + Class containing helpful workarounds for various platform compatibility + + + + + A message type that has a custom string format for diagnostic purposes. + + + + Calling on a generated message type normally + returns the JSON representation. If a message type implements this interface, + then the method will be called instead of the regular + JSON formatting code, but only when ToString() is called either on the message itself + or on another message which contains it. This does not affect the normal JSON formatting of + the message. + + + For example, if you create a proto message representing a GUID, the internal + representation may be a bytes field or four fixed32 fields. However, when debugging + it may be more convenient to see a result in the same format as provides. + + This interface extends to avoid it accidentally being implemented + on types other than messages, where it would not be used by anything in the framework. + + + + + Returns a string representation of this object, for diagnostic purposes. + + + This method is called when a message is formatted as part of a + call. It does not affect the JSON representation used by other than + in calls to . While it is recommended + that the result is valid JSON, this is never assumed by the Protobuf library. + + A string representation of this object, for diagnostic purposes. + + + + Generic interface for a deeply cloneable type. + + + + All generated messages implement this interface, but so do some non-message types. + Additionally, due to the type constraint on T in , + it is simpler to keep this as a separate interface. + + + The type itself, returned by the method. + + + + Creates a deep clone of this object. + + A deep clone of this object. + + + + Generic interface for a Protocol Buffers message containing one or more extensions, where the type parameter is expected to be the same type as the implementation class. + This interface is experiemental and is subject to change. + + + + + Gets the value of the specified extension + + + + + Gets the value of the specified repeated extension or null if the extension isn't registered in this set. + For a version of this method that never returns null, use + + + + + Gets the value of the specified repeated extension, registering it if it hasn't already been registered. + + + + + Sets the value of the specified extension + + + + + Gets whether the value of the specified extension is set + + + + + Clears the value of the specified extension + + + + + Clears the value of the specified repeated extension + + + + + Interface for a Protocol Buffers message, supporting + basic operations required for serialization. + + + + + Merges the data from the specified coded input stream with the current message. + + See the user guide for precise merge semantics. + + + + + Writes the data to the given coded output stream. + + Coded output stream to write the data to. Must not be null. + + + + Calculates the size of this message in Protocol Buffer wire format, in bytes. + + The number of bytes required to write this message + to a coded output stream. + + + + Descriptor for this message. All instances are expected to return the same descriptor, + and for generated types this will be an explicitly-implemented member, returning the + same value as the static property declared on the type. + + + + + Generic interface for a Protocol Buffers message, + where the type parameter is expected to be the same type as + the implementation class. + + The message type. + + + + Merges the given message into this one. + + See the user guide for precise merge semantics. + The message to merge with this one. Must not be null. + + + + Thrown when an attempt is made to parse invalid JSON, e.g. using + a non-string property key, or including a redundant comma. Parsing a protocol buffer + message represented in JSON using can throw both this + exception and depending on the situation. This + exception is only thrown for "pure JSON" errors, whereas InvalidProtocolBufferException + is thrown when the JSON may be valid in and of itself, but cannot be parsed as a protocol buffer + message. + + + + + Thrown when a protocol message being parsed is invalid in some way, + e.g. it contains a malformed varint or a negative byte length. + + + + + Creates an exception for an error condition of an invalid tag being encountered. + + + + + Reflection-based converter from messages to JSON. + + + + Instances of this class are thread-safe, with no mutable state. + + + This is a simple start to get JSON formatting working. As it's reflection-based, + it's not as quick as baking calls into generated messages - but is a simpler implementation. + (This code is generally not heavily optimized.) + + + + + + Returns a formatter using the default settings. + + + + + The JSON representation of the first 160 characters of Unicode. + Empty strings are replaced by the static constructor. + + + + + Creates a new formatted with the given settings. + + The settings. + + + + Formats the specified message as JSON. + + The message to format. + The formatted message. + + + + Formats the specified message as JSON. + + The message to format. + The TextWriter to write the formatted message to. + The formatted message. + + + + Converts a message to JSON for diagnostic purposes with no extra context. + + + + This differs from calling on the default JSON + formatter in its handling of . As no type registry is available + in calls, the normal way of resolving the type of + an Any message cannot be applied. Instead, a JSON property named @value + is included with the base64 data from the property of the message. + + The value returned by this method is only designed to be used for diagnostic + purposes. It may not be parsable by , and may not be parsable + by other Protocol Buffer implementations. + + The message to format for diagnostic purposes. + The diagnostic-only JSON representation of the message + + + + Writes a single value to the given writer as JSON. Only types understood by + Protocol Buffers can be written in this way. This method is only exposed for + advanced use cases; most users should be using + or . + + The writer to write the value to. Must not be null. + The value to write. May be null. + + + + Central interception point for well-known type formatting. Any well-known types which + don't need special handling can fall back to WriteMessage. We avoid assuming that the + values are using the embedded well-known types, in order to allow for dynamic messages + in the future. + + + + + Writes a string (including leading and trailing double quotes) to a builder, escaping as required. + + + Other than surrogate pair handling, this code is mostly taken from src/google/protobuf/util/internal/json_escaping.cc. + + + + + Settings controlling JSON formatting. + + + + + Default settings, as used by + + + + + Whether fields whose values are the default for the field type (e.g. 0 for integers) + should be formatted (true) or omitted (false). + + + + + The type registry used to format messages. + + + + + Whether to format enums as ints. Defaults to false. + + + + + Creates a new object with the specified formatting of default values + and an empty type registry. + + true if default values (0, empty strings etc) should be formatted; false otherwise. + + + + Creates a new object with the specified formatting of default values + and type registry. + + true if default values (0, empty strings etc) should be formatted; false otherwise. + The to use when formatting messages. + + + + Creates a new object with the specified parameters. + + true if default values (0, empty strings etc) should be formatted; false otherwise. + The to use when formatting messages. TypeRegistry.Empty will be used if it is null. + true to format the enums as integers; false to format enums as enum names. + + + + Creates a new object with the specified formatting of default values and the current settings. + + true if default values (0, empty strings etc) should be formatted; false otherwise. + + + + Creates a new object with the specified type registry and the current settings. + + The to use when formatting messages. + + + + Creates a new object with the specified enums formatting option and the current settings. + + true to format the enums as integers; false to format enums as enum names. + + + + Reflection-based converter from JSON to messages. + + + + Instances of this class are thread-safe, with no mutable state. + + + This is a simple start to get JSON parsing working. As it's reflection-based, + it's not as quick as baking calls into generated messages - but is a simpler implementation. + (This code is generally not heavily optimized.) + + + + + + Returns a formatter using the default settings. + + + + + Creates a new formatted with the given settings. + + The settings. + + + + Parses and merges the information into the given message. + + The message to merge the JSON information into. + The JSON to parse. + + + + Parses JSON read from and merges the information into the given message. + + The message to merge the JSON information into. + Reader providing the JSON to parse. + + + + Merges the given message using data from the given tokenizer. In most cases, the next + token should be a "start object" token, but wrapper types and nullity can invalidate + that assumption. This is implemented as an LL(1) recursive descent parser over the stream + of tokens provided by the tokenizer. This token stream is assumed to be valid JSON, with the + tokenizer performing that validation - but not every token stream is valid "protobuf JSON". + + + + + Parses into a new message. + + The type of message to create. + The JSON to parse. + The JSON does not comply with RFC 7159 + The JSON does not represent a Protocol Buffers message correctly + + + + Parses JSON read from into a new message. + + The type of message to create. + Reader providing the JSON to parse. + The JSON does not comply with RFC 7159 + The JSON does not represent a Protocol Buffers message correctly + + + + Parses into a new message. + + The JSON to parse. + Descriptor of message type to parse. + The JSON does not comply with RFC 7159 + The JSON does not represent a Protocol Buffers message correctly + + + + Parses JSON read from into a new message. + + Reader providing the JSON to parse. + Descriptor of message type to parse. + The JSON does not comply with RFC 7159 + The JSON does not represent a Protocol Buffers message correctly + + + + Creates a new instance of the message type for the given field. + + + + + Checks that any infinite/NaN values originated from the correct text. + This corrects the lenient whitespace handling of double.Parse/float.Parse, as well as the + way that Mono parses out-of-range values as infinity. + + + + + Settings controlling JSON parsing. + + + + + Default settings, as used by . This has the same default + recursion limit as , and an empty type registry. + + + + + The maximum depth of messages to parse. Note that this limit only applies to parsing + messages, not collections - so a message within a collection within a message only counts as + depth 2, not 3. + + + + + The type registry used to parse messages. + + + + + Whether the parser should ignore unknown fields (true) or throw an exception when + they are encountered (false). + + + + + Creates a new object with the specified recursion limit. + + The maximum depth of messages to parse + + + + Creates a new object with the specified recursion limit and type registry. + + The maximum depth of messages to parse + The type registry used to parse messages + + + + Creates a new object set to either ignore unknown fields, or throw an exception + when unknown fields are encountered. + + true if unknown fields should be ignored when parsing; false to throw an exception. + + + + Creates a new object based on this one, but with the specified recursion limit. + + The new recursion limit. + + + + Creates a new object based on this one, but with the specified type registry. + + The new type registry. Must not be null. + + + + Simple but strict JSON tokenizer, rigidly following RFC 7159. + + + + This tokenizer is stateful, and only returns "useful" tokens - names, values etc. + It does not create tokens for the separator between names and values, or for the comma + between values. It validates the token stream as it goes - so callers can assume that the + tokens it produces are appropriate. For example, it would never produce "start object, end array." + + Implementation details: the base class handles single token push-back and + Not thread-safe. + + + + + Creates a tokenizer that reads from the given text reader. + + + + + Creates a tokenizer that first replays the given list of tokens, then continues reading + from another tokenizer. Note that if the returned tokenizer is "pushed back", that does not push back + on the continuation tokenizer, or vice versa. Care should be taken when using this method - it was + created for the sake of Any parsing. + + + + + Returns the depth of the stack, purely in objects (not collections). + Informally, this is the number of remaining unclosed '{' characters we have. + + + + + Returns the next JSON token in the stream. An EndDocument token is returned to indicate the end of the stream, + after which point Next() should not be called again. + + This implementation provides single-token buffering, and calls if there is no buffered token. + The next token in the stream. This is never null. + This method is called after an EndDocument token has been returned + The input text does not comply with RFC 7159 + + + + Returns the next JSON token in the stream, when requested by the base class. (The method delegates + to this if it doesn't have a buffered token.) + + This method is called after an EndDocument token has been returned + The input text does not comply with RFC 7159 + + + + Skips the value we're about to read. This must only be called immediately after reading a property name. + If the value is an object or an array, the complete object/array is skipped. + + + + + Tokenizer which first exhausts a list of tokens, then consults another tokenizer. + + + + + Tokenizer which does all the *real* work of parsing JSON. + + + + + This method essentially just loops through characters skipping whitespace, validating and + changing state (e.g. from ObjectBeforeColon to ObjectAfterColon) + until it reaches something which will be a genuine token (e.g. a start object, or a value) at which point + it returns the token. Although the method is large, it would be relatively hard to break down further... most + of it is the large switch statement, which sometimes returns and sometimes doesn't. + + + + + Reads a string token. It is assumed that the opening " has already been read. + + + + + Reads an escaped character. It is assumed that the leading backslash has already been read. + + + + + Reads an escaped Unicode 4-nybble hex sequence. It is assumed that the leading \u has already been read. + + + + + Consumes a text-only literal, throwing an exception if the read text doesn't match it. + It is assumed that the first letter of the literal has already been read. + + + + + Validates that we're in a valid state to read a value (using the given error prefix if necessary) + and changes the state to the appropriate one, e.g. ObjectAfterColon to ObjectAfterProperty. + + + + + Pops the top-most container, and sets the state to the appropriate one for the end of a value + in the parent container. + + + + + Possible states of the tokenizer. + + + This is a flags enum purely so we can simply and efficiently represent a set of valid states + for checking. + + Each is documented with an example, + where ^ represents the current position within the text stream. The examples all use string values, + but could be any value, including nested objects/arrays. + The complete state of the tokenizer also includes a stack to indicate the contexts (arrays/objects). + Any additional notional state of "AfterValue" indicates that a value has been completed, at which + point there's an immediate transition to ExpectedEndOfDocument, ObjectAfterProperty or ArrayAfterValue. + + + These states were derived manually by reading RFC 7159 carefully. + + + + + + ^ { "foo": "bar" } + Before the value in a document. Next states: ObjectStart, ArrayStart, "AfterValue" + + + + + { "foo": "bar" } ^ + After the value in a document. Next states: ReaderExhausted + + + + + { "foo": "bar" } ^ (and already read to the end of the reader) + Terminal state. + + + + + { ^ "foo": "bar" } + Before the *first* property in an object. + Next states: + "AfterValue" (empty object) + ObjectBeforeColon (read a name) + + + + + { "foo" ^ : "bar", "x": "y" } + Next state: ObjectAfterColon + + + + + { "foo" : ^ "bar", "x": "y" } + Before any property other than the first in an object. + (Equivalently: after any property in an object) + Next states: + "AfterValue" (value is simple) + ObjectStart (value is object) + ArrayStart (value is array) + + + + + { "foo" : "bar" ^ , "x" : "y" } + At the end of a property, so expecting either a comma or end-of-object + Next states: ObjectAfterComma or "AfterValue" + + + + + { "foo":"bar", ^ "x":"y" } + Read the comma after the previous property, so expecting another property. + This is like ObjectStart, but closing brace isn't valid here + Next state: ObjectBeforeColon. + + + + + [ ^ "foo", "bar" ] + Before the *first* value in an array. + Next states: + "AfterValue" (read a value) + "AfterValue" (end of array; will pop stack) + + + + + [ "foo" ^ , "bar" ] + After any value in an array, so expecting either a comma or end-of-array + Next states: ArrayAfterComma or "AfterValue" + + + + + [ "foo", ^ "bar" ] + After a comma in an array, so there *must* be another value (simple or complex). + Next states: "AfterValue" (simple value), StartObject, StartArray + + + + + Wrapper around a text reader allowing small amounts of buffering and location handling. + + + + + The buffered next character, if we have one. + + + + + Returns the next character in the stream, or null if we have reached the end. + + + + + + Creates a new exception appropriate for the current state of the reader. + + + + + Stream implementation which proxies another stream, only allowing a certain amount + of data to be read. Note that this is only used to read delimited streams, so it + doesn't attempt to implement everything. + + + + + Extension methods on and . + + + + + Merges data from the given byte array into an existing message. + + The message to merge the data into. + The data to merge, which must be protobuf-encoded binary data. + + + + Merges data from the given byte array slice into an existing message. + + The message to merge the data into. + The data containing the slice to merge, which must be protobuf-encoded binary data. + The offset of the slice to merge. + The length of the slice to merge. + + + + Merges data from the given byte string into an existing message. + + The message to merge the data into. + The data to merge, which must be protobuf-encoded binary data. + + + + Merges data from the given stream into an existing message. + + The message to merge the data into. + Stream containing the data to merge, which must be protobuf-encoded binary data. + + + + Merges length-delimited data from the given stream into an existing message. + + + The stream is expected to contain a length and then the data. Only the amount of data + specified by the length will be consumed. + + The message to merge the data into. + Stream containing the data to merge, which must be protobuf-encoded binary data. + + + + Converts the given message into a byte array in protobuf encoding. + + The message to convert. + The message data as a byte array. + + + + Writes the given message data to the given stream in protobuf encoding. + + The message to write to the stream. + The stream to write to. + + + + Writes the length and then data of the given message to a stream. + + The message to write. + The output stream to write to. + + + + Converts the given message into a byte string in protobuf encoding. + + The message to convert. + The message data as a byte string. + + + + Checks if all required fields in a message have values set. For proto3 messages, this returns true + + + + + A general message parser, typically used by reflection-based code as all the methods + return simple . + + + + + Creates a template instance ready for population. + + An empty message. + + + + Parses a message from a byte array. + + The byte array containing the message. Must not be null. + The newly parsed message. + + + + Parses a message from a byte array slice. + + The byte array containing the message. Must not be null. + The offset of the slice to parse. + The length of the slice to parse. + The newly parsed message. + + + + Parses a message from the given byte string. + + The data to parse. + The parsed message. + + + + Parses a message from the given stream. + + The stream to parse. + The parsed message. + + + + Parses a length-delimited message from the given stream. + + + The stream is expected to contain a length and then the data. Only the amount of data + specified by the length will be consumed. + + The stream to parse. + The parsed message. + + + + Parses a message from the given coded input stream. + + The stream to parse. + The parsed message. + + + + Parses a message from the given JSON. + + The JSON to parse. + The parsed message. + The JSON does not comply with RFC 7159 + The JSON does not represent a Protocol Buffers message correctly + + + + Creates a new message parser which optionally discards unknown fields when parsing. + + Whether or not to discard unknown fields when parsing. + A newly configured message parser. + + + + Creates a new message parser which registers extensions from the specified registry upon creating the message instance + + The extensions to register + A newly configured message parser. + + + + A parser for a specific message type. + + +

+ This delegates most behavior to the + implementation within the original type, but + provides convenient overloads to parse from a variety of sources. +

+

+ Most applications will never need to create their own instances of this type; + instead, use the static Parser property of a generated message type to obtain a + parser for that type. +

+
+ The type of message to be parsed. +
+ + + Creates a new parser. + + + The factory method is effectively an optimization over using a generic constraint + to require a parameterless constructor: delegates are significantly faster to execute. + + Function to invoke when a new, empty message is required. + + + + Creates a template instance ready for population. + + An empty message. + + + + Parses a message from a byte array. + + The byte array containing the message. Must not be null. + The newly parsed message. + + + + Parses a message from a byte array slice. + + The byte array containing the message. Must not be null. + The offset of the slice to parse. + The length of the slice to parse. + The newly parsed message. + + + + Parses a message from the given byte string. + + The data to parse. + The parsed message. + + + + Parses a message from the given stream. + + The stream to parse. + The parsed message. + + + + Parses a length-delimited message from the given stream. + + + The stream is expected to contain a length and then the data. Only the amount of data + specified by the length will be consumed. + + The stream to parse. + The parsed message. + + + + Parses a message from the given coded input stream. + + The stream to parse. + The parsed message. + + + + Parses a message from the given JSON. + + The JSON to parse. + The parsed message. + The JSON does not comply with RFC 7159 + The JSON does not represent a Protocol Buffers message correctly + + + + Creates a new message parser which optionally discards unknown fields when parsing. + + Whether or not to discard unknown fields when parsing. + A newly configured message parser. + + + + Creates a new message parser which registers extensions from the specified registry upon creating the message instance + + The extensions to register + A newly configured message parser. + + + + Struct used to hold the keys for the fieldByNumber table in DescriptorPool and the keys for the + extensionByNumber table in ExtensionRegistry. + + + + + Helper methods for throwing exceptions when preconditions are not met. + + + This class is used internally and by generated code; it is not particularly + expected to be used from application code, although nothing prevents it + from being used that way. + + + + + Throws an ArgumentNullException if the given value is null, otherwise + return the value to the caller. + + + + + Throws an ArgumentNullException if the given value is null, otherwise + return the value to the caller. + + + This is equivalent to but without the type parameter + constraint. In most cases, the constraint is useful to prevent you from calling CheckNotNull + with a value type - but it gets in the way if either you want to use it with a nullable + value type, or you want to use it with an unconstrained type parameter. + + + + + Container for a set of custom options specified within a message, field etc. + + + + This type is publicly immutable, but internally mutable. It is only populated + by the descriptor parsing code - by the time any user code is able to see an instance, + it will be fully initialized. + + + If an option is requested using the incorrect method, an answer may still be returned: all + of the numeric types are represented internally using 64-bit integers, for example. It is up to + the caller to ensure that they make the appropriate method call for the option they're interested in. + Note that enum options are simply stored as integers, so the value should be fetched using + and then cast appropriately. + + + Repeated options are currently not supported. Asking for a single value of an option + which was actually repeated will return the last value, except for message types where + all the set values are merged together. + + + + + + Retrieves a Boolean value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a signed 32-bit integer value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a signed 64-bit integer value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves an unsigned 32-bit integer value for the specified option field, + assuming a fixed-length representation. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves an unsigned 64-bit integer value for the specified option field, + assuming a fixed-length representation. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a signed 32-bit integer value for the specified option field, + assuming a fixed-length representation. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a signed 64-bit integer value for the specified option field, + assuming a fixed-length representation. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a signed 32-bit integer value for the specified option field, + assuming a zigzag encoding. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a signed 64-bit integer value for the specified option field, + assuming a zigzag encoding. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves an unsigned 32-bit integer value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves an unsigned 64-bit integer value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a 32-bit floating point value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a 64-bit floating point value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a string value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a bytes value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a message value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + Holder for reflection information generated from google/protobuf/descriptor.proto + + + File descriptor for google/protobuf/descriptor.proto + + + + The protocol compiler can output a FileDescriptorSet containing the .proto + files it parses. + + + + Field number for the "file" field. + + + + Describes a complete .proto file. + + + + Field number for the "name" field. + + + + file name, relative to root of source tree + + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "package" field. + + + + e.g. "foo", "foo.bar", etc. + + + + Gets whether the "package" field is set + + + Clears the value of the "package" field + + + Field number for the "dependency" field. + + + + Names of files imported by this file. + + + + Field number for the "public_dependency" field. + + + + Indexes of the public imported files in the dependency list above. + + + + Field number for the "weak_dependency" field. + + + + Indexes of the weak imported files in the dependency list. + For Google-internal migration only. Do not use. + + + + Field number for the "message_type" field. + + + + All top-level definitions in this file. + + + + Field number for the "enum_type" field. + + + Field number for the "service" field. + + + Field number for the "extension" field. + + + Field number for the "options" field. + + + Field number for the "source_code_info" field. + + + + This field contains optional information about the original source code. + You may safely remove this entire field without harming runtime + functionality of the descriptors -- the information is needed only by + development tools. + + + + Field number for the "syntax" field. + + + + The syntax of the proto file. + The supported values are "proto2" and "proto3". + + + + Gets whether the "syntax" field is set + + + Clears the value of the "syntax" field + + + + Describes a message type. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "field" field. + + + Field number for the "extension" field. + + + Field number for the "nested_type" field. + + + Field number for the "enum_type" field. + + + Field number for the "extension_range" field. + + + Field number for the "oneof_decl" field. + + + Field number for the "options" field. + + + Field number for the "reserved_range" field. + + + Field number for the "reserved_name" field. + + + + Reserved field names, which may not be used by fields in the same message. + A given name may only be reserved once. + + + + Container for nested types declared in the DescriptorProto message type. + + + Field number for the "start" field. + + + + Inclusive. + + + + Gets whether the "start" field is set + + + Clears the value of the "start" field + + + Field number for the "end" field. + + + + Exclusive. + + + + Gets whether the "end" field is set + + + Clears the value of the "end" field + + + Field number for the "options" field. + + + + Range of reserved tag numbers. Reserved tag numbers may not be used by + fields or extension ranges in the same message. Reserved ranges may + not overlap. + + + + Field number for the "start" field. + + + + Inclusive. + + + + Gets whether the "start" field is set + + + Clears the value of the "start" field + + + Field number for the "end" field. + + + + Exclusive. + + + + Gets whether the "end" field is set + + + Clears the value of the "end" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + + Describes a field within a message. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "number" field. + + + Gets whether the "number" field is set + + + Clears the value of the "number" field + + + Field number for the "label" field. + + + Gets whether the "label" field is set + + + Clears the value of the "label" field + + + Field number for the "type" field. + + + + If type_name is set, this need not be set. If both this and type_name + are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP. + + + + Gets whether the "type" field is set + + + Clears the value of the "type" field + + + Field number for the "type_name" field. + + + + For message and enum types, this is the name of the type. If the name + starts with a '.', it is fully-qualified. Otherwise, C++-like scoping + rules are used to find the type (i.e. first the nested types within this + message are searched, then within the parent, on up to the root + namespace). + + + + Gets whether the "type_name" field is set + + + Clears the value of the "type_name" field + + + Field number for the "extendee" field. + + + + For extensions, this is the name of the type being extended. It is + resolved in the same manner as type_name. + + + + Gets whether the "extendee" field is set + + + Clears the value of the "extendee" field + + + Field number for the "default_value" field. + + + + For numeric types, contains the original text representation of the value. + For booleans, "true" or "false". + For strings, contains the default text contents (not escaped in any way). + For bytes, contains the C escaped value. All bytes >= 128 are escaped. + TODO(kenton): Base-64 encode? + + + + Gets whether the "default_value" field is set + + + Clears the value of the "default_value" field + + + Field number for the "oneof_index" field. + + + + If set, gives the index of a oneof in the containing type's oneof_decl + list. This field is a member of that oneof. + + + + Gets whether the "oneof_index" field is set + + + Clears the value of the "oneof_index" field + + + Field number for the "json_name" field. + + + + JSON name of this field. The value is set by protocol compiler. If the + user has set a "json_name" option on this field, that option's value + will be used. Otherwise, it's deduced from the field's name by converting + it to camelCase. + + + + Gets whether the "json_name" field is set + + + Clears the value of the "json_name" field + + + Field number for the "options" field. + + + Field number for the "proto3_optional" field. + + + + If true, this is a proto3 "optional". When a proto3 field is optional, it + tracks presence regardless of field type. + + When proto3_optional is true, this field must be belong to a oneof to + signal to old proto3 clients that presence is tracked for this field. This + oneof is known as a "synthetic" oneof, and this field must be its sole + member (each proto3 optional field gets its own synthetic oneof). Synthetic + oneofs exist in the descriptor only, and do not generate any API. Synthetic + oneofs must be ordered after all "real" oneofs. + + For message fields, proto3_optional doesn't create any semantic change, + since non-repeated message fields always track presence. However it still + indicates the semantic detail of whether the user wrote "optional" or not. + This can be useful for round-tripping the .proto file. For consistency we + give message fields a synthetic oneof also, even though it is not required + to track presence. This is especially important because the parser can't + tell if a field is a message or an enum, so it must always create a + synthetic oneof. + + Proto2 optional fields do not set this flag, because they already indicate + optional with `LABEL_OPTIONAL`. + + + + Gets whether the "proto3_optional" field is set + + + Clears the value of the "proto3_optional" field + + + Container for nested types declared in the FieldDescriptorProto message type. + + + + 0 is reserved for errors. + Order is weird for historical reasons. + + + + + Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT64 if + negative values are likely. + + + + + Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT32 if + negative values are likely. + + + + + Tag-delimited aggregate. + Group type is deprecated and not supported in proto3. However, Proto3 + implementations should still be able to parse the group wire format and + treat group fields as unknown fields. + + + + + Length-delimited aggregate. + + + + + New in version 2. + + + + + Uses ZigZag encoding. + + + + + Uses ZigZag encoding. + + + + + 0 is reserved for errors + + + + + Describes a oneof. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "options" field. + + + + Describes an enum type. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "value" field. + + + Field number for the "options" field. + + + Field number for the "reserved_range" field. + + + + Range of reserved numeric values. Reserved numeric values may not be used + by enum values in the same enum declaration. Reserved ranges may not + overlap. + + + + Field number for the "reserved_name" field. + + + + Reserved enum value names, which may not be reused. A given name may only + be reserved once. + + + + Container for nested types declared in the EnumDescriptorProto message type. + + + + Range of reserved numeric values. Reserved values may not be used by + entries in the same enum. Reserved ranges may not overlap. + + Note that this is distinct from DescriptorProto.ReservedRange in that it + is inclusive such that it can appropriately represent the entire int32 + domain. + + + + Field number for the "start" field. + + + + Inclusive. + + + + Gets whether the "start" field is set + + + Clears the value of the "start" field + + + Field number for the "end" field. + + + + Inclusive. + + + + Gets whether the "end" field is set + + + Clears the value of the "end" field + + + + Describes a value within an enum. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "number" field. + + + Gets whether the "number" field is set + + + Clears the value of the "number" field + + + Field number for the "options" field. + + + + Describes a service. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "method" field. + + + Field number for the "options" field. + + + + Describes a method of a service. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "input_type" field. + + + + Input and output type names. These are resolved in the same way as + FieldDescriptorProto.type_name, but must refer to a message type. + + + + Gets whether the "input_type" field is set + + + Clears the value of the "input_type" field + + + Field number for the "output_type" field. + + + Gets whether the "output_type" field is set + + + Clears the value of the "output_type" field + + + Field number for the "options" field. + + + Field number for the "client_streaming" field. + + + + Identifies if client streams multiple client messages + + + + Gets whether the "client_streaming" field is set + + + Clears the value of the "client_streaming" field + + + Field number for the "server_streaming" field. + + + + Identifies if server streams multiple server messages + + + + Gets whether the "server_streaming" field is set + + + Clears the value of the "server_streaming" field + + + Field number for the "java_package" field. + + + + Sets the Java package where classes generated from this .proto will be + placed. By default, the proto package is used, but this is often + inappropriate because proto packages do not normally start with backwards + domain names. + + + + Gets whether the "java_package" field is set + + + Clears the value of the "java_package" field + + + Field number for the "java_outer_classname" field. + + + + If set, all the classes from the .proto file are wrapped in a single + outer class with the given name. This applies to both Proto1 + (equivalent to the old "--one_java_file" option) and Proto2 (where + a .proto always translates to a single class, but you may want to + explicitly choose the class name). + + + + Gets whether the "java_outer_classname" field is set + + + Clears the value of the "java_outer_classname" field + + + Field number for the "java_multiple_files" field. + + + + If set true, then the Java code generator will generate a separate .java + file for each top-level message, enum, and service defined in the .proto + file. Thus, these types will *not* be nested inside the outer class + named by java_outer_classname. However, the outer class will still be + generated to contain the file's getDescriptor() method as well as any + top-level extensions defined in the file. + + + + Gets whether the "java_multiple_files" field is set + + + Clears the value of the "java_multiple_files" field + + + Field number for the "java_generate_equals_and_hash" field. + + + + This option does nothing. + + + + Gets whether the "java_generate_equals_and_hash" field is set + + + Clears the value of the "java_generate_equals_and_hash" field + + + Field number for the "java_string_check_utf8" field. + + + + If set true, then the Java2 code generator will generate code that + throws an exception whenever an attempt is made to assign a non-UTF-8 + byte sequence to a string field. + Message reflection will do the same. + However, an extension field still accepts non-UTF-8 byte sequences. + This option has no effect on when used with the lite runtime. + + + + Gets whether the "java_string_check_utf8" field is set + + + Clears the value of the "java_string_check_utf8" field + + + Field number for the "optimize_for" field. + + + Gets whether the "optimize_for" field is set + + + Clears the value of the "optimize_for" field + + + Field number for the "go_package" field. + + + + Sets the Go package where structs generated from this .proto will be + placed. If omitted, the Go package will be derived from the following: + - The basename of the package import path, if provided. + - Otherwise, the package statement in the .proto file, if present. + - Otherwise, the basename of the .proto file, without extension. + + + + Gets whether the "go_package" field is set + + + Clears the value of the "go_package" field + + + Field number for the "cc_generic_services" field. + + + + Should generic services be generated in each language? "Generic" services + are not specific to any particular RPC system. They are generated by the + main code generators in each language (without additional plugins). + Generic services were the only kind of service generation supported by + early versions of google.protobuf. + + Generic services are now considered deprecated in favor of using plugins + that generate code specific to your particular RPC system. Therefore, + these default to false. Old code which depends on generic services should + explicitly set them to true. + + + + Gets whether the "cc_generic_services" field is set + + + Clears the value of the "cc_generic_services" field + + + Field number for the "java_generic_services" field. + + + Gets whether the "java_generic_services" field is set + + + Clears the value of the "java_generic_services" field + + + Field number for the "py_generic_services" field. + + + Gets whether the "py_generic_services" field is set + + + Clears the value of the "py_generic_services" field + + + Field number for the "php_generic_services" field. + + + Gets whether the "php_generic_services" field is set + + + Clears the value of the "php_generic_services" field + + + Field number for the "deprecated" field. + + + + Is this file deprecated? + Depending on the target platform, this can emit Deprecated annotations + for everything in the file, or it will be completely ignored; in the very + least, this is a formalization for deprecating files. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "cc_enable_arenas" field. + + + + Enables the use of arenas for the proto messages in this file. This applies + only to generated classes for C++. + + + + Gets whether the "cc_enable_arenas" field is set + + + Clears the value of the "cc_enable_arenas" field + + + Field number for the "objc_class_prefix" field. + + + + Sets the objective c class prefix which is prepended to all objective c + generated classes from this .proto. There is no default. + + + + Gets whether the "objc_class_prefix" field is set + + + Clears the value of the "objc_class_prefix" field + + + Field number for the "csharp_namespace" field. + + + + Namespace for generated classes; defaults to the package. + + + + Gets whether the "csharp_namespace" field is set + + + Clears the value of the "csharp_namespace" field + + + Field number for the "swift_prefix" field. + + + + By default Swift generators will take the proto package and CamelCase it + replacing '.' with underscore and use that to prefix the types/symbols + defined. When this options is provided, they will use this value instead + to prefix the types/symbols defined. + + + + Gets whether the "swift_prefix" field is set + + + Clears the value of the "swift_prefix" field + + + Field number for the "php_class_prefix" field. + + + + Sets the php class prefix which is prepended to all php generated classes + from this .proto. Default is empty. + + + + Gets whether the "php_class_prefix" field is set + + + Clears the value of the "php_class_prefix" field + + + Field number for the "php_namespace" field. + + + + Use this option to change the namespace of php generated classes. Default + is empty. When this option is empty, the package name will be used for + determining the namespace. + + + + Gets whether the "php_namespace" field is set + + + Clears the value of the "php_namespace" field + + + Field number for the "php_metadata_namespace" field. + + + + Use this option to change the namespace of php generated metadata classes. + Default is empty. When this option is empty, the proto file name will be + used for determining the namespace. + + + + Gets whether the "php_metadata_namespace" field is set + + + Clears the value of the "php_metadata_namespace" field + + + Field number for the "ruby_package" field. + + + + Use this option to change the package of ruby generated classes. Default + is empty. When this option is not set, the package name will be used for + determining the ruby package. + + + + Gets whether the "ruby_package" field is set + + + Clears the value of the "ruby_package" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. + See the documentation for the "Options" section above. + + + + Container for nested types declared in the FileOptions message type. + + + + Generated classes can be optimized for speed or code size. + + + + + Generate complete code for parsing, serialization, + + + + + etc. + + + + + Generate code using MessageLite and the lite runtime. + + + + Field number for the "message_set_wire_format" field. + + + + Set true to use the old proto1 MessageSet wire format for extensions. + This is provided for backwards-compatibility with the MessageSet wire + format. You should not use this for any other reason: It's less + efficient, has fewer features, and is more complicated. + + The message must be defined exactly as follows: + message Foo { + option message_set_wire_format = true; + extensions 4 to max; + } + Note that the message cannot have any defined fields; MessageSets only + have extensions. + + All extensions of your type must be singular messages; e.g. they cannot + be int32s, enums, or repeated messages. + + Because this is an option, the above two restrictions are not enforced by + the protocol compiler. + + + + Gets whether the "message_set_wire_format" field is set + + + Clears the value of the "message_set_wire_format" field + + + Field number for the "no_standard_descriptor_accessor" field. + + + + Disables the generation of the standard "descriptor()" accessor, which can + conflict with a field of the same name. This is meant to make migration + from proto1 easier; new code should avoid fields named "descriptor". + + + + Gets whether the "no_standard_descriptor_accessor" field is set + + + Clears the value of the "no_standard_descriptor_accessor" field + + + Field number for the "deprecated" field. + + + + Is this message deprecated? + Depending on the target platform, this can emit Deprecated annotations + for the message, or it will be completely ignored; in the very least, + this is a formalization for deprecating messages. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "map_entry" field. + + + + Whether the message is an automatically generated map entry type for the + maps field. + + For maps fields: + map<KeyType, ValueType> map_field = 1; + The parsed descriptor looks like: + message MapFieldEntry { + option map_entry = true; + optional KeyType key = 1; + optional ValueType value = 2; + } + repeated MapFieldEntry map_field = 1; + + Implementations may choose not to generate the map_entry=true message, but + use a native map in the target language to hold the keys and values. + The reflection APIs in such implementations still need to work as + if the field is a repeated message field. + + NOTE: Do not set the option in .proto files. Always use the maps syntax + instead. The option should only be implicitly set by the proto compiler + parser. + + + + Gets whether the "map_entry" field is set + + + Clears the value of the "map_entry" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Field number for the "ctype" field. + + + + The ctype option instructs the C++ code generator to use a different + representation of the field than it normally would. See the specific + options below. This option is not yet implemented in the open source + release -- sorry, we'll try to include it in a future version! + + + + Gets whether the "ctype" field is set + + + Clears the value of the "ctype" field + + + Field number for the "packed" field. + + + + The packed option can be enabled for repeated primitive fields to enable + a more efficient representation on the wire. Rather than repeatedly + writing the tag and type for each element, the entire array is encoded as + a single length-delimited blob. In proto3, only explicit setting it to + false will avoid using packed encoding. + + + + Gets whether the "packed" field is set + + + Clears the value of the "packed" field + + + Field number for the "jstype" field. + + + + The jstype option determines the JavaScript type used for values of the + field. The option is permitted only for 64 bit integral and fixed types + (int64, uint64, sint64, fixed64, sfixed64). A field with jstype JS_STRING + is represented as JavaScript string, which avoids loss of precision that + can happen when a large value is converted to a floating point JavaScript. + Specifying JS_NUMBER for the jstype causes the generated JavaScript code to + use the JavaScript "number" type. The behavior of the default option + JS_NORMAL is implementation dependent. + + This option is an enum to permit additional types to be added, e.g. + goog.math.Integer. + + + + Gets whether the "jstype" field is set + + + Clears the value of the "jstype" field + + + Field number for the "lazy" field. + + + + Should this field be parsed lazily? Lazy applies only to message-type + fields. It means that when the outer message is initially parsed, the + inner message's contents will not be parsed but instead stored in encoded + form. The inner message will actually be parsed when it is first accessed. + + This is only a hint. Implementations are free to choose whether to use + eager or lazy parsing regardless of the value of this option. However, + setting this option true suggests that the protocol author believes that + using lazy parsing on this field is worth the additional bookkeeping + overhead typically needed to implement it. + + This option does not affect the public interface of any generated code; + all method signatures remain the same. Furthermore, thread-safety of the + interface is not affected by this option; const methods remain safe to + call from multiple threads concurrently, while non-const methods continue + to require exclusive access. + + Note that implementations may choose not to check required fields within + a lazy sub-message. That is, calling IsInitialized() on the outer message + may return true even if the inner message has missing required fields. + This is necessary because otherwise the inner message would have to be + parsed in order to perform the check, defeating the purpose of lazy + parsing. An implementation which chooses not to check required fields + must be consistent about it. That is, for any particular sub-message, the + implementation must either *always* check its required fields, or *never* + check its required fields, regardless of whether or not the message has + been parsed. + + + + Gets whether the "lazy" field is set + + + Clears the value of the "lazy" field + + + Field number for the "deprecated" field. + + + + Is this field deprecated? + Depending on the target platform, this can emit Deprecated annotations + for accessors, or it will be completely ignored; in the very least, this + is a formalization for deprecating fields. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "weak" field. + + + + For Google-internal migration only. Do not use. + + + + Gets whether the "weak" field is set + + + Clears the value of the "weak" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Container for nested types declared in the FieldOptions message type. + + + + Default mode. + + + + + Use the default type. + + + + + Use JavaScript strings. + + + + + Use JavaScript numbers. + + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Field number for the "allow_alias" field. + + + + Set this option to true to allow mapping different tag names to the same + value. + + + + Gets whether the "allow_alias" field is set + + + Clears the value of the "allow_alias" field + + + Field number for the "deprecated" field. + + + + Is this enum deprecated? + Depending on the target platform, this can emit Deprecated annotations + for the enum, or it will be completely ignored; in the very least, this + is a formalization for deprecating enums. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Field number for the "deprecated" field. + + + + Is this enum value deprecated? + Depending on the target platform, this can emit Deprecated annotations + for the enum value, or it will be completely ignored; in the very least, + this is a formalization for deprecating enum values. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Field number for the "deprecated" field. + + + + Is this service deprecated? + Depending on the target platform, this can emit Deprecated annotations + for the service, or it will be completely ignored; in the very least, + this is a formalization for deprecating services. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Field number for the "deprecated" field. + + + + Is this method deprecated? + Depending on the target platform, this can emit Deprecated annotations + for the method, or it will be completely ignored; in the very least, + this is a formalization for deprecating methods. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "idempotency_level" field. + + + Gets whether the "idempotency_level" field is set + + + Clears the value of the "idempotency_level" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Container for nested types declared in the MethodOptions message type. + + + + Is this method side-effect-free (or safe in HTTP parlance), or idempotent, + or neither? HTTP based RPC implementation may choose GET verb for safe + methods, and PUT verb for idempotent methods instead of the default POST. + + + + + implies idempotent + + + + + idempotent, but may have side effects + + + + + A message representing a option the parser does not recognize. This only + appears in options protos created by the compiler::Parser class. + DescriptorPool resolves these when building Descriptor objects. Therefore, + options protos in descriptor objects (e.g. returned by Descriptor::options(), + or produced by Descriptor::CopyTo()) will never have UninterpretedOptions + in them. + + + + Field number for the "name" field. + + + Field number for the "identifier_value" field. + + + + The value of the uninterpreted option, in whatever type the tokenizer + identified it as during parsing. Exactly one of these should be set. + + + + Gets whether the "identifier_value" field is set + + + Clears the value of the "identifier_value" field + + + Field number for the "positive_int_value" field. + + + Gets whether the "positive_int_value" field is set + + + Clears the value of the "positive_int_value" field + + + Field number for the "negative_int_value" field. + + + Gets whether the "negative_int_value" field is set + + + Clears the value of the "negative_int_value" field + + + Field number for the "double_value" field. + + + Gets whether the "double_value" field is set + + + Clears the value of the "double_value" field + + + Field number for the "string_value" field. + + + Gets whether the "string_value" field is set + + + Clears the value of the "string_value" field + + + Field number for the "aggregate_value" field. + + + Gets whether the "aggregate_value" field is set + + + Clears the value of the "aggregate_value" field + + + Container for nested types declared in the UninterpretedOption message type. + + + + The name of the uninterpreted option. Each string represents a segment in + a dot-separated name. is_extension is true iff a segment represents an + extension (denoted with parentheses in options specs in .proto files). + E.g.,{ ["foo", false], ["bar.baz", true], ["qux", false] } represents + "foo.(bar.baz).qux". + + + + Field number for the "name_part" field. + + + Gets whether the "name_part" field is set + + + Clears the value of the "name_part" field + + + Field number for the "is_extension" field. + + + Gets whether the "is_extension" field is set + + + Clears the value of the "is_extension" field + + + + Encapsulates information about the original source file from which a + FileDescriptorProto was generated. + + + + Field number for the "location" field. + + + + A Location identifies a piece of source code in a .proto file which + corresponds to a particular definition. This information is intended + to be useful to IDEs, code indexers, documentation generators, and similar + tools. + + For example, say we have a file like: + message Foo { + optional string foo = 1; + } + Let's look at just the field definition: + optional string foo = 1; + ^ ^^ ^^ ^ ^^^ + a bc de f ghi + We have the following locations: + span path represents + [a,i) [ 4, 0, 2, 0 ] The whole field definition. + [a,b) [ 4, 0, 2, 0, 4 ] The label (optional). + [c,d) [ 4, 0, 2, 0, 5 ] The type (string). + [e,f) [ 4, 0, 2, 0, 1 ] The name (foo). + [g,h) [ 4, 0, 2, 0, 3 ] The number (1). + + Notes: + - A location may refer to a repeated field itself (i.e. not to any + particular index within it). This is used whenever a set of elements are + logically enclosed in a single code segment. For example, an entire + extend block (possibly containing multiple extension definitions) will + have an outer location whose path refers to the "extensions" repeated + field without an index. + - Multiple locations may have the same path. This happens when a single + logical declaration is spread out across multiple places. The most + obvious example is the "extend" block again -- there may be multiple + extend blocks in the same scope, each of which will have the same path. + - A location's span is not always a subset of its parent's span. For + example, the "extendee" of an extension declaration appears at the + beginning of the "extend" block and is shared by all extensions within + the block. + - Just because a location's span is a subset of some other location's span + does not mean that it is a descendant. For example, a "group" defines + both a type and a field in a single declaration. Thus, the locations + corresponding to the type and field and their components will overlap. + - Code which tries to interpret locations should probably be designed to + ignore those that it doesn't understand, as more types of locations could + be recorded in the future. + + + + Container for nested types declared in the SourceCodeInfo message type. + + + Field number for the "path" field. + + + + Identifies which part of the FileDescriptorProto was defined at this + location. + + Each element is a field number or an index. They form a path from + the root FileDescriptorProto to the place where the definition. For + example, this path: + [ 4, 3, 2, 7, 1 ] + refers to: + file.message_type(3) // 4, 3 + .field(7) // 2, 7 + .name() // 1 + This is because FileDescriptorProto.message_type has field number 4: + repeated DescriptorProto message_type = 4; + and DescriptorProto.field has field number 2: + repeated FieldDescriptorProto field = 2; + and FieldDescriptorProto.name has field number 1: + optional string name = 1; + + Thus, the above path gives the location of a field name. If we removed + the last element: + [ 4, 3, 2, 7 ] + this path refers to the whole field declaration (from the beginning + of the label to the terminating semicolon). + + + + Field number for the "span" field. + + + + Always has exactly three or four elements: start line, start column, + end line (optional, otherwise assumed same as start line), end column. + These are packed into a single field for efficiency. Note that line + and column numbers are zero-based -- typically you will want to add + 1 to each before displaying to a user. + + + + Field number for the "leading_comments" field. + + + + If this SourceCodeInfo represents a complete declaration, these are any + comments appearing before and after the declaration which appear to be + attached to the declaration. + + A series of line comments appearing on consecutive lines, with no other + tokens appearing on those lines, will be treated as a single comment. + + leading_detached_comments will keep paragraphs of comments that appear + before (but not connected to) the current element. Each paragraph, + separated by empty lines, will be one comment element in the repeated + field. + + Only the comment content is provided; comment markers (e.g. //) are + stripped out. For block comments, leading whitespace and an asterisk + will be stripped from the beginning of each line other than the first. + Newlines are included in the output. + + Examples: + + optional int32 foo = 1; // Comment attached to foo. + // Comment attached to bar. + optional int32 bar = 2; + + optional string baz = 3; + // Comment attached to baz. + // Another line attached to baz. + + // Comment attached to qux. + // + // Another line attached to qux. + optional double qux = 4; + + // Detached comment for corge. This is not leading or trailing comments + // to qux or corge because there are blank lines separating it from + // both. + + // Detached comment for corge paragraph 2. + + optional string corge = 5; + /* Block comment attached + * to corge. Leading asterisks + * will be removed. */ + /* Block comment attached to + * grault. */ + optional int32 grault = 6; + + // ignored detached comments. + + + + Gets whether the "leading_comments" field is set + + + Clears the value of the "leading_comments" field + + + Field number for the "trailing_comments" field. + + + Gets whether the "trailing_comments" field is set + + + Clears the value of the "trailing_comments" field + + + Field number for the "leading_detached_comments" field. + + + + Describes the relationship between generated code and its original source + file. A GeneratedCodeInfo message is associated with only one generated + source file, but may contain references to different source .proto files. + + + + Field number for the "annotation" field. + + + + An Annotation connects some span of text in generated code to an element + of its generating .proto file. + + + + Container for nested types declared in the GeneratedCodeInfo message type. + + + Field number for the "path" field. + + + + Identifies the element in the original source .proto file. This field + is formatted the same as SourceCodeInfo.Location.path. + + + + Field number for the "source_file" field. + + + + Identifies the filesystem path to the original source .proto. + + + + Gets whether the "source_file" field is set + + + Clears the value of the "source_file" field + + + Field number for the "begin" field. + + + + Identifies the starting offset in bytes in the generated code + that relates to the identified object. + + + + Gets whether the "begin" field is set + + + Clears the value of the "begin" field + + + Field number for the "end" field. + + + + Identifies the ending offset in bytes in the generated code that + relates to the identified offset. The end offset should be one past + the last relevant byte (so the length of the text = end - begin). + + + + Gets whether the "end" field is set + + + Clears the value of the "end" field + + + + Base class for nearly all descriptors, providing common functionality. + + + + + The index of this descriptor within its parent descriptor. + + + This returns the index of this descriptor within its parent, for + this descriptor's type. (There can be duplicate values for different + types, e.g. one enum type with index 0 and one message type with index 0.) + + + + + Returns the name of the entity (field, message etc) being described. + + + + + The fully qualified name of the descriptor's target. + + + + + The file this descriptor was declared in. + + + + + The declaration information about the descriptor, or null if no declaration information + is available for this descriptor. + + + This information is typically only available for dynamically loaded descriptors, + for example within a protoc plugin where the full descriptors, including source info, + are passed to the code by protoc. + + + + + Retrieves the list of nested descriptors corresponding to the given field number, if any. + If the field is unknown or not a nested descriptor list, return null to terminate the search. + The default implementation returns null. + + + + + Provides additional information about the declaration of a descriptor, + such as source location and comments. + + + + + The descriptor this declaration relates to. + + + + + The start line of the declaration within the source file. This value is 1-based. + + + + + The start column of the declaration within the source file. This value is 1-based. + + + + + // The end line of the declaration within the source file. This value is 1-based. + + + + + The end column of the declaration within the source file. This value is 1-based, and + exclusive. (The final character of the declaration is on the column before this value.) + + + + + Comments appearing before the declaration. Never null, but may be empty. Multi-line comments + are represented as a newline-separated string. Leading whitespace and the comment marker ("//") + are removed from each line. + + + + + Comments appearing after the declaration. Never null, but may be empty. Multi-line comments + are represented as a newline-separated string. Leading whitespace and the comment marker ("//") + are removed from each line. + + + + + Comments appearing before the declaration, but separated from it by blank + lines. Each string represents a newline-separated paragraph of comments. + Leading whitespace and the comment marker ("//") are removed from each line. + The list is never null, but may be empty. Likewise each element is never null, but may be empty. + + + + + Contains lookup tables containing all the descriptors defined in a particular file. + + + + + Finds a symbol of the given name within the pool. + + The type of symbol to look for + Fully-qualified name to look up + The symbol with the given name and type, + or null if the symbol doesn't exist or has the wrong type + + + + Adds a package to the symbol tables. If a package by the same name + already exists, that is fine, but if some other kind of symbol + exists under the same name, an exception is thrown. If the package + has multiple components, this also adds the parent package(s). + + + + + Adds a symbol to the symbol table. + + The symbol already existed + in the symbol table. + + + + Verifies that the descriptor's name is valid (i.e. it contains + only letters, digits and underscores, and does not start with a digit). + + + + + + Returns the field with the given number in the given descriptor, + or null if it can't be found. + + + + + Adds a field to the fieldsByNumber table. + + A field with the same + containing type and number already exists. + + + + Adds an enum value to the enumValuesByNumber table. If an enum value + with the same type and number already exists, this method does nothing. + (This is allowed; the first value defined with the number takes precedence.) + + + + + Looks up a descriptor by name, relative to some other descriptor. + The name may be fully-qualified (with a leading '.'), partially-qualified, + or unqualified. C++-like name lookup semantics are used to search for the + matching descriptor. + + + This isn't heavily optimized, but it's only used during cross linking anyway. + If it starts being used more widely, we should look at performance more carefully. + + + + + Internal class containing utility methods when working with descriptors. + + + + + Equivalent to Func[TInput, int, TOutput] but usable in .NET 2.0. Only used to convert + arrays. + + + + + Converts the given array into a read-only list, applying the specified conversion to + each input element. + + + + + Thrown when building descriptors fails because the source DescriptorProtos + are not valid. + + + + + The full name of the descriptor where the error occurred. + + + + + A human-readable description of the error. (The Message property + is made up of the descriptor's name and this description.) + + + + + Descriptor for an enum type in a .proto file. + + + + + The brief name of the descriptor's target. + + + + + The CLR type for this enum. For generated code, this will be a CLR enum type. + + + + + If this is a nested type, get the outer descriptor, otherwise null. + + + + + An unmodifiable list of defined value descriptors for this enum. + + + + + Finds an enum value by number. If multiple enum values have the + same number, this returns the first defined value with that number. + If there is no value for the given number, this returns null. + + + + + Finds an enum value by name. + + The unqualified name of the value (e.g. "FOO"). + The value's descriptor, or null if not found. + + + + The (possibly empty) set of custom options for this enum. + + + + + The EnumOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value enum option for this descriptor + + + + + Gets a repeated value enum option for this descriptor + + + + + Descriptor for a single enum value within an enum in a .proto file. + + + + + Returns the name of the enum value described by this object. + + + + + Returns the number associated with this enum value. + + + + + Returns the enum descriptor that this value is part of. + + + + + The (possibly empty) set of custom options for this enum value. + + + + + The EnumValueOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value enum value option for this descriptor + + + + + Gets a repeated value enum value option for this descriptor + + + + + A collection to simplify retrieving the descriptors of extensions in a descriptor for a message + + + + + Returns a readonly list of all the extensions defined in this type in + the order they were defined in the source .proto file + + + + + Returns a readonly list of all the extensions define in this type that extend + the provided descriptor type in the order they were defined in the source .proto file + + + + + Returns a readonly list of all the extensions define in this type that extend + the provided descriptor type in accending field order + + + + + Base class for field accessors. + + + + + Descriptor for a field or extension within a message in a .proto file. + + + + + Get the field's containing message type, or null if it is a field defined at the top level of a file as an extension. + + + + + Returns the oneof containing this field, or null if it is not part of a oneof. + + + + + Returns the oneof containing this field if it's a "real" oneof, or null if either this + field is not part of a oneof, or the oneof is synthetic. + + + + + The effective JSON name for this field. This is usually the lower-camel-cased form of the field name, + but can be overridden using the json_name option in the .proto file. + + + + + Indicates whether this field supports presence, either implicitly (e.g. due to it being a message + type field) or explicitly via Has/Clear members. If this returns true, it is safe to call + and + on this field's accessor with a suitable message. + + + + + An extension identifier for this field, or null if this field isn't an extension. + + + + + The brief name of the descriptor's target. + + + + + Returns the accessor for this field. + + + + While a describes the field, it does not provide + any way of obtaining or changing the value of the field within a specific message; + that is the responsibility of the accessor. + + + In descriptors for generated code, the value returned by this property will be non-null for all + regular fields. However, if a message containing a map field is introspected, the list of nested messages will include + an auto-generated nested key/value pair message for the field. This is not represented in any + generated type, and the value of the map field itself is represented by a dictionary in the + reflection API. There are never instances of those "hidden" messages, so no accessor is provided + and this property will return null. + + + In dynamically loaded descriptors, the value returned by this property will current be null; + if and when dynamic messages are supported, it will return a suitable accessor to work with + them. + + + + + + Maps a field type as included in the .proto file to a FieldType. + + + + + Returns true if this field is a repeated field; false otherwise. + + + + + Returns true if this field is a required field; false otherwise. + + + + + Returns true if this field is a map field; false otherwise. + + + + + Returns true if this field is a packed, repeated field; false otherwise. + + + + + Returns true if this field extends another message type; false otherwise. + + + + + Returns the type of the field. + + + + + Returns the field number declared in the proto file. + + + + + Compares this descriptor with another one, ordering in "canonical" order + which simply means ascending order by field number. + must be a field of the same type, i.e. the of + both fields must be the same. + + + + + For enum fields, returns the field's type. + + + + + For embedded message and group fields, returns the field's type. + + + + + For extension fields, returns the extended type + + + + + The (possibly empty) set of custom options for this field. + + + + + The FieldOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value field option for this descriptor + + + + + Gets a repeated value field option for this descriptor + + + + + Look up and cross-link all field types etc. + + + + + Enumeration of all the possible field types. + + + + + The double field type. + + + + + The float field type. + + + + + The int64 field type. + + + + + The uint64 field type. + + + + + The int32 field type. + + + + + The fixed64 field type. + + + + + The fixed32 field type. + + + + + The bool field type. + + + + + The string field type. + + + + + The field type used for groups. + + + + + The field type used for message fields. + + + + + The bytes field type. + + + + + The uint32 field type. + + + + + The sfixed32 field type. + + + + + The sfixed64 field type. + + + + + The sint32 field type. + + + + + The sint64 field type. + + + + + The field type used for enum fields. + + + + + The syntax of a .proto file + + + + + Proto2 syntax + + + + + Proto3 syntax + + + + + An unknown declared syntax + + + + + Describes a .proto file, including everything defined within. + IDescriptor is implemented such that the File property returns this descriptor, + and the FullName is the same as the Name. + + + + + Computes the full name of a descriptor within this file, with an optional parent message. + + + + + Extracts public dependencies from direct dependencies. This is a static method despite its + first parameter, as the value we're in the middle of constructing is only used for exceptions. + + + + + The descriptor in its protocol message representation. + + + + + The syntax of the file + + + + + The file name. + + + + + The package as declared in the .proto file. This may or may not + be equivalent to the .NET namespace of the generated classes. + + + + + Unmodifiable list of top-level message types declared in this file. + + + + + Unmodifiable list of top-level enum types declared in this file. + + + + + Unmodifiable list of top-level services declared in this file. + + + + + Unmodifiable list of top-level extensions declared in this file. + Note that some extensions may be incomplete (FieldDescriptor.Extension may be null) + if this descriptor was generated using a version of protoc that did not fully + support extensions in C#. + + + + + Unmodifiable list of this file's dependencies (imports). + + + + + Unmodifiable list of this file's public dependencies (public imports). + + + + + The original serialized binary form of this descriptor. + + + + + Implementation of IDescriptor.FullName - just returns the same as Name. + + + + + Implementation of IDescriptor.File - just returns this descriptor. + + + + + Pool containing symbol descriptors. + + + + + Finds a type (message, enum, service or extension) in the file by name. Does not find nested types. + + The unqualified type name to look for. + The type of descriptor to look for + The type's descriptor, or null if not found. + + + + Builds a FileDescriptor from its protocol buffer representation. + + The original serialized descriptor data. + We have only limited proto2 support, so serializing FileDescriptorProto + would not necessarily give us this. + The protocol message form of the FileDescriptor. + FileDescriptors corresponding to all of the + file's dependencies, in the exact order listed in the .proto file. May be null, + in which case it is treated as an empty array. + Whether unknown dependencies are ignored (true) or cause an exception to be thrown (false). + Details about generated code, for the purposes of reflection. + If is not + a valid descriptor. This can occur for a number of reasons, such as a field + having an undefined type or because two messages were defined with the same name. + + + + Creates a descriptor for generated code. + + + This method is only designed to be used by the results of generating code with protoc, + which creates the appropriate dependencies etc. It has to be public because the generated + code is "external", but should not be called directly by end users. + + + + + Converts the given descriptor binary data into FileDescriptor objects. + Note: reflection using the returned FileDescriptors is not currently supported. + + The binary file descriptor proto data. Must not be null, and any + dependencies must come before the descriptor which depends on them. (If A depends on B, and B + depends on C, then the descriptors must be presented in the order C, B, A.) This is compatible + with the order in which protoc provides descriptors to plugins. + The file descriptors corresponding to . + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns the file descriptor for descriptor.proto. + + + This is used for protos which take a direct dependency on descriptor.proto, typically for + annotations. While descriptor.proto is a proto2 file, it is built into the Google.Protobuf + runtime for reflection purposes. The messages are internal to the runtime as they would require + proto2 semantics for full support, but the file descriptor is available via this property. The + C# codegen in protoc automatically uses this property when it detects a dependency on descriptor.proto. + + + The file descriptor for descriptor.proto. + + + + + The (possibly empty) set of custom options for this file. + + + + + The FileOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value file option for this descriptor + + + + + Gets a repeated value file option for this descriptor + + + + + Performs initialization for the given generic type argument. + + + This method is present for the sake of AOT compilers. It allows code (whether handwritten or generated) + to make calls into the reflection machinery of this library to express an intention to use that type + reflectively (e.g. for JSON parsing and formatting). The call itself does almost nothing, but AOT compilers + attempting to determine which generic type arguments need to be handled will spot the code path and act + accordingly. + + The type to force initialization for. + + + + Extra information provided by generated code when initializing a message or file descriptor. + These are constructed as required, and are not long-lived. Hand-written code should + never need to use this type. + + + + + Irrelevant for file descriptors; the CLR type for the message for message descriptors. + + + + + Irrelevant for file descriptors; the parser for message descriptors. + + + + + Irrelevant for file descriptors; the CLR property names (in message descriptor field order) + for fields in the message for message descriptors. + + + + + The extensions defined within this file/message descriptor + + + + + Irrelevant for file descriptors; the CLR property "base" names (in message descriptor oneof order) + for oneofs in the message for message descriptors. It is expected that for a oneof name of "Foo", + there will be a "FooCase" property and a "ClearFoo" method. + + + + + The reflection information for types within this file/message descriptor. Elements may be null + if there is no corresponding generated type, e.g. for map entry types. + + + + + The CLR types for enums within this file/message descriptor. + + + + + Creates a GeneratedClrTypeInfo for a message descriptor, with nested types, nested enums, the CLR type, property names and oneof names. + Each array parameter may be null, to indicate a lack of values. + The parameter order is designed to make it feasible to format the generated code readably. + + + + + Creates a GeneratedClrTypeInfo for a message descriptor, with nested types, nested enums, the CLR type, property names and oneof names. + Each array parameter may be null, to indicate a lack of values. + The parameter order is designed to make it feasible to format the generated code readably. + + + + + Creates a GeneratedClrTypeInfo for a file descriptor, with only types, enums, and extensions. + + + + + Creates a GeneratedClrTypeInfo for a file descriptor, with only types and enums. + + + + + Interface implemented by all descriptor types. + + + + + Returns the name of the entity (message, field etc) being described. + + + + + Returns the fully-qualified name of the entity being described. + + + + + Returns the descriptor for the .proto file that this entity is part of. + + + + + Allows fields to be reflectively accessed. + + + + + Returns the descriptor associated with this field. + + + + + Clears the field in the specified message. (For repeated fields, + this clears the list.) + + + + + Fetches the field value. For repeated values, this will be an + implementation. For map values, this will be an + implementation. + + + + + Indicates whether the field in the specified message is set. + For proto3 fields that aren't explicitly optional, this throws an + + + + + Mutator for single "simple" fields only. + + + Repeated fields are mutated by fetching the value and manipulating it as a list. + Map fields are mutated by fetching the value and manipulating it as a dictionary. + + The field is not a "simple" field. + + + + Accessor for map fields. + + + + + Describes a message type. + + + + + The brief name of the descriptor's target. + + + + + The CLR type used to represent message instances from this descriptor. + + + + The value returned by this property will be non-null for all regular fields. However, + if a message containing a map field is introspected, the list of nested messages will include + an auto-generated nested key/value pair message for the field. This is not represented in any + generated type, so this property will return null in such cases. + + + For wrapper types ( and the like), the type returned here + will be the generated message type, not the native type used by reflection for fields of those types. Code + using reflection should call to determine whether a message descriptor represents + a wrapper type, and handle the result appropriately. + + + + + + A parser for this message type. + + + + As is not generic, this cannot be statically + typed to the relevant type, but it should produce objects of a type compatible with . + + + The value returned by this property will be non-null for all regular fields. However, + if a message containing a map field is introspected, the list of nested messages will include + an auto-generated nested key/value pair message for the field. No message parser object is created for + such messages, so this property will return null in such cases. + + + For wrapper types ( and the like), the parser returned here + will be the generated message type, not the native type used by reflection for fields of those types. Code + using reflection should call to determine whether a message descriptor represents + a wrapper type, and handle the result appropriately. + + + + + + Returns whether this message is one of the "well known types" which may have runtime/protoc support. + + + + + Returns whether this message is one of the "wrapper types" used for fields which represent primitive values + with the addition of presence. + + + + + If this is a nested type, get the outer descriptor, otherwise null. + + + + + A collection of fields, which can be retrieved by name or field number. + + + + + An unmodifiable list of extensions defined in this message's scope. + Note that some extensions may be incomplete (FieldDescriptor.Extension may be null) + if they are declared in a file generated using a version of protoc that did not fully + support extensions in C#. + + + + + An unmodifiable list of this message type's nested types. + + + + + An unmodifiable list of this message type's enum types. + + + + + An unmodifiable list of the "oneof" field collections in this message type. + All "real" oneofs (where returns false) + come before synthetic ones. + + + + + The number of real "oneof" descriptors in this message type. Every element in + with an index less than this will have a property value + of false; every element with an index greater than or equal to this will have a + property value of true. + + + + + Finds a field by field name. + + The unqualified name of the field (e.g. "foo"). + The field's descriptor, or null if not found. + + + + Finds a field by field number. + + The field number within this message type. + The field's descriptor, or null if not found. + + + + Finds a nested descriptor by name. The is valid for fields, nested + message types, oneofs and enums. + + The unqualified name of the descriptor, e.g. "Foo" + The descriptor, or null if not found. + + + + The (possibly empty) set of custom options for this message. + + + + + The MessageOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value message option for this descriptor + + + + + Gets a repeated value message option for this descriptor + + + + + Looks up and cross-links all fields and nested types. + + + + + A collection to simplify retrieving the field accessor for a particular field. + + + + + Returns the fields in the message as an immutable list, in the order in which they + are declared in the source .proto file. + + + + + Returns the fields in the message as an immutable list, in ascending field number + order. Field numbers need not be contiguous, so there is no direct mapping from the + index in the list to the field number; to retrieve a field by field number, it is better + to use the indexer. + + + + + Returns a read-only dictionary mapping the field names in this message as they're available + in the JSON representation to the field descriptors. For example, a field foo_bar + in the message would result two entries, one with a key fooBar and one with a key + foo_bar, both referring to the same field. + + + + + Retrieves the descriptor for the field with the given number. + + Number of the field to retrieve the descriptor for + The accessor for the given field + The message descriptor does not contain a field + with the given number + + + + Retrieves the descriptor for the field with the given name. + + Name of the field to retrieve the descriptor for + The descriptor for the given field + The message descriptor does not contain a field + with the given name + + + + Describes a single method in a service. + + + + + The service this method belongs to. + + + + + The method's input type. + + + + + The method's input type. + + + + + Indicates if client streams multiple requests. + + + + + Indicates if server streams multiple responses. + + + + + The (possibly empty) set of custom options for this method. + + + + + The MethodOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value method option for this descriptor + + + + + Gets a repeated value method option for this descriptor + + + + + The brief name of the descriptor's target. + + + + + Reflection access for a oneof, allowing clear and "get case" actions. + + + + + Gets the descriptor for this oneof. + + + The descriptor of the oneof. + + + + + Clears the oneof in the specified message. + + + + + Indicates which field in the oneof is set for specified message + + + + + Describes a "oneof" field collection in a message type: a set of + fields of which at most one can be set in any particular message. + + + + + The brief name of the descriptor's target. + + + + + Gets the message type containing this oneof. + + + The message type containing this oneof. + + + + + Gets the fields within this oneof, in declaration order. + + + The fields within this oneof, in declaration order. + + + + + Returns true if this oneof is a synthetic oneof containing a proto3 optional field; + false otherwise. + + + + + Gets an accessor for reflective access to the values associated with the oneof + in a particular message. + + + + In descriptors for generated code, the value returned by this property will always be non-null. + + + In dynamically loaded descriptors, the value returned by this property will current be null; + if and when dynamic messages are supported, it will return a suitable accessor to work with + them. + + + + The accessor used for reflective access. + + + + + The (possibly empty) set of custom options for this oneof. + + + + + The OneofOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value oneof option for this descriptor + + + + + Gets a repeated value oneof option for this descriptor + + + + + Specifies the original name (in the .proto file) of a named element, + such as an enum value. + + + + + The name of the element in the .proto file. + + + + + If the name is preferred in the .proto file. + + + + + Constructs a new attribute instance for the given name. + + The name of the element in the .proto file. + + + + Represents a package in the symbol table. We use PackageDescriptors + just as placeholders so that someone cannot define, say, a message type + that has the same name as an existing package. + + + + + The methods in this class are somewhat evil, and should not be tampered with lightly. + Basically they allow the creation of relatively weakly typed delegates from MethodInfos + which are more strongly typed. They do this by creating an appropriate strongly typed + delegate from the MethodInfo, and then calling that within an anonymous method. + Mind-bending stuff (at least to your humble narrator) but the resulting delegates are + very fast compared with calling Invoke later on. + + + + + Empty Type[] used when calling GetProperty to force property instead of indexer fetching. + + + + + Creates a delegate which will cast the argument to the type that declares the method, + call the method on it, then convert the result to object. + + The method to create a delegate for, which must be declared in an IMessage + implementation. + + + + Creates a delegate which will cast the argument to the type that declares the method, + call the method on it, then convert the result to the specified type. The method is expected + to actually return an enum (because of where we're calling it - for oneof cases). Sometimes that + means we need some extra work to perform conversions. + + The method to create a delegate for, which must be declared in an IMessage + implementation. + + + + Creates a delegate which will execute the given method after casting the first argument to + the type that declares the method, and the second argument to the first parameter type of the method. + + The method to create a delegate for, which must be declared in an IMessage + implementation. + + + + Creates a delegate which will execute the given method after casting the first argument to + type that declares the method. + + The method to create a delegate for, which must be declared in an IMessage + implementation. + + + + Creates a delegate which will execute the given method after casting the first argument to + the type that declares the method, and the second argument to the first parameter type of the method. + + + + + Creates a reflection helper for the given type arguments. Currently these are created on demand + rather than cached; this will be "busy" when initially loading a message's descriptor, but after that + they can be garbage collected. We could cache them by type if that proves to be important, but creating + an object is pretty cheap. + + + + + Accessor for repeated fields. + + + + + Describes a service type. + + + + + The brief name of the descriptor's target. + + + + + An unmodifiable list of methods in this service. + + + + + Finds a method by name. + + The unqualified name of the method (e.g. "Foo"). + The method's descriptor, or null if not found. + + + + The (possibly empty) set of custom options for this service. + + + + + The ServiceOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value service option for this descriptor + + + + + Gets a repeated value service option for this descriptor + + + + + Accessor for single fields. + + + + + An immutable registry of types which can be looked up by their full name. + + + + + An empty type registry, containing no types. + + + + + Attempts to find a message descriptor by its full name. + + The full name of the message, which is the dot-separated + combination of package, containing messages and message name + The message descriptor corresponding to or null + if there is no such message descriptor. + + + + Creates a type registry from the specified set of file descriptors. + + + This is a convenience overload for + to allow calls such as TypeRegistry.FromFiles(descriptor1, descriptor2). + + The set of files to include in the registry. Must not contain null values. + A type registry for the given files. + + + + Creates a type registry from the specified set of file descriptors. + + + All message types within all the specified files are added to the registry, and + the dependencies of the specified files are also added, recursively. + + The set of files to include in the registry. Must not contain null values. + A type registry for the given files. + + + + Creates a type registry from the file descriptor parents of the specified set of message descriptors. + + + This is a convenience overload for + to allow calls such as TypeRegistry.FromFiles(descriptor1, descriptor2). + + The set of message descriptors to use to identify file descriptors to include in the registry. + Must not contain null values. + A type registry for the given files. + + + + Creates a type registry from the file descriptor parents of the specified set of message descriptors. + + + The specified message descriptors are only used to identify their file descriptors; the returned registry + contains all the types within the file descriptors which contain the specified message descriptors (and + the dependencies of those files), not just the specified messages. + + The set of message descriptors to use to identify file descriptors to include in the registry. + Must not contain null values. + A type registry for the given files. + + + + Builder class which isn't exposed, but acts as a convenient alternative to passing round two dictionaries in recursive calls. + + + + + Represents a single field in an UnknownFieldSet. + + An UnknownField consists of four lists of values. The lists correspond + to the four "wire types" used in the protocol buffer binary format. + Normally, only one of the four lists will contain any values, since it + is impossible to define a valid message type that declares two different + types for the same field number. However, the code is designed to allow + for the case where the same unknown field number is encountered using + multiple different wire types. + + + + + + Creates a new UnknownField. + + + + + Checks if two unknown field are equal. + + + + + Get the hash code of the unknown field. + + + + + Serializes the field, including the field number, and writes it to + + + The unknown field number. + The CodedOutputStream to write to. + + + + Computes the number of bytes required to encode this field, including field + number. + + + + + Merge the values in into this field. For each list + of values, 's values are append to the ones in this + field. + + + + + Returns a new list containing all of the given specified values from + both the and lists. + If is null and is empty, + null is returned. Otherwise, either a new list is created (if + is null) or the elements of are added to . + + + + + Adds a varint value. + + + + + Adds a fixed32 value. + + + + + Adds a fixed64 value. + + + + + Adds a length-delimited value. + + + + + Adds to the , creating + a new list if is null. The list is returned - either + the original reference or the new list. + + + + + Used to keep track of fields which were seen when parsing a protocol message + but whose field numbers or types are unrecognized. This most frequently + occurs when new fields are added to a message type and then messages containing + those fields are read by old software that was built before the new types were + added. + + Most users will never need to use this class directly. + + + + + Creates a new UnknownFieldSet. + + + + + Checks whether or not the given field number is present in the set. + + + + + Serializes the set and writes it to . + + + + + Gets the number of bytes required to encode this set. + + + + + Checks if two unknown field sets are equal. + + + + + Gets the unknown field set's hash code. + + + + + Adds a field to the set. If a field with the same number already exists, it + is replaced. + + + + + Parse a single field from and merge it + into this set. + + The coded input stream containing the field + false if the tag is an "end group" tag, true otherwise + + + + Create a new UnknownFieldSet if unknownFields is null. + Parse a single field from and merge it + into unknownFields. If is configured to discard unknown fields, + will be returned as-is and the field will be skipped. + + The UnknownFieldSet which need to be merged + The coded input stream containing the field + The merged UnknownFieldSet + + + + Merges the fields from into this set. + If a field number exists in both sets, the values in + will be appended to the values in this set. + + + + + Created a new UnknownFieldSet to if + needed and merges the fields from into the first set. + If a field number exists in both sets, the values in + will be appended to the values in this set. + + + + + Adds a field to the unknown field set. If a field with the same + number already exists, the two are merged. + + + + + Clone an unknown field set from . + + + + Holder for reflection information generated from google/protobuf/any.proto + + + File descriptor for google/protobuf/any.proto + + + + `Any` contains an arbitrary serialized protocol buffer message along with a + URL that describes the type of the serialized message. + + Protobuf library provides support to pack/unpack Any values in the form + of utility functions or additional generated methods of the Any type. + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by default use + 'type.googleapis.com/full.type.name' as the type URL and the unpack + methods only use the fully qualified type name after the last '/' + in the type URL, for example "foo.bar.com/x/y.z" will yield type + name "y.z". + + JSON + ==== + The JSON representation of an `Any` value uses the regular + representation of the deserialized, embedded message, with an + additional field `@type` which contains the type URL. Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": <string>, + "lastName": <string> + } + + If the embedded message type is well-known and has a custom JSON + representation, that representation will be embedded adding a field + `value` which holds the custom JSON in addition to the `@type` + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + + + + Field number for the "type_url" field. + + + + A URL/resource name that uniquely identifies the type of the serialized + protocol buffer message. This string must contain at least + one "/" character. The last segment of the URL's path must represent + the fully qualified name of the type (as in + `path/google.protobuf.Duration`). The name should be in a canonical form + (e.g., leading "." is not accepted). + + In practice, teams usually precompile into the binary all types that they + expect it to use in the context of Any. However, for URLs which use the + scheme `http`, `https`, or no scheme, one can optionally set up a type + server that maps type URLs to message definitions as follows: + + * If no scheme is provided, `https` is assumed. + * An HTTP GET on the URL must yield a [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in the official + protobuf release, and it is not used for type URLs beginning with + type.googleapis.com. + + Schemes other than `http`, `https` (or the empty scheme) might be + used with implementation specific semantics. + + + + Field number for the "value" field. + + + + Must be a valid serialized protocol buffer of the above specified type. + + + + + Retrieves the type name for a type URL, matching the + of the packed message type. + + + + This is always just the last part of the URL, after the final slash. No validation of + anything before the trailing slash is performed. If the type URL does not include a slash, + an empty string is returned rather than an exception being thrown; this won't match any types, + and the calling code is probably in a better position to give a meaningful error. + + + There is no handling of fragments or queries at the moment. + + + The URL to extract the type name from + The type name + + + + Returns a bool indictating whether this Any message is of the target message type + + The descriptor of the message type + true if the type name matches the descriptor's full name or false otherwise + + + + Unpacks the content of this Any message into the target message type, + which must match the type URL within this Any message. + + The type of message to unpack the content into. + The unpacked message. + The target message type doesn't match the type URL in this message + + + + Attempts to unpack the content of this Any message into the target message type, + if it matches the type URL within this Any message. + + The type of message to attempt to unpack the content into. + true if the message was successfully unpacked; false if the type name didn't match + + + + Packs the specified message into an Any message using a type URL prefix of "type.googleapis.com". + + The message to pack. + An Any message with the content and type URL of . + + + + Packs the specified message into an Any message using the specified type URL prefix. + + The message to pack. + The prefix for the type URL. + An Any message with the content and type URL of . + + + Holder for reflection information generated from google/protobuf/api.proto + + + File descriptor for google/protobuf/api.proto + + + + Api is a light-weight descriptor for an API Interface. + + Interfaces are also described as "protocol buffer services" in some contexts, + such as by the "service" keyword in a .proto file, but they are different + from API Services, which represent a concrete implementation of an interface + as opposed to simply a description of methods and bindings. They are also + sometimes simply referred to as "APIs" in other contexts, such as the name of + this message itself. See https://cloud.google.com/apis/design/glossary for + detailed terminology. + + + + Field number for the "name" field. + + + + The fully qualified name of this interface, including package name + followed by the interface's simple name. + + + + Field number for the "methods" field. + + + + The methods of this interface, in unspecified order. + + + + Field number for the "options" field. + + + + Any metadata attached to the interface. + + + + Field number for the "version" field. + + + + A version string for this interface. If specified, must have the form + `major-version.minor-version`, as in `1.10`. If the minor version is + omitted, it defaults to zero. If the entire version field is empty, the + major version is derived from the package name, as outlined below. If the + field is not empty, the version in the package name will be verified to be + consistent with what is provided here. + + The versioning schema uses [semantic + versioning](http://semver.org) where the major version number + indicates a breaking change and the minor version an additive, + non-breaking change. Both version numbers are signals to users + what to expect from different versions, and should be carefully + chosen based on the product plan. + + The major version is also reflected in the package name of the + interface, which must end in `v<major-version>`, as in + `google.feature.v1`. For major versions 0 and 1, the suffix can + be omitted. Zero major versions must only be used for + experimental, non-GA interfaces. + + + + Field number for the "source_context" field. + + + + Source context for the protocol buffer service represented by this + message. + + + + Field number for the "mixins" field. + + + + Included interfaces. See [Mixin][]. + + + + Field number for the "syntax" field. + + + + The source syntax of the service. + + + + + Method represents a method of an API interface. + + + + Field number for the "name" field. + + + + The simple name of this method. + + + + Field number for the "request_type_url" field. + + + + A URL of the input message type. + + + + Field number for the "request_streaming" field. + + + + If true, the request is streamed. + + + + Field number for the "response_type_url" field. + + + + The URL of the output message type. + + + + Field number for the "response_streaming" field. + + + + If true, the response is streamed. + + + + Field number for the "options" field. + + + + Any metadata attached to the method. + + + + Field number for the "syntax" field. + + + + The source syntax of this method. + + + + + Declares an API Interface to be included in this interface. The including + interface must redeclare all the methods from the included interface, but + documentation and options are inherited as follows: + + - If after comment and whitespace stripping, the documentation + string of the redeclared method is empty, it will be inherited + from the original method. + + - Each annotation belonging to the service config (http, + visibility) which is not set in the redeclared method will be + inherited. + + - If an http annotation is inherited, the path pattern will be + modified as follows. Any version prefix will be replaced by the + version of the including interface plus the [root][] path if + specified. + + Example of a simple mixin: + + package google.acl.v1; + service AccessControl { + // Get the underlying ACL object. + rpc GetAcl(GetAclRequest) returns (Acl) { + option (google.api.http).get = "/v1/{resource=**}:getAcl"; + } + } + + package google.storage.v2; + service Storage { + rpc GetAcl(GetAclRequest) returns (Acl); + + // Get a data record. + rpc GetData(GetDataRequest) returns (Data) { + option (google.api.http).get = "/v2/{resource=**}"; + } + } + + Example of a mixin configuration: + + apis: + - name: google.storage.v2.Storage + mixins: + - name: google.acl.v1.AccessControl + + The mixin construct implies that all methods in `AccessControl` are + also declared with same name and request/response types in + `Storage`. A documentation generator or annotation processor will + see the effective `Storage.GetAcl` method after inherting + documentation and annotations as follows: + + service Storage { + // Get the underlying ACL object. + rpc GetAcl(GetAclRequest) returns (Acl) { + option (google.api.http).get = "/v2/{resource=**}:getAcl"; + } + ... + } + + Note how the version in the path pattern changed from `v1` to `v2`. + + If the `root` field in the mixin is specified, it should be a + relative path under which inherited HTTP paths are placed. Example: + + apis: + - name: google.storage.v2.Storage + mixins: + - name: google.acl.v1.AccessControl + root: acls + + This implies the following inherited HTTP annotation: + + service Storage { + // Get the underlying ACL object. + rpc GetAcl(GetAclRequest) returns (Acl) { + option (google.api.http).get = "/v2/acls/{resource=**}:getAcl"; + } + ... + } + + + + Field number for the "name" field. + + + + The fully qualified name of the interface which is included. + + + + Field number for the "root" field. + + + + If non-empty specifies a path under which inherited HTTP paths + are rooted. + + + + Holder for reflection information generated from google/protobuf/duration.proto + + + File descriptor for google/protobuf/duration.proto + + + + A Duration represents a signed, fixed-length span of time represented + as a count of seconds and fractions of seconds at nanosecond + resolution. It is independent of any calendar and concepts like "day" + or "month". It is related to Timestamp in that the difference between + two Timestamp values is a Duration and it can be added or subtracted + from a Timestamp. Range is approximately +-10,000 years. + + # Examples + + Example 1: Compute Duration from two Timestamps in pseudo code. + + Timestamp start = ...; + Timestamp end = ...; + Duration duration = ...; + + duration.seconds = end.seconds - start.seconds; + duration.nanos = end.nanos - start.nanos; + + if (duration.seconds < 0 && duration.nanos > 0) { + duration.seconds += 1; + duration.nanos -= 1000000000; + } else if (duration.seconds > 0 && duration.nanos < 0) { + duration.seconds -= 1; + duration.nanos += 1000000000; + } + + Example 2: Compute Timestamp from Timestamp + Duration in pseudo code. + + Timestamp start = ...; + Duration duration = ...; + Timestamp end = ...; + + end.seconds = start.seconds + duration.seconds; + end.nanos = start.nanos + duration.nanos; + + if (end.nanos < 0) { + end.seconds -= 1; + end.nanos += 1000000000; + } else if (end.nanos >= 1000000000) { + end.seconds += 1; + end.nanos -= 1000000000; + } + + Example 3: Compute Duration from datetime.timedelta in Python. + + td = datetime.timedelta(days=3, minutes=10) + duration = Duration() + duration.FromTimedelta(td) + + # JSON Mapping + + In JSON format, the Duration type is encoded as a string rather than an + object, where the string ends in the suffix "s" (indicating seconds) and + is preceded by the number of seconds, with nanoseconds expressed as + fractional seconds. For example, 3 seconds with 0 nanoseconds should be + encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should + be expressed in JSON format as "3.000000001s", and 3 seconds and 1 + microsecond should be expressed in JSON format as "3.000001s". + + + + Field number for the "seconds" field. + + + + Signed seconds of the span of time. Must be from -315,576,000,000 + to +315,576,000,000 inclusive. Note: these bounds are computed from: + 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years + + + + Field number for the "nanos" field. + + + + Signed fractions of a second at nanosecond resolution of the span + of time. Durations less than one second are represented with a 0 + `seconds` field and a positive or negative `nanos` field. For durations + of one second or more, a non-zero value for the `nanos` field must be + of the same sign as the `seconds` field. Must be from -999,999,999 + to +999,999,999 inclusive. + + + + + The number of nanoseconds in a second. + + + + + The number of nanoseconds in a BCL tick (as used by and ). + + + + + The maximum permitted number of seconds. + + + + + The minimum permitted number of seconds. + + + + + Converts this to a . + + If the duration is not a precise number of ticks, it is truncated towards 0. + The value of this duration, as a TimeSpan. + This value isn't a valid normalized duration, as + described in the documentation. + + + + Converts the given to a . + + The TimeSpan to convert. + The value of the given TimeSpan, as a Duration. + + + + Returns the result of negating the duration. For example, the negation of 5 minutes is -5 minutes. + + The duration to negate. Must not be null. + The negated value of this duration. + + + + Adds the two specified values together. + + The first value to add. Must not be null. + The second value to add. Must not be null. + + + + + Subtracts one from another. + + The duration to subtract from. Must not be null. + The duration to subtract. Must not be null. + The difference between the two specified durations. + + + + Creates a duration with the normalized values from the given number of seconds and + nanoseconds, conforming with the description in the proto file. + + + + + Converts a duration specified in seconds/nanoseconds to a string. + + + If the value is a normalized duration in the range described in duration.proto, + is ignored. Otherwise, if the parameter is true, + a JSON object with a warning is returned; if it is false, an is thrown. + + Seconds portion of the duration. + Nanoseconds portion of the duration. + Determines the handling of non-normalized values + The represented duration is invalid, and is false. + + + + Returns a string representation of this for diagnostic purposes. + + + Normally the returned value will be a JSON string value (including leading and trailing quotes) but + when the value is non-normalized or out of range, a JSON object representation will be returned + instead, including a warning. This is to avoid exceptions being thrown when trying to + diagnose problems - the regular JSON formatter will still throw an exception for non-normalized + values. + + A string representation of this value. + + + + Appends a number of nanoseconds to a StringBuilder. Either 0 digits are added (in which + case no "." is appended), or 3 6 or 9 digits. This is internal for use in Timestamp as well + as Duration. + + + + Holder for reflection information generated from google/protobuf/empty.proto + + + File descriptor for google/protobuf/empty.proto + + + + A generic empty message that you can re-use to avoid defining duplicated + empty messages in your APIs. A typical example is to use it as the request + or the response type of an API method. For instance: + + service Foo { + rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); + } + + The JSON representation for `Empty` is empty JSON object `{}`. + + + + Holder for reflection information generated from google/protobuf/field_mask.proto + + + File descriptor for google/protobuf/field_mask.proto + + + + `FieldMask` represents a set of symbolic field paths, for example: + + paths: "f.a" + paths: "f.b.d" + + Here `f` represents a field in some root message, `a` and `b` + fields in the message found in `f`, and `d` a field found in the + message in `f.b`. + + Field masks are used to specify a subset of fields that should be + returned by a get operation or modified by an update operation. + Field masks also have a custom JSON encoding (see below). + + # Field Masks in Projections + + When used in the context of a projection, a response message or + sub-message is filtered by the API to only contain those fields as + specified in the mask. For example, if the mask in the previous + example is applied to a response message as follows: + + f { + a : 22 + b { + d : 1 + x : 2 + } + y : 13 + } + z: 8 + + The result will not contain specific values for fields x,y and z + (their value will be set to the default, and omitted in proto text + output): + + f { + a : 22 + b { + d : 1 + } + } + + A repeated field is not allowed except at the last position of a + paths string. + + If a FieldMask object is not present in a get operation, the + operation applies to all fields (as if a FieldMask of all fields + had been specified). + + Note that a field mask does not necessarily apply to the + top-level response message. In case of a REST get operation, the + field mask applies directly to the response, but in case of a REST + list operation, the mask instead applies to each individual message + in the returned resource list. In case of a REST custom method, + other definitions may be used. Where the mask applies will be + clearly documented together with its declaration in the API. In + any case, the effect on the returned resource/resources is required + behavior for APIs. + + # Field Masks in Update Operations + + A field mask in update operations specifies which fields of the + targeted resource are going to be updated. The API is required + to only change the values of the fields as specified in the mask + and leave the others untouched. If a resource is passed in to + describe the updated values, the API ignores the values of all + fields not covered by the mask. + + If a repeated field is specified for an update operation, new values will + be appended to the existing repeated field in the target resource. Note that + a repeated field is only allowed in the last position of a `paths` string. + + If a sub-message is specified in the last position of the field mask for an + update operation, then new value will be merged into the existing sub-message + in the target resource. + + For example, given the target message: + + f { + b { + d: 1 + x: 2 + } + c: [1] + } + + And an update message: + + f { + b { + d: 10 + } + c: [2] + } + + then if the field mask is: + + paths: ["f.b", "f.c"] + + then the result will be: + + f { + b { + d: 10 + x: 2 + } + c: [1, 2] + } + + An implementation may provide options to override this default behavior for + repeated and message fields. + + In order to reset a field's value to the default, the field must + be in the mask and set to the default value in the provided resource. + Hence, in order to reset all fields of a resource, provide a default + instance of the resource and set all fields in the mask, or do + not provide a mask as described below. + + If a field mask is not present on update, the operation applies to + all fields (as if a field mask of all fields has been specified). + Note that in the presence of schema evolution, this may mean that + fields the client does not know and has therefore not filled into + the request will be reset to their default. If this is unwanted + behavior, a specific service may require a client to always specify + a field mask, producing an error if not. + + As with get operations, the location of the resource which + describes the updated values in the request message depends on the + operation kind. In any case, the effect of the field mask is + required to be honored by the API. + + ## Considerations for HTTP REST + + The HTTP kind of an update operation which uses a field mask must + be set to PATCH instead of PUT in order to satisfy HTTP semantics + (PUT must only be used for full updates). + + # JSON Encoding of Field Masks + + In JSON, a field mask is encoded as a single string where paths are + separated by a comma. Fields name in each path are converted + to/from lower-camel naming conventions. + + As an example, consider the following message declarations: + + message Profile { + User user = 1; + Photo photo = 2; + } + message User { + string display_name = 1; + string address = 2; + } + + In proto a field mask for `Profile` may look as such: + + mask { + paths: "user.display_name" + paths: "photo" + } + + In JSON, the same mask is represented as below: + + { + mask: "user.displayName,photo" + } + + # Field Masks and Oneof Fields + + Field masks treat fields in oneofs just as regular fields. Consider the + following message: + + message SampleMessage { + oneof test_oneof { + string name = 4; + SubMessage sub_message = 9; + } + } + + The field mask can be: + + mask { + paths: "name" + } + + Or: + + mask { + paths: "sub_message" + } + + Note that oneof type names ("test_oneof" in this case) cannot be used in + paths. + + ## Field Mask Verification + + The implementation of any API method which has a FieldMask type field in the + request should verify the included field paths, and return an + `INVALID_ARGUMENT` error if any path is unmappable. + + + + Field number for the "paths" field. + + + + The set of field mask paths. + + + + + Converts a field mask specified by paths to a string. + + + If the value is a normalized duration in the range described in field_mask.proto, + is ignored. Otherwise, if the parameter is true, + a JSON object with a warning is returned; if it is false, an is thrown. + + Paths in the field mask + Determines the handling of non-normalized values + The represented field mask is invalid, and is false. + + + + Returns a string representation of this for diagnostic purposes. + + + Normally the returned value will be a JSON string value (including leading and trailing quotes) but + when the value is non-normalized or out of range, a JSON object representation will be returned + instead, including a warning. This is to avoid exceptions being thrown when trying to + diagnose problems - the regular JSON formatter will still throw an exception for non-normalized + values. + + A string representation of this value. + + + + Parses from a string to a FieldMask. + + + + + Parses from a string to a FieldMask and validates all field paths. + + The type to validate the field paths against. + + + + Constructs a FieldMask for a list of field paths in a certain type. + + The type to validate the field paths against. + + + + Constructs a FieldMask from the passed field numbers. + + The type to validate the field paths against. + + + + Constructs a FieldMask from the passed field numbers. + + The type to validate the field paths against. + + + + Checks whether the given path is valid for a field mask. + + true if the path is valid; false otherwise + + + + Checks whether paths in a given fields mask are valid. + + The type to validate the field paths against. + + + + Checks whether paths in a given fields mask are valid. + + + + + Checks whether a given field path is valid. + + The type to validate the field paths against. + + + + Checks whether paths in a given fields mask are valid. + + + + + Converts this FieldMask to its canonical form. In the canonical form of a + FieldMask, all field paths are sorted alphabetically and redundant field + paths are removed. + + + + + Creates a union of two or more FieldMasks. + + + + + Calculates the intersection of two FieldMasks. + + + + + Merges fields specified by this FieldMask from one message to another with the + specified merge options. + + + + + Merges fields specified by this FieldMask from one message to another. + + + + + Options to customize merging behavior. + + + + + Whether to replace message fields(i.e., discard existing content in + destination message fields) when merging. + Default behavior is to merge the source message field into the + destination message field. + + + + + Whether to replace repeated fields (i.e., discard existing content in + destination repeated fields) when merging. + Default behavior is to append elements from source repeated field to the + destination repeated field. + + + + + Whether to replace primitive (non-repeated and non-message) fields in + destination message fields with the source primitive fields (i.e., if the + field is set in the source, the value is copied to the + destination; if the field is unset in the source, the field is cleared + from the destination) when merging. + + Default behavior is to always set the value of the source primitive + field to the destination primitive field, and if the source field is + unset, the default value of the source field is copied to the + destination. + + + + Holder for reflection information generated from google/protobuf/source_context.proto + + + File descriptor for google/protobuf/source_context.proto + + + + `SourceContext` represents information about the source of a + protobuf element, like the file in which it is defined. + + + + Field number for the "file_name" field. + + + + The path-qualified name of the .proto file that contained the associated + protobuf element. For example: `"google/protobuf/source_context.proto"`. + + + + Holder for reflection information generated from google/protobuf/struct.proto + + + File descriptor for google/protobuf/struct.proto + + + + `NullValue` is a singleton enumeration to represent the null value for the + `Value` type union. + + The JSON representation for `NullValue` is JSON `null`. + + + + + Null value. + + + + + `Struct` represents a structured data value, consisting of fields + which map to dynamically typed values. In some languages, `Struct` + might be supported by a native representation. For example, in + scripting languages like JS a struct is represented as an + object. The details of that representation are described together + with the proto support for the language. + + The JSON representation for `Struct` is JSON object. + + + + Field number for the "fields" field. + + + + Unordered map of dynamically typed values. + + + + + `Value` represents a dynamically typed value which can be either + null, a number, a string, a boolean, a recursive struct value, or a + list of values. A producer of value is expected to set one of that + variants, absence of any variant indicates an error. + + The JSON representation for `Value` is JSON value. + + + + Field number for the "null_value" field. + + + + Represents a null value. + + + + Field number for the "number_value" field. + + + + Represents a double value. + + + + Field number for the "string_value" field. + + + + Represents a string value. + + + + Field number for the "bool_value" field. + + + + Represents a boolean value. + + + + Field number for the "struct_value" field. + + + + Represents a structured value. + + + + Field number for the "list_value" field. + + + + Represents a repeated `Value`. + + + + Enum of possible cases for the "kind" oneof. + + + + Convenience method to create a Value message with a string value. + + Value to set for the StringValue property. + A newly-created Value message with the given value. + + + + Convenience method to create a Value message with a number value. + + Value to set for the NumberValue property. + A newly-created Value message with the given value. + + + + Convenience method to create a Value message with a Boolean value. + + Value to set for the BoolValue property. + A newly-created Value message with the given value. + + + + Convenience method to create a Value message with a null initial value. + + A newly-created Value message a null initial value. + + + + Convenience method to create a Value message with an initial list of values. + + The values provided are not cloned; the references are copied directly. + A newly-created Value message an initial list value. + + + + Convenience method to create a Value message with an initial struct value + + The value provided is not cloned; the reference is copied directly. + A newly-created Value message an initial struct value. + + + + `ListValue` is a wrapper around a repeated field of values. + + The JSON representation for `ListValue` is JSON array. + + + + Field number for the "values" field. + + + + Repeated field of dynamically typed values. + + + + + Extension methods on BCL time-related types, converting to protobuf types. + + + + + Converts the given to a . + + The date and time to convert to a timestamp. + The value has a other than Utc. + The converted timestamp. + + + + Converts the given to a + + The offset is taken into consideration when converting the value (so the same instant in time + is represented) but is not a separate part of the resulting value. In other words, there is no + roundtrip operation to retrieve the original DateTimeOffset. + The date and time (with UTC offset) to convert to a timestamp. + The converted timestamp. + + + + Converts the given to a . + + The time span to convert. + The converted duration. + + + Holder for reflection information generated from google/protobuf/timestamp.proto + + + File descriptor for google/protobuf/timestamp.proto + + + + A Timestamp represents a point in time independent of any time zone or local + calendar, encoded as a count of seconds and fractions of seconds at + nanosecond resolution. The count is relative to an epoch at UTC midnight on + January 1, 1970, in the proleptic Gregorian calendar which extends the + Gregorian calendar backwards to year one. + + All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap + second table is needed for interpretation, using a [24-hour linear + smear](https://developers.google.com/time/smear). + + The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By + restricting to that range, we ensure that we can convert to and from [RFC + 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings. + + # Examples + + Example 1: Compute Timestamp from POSIX `time()`. + + Timestamp timestamp; + timestamp.set_seconds(time(NULL)); + timestamp.set_nanos(0); + + Example 2: Compute Timestamp from POSIX `gettimeofday()`. + + struct timeval tv; + gettimeofday(&tv, NULL); + + Timestamp timestamp; + timestamp.set_seconds(tv.tv_sec); + timestamp.set_nanos(tv.tv_usec * 1000); + + Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`. + + FILETIME ft; + GetSystemTimeAsFileTime(&ft); + UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime; + + // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z + // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. + Timestamp timestamp; + timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); + timestamp.set_nanos((INT32) ((ticks % 10000000) * 100)); + + Example 4: Compute Timestamp from Java `System.currentTimeMillis()`. + + long millis = System.currentTimeMillis(); + + Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) + .setNanos((int) ((millis % 1000) * 1000000)).build(); + + Example 5: Compute Timestamp from current time in Python. + + timestamp = Timestamp() + timestamp.GetCurrentTime() + + # JSON Mapping + + In JSON format, the Timestamp type is encoded as a string in the + [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the + format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" + where {year} is always expressed using four digits while {month}, {day}, + {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional + seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), + are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone + is required. A proto3 JSON serializer should always use UTC (as indicated by + "Z") when printing the Timestamp type and a proto3 JSON parser should be + able to accept both UTC and other timezones (as indicated by an offset). + + For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past + 01:30 UTC on January 15, 2017. + + In JavaScript, one can convert a Date object to this format using the + standard + [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString) + method. In Python, a standard `datetime.datetime` object can be converted + to this format using + [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with + the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use + the Joda Time's [`ISODateTimeFormat.dateTime()`]( + http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime%2D%2D + ) to obtain a formatter capable of generating timestamps in this format. + + + + Field number for the "seconds" field. + + + + Represents seconds of UTC time since Unix epoch + 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to + 9999-12-31T23:59:59Z inclusive. + + + + Field number for the "nanos" field. + + + + Non-negative fractions of a second at nanosecond resolution. Negative + second values with fractions must still have non-negative nanos values + that count forward in time. Must be from 0 to 999,999,999 + inclusive. + + + + + Returns the difference between one and another, as a . + + The timestamp to subtract from. Must not be null. + The timestamp to subtract. Must not be null. + The difference between the two specified timestamps. + + + + Adds a to a , to obtain another Timestamp. + + The timestamp to add the duration to. Must not be null. + The duration to add. Must not be null. + The result of adding the duration to the timestamp. + + + + Subtracts a from a , to obtain another Timestamp. + + The timestamp to subtract the duration from. Must not be null. + The duration to subtract. + The result of subtracting the duration from the timestamp. + + + + Converts this timestamp into a . + + + The resulting DateTime will always have a Kind of Utc. + If the timestamp is not a precise number of ticks, it will be truncated towards the start + of time. For example, a timestamp with a value of 99 will result in a + value precisely on a second. + + This timestamp as a DateTime. + The timestamp contains invalid values; either it is + incorrectly normalized or is outside the valid range. + + + + Converts this timestamp into a . + + + The resulting DateTimeOffset will always have an Offset of zero. + If the timestamp is not a precise number of ticks, it will be truncated towards the start + of time. For example, a timestamp with a value of 99 will result in a + value precisely on a second. + + This timestamp as a DateTimeOffset. + The timestamp contains invalid values; either it is + incorrectly normalized or is outside the valid range. + + + + Converts the specified to a . + + + The Kind of is not DateTimeKind.Utc. + The converted timestamp. + + + + Converts the given to a + + The offset is taken into consideration when converting the value (so the same instant in time + is represented) but is not a separate part of the resulting value. In other words, there is no + roundtrip operation to retrieve the original DateTimeOffset. + The date and time (with UTC offset) to convert to a timestamp. + The converted timestamp. + + + + Converts a timestamp specified in seconds/nanoseconds to a string. + + + If the value is a normalized duration in the range described in timestamp.proto, + is ignored. Otherwise, if the parameter is true, + a JSON object with a warning is returned; if it is false, an is thrown. + + Seconds portion of the duration. + Nanoseconds portion of the duration. + Determines the handling of non-normalized values + The represented duration is invalid, and is false. + + + + Given another timestamp, returns 0 if the timestamps are equivalent, -1 if this timestamp precedes the other, and 1 otherwise + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + Timestamp to compare + an integer indicating whether this timestamp precedes or follows the other + + + + Compares two timestamps and returns whether the first is less than (chronologically precedes) the second + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if a precedes b + + + + Compares two timestamps and returns whether the first is greater than (chronologically follows) the second + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if a follows b + + + + Compares two timestamps and returns whether the first is less than (chronologically precedes) the second + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if a precedes b + + + + Compares two timestamps and returns whether the first is greater than (chronologically follows) the second + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if a follows b + + + + Returns whether two timestamps are equivalent + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if the two timestamps refer to the same nanosecond + + + + Returns whether two timestamps differ + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if the two timestamps differ + + + + Returns a string representation of this for diagnostic purposes. + + + Normally the returned value will be a JSON string value (including leading and trailing quotes) but + when the value is non-normalized or out of range, a JSON object representation will be returned + instead, including a warning. This is to avoid exceptions being thrown when trying to + diagnose problems - the regular JSON formatter will still throw an exception for non-normalized + values. + + A string representation of this value. + + + Holder for reflection information generated from google/protobuf/type.proto + + + File descriptor for google/protobuf/type.proto + + + + The syntax in which a protocol buffer element is defined. + + + + + Syntax `proto2`. + + + + + Syntax `proto3`. + + + + + A protocol buffer message type. + + + + Field number for the "name" field. + + + + The fully qualified message name. + + + + Field number for the "fields" field. + + + + The list of fields. + + + + Field number for the "oneofs" field. + + + + The list of types appearing in `oneof` definitions in this type. + + + + Field number for the "options" field. + + + + The protocol buffer options. + + + + Field number for the "source_context" field. + + + + The source context. + + + + Field number for the "syntax" field. + + + + The source syntax. + + + + + A single field of a message type. + + + + Field number for the "kind" field. + + + + The field type. + + + + Field number for the "cardinality" field. + + + + The field cardinality. + + + + Field number for the "number" field. + + + + The field number. + + + + Field number for the "name" field. + + + + The field name. + + + + Field number for the "type_url" field. + + + + The field type URL, without the scheme, for message or enumeration + types. Example: `"type.googleapis.com/google.protobuf.Timestamp"`. + + + + Field number for the "oneof_index" field. + + + + The index of the field type in `Type.oneofs`, for message or enumeration + types. The first type has index 1; zero means the type is not in the list. + + + + Field number for the "packed" field. + + + + Whether to use alternative packed wire representation. + + + + Field number for the "options" field. + + + + The protocol buffer options. + + + + Field number for the "json_name" field. + + + + The field JSON name. + + + + Field number for the "default_value" field. + + + + The string value of the default value of this field. Proto2 syntax only. + + + + Container for nested types declared in the Field message type. + + + + Basic field types. + + + + + Field type unknown. + + + + + Field type double. + + + + + Field type float. + + + + + Field type int64. + + + + + Field type uint64. + + + + + Field type int32. + + + + + Field type fixed64. + + + + + Field type fixed32. + + + + + Field type bool. + + + + + Field type string. + + + + + Field type group. Proto2 syntax only, and deprecated. + + + + + Field type message. + + + + + Field type bytes. + + + + + Field type uint32. + + + + + Field type enum. + + + + + Field type sfixed32. + + + + + Field type sfixed64. + + + + + Field type sint32. + + + + + Field type sint64. + + + + + Whether a field is optional, required, or repeated. + + + + + For fields with unknown cardinality. + + + + + For optional fields. + + + + + For required fields. Proto2 syntax only. + + + + + For repeated fields. + + + + + Enum type definition. + + + + Field number for the "name" field. + + + + Enum type name. + + + + Field number for the "enumvalue" field. + + + + Enum value definitions. + + + + Field number for the "options" field. + + + + Protocol buffer options. + + + + Field number for the "source_context" field. + + + + The source context. + + + + Field number for the "syntax" field. + + + + The source syntax. + + + + + Enum value definition. + + + + Field number for the "name" field. + + + + Enum value name. + + + + Field number for the "number" field. + + + + Enum value number. + + + + Field number for the "options" field. + + + + Protocol buffer options. + + + + + A protocol buffer option, which can be attached to a message, field, + enumeration, etc. + + + + Field number for the "name" field. + + + + The option's name. For protobuf built-in options (options defined in + descriptor.proto), this is the short name. For example, `"map_entry"`. + For custom options, it should be the fully-qualified name. For example, + `"google.api.http"`. + + + + Field number for the "value" field. + + + + The option's value packed in an Any message. If the value is a primitive, + the corresponding wrapper type defined in google/protobuf/wrappers.proto + should be used. If the value is an enum, it should be stored as an int32 + value using the google.protobuf.Int32Value type. + + + + Holder for reflection information generated from google/protobuf/wrappers.proto + + + File descriptor for google/protobuf/wrappers.proto + + + + Field number for the single "value" field in all wrapper types. + + + + + Wrapper message for `double`. + + The JSON representation for `DoubleValue` is JSON number. + + + + Field number for the "value" field. + + + + The double value. + + + + + Wrapper message for `float`. + + The JSON representation for `FloatValue` is JSON number. + + + + Field number for the "value" field. + + + + The float value. + + + + + Wrapper message for `int64`. + + The JSON representation for `Int64Value` is JSON string. + + + + Field number for the "value" field. + + + + The int64 value. + + + + + Wrapper message for `uint64`. + + The JSON representation for `UInt64Value` is JSON string. + + + + Field number for the "value" field. + + + + The uint64 value. + + + + + Wrapper message for `int32`. + + The JSON representation for `Int32Value` is JSON number. + + + + Field number for the "value" field. + + + + The int32 value. + + + + + Wrapper message for `uint32`. + + The JSON representation for `UInt32Value` is JSON number. + + + + Field number for the "value" field. + + + + The uint32 value. + + + + + Wrapper message for `bool`. + + The JSON representation for `BoolValue` is JSON `true` and `false`. + + + + Field number for the "value" field. + + + + The bool value. + + + + + Wrapper message for `string`. + + The JSON representation for `StringValue` is JSON string. + + + + Field number for the "value" field. + + + + The string value. + + + + + Wrapper message for `bytes`. + + The JSON representation for `BytesValue` is JSON string. + + + + Field number for the "value" field. + + + + The bytes value. + + + + + This class is used internally by the Protocol Buffer Library and generated + message implementations. It is public only for the sake of those generated + messages. Others should not use this class directly. + + This class contains constants and helper functions useful for dealing with + the Protocol Buffer wire format. + + + + + + Wire types within protobuf encoding. + + + + + Variable-length integer. + + + + + A fixed-length 64-bit value. + + + + + A length-delimited value, i.e. a length followed by that many bytes of data. + + + + + A "start group" value + + + + + An "end group" value + + + + + A fixed-length 32-bit value. + + + + + Given a tag value, determines the wire type (lower 3 bits). + + + + + Given a tag value, determines the field number (the upper 29 bits). + + + + + Makes a tag value given a field number and wire type. + + + + diff --git a/Plugins/LC.Google.Protobuf.xml.meta b/Plugins/LC.Google.Protobuf.xml.meta new file mode 100644 index 0000000..695f587 --- /dev/null +++ b/Plugins/LC.Google.Protobuf.xml.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 26f85e199da1c46409c3ac3c0df9f69e +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/LiveQuery.deps.json b/Plugins/LiveQuery.deps.json new file mode 100644 index 0000000..b49ba21 --- /dev/null +++ b/Plugins/LiveQuery.deps.json @@ -0,0 +1,111 @@ +{ + "runtimeTarget": { + "name": ".NETStandard,Version=v2.0/", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETStandard,Version=v2.0": {}, + ".NETStandard,Version=v2.0/": { + "LiveQuery/1.0.0": { + "dependencies": { + "NETStandard.Library": "2.0.3", + "Realtime": "1.0.0" + }, + "runtime": { + "LiveQuery.dll": {} + } + }, + "Microsoft.NETCore.Platforms/1.1.0": {}, + "NETStandard.Library/2.0.3": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0" + } + }, + "Common/1.0.0": { + "dependencies": { + "LC.Newtonsoft.Json": "11.0.1-beta2" + }, + "runtime": { + "Common.dll": {} + } + }, + "LC.Google.Protobuf/3.12.4": { + "dependencies": { + "NETStandard.Library": "2.0.3" + }, + "runtime": { + "LC.Google.Protobuf.dll": {} + } + }, + "LC.Newtonsoft.Json/11.0.1-beta2": { + "runtime": { + "LC.Newtonsoft.Json.dll": {} + } + }, + "Realtime/1.0.0": { + "dependencies": { + "LC.Google.Protobuf": "3.12.4", + "Storage": "1.0.0" + }, + "runtime": { + "Realtime.dll": {} + } + }, + "Storage/1.0.0": { + "dependencies": { + "Common": "1.0.0" + }, + "runtime": { + "Storage.dll": {} + } + } + } + }, + "libraries": { + "LiveQuery/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Microsoft.NETCore.Platforms/1.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==", + "path": "microsoft.netcore.platforms/1.1.0", + "hashPath": "microsoft.netcore.platforms.1.1.0.nupkg.sha512" + }, + "NETStandard.Library/2.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==", + "path": "netstandard.library/2.0.3", + "hashPath": "netstandard.library.2.0.3.nupkg.sha512" + }, + "Common/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "LC.Google.Protobuf/3.12.4": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "LC.Newtonsoft.Json/11.0.1-beta2": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Realtime/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Storage/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/Plugins/LiveQuery.deps.json.meta b/Plugins/LiveQuery.deps.json.meta new file mode 100644 index 0000000..675c02b --- /dev/null +++ b/Plugins/LiveQuery.deps.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 4d3755075f3e345adb7d8f50c5da2b09 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/LiveQuery.dll b/Plugins/LiveQuery.dll new file mode 100644 index 0000000000000000000000000000000000000000..b2c86e55511ed151cc3be30c62ac48700e745523 GIT binary patch literal 22016 zcmeHvdw3kxmFKDI>ZqEI%-|k&R_Z*aF$IEtz*Bx23Y(xYZ?h zw~R$wL<%Me2@E(xCc_LfF$wwdSjb}&=3_`QAshGxCSi7xA+K++J_yNXlOY>2EZ-zM zi`m~fx4OF|8^W;r*L>Sh_ug~Pz2~0SJ@?k_mUrKH9|efW!1LytM31B9&vq%_zL*5L zdhrw0^wsclO^<86&ovDkP3IG%Irm5|HIf)gWwUM}amY#J#EHgXG~0``BoWcti1q+uD(v5kpibbK#6wggZC%OD2$o+yPoe~# zKLI*;CwJxlE42qQ3ZD%4_Hknp?AZ{rKWB-ez>Q{z24>UV4o(n-eDo0DT|T(A;G8S~ zerh)g&_q{HZb0%$5FKpI<#R)TM7BvZSkb+Be4p)bS8LA6xai2T(pfyrYnH&rV-=W0kLFdh zpe;aaphgh=^&A?badI0ls--Fy24uQ(0j$A6}aYKmxEV~~46Gz3b>orf+}o1VwC zVHXCn$G~Sntr0UeKM7pS$iZBr@t_Rd{3xS>W9wn(S~F(mV2#lvI@qgs0fOEh)Cp*7 z8QKP@rwnZdbf64v05nvF)--R78OaD%YI8Rl2tc#B9gQk(tVg4o8>`T`gd0t0U_F}6 zbCd9~-4e^WU=<4{7XnHyLJ@WsqukQ;=9_O$+u;^7>?Q!eu!=N{(`g(1w`H0Qr6hjf z3QiF*9mYpknJo+SxW=Jmw#3XL>|!imt*=;RxlmihT!7YM3}Uk~W<_~SqaN3jFud6k zH;b^iH#+1ZTzEL?qo*Qt57&WW=8bIc-Qw4^fv({`7MwW-wNj^BE$aa{*SIJ%Lmz`K(py`U%Je z_>@8?5rv#j7)oA-?yI)xMsgz>$ex(h#}kXFoSQJE@WceD>n9)(^Hk_0Jj^^9D(9#m z<)8_q046Of<%Sp7BrWm zAM`i#S1`Wa!(id6krT)y_5|`2R4Cg8>%Xi6loTB>v*-ZrSqFtqBC1#ihRQmqy#gtq z%mZ7M@VL_BfjOCnLMP!X=E0DU2l`S>@c_l1*x~W$lsYicC3XD-Vw-s>GG{mD#ZYoP zhACe&ueeVhWg+w%KqG+@md@b31gjKgsF1Iihm!9KFc?&z-~4 zFq7RNO9HlXzu>i^tNnvdgrOwXrd_2MIYz>9!`%sR^CT!%?w`4@+G|>F#74u5l{cD} zP1q*>6+~I0!l2dyO4IzSwl)+qVpc4ahmmX-MzNb00;Be;JS^!U(amyUP}`Hi?L~V< z^VLd`&fF#78onEfYic9e&74}y+-1PaZr1|oIg;HyOo{77L;;doU`4ZOxv;K1Z6#q( zdzw~tU}GwMHbEVJuu=(`RQssM1%81j@V?>^boVnN*@OkKVio%Gxuh9248}f1Wls#C zH=k_|NL@eCFZC&f=G_tJgVK2hE3X_2*L&k`@Wx%I#wj#!rW^|lm1DsqGeFb;9(s{a zP!JV584u>V6Q;%c-Wg5dvl2t z)xB{$(Ie#b?nhe;=)pH|=)DI+YOT1Hd@mYzV+CqLomdEUlY`9fAomExL&+2xu-e?R zVxft}6|04GKGigz!=41IF`+i3pW^y_J>0XPVzp565I9wZTb73TjlfP0Gh?iEo-;QN zsT5uW$^9|lS|jP8Pt2%Oo$4A~uxxgZ09hN3hm%K{Lx(=EELwOXQ4uYybKo_f`xqif zFEXJvte@igd_4l+Ct5g}1}Ak~@KVM~%UkSxFgLCIEj*{K4h?+XH)FPY47lk;ZA4#u zUIkR0*iXe%EW+<7_VoOVQj;T~VL_JGG_oIk12cUG4!%5NVErsb6){^zJjc&=_9u|&ERk2t8qIwTcC8Y#hU-Ez3~Iy;WzcQ1LYTiEGbWH- zutJugjAMI--I}L|^&(?yf#=$1O&$a`Y|RxuTe&VHrsvfL*%-oEIO2FMHmaS8_Kd^l zYP`wQXa9=kVIB?kU@?65Fz7sbV3ETf%R#cu&3_4mXA2Fw%L{=Q_`l%5AB7|y{2E~Y z!ieeK!ieIqJ#$?w&n*S9K@z!)j!1s7T)eQD5|35!fU;h@SdXRA!xJmHlJ~NBKu;oh zHc#)@i;S((PjTh59S;E$u^mihuuX)GjK}Lq#Z(n^DUOt_Ec(0em2I^G{Cu_w&>#$g ztP5KuL9)%3E6j%0VkM2S+L9u#6cxCW9-2UqLWN6F#&tc3+}(U`9vJCGCPej9T=^0t zj{+Y~kP-lq$_Z7s+#Fj!k75FwkU^M#PqV9^Vjx)n+B<}|+!S_k=2h9%Cl)8yw-)RD zaQ!r^dgrRv6zZQ9t}sfaivc9a3qpQ^R%NE84E9RMIyI~C3MX%4ODwo3(Mn=Zm-o|Bd`^Cl7I|x#-!1~lQzd-^^a%9DaRB;IX1cIGb=Kbo;(VA!urs29ZC*Z7`S=*dcDY4=*g8&PafjwSw3e? zH;AUfP1uBeE3bl8D^G(k5SfmgB#ZUpe3hS~22V$p!nX#4bUgwC`yF(=3?%4yIjV>` zcLlWU4uI8GJjj;x6j)hBgrDI~z(nrtC^*Nw5A|xbK$!z_%x13C8wzp^7I^cy*D+Wx zG689ZtMm1+gWB+T6!=VnPZZYL#G~g-T!D(0V^JMk=jYZV-|0oBx>M+y#NzT!;YF}Q z$dyUC1L#^851y}wwpuLc-hr;_(8YVf0YKQJdFhJ4*izb=fsz+*K}4d{$Zu`I?=~cF9LUBZeZBH)7ouFK4D&4GKbhK=8wk;TE$~W zFZ9RfV|YG|XAA6#Gn3>PRMM_T4DzW4q%xk*9}9tN#smMBa?(Z!F(ZBtV$dRqUj!=0 z@0F-<{y1PZT=6@MQ##1|OE9?)nphGp?g!A6nDAwDK8G_GMB#R>)EhF^Y$Hd+@4-zk zG6Bn$D_=nHC~w(XmUYpa0jqK|V5yq{^n>L7n*m@JGX|y>Nz~1NC2vbJg>9GkeM@1d z``&@1US1Invt8TtC6h7}7+s3k`X}Rhs1gHz=riAk8|$=2D!LL z^-W@XvulGmCbPdTd=X;rvMjt>@sB$?+>AjUStBlWpVBEFOT!yvZmv; zmYP3ixp!mA6};X>o_hePcL9D)ISOd?Hu001HZ-vlY`kglngZuHPao2YjOBL}u6@TZ znKLBEuP6@nvgm|Somfrr!P@&H%%iru3#g&wy&$gQ{hvQ6JUH;sKjMkw;e3Qje9G%` z7oLQN$Jv(66G-029FVKA{}&V;KHUWpe0nvih`ITXF$QjZ1(ix}3oLbCaqzGf~Jy_+qe9?;xeR6q2qGl!7eH8RhCNY8S-j9M8D>6xG!(lP7 zSaF8|v-Y6m4Hi+?eD1rDMK3Y|iU=jWS*&UiAxd&i_{KvuYHaJnv(897#v{o!jM`?L8 zyMTJ(`s1_O=9#`?Vc)sDg7wbjrT59(K2+9k0CV`x+yOcdKf}E6<8>fGzZ+0Nzj`dVCeUzHx)GR7 z91nADJJ<8ZV>WuN;xJQ8iFnx=5W_D`W5Qs}2^(&;bH9eb zvg&8aTge0$J;c3@%uiwZcOtVAZLxjj6X)N2vjnWUCO0pD7jQ9|92zdzuvLs*uxnez zT4*O{jt05!Y_9R`{+oI*2~JTKpQ1!~F?7uGo$4!SZz;$-9JC=MMfxC~FW?E{@#pYw z!$sf21NWBpH^$zf%O090QaXbmnUWR|3chOhq%u-L)?A^x|sA?w6CMTwTM1N_laJo ziD&s7`d8DG{UgZ#1&c=w0$)x0!)t*5W~4V#O%B>7{mf+Q4wP|vIdmWpr-#i0tVMV) z_&g(0Js9QoHv$iaO!|6&+qLG-=p1SapAN-oaX25EL$60pgZg_&8>g$l$D{zPWYg-< zXQL)Pfp(mh8+r8qR3wj{hoB4lX%)K_KIH#u==af|M=z816jGvTF%;!*1VFpTK5Bj$ z&>ZP`-a2Yt2EWh6JT>$xoIZgYq$L71fae6_W|=@74->SURtSW^1(d{pJg!=x7Fs3H zA>p!?S_Jw}0$oO}0zE0vR%#RIIe|LxT`6;UQJ`J4K_E?L@1u)T(e~;an@+7NX`=OO(0n41EJ6BZy@5Y z7icQF@SSar0C zw^q7?`lELQ>*=%ywHjNHd!7+!iarq-vF1?QrQCChS|S=U(e)m*BFfNx9#oGR=F;;5 zy`*gunz5S4y`-HFEC8*}gP1mt>RKzbd9=)fm^Pobuc^@H(_Rl^+5&pDtwO{8xK=?- zYor%Fi05mhSADdF^whe_xP|n*2l2Q?bo#OiZ4uq?K}=grjh9zwi>bwfn3kYdac@!5 zFM(GS1u?CO9^_5k)4hov@gSxxq0@W_@Mufueh*^WQW|cr(3VocgP69AzPhbKYW(A4XpO!=;Y1N_fkVV5ek$82sd7HVCHPc<8&jF}VQGA`|#rEEY? zod#rVwZYW?7bSLOe5*c%UnEW8S42~|@|eOeb*8WHXOI11th{@|A43fOIPx&|k>ypNqldIT#uw3k#D0R? z=9BoAeOvTt`fF{2!M=Sg@FVQVj|E<*aeN2)26kD-yhLMxdhHCo7Fwva3#LnE>7^?p z*Jx4tj`?0~oOT)x$}a|vY0qj}bQ0zK=o#&1a-*Nox z%REej<`1lu+;)BimDMg24#2z^U$0{vZI%xCn6v|{*4N@+dVYwi|(8S@i8rF}dEFKCYi7|-%NOVRN1Kv>fPPs10#(wot~ z7x^hFT0BJ02i`#Y$NKB^5G@XE3*alJKvy89rJ}o0el6S|I72^+ToeA0mjiTON8 z_rhOi=-05)1KQfE4+fg_FGcPST&g!kKN@&gdOjjOACaEDnCnN>MbDeBLk8C9QtbiA zaH&L2muS?ae@mZlY!(T-XraB^_$p%Ku<>=o#`{om3~ZLMn`P`~89Pj@(Xd!)SnM-Q zoYls)LfA zVJ$pcgH^kMUJHhB68s&?cC@Q$JG~K1&=5^ntysxi*3$b?E})N~TuPru*-T$Sxt@N7 z@(TJr%1$yvt#l35qU;y^O(?eupMz2k3AagUKS{@EQRv&!ei7|~&`Z*OSxVB5(cK|U zV;KTcCV=^y&{Ao4N;xFu9a4Tu%5O{gvXlXx$1at!Q_8dYG5THTtj-#}i1xa0B5;gO zhPR{qX80gV!=6OhXP-s+ahr@|^n#s0d1>UJaR)}7mGVU?6G6rtl=7^UFG`s(1ux}U zDPNQ_VF_N!C3GeAz(zy#ES)1uYu5H_$F(nMPiVi;@T+QloxV%ouivb{sQ*g;pZfEG zHv_H4Y2#0gM~wR5rNPnQKLmB;ZlWLP1?(a7s!rm3#iuF_**zdn5N!i*%qF6JA%dE<|}X+9B#iJA@yrFGeoji*}gyqiy4-<_l3?i*|&rM>|3{q8+81(T>u4(XOI{ zXjjo8w5ySk7NR_i_9b)_?Mvtuv}=$b7NX3e9ivgSW4PH}jND&9JC66w#dI6pOMi)X z&R-&bFVi+@UD|EhL)tgB-)bTKa{V#=@AXt5A9y72c;E&jXZ+ZB$#^jMaL|~9;*by< zn)iud=ffsi{`@M~gPo5*{$BT71ozX6;3lwx614VzP797PZ1rzo|1>e9g(rk3jK_xE zBd~ZBHm|}{jpq_PHF#op;&@ilWq7*q?4i}L- zn{|c?&aiY^%gDXBY8gn6IPO@XgxoeZIJlOsb5h6lJBOW|lO1vnuBCxg{#d6wGMaG; zX*b*Nj^za1)14g~adN3cnNlb8?HJ-dXzX`V!+qJzc&D4mU}A;r$d6}-nB8utaMT^% zF_z8@J2`KPj$2ddf3jiI`?kvm2XD=#M$s(mBZ9A^0kwYX z*HZidbPNyEjNm1S5vY|q?DS>5m~_7$0@ur%pG=Vo9tZWO*uv4~)WVLdZGXU}qqo zbU7L42*d5$)(#E|Q*>r5aBS*y#>t6a(P_A&fUDa>V<2@ohsKT^VI3;Cj(px3Ig}Y6 zNEc?Jkq-Q_S4Iq^V57oS_>(o~RyTL7LQw3T+^+QSu#>IeyH6IJY#wQ*f-22=6(qgZ z$z7b-lRfO_MpB%hQkl2xg;jevePk>r{VFpkGYE3OlS!SFR=z?nNw7DEWj9o~kiZO5 z+3^ZtKT;6NO}rc_uW=1YswY_LkCPD>9gqgXu~W`B%MK$VfR( z2H}U8>UB>S0u5=! z2di^J1yRX&2-Oi`+ls7PaI<;$aG~|;JW$Alqa`(a)7j(H!Q20}ZhCme_OH+voC=V4 z3WI}()DeM|bdMZya%ddLqbemH0eGx;df;F#HT$yS2@GLzpeS~Kc;;>Gx*w+@nPvaL zZm*s5q0|vVR*W1bs5_U#?>b9K9I2maUP@=Ebx4&`c^hL_I&~!L<_qbeJQm@BZ2BYz z_wIBilg{&5WH?{4T4~j)JmchedhD2aFUevR^Ww@=>9mqYJLe#=XY*(s8ZV$^?@MIm zVbKkPg9ZFKaEbrGQLKewuxVuz=BfMmSSnMdRzeYSO6E~p#qc%Gc%F`N0i$AF!NR+o zRIacC`v-ff6pj_-(K7ie$+kWpc>84~v{lvsAFlzW)2U4QHphdza9Em&QNnp-h{Pvd zWJH)!TG+MH`3j&mV;@QlS38bRunQO6b|&*jg4au|KYP2o_x?0X3~&9iRKvE`y5VzG^L(lWyLzok#wo{_Ki0em ztjX-w8b--5)0pCdUmAU>X%E^3++pX5 zIgJ9!0p0>k5#RnzV62Nb@>?)&2zZJeM?dC2j_+90ENATyIHxc^kN3|MWXB8*eyN6W zcjKTxzDf@#a1*o@yeW_tX>;JjGg5d6HA|^vWxdnjOUqfl1bR56X3mSWhhDlnR3I5m$0NcNR-Cx zn73)K$S?v;*e?m(04X|`>`AK4pl2(*m>1pnevOuMFSdGC;^!?!!ed+U7uDd=%>B9V zh2CI!*_sJ(8{;ThxxdUiD=qGU;}T@x|H^)AzOY{cS{w!smc7)ENrYm3eDZSul@lN1 z&Mi!8sbRrGp#C-HWlscQjK;YZn`dD#6oN9+FwFR*3~S?IZOmW;w>EHVQ$%J{3>dqK zvF+Sy=hk*^ZC`AKVIlFhe?reXA$Sl<|Jq6fs(E6b@O8UJ(-%?o!uaHGL$)U%elSvv z4?G2w})-G=CYO|v7pz0Ryscwu--Wi*` z3mV-6cT1&cp06jt9MONL-KOgt{WXg;%SH&^iDiK`FclW(h$(rM+=ZyJ*&plx#FAID zOL&G_VxRF$5nK0KSWKkpVvni%d2JeejsRgT2XoBo+Bn||dWI-jKrumAT+CL_>YkWW>aI)!8(=L=p7G4FEFxj|5FAmfMIr1% zr4_=2*yN`@0=K-S!%JI>SO(-}W@T1M!PU&bwInS3iwAY_$)}asCZA>>Og@WIECl|y zWqw$F@@Wn@uOZf+d^%b(H^$))ypcSrFG(12r&?LL8k{^m+GO&&8Ix~VB9klYghJ@e z(#|w4oLJrH@z})K06k_|a8n!>jMpgz9K{5o3n@59IH4%Pr!2U$Fz$GvgIZK@$^qlV z+P!H?^>z>LidiA>Z}hC`bIz{NcZ;=eKDYYZK7)TXZ6K3U{KCD?@)BrN@_?5wO+i+B zv>x584w&(Mc-^sBs4o zuZ58|lr&LnII2|>hhHkd)=MgY+FD9Z3&rp{8_}mbQ{p;T!+i@J#M!A(vG)1_tw0Ie!BGAh~I*=?&%)D`-EJ1ws@CA zTTiTO#a}cJRM(a7-}tr=M}N7C#9#DPJ&s?3tktOH4~~MwuGXmg-7xXJxeBX|L_0Ow@ori9zA1UvdilRl!M}w@ zJKv2kGv2sM0kcb^&UeGCe4inVQ;P~R?1dyprX33gucKaG{EN6rN8oB9d(su9V)G&qTDZB_iwTCI{!x^R)4^lpL zkKn;yQ20MJegN(L{ayVJum97(`s$`@uKCa>&W5ULTv zHADHMsod!5{P2usS@1RGR%=J!z#8|^Eo;1Vv&Q#z4KkLmfhC|?y`;K$?%bo zCj<2Cj=c8F-(Q;Ade!qm`}_Apm(u48+)k9Bne|y;KO)?x=DISO-6`BVkKk@8=Qyo= zna!U!mxIS_bIfG+?}GSO%ku9YOwJspeqE15asi(E?ZR_CC{L+e&nUDvpuCp)agT5< zb>mk8{rK%dAMOwaQSZSo3zSp8Vf^Mie?QJ!yZlQ_@?AOMmk#QKP0rgwJOnC^MGai} zefTQ8dGgIi58gld)__0D@QphE<99jq;5To+zbL(PO9%Rru?(_mkg0%P>fQAsoTN`1 z?n%^t8*mQ*8{n5OHpX^hHojTlImRn@BcNY+Pk^-}V@h*$LE_Tg!srayE;hCeo2^#X z^jdj$F5P3WK5cmCUh9>-SljVC0!=KU-m|liG2@f)!Z}*;rpakmo4r$B^6;Z=5&(QRtNig=#!W86T}<^L!-r!exB)9{1kKz6HpR?G9)e`=-#x+&d0;G3Z&w zy~VyJTFbo~x%V&Z8+Rn}A8-r6b};;Kd!fc5<=s8p&5D4bV1b zv@Ou~96bd1?SSsX(QzE@3^cZFAS8RJcQLDX0NRzKv9I?5+Kr<_fp!GigQKwwC+HDE zj;f~*2Rp*^?kvUNxc^6er7bT@85-XHKRvC{eUj?KrsW)=uoI%3$z?k0E}N4$A28?Ko~DVHvlbx_7Hk3*huIJAgdATgP}g0!%v2?P&0b2 z8QmB2a&!dnW8Er9m_HKe?;(%Z)o`GrIC*;Dk2Ir?Kz+0sy&vddX7pR&Cv*$cZH9z@ zc(LOlJUc0Nj0MO5c?*;QPlT33;<4+td7ff-ng4G|XMU`O&w3iR8*9P40L6|oA7w)x zp)^Q5)*cGp_*c%BU|&Qikba(QtZBI(kpVg*7J>Scty%Ig?B*Loof3-pIqEIcE;V=aV8>TQJl zJnv)hwDUOzCBZ&OXo05t#KQ9~Jca1Bj}h`|zDCH?zQ-WH$ro8#pliOd@YMOmS_;uZ zy!0ZZDW1y6^a-?{MirHe*1+cEm{iD-Oa)0JXV5f;F3V#|kV;pI%4z)+q`*KVXY{l} ziKgl_YNSD$a-^(4l{!X?7_C;LMS7VIX_WE|MHQ0^vK5RDRhH>c8Dr2Pxk9E#N`+33 zvxuZ^5es8}#A05lyOl`FI z_3h^u7tcxiPwb}du&;*$Yy3Va{-k6jn=N4ATd_NCjl zovPC>^(jY-r?idvR zbjgsm7p5?@Rv*vMdWlTeD+uv~Vh4wT0|y0roNyg9V2|HB4t}=63v-*EZcG~Gkvsp; zu5nlPKFR;NBzi_)Ga*t9XqM>}8g*wWl^!?$TyK~fz^t4GP5 z)Q_S@Dk9E}7UonID-|*uGhrY?+-`{Ri1CES=*8z&`|kH?eSXdH#fH{N)cu2B*v(`v zzB{h1f!@8yp|($k6c3Fdak`#S>r7Udi>O8(&3!7qt>FE>Rnn$hd@v|3JU<)M<`AW2qYK|V(Zj$yP| z-^ePck;LhAjH*~^h||NdwzyKy=%6VMq$$fGwl)f1|f9{SBi629FNMW8e~zyI6Y zcji>R$Si#HGQ8yey{(6AhB^-HWK6rv zvZA_3)jmp8V!W9<@xg4TDwCx!gJl|3xkAZkhmxW&NeCR=hlWc+Lqj5>Bq32lA|hyc zM0BV;I3$ve4v&$A7SnQBF~dZa$cyRlu<%G(I8z)RQjC-`0fvZB6*!)FwYFfGlR3UZd7&O7xO6SXnuMjc7#+I%bU?KczmdVNNG* zN{D#U@8Q%nnF^U!!!j2t)M25Z2RuR#%czb6w%FbnkBqQI&a-{Gp{_A`?O$$p9?cDF zQ|V+Htx{3Uu|36Xu&YJZ^%^dEPn)@J-1||NJWth_&0&u76C2=+bwrZOdsM4<=i`mL zo<6OsDQe4OXeD+ujxA@se-qxAYY+Sq!Mi&!cAaPR36J!a#(cd-3x3aW&2TJkKy4H{ z`i+lYb>@NChSSS4CtdZqlyA`K8I>fiyc||YJu_X;@qfX!#z%UKSujKze|W-2=Z~#e zZ_V*bHAkTJi0VCT~u<=l)N$DO~P z{@EQ-&-l)b4f4L8cMnBp>~4r@X)UZ8(K9Bo3e?BLA}^2A8PufF$GOp||8?$-wSGrq zSNM&%;!>wr(zA?iu1err{U^IN+Rm1)`&Kw=T&UCgJ;MtO&xEdWDR2XuXz}>B-C{N-Q1ggKhOu@%sx>5A8L?tnC4s zz!X=Oa?SplYfPdsv?U_KF{#nz{FYs5mF_*jl3+*THfnYYHJMBV%(MO2Ax5$)8r-py*K0KAL^c9*zA0EPv>-==DNK9g_^|Rg_kp$UTcGd>$f%h z4H$0rx&TYBx>xPl;UKL}9lyD8ckFczXc~_vSUPMzkAid3W%nK??ASEo`N;=IrxNK} zdRm7>vNVkR@nh+)yXvL$zKZAFD{?OF!rX0ck|um>>-y->S=-bDgBIJnh8_By;7msp zNuKGj(Z&3f)kl`b_%>v%de%I1!y1>l94HwsCGon)o?j$VTFKzEBI$9WaY=u{)nt23 z#=a?2{NF~U59<+Z>IniF5PD)X9X%^$qI!42u(I5t!xMI&;O)IXeD=l;tVsvq8}v}zr&n2P z_NG}*f~WiZNvA-wx|wy3YgHqq_LtpCNL)7d;jmSjBV>u_3`x+!X~S%JAmFcuZJvGY zd;j>2{q_lZzqf5ehh1j+y7?JFAEOrQHD_ODZtF8*R^Y)QF+HLSX}xSp`^+ZL`sKdg z?LQ#PJbZS^+EZswt?q!P!s<`!8F}Y3$ah?8qeCrx1x`0I=bpPX`P`#b$W-=;` z){se;mosu~Jn&k` zSp>3D8Y>T5u{Uwsn5iF3t~!)z4q-np>Ed>;y~uUKfMw5L+`si*>aGtaI0iMz$ssI@ zA*Z!R9HUoZ6Mxp&Q)#Vh>#Q4%+dtuiW5yJ{zMM1V632Z{@Yg!wp4)Nrc=2s3w&h$k z$BJI|7rEX;U6ZN;}|`@7{DH`RhgD5Q}YS7Xj_}= zulm5)6@~tjCjGTC-wd16vG5Y^mfw|6g!`VSEo`-1(~_Nj+nl@W+5Ixts@e@f1M226 zX$Q|$gcSJN=*%#Art1?jiUi?uf6+0jc~w@6;P!m)tPFCV#=Vx$z_D1NH*h`oJ*Q** z#h1yS3Cq(q{Z}z*lb4{*Oh>*(RtBH)9N-EEh%=mB=-59`y4LzpK*`YOADRIQnPRvd zku%zk^LQ7qd&=HayBL1v!gHauk@#{GJyc`IoQiYG~q-DhAcJbO?9NBg=d7-}T_`E-t zTXNjl>|L4Z%-vc1fYTqZzgl%Ob$4@o{@SxYlyLyKGUL8RxYiSM#CdmSJ^uIT#Dh6^ z*Ud5fl+>NS+vaqQYl+JoX%W@BDEYv)yNhp}oUiH*?Y5-;z(Ie1z4-Gyi$61(g6>cG z*={GR z5&5DdD!UEHkDRGRX_jtzXYM8M)!d4HQ<6~FMM(Nm6Dz=W_M6sx!F<9gJU8lF z;j{9M85`#Roa7ZSb6^*RouNtWstbpCGD~lAQohRkr8%u^QPy(l$xCrF#*xEG&jy&? zq!4_<#LGO}Ka$dx%skn&aQjK}`O-7K+obx5v*Pf)J$Ev1K1*4uh$x?XaqT}#8LJ{& zCxItUt9=jMOuD~)9Le{C%do$&Tw=kxt4NfJ2o_SI8 zcH-4XadndxT=-^M@3-wL*|p8I-N1&*p~xJvyQ5n!w#dl*a^Bd4_vbG1<52k9SJI`o ziJ~_p&-<*lnUgSk`MH{H8&{A|*Upe`>l{J9Zg??bbGq`rnFK? zYr7vR3AnQE+KRH8M@jSZinjKd{_Rp??G!lRn)$^qWJKjnTP;o(XMMcz{ zXlKucTOTER9Ot@)ARPj3ypb;cD`Ul$3om{v`gKP)MFq63j12k%PTiPaj`UkFRmR80joB?v?~a5^Sh5Whb?Nggo^2m8 zC9~$`8LRuF-akS>T3W4xD<$}#C7nVX?DLx^GS*3aGB>0=PWd6_i7ST~Ln|wpg39vt z13l4jc6{08MYT&)*Q|JAzcp?a`AqNbxp$hT9E=K-#vLfVwWMb2$OD{UxW1NarV%UH z>u9*O){G7Mc28hx`uYlapL>pfUF4WM7E+cGw(q(*y*}yPuPFK8@Qf$&r+VUHn9=Oh z=ovR=y44E%HBC{{)m017n?0AwAslm?4ndtxC8UY^ZyJg=*V<>T;fGYrynWTz%$Ux5 zmT65P${Or!US>PL$y`QX+3x+>i{oanu?ZR(Y_IKC)c@h^+wdx_XvmLmQnm5%$#IUwshyRZI51FZWv23O3qxWAEA~0{rk;VS3)2-LXasq1%DG#bW$l zbwL38>K)*~QWBODOB{qIsl7Picm&BV*YQcAlW-h9tn>t@6*-1PdD&B-Oc;-6z|i!yiZ^A z){A-T-FfTdAlME$M_551lmHnQL3~uO(I_5(ECnJSFH2zP$L5eg=no-U77(!_6QV$B znhhF4iTWTXA&x^BgIoo6mPklJK!mFRVh`9{{~mHZ)p}w+UrJ<;s7wl?7(gIIg~evu zgGqVD2C*aZ5I`kQP~l*SDC2D7ez6LXi+jD2STypl~>spd!Eu@dAxE#r=@IK*UF4Xcq5XA@oE$iEM=iKI%;& zUu(o0YkUl>y$CA^G(emW1tAyC6vSWvmn%e(#Ts7$S8u|_3lth0fJD6^cEea5W@U{M zdLtnooAqM9jf+>i)1Fs9gk$3R!BQ%JRyTAZ$M42RoP$G!qgpn0hh><-d0(Ym- z03ifG@q`KrIZz^SdCCA0L6iZ9>)0EQh$!22n?1y573GMp*V&Rw2Dz0_KyBw z0=5VOalrE+uE!sAp}CMYK=Qf+kJmWU!b9jPB(KrHTMo$!k9qqKhr12NabI92pD&mw z9)$cv;7*_w8kLP)gt&kDA!rTgz@b8@1QL#X@^SA6Png_7p0q<0h9>(BO6gOQ*7Co zTBrvrLAtdk*y0=p^bnAl2+98hJZ|EQ4-TUOHGE27D|W#H29h&i0P*qwL6RNqNC3tn zNCBNXIJOD=G$UCsr8ad>P z?U54>O@&?`Cg?QZ9AG^{2$YisW0z-x^RPPvV?A~tK6o_N&q`C5z$il?niC8p_>w2< zufPIfZFnj=Q4kc^sogG=0D@$37sK)gzMaeZHruXnR|r6yZR| z5gw2M?a+4yF~r+ZB3I-kFu0&(HlVK%*|I*BfqN_*$LQjo^Wb`pRk8#GY=;#78$2vQ zWOyefINC9Y>o7iYHZA}yjueatG{+J|36{!!$X8$h&ABMB6xO!E9x(Q90+BWH#(R$se)PqSFm201XjAXh3XlaZ f_6}YJ*p8YC7S%u+<_1>8KpNKGQFu9Nf)ez9A?Qsp literal 0 HcmV?d00001 diff --git a/Plugins/LiveQuery.pdb.meta b/Plugins/LiveQuery.pdb.meta new file mode 100644 index 0000000..45ccb7d --- /dev/null +++ b/Plugins/LiveQuery.pdb.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 293db46ca7df74820890602f46bc5788 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/Realtime.dll b/Plugins/Realtime.dll new file mode 100644 index 0000000000000000000000000000000000000000..a3a6f791fa5a1e9ca09e848474edcf6b8eabbbfe GIT binary patch literal 299008 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%0A$Q%O~2& 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

Ad9c@vYRz(0{H$!pj^R-uLE$mQjPM{M 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 N)8FG5Ao>gX{eQoxq8|VN literal 0 HcmV?d00001 diff --git a/Plugins/Realtime.pdb.meta b/Plugins/Realtime.pdb.meta new file mode 100644 index 0000000..1cc8d53 --- /dev/null +++ b/Plugins/Realtime.pdb.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: af0049844c83544edbcd173b94521e76 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/link.xml b/Plugins/link.xml new file mode 100644 index 0000000..a083f9d --- /dev/null +++ b/Plugins/link.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/Plugins/link.xml.meta b/Plugins/link.xml.meta new file mode 100644 index 0000000..9221566 --- /dev/null +++ b/Plugins/link.xml.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 900101af7c5374f00b93bbcfe30ebff2 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/package.json b/package.json new file mode 100644 index 0000000..2d0c523 --- /dev/null +++ b/package.json @@ -0,0 +1,16 @@ +{ + "name": "com.leancloud.realtime", + "version": "0.10.12", + "displayName": "LeanCloud Realtime", + "description": "This is leancloud realtime package", + "unity": "2019.1", + "dependencies": { + "com.leancloud.storage": "https://github.com/leancloud/csharp-sdk-upm.git#storage-0.10.12" + }, + "keywords": ["LeanCloud", "Storage"], + "author": { + "name": "LeanCloud", + "email": "support@leancloud.rocks", + "url": "https://leancloud.cn/" + } +} diff --git a/package.json.meta b/package.json.meta new file mode 100644 index 0000000..896167f --- /dev/null +++ b/package.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 8ff1f127df00f473081c54c2089d5e93 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant:

-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