From b2e93fb6eaa86d85f2df632db20bed115c1de331 Mon Sep 17 00:00:00 2001 From: leancloud-bot Date: Wed, 26 Oct 2022 16:13:55 +0800 Subject: [PATCH] 0.10.19 --- 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 -> 105500 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..5de076a --- /dev/null +++ b/Plugins.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 677d24caeaea84fde8c2d099e53156dd +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..90c0b8fd3d325aa1a493bef34f28a7eeeb4839a7 GIT binary patch literal 358912 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%0Dpuq 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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..7365615 --- /dev/null +++ b/Plugins/LC.Google.Protobuf.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 331a17a5f0f6e41cb83dcfe4cdf7ae9e +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..65946b3b0692db802278f358480ccc972b085a67 GIT binary patch literal 142288 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

*UeL#f8*NEHcunI#yqY0 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 + + + 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..79403ae --- /dev/null +++ b/Plugins/LC.Google.Protobuf.xml.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: c7190492b5405410caa69766ff553177 +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..df57537 --- /dev/null +++ b/Plugins/LiveQuery.deps.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 015f5d3c0c88b40649e0862a3c55e92c +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/LiveQuery.dll b/Plugins/LiveQuery.dll new file mode 100644 index 0000000000000000000000000000000000000000..35d06f5db4f0ed2a73761f328a6233db65a9198f GIT binary patch literal 22016 zcmeHvdw3kxmFKDI>ZKm@MB+ zb_TP*b8dBaNj8LG_pkZ3q3*rsoO{nbuY2yT+b!?D`F;uzk%8x}w}>7`&7W;jzH>1F za`mDos_E(%D2;Z(m~A9dcT$ zs_dm6>%HAXyR-nUI(YoErP*Gh#fga4MzjYQQ(^yR7U#UHiQTSxQx0f3eV9$n_`8iJ%1#Tom)IXE&`kOS^7^H}bUU8cq=Fo_;KmLcC*%)@TsvGuIO72epS8mqu0dNi-3 z`E3DO4K;%3ujkMhiIdxaQ7u)uFd);N17MZ5QqR>gQBy?Q8im~Rqajd2?p$=K+V}#d z4ZARqJqkYaYmJz(=_%l1Mh@m0i3erqrbihS99;)H*P1ai2WyNZ(ZOD|6A<+FpiV$r z%FtFoJ!NPUpaW%SJ)prdw7Pji%t%JCQk%QcKmeM}?PyeSV;vgR+*pamEN(QRf%RxM z&q>0^c1tYhf>kV-TmUG!5JlKsgmQD!TW`HJWrthLu$ut<;!4smPN%K(-y~ObQm9DWwy-M;~IyO*%C90u#2&5mA-tX`nIw#8V&o+yQ(UQ&xOxs;5lC#_$7>6ZT z(R+iQI|t*Jf^3B)ffNn3EC?kL_;wQ3wX4h`46Im&-4()3*@5{XW)a7qWG-GD+or@? z#99>$)a{$S@=o~5u;RLlim*LuAiS@kWY=rK51qkJq^j_P8|Rn#St43A zVCBAwSzQdaWx^!PV($y=4Y@67FjLlfEqEd}!Sk8vGGd|%&w!PLv73`nwAsayutlia zHjQ{~Bcx;bHee?($Vei5Y&%XDXCqiO7ZcbMn88?C&S!{x&IMR;_Bc|h&GD* z;L{47L=K77%J!c2hUoUn2_)e)$D>5fY=EaatF4%#Pcgni$l`;DGK95JQ;-S!- zTbTz#9*_BLLE46O0)NJm5Z(^VHeASS+h)UAxJO$y`%dU+e~Qy_b42Cd*?N)vpSysi zVJ5plmIQ3&e#vV^SNjK_2t!G%O}k1ja*TxIhPwmcrU_82+&^$%wb!)VjE#mDD{nL{ z8?jCN6Ns`zg+Z+al&1MtZEYxK#H?5-4n?ZxhsK}-L3`Fb0oWam=f2Ehyos?2${z1W zZ$8@`kh*@nPwLYO&ATJc2c`22R$e(4ZuG|8Nbr(&bz157!G#Fzu24dUe zY`qB{CxiJ!V!BYot~KLk5(?U@I`rAgY&pN_F>`z&y6Wl}XG-#EzHkIn>qREin)+$3 zFV@3;nqKdX11G3zb4I(AdBZz155G(1dDzWfCR>Tc$2-%7m2LNC!CsBv@vyfr_SO<9 zs(a&hphw8--G{aq(1UN{(0d<-)LL;X`F=F+#R}AfI=%qvCI^_`A?^{1hmt8YV6{1A z#X{qYDpm{We5z@_fISITV?u36Kh5>UdbnqP#cHACVQ{Jnw=4*1+q3A4=0Z?hYo#iS+wwYq9R&Y=fG>e@Nqv`E4e>0vgr< z)=v}k!1`H&Dq^+_dyb#!>`x-mSt75PHJbYd>{=ye4cCRH8Ptdy%Ai|ig)o0TW{e}d zV1+D38OQbvyERV@=|#rY0?)P2nmh<>*qY0IwsKuYOwFwgvN43SaK!OiY*afP?HPy9 z)p(Pq&;KWyi+MEIgT?UK!=Q`kfkh5`ECb0lH~l3Lo-H)!E-wUL;Qx{Xe*}_v@b3Wo z7e-9?7Dg0@?dj`cS#Al44U))ZbVTxt<>H0Klz6O)2bA^N#d<7_9v)x8mAse519}q4 zvw3R2USw>Qewr(v?RW^7i0xo1gKZ*gWISF^DyFKSOL3%ZWzm26e%V&b!Ov%_01dz( z$hxpq5+vJfx!P=KEmqPPt1T(=8c~5e>7j81DO9)uWn9;j$lc8s=7N!4WI|Lw&6O`f z@+k1(1StU!shm)C%gwR%^C-r#2^oa>_cXiuX$F!7puIzQ%PnCSXI_d1Pu~ z6$hm7s#CKHuW<4Xw#59)60Icmba_85#plF_X`#24`RyW*JYCW^K#xFQ90#E98jz6N z)}e}+%kkEGja7^SkYkgJJ~JXi>B*y@C#(-W*P`Trg@K!=Zq$p6g`Qmb^yDF)p5=4a zRD)R*ITqEybzW{A@||8}sym6UNh~h!6kY@? zgj|`FJAkfr@!-XJXsgA7?p^4r4qdz#8~}tpnwPE!j4h>|87PUdr69zcFLa8;OyFIG zYoC`yWJ7YwR4oo=IJa$P77Zfy6jWvLaf-JZwtWS*(~C?lun%fON};A$NRH9DbVaW- zZ?6}V-i=;cSN^&)UL<_3oCJEh%$qeb@oa`&ab}VngG$=@Qi~AuoB_@2?oX_FR1yQ(-EA@tqHQUG$@q2L7 zi%h_><;oWjJjz?PmStV`X27c43|Q)B0R14j|7HM~MT~)|MG|#0V9DFkbYa^ie&1Hu zsor-Xsh3xTiKy!LV+HH^5jNlt`(*`ej`u}=Zz}m^D-7WCOMuRR4qcE}IzWP7I#Izd zz3@vIG(G=eR_S6cu+{6T`w?+oJ+NWD$m865fI%+q zQGJux-t5{Sj>+t=OJ9W8yDST@R=lOdz1va7@s_oK-TNabqZgULZ&_UX{LACKx2&mn zt)=FVS?;}@NR^)A4#DaQb<+A4lh(}u=(fQ>gTUQ^)w=BdMak+J-a!nN=C zC3A-4_!Y&WUKX7&suQazK3IEyjCs^{cL_C=ybr{cy#Mnjg$D;7`g=TaJe-eEiBEZ5 z?!=Su@HpGDc>>A%nFDe)_Wy#S!>2nzf={nQ6)`vc3C6&!zec5!+k8vim)s}0?Rxa8 zT$<==0qR9YyXU}t94W$>a~7){moIvep-(MqNYtzVyN`kXsU#+_-3L(cVnrq?Z8$6j z7Ax*BVAdX#yul*snlF40vgk!7V6k#_u^wq%Z8$s%eEt-C)NJc+R<$fK-qQ~76l#gd z6yfnb7~@TWJuShW%jiYMVngG~7c9a*AiG0zB=;a}kpBc2-T^1d8CqD@iPnl`=_oC4 zW|vSeU4ML5+ce!*to*d~_YD{T0R~_7f&@j8`*{7`Y}Lt~1S*7pfeP8!@G|{7=0|m= zVQw(_ey-$RjZNOf_CU&EEbPsd&mKIabf!^98DS!${VAt{RVvH(7#y7+yuW;Y*$ZCN z^!!>`&pwc#Cw#|xZhqT5uk_&F(BlTK)Xfs~Sj>7H)r*XU9$fkK;31_XKl4UQ<>=*J zN)_h9HS9Z=SFql>y!1YK$4AQg^g^t%Za^sC2$YXS{NrJI4- z$nh|{3fb@$wFKwoo{`1JMBjBELc+HA4C>`a-+_qpBhSI_*tc*kS7rQ;jaT~S3#WLp zA`|#P#I?^fJPt=IRQ81@;gM)V)f9yrwtX7ykUIAS^&-n6rzNC$ZYxO>NZ4?zo%;<0 zmQ_DP-byC8>>=(QWPTdczZ;pAXp8J?p1AndTP0xi^|`qLynu_z z)q_Gq3-kH8e`1Hc{VqnDc0?*o?XIM9QgnqC83h=8^|;~wVD_~^*!2N!)R5(b|B zx3-R7Iw2lmbCvxEK}1*MfewVJ=o5GhJe%==o%96{!OcTG-@~!q%!kJyHu3qg$uOdt zjNlK#CXGq?T`A8RpAXm4KZcq5_eP^>(q9E1vrM{K$_6RdOZlLb4;xH1BNx!~kLUvK za(`&w6)@?P#+V1_ZeV^LVoc8XLD;6}qTHU;?$b^DLW27w3@#rB)ucglt!>gtV(Q
E|X>x1)^HE1?5{IDN)Ez*>a& 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 E2Q&XlzyJUM literal 0 HcmV?d00001 diff --git a/Plugins/LiveQuery.dll.meta b/Plugins/LiveQuery.dll.meta new file mode 100644 index 0000000..14354a6 --- /dev/null +++ b/Plugins/LiveQuery.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 06bbeab4de31c47c1adf16b02033e474 +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/LiveQuery.pdb b/Plugins/LiveQuery.pdb new file mode 100644 index 0000000000000000000000000000000000000000..85e08e3b4a4b2c470bf2261be15511351254754e GIT binary patch literal 12328 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 literal 0 HcmV?d00001 diff --git a/Plugins/LiveQuery.pdb.meta b/Plugins/LiveQuery.pdb.meta new file mode 100644 index 0000000..769b137 --- /dev/null +++ b/Plugins/LiveQuery.pdb.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: bf20d571ff83e4bc3b7c6238a2fde713 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/Realtime.dll b/Plugins/Realtime.dll new file mode 100644 index 0000000000000000000000000000000000000000..47f7862b7f135f7437aa9485df733d8c72a41e85 GIT binary patch literal 299008 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¥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

ax35wN>xd)k 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

eG3~ITXw#=wG}QE&6%8}(x1!;u z1GW=k)`*G4(HLVoXeIk6jW8XtlEs?7wxT%G2`h>>owT9^(`hS8G@Z4gk*0H2lw`VS zMal4eQ&!{Fblr+Zn{H8$y`df(W4cQO4g!9iYPwI9NWPSAdI-Pc?kHYIWBam9k3lBH z-4;S@0eVU)tCJT@Wg0}@I@k0o$-=3G4@}R9f~kZhrWZt?lAq<6UQ!8_yI=_)nqHHv z7Ny)^l4hKf2T@(NnQVvz`R*>0k*Edv?p~8E(O}B+fT@@np4Jx6;J#yvIA$ttwh?!e zJnKmjTltT)7LD;U*MhIs%%B$xgPR4DAYuEbwA#BqS+fvE>09;>h zbPU49?idqJG2`4%Ld>c97}KZWIk+wc*OBQjTVVJg7(?GU3_~g0oq*S;Ae5qC1I&L} zV+8skfR>M zb@ST4Kp0#9IfUMnbEn2w$|>pv-7hWbU`(AxSkFsT+c6Y=MxljTG@9~XS{F;XL*?dC zdkfcAiWd!DLk(vG`Fq*>d6txlWq`%=>x4km8>r=8u z4YEUO9khH{eTVu|xHm2ZVOa_V*=G^i#7J7(8#~u`qx@~e@DUa2+X(lV3iTt?pG9MD zo*07R>t1iIZAbZMfhUBg@9wm}UU>Q}2&Jgkuo~p!FxnZ)8bG$4UkB~HoNA@}OMg`g%X&K09nyc%l`I4C zQeZ2>(wihbGL#ZMhg<6Bmy#6j52YlfVEA1UhIfK7Y}fMz7({7eyzqL%7z}fwFnmrakBr6ZZ4@R_&Xvn!%yf!*0p;e`D zptJ#{Tt|8Cq7vOm%P|n8=UZZ!l8B)jrEf_kzU+lDxs<+p4ZLnb2A`X$9Tp;kPg zTCGmP_^Fih2}(JU@>x$|1uvA&rt2DXy_BwJQW%qp(ygTRjB!s3vVGO(a=nFohu$_NDL#NT1(3cfwjj9U69OT@W*|dwYzj zjiGmZ`}!WjduT9tTHJ{45cV?Q%-}WsCP2kV7qoY>3p6P$|sgQVSFpJ>bGRWb`%pq zo_UA7r9Z{QQ_ReA*cam{W(LJ{quz<2nD<*@S&887k?F;$J~1?!JSm??l*Wc^GM2Q? zlCM50kA3l}Gxo(viaAO#t0`tK^>WJ&=m}p@=?5t1`t8u`Cehe`MHVYfewb1QXM=&% zryr5eU#HTalhy!=SxzxaDa|qJ_b{sSC`xmg>O6qb+@hZC&<5?3?Sx)uLslJ1F&|OP z2FmBBc9`amvY6(d{rj?z&HqbnUr>umQi~F(MMdkjntY&oMYNtb`9M9Y|4gdCFVr7B zM>Y88?5h3bBTCbe+BloaT0{Qanfy74y!Qj@slC)wMMr31?}|)cOqThL{OvjTTV(pr z)SJc0OOH}-7WI>&v)m>s{Wz5#O!fJkd?29%de^3Mm~$q@c#>DFBCn`PS}jOxKGk_D z`P(w`(l!*cmF!c2dVB(n^rACH(OItOj8Sw}dDo0#U&!+RrQeIr=SA&Pbj%j*!HQ&` zA89@xN#nX9#oVWuaTGI%`s*akTK8zyDmtqa^}~1hm~)|)hEQ3V6EI#R#=~!v>y;O3S4Lu zWRlOXq?pes<~+rGPwkTA2_BpiTyPIsgnY?;FwQ(Bt$VTdsqtGK*pOixNDeBb?$$D+c zdQ-{wih69(8m=N+h0-4B2#xxcG}~{Z*}f&su0`jZ>*VKMXs!H!e7GZN^`JdT4cZNM zBrlrYE(>b@b=fSi@C9nuo7Ol>|4RP(GsTo4tzRf6nMTL8HrN+;V8qc|0E6u${SCGPY7MRcDLirRfD>A*XJz-ByqsIC!W+nNgEv?<7sr15Sz3VQf zaF4(1E~e;eUUbF3PX7NY2={n{%itcbFZus!8Y4fz7{QkQUZ|y?kZ=1{lnvcPK)K=# zi|!s#t87EPL;G(%ew5~cOSG#=r1|_D#XO;yIEtA|)=Qx|X9mqVYbj^QAKC(Aks=A zt!JcFkz!g>%vFl{FY7|l8Q}k3XR+;d3$^_VYS-Bye;6-OW$@f-2KDuxcFiFs*cs1N z2GHD+PILGUviS^(*-SB~C`MAhxX_FpNi()DrRhp(mQ$K~v`XHj{lg8~KYT}}-wwhV zvJdV2hf?3oq18E=R_8Q|`H*5JP)r*dn|Wp0D;xBBAsvoc=bb;am9y^J4R|4G-% zsTo{1fL)msRh(MEbuYU1cWMXM%PGzAGM(W%l&+VT34?2Yx?Wi(60V&oeQBp&a2-U~ z4V?PH^+viL>NE(hw^8~Z%M63-p>(~uOdMP%QJVHnNpPJ-@%ze*g=<&3o>^u*T+gI5 z-JLSw`fG~6S!PPZu=ELz`|G)hHQi>ynA$fM-yQg{)CbUmE}e1R$!db!Zh-3wNx2YCPy7VJUt8>guvVA7kpH8E zFW~xY)klV~^g5JJ2MYZuyh!=qhY+4X^EuYgB99XF!-pXRX!nM|Ym-G+Tf+swaaZJ@s(H?GS z{I)m$OBx4AkNKNK^q2~8ecKa5o5vD_6>rvL4(p!(Rc9ef>2(gV=t8lAQ`jQmq z>NI2YJLA3036N)Mu~87(6rVu(XF-^2o&jMEy9HKSx{d3gkKWG4m~s`R-1v@^ST0I) z&HpB~j^9qT#rKHcWm_FzG`GD4S{H4bQA-a~iPp0Uj_#YW8=>Ynf98(`9O+n=bseyc z)@e}d-_z((qjScwlb=%OpyTsLDEg;${Qve+cjI@^ihrwHoyvNB(RC~Ahq{zj!8oGx z>t8s{qVO|hH_TzRt**KCnuvC=PV>3x9MmVi*bS=H|4KQ^7RT?bVz}pjVW(GZOpj|N zt{rz9JBu5JM-Vo${R6^X($3vkT#!x>cC@YP{&v*kSU@doMIMClqj3e->$qNpPo!eZ zJX(u!?S}W4jdk7OeR=a4sOP?7gRK0)x|eY@<@ZHik^XH2b&iogv{=ZHCwvGQ> zS&Ft-uPo>T*di%DCLc>P>Y2)Vq~l7VTm5!5(f(7|hW|aKo~yBR=d>0@Mr8na%TwNs z6s`H&HtL?5ZL2+GBjl57wjM_~lUvvPT|JAdNzp!i2~PyQ9W~Y?7whA0>;NNTqHP%U zn)O;!IOV%$U2OGiKV4_*+M+Jj@c)gpS>*WyRi$@^PfBO|1YKF&$sW^O^Es5 zbqN3ep$`AMhDD`gQ~sCz-%4?IjdI7Z4~6ejIE2C&3KJ+CMd3IK(IZz%kp!m|`!pztb%x2)#*09u{#Uh-WYSTw#+ zdVZQ~Qot^_=Uvem!^2%Md|G`McrN>wxJE!}N;(30#*5#cPj*vXG{4m&%a->;I!HyhBej&ai5i zt^?-Qi1*t?+oH9wZlBp!D^#DGu_(Q7i_gNXEQVp};<_!hp+2~K%zv7tNo_pk&P>T_ z5b6pKLyBy3k4i!C@MRQHhPhuQNBF!?f1+%2P^TapC5E!Bb0|7C@6|m#jAA*Hp@t98hfKBs9?-HaOilqlK)aaA zw`l5ND?Vqc*`f{5QKmC)As%LNlIglz51@1TdeuTaiivAXb*uFNy3dqcGsMGA{KAx3 zvj@;?rah2naiQD<{AHVuK%T`#ai)jW2EwEGWtjf1HWH{3)70dF9uA@g)3W4|KyVC0 zx%})l(4&O#W-@?Y3DKO%AMz|I+A@WLtfUBGT3vIXhok7uw4>%opngoJKvqgbGu;7M zDUrZ5&L`8Ov>3}Y)n^vaM5d3cE%hiPrZF9^_94(brcyOBJ)Fccrdl;-0j*<7s2<`` zR^&2Gson!$s+4Cf zQKLHbv^df} zrHxq2DLW_R7}|*aObwd{*|ZUdnF5+S!lyaEW9rev!J)1Ak!eVe=k{&IRiW2YhJCU~aK(U)h_sT%AxFNPy z_sT%=eIrdLJcro~5@i~{wZtG%kx1t?S&BgR^OdsDU5I6bEgvybR$^gtJYg*F>?MXrUNB zw6|BLI7Fmput{Q~59;YVhDl-?Q6}9nOcL{0_E(1-L$+APvSJmK}mShRGtA zWv5_FPZm2_HpM^4W{NncpiI+_85!vCF zsz5zExaJzBiPA)w<_K3QrV02$5Rxgspuxt*D{#l|Q%bvmLpDogvmcWcMTTJ1UAH$3?Tg+$K zQAjyQ?8qnR+d1L~ChXg};wIDIEpiO=#6zMCvt3}G{XFrED9gNm)HtvC;!l zS}byz4B^9UmWZcJ&y$fX_(eVB@3llsVR8%{X0uG3U^?Ft$uU5uoC|p_6TO*M z04*0AnDzjz5YL#70Id{(O|@RI&knCuVg}Q7@4a3*;#$7U|B%-jVQHpQc8~hTYn>Rw zlo@pn=nzwE{0*-Ug$ry}vDQ6-){7V>yV%EG8^tA}Bho*9m`$E=h0iNu$}z#pk|zcb z%@bY`EkG7elqoD>C5<18td^KEQ`kh6G;S47iEuBR?)8cIQOh<+w)zm~Y%1+UcDAQa%vW#V?@FvPI*N!X?)SUG~lX48Z zL|dlbNqP3WLj6{ZDa-7Sa2W2RNzeJqE?8z#}!)pArg1nGX* z3gvw*Dl=6E**Bsg({Ye}E1EGK3~pvQDT0}H0-X|ln99X9vz!qlm~vCxEoVh4)0%Q>-;DWXS^<-FL~Xh8V~)Gt9d; zL<~`;*%{{D8zPxyt00$~Vse3Ay4OuHhh=SG1l$sfnZjTM+!Cvqn!)b(w%EwjG1L)$ z^>iE4`qUtsJK{5@?WvC9jyT9P9b|XKH%v=Fc31qs)IBuUa8F!f>KiKI7shUDq88m3 zFIk3nXZJYLJ zB9uty@*8|p8|r1kO0vZAOzdU~_E~TFUD$Whvg_U-TV9E1CcD@@mOsTcraQrhyp*(b z)+vKr*INv7GLdePNgg1|5VI^NEw<7gKT-~M>FjpWVwO=%VPj5OipjM^x@LAVSCjBb z`N>jTHh@o?V?C>ld1@&w$1pXDdSxjiPcVhVJ9w9st|2<*W}tF1iODgrl6QG|fa!e8 zO5PQueW*@37gAP~{g_q&RhB!L_5f9t<}jV|2#}lX%@pik&AYnX&D1@ro_8&2=&Do3 z#`}5Kmi?G|0@aiInC^Q9c{h~iaGi2^T)1~58NoEKS0(SpGKVQWez3Q@e8%)$WRkb1 z42(d%3=umj&D%@fBGR_@miFDWtgq`yi;s+Aa*8-<@s;bCZd9A)?I)iy*;Jq9?Jt`~ zYQ5y-S>8?L6sA<50Qm#clA5!;n@ZR2I^|KIW-^9pH&AoAo9O{i3kgRC@RuQOyUp?r zl%Y%wq4bt=Ig=TvmAuCk0n}PrdT70&HD-AS$#f<^$fb=u!L&;)^lmHH^wcS<*(~>N zC-)L9G}jxx#=E^dM5OoE?d9kZm~x@H($Ebc8_!g4_;#Q2{(lBcSlYOIN;quIuT`?ix0~+bdU|0$_|t8{ame?>J7^=bd;f*L{+$B=qUTM z%op@J%CSr>L9e5n!xRa6o#YDE>jZk8WFE^p!#PnWc_cq2oD+4DmzjnK=NLN62dvjG z*d#j3KUnq+oP%|iaN`Pp+2#vy4%S&#WqQ>-#}F**X%hFFo8Vhly;x@P2(k&5K}^lz zd^}ioXA1YoF?5mdvtE06Poaw(PILsm%=UpAlhCKlF}}Uul_nDeUVagA&dFGwwqOsrj>!^s%e#ksRzRn{ zd&)MWFr~I&FPTh)7JTX5OQtfR1$)U^MB0MAK)BXTwpzchU0&)y}A9}wh zXEC)1zXi02X()`NzVc(HF~jog`^qCsi$K;-p3x*G!x-x)ZxLzB_mj_v(DIdi`pf7s z*dpz_@5^7A(DLugKZ&&OzAtBt)on-L9U#pqnk->9J_F>|0y^zIQ1%#yGHv-mGJ^;$ zU&CjRoWg{bA0(F&Y0D3itBJJb2g!{E)EM->BSPQx@fj?C)H1WZOOVZAd6%iI3!M7N z*Gv;#atuQx9FV{t+;h2@#1L76NLylvtVD#CXzCL!Ls^DCI8@GHLQ4#l^EoB@;81yt z2`w>9n$oa@JJJ%?*k_pZE1=Wf!{sO@vcWkL^0loy!LLq^KmtcM;lQa)kXW;mM}DNX6ReV@bG z%t%?8>2}W?Lz1kgNu26w5=khvWI3Ak8do=oWI2Uprr=Tz z$#MykQ}Ap1WSPt40qfr=`5Eg~gY|EeJjk-9&2m9@iK#;~c*b8oV;a~j$1qx|3;}=H zBC?rDjFx4H^avO&YY^cG=;bp;nkQmPJr|6XM-Y3El@V-x~e9D9)AXTa*aJCV?I@UY2DUddPTLiwQksy!2;6 z51Al?SPwm9f(&LEdh!H0hzUJ;f=p#XPfnLpSr0uqT`pzWpK$M+E;loo;QS?Be$G^} za*iQGe$9H0mEkN_o@QD6NC$@u`G6^9)0)KR_7i0nrag%{hD_Ou^|mCMM5c^k8IFKVnZ<-7AX6@5!V!=qH?SU#fGoL( zW%zDHmORab??z_LF2Q zrUxL)mZ6%&^{yt7E&H(XJ=}{@i0|hBhuqxs%$VDWqLeJlYw(IS;9v6Op`%#^XatrbeZ)5k{%B; zq|H1e91qicW=K0G91k;OB_cf@X2|M9dOXaK^$TbL=tUFZcv$W;Q^sqVIRj?snKFZE zD$LL`<$R{&FhkFht2Bu(VTPV1H?R!P`DV#IOnA;WOP*kQ5B7tzp=%U_tDfM3s+hWXgOY_qXSj$w{0sY$#7zn&vqh_vPB$T~!5`87Us})*#Pw;(yd)2V_DA- z_odHbxsGMn+9mQD6Sj7VyvHeV=dnaqTC7`ytz9a6Gg-oR_$-xM3+S}>GAWl}O5NJ! zvN932_L$FdS%V2%yIlGZ>DDfn&4_esm&-NNIzOk$<{hDcjtr94lB{eI17l{7EKTI&&)Bik{dC30j4k?!{# zna+fkSS`0PS;Efvtd_S5=(P75>9*{xCDzK;L}-b-K5J!1CbYy_*@sA5VyzrVq%E;l zW);w{pm&1^E%C}{oqV8W<~lJcK)*6=>-;y+Yo;)`4_GHlFUPuMoBIUh*{_pznMQ%^ zL+PVQ4264y4`n+dZKV%o6cJj<&i5m^k7ejD>t(qWnCB6JR$4DziL{m0%XB8R(gt~s z$rARf&j#tY67_K3dfI!V{D?^V%O-i72(47gcawa?gjU)l|0dE_+9XY@Fc)p5O|nJ- zjkau(@8zHjtyIZ(vm8tWJJr$-4x8n8rjn(f+i#W&m@1XdG33fMnnc;sCXp+*vn-@k zkWH>U#MG@6d{epniRt}PIfgCr2J7`I1vAUeEyi9fONKl@mLr+QmCCdK zSWaV_0@~K_ek>aTr`g-(7^Va`&E76&Gi8V77fXvez#z!e9ba^%4?@AzE-yupYqx%t1u1g4(}$(x|+m$ z-Qmel>B+L@@Vx0R*_x>fJa4*7Ml!|0?&4F~KVJ`a7oW;uEIS;9vP`BEQSdI5T*h<} zWV_`?);kjgpHq^bvFrkzmF$+^Fx`f;lHKwO)1PowvPa%$y{B+ivPb^PGSS4rVUH}n zPPfmc$#eTXvN}_TCOL-Bq=zQq-UNPyL$+esT+sVW_F`HKdY{RWOvgZPugqY*ouIc@ ze!#NZQ4S7!WggRusOR>3<=0H*d*m4Q$qTG!+ruRG$tNts6>pz>!GtT`KKVD1p27A@ z#}Ba$ID=L5{ao(;2uaWLU&xgkG~o>Ph1@`-XRt5i%S|ZLJF5foQm!UT*l5cExgjr~ zPJ4eTT|Yt6GuT)1F%iySb$!2*&zNuq`%2nw!<2dk`%0D|(lgjsvPJ<}KyNh>&R_w) z2jxaBqvs9}$}gGFTMx=}Oz5qLs8I=ygZrDkk*0qjD4L zq1PRi+gVl#cH&3nUZ$_0SB}aPOy72f-)N9mnQnE?F&vW*G>LQYD>BFAZ$!G^k4eK0 zY%TVCOW&{MIwIZg$7Sc8DAOy~aT!6R`~A3d+NJey<@!b*W3q%HD3$LzHda z2A23v{?7CnSmHZr_Zg_>W!Q*iUxN0Y#H z^Q=71GCcV@D=#wP$=6x=gb7c+ew43R4^O^+lxm-D5q^&0M_GmmpBVg6)?(^hHOKIi z^w1>wfOUV8O<0D{js7IVnee&MpX6|+z92g%$FiO~{2I?WIgMrOVNE?JmoeqRntD#= zG3|#n^}O7}dOKlFJukmvStGcwIxo*K`NMtHd3lE^6wV7S$X{452=1#c$k!|jgmaAx zviN@8+F&@>xFD-AMZ^B(qO7Y)^n`Pbi_(*2_O)!r85#?{%4a0PCq|w;OWMSDJ8DyCLI=^z3#+9y)|F zy{g@mV~%LDgoXRwlnsvM(`oNpa`|y2J-gkO@!uff>^8*rwj9lbv)gSsjY!XKx8+k23l^oE|mTyRwz>w8Bg5M|S!+Ln%@lbAO8P47h zqb2gt&dq0=Qenisa=!J~>2?@thw(kqsmkGzw3z}*lL^zHX`~EJkYneGCaV5}wrd$3F4!=uz4$I3n|LXtT{&(rZ zG!k~=FJ($?T3;497@?#na&(kW^n)RYvn1oWDS+)b7kyok@(--iJyi)N@ zKc?guY}7c`JDvjHbE2|XmNEuDC8-uLWsZSQNvaJ@3&-Rb3~D>;%@|{XUnAYevV-tc zyg~iI^esFUZ%_}JZY1XzjOr!p{giAHMpf*pZo5a1T#&gjHR&Ni=EoEacYG$*Mw4g_ zcYG!l$+FZ=xgd*Un$!t?qh3vB%7xPkTeX1o*1&0nt@?;%*GA`p>;=ziji*E_wF$swR_t`5gG!Tpvy14eZt&R7aM5 z2zm}`Fw=I>b5I#f--E1#`hfMm1icdKBbIG(%mvw3OnV(A$SyOTbIdW6R8Ls%Ye)En zM5S)%n&C6~B~=+Fd?vr7s>SpOPMaK+hbD0aPMaK66P8VaXYw6YC#J>lOunOfkLe58 zZI@C*S#NVylPIMUS#}uiWlE`8Oc&r@rj**qWQ1L1Y4sWF{S5wDT7Ac|KVUanT0LMY z2~UxhR>qsU4SsMBR7N>#64l`zsEn$|va|6hYs+*$KF_|4>d#afR&6Jh$a-($O~OfK zvn(+7n6HzX#q<)^R428N>6h-yfmSlT?!EwMJyT1V3(Bg4OkGm)?8~YvOhZBDtbW!c zdci#5tl;5P@{s$`f6l5Z(<|sdXVrwM0{B@u)k%{m2L4%2^<~*Ls98BRgeeI2(B)Jd zllO=-zU9g|Ki^nREo1t7Y>vT2eWXb|9}B-Rsy=2}e1eaUi~5u)HK8%k z0j71$e0<8QV@!F?8UvkT8Z_L;r-C}q6g#{z&<&Its`)jEyOt|*fQqP%i?XRuWU%Gv`_SaTrG?{0B@77ionO?%_NNv@C$p|w_ZPkLw z6=sw=s-q@R8fKI_Dx66BOC2?k2>s=aZ(Zf`Hx<;h^r5+p}NJy#u zrM^m)nk->Yed{ZC{IMsH;ki@;^(T?`mxgMf4a(4841NvOa3=JZhH5;K_Lqig5|Q?o zhH7yEl?1(HgDzoOfU{pCl}4nW{b{6TG2z~(ky_1!dz;28R}<}R8mpZwYgj55WZyD* zm4e@UQn#1_q5s^~FRbSe{pYTf5lhcD<6gsERbaxshP(1$!o7xvYOYD(Uc*C$unhgo zLk(dORYiwS#QD)N7^^wH-m`VA6VSwQ~#><)TTHt8Ee%<;F6+GqosBCVaNZqS`RwovF79 zWj%bh$y@bc+0?Kg8*ep?X z(@Bu|s_$9vAUreVtFGtkb*tp(t6nqh?N$w_w5@L6xo$ZIKjo@PeBI3?{FDdF_Q7*q zeyStWao0S1KlMJ-U6A>!c-A`y&wTl-43@nl*$O6G_zaG}+Rao8KA+P>ea(8#ZYI%0 zU1nJloUt@fub3vl8A}u8WY+au2zRCds-`9}4em?>lt0TZ#Mbo-P%Vk{xD8ODL^y6O zeoa+UG0a7e+h*#XohBT&&D2vOJ#L$+Irb>iiF=Aa2aZROWoxt7eQ)7~xAAy`ZE z=lMX@7e<91w*h{EYA_Ry+dwszNRQhR(Ph_=G<(Tk^tTw716F!mER(WfpC$ieA=0v)u+p5k)*wf*D?bHt}!+YQMD%J^0 z(C-|yS7V5DPq$Zf%A!p7bO*JM$r9GquY+putYtVucT|^%^bFleH7bWPoS}RAbyDyl z3nJ|4PO3eT?&(e{gh=;vClysdgFr8r2zxrlud~{rW%P7rXLXnfd#tlM$Amo=tZr(e z89G=!Vi}&~2P=aM)+O7FC;7puA`_nEcTsgT2|UT~qWoEgGgueZkqKw8E~*a`&R`)b zn)Pr73sDI~+VUYPod_+T=ohMPu?#IArb5bNU9{!HR1}f6e3<&43E#8nssbxuN?Z*G z`E^z63h1!uEA89fEnO`T=Jr=Ys2drbHgRHXV%6FmhLss3ac-akYtr%KxLc>fTo>NDZ}LwDt; ziS8e|s}3x~`<3phKNH@sbXQ}T@O~vqO=3N~Ux`u+iL~XT)H))x{9L~t%1~L`8ZF;b zB{Jdc)>EYtY0LLi&zR8iz0|-e`IgV}>!pqr&}r}9szKGamhYqb5uxQ5`}I*nn9%Zl zR0@%{d>@rTq%Ge^u!^j-A%_f!=o^!dK3t|s#N zzRHtjc<Z?MD&`Nv#`l;P4Lo4-Hj&9m!Xr=zjg-BbezZ%1Y zR(fAuVzPv-^?P46t(I@I)7}GAE|K=nf$B98TInmlfl5}#l=z99?cM{G6Op#kKvj`Q zTWO$jFQ9KhZz>U5=?A|-YOa=<8zf!;+Q{Uacn#&-{?KxDvVnTZk zRfd|{O7tAOif2N54pWzyEMedJ4O4-&-r94x+CZf38KbTdp*^4Y#i+YXXwMk+nn>F- zM#3N*G#d>&p9;Y6&44)p3Q-3kx)5CG9R2^-3e0n%uRnkPC zK!{g0iL~Y8m4yf`Z}Lx2i&=)2PgFK_F&914CMtU(?a7HMoe3>JQr%**guU_`soK|j zYxyL#nMhkcSzRYW%RBfdt9wjn`DFD6k+yuYQt%ynFmB26$;zdGTtM$K5n8^g|0s1^ z%V@lhQZJa$2S=%54YVcD2S+O>P2_{4Rb`gpS~XfVV#2j*v}(zOYthwrD3S9e*4@1TxXe>34bsN;%=6=^HP2 zDqeMCI`0Kf#j6oaFT8RL>1v!Nan}o;idQpORsr5cOjj$I>cP8+>1r!er|$4nyxPlp zP2gR`40VV|kE0Cr0}+m+n*I~jwZ>R$eOHjF%6e$R87xz|66tZ2sit_MOz#!5)DACA zmM|CpEOi3j`_lWD)83O*9Umk;j)uRIP z1wDUXUBa}0=KhmaOQLMEOKcEO2PS-yYqILkgimr!R%4j(NvKV&$ewn6P`eEsMewn5^6KT6lQ_GofewnVGGFifW{imxy|F?FTp%xNp zyUbL_iO?>Q{xj7nCbY{;b&E*bWu|&ar0p_OIW@sNk@|z)W+I$lqWx#7?OI0j%Pe(> z3Fntt>L(_gUuLTtnrMERtsb%r_Y}byZE1 z*isRmQdjj^b{O>LsHRM(L2r%RMl#_^ z>0C9A2~SGrsw^Vie;=s%MA(0^{_|95Q{7|OfAiH#CiLt1N;K2Gf-CcUb%+W3Z-L5c zu4R_6{{9P8`xg0h+Iyk01S0AFTclPHVgDujFH-B6u>TgRPl~0w((}R(3?$=JGJlFIE+qYC!)jR*jefp#PRAe@&t>%=1fBE0zs}`DKaf z$TSynS)zI|Er(o|s92`$kjqjvR+Cr{xhz!^Syl>iS*oTn;R)7KwT1~#u$HPlOn8E| zOdZigCs@nWPb|YT@nz~B6P}4LQ-3hwnfP*LYE71)Gx6oBq$YDsD1Esq$0UiWGT|Bg za#foN&)}D<#!Pr(wp_Ji!aMfm>OCgBV_%_$Yod3rR;W~#;mPa@HIoTXW>=^jCOny4 zsW!77p3JUPJ6MJ%$Sc)hCOko2sm?Ls3Gym+llAZfd6jxZq`h^O`jZH~b*6ugYS0EP zp=aUMs%=|M=&h?&D3P9RR;%Uhw7;OYu2GlTYqEr;`>#r}hW zNa(He{nx23Oz5raRDUAvt?N`Yk@nVgD!zcSJ=dv9@Bwa|=cfg%^8ZlPAcE5vj}L*G zGDUlA1`1~y>ycylNcGbs;yp~_BbC6i52LpEf25`|YiOp&g>t(@v6Pwj`mQ7B}1=%-D^V1~AZZI88gQx!0&#bpI4W9Z} zB22f)51tIqRppt2V1>?A9!z~;Ke0u%&?G`(Ke0uHvMhDDgTodzlxgbl=k{Av2GhFX z@YKJW&3X%m!&Cn%hh;lJFHh}Z`hTc<6Y!|2ZEJMxwW=zqB#_W3p_2-PCW1&40->$Y z2%$%UG$K?8DkYsDy{Lu3CW?xJii%nYDp6EWR8-VLP>EuXJ!)}?O%xFoZ1MQUntSk9 zqSyO*&bjaY@9DS3m}AVj*Iv8dDXR9~f$1L9Z&2;SbPwrIINht5?je1cx$QkSA(wW# zJL)%ZZhlC&raIOW-}=|xT%|tiiEsVuq0Bv-_f+0yT}1VI-d3oysP^RkoVP`vO|>ug zJE&Py`}3M~eOND`I+C|A_hEer)j3^zbbUl$LA9`JF4Rh@C%aDQx>c{C+S7G3)Hk~RF_lr&YKJMFja>xYq~zBpQP&B<$9={R2g0F>-M;QnJUm_J=9*RUR{TE+otzX z4efdw)TdNec0IA%6Z&haHC@x8exRD&?YXW`>VHyQ((Ngzq|xr$Ju~meu21Q7s_A)$ zp)#qKciG!*yADvT>GBFx4%Nq9RsPeuBh}%qKX-dtcc-eA*E|0i-Iwa5ysl6~s1D{% z%YRmnrut`YG1Nq=F5RxkkLjsYgS$nbW>Vdp_d(tcJ)i3Sytkk(7UiBXpVKQu*)!&| z`8)ODF?RXfGv+S+_^?BWGva51OUEb+=T~u;hz1igj zJ$0H@?iuq%{h=s(9?a|bqW)5peKO4p`MdQmZca_X_ex&UO~Q7%W$F!ld*dZtBx;wl zd&qg_CB25Zjrb3JlkifdT8Ex=4HK`Du1|D zY17@@)? zyi#8*%3Wub`f^dF*dG=oRqBdyJ)+z>e6AlB z<<8-A{iLW;HNd2H|6K2&3V5yBO?6I^Rj*Nn{8qg~^;wElA5mqcSyf5ZxRzB1MY-Gk zbG`MF#K=C^yQu7_ztGW0BKL*fOl5ObdgHQ0u1asCvbity_Dd7FFZD~J+~xa9zbUFz z)$uGy`bvMnN;};_-DY`Wx`VnKmCb#vi!Mv#zSdKzZ0?XAcX=XrNKd1(xo`BrD-yYH z^f4-%JFItKnaCa1?@`&@w|YZaBKNJ{N@a83>DX0?+;{p_QSS16uip_>s(v#IlD^jm zS!t&`qJt|E(;d+xsci13?s-ijcT^9hvbi60w`&u*AM_w9oBL5`Uzf=JsB@`o?kC-5 zWg_>J?nY&EKkJd#CvrdQ5S7jSqTAe%$o-x-G zbHC~A8xy(TbS{<6{ZnV&l*s*4x1qAR-}S+2x!?7%YB^^j+GZ-1&83@z_a$=a<`|XDWtbHY zByt&MEtSpHF<(5G$kj1FQQ2Hw^WNq}uCDn^lzaTuGlxZ$sw$Jwy`I^%#jUi{)i-+{ zNlaJY?4z=|6U^?diQEb1Jt~_!(Hwg;kvq|(J(lRRfeCF({LvxiVcNrR)8$^|=!Jf?SjZC>H_iEADJX)=?v3Z)6UwK+|Z){$m>YCKP zdlU0IRm{on-qf^x+Rm?3RXTmTpJX~y6(yb4y_xAL%Do~4OuOe2BMX?GRCd%^rrpj& zF3a?!vbp9av@4NoZqBE&xfUk+LL%3~Y^JigY!ly|$Yqou zzm&+eGVf8@Tx(N*Pa@aaWK-E(8xwpbk!xc{QrTRNS@c>Wmt(G^vbmGZ<~I_#lTD1u z=GvOQZzghWO(m7hwKKc+CUWh}UMibA#ngW%kvqj?Q`ua56M8q1Yj4h{vbj^un)egA zQ_V&yo9kc>evrs@FvqBDuA|wwFOlnLwo%z!ClmW9k?Uk$r?R=u=HSPPTxau(D0gqo zHTcPs>{(sCL%ZjiO`_a=sf(GoKQUbwGlR}Mxn5=)mCf}wyS_=}dYd;zxnt>LJ`h!^-o#x(AM*t(?Q}uY;oHP? zK@+61xdPMXyF{+QbfdDlz9#T}BG=b+pt8AsCih4p*U$8)vbp|d(9uK=&&Z>)xdCR; z4~g6Wb0w9{on}`4n8=-G?hxgkr3RY&M7c{l&^#=v6rXIxx(qZ=)Tn&EM&&E49ALge z<=z^V@fww1uyTt@$s1_CsZsfBjY{*A9cQV!(Bz>qMbzHpbomE&u^j;K<6_iQmLGesTWM%gtg+p)4luR&$!8kK!&R1RciSLZoY4zE!; zp+@BtRH;i zvPR_#H7Z~IKb2Rb^6eUx`)gEIv2vZc50!^&R358Qi64K-(a}`zMP;g}<7>WwsN>tH z87s#al|Rt5s!`dgMrC(a_SMZ$Sx}>LSdGdttSr&JQ8}?j<+K`==d<#do`%YWH7ZMM zR9?->yPYdgc|(oLJ8D$k!^*h26P24qxmT`%Ciz(6?1nv(%AWZKnatl3xk084mCY5J zqJJiGg=UH<`CZ|#-3U`@64Q+^N2qLWq=|YHxshfwmCcPZ9g-8dQKq-3(&U5F&+dM@ zIgRSb^jT0Ns8-He)P1xWOLgn4Wl$liLp=&w7MW>O|Lk#f_aZY#l)DUL%u-SAx*lVK zsfoFdF(aw$$j&eu(-OHe%r+{U8*7%9I2bgjWZij0KjEj%GBUKhnO67C1mj0am zS9|+&4}W&rFZr)W_~&{3*@?;8sJ?X5mfGGdYA&yvT{PDETYFmn_4EGj+W7Nmt2=+5 zSM_YIg?28N$(npewr0NIwr+OcJLPlHJ3< znQ!~aS@Oqt+9Kf+e)vx1IvDVPhKqReBpHKxZ|uo^1q7R%IfR(&+%Kb zysrOW$L`iSzKz=8$UPpr^Zj$5f92mHOX1evT`e9m^mw1u=XE@;zI5(!U2CDc4((L# zwy0iHJ^nlE%B^wFKTGB8;hsa>e%!33wI~`P%sSwy>kp%I*V(`$@uax1g4N z!*Jg?B#_s-~s60NB>NS5Sw#S0uv2eUMyU*MG+~A0C zm+_CziEa`_*e1&H~atlqx!#F`B!W8f7bu|%lKFG z{m*;&tDgTo|9@vZe}682zw+N(-v3)u{ZB2||5QJJe?9!?bNu&u_5jB729ktCL0h zH>p+|vwsik|9j}(t^J*8 z-KF?Dm2S(N04ftWH(K(T<{>j&_FXpeCRlMVo{+ zMRio?pdCd!4{a8DoQrl8Z2{U6)mdGPb`ZYDVJBs!U+H)!&-yO||&Q~v?y^5uH6YVJ4J7^!M z9(dqc59l81A84Pcp6W}qqiBcFzEi!_4`@fxenI;u)_`_;L-$rbaEjAM)kZt2`l!0# z6P=)HgmzQ~)k)yyPJwELc2pIplfmtszN!=2QLM#0aCf{cwl~^Q)lc;WpXT((yW#pn z_s9Fy`m58O0eDN;0O$by@ z%|*KaZ62Eae*xM;v_)u((UzcHh_)2%BD9OqEZ+IgO%>HzVL8K6B9?YDnB3g!zI2o?&C5*#l$2k28ffG4ObWk2_?QuceOe#iQY zff;xZG zKi;*y9g&(NQgcLV_UOh-^E`X>iz9n_j_I_%rvqOfc_#3h!Fj;lvu1ld=F#&m^Q4(2 z3vUA+#P5pU(5KOwNTl1fLw&+hUItc90`5Vs;eQjovca+lwZ?hfcw9QOMY~Q9Hc5a;6)*E)- z%;C0^VAWk5TgpY_z-8@ztwEZF3&W3HRG#hWdoYG*3C zec)|~cgKGM$Br;tM%4~j3CE5t%Pe2~r8gIj*Vj|B{f*rscn2NUA)cd%EizP`q2de` zr%0S4af-y5D9%K2CWQy-CZlb-qYiVSZckfp>+`eQ)zDmo2qgdRr~Mt!8gCFKV4! zE_-abbHmtE5bqbg^_!)>sl+cyymMFq z{6_^F%(n4CyfLEO`Au+ou8lX&vuK~`Snk;0xUH43t(CE@m9Z5&S1-9Vx!C!3)RoC$ z#5W`t>#~_^5Z5~6PGFtW?@!(!Q*Dr`Hpo<)#MvayCULfkvsIj};)K!X{mI+0_0RMa zntCVo_V1FKT~f14YW9e;N1Q$4)R(Ql7i;*9lzmvkA9(9y52;KUCF^#N94}3bdj#2i zX^T#pw=MMv<>Wt;T8wF55d1h5&(iMvHL!TrvD8W&DH&-EHJ+K3w%Ei*G)vo}7h{VQ z<6WL@(%#qh*ObNb?#^Xq%+SthIr{t|-GRUR@b7H;0zAnU)8bc^IePWr(|}cjhoCq6 zTeXHdchpG4Ek}j$B&(yoO?dLvH2hklqb?dUBkdr@Q|Ubdyfp2Y#2$~0I~qI39DT_s z+y6IR?nR$1Mm`AqRr=pO_!0EBV3h4G8`+NdJr|x0iD@gn^`(a<5@$=Ck7cP$D`1~b zrW{2-56=1pc=uqZR*p^`;=?nyHmBGpZ*7=Wr&c?eHkZ@Bbx}^Oo`~_CDG%PPh}bhb z2)t_S>A(*Mhk#{)N0NGaCXJe2tG`S;RHiL6tA<`(t4N%Q;!KrzhQ#wEUMlf&Al?rq z{V$jP5u^X*(*JVlf4TI(LZ(_RQd!_sJah$sG5|94lq2gEG|-nd+F}5t;Uw;1TKJm>_)g10Q%qdOId~ zMEX1?ctmG8qo+$BDiDv+PYKHVYLwZJxo@YqUGoFjq#{6WFaz zf8Q?!l_|M0wsqz%{Gw`|u~+a4H9Wka&bR99mU!Z@GrZ-6h_76L@4h>CoN;X(2k)M> zvAyRR>Kh*3TBpcoEB9(!S>(HN!3W;G+E(t>H!i45*{f~kKFRJAf1mjK#IF>;Qv6Es zE5)BEJx`UMr%Iprj_{(>>t>lvi>K6`A=!D7Jt#fQlbWTz3zj}z_n`E4PSd{X@l;%^dvllWW3*)9&Afra(9U3~nm8KdfN z?0Un~{jlD4N#!1?+#@x6#n~s$P?>h0_&v@2!yZW*Dm@I99)?N}mA)pk^E?M-DR76- ztL_Q)GESA6sZujlYODnaD(6Y% zJgMw2l|!X+wNwt3%GFZ2S}IpdWsy`)l*+YIIZ-OtO66LqTq~7RrE-Q;Zjj0uQn^7Y zH%R3MsVp>4heu~_F&~G=XU>zUmdaF1rQROVOETZUQH*yc;R>6f-f-R;c4_7gQ+IwD z{6n3t%iJN^3KLs&6XMJ!>oO};<&rJHiQEzh${mcsrOu(ate8Tl?5 z`7RlGl{s<#;gi})Ke@?vROQaLUj0qEW1mHi`(!+uq1?%z)8F)znmy86f5!GG-Xp#3 zk=`ohykzfEDpQ6^O_5-hd3NcKfr%1N#j;eU%mCh*wMYKW$~E@LormmY-lgI%2VUQN zl+HbUV{^NQJlH(!yj1j6^J4w{%<0}^-fQO$Yq5eo|1!U%#r5W*vGs7(uvee@K6{>N zCug~1Si@&}>ig_C>-+54roPXfZR&WwTyk#I;YWK|e#AoR+=LG;eZI zc8=$#+UtN%%(^$bzl@~6>=pfe-xR!pn#?A9vvcJdmn+x1b!Km$&)}cZB)#RPWP29c znrzQPTa)eir(E0b1D5N)a|Z(L)veHT`O;}EEnWcUSQk8r-e>oay7-ji@z!nu9=OPP2e{Pv6c};711@(QjOR+HK5&K861dXo09@^K1+H-h0oOXC zfKg`>aD#I$aHBI9xXHN$c+6P|RQficN8g9h*4K8lnc9xFr?%q{iWAb?vBtu1Fdn@F zenhg%C3~gRuh4esR_fYqlGSQm4|t<)2VA2w+tkIAPi${%byGOEiyzg^;ja^agKmxZ zZizP{TNh7wu=RL;0_q=-c(cw!yhTp}Zq+@2kBYxd2N7@A1As9-7`RK10PfaBz&(0A z@O7DLuP#BnPsSXVF;~i%zmPE>lrbO1Xp`|QL1J*Y)fthA5u!&g+449?BY_km5##|0;XRZczFe`z%=0;#Qb1Sf?xf2*P8-O^o z00)@|fkVwBz>#Jf5T73a$C>AV6U~djkl6#AYTf`&Gw%Rrm=A&Hn>cWu`4l)``dMVY zM7-2|1B{p>z~$y=;Fac|z!k>iV5^yA;A&F~xW?24t~CvSQPTvt!DIn9npVI~rY&%@ z=>Xhnx&XJC?!fJ)4=`r>19zE1;BGS7^6 z2*fu{JsnQQI``CWqgB2q=VUyFNSp#sTloDw^|03skbcHVKU1Zjr4nB$@k;cG^@ARg z)jE&eOYfHYO;YoKI9tToCC=+I)jpZ(3z_N&=7N36Yxl7=hV_S$`{gV*k3 zgS>X>ioABYLS8$^8D2ZbMP57Ya+!9eOuJU5-6+#;m1$#MyMOML9^%r&LFqyHY@hW7 z+X;5_+5Y?cZ2uF*nI_IWaUwoD#}z(1$2C4X+6_KC+RZ*Y+U-6&+TA`o+PywI$GFcP z5eI$ti1^88k4I0EJsvZX?D5zn$sUhwlI-!An`Dp2V3OT-MM-v4p(Hz!8A)~|i<0bo zmnYfzu1vD?-6%C%r6wjdd!*()si~Bj!%22*$CB)Ll9TOt>L=Ur1d{D|+9liZbW675 z>7Q)JGcwtZXJWD)&$MJao_Wc3JdtF3epr!wA@;)!$#!g;lkM2HC)=^@PPSv)n{3Ax zPqt$_m~7|!Q?gwr9=}~D8Gbv4CVo4HHhw#Xpx^d0)NlKlD)IReFZJ6#uk_nKSNm3mat%tg=l@Zu_6RLX zZHjmd;<{?QIK?vU48cXx!*c0irSz~?df12_aJIp;IK!mcHM1wxuI=|y?b@zPwQKuu zs$JX1Qtg^aPI~~O3Z&UlwM(<3>Xv3l)j!RSYGj%n)ilY@lWat?YsA?g&Sr6TiSxQR z`@}gSj;dw*Osi%4%&ukU(m|Y_;uMJ!5@&`ui)z{VF0W_Blf; z7fI!Esaz?QYo&6dRBo+p=NqeS=ewu2o$q_K?R+b1%Y19wb$G0{-Mi|i+xZ64?R?v% z+xd1&xAX0vZs$8P-OhJnx}EQ|blc~=blYbn-S)X6-S)XA-R?8dbi2=NOn(^LWpldS zbGD`1JtvlKx76ZwJ1Yz5^Ife*ySK`pdw>>8}HSN`D)uGClw%XM6(8$fyKn zW>f(K8Ha#vGQI}}Gqz(->z`rAFbHvNH8kTV_=_@5zs%NuAU+qbcG+B7a}6~HfM&cxkZdvL0Hub1U|YQJz}rFvW4LivT;s-SRZ zHC(udI#alxnkGDi`O)AYrnCJPkVE8Ra)i8$93`(K$H+U#aq@mL{)u1ucgO*97CA^R zAcx2ia+Dk+?;yv?`^osHa(6!D06B{sBo~lFtX%2RTmOPgY*emmDBxk%Qy{a)?|^j*yp;qvUnu7&%VH7Z_wY@fdyKAUQ;ike898 zm_^-!929>=uzrpL~E^CHc=w zoOCW1Ig8waTtMzeE+&_dOUY64dU82lbA`ll@@ZPk_1w zIfs6bx`5n|T*!Qgx|m!-4l^I2UPdk@moXouUQaHkAEVw$uAsl4`T)6#zNzCbmme(4 zL!Cu#LC#@5NL@hgM=oT(n7V`g%9HzgFx|Cc-e;xIDayk7S)H}%)^bb&1QJZ?) zE?^ly7}uAA7W8xI_oFVPE};%nN2r&POUY%-N2%A7%jw6ccakgU$EgpHtLUrx?sy&W zDs{mmL+uC4_^GobADPsGI*0inb%Ersn$(ZFkogdGvE*->R6-qQewp}pPAa8eMn6iu zPVyTkt*0($K1RJm@>?hEq^@9ozxdBgIzYdQzB+-+3tpuvCK+l!SeBPMOY(aswV=*n zzCiqsC-tLWNIyhfEcq`cl~9M7k5Dg@{CAT|smqvOC%&4zo_;y~81)Xxr%m2TUBP^u zdcWjPoP2<~ig|n?RgNnMyh>$HHq?HwEH8DI%txq~N&bwMY4GpWK2vhxr2WS5EFnzmR^h__s|ip&zEdO#FK%m(nkzzfSx|CaqLJODyNQt?e^Irep2yH>I&xL)cYkLC_X@4#k_+LMOLZ& zVgt7Q_`x!M@%t6Gpr1p(K>QKK{pc6cFBX47ahQ6U=&8k}VB2pQ{dMA>U%Z}vIsF~t zUsSx4eg*yg;+GX4pkGB_HR1XPuTnP_8)`pT_ABZv$*(WYp&z7QApXO}h4e%8i^YGg zI7~l6f0_7i6_?SE(qAY3r^V&;cZmL}xPp4WXwQ@?YK7mG+x6jqSE;&F{9qX`{VegD zPRXHPAo}Dfh1A8OyG{vHN5HnfW#XSUrHp=*{yOo`oKj9dMt_I+bEj0$kJH~Te(97d z`uKr^J6^AtZ=#!Ej-{JW>*&=1lt5P#d0Li!>4#p1s-B}_j;f0_9Erj*f-(qAY3 z;VI?xcZfD671VLCUH<*z*D0x@ukd65SWJtE2b57qMIRneP8}1Sds+o`T=d-2s;E^9JO6E``N4MnIpjie zm|RAVf=kq))5@u1qT3IwppJ_^e_$20Kby-1w);^Ib&$G{Iz%0&j!>6TN2$xHW7HMY zRb+olE(bXXw(~8d4pE1xBh+QoQR;H)7b zvOiFVsKe9|>N4smbvbp6x`H}RT}6$byGj3kuq-Ea4t0>akUB&irY<9wlPkz^aEZEa zP!%=+KZd>Zs_)hLlssM5hg{ zppJ{4GPH_Xb+G+CIMff8^+gVf|Lf2~>X7K+!@|@N(f1B3qb?`M#CL{QP{&1&A6`YR zI@5joUB(dUdPqz;MRF(OPI5nXR&8Ff_jxg*P|W1?dtE2!h5n~bWW zR-Nqp7mo6SW&Wb~j>@49itc=RA$3Uf4X1~xBci`My^K04x@dGcbxicVqbsQ6qSK42 zsPQvQ%zti?A1w11{YFs^bs;%Sj!3@am@?|9=qtyRQ^!PqI;Mg;F1qI#Rn#ii&hOSU z{9u`%=x@%*p$>{3JhqTJBsw}aOdS#Z)7UcVsOT}{%Bf?bw~nizj*CtkUq!9D*!iC` z-Vc`fi++B54s}p;s|khFA<U%-71`g7{gHFXh2$`~j2tDGlPkzoWPd*UBj=EV z6*G~?RbI66{Fu9CePL7c)$Z>KNS@mH5VN-f*dDTkyS6wpPWN3B!|gm zo z$yH<(&2 zf4AQNIfqrnF zE+eOOk;};yl1-XjsAK~^FAm@;y%O^(ock}MzddXkQ^dM$Wd~P94F(E8q!~sY@bJK?-%3b;22kj$Psds93#ic zcvy;)Y zn_hRm8AYI1N2H91&9O%6__CI`-T zb&wn)N61lfj2tK9aVRpbC^<%slSAja`8YW=jhY+@b9!=&94D*u+
B!|e6vlbRfwHsL5(BHCbIiO%BX+b(9<<$H{8Gn-7qK zu7B1gzka*P}& z<558FdM3xnadPN-Hyg}Me#jjMIYy3?LpO20 zWHzE=UfMPr6%LiO748fL2`&3AxFtEa{PGyE_eDUIYthycl{VSxWUySa)cZu$H;Lq9`WRk ziyS1!$#{^Mnw8^4N{*4^WIQs;osJwNhsY6f^mxA9tq+kSWIS?8`U#OEoG&>@j+62DDtBDuC^`55=R=N=qvRMlPR8S}+9^tj&a`cZO> z94F%^ukLi@AUQ;ikfX=*54-gta)hiNas3EcZKWpTN3}Aa2pJEDb2V8#?&>Hxu+7y$ za)=xuN69gAoQxmry30e3k>g}MkWTVZa*P}&tEV_UIYJpZQseEG`>A>mGEMueA~8FPUG z_fxC4ZC$}xLE)><3JLE$D6ahn$`qBjXWyZolLRIY!3g^V~c+M#dxcT%Q~v$H;ixo|`8} z$T6~tGf$3?V`R0Td2)mtBjW*)ZvW&6IYw3om?uZbF*1If?@mvSkYi-^Df8qQ84sm& zrz1zmF|zvH&4<2lIZBR`169nEqvSX_@Fnx)C^=3Je8oIDN{*8Q2bm{F$#HVvYd0Sy z$H{?1oQ@nN2fm?Cj*{cY{ln~!94809<#gmIIZjr;x%nVDLJs_s{gLD3!0)UF+v6}q zj*z3|7&%T3Do3_ggd8K|Ax7?YB#$(+&4uPJ^O$+bykidGEmuBIUC+s$ex4G~X3rka z+n%GIhTfLmUf$EZgS}(C6TRnnXM5Lp8~9H4<@x&h&hSm~&GIerUF*BmcaQI3-!s0K zeDC=F;XCB}#aB0}RZ{n)(~>47otJcB($1t~Ny*9elLsb`PM(}RJ^9h(isZMG_a}dy z{Bv@eKhuATzoWmef4F~w{~Z5Z|Hb~R{5SdU@;~T*(*J`0WB-@_AN)F{c1oj^RwKUn1QfH+uNxeMv zhSWP!?@Mi;HZkqav_ok_YCTaaSi89P%G!_Cey8?`^f%JKN&huHDPwfTddIKw$591zO9p9cUIjO>V8=F*SfdVt6hIs{rUB;sK2{@ z(-Q`taQ_L1PB`_%nJ3>xCWOt*w|oagWnsp%dFGz!iL)$e%$c8h8-H+ z)##%}$&I@ZHd{>e=j^W-FV$)9l2+ zh`{1NG;nVqFKa~BtgN=p&u)Hu^JkmC-TcSqty-*Vv8zR8i*vGX%6>HaV7A8g^{A7S zS7j-@BNjg^Yo$`u$tq2?$4_)RtJ*48rK^0Efq#gqqYCl!fg!3MK4hz}MyeC=A=Qca zU?~$HGBi}vRbw?vHN_v`C*hCm0REuO!XL5OYN^V>ADt)T$+&It?9+C5w&^K&mT7z3 z(44AXRUL35?}(FaC!F9q<79xjIbBp!Cl61P?TTl9bW`Uz`RX30yL!y&q4qjG@ubjR z>Px4$`rhfIesO|I>jIUk`>K|@pK7c7t8RLL8lgW_OSDqoHM^m^Qj3OIys3%Bn@_ix zoP858vxmi;KDPls&DsDwrMbl`T3UQb9Mj@K#COiOnB3fAk>IwLHvUrZn!KkGS2W)Z zJUQFOD_Yndng%SUwR{WsYPS8Cw_5~x3Y#W zlQBdu=#Qz^Ot9lQHrK}K62B&Kp2QzW?8vh8kueNtVMj7r#+EHh>dvM5Qn*g_WqEY; zU`$ngRG*C;3CA5(>%q3q?`4bMm~Thh*WD9l*!4L@@WOyy#uK}Z0Zx>W2L)HlIDe9H zJ~G}e%gYkG{nrlKo_z}^0NwSl;3V7s*)o^!rpa18*JA%OCIdtBYN+mA1`ecmp(cBCDryJg)C=Jj!*e8F3jE}}OMxBF zvs1M{&(8NOi6=-rSN4tB!>q6R*tz`H+r|?*+IVb78@CT%2^=v!(OZQq-3$3P`^Iov z`RZ`Da@8Ly5A?VLPP~WBP941g*l+ZGz&m8_w+XfnZ-!I7|JyQcpO}ZhSbdy-)w6pHx^r(XM@O@!wuhT8u=~%d3vB$_TpK?<*T&UH;vNM( zAwE60A9%IQ;74c|+E~tFi{%J#dO_qcqu<{3qFd+K0dT!&F1Z{UH9a zKlpbwxAk`lwht%utU0eEGwj%U5339RBH6x61lxz3{-Lr(UAv@#y0*7)9lI^gsbk|k z5?4ss=akaPY8vOfPY&N`n6nh~}iC2M|UcRS``-EHL{!X^?Te4+emn~a; zudBXAv>egD%RanE)>!p5T>WTr&z2*b*)h0RhY~pt?~*mVL)P$E*`JGKf1WK{ZH8<$ z_X@I2)?W4fx%$!M?$6ct@S6K`?>{W{U#-dNM|$<~SKrgBuca+>?ACm6j$N+Ca@=Lk zwejp;cCF^fnsN8%>f5O17AgG0*e;t}1ZRot8w+LMXdj;Zhnit^>@iY(O}ba2?7?>K z)knTW&bV2@p#!r`?Yv!+x!FmmC&l!U6$~N6A_(_KCb6=tJSTtKYu)HqpXuh{xIh1$9VPeS0878={aAp`Zcb7_?bWS zR=tNB=bviV;`U+t?X2qCrTTTM`rcA~FKQp&`-iEj&&%D5E}Q!aYTAdt{6poExkuqF zlw;hzQdFO|efZZu)L$yc<0XRC&k5D<7TSk>y=pE+^**a_!RqT_xttG|30Ci|`WdqN z8m@k}tbU$!&z!$?w)@X7o$Wqwy8K-*Lau1-!*%{JwkEThzl`r3y({h_zMvc>zzRcV?WxlfAoxHu<>Q~kK8enjU; z)+<>3sIR_H{?%EleYn>jMiS{b2+lafyu_eM*kLy?I5LZ#;Jb z@Ta^G@WQU=0AKGq1K2ljF7UK2i-6f(E(VV5x*WK+>s7$gZYzPa^KP;Y=DB*Z?TM)M<1 z25Pia#3?|HRts?&P@|^br5F&HCjEyb%7e~1jO}$8m$516M-77A>vG+Mr(|? z5m2KwMcf3a(V8JX38>Ms5C?!7tp(!dK#kTCaW+t+wMN_usL^r|w*lf^!uTw~!Dk9> z5x2$X2@XD2I0f-3_)NjUXA7qyJ{6xU;Jr;ijn)})C!j{_f;bn5ryZ)Ui1UCNEgx|= zAf9}Pjql(Sj~G1fEr(V>4SJIP~(d$1&GH3wK@}Tz;W=Ek$#BJ!rN{fd_80U z;*c7MxEQGMj+#QmB|xpt#-}J6pPCGVb1qQhZ8akhhkmq+z@o|HOF-oO^&; z-HVZGwGm^)J1&5D>oCTs@y~`=z}W=U>H&;Y;~)60hVu|m;~h8GAl?Gh>S2u6!9TBE zhj=T->)@Z#u1CBL<8|=QU8@j3jeqvm>RG&V$5An$#y(tAO*;1?j$`Z&K9Vm-{11%X!N=?O zBd)~Q@!oWx#s}jMA^sew)fX7MgLmU>LHs4guGLoGfjG*XZxELNag;gV0_Qm2121rn!k-7!YN7KZ@ImKi z;AZDn;1=gM;KR=Ez{ec?ryd7jpK%QENyiK4DInhY=Oh82ar|(e1!@&@Qi0DowczXo zYPHKr2fpCo@&D>YAoeAv9`G&a1mIq$0q||7A@F^tF={>lYW1Ph6!?+T49>?utv+$G zfL}T-fL}Q+fd`$|z{5@sYQ6pN|MN1RjO90g*#JEtQ45s3H7I~@`K48(SKIs?7B z3(%*#0+Vz;FjeH=UR-4A$@9)Ox=K&=9LAh5YEgwq13Rkj`i zY^8_6X${0)p+^8u)}!FG1!Awzqk--97&xZ_wd$b90z2vPa5@9E%GGBA^YmG8x&k#m z%bg7Du8ZOH0BSsMxdhl-pADxEP~+Ll=K}lcFr0ost@`Wfz!7>TaHO6M#5*W}WAp{6 zIRmKGSUn#&UN3|*0f=+BUJN`-UkGOsP^-!MB4Dw;1kMzoRwa5F@N8WQ=NzC`=jzLV zVSNRh^MG1S*JZ$&`f50{fLhJg*8u0}>)^}WG*)RY6YdPF}C+^U}dKB}JrKB1pR_DP^tPw8iYFX$b>7xhly zZv8wEZ@vP)qAP%}>X%Xf8c^eD(ystN)UN^e={JBM>9>IU_1mcV2T-d6`d#3s`h7T` z0k!&Ee+aD7AHn$&h&^9_0{mL zv;G>+FF>t+)!zVr)87LBslNyQu8$(C%u&RS`4MQ$&u~0I94Y2kV3PR_PBIX8P3CuC zs&O=q7a)!oV}R+#3nv4JJ0+6@tY`di>H~3)WKw|*Of5K>Kpa^n9oX2^fzt$t`yx{h z*vy;&Cji75*fapPFb&~k199#(je)IAQ#fsaICe}kU}uvB%rz~5-Aqel^MN>OOlx3I zlLMz05J!z^3k;f5;1mFH)RB4t z7jT^E1Dt3IP;(X#=Va3l7%~Ik6a#TKHUoiEO(C4Kfw<=}Lx9uFFgRf#?sm)w;0!Yg z&PnexFa%G0PiwoaMlBH zJesS451DI#o6U8=E#`XQqh=Lq9s_FixVaJdgt-~clRzAm<`&@7<~BIb0C87iZU^o# zcfxrNsMSuh4*0xT59b9Sj$d;(u)^F6=Ov(4FPn1UE9QPUuL5zmV;%s$VIG3>CJ@&z zvjzCJc?8ZoK&{?2j{@H}j{`rzTlyUJArQyAc?$Tkc^b|qK->|TXMtat9YDNC3;4Bp z9{8)8*d9#G@?=Ldi%dOn5I0Ep|I=W}2qPZgZTK&_g1z5<@) z`5I0$pjH9TH^AneZ{f56;;QHQ9@xrr6i#a(u6mvyfhXh5dARBUana^`FPyGG9L1g_V0RDRy{CEraTI$}fxSJo;Pe4%74)P7 z`+DlY=?BD7?5PJl&2s{rfj}I^o(90do`!IS0JR$GX$&0hX$ofq5Z6afGvMiXW1pi& z1M&Bcrv>l~PfIvsfjH7Vt$`CfIdIMd;;8qu1y1su0-WqQ6&Uh#M79`+qu$dQaS0H| zzNZWD98Xs`=K^u;d-8$jd3pe+dwKz9c=`ZmdJ0f83y3SGryp>RX8@eJKwL3B0};;y z;tYWI&*2OJ#2LUd1o0xER+oB)0ZTn2fXh9jfLD4(BU=X4>MG9|;0n)JIM)ERy4Euu zxYBbboa=#F-QYP3xY{!r&W%9)b>k@puJM$>xdo`zt)8=iYdz-zZ})`Z-vQL>PS14U zeV&=X`#rOPn>=%Xn>`nxW(yE^n4bB-t)7K&9tGlV)3X@3&2u4~CxE!y^jrko?zsfc z(?Hy9dX@oWo>DkFfVkWATn60bxdP7fKwOtSWx(B@tKn1twR*{O4RDX=IykQYadpPK zuW()Vtb+3fP^&jRHv;#1Zie$V5P#8lZUMgMxed!v5-2trQ-3hGgeI8iP`y#M`w*obpKwM|N zF9REUUxCvEi0iEPHDELE8*lzX-o&dbg+W@%I+YorYw=wWWZ&TFV z1jH51+YES%Hw(_KKwQzhEr7RsTf(^mh&|ui8o17z1LrOv?l8S=fp>dPfpZTKf7g3Y z1(tg|!nqHKW5nAT_<*+yoCkrp_IbMkw|Mj6JPgDgskaC4QEx9ej{$K7^!5Qh;Vl3@ z>Fo#qDIks)?*QO4-hptQ1>$(|76M=P4gv1*4g6!&jfzzJqtCT0dZgIoeZq<76ZTZmcaiCh-;bmY~Ug9xp2M#VxRYhf!}$j z1Hbpq1Rn9uM)oKW*ER1Ppz>V+bbRxHUf)7weL&o8`W6HIz6*gVzKh_e0&!jQT>`A_ zTLw(`mBP;eV*mGD2CV110#1D(?lyg8zy`jnftkK*fDL`u0UPR=yX36MPkL&IIBp^Sun5iY!o93bvmeftq#0L0PiJAimT5J#);Q^X5__>0f?IpW1Y9KXIQ#1{f_ z{QAB^d=U^wvF~fdmjH1T`@TWE42Wad_buX5AdY3<_lPe8;*6Sf6!EV>oL7^6MEn~N z=hdX25&sU%!996ve13W#ur1y-(;AA_UbO+sW`8;#^Uc%s^l_$>7d;COD_&LOr)Gox6)eDFxtKEo0 z>LtV>yyv2+Dps!|E>^E2o}%7FJVotAJXL*wc&gfm_-yqt;Aq(WLp$c z$>c$9Nt>jkr3p=GOKwTOq>z53<+d~-H>4pgwB*s=q#-Hom-Lb}w>P&py-9DA_WS?W z+WVY+&WsE+-|xd5owe6~uf6tKYp=b}o@KKO@a<+d;M?&_A6@V$Uj_JQ%znUkm^T2v z!(0paPIDdLJMlXpUGR+e1Adzs1pKq+5a6FRhXJpc>jAIeS35oYK{UvZzchs zH`9RMZf*knc5^e}cbK;VeuudQ@H@>M;CGrd;CGpmfZt{20pD$I1$;MtZKMkx>pb9h zn?=C)n70GI$Gj8pd(7Q{-(&tG;GZ}50RDON^MHTBych5p-vR!Jc>(Z8%y$9*mia#5-!lIQ_#yKHzz>=K4fvzxM}R+S{tw{a z#_zCf!{2`e{4rD4whezTYU_fRy%F%oO*7!%G3x>Uj%fw_u-O3kVbcNl5&U|~HvGL9 z@F&bxz@IRe0{&go3HW!-cEDdWe+KxA`0bT0^Cj~oz+W<70sLk2mw>;FUt{UQPQdek z|I+*|;IHC0S+?QtcL9IRd=K!~%s&ABEBs2!HvIiZz|Wc54fv&3Q@5cDpA1|C_#61e zmM(lI&ZYfgR+_)i{PpIB^^5D5*S}}|FRlNB^`Bk;^!mS8zon(S z<@GJgE$3T4(DLDy-)ecJuekDx*IjY>m9M^X^2)juoN>cm??%4lzkkJ^KWxz8zm+TN_GrLQ z^_zPuao;^o+&Yc0fB&c864*hmvzT{Z*?Yt#fq&IJGl8?jsPTF{NAQf|8N)MTiFB2 z-vf!?14-Wl3EuC9n(y<3pu?Lc( z2U4&H(ys?nuLshu2YZjN!mjD7vHSQMoX~$QWXbEWbGj3|j;}X=0J-yrumvB7CHP0M z13v{T@YApXpMVAU8Q6dS1=inZA(@_p<@Y%}e+=92^RWD$g5CE8Sbcv2o9|Cy@jVTD z?-|IiKZC9J=dkpig`M|Ba|jaa5TxlLd_p#i{ncSe(_!qb4nvX-LxK)Nat=eL9fs6A z3~6~7Qt~jQ<6%g}!`N$mQdsVfYI-`ZfpvQg{KS3m&j`?8C1sPT|)R-wdB( zAN+)~@ZZhC8+Q%70S{yK_-XSm^`FP8=NhbbuE7fC8LTy)!OGzp*tyrhdjGPy8}EDZ zJOKR1@H~d+Nj%R2_Z*%V@ciJSubK4?e{H%OzK!4T`?fjQ@b~6K1KQKjXBHd&7wWhM z_VG2QwXweDvc@Sh*4SrmZ2Y{*G#;qAqwz@1XYu?w;=hjPzv1~`jmK&(YP!aBG~H11 zil#4{!+@vp+|u;-CWrSqJa5PIUOe~Xd8nz+Jlgbm^F&js=BrK5m~Y|vKJY)r)7bos z*@UMX&uj7QZ@$J1Hh;|=ZT>c_@^72@<|$Kd&epsK_+M#0Q1g-I`kGGw{yv@`<7r%X zjoE~!8_#R;?8h^R=O~_=@yz2X<5|IT51#w*Jh<*XHUCooo|;u&e%R{L9RZ#Mtbc8#go@MhDp;hEZr4cC|(H+-=+kN53({x_bs_G`>GJmYw7 z!gI2{J@HOF_qOjy{BirM65nd?P1JVmNc45QDe;z$K0I$q{7e0C;=ztjo40gKCBBTf zf9Oa7m%)=woZq;RxEs&k5e+9g2b9>^An;%ZR z1y339DxP<5{!rq5cs`8haXeoD?l19t6VKmm{!C)~#ebR@yZGyg_u%>9#otN%*NfW| zFI>DMQNN`<(T(SoTYi`r-7=iGZOe|tFK>BQ;`g`I*Zq$z8|!v#-B_2$^Cdjr-}w!DJnfz6Q)epi!OmZ+`(Wos>b}*vBZ2dsiJx@7D{-*v z;kta+Cs5vp5|4C!DDg*KpEeJ-ekk#$fWO++p7;r#b=yCb*oS8TPYKToo}b6_q3!L7 zk8b}=;#=GQGxC2X(YPaDH@d%G*Kt`k(Q{dQVi->n&pYsZ6wmMB`7EAi@q7c% zck%oXPu=C{AD-=a2JqZ|`BdWf@qPyH{|E2(9>n$hbKTjVf2+F_&(9(JFrLTpJcsAl z743<);(0fokK_3qo;_E#C*FJ|PAE{mTsxJ?r;ldyr>;xS&i3vy*Usb@mdcs2%)(rz zSaQgLLO!2Km0fTmKb9$#lBY70nN%jb7~omfKw)7anNKt6ZWMR4m|08~GmLSl;Y@iV zpUdX`N|+RQ)N=;aCd=7Eel%Osg7+W}HKJ8g1cQ^Ag~Ay>|J8y_C3893GFG-9$epQF zxlp`r4z20kH5)|nOEm`g4Xm)9jWs6Zx5ZF_TOS6*PaWlbSB1 zRqtL&79unpZ*DA6@9urk=EuW(V)4DbS1|(_qIhg6Q(X4Pza(ARBPqg$TqWT{S+Em( zdUZgJJp!&(ibRH`?2U!5(sE){xmvJj-E?MQu~1A_Yv2B8kN3pFdnFvFTknBruH6!j zr&4U#=smGqdt>3={es}+l*y|zS?B~J3uWx&5Yhq{o$H_{aM7uyI9KFo=46>0<6 z$;@p_8B9{e41mST8IGVLX6KWo{%pB~!~?lPDI>z87dgwxV)_!0of>o8Y#&jN@xP*5+z zdC26Ee?JSkZa=tAo8hJuf=;{<)JD%~f0em?X*W<<%Bx&MVM{FRP&Si;*i2_qw;-^T z=W8;vNNT1f4&mu!=`E~OJ|BmJu-xfa@jJHFHi{(XB&JpSu9DI`TEW#vt^q@8w!z)w1<tsQk0uK_8O!~^D=z_v^OB3(I}0c#Z-I$$5yA_lQzPl?_JJ|Y zwM#0SHITyeaT-)H3#w^t;>Bcn-hw5}KvK^Jk&`Og!<3MdGe^rQW>RPRmrkC{6dj_x zFqJ7n-P&+DRSJtb<6vadf|YMwSvv7GG?z=JPUontHOxL(a3){!rvrKmiy^9{f#WRn zr-;n;2#sk>=ychwGi0~p$=&8iX8CwBx0E@W%ocCijd_q2#)Py+$T4gL8L$n?3})`0 z>Z9HZyc2&VU-SU)@?H%XeTeE|+8@A2Mjl}dU`j?1a8c!_8!}+ZSqyhMxv)t3Aq+kV z#|&YTb|fuhV?#EfV_31uNIyhREM`P90<0=dfk&$?4`>#ItsoA>6jD)4?QsNW*v>kD zBFr5fdiPeR1M#jgy}KE31_{R%;lnT(b2KKE)l|6m?va$D9jv(D>!$8idxNP9@LEo8 zcKT|-K^Mdt0&+i)kx@W6TOwnSb_f(RrNu%X3QB{8lP60V;bp`f%5b<)3gF31!BP|f zCAg~th^T&*99C>1QpkkEai=6EUv3J%EFT z0*;z^9Bd$UuvM{0;roFMCJ_rbiAf=Rj|en{ngwbyQ_LrG()|5OgX(rMdyNFDBdglZ zN&=*r$cs&h9J?iSw1_!YEN3$%onUI_A?i@JsLR1U2t+5}Rlvyj`$NktoV%DPFd(O$ zT-Dz0H>Wb?*_r7>NHv~0JEe-!>0LAicn%JvDHgeGED+&*S)**})B#ls&NL<|fC9hx z1FGEz-f=)c1P@2qGBBUapR!XHQPEj;6)=@n&(**NQfof~*Wt09IRzyNnrMMQt0`_5 z{|LwC2Qh{863ibnH8egr+dp&Y(9q=U)W}UkW^8IW5}q6yI37We!XpNf6n_VDnPhQ9 zhz^@>#8|~QVvdfC56_N_PY+EV?;ABJV`6-KXka=-P0jSr9-W++o*0-ImHcROd8sr# zJt{?qA*mt^vUXGzMUWLa3@*1Hmi#`#mJmm2y`$PCZ4&BHU`$##E-f3^6yvVb<7R5P zRL(5y9GMW*q@(zGy=_S#v5IF+u~1lG zL^h8?u!i9>L&GNvd?yzd`8ruFEF8_i>j8Lf*+GjIgGDB~G?2?;#lRG5WupU-W2xLy zI>Um>_MfE~W;u3>Q;J`A+dqd4Ycy`DclL=D7Mn z+yee!g~LuFnzN28JZZcFDG8Ebc1gq*%z;2bP@5bC7a@`}`IKAU+ERmP*x&(73I>5( z;S@wj*17Cv4G><)t`dUe#nfT|XNtu_F$f`FDF~#qMd*Ye2rplu7zTqSL69JYc^3qV zSWeXmlSsCYoMebji7r#i%KURVtKA zl_kyD`AiW>=aZ!|3@IpBgwY9RF9A-`b$~&%FJVgZV78n^nP(7nGM7As0p}mE;8+Ro zxojTm3<1Hsc1VzmDYB!PGnpJ4Sx#p0wj7030$5yDL9^y;mZ4I4x{MbY8ttIxqqGD_ zr-;}YQWFZzr;CMb`Z(++^m5h|N&%?jAz0xy*Z?IaDcW~Qqz`opJH@{s&&lj5cxV=q zi)h2?EdDMe&(U}Y)TQl_7e)$LeIBChR4bapa-@`73q=%`&GVHl4J|BT78B--(|M68 zPM6RInV*E5WB^F+)#;2tK^BHqLkC#Pv_ZIB2tg~MuuKBg=n}}JF>Mhj7xZnBn8QGx z#Moru04EG#Q#k7acDOVK%MB7P<*G9E7x@_1W4XQ4sJBS|3uKzRwQ7UKL{72}4p)7_{|75gLL5^71m|@1F>Ih*4+ndot(%=-$Y6$5d6R4T+{MM%VvR9LPlWX5TlO2V@W3BM|6c{L1xU&}%A zAfO!Xq8x*}u(e1-XKrcda3-HAqEfna#IK7<0^hxYSWD4?;R29UFtCeQKG>AHPSgPF z8c9pz@nUGuT6}^F0@A`DWLp@7(=HDqtodL|4MU8Zu|}j69t5QDAY==VgrT}!c>+le zMcU*Vz)ZH?m=x<&>an2Yv9QhLg+?M)tP&)OlKin`wwx;10WgX4o7kquP-G)71&gBI zw}~xiD;0E5SrF=@i7jnaNKz|k6KfzT>4+LG7M5Hd2WuTV`noo^g$98I-M7>vs=}pK z3$oxtftfEcUQmkn!nS1|MpAfXLC<)he!FOpa)W^62|~8aNLaK~0qYLQ7=~j!qH8bg&fE%wbS-hhdjJ#E>*@%iTI@ zOh7K{WRV8am>I?L#fmHISwrjT8Cf%u74~_nQ%M~`FvUdvNS5ZU#0CM4=~v6wM!As2 zY12y%$(FeO1V~L8xEXCZVK`D!h>nyMqM2H3KfAt`;vxtkc?82eoUpVmT{c&%JA495 zAn1NTVQw%1%N+;4tV>x&Bj~1jTy3u`JuHrOjJegnqzFUO$}nh~7$R&*%B85>hQZ6i zx4=YtFqp|fpTfBiG(2wh~KY^yg-7AEh_9zbJGf}38_l|I4CI_*%<8P$qcC@+x2$bK>A2{B0rKpgUx3* z^e%+8N|9J_DmP;SevuO$ii*rJMFpoKqUr5^WiWpJu@Eat^|*)DgXOU#<(m|n5{H+d zEU3JuXr{pY^kZB`pdC17%j8>Uk1ZT&h+`>OTT3N;+j<=er4w}Zx)fS(5aXd8IAhD? zTXGYyO?Kc&2^+^2JqrT(k_G7&cJ6KL@ z;LMv{5Ld=v)4w9MGj=Ou0u#3~${DehF;Qc%GTs_zl@WH%R%u~i;#6kx4V%i?KqGQ~ zS4Qh}tHiIR7AsRarB^M+s<&!URxDp2MWDJako`r{M0C^zim{u26?_qBmFjt;nxZm| zll7G`6M2>O)nY8mS+Q6xMTJ;iD^aBwu9k9bky|abm6Fw>?3ju?yg;g&bD&qnvf*E*$G!bj+0_oro3U|>fyJJ}rG%90rCx=626-2Tla-k%??z&LAX&hCn zD8GNXoT-B5B!b_)GQG8``^uG3R{T|qQWrIh)yiCl3dMzF6+8{UBo5D4v^ZFe$o79l z^x;hQ)O?j}x~{J*Zrbe-R7Q=IE)XehJsje%XuwEX&fr(z?c`l6dTJ?^!qJJ7OF8F( zs9ww=Y`s8ERgWCUc1C53rmJG7cyKI@jkwATM~m5osu6*hJcOYstdUhVPAUqeNhpV0 z#a>iM3`Pa5#TW(#7OYu~x1=M&rXq;FVnajHoPRk~ z5iT?+TgEOlQW{BPH=$65U~xE{dd8lX3-!Bmr4B*y;9xY!fhk)XI_*9+F|v#zMGPF3 zeDQpgjF%o#Hiye)>~r(HGIq|&r820IET+SK9uv5td`}e4AL7H1R7RI6y1g%@@)RYu z`t3r+2J9HSI5#MgS05rUXHF!!~Fsw~< zLXa>F3EPE1+prKZoGD{TB}WvbE)Xp!#lcdB3)m7|P}!Odv=Nef5c3kKp}f4T?@dyS z;`o2Ij8hmIg2t7AHLI|_77m2la0|}5o6&)hF{^JRyAN|7xiHtsewaR)6vH%} zVtxug%=n1ODkBobuzirJ;)QbM5J!70D7cUdKxvnqur58@?)b&wSjNZ#h~pz@QMxdB z8tP6CvpSrrG8dBb?k>Q3hw|x(lRiRt!Xcy;6dex1ED#?q$apWPopzB-OZno$Ozejl zZwDOX&Db!+I46(%{BfL37aV7iVvs0AFom@|{DNXAlGfRTE*Wvhv*}F1NAxYFvjKu- zLkzlj>0lUy@N+RtC_>U9m^6a09dYMtTt9;F^{_8>N5K`r94b*AhJ{8k(m?-Yj+CoX z*5#6#!!?W6?1h!7aGW7n*2ts_gtIG$wO1g8?V+<>B34Ez?!wIEhoQ%VxP0cUOU7dQ z^{9;=TE$@+S^sj|V3J294OWIYkc&@Ff-hb8B>?7v9OyEGg(aNpGLtwsf%7VyiR!*H z!#K%{5XGs*j1F*4Nhbwh8wEJ&&|I%6B?*Y^6O@~4?yC_g19DX&VHRhM-7T5sQ4#2s zA{PMylQ82r3nj%0prq0hQi7#O<#8!%L%0yrp^hMyVX|@#qAx>(URn{HtI`VG(JG1K z5~6g+6bb?(vYpKnB$=^fY97bVus2?ggkd~{ky4VLPt$@dENz~! z0oz&^gayD+vFa`i(s)6s!VBA4Vi-H8f&%<-OlwIRU*iaZbHUFP zlbe#pmz#p{<)$ER$jnXgY?c!Zf~0xx7rmgfT#MvkQ-QD-FK_lwxX3&87qYjH3^~xp zTKZHJF|jDcOQxVAOfi8u@;HCYA!2?CF9|qFCIQJBMA>>G;ZZq}D6O@iv0;ck z4nw*wW*^84N<3enRKf^09RfdD%qFpT!15l;NNF8RCVQY$`t1d! z>t5LQ-os$2n8!wxnom-i^_NLe4pt>GbS{;V&r-#qW>nE+jQCY0>p&VZK{6_&93ek|HJ(*Lim6=39nP8G>@Y?HoXJ<>4R#cbRe3GQ< z{FAm?5F%$0le`$LFSzrZor89m1YFPU326&MpIWvyc{EM!oRS?I8YXr-Q%30_Q|6Q~r%yM|#uG`*B6S4OaaWPUk} zuvUxU%h|asKdB94X&TzSRS&CvZbPRShBlwZCqGLWGhJLB2C?2qips;|BVQ7i!A*Dz{cLFJbjGp_6 zL~+p?L8yfnK~1~kFi~u9$|ZvK&tXI&f_DI<;#l*D%^L9pw;k=ptuVaK}_*0jR=NQHG+`Otg&YoLE5q8 z=b{ljx)urR(jA&8f|agfGDFBm@Dq!X;8ZlI8cVR z6!O9I!=+WVIDG#Rt%aY0L@+qjWWNfDpgC3fX-EXA+Xyiv6q^5mMI-|UrW`F}8edyP z(x@hhpeQr@aJI)4S)>SN3Xbpyf*T?cgj2r} zB&S|KbiCIE*tN2c5ka2eYD&yM)pTP1Sy1gynbwj50>j2EDRL@#MjW*G3n~_2G|Rbg zwI+kPuNGw(lww2C;EMJzx{|>)BnykMHRW0k?lgOdtM&>)EL_Iu8YE0&7mu1NnM?7z zql{mMo>%uVbQt+z*+vw^AoftO!pKQQ`~yji717S&Lg7>{vlBK~xiGhMQaS?JCXL~n zY{a*8m;jp#A`%n_>}2w+LsJGyMgd|6Uj!$m2xN;fkM2Iv@(^_ombH zMYM-e6GdFh(!bnSN+Gd_KtCNuT=k49F6Hx5oEBm&(4E#qW(?<8Kfav9kjOUx{DR9u z(}lro@>IT1DraHM^8*2)i3NoO7ACQSOcsFO)IxSaDD5Dh(Mcr4gq9GZ@lC3z;t-St zg=!YIbn|0eM(RRaMxbe=m@p(Ig+W_bh*&^=Srti3L}E$_3Q2ASZB7ly7ux19Hh4iA z`Pd$d$MU?CAx9>p425!;{3%3X4i@s{5F=}Scb2&I*q(7CBBZC5};A78x3Flg*L26e>VHT8vENlz0A&3p}OYThD z%(Orxs{oQwAe&9G{8|)dAuoI4B-0YkEr5i<7i$4J_+(8)SE`Vs`y6YcAc!d(z{r*E zFCdM~SAkeDPT)wJ_-5E0%MoM{U<|A!LGsP8*iV8{NIIk-qcL_G;3tf7*%~vJ@zCB* zkK~~fAQv*p1w~9Ol|u{*7(qrUUI6fqyk)uxlx4i~o%pqIY+tV9ux^wf$g(Khq$~l( zGWeEU&USi1rjT2#1Sg#l$o55Gkaq|NVsM*5D`~-OwS`I*?k1!N8xo1BZClay(u^*WH4oO zS|HE7m3I4KX}XWFt&gMp!&*{E1W~amE}J&Ar|}If|MH|im>)NXXyYK9r4+uU2?T7_ z1i>5fMLYonc>q(TD+?YvhZ70>yc*&UhZvy3tkRPb>=9sxqO6UfSkHv}E?b%rhIE6- zb`EiJKbJj7?yv3i+jr}$mU^9&T?z~Wtjir(lb9etZ!S0hwzOWRsh(Utmk_~M`fYLa zJdy%5iG*>MNM~r|wnnMIMnvyPwDYTa915>;ZIM$C!@0s7?JsemX&2n-M!j1JA6utz zeutw4#-)3wXoHn@+D<51dug33-@{nTv9wzRpcf$?u<#Q}UN`22E+l0^HL6H9j(+(d zz)|ypYV~>uCAiC)ie?N}i8|hLq=q% zJb67)jKnx$9YaI5xMXYwz24GQ0YtkA6!`lGaz%QQ1ZlTd1XlSaAj?r@DnSy?3l7I_ z!;`rSJ_+PexR*hh>xG!e3l62`3o<|xi_&7egs6D41z>RtO=&z{5|6iyw-Cw=Zo80@ zA_&P7!Pwjp9L{=3sZ(&GNErfXeMGq$9UOQ^BykvGI`Bbw{#W9o7^b05F^VObE3r%) z_v1*B6-a4o1=hB^Dqh$b>jCHJk#Z}LETQtWv81hnc73Z7kErcYmH~hJ1J?! zdYA7CVf^p{I{oZW7kL&IS#M#x<{HiBZ^NgyI?2q4*tO$JJhMXQf$sD8NGfhj1KyhD zqsRQfxF4AG15@6eZ1wmEngYBI!N;l9Iih#!+8(Q8 zD~f|hAd1jk9>1vQCQmemdpte{eupT6O90*B@sqg?9v>Io-|=H87W}a8?)aEsb0>lf z_I7+M_Y&PbSU%q0^6~L@)oX7j4tNKr4I*vQF9RbPv+)G@T+dH{%^p9jDE&g*nx;w)S>;s0+jU5lnD9`eUxj~Q(Z{2FcTUkqtA$yubpJ%6pCdTwQ6&>4 zP!%*c=lmkv-kguCvNacv4pf65VK?S{lwG*OHuACl(v5bLA19JChSNE(yTW#l6$T>Y?fl=wK${otd~A3qpf*ZVQSg5F043o0Ke)PSgf zweO=tOWDUxEc&6TNXWNCBdK6(`r)_@=f?$1UgAcd9}_cUqEXn(iy*j_=OeUPrG~K{0f|bGm?&!Wxo!_hwKsb zwA>=+=eG%=$|4DQhE6Y&^Ap1}?CzNJ(U$+?WuU#WQe_a~Pvma~Sk3FkoCk>`5fsdR z!q}FnABA&o{7TM8aVAAE+(Y$KsD0*RDD5Iis3!Z$eiCT4C}J=YJrxN}M?$ij>X#L4 zrus| zqUqyLBOJ$-jrysP*e?!EUq}?K+g>iwwbzwrXXo_C6tI5Qk7hAK(G;j@v`4*x)r(~wEEUd#05hs_ zx0qyLa(XO)p@=Qa?t~#+z!fA`Y0LJwF}Ika`_Tu+SsZ!+I!brPl92Xx6->ykeF?HM zS|yT#fiWrqO)HS570{)XfS8SzMctVX$rdUOt;Y-70z8cSumj&}vgzD2;aO#bcJlj8 z{FN7WV?py$xrmdMz%I_c;SE(h!R}{Mc5>^RKQQwWlCnu&a?24Oh6hc(U^*k{_#xh+z1&Mv99 zSCmLe960z!5l0dug!PAN-P8K0BH! zFT)(M#E_4*xHKZ;h}@knII&xjTY=?xxg|9})zSf@_aVn>)=GpPO9LN5!ZMLQkG7&nQ}H)QYSnFiEQRO=^yM2 zmLRWq6R+?MQUzMbMcA_y(I~W-oLKogVw7i9Ho@4U_*tW!;nq{o9UqlkT!eiZ>=>1d z>}Fx*m~vY=N*LXmVGY5q5D$Aew01A}dcdIzvY}HlBL(niwI5d?L+i}8{A6cV1SdDN zI1Ib)|MZVxtc%n$>@K7}P8X7rUBJ@Y1<4G;&X|=BN2?%?6LA?wGBc!Y9K9f7s>Hka zVc3<7SZQ*is$??!{#^;nD-7lK11Ci3tPKdMX{@a+9PVJ&ss^{9Ehr7Nux*!%@wiUe zP&g6{=tVd-v{BhKc*DXhjpn>60|HW)plnS7i(_Kw91It2yPEux%YsZTU%}XL&{-cT zg?kyO&cxR&@_}tGnX_60_E#O5xOA{o5>QIf6@}zODPG9!iy#l%q|%EeFcj=3*f0~v zalwTkQfC;-==FOxr|yBdmW3gqLooyC=i-8^LQE>aGnK4>qz;9oTM9B7y$S=|8gN}u zS`3zTsPML_Ei|R^cv)(@cwm@vTI2DOc)V?XVsQCUvP==^erh88(FsYW_Np}6g7!G6 z6ZaO&BE^nQX>AV1X08~|L+7wRk9zd57nU&gfTaz?eu`lxGrUF>3AuI8c5+`FDj{W| ziF|kiAHKtaq$^v6kw=XN2dJ5qS+35k# zgS1o(VHoopc^#49QDjhm^oCdbiBRF~FH)^TlmtVG6~)MS$)zwd5PCn1_n&dCK(h(4TIR;Ae&S#4jZ<>WEi7coaOg2EB zg0aTWCggIswMK!0t~=?YJiL(#k6 zV$^QJ7GZ~^{T3b_7|s-q;_wpt8R&5#84iaoN(37q4iTjge>gy=zank>G=MRP=;8ot zb*P5*w1qTEcwEuwr`FYy|V!K zqm(EMf}b9ReS_}XrMxpOCA(fuqyr+?7zx&zu>eA7fh?f~w(A9cgDsf_pb!!uPjs1oPM>inCeaa_Qg?`@ zD!1CQTE=c3OFC$_AQtlbjKLk6(*+0xbl|Ku*uH1Vsd0dd#mvdK@zC@RctKYezkl`6Tq1cvmx?EVs-Wd~cnptoxgN%y6!cK8Om|e!i=t~n*I`70 zPi6VzC2)CF*;k2BmE=W`cNjcPGV`aFmf;hn(FRGgOh(W5CP&;tTsh;h}{^lsZ!4v2dIPlaMj(DU&l+k9D*0wx7a1|{q?rVT$)gYZd|oCD6ZFW_$(X$JA|ZPuMdTw2O7Ei5N% zPNBRq(xy>%QPSZ{1+>cy9kS(gn=vzErpz>2Fm5K~t?kJpPY(aIeJ7Exh%&pS{p=aq z^rmX1Xl}S0%o(IlUnu{&0{VWd(x`zg%z;*Ux(< zlp&?gNpDBdR#Fe5T6?=OC+|}Tm(i;k5uZz+iYAyX=!O!fJ>k)i3MZo z$uFh>=jAb~reO|cV;tKwj9*7W7@P*KU_5^Q2&ET*HQOA9)F55SbENPhdN5(mq7>oG zwlQEy`%@Zjx5l8Y;8BF zGmjX?vvq7AMzx;wH0`7VTQvZD9=v0=#4*$0&QbKegfRjAmj_VVBucxqX5uNqGo4SW^xheH`(}k&-!cXu%v>I)an~pzd+Bm@Qod zp7c0n`VrTM@(O?^Bk7Vzw=YOHAT?J@c@`y}K;B!?mwuEu7%Oo~YF@->q@-n2=*tbD zLQe9r2g7K=G34xnEI0)!4B_uC^spc4u17D;GTU;_oR*X`Udj>FdQ50>8dO?B$x3ym zpTwh7C6#Xgm6uTRJZd?D77c?UXAnOOnk)%TdTmQsyK9MA_H!IUACiz*YsBcSjQT25*&f@d5OfbLOPiio87rvC5$u}c*d~=w`OCa<{hrIr{0M;DNON~q5Hdm6l(1x+}wZ^gI|p&X71$9*0nv>Sbz!o2H4z9EFQ zh8t0ao8Kdd89%7Fp&qz{jiEciiHV8>;gIljk)lVB`b-ad^Qhoo)STUq9K zco$NVdS|5tp`;j;)|{0V45QX%w0t*cdm~B==M2krwBb1W)ESmGQu+-D_un9G-e!(^by~*2~8a*Q}VE8?ehTAxIW`!-k{GnVtjKV zi>L|qL3U8H%f z^mP}$&6f7;k(QFTIpafHLTA&M%!WxjFR3-zR$p6^^HhRpUv9!2H~`Mn@JsV}&f2v!{s`hzLgihko3_Vpl$yhvoVJAa?nd9sXc?t3 zZ5h&Y#`ZbXu4b7UoPFXfxE>?nB#S>^sY%G^G(!z<>WkP>m2aSOOJyqu$%3XPkXzc^Ykt+QYO~ zjtX_sLQUFLT={W)mD57aKO(K8ZAuQ}D3PaWw=+F!tWN#wQ8ROpdLdOPhgJ9Bn|sje zh6<}l=P5a`AAKUNd|qbDX@iosy%-hh=^^0My4JZ9*1Rk=hgL7=cR2qjRdqDty6l+L zFpv4czTO0hLOp&Qb?WR2byrmP-HtxTsWXE%90yfXD2<7Lup#ieu0eA$5>BU)<0ieD)p|KDHTPl` zY2SB2UO34?X*eS-(RC7A>Zqq$RM%m;uF_Qwb=WS@l759@aQZy>hNClGQFE`D(&d~BxOMVFRmg{Wal2=`|_BvX5n=9#2jL|sgLs>+Qm_z?4hpB`1LwY8Kx?_l= zJx1G-EBHaYDFbyKy$_>AzH!!*TT_PXwgHh4w5BU<5-05_S(KWgUA-Uq`cV_toGH{1 zEjhHF)bdwbhnnO#C{DeAiy08ob+xk$)MD4R9!BY*jiL5aXk$3*iG0wH7WlSkXgytz zR+l0BXxW?sO@=@-(u#A3G#x~rt5HjB2VaxKEeE$&=oOCBl|nYc`=mPc`%Tc-^s~&N z=d^xx{3%H)Z3xQU&^qO;s%D$|HmBOAoMne)+{qi9ZOSK{MYNur+-5I0pGl20^5`rY zM-Fn1%AAmTYNyeYGXSblYF3wuDyKs!d%aNm5IB5WH+2v%A ziy!m)5Ty~VXWAm_OX3{KV;0_skqy^ZT*GLesRwAaYKrK1IgVn92V}fB+jLF2AM{c= zOb&Ic8*-?#!-j;Gl!cT7eO`L)v*YQs=p41Thhl9!gj@wkSNc`d8j8v^l>^}#We76B zNn7%PTbsId8od?qm0CZvq3esT)W&3d$?HnJaAj~zcw6l)C)=F875WY;^Yw$;ZcTA0 z*2f{?2>KP&j-q`@Z<6yR(QobgGy@phfan+bfnE)I@OFu$p$+O=)8YDAOQzNfy$hlD z(CIGcQ@CAbP26YXuVPq})qS*DGrl0ZEy)Mf`jDc=er4OELdTVq#bMINr;qkRjlDYb3Fc^*m< z>P^lD)jiI7@mFx6?ZWx08Y8sR{rSyxl+*LaWj?FCrsW^%Hs^_>cDq$Lq#xs?))3c* z@il_#W9RpNIr^CL+G%6jE?ig9W~5b1i;fat7`9{%t(dpGs(xvXLZwv`dL!s#ID!(W zzqm3{3!m%k>MKUdFtym{Jl+n+Bh(ygNk#g_-0Y%MbTTgu+U)}erqEYf(UjXEudgk) ztjQHBX)vW8Q zUi3xN=?Wm6|Bm;$uAp+&Fr*6GzH8K1p@9M}1(D?RcmOAhTXmh3cx z(;$=}oC7n^`^V8Mr?Z?L7S;UfU7`g*Uhf6{xhCY=fn(|07LEhen?W6>djK=2WeBw9 z3L#2Erw`cYC=WUh+fb}8PD_%Cv@z(VpiRly!xbHU4fJce{PfBAR92hh7)Fa;jJ@En znaF%z%aeLM=&O##36y(Ep?0;Y3R#Df9;`KQnlAGM#%RXjtMPjp>zD4|0@|#T|GFsQw}r=?XI=`UvUqPSyum- z>X3aHEA`lLouvDbzUPg5930Z5xV$#CYH=JK&r{aj zijuhY)HMso`8aslSw*zN!WmB~v8Yh;wqp)DLodgPhz z07jY|N#7tjl{A>W03X3Gn5up!Uo6XNK#i)1sqpk{*OBIps*|D*8JQp>NE={bk)n(mt?l zu4NPG`8cemX|#tsY0kP$1JeCzT7oQxG*dna*P?3M>i!1zL3g2M)%^6mQ@hc3pt8od z(EariIfyOtceHn*RnAvWE7y5kbti3)%ues%f3tiTDSsN>w!Pnkqt&SA+BQuP?xNe*=Q350kijQA`@M|m9Afnok| zkF|0aX`$wrXvG(^ zx1CRk{&VM*qEvS)HID1cU%mL!l&cq&58*m0x&mO$lzv=g>PpR>Nbz+SPiE0tI|XSR zQoZ_4r=t;NprcXfm+wdKu0ZH!8=*!pGV>8JZAxt+eyu1B0VW{C{^8Vz3v`4@3Gq*_V)lnzM!re zF|U_V>J`4=9uH6ZQC^3%@qK`yKbjhVnw`>4tz7zo)c&S?cD?{#GSKF9Ck)-G0p0K9 zTygrG{wbC_k3N(8Ls`UqrX?v^B?zSuQ<7JylXOi;pTtYCVJaSou zoIMr##i^geb7RgIq;o-cRMiutt7Pgbo-26y=XRql@=xz^XI{NjT;Zt~(w`%Gf>AYw z?o4N8HtD_wzY{nHim?Q)DSAN_p7-Uux~Kf5%ra-6xxE|pN~xCf_nFnlOKErjV@3|t z6Q?j@d#T*6NDom%Npex1D(g=4Y+(}dFqUf42dj7}vd->-;X)Vu#^SJip z$ur6@YR{r*+orP0>c`lzyP0oQmRcq9hqRU6FJR)+N zXWsOD5O>J9W9FagP^sw4pr6hg?M}i_l5iZWbCBC9p#<`!E9J6V`|H`La0e#37SUPc z@4)Z`Gijx|Y9Hnr*N{Bt#}yanX?3esZP9VWQ&+J?zKx<^Q@pelB5lv;Jab?ARMt#+ z>-OBI&}zy!&cZ#YJ?ed83l4)W7h0pz0%RMhH>ZYNAv0^xaHt{kXwoChb| z?RPo2X7G2u!W_O9^;c~4TB_yfT0~1id$a@{>s!O&Nkv+Kq_XN3+K!Y#dZOhtBrN+F zo;X&2cW9TXjq&fB-{df^$awBny@YJ*zN+(EWe=sKvtAE@{&CJ6MmgbGjI~b(=&X7v z-@T1O3xqXRlRWOrAnGnhE4ON@Y$4Ye!yXT68>@XA#J;_>7Sd*p*Ie0BY7E_D8AJ>G zJ)3I2`^w#eTVM9NS@&>h_3G;LkjxgIn&WxiYMym|n^}-?rJfFbgw2PIVd6JNGA$saE{C>`zT&gxlC`rO~mClk2%i9-|w#P6x^xKna z=k>3KB;i>|eznLG3(j*kDb$S0Z*pMh16B?^_ETAk{F*O%hDO&()PDYXF5N*J#rV6k zHr2i<<8DxBhb!$atSw($SA~A8wOU4P$^ESbP>d%}E6@GULpDY^jy{8z>rHaA!ugWc z_OymF&v~22z0p)Z3HP8mo}r(5ZK?OtCCZEW^eIVb3sN43r?V=h9a|RKQ$KynNNp!M zsCO%+T-Y*Niu8kX{#I|9?u1jXzj(`3V_fJ9Y3_4`HCAsKEr&s|nkd^iE9u)O$K}@G zxU=A}D9tS+b1kO0o}N;%E% z6)v=#Nwj`(!I0SD^o&=ocIX#SZ}Ne_W~EHvs+aaxb=x&K_^h*i!(zPURZbKWRwuNt@k6@Nlqo*-$Dk;Km#<)V@dW5vs zQy=csHP5j3W31@);I0C{@sI8f@)Y}kq@eufcXevToCB;8zcOcuxY-oFbUwYxJ(?MmFo;&W@8tMxw=aQ? zNjz6et_J$UcB4+-tiXE`!t!Z{>8i%(jJ;9;7L@ro!=7DL(3X?kAu58gWuC= zyyI;@UAQ{tE|il*v^_a)p~t)*7Gc!GO6qf`U03V_A{na9dzLdJ=^RI~rL2kPUtvBMf^b5hRf`CS*U>ujz`xKhyg8zsN`i2YNXr%`f0_|%=@I0u-% zUbh>6Tzm&QU)49u@f<)Nx8F1`J|XU?xi5NnvjY39Jnj0#eQNT&Yf(X3#MRMZtG{`A zhkfHs8A`QL87J;D^^2Y+Ua7~vokB~Lx7B~?)>n?lxi`SM67snEUBbOyJ*C};QP;0u zTupB0l9quh;jmE2@%U}R!}|4-)-WP8(NR(#Q}j&i3AC8E#i&QX^^o>9c{Y?a+DEqe z`pCHGZjXP;mL;mUlIOYk)gVX3Nm*x)g&uW&^{7-=KG6N=@I*LE@aJ)~1lBMrH8>jR z=~?GXprqj!(qRjt@jC7UB2hT2RMPVv1D=Z3SwNZNB)!VzX#Ckoyc;Dw?@f7s&f^zq zBF;)$2=pc7;hj1LYLAIL)xA>QtHqhG->1739C`P4DT%&6N)mn}PHIO> z5coeDpTpdt-qw3+%rftnp;U8{U;E6j{kYdeTP0pYw1mq1%6YuIL{Cc0!|smr$w~BC zd5-h57j5GH1$7U7_)bC$q6MLD;teUxmI&hDlxQYnS$H`G9EdolA5yb1+SFJfb{mPV_t4?Pf0<~xblj^&n+m2zU)Rjaz za2Vstm0K1i(!x;w7=XR5r@M5vrX%snxuo_H)TK6}Qk@coCse{3`4u^7GJrm5iFz9Z zPmEH&$E9j~-->)xv@O=t1l;Xs@AV!qN)Fx=#@WSjT!74p?tEzpN)zg9?y0MtrS?`C zH)QxNCXGr+M;hw6LHgEdmvL4RVh&x!>N@D0$RcV?r3F{!189lrUA-GE2})Di(k`P- zL276XoZmdBz@Bj2RSWBlSOrN>Da*Aaso0Br#yv zLYYYE8nqDUQ)5qbH<900adw1lNg=&EIod0>rn81dF;be7^L`LzSI?*OnETBf9o}5w z^R{atts!lrvjmm`-lg?&MEb60mBT*kE)Z#TwWSrm6{Iw+#&MjLe$UiOB5#jc-gX)y zu471(lP}VO1F_Lk`LCyR$+4BAWtMSSEvRvu(1v~F7g(z4*~i=QgnKU|n6tD!)mKz$ z1s?!cad(yLv?G|q%9-4SSo^j%N)ELRRWfkpPMx#|ZS3O3CH^!xcM0_7xn%O=apc8{?zU-gE%z5`x2hI%dpDFxJg3W(C-mTO{lzai=+ozT z(hq(;YT$_n+8PT8bI*?Hk4c#OSd^yfPw6vn#6Po+w>9$1DBPR~n71n`d=z+|Lxgp> z`6yzkDKaQI13d2_HS7A(1KuIZ+ahVz@ixrh&dv5d$m}e5Cxdyxd}i~Y!1UE*pmptS zm>VZh+Hqib_hS~N;4aFpKKxAsQvfC%kKN4uV_G^(D3xuL_BI8#mp1U*L*6zygHqV; zBts4C8{QkI@s8bI*>p(i!X1}gVXv#C+c<{Ocw?!yllM`YjXbHvUKi1$F|-V)MT8o8 z^gHM!D9e};=2+JU3Y-QHV6D+YnzDTo+8iyv5B&q(wnVWfQmJfKXI<2pyjlGI?f_-&X5?lfuyU!eq?YiVIDPY;uK%_~L$kvcxNP!e*KPogH} z7PHNztK<-KiQY7N5@{**`6WK@nnhi0oCSIlX&SYfreO41G{(}nf#2_g_M06i`cyJ) zhoy}?D?@%J5A!^1gpTz>YsAq0%nP-ZS55sO+CvKIJ*kqeJsf?`AdF$t4QPSzTZ?N0 zJ%y%;bvek+*>&3AGmPI@g;t3%JNtrLYmvjeDo1q(tw11!() zfr6NuoaNvwsg<|iGA+N?WXnknas*-W^A!Hh#c=Fv9A|HUZRe=FRtjah$j7v^$Rh)& zJ97W>Wt5iZL=tk=I_@C6IWsvH zD%l7H^SGUNltpj5jbm(Ix5V-6FUs1Y?Ql2j1{?}r)Hy<_5MZ0eQJ>t7+(y||LT{*l zP|ms=AWhf{@;T+1+{Sx}gUG$Ko;gcI&TMfU8RO)3@`aBxiBZg5&UtbpIRrBWGM2Sb zlClku-7Vw;ogs+dNV&$g@aAi)S1>zBH{PnvRh+b9Gs~^Ow$Sn`qaBM#Wtw;oG&MbC ztkow{o8vkIokTujO~hqI=c!cU{n0Y7HinWTkXu_qoR(}QSX+pfkzdDIxQKFbhjY8~ zIQwcbEnzI$i1|Q%595JDYm3P1G$YdoBWmL`Y^1D!&$iHp_Vg8-w z=zu4}`6`&pLg~a@VI6^HzC_11i+VW|si!DyFzV1EOrMP7WBM$X>yja~hL%e)o^PAa zk+EExRbIrf+kBlAi^J?uPK@C{(7D@qoq<&?hfr6$Bgo&VjS1e-^m$| zF|9G+EArSW+#LQk`DdEC&9$(EyN$V$+`=2hGgx&nJ!|WR#Nudno1cOGd?zd&`)+!@ z!!$KJs9t1K1OI{_H?zN#g7hiyPJWroxUW6rQt~?IEbClAJ+zfA4mYw#_;E9>JKp#j z#nL7_8^_9>{!Xi~Jk!E_4rAU(4y9J{Z|&Fn_Njlu+uOTw{|Ni8xijbo)(Mxr9_{SK zJ|Rode!U5~++4@1V&i{6uPA$Y7k>uS#k&16@`g`W%1QQ7%fS8Z2SyQM?VQKNrp@aB zPl02olNS-9-{%Nw-i7<#d+px?rl!3J>Mj6JEAtdeFxyyvXm!paKClBfx>Ot=ZK2ud zTB8z4boshG@+hC1g(%%C=|+zgeRxi?#7C+dWs#CDU3A^xk0~h8kU~E&YE5pO%-Awy zApgArRCopI8M6@Y(0>JLeFfH@hw=9fcoy(aAyQx`R*L?=Bc`T>`^xModBU`C)=;i8 zY?^3!alV;-Dd|6XlB+XPOEu~1zy};5rg|OzhWuPIH3!ztMeFSXIp4&RXpQUGy&k_l z;N(-h1wJ=Zk8qBf*PK9WNZ;4VNRV569(Wz7JRoc*Yr3DzveJ7j+>C}x`cOAm!64uN0bUd|r1!ttTh*Cr?CH8lx{0qu@ zO=UX%F2hOTmryb;fObaoQnXC5vtFko8Lg)qUJS|D1(2|=GR11D;?HIyCa&m zTevioE2c-K3Fo|yWo0?$GM8qpnjEe8TPPguZg3fAKnZYK+HC1=j5&VlKYnJh|LbEP zzw|e+zpd?m>@s!TH8qWiZc|eapuL^JR)QUGk-tmz-KJyZpBp!Kto)>=W92~rtB6#f z-U1T!kc$$4Q3NFFV=hVnMiG#xM_iNuj3OXWkGd!U7)3y$9&=FwFp7XgJ?^3eU=#s~ zdcs8sz$gL|^`wgufKdb_>M0i`0HX*<)YC3X07emzsApZ20E{9aQD1RU0x*hzM19po z3BV`<67`&m5`a+zBYItH!$itR^eYANN`YV7u(^HZJvALCnqZO<+NjB2+t_V3cVro4iMwpF zdC9sCHA1S@dJWCD40Qk2L(Rt@-Dc% zhXsFB(j0|osNHBT>aN+S4eVI$1d&Jp0Nu5S+pw{wp}Q8b8*A1z)Sw|Bk;rxI)yl6U z!N!^DU0caa}{5RMd(8E>cJ+g}OT%8!qZ>#J`sI zhI)e!H`hFXiMYpCsPLGxSM8X9fQ zEiIk+hxXL8w5*p}SC@qV^`^G7vv#BFLdP`u@G~_X)17q}b*#Rlc|%R@cGKF`vAWvW zY^z_-YFsi>i^)kogMN2*vXaiN8#b_OAmnxo!2!V z`0WC}UEsR~zFXk;3jAJy?-f|N`aXg06a4)G-!Je30zV+|g91M&@I#KzF-Np-4+;Kb zwq1(*nBX3&E2C!NC$``9IQquEwIFy~9 z7u>g`$ZrY!g1|2b{5^rcC-CIZ`Qk-$F^7@A0g^UBkL{4u6^BO;*Y zF)n?zjjah|r0eGm6W}kV&G|Zk>jaj$bDo*n&uPG_*#L5FV7zocu??z0v{Imu)w1Nj|zNL z;G+Uh3p_3G34u=te6zqe3w(>fw+NgTI4$tJ!1Ds<1kMS(xZbh@1$8I75KdZ-z)IF0^cw2{Q^HA@B;!rDDZ;uPN5*;i5y{o4-sf z$--fkkq&hCK38dVWXfj$4B`+WgZ?0`@fp`Q- zfV@oOSp-3ixWtBB4Uf4R9&0kt&q&!C5b1FjM?kvvgu^_+p>R517Aw-@CmDaGrGeyl z%H?>f17j%_Y&S5ykX$TNkc%R`zTQ>ww97z1ig?yx2ngmY4)c|I3{YdU!++J`1ze7?%IXnTueBWUR2u4~*b_|*sME%Gm{*e^>{fp4s_Lcix&L6vI z0xV0HGAK)zGQ`x`Gzy^kx|Cs*tYDb9k)?e`!^Ur4xi28Qu2)#j zCJL0h22mRS5!c7@ZU9x8Bx>PMw1d5K>mHqXida7f{!6-`)a%D8}X*a-?&bU zlPuUtY|2h4R}{ouq9E?N#i~(M&x%Dm+?5tM-5e|qWR>>oERe~$Txh(wp%GQHYtn{B zh@JN_zB{qepaG4|2Gg*wwte-P){9I6hP_xQjjchBdd$v_J0ZJTp%Kw7!0hzA)J<*F zv3dY<0Dnb|-?b3A6_zrNPysVWne2*rRRa(EXCBW96eAceZsSGgxlrqnu~W z&7gsVI77j0D<5rfjJNX9_SNZD4#NqJY{Xn+>PDK_@2+WFXHzy}T`3dc1Sf)J^;@<| zPF*eAHq(j?Sb_n^5`@E+Gt|DCmcc&Ju@zRKG;OP!EnDpz*&2-f*7ntT%p?$@)yFMz zg8zjqhABV(0&L|9bwzIIxYN&3_50mp zJ%~gz@Ad=lm6?k!y4FP6a<8BCK3mxR_Wgi;Kj_Ge;l4$R5&pR)AT#lf%!ETSGt|EN zP*(#)@`*@hP!d-7E%Rq=tZbLKyUBk3pZb`JWONzgeX%RSQ|X zR$08(u{adc)6(E-(=%Szv(lpUi?rw~Qtx~)wOm!0O<%p3U79DQTLaRxcH9XYPvvzh zm)t6@TiXH|fYj})&&i0~(Q!^kx2hff4axO48u*)LlYn&jn~s(5 zw6=9aY*Ofa8=>~q??8>i@wSe(GO(Ghj*QN(jBRozXmW;?*t||)eLECb-$t|;`~MTp zKbGH0b#<+GrXuB9c}&1<@#W z^@S^9HCYOV^`HrN23b~6;`f3O3-}&T&W9E^BCvbg-h@ zXq`Wb)cK<;!`yT?K?zuYrUX=gJ1*+9L(&-x2_*H8WuX6Q>#iD^J6Kw3CReRqnxaRns&#im8+vpP zQj3QiO-D|+_rNcfZ5+>*)$a%16(S*;&dJ&)c()ad;9Dc1&Ylekal3D?*{ ziD9-Kayem3YV}$1{I1BD?h?lQ=QdN1)k4SWPukDdY(UE(k?^-=ixA)*bm{rEhk5S~ zA@4o5%aRo9Ywa)vN2J327l~!u`dVSVdtke8xka-?{?e;eL90;bcebCuHd5TR!Dt}r zU?l3`#ll|qT(I$jkt~O|X;;uH?Z%qCJsQb(^fHlZ+8cD}MY=E@$vo|M;Y1`V8oK$l zT8o+&R)Q$ih1gCJQiQ-Fwo0$H{roLkcGX}5iHp@puDIAae+$?dL&2E?F6!jw0RM8* ziaCSj$1RRTkVs^TwfQ0)rd-`{!IbkV?Z81|nNZk0-`Z%^Yy}79WCzG^CYIf3<_R&= zR!|D!I?5Lu_C?o2tap*M%pR6){%BK`jbScD1|~FuA!y3mbef1Ua=~iPsU*4wvXHd1 zj9$^hJK#{E+`7V*EBhm)jZ#S3WQj$KM}+L7trtzi4nz*I|pro{@(g13^QZ_k6wG#};N>-Bh~~j)54LaaRq+ z_!H@_TWn>wY$UZ-JDo<)NFTV<2d8&H>rDGyX`3OvMLW|et)Q_f&NFAG-ZlRUDwx&o zjtru(7f8N?hJ_8@3rcDiq!RIy!G&fz&dbI$T>TClsZ=UawLi9Pe&k0~ zrESu(EtN~qm(v%=yp|3#x$zPIYDe|-Mm4n+U-pKSX_m;NQvT%6X5l6kY>fJSEz^MqaJiJ zjx&|Mcl0pTCofukhkrkziQbZY8-Lm~(j_-*TIs__|9jsLKk7eR*sLDe^ujEfC>{Iw zsp+Pp2&9oRX`1a)nlURr0AQ-+Q%*FW{mhqHAK+-pdVmC5RHhJqgFT1dkCk6SNS-2p%VBC1@jv6RaX=CwPM3YXrYYkRW)P z0OFg-I)bkgtS8t&@H_!rjZLJJpo;)r+9tA*0RE~bvWehDg3Sb52=)^kAQ&VVA{ZtZ zAvj2oCa?+c9v2hAqZ=lI_f?w6_Xyr0_ydAJB=|FeKPNa%@B@OsAoxpyGX#G{aF*a> zg1;vCA;CF<^8`O4_#1)?1fLN6Ey0rnKS!{d;3eQZEe63u(9Ql#} zm55M+TS7rDpF?*ieluWoE?}i0X1N_?z7vGBNMi2=w2EbEVZQr5McD+QNDzwpv}H{L ztrr64a&wTcH3+q{9-{Wk3|%3Rx?N-FI>8Nsdjz)$P(kR5;1L3$rh@$w#t@x~0Dj7u!V6(ROk z$R~>~>4oJ{*f(X10;OTx7X?MJra)h2fqam#R=&7;hq)8RNZ=2};9Za!*BaPcw7-vt*0p_hTXt zCry=yAxfJNX#owUQEu4qBaxFDIVq7-8aWlk{u|rycw!|2@i!O(ecWz%A|VH7Jek1o z5yNRKjljR2ne>j++7mdA&EN=02N}%-c_eW()}|pHS|kf4OiS6=!~0kcCW2+rqj2tk z=GX9tzt|&KQdQWUr+S9u!ih@&(Fp=8sVP|uXj@3o7X{|;ZS~eba#X0*s~!*%kI_l2 zMV0aqglyYDH7bN(E+pEtc7v@o^fwvqSuw(GrZJ;XzJapg-fqM2zOY|}) z78y)|`z-1d^)Abz5ET1SQ7oEPbhcWgY4(Ke#i4x{=&_UTjmoAQDUA%oVqzJ3_-j?>v#SXp%9bli{9;ItpW_0JbJ7K1)SISsJ6270l=`UtR$ zQ1NGOvgA?t?SmeEOX#;>VC&_tEhXVg)!+xxSRcUX8rC2Mr=A}OqWn}y@S$e?P_iEQ73g9(uL8 z9Oe}36jKF4X>^nH4`0c~>L+0Yy88XU>fAZQi(xB>a!z8Klye*xI9T4ScWH}CdqvDhhgwEa2SRq#|Hu{kY~btXNfDX4HM3Zm>gWgvRgDs9R}}&!MkDb zUPxAv;XYZ;ycc9c$M+irojeFe1LDfm<}gER7;G1o-xv5UAZ8?imjzxCsI|N%;p+l# z2)rlowm{Yvqq)Fa0x2wpCV^s3X&B;5$<=*&?Z)Zwhpn6L57Zn)ve z*WF}(pObs#Sjx^9Gfr-J(shm&EacB( z3mjtYyWHfoebjNMc4i9sZ1VU%L`@6I8MKqxVg?b@Y?(&~?W~zBw6 zRs~xLa3s9VGFz7-aP4H#?sIZSP|GCsq12o4q7Tb#s*QRwSsZknX{E#g^e)S6uZeQl zp3XaN(mnp509%cD$uci4!RA%F_#i2?{IZ4jlq{~=Ii!0sg`!m81++|$WwtCqz8lt& zwFm8#lgrtuqMcS^G}Cs=^ejP)vIpD)C3~KVzkqhzVVQ0JD-Hz}0*zNg(?3wYM~wzt zMDx2cS$nTtC?qHB^*#GtJD+szAv-74-w4(Hs%2hUNcIXVTi*j6?6s%IVRn5^DJQz$ z48b>9rn4q`^cN{~^WySWn#cN{k$f8F-k&?{P*aAZ4*5x!`duG+bX^}zNP8KsA8_edsHwIo>IGgKNc zq}=rQXST_>9rIr{ew!Su1T z3{%6EEt+tjW%`%LY|wVRg)(H@Ynk24V;8KVF;48a%xlZzh5>BYnbLJU28{vBd~MF(o@9Ca_Sr{+2AZD6x|W<_|LH<1376g z>mjXu9y9V}o#5Wh#*|8lyRo2p-7=+AK*_@3KI>xsxbFgm0R%~?GHR{xAbN5i)m=@~PJ09F& zb))OOWtlhXp%XbYP@VXDpl)=&I}E%Ti^lr!JfO(q=l*!r1I)iy(> z9dz0{na{lYu8ruq2Q71;4jLNBjpQ(8>iHq8zD@(e05=;|XWAQK@^zD$XL7nG*$6xT zj%7ycq6%-^t>6xmAGXXuUAXVD56fz2Bka3QLpm2zJlP3Y!>%84^<3Fb2z%Q`Y!GvD zY(sPAk$jz2Bs8~a4u-yy07Pfxk9zqc7HJ&K$_?cX49j7BhB1*WPN6=$LgYL94(+ z)4s`MZo+E=^v?xO-YU;-c%y~$8k`~Rwv%pg2kr=Q23SOJeVy3rIhY}n`L$77E{`@1C^)e0{tYgxSd zoZwi7S8V;3*;%u~D(e~CR#Ga?hf7KIx;;LGdk?z^O9;aL-L%J9YFL9*0sXwZf_rPU z<5C8(D5v1a3FG5ZCxMGIqPYj$Fe)x}61X%sIdM3mXXwyAodgPcGKvp6SSFIfk_8{+ zu}ot+TxT(BiOR{28nyfQXP_F{pbsblONX+0NDDuR8XHrA1cP&(i zv=oEB2ye^!51&x6Ol(^3b;tZPYA=hWmP+MgHAM@jgkGbic=zqsTqUO#O0wnDf;9|* z$e3#v&0dmqjD{g*u>_7}?-i&Tm`)ypM%dbHuS{V~vG@XnW#Sqh%V3Ha^9x*UnN<&_ zgMKa|rIU(E#j2|$ncR^KC8YAQc9Jbgv8OULVr}2I#j+`?W(IR2n8jCbDW7$G6V)&= ztU_>&gilRbrYVR5-D;V~O5r_|s=p!uS>hHxqf!{Fq+-$2PC9cKRz#bTaK>-{ao*c{ z&7haK8j*BgrjlY9ZMV$hUIUB;d7i`vjr_!lyp$Iwo2euCm1eQ-$L0Z^lG>KJV+0dSp%=i-)9`^N2JxmSls4!NU zn?h(^G%voE0|zU|>+Q~AJiAE?DCMSd&QYW?f}01|$)G5XdKm}y%)r2&of_Ep%Ij)O z{Y4uC87U@Qrfdg;KI3r$Rp#Uk?j23);*a631JJF%uj zq9<7>pmN#ciNmFAHV2QcZO;sP?p)6#WSGSD*|ukJ1My7fLIivII$m|0iLBj$)&R4(%NJwg33xRk!8i{@+XfB=g>9pZ=IUIwzfJyVEUU<>PkJfvq!Dm`u9)=L_ko zpkMJ$KhUv#V7Sv6e;Wzt)CIdUXBRQ%h<_Zs;=+9SG`GMf|^iU^wB&s(;T{;=2y!;UsywP;dQj6W(|L z9pL*=crCSj>55++wqelFmD5g04@#{>(A0^e-GZ^WeJERPLYmVvEAj|M&WK6ZOSXrt^exZwB8ZF7oD?%yf*JGD~ z&py6|SxGZjBi;BK7Inh5>Vaj!1r^%nm!J4Oy{vr4Yc5T-4waVe@qhmB{fKEsC2!!! LQ!Fm65x3OQRK*gScF` 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

Bkpm=m%&32FKxwn{qZ>C z_dpop0aknj;vVPtc)jR~csVQn5bHe7`Q`PzJK`0r_&agN_kx~?SGMAOo}pKP^I94~ z;8m?SufHDW_;}5YM7+8cpXB`DjSx=3csg?K~h&*Pr{#vtBE;vVivNW6JkB`x{{+OFO5Ed~ z_(a5;TX8Rp&*O~q`aT))mR6j{m&X}j3#Pl8;BQJG5kJ`7#^*Nw!shdAzQE>-ZNALr zD{a2U=Id>~$>v*a{c$?p` z`F)!|aJ78DKly#655+HF|9YJJpRd;*A>KxgACKomjOXVsu6FpFA_>O_ZePZ);x71a z;+0V0nYbU~&&7if_qab|K9;vb`+@L%R{i$yZdm5^jP*Ofd9UR2{tNgg)_6u?oyU3q z;P-{SLcF6DFM#$v&eyg}!Cx43Co9hJzZU27#v5_Q--abP#2I%a>h!+-;ppGv z9A9C}JEQ+a@ch6V^}AT(;omy)cu~Z-e|!-Sw&E+{F7b1y@A1Z1&VhJh#6zt5yV0M= z>oeE#P{etyVEc@R!MDH{Snh_Og!3N4pTx++-2ga@npp3J|8PTbdYq3cnYCHF!6i|KR_$a}1HF z>5XT5{-j48{EaXydEpz}x&9^U_~6@780Gh@;+3HJFOS*(zvlnd+2HZx!2j{)ak9`n zetKbz5B^GqdFEn`)BGzkE_{yxkCW>B$ErCTYrOG&KKwTe>U +Rw=H!S_nCh3<$t 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ℜ?p)oc5hir&ByY5N!%PtQ$xgQ-$A2_wd zj5C|7EuQ#Isgv<(D$ZJw(rl=EaBPdHs9yidpWxpo*{giFPwxCaVsJ#QOWoWpL!+L2 zw$fQ>_2;{O89ddmONco`)?PQq@X;&8=(b~y`B$GEegFB;!R>Qg`}+H2UpIc~|5uj- zg?qe6|E!>ov$k<$UN#P;)yEz~?Bg1n-v7&9evwbE-JiJEZ`xt^~u`x0@B5_-HNJ~CP#o`L|e);|FH0AsI*w~PgHa_oU902`Q7Gn1H$e(Ad8k80Yj)KEP+| zxL;qdc8zQ1e|=W=i0fU(M@%@MFYZKGxjLf?&TX2gS#(rvRA^L0YHJU~lrq=Y+8S3E z`K=G1+7q|2OOgxCs#S?U@I|LOtIk#~68dh;nS2W(`;TjriQ5$$9fcPu(dNO`GT~YJ z!&-ZzGsZ3O@0e|V_H5fOFF2IpP>%&kPwdK*HpzqZ$zm2nyjya?KdM7D^RE9tHSv>w z>$zv{=5F?+z3WZncjvdH{A1^xd>LXRQ;F4Q^y< z*nCxo6hUXsryV&rRpExki@x3#5aeuu*DCI490V;|nb!z+v~7yU9~^(&zut_dxmz{L z`D>*-V;3DCSbWZ!2hTs*k$-!1g{$7Zerc6|UqXIDTmQwNcq!0^0>LNk}D^-0a61z!J^Y1&sgU7^pLLWw>p zbWzW$(#1-aELNgunPR0%l?*6XtYo>u0Rh2b0p&}Dl_*&@xO|xkp`}8C!$L#c?s8qj zLW0YbE>kwNj60-E$q>Bgi0l@}*WopD8!=IF(V_05eDP5Vc)NN6_MyuK_{uwFxpOI4k87cjrkuv`o3HZ-Q+5d=OBP3$X$x;(G#7!}s7n z*&8zs%q;S-(;p3Y4XAmeW$uwZk@xNyF@AaC_4#P` zk=jdY1^k-%VUM|u!$YH^%*t)UBTJV;KR6;{!~5VAN*LO%lvg?!!|FV z-aEhBk4BY_?-dgo6&(>CVpV&>YIqB)?3|>P5)F)QJiq;*a%XZL9xdmvRdZGf)U2M) zD0X&zui1`Mfy353c`|48C-E)uq60^?RqO4bL4V_~2pVICXK3EDS;|K9vp@Re&gv3f zTK12@3;kj>dh@M;SUi7P^}n@-nWyGW_xQp!19x_seroTG1xc*>HF;k!UysBTLt1rmu3Ym9gCBCw&*80^jWM}cQ&UjAzJlV%a48m-!w;b6bbw-bFl z|DPLMJon`m_l@$6)~>6t>zlTHDt|nub{}*fh^u#4jhOzCo{ipT?VUxBM_rkhZ%_3Z z`6{2!I46A4$J_YVG3ZHOULYvzrj#RU&OhO-*1lBwK_5@&GdT7!uClnhSrg}J;mzKk zkCe|ivfgmN`}y2?s($^x1)MNA%M!NOQ~9T4_0D(by1Vh$S7Yw|?QWm?edTCR&7IbE z9UaqSYRHj@8tYdSnznWN?nPG3T6p`Fd*Q>0?rD1UxbY8<1qC)9wy8*((<4%PCeutv z7=)+k3S~Myt2bj+t!=mV{k5_{)0&>9!-Km;M#aR2hnfd8-Yg1@^_;SvPF(30l}H&| zE^uqB`a3rCuQ2Z;skPi8aow!VK4@)B?O~;M1q7t4vnk`LWosJ5<@iV%U%^^;VDsjf zFl0{yV^e;frb4mVji&#eJ!oIK7M(xR04`^I_run6nabO1|CG+Z!IZowH^g_kvHv59 zcmN3P*$P|h*#(|X->x0KJU(({{lz^}zsfZCi|HT9<;&H!(RkZ6+H9avI4&hPHEn}P zcf8W|sg)z@EIQM)Ny=R>pMI>NsHh10*t0EJJ^s~Sp$%uZn=^30t3M+@md0VXH1F0{ zpGT}I&+^0Q+9f8OZM5Z0baCf`73=;Z8Sl8-61!c<(P#atG&P6U@33^!+Ul3B#Dx9v zD_f7pFN>CF)-d$`!&Dh!6DYHJ>aV%y1ukue!owf9i-#vK=&mP5EBs@jfhF|ZC-IFWiUDssx)2|0F zoSSi!l~gw(DumZP^TDK8&0xH7kB30djC*>Vl*Q*l-PBQyHg@k`;O}w`D}FRNVJ18& z*-Gti9bA5By~V%(UF}VWtPek$QoA1x3qG^iI}H3L(z&dCaLr{CY9%>#AB9u`*FpmPiO3|KlzvIMV>e-eERVmo=;ZfpJ)Hd&6BQV{i|c`P5qWM zyHF+ghmWUs2=C1nY+bLdRk3IDqLpf`-S61&pwfuNA954=@C-5k!{lj`_WY*llA-B+ zo@^}OnG|f+zlL?(+Nw=nkp)6;)~Y?F-NTBrqjq~P5&ul76^+LTxjcB14^~_{;^Mgi zfr~S5^hq{w#ljEclK%d6oO!bMdQFUtI`*pZinNu77TI37!bh{)@&l>&XSOGG(bT*r zw|*7cc;~T6^9~<7{KbdV`ndY@bDn=bgPgRswtOkyyguo#G#+*QOwjR1V?B2*Y%Sgb z!8@gmgL~s$9}eDg#CS53@2YevxKj3-J5nBq8J_#$^A9~X3-A5D_9?5MnH@iKth>CZ z*2b_RbuWG!?D$Z-btFEV!^06jJ3)u|kjow1%i7(Z?9YZZSe58{wFa}7mCAB2e(p{y z8&CY7+G@U7kZthh7U%1Z%$0uZsXle9YR%gHdRqswXInh&FI-lyV8a~K8n4?_cS3xe zqqJu6BN#kjMc6u;S+jar=@}bpuV~X_NKl_0^)xg zz1G@VYqi=|+p7QX^PF?%+?k2?_rCdja_5|L&vVx2JllEBxkqH-lyTOsUDwK{{7UBj zqwU*v`-OL=1T0hEJ=DGMHB;{S*!_bUe%qGaCP~SFi=Os{?}h1|3p(z5>*zz}b<@po z>vz${2Vpqv{;0KYz^>|k_nL1z2Twkk$! zo^MFXSX^;O>|X|L81i|Y2>|9R7@V;6rsQ#1n*p3V>#o_JaZ&RcUKr7G$*@29LxF`I z3=)snOcHd=0DWr5ia$BN=$wAX6%QW#*YS-&)PqRbj7W;cb<_;}B>)FE{uU+@%?DG#! zU2@0szqwihEMC7sY9q4uMswVY-@E0nzh5@}p@ko`*HpbVBQk#kbNaRHNoq~SD(mA1 zX5QcZLF4Ps?7t=wG=il5MuPtRzl{$pj{eWwdxw3v>3z>xgGbStAj`tep|FZz&SYB+ zsQXvG*mmm^pH$p^PRo7ygYv%yD^yS-G>=JFIQW^^H5J1TES}NS?!RvBjfG7S;6hT9 zmHt*Xb?#5+JzH5(HsjH4?|jpE#|eX?7}5o4JRrk6q{VyZ(2FWR%yb%1$`mEtoR=#Wi`;TK+OEYV&_r85*TgWyFO1PBwMb z97oRL=l(eJu5E9R{d&W+}TgQf2+`pK_e+*44KSHV z4ESl6zidhPYQ~&{d!MncMv2+yDIZ)ODrdWuXyU*KWRcjWLh!OStOtLLjz z%Ew2{BM-}Z;k6{IG(eyGV&6BHzxJ0Y$F8V<@n?Hn-vq1V-8{i=z)&TWv4%YF?QC{O z&z<*FV8yhXY7Z1kDAIk0hK;sS(bpS3Pdpl5Gp)M$g?-&84jHOzC`bgIGob(5`^AJ) zom(o~-WmDk#udHB$T0Nc^&59@S+gTjs5F3gAN%#8tM~n7#{R{tPA6Xf^IMJ9Zi0Yo z!izr`GrI2H)6vgfIsb6OGq45dcr3lXfYSejYgJaYEE1#TsPvv_PHWd6eKeC|=wGbwVFvy|9nzP&9 z2vm0d>6*JQKEJLq5)x*7gAE(iRR*FzJ5#c0-o7uNi}~=Pn;tWO$oU8+C6g9xAlL(M z{%CId(876l&id=D-^}_XQ$k!!PI*hovoEY!&#%1t zA?1u<-^Xg=j=0iS&3veQ?kDU1w#&dU%4kxJK9h5{^XO*p?e~tUIC@>Z_VtCA4I!Lz z3n3^(DlrCe*Ux%aooeyUzddUB_Py`CR%B{SD9;i!#i*>;6aVFcl&|MCt$FoK!98C* zZ30^{ZQEL~*Pw~|BiX(?|2=0_$?v|N)n#jm8*t+%@0vlb*%Ah1h^M=qHb#pj?_>veAVE8_=c{Gg1t%6O}c-y!37$oP2~KQH6=%J{u9{)mh}BI7@l@gK_g zvoijyjQ>)`e<|ay$@ptB{-%t-DdWHAxJ&=NjQ>%_|0v@h$@oVy{)vo#;?aDiM{hF;6Tej_9H&j|`3RMc$Cp#SuH5@0z zp4r-MTZ+FgliEX1v-J2ZJ?WO7GD}aTrDwUN=Q>NzeoN1VOq_CBr~f;~t`#_)PHlwM z8K;f0RmEu*Ytv=5f+1u^$)b5Fidw zK%9uhiI`8sd=#^0q=;B7|F~jBmUt11=a>sQ88@z@+A@HHE z7ej@W#0@R*(m>h!7h{TSGpPc5$uO#5Vz7dQVT1KLFKz@F;dW}{X@Q~VK5Yy_R-3IV zODlBZv|xX$GX+=uqDe(IM2Ao`*1V5Q^7vcyTkTcFsKM#Rhn}lk_*yd%Cy(&kg+u)~m6*H^^HD){ETK_Iw&Iv0%?!Q^ zj8>IU+H5N>zM5dgdB$|B(}xcdi{|>otaIj>G|icKYbm73i=oM5B*?I$W=rfPG%Q&T zg}I5bVoC+h*$Q}k-37jwAZ4;AX_n#=FHd}#cwOe>#0esCx=5TZ66cA;i$&taBJpyO zxRDcW8^v616|t=%wp#$~7O|VeyPJH}-jrKJdx@@O=rwLi%b*2})yGqtV4B)woa!u1 z!dPN(-CCB_>BSjj#;AnM!JZV{BbEailS(TASj|}C?N3Ebr*LeNSXx61L8N|jmuXyl`yPvV#{aef3Ul9&uPxPYA#5uBURp^zL zU4eu$TGlz-5-Zpuj>MM6#A#V&SbM;o%w)}?AD!>c#JAnCvT!9vidJEDrlJGjv^ddl z33?84RGy_-#$V=6#wX^%bZ|F|SHp$B30U1252WPVQC^N63~MSSWBvNHG~!!fTvFRXDD zVtrNeJ9nj6LyJXhv4~wFVwZ^6Y7tw_G51Da9L__p-iB%*9dPrm_qmX?O4mi27Yk>! z-stscaWuw2MCw?Mew!DQEI7YSza7Jclh^v~Qc~-X@eW@R(g*8j&~p#r5X2440zDw8 zKn|gYETy0SBe(v@C>)aZe}Z+IOzU*Gt%^yW3*V$SLgOfukGGcjgmQ%-tSY1pl=<8u zbdl8=Pd#&MCG=u)Fgk=tC}?^D5sDZsh2$f2&q`@A+DL*x1hm?%<=MA;u}m<(sMRN0 zf?PflxDtrQ`yhO5E*Y(9h1JC%QB00)wuOu#xmvjs4cLbBgMMN;Q| z!&vV{1}Smom!(LqIP9NAs8@xq^xE;9bvtMo4!8nqb?VJOlFmRp@;hApVtc5n7f+?&95QNpf^ToIY}lDxi+hL|PuKq>9i3W->e~o~cwF$l@xCcJ)MNkGXe5XTx2uHO zl}U|6yXIa870BQ0bqFT2)QW2<=GwrJ1`rtpC7NcnXJC|XR#dv3I3Yt z^t;I)VBX;KHv+eSMgHb!UJRtL+Wl>#>>$WRE+WY0M_w>Gg_y9#%7y0pPdTWw>HZ7u zSdiAS5K^>KN=fkF9TQK8MazlvX89lF3O)YE90`;t0H28fd^Q5`mlE(5GvHehfbT>A z{!s${MF3L&hxq@&iBtXmiV5~36No{BkyveY1RGpX?c&6V)$uB4N_7$^##g7SoCB(J z9PkCzG@aomAiV4(c1A=n@1EL7UCi& z2j7-chzsg3TRRJ_^i@}35FJ*VMN6bglBkltLTU6iC-m(y+g>7*duLydlB{&wUS)MF zhy^SsR#LgyhJui^rkF!{!L&>Y6)xKi`D*mud=#YD`)`TP&_*l4nl`!mb92tGWX^9?&i*w~4qDy$HO@%%%(d+$w3}?j zY)+A(GV7EE%(T`o9-%8_D3d}VC{~llRd{NOfMSeOpn5LN6GS48hG31T zqRgmb5@7@9=THbJmyDMrjJdz|tjzrP0thw949P29~Y} zVreSwtkJkkR3T|r7Nv2Ss6wU*Y+gi^YCL1}4K*8p%=+1dAW{=96{M+l!%W8J+N%UM z*KXtKugu$e?_d+iP5>_EiqP^wf=>u0KzUweRICe$8Ov?jUs5GT58k1AR-sP;HM zW&m1KdomJ_Fy@3arGzPq@_172!lXb!apLB$3}Rgy!*HSYVMiW{bJad!&=uxYA%sMf z^qf%=Go29fK_&QVUo|F>r`bp3!e4Qi_sl5 zLyqegY;NCF`=uOLAwwkXvxspeW@g{#970rL6dTi7mX{&iP3oeRFCPOa#A*D9;1AjR zNZtTL+gHGYUcRqL%|z0^5>9mOD-|=rq+s88kb(rFHeg*$ZT3w7DPW1;kjeH{Fra7O zEJX@(_brxHEHziLQdV(=xr)uG!beqPYhy(fSEGtVGeO(8LsqdzRgu5X&xsTE)u<|x z_tkTvd*7`JpYrz|l{s%W=j@a@Pn#QaHyV>ljp?UN6^*$EjbZgE*x!d4(6jFe(HJpM z&qnm(XA!-4Ndms6dQr0P9ZsCG?>*JFjD4i#0^jz1tlE~b@1L+sc<~_x@Q2Y}y5M7iuzt&3!+#JY$eR#3iy6hgjykq@C<>qJU}PykWjh8sXV>k6>E;%K2}Xle0U zymhk^bDrZx+FF_BrL;V)5LRF7WpY8gXhHMRPT{4k4fSeX>k^sIOZfmnNQn@H3}Of2 zqD9?khkgcQ5LZ`j&;ZP-3sz51S{5}}B8>}1`K>n?Wqtrr*evUYMOlpCqWV$E3YOQQ ziiXKF{5FIX-9SXG?kZ!f#t~QHcCxI?P2@B#lI0w336m@p;^tHkEazj6q##&Enn-U$ zh#Y1~^VPK&M2_=&h{z>T*CF-GesLOeKX56@H<=hJvdA2&BR)%%8YqT%2@~;M5;2@cpvh9dLRYl0Sh~j$E$uq zpr4{4$$u=S4E-G(~OF1M|ZPT3}%~K?^KrKu_ROMQsWK8#r-d zV3VpMC9stf;{!X*RqRC-Aqs!s7E}?U@CWK-6$ebjHgFh#AzUfY2EY)m6zGtEr_6w4 zVhADc0WvXQ$b%#_Dj{@4`XQuWws>y1%m8DY9B0Q`jx~y z`qNu5k6gh#1OvF`Mi90ALk#(f$+;rzULx#F_T5CpVX8nGK~qIMg_u#K5Ths}2H+zG z0HcK$s>7=IAXo7M3BW4U|bH;m{_QVl__yf3VCbMM0yIK>5Kvm`T**Zdw$xsXkgTiTYSxv#Is*LekH} zOM87Xj5|Iu?yywPtRTd~Q=h{WKet{G_wxEdipVC_mvWJ=`cWo|UoVLJg!(BeXL9{a z&grh7t8y0AU(AV<>Q|_osr8q0VnY2|m9u~SCI_+1{Q7GmDT@*)Q?1LSpqME{M$nEj z>+CYZ>G~TD@rFe~7cE+*3GqY;u+~YBqqS}}LDmNxG!t?4jmGNb0Sa5aYC&ca*9;M@ zMBR59b+Z_yL?(uu5Fr%NUC+MydyGY(gd(*F6q*~_;3%mLCTNxQKQ**LCC(_+gh~!W z;d;^#i(z*pW77U_ND`T2VA>dIQL29%+ZTjE!sX6aFO-Dj`o9PaVjaBx?{KE5v<}Y- zu?*(af5mu{*kIx5OlpWyMxdgG7@=-A^r0UN7y7|En!0ROk{dEGd>D8lzawax7KBYx zLm{i%X$=F7X<|VpWFkaKWVhpzrbG-nTk9Go8-t!h@@E=ZL@LQ5(x2$4G1P{&4vKff zVq>V&aI?M03s4O3HX7h86oLWP>)(jxHQBI1Y-cn`t44#cYNRzts|Fif8*VVRGYScx z%*!#qp;{Q_8X6&2B$L{hr%htDvEf$86}%yBsErMWdFVY2w<{(+py5tA^j(oF37sTP zx{!u`c-~D|H4Q(&fPpeNwE}GrsX5EThyGC>`lN=ZF!XGsXERqHL;t){QlzOW4`bwO z__Zw3vYiXWj9kbNMD@!EBOoFu{64-8;&EB(L- zOo)djBvUKn2{}-P2?4JOid$I+%Eg2nn5-tG@W6CI+78T#oDi@uB531bpta7Fp=|3+ znxqLdNz(_>Bpq0Rp#|xorGW>eS?n-qc{E*X!lvuMItStTpaYwMMl9%aZk7#L)(Dw6 zwsjvMVF1RjMDgJKkyFU4=RmD7g`mk^@(17tuOl^?CPH=KurZl%nUEZ@G{_spj)sX) z?QQsbbcSWdd~BfWzfJzJ7w@Moz@a50I7YIlud=cWg=YSN?3E?si2!qSGMvG#azD5UQR&1k7G0n`z z6iyu1m}btIBXbt0oY{>-IB|UAFqJd0aTF)UHI5fKsgdc8)54qGI3v8-jq@1L)3{in zd2ZvSoLJs?xvC)DM$ z0~_DisUQ;@yBRXB@w~Yk51<<%ieTeI=thVl*!Uy^dK!N$x*_`i3jo4q<-krmlmh7D zjV}Ta7^J4H@z)aY4b}gm#t%4gQsalJZK;ia<-~->zpGviYy2-KRy2O2a%LU0abnWJ z7}bl6gNe}8;z-3yA?ghK+`(jMYOqWP80 zxr(W%B8#f%ugw)zOhXkgDVeIMlvONL1C?=bB>+8WKtrX)ugi-%BXp;a4h z9Zvbyv7n^CO6u;x`$4PmO*K$lEy;_}H5`gJg<>f!T}z>~t7X18N@KCu&}HL6!>))Y zojRUQ0!RoqLGZ4=ixgyt&t71@AwDOP_}ot$KoFNO1ib}>60Qf4y&cA0__mQvBFVZ; z3KnT3SbT?cckovZ|3FM(%)wt9G6pz{3%<$_6O>jP7L5(Q1YYI{$YSFE zj0g;&bbcNJWiV!4hC9vzHrK%=hiN*qs9x^mR0?tb7=pVNDV*zX0|9)uZZhPH1R5VW zs<_~K8yVupqgwM@r9>&Ezl7#_49znbxD&_<2xU{~OWA^349rH9Pt~DRF}Tl=ryt(( zloV1(3A5j)QRp8_vjaX|QF-g#LMn=eqW~r!*5hc+uoIX=Y0`EOjZ+0iKEqb6>=V)2 z3@K6J(-y&yf;ALF*uI0Mu!_i5Yq%;)`$S4Gq}~n)ru7Sk6a?xB(TJW}PR0%W{=FM9 znR?xUa}d@`uLUE4cS@`_g6!QegqyA5aBYaS%oqxJZ$=W@F)~Tyvunf2BtC|~CJ+P+ zA~HIaR96^8*lNxyS5pEjv74I`g&NS5hS9~hjG7KZHcWmhL5PK3+v@3|@ZIBasXiraEF)AuKOjFf|C&nbzr&(d7s> zIEm6KWEu=N^T?m9i4;c{tB|TLEgpU<;f2yT|6r?A1JzXP2iBRg5}bNm?ht` z63pdceTOdX+~ykKIlLE|4>I1DH#e!pkkl-!E3W3-)ndqP?vgpX%{hBH(bas9$~mO@ zF;1M?{DjJx+5BTpOl*EmLV`Ve=8=2x-mL);ab-(Wyb^SertPH+AwoLn@2 z98NBpKbL@CngCm@;eai+aKM&00odXZfHY9PmJDGGX(>bjA1i3E z3dn7lz@?VAOj4tg)H00|T`jZK_+_^&;l%MR%T&(9mQ|b>*RooTUq;JS&_sNsiAZ-3 zPs;&(Lf$Kgn)+iA(dgNdFGPmyDKo0GLXE z(xb%F@*V)O0)lE$cFUh6;9pgLOIrTLiBnp>QfMT@6$xSXIt#`CO{+wql{HQ5!RFD+M5|DnZW@?`6C`h0KtqP=z6Wg zC=I%x()JQXDIgp9LZ3q^iDJ((L}SYpjBGM#ds8Iq3vpVZ_5pUVfL%%LE@;gUaMN=G_iGNshH1R&}HbeBK@`dS#Ts&)M%m$RQ z#(Ez!YJSVio@Ia5zql=|196lyvwp!*<(8u|^M))BluA?OapisJbGQA@Km-;hl%B?; z#15g{1J>AhFj(tSp$W7!ctrSxDnO}$TmZjSX-Y!jHY(pA&c{7f9zXn+w|TjLoQ1(6 z-G1~}iCrAZG=v(io3~_DNbTCH9bYBrs1UR+LVlngD}<^5t{bf|I|QjTrM4-BP{~$m z^H^2Ro5w&^tSu^3ff=%u{(D1<`%W$0xJI zct~6%;yd&VD{xC&pMb=e_+&bYgtHU5JKGPvWO%ppl4r64T$CaqSf>o}3(mq1kPx}m z!!OM0UDl!Zg?e}BuMlZM)Vo7}gGgg$$61H|$sEgb=s$|97PZpBKzx_C)uFg*YO9+Q z6L7~$km2RF3R7))YmUm9)LO_nU9AJnIfbdVymgd0XSvKdSxFJ;t#iU9vDUfal31${ zr97=GRI_tiujJCoTi2PZxJp*B&0IwlstECoYP}IvK;zSl3VZLobJ{K)j+vge<+-xTAznZdE`>wvN>xhint587p@3xr5QX5V);* zD_3O>vc4wC`nGG8haZaMd*j5OW1ltN@wNf$@vcoOhY#qdsgx9UGRg@9?0R*v~gu`D5 zgT-NaVB+xC%zpGokEDVBq%0BaCl6WeN1TSK0=5aSI2d7OCb>tvAQ(8!e&?76s``BAf3Em;XX%Q`jBO6d=8Ep`7R+a)o(3HF@ zd`ET~SPC1u7X%DqR2GR*1_l{UH8=uyq(&eRiVeC2us~8MkH96OM7`!P{HHDY^K&uO zW2JTJ$WiwB*nFg2SeK5RaMKyW#Yf)8T{#MFt+Zw=n9c6Qed-0=0y}TBVG29-!Rg}9(hk9-CrV*?ynI@_k~2d zuT1>9Eh?PRw?&6D`ZjU;*wf}!*qYmx$)%OIWh*9{)KdD?`@ z$lLaS8Sp6p#*;uJkFI;#o(7<~so8DMaZ|l*zff~g(DoZnoY?ld8jX~;cQ`S=?GI`+ zGTJ^t6|q!>^ic7%eTpi~M!f7cVKVZz{a00ydDPCOjXUa8Rrrp^b7Jh#L^U;;N3&(l zTyxGMnRAe8OysatO3;YsJvtf&BQvGUIXaO6eMhI7EKNt}MgY!_09+;kSDFFW zMF4Jy0K7&5?ocMGfk$uR#K}i*R-H;eTFZ&vqxGu$qmCZp#2H5qtDLz<@8HDLqn)bz zSx3*IG3gp^j40G*5U%=;_M$NmZ-O#*?$P@gF!AWasux*De+0lZ0xZy`3BaEK5R#7x z@C6C@k{R%K5rA(-0KP8)|D?K~a`f*^dfi9=D}ImJI8*#FyE^cjbz0@puvdniZ z5v4;{Q_VV-Axb}%tD2R4Y#;!Ww8;)wmnKku5|5Pt5K>?eFz=WkB1y-_sAeS{o5IaW zI#$WQiN}`lZ~if%=S((S8Im@&%HSXA0BhSo4{=bYYwX z3&xQNg1}p-3KW8>kS-2c;H`2%f%+hglj<$*c_0Yn^9n~5C?S2h#pIKv&p3G(5yBZf zDg{Q&65$rJf{tGgqF- z7*vrq*gA^xt)x(Y85$%)7gH}wC=ES_;gv#YL4WH&3N55k*l7l(j1r}6A=xF_zZwS* z+{a#pB!i`4mX6{{I^v@sN>g%^e#A#cjDsS$wL)q|Xf1ifgn7vrniAcIVZ1etn~;GP z-ZbCovEwE095&DzCl5&|L#sH=ID<&OzjOvs8%n2(a8#u~9iL4lUuj$hMc6*3q$r6rIx>zp@)9IA!4eN9&GizvJI-SbQ zMX9%GBx8j|!!oNVSH!v-n|_tk5l30TQ*SxSDi+&yxkuj_WwSAxB9#$XnT`400OjL@ zbto;EoLSu}z)_Y9Cy_`!m_$Ohyz&cfy{dzUiJe>cE!))D7CoN8Kr!e5EX^><EzZcvDp;9pH@!tDpJxX?zaCa`swXOTlnG3N0vC&ifGvi_?S zV}7enB`LL;L+Y(6MJeAL8bc+k5Kj@eAS}dc3=bcNcy{;-2A&wcc!4d$>RJXaWg5|J zQ0zo86Wk9jh2QcRvbCPgsq5THwzG5Td`pdbtMq;KR;8(sdaFXprqEYN8PWR+DNDLCyR)~{AVNmI zuVO%GXrSyMJLKTnRXV3Jo6c!qSiC07yz?O2sbCm%?m!C z4W~8fjK&^me9aOc(PIOX@@wOb4?f3@x4c0Tt6fAz;o;CGk*R44ZJOx6EY*@Mvyxy> zA3sP|Y?)Q6C2$&ECqekdDL=MMwPy-rM|&=dvcC30woF~x{s@d6Nl(55cx;T&xjB3L zFvFa|98j4gIK(CiHY+gO3b7uvPlOtR>z3Qa0lrD?vz4xr+P;8A;)M34N~_6i7YF#p zwXaq=eeL3mc5M6AN~=k4-wm}n#7(4q57cI}hMCoVGgskhuQ6$u?LxpF*KTsi@wE$w zoY;2hkVD!*dV3eD2(hrWccTik-k8;XK~{0Esv@cVaURrx?LXz0liQzDy-9DE2d~>- zQT;A#|1GMgSvjxsW_jKOts8jBK4at&v>mNW>8nFHaTd(7M9KF zM1W@OrE^q!+f!k-9&<6420O(nT0&$*Y^)k5pN`{%IY2faZxl4(c#E5jqxW=tOhn)b zX`ZHw^z6sm4I%(3Q66*R31uRHVU*5s{FWz=iG?y)=1~?-!&`5tmGL+^x4~EL_+z|Y z%8#4;+LDe7zc$x#vtQeB@@orO{m03#EoAi{e?u(I<7U6MD$<(ei z@OGH(nH^-$3^e!Nrsi}Ad#11B7s?=%+3_0y z!eb!VM{mdL05tb8r{i5l24BYq${^(K_#3a7!Vc`)o&o0Ocl5Du3u&C_HmO#@o!N9@ z00}Xa;H(hQa#-b4#p#_=GSIO30kF82f=U4e&lE-s@PT}>mphF@6A2cf0uh2QSf=m= zLq6piU1qJ&J9Iy&<()oIOJJ>Z22W6BrlLOlAfj864QPE1vXw&d1KyPzJ-4{5uCa^w%+#YLEHu!hDw zfwj%Bx9ozXn2J)_`?3wNf~DAtvJG%%#gJGvRZ%8!tks0UvVPC{^I($bxr+w7(vK6r zx-;~$B*mqa2CCAyFJppRy{zUbeOKw2N*m@jD#t3;9l4<#;(V+Qjv(~p<^{Kek7MM0 zciv&r1m#^9ipBM%v>7@o9ArqRVaWEf(=Zl6?q&%dQnxX`Km1ZzfrQ(=(hYf|rd_U?n!M$U}dR0C{J;EVAV#kGUV!}7? zU4Sv%d%TuhoYsL~3?(6-Mf*|`)FJ81E1Gyena-$??~`5AUn1F_rF^=QgLai6(f>s5 zBX{OaW=`E%C^&WJKqg9wokPTB3Vf4sXPM!^#Ozq{X%Irmoz2pDRww!T;M)bAbGWea zopY6xn%KFR6XQCUD=9U%a}6h!cdk`AlR7tZqN{VO$jMBv^ZIaZ*?B`ax9k)LOFW%* zg6RpsW&nolhIQTsKu8%uwv*K98gFY)C8ricnqf3g5joDRqD;m@gl4|GxbthHwPT66D3YQ`50}A2 zgF{SuxFCaG@ZH5Hk_~d9$bee>if|~>phAYZ!??RRPpdppYHZ)*P7JAp8^#Hz zd953F7v}+?Z|Kaz>KnNjON$p7i@>Zp8@Jn>ScE(8A^4sU`#8Q6D;aluCoUJuiLZ1x zv3?+(9hoTI{#cUbHDz8znI~wM2cqkVDzP+9+^Enm>4d;=*NHmQ(l|jF9->vAAPhH) zIawzphMzEDc-;pHbx7@l-OV7Tjq3B&uHcvM^qaiR|lS5k?(E-_hbya3nBtjo&C z*W<)5LZk$B(P13%az^V++QNctK1j2mz0(waRd z<`Hq9FDN&A0ucrzoE$FB3Z5J#X!J=TsVASDWJ0Qw(~VPtj7qSZNCyrxQstanAdu?h zB?75Vt}-FjNkN2NCpVao>g2URsx(qEQS`Rx-Od=BU~L;V3L5ech^b@@1oL#xVvDv(Wc} zV}FRmF=b#@M(4h8j4oLW!!g75iH$|VHUr1#o*7*~ImAG+No3`_ND2a{yh3F^l`N3# zR0dyGvh37c@=E{EbHcY;b#`9ADr6DchJP0st%d{!6a%ArOt)O+oJR)qja8X7JH$8g~`5r2hFMD zkrNEm@X|U`a;S-PoVqJ=S`DK$`p0si`3{;>@ieP*jDyMgPo*{X)U$lG)8KlOodJU{g}tnLu^>QkR#bwfT> ztNYZKVs)STTCMKXE(bRxx63QgqASsa7G3EAExPD>H+h4`fUW|823-Rp(Ev+{v{Y!M zBZLKW1Ibr>--X~grFu0mt7|l7%CJnP;uZ;<$5r$plHYVqbr9{3@0tl@z(G~`bu zVb6SRA&*lCml;M}rfa!T8Skm_O$A&TV@b&3C+XVPwb8&0rJj^fP3*YHnojt-kJl=@ zZZHsJX;7Roj?_!_!&vues70?o^tJB0? zy3QCrq-<^LTkg;8xK*JD7Akh}T2o&a(HDmbfIT|W`X(e*Qh9Qj?s*?mISYYHin zyM(pP-Sw_Qiu^9&>^`CEV{^{GbD8e0f2o|sUH=v6bJ`M#KI$_5RB>@hW2Obu+XF#IRTsbFK6$Z|T9*@^FTo`FIvqlAgiVbKs|Vv*%EeYb?`4wIL^ zLvm)3<@9s|qm=5aWMdWT1FcT4G|)1YlM0eqhF`(>sMA ze0q<-s?#^2T-*iRy$f{57jiu2bRa|=X7Pn(VqRa2YS5abp2;s52YF|RqijGiQ>o0; zwAljL`E(Z}MEPm+!ROQR;PYwI!ROr5(m;ILY#=@@4aBF-2IA8Z2cJ(z9DF`44aBF- z2IA9XAPym!r^!GZLNZTF1Mz8TAf{gAcU!p^6S{3CT0Q4b5zcZ?uDG_>t1GV%oX8O zpnFX?73ki?fS&GaRAZ95_lV;$-TrX1ZFfz$*|xiZ3-ER~sRD*|ALGP|Zqvc%tnL$> znAB}L_}s7iygVM${ewvApoC3z6h^5w%I8gawW&k3slvAl^aR%llj0v@NLAMa=Zk~3 zcv~b?rMV=%jM5ue^Y4BZt6woHbrwdcP0ABY`Fg3NurBhsVp?TfElf^PhS8L-3}!9^ zyQ&w8B3|%SNx1AOjGT49DbB~lb-x!PABE{$VH#PO%`=SJv4aK6(!7Gh-i8&$REsk+ z9pw!?Zn{ci3nE9EK!gxeaX#h@eS}BxVx{(RWvmJ+bEl%P+)y@rsx$?`Eo17;8-Ls= zE{faJ$E`th8@2CDa1W463Oi-06ig)(D7vluQB<0OP&A+S3e}kg<#u8ae%&}9vqP&q zvsF-jxO)We_c81vW@n2qZosOC;bLL7aVkYug(in?FET9O%ws+uv*+|Sl4VyLRu(?N z$-WMJ13h0p&!MGc=JPRU zo-#CNprKb>lW689IcJFc!`1f8%i^fQnKwb$Qb@DS*CrF)O*r#52pa}kQQ0%%Vm;59 zj}%=hI`cPiKIRO$M7gat5QpHW%?gEma1Pz7Hil%{r9=pZ@cEb?3(yu4C^j9;|XJy${`^;w5V1(dgpdG7>^pJ&l44xyN*GPg$>)p~@* zqP)j!RO^vOwH|3yqqezwnz>B{J-0LanAp><_+CoSNluLKIion_z@B?JadOXnDrb7n zBb?~%c~a#}=y^`|_htU|^!!d{dQ&-L7x(;LIB@iQ7>P8BLn$pdU1-5&gfZ+pJ=qFZ zS^gZ^47yOFoVd|q@Gv(I~yOuFb0!m!=*BIDt}N#$4e>8XqrWZ#gQHw+~l(Zj3z4;oC{Yjj!cS2 z)9RWK#CA>#!FKk`INJwJW-T2iRQd5dD3Z*gO?9WWA=CFg|en&;eF)r8D* z;*ig{bK6vJedl&_6JpQZpn98mu9g$WovSnFY?L`$RL+6tjyQDMsm(t}JGEg93iwX+ z0xYASFtvc1WD05$l9p~QC-w#UgOeQu0U3C(kbzg4&qnlhO2TU`A=pA7Ngr3AmRT>m zfliH|yAO-ru;#?W7a`?K?g~_-q#g3;X!4Hh1`GOcwKY2yyce?g7 z4KthoZXoN^xqlgh!#-4At-PVJ4!`F*O@qSfw;P-HwOZx*sRoTTeBYuq zgNmAcmQ|V|&YCyxm6+OBXi|_Crv&$M3>N?(JzLz9i7H>WcMecRZ#-KEsyyaOgDT_B zIZ2;K$O}bGw@LDqk{12vbdPu`iARRFE>rIFHR49`^YXjH=fx^cJukmI%q~Or^KHgG z;%rNSfkEC6&h(i{E*n%>T4DywA%4JW>e3d`Y2EqsSWXX)E~QWWm6+Q5Hs?(1eODzW_x@Re|3xLH^oj%LslESHiHW`9 z?zyB37L}NCL73xGFSt}<(uHI$GxLIN(1oayEsKHd3SkcDR7W+mYfe(ngB3kWjfuyPiskk)@0hrJyaUwuvI` zCaYF%ji!8nD6_`+$LTn4>%Q=?q0K-6ONGl1_O0RalL}G@m!GhsorZfo4i>SPLPsn; zWbWe&?h?pvk}uoy(6xI=BkxnBaVU*Kybqp1M=|+aWICOT?5CB{Da?5gd+5u;8T4gg zb!xIu8%xII*|ZU2eDa3V(kYE$(+HN|rc=qBhBLeop=?Sk)+W%_$#gPlpyUiHC9F0$ zno>(A(Y|ek86re1yYRNd{}W(f+=cfcmhpxib2H_y$r71z?qsf~tdsmU%Bfk?o#rmg8tXy=CJbNBhdmQWw8f?g$*s zBiOLFVI^}jROYa^-ydaf1crrt7Euu&0OYsaqp)VM{{p`)CfL4;GDKMaSdwAyqHB!U zOv`ul@hr0Vs?JaH+^JI;ET!^{v9AS>Kg04oaXyu%LOdeVNt)#zu!)z)fz4q&6Jc+; zYs#NPS$8>2!E(v`R;Be7;=z~^l&85A)fQD7kKs(p7Y1Rt%=teC{`>BF(y-Slt1@>N z_G$Ai@=8Egess#Jtc)C>-Z;ZUuqsW3lw(R>@W>$_SLE&MTuMt19#vr_66HlzW-|)Hjd$LPVHMp?HkUvAW92s^Z&JP zu>SJ>jZR41C~qW{*H;~e(&PVBDn0%#t@7^WhSIY*Xt|#&RTJ~Ajp|sVp}0hAhO3bI z;HS!Gcqg0RvP%(6R;)0|qmJmNJUWRT19{XDLn+fxUf9>x`-X)HOwKo^Rl>p>(|lV$ z*V|XVzUu7@wy%8u*EEcVoNr8xY+qk(fl3)RE)aAg`o^w+a=tPBTpk3S&^ijAJWHCS z|H{2nvAp%V^S3~i)VuU*SmN{}(^}AwfUO$LuYT@wSLFeHCu)*-nJW|qVLPHeEpS6wynK-{jPlKMNcJlg4LKc*khv`YP~mrdw!^0YcL@oDNRI?s*bp(T4@q;k5+wCvOd*_?J7 zJsN*JM%ysE*a(WzX!+5n{ZLQ7y$bICR%bFr3Z2`bBHEm&&x)-qd#vWP-Ds!CbUQj* zPR%N?Ih~rtxrQ7|oY6Es-ZMT804AMNf=nQqn>GybX$GJpV^B`fkywn&A zJ<9Y}WR9ny)hwD8r4{-|df^i@mtHayma>grAp?$?*tTP~kX_SAS6Yhyy1TQCGNLe2 zQ^+DbpYvL)jJ&kfRY`g8$D&PwqJLX zf(M+t)Lw;+y9K1<5p6*ClWF0E)=Jw4+o+I7M(M}!OI^a?wYZZ(Q&7lkdle3gE+CAG z!iqv61-2?=3TgVq0NhH2JXWFKE($T`A>aQ)FGg|!KAHn$=gCOcY!;Mfv!f`S65}+Q zmSB-TKoMi`zle%_qC~$#6d9$>^}m32B~dGe*hIUMteVXPikvhP+D81>J+(w{$1hrI zN0(j!C^~>ozu2+9FD7a;nJm|KJI>3)Mn|d^R{C;hRf481fqIIRY)Wz4Y1Hz}b9E1j z{W(?fG?C=s-(ujG1F=#5e|T51@g8-bBy;F;?$+mJ>zUcmoz_^sZW|8+m*7xa?;{(~grw@~ju z5Uq*Q#_DzM3?epg0mFAg!q)?h-Uj^FJqJRiCGRYzpOjtw`DeHIxsHF*_YC4J*K?Ni zszF)$oyg0TT%_MmyT&LiIIDQ2U4(x^mbzC;^iKS8UXT8`8zhXV-zZyEKU%a7P)qjSO1=WtzHZkZta<7WQW(Ve3;*?tI>j8EX74e%={iG`5 zw+7ls({)IX3F~q;fS>XFgP`#)xA!WJV^hjV5BMsYphiNqfyj)F6wgH^vbJV{XpX_MoYcebg02AMN`iiGs@{cPv>{eY@+V?ez{zk#+=f{g zNTDoXCymf}I7ZMf?<|7PVzP{RW)xh5Qt+`kt?qp~<@p(h^3{wF@fQ+y%%zbDpXVTo zd|(0?24=$mqOK6c2m*XKO3g;8e~d8|YvrtB+tUfhWQ=9Jt?E0c_Rl=E{<(w4s={b$ z{WFd7jHyL=K5eGeiTP!U*!TSYmFIUf=C_#d4PlHg^)EL{o5^S!zD|Oe`nM3MwFcDe z?}z%VSdDd(f15Fn;~8px*uq+Y+1W-j^m(a*O7-6aC|+2pH2WMvtpg&NBBAnrg8xSl z9+chR2sVV#1{<RL?l zAn?**y_DB~zBVQXClU4}0nm@3&d{S)<&w;78*l%e@Tmci}%^$x@Rs(fPWHbKTR+TEeDNiEJC8Ji@U9xo4@76`=M7LdU%we%%P_p2K`nBav--&L{GC~2 zGIg3!o}DQv-#3wgxGbF*8D|~sPorZl;bV3u}MQ^4~vIjS2X1W`!C_L+QyuK9wfy5&H9wX~u zAJ!!h3`Nf)?ZHG1xhd0-aTNh2U!~tGfKs&bbdoR^kqnX?WwUAhv?7w@K~>_lEjAGO zh42s3v`cWJ3QK3Wy~<66Kn#ncOEoY|OGxpFql?7c+T}L*m3nPNOovLQIT#gbgwlkj zfz&)upmO{NQd{us8Ow^GQEK&mh+<6mktRAY#l=KPsPw~1cxS~Vaup->8tenk%AiW zvA+VWZ`8y)WZ~s6p~_-W2_!XCf-xm8U#MC+)*HRxUuX@sHbQwO^C*%qNvH^9QrCXT zp(6bO{G!q*ZDtwN&0<PPs7G=4$p>whN;rr-@tJj^gBk=Iwi_QUbz=AzYtw91nO3{iSq4)_EVU7eI1HSml0#DQ z;dD?H=6sP>WCJF`Cg7tv^wIF9kYONviT(h+c!7FSRHi>F+pP_#blV*;My%G-a0NeM zHhGHv0)e~@EBMeQF93s34~(# znOG)EsI9>A^sPMnOm? zf0RNy#AK{OFOgUIz`%Qn5~a`}kA{&NQBGS(nkd#IWN9BUZkILznz}aF2FbG2My4-g z_3^Y%#jspPqck#P%?+kCSEoNM+7|_F;v2Lt$%>CDYsl>c>aOx?3v7F`sjgI_-OwvM z)NYoPK+RD*O&!|pBO8#9(8NayhY!jF@=vxo)2WMaH3U(!ZFgwaWh1bH!HZCXSW!c< zMM-#r^V9gh4gY~rOf)FT_#-MvI_ow1j}SucC~crWgNBnD!#V{TfeTIP!IM3gCwqz5 zh5|!OfWs^X9n?Kd8)2);p=RMb010R) z=3gu!EqB-i`iU+bKtGPsGFLJzK>jgahYje2fzzDTPS|7dt~$2AKT0PWfDQo_vb1SA z?gX-B7HCNVYq7?mD)5q!3kWpWPQ=!YwE~=ksO`3_usW}XaRiDmwgWucHDn6_voE1s zSbsh;KJx9{V8!VsdX})Wx-vz+16RhH9VAwGzG*(G@oS$c&nBN+oeVCpu*c?kc3sr=#@R7-#6-(mVskV0r+wXK6}G0hHsU?LXt2^-PE5Kc-$ z7)@qi+AN*8pa8$t&32_Mvag1fQBKGN5y_@)C5i;8B?`CvMks>UqpW5scgAY{r=ncA zUh4Zm0kLb4q7~XSPZT)ONS+fX+7&h@Q|;ShsP!(I7*ME1blAwJO{e7#0SWyumNO5? zan$iJ)i-Mu#_Kv7vsobv+m68tX-a2EQzm>*Q>Op_Y|5NqQ|6TD&x%37+~|*Daw_bC zSQ-R4oC#in?Axh7b3;IX3{cDo)7k$CI{za5IZ-QY-TE)2(rdL5b;2ZgwONGfCJb3f z9wYf-7;*?jkZu!LILauFI`I}-!iB(J?td3@EehCAg)F{U{~3O1ZKIHnFb7494%i`x zT4$bvezZiHe6qkX+rB+sFj#>OOMrgV)V`5m>1rUrjrb2N4MBo$kYsKEEIZ}~Z2F!C zRQ`Wzz{SA^TpXM~$Uy!~_Y`e`$Cy6@vqP8U0gTTn8mko(b&?M;R``mJe-I?najdZ{ zCLWv^1zB^bWi`3bU~!a#YC9l%4Cf*7kTAgOVlE2UNQJHZ51uJBBr8LPgLnW52x2C!?>S_XF`>v3qQs~KL`2!>s{u_5FmUO3{pYHrP zA-nWh(k*}{IU#Vl-m3pX78PytZ-yOjunU|5{F$ZC7@)By37bz9Ho#VuO4?y6U4XzC7DKXC4EFahXvU0Spkpnt&ZYSvV1X^7 zyTw5PYaE7bDUIan`T8$q8@0jyZY(ft51@_2jZlS`NES8@Ri78p42ptnxUeTh^TdLD zhE9KQ2(Fx}zbHzNwc7lT0aItt%13bqOHr z@YJZ~>q2m#8cCz{m++3rKXBlA%-jsxI5f@td<*0O+?H#LXz?Zh>i7?An63Xx7NQmT zY10ith!@7a(2~R`Xj^D-AUBcArW3bVMKX~!DC{OGc+(>NW$4}2ZZFT6i=JwS+JFlXrdp+b6)yohc!iKY!3 z6~UILisYFi+2%;DIRf^nV2aI=OmjpOuvk=z4Q#;3h$uit`l~nifCEPskXS>A8M_&z zL~o`Zy3oV^_z!Ho7S975BI)FB92$%KOYk4q+K%T#93oW7#D8GxIy`UT&~tdc&mjm( z+D!ZhwzlBe%b|bb>5ZneRd`;`U6n%xJmPu3~ zo8;>6>}z#Mix2(p7T1OV91{Q&zh_M9ip@xHr|9BhGG(A$-`TtUAyC}{3IHi|%35;& ztuzVA{#*9YZ&LL=yXn_cv*8;0O|4yfBmH`7Kix*Z?z)dR(r?oKZ#bW?{tf7%fN!{x z;k^xi=X^;A&WZO;ar{29dErjV=Q;E+mz#L_Q;vI&v~qrLd#d<7Udz9p&MeNCaAMxo z1m`6UrD20*J7Fh80W4XIk42*>tf=`Yg;-bM!^iLh ze?e%h{yY5Aq}goa-IyWdi_(f+w8^V{Af$VVq>yTFbuD0TpmP4aNPk0?qxG8!!3{KD z6gAfFiEJwj8D!}gNvzvJ&N0xc;CFNNcA>3hF^UlRT8#fKRKZ_B1T|Npmww!-UR~GU zLdE$7X2B)~Xs1EYnMID|M64_BfFc@AqF>=ac(>x1_k@#Qkk zgduXkVgh#2}R*ul$P)G zaQzt??1-pM${3Ud86n4$Ns8^^5R@Inw9=`inDa&2;Elksfq9tl972tB8o~^Ez~2j_ zL_-dLuT16d1t^P_>8gY$%ye3znE$D~qR>9})7gjLz?V5_8Hve(FN2+-?!Jj6LRnkf zIPrsHXNb9Q=$(Gx%Yh%ac;}v^AJN}Mf*9o@3^MjXlgYBeaw%&=8DduihU^rvz3#BC z#(Kv&3avZ_68@eX_^HjoxO2Pno&8g3D?UY=XsaqF?wd>7Q28`0NKVFuyflFGF_0KK zMtKx9w9kp#gs#-!f4}9gct&F~_FIB|MXNPGlGf?(i4MRQXgVEpqE(c@7B2urX)B$; z8d#*_$m*0q>zh$jDKw}a%QlX-uH2Lj(rYYFJJOA%hw;(0TKwOM|NT*!`tR|J#3*gr zI^rF`zL1Un$#@N#pzV*=_v!D8ybyIa5t%}(5@5FScxahpD6pcV=>xDS{K}@yvU!G6 zY91{jZYvWI& + + + + + + + + + \ No newline at end of file diff --git a/Plugins/link.xml.meta b/Plugins/link.xml.meta new file mode 100644 index 0000000..f2c1bcf --- /dev/null +++ b/Plugins/link.xml.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 94d1bce1d233e46cda6d6c291ae628fb +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/package.json b/package.json new file mode 100644 index 0000000..67855bf --- /dev/null +++ b/package.json @@ -0,0 +1,16 @@ +{ + "name": "com.leancloud.realtime", + "version": "0.10.19", + "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.19" + }, + "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..62d4870 --- /dev/null +++ b/package.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 7e0575c29fff94c079d0b7d2651c37e6 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: